/* Homepage editorial hierarchy. All sizes derive from the existing type tokens.
   Desktop: hero 64–76; sections 40; WHOOP 40; features 28.6–30.8;
   directory 24; community/events 37.4; origin 35.2; closing 44. */
#main[data-page=home]{background:var(--white)}
#main[data-page=home] .hero{background:var(--white)}
#main[data-page=home] .hero-inner.has-photo{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s5)}
#main[data-page=home] .hero-copy{min-width:0;max-width:100% !important}
#main[data-page=home] .home-headline-lead{display:block;white-space:nowrap}
#main[data-page=home] .hero h1{line-height:1.04 !important}
#main[data-page=home] .hero .photo-hero{align-self:center;min-width:0}
#main[data-page=home] .section>.container{border-top:0;padding-block:var(--s4)}
#main[data-page=home] .section h2{font-size:var(--fs-fig) !important;font-weight:600 !important;line-height:1.12 !important;max-width:none}
#main[data-page=home] :is(.section,.closing) p{font-size:var(--fs-md);line-height:1.65}
#main[data-page=home] .eyebrow{font-size:var(--fs-xs);letter-spacing:.12em}
/* A platform class named .intro had leaked red rules onto public paragraphs. */
#main[data-page=home] .intro{border:0;padding-top:0}
#main[data-page=home] #home-anniversary{background:var(--paper-2)}
#main[data-page=home] #home-anniversary h2{font-size:calc(var(--fs-fig) * .94) !important;max-width:30ch;line-height:1.18 !important;text-wrap:pretty}
#main[data-page=home] #home-anniversary h2 span{display:block}
#main[data-page=home] #home-anniversary h2 span:first-child{color:var(--crimson)}
#main[data-page=home] #home-anniversary h2 span+span{margin-top:var(--s1)}
#main[data-page=home] #home-anniversary .intro{max-width:65ch;margin-top:var(--s2)}
#main[data-page=home] .figures{margin-top:var(--s3)}
#main[data-page=home] .figures>div{border:0;padding-inline:var(--s3)}
#main[data-page=home] .figures>div:first-child{padding-left:0}
#main[data-page=home] .figures strong{font-size:calc(var(--fs-fig) * 1.4);font-weight:600;letter-spacing:-.04em;line-height:1.05}
#main[data-page=home] .figures span{display:block;font-size:var(--fs-sm);line-height:1.4;margin-top:var(--s1)}
/* Compact, two-column opportunity directory; descriptions live on program pages. */
#main[data-page=home] #programs .links-head{align-items:start}
#main[data-page=home] .link-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s5);margin-top:var(--s2)}
#main[data-page=home] .link-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s1) var(--s3);align-items:start;padding-block:var(--s2);min-height:var(--tap);font-size:calc(var(--fs-xs) * 2);font-weight:500}
#main[data-page=home] .link-list a>span{grid-column:1;grid-row:1;line-height:1.25}
#main[data-page=home] .link-list a>small{grid-column:1;grid-row:2;font-size:var(--fs-base);font-weight:400;line-height:1.55;max-width:52ch}
#main[data-page=home] .link-list a::after{grid-column:2;grid-row:1;font-size:var(--fs-md);font-weight:400;color:var(--muted)}
#main[data-page=home] .link-list a:is(:hover,:focus-visible),
#main[data-page=home] .link-list a:is(:hover,:focus-visible)::after{color:var(--crimson)}
/* WHOOP is the lead story; programs form a quieter two-column companion row. */
#main[data-page=home] #now-at-hae{background:var(--white)}
#main[data-page=home] .home-editorial-head{margin-bottom:var(--s3)}
#main[data-page=home] .home-editorial-feature{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
#main[data-page=home] .home-editorial-feature .photo{aspect-ratio:16/10}
#main[data-page=home] .home-editorial-feature h3{font-size:var(--fs-fig) !important;font-weight:600 !important;line-height:1.1 !important;max-width:20ch;margin-block:var(--s2)}
#main[data-page=home] .home-editorial-agenda{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);border:0;padding-block:var(--s2);margin-top:var(--s3)}
#main[data-page=home] .home-editorial-agenda>span{grid-column:1/-1}
#main[data-page=home] .home-editorial-agenda{align-items:stretch;row-gap:0}
#main[data-page=home] .home-editorial-agenda article{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-items:start}
#main[data-page=home] .home-editorial-agenda article>:is(.button,.text-link){justify-self:start;align-self:start;margin-top:var(--s1)}
#main[data-page=home] .home-editorial-agenda article+article{border:0;padding-left:0}
#main[data-page=home] .home-editorial-agenda h3{font-size:calc(var(--fs-lg) * 1.3) !important;font-weight:600 !important;line-height:1.16 !important;max-width:25ch}
#main[data-page=home] .home-editorial-agenda article:first-of-type h3{font-size:calc(var(--fs-lg) * 1.4) !important}
#main[data-page=home] .home-editorial-agenda .button{margin-top:var(--s1)}
/* Related editorial features, with different photo scale and emphasis. */
#main[data-page=home] .home-editorial-stories{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);border:0;margin-top:var(--s2);padding-top:var(--s2)}
#main[data-page=home] .home-editorial-stories h3{font-size:calc(var(--fs-lg) * 1.3) !important;font-weight:600 !important;line-height:1.18 !important}
#main[data-page=home] .home-editorial-stories article:first-child .photo{aspect-ratio:5/2}
#main[data-page=home] .home-editorial-stories article+article{padding-top:0}
#main[data-page=home] .home-editorial-stories article+article .photo{width:100%;aspect-ratio:5/2}
#main[data-page=home] .home-editorial-brief{background:var(--paper-2);margin-top:var(--s3);padding:var(--s3);border-top:1px solid var(--crimson);grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s1) var(--s3)}
#main[data-page=home] .home-editorial-brief .home-world-logo{grid-column:1;grid-row:2 / span 2;padding:var(--s1);background:var(--ink)}
#main[data-page=home] .home-editorial-brief .home-world-logo img{width:160px}
#main[data-page=home] .home-editorial-brief p{grid-column:2;grid-row:3;font-size:var(--fs-base);line-height:1.5;margin:calc(var(--s1) * -.5) 0 0}
#main[data-page=home] .home-editorial-brief>.text-link{grid-column:3;grid-row:2 / span 2;align-self:center}
#main[data-page=home] .home-editorial-brief h3{font-size:var(--fs-lg) !important;font-weight:500 !important}
/* Community remains image-led; events use a wide photograph above the teaser list. */
#main[data-page=home] #home-community .media{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);align-items:start}
#main[data-page=home] #home-community .band-head{margin-bottom:var(--s1)}
#main[data-page=home] #home-community .media-art{width:100%;justify-self:end}
#main[data-page=home] #home-community .media-art .photo{aspect-ratio:2/1}
#main[data-page=home] :is(#home-community,#home-events) h2{font-size:calc(var(--fs-lg) * 1.7) !important}
#main[data-page=home] #home-events{background:var(--white)}
#main[data-page=home] #home-events .media{grid-template-columns:1fr;gap:var(--s2)}
#main[data-page=home] #home-events .media-art{grid-row:1}
#main[data-page=home] #home-events .media-art .photo{aspect-ratio:4/1}
#main[data-page=home] #home-events .media-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--s5);align-items:start}
#main[data-page=home] #home-events .media-copy>:is(.band-head,h2,.intro){grid-column:1}
#main[data-page=home] #home-events .home-event-teasers{grid-column:2;grid-row:1 / span 2;margin:0}
#main[data-page=home] #home-events .media-copy>.text-link{grid-column:2;grid-row:3;align-self:start;justify-self:start}
#main[data-page=home] .home-origin{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--s4);align-items:start}
#main[data-page=home] .home-origin>.photo{height:auto;aspect-ratio:16/10}
#main[data-page=home] .home-origin p{margin-bottom:var(--s1)}
#main[data-page=home] .home-event-teaser-title{font-size:calc(var(--fs-lg) * 1.1);font-weight:500;line-height:1.3}
#main[data-page=home] .home-origin h2{font-size:calc(var(--fs-lg) * 1.6) !important;line-height:1.15 !important}
#main[data-page=home] .closing{background:var(--white)}
#main[data-page=home] .closing>.container{padding-block:var(--s4);border-top:1px solid var(--line)}
#main[data-page=home] .closing .eyebrow{display:none}
#main[data-page=home] .closing h2{font-size:calc(var(--fs-fig) * 1.1) !important;font-weight:600 !important;line-height:1.08 !important;max-width:20ch}
@media(min-width:901px){
  #main[data-page=home] :is(#home-anniversary,#programs,#now-at-hae,#origin-story)>.container{padding-block:var(--s5)}
  #main[data-page=home] .hero h1{font-size:clamp(calc(var(--fs-fig) * 1.6),5.3vw,calc(var(--fs-fig) * 1.9)) !important}
}
@media(min-width:901px) and (max-width:1100px){
  #main[data-page=home] .hero-inner.has-photo{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
}
@media(max-width:900px){
  #main[data-page=home] .figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
  #main[data-page=home] .figures>div{padding-inline:0}
  #main[data-page=home] .hero-inner.has-photo,
  #main[data-page=home] .home-editorial-feature,
  #main[data-page=home] #home-community .media,
  #main[data-page=home] .home-origin{grid-template-columns:1fr}
  #main[data-page=home] .hero .photo-hero{aspect-ratio:16/9}
  #main[data-page=home] .home-editorial-feature .photo{aspect-ratio:16/9}
  #main[data-page=home] .home-editorial-feature h3{max-width:26ch}
  #main[data-page=home] .home-editorial-stories{grid-template-columns:repeat(2,minmax(0,1fr))}
  #main[data-page=home] #home-community .media-copy{order:0}
  #main[data-page=home] #home-events .media-art .photo{aspect-ratio:2/1}
}
@media(max-width:600px){
  #main[data-page=home] #home-anniversary h2{font-size:calc(var(--fs-fig) * .752) !important}
  #main[data-page=home] .home-editorial-agenda article{display:block;grid-row:auto}
  #main[data-page=home] .home-editorial-agenda article+article{margin-top:0}
  #main[data-page=home] .home-headline-lead{font-size:clamp(calc(var(--fs-lg) * 1.4),9.5vw,calc(var(--fs-lg) * 1.7))}
  #main[data-page=home] .home-editorial-brief{grid-template-columns:minmax(0,1fr);gap:var(--s1);padding:var(--s2)}
  #main[data-page=home] .home-editorial-brief>:is(.eyebrow,.home-world-logo,h3,p,.text-link){grid-column:1;grid-row:auto}
  #main[data-page=home] .home-editorial-brief .home-world-logo{justify-self:start;margin-block:var(--s1)}
  #main[data-page=home] .section>.container{padding-block:var(--s3)}
  #main[data-page=home] .section h2{font-size:calc(var(--fs-fig) * .8) !important}
  #main[data-page=home] .figures>div{padding-inline:var(--s2)}
  #main[data-page=home] .figures strong{font-size:var(--fs-fig)}
  #main[data-page=home] .home-editorial-feature h3{font-size:calc(var(--fs-fig) * .85) !important}
  #main[data-page=home] .home-editorial-agenda,
  #main[data-page=home] .home-editorial-stories,
  #main[data-page=home] #home-events .media-copy{grid-template-columns:1fr;gap:var(--s4)}
  #main[data-page=home] .home-editorial-agenda article+article{border:0;padding-top:0}
  #main[data-page=home] .home-editorial-stories article+article{padding-top:0}
  #main[data-page=home] .home-editorial-stories article+article .photo{width:100%}
  #main[data-page=home] #home-events .media-copy>:is(.band-head,h2,.intro){grid-column:1;margin-bottom:0}
  #main[data-page=home] #home-events .home-event-teasers{grid-column:1;grid-row:auto}
  #main[data-page=home] #home-events .media-copy>.text-link{grid-column:1;grid-row:auto}
  #main[data-page=home] #home-events .media-art .photo{aspect-ratio:16/9}
  #main[data-page=home] .link-list{gap:0 var(--s3)}
  #main[data-page=home] .link-list a{padding-block:var(--s2)}
  #main[data-page=home] #home-community .media-art{width:100%}
  #main[data-page=home] #home-community .media-art .photo{aspect-ratio:2/1}
  #main[data-page=home] .home-origin>.photo{width:100%;aspect-ratio:5/2}
  #main[data-page=home] .home-origin h2{font-size:calc(var(--fs-fig) * .8) !important}
  #main[data-page=home] .closing h2{font-size:var(--fs-fig) !important}
}

