
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--bg:#0A0A0A;--bg2:#0F0F0F;--bg3:#141414;--bg4:#1A1A1A;--bg5:#111;
--gold:#C9A84C;--gold2:#D4B65E;--goldDim:rgba(201,168,76,0.08);--goldGlow:rgba(201,168,76,0.25);
--w:#FFFFFF;--w95:rgba(255,255,255,0.95);--w80:rgba(255,255,255,0.80);--w60:rgba(255,255,255,0.60);--w40:rgba(255,255,255,0.55);--w20:rgba(255,255,255,0.14);--w08:rgba(255,255,255,0.04);
--f:'Times New Roman','CG Times',Times,serif;
}
html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--gold) var(--bg)}
html::-webkit-scrollbar{width:6px}
html::-webkit-scrollbar-track{background:var(--bg)}
html::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}
body{background:var(--bg);color:var(--w);font-family:var(--f);font-size:17px;line-height:1.7;overflow-x:hidden}
::selection{background:var(--gold);color:var(--bg)}
a{color:inherit;text-decoration:none}


/* LOADER */
#loader{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;overflow:hidden}
.l-half{position:absolute;left:0;right:0;background:var(--bg);z-index:0;transition:transform 1s cubic-bezier(.76,0,.24,1)}
.l-top{top:0;height:50%}.l-bot{bottom:0;height:50%}
#loader.exit .l-top{transform:translateY(-100%)}
#loader.exit .l-bot{transform:translateY(100%)}
.l-center{position:relative;z-index:1;text-align:center}
.l-text{font-size:clamp(18px,3vw,30px);letter-spacing:clamp(6px,1.5vw,14px);text-transform:uppercase;color:var(--w)}
.l-text span{display:inline-block;opacity:0;transform:translateY(40%)}
.l-bar{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:16px auto 0;transition:width 1.2s cubic-bezier(.25,.1,.25,1);box-shadow:0 0 12px var(--goldGlow)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:9000;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);height:64px;background:rgba(10,10,10,0.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--w08);opacity:0;transform:translateY(-100%)}
.logo svg{height:22px;width:auto;display:block}
.logo-img{height:28px;width:auto;display:block}
.logo-img-gold{filter:sepia(1) saturate(4) hue-rotate(5deg) brightness(0.85)}
.nr{display:flex;align-items:center;gap:clamp(18px,3vw,40px)}
.na{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--w40);transition:color .3s}
.na:hover{color:var(--w)}
.nb{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;padding:10px 24px;background:var(--gold);color:var(--bg);font-family:var(--f);border:none;cursor:pointer;font-weight:600;transition:box-shadow .3s}
.nb:hover{box-shadow:0 0 32px var(--goldGlow)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.burger span{display:block;width:20px;height:1px;background:var(--w);margin:5px 0;transition:all .3s}
.mob{display:none;position:fixed;inset:0;z-index:9999;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;pointer-events:none;transition:opacity .3s}
.mob.open{opacity:1;pointer-events:all}
.mob a{font-size:22px;letter-spacing:4px;color:var(--w60)}
.mob-x{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--w);font-size:28px;cursor:pointer}
@media(max-width:900px){.nr .na,.nr .nb{display:none}.burger{display:block}.mob{display:flex}}

