/* ============================================================
   photonspinning.ing — Grand Editorial Product Site
   Theatrical animations, Lenis smooth scroll, GSAP
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --black:#0a0a0a;--white:#ffffff;--off-white:#f7f7f5;--gray-50:#fafaf8;--gray-100:#f0f0ed;--gray-200:#e0e0db;--gray-400:#999;--gray-600:#666;
  --accent:#5BFFBE;--accent-dim:rgba(91,255,190,0.15);--dark:#0d0d0d;
  --font:'Inter',system-ui,-apple-system,sans-serif;--mono:'JetBrains Mono',monospace;
  --ease:cubic-bezier(0.25,0.1,0.25,1);--container:1200px;
}
html{font-size:18px;overflow-x:hidden;}
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto!important;}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain;}
/* Hide scrollbar for clean look — Lenis handles scroll */
html{scrollbar-width:none;}
html::-webkit-scrollbar{display:none;}
body{font-family:var(--font);color:var(--white);background:#0a0a0a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.6;overflow-x:hidden;}
.container{max-width:var(--container);margin:0 auto;padding:0 3rem;}
.accent{color:var(--accent);}

/* ── FIBER OPTICS BACKGROUND ──────────────────────── */
.fiber-optics-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;opacity:0;pointer-events:none;background:#000;}
.fiber-optics-bg canvas{width:100%!important;height:100%!important;display:block;}

/* Ensure all main content sits above the fiber bg */
.nav,.hero,.marquee,section,.footer,.preloader,.reveal-overlay,.cursor,.cursor-follower{position:relative;z-index:1;}

/* ── PRELOADER — The Photonic Loop ─────────────────── */
.preloader{position:fixed;inset:0;z-index:9999;background:var(--black);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pl-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:0.35;}
.preloader-inner{position:absolute;inset:0;z-index:1;}

.pl-loop-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:260px;height:260px;}
.pl-loop-svg{width:100%;height:100%;animation:pl-slow-spin 20s linear infinite;}
@keyframes pl-slow-spin{to{transform:rotate(360deg)}}
.pl-fiber-ring{animation:pl-dash-spin 8s linear infinite;}
@keyframes pl-dash-spin{to{stroke-dashoffset:-100}}
.pl-photon-arc{transform-origin:center;transition:stroke-dasharray 2s ease;}

.pl-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;align-items:baseline;gap:2px;}
.pl-counter{font-size:3.5rem;font-weight:900;color:var(--white);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;}
.pl-unit{font-size:1.2rem;font-weight:600;color:var(--accent);margin-top:.2rem;}

.pl-speed{position:absolute;top:18%;left:50%;transform:translateX(-50%) translateY(8px);text-align:center;font-family:var(--mono);opacity:0;transition:opacity .4s,transform .4s;}
.pl-speed-val{font-size:1.1rem;font-weight:700;color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.pl-speed-unit{font-size:.6rem;color:var(--gray-400);letter-spacing:.1em;margin-left:.3rem;}
.preloader.show-speed .pl-speed{opacity:1;transform:translateX(-50%) translateY(0);}

.pl-brand{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%) translateY(12px);text-align:center;opacity:0;transition:opacity .5s .1s,transform .5s .1s;}
.pl-brand-logo{width:48px;height:48px;margin:0 auto .8rem;animation:logo-spin 6s linear infinite;}
.pl-brand-name{display:block;font-size:1.1rem;font-weight:900;color:var(--white);letter-spacing:-.03em;}
.pl-brand-tag{display:block;font-family:var(--mono);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gray-400);margin-top:.4rem;}
.preloader.show-brand .pl-brand{opacity:1;transform:translateX(-50%) translateY(0);}

/* Concentric burst rings — positioned inside .pl-loop-container, same center as SVG */
.pl-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(91,255,190,0.4);width:0;height:0;opacity:0;pointer-events:none;}

/* Reveal overlay — black with a circle cut out that expands to reveal white site */
.reveal-overlay{position:fixed;inset:0;z-index:9998;pointer-events:none;}
.reveal-overlay svg{width:100%;height:100%;display:block;}

