:root{--ink: #0c0c0d;--ink-soft: #2a2a2d;--paper: #f5f1ea;--paper-2: #ece6db;--line: #1f1f22;--line-soft: rgba(12, 12, 13, .12);--red: #b92531;--red-deep: #8a1822;--red-glow: rgba(185, 37, 49, .18);--sand: #d9cfbd;--display: "Anton", "Arial Narrow", Impact, sans-serif;--body: "Inter", system-ui, -apple-system, Segoe UI, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color:var(--ink);background:var(--paper);font-family:var(--body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;cursor:pointer}::selection{background:var(--red);color:var(--paper)}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(20px,5vw,64px);background:#f5f1eadb;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line-soft)}.brand-mark{display:flex;align-items:center;gap:12px}.brand-mark img{width:46px;height:46px;object-fit:contain}.brand-wordmark{display:none;font-family:var(--display);font-size:20px;letter-spacing:.08em;text-transform:uppercase;line-height:1}.brand-wordmark span{display:block;color:var(--red);font-size:11px;letter-spacing:.34em;margin-top:4px}@media(min-width:720px){.brand-wordmark{display:block}}.site-nav{display:none;align-items:center;gap:clamp(18px,2.6vw,36px);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.site-nav a{position:relative;padding:6px 0;transition:color .2s ease}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}.site-nav a:hover:after{transform:scaleX(1)}.site-nav a:hover{color:var(--red)}@media(min-width:880px){.site-nav{display:flex}}.nav-cta{display:none;align-items:center;gap:8px;padding:10px 18px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border-radius:999px;transition:background .2s ease,transform .2s ease}.nav-cta:hover{background:var(--red);transform:translateY(-1px)}@media(min-width:560px){.site-header>.nav-cta{display:inline-flex}}.mobile-nav .nav-cta{display:inline-flex}.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--line-soft);border-radius:999px;align-items:center}.menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .22s ease,opacity .22s ease}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(min-width:880px){.menu-toggle{display:none}}.mobile-nav{position:fixed;inset:76px 0 auto;z-index:40;background:var(--paper);box-shadow:0 24px 48px -16px #0000002e;border-bottom:1px solid var(--line-soft);padding:24px clamp(20px,5vw,64px) 32px;display:grid;gap:18px;font-family:var(--display);font-size:28px;letter-spacing:.04em;text-transform:uppercase;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .24s ease,transform .24s ease}.mobile-nav.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.mobile-nav a{padding:4px 0}.mobile-nav .nav-cta{margin-top:8px;padding:18px 28px;font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.22em;background:var(--red);color:var(--paper);justify-content:center;width:100%}.mobile-nav .nav-cta:hover{background:var(--red-deep)}.hero{position:relative;min-height:calc(100svh - 76px);display:grid;grid-template-columns:1fr;align-items:center;padding:clamp(48px,8vw,112px) clamp(20px,5vw,72px);overflow:hidden;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 20%,var(--red-glow),transparent 60%),radial-gradient(40% 60% at 10% 90%,rgba(217,207,189,.6),transparent 60%);z-index:-1}.hero-grid{width:min(100%,1240px);margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,72px);align-items:center}@media(min-width:920px){.hero-grid{grid-template-columns:1.15fr .85fr}}.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.hero-eyebrow:before{content:"";width:28px;height:1px;background:var(--red)}.hero h1{margin:22px 0 28px;font-family:var(--display);font-size:clamp(64px,11vw,168px);font-weight:400;line-height:.86;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink)}.hero h1 .accent{color:var(--red)}.hero h1 .outline{-webkit-text-stroke:2px var(--ink);color:transparent}.hero-lead{max-width:540px;margin:0 0 36px;font-size:clamp(16px,1.7vw,18px);line-height:1.65;color:var(--ink-soft)}.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:48px}.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border-radius:999px;border:1px solid transparent;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn-primary{background:var(--red);color:var(--paper)}.btn-primary:hover{background:var(--red-deep);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-arrow{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:999px;background:#ffffff2e}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,3vw,36px);padding-top:28px;border-top:1px solid var(--line-soft);max-width:540px}.hero-stats dt{font-family:var(--display);font-size:clamp(28px,4vw,44px);line-height:1;color:var(--red)}.hero-stats dd{margin:8px 0 0;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.hero-visual{position:relative;display:grid;place-items:center;aspect-ratio:1 / 1;max-width:520px;width:100%;margin:0 auto}.hero-visual:before{content:"";position:absolute;inset:6%;border-radius:999px;background:var(--ink);z-index:0;animation:pulse 6s ease-in-out infinite}.hero-visual:after{content:"";position:absolute;inset:0;border:1px dashed var(--line-soft);border-radius:999px;animation:spin 60s linear infinite}.hero-visual img{position:relative;z-index:1;width:70%;filter:drop-shadow(0 24px 48px rgba(0,0,0,.25));animation:rise-in .8s ease both}.hero-marquee{position:absolute;bottom:24px;left:0;right:0;display:flex;gap:56px;font-family:var(--display);font-size:clamp(36px,6vw,72px);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);opacity:.08;white-space:nowrap;pointer-events:none;animation:marquee 40s linear infinite}.hero-marquee span:after{content:"✦";margin-left:56px;color:var(--red)}.section{padding:clamp(96px,12vw,168px) clamp(20px,5vw,72px);scroll-margin-top:92px;position:relative}.section-inner{width:min(100%,1240px);margin:0 auto}.section-head{display:grid;gap:18px;margin-bottom:clamp(48px,6vw,80px)}.section-num{font-family:var(--mono);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--red)}.section-num span{display:inline-block;margin-right:14px;padding:4px 10px;border:1px solid var(--red);border-radius:999px}.section-title{margin:0;font-family:var(--display);font-size:clamp(48px,7.5vw,112px);font-weight:400;line-height:.92;letter-spacing:-.005em;text-transform:uppercase}.section-title .accent{color:var(--red)}.section-lead{max-width:640px;margin:4px 0 0;font-size:clamp(16px,1.6vw,18px);line-height:1.7;color:var(--ink-soft)}.intro{background:var(--paper);border-top:1px solid var(--line-soft)}.intro-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,72px)}@media(min-width:880px){.intro-grid{grid-template-columns:1fr 1fr}}.intro-copy{display:grid;gap:22px;max-width:560px}.intro-copy p{margin:0;font-size:clamp(16px,1.6vw,18px);line-height:1.75;color:var(--ink-soft)}.intro-pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pillar{padding:28px 24px;background:var(--paper-2);border:1px solid var(--line-soft);border-radius:18px;display:grid;gap:12px;transition:transform .24s ease,border-color .24s ease,background .24s ease}.pillar:hover{transform:translateY(-4px);border-color:var(--red);background:var(--paper)}.pillar-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--ink);color:var(--red)}.pillar h3{margin:0;font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.pillar p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-soft)}.schedule{background:var(--ink);color:var(--paper)}.schedule .section-num{color:var(--red)}.schedule .section-num span{border-color:var(--red)}.schedule .section-title{color:var(--paper)}.schedule .section-lead{color:#f5f1eab3}.schedule-toggle{display:inline-flex;align-items:center;padding:4px;margin-bottom:36px;background:#f5f1ea14;border-radius:999px}.schedule-toggle button{padding:10px 22px;background:transparent;border:0;color:#f5f1ea99;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border-radius:999px;transition:background .22s ease,color .22s ease}.schedule-toggle button.active{background:var(--red);color:var(--paper)}.schedule-grid{display:grid;grid-template-columns:80px repeat(6,minmax(120px,1fr));border:1px solid rgba(245,241,234,.14);border-radius:16px;overflow:hidden;background:#f5f1ea08}.schedule-grid .head{padding:18px 14px;font-family:var(--display);font-size:14px;letter-spacing:.16em;text-transform:uppercase;text-align:center;background:#f5f1ea0f;color:var(--paper);border-bottom:1px solid rgba(245,241,234,.14)}.schedule-grid .time{padding:18px 12px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;color:#f5f1ea99;border-top:1px solid rgba(245,241,234,.08);background:#0000002e;display:flex;align-items:center}.schedule-grid .cell{padding:12px;border-top:1px solid rgba(245,241,234,.08);border-left:1px solid rgba(245,241,234,.06);min-height:78px;display:flex}.class-chip{display:flex;flex-direction:column;justify-content:space-between;width:100%;padding:10px 12px;border-radius:10px;font-size:12px;background:#f5f1ea0d;border:1px solid rgba(245,241,234,.18);color:var(--paper);transition:transform .22s ease,background .22s ease,border-color .22s ease}.class-chip:hover{transform:translateY(-2px);background:#f5f1ea1a}.class-chip .name{font-family:var(--display);font-size:14px;letter-spacing:.06em;text-transform:uppercase}.class-chip .time-range{margin-top:6px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.08em;color:#f5f1ea99}.class-chip[data-type=wod]{border-color:#f5f1ea66}.class-chip[data-type=open]{border-color:#b9253180;background:#b9253114}.class-chip[data-type=strength]{border-color:#e5c98c;background:#e5c98c14}.class-chip[data-type=strength] .name{color:#f3dcab}.class-chip[data-type=fondations]{border-color:#f5f1ea38;background:#f5f1ea05}.class-chip[data-type=conditioning]{border-color:#b9253199;background:#b9253124}.schedule-legend{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:28px;font-size:12px;font-weight:500;letter-spacing:.08em;color:#f5f1eab3}.schedule-legend span{display:inline-flex;align-items:center;gap:8px}.schedule-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;background:#f5f1ea66}.schedule-legend i.open{background:var(--red);opacity:.5}.schedule-legend i.strength{background:#e5c98c}.schedule-legend i.fond{background:#f5f1ea80}.schedule-legend i.cond{background:var(--red)}.schedule-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:36px}.schedule .btn-ghost{color:var(--paper);border-color:var(--paper)}.schedule .btn-ghost:hover{background:var(--paper);color:var(--ink)}.schedule-scroll-hint{display:none;margin-top:16px;font-family:var(--mono);font-size:11px;color:#f5f1ea80}@media(max-width:880px){.schedule-grid{grid-template-columns:70px repeat(6,minmax(110px,1fr));overflow-x:auto;border-radius:12px}.schedule-wrap{overflow-x:auto;padding-bottom:8px}.schedule-scroll-hint{display:block}}.pricing{background:var(--paper)}.pricing-grid{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:720px){.pricing-grid{grid-template-columns:repeat(3,1fr)}}.plan{display:flex;flex-direction:column;padding:36px 32px;background:var(--paper);border:1px solid var(--line-soft);border-radius:22px;transition:transform .28s ease,border-color .28s ease,background .28s ease}.plan:hover{transform:translateY(-6px);border-color:var(--ink)}.plan.featured{background:var(--ink);color:var(--paper);border-color:var(--ink)}.plan.featured .plan-tag{background:var(--red);color:var(--paper)}.plan-tag{display:inline-flex;align-self:flex-start;padding:6px 12px;margin-bottom:22px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;background:var(--paper-2);color:var(--ink);border-radius:999px}.plan h3{margin:0 0 8px;font-family:var(--display);font-size:clamp(28px,3.6vw,38px);font-weight:400;letter-spacing:.02em;text-transform:uppercase;line-height:1}.plan-sub{margin:0 0 28px;font-size:13px;color:var(--ink-soft)}.plan.featured .plan-sub{color:#f5f1eaa6}.plan-rows{display:grid;gap:2px;margin-bottom:30px;border-top:1px solid currentColor;border-color:var(--line-soft)}.plan.featured .plan-rows{border-color:#f5f1ea2e}.plan-row{display:grid;grid-template-columns:1fr 80px 44px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line-soft);gap:10px}.plan-row .price{text-align:right}.plan-row .suffix{font-family:var(--body);font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--ink-soft);text-transform:lowercase;text-align:left;align-self:end;padding-bottom:2px}.plan.featured .plan-row .suffix{color:#f5f1ea99}.plan.featured .plan-row{border-color:#f5f1ea24}.plan-row .label{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.plan-row .price{font-family:var(--display);font-size:clamp(20px,2.4vw,26px);letter-spacing:.02em}.plan .btn{margin-top:auto;justify-content:center}.plan.featured .btn-ghost{color:var(--paper);border-color:var(--paper)}.plan.featured .btn-ghost:hover{background:var(--paper);color:var(--ink)}.pricing-foot{margin-top:48px;padding:28px 32px;border:1px dashed var(--line-soft);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.pricing-foot p{margin:0;font-size:14px;color:var(--ink-soft);max-width:540px}.pricing-foot strong{color:var(--red);font-weight:700;letter-spacing:.04em}.team{background:var(--paper-2);border-top:1px solid var(--line-soft)}.coach-list{display:grid;gap:clamp(48px,7vw,96px)}.coach{display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,64px);align-items:center}@media(min-width:880px){.coach{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.coach.reverse{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.coach.reverse .coach-photo{order:2}}.coach-photo{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:4 / 5;background:var(--ink);isolation:isolate}.coach-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.85) contrast(1.05);transition:filter .6s ease,transform .7s ease}.coach:hover .coach-photo img{filter:grayscale(0) contrast(1);transform:scale(1.04)}.coach-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(12,12,13,.55));z-index:1}.coach-name-overlay{position:absolute;z-index:2;left:22px;bottom:18px;font-family:var(--display);font-size:clamp(40px,6vw,64px);line-height:.92;text-transform:uppercase;color:var(--paper);letter-spacing:.02em}.coach-details{display:grid;gap:18px;padding:8px 0}.coach-role{margin:0;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}.coach-details h3{margin:0;font-family:var(--display);font-size:clamp(48px,6vw,76px);font-weight:400;letter-spacing:.02em;text-transform:uppercase;line-height:.94}.coach-details ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px;line-height:1.55;color:var(--ink-soft)}.coach-details li{display:flex;align-items:flex-start;gap:12px}.coach-details li:before{content:"";flex:0 0 6px;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--red)}.banner{padding:clamp(72px,9vw,120px) clamp(20px,5vw,72px);background:var(--red);color:var(--paper);text-align:center;position:relative;overflow:hidden}.banner:before{content:"CROSSTRAINING · WEIGHTLIFTING · CONDITIONING · ";position:absolute;inset:auto 0 -20px;font-family:var(--display);font-size:clamp(80px,16vw,200px);letter-spacing:.02em;white-space:nowrap;opacity:.08;color:var(--paper);pointer-events:none}.banner-inner{position:relative;width:min(100%,980px);margin:0 auto;display:grid;gap:28px;justify-items:center}.banner h2{margin:0;font-family:var(--display);font-size:clamp(44px,6.5vw,88px);font-weight:400;line-height:.96;letter-spacing:.02em;text-transform:uppercase}.banner p{margin:0;max-width:560px;font-size:clamp(15px,1.5vw,17px);line-height:1.65;color:#f5f1ead9}.banner .btn-primary{background:var(--paper);color:var(--ink)}.banner .btn-primary:hover,.contact{background:var(--ink);color:var(--paper)}.contact .section-title{color:var(--paper)}.contact .section-num{color:var(--red)}.contact .section-num span{border-color:var(--red)}.contact-grid{display:grid;gap:clamp(36px,5vw,64px);grid-template-columns:1fr}@media(min-width:880px){.contact-grid{grid-template-columns:1.2fr 1fr}}.contact-card{padding:36px;background:#f5f1ea0d;border:1px solid rgba(245,241,234,.12);border-radius:22px;display:grid;gap:22px}.contact-row{display:grid;gap:6px}.contact-row dt{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#f5f1ea8c}.contact-row dd{margin:0;font-size:16px;line-height:1.5}.contact-row a{color:var(--paper);border-bottom:1px solid rgba(245,241,234,.3);transition:border-color .2s ease,color .2s ease}.contact-row a:hover{border-color:var(--red);color:var(--red)}.contact-side{display:grid;gap:24px;align-content:start}.contact-side h3{margin:0;font-family:var(--display);font-size:clamp(28px,3.4vw,40px);font-weight:400;letter-spacing:.02em;text-transform:uppercase;line-height:1}.social-links{display:flex;gap:12px}.social-links a{display:grid;place-items:center;width:52px;height:52px;border-radius:999px;background:#f5f1ea0f;border:1px solid rgba(245,241,234,.16);transition:transform .2s ease,background .2s ease,border-color .2s ease}.social-links a:hover{background:var(--red);border-color:var(--red);transform:translateY(-3px)}.social-links svg{width:22px;height:22px;fill:var(--paper)}.footer{padding:36px clamp(20px,5vw,72px) 56px;background:var(--ink);color:#f5f1ea99;border-top:1px solid rgba(245,241,234,.08)}.footer-inner{width:min(100%,1240px);margin:0 auto;display:grid;gap:24px;grid-template-columns:1fr}@media(min-width:720px){.footer-inner{grid-template-columns:1fr auto;align-items:center}}.footer nav{display:flex;flex-wrap:wrap;gap:14px 24px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.footer nav a:hover{color:var(--red)}.footer p{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-align:right}@media(max-width:720px){.footer p{text-align:left}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s ease}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero-marquee,.hero-visual:before,.hero-visual:after{animation:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}