/* HERO */
#hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:0 clamp(48px,7vw,120px)}
#hero canvas{position:absolute;inset:0;z-index:0}
.hero-glow{position:absolute;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,0.07) 0%,transparent 70%);top:10%;right:-20%;z-index:0;filter:blur(100px);pointer-events:none}
.hero-glow2{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,0.04) 0%,transparent 70%);bottom:15%;left:-5%;z-index:0;filter:blur(70px);pointer-events:none}
/* Single-column hero layout */
.hi-wrap{position:relative;z-index:2;display:block;width:100%;padding:120px 0 160px}
@media(max-width:900px){.hi-wrap{padding:90px 0 120px}}
.hi{} /* left column */
.ho{font-size:11px;letter-spacing:6px;text-transform:uppercase;color:var(--gold);margin-bottom:24px;opacity:0}
.hh{font-size:clamp(40px,8.5vw,118px);line-height:1.02;letter-spacing:-2px;margin-bottom:28px;font-weight:400;max-width:860px}
.hh .ln{display:block;overflow:hidden}
.hh .ln span{display:inline-block;transform:translateY(110%)}
.hh em{font-style:italic;color:var(--gold)}
.hs{font-size:clamp(15px,1.4vw,18px);color:var(--w60);line-height:1.85;margin-bottom:40px;opacity:0;max-width:480px}
.hb{display:flex;gap:14px;flex-wrap:wrap;opacity:0}
/* Hero right panel */
.hi-right{display:flex;flex-direction:column;gap:2px}
@media(max-width:900px){.hi-right{display:none}}
.hr-metric{background:var(--bg3);padding:clamp(24px,3vw,40px);position:relative;overflow:hidden;border-left:2px solid transparent;transition:border-color .4s}
.hr-metric:hover{border-left-color:var(--gold)}
.hr-metric::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(201,168,76,0.04),transparent 70%)}
.hr-m-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--w40);margin-bottom:8px}
.hr-m-val{font-size:clamp(32px,4vw,52px);color:var(--gold);line-height:1;letter-spacing:-1px;margin-bottom:4px}
.hr-m-sub{font-size:13px;color:var(--w40);font-style:italic}
.btn{padding:14px 32px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-family:var(--f);border:none;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;font-weight:600}
.bp{background:var(--gold);color:var(--bg)}
.bp:hover{box-shadow:0 0 48px var(--goldGlow)}
.bp::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translateX(-100%)}
.bp:hover::after{animation:shim .5s forwards}
@keyframes shim{to{transform:translateX(100%)}}
.bs{background:transparent;color:var(--w80);border:1px solid var(--w20)}
.bs:hover{border-color:var(--gold);color:var(--gold)}

/* STATS BAR */
.stats{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;border-top:1px solid var(--w08);background:rgba(10,10,10,0.85);backdrop-filter:blur(16px)}
.st{flex:1;padding:24px clamp(16px,3vw,48px);border-right:1px solid var(--w08);opacity:0;transform:translateY(16px)}
.st:last-child{border-right:none}
.st-n{font-size:clamp(22px,2.8vw,32px);color:var(--gold);letter-spacing:-.5px;margin-bottom:2px}
.st-l{font-size:10px;color:var(--w40);letter-spacing:2px;text-transform:uppercase}
@media(max-width:600px){.stats{flex-direction:column}.st{border-right:none;border-bottom:1px solid var(--w08);padding:16px 20px}.st:last-child{border-bottom:none}}

/* TRUSTED BY / LOGO TICKER */
.trust{padding:48px 0;border-bottom:1px solid var(--w08);background:var(--bg);overflow:hidden;position:relative}
.trust-label{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--w40);text-align:center;margin-bottom:28px}
.ticker-wrap{overflow:hidden;position:relative}
.ticker-wrap::before,.ticker-wrap::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2}
.ticker-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.ticker-wrap::after{right:0;background:linear-gradient(90deg,transparent,var(--bg))}
.ticker{display:flex;align-items:center;gap:64px;animation:scroll 25s linear infinite;width:max-content}
.ticker img{height:28px;opacity:.4;filter:grayscale(1) brightness(2);transition:opacity .3s}
.ticker img:hover{opacity:.7}
.ticker-placeholder{height:28px;padding:0 20px;display:flex;align-items:center;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--w20);border:1px solid var(--w08);white-space:nowrap}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* SECTIONS */
.sec{padding:clamp(80px,10vw,140px) clamp(48px,7vw,120px);position:relative}
.sl{font-size:9px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;opacity:.9}
.sh{font-size:clamp(28px,4.5vw,64px);line-height:1.08;letter-spacing:-1px;margin-bottom:20px;font-weight:400;max-width:none}
.sh em{font-style:italic;color:var(--gold)}
.sp{font-size:15px;color:var(--w60);max-width:640px;line-height:1.9;margin-bottom:48px}
.gr{width:40px;height:1px;background:var(--gold);margin-bottom:28px}
.rv{opacity:0;transform:translateY(24px)}
.glow-div{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.12;margin:0}