/* ── CUSTOM CURSOR ────────────────────────────────── */
@media(hover:hover){
  .cursor{position:fixed;width:8px;height:8px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);mix-blend-mode:difference;will-change:transform;}
  .cursor-follower{position:fixed;width:36px;height:36px;border:1px solid rgba(91,255,190,.4);border-radius:50%;pointer-events:none;z-index:9997;transform:translate(-50%,-50%);will-change:transform;transition:width .25s,height .25s,border-color .25s;}
  body:not(.preloader-active){cursor:none;}
  body:not(.preloader-active) a,body:not(.preloader-active) button{cursor:none;}
  body.cursor-hover .cursor-follower{width:56px;height:56px;border-color:var(--accent);}
}
@media(hover:none){.cursor,.cursor-follower{display:none;}}

/* ── NAV ──────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 0;transition:background .4s,padding .3s;}
.nav.scrolled{background:rgba(0,0,0,.85);backdrop-filter:blur(24px);padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.nav-inner{max-width:var(--container);margin:0 auto;padding:0 3rem;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:900;font-size:1.2rem;letter-spacing:-.04em;color:var(--black);text-decoration:none;opacity:0;}
.nav.scrolled .nav-logo{color:var(--white);}
.nav-logo-img{width:28px;height:28px;animation:logo-spin 8s linear infinite;}
.nav-logo-text span{color:var(--accent);}
.nav-links{display:flex;align-items:center;gap:2.2rem;}
.nav-links a{font-size:.78rem;font-weight:500;color:#666;text-decoration:none;letter-spacing:.02em;transition:color .2s;opacity:0;}
.nav-links a:hover{color:var(--black);}
.nav.scrolled .nav-links a{color:rgba(255,255,255,.6);}
.nav.scrolled .nav-links a:hover{color:var(--white);}
.nav-cta{background:var(--black)!important;color:var(--white)!important;padding:.55rem 1.4rem!important;border-radius:100px!important;font-size:.72rem!important;letter-spacing:.04em!important;transition:background .2s!important;}
.nav-cta:hover{background:#333!important;}
.nav-burger{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative;}
.nav-burger span{display:block;width:100%;height:1.5px;background:var(--black);position:absolute;left:0;transition:.3s;}
.nav.scrolled .nav-burger span{background:var(--white);}
.nav-burger span:first-child{top:0;}.nav-burger span:last-child{bottom:0;}

/* ── BUTTONS ──────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 2.4rem;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:100px;transition:all .4s var(--ease);cursor:pointer;border:none;position:relative;overflow:hidden;}
.btn-fill{background:var(--black);color:var(--white);}
.btn-fill:hover{background:#222;transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.15);}
.btn-outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.3);}
.btn-outline:hover{background:rgba(255,255,255,.1);color:var(--white);}
/* Hero-specific button overrides (light bg) */
.hero .btn-outline{color:var(--black);border-color:var(--black);}
.hero .btn-outline:hover{background:var(--black);color:var(--white);}

/* ── HERO ─────────────────────────────────────────── */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;background:var(--white);color:var(--black);}

.hero-bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;white-space:nowrap;display:flex;flex-direction:column;align-items:center;}
.hero-bg-text span{font-size:clamp(8rem,22vw,18rem);font-weight:900;letter-spacing:-.06em;line-height:.85;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.06);user-select:none;}
.hero-container{position:relative;z-index:1;padding:4rem 3rem;}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:2.5rem;opacity:0;}
.eyebrow-line{width:40px;height:1px;background:var(--accent);}
.hero-eyebrow span:last-child{font-family:var(--mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#666;}
.hero-h1{font-size:clamp(3.5rem,10vw,8rem);font-weight:900;line-height:.88;letter-spacing:-.05em;margin-bottom:2rem;}
.hero-line{display:block;overflow:hidden;position:relative;}
.hero-line-inner{display:block;transform:translateY(110%);will-change:transform;}
.hero-sub{font-size:1.05rem;color:#666;max-width:560px;line-height:1.75;margin-bottom:2.5rem;font-weight:300;opacity:0;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;}
.hero-ctas .btn{opacity:0;transform:translateY(15px);}

/* ── MARQUEE ──────────────────────────────────────── */
.marquee{overflow:hidden;background:var(--black);padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);}
.marquee-track{display:flex;width:max-content;animation:marquee-scroll 30s linear infinite;}
.marquee-content{display:flex;align-items:center;gap:2.5rem;padding:0 1.25rem;flex-shrink:0;}
.mq-item{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-400);white-space:nowrap;}
.mq-item strong{color:var(--accent);font-weight:600;margin-right:.3rem;}
.mq-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.4;flex-shrink:0;}
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── SECTIONS ─────────────────────────────────────── */
.section{padding:8rem 0;position:relative;}
.section-light{background:transparent;color:var(--white);}
.section-gray{background:transparent;color:var(--white);}
.section-dark{background:var(--dark);color:var(--white);}
.section-cta{background:var(--black);color:var(--white);padding:10rem 0;}
.section-statement{padding:12rem 0;background:transparent;color:var(--white);overflow:hidden;}

