*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#07071a;
  --pink:#FF2D78;
  --cyan:#00EEFF;
  --lime:#B8FF00;
  --orange:#FF7A00;
  --track:#FFD600;
  --card:rgba(255,255,255,.04);
  --border:rgba(255,255,255,.08);
  --muted:rgba(255,255,255,.54);
  --sidebar:110px;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:#fff;font-family:'DM Sans',sans-serif;overflow-x:hidden;cursor:none}

.cur{position:fixed;width:16px;height:16px;border:2px solid var(--pink);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .08s;mix-blend-mode:screen}
.cur.click{transform:translate(-50%,-50%) scale(.5);background:var(--pink)}
#stars{position:fixed;inset:0;z-index:0;pointer-events:none}
.nav-tabs{position:fixed;top:0;left:var(--sidebar);right:0;z-index:200;display:flex;align-items:center;gap:2px;padding:0 1.5rem;background:rgba(7,7,26,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);height:42px;overflow-x:auto;scrollbar-width:none}
.nav-tabs::-webkit-scrollbar{display:none}
.nav-tab{background:none;border:none;color:rgba(255,255,255,.35);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:0 14px;height:42px;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;flex-shrink:0}
.nav-tab:hover{color:rgba(255,255,255,.7)}
.nav-tab.on{color:var(--pink);border-bottom-color:var(--pink)}
.pbar{position:fixed;top:42px;left:var(--sidebar);right:0;height:2px;z-index:300;background:rgba(255,255,255,.05)}
.pfill{height:100%;background:linear-gradient(90deg,var(--pink),var(--cyan),var(--lime));width:0%;transition:width .08s linear}
.veil{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:0;transition:opacity .2s}
.veil.on{opacity:1;background:radial-gradient(ellipse at 60% 50%,transparent 28%,rgba(255,45,120,.1) 100%)}

/* SIDEBAR */
.sidebar{position:fixed;left:0;top:0;width:var(--sidebar);height:100vh;z-index:100;background:rgba(7,7,26,.94);border-right:1px solid rgba(255,255,255,.04)}
#tsvg{width:100%;height:100%}

/* MAIN */
.main{margin-left:var(--sidebar);position:relative;z-index:10;padding-top:42px}
.sec{min-height:100vh;padding:7rem 6vw 7rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.bnum{font-family:'Bebas Neue',sans-serif;font-size:clamp(7rem,20vw,17rem);position:absolute;right:-.02em;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.022);pointer-events:none;line-height:1;user-select:none}

/* REVEAL */
.ri{opacity:0;transform:translateY(48px) scale(.978);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.ri.in{opacity:1;transform:none}
.ri:nth-child(2){transition-delay:.1s}.ri:nth-child(3){transition-delay:.2s}
.ri:nth-child(4){transition-delay:.3s}.ri:nth-child(5){transition-delay:.4s}
.ri:nth-child(6){transition-delay:.5s}

/* TYPE */
.disp{font-family:'Bebas Neue',sans-serif;line-height:.93;letter-spacing:.025em}
h1.disp{font-size:clamp(4.5rem,14vw,12rem)}
h2.disp{font-size:clamp(3rem,8vw,7rem)}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.25rem;display:flex;align-items:center;gap:10px}
.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:blink 2s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.18}}
.body{font-size:clamp(.93rem,1.5vw,1.08rem);line-height:1.78;color:var(--muted);max-width:640px}
.divl{width:44px;height:2px;margin:1.5rem 0}
.italic{font-style:italic;font-weight:300;color:rgba(255,255,255,.45)}

/* CHIPS */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:1.5rem 0}
.chip{font-size:12px;padding:5px 14px;border-radius:100px;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.48);background:rgba(255,255,255,.03);transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .2s,color .2s;cursor:default}
.chip:hover{transform:translateY(-4px) scale(1.06)}
.chip.pk{border-color:rgba(255,45,120,.4);color:var(--pink);background:rgba(255,45,120,.07)}
.chip.pk:hover{box-shadow:0 6px 20px rgba(255,45,120,.35);border-color:var(--pink)}
.chip.cy{border-color:rgba(0,238,255,.3);color:var(--cyan);background:rgba(0,238,255,.05)}
.chip.cy:hover{box-shadow:0 6px 20px rgba(0,238,255,.3);border-color:var(--cyan)}
.chip.lm{border-color:rgba(184,255,0,.3);color:var(--lime);background:rgba(184,255,0,.05)}
.chip.lm:hover{box-shadow:0 6px 20px rgba(184,255,0,.25);border-color:var(--lime)}
.chip.or{border-color:rgba(255,122,0,.3);color:var(--orange);background:rgba(255,122,0,.05)}
.chip.or:hover{box-shadow:0 6px 20px rgba(255,122,0,.3);border-color:var(--orange)}