/* PROBLEM */
#problem{background:var(--bg2)}
.prob-intro{font-size:clamp(22px,3.5vw,48px);line-height:1.25;margin-bottom:clamp(48px,6vw,80px);font-weight:400;color:var(--w95)}
.prob-intro em{font-style:italic;color:var(--gold)}
.prob-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2px}
@media(max-width:768px){.prob-grid-2{grid-template-columns:1fr}}
.prob-card{background:var(--bg3);padding:clamp(32px,4vw,56px);position:relative;overflow:hidden}
.prob-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.prob-card:hover::before{transform:scaleX(1)}
.prob-num{font-size:clamp(64px,9vw,120px);color:var(--gold);line-height:1;letter-spacing:-3px;opacity:.15;margin-bottom:8px}
.prob-card h3{font-size:clamp(20px,2.2vw,28px);margin-bottom:12px;font-weight:400;line-height:1.25;color:var(--w95)}
.prob-card p{font-size:15px;color:var(--w40);line-height:1.85}

/* WHAT WE DO */
#whatwedo{background:var(--bg)}
.wwd-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
@media(max-width:700px){.wwd-grid{grid-template-columns:1fr}}
.wwd-card{background:var(--bg3);padding:clamp(32px,4vw,56px);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;transition:background .3s}
.wwd-card:hover{background:var(--bg4)}
.wwd-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),rgba(201,168,76,0.3));transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.25,.1,.25,1)}
.wwd-card:hover::before{transform:scaleX(1)}
.wwd-card-head{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--w08);padding-bottom:18px}
.wwd-num{font-size:9px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;white-space:nowrap;opacity:.8}
.wwd-card h3{font-size:clamp(17px,1.8vw,22px);font-weight:400;line-height:1.2;margin:0;color:var(--w95)}
.wwd-card>p{font-size:14px;color:var(--w40);line-height:1.85;margin:0}
.wwd-delivers{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--w08);padding-top:14px;margin-top:auto;gap:0}
.wwd-delivers li{font-size:13px;color:var(--w60);padding:9px 0 9px 14px;position:relative;border-bottom:1px solid rgba(255,255,255,0.04);line-height:1.5}
.wwd-delivers li:last-child{border-bottom:none;padding-bottom:0}
.wwd-delivers li::before{content:'';position:absolute;left:0;top:17px;width:5px;height:1px;background:var(--gold);opacity:.8}
.wwd-note{margin-top:2px;background:var(--bg3);padding:clamp(32px,4vw,56px);border-left:3px solid var(--gold);display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,64px);align-items:center}
@media(max-width:768px){.wwd-note{grid-template-columns:1fr}}
.wwd-note-label{font-size:clamp(20px,2.5vw,30px);color:var(--w60);font-weight:400;line-height:1.3}
.wwd-note-label em{color:var(--gold);font-style:italic}
.wwd-note p{font-size:15px;color:var(--w40);line-height:1.8}
.wwd-note strong{color:var(--w95);font-weight:400}