.section-head{max-width:700px;margin-bottom:4rem;padding:2rem 2.5rem;background:rgba(0,0,0,.35);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.07);}
.interventions-head{display:none;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;}
#interventions{padding-top:2rem;position:relative;z-index:20;background:var(--black);}
#pivot{position:relative;z-index:10;}
.label-mono{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px;margin-bottom:1.2rem;}
.label-mono::before{content:'';width:24px;height:1px;background:var(--accent);flex-shrink:0;}
.label-mono.dim{color:rgba(255,255,255,.5);}.label-mono.dim::before{background:rgba(255,255,255,.4);}
.section-h2{font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:900;line-height:.92;letter-spacing:-.04em;margin-bottom:1.5rem;}
.section-h2.white{color:var(--white);}
.section-sub{font-size:1rem;color:rgba(255,255,255,.6);line-height:1.8;font-weight:300;max-width:520px;}

/* Big statement text */
.statement-text{font-size:clamp(2.5rem,6vw,5.5rem);font-weight:900;line-height:.92;letter-spacing:-.04em;max-width:1000px;}

/* ── TEXT SPLIT STYLES ────────────────────────────── */
.word-wrap{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;}
.word-char{display:inline-block;transform:translateY(110%);will-change:transform;}

/* ── REVEAL ANIMATIONS (initial states) ───────────── */
.reveal-up{opacity:0;transform:translateY(50px);}
.reveal-line{opacity:0;transform:translateX(-30px);}

/* ── PILLARS ──────────────────────────────────────── */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
.pillar{padding:2.5rem 2rem;border-top:2px solid rgba(255,255,255,.15);background:rgba(0,0,0,.32);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .4s,box-shadow .4s;}
.pillar:hover{border-color:var(--accent);}
.pillar-num{font-size:3.2rem;font-weight:900;letter-spacing:-.04em;line-height:1;display:inline;}
.pillar-unit{font-size:1.2rem;font-weight:600;color:var(--accent);margin-left:.1rem;}
.pillar-label{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block;margin:.8rem 0;}
.pillar p{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.65;font-weight:300;}

/* ── PIVOT ────────────────────────────────────────── */
.pivot-grid{display:grid;grid-template-columns:1fr 60px 1fr;gap:0;}
.pivot-col{padding:3rem;}
.pivot-vs{display:flex;align-items:center;justify-content:center;}
.pivot-vs span{font-weight:900;font-size:.8rem;letter-spacing:.2em;color:var(--gray-400);writing-mode:vertical-rl;}
.pivot-list{list-style:none;display:flex;flex-direction:column;gap:.8rem;}
.pivot-list li{font-size:.9rem;color:rgba(255,255,255,.7);display:flex;align-items:flex-start;gap:.6rem;line-height:1.5;font-weight:300;}
.x-mark{color:#FF4D6D;flex-shrink:0;font-size:.75rem;margin-top:.2rem;}
.check-mark{color:var(--accent);flex-shrink:0;font-size:.75rem;margin-top:.2rem;}

/* ── HORIZONTAL SCROLL SECTION ────────────────────── */
.section-horiz{padding:0;overflow:hidden;position:relative;z-index:5;}
.horiz-pin{padding:6rem 0 0;height:100vh;overflow:hidden;position:relative;display:flex;flex-direction:column;}
.horiz-pin .section-head{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;padding-left:3rem;}
.vessel-shot{position:absolute;left:50%;top:calc(50vh - min(167px, 14.9vw));width:80vw;max-width:900px;pointer-events:none;user-select:none;z-index:0;}
.horiz-track{display:flex;gap:2rem;padding:2rem calc(100vw * 0.15) 0 3rem;width:max-content;will-change:transform;flex:1;min-height:0;align-items:stretch;}
.horiz-card{width:560px;flex-shrink:0;padding:3.5rem;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.4);color:var(--white);display:flex;flex-direction:column;backdrop-filter:blur(8px);}
.horiz-card-specs{width:640px;background:var(--black);color:var(--white);border-color:rgba(255,255,255,.08);}
.horiz-num{font-size:4rem;font-weight:900;color:rgba(255,255,255,.15);letter-spacing:-.03em;line-height:1;margin-bottom:1.5rem;display:block;transition:color .4s;}
.horiz-card:hover .horiz-num{color:var(--accent);}
.horiz-card h3{font-size:1.2rem;font-weight:700;margin-bottom:1rem;letter-spacing:-.02em;}
.horiz-card p{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.7;font-weight:300;flex:1;}
.horiz-card-specs p{color:var(--gray-400);}
.horiz-specs{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);}
.horiz-specs span{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;color:var(--gray-400);}
.horiz-specs strong{color:var(--accent);display:block;font-size:.85rem;letter-spacing:0;margin-bottom:.2rem;}
.horiz-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.hs{text-align:center;}
.hs-val{display:block;font-size:1.8rem;font-weight:800;color:var(--accent);letter-spacing:-.02em;margin-bottom:.3rem;}
.hs-key{font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-400);}
.horiz-formula{font-family:var(--mono);font-size:1rem;color:var(--gray-400);text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);}

