/* =====================================================================
   home.css: Home (index), Details, Thanks and 404.
   Every rule is scoped by [data-page], because every page shares one
   document in the single-file preview.
   Surfaces come from the shared classes and --grad-* tokens in site.css.
   Controls stay flat. The one exception to the flat rule is the Home
   doorway illustration (door, leaf, spill, halo): it keeps its own
   lighting and is the only animated element on the site.
   ===================================================================== */

/* ---------- Home: hero ---------- */
[data-page="index"] .home-hero{position:relative;isolation:isolate;overflow:hidden;--under-pad:24px;--dw:140px}
@media (min-width:768px){[data-page="index"] .home-hero{--under-pad:40px;--dw:180px}}
@media (min-width:1024px){[data-page="index"] .home-hero{--under-pad:16px;--dw:240px;display:flex;flex-direction:column;min-height:min(100svh,920px)}}

/* The dust canvas sits behind everything; opaque panels hide motes on their own */
[data-page="index"] .home-hero__fx{position:absolute;inset:0;z-index:-1;pointer-events:none}
[data-page="index"] .home-dust{position:absolute;inset:0;width:100%;height:100%}

/* One grid. Phone and tablet: copy, facts, buttons, countdown, doorway.
   Desktop: copy and buttons left, doorway right, then the meta strip. */
[data-page="index"] .home-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-areas:"top" "facts" "cta" "count" "door"}
[data-page="index"] .home-hero__top{grid-area:top;min-width:0}
[data-page="index"] .home-hero__meta{display:contents}
[data-page="index"] .home-facts{grid-area:facts;margin-top:16px}
[data-page="index"] .home-hero__cta,[data-page="index"] .home-hero__after{grid-area:cta;margin-top:24px}
[data-page="index"] .home-count{grid-area:count;justify-self:center;margin-top:32px}
[data-page="index"] .home-stage{grid-area:door;justify-self:center;margin-top:44px;margin-bottom:calc(var(--dw) * .8)}

/* Hero lockup: 768px and up only (the phone header already carries the mark) */
[data-page="index"] .home-hero__logo{display:none;--lg-ink:var(--ivory);--lg-gold:var(--gold);width:240px;height:auto;margin:0 0 24px -2px}
@media (min-width:768px){[data-page="index"] .home-hero__logo{display:block}}
@media (min-width:1024px){[data-page="index"] .home-hero__logo{width:200px;margin-bottom:20px}}

[data-page="index"] .home-hero__presenter{max-width:30rem;font:600 15px/22px var(--f-label);letter-spacing:.01em;color:var(--gold);text-wrap:balance}
@media (min-width:1024px){[data-page="index"] .home-hero__presenter{font-size:16px;line-height:24px;max-width:44rem}}

/* H1: "A Legacy of" in Playfair italic, then "Opportunity" in Meritta clean capitals in the 2026 sweep,
   with one swash initial. Sizes stay inside the 375px measure: "opportunity" is 5.8em wide. */
[data-page="index"] .home-title{margin-top:12px;font-size:clamp(44px,13.4vw,56px);line-height:1;color:var(--ivory)}
[data-page="index"] .home-title__lead{display:block;line-height:1.1}
[data-page="index"] .home-title__main{display:block;width:fit-content;color:var(--gold)} /* fit-content: the 2026 sweep (.type-sweep) runs across the word, not the column */
[data-page="index"] .home-title__main::first-letter{text-transform:uppercase}
@media (min-width:768px){[data-page="index"] .home-title{font-size:72px;line-height:72px}}
@media (min-width:1024px){[data-page="index"] .home-title{margin-top:12px;font-size:clamp(80px,7.2vw,104px);line-height:.96}[data-page="index"] .home-title__lead{line-height:1.04}}