/* PROCESS TIMELINE */
#process{background:var(--bg2)}
.tl{max-width:100%;position:relative}
.tl::before{content:'';position:absolute;left:20px;top:0;bottom:0;width:1px;background:var(--w08)}
.tl-fill{position:absolute;left:20px;top:0;width:1px;height:0;background:var(--gold);z-index:1;transition:height 2.5s cubic-bezier(.25,.1,.25,1)}
.ts{position:relative;padding:0 0 clamp(40px,5vw,64px) 64px;opacity:0;transform:translateY(24px)}
.ts:last-child{padding-bottom:0}
.td{position:absolute;left:13px;top:3px;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--w20);background:var(--bg2);z-index:2;transition:all .5s}
.ts.on .td{border-color:var(--gold);box-shadow:0 0 20px var(--goldGlow)}
.ts .tt{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.ts h4{font-size:clamp(18px,2vw,24px);margin-bottom:10px;line-height:1.3;font-weight:400}
.ts p{font-size:15px;color:var(--w40);line-height:1.75;max-width:680px}

/* RESULTS / CASE STUDIES */
#results{background:var(--bg)}
.res-note{font-size:12px;color:var(--w40);font-style:italic;margin-bottom:clamp(32px,4vw,56px)}
.case-list{display:flex;flex-direction:column;gap:2px}
.case{background:var(--bg3);overflow:hidden;position:relative}
.case::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gold);transition:width .5s cubic-bezier(.25,.1,.25,1)}
.case:hover::before{width:3px}
.case-top{display:flex;align-items:center;justify-content:space-between;padding:clamp(22px,3vw,40px) clamp(20px,3vw,48px);cursor:pointer;transition:background .3s;gap:20px}
.case-top:hover{background:var(--goldDim)}
.case-info{display:flex;align-items:center;gap:clamp(16px,3vw,56px);flex:1;flex-wrap:wrap}
.case-name{font-size:clamp(20px,2.2vw,28px);line-height:1.2;font-weight:400}
.case-ind{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--w40);margin-top:4px}
.case-nums{display:flex;gap:clamp(16px,2vw,40px);align-items:center;margin-left:auto}
.case-rev{font-size:clamp(16px,2vw,26px);color:var(--gold)}
.case-mult{font-size:13px;letter-spacing:1px;color:var(--gold);opacity:.7}
.case-btn{width:40px;height:40px;border:1px solid var(--w20);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s;background:none;cursor:pointer}
.case-btn:hover{border-color:var(--gold)}
.case-btn svg{transition:transform .3s;stroke:var(--w40)}
.case.open .case-btn svg{transform:rotate(45deg);stroke:var(--gold)}
.case-body{max-height:0;overflow:hidden;transition:max-height .7s cubic-bezier(.25,.1,.25,1)}
.case-inner{padding:0 clamp(20px,3vw,48px) clamp(32px,4vw,56px)}
.case-hero-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:clamp(28px,4vw,48px);background:var(--bg)}
.chn{background:var(--bg4);padding:clamp(20px,3vw,40px);text-align:center}
.chn-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--w40);margin-bottom:8px}
.chn-val{font-size:clamp(24px,3vw,40px);color:var(--gold);font-weight:400;letter-spacing:-0.5px}
@media(max-width:600px){.case-hero-nums{grid-template-columns:1fr}}
.case-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,64px);margin-bottom:clamp(28px,3vw,44px)}
@media(max-width:768px){.case-story{grid-template-columns:1fr}.case-info{flex-direction:column;gap:8px}}
.case-story h5{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.case-story p{font-size:15px;color:var(--w80);line-height:1.85}
.case-story ul{list-style:none}
.case-story li{font-size:14px;color:var(--w80);padding:7px 0 7px 18px;position:relative;line-height:1.7}
.case-story li::before{content:'';position:absolute;left:0;top:14px;width:6px;height:1px;background:var(--gold)}
.case-quote{padding:28px 36px;border-left:2px solid var(--gold);background:var(--goldDim);margin-bottom:28px}
.case-quote p{font-style:italic;color:var(--w95);font-size:17px;line-height:1.8}
.case-cta{padding-top:8px}

/* ABOUT */
#about{background:var(--bg2)}
.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:start}
@media(max-width:900px){.ab-grid{grid-template-columns:1fr}}
.ab-l h3,.ab-r h3{font-size:clamp(22px,2.8vw,30px);margin-bottom:14px;font-weight:400}
.ab-role{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.ab-l p,.ab-r p{font-size:15px;color:var(--w60);line-height:1.85;margin-bottom:14px}
.creds{list-style:none;margin-top:20px;padding-top:20px;border-top:1px solid var(--w08)}
.creds li{font-size:13px;color:var(--w40);padding:7px 0 7px 18px;position:relative;line-height:1.55}
.creds li::before{content:'';position:absolute;left:0;top:14px;width:8px;height:1px;background:var(--gold)}
.diff{margin-top:28px}
.diff-i{padding:14px 0;border-bottom:1px solid var(--w08)}
.diff-i:last-child{border-bottom:none}
.diff-i p{font-size:14px;color:var(--w40);line-height:1.7;margin:0}
.diff-i strong{color:var(--w95);font-weight:400}

/* PRICING */
#pricing{background:var(--bg)}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:40px}
@media(max-width:768px){.pr-grid{grid-template-columns:1fr}}
.pr-card{background:var(--bg3);padding:clamp(28px,4vw,52px)}
.pr-lab{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.pr-val{font-size:clamp(22px,2.8vw,32px);margin-bottom:18px;font-weight:400}
.pr-card p{font-size:14px;color:var(--w40);line-height:1.75}
.pr-foot{text-align:center;font-style:italic;color:var(--gold);font-size:15px;max-width:480px;margin:0 auto 28px;line-height:1.75}

/* FAQ */
#faq{background:var(--bg2)}
.faq-list{max-width:100%}
.fq{border-bottom:1px solid var(--w08)}
.fq-q{width:100%;background:none;border:none;color:var(--w);font-family:var(--f);font-size:clamp(16px,1.6vw,20px);text-align:left;padding:24px 56px 24px 0;cursor:pointer;position:relative;line-height:1.4;font-weight:400}
.fq-q::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:18px;color:var(--gold);transition:transform .3s}
.fq.open .fq-q::after{transform:translateY(-50%) rotate(45deg)}
.fq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.fq-a-in{padding-bottom:22px;color:var(--w40);font-size:15px;line-height:1.85}

/* CAREERS */
#careers{background:var(--bg)}
.car-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px)}
@media(max-width:768px){.car-grid{grid-template-columns:1fr}}
.car-col h4{font-size:20px;margin-bottom:18px;font-weight:400}
.car-col ul{list-style:none}
.car-col li{font-size:14px;color:var(--w40);padding:8px 0 8px 18px;position:relative;line-height:1.65}
.car-col li::before{content:'';position:absolute;left:0;top:15px;width:8px;height:1px;background:var(--gold)}
.car-box{margin-top:40px;padding:clamp(24px,3vw,40px);background:var(--bg3);border:1px solid var(--w08)}
.car-box h4{font-size:20px;margin-bottom:14px;font-weight:400}
.car-box p{font-size:14px;color:var(--w40);line-height:1.75;margin-bottom:10px}