/* ── COMPARE TABLE ────────────────────────────────── */
.compare-table{margin-bottom:3rem;border:1px solid rgba(255,255,255,.12);overflow:hidden;background:rgba(0,0,0,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
.ct-header,.ct-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;}
.ct-header{background:rgba(0,0,0,.4);border-bottom:1px solid rgba(255,255,255,.12);}
.ct-cell{padding:1.1rem 1.6rem;font-size:.85rem;}
.ct-label-cell{font-weight:600;font-size:.8rem;color:rgba(255,255,255,.6);}
.ct-old{color:rgba(255,255,255,.4);}
.ct-new{color:var(--accent);font-weight:700;background:rgba(91,255,190,.04);}
.ct-row{border-bottom:1px solid rgba(255,255,255,.08);}
.ct-row:last-child{border-bottom:none;}
.ct-header .ct-new{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;}
.ct-mult{color:#D4900B;font-weight:700;font-style:italic;}

.roi-block{text-align:center;padding:0;background:none;color:var(--white);margin-bottom:2rem;overflow:visible;opacity:0;}
.roi-big{display:block;font-size:clamp(4rem,10vw,8rem);font-weight:900;letter-spacing:-.05em;color:var(--accent);line-height:1;}
.roi-desc{display:block;font-size:.85rem;color:var(--gray-400);margin-top:1rem;font-weight:300;}
.econ-cta{text-align:center;}

/* ── INDUSTRY CARDS ───────────────────────────────── */
.industry-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.industry-card{padding:2.5rem 2rem;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .4s,transform .4s,box-shadow .4s;}
.industry-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 20px 60px rgba(91,255,190,.06);}
.industry-num{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;color:var(--accent);display:block;margin-bottom:1.5rem;}
.industry-card h3{font-size:1.15rem;font-weight:700;margin-bottom:.8rem;letter-spacing:-.02em;}
.industry-card p{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.7;font-weight:300;}

/* ── SOCIAL PROOF ─────────────────────────────────── */
.proof-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.proof-quote{position:relative;padding-left:2rem;border-left:2px solid rgba(255,255,255,.1);}
.quote-mark{font-size:6rem;color:rgba(91,255,190,.12);line-height:1;position:absolute;top:-1.5rem;left:-.5rem;font-weight:900;}
.proof-quote p{font-size:.95rem;color:rgba(255,255,255,.6);line-height:1.8;font-weight:300;position:relative;}
.proof-response h3{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:900;letter-spacing:-.03em;margin-bottom:1rem;}
.proof-response p{font-size:.95rem;color:rgba(255,255,255,.7);line-height:1.75;font-weight:300;margin-bottom:1rem;}
.proof-note{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;color:var(--gray-400);text-transform:uppercase;}

/* ── MOAT ─────────────────────────────────────────── */
.moat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.moat-item{padding:2.5rem 2rem;border-top:3px solid var(--accent);background:rgba(0,0,0,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);transition:transform .4s,box-shadow .4s;}
.moat-item:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(91,255,190,.06);}
.moat-ring{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:1.5rem;}
.moat-item h3{font-size:1.1rem;font-weight:700;margin-bottom:.8rem;letter-spacing:-.02em;}
.moat-item p{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.7;font-weight:300;}