/* SCROLL HINT */
.shint{display:flex;align-items:center;gap:12px;font-size:11px;color:rgba(255,255,255,.26);letter-spacing:.15em;text-transform:uppercase;margin-top:.5rem}
.sarr{width:17px;height:17px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);transform:rotate(45deg);animation:bob 1.7s ease infinite}
@keyframes bob{0%,100%{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(6px)}}

/* STOP BADGE */
.stop-badge{display:inline-flex;align-items:center;gap:8px;background:var(--track);color:#000;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:.1em;padding:5px 16px;border-radius:5px;margin-bottom:1rem}

/* GRID */
.grid{display:grid;gap:12px}
.g2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}

/* CARD */
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:border-color .2s,transform .2s;position:relative;overflow:visible}
.card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.02) 0%,transparent 55%);pointer-events:none}
.card:hover{border-color:rgba(255,255,255,.15);transform:translateY(-3px)}
.clbl{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.cbody{font-size:12.5px;color:rgba(255,255,255,.46);line-height:1.72}
.cfeat{background:rgba(255,45,120,.06);border-color:rgba(255,45,120,.18)}

/* TIMELINE */
.tl{margin-top:2.5rem;display:flex;flex-direction:column;position:relative;max-width:720px}
.tl::before{content:'';position:absolute;left:6px;top:12px;bottom:12px;width:1px;background:linear-gradient(to bottom,var(--pink),var(--cyan),var(--lime))}
.tli{padding:0 0 3rem 2.5rem;position:relative}
.tld{position:absolute;left:0;top:7px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--pink)}
.tld.cy{border-color:var(--cyan)}.tld.lm{border-color:var(--lime)}
.tlp{font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.28);text-transform:uppercase;margin-bottom:4px}
.tlr{font-family:'Bebas Neue',sans-serif;font-size:1.45rem;letter-spacing:.03em;margin-bottom:2px}
.tlco{font-size:13px;color:rgba(255,255,255,.42);margin-bottom:10px;font-style:italic}
.tlbulls{display:flex;flex-direction:column;gap:7px}
.tlbull{font-size:12.5px;color:rgba(255,255,255,.44);line-height:1.65;padding-left:15px;position:relative}
.tlbull::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--pink);opacity:.55}
.tlbull.cy::before{background:var(--cyan)}
.tlbull.lm::before{background:var(--lime)}

/* STATS */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:rgba(255,255,255,.05);border-radius:16px;overflow:hidden;margin-top:2.5rem}
.stat{background:var(--bg);padding:2rem 1.5rem;text-align:center;transition:background .2s}
.stat:hover{background:rgba(255,255,255,.03)}
.stn{font-family:'Bebas Neue',sans-serif;font-size:3rem;line-height:1;margin-bottom:6px}
.stl{font-size:12px;color:rgba(255,255,255,.36);line-height:1.5}

/* COMPETENCY GRID */
.comp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:2rem;max-width:840px}
.comp{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.35rem}
.comp-lbl{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.comp-item{font-size:12.5px;color:rgba(255,255,255,.44);padding-left:14px;position:relative;line-height:1.55;margin-bottom:6px}
.comp-item::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;opacity:.55}

/* SERIES */
.series{background:linear-gradient(135deg,rgba(255,45,120,.07) 0%,rgba(0,238,255,.04) 100%);border:1px solid rgba(255,45,120,.18);border-radius:16px;padding:1.75rem;max-width:760px}
.series-title{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;letter-spacing:.04em;margin-bottom:.5rem}
.series-body{font-size:13px;color:rgba(255,255,255,.5);line-height:1.72;max-width:600px}