/* CTA */
#cta{padding:clamp(100px,14vw,180px) clamp(48px,7vw,120px);text-align:center;position:relative;overflow:hidden;background:var(--bg2)}
#cta canvas{position:absolute;inset:0;z-index:0}
.cta-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,0.05) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);filter:blur(80px);pointer-events:none;z-index:0}
.cta-in{position:relative;z-index:2}
.cta-in .sh{margin:0 auto 20px;text-align:center;max-width:580px}
.cta-in .sp{margin:0 auto 36px;text-align:center;max-width:460px}
.cta-note{font-size:12px;color:var(--w40);margin-top:14px}

/* KRYSON GROUP BAND */
.kg-band{background:var(--bg3);border-top:1px solid var(--w08);border-bottom:1px solid var(--w08);padding:16px clamp(48px,7vw,120px)}
.kg-band-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.kg-band-text{font-size:11px;letter-spacing:1.5px;color:var(--w40);text-transform:uppercase}
.kg-band-text strong{color:var(--w60);font-weight:400}
.kg-band-divider{color:var(--w20);font-size:11px}
.kg-band-sub{font-size:11px;color:var(--w20);letter-spacing:.5px;font-style:italic}
@media(max-width:600px){.kg-band{padding:14px 24px}.kg-band-divider,.kg-band-sub{display:none}}