/* ── CTA ──────────────────────────────────────────── */
.cta-content{text-align:center;max-width:800px;margin:0 auto;}
.cta-h2{font-size:clamp(3rem,8vw,7rem);font-weight:900;letter-spacing:-.05em;line-height:.88;margin-bottom:1.5rem;}
.cta-sub{font-size:1.1rem;color:var(--gray-400);margin-bottom:3.5rem;font-weight:300;}
.cta-tracks{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.cta-track{text-decoration:none;color:var(--white);padding:2.5rem;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.38);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:border-color .4s,transform .4s,box-shadow .4s;text-align:left;display:flex;flex-direction:column;gap:.5rem;}
.cta-track:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 20px 60px rgba(91,255,190,.06);}
.cta-track-label{font-size:1.1rem;font-weight:700;}
.cta-track-desc{font-size:.82rem;color:var(--gray-400);font-weight:300;line-height:1.5;}
.cta-track-action{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;color:var(--accent);margin-top:auto;padding-top:.5rem;}

/* ── CALC PREVIEW ─────────────────────────────────── */
#calc-preview{padding:8rem 0;}
.cpc-wrap{margin:3rem 0 2.5rem;}
.cpc-chart{display:flex;gap:1.5rem;align-items:flex-end;}
.cpc-axis{display:flex;flex-direction:column;justify-content:space-between;height:260px;padding-bottom:0;flex-shrink:0;width:30px;}
.cpc-axis span{font-family:var(--mono);font-size:.5rem;color:rgba(255,255,255,.2);letter-spacing:.04em;text-align:right;}
.cpc-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;flex:1;border-bottom:1px solid rgba(255,255,255,.1);}
.cpc-col{display:flex;flex-direction:column;gap:.8rem;}
.cpc-bars{display:flex;gap:8px;align-items:flex-end;height:260px;}
.cpc-bar{width:40px;height:0;border-radius:2px 2px 0 0;}
.cpc-before{background:rgba(239,159,39,.35);border:1px solid rgba(239,159,39,.5);}
.cpc-after{background:rgba(91,255,190,.2);border:1px solid rgba(91,255,190,.45);}
.cpc-info{padding-top:.2rem;}
.cpc-tier{font-size:.75rem;font-weight:700;color:var(--white);margin-bottom:.2rem;}
.cpc-scale{font-family:var(--mono);font-size:.55rem;color:rgba(255,255,255,.35);margin-bottom:.5rem;}
.cpc-uplift{font-size:1.3rem;font-weight:900;color:var(--accent);letter-spacing:-.03em;}
.cpc-uplift span{font-size:.6rem;font-weight:400;color:rgba(255,255,255,.35);font-family:var(--mono);letter-spacing:.04em;}
.cpc-legend{display:flex;align-items:center;gap:1.5rem;margin-top:1.2rem;}
.cpc-leg-before,.cpc-leg-after{font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:7px;}
.cpc-leg-before::before{content:'';width:12px;height:10px;border-radius:1px;display:inline-block;background:rgba(239,159,39,.35);border:1px solid rgba(239,159,39,.5);}
.cpc-leg-after::before{content:'';width:12px;height:10px;border-radius:1px;display:inline-block;background:rgba(91,255,190,.2);border:1px solid rgba(91,255,190,.45);}
.cpc-leg-metric{font-family:var(--mono);font-size:.55rem;color:rgba(255,255,255,.2);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;}
.cpc-cta{text-align:center;margin-top:3.5rem;}
@media(max-width:640px){.cpc-cols{grid-template-columns:repeat(2,1fr);}.cpc-leg-metric{display:none;}}