[data-page="index"] .home-hero__sub{margin-top:14px;max-width:24rem;font:500 20px/26px var(--f-serif);color:var(--ivory);text-wrap:balance}
@media (min-width:1024px){[data-page="index"] .home-hero__sub{margin-top:14px;max-width:none;font-size:24px;line-height:32px}}
[data-page="index"] .home-hero__feat{margin-top:8px;max-width:36rem;color:var(--text-1)}
[data-page="index"] .home-hero__feat strong{font-weight:600;color:var(--ivory)}
[data-page="index"] .home-hero__feat-more{display:none}
@media (min-width:1024px){[data-page="index"] .home-hero__feat-more{display:inline}}

/* Facts. Phone: two compact lines. Desktop: label over value in the meta strip. */
[data-page="index"] .home-facts{font:500 14px/22px var(--f-label);color:var(--text-1)}
[data-page="index"] .home-facts > div{display:inline}
[data-page="index"] .home-facts dt,[data-page="index"] .home-facts dd{display:inline;margin:0}
[data-page="index"] .home-facts :is(.home-facts__date,.home-facts__venue,.home-facts__presenting) dt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
[data-page="index"] .home-facts__doors::before{content:" \00B7  ";content:" \00B7  " / "";color:var(--gold)}
[data-page="index"] .home-facts__doors dt::after{content:" "}
[data-page="index"] .home-facts__venue,[data-page="index"] .home-facts__presenting{display:block!important}
[data-page="index"] .home-facts__presenting[hidden]{display:none!important}
@media (max-width:374px){[data-page="index"] .home-facts > div{display:block}[data-page="index"] .home-facts__doors::before{content:none}}

/* Countdown: a flat Night panel, never on the light (spec 7.2) */
[data-page="index"] .home-count{position:relative;z-index:2;background:var(--night);border:1px solid var(--line);border-radius:var(--r-card);padding:12px 16px;color:var(--ivory)}
[data-page="index"] .home-count__line{display:inline-flex;align-items:baseline;gap:8px;font:600 15px/20px var(--f-label);letter-spacing:.01em}
[data-page="index"] .home-count__num{font-size:28px;line-height:28px;color:var(--ivory)}
[data-page="index"] .home-count__msg{font:600 15px/22px var(--f-label);color:var(--ivory)}

/* Off-season close */
[data-page="index"] .home-hero__thanks{font:500 28px/34px var(--f-serif);color:var(--ivory);text-wrap:balance}
[data-page="index"] .home-hero__next{margin-top:8px;color:var(--text-1)}
[data-page="index"] .home-hero__links{display:flex;flex-wrap:wrap;column-gap:32px;margin-top:8px}

/* ---------- Home: the doorway (illustration; keeps its own light) ---------- */
[data-page="index"] .home-stage{position:relative;width:var(--dw)}
[data-page="index"] .home-door{position:relative;width:var(--dw)}
[data-page="index"] .home-door__halo{position:absolute;left:50%;top:50%;width:calc(var(--dw) * 3.2);height:calc(var(--dw) * 2.6);transform:translate(-50%,-46%);
  background:radial-gradient(closest-side,rgba(232,184,102,.20),rgba(232,184,102,.07) 55%,rgba(232,184,102,0));pointer-events:none}
[data-page="index"] .home-door__arch{position:relative;width:100%;aspect-ratio:250/450}
[data-page="index"] .home-door__frame{position:absolute;inset:-13px -13px 0;border:1.5px solid rgba(250,241,228,.2);border-bottom:0;border-radius:999px 999px 0 0;
  box-shadow:0 0 0 7px rgba(250,241,228,.025)}