/* FOOTER */
footer{padding:72px clamp(48px,7vw,120px) 40px;border-top:1px solid var(--w08);background:var(--bg)}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px}
@media(max-width:768px){.fg{grid-template-columns:1fr}}
.fb .logo{margin-bottom:14px}
.fb p{font-size:13px;color:var(--w40);line-height:1.6}
.fc h5{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--w40);margin-bottom:16px}
.fc ul{list-style:none}
.fc li{margin-bottom:8px}
.fc a{font-size:13px;color:var(--w40);transition:color .3s}
.fc a:hover{color:var(--w)}
.fbot{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--w08);font-size:11px;color:var(--w20);flex-wrap:wrap;gap:10px}
.fbot a{color:var(--w20);transition:color .3s}
.fbot a:hover{color:var(--w40)}

/* ═══ VISUAL ELEMENTS ═══ */

/* Revenue Funnel (Problem Section) */
.funnel-vis{margin:clamp(40px,5vw,72px) 0;background:var(--bg3);padding:clamp(28px,4vw,56px)}
.funnel-heading{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:28px}
.funnel-row{display:grid;grid-template-columns:clamp(120px,16%,200px) 1fr 80px;align-items:center;gap:16px;margin-bottom:12px}
.funnel-row:last-child{margin-bottom:0}
.funnel-label{font-size:12px;color:var(--w40);text-align:right;letter-spacing:.5px}
.funnel-track{height:36px;background:var(--bg4);position:relative;overflow:hidden}
.funnel-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,var(--gold),rgba(201,168,76,0.45));width:0;transition:width 1.6s cubic-bezier(.25,.1,.25,1)}
.funnel-pct{font-size:14px;color:var(--gold);font-style:italic}
.funnel-note{margin-top:20px;font-size:13px;color:var(--w40);font-style:italic;border-top:1px solid var(--w08);padding-top:16px}
@media(max-width:600px){.funnel-row{grid-template-columns:80px 1fr 48px}}

/* Phase Icons */
.wwd-icon{width:40px;height:40px;margin-bottom:20px}

/* Process: 2-column with visual panel */
.process-wrap{display:grid;grid-template-columns:1fr 440px;gap:clamp(40px,5vw,80px);align-items:start}
@media(max-width:1100px){.process-wrap{grid-template-columns:1fr}}
.process-visual{position:sticky;top:88px}
@media(max-width:1100px){.process-visual{display:none}}
.growth-panel{background:var(--bg3);overflow:hidden}
.growth-panel-header{padding:clamp(24px,3vw,36px) clamp(24px,3vw,36px) 0}
.growth-panel-tag{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.growth-panel-title{font-size:clamp(16px,1.6vw,20px);font-weight:400;line-height:1.35;color:var(--w80);margin-bottom:20px}
.growth-chart-wrap{padding:0 clamp(24px,3vw,36px) clamp(24px,3vw,36px)}
.growth-svg-el{width:100%;height:auto;display:block}
.growth-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:2px}
.gms-cell{background:var(--bg4);padding:clamp(16px,2vw,24px)}
.gms-val{font-size:clamp(22px,3vw,36px);color:var(--gold);letter-spacing:-1px;line-height:1;margin-bottom:4px}
.gms-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--w40)}

/* Stats Band (before case studies) */
.stats-band{background:var(--bg2);padding:clamp(56px,8vw,112px) clamp(48px,7vw,120px);display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border-top:1px solid var(--w08);border-bottom:1px solid var(--w08)}
@media(max-width:768px){.stats-band{grid-template-columns:1fr}}
.sb-item{padding:clamp(32px,4vw,56px);background:var(--bg3);text-align:center;position:relative;overflow:hidden}
.sb-item::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--gold);transition:width .8s ease}
.sb-item.vis::after{width:48px}
.sb-num{font-size:clamp(44px,7vw,88px);color:var(--gold);line-height:1;letter-spacing:-2px;margin-bottom:10px;font-weight:400}
.sb-label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--w40)}
.sb-sub{font-size:14px;color:var(--w60);margin-top:6px;font-style:italic}