/* ── FOOTER ───────────────────────────────────────── */
.footer{padding:4rem 0 2.5rem;background:var(--black);color:var(--white);border-top:1px solid rgba(255,255,255,.06);}
.footer-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:3rem;flex-wrap:wrap;gap:2rem;}
.footer-logo-img{width:24px;height:24px;margin-right:.4rem;vertical-align:middle;animation:logo-spin 8s linear infinite;}
@keyframes logo-spin{to{transform:rotate(360deg)}}
.footer-logo{font-weight:900;font-size:1.2rem;letter-spacing:-.04em;}
.footer-tagline{display:block;font-size:.75rem;color:var(--gray-400);font-weight:300;margin-top:.5rem;}
.footer-nav{display:flex;gap:2rem;flex-wrap:wrap;}
.footer-nav a{font-size:.75rem;color:var(--gray-400);text-decoration:none;transition:color .2s;}
.footer-nav a:hover{color:var(--white);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06);flex-wrap:wrap;gap:1rem;}
.footer-contact,.footer-copy{font-family:var(--mono);font-size:.6rem;color:var(--gray-600);letter-spacing:.1em;}

/* ── CHASM CHART ───────────────────────────────────── */
.chasm-chart{max-width:800px;margin:0 auto;background:rgba(0,0,0,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.07);border-radius:4px;}
.chasm-svg{width:100%;height:auto;display:block;}
.chasm-line-compute,.chasm-line-memory{stroke-dasharray:1200;stroke-dashoffset:1200;}

/* ── FAIL TABLE ───────────────────────────────────── */
.fail-table{border:1px solid rgba(255,255,255,.12);margin-bottom:2rem;overflow:hidden;background:rgba(0,0,0,.35);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.fail-header{display:grid;grid-template-columns:1fr 2fr 80px;padding:1rem 1.5rem;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.12);font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.fail-row{display:grid;grid-template-columns:1fr 2fr 80px;padding:1.2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);align-items:center;}
.fail-row:last-child{border-bottom:none;}
.fail-col-1{font-size:.9rem;line-height:1.4;}
.fail-col-1 strong{font-weight:700;color:var(--white);}
.fail-col-1 br+*{font-size:.78rem;color:rgba(255,255,255,.4);}
.fail-col-2{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.6;font-weight:300;}
.fail-col-3{text-align:center;}
.fail-verdict{font-size:1.8rem;color:#D94040;line-height:1;}
.fail-signal{padding:1.2rem 1.5rem;background:rgba(240,180,41,.08);border:1px solid rgba(240,180,41,.2);font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.7;}
.fail-signal strong{color:var(--white);font-weight:700;}

/* ── RACK TRANSFORMATION — two-column ─────────────── */
#transformation{padding:8rem 0;background:rgba(0,0,0,.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
.rack-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:3rem;align-items:stretch;}
.rack-text{display:flex;flex-direction:column;justify-content:center;}
.rack-text .section-h2{margin-bottom:1.2rem;}
.rack-text .section-sub{max-width:none;}
.rack-text-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.15);}
.rack-ts{text-align:center;}
.rack-ts-num{display:block;font-size:1.8rem;font-weight:900;letter-spacing:-.03em;color:var(--white);}
.rack-ts-label{font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.2rem;display:block;}
/* Racks panel — two racks side by side, fill full height */
.rack-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:stretch;align-self:stretch;}
.rack-label-bar{font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);padding:.4rem .6rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-bottom:none;text-align:center;}
.rack-label-bar-active{color:var(--accent);background:rgba(91,255,190,.04);border-color:rgba(91,255,190,.2);}
.rack-label-bar{flex-shrink:0;}
.rack-stat{flex-shrink:0;}
.rack-before,.rack-after{display:flex;flex-direction:column;min-height:0;}
.rack-visual{border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0;}
.rack-visual-after{border-color:rgba(91,255,190,.2);}
.rack-frame{background:rgba(255,255,255,.03);flex:1;display:flex;flex-direction:column;min-height:0;}
.rack-frame-top,.rack-frame-bottom{height:4px;flex-shrink:0;background:linear-gradient(to right,rgba(255,255,255,.1),rgba(255,255,255,.3),rgba(255,255,255,.1));opacity:.4;}
.rack-visual-after .rack-frame-top,.rack-visual-after .rack-frame-bottom{background:linear-gradient(to right,rgba(91,255,190,.1),rgba(91,255,190,.3),rgba(91,255,190,.1));}
.rack-grid{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(8,1fr);gap:2px;padding:4px;flex:1;min-height:0;}
.rack-gpu{border-radius:2px;transition:background .3s,box-shadow .3s,border-color .3s;min-height:0;min-width:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);}
.rack-gpu.on{background:rgba(91,255,190,.25);border-color:rgba(91,255,190,.3);}
.rack-gpu.lit{background:rgba(91,255,190,.25);border-color:rgba(91,255,190,.3);}
.rack-gpu.lit.on{background:rgba(91,255,190,.35);border-color:rgba(91,255,190,.45);}
.rack-overlay-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.8rem;font-weight:800;color:var(--white);text-align:center;line-height:1.5;opacity:.55;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.5);}
.rack-arrow-mini{display:flex;align-items:center;justify-content:center;align-self:center;}
.rack-arrow-mini svg{width:28px;}
.rack-stat{text-align:center;padding:.4rem;font-size:.6rem;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.12);border-top:none;font-family:var(--mono);letter-spacing:.04em;}
/* Last GPU flicker — the 3% we don't always get */
.rack-gpu.flicker{animation:gpu-flicker 2.5s ease-in-out infinite;}
@keyframes gpu-flicker{
  0%,100%{background:rgba(91,255,190,.2);border-color:rgba(91,255,190,.25);box-shadow:none;}
  30%{background:rgba(91,255,190,.35);border-color:rgba(91,255,190,.5);box-shadow:0 0 8px rgba(91,255,190,.4);}
  45%{background:rgba(91,255,190,.05);border-color:rgba(91,255,190,.1);box-shadow:none;}
  60%{background:rgba(91,255,190,.3);border-color:rgba(91,255,190,.4);box-shadow:0 0 6px rgba(91,255,190,.3);}
  75%{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);box-shadow:none;}
  85%{background:rgba(91,255,190,.25);border-color:rgba(91,255,190,.3);box-shadow:0 0 4px rgba(91,255,190,.2);}
}

