@font-face { font-family: "Saira Extra Condensed"; font-weight: 600; font-style: normal; font-display: swap; src: url("/assets/saira-xc-600.woff2") format("woff2"); }
@font-face { font-family: "Saira Extra Condensed"; font-weight: 800; font-style: normal; font-display: swap; src: url("/assets/saira-xc-800.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 400; font-style: normal; font-display: swap; src: url("/assets/barlow-400.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 500; font-style: normal; font-display: swap; src: url("/assets/barlow-500.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 600; font-style: normal; font-display: swap; src: url("/assets/barlow-600.woff2") format("woff2"); }

:root {
  --ground: #090b0e;
  --steel: #12151a;
  --steel-2: #1b1f26;
  --ink: #f4f0e6;
  --muted: #b4b1a8;
  --line: rgba(244, 240, 230, .14);
  --accent: #ffc414;
  --accent-hot: #ffdc55;
  --accent-deep: #d99a00;
  --accent-ink: #0b0c0e;
  --mat: #1f5fd0;
  --display: "Saira Extra Condensed", "Arial Narrow", "Haettenschweiler", Impact, sans-serif;
  --text: "Barlow", "Helvetica Neue", Arial, sans-serif;
  --gutter: clamp(20px, 5vw, 72px);
  --wrap: 1240px;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --popup-bg: #14171c;
  --popup-ink: #f4f0e6;
  --popup-accent: #ffc414;
  --popup-accent-ink: #0b0c0e;
  --popup-soft: rgba(244, 240, 230, .09);
  --popup-line: rgba(244, 240, 230, .22);
  --popup-field: #0c0e11;
  --popup-error: #ff8f7a;
  --popup-radius: 14px;
  --popup-backdrop: rgba(4, 5, 7, .74);
  --members-link-ink: #f4f0e6;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: var(--ground); color: var(--ink); font-family: var(--text); font-size: 18px; line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
::selection { background: var(--accent); color: var(--accent-ink); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3, .display { font-family: var(--display); font-weight: 800; text-transform: uppercase; line-height: .9; letter-spacing: -.005em; }
.wrap { width: min(var(--wrap), 100% - var(--gutter) * 2); margin-inline: auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 12px; font-family: var(--display); font-weight: 600; font-size: 22px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.eyebrow::before { content: ""; width: 34px; height: 3px; background: currentColor; }
.lede { font-size: clamp(18px, 1.5vw, 21px); color: var(--muted); max-width: 46ch; }
.h-xl { font-size: clamp(56px, 8.4vw, 132px); }
.h-lg { font-size: clamp(48px, 6.2vw, 96px); }
.grain { position: relative; }
.grain::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .11; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"); z-index: 3; }

.btn { position: relative; display: inline-flex; align-items: stretch; min-height: 62px; padding: 0; border: 0; border-radius: 7px; background: linear-gradient(180deg, var(--accent-hot) 0%, var(--accent) 46%, var(--accent-deep) 100%); color: var(--accent-ink); font-family: var(--display); font-weight: 800; font-size: 27px; line-height: 1; letter-spacing: .035em; text-transform: uppercase; text-decoration: none; cursor: pointer; box-shadow: inset 0 0 0 2px rgba(11, 12, 14, .9), inset 0 0 0 4px rgba(255, 236, 160, .55), 5px 5px 0 #000, 0 14px 44px -8px rgba(255, 196, 20, .55); transition: transform .18s var(--ease), box-shadow .18s var(--ease); -webkit-tap-highlight-color: transparent; }
.btn__label { display: flex; align-items: center; padding: 4px 22px 0 26px; white-space: nowrap; }
.btn__go { position: relative; display: grid; place-items: center; width: 62px; margin: 6px 6px 6px 0; border-radius: 3px; background: var(--accent-ink) repeating-linear-gradient(-45deg, transparent 0 9px, rgba(255, 196, 20, .2) 9px 18px); background-size: 200% 100%; color: var(--accent); overflow: hidden; }
.btn__go svg { width: 26px; height: 26px; transition: transform .28s var(--ease); }
.btn:active { transform: translate(4px, 4px); box-shadow: inset 0 0 0 2px rgba(11, 12, 14, .9), inset 0 0 0 4px rgba(255, 236, 160, .55), 1px 1px 0 #000, 0 6px 22px -8px rgba(255, 196, 20, .5); }
.btn:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
@keyframes btn-stripes { to { background-position: -51px 0; } }
@media (hover: hover) and (pointer: fine) {
  .btn:hover { transform: translate(-2px, -2px); box-shadow: inset 0 0 0 2px rgba(11, 12, 14, .9), inset 0 0 0 4px rgba(255, 236, 160, .8), 8px 8px 0 #000, 0 18px 56px -6px rgba(255, 196, 20, .75); }
  .btn:hover .btn__go { animation: btn-stripes .7s linear infinite; }
  .btn:hover .btn__go svg { transform: translateX(5px); }
  .btn:hover:active { transform: translate(4px, 4px); }
}
.btn--sm { min-height: 48px; font-size: 22px; box-shadow: inset 0 0 0 2px rgba(11, 12, 14, .9), inset 0 0 0 3px rgba(255, 236, 160, .5), 3px 3px 0 #000, 0 8px 26px -8px rgba(255, 196, 20, .55); }
.btn--sm .btn__label { padding: 3px 14px 0 18px; }
.btn--sm .btn__go { width: 40px; margin: 5px 5px 5px 0; }
.btn--sm .btn__go svg { width: 18px; height: 18px; }
.link { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 12px 0; font-family: var(--display); font-weight: 600; font-size: 24px; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: var(--ink); }
.link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 3px; background: var(--accent); transform-origin: left; transition: transform .3s var(--ease); }
.link:active { opacity: .7; }
@media (hover: hover) and (pointer: fine) { .link:hover::after { transform: scaleX(.35); } }
.cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; }

.nav { position: fixed; z-index: 60; top: 14px; left: 50%; transform: translateX(-50%); width: min(1180px, 100% - 28px); display: flex; align-items: center; gap: 20px; padding: 7px 8px 7px 18px; border: 1px solid rgba(244, 240, 230, .13); border-radius: 999px; background: rgba(12, 14, 18, .58); -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); box-shadow: 0 14px 40px -18px rgba(0, 0, 0, .8); }
.nav__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; }
.nav__brand img { width: 58px; height: 44px; object-fit: contain; }
.nav__brand span { font-family: var(--display); font-weight: 800; font-size: 25px; line-height: .86; letter-spacing: .03em; text-transform: uppercase; }
.nav__brand small { display: block; font-size: 15px; font-weight: 600; letter-spacing: .2em; color: var(--accent); }
.nav__links { display: flex; align-items: center; gap: clamp(14px, 2vw, 30px); margin: 0 6px 0 0; padding: 0; list-style: none; }
.nav__links a { position: relative; display: block; padding: 10px 0 7px; font-family: var(--display); font-weight: 600; font-size: 22px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--ink); }
.nav__links a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 3px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease); }
@media (hover: hover) and (pointer: fine) { .nav__links a:hover::after { transform: scaleX(1); } }
.nav__links a:active { color: var(--accent); }
.nav__menu { display: none; width: 48px; height: 48px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; place-items: center; }
.nav__menu span { display: block; width: 20px; height: 2px; background: currentColor; box-shadow: 0 6px 0 currentColor, 0 -6px 0 currentColor; }
.nav__menu:active { transform: scale(.94); }
.nav__short { display: none; }
@media (max-width: 980px) {
  .nav { gap: 10px; padding-left: 14px; }
  .nav__menu { display: grid; }
  .nav__links { position: absolute; top: calc(100% + 10px); left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 10px 22px; border: 1px solid rgba(244, 240, 230, .13); border-radius: 22px; background: rgba(12, 14, 18, .94); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s; }
  .nav.is-open .nav__links { opacity: 1; visibility: visible; transform: none; }
  .nav__links a { padding: 13px 0 11px; font-size: 28px; border-bottom: 1px solid var(--line); }
  .nav__links li:last-child a { border-bottom: 0; }
  .nav__links a::after { display: none; }
}
@media (max-width: 560px) {
  .nav__brand span { display: none; }
  .nav__long { display: none; }
  .nav__short { display: inline; }
}

.members-link { position: absolute; z-index: 40; top: 92px; right: max(24px, calc((100vw - 1180px) / 2)); display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; border: 1px solid color-mix(in srgb, var(--members-link-ink, #fff) 42%, transparent); border-radius: 8px; color: var(--members-link-ink, #fff); background: color-mix(in srgb, #000 18%, transparent); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; transition: background .25s, border-color .25s; }
.members-link:hover { background: color-mix(in srgb, #000 34%, transparent); border-color: var(--members-link-ink, #fff); }
.members-link:focus-visible { outline: 2px solid var(--members-link-ink, #fff); outline-offset: 3px; }
@media (max-width: 760px) {
  .members-link { top: 78px; right: auto; left: 0; gap: 6px; padding: 8px 12px 8px 10px; border-left: 0; border-radius: 0 8px 8px 0; font-size: 11px; letter-spacing: .1em; }
  .members-link__long { display: none; }
}

.hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; background: #05070a; isolation: isolate; }
.hero__stage { position: absolute; inset: 0; z-index: 0; }
.hero__room { position: absolute; inset: -3%; width: 106%; height: 106%; max-width: none; object-fit: cover; object-position: 50% 42%; will-change: transform; }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 7, 10, .92) 0%, rgba(5, 7, 10, .7) 30%, rgba(5, 7, 10, .1) 62%, rgba(5, 7, 10, .35) 100%), linear-gradient(0deg, rgba(5, 7, 10, .9) 0%, rgba(5, 7, 10, 0) 34%), radial-gradient(60% 70% at 68% 55%, rgba(255, 196, 20, .16), transparent 70%); }
.hero__crew { position: absolute; z-index: 1; bottom: 0; left: 69%; height: min(80svh, 54vw); width: auto; max-width: none; transform: translateX(-50%); transform-origin: 50% 100%; filter: drop-shadow(0 0 34px rgba(0, 0, 0, .65)); will-change: transform; }
.hero__gl { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; opacity: 0; transition: opacity 1.1s ease-out; }
.hero__gl.is-live { opacity: 1; }
.hero__floor { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; height: 22%; background: linear-gradient(0deg, rgba(5, 7, 10, .96), rgba(5, 7, 10, 0)); pointer-events: none; }
.hero__copy { position: relative; z-index: 4; width: min(var(--wrap), 100% - var(--gutter) * 2); margin-inline: auto; padding: 150px 0 clamp(48px, 9svh, 96px); display: grid; gap: 22px; justify-items: start; }
.hero h1 { font-size: clamp(64px, min(10.6vw, 19svh), 178px); line-height: .84; max-width: 9ch; text-shadow: 0 4px 40px rgba(0, 0, 0, .6); }
.hero h1 span { display: block; }
.hero h1 .is-accent { color: var(--accent); }
.hero__line { max-width: 30ch; font-size: clamp(19px, 1.7vw, 24px); font-weight: 500; line-height: 1.35; color: var(--ink); text-shadow: 0 2px 18px rgba(0, 0, 0, .8); }
.hero__line b { color: var(--accent); font-weight: 600; }
@media (max-width: 860px) {
  .hero { align-items: flex-start; }
  .hero__room { object-position: 50% 30%; }
  .hero__shade { background: linear-gradient(180deg, rgba(5, 7, 10, .9) 0%, rgba(5, 7, 10, .62) 40%, rgba(5, 7, 10, .05) 62%, rgba(5, 7, 10, .6) 100%), radial-gradient(90% 40% at 50% 74%, rgba(255, 196, 20, .2), transparent 70%); }
  .hero__crew { left: 50%; height: auto; width: min(122vw, 60svh); }
  .hero__copy { padding: 122px 0 0; gap: 14px; }
  .hero h1 { font-size: clamp(60px, min(20vw, 11.4svh), 120px); max-width: none; }
  .hero__line { font-size: 18px; max-width: 28ch; }
  .hero .btn { margin-top: 6px; }
  .hero__floor { height: 12%; }
}

.sec { position: relative; padding: clamp(84px, 12vh, 150px) 0; }
.sec--steel { background: var(--steel); }
.sec__head { display: grid; gap: 18px; margin-bottom: clamp(36px, 6vh, 64px); }

.can { overflow: hidden; background: linear-gradient(180deg, var(--ground), var(--steel)); }
.can__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr); gap: clamp(24px, 5vw, 80px); align-items: end; }
.can__say { font-family: var(--display); font-weight: 800; text-transform: uppercase; font-size: clamp(70px, 12.2vw, 214px); line-height: .82; letter-spacing: -.01em; margin: 26px 0 34px; }
.can__say span { display: inline-block; }
.can__cut { position: relative; color: rgba(244, 240, 230, .34); }
.can__cut::after { content: ""; position: absolute; left: -2%; right: -2%; top: 46%; height: .09em; background: var(--accent); transform-origin: left; transform: scaleX(var(--strike, 1)); }
.can__yes { color: var(--accent); transform-origin: 0 100%; }
.can__body { display: grid; gap: 18px; max-width: 52ch; }
.can__body p { font-size: clamp(19px, 1.6vw, 23px); line-height: 1.45; }
.can__by { font-family: var(--display); font-weight: 600; font-size: 22px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.can__by b { color: var(--ink); font-weight: 800; }
.can__who { position: relative; justify-self: center; align-self: end; width: min(100%, 360px); margin-bottom: calc(clamp(84px, 12vh, 150px) * -1); }
.can__wall { position: absolute; left: -8%; right: -8%; top: 12%; bottom: 0; background: linear-gradient(180deg, var(--accent) 0%, var(--accent-deep) 100%); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2); }
.can__wall::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 38px, rgba(0, 0, 0, .1) 38px 40px), repeating-linear-gradient(90deg, transparent 0 78px, rgba(0, 0, 0, .07) 78px 80px); }
.can__who img { position: relative; width: 62%; margin: 0 auto; filter: drop-shadow(-10px 6px 14px rgba(0, 0, 0, .45)); }
@media (max-width: 860px) {
  .can__grid { grid-template-columns: 1fr; }
  .can__say { font-size: clamp(74px, 24vw, 150px); }
  .can__who { width: min(64%, 250px); margin-top: 24px; }
}

.ways__grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.ways__photo { position: relative; overflow: hidden; border-radius: 4px; aspect-ratio: 4 / 5; box-shadow: 14px 14px 0 var(--accent); }
.ways__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transform: scale(1.06); }
.ways__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.way { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px 22px; align-items: center; width: 100%; padding: 24px 6px 22px 0; border: 0; border-bottom: 1px solid var(--line); background: none; color: inherit; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.way::before { content: ""; position: absolute; inset: 0; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); z-index: 0; }
.way > * { position: relative; z-index: 1; transition: color .25s, transform .35s var(--ease); }
.way__n { font-family: var(--display); font-weight: 600; font-size: 24px; letter-spacing: .1em; color: var(--accent); align-self: start; padding-top: 10px; }
.way__t { font-family: var(--display); font-weight: 800; font-size: clamp(40px, 4.6vw, 72px); line-height: .9; text-transform: uppercase; }
.way__d { grid-column: 2; font-size: 18px; color: var(--muted); max-width: 48ch; }
.way__go { grid-row: 1 / span 2; grid-column: 3; display: grid; place-items: center; width: 54px; height: 54px; border: 2px solid var(--line); border-radius: 4px; color: var(--accent); }
.way__go svg { width: 22px; height: 22px; }
.way:active::before { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
  .way:hover::before { transform: scaleX(1); }
  .way:hover > * { color: var(--accent-ink); transform: translateX(18px); }
  .way:hover .way__go { border-color: var(--accent-ink); transform: translateX(-6px); }
}
.ways__note { margin-top: 22px; font-size: 17px; color: var(--muted); }
.ways__note b { color: var(--ink); font-weight: 600; }
@media (max-width: 860px) {
  .ways__grid { grid-template-columns: 1fr; }
  .ways__photo { aspect-ratio: 5 / 4; box-shadow: 8px 8px 0 var(--accent); margin-right: 8px; }
  .way { grid-template-columns: auto minmax(0, 1fr); }
  .way__go { display: none; }
}

.loop { background: var(--ground); overflow: hidden; text-align: center; }
.loop .sec__head { justify-items: center; }
.loop__svg { display: block; width: min(940px, 100%); height: auto; margin: 0 auto; overflow: visible; }
.loop__track { fill: none; stroke: rgba(244, 240, 230, .16); stroke-width: 10; }
.loop__trail { fill: none; stroke: var(--accent); stroke-width: 10; stroke-linecap: round; filter: drop-shadow(0 0 12px rgba(255, 196, 20, .9)); }
.loop__plate { fill: var(--accent-hot); filter: drop-shadow(0 0 16px rgba(255, 196, 20, 1)); }
.loop__stop circle { fill: var(--ground); stroke: var(--ink); stroke-width: 5; transition: fill .3s, stroke .3s; }
.loop__stop text { font-family: var(--display); font-weight: 800; font-size: 58px; fill: var(--ink); text-anchor: middle; transition: fill .3s; }
.loop__stop.is-next circle { fill: var(--accent); stroke: var(--accent); }
.loop__stop.is-next text { fill: var(--accent); }
.loop__half { font-family: var(--display); font-weight: 600; font-size: 30px; letter-spacing: .22em; fill: var(--muted); text-anchor: middle; text-transform: uppercase; }
.loop__next { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 6px 14px; margin: 26px auto 0; padding: 12px 22px 9px; border: 2px solid var(--accent); border-radius: 4px; font-family: var(--display); font-weight: 800; font-size: clamp(28px, 3vw, 40px); line-height: 1; text-transform: uppercase; }
.loop__next small { font-size: .62em; font-weight: 600; letter-spacing: .14em; color: var(--accent); }
.loop__facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 34px; margin: 26px 0 34px; padding: 0; list-style: none; font-size: 18px; color: var(--muted); }
.loop__facts b { color: var(--ink); font-weight: 600; }
.loop .cta-row { justify-content: center; }
@media (max-width: 700px) {
  .loop__stop text { font-size: 84px; }
  .loop__half { font-size: 46px; }
  .loop__track, .loop__trail { stroke-width: 14; }
}

.first { background: var(--steel); overflow: hidden; }
.first__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 84px); align-items: center; }
.first__photo { position: relative; border-radius: 4px; overflow: hidden; aspect-ratio: 1 / 1.08; }
.first__photo img { width: 100%; height: 100%; object-fit: cover; }
.first__photo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(9, 11, 14, .5), transparent 40%); }
.plates { display: grid; gap: 14px; margin: 0 0 34px; padding: 0; list-style: none; counter-reset: plate; }
.plate { position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 4px 22px; padding: 20px 26px 20px 0; border-radius: 10px; background: linear-gradient(180deg, #2a2f38, #15181d); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .09), inset 0 -3px 0 rgba(0, 0, 0, .5), 0 14px 26px -14px rgba(0, 0, 0, .9); will-change: transform; }
.plate::before { counter-increment: plate; content: "0" counter(plate); grid-row: 1 / span 2; display: grid; place-items: center; align-self: stretch; margin: -20px 0; border-radius: 10px 0 0 10px; background: var(--accent); color: var(--accent-ink); font-family: var(--display); font-weight: 800; font-size: 50px; line-height: 1; padding-top: 4px; }
.plate h3 { font-size: clamp(30px, 3vw, 42px); }
.plate p { grid-column: 2; font-size: 18px; color: var(--muted); }
@media (max-width: 860px) {
  .first__grid { grid-template-columns: 1fr; }
  .first__photo { aspect-ratio: 5 / 4; order: -1; }
  .first__photo img { object-position: 50% 18%; }
  .plate { grid-template-columns: 66px minmax(0, 1fr); gap: 4px 16px; padding-right: 16px; }
  .plate::before { font-size: 38px; }
}

.crew { background: var(--ground); overflow: hidden; }
.crew__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.crew__list { margin: 0; padding: 0; list-style: none; }
.coach { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 20px; align-items: end; padding: 22px 0 20px; }
.coach::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent) 38%, var(--line) 38%); transform-origin: left; transform: scaleX(var(--draw, 1)); }
.coach__name { font-family: var(--display); font-weight: 800; font-size: clamp(54px, 7.4vw, 118px); line-height: .84; text-transform: uppercase; }
.coach__yrs { font-family: var(--display); font-weight: 800; font-size: clamp(34px, 3.6vw, 56px); line-height: .9; color: var(--accent); text-align: right; white-space: nowrap; }
.coach__yrs small { display: block; font-size: 18px; font-weight: 600; letter-spacing: .16em; color: var(--muted); }
.coach__role { grid-column: 1 / -1; font-size: 17px; color: var(--muted); }
.coach__role b { color: var(--ink); font-weight: 600; }
.crew__photo { position: relative; border-radius: 4px; overflow: hidden; aspect-ratio: 3 / 4; box-shadow: -14px 14px 0 var(--mat); }
.crew__photo img { width: 100%; height: 100%; object-fit: cover; }
.crew .cta-row { margin-top: 34px; }
@media (max-width: 860px) {
  .crew__grid { grid-template-columns: 1fr; }
  .crew__photo { aspect-ratio: 1 / 1; box-shadow: -8px 8px 0 var(--mat); margin-left: 8px; }
  .crew__photo img { object-position: 50% 22%; }
}