/* Keep navigation in document flow on the homepage, including an expanded menu. */
body:has(#main[data-page=home]) .site-header{position:relative;top:auto}
@media(max-width:1100px){
  body:has(#main[data-page=home]) .header-inner{flex-wrap:wrap}
  body:has(#main[data-page=home]) .primary-nav{position:static;flex-basis:100%;max-height:none;padding-inline:0;border-bottom:0}
}
@media print{
  .site-header{position:static !important;top:auto !important}
  .primary-nav{position:static !important}
  .review-bar,.menu-toggle{display:none !important}
  #main[data-page=home] .hero-inner.has-photo{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
  #main[data-page=home] .hero h1{font-size:var(--fs-fig) !important}
  #main[data-page=home] .home-headline-lead{font-size:inherit}
  #main[data-page=home] :is(.home-editorial-feature,.home-editorial-stories article,.home-editorial-brief,.home-origin){break-inside:avoid}
}

@media(max-width:360px){
  #main[data-page=home] .hero h1{font-size:calc(var(--fs-lg) * 1.6) !important}
}
@media(max-width:360px){
  #main[data-page=home] .figures>div{padding-inline:0}
  #main[data-page=home] .figures strong{font-size:calc(var(--fs-fig) * .8)}
  #main[data-page=home] .link-list{column-gap:var(--s2)}
  #main[data-page=home] .link-list a{font-size:calc(var(--fs-fig) * .5);column-gap:var(--s1)}
  #main[data-page=home] .link-list a::after{font-size:var(--fs-sm)}
}

/* Anniversary: story at left, compact evidence at right. */
#main[data-page=home] #home-anniversary>.container{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s5);align-items:center}
#main[data-page=home] #home-anniversary .anniversary-copy{min-width:0}
#main[data-page=home] #home-anniversary .figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s3);margin:0}
#main[data-page=home] #home-anniversary .figures>div{min-width:0;padding:0;text-align:left}
@media(max-width:1100px){
  #main[data-page=home] #home-anniversary>.container{grid-template-columns:1fr;gap:var(--s3)}
}