/* ── CASE STUDY ───────────────────────────────────── */
.case-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;}
.case-card{padding:2.5rem;border:1px solid rgba(255,255,255,.1);text-align:center;}
.case-card-after{border-color:rgba(91,255,190,.3);background:rgba(91,255,190,.03);}
.case-label{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-400);margin-bottom:1.5rem;}
.case-label-after{color:var(--accent);}
.case-metric{margin-bottom:1.5rem;}
.case-metric:last-child{margin-bottom:0;}
.case-num{display:block;font-size:3rem;font-weight:900;color:var(--white);letter-spacing:-.03em;line-height:1;}
.case-num.case-dim{color:var(--gray-400);}
.case-desc{display:block;font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.3rem;}
.case-arrow{display:flex;align-items:center;justify-content:center;}
.case-arrow svg{width:50px;}

/* ── CAPITAL PIVOT ────────────────────────────────── */
.capital-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem;}
.cap-deal{padding:2rem;border:1px solid rgba(255,255,255,.12);text-align:center;transition:border-color .4s,transform .4s;}
.cap-deal:hover{border-color:var(--accent);transform:translateY(-4px);}
.cap-num{display:block;font-size:2.5rem;font-weight:900;color:var(--white);letter-spacing:-.03em;line-height:1;margin-bottom:.5rem;}
.cap-company{display:block;font-size:.9rem;font-weight:700;margin-bottom:.2rem;}
.cap-target{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;color:rgba(255,255,255,.4);text-transform:uppercase;}
.cap-zones{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.cap-zone{padding:1.5rem;text-align:center;border-top:3px solid rgba(255,255,255,.15);}
.cap-zone-funded{background:rgba(0,0,0,.32);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.cap-zone-gap{background:rgba(0,0,0,.32);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top-color:var(--accent);}
.cap-zone-label{display:block;font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:.3rem;}
.cap-zone-title{display:block;font-size:1rem;font-weight:700;margin-bottom:.3rem;}
.cap-zone-status{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;color:rgba(255,255,255,.4);}

/* ── VALIDATOR PROFILES ────────────────────────────── */
.validator-profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:5rem;}
.vp-card{padding:2.5rem 2rem;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.02);display:flex;flex-direction:column;transition:border-color .4s,transform .4s;}
.vp-card:hover{border-color:rgba(91,255,190,.25);transform:translateY(-4px);}
.vp-icon{width:100%;height:auto;margin-bottom:1.8rem;display:block;}
.vp-category{font-size:.62rem;letter-spacing:.12em;color:rgba(255,255,255,.35);text-transform:uppercase;font-family:var(--mono);margin-bottom:.5rem;}
.vp-name{font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:.7rem;display:block;}
.vp-desc{font-size:.8rem;color:rgba(255,255,255,.48);line-height:1.85;font-family:var(--mono);font-weight:300;margin-bottom:1.6rem;}
.vp-more{margin-top:auto;align-self:flex-start;display:inline-block;padding:.45rem 1.1rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--mono);color:rgba(255,255,255,.55);text-decoration:none;background:none;cursor:pointer;transition:border-color .3s,color .3s;}
.vp-more:hover{border-color:var(--accent);color:var(--accent);}
.vp-card.is-active{border-color:rgba(91,255,190,.35);background:rgba(91,255,190,.04);}

