/* Shared typography, alignment and photographic page headers. */
body.image-header-page{
  --site-font:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;
  --site-blue:#0957c3;--site-blue-hover:#07469d;--site-heading:#183a57;
  --site-body:#52677e;--site-muted:#63768b;--site-line:#dfe7ef;
  --red:var(--site-blue);--red-hover:var(--site-blue-hover);
  --ink:#18283e;--muted:var(--site-muted);
  --page-width:1240px;--page-gutter:100px;--header-height:88px;
  font-family:var(--site-font);font-size:16px;line-height:1.8;
}
.image-header-page :is(button,input,select,textarea){font-family:inherit}
.image-header-page :is(.container,.hs-wrap){width:min(var(--page-width),calc(100% - var(--page-gutter)))}
.image-header-page :is(h1,h2,h3){font-family:inherit;letter-spacing:0}
.image-header-page :is(.section-head h2,.studio-title h2,.public-detail-section-title h2,.program-section>h2){font-size:30px;line-height:1.5;font-weight:600}
.image-header-page :is(.program-card h2,.public-session-body h2,.training-case-copy h2){font-size:22px;line-height:1.5;font-weight:600}
.image-header-page :is(.program-card-body>p,.training-case-copy>p){font-size:15px;line-height:1.85}
.image-header-page :is(a,button,input,select,textarea):focus-visible{outline-color:#53b9ff}

/* Navigation occupies the image area on every route, then pins when scrolled. */
body.image-header-page .site-header{position:absolute;inset:0 0 auto;z-index:40;color:#fff;background:transparent;border-bottom:1px solid #ffffff18;backdrop-filter:none;box-shadow:none;transition:background-color .25s,box-shadow .25s}
body.image-header-page .site-header .header-inner{width:min(var(--page-width),calc(100% - var(--page-gutter)));height:var(--header-height);gap:24px}
body.image-header-page .site-header .brand{position:static;margin:0}
body.image-header-page .site-header .brand-logo,body.image-header-page .site-header:not(.is-scrolled) .brand-logo,body.image-header-page .site-header.is-scrolled .brand-logo{width:220px;padding:0;background:transparent;border:0;border-radius:0;filter:brightness(0) invert(1)}
/* Keep the original crest detail while presenting the wordmark in white. */
body.image-header-page .site-header .brand:has(.brand-logo[src$="imsc-logo.png"]){position:relative;inset:auto}
body.image-header-page .site-header .brand:has(.brand-logo[src$="imsc-logo.png"]):after{content:"";position:absolute;inset:0;background:url("assets/imsc-logo.png") left center/100% auto no-repeat;clip-path:inset(0 80% 0 0);pointer-events:none}
body.image-header-page .site-header .desktop-nav{margin-left:auto;gap:24px}
body.image-header-page .site-header :is(.desktop-nav>a,.nav-cluster>a){font-size:16px;font-weight:500}
body.image-header-page .site-header:not(.is-scrolled) :is(.desktop-nav>a,.nav-cluster>a,.nav-disclosure,.header-actions .icon-button,.brand-fallback){color:#fff;text-shadow:none}
body.image-header-page .site-header:not(.is-scrolled) .desktop-nav [data-nav][aria-current=page],body.image-header-page .site-header:not(.is-scrolled) .desktop-nav [data-nav][aria-expanded=true],body.image-header-page .site-header:not(.is-scrolled) .desktop-nav [data-nav]:hover{color:#fff}
body.image-header-page .site-header:not(.is-scrolled) .desktop-nav [data-nav][aria-current=page]:after{background:#fff}
body.image-header-page .site-header:not(.is-scrolled) .header-contact{background:#ffffff12;color:#fff;border:1px solid #ffffff80;border-radius:4px;font-size:15px;padding:10px 16px}
body.image-header-page .site-header .nav-panel{color:var(--ink);background:#fff}
body.image-header-page .site-header .mobile-nav{background:#fff;color:var(--ink);border-color:var(--site-line)}
body.image-header-page .site-header .mobile-nav a{color:var(--ink)}
body.image-header-page .site-header .mobile-nav a:hover{color:var(--site-blue);background:#edf5ff}
body.image-header-page .site-header.is-scrolled{position:fixed;background:#14263bf5;color:#fff;border-color:#ffffff18;box-shadow:0 3px 18px #08172d18}
body.image-header-page .site-header:focus-within{background:#14263bf5}
@media(hover:hover){body.image-header-page .site-header:hover{background:#14263bf5}}
body.image-header-page .site-header.is-scrolled :is(.desktop-nav>[data-nav],.nav-parent,.header-actions .icon-button){color:#fff}
body.image-header-page .site-header.is-scrolled .desktop-nav [data-nav][aria-current=page]:after{background:#fff}
body.image-header-page .site-header.is-scrolled .mobile-disclosure{color:var(--ink)}
body.image-header-page #main{margin-top:0}

/* Existing page titles remain the single heading; their backgrounds become heroes. */
.image-header-page .site-page-hero{position:relative;isolation:isolate;background-color:#123451;background-image:linear-gradient(180deg,#071c3870,transparent 38%),linear-gradient(90deg,#072b4de8 0%,#0c3556b8 42%,#0b36584d 100%),var(--page-hero-image);background-size:cover;background-position:center,center,var(--page-hero-position,center);color:#fff;border:0;min-height:clamp(460px,58svh,640px);padding:calc(var(--header-height) + 58px) 0 72px;display:flex;align-items:center}
.image-header-page .site-page-hero>.container,.image-header-page .site-page-hero>.hs-wrap{position:relative;z-index:1;padding-block:0}
.image-header-page .site-page-hero h1{font-size:clamp(32px,3.5vw,50px);line-height:1.4;font-weight:600;letter-spacing:0;color:#fff;max-width:1000px;margin:18px 0}
.image-header-page .site-page-hero :is(.breadcrumb,.studio-breadcrumb,.training-case-breadcrumb,.public-detail-breadcrumb){font-size:13px;line-height:1.7;color:#d9e6f3;gap:10px;margin:0 0 26px;flex-wrap:wrap}
.image-header-page .site-page-hero :is(.eyebrow,.studio-kicker,.training-case-eyebrow,.public-detail-eyebrow){font-size:12px;line-height:1.6;letter-spacing:2px;color:#9dd6ff}
.image-header-page .site-page-hero :is(.container>p,.hs-wrap>p,.program-lead){font-size:18px;line-height:1.85;color:#e0ebf5;max-width:850px}
.image-header-page .site-page-hero :is(.container>.studio-kicker,.container>.training-case-eyebrow){font-size:12px;line-height:1.6;letter-spacing:2px;color:#9dd6ff}
.image-header-page .site-page-hero .eyebrow:before{background:#86cfff}
.image-header-page .site-page-hero :is(.outline-actions .text-link,.program-facts,.public-detail-hero-actions .text-link){color:#e0ebf5}
.image-header-page .site-page-hero .studio-banner-photo{display:none}
.image-header-page .site-page-hero.studio-banner .button{margin-top:24px}
.image-header-page .site-page-hero.training-case-hero{background-image:none;min-height:clamp(480px,58svh,640px)}
.image-header-page .training-case-hero-photo{object-position:center 60%}
.image-header-page .site-page-hero .training-case-hero-stats{font-size:19px}
.image-header-page .site-page-hero .training-case-hero-copy{font-size:18px}
.image-header-page .site-page-hero .program-category{color:#d6eaff;background:#ffffff15}
.image-header-page .program-hero-grid{gap:48px;align-items:center;margin-top:24px}
.image-header-page .site-page-hero.program-heading h1,.image-header-page .site-page-hero.public-detail-hero h1{font-size:36px;line-height:1.5}
.image-header-page .site-page-hero .button-outline{color:#fff;border-color:#ffffff80;background:transparent}
.image-header-page .site-page-hero .button-outline:hover{background:#ffffff18}
.image-header-page .site-page-hero :is(.public-detail-info dt,.public-detail-info dd){color:#e0ebf5}
.image-header-page .site-page-hero .public-detail-info dl>div{border-color:#ffffff26}
.image-header-page .site-page-hero .public-detail-price{color:#fff}
.image-header-page .site-page-hero .public-detail-top{align-items:center}
.image-header-page .site-page-hero .archive-attribution{font-size:14px}
.image-header-page .program-teacher b{font-size:14px;line-height:1.6}
.image-header-page .program-teacher small{font-size:11px;line-height:1.6}
.image-header-page .program-card-footer{align-items:center;gap:12px}
.image-header-page .program-jump{top:var(--header-height)}

/* A full-screen opening, with a soft top shade behind the transparent header. */
.image-header-page.home-page #hs-slide{height:100svh;min-height:640px;align-items:center}
.image-header-page.home-page #hs-slide:after{content:"";position:absolute;z-index:2;inset:0 0 auto;height:190px;background:linear-gradient(180deg,#0a234db8,#123c6526 65%,transparent);pointer-events:none}
.image-header-page.home-page .hs-hero-content{padding-block:calc(var(--header-height) + 35px) 90px}
.image-header-page.home-page :is(.hs-books-layout,.hs-feature-layout){padding-block:calc(var(--header-height) + 35px) 90px}
.image-header-page.home-page .hs-hero-image{height:100%;object-fit:cover;object-position:right center}
.image-header-page.home-page .hs-hero-controls{bottom:32px;gap:16px;z-index:4}

@media(min-width:1101px) and (max-width:1350px){
  body.image-header-page .site-header .desktop-nav{gap:18px}
  body.image-header-page .site-header .header-inner{gap:18px}
  body.image-header-page .site-header .header-contact{display:none}
}
@media(max-width:1100px){body.image-header-page{--page-gutter:48px}body.image-header-page .site-header .desktop-nav{display:none}}
@media(min-width:701px) and (max-width:1000px){
  .image-header-page.home-page #hs-slide{min-height:760px}
  .image-header-page.home-page :is(.hs-manual-layout,.hs-research-layout){grid-template-columns:.8fr 1.2fr;gap:24px}
  .image-header-page.home-page .hs-research-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  .image-header-page.home-page .hs-research-cover{height:140px}
  .image-header-page.home-page .hs-research-item p{display:none}
}
@media(max-width:700px){
  body.image-header-page{--page-gutter:36px;--header-height:74px}
  body.image-header-page .site-header .header-inner{gap:10px}
  body.image-header-page .site-header .brand-logo,body.image-header-page .site-header:not(.is-scrolled) .brand-logo,body.image-header-page .site-header.is-scrolled .brand-logo{width:195px}
  .image-header-page .site-page-hero{min-height:420px;padding:calc(var(--header-height) + 36px) 0 52px;background-position:center,center,var(--page-hero-position,65% center)}
  .image-header-page .site-page-hero h1{font-size:30px;line-height:1.45;margin:16px 0}
  .image-header-page .site-page-hero :is(.container>p,.hs-wrap>p,.program-lead,.training-case-hero-copy){font-size:16px;line-height:1.85}
  .image-header-page .site-page-hero :is(.breadcrumb,.studio-breadcrumb,.training-case-breadcrumb,.public-detail-breadcrumb){font-size:12px;margin-bottom:20px}
  .image-header-page .site-page-hero.training-case-hero{min-height:410px;padding-bottom:60px}
  .image-header-page .site-page-hero .training-case-hero-stats{font-size:15px}
  .image-header-page .site-page-hero.program-heading h1,.image-header-page .site-page-hero.public-detail-hero h1{font-size:28px}
  .image-header-page .program-hero-grid{gap:28px}
  .image-header-page :is(.section-head h2,.studio-title h2,.public-detail-section-title h2,.program-section>h2){font-size:26px}
  .image-header-page :is(.program-card h2,.public-session-body h2,.training-case-copy h2){font-size:20px}
  .image-header-page.home-page #hs-slide{height:100svh;min-height:760px}
  .image-header-page.home-page .hs-hero-content{padding-block:calc(var(--header-height) + 50px) 130px}
  .image-header-page.home-page :is(.hs-books-layout,.hs-feature-layout){padding-block:calc(var(--header-height) + 24px) 112px;gap:20px}
  .image-header-page.home-page .hs-hero-controls{bottom:72px}
  .image-header-page.home-page .hs-image-caption{bottom:58px}
  .image-header-page.home-page .hs-book-wall{grid-template-rows:repeat(5,35px)}
  .image-header-page.home-page .hs-manual-scroll{padding:8px 0;overflow:visible}
  .image-header-page.home-page .hs-manual-stage{width:100%;aspect-ratio:1.48}
  .image-header-page.home-page .hs-manual-swipe{display:none}
  .image-header-page.home-page .hs-manual-book figcaption{font-size:8px}
  .image-header-page.home-page .hs-research-pair{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .image-header-page.home-page .hs-research-cover{height:110px;margin-bottom:8px}
  .image-header-page.home-page .hs-research-item :is(p,.hs-research-meta){display:none}
  .image-header-page.home-page .hs-research-item h2{font-size:11px;min-height:52px}
  .image-header-page.home-page .hs-research-download{font-size:10px;gap:4px}
  .image-header-page.home-page .hs-research-download svg{width:12px}
}
@media(max-width:370px){body.image-header-page .site-header .brand-logo,body.image-header-page .site-header:not(.is-scrolled) .brand-logo,body.image-header-page .site-header.is-scrolled .brand-logo{width:177px}}
@media(prefers-reduced-motion:reduce){body.image-header-page .site-header{transition:none}}
