:root {
  --black: #090909;
  --black-soft: #141414;
  --bone: #eeeae2;
  --white: #fff;
  --grey: #a8a49d;
  --line: rgba(238, 234, 226, .24);
  --pink: #6d248f;
  --pink-dark: #542073;
  --bronze: #9c6338;
  --silver: #a5abb1;
  --gold: #d3b32f;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
  --pad: clamp(1.25rem, 4vw, 4.5rem);
  --content: 92rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { margin: 0; overflow-x: hidden; background: var(--black); color: var(--bone); font: 500 1rem/1.58 var(--sans); text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
::selection { background: var(--pink); color: var(--white); }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }

.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .75rem 1rem; background: var(--bone); color: var(--black); font-weight: 800; }
.skip-link:focus { top: 1rem; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; display: grid; grid-template-columns: minmax(13rem, 1fr) auto minmax(8rem, 1fr); align-items: center; gap: 1.5rem; min-height: 5.7rem; padding: .7rem var(--pad); border-bottom: 1px solid rgba(255,255,255,.16); transition: background .2s ease, min-height .2s ease; }
.site-header.is-scrolled, .site-header.menu-active { min-height: 4.75rem; background: rgba(9,9,9,.96); backdrop-filter: blur(12px); }
.brand { display: inline-flex; align-items: center; gap: .8rem; width: max-content; text-decoration: none; }
.brand img { width: 3.9rem; height: 3.9rem; object-fit: contain; flex: 0 0 auto; }
.brand span { display: grid; line-height: 1; }
.brand strong { text-transform: uppercase; font: 900 1rem/1 var(--sans); letter-spacing: .08em; }
.brand small { margin-top: .38rem; color: var(--grey); text-transform: uppercase; font-size: .69rem; font-weight: 800; letter-spacing: .17em; }
.site-header nav { display: flex; align-items: center; gap: clamp(1rem, 2.2vw, 2rem); }
.site-header nav a { display: grid; gap: .1rem; text-decoration: none; text-transform: uppercase; font-size: .74rem; font-weight: 800; letter-spacing: .09em; }
.site-header nav a span { color: var(--grey); font-size: .6rem; transition: color .2s ease; }
.site-header nav a:hover span { color: var(--pink); }
.header-contact { justify-self: end; padding: .8rem 0 .55rem; border-bottom: 2px solid var(--bone); text-decoration: none; text-transform: uppercase; font-size: .74rem; font-weight: 900; letter-spacing: .1em; }
.header-contact:hover { border-color: var(--pink); }
.menu-toggle { display: none; }

.hero { position: relative; min-height: max(49rem, 100svh); display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; background: #1a1715; }
.hero-media, .hero-shade { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 34%; }
.hero-shade { z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.48) 47%, rgba(0,0,0,.08) 78%), linear-gradient(0deg, rgba(0,0,0,.88) 0%, transparent 42%, rgba(0,0,0,.35) 100%); }
.hero-shade::after { content: ""; position: absolute; inset: 0; opacity: .14; pointer-events: none; background-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.18) 3px 4px); }
.hero-copy { position: relative; z-index: 2; width: min(54rem, calc(100% - 2 * var(--pad))); margin: 0 0 10.5rem var(--pad); }
.eyebrow, .section-label { margin: 0 0 1.3rem; text-transform: uppercase; font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.eyebrow { display: flex; align-items: center; gap: .8rem; }
.eyebrow span { width: 2.6rem; height: 2px; background: var(--pink); }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; line-height: .88; }
h1 { font-size: clamp(5rem, 12.5vw, 12.5rem); }
h1 em, h2 em { color: var(--pink); font-weight: 400; }
.hero-deck { max-width: 42rem; margin: 1.8rem 0 0; font-size: clamp(1.04rem, 1.6vw, 1.35rem); line-height: 1.45; }
.hero-actions, .inline-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.25rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: .65rem; padding: .8rem 1.15rem; border: 1px solid var(--bone); text-decoration: none; text-transform: uppercase; font-size: .76rem; font-weight: 900; letter-spacing: .09em; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.button-light { background: var(--bone); color: var(--black); }
.button-light:hover { background: var(--pink); border-color: var(--pink); color: var(--white); }
.button-line:hover { background: var(--bone); color: var(--black); }
.button-pink { border-color: var(--pink); background: var(--pink); color: var(--white); }
.button-pink:hover { background: var(--black); border-color: var(--black); }
.original-mark { position: absolute; z-index: 3; top: 8.5rem; right: var(--pad); width: clamp(10rem, 17vw, 15rem); margin: 0; padding: .5rem; background: rgba(9,9,9,.86); border: 1px solid rgba(255,255,255,.45); transform: rotate(1.3deg); }
.original-mark img { width: 100%; height: auto; object-fit: contain; }
.original-mark figcaption { padding: .55rem .2rem .1rem; text-transform: uppercase; text-align: center; font-size: .6rem; font-weight: 900; letter-spacing: .12em; }
.intake-rail { position: absolute; z-index: 4; inset: auto 0 0; display: grid; grid-template-columns: 1.3fr 1fr .6fr 1.2fr; background: rgba(9,9,9,.96); border-top: 1px solid rgba(255,255,255,.28); }
.intake-rail > * { min-height: 6.8rem; display: flex; flex-direction: column; justify-content: center; padding: 1rem var(--pad); border-right: 1px solid rgba(255,255,255,.2); }
.intake-rail > *:last-child { border-right: 0; }
.intake-rail span { color: var(--grey); text-transform: uppercase; font-size: .62rem; font-weight: 900; letter-spacing: .14em; }
.intake-rail strong { margin-top: .35rem; font-family: var(--serif); font-size: clamp(1rem, 1.55vw, 1.35rem); font-weight: 400; }
.intake-rail > a { align-items: center; flex-direction: row; gap: 1rem; background: var(--pink-dark); text-decoration: none; text-align: center; text-transform: uppercase; font-size: .72rem; font-weight: 900; letter-spacing: .09em; }
.intake-rail > a:hover { background: var(--pink); }