[data-page="index"] .home-door__light{position:absolute;inset:0;overflow:hidden;border-radius:999px 999px 0 0;perspective:820px;
  background:radial-gradient(135% 80% at 50% 94%,#FFF6E6 0%,#F6DDA4 16%,#E8B866 38%,#C0603A 62%,#7A1A2A 84%,#2A0710 100%);
  box-shadow:0 0 50px 4px rgba(232,184,102,.38),0 0 190px 50px rgba(232,184,102,.16)}
[data-page="index"] .home-door__leaf{position:absolute;inset:0;transform-origin:0 50%;transform:rotateY(74deg);
  background:repeating-linear-gradient(180deg,rgba(232,184,102,0) 0 12px,rgba(232,184,102,.6) 12px 13px,rgba(232,184,102,0) 13px 15px),linear-gradient(90deg,#1A0509,#40101A 62%,#24070D);
  box-shadow:inset -2px 0 0 rgba(250,241,228,.1)}
[data-page="index"] .home-door__spill{position:absolute;left:50%;top:100%;width:calc(var(--dw) * 2.2);height:calc(var(--dw) * .78);transform:translateX(-50%);transform-origin:50% 0;pointer-events:none;
  clip-path:polygon(calc(50% - var(--dw) / 2) 0,calc(50% + var(--dw) / 2) 0,100% 100%,0 100%);
  background:linear-gradient(180deg,rgba(246,221,164,.34),rgba(232,184,102,.12) 48%,rgba(232,184,102,0))}
/* Motion runs only with script on and motion allowed; without it the door is simply open and still.
   home.js adds .is-still once the door has opened, so the preview never replays it. */
@media (prefers-reduced-motion:no-preference){
  html.js [data-page="index"] .home-door:not(.is-still) .home-door__light{animation:home-glow 2.4s var(--ease-out) .2s both}
  html.js [data-page="index"] .home-door:not(.is-still) .home-door__leaf{animation:home-open 2.6s cubic-bezier(.62,.04,.2,1) .3s both}
  html.js [data-page="index"] .home-door:not(.is-still) .home-door__spill{animation:home-spill 2.2s var(--ease-out) .75s both}
}
@keyframes home-glow{from{filter:brightness(.5) saturate(.7)}to{filter:none}}
@keyframes home-open{from{transform:rotateY(0)}16%{transform:rotateY(5deg)}to{transform:rotateY(74deg)}}
@keyframes home-spill{from{opacity:.15;transform:translateX(-50%) scaleY(.15)}to{opacity:1;transform:translateX(-50%)}}

/* Pause control: flat, 44px, at the door's lower right */
[data-page="index"] .home-motion{position:absolute;right:calc(-44px - 24px);bottom:0;z-index:2;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;
  background:var(--night);border:1px solid var(--line-strong);border-radius:var(--r-ctl);color:var(--ivory);cursor:pointer;transition:border-color 120ms linear}
@media (hover:hover){[data-page="index"] .home-motion:hover{border-color:var(--ivory)}}
[data-page="index"] .home-motion__icon{width:16px;height:16px;overflow:visible}
[data-page="index"] .home-motion__pause{fill:none;stroke:currentColor;stroke-width:1.5}
[data-page="index"] .home-motion__play{display:none;fill:currentColor}
[data-page="index"] .home-motion[aria-pressed="true"] .home-motion__pause{display:none}
[data-page="index"] .home-motion[aria-pressed="true"] .home-motion__play{display:inline}

/* Desktop hero */
@media (min-width:1024px){
  [data-page="index"] .home-hero__grid{flex:1 1 auto;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-content:end;
    grid-template-areas:
      "top top top top top top top top door door door door"
      "cta cta cta cta cta cta cta cta door door door door"
      "meta meta meta meta meta meta meta meta meta meta meta meta"}
  [data-page="index"] .home-hero__top{max-width:44rem}
  [data-page="index"] .home-hero__cta,[data-page="index"] .home-hero__after{margin-top:28px;align-self:start}
  [data-page="index"] .home-stage{align-self:end;margin:40px 0 0}
  [data-page="index"] .home-hero__meta{display:grid;grid-area:meta;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;
    margin-top:36px;padding-block:20px 32px;border-top:1px solid var(--line)}
  [data-page="index"] .home-facts{grid-area:auto;grid-column:1 / 9;margin:0;display:flex;flex-wrap:wrap;gap:16px 40px}
  [data-page="index"] .home-facts > div,[data-page="index"] .home-facts__venue{display:grid!important;gap:4px}
  [data-page="index"] .home-facts > div[hidden]{display:none!important}
  [data-page="index"] .home-facts dt,[data-page="index"] .home-facts :is(.home-facts__date,.home-facts__venue,.home-facts__presenting) dt{position:static;width:auto;height:auto;overflow:visible;clip-path:none;
    display:block;font:600 13px/18px var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
  [data-page="index"] .home-facts dd{display:block;font:500 18px/26px var(--f-serif);color:var(--ivory)}
  [data-page="index"] .home-door__spill{width:calc(var(--dw) * 1.9)}
  [data-page="index"] .home-facts__doors::before,[data-page="index"] .home-facts__doors dt::after{content:none}
  [data-page="index"] .home-count{grid-area:auto;grid-column:10 / 13;justify-self:end;margin:0;padding:14px 20px}
  [data-page="index"] .home-count__line{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;column-gap:10px;row-gap:6px}
  [data-page="index"] .home-count__label{grid-column:1 / -1;font:600 13px/18px var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
  [data-page="index"] .home-count__num{font-size:48px;line-height:44px}
  [data-page="index"] .home-count__unit{font:600 15px/20px var(--f-label);color:var(--ivory)}
  [data-page="index"] .home-hero__thanks{font-size:36px;line-height:42px}
}
@media (min-width:1024px) and (max-height:760px){[data-page="index"] .home-hero__logo{display:none}}

/* ---------- Home: statement ---------- */
[data-page="index"] .home-statement__h{margin-top:16px;font-size:30px;line-height:36px}
[data-page="index"] .home-statement__h > span{display:block}
[data-page="index"] .home-statement__last{color:var(--gold)}
@media (min-width:768px){[data-page="index"] .home-statement__h{font-size:44px;line-height:50px}}
@media (min-width:1024px){[data-page="index"] .home-statement__h{margin-top:24px;font-size:clamp(52px,5vw,72px);line-height:1.06}}
[data-page="index"] .home-statement__body{display:grid;gap:40px;margin-top:40px}
[data-page="index"] .home-statement__lede{max-width:var(--measure);color:var(--ivory)}
[data-page="index"] .home-teaser{display:grid;gap:4px;align-content:start;padding-top:24px;border-top:1px solid var(--line)}
[data-page="index"] .home-teaser__text{display:grid;gap:8px;max-width:26rem}
[data-page="index"] .home-teaser__year{display:block;font-size:44px;line-height:44px;color:var(--ivory)}
[data-page="index"] .home-teaser__line{color:var(--text-1)}
@media (min-width:1024px){
  [data-page="index"] .home-statement__body{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:56px}
  [data-page="index"] .home-statement__lede{grid-column:1 / 7}
  [data-page="index"] .home-teaser{grid-column:8 / 13;padding:0 0 0 32px;border-top:0;border-left:1px solid var(--line)}
  [data-page="index"] .home-teaser__year{font-size:56px;line-height:56px}
}

/* ---------- Home: the morning at a glance ---------- */
[data-page="index"] .home-glance__list{list-style:none;margin-top:32px;border-top:1px solid var(--line)}
[data-page="index"] .home-glance__list > li{display:grid;grid-template-columns:108px minmax(0,1fr);column-gap:16px;align-items:baseline;min-height:56px;padding:14px 0;border-bottom:1px solid var(--line)}
[data-page="index"] .home-glance__time{font-size:22px;line-height:28px;color:var(--ivory);white-space:nowrap}
[data-page="index"] .home-glance__time.gold-num{color:var(--gold)}
[data-page="index"] .home-glance__what{font:500 20px/26px var(--f-serif);color:var(--ivory)}
[data-page="index"] .home-glance__what small{display:block;margin-top:2px;font:400 15px/22px var(--f-body);color:var(--text-2)}
[data-page="index"] .home-glance__more{margin-top:16px}
@media (min-width:1024px){
  [data-page="index"] .home-glance__list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:48px;border-bottom:1px solid var(--line)}
  [data-page="index"] .home-glance__list > li{display:flex;flex-direction:column;gap:12px;min-height:0;padding:28px 24px 32px;border-bottom:0;border-left:1px solid var(--line)}
  [data-page="index"] .home-glance__list > li:first-child{padding-left:0;border-left:0}
  [data-page="index"] .home-glance__time{font-size:32px;line-height:36px}
  [data-page="index"] .home-glance__more{margin-top:24px;text-align:right}
}

/* ---------- Home: keynote teaser ---------- */
[data-page="index"] .home-keynote__grid{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:20px;align-items:start}
[data-page="index"] .home-keynote__figure{margin:0}
[data-page="index"] .home-keynote__arch{overflow:hidden;width:100%;aspect-ratio:2/3;border-radius:999px 999px 0 0;background:var(--card)}
[data-page="index"] .home-keynote__arch img{width:100%;height:100%;object-fit:cover}
[data-page="index"] .home-keynote__credit{margin-top:8px;font:400 13px/18px var(--f-body);color:var(--text-3)}
[data-page="index"] .home-keynote__copy{display:grid;gap:8px;align-content:start;min-width:0}
[data-page="index"] .home-keynote__copy h2{font-size:28px;line-height:32px}
[data-page="index"] .home-keynote__line{font:400 15px/22px var(--f-body);color:var(--text-1)}
@media (max-width:359px){[data-page="index"] .home-keynote__grid{grid-template-columns:88px minmax(0,1fr);column-gap:16px}}
@media (min-width:768px){
  [data-page="index"] .home-keynote__grid{grid-template-columns:200px minmax(0,1fr);column-gap:40px;align-items:center}
  [data-page="index"] .home-keynote__copy h2{font-size:44px;line-height:48px}
  [data-page="index"] .home-keynote__line{font-size:17px;line-height:27px;max-width:34rem}
}
@media (min-width:1024px){
  [data-page="index"] .home-keynote__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
  [data-page="index"] .home-keynote__figure{grid-column:1 / 5;max-width:300px}
  [data-page="index"] .home-keynote__copy{grid-column:6 / 12;gap:12px}
  [data-page="index"] .home-keynote__copy h2{font-size:56px;line-height:60px}
  [data-page="index"] .home-keynote__line{font-size:18px;line-height:29px}
}

/* ---------- Home: for students ---------- */
[data-page="index"] .home-students{padding-block:calc(var(--section) * .75)}
[data-page="index"] .home-students__grid{display:grid;gap:20px}
[data-page="index"] .home-students__head h2{margin-top:12px}
[data-page="index"] .home-students__body{display:grid;gap:8px;align-content:start}
[data-page="index"] .home-students__line{max-width:var(--measure);color:var(--text-1)}
@media (min-width:1024px){
  [data-page="index"] .home-students__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
  [data-page="index"] .home-students__head{grid-column:1 / 7}
  [data-page="index"] .home-students__head h2{font-size:44px;line-height:50px}
  [data-page="index"] .home-students__body{grid-column:7 / 13;padding-top:30px;gap:12px}
}

/* ---------- Home: two ways to open a door ---------- */
[data-page="index"] .home-ways__head{display:grid;gap:16px;max-width:44rem}
[data-page="index"] .home-ways__head .lede{margin-top:4px}
[data-page="index"] .home-ways__cards{margin-top:40px}
[data-page="index"] .home-way{display:flex;flex-direction:column;gap:12px}
[data-page="index"] .home-way > * + *{margin-top:0}
[data-page="index"] .home-way__text{color:var(--text-1)}
[data-page="index"] .home-way__actions{display:grid;gap:4px;justify-items:start;margin-top:auto;padding-top:16px}
[data-page="index"] .home-way__actions .btn{width:100%}
@media (min-width:1024px){[data-page="index"] .home-ways__cards{margin-top:56px}}

/* ---------- Details ---------- */
[data-page="details"] .details-layout{display:grid;gap:56px}
[data-page="details"] .details-essentials{display:grid;gap:16px;align-content:start}
[data-page="details"] .details-facts{border-top:1px solid var(--line)}
[data-page="details"] .details-facts dd{font-weight:400;color:var(--ivory)}
[data-page="details"] .details-facts dd small{display:block;font:400 15px/22px var(--f-body);color:var(--text-2)}
[data-page="details"] .details-cal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}
[data-page="details"] .details-faq h2{margin-bottom:24px}
[data-page="details"] .details-faq .accordion__a .copy-row{border-bottom:1px solid var(--line)}
[data-page="details"] .details-faq .accordion__a .tax-note{font-size:17px;line-height:27px;color:var(--text-1)}
@media (min-width:1024px){
  [data-page="details"] .details-layout{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
  [data-page="details"] .details-essentials{grid-column:1 / 5}
  [data-page="details"] .details-facts > div{grid-template-columns:none}
  [data-page="details"] .details-faq{grid-column:6 / 13}
  [data-page="details"] .details-faq h2{margin-bottom:32px}
}
@media (min-width:1024px) and (min-height:760px){[data-page="details"] .details-essentials{position:sticky;top:calc(var(--hdr-h) + 24px)}}

[data-page="details"] .details-contacts__lede{margin-top:12px}
[data-page="details"] .details-cards{margin-top:32px;grid-template-columns:minmax(0,1fr)}
[data-page="details"] .details-card__who{display:grid;gap:4px;align-content:start}
[data-page="details"] .details-card__note{margin-top:8px;font:400 15px/22px var(--f-body);color:var(--text-2)}
[data-page="details"] .details-card__rows{margin-top:12px}
[data-page="details"] .details-card__rows .copy-row:first-of-type{margin-top:0}
[data-page="details"] .details-card__rows .copy-row:last-child{border-bottom:1px solid var(--line)}
[data-page="details"] .details-card .copy-row__actions .btn{min-width:96px}
@media (min-width:1024px){
  [data-page="details"] .details-cards{margin-top:48px;gap:16px}
  [data-page="details"] .details-card{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:48px;padding:32px}
  [data-page="details"] .details-card__rows{margin-top:0}
}

/* ---------- Thanks and 404: one screen each ---------- */
:is([data-page="thanks"],[data-page="404"]) .utility-header{display:grid;align-content:center;min-height:min(calc(100svh - var(--hdr-h)),860px);padding-block:48px 56px}
@media (min-width:1024px){:is([data-page="thanks"],[data-page="404"]) .utility-header{padding-block:80px}}
[data-page="thanks"] .thanks-facts{margin-top:32px}
[data-page="thanks"] .thanks-facts > div{align-content:start}
@media (min-width:768px){[data-page="thanks"] .thanks-facts{grid-template-columns:max-content max-content minmax(0,1fr);column-gap:48px}}
:is([data-page="thanks"],[data-page="404"]) .utility-actions{margin-top:32px}
[data-page="thanks"] .thanks-share{margin-top:16px;color:var(--text-2)}
[data-page="thanks"] .thanks-share .copy-value{font:600 15px/22px var(--f-body);color:var(--ivory)}
:is([data-page="thanks"],[data-page="404"]) .utility-more{margin-top:24px;color:var(--text-2)}
[data-page="404"] .not-found-pages{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);max-width:44rem}
[data-page="404"] .not-found-pages ul{display:flex;flex-wrap:wrap;column-gap:24px;list-style:none;margin-top:4px}
[data-page="404"] .not-found-pages a{display:inline-flex;align-items:center;min-height:44px;font:600 15px/20px var(--f-label);color:var(--ivory);text-underline-offset:4px}
@media (hover:hover){[data-page="404"] .not-found-pages a:hover{color:var(--gold)}}
