/* Interior heroes grow with text, including tablet zoom and translated titles. */
.interior-view .unified-hero,.interior-view .page-hero.photo,
.interior-view .hero.course-hero,.interior-view .revised-course-hero{
 height:auto!important;max-height:none!important;
 min-height:clamp(510px,70svh,690px);
 padding-top:150px!important;padding-bottom:48px!important;
}
.interior-view .unified-hero>.wrap,.interior-view .page-hero.photo>.wrap,
.interior-view .course-hero>.wrap{flex-shrink:0;min-width:0}
.interior-view .article-hero{min-height:460px!important}
.journal-index{padding-top:32px}
/* No content is hidden unless the blog observer was successfully installed. */
.journal-grid>.journal-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.journal-grid>.journal-pending{opacity:1}}
@media print{.journal-grid>.journal-pending{opacity:1}}
.journal-card{min-width:0}
.journal-card h2,.journal-card h3{overflow-wrap:break-word}
.journal-article .article-course{container-type:inline-size;margin-bottom:24px}
.journal-article .article-course h2{margin-top:0}
.journal-article .editorial-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.journal-article .article-course .button{
 display:flex;width:100%;max-width:100%;min-width:0;box-sizing:border-box;
 align-items:center;justify-content:space-between;gap:16px;
 padding:18px 22px;white-space:normal;line-height:1.4;
}
.journal-article .article-course .button>span:first-child{min-width:0;overflow-wrap:break-word}
.journal-article .article-course .button .action-arrow,.journal-article .article-course .button .ui-arrow{flex-shrink:0}
.journal-article>.button{max-width:100%;box-sizing:border-box;white-space:normal;gap:16px}
.journal-article h2[id],.journal-article h3[id]{scroll-margin-top:100px}
.tb-article h2[id]{scroll-margin-top:100px}
.article-contents{margin:24px 0 32px;border-block:1px solid #d8d9d2;padding:16px 0}
.article-contents summary{font-weight:700;cursor:pointer;line-height:1.5}
.article-contents ol{padding-left:22px;margin-bottom:0}
.article-contents li{margin:10px 0;line-height:1.5}
.article-contents a{text-decoration:underline;text-underline-offset:3px}
.author-evidence{font-size:16px;line-height:1.6}
.author-evidence a{text-decoration:underline;text-underline-offset:3px}
@container(max-width:650px){.journal-article .editorial-actions{grid-template-columns:1fr}}
@media(max-width:900px){
 .interior-view .unified-hero,.interior-view .page-hero.photo,.interior-view .hero.course-hero,.interior-view .revised-course-hero{min-height:480px;padding-top:126px!important;padding-bottom:40px!important}
 .journal-card:last-child{grid-column:auto;max-width:none}
 .journal-article .editorial-actions{grid-template-columns:1fr}
}
@media(max-width:620px){
 .interior-view .unified-hero,.interior-view .page-hero.photo,.interior-view .hero.course-hero,.interior-view .revised-course-hero{min-height:460px;padding-top:120px!important;padding-bottom:36px!important}
 .journal-index{padding-top:24px}
 .journal-article .article-course{padding:22px 18px}
 .journal-article .article-course .button,.journal-article>.button{padding:16px 18px;font-size:15px}
 .consulting-brief-box .consultancy-heading{font-size:clamp(42px,12vw,60px)!important}
 .page-hero .breadcrumb{white-space:normal;overflow-wrap:break-word}
}

/* Editorial pauses retain the full readable text column and responsive image crops. */
.journal-article .article-photo,.tb-article .article-photo{margin:48px 0 42px;clear:both}
.article-photo picture{display:block;overflow:hidden;background:#e8e5dd}
.article-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.article-photo figcaption{font-size:14px;line-height:1.6;color:#55594e;margin:0;padding:14px 0 13px;border-bottom:1px solid #deded5;max-width:880px}
.journal-article p.editorial-takeaway,.tb-article p.editorial-takeaway{margin:38px 0;padding:26px 30px;background:#f5f2e9;border-left:4px solid #d3af70;font-size:20px;line-height:1.65;color:#171b13}
@media(min-width:700px){.article-photo--band img{aspect-ratio:var(--article-photo-ratio,auto)}}
@media(min-width:1200px){
 .journal-article .article-photo--band{width:1120px;margin-left:calc((100% - 1120px)/2)}
 .article-photo--band figcaption{margin-inline:auto}
}
@media(max-width:699px){
 .journal-article .article-photo,.tb-article .article-photo{margin-block:32px}
 .article-photo figcaption{font-size:13px;padding-block:12px}
 .journal-article p.editorial-takeaway,.tb-article p.editorial-takeaway{padding:22px 20px;margin-block:30px;font-size:18px}
}

/* Move the dough magnifier into its teaching context, preserving the complete photo. */
.article-dough-explorer .exhibit-photo{height:auto!important;aspect-ratio:1600/1066;transform:none!important;overflow:hidden!important}
.article-dough-explorer .exhibit-photo>img{display:block;width:100%;height:100%;object-fit:contain;box-shadow:none!important}
.article-dough-explorer .crumb-point{position:absolute;z-index:8;transform:translate(-6px,-50%);display:flex;align-items:center;gap:8px;padding:7px;margin:0;border:0;background:transparent;cursor:pointer}
.article-dough-explorer .crumb-point:focus-visible{outline:2px solid #ffe000;outline-offset:3px}
.article-dough-explorer .crumb-lens{position:absolute}
.article-dough-explorer .crumb-point.label-to-left{flex-direction:row-reverse;transform:translate(calc(-100% + 6px),-50%)}

/* One glass surface for the compact navigation bar and every open submenu. */
.site-header{--nav-surface:rgba(255,255,255,.86);--nav-glass:blur(18px) saturate(1.2)}
.site-header.is-compact,.site-header .dropdown,.site-header .mobile-menu:not([hidden]),.site-header .mobile-language-options{
 background:var(--nav-surface)!important;
 backdrop-filter:var(--nav-glass)!important;
 -webkit-backdrop-filter:var(--nav-glass)!important;
}

/* The bar's glass lives on a separate layer so nested menus blur the page too. */
.site-header.is-compact{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-header .header-inner{position:relative}
.site-header .header-inner::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:var(--nav-surface);backdrop-filter:var(--nav-glass);-webkit-backdrop-filter:var(--nav-glass)}

/* Keep one glass layer mounted while the navigation settles into its compact row. */
.site-header {
  --header-morph: 480ms;
  --motion-ease: cubic-bezier(.22,.72,.22,1);
  transition: color var(--header-morph) ease, background-color var(--header-morph) ease,
    box-shadow var(--header-morph) ease, border-color var(--header-morph) ease;
}
.site-header .header-inner { grid-template-rows: minmax(0,1fr); }
.site-header .header-inner::before { opacity: 0; transition: opacity var(--header-morph) ease; }
.site-header.is-compact .header-inner::before { opacity: 1; }
.site-header .header-wordmark { transition: opacity var(--header-morph) ease; }
.site-header.is-compact .header-wordmark { transform: none; }
.site-header .header-mark {
  translate: 0 0;
  transition: transform var(--header-morph) var(--motion-ease), translate var(--header-morph) var(--motion-ease);
}
.site-header.is-compact .header-mark { translate: 0 -3px; }
@media (max-width: 900px) {
  .site-header.is-compact .header-mark { translate: 0 -2px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header { --header-morph: 0s; }
  .site-header .header-symbol-art .mark-tone { transition: none; }
}

.site-header .header-nav > a, .site-header .header-nav .nav-drop > button { font-size: 1.1em; }

.site-header .mobile-menu { font-size: 1.1em; }
.site-header .mobile-menu details a { font-size: 16.5px; }
.site-header .mobile-menu .languages a { font-size: 15.4px; }

/* Anchor the row at the top. Move its contents on composited layers so that
   glyphs do not snap to whole pixels as the glass bar finishes shrinking. */
@supports (height: 1cqh) {
  .site-header .header-inner {
    container-type: size;
    grid-template-rows: 0;
    align-content: start;
  }
  .site-header .header-inner > :is(.header-nav, .mobile-controls, .menu-button, .logo-link) {
    transform: translate3d(0, 50cqh, 0);
    will-change: transform;
  }
  .site-header .header-mark { will-change: transform; }
}