.asks { background: var(--steel); }
.asks__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 5vw, 80px); border-top: 1px solid var(--line); }
.ask { padding: 28px 0 30px; border-bottom: 1px solid var(--line); }
.ask h3 { font-size: clamp(30px, 2.8vw, 40px); line-height: .95; margin-bottom: 10px; }
.ask h3::before { content: "Q "; color: var(--accent); }
.ask p { color: var(--muted); max-width: 48ch; }
.asks .cta-row { margin-top: 40px; }
@media (max-width: 760px) { .asks__grid { grid-template-columns: 1fr; } }

.visit { position: relative; min-height: 92svh; display: flex; align-items: flex-end; overflow: hidden; background: #05070a; isolation: isolate; }
.visit__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.visit__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; transform-origin: 50% 62%; will-change: transform; }
.visit__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5, 7, 10, .96) 6%, rgba(5, 7, 10, .55) 52%, rgba(5, 7, 10, .5) 100%); }
.visit__copy { position: relative; z-index: 4; padding: 140px 0 clamp(54px, 9vh, 96px); display: grid; gap: 22px; justify-items: start; }
.visit__addr { font-size: clamp(62px, 12vw, 200px); line-height: .82; }
.visit__addr span { display: block; }
.visit__addr .is-accent { color: var(--accent); }
.visit__facts { display: flex; flex-wrap: wrap; gap: 10px 40px; margin: 0; padding: 0; list-style: none; font-size: 19px; }
.visit__facts li { display: grid; }
.visit__facts small { font-family: var(--display); font-weight: 600; font-size: 19px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.visit__facts a { text-underline-offset: 4px; text-decoration-color: var(--accent); }

.foot { padding: 44px 0 110px; background: var(--ground); border-top: 1px solid var(--line); font-size: 16px; color: var(--muted); }
.foot__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; }
.foot__brand { display: flex; align-items: center; gap: 14px; color: var(--ink); font-family: var(--display); font-weight: 800; font-size: 28px; text-transform: uppercase; line-height: .9; }
.foot__brand img { width: 84px; height: 64px; object-fit: contain; }
.foot__links { display: flex; flex-wrap: wrap; gap: 6px 26px; margin: 0; padding: 0; list-style: none; }
.foot__links a { display: inline-block; padding: 8px 0; text-underline-offset: 4px; }
.foot__fine { margin-top: 22px; font-size: 15px; }

