/* Inner pages, built in the same system as Home (Design System §9b). */
.p-hero{position:relative;background:var(--ink);color:var(--cream);min-height:88svh;display:grid;align-items:end;overflow:hidden}
.p-hero video,.p-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-hero .shade{position:absolute;inset:0;background:var(--ink);opacity:.55}
.p-hero .copy{position:relative;z-index:2;padding:140px var(--m) 64px;display:grid;gap:24px;max-width:1240px}
.p-hero h1{font-size:clamp(56px,7vw,120px)}
.p-hero p{font-size:var(--s-lead);max-width:38ch}
.p-hero .acts{display:flex;gap:16px;flex-wrap:wrap}
.p-hero.short{min-height:56svh}
.btn-ghost{background:transparent;color:var(--cream);border:2px solid rgba(235,225,206,.7)}
.btn-ghost:hover{background:var(--cream);color:var(--ink)}
.sec-head{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:end;margin-bottom:48px}
.sec-head h2{font-size:var(--s-h2)}
.sec-head p{font-size:var(--s-lead);max-width:38ch}
.c-cream{background:var(--cream);color:var(--ink)}
.c-paper{background:var(--paper);color:var(--ink)}
.c-ink{background:var(--ink);color:var(--cream)}
.c-maroon{background:var(--maroon);color:var(--cream)}
.c-orange{background:var(--orange);color:var(--ink)}
/* level tickets: the door ticket without a link */
.tix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
.tix .door{color:var(--ink);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-height:180px;border-radius:20px;overflow:hidden;
  -webkit-mask:radial-gradient(circle 14px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 14px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat}
.note{margin-top:28px;font-size:var(--s-body)}
/* price list */
.prices{width:100%;border-collapse:collapse;font-size:var(--s-body);background:var(--paper);border-radius:16px;overflow:hidden}
.prices th,.prices td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line,#DCD0BA)}
.prices th{font-weight:800;background:var(--cream2)}
.prices td.p{font-family:"Anton",Impact,sans-serif;font-size:clamp(24px,2.4vw,34px);color:var(--orange-ink,#C4561A);white-space:nowrap}
.acts-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px;align-items:center}
/* crew wall on inner pages */
.crewsec .wall{grid-template-columns:repeat(6,minmax(0,1fr))}
.crewsec .wall figcaption small{display:block;font-family:Inter,sans-serif;text-transform:none;font-size:var(--s-small);opacity:.85;letter-spacing:0}
/* long text */
.prose{max-width:760px}
.prose h2{font-size:clamp(32px,3.4vw,52px);margin:48px 0 16px}
.prose h3{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(24px,2.2vw,32px);margin:32px 0 12px}
.prose p,.prose li{font-size:var(--s-body);line-height:1.6}
.prose ul{padding-left:1.2em;display:grid;gap:6px}
.prose a{color:inherit;text-decoration:underline}
/* two column block */
div.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.split img{width:100%;height:auto;border-radius:24px}
@media (max-width:820px){
  .p-hero .copy{padding:110px var(--m) 40px}
  .p-hero h1{font-size:11.5vw}
  .p-hero p{font-size:20px}
  .sec-head,div.split{grid-template-columns:1fr}
  .tix{grid-template-columns:1fr}
  .crewsec .wall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .prices th,.prices td{padding:12px 14px}
}

.prose p{margin:0 0 14px}
.p-hero .lead p{margin:0 0 10px;font-size:var(--s-lead);max-width:46ch}
.p-hero.short .shade{opacity:.7}
/* learning cards */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.card{background:var(--white,#fff);border-radius:16px;padding:24px;display:grid;gap:10px;align-content:start}
.card h3{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(24px,2.2vw,32px);line-height:.95}
.card p{font-size:var(--s-body)}
.tix .door .stub span{font-size:var(--s-small);font-weight:800;display:block;margin-top:8px}
.tix .door .rest a{color:inherit;text-decoration:underline}
.c-maroon .prose h3{color:var(--cream)}
@media (max-width:820px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}
/* studio rooms as menu cards */
.rooms{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.roomcard{background:var(--ink2);border-radius:24px;overflow:hidden;display:grid}
.roomcard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.dn{position:relative;aspect-ratio:4/3}.dn input{position:absolute;opacity:0;pointer-events:none}.dn img{position:absolute;inset:0;height:100%;transition:opacity .5s}.dn .n,.dn input:nth-of-type(2):checked~.d{opacity:0}.dn input:nth-of-type(2):checked~.n{opacity:1}
.dnbtns{position:absolute;left:16px;bottom:16px;display:flex;background:rgba(7,53,57,.8);border-radius:999px;padding:4px}.dnbtns label{padding:8px 16px;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;color:var(--cream,#efe2d0)}
.dn input:nth-of-type(1):checked~.dnbtns label:nth-child(1),.dn input:nth-of-type(2):checked~.dnbtns label:nth-child(2){background:var(--orange,#e26d24);color:#fff}.dn input:focus-visible~.dnbtns{outline:2px solid #fff;outline-offset:2px}
.roombody{padding:28px;display:grid;gap:20px}
.roombody h3{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(36px,3.6vw,56px);line-height:.9;color:var(--cream)}
.specs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.specs li{display:grid;grid-template-columns:150px 1fr;gap:12px;font-size:var(--s-body)}
.specs li b{font-weight:800}
.rates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rates div{background:var(--cream);color:var(--ink);border-radius:14px;padding:16px 18px;display:grid}
.rates b{font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:clamp(36px,3.4vw,52px);line-height:1;color:var(--orange-ink,#C4561A)}
.rates span{font-weight:800;font-size:var(--s-small)}
@media (max-width:820px){.rooms{grid-template-columns:1fr}.specs li{grid-template-columns:120px 1fr}}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.c-maroon .card{background:var(--cream);color:var(--ink)}
.card .num{font-family:"Anton",Impact,sans-serif;font-size:56px;line-height:1;color:var(--orange-ink,#C4561A)}
.intro-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.intro-list li{grid-template-columns:110px 1fr}
@media (max-width:820px){.cards.three{grid-template-columns:1fr}.intro-list{grid-template-columns:1fr}}
/* calendar pages as a static timeline */
.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.timeline .sheet{position:relative;inset:auto;min-height:260px;box-shadow:none}
.timeline .sheet .yr{font-size:clamp(64px,6vw,96px)}
.plates{grid-template-columns:repeat(3,minmax(0,1fr))}
.plates .cell{text-decoration:none;padding:20px;border-radius:12px}
.plates .exit{font-size:18px}
.steps{margin:24px 0 0;padding-left:1.3em;display:grid;gap:10px;font-size:var(--s-body)}
@media (max-width:820px){.timeline,.plates{grid-template-columns:1fr}}
/* recital showcase: one full-width block per show */
.show{display:grid;gap:16px;margin-top:48px}
.show:first-of-type{margin-top:0}
.show .door{color:var(--ink);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-height:160px;border-radius:20px;overflow:hidden;
  -webkit-mask:radial-gradient(circle 14px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 14px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat}
.show .pics{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:8px}
.show .pics img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.show .pics img:first-child{grid-row:span 2}
@media (max-width:820px){.show .pics{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.show .pics img:first-child{grid-column:span 2;grid-row:span 1}}
/* four upright step cards (replaces the sideways accordion) */
.steps4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.step{background:var(--ink);color:var(--cream);border-radius:20px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.step .media{aspect-ratio:4/5;overflow:hidden;background:var(--ink2)}
.step .media img,.step .media video{width:100%;height:100%;object-fit:cover;display:block}
.step.pay .media{background:var(--orange);color:var(--ink);display:grid;place-content:center;text-align:center}
.step.pay .media b{font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:clamp(72px,7vw,120px);line-height:.9}
.step.pay .media span{font-weight:800;font-size:var(--s-lead)}
.step .txt{padding:20px 22px 26px;display:grid;gap:8px;align-content:start}
.step .num{font-family:"Anton",Impact,sans-serif;font-size:40px;line-height:1;color:var(--orange)}
.step h3{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(26px,2.4vw,36px);line-height:.95}
.step p{font-size:var(--s-body)}
@media (max-width:980px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps4{grid-template-columns:1fr}.step{grid-template-columns:120px 1fr;grid-template-rows:auto}.step .media{aspect-ratio:auto;height:100%}.step.pay .media b{font-size:44px}}
/* stronger reasons grid */
.reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.reason{background:var(--cream);color:var(--ink);border-radius:20px;padding:26px 24px 28px;display:grid;gap:8px;align-content:start}
.reason b{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(40px,4vw,64px);line-height:.9;color:var(--orange-ink,#C4561A)}
.reason h3{font-weight:800;font-size:var(--s-lead);line-height:1.2}
.reason p{font-size:var(--s-body)}
/* short muted loops */
.loops{display:grid;gap:12px;margin-top:32px}
.loops.two{grid-template-columns:1fr 1fr}
.loops.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.loops video{width:100%;border-radius:18px;object-fit:cover;background:var(--ink2);display:block}
.loops.two video{aspect-ratio:16/9}
.loops.three video{aspect-ratio:9/16;max-height:640px}
.loops.wide3{grid-template-columns:repeat(3,minmax(0,1fr))}
.loops.wide3 video{aspect-ratio:16/9}
/* trophy shelf */
.trophies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.trophies div{background:var(--ink2);border-radius:18px;padding:28px;display:grid;gap:6px}
.trophies b{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(36px,3.6vw,56px);line-height:.9;color:var(--orange)}
.trophies span{font-weight:800;font-size:var(--s-lead)}
.lead-note{font-size:var(--s-lead);margin-top:24px;font-weight:800}
@media (max-width:820px){.reasons,.trophies,.loops.wide3{grid-template-columns:1fr}.loops.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.loops.two{grid-template-columns:1fr}}

/* logo: bigger in the nav, the real logo (cream) in the footer */
.nav .mark img{height:52px !important;width:auto}
.nav .mark{padding:0 20px}
footer .name.logo{font-size:0;line-height:0;margin:0 0 8px}
footer .name.logo img{width:min(100%,1100px);height:auto;display:block}
@media (max-width:820px){.nav .mark img{height:38px !important}}

.groupshot{width:100%;border-radius:24px;margin-bottom:32px;display:block}
.allies-h{margin-top:48px;font-size:var(--s-lead)}
.allies{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.allies li{border:2px solid currentColor;border-radius:999px;padding:8px 16px;font-weight:800}

/* Kids page: recital photo plus two loops (Bryan, 1 Nov) */
.stagewall{display:grid;gap:12px;margin-top:32px;grid-template-columns:1.35fr 1fr}
.stagewall figure{margin:0;position:relative}
.stagewall .big{grid-row:span 2}
.stagewall img,.stagewall video{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block;background:var(--ink2)}
.stagewall video{aspect-ratio:16/9}
.stagewall figcaption{position:absolute;left:12px;bottom:12px;background:var(--paper);color:var(--ink);font-weight:800;font-size:14px;padding:4px 12px;border-radius:999px}
@media (max-width:820px){.stagewall{grid-template-columns:1fr}.stagewall .big{grid-row:auto}.stagewall img{aspect-ratio:3/2;height:auto}}

/* About story: three chapters on the first row, the four shows on the second (Bryan, 1 Nov) */
@media (min-width:821px){
  .timeline.story{grid-template-columns:repeat(12,minmax(0,1fr))}
  .timeline.story .sheet{grid-column:span 4}
  .timeline.story .sheet:nth-child(n+4){grid-column:span 3}
  .timeline.story .sheet:nth-child(n+4) .yr{font-size:clamp(52px,4.6vw,76px)}
  .timeline.story .sheet:nth-child(n+4) .what h3{font-size:clamp(24px,2vw,32px)}
}

/* Photo band: breaks up long pages with crew photos (adults only). 7 Nov 2026. */
.pband{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:0;padding:clamp(20px,4vw,44px) var(--m)}
.pband.two{grid-template-columns:3fr 2fr}
.pband img{display:block;width:100%;height:clamp(220px,30vw,420px);object-fit:cover;border-radius:14px}
@media (max-width:720px){.pband,.pband.two{grid-template-columns:1fr 1fr}.pband img{height:190px}.pband img:first-child{grid-column:1/-1;height:230px}}