.light-section { background: var(--bone); color: var(--black); }
.section-index { color: var(--grey); text-transform: uppercase; font-size: .65rem; font-weight: 900; letter-spacing: .16em; }
.light-section .section-index { color: #79756f; }
.section-label { color: var(--pink-dark); }
h2 { font-size: clamp(3.6rem, 7.6vw, 8rem); }
.large-copy { max-width: 44rem; margin: 1.8rem 0 0; font-size: clamp(1.08rem, 1.6vw, 1.42rem); line-height: 1.46; }

.manifesto { display: grid; grid-template-columns: .78fr 1.22fr; gap: 2rem clamp(3rem, 7vw, 8rem); padding: clamp(6rem, 10vw, 10rem) var(--pad); }
.manifesto > * { width: 100%; max-width: var(--content); }
.manifesto .section-index { grid-column: 1 / -1; }
.manifesto-copy { align-self: center; }
.documentary-photo { margin: 0; }
.documentary-photo img { width: 100%; height: auto; filter: saturate(.85) contrast(1.04); }
.documentary-photo figcaption { display: flex; justify-content: space-between; gap: 1rem; padding-top: .7rem; border-top: 1px solid var(--black); margin-top: .7rem; text-transform: uppercase; font-size: .64rem; font-weight: 900; letter-spacing: .09em; }
.manifesto-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-top: 1px solid var(--black); }
.manifesto-facts div { padding: 1.5rem 1.5rem 0 0; border-right: 1px solid rgba(9,9,9,.25); }
.manifesto-facts div + div { padding-left: 1.5rem; }
.manifesto-facts div:last-child { border-right: 0; }
.manifesto-facts strong { display: block; font-family: var(--serif); font-size: clamp(1.45rem, 2.6vw, 2.4rem); font-weight: 400; }
.manifesto-facts span { display: block; margin-top: .45rem; color: #5b5751; }

.start-section { display: grid; grid-template-columns: minmax(20rem, .72fr) 1.28fr; min-height: 54rem; background: var(--black); }
.start-photo { position: relative; min-height: 44rem; margin: 0; overflow: hidden; background: var(--black-soft); }
.start-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.start-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.45), transparent 45%); }
.start-photo figcaption { position: absolute; z-index: 1; left: 1.5rem; bottom: 1.5rem; text-transform: uppercase; font-size: .65rem; font-weight: 900; letter-spacing: .14em; }
.start-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(5rem, 9vw, 9rem) var(--pad); }
.start-copy .section-index { margin-bottom: 4rem; }
.start-copy .section-label, .standard-heading .section-label, .pack-heading .section-label, .contact-copy .section-label { color: #d57daf; }
.course-list { margin: 3rem 0 0; border-top: 1px solid var(--line); }
.course-list div { display: grid; grid-template-columns: minmax(7rem, .45fr) 1fr; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.course-list dt { color: var(--grey); text-transform: uppercase; font-size: .64rem; font-weight: 900; letter-spacing: .15em; }
.course-list dd { margin: 0; font-family: var(--serif); font-size: clamp(1.3rem, 2.5vw, 2.1rem); }
.note { max-width: 42rem; margin: 1.3rem 0 0; color: #c6c1ba; }
.text-link { text-underline-offset: .35em; text-decoration-thickness: 1px; text-transform: uppercase; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }

.training-section { padding: clamp(6rem, 10vw, 10rem) var(--pad); }
.training-heading { max-width: var(--content); margin: 0 auto; }
.training-heading .section-index { margin-bottom: 4rem; }
.discipline-switcher { max-width: var(--content); margin: 4.5rem auto 0; display: grid; grid-template-columns: .42fr 1.58fr; border-block: 1px solid var(--black); }
.discipline-tabs { display: flex; flex-direction: column; border-right: 1px solid var(--black); }
.discipline-tabs button { flex: 1; min-height: 9rem; display: grid; grid-template-columns: 2.4rem 1fr; gap: .35rem 1rem; align-content: center; padding: 1.4rem; border: 0; border-bottom: 1px solid rgba(9,9,9,.25); background: transparent; color: var(--black); text-align: left; cursor: pointer; }
.discipline-tabs button:last-child { border-bottom: 0; }
.discipline-tabs button:hover, .discipline-tabs button[aria-selected="true"] { background: var(--black); color: var(--bone); }
.discipline-tabs button span { grid-row: 1 / 3; color: var(--pink); font-size: .65rem; font-weight: 900; letter-spacing: .12em; }
.discipline-tabs button strong { font-family: var(--serif); font-size: clamp(1.45rem, 2.4vw, 2.2rem); font-weight: 400; }
.discipline-tabs button small { color: #77716b; text-transform: uppercase; font-size: .58rem; font-weight: 900; letter-spacing: .11em; }
.discipline-tabs button[aria-selected="true"] small { color: var(--grey); }
.discipline-stage { position: relative; min-height: 36rem; overflow: hidden; background: var(--black); }
.discipline-stage > img { width: 100%; height: 100%; min-height: 36rem; object-fit: cover; object-position: center; filter: saturate(.76) contrast(1.05); transition: opacity .18s ease; }
.discipline-stage.is-changing > img { opacity: .25; }
.discipline-stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.88), transparent 63%); }
.discipline-caption { position: absolute; z-index: 2; inset: auto 2rem 2rem; color: var(--bone); }
.discipline-caption > span { text-transform: uppercase; color: #d57daf; font-size: .64rem; font-weight: 900; letter-spacing: .14em; }
.discipline-caption h3 { max-width: 18ch; margin: .55rem 0 0; font: 400 clamp(2rem, 4.5vw, 4.4rem)/.98 var(--serif); }
.discipline-caption p { max-width: 44rem; margin: 1rem 0 0; }

.standard-section { padding: clamp(6rem, 10vw, 10rem) var(--pad); background: var(--black-soft); }
.standard-heading { max-width: var(--content); margin: 0 auto; display: grid; grid-template-columns: 1.15fr .85fr; gap: 1rem 5rem; align-items: end; }
.standard-heading .section-index, .standard-heading .section-label, .pack-heading .section-index, .pack-heading .section-label { grid-column: 1 / -1; }
.standard-heading .section-index, .pack-heading .section-index { margin-bottom: 3rem; }
.standard-heading > p:last-child, .pack-heading > p:last-child { margin: 0 0 .4rem; color: #c8c3bb; font-size: 1.05rem; }
.level-list { max-width: var(--content); margin: 5rem auto 0; border-top: 1px solid var(--line); }
.level-row { display: grid; grid-template-columns: 7rem 1fr .9fr; gap: 2rem; align-items: center; min-height: 12rem; padding: 1.8rem 0; border-bottom: 1px solid var(--line); }
.level-letter { font: 400 clamp(5rem, 8vw, 8rem)/1 var(--serif); }
.level-row small { text-transform: uppercase; color: var(--grey); font-size: .62rem; font-weight: 900; letter-spacing: .13em; }
.level-row h3 { margin: .45rem 0 0; font: 400 clamp(1.9rem, 3.4vw, 3.4rem)/1 var(--serif); }
.level-row p { max-width: 34rem; margin: 0; color: #beb9b2; }
.level-row.bronze .level-letter { color: var(--bronze); }
.level-row.silver .level-letter { color: var(--silver); }
.level-row.gold .level-letter { color: var(--gold); }

.pack-section { padding: clamp(6rem, 10vw, 10rem) var(--pad); background: var(--black); }
.pack-heading { max-width: var(--content); margin: 0 auto 4.5rem; display: grid; grid-template-columns: 1.2fr .8fr; gap: 1rem 5rem; align-items: end; }
.photo-wall { max-width: var(--content); margin: 0 auto; columns: 3 18rem; column-gap: 1rem; }
.wall-photo { position: relative; display: block; width: 100%; margin: 0 0 1rem; padding: 0; border: 0; break-inside: avoid; background: var(--black-soft); color: var(--white); cursor: zoom-in; overflow: hidden; }
.wall-photo img { width: 100%; height: auto; transition: transform .35s ease, filter .35s ease; }
.wall-photo span { position: absolute; inset: auto .7rem .7rem; width: max-content; max-width: calc(100% - 1.4rem); padding: .38rem .5rem; background: rgba(9,9,9,.86); text-transform: uppercase; text-align: left; font-size: .58rem; font-weight: 900; letter-spacing: .11em; }
.wall-photo:hover img { transform: scale(1.015); filter: contrast(1.06); }

.podcast-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 7vw, 8rem); align-items: center; padding: clamp(6rem, 10vw, 10rem) var(--pad); background: var(--bone); color: var(--black); }
.podcast-art { position: relative; width: 100%; max-width: 41rem; margin: 0; }
.podcast-art img { width: 100%; height: auto; object-fit: contain; }
.podcast-art figcaption { position: absolute; right: -1rem; bottom: 1.5rem; padding: .65rem .8rem; background: var(--black); color: var(--bone); text-transform: uppercase; font-size: .62rem; font-weight: 900; letter-spacing: .1em; transform: rotate(-2deg); }
.podcast-copy { max-width: 49rem; }
.podcast-copy .section-index, .contact-copy .section-index { margin-bottom: 4rem; }
.episode-link { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; margin-top: 2.5rem; padding: 1.2rem 0; border-block: 1px solid var(--black); text-decoration: none; }
.episode-play { display: grid; place-items: center; width: 3.3rem; height: 3.3rem; border-radius: 50%; background: var(--pink); color: var(--white); font-size: .9rem; }
.episode-link > span:nth-child(2) { display: grid; }
.episode-link small { text-transform: uppercase; color: #736f69; font-size: .62rem; font-weight: 900; letter-spacing: .12em; }
.episode-link strong { margin-top: .35rem; font-family: var(--serif); font-size: clamp(1.25rem, 2.3vw, 2rem); font-weight: 400; }
.episode-link b { font-size: 1.5rem; }
.episode-link:hover .episode-play { background: var(--black); }
.platform-links { display: flex; flex-wrap: wrap; gap: .8rem 1.3rem; margin-top: 1.5rem; }
.platform-links a { text-transform: uppercase; text-underline-offset: .35em; font-size: .68rem; font-weight: 900; letter-spacing: .09em; }

.contact-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 7vw, 8rem); align-items: center; padding: clamp(6rem, 10vw, 10rem) var(--pad); border-top: .45rem solid var(--pink-dark); background: var(--black); }
.contact-copy > p:last-child { max-width: 35rem; color: #c5c0b8; font-size: 1.05rem; }
.contact-board { border-top: 1px solid var(--line); }
.contact-board address { padding: 2rem 0; border-bottom: 1px solid var(--line); font-style: normal; }
.contact-board address small { display: block; margin-bottom: 1rem; color: var(--grey); text-transform: uppercase; font-size: .62rem; font-weight: 900; letter-spacing: .15em; }
.contact-board address strong { font: 400 clamp(2rem, 4.5vw, 4.4rem)/1.08 var(--serif); }
.contact-links a { display: grid; grid-template-columns: 7rem 1fr auto; gap: 1rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.contact-links a span { color: var(--grey); text-transform: uppercase; font-size: .62rem; font-weight: 900; letter-spacing: .12em; }
.contact-links a strong { overflow-wrap: anywhere; font-weight: 600; }
.contact-links a b { color: var(--pink); font-size: 1.3rem; }
.contact-links a:hover strong { color: #d57daf; }

footer { display: grid; grid-template-columns: auto 1fr 1fr auto; gap: 2rem; align-items: end; padding: 3rem var(--pad); border-top: 1px solid var(--line); background: #050505; }
.footer-mark img { width: 5.5rem; height: 5.5rem; object-fit: contain; }
footer p { margin: 0; font-family: var(--serif); font-size: 1.25rem; line-height: 1.25; }
.footer-links { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; }
.footer-links a { text-transform: uppercase; font-size: .64rem; font-weight: 900; letter-spacing: .1em; }
footer > small { color: var(--grey); font-size: .65rem; }

.gallery-dialog { width: min(92vw, 72rem); max-height: 92vh; padding: 0; border: 1px solid rgba(255,255,255,.35); background: var(--black); color: var(--bone); box-shadow: 0 2rem 8rem rgba(0,0,0,.7); }
.gallery-dialog::backdrop { background: rgba(0,0,0,.9); backdrop-filter: blur(5px); }
.gallery-dialog img { width: 100%; max-height: 78vh; object-fit: contain; background: #000; }
.gallery-dialog p { margin: 0; padding: .8rem 1rem; text-transform: uppercase; font-size: .64rem; font-weight: 900; letter-spacing: .12em; }
.dialog-close { position: absolute; z-index: 2; top: .7rem; right: .7rem; padding: .6rem .75rem; border: 1px solid rgba(255,255,255,.55); background: rgba(9,9,9,.88); color: var(--white); text-transform: uppercase; font-size: .65rem; font-weight: 900; letter-spacing: .09em; cursor: pointer; }

.reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity .65s ease, transform .65s ease; }
.reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 1020px) {
  .site-header { grid-template-columns: 1fr auto auto; }
  .menu-toggle { position: relative; display: grid; grid-template-columns: 1.5rem auto; align-items: center; gap: 0 .7rem; padding: .5rem; border: 0; background: transparent; color: var(--bone); cursor: pointer; }
  .menu-toggle span { grid-column: 1; display: block; width: 1.5rem; height: 1px; margin: 2px 0; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
  .menu-toggle b { grid-column: 2; grid-row: 1 / 4; text-transform: uppercase; font-size: .65rem; letter-spacing: .1em; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
  .site-header nav { position: fixed; inset: 4.75rem 0 0; display: none; flex-direction: column; align-items: stretch; justify-content: center; gap: 0; padding: 2rem var(--pad); background: rgba(9,9,9,.98); }
  .site-header nav.is-open { display: flex; }
  .site-header nav a { display: flex; align-items: baseline; gap: 1.2rem; padding: .8rem 0; border-bottom: 1px solid var(--line); font: 400 clamp(2.5rem, 8vw, 5rem)/1 var(--serif); text-transform: none; letter-spacing: -.03em; }
  .site-header nav a span { width: 2rem; font: 900 .65rem/1 var(--sans); letter-spacing: .12em; }
  .original-mark { width: 10rem; top: 7rem; }
  .manifesto, .podcast-section, .contact-section { grid-template-columns: 1fr; }
  .documentary-photo { max-width: 54rem; justify-self: end; }
  .standard-heading, .pack-heading { grid-template-columns: 1fr; }
  .standard-heading > p:last-child, .pack-heading > p:last-child { margin-top: 1rem; }
  .level-row { grid-template-columns: 5rem 1fr; }
  .level-row p { grid-column: 2; }
  footer { grid-template-columns: auto 1fr; }
  .footer-links, footer > small { justify-self: end; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 4.7rem; }
  .site-header { min-height: 4.7rem; padding-block: .45rem; }
  .brand img { width: 3.15rem; height: 3.15rem; }
  .brand strong { font-size: .78rem; }
  .brand small { font-size: .56rem; }
  .header-contact { display: none; }
  .site-header { grid-template-columns: 1fr auto; }
  .hero { min-height: 52rem; display: block; padding-top: 4.7rem; }
  .hero-media { position: relative; height: 45vh; min-height: 20rem; }
  .hero-media img { object-position: center 38%; }
  .hero-shade { background: linear-gradient(0deg, var(--black) 1%, transparent 45%, rgba(0,0,0,.32) 100%); }
  .hero-copy { position: absolute; left: var(--pad); right: var(--pad); bottom: 10.3rem; width: auto; margin: 0; }
  h1 { font-size: clamp(4.35rem, 22vw, 7rem); }
  .hero-deck { margin-top: 1rem; font-size: .98rem; }
  .hero-actions { margin-top: 1.25rem; }
  .original-mark { top: 5.6rem; right: .8rem; width: 7.3rem; padding: .28rem; }
  .original-mark figcaption { display: none; }
  .intake-rail { grid-template-columns: 1fr 1fr; }
  .intake-rail > * { min-height: 4.65rem; padding: .7rem var(--pad); }
  .intake-rail > *:nth-child(2) { border-right: 0; }
  .intake-rail > *:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
  .intake-rail > a { padding-inline: .8rem; }
  .intake-rail strong { font-size: .88rem; }
  .manifesto { grid-template-columns: 1fr; padding-top: 5rem; }
  .manifesto .section-index { grid-column: auto; }
  .manifesto-facts { grid-column: auto; grid-template-columns: 1fr; }
  .manifesto-facts div, .manifesto-facts div + div { padding: 1rem 0; border-right: 0; border-bottom: 1px solid rgba(9,9,9,.25); }
  .manifesto-facts div:last-child { border-bottom: 0; }
  h2 { font-size: clamp(3.25rem, 15vw, 5.5rem); }
  .start-section { grid-template-columns: 1fr; }
  .start-photo { min-height: 34rem; }
  .start-copy .section-index, .training-heading .section-index, .standard-heading .section-index, .pack-heading .section-index, .podcast-copy .section-index, .contact-copy .section-index { margin-bottom: 2.5rem; }
  .course-list div { grid-template-columns: 6rem 1fr; }
  .discipline-switcher { grid-template-columns: 1fr; margin-top: 3rem; }
  .discipline-tabs { flex-direction: row; border-right: 0; border-bottom: 1px solid var(--black); overflow-x: auto; }
  .discipline-tabs button { min-width: 11rem; min-height: 7.4rem; border-bottom: 0; border-right: 1px solid rgba(9,9,9,.25); }
  .discipline-stage, .discipline-stage > img { min-height: 30rem; }
  .discipline-caption { inset: auto 1.2rem 1.2rem; }
  .standard-heading, .pack-heading { display: block; }
  .standard-heading .section-label, .pack-heading .section-label { margin-top: 1rem; }
  .level-row { grid-template-columns: 4rem 1fr; gap: 1rem; }
  .level-letter { font-size: 4.5rem; }
  .photo-wall { columns: 2 9rem; column-gap: .65rem; }
  .wall-photo { margin-bottom: .65rem; }
  .podcast-art figcaption { right: -.4rem; bottom: .8rem; }
  .contact-links a { grid-template-columns: 5rem 1fr auto; }
  footer { grid-template-columns: auto 1fr; }
  .footer-links { grid-column: 1 / -1; justify-self: start; }
  footer > small { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 430px) {
  .brand span { display: none; }
  .hero { min-height: 54rem; }
  .hero-copy { bottom: 10.1rem; }
  .hero-actions .button { min-height: 2.9rem; padding: .7rem .8rem; font-size: .66rem; }
  .original-mark { width: 6.5rem; }
  .photo-wall { columns: 1; }
  .contact-links a { grid-template-columns: 1fr auto; }
  .contact-links a span { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* September repairs: preserve the design, make the content readable and robust. */
.site-header, .site-header.is-scrolled, .site-header.menu-active {
  height: 5rem; min-height: 5rem; background: #090909; backdrop-filter: none;
}
.site-header { grid-template-columns: auto 1fr; gap: 2rem; }
.site-header nav { justify-self: end; gap: 1.2rem; }
.site-header nav a, .brand small, .menu-toggle b { font-size: .875rem; letter-spacing: .04em; }
.header-contact { display: none; }
.brand > span:not(.crest-window) { display: grid; }
.crest-window, .brand .crest-window {
  position: relative; display: block; overflow: hidden; width: 3.8rem; height: 3.8rem;
  flex: 0 0 3.8rem; border-radius: 50%; background: white;
}
.crest-window img, .brand .crest-window img, .footer-mark .crest-window img {
  position: absolute; left: 0; top: -63.4697%; width: 100%; height: auto;
  max-width: none; object-fit: initial;
}
.footer-mark .crest-window { width: 5.5rem; height: 5.5rem; }
.hero { display: block; min-height: 0; padding-top: 5rem; }
.course-alert {
  position: relative; z-index: 3; display: flex; flex-wrap: wrap; align-items: center;
  gap: .4rem 1.5rem; padding: .9rem var(--pad); background: var(--bone);
  color: #090909; text-decoration: none; line-height: 1.45;
}
.course-alert strong { font-size: 1rem; }
.course-alert span { font-size: .95rem; }
.course-alert b { margin-left: auto; font-size: .875rem; text-decoration: underline; text-underline-offset: .2em; }
.hero-shade { background: linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.74) 50%,rgba(0,0,0,.15)); }
.hero-shade::after { display: none; }
.hero-copy { margin: 3.5rem 0 3.5rem var(--pad); max-width: 45rem; }
h1 { font-size: clamp(4.5rem, 8vw, 8rem); }
h1 em { color: var(--bone); }
.hero-deck { font-size: 1.125rem; line-height: 1.55; }
.intake-rail { position: relative; inset: auto; grid-template-columns: repeat(4, minmax(0,1fr)); }
.intake-rail > * { min-height: 5.6rem; padding: 1rem 1.5rem; }
.intake-rail span, .course-list dt { font-size: .875rem; letter-spacing: .06em; }
.intake-rail strong { font-family: var(--sans); font-size: 1rem; font-weight: 600; }
.intake-rail > a { font-size: .875rem; letter-spacing: .03em; }
.quick-contact { display: flex; flex-wrap: wrap; gap: .75rem 2rem; padding: 1rem var(--pad); border-bottom: 1px solid var(--line); background: #141414; }
.quick-contact a { font-size: .95rem; text-underline-offset: .25em; }
.eyebrow, .section-label { font-size: .875rem; letter-spacing: .08em; margin-bottom: 1rem; }
.button, .hero-actions .button, .text-link { font-size: .875rem; letter-spacing: .04em; }
.button-pink { background: #5e1b86; border-color: #5e1b86; }
.start-section, .manifesto, .training-section, .standard-section, .pack-section, .contact-section {
  padding: clamp(3rem,5vw,5rem) var(--pad);
}
.start-section { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); min-height: 0; gap: clamp(2rem,4vw,4rem); align-items: center; }
.start-copy { padding: 0; min-width: 0; }
.course-poster { margin: 0; }
.course-poster img { width: 100%; height: auto; }
.course-poster figcaption { margin-top: .75rem; color: #c6c1ba; font-size: .875rem; }
section:not(.podcast-section) h2 { font-size: clamp(2.8rem,5vw,5rem); line-height: 1; }
.start-copy h2 em, .standard-heading h2 em, .pack-heading h2 em, .contact-copy h2 em { color: var(--bone); }
.light-section h2 em { color: #5e1b86; }
.large-copy { font-size: 1.125rem; line-height: 1.6; margin-top: 1.25rem; }
.course-list { margin-top: 1.5rem; }
.course-list div { padding: .7rem 0; }
.course-list dd { font: 600 1.125rem/1.5 var(--sans); }
.coaches-copy { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #bcb7af; }
.coaches-copy h3 { margin: 0; font: 400 1.8rem/1.2 var(--serif); }
.coaches-copy p { margin: .75rem 0 0; }
.manifesto { gap: 2rem 3rem; }
.manifesto-facts { margin-top: 0; }
.documentary-photo figcaption { font-size: .875rem; letter-spacing: .04em; }
.discipline-switcher { display: block; margin-top: 2rem; }
.discipline-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 0; overflow: visible; }
.discipline-tabs button {
  min-width: 0; min-height: 0; display: grid; grid-template-columns: minmax(0,1fr);
  padding: 1.2rem; gap: .5rem; border: 0; border-right: 1px solid #9b968f;
}
.discipline-tabs button:last-child { border-right: 0; }
.discipline-tabs button strong { font-size: 1.7rem; line-height: 1.2; }
.discipline-tabs button small { color: #514c47; font-size: .875rem; letter-spacing: .03em; }
.discipline-tabs button[aria-selected="true"] small { color: #c6c1ba; }
.discipline-stage { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: #141414; }
.discipline-stage > img { height: auto; min-height: 0; width: 100%; filter: none; }
.discipline-stage::after { display: none; }
.discipline-caption { position: static; padding: 2rem; min-width: 0; }
.discipline-caption > span { font-size: .875rem; letter-spacing: .06em; }
.discipline-caption h3 { font-size: clamp(1.8rem,3vw,3rem); line-height: 1.1; }
.level-list { margin-top: 2rem; }
.level-row { min-height: 0; padding: 1.4rem 0; gap: 1.5rem; grid-template-columns: 4rem 1fr 1fr; }
.level-letter { font-size: 4rem; }
.level-row h3 { font-size: clamp(1.5rem,2.5vw,2.4rem); line-height: 1.15; }
.level-row small { font-size: .875rem; letter-spacing: .05em; }
.level-row.bronze .level-letter { color: #d79f75; }
.pack-heading { margin-bottom: 2rem; }
.wall-photo span { font-size: .875rem; letter-spacing: .03em; }
.contact-board address small, .contact-links a span, .footer-links a, footer > small { font-size: .875rem; letter-spacing: .03em; }
.contact-links a b { color: #d57daf; }
.reveal { opacity: 1; transform: none; }
@media (max-width: 1020px) {
  .site-header { grid-template-columns: 1fr auto; gap: .5rem; }
  .site-header nav {
    position: absolute; inset: 100% 0 auto; height: calc(100dvh - 5rem);
    width: 100%; overflow-y: auto; padding: 1rem var(--pad) 2rem;
    justify-content: flex-start; align-items: stretch; gap: 0; background: #090909;
  }
  .site-header nav a { font: 400 1.75rem/1.25 var(--serif); padding: .8rem 0; }
  .menu-toggle { min-height: 44px; }
  .level-row { grid-template-columns: 4rem 1fr; }
  .level-row p { grid-column: 2; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 5rem; }
  .brand strong { font-size: .875rem; letter-spacing: .03em; }
  .brand small { font-size: .75rem; }
  .brand .crest-window { width: 3.4rem; height: 3.4rem; flex-basis: 3.4rem; }
  .hero { min-height: 0; padding-top: 5rem; }
  .course-alert { gap: .3rem; }
  .course-alert strong, .course-alert span { width: 100%; }
  .course-alert b { margin: .2rem 0 0; }
  .hero-media { position: relative; inset: auto; height: clamp(11rem,48vw,20rem); min-height: 0; }
  .hero-media img { object-position: center 35%; }
  .hero-shade { display: none; }
  .hero-copy { position: relative; inset: auto; margin: 0; padding: 1.7rem var(--pad); width: 100%; background: #090909; }
  h1 { font-size: clamp(4rem,19vw,6rem); }
  .eyebrow { font-size: .8rem; letter-spacing: .04em; }
  .hero-deck { font-size: 1rem; }
  .hero-actions { gap: .7rem; }
  .hero-actions .button { flex: 1 1 auto; }
  .intake-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .intake-rail > * { padding: .9rem var(--pad); min-height: 5rem; }
  .intake-rail strong { font-size: 1rem; }
  .quick-contact { gap: .65rem 1rem; }
  .quick-contact a:last-child { flex-basis: 100%; }
  .start-section { grid-template-columns: minmax(0,1fr); }
  .start-copy { grid-row: 1; }
  .course-poster { max-width: 32rem; justify-self: center; }
  .manifesto { grid-template-columns: minmax(0,1fr); }
  section:not(.podcast-section) h2 { font-size: clamp(2.5rem,10vw,4rem); }
  .discipline-tabs button { padding: 1rem .4rem; text-align: center; min-width: 0; }
  .discipline-tabs button strong { font: 700 1rem/1.3 var(--sans); }
  .discipline-tabs button small { display: none; }
  .discipline-stage { display: block; }
  .discipline-stage > img { height: auto; min-height: 0; }
  .discipline-caption { padding: 1.3rem; }
  .discipline-caption h3 { font-size: 2rem; }
  .level-row { gap: .5rem 1rem; }
}
@media (max-width: 360px) {
  .brand { gap: .5rem; }
  .brand strong { font-size: .75rem; }
  .menu-toggle { gap: .4rem; padding-inline: 0; }
}

/* Club hub: lighter surfaces, useful navigation, familiar identity. */
.site-header, .site-header.is-scrolled, .site-header.menu-active {
  inset: 0 0 auto; height: 5.2rem; min-height: 5.2rem;
  padding: .55rem var(--pad); border: 0; border-bottom: 1px solid #ded8e3;
  border-radius: 0; background: #ffffff; color: #24192c;
  box-shadow: none;
}
.site-header::before {
  display: none;
}
.brand small { color: #62596b; }
.site-header nav { gap: .25rem; }
.site-header nav a { padding: .7rem .8rem; border-radius: .6rem; text-transform: none; letter-spacing: 0; }
.site-header nav a:hover { background: #f0ebf4; }
.site-header nav .nav-class-link { margin-left: .6rem; background: #5e1b86; color: #fff; }
.hero {
  display: grid; grid-template-columns: 1fr 1fr; padding: 7rem var(--pad) 0;
  background: #f5f4f6; color: #24192c; gap: 0 2rem;
}
.course-alert { grid-column: 1/-1; grid-row: 1; padding: .8rem 1.1rem; border-radius: .7rem; background: #f3df8c; color: #30280e; }
.hero-media { position: relative; inset: auto; grid-column: 2; grid-row: 2; margin: 1.8rem 0; min-height: 23rem; border-radius: 1.2rem; overflow: hidden; }
.hero-media img { object-position: center; }
.hero-shade { display: none; }
.hero-copy { position: relative; inset: auto; grid-column: 1; grid-row: 2; width: 100%; margin: 2.5rem 0; align-self: center; max-width: 39rem; }
.hero h1 { font-family: var(--sans); font-size: clamp(3.8rem,6.6vw,6.5rem); font-weight: 900; line-height: .98; letter-spacing: -.065em; }
.hero h1 em { font-style: normal; color: #5e1b86; }
.hero .eyebrow { letter-spacing: .07em; }
.hero-deck { max-width: 33rem; color: #62596b; }
.hero .button-light { background: #5e1b86; border-color: #5e1b86; color: #fff; }
.hero .button-line { border-color: #867391; color: #5e1b86; }
.hero .button-line:hover { background: #fff; }
.button { border-radius: .6rem; }
.intake-rail { grid-column: 1/-1; background: #ffffff; border: 1px solid #ded8e3; border-radius: .8rem .8rem 0 0; overflow: hidden; }
.intake-rail > * { border-color: #ded8e3; padding: .8rem 1.2rem; min-height: 5rem; }
.intake-rail span { color: #62596b; font-size: .875rem; }
.intake-rail strong { font-size: 1.15rem; }
.intake-rail > a { background: #5e1b86; color: #fff; text-transform: none; }
.intake-rail > a:hover { background: #4a146d; }
.quick-contact { padding-inline: var(--pad); background: #f5f4f6; color: #62596b; border-bottom: 1px solid #ded8e3; }
.class-hub { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem,5vw,5rem); padding: 4rem var(--pad); color: #24192c; background: #f5f4f6; }
.class-intro { align-self: center; }
.class-hub h2, .coaches-section h2 { font-family: var(--sans); font-weight: 800; letter-spacing: -.045em; }
section.class-hub h2 { font-size: clamp(2.5rem,4vw,4rem); line-height: 1.04; }
.class-intro > p:not(.section-label) { color: #62596b; max-width: 35rem; margin: 1.2rem 0; }
.dropin-price { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; }
.dropin-price strong { font: 800 3rem/1 var(--sans); letter-spacing: -.04em; }
.dropin-price span { font-size: .95rem; line-height: 1.5; }
.class-card { align-self: start; padding: .65rem; border: 1px solid #ded8e3; border-radius: 1.15rem; background: #fff; box-shadow: 0 12px 35px rgba(36,65,88,.07); }
.class-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .3rem; padding: .3rem; border-radius: .75rem; background: #f5f4f6; }
.class-tabs button { border: 0; border-radius: .55rem; padding: .8rem .4rem; background: transparent; color: #62596b; font: 700 .95rem/1.3 var(--sans); cursor: pointer; }
.class-tabs button[aria-selected="true"] { background: #5e1b86; color: #fff; box-shadow: 0 2px 6px rgba(94,27,134,.12); }
.class-panel { padding: 1.1rem 1rem 1.25rem; }
.class-panel[hidden] { display: none; }
.panel-label { color: #62596b; font-size: .875rem; margin: 0 0 1rem; }
.session-row { display: grid; grid-template-columns: 1fr auto auto; gap: 1.4rem; align-items: center; padding: 1rem 0; border-top: 1px solid #ded8e3; }
.session-row h3 { margin: 0; font: 700 1.15rem/1.3 var(--sans); }
.session-row span { color: #62596b; font-size: .875rem; }
.session-row > strong { font-size: 1rem; white-space: nowrap; }
.session-row a { padding: .55rem .7rem; color: #5e1b86; background: #f5f4f6; border-radius: .45rem; font-size: .875rem; font-weight: 700; text-decoration: none; }
.session-row a:hover { background: #eee8f2; }
.class-footnote { border-top: 1px solid #ded8e3; padding-top: 1rem; color: #62596b; font-size: .875rem; line-height: 1.6; }
.call-alternative { display: inline-block; margin-top: .2rem; font-size: .95rem; text-underline-offset: .2em; }
.class-panel > h3 { font: 750 1.8rem/1.2 var(--sans); letter-spacing: -.03em; margin: 1rem 0; }
.class-panel > p:not(.panel-label):not(.class-footnote) { color: #62596b; }
.class-panel .button { margin-top: .5rem; }
.start-section { background: #24192c; }
.manifesto { background: #f5f4f6; }
.coaches-section { padding: 3.5rem var(--pad); background: #f5f4f6; color: #24192c; }
.coaches-heading { max-width: 45rem; margin-bottom: 2rem; }
.coaches-heading > p:last-child { color: #62596b; }
.coach-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.coach-card { padding: 1.5rem; border: 1px solid #ded8e3; border-radius: 1rem; background: #ffffff; }
.coach-role { margin: 0 0 .85rem; color: #765016; font-size: .875rem; font-weight: 700; }
.coach-card h3 { font: 750 1.65rem/1.15 var(--sans); letter-spacing: -.03em; margin: 0; }
.coach-card > p:last-of-type { color: #62596b; line-height: 1.65; }
.coach-card a { font-size: .95rem; text-underline-offset: .25em; }
.coach-invitation { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-top: 2rem; }
.coach-invitation h3 { margin: 0 0 .4rem; font: 700 1.15rem/1.3 var(--sans); }
.coach-invitation p { margin: 0; color: #62596b; }
.coach-invitation .button { flex: 0 0 auto; border-color: #c6b9d0; text-transform: none; }
.coach-invitation .button:hover { background: #fff; }
.community-stories { overflow: hidden; background: #24192c; color: #fff; }
.community-slider { position: relative; overflow: hidden; }
.community-slider:focus-visible { outline: 3px solid #d8b7ec; outline-offset: -3px; }
.community-track { display: flex; width: 100%; transition: transform .4s ease; }
.community-story { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(19rem,.85fr); flex: 0 0 100%; width: 100%; gap: clamp(2rem,5vw,4.5rem); align-items: center; padding: 3.5rem var(--pad); background: #24192c; color: #fff; }
.community-story figure { margin: 0; overflow: hidden; border-radius: 1rem; }
.community-story img { width: 100%; height: clamp(20rem,33vw,29rem); object-fit: cover; object-position: center 42%; }
.community-story-copy { max-width: 32rem; }
.community-story .section-label { margin-bottom: .9rem; color: #d8b7ec; }
.community-story h2 { margin: 0; font: 800 clamp(2.2rem,4vw,3.8rem)/1.04 var(--sans); letter-spacing: -.05em; }
.community-story-copy > p:not(.section-label) { margin: 1.2rem 0 0; color: #e5dfe8; font-size: 1rem; line-height: 1.7; }
.community-story-link { margin-top: 1.5rem; border-color: #b578d8; background: #7925a8; color: #fff; text-transform: none; letter-spacing: 0; }
.community-story-link:hover { background: #8d32bd; }
.community-slider-controls { position: absolute; z-index: 2; right: var(--pad); bottom: 1.25rem; display: flex; align-items: center; gap: .5rem; padding: .35rem; border: 1px solid rgba(255,255,255,.25); border-radius: .7rem; background: rgba(15,10,20,.82); backdrop-filter: blur(10px); }
.community-slider-controls[hidden] { display: none; }
.community-slider-controls > span { padding: 0 .55rem; color: #e5dfe8; font-size: .8rem; font-variant-numeric: tabular-nums; }
.community-slider-controls button { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; padding: 0; border: 0; border-radius: .5rem; background: rgba(255,255,255,.1); color: #fff; font: 700 1.1rem/1 var(--sans); cursor: pointer; }
.community-slider-controls button:hover { background: #7925a8; }
.training-section { background: #f5f4f6; }
.standard-section { background: #24192c; }
@media (max-width: 1100px) {
  .site-header nav a { padding-inline: .55rem; }
  .hero { gap: 0 1.4rem; }
}
@media (max-width: 1020px) {
  .site-header, .site-header.is-scrolled, .site-header.menu-active { inset: 0 0 auto; height: 5rem; min-height: 5rem; border-radius: 0; }
  .site-header nav { background: #ffffff; color: #24192c; border-top: 1px solid #ded8e3; padding: 1rem var(--pad) 2rem; }
  .site-header nav a { padding: .8rem 0; font-family: var(--sans); font-size: 1.4rem; font-weight: 700; border-color: #ded8e3; border-radius: 0; }
  .site-header nav .nav-class-link { margin: 1rem 0 0; padding: 1rem; border-radius: .6rem; }
  .menu-toggle { color: #5e1b86; }
  .hero { padding-top: 6rem; }
  .class-hub { grid-template-columns: 1fr; gap: 2rem; }
  .coach-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .hero { grid-template-columns: minmax(0,1fr); padding: 5.8rem var(--pad) 0; gap: 0; }
  .course-alert { padding: .8rem 1rem; }
  .course-alert b { margin-top: .2rem; }
  .hero-copy { grid-column: 1; grid-row: 2; margin: 1.8rem 0; padding: 0; background: transparent; }
  .hero h1 { font-size: clamp(3.5rem,14.5vw,5.5rem); }
  .hero .eyebrow { font-size: .8rem; }
  .hero-media { grid-column: 1; grid-row: 3; height: auto; min-height: 0; margin: 0 0 1.5rem; }
  .hero-media img { height: auto; }
  .intake-rail { grid-row: 4; grid-template-columns: repeat(3,minmax(0,1fr)); border-radius: .8rem; }
  .intake-rail > * { padding: .75rem .5rem; min-height: 4.5rem; border-bottom: 0 !important; text-align: center; }
  .intake-rail > div:nth-child(2) { border-right: 1px solid #ded8e3; }
  .intake-rail > div:nth-child(3) { border-right: 0; }
  .intake-rail strong { font-size: 1rem; }
  .intake-rail span { font-size: .875rem; letter-spacing: 0; text-transform: none; }
  .intake-rail > a { grid-column: 1/-1; min-height: 3.5rem; font-size: .95rem; }
  .quick-contact { padding-top: 1.2rem; }
  .class-hub { padding-block: 2.5rem; }
  .class-card { padding: .5rem; }
  .class-panel { padding-inline: .5rem; }
  .class-tabs button { font-size: .875rem; }
  .session-row { gap: .5rem; }
  .session-row h3 { font-size: 1rem; }
  .session-row a { padding-inline: .55rem; }
  .coach-invitation { display: block; }
  .coach-invitation .button { margin-top: 1rem; }
  .community-story { grid-template-columns: 1fr; padding-block: 2rem; gap: 1.5rem; }
  .community-story img { height: auto; aspect-ratio: 1.45; }
  .community-slider-controls { right: var(--pad); bottom: .75rem; }
}

/* Simplified course poster and a verified Google reviews snapshot. */
.hero { padding-top: 6rem; }
.hero-copy, .hero-media { grid-row: 1; }
.intake-rail { grid-row: 2; }
.quick-contact a, .call-alternative { overflow-wrap: anywhere; }
.beginner-email { display: inline-block; margin: 1rem 0 0 1rem; }
.start-section { display: flex; flex-direction: column; gap: 1.5rem; padding-block: 2.5rem; }
section.start-section h2 { font: 700 1.6rem/1.25 var(--sans); letter-spacing: -.025em; text-align: center; }
.start-section .course-poster { width: min(100%,38rem); max-width: 38rem; }
.start-section .inline-actions { margin: 0; justify-content: center; }
.reviews-section { padding: 2.5rem var(--pad); background: #f5f4f6; color: #24192c; }
.google-reviews-widget { max-width: var(--content); margin: 0 auto; display: grid; grid-template-columns: .8fr 1.8fr; gap: 1.5rem 2rem; align-items: center; }
.review-source { margin: 0 0 .75rem; color: #62596b; font-size: .95rem; font-weight: 700; }
section.reviews-section h2 { font: 750 clamp(1.6rem,2.5vw,2.2rem)/1.15 var(--sans); letter-spacing: -.035em; }
.review-rating { display: flex; align-items: center; gap: 1rem; margin: 1.2rem 0; }
.review-rating > strong { font-size: 3rem; line-height: 1; letter-spacing: -.05em; }
.review-rating > strong > span { font-size: 1.1rem; font-weight: 500; color: #62596b; letter-spacing: 0; }
.review-rating p { font-size: .875rem; margin: .25rem 0 0; color: #62596b; }
.review-stars { display: block; color: #a66b00; font-size: 1.1rem; letter-spacing: .1em; line-height: 1.25; }
.partial-star { background: linear-gradient(90deg,#a66b00 90%,#ded8e3 90%); color: transparent; background-clip: text; -webkit-background-clip: text; }
.reviews-google-link { background: #fff; border-color: #c6b9d0; text-transform: none; font-size: .875rem; letter-spacing: 0; }
.reviews-google-link:hover { background: #f5f4f6; }
.review-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; min-width: 0; }
.review-card { min-width: 0; padding: 1.15rem; align-self: stretch; border: 1px solid #ded8e3; border-radius: .7rem; background: #fff; }
.review-author { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.2rem; }
.review-initials { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; flex: 0 0 2.3rem; border-radius: 50%; background: #eee8f2; color: #62596b; font-size: .8rem; font-weight: 700; }
.review-author h3 { margin: 0; font: 700 .95rem/1.35 var(--sans); }
.review-author p { margin: .15rem 0 0; font-size: .8rem; color: #62596b; }
.review-card blockquote { margin: .9rem 0 0; font-size: 1rem; line-height: 1.6; }
.reviews-date { grid-column: 1/-1; margin: 0; color: #62596b; font-size: .8rem; }
@media (max-width: 1100px) {
  .google-reviews-widget { grid-template-columns: 1fr; }
  .reviews-overview { max-width: 35rem; }
}
@media (max-width: 760px) {
  .hero-copy { grid-row: 1; }
  .hero-media { grid-row: 2; }
  .intake-rail { grid-row: 3; }
  .hero { padding-top: 5.2rem; }
  .review-cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; padding-bottom: .5rem; }
  .review-card { flex: 0 0 min(85%,20rem); scroll-snap-align: start; }
  .beginner-email { margin-left: 0; display: block; }
}

/* Mobile-first order: classes, social proof and people before the deeper reading. */
body { background: #fff; }
.club-entry { display: block; padding-top: 5.2rem; color: #24192c; }
.club-entry .hero { display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; min-height: clamp(35rem,72svh,46rem); background: #17121b; color: #fff; padding: clamp(3rem,6vw,6rem) var(--pad); gap: 0; overflow: hidden; }
.club-entry .hero-copy { margin: 0; padding: 0; position: relative; inset: auto; width: min(100%,43rem); max-width: none; align-self: flex-start; z-index: 2; }
.club-entry .hero h1 { margin: 0; font-size: clamp(3.4rem,6.5vw,6rem); line-height: 1.02; letter-spacing: -.055em; text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.club-entry .hero h1 em { color: #fff; font-weight: inherit; }
.club-entry .hero .eyebrow { color: #fff; font-size: .875rem; margin-bottom: 1rem; }
.club-entry .hero .eyebrow span { background: #c187ec; }
.club-entry .hero-deck { margin: 1.1rem 0 0; max-width: 35rem; color: #fff; font-size: 1.05rem; line-height: 1.6; }
.club-entry .hero-actions { margin-top: 1.3rem; gap: .7rem; }
.hero-course-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: .6rem; color: #fff; font-size: .95rem; font-weight: 600; text-underline-offset: .25em; }
.club-entry .hero-media { display: block; position: absolute; inset: 0; margin: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; border-radius: 0; z-index: 0; }
.club-entry .hero-media picture { display: block; width: 100%; height: 100%; }
.club-entry .hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.club-entry .hero-shade { display: block; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,rgba(15,10,20,.82),rgba(15,10,20,.58) 48%,rgba(15,10,20,.12)),linear-gradient(0deg,rgba(15,10,20,.87),transparent 85%); }
.club-entry .hero .button { min-height: 50px; font-size: .95rem; text-transform: none; letter-spacing: 0; padding: .85rem 1.2rem; }
.club-entry .hero .button-light { background: #7925a8; border-color: #7925a8; color: #fff; }
.club-entry .hero .button-light:hover { background: #642089; border-color: #642089; }
.club-entry .hero .button-line { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.65); color: #fff; backdrop-filter: blur(8px); }
.club-entry .hero .button-line:hover { background: rgba(255,255,255,.2); }
.hero-socials { position: absolute; z-index: 3; top: 1.25rem; right: var(--pad); display: flex; gap: .6rem; }
.hero-socials a { display: grid; place-items: center; width: 44px; height: 44px; color: #fff; background: rgba(15,10,20,.58); border: 1px solid rgba(255,255,255,.5); border-radius: .7rem; backdrop-filter: blur(10px); transition: background .2s ease,transform .2s ease; }
.hero-socials a:hover { background: #5e1b86; transform: translateY(-2px); }
.hero-socials svg, .contact-icon svg { width: 22px; height: 22px; display: block; }
.hero-socials a:focus-visible, .hero-actions a:focus-visible, .hero-course-link:focus-visible { outline-color: #fff; }
.contact-icon { display: grid; place-items: center; width: 44px; height: 44px; color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: .7rem; background: rgba(255,255,255,.06); }
.contact-links a { grid-template-columns: 44px minmax(0,1fr) auto; gap: .9rem; }
.contact-links a span { grid-column: auto; }
.contact-links a .contact-icon { color: #fff; }
.contact-links a:hover .contact-icon { background: #5e1b86; border-color: #9f62c2; }
.club-entry .class-hub { display: block; max-width: 66rem; margin: 0 auto; padding: 2.5rem var(--pad); background: #fff; min-width: 0; }
.class-intro { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem 1rem; align-items: center; }
section.class-hub h2 { font-size: 1.65rem; line-height: 1.2; }
.dropin-payment { display: flex; align-items: center; gap: .75rem; padding: .6rem; border: 1px solid #ded8e3; border-radius: .75rem; background: #f8f6f9; }
.class-intro .dropin-price { margin: 0; gap: .55rem; }
.class-intro .dropin-price strong { font-size: 1.75rem; color: #5e1b86; }
.class-intro .dropin-price span { display: grid; gap: .05rem; font-size: .9rem; line-height: 1.2; white-space: nowrap; }
.class-intro .dropin-price b { font-size: .95rem; }
.class-intro .dropin-price small { color: #62596b; font-size: .75rem; }
.class-intro > .text-link { grid-column: 1/-1; text-transform: none; font-weight: 500; letter-spacing: 0; font-size: .95rem; color: #62596b; }
.class-card { margin-top: 1rem; box-shadow: 0 6px 24px rgba(55,22,71,.06); }
.class-tabs { background: #f5f4f6; }
.class-tabs button[aria-selected="true"] { background: #5e1b86; }
.class-panel .start-section { color: #24192c; background: #fff; padding: .5rem 0 0; gap: 1rem; }
.class-panel .start-section h2 { font-size: 1.15rem; color: #24192c; }
.class-panel .course-poster figcaption { color: #62596b; }
.class-panel .start-section .text-link { color: #5e1b86; }
.class-panel .start-section .inline-actions { gap: 1rem; }
.beginner-signup-open, .signup-submit { font-family: inherit; cursor: pointer; }
.beginner-signup-form { width: min(100%,38rem); padding: 1.25rem; border: 1px solid #ded8e3; border-radius: .8rem; background: #f8f6f9; color: #24192c; }
.beginner-signup-form[hidden] { display: none; }
.signup-form-heading h3 { margin: 0; font: 750 1.35rem/1.25 var(--sans); letter-spacing: -.025em; }
.signup-form-heading p { margin: .35rem 0 0; color: #62596b; font-size: .95rem; }
.signup-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1.2rem; }
.signup-fields label:first-child { grid-column: 1/-1; }
.signup-fields label { display: grid; gap: .4rem; font-size: .875rem; font-weight: 700; }
.signup-fields input { width: 100%; min-height: 3rem; padding: .7rem .8rem; border: 1px solid #c6b9d0; border-radius: .5rem; background: #fff; color: #24192c; font: inherit; }
.signup-fields input:focus { border-color: #5e1b86; outline: 3px solid rgba(94,27,134,.16); }
.signup-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.signup-privacy { margin: 1rem 0 .8rem; color: #62596b; font-size: .8rem; line-height: 1.5; }
.signup-submit { min-height: 3rem; margin: 0 !important; }
.signup-submit:disabled { opacity: .65; cursor: wait; }
.signup-status { min-height: 1.5em; margin: .8rem 0 0; color: #62596b; font-size: .9rem; font-weight: 650; }
.signup-status.is-success { color: #35683d; }
.signup-status.is-error { color: #9b2c2c; }
@media (max-width: 760px) {
  .signup-fields { grid-template-columns: 1fr; }
  .signup-fields label:first-child { grid-column: auto; }
  .beginner-signup-form { padding: 1rem; }
}
.site-header, .site-header.is-scrolled, .site-header.menu-active { background: #fff; color: #5e1b86; border-color: #ded8e3; }
.site-header .brand .modern-crest { display: block; width: 4rem; height: 3.9724rem; flex: 0 0 4rem; border-radius: 50% 50% 35% 35%; background: #fff url('./assets/september-intro-course.jpg') 55.1364% 0 / 529.6552% auto no-repeat; }
.site-header nav .nav-class-link { background: #5e1b86; color: #fff; }
.site-header nav .nav-class-link:hover { background: #4a146d; }
.brand strong { letter-spacing: .025em; }
.menu-toggle { color: #5e1b86; }
.reviews-section { background: #fff; padding-block: 2rem; border-block: 1px solid #e8e3ec; }
.coaches-section { background: #f5f4f6; padding-block: 3rem; }
.coach-card { background: #fff; }
.coach-role { color: #5e1b86; }
.podcast-section { background: #fff; padding-block: 3.5rem; }
.podcast-copy h2 { font: 800 clamp(2rem,4vw,3.5rem)/1.12 var(--sans); letter-spacing: -.045em; }
.podcast-copy h2 em { font-style: normal; font-weight: 800; color: #5e1b86; }
.podcast-art { overflow: hidden; border-radius: 1rem; }
.podcast-art figcaption { position: static; margin: 0; padding: .8rem 1rem; transform: none; font-size: .875rem; letter-spacing: .03em; }
.review-cards { scrollbar-width: thin; scrollbar-color: #c6b9d0 transparent; }
.review-cards::-webkit-scrollbar { height: 4px; }
.review-cards::-webkit-scrollbar-thumb { background: #c6b9d0; border-radius: 4px; }
.coach-card { border-top: 3px solid #5e1b86; }
.coaches-heading h2 { font-size: clamp(2rem,4vw,3.5rem); line-height: 1.12; }
.club-details { padding: 2.5rem var(--pad); background: #f5f4f6; color: #24192c; }
.club-details-heading { margin-bottom: 1.5rem; }
section.club-details h2 { font: 750 2rem/1.2 var(--sans); letter-spacing: -.04em; }
.club-disclosure { border: 1px solid #ded8e3; background: #fff; border-radius: .7rem; margin-bottom: .8rem; overflow: hidden; }
.club-disclosure > summary { position: relative; display: grid; gap: .3rem; padding: 1.2rem 3.5rem 1.2rem 1.3rem; cursor: pointer; list-style: none; }
.club-disclosure > summary::-webkit-details-marker { display: none; }
.club-disclosure > summary::after { content: "+"; position: absolute; right: 1.3rem; top: 1.2rem; color: #5e1b86; font-size: 1.5rem; line-height: 1; }
.club-disclosure[open] > summary::after { content: "−"; }
.club-disclosure > summary > span { font-size: 1.15rem; font-weight: 700; }
.club-disclosure > summary > small { color: #62596b; font-size: .875rem; }
.club-disclosure[open] > summary { border-bottom: 1px solid #ded8e3; background: #fbf9fc; }
.club-disclosure > section { padding: 1.5rem; margin: 0; }
.club-disclosure .manifesto { background: #fff; }
.club-disclosure .standard-section { background: #24192c; }
.club-disclosure .training-section { background: #fff; }
.club-disclosure section h2 { font-size: 1.75rem; line-height: 1.15; }
.club-disclosure .large-copy { font-size: 1rem; }
.club-disclosure .documentary-photo { max-width: 28rem; }
.club-disclosure .manifesto-facts { margin-top: 0; }
.club-disclosure .level-list { margin-top: 1.5rem; }
.pack-section { background: #fff; color: #24192c; padding-block: 2.5rem; }
.pack-heading h2 em { color: #5e1b86; }
.pack-heading > p:last-child { color: #62596b; }
.pack-heading .section-label { color: #5e1b86; }
.contact-section { background: #24192c; border-top-color: #5e1b86; padding-block: 3rem; }
footer { background: #1b1321; }
@media (max-width: 1020px) {
  .club-entry { padding-top: 5rem; }
  .site-header nav { background: #fff; color: #5e1b86; }
  .site-header .brand .modern-crest { width: 3.6rem; height: 3.5752rem; flex-basis: 3.6rem; }
}
@media (max-width: 760px) {
  .club-entry .hero { min-height: 35rem; min-height: clamp(35rem,78svh,40rem); padding: 5rem var(--pad) 2rem; justify-content: flex-end; background: #17121b; }
  .club-entry .hero-media { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
  .club-entry .hero-media img { object-fit: cover; object-position: center 52%; }
  .club-entry .hero-copy { width: 100%; padding: 0; background: transparent; }
  .club-entry .hero-shade { display: block; background: linear-gradient(0deg,rgba(15,10,20,.92) 0%,rgba(15,10,20,.62) 43%,rgba(15,10,20,.08) 76%); }
  .club-entry .hero-socials { top: 1rem; }
  .club-entry .hero h1 { white-space: nowrap; font-size: clamp(2.2rem,11vw,3.35rem); }
  .club-entry .hero .eyebrow { margin-bottom: .7rem; font-size: .875rem; }
  .club-entry .hero-deck { margin-top: .65rem; font-size: .95rem; line-height: 1.45; }
  .club-entry .hero-actions { display: flex; flex-wrap: nowrap; margin-top: .8rem; }
  .club-entry .hero-actions .button { padding: .85rem .6rem; font-size: .875rem; text-align: center; }
  .club-entry .class-hub { padding-block: 1.8rem; }
  .hero-course-link { margin-top: .25rem; font-size: .875rem; }
  section.class-hub h2 { font-size: 1.45rem; }
  .class-intro { grid-template-columns: 1fr; gap: .7rem; }
  .dropin-payment { width: fit-content; }
  .class-intro > .text-link { grid-column: auto; }
  .class-panel { padding-top: 1rem; }
  .session-row { padding-block: .8rem; }
  .class-footnote { margin-bottom: .65rem; }
  .reviews-section, .coaches-section, .club-details, .pack-section { padding-block: 2rem; }
  .coaches-heading { margin-bottom: 1.25rem; }
  .coach-card { padding: 1.25rem; }
  .podcast-section { padding-block: 2.5rem; gap: 1.5rem; }
  .podcast-art { width: min(100%,22rem); }
  .club-disclosure > section { padding: 1.2rem; }
  .club-disclosure .manifesto { gap: 1.5rem; }
  .club-disclosure .level-row { grid-template-columns: 2.8rem 1fr; }
  .club-disclosure .level-letter { font-size: 3rem; }
}