/* Portrait (About) */
.ab-portrait-col{display:block}
@media(max-width:1100px){.ab-portrait-col{display:none}}
.kyle-portrait{width:100%;aspect-ratio:2/3;background:var(--bg3);position:relative;overflow:hidden;border:1px solid var(--w08)}
.kyle-portrait-img{width:100%;height:100%;object-fit:cover;object-position:center 10%;display:block}
.kyle-portrait-corner{position:absolute;width:16px;height:16px;border-color:var(--gold);border-style:solid;opacity:.5}
.kyle-portrait-corner.tl{top:12px;left:12px;border-width:1px 0 0 1px}
.kyle-portrait-corner.tr{top:12px;right:12px;border-width:1px 1px 0 0}
.kyle-portrait-corner.bl{bottom:12px;left:12px;border-width:0 0 1px 1px}
.kyle-portrait-corner.br{bottom:12px;right:12px;border-width:0 1px 1px 0}
.kyle-portrait-tag{position:absolute;bottom:0;left:0;right:0;padding:40px 24px 20px;background:linear-gradient(transparent,rgba(10,10,10,0.98))}
.kyle-portrait-name{font-size:14px;letter-spacing:2px;color:var(--w95);text-transform:uppercase}
.kyle-portrait-role{font-size:10px;letter-spacing:3px;color:var(--gold);margin-top:5px;text-transform:uppercase}

/* Updated 3-col about grid */
.ab-grid{display:grid;grid-template-columns:220px 1fr 1fr;gap:clamp(32px,4vw,64px);align-items:start}
@media(max-width:1100px){.ab-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.ab-grid{grid-template-columns:1fr}}

/* Phase deliverables list */
.phase-deliverables{display:flex;flex-direction:column;gap:0}
.ph-del{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--w08);align-items:start}
.ph-del:last-child{border-bottom:none}
.ph-del-num{font-size:10px;letter-spacing:2px;color:var(--gold);padding-top:3px}
.ph-del-title{font-size:14px;color:var(--w95);margin-bottom:6px;font-weight:400}
.ph-del-content p{font-size:12px;color:var(--w40);line-height:1.7;margin:0}