/* PHILOSOPHY */
.phi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:2rem;max-width:840px}
.phi{border-left:2px solid var(--pink);padding:1.1rem 1.25rem;background:rgba(255,45,120,.04);border-radius:0 12px 12px 0}
.phi-n{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:var(--pink);line-height:1;margin-bottom:.4rem}
.phi-t{font-size:13px;font-weight:500;margin-bottom:5px}
.phi-d{font-size:12px;color:rgba(255,255,255,.43);line-height:1.65}
.phi.cy{border-color:var(--cyan);background:rgba(0,238,255,.03)}.phi.cy .phi-n{color:var(--cyan)}
.phi.lm{border-color:var(--lime);background:rgba(184,255,0,.03)}.phi.lm .phi-n{color:var(--lime)}

/* BATTLE CARDS */
.bc{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform .2s,border-color .2s}
.bc:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.14)}
.bch{padding:1rem 1.25rem .875rem;border-bottom:1px solid rgba(255,255,255,.06)}
.bcco{font-size:13px;font-weight:500}.bcro{font-size:11px;color:rgba(255,255,255,.3);margin-top:2px}
.bcb{padding:1rem 1.25rem}.bcrow{margin-bottom:10px}
.bclbl{font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px}
.bctxt{font-size:12px;color:rgba(255,255,255,.46);line-height:1.62}
.bcbadge{display:inline-block;font-size:10px;font-weight:500;padding:3px 10px;border-radius:100px;margin-top:8px}
.win{background:rgba(184,255,0,.1);color:var(--lime);border:1px solid rgba(184,255,0,.2)}
.push{background:rgba(0,238,255,.08);color:var(--cyan);border:1px solid rgba(0,238,255,.2)}

/* TOOLS */
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;margin-top:1.75rem}
.tool{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.1rem;text-align:center;transition:border-color .2s,background .2s}
.tool:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
.tico{font-size:20px;display:block;margin-bottom:8px}
.tname{font-size:12px;font-weight:500;color:rgba(255,255,255,.8);display:block}
.tuse{font-size:11px;color:rgba(255,255,255,.3);display:block;margin-top:3px}

/* CTA */
.cta-q{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,6vw,5rem);line-height:1.02;margin:1.5rem 0 2.5rem;max-width:860px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btnm{background:var(--pink);color:#fff;border:none;padding:14px 30px;border-radius:8px;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:.08em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:opacity .15s,transform .15s}
.btnm:hover{opacity:.85;transform:scale(1.02)}
.btno{background:transparent;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.14);padding:14px 30px;border-radius:8px;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:.08em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:border-color .15s,color .15s}
.btno:hover{border-color:rgba(255,255,255,.32);color:#fff}
.ftl{font-size:11px;color:rgba(255,255,255,.15);letter-spacing:.1em;text-transform:uppercase;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05)}

