@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/lato-400.woff2) format("woff2")}
@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/lato-700.woff2) format("woff2")}
@font-face{font-family:Lato;font-style:normal;font-weight:800 900;font-display:swap;src:url(fonts/lato-900.woff2) format("woff2")}
:root{--k:#121212;--k2:#0B0B0B;--g:#C9A227;--g2:#9A7A12;--w:#f4efe2;--m:#a9a394}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--k2);color:var(--w);font:16px/1.6 Lato,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:20;background:rgba(10,10,10,.82);backdrop-filter:blur(12px);border-bottom:1px solid #2a2410}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:800;letter-spacing:.32em;text-decoration:none;font-size:18px}.logo b{color:var(--g)}
.links{display:flex;gap:22px;font-size:14px}.links a{text-decoration:none;color:var(--m)}.links a:hover,.links a.on{color:var(--g)}
.links a.main{color:var(--g);font-weight:700}
.burger{display:none;background:none;border:1px solid var(--g2);color:var(--g);padding:6px 10px;border-radius:6px}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:700;text-decoration:none;border:1px solid var(--g);transition:transform .2s,box-shadow .2s;cursor:pointer;font-size:15px}
.btn.p{background:linear-gradient(135deg,#e2c25a,var(--g) 45%,var(--g2));color:#111}.btn.o{color:var(--g);background:transparent}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(201,162,39,.6)}
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden}
.hero:before{content:"";position:absolute;inset:-20%;background:radial-gradient(40% 40% at 70% 30%,rgba(201,162,39,.22),transparent 70%),radial-gradient(30% 30% at 20% 80%,rgba(154,122,18,.18),transparent 70%);animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(-6%,4%) scale(1.1)}}
.hero .wrap{position:relative}
.eyebrow{color:var(--g);letter-spacing:.25em;font-size:12px;font-weight:700;text-transform:uppercase}
h1{font-size:clamp(38px,8vw,92px);line-height:1.02;letter-spacing:-.03em;margin:16px 0 22px;font-weight:800}
h1 em,h2 em{font-style:normal;background:linear-gradient(90deg,#f0d77a,var(--g),var(--g2));-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-size:clamp(28px,5vw,52px);line-height:1.08;letter-spacing:-.02em;margin:10px 0 16px}
h3{font-size:20px;margin-bottom:8px}
.lead{font-size:clamp(17px,2.2vw,21px);color:var(--m);max-width:680px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
section{padding:96px 0}.alt{background:var(--k)}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:linear-gradient(180deg,#171513,#0f0e0c);border:1px solid #2c2714;border-radius:18px;padding:28px;position:relative;transition:border-color .3s,transform .3s}
.card:hover{border-color:var(--g);transform:translateY(-4px)}
.card.feat{border-color:var(--g);box-shadow:0 0 0 1px var(--g) inset,0 30px 60px -30px rgba(201,162,39,.45)}
.tag{display:inline-block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#111;background:var(--g);padding:3px 10px;border-radius:99px;margin-bottom:12px;font-weight:700}
.price{font-size:38px;font-weight:800;color:var(--g);margin:10px 0}.price small{font-size:15px;color:var(--m);font-weight:500}
.card ul{list-style:none;margin:14px 0 22px}.card li{padding:6px 0 6px 22px;position:relative;color:#d8d2c2}.card li:before{content:"";position:absolute;left:0;top:14px;width:10px;height:2px;background:var(--g)}
.ph{border:1px dashed var(--g2);border-radius:14px;padding:22px;color:var(--m);font-size:14px;background:rgba(201,162,39,.04)}
.ph b{color:var(--g)}
.steps{counter-reset:s}.steps .card:before{counter-increment:s;content:"0" counter(s);font-size:40px;font-weight:800;color:#3a3118;display:block;margin-bottom:6px}
.banner{border:1px solid var(--g);border-radius:20px;padding:34px;background:radial-gradient(60% 120% at 0 0,rgba(201,162,39,.18),transparent)}
.marquee{overflow:hidden;border-block:1px solid #2a2410;padding:16px 0;white-space:nowrap;color:var(--g2);font-weight:700;letter-spacing:.2em;font-size:13px}
.marquee div{display:inline-block;animation:mq 30s linear infinite}@keyframes mq{to{transform:translateX(-50%)}}
details{border-bottom:1px solid #2a2410;padding:18px 0}summary{cursor:pointer;font-weight:700;list-style:none}summary:after{content:"+";float:right;color:var(--g)}details[open] summary:after{content:"–"}details p{color:var(--m);margin-top:10px}
footer{border-top:1px solid #2a2410;padding:48px 0 110px;color:var(--m);font-size:13px}
.fgrid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;display:none;gap:8px}
.sticky .btn{flex:1;text-align:center;padding:13px 10px}
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.rv:nth-child(2){transition-delay:.08s}.rv:nth-child(3){transition-delay:.16s}.rv:nth-child(4){transition-delay:.24s}
.bar{position:fixed;top:0;left:0;height:2px;background:var(--g);z-index:40;width:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.photo{aspect-ratio:4/5;border-radius:20px;border:1px dashed var(--g2);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--m);background:linear-gradient(160deg,#1a160c,#0b0b0b);padding:20px}
.draft{color:#111;background:#e9c44a;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.1em}
@media(max-width:860px){.links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:#0B0B0B;padding:20px;border-bottom:1px solid #2a2410}.links.open{display:flex}.burger{display:block}.split{grid-template-columns:1fr}section{padding:72px 0}.sticky{display:flex}.hero{min-height:80vh}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
/* v2 motion */
@view-transition{navigation:auto}
:root{interpolate-size:allow-keywords}
::view-transition-old(root){animation:vtOut .55s cubic-bezier(.7,0,.2,1) both}
::view-transition-new(root){animation:vtIn .7s cubic-bezier(.7,0,.2,1) both}
@keyframes vtOut{to{opacity:.25;transform:scale(.96)}}
@keyframes vtIn{from{clip-path:polygon(0 0,0 0,-30% 100%,-30% 100%)}to{clip-path:polygon(0 0,130% 0,100% 100%,-30% 100%)}}
::view-transition-group(*){animation-duration:.7s;animation-timing-function:cubic-bezier(.7,0,.2,1)}
.blade{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:0}
.blade:before{content:"";position:absolute;top:-20%;left:-40%;width:14%;height:140%;background:linear-gradient(90deg,transparent,rgba(240,215,122,.0) 10%,#f0d77a 45%,#C9A227 55%,transparent);filter:blur(2px);transform:skewX(-22deg) translateX(0);box-shadow:0 0 60px 20px rgba(201,162,39,.35)}
.slashing .blade{opacity:1}.slashing .blade:before{animation:blade .75s cubic-bezier(.7,0,.2,1) forwards}
@keyframes blade{to{transform:skewX(-22deg) translateX(1300%)}}
.wipe{position:fixed;inset:0;z-index:70;pointer-events:none;background:linear-gradient(110deg,#0B0B0B 0 46%,#C9A227 48%,#f0d77a 50%,#9A7A12 52%,#0B0B0B 54%);background-size:300% 100%;background-position:100% 0;transition:background-position .45s cubic-bezier(.7,0,.2,1)}
.wipe.go{background-position:0 0}
.ladder .card.rv{transform:perspective(900px) rotateX(18deg) translateY(50px) scale(.96);transform-origin:50% 100%}
.ladder .card.rv.in{transform:none}
.ladder .card.rv.in:after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;background:linear-gradient(110deg,transparent 40%,rgba(240,215,122,.35) 50%,transparent 60%);background-size:250% 100%;animation:shine 1.4s .4s ease both}
@keyframes shine{from{background-position:120% 0}to{background-position:-120% 0}}
.rv{transition-delay:var(--d,0s)}
details::details-content{block-size:0;overflow:hidden;transition:block-size .45s cubic-bezier(.2,.7,.2,1),content-visibility .45s allow-discrete}
details[open]::details-content{block-size:auto}
details summary{transition:color .3s}details[open] summary{color:var(--g)}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.blade,.wipe{display:none}.ladder .card.rv{transform:none}::view-transition-group(*),::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* v4.0 section colors (Bushin hub style guide). Blue #3E7CB1 is 4.43:1 on #0B0B0B, so it is used for accents and borders only and text uses the #6FA3D2 tint (7.35:1). Teal #1F9E89 is 5.91:1. */
body{--sc:#C9A227;--sct:#C9A227}
.sec-web{--sc:#3E7CB1;--sct:#6FA3D2}.sec-ai{--sc:#1F9E89;--sct:#1F9E89}
.sec-web .eyebrow,.sec-ai .eyebrow{color:var(--sct)}
.sec-web h1 em,.sec-web h2 em,.sec-ai h1 em,.sec-ai h2 em{background:linear-gradient(90deg,var(--sct),var(--sc));-webkit-background-clip:text;background-clip:text}
.sec-web .card.feat,.sec-ai .card.feat{border-color:var(--sc);box-shadow:0 0 0 1px var(--sc) inset,0 30px 60px -30px var(--sc)}
.sec-web .card:hover,.sec-ai .card:hover{border-color:var(--sc)}
.sec-web .tag,.sec-ai .tag{background:transparent!important;color:var(--sct);border:1px solid var(--sc)}
.sec-web .hero:before{background:radial-gradient(40% 40% at 70% 30%,rgba(62,124,177,.25),transparent 70%),radial-gradient(30% 30% at 20% 80%,rgba(201,162,39,.12),transparent 70%)}
.sec-ai .hero:before{background:radial-gradient(40% 40% at 70% 30%,rgba(31,158,137,.25),transparent 70%),radial-gradient(30% 30% at 20% 80%,rgba(201,162,39,.12),transparent 70%)}
.tile-web{border-left:3px solid #3E7CB1!important}.tile-web h3{color:#6FA3D2}
.tile-ai{border-left:3px solid #1F9E89!important}.tile-ai h3{color:#1F9E89}
.tile-coach{border-left:3px solid #C9A227!important}
/* v4.0 subtle 2026 hints (see plan doc Color research): warm graphite surfaces, warm hairlines, off-white ink, soft gold glow, gold-tinted shadows. Black + gold stay dominant. */
:root{--w:#F7F3EA;--m:#A8A29A}
.card{background:linear-gradient(180deg,#151412,#0F0E0D);border-color:#262320}
.hero{background-image:radial-gradient(60% 50% at 50% 0%,rgba(201,162,39,.10),transparent 70%)}
.card.feat{box-shadow:0 30px 60px -32px rgba(201,162,39,.35)}
/* v4.2 craft pass: editorial hero, signature mark, parallax, blur-in, offer tabs, restrained hovers */
.hero{min-height:92vh}
.hbg{position:absolute;inset:-6%;z-index:0;background:radial-gradient(55% 45% at 72% 28%,rgba(201,162,39,.20),transparent 70%),radial-gradient(40% 40% at 15% 85%,rgba(201,162,39,.08),transparent 70%);animation:hz 20s ease-in-out infinite alternate;will-change:transform}
.sec-web .hbg{background:radial-gradient(55% 45% at 72% 28%,rgba(62,124,177,.22),transparent 70%),radial-gradient(40% 40% at 15% 85%,rgba(201,162,39,.08),transparent 70%)}
.sec-ai .hbg{background:radial-gradient(55% 45% at 72% 28%,rgba(31,158,137,.22),transparent 70%),radial-gradient(40% 40% at 15% 85%,rgba(201,162,39,.08),transparent 70%)}
@keyframes hz{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero .wrap{padding-top:40px;padding-bottom:40px}
h1.hl{position:relative;font-size:clamp(44px,9.5vw,116px);font-weight:900;line-height:.98;letter-spacing:-.035em;margin:22px 0 34px;max-width:15ch}
h1.hl .hf{position:relative;z-index:3;color:#E9D48A}
.sec-web h1.hl .hf,.sec-ai h1.hl .hf{color:var(--w)}
h1.hl em{position:relative;z-index:1;display:block}
.hmark{position:absolute;z-index:2;left:-.04em;top:38%;font-size:1.9em;font-weight:900;letter-spacing:.02em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,162,39,.55);white-space:nowrap;pointer-events:none;will-change:transform;user-select:none}
.hmark b{color:rgba(201,162,39,.18);-webkit-text-stroke:1px rgba(201,162,39,.8)}
.divider{display:flex;align-items:center;gap:18px;max-width:1180px;margin:0 auto;padding:0 20px;height:0;position:relative;z-index:2}
.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.6),transparent)}
.divider span{font-size:11px;font-weight:900;letter-spacing:.4em;color:#8f8a80;transform:translateY(0);background:var(--k2);padding:4px 10px}
.divider span b{color:var(--g)}
.bz{transition:filter .6s ease-out,opacity .6s ease-out}
.js .bz:not(.in){filter:blur(8px);opacity:0}
.bz.done{filter:none;transition:none}
.otabs{position:sticky;top:64px;z-index:20;display:flex;gap:6px;overflow-x:auto;padding:10px 0;margin:0 0 22px;background:linear-gradient(var(--k) 75%,transparent);scrollbar-width:none}
.otabs button{flex:none;font:700 14px Lato,system-ui,sans-serif;color:var(--w);background:#151412;border:1px solid #262320;border-radius:999px;padding:10px 16px;min-height:44px;cursor:pointer}
.otabs button[aria-selected=true]{background:var(--g);color:#111;border-color:var(--g)}
.otabs button:focus-visible{outline:2px solid var(--g);outline-offset:2px}
[data-tab][hidden]{display:none!important}
.card{transition:border-color .3s,transform .3s ease-out,box-shadow .3s ease-out}
@media(hover:hover){.card:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(201,162,39,.35),0 12px 32px -16px rgba(201,162,39,.35)}}
@media(prefers-reduced-motion:reduce){.hbg{animation:none}.hmark{will-change:auto}.js .bz:not(.in){filter:none;opacity:1}.bz{transition:none}.card,.card:hover{transition:none;transform:none}}