/* ── BOOKING MODAL ── */
.bm-overlay{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,0.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s ease;padding:20px}
.bm-overlay.open{opacity:1;pointer-events:all}
.bm-panel{background:var(--bg2);border:1px solid var(--w08);width:min(680px,100%);max-height:90vh;overflow-y:auto;position:relative;transform:translateY(20px);transition:transform .35s ease;scrollbar-width:none}
.bm-panel::-webkit-scrollbar{display:none}
.bm-overlay.open .bm-panel{transform:translateY(0)}
.bm-head{padding:clamp(20px,4vw,44px) clamp(20px,4vw,44px) 0;border-bottom:1px solid var(--w08);padding-bottom:20px;margin-bottom:0}
.bm-tag{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.bm-title{font-size:clamp(18px,2.5vw,26px);font-weight:400;margin-bottom:6px;line-height:1.2}
.bm-sub{font-size:13px;color:var(--w40);font-style:italic}
.bm-close{position:absolute;top:14px;right:18px;background:none;border:1px solid var(--w08);color:var(--w40);font-size:20px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:1;font-family:sans-serif;line-height:1}
.bm-close:hover{border-color:var(--gold);color:var(--w)}
.bm-iframe-wrap{padding:0}
.bm-iframe-wrap iframe{width:100%;border:none;display:block;min-height:580px}
@media(max-width:600px){.bm-iframe-wrap iframe{min-height:520px}}

/* ── MOBILE OPTIMISATION ── */
@media(max-width:900px){
  .btn{cursor:pointer}
  .nb,.bp,.bs{cursor:pointer}
  .case-top{cursor:pointer}
  .fq-q{cursor:pointer}
  .bm-close{cursor:pointer}
}
@media(max-width:768px){
  .case-info{flex-direction:column;gap:6px;align-items:flex-start}
  .case-nums{margin-left:0;flex-direction:column;align-items:flex-start;gap:4px}
  .case-top{flex-wrap:nowrap;align-items:flex-start}
  .stats{flex-direction:column}
  .st{border-right:none;border-bottom:1px solid var(--w08);padding:16px clamp(24px,5vw,48px)}
  .st:last-child{border-bottom:none}
  .stats-band{padding:clamp(32px,5vw,64px) clamp(20px,5vw,40px);grid-template-columns:1fr}
  .prob-num{font-size:clamp(48px,12vw,80px)}
  .prob-grid-2{grid-template-columns:1fr}
  .wwd-card{min-height:unset}
  .wwd-grid{grid-template-columns:1fr}
  .pr-grid{grid-template-columns:1fr}
  .car-grid{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr;gap:28px}
  .cta-decor{font-size:clamp(40px,18vw,120px)}
  .ab-grid{grid-template-columns:1fr}
  .hr-result-row{grid-template-columns:1fr 1fr}
  .sh{letter-spacing:-.5px}
}
@media(max-width:480px){
  nav{padding:0 20px}
  .sec{padding:clamp(48px,8vw,80px) 24px}
  #hero{padding:0 24px}
  #cta{padding:clamp(64px,10vw,100px) 24px}
  footer{padding:40px 24px 24px}
  .hb{flex-direction:column}
  .hb .btn{width:100%;text-align:center;padding:16px}
  .sb-item{padding:clamp(20px,4vw,32px)}
  .case-hero-nums{grid-template-columns:1fr 1fr}
  .case-story{grid-template-columns:1fr}
  .ts{padding-left:44px}
  .fq-q{font-size:15px;padding:20px 40px 20px 0}
  .hi-wrap{padding:80px 0 120px}
  .hh{font-size:clamp(36px,9vw,60px)}
  .stats-band{grid-template-columns:1fr}
  /* Booking modal full screen on small mobile */
  .bm-overlay{padding:0;align-items:flex-end}
  .bm-panel{width:100%;max-height:95vh;border-radius:0}
}

/* CTA decorative text */
.cta-decor{position:absolute;font-family:var(--f);font-size:clamp(80px,18vw,260px);color:rgba(201,168,76,0.025);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;letter-spacing:-6px;pointer-events:none;z-index:0;line-height:1;user-select:none}

/* Hero right: results panel */
.hi-right{display:flex;flex-direction:column;gap:2px}
@media(max-width:900px){.hi-right{display:none}}
.hr-chart-panel{background:var(--bg3);padding:clamp(24px,3vw,40px);border-left:2px solid rgba(201,168,76,0.2);flex:1}
.hr-chart-tag{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.hr-chart-title{font-size:13px;color:var(--w40);line-height:1.5;margin-bottom:20px;font-style:italic}
.hr-result-list{display:flex;flex-direction:column;gap:0}
.hr-result-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--w08)}
.hr-result-row:last-child{border-bottom:none}
.hr-result-label{font-size:11px;color:var(--w40);letter-spacing:.5px}
.hr-result-change{font-size:12px;color:var(--w80);font-style:italic}
.hr-result-mult{font-size:clamp(16px,2vw,22px);color:var(--gold);letter-spacing:-0.5px;text-align:right;white-space:nowrap;font-weight:400}
.hr-result-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--w08);font-size:10px;color:var(--w20);letter-spacing:.5px;line-height:1.6}

/* Featured results cards (homepage) */
.feat-results{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
@media(max-width:900px){.feat-results{grid-template-columns:1fr}}
.fr-card{background:var(--bg3);padding:clamp(28px,4vw,48px);position:relative;overflow:hidden;border-top:2px solid transparent;transition:border-color .4s}
.fr-card:hover{border-top-color:var(--gold)}
.fr-ind{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--w40);margin-bottom:10px}
.fr-name{font-size:clamp(18px,2vw,24px);font-weight:400;margin-bottom:16px;color:var(--w95)}
.fr-num{font-size:clamp(20px,2.5vw,32px);color:var(--gold);letter-spacing:-.5px;margin-bottom:4px;line-height:1.1}
.fr-num span{font-size:.55em;color:var(--w60)}
.fr-meta{font-size:12px;letter-spacing:1.5px;color:var(--gold);opacity:.7;margin-bottom:20px;text-transform:uppercase}
.fr-quote{font-size:14px;color:var(--w60);font-style:italic;line-height:1.7;border-top:1px solid var(--w08);padding-top:16px}
