:root{--bk:#000;--wh:#fff;--mu:#a8a8a8;--ln:#2a2a2a;--cb:#0047ab;--cbl:#4b8bff;--serif:"Cormorant Garamond",Garamond,Georgia,serif;--f:"Jost","Futura","Century Gothic",Arial,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{font:300 1.05rem/1.7 var(--f);background:var(--bk);color:var(--wh)}
a{color:inherit}
:focus-visible{outline:2px solid var(--cbl);outline-offset:3px}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 5vw;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--ln)}
.logo{font-family:var(--serif);font-size:1.5rem;letter-spacing:.12em;text-decoration:none}
.nav nav a{margin-left:2rem;text-decoration:none;font-size:.85rem;letter-spacing:.06em}
.nav nav a:hover{color:var(--cbl)}
body:has(.landing){overflow:hidden;height:100vh}
.hero{position:relative;overflow:hidden;padding:9vh 5vw 4vh;height:calc(100vh - 62px)}
.wave{position:absolute;inset:auto 0 0 0;width:100%;height:70%;opacity:.9;pointer-events:none}
.glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
.g1{width:420px;height:420px;background:var(--cb);opacity:.45;right:-100px;top:5%}
.g2{width:260px;height:260px;background:var(--cbl);opacity:.18;left:30%;bottom:-80px}
h1{position:relative;font:400 clamp(2.4rem,6.2vw,5.4rem)/1 var(--serif);text-transform:uppercase;max-width:20ch}
h1 em{font-style:italic}
.hero-row{position:relative;display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2vh}
.hero-copy{max-width:30ch;flex:none;position:relative;z-index:2}
.lead{color:#d0d0d0;margin-bottom:1.8rem;font-size:1.05rem}
.dbwrap{position:relative;width:min(900px,66vw);flex:none;margin-right:-4vw}
.halo{position:absolute;inset:-25%;background:radial-gradient(closest-side,rgba(75,139,255,.55),rgba(0,71,171,.35) 45%,transparent 75%);filter:blur(30px);animation:pulse 4s ease-in-out infinite}
.db{position:relative;width:100%;transform:rotate(-10deg);filter:drop-shadow(0 0 28px rgba(0,71,171,.9)) drop-shadow(0 0 70px rgba(75,139,255,.5))}
@keyframes pulse{50%{opacity:.7;transform:scale(1.06)}}

.btn{display:inline-block;font:500 .95rem var(--f);letter-spacing:.06em;padding:.9rem 2.4rem;background:var(--cb);color:var(--wh);border:1px solid var(--cb);cursor:pointer;text-decoration:none;transition:background .15s}
.btn:hover{background:var(--cbl);border-color:var(--cbl)}
.btn.ghost{background:transparent;border-color:var(--wh)}
main#top>.sec:first-child{padding-top:14vh}
.sec{padding:10vh 5vw;border-top:1px solid var(--ln);position:relative}
h2{font:400 clamp(2.2rem,5.5vw,4rem)/1.05 var(--serif);margin-bottom:2.5rem;padding-bottom:1rem;border-bottom:2px solid var(--cb);display:inline-block}
h3{font:500 1.6rem/1.2 var(--serif);margin-bottom:.4rem}
.sub{max-width:60ch;margin:-1rem 0 1.5rem;color:var(--mu)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--ln);border:1px solid var(--ln)}
.grid article{background:var(--bk);padding:1.8rem;border-top:3px solid var(--cb)}
.grid article h3{color:var(--cbl)}
.grid p{color:#cfcfcf}
.tool{margin-top:3rem;padding:2rem;background:var(--cb);max-width:640px;box-shadow:0 0 80px rgba(0,71,171,.5)}
.tool .btn{background:var(--wh);color:var(--cb);border-color:var(--wh)}
.tool .btn.ghost{background:transparent;color:var(--wh)}
.tool p{margin-bottom:.8rem}
.note{color:var(--mu);font-size:.95rem;margin:.8rem 0}
.tool .note{color:#dbe6ff}
.tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
.tab{font:400 .95rem var(--f);padding:.7rem 1.4rem;background:transparent;color:var(--wh);border:1px solid #555;cursor:pointer}
.tab.on{background:var(--cb);border-color:var(--cb)}
.workouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.5rem;margin-top:1rem}
.wk{border:1px solid var(--ln);padding:1.5rem;border-top:3px solid var(--cb)}
.wk h3{margin-bottom:1rem}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--ln)}
th{color:var(--cbl);font-weight:500}
.rules{margin-top:2rem;max-width:70ch;color:#cfcfcf}
.ex{max-width:820px;border-top:1px solid var(--ln)}
details{border-bottom:1px solid var(--ln)}
summary{cursor:pointer;padding:1.1rem .2rem;font:500 1.5rem var(--serif);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--cbl);font-size:1.6rem}
details[open] summary::after{content:"\2212"}
summary span{font:300 .9rem var(--f);color:var(--mu);margin-left:auto}
.det{padding:0 .2rem 1.5rem;color:#d0d0d0}
.det h4{margin:.8rem 0 .3rem;color:var(--cbl);font-weight:500}
.det ol,.det ul{padding-left:1.3rem}
.vid{display:inline-block;margin-top:1rem;padding:.6rem 1.3rem;border:1px solid var(--cbl);text-decoration:none;color:var(--cbl)}
.vid:hover{background:var(--cb);color:var(--wh)}
.srch{display:block;margin-bottom:1.5rem;color:var(--mu)}
.srch input{display:block;width:100%;max-width:420px;margin-top:.4rem;padding:.8rem;font:inherit;color:var(--wh);background:transparent;border:1px solid #555;border-radius:0}
.gl{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem 2.5rem}
.gl dt{font:500 1.35rem var(--serif);color:var(--cbl)}
.gl dd{margin:0;color:#cfcfcf}
.foot{padding:2.5rem 5vw;border-top:1px solid var(--ln);color:var(--mu);background:linear-gradient(0deg,rgba(0,71,171,.35),transparent)}
.foot strong{font:400 1.3rem var(--serif);letter-spacing:.12em;color:var(--wh);margin-right:1rem}
@media(max-width:700px){.nav nav a{margin:0 1rem 0 0}.hero-row{flex-direction:column;align-items:flex-start}.dbwrap{width:88vw;margin:0}.tab{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.halo{animation:none}}