/* ── VP EXPANSION ─────────────────────────────── */
.vp-expansion{display:none;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);margin-bottom:4rem;}
.vp-exp-panel{display:none;padding:3rem 0;}
.vp-exp-panel.is-active{display:block;}
.vp-exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start;}
.vp-exp-body h3{font-size:1.35rem;font-weight:700;color:var(--white);margin-bottom:1rem;}
.vp-exp-body p{font-size:.88rem;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:.9rem;}
.vp-exp-fine{font-size:.78rem!important;color:rgba(255,255,255,.35)!important;font-family:var(--mono);font-weight:300;}

/* ── VALIDATION CARDS (now hidden — content moved to vp-expansion) ─── */
.validation-cards{display:none;}
.validation-cards-legacy{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.val-card{padding:2.5rem 2rem;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.38);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .4s,transform .4s;}
.val-card:hover{border-color:rgba(91,255,190,.3);transform:translateY(-4px);}
.val-icon{width:48px;height:48px;color:var(--accent);margin-bottom:1.5rem;}
.val-card h3{font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:.8rem;}
.val-card p{font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.7;font-weight:300;}
.val-video{position:relative;width:100%;padding-bottom:56.25%;margin-bottom:1.5rem;overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.val-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block;}
.val-tweet{margin-bottom:1.5rem;width:100%;overflow:hidden;min-height:280px;position:relative;}
.val-tweet iframe{width:100%;height:100%;min-height:280px;border:none;display:block;position:absolute;top:0;left:0;}

/* ── UPDATED COMPARE TABLE (4 columns) ────────────── */
.ct-header,.ct-row{grid-template-columns:1fr 1fr 1fr 1fr;}
.ct-mult{color:#D4900B;font-weight:700;font-style:italic;background:rgba(240,180,41,.04);}

/* ── RESPONSIVE ───────────────────────────────────── */
@media(max-width:1024px){
  html{font-size:16px;}.container{padding:0 2rem;}.nav-inner{padding:0 2rem;}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .industry-cards,.moat-grid,.validation-cards,.capital-timeline{grid-template-columns:1fr;}
  .proof-layout,.pivot-grid{grid-template-columns:1fr;}
  .rack-layout{grid-template-columns:1fr;}
  .rack-compare,.case-compare{grid-template-columns:1fr auto 1fr;gap:.5rem;}
  .case-compare{grid-template-columns:1fr;gap:1rem;}
  .case-arrow{transform:rotate(90deg);padding:.5rem 0;}
  .cap-zones{grid-template-columns:1fr;}
  .fail-header,.fail-row{grid-template-columns:1fr 1.5fr 60px;}
  .ct-header,.ct-row{grid-template-columns:1fr 1fr 1fr 1fr;}
  .pivot-vs span{writing-mode:horizontal-tb;}
  .cta-tracks{grid-template-columns:1fr;}
  .hero-container{padding:4rem 2rem;}
  .horiz-card{width:440px;}
}
@media(max-width:768px){
  .nav-links{display:none;}.nav-burger{display:block;}
  .pillars{grid-template-columns:1fr;}
  .hero-h1{font-size:clamp(2.5rem,12vw,4rem);}
  .section{padding:5rem 0;}.section-statement{padding:6rem 0;}
  .footer-top{flex-direction:column;}
  .horiz-card{width:85vw;}
}