@media(max-width:640px){
  :root{--sidebar:72px}
  .sec{padding:4rem 1.25rem}
  .g3,.g4{grid-template-columns:1fr 1fr}
}
/* ABOUT BLOCKS */
.about-block{max-width:680px;margin-bottom:2rem;padding-left:1.25rem;border-left:2px solid rgba(255,255,255,.08);transition:border-color .2s}
.about-block:hover{border-color:var(--pink)}
.about-label{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.6rem}
.about-p{font-size:clamp(.9rem,1.4vw,1.05rem);line-height:1.8;color:rgba(255,255,255,.58)}
.about-human{max-width:720px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:1.75rem;margin-top:2rem;display:flex;flex-direction:column;gap:1.25rem}
.human-line{display:flex;gap:14px;align-items:flex-start;font-size:13px;color:rgba(255,255,255,.52);line-height:1.75}
.human-ico{font-size:16px;flex-shrink:0;margin-top:2px;opacity:.7}
/* CASE STUDY TABS */
.cs-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.5rem}
.cs-tab{background:var(--card);border:1px solid var(--border);border-radius:100px;padding:8px 20px;font-size:12px;font-weight:500;color:rgba(255,255,255,.45);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.cs-tab:hover{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.2)}
.cs-tab.on{background:var(--pink);border-color:var(--pink);color:#fff}
.cs-panel{display:none}.cs-panel.on{display:block}
.cs-header{margin-bottom:1.5rem}
.cs-badge{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.08em;padding:4px 14px;border-radius:100px;border:1px solid;margin-bottom:.75rem}
.cs-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.6rem,4vw,2.8rem);letter-spacing:.03em;margin-bottom:.4rem}
.cs-sub{font-size:13px;color:rgba(255,255,255,.5);line-height:1.6;max-width:620px}
/* WORK SAMPLES */
.ws-card{display:flex;flex-direction:column}
.ws-icon{width:38px;height:38px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:12px;flex-shrink:0}
.msg-block{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:1rem;margin-top:.75rem}
.msg-row{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12px}
.msg-row:last-child{border-bottom:none}
.msg-lbl{font-weight:500;color:rgba(255,255,255,.35);width:68px;flex-shrink:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding-top:1px}
.msg-val{color:rgba(255,255,255,.65);line-height:1.55}
.voice-card{background:rgba(0,238,255,.06);border:1px solid rgba(0,238,255,.3);border-radius:12px;padding:1rem;display:flex;align-items:center;gap:12px;margin-top:.75rem}
.voice-avatar{width:36px;height:36px;border-radius:50%;background:var(--cyan);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#000;flex-shrink:0}
.voice-body{flex:1;min-width:0}
.voice-name{font-size:12px;font-weight:500;color:rgba(255,255,255,.8);margin-bottom:6px}
.voice-bar{height:3px;background:rgba(255,255,255,.12);border-radius:2px;position:relative;overflow:hidden}
.voice-fill{height:100%;width:0%;background:var(--cyan);border-radius:2px;transition:width .1s}
.voice-meta{font-size:10px;color:rgba(255,255,255,.3);margin-top:5px}
.voice-play{width:48px;height:48px;border-radius:50%;background:var(--pink);border:2px solid rgba(255,255,255,.25);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s,background .15s;padding:0;line-height:1}
.voice-play:hover{transform:scale(1.12);background:var(--cyan);color:#000}
.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:.75rem}
.ws-pill{font-size:11px;padding:3px 10px;border-radius:100px;background:rgba(184,255,0,.08);border:1px solid rgba(184,255,0,.2);color:var(--lime)}
.ai-steps{display:flex;flex-direction:column;gap:10px;margin-top:.75rem}
.ai-step{display:flex;gap:12px;align-items:flex-start}
.ai-num{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--pink);line-height:1;flex-shrink:0;width:22px}
.ai-text{font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.6}
.ai-text strong{color:rgba(255,255,255,.8);font-weight:500}
@media(max-width:420px){
  .g3,.g4{grid-template-columns:1fr}
}

/* CASE STUDY RESULTS */
.cs-results{margin-top:1.25rem;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:1.25rem 1.5rem}
.cs-results-label{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:1rem}
.cs-results-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.cs-result{}
.cs-result-val{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;line-height:1;margin-bottom:5px}
.cs-result-desc{font-size:11.5px;color:rgba(255,255,255,.4);line-height:1.55}

/* COMPETITOR TEARDOWN TABLE */
.teardown-table{border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden}
.td-head{display:grid;grid-template-columns:140px 1fr 1fr 1fr;gap:0;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.td-row{display:grid;grid-template-columns:140px 1fr 1fr 1fr;gap:0;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s}
.td-row:last-child{border-bottom:none}
.td-row:hover{background:rgba(255,255,255,.02)}
.td-cell{padding:.85rem 1rem;font-size:12px;color:rgba(255,255,255,.5);line-height:1.55;border-right:1px solid rgba(255,255,255,.05)}
.td-cell:last-child{border-right:none}
.td-head .td-cell{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.28);padding:.65rem 1rem}
.td-badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 10px;border-radius:100px;margin-bottom:4px}
.td-sub{font-size:10.5px;color:rgba(255,255,255,.28)}
@media(max-width:700px){
  .td-head{display:none}
  .td-row{grid-template-columns:1fr;border:1px solid rgba(255,255,255,.07);border-radius:10px;margin-bottom:8px;background:rgba(255,255,255,.02)}
  .td-cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.05);padding:.65rem .85rem}
  .td-cell:last-child{border-bottom:none}
}