:root{--ink:#070A12;--night:#0E1526;--night-2:#141D33;--line:#25304A;--gold:#F4C430;--gold-deep:#D9A812;--silver:#C7CCD6;--text:#ECEFF5;--muted:#A3ACBD;--paper-ink:#0B1730;--wa:#1FAF5A;--f-display:"Barlow Condensed","Arial Narrow","Roboto Condensed",Impact,sans-serif;--f-body:"Barlow","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--gutter:20px;--maxw:1180px;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
h1,h2,h3{font-family:var(--f-display);text-transform:uppercase;line-height:1.02;margin:0;text-wrap:balance;letter-spacing:.005em}
h2{font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:800}
h3{font-size:1.5rem;font-weight:700}
p{margin:0}
[hidden]{display:none!important}
.eyebrow{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--f-display);font-weight:700;font-size:1.25rem;letter-spacing:.02em;text-decoration:none;padding:.72em 1.4em;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease;line-height:1.1}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--paper-ink)}
.btn-gold:hover{background:#FFD24D;box-shadow:0 8px 24px -8px rgba(244,196,48,.6)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--text)}
.btn-ghost:hover{background:var(--text);color:var(--ink)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#25C266;box-shadow:0 8px 24px -8px rgba(31,175,90,.6)}
.btn svg{width:1.15em;height:1.15em;flex:none}
@media (prefers-reduced-motion:reduce){.btn,.btn:hover{transition:none;transform:none}}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(7,10,18,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand img{width:38px;height:auto}
.brand span{white-space:nowrap;font-family:var(--f-display);font-weight:800;font-size:1.45rem;letter-spacing:.04em;text-transform:uppercase;color:var(--silver)}
.nav{display:flex;gap:26px}
.nav a{white-space:nowrap;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--muted);font-size:1.05rem}
.nav a:hover{color:var(--text)}
.top .btn{font-size:1.05rem;padding:.55em 1em;white-space:nowrap}
@media (max-width:1080px){.nav{display:none}}
@media (max-width:420px){.top .btn .lbl-long{display:none}}
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 30% 10%,#13204A 0%,var(--ink) 58%);padding-block:56px 64px}
.hero .wrap{display:grid;grid-template-columns:1fr;justify-items:center}
.hero-copy{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;max-width:900px}
.crest-ring{position:relative;width:min(300px,74vw);aspect-ratio:1;max-width:100%}
.crest-ring svg{position:absolute;inset:0;width:100%;height:100%}
.crest-ring img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:43%;height:auto;filter:drop-shadow(0 12px 28px rgba(0,0,0,.7))}
.ring-text{font-family:var(--f-display);font-weight:700;font-size:11px;letter-spacing:.2em;fill:var(--silver);text-transform:uppercase}
@media (prefers-reduced-motion:no-preference){.ring-spin{transform-box:view-box;transform-origin:150px 150px;animation:spin 40s linear infinite}}
@keyframes spin{to{transform:rotate(360deg)}}
.hero h1{font-size:clamp(2.7rem,6.4vw,4.8rem);font-weight:800}
.hero h1 small{display:block;font-size:.4em;letter-spacing:.2em;color:var(--silver);font-weight:700;margin-bottom:.35em}
.hero h1 .gold{color:var(--gold)}
.hero .lead{font-size:1.2rem;color:var(--muted);margin-inline:auto;max-width:48ch}
.hero .lead strong{color:var(--text);font-weight:600}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.side-line{position:absolute;top:50%;font-family:var(--f-display);font-size:1.6rem;letter-spacing:.18em;color:rgba(199,204,214,.12);text-transform:uppercase;border-block:2px solid rgba(199,204,214,.12);padding:.2em 0;white-space:nowrap;pointer-events:none}
.side-line.l{right:calc(100% - 90px)}
.side-line.r{left:calc(100% - 90px)}
@media (max-width:860px){.hero{padding-block:36px 48px}.side-line{display:none}}
.ticker{background:var(--gold);color:var(--paper-ink);overflow:hidden;border-block:1px solid var(--gold-deep)}
.ticker-track{display:flex;width:max-content}
.ticker-track span{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:1.25rem;padding:.55em 1.2em;white-space:nowrap}
.ticker-track span::after{content:"";display:inline-block;width:.45em;height:.45em;background:var(--paper-ink);transform:rotate(45deg);margin-left:2.4em;vertical-align:.12em}
@media (prefers-reduced-motion:no-preference){.ticker-track{animation:tick 38s linear infinite}}
@keyframes tick{to{transform:translateX(-50%)}}
.intro{padding-block:80px;background:linear-gradient(180deg,var(--ink),#0A1020)}
.intro .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.intro .lead{font-family:var(--f-display);font-weight:700;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2;max-width:30ch}
.intro p.body{color:var(--muted);max-width:64ch;font-size:1.12rem}
.intro-ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;width:100%;border-block:1px solid var(--line)}
.fact{padding:22px 16px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-width:0}
.fact + .fact{border-left:1px solid var(--line)}
.fact b{font-family:var(--f-display);font-size:2.6rem;font-weight:800;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.fact span{color:var(--muted);font-size:.98rem;line-height:1.3}
.fact.quote b{font-size:1.25rem;line-height:1.15;color:var(--text);text-transform:uppercase}
@media (max-width:760px){.facts{grid-template-columns:1fr 1fr}.fact:nth-child(3){border-left:0}.fact:nth-child(n+3){border-top:1px solid var(--line)}}
.finder{background:linear-gradient(180deg,#0A1020,var(--ink));padding-block:84px;border-top:1px solid var(--line)}
.finder-head{text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;margin-bottom:44px}
.finder-head p{color:var(--muted);max-width:52ch;font-size:1.15rem}
.disc-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:22px}
.dcard{flex:0 1 calc((100% - 44px)/3);min-width:0;border-radius:28px;overflow:hidden;background:var(--night);border:1px solid var(--line);transition:box-shadow .2s,border-color .2s}
.dcard.open{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 24px 50px -20px rgba(244,196,48,.35)}
.dcard-hit{all:unset;box-sizing:border-box;display:block;position:relative;width:100%;aspect-ratio:4/5;cursor:pointer;overflow:hidden}
.dcard-hit:focus-visible{outline:3px solid var(--gold);outline-offset:-6px;border-radius:28px}
.dcard-hit img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.dcard-hit:hover img{transform:scale(1.03)}
.dcard-hit::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,18,0) 28%,rgba(7,10,18,.6) 56%,rgba(7,10,18,.96) 100%)}
.dcard-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:26px 26px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.dcard .ico{width:58px;height:58px;border-radius:16px;background:var(--gold);color:var(--paper-ink);display:grid;place-items:center;margin-bottom:10px}
.dcard .ico svg{width:30px;height:30px}
.dcard .kicker{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:1rem}
.dcard .nm{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.2rem,3.2vw,2.9rem);line-height:.95;color:#fff;overflow-wrap:anywhere}
.dcard .desc{color:#E3E7EF;font-size:1.02rem;line-height:1.4;margin-top:4px}
.dcard .age{color:var(--silver);font-size:.92rem;font-weight:600}
.dcard .more{display:inline-flex;align-items:center;gap:10px;margin-top:10px;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:1.05rem}
.dcard .more svg{width:18px;height:18px;transition:transform .2s}
.dcard.open .more svg{transform:rotate(90deg)}
.dcard-sedes{padding:22px 24px 24px;display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line)}
.dcard-sedes .tag{font-family:var(--f-display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:.95rem}
.dcard-sedes .tag span{color:var(--muted);letter-spacing:.06em}
.sede-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sede-list li{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--night-2);border-radius:8px;font-weight:600;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.sede-list li::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.dcard-sedes .btn{align-self:stretch;font-size:1.1rem}
@media (prefers-reduced-motion:no-preference){.dcard-sedes{animation:flash .3s ease}}
@media (prefers-reduced-motion:reduce){.dcard-hit img,.dcard-hit:hover img{transition:none;transform:none}}
@keyframes flash{from{opacity:.3;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:980px){.dcard{flex-basis:calc((100% - 22px)/2)}}
@media (max-width:640px){.finder{padding-block:64px}.dcard{flex-basis:100%}}
.club{padding-block:88px;background:var(--ink)}
.club-copy{max-width:860px;margin-inline:auto;display:flex;flex-direction:column;gap:20px;min-width:0}
.club-copy p{color:var(--muted);max-width:60ch}
.club-copy p strong{color:var(--text);font-weight:600}
.mission{border-left:4px solid var(--gold);padding:4px 0 4px 18px;color:var(--text)!important;font-size:1.12rem}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.value{background:var(--night);border:1px solid var(--line);border-radius:10px;padding:18px;min-width:0}
.value h3{color:var(--gold);font-size:1.45rem;margin-bottom:6px}
.value p{font-size:.95rem;color:var(--muted);line-height:1.45}
@media (max-width:860px){.club{padding-block:64px}}
@media (max-width:560px){.values{grid-template-columns:1fr}}
.then-now{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
.then-now figure{margin:0;background:var(--night);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}
.then-now img{width:100%;height:auto}
.then-now figcaption{padding:12px 16px;display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:.95rem;line-height:1.35}
.then-now figcaption b{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-size:1rem}
@media (max-width:560px){.then-now{grid-template-columns:1fr}}
.coaches{padding-block:64px;background:linear-gradient(180deg,#0A1020,var(--ink));border-top:1px solid var(--line)}
.coaches .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.coaches p.body{color:var(--muted);max-width:60ch;font-size:1.1rem}
.faces{display:flex;justify-content:center;margin-block:6px}
.faces img{width:72px;height:72px;object-fit:cover;object-position:50% 20%;border-radius:50%;border:3px solid var(--ink);margin-left:-14px;box-shadow:0 0 0 2px var(--gold)}
.faces img:first-child{margin-left:0}
@media (max-width:420px){.faces img{width:56px;height:56px}}
.why{padding-block:88px;background:radial-gradient(100% 120% at 100% 100%,#102252 0%,#08101F 45%,var(--ink) 100%)}
.why .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:40px}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.tab{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem;padding:.65em 1.5em;border-radius:8px;border:1.5px solid rgba(244,196,48,.55);color:var(--gold);transition:background-color .15s,color .15s,box-shadow .15s}
.tab:hover{background:rgba(244,196,48,.1)}
.tab[aria-selected="true"]{background:var(--gold);color:var(--paper-ink);box-shadow:0 0 22px -2px rgba(244,196,48,.55)}
.tab:focus-visible{outline:3px solid var(--text);outline-offset:3px}
.tabpanel{max-width:70ch;display:flex;flex-direction:column;gap:16px;align-items:center;min-height:190px}
.tabpanel p{color:var(--muted);font-size:1.12rem}
.tabpanel p.strong{color:var(--text);font-weight:600}
.tourneys{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.tourneys li{border:1px solid var(--line);background:var(--night);border-radius:999px;padding:.35em .9em;font-size:.95rem;color:var(--text)}
@media (max-width:600px){.why{padding-block:64px}.tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.tab{text-align:center;padding:.65em .6em;font-size:1.05rem}}
.cta{padding-block:92px;background:var(--ink);position:relative;overflow:hidden}
.cta .wrap{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center}
.cta-crest{width:180px;height:auto}
.cta-copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start;min-width:0}
.cta-copy p{color:var(--muted);max-width:54ch;font-size:1.1rem}
.phone{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--night);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.phone .num{font-family:var(--f-display);font-weight:800;font-size:1.7rem;letter-spacing:.04em;user-select:all;font-variant-numeric:tabular-nums}
.phone .lbl{font-size:.9rem;color:var(--muted);width:100%}
.copy{all:unset;cursor:pointer;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;color:var(--gold);border:1px solid rgba(244,196,48,.5);border-radius:6px;padding:.35em .8em}
.copy:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media (max-width:760px){.cta{padding-block:64px}.cta .wrap{grid-template-columns:1fr;justify-items:center;text-align:center}.cta-copy{align-items:center}.cta-crest{width:130px}}
.barber{padding-block:88px;background:radial-gradient(90% 120% at 0% 0%,#14224A 0%,var(--night) 55%);border-top:1px solid var(--line)}
.barber .wrap{display:grid;grid-template-columns:auto minmax(0,560px);justify-content:center;gap:64px;align-items:center}
.barber-video{margin:0;justify-self:center;width:min(340px,100%);min-width:0}
.barber-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:24px;border:1px solid var(--line);background:#000;box-shadow:0 30px 60px -24px rgba(0,0,0,.8)}
.barber-copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start;min-width:0}
.barber-copy .tagline{font-family:var(--f-display);font-weight:700;font-size:1.6rem;line-height:1.15;color:var(--text)}
.barber-copy p{color:var(--muted);max-width:52ch}
.barber-info{margin:0;display:grid;gap:10px;width:100%;max-width:520px}
.barber-info div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.barber-info dt{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-size:.95rem}
.barber-info dd{margin:0;color:var(--text);font-weight:600;min-width:0;overflow-wrap:anywhere}
.barber-ctas{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.barber{padding-block:64px}.barber .wrap{grid-template-columns:1fr;gap:36px}.barber-copy{align-items:center;text-align:center}.barber-ctas{justify-content:center}.barber-info div{grid-template-columns:1fr;gap:2px;text-align:center}}
.social{padding-block:80px;background:var(--ink);border-top:1px solid var(--line)}
.social .wrap{display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center}
.social-head{display:flex;flex-direction:column;gap:12px;align-items:center}
.social-head p{color:var(--muted)}
.social-links{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:16px;width:100%;justify-content:center}
.soc{display:flex;align-items:center;gap:16px;text-align:left;text-decoration:none;background:var(--night);border:1px solid var(--line);border-radius:16px;padding:18px 20px;transition:border-color .15s,transform .15s}
.soc:hover{border-color:var(--gold);transform:translateY(-2px)}
.soc-ico{width:52px;height:52px;flex:none;border-radius:14px;background:var(--gold);color:var(--paper-ink);display:grid;place-items:center}
.soc-ico svg{width:28px;height:28px}
.soc b{display:block;font-family:var(--f-display);font-size:1.5rem;text-transform:uppercase;letter-spacing:.04em;line-height:1}
.soc b + span{color:var(--muted);font-size:.98rem;overflow-wrap:anywhere}
@media (max-width:560px){.social{padding-block:64px}.social-links{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.soc,.soc:hover{transition:none;transform:none}}
footer{background:#04060B;border-top:1px solid var(--line);padding-block:32px calc(32px + 72px)}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;color:var(--muted);font-size:.95rem}
footer .f-brand{display:flex;gap:12px;align-items:center}
footer img{width:34px;height:auto}
footer .f-links a{color:var(--text);text-decoration:none;font-weight:600}
footer .f-links a:hover{color:var(--gold)}
footer b{color:var(--text);font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:1.1rem}
@media (min-width:821px){footer{padding-block:32px}}
.wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;display:none;align-items:center;gap:10px;background:var(--wa);color:#fff;text-decoration:none;font-family:var(--f-display);font-weight:700;font-size:1.15rem;letter-spacing:.02em;padding:.75em 1.15em;border-radius:999px;box-shadow:0 12px 30px -8px rgba(0,0,0,.7),0 0 0 3px rgba(7,10,18,.6)}
.wa-float svg{width:1.4em;height:1.4em}
@media (max-width:820px){.wa-float{display:inline-flex}}