.page { position: relative; min-height: 100svh; padding: 150px 0 90px; overflow: hidden; isolation: isolate; }
.page__bg { position: absolute; inset: 0; z-index: -1; }
.page__bg img { width: 100%; height: 100%; object-fit: cover; }
.page__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 7, 10, .95), rgba(5, 7, 10, .78) 55%, rgba(5, 7, 10, .6)); }
.prose { max-width: 70ch; display: grid; gap: 16px; }
.prose h1 { font-size: clamp(56px, 8vw, 110px); margin-bottom: 10px; }
.prose h2 { font-size: 36px; margin-top: 18px; }
.prose p, .prose li { color: #d3d0c6; }

.lead-popup .lead-popup__card h2 { font-size: clamp(44px, 7vw, 60px); line-height: .9; }
.lead-popup { border: 1px solid rgba(244, 240, 230, .14); border-top: 5px solid var(--accent); }
.lead-popup .lead-form__group legend { font-family: var(--display); font-weight: 600; font-size: 22px; letter-spacing: .08em; text-transform: uppercase; }
.lead-popup .lead-form__chip-text { border-radius: 5px; font-weight: 600; }
.lead-popup .lead-form__field input { border-radius: 6px; }
.lead-popup .lead-form__submit { min-height: 62px; margin-top: 10px; padding: 4px 24px 0; border-radius: 7px; background: linear-gradient(180deg, var(--accent-hot) 0%, var(--accent) 46%, var(--accent-deep) 100%); color: var(--accent-ink); font-family: var(--display); font-weight: 800; font-size: 28px; letter-spacing: .035em; text-transform: uppercase; box-shadow: inset 0 0 0 2px rgba(11, 12, 14, .9), inset 0 0 0 4px rgba(255, 236, 160, .55), 5px 5px 0 #000, 0 14px 44px -8px rgba(255, 196, 20, .5); transition: transform .18s var(--ease), box-shadow .18s var(--ease); }
.lead-popup .lead-form__submit:active { transform: translate(4px, 4px); box-shadow: inset 0 0 0 2px rgba(11, 12, 14, .9), inset 0 0 0 4px rgba(255, 236, 160, .55), 1px 1px 0 #000; }
.lead-popup .lead-form__submit:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.lead-popup__close:active { transform: scale(.92); }
.lead-popup__fine a { text-underline-offset: 3px; }

.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.hero .eyebrow { text-shadow: 0 2px 14px rgba(0, 0, 0, .8); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn, .btn__go svg, .way::before, .way > *, .link::after { transition: none; }
  .btn:hover .btn__go { animation: none; }
}
