/* Digital Perception — homepage sections.
   Base rules = static layout (mobile, reduced motion, no-JS/CDN failure). html.dp-pin = pinned cinematic layout. */
section{position:relative}

/* ── 02 HERO ─────────────────────────────────────────── */
.hero-track{position:relative}
.hero-stage{position:relative;height:auto;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
html.dp-pin .hero-track{height:300vh}
html.dp-pin .hero-stage{position:sticky;top:0;height:100vh;min-height:600px}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.hero-canvas.is-on{opacity:1;animation:canvasin 1.3s var(--ease) backwards}
@keyframes canvasin{from{opacity:0}}
.hero-core-static{position:absolute;left:50%;top:38%;width:min(64vw,520px);aspect-ratio:1;translate:-50% -50%;pointer-events:none;transition:opacity 1s}
.hero-core-static i{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line-2)}
.hero-core-static i:nth-child(2){inset:14%;border-color:rgba(var(--energy),.28);transform:rotate(60deg) scaleY(.42)}
.hero-core-static i:nth-child(3){inset:-8%;border-color:var(--line);transform:rotate(-24deg) scaleY(.55)}
.hero-core-static b{position:absolute;left:50%;top:50%;width:18%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#ffd9a1,#ff941f 40%,rgba(var(--energy),.0) 72%);filter:blur(2px)}
.hero-stage.has-canvas .hero-core-static{opacity:0}
.hero-nodes{position:absolute;inset:0;pointer-events:none;list-style:none}
.hn{position:absolute;left:0;top:0;display:grid;gap:1px;padding:9px 13px 9px 15px;border-radius:12px;border:1px solid var(--line-2);background:rgba(10,13,16,.66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:var(--o,0);translate:var(--nx,-999px) var(--ny,-999px);will-change:translate,opacity}
.hn::before{content:"";position:absolute;left:-1px;top:14px;width:5px;height:5px;border-radius:50%;translate:-50% 0;background:var(--amber-hot);box-shadow:0 0 10px 2px rgba(var(--energy),.85)}
.hn strong{font:600 .92rem/1.2 var(--f-display);letter-spacing:-.01em}
.hn span{font-size:.74rem;color:var(--mute);white-space:nowrap}
.hero-copy{position:relative;z-index:2;width:var(--wrap);margin-inline:auto;padding:calc(var(--hd) + 48px) 0 clamp(64px,10vh,110px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,3.6vh,36px) clamp(24px,5vw,80px);align-items:end}
html.dp-pin .hero-copy{position:absolute;left:50%;translate:-50% 0;bottom:0;padding-top:0;padding-bottom:clamp(72px,10.5vh,120px);will-change:transform,opacity}
.hero-title{grid-column:1/-1;font-size:clamp(2.3rem,.8rem + 4.9vw,5.3rem);font-weight:600;letter-spacing:-.05em;line-height:.97}
.hero-lead{color:var(--mute);font-size:clamp(.95rem,.9rem + .22vw,1.06rem);line-height:1.58;max-width:54ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.hero-cue{position:absolute;left:50%;bottom:clamp(14px,2.6vh,26px);z-index:3;translate:-50% 0;display:flex;align-items:center;gap:12px;font-size:.78rem;color:var(--dim);letter-spacing:.02em}
.hero-cue i{width:1px;height:26px;background:linear-gradient(var(--amber-hot),transparent);animation:cue 2.4s var(--ease-io) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}55%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero-signal{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(var(--energy),.26),0 0 36px 10px rgba(var(--energy),.85);opacity:0;translate:var(--sx,0px) var(--sy,0px);pointer-events:none;z-index:4}

/* ── 03 RECOGNITION — signal stream ───────────────────── */
.stream{padding:clamp(56px,7vw,96px) 0 clamp(72px,9vw,120px)}
.stream-ignite{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,148,31,.95) 50%,transparent);transform:scaleX(1);opacity:.55}
.stream-head{display:flex;justify-content:space-between;align-items:baseline;gap:32px;flex-wrap:wrap;margin-bottom:38px}
.stream-head h2{font-size:clamp(1.3rem,1.05rem + .9vw,1.9rem);letter-spacing:-.03em}
.stream-head p{color:var(--mute);font-size:.95rem;max-width:46ch}
.stream-window{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.stream-track{display:flex;width:max-content;position:relative}
.si{position:relative;flex:none;display:grid;justify-items:center;gap:0;padding:0 clamp(20px,3vw,46px);cursor:default}
.si-plate{display:grid;place-items:center;height:78px;min-width:150px;padding:10px 20px;border-radius:10px;background:rgba(238,236,230,.88);opacity:.62;transition:opacity .5s var(--ease),translate .5s var(--ease),background .5s}
.si-plate img{height:46px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.78;transition:filter .5s var(--ease),opacity .5s}
.si-plate.dark{background:rgba(22,28,34,.95);box-shadow:0 0 0 1px var(--line-2) inset}
.si::before{content:"";position:absolute;left:0;right:0;bottom:44px;height:1px;background:var(--line-2)}
.si::after{content:"";position:absolute;left:50%;bottom:41px;width:7px;height:7px;translate:-50% 0;border-radius:50%;background:var(--void);border:1px solid var(--line-3);transition:background .4s,border-color .4s,box-shadow .4s}
.si-plate{margin-bottom:56px}
.si-meta{position:absolute;left:0;right:0;bottom:0;display:grid;justify-items:center;text-align:center;gap:2px;height:38px}
.si-meta strong{font:600 .9rem/1.1 var(--f-display);color:var(--mute);transition:color .4s;white-space:nowrap}
.si-meta small{font-size:.72rem;color:var(--dim);opacity:0;translate:0 -4px;transition:opacity .4s,translate .4s var(--ease);white-space:nowrap}
.stream-track:hover .si:not(:hover) .si-plate{opacity:.3}
.si:hover .si-plate,.si.is-focus .si-plate{opacity:1;translate:0 -3px}
.si:hover .si-plate img{filter:none;opacity:1}
.si:hover::after{background:var(--amber-hot);border-color:var(--amber-hot);box-shadow:0 0 12px 3px rgba(var(--energy),.8)}
.si:hover .si-meta strong{color:var(--ink)}
.si:hover .si-meta small{opacity:1;translate:0 0}
html:not(.dp-motion) .stream-window{-webkit-mask-image:none;mask-image:none}
html:not(.dp-motion) .stream-track{width:auto;flex-wrap:wrap;justify-content:center;row-gap:30px;padding-inline:var(--gutter)}

/* ── 04 GROW / BUILD / AUTOMATE ──────────────────────── */
.system{padding:var(--section) 0 calc(var(--section)*.6)}
html.dp-pin .system{padding:0}
.system-track{position:relative}
html.dp-pin .system-track{height:390vh}
html.dp-pin .system-stage{position:sticky;top:0;height:100vh;min-height:640px;overflow:hidden;padding-top:calc(var(--hd) + 20px)}
.system-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(36px,5vw,64px)}
html.dp-pin .system-head{margin-bottom:clamp(20px,3.6vh,44px)}
html.dp-pin .system-head .h2{font-size:clamp(2rem,1rem + 2.9vw,3.9rem)}
.system-intro{color:var(--mute);max-width:44ch}
.system-core{display:none}
.engines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.engine{--a:1;--fx:1;position:relative;display:flex;flex-direction:column;padding:clamp(16px,1.6vw,24px);border-radius:18px;border:1px solid var(--line);background:linear-gradient(170deg,rgba(24,31,38,.66),rgba(10,13,16,.5))}
.engine h3{margin:2px 0 8px}
.engine>p:not(.engine-tag){color:var(--mute);font-size:.94rem;margin-bottom:14px}
.engine .tlink{align-self:flex-start;margin-top:auto}
.engine-tag{font:600 .82rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:12px}
.viz{position:relative;height:clamp(170px,24vh,240px);margin-bottom:6px}
.viz svg{width:100%;height:100%;overflow:visible}
/* grow */
.gw-in,.gw-line{fill:none;stroke-linecap:round;stroke-linejoin:round}
.gw-in{stroke:var(--dim);stroke-width:1.4}
.gw-line{stroke:var(--amber-hot);stroke-width:2;filter:drop-shadow(0 0 6px rgba(var(--energy),.7))}
.gw-field{fill:none;stroke:rgba(var(--energy),.5);stroke-width:1;transform-box:fill-box;transform-origin:center;scale:calc(.3 + var(--a)*.7);opacity:calc(var(--a)*.55)}
.gf2{opacity:calc(var(--a)*.32)}.gf3{opacity:calc(var(--a)*.18)}
.gw-ch circle{fill:var(--void);stroke:var(--line-3);stroke-width:1.4;transition:stroke .4s,fill .4s}
.gw-ch text{font:500 11px var(--f-body);fill:var(--dim);transition:fill .4s}
.gw-ch.on circle{stroke:var(--amber-hot);fill:var(--amber-hot);filter:drop-shadow(0 0 5px rgba(var(--energy),.9))}
.gw-ch.on text{fill:var(--ink)}
/* build */
.viz-build{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:center;padding:10px 6%}
.bm{position:relative;z-index:1;display:grid;place-items:center;height:clamp(50px,7.4vh,66px);border-radius:10px;border:1px solid var(--line-3);background:linear-gradient(180deg,rgba(36,44,51,.9),rgba(20,26,31,.9));font:600 .82rem var(--f-display);color:var(--ink);letter-spacing:-.01em;translate:calc((1 - var(--k,1))*var(--ox)) calc((1 - var(--k,1))*var(--oy));rotate:calc((1 - var(--k,1))*var(--or));opacity:clamp(0,var(--k,1)*3,1)}
.bm::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid var(--amber-hot);opacity:calc(var(--snap,1)*var(--k,1)*.7);box-shadow:0 0 18px -2px rgba(var(--energy),.6)}
.bm-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.bm-links path{fill:none;stroke:rgba(255,148,31,.55);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--c,1));vector-effect:non-scaling-stroke}
/* automate */
.viz-automate{display:flex;flex-direction:column}
.viz-automate>svg{flex:1;min-height:0;height:auto}
.at-path{fill:none;stroke:var(--line-2);stroke-width:1.2}
.at-main{stroke:rgba(255,148,31,calc(.25 + var(--s0,1)*.5))}
.at-a{stroke:rgba(255,148,31,calc(.15 + var(--dec,1)*.65))}
.at-b{stroke:var(--line-2)}
.at-box{fill:rgba(20,26,31,.95);stroke:var(--line-3);stroke-width:1.2;transition:stroke .4s,fill .4s}
.viz-automate text{font:600 11px var(--f-display);fill:var(--mute);text-anchor:middle}
.at-in{stroke:rgba(255,148,31,calc(.2 + var(--s0,1)*.8))}
.at-logic{stroke:rgba(255,148,31,calc(.2 + var(--s1,1)*.8));fill:rgba(var(--energy),calc(var(--s1,1)*.1))}
.at-oa{stroke:rgba(255,148,31,calc(.2 + var(--dec,1)*.8));fill:rgba(var(--energy),calc(var(--dec,1)*.14))}
.at-pt{position:absolute;left:0;top:0;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px 3px rgba(var(--energy),.85);opacity:calc(var(--s0,1)*var(--pt,1));translate:calc(var(--px,0)*1px) calc(var(--py,0)*1px)}
.at-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.at-chips li{padding:3px 9px;border-radius:99px;border:1px solid var(--line-2);font-size:.7rem;color:var(--dim);transition:color .4s,border-color .4s}
.at-chips li.on{color:var(--ink);border-color:rgba(255,148,31,.6)}
.system-exit{display:none}

html.dp-pin .system-core{display:block;position:absolute;left:50%;top:64%;width:clamp(130px,16vw,210px);translate:-50% -50%;opacity:calc(var(--core,0)*(1 - var(--sep,0)*1.25));scale:calc(.5 + var(--core,0)*.5 + var(--sep,0)*.5);pointer-events:none;z-index:2}
.sc-ring{fill:none;stroke:rgba(255,148,31,.6);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--core,0))}
.sc-ring2{stroke:var(--line-3)}
.sc-dot{fill:#fff;filter:drop-shadow(0 0 10px rgba(var(--energy),1))}
.system-core svg{width:100%;height:auto;overflow:visible}
html.dp-pin .viz{height:clamp(180px,27vh,260px)}
html.dp-pin .engine{--a:0;--k:0;opacity:calc(var(--sep,0)*var(--sep,0)*(.42 + var(--fx,0)*.58));translate:calc(var(--shift,0px)*(1 - var(--sep,0))) 0;scale:calc(.72 + var(--sep,0)*.28);border-color:rgba(255,148,31,calc(var(--fx,0)*.4 + .06));box-shadow:0 0 calc(var(--fx,0)*44px) -18px rgba(var(--energy),.55);will-change:transform,opacity}
html.dp-pin .engine-grow{--shift:min(30vw,436px)}
html.dp-pin .engine-automate{--shift:max(-30vw,-436px)}
html.dp-pin .system-exit{display:block;position:absolute;left:16.6%;right:16.6%;bottom:14px;height:clamp(40px,7vh,76px);opacity:var(--exit,0);pointer-events:none}
.system-exit path{fill:none;stroke:rgba(255,148,31,.7);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--exit,0))}

/* ── 05 SERVICES — control room ──────────────────────── */
.services{padding:var(--section) 0 0}
.control{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.inst{position:relative;display:flex;flex-direction:column;min-height:300px;padding:clamp(18px,1.7vw,26px);border-radius:18px;border:1px solid var(--line);background:linear-gradient(165deg,rgba(24,31,38,.72),rgba(10,13,16,.62));overflow:hidden;isolation:isolate;transition:border-color .5s,box-shadow .6s}
.inst::before{content:"";position:absolute;left:14px;top:14px;width:16px;height:16px;border-left:1px solid var(--line-3);border-top:1px solid var(--line-3);opacity:.7;pointer-events:none;transition:border-color .4s}
.inst::after{content:"";position:absolute;right:14px;top:14px;width:16px;height:16px;border-right:1px solid var(--line-3);border-top:1px solid var(--line-3);opacity:.7;pointer-events:none;transition:border-color .4s}
.inst:hover,.inst:focus-within{border-color:rgba(255,148,31,.42);box-shadow:0 30px 70px -34px rgba(var(--energy),.5)}
.inst:hover::before,.inst:hover::after{border-color:var(--amber-hot)}
.inst .viz{flex:1;min-height:150px;height:auto;margin:6px 0 14px}
.inst-copy h3{font-size:clamp(1.1rem,.98rem + .48vw,1.45rem);margin-bottom:8px;text-wrap:balance}
.inst-copy p{color:var(--mute);font-size:.9rem;line-height:1.55;margin-bottom:12px;max-width:52ch}
.inst-copy .inst-more{color:var(--gold);font-size:.8rem;margin:-4px 0 12px;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s}
.inst:hover .inst-more,.inst:focus-within .inst-more{max-height:26px;opacity:1}
.inst-seo{grid-column:1/6;grid-row:1/3}
.inst-social{grid-column:6/10}
.inst-content{grid-column:10/13}
.inst-web{grid-column:6/9}
.inst-data{grid-column:9/13}
.inst-transform{grid-column:1/6}
.inst-ecom{grid-column:6/9}
.inst-assist{grid-column:9/13}
/* SEO radar */
.radar{position:absolute;inset:0;margin:auto;height:min(100%,330px);aspect-ratio:1;border-radius:50%}
.rg{position:absolute;border-radius:50%;border:1px solid var(--line-2)}
.rg.r3{inset:0}.rg.r2{inset:17%}.rg.r1{inset:34%}
.radar::before,.radar::after{content:"";position:absolute;background:var(--line);}
.radar::before{left:50%;top:0;bottom:0;width:1px}.radar::after{top:50%;left:0;right:0;height:1px}
.sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 292deg,rgba(var(--energy),.42) 352deg,rgba(255,190,110,.9) 360deg);-webkit-mask:radial-gradient(circle,#000 0 99%,transparent 100%);mask:radial-gradient(circle,#000 0 99%,transparent 100%)}
.radar b{position:absolute;left:var(--x);top:var(--y);width:9px;height:9px;margin:-4.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px 3px rgba(var(--energy),.7);opacity:0}
/* Social */
.viz-social svg{position:absolute;inset:0;margin:auto}
.sn-edges path{fill:none;stroke:var(--line-3);stroke-width:1}
.sn-nodes circle{fill:var(--steel);stroke:rgba(255,148,31,.5);stroke-width:1.2}
.sn-nodes .hub{fill:rgba(var(--energy),.25);stroke:var(--amber-hot)}
/* Content */
.viz-content{display:grid;align-content:center;gap:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.strip{position:relative;height:14px;overflow:hidden}
.strip::before{content:"";position:absolute;left:0;top:0;height:100%;width:calc(100% + var(--p));background:linear-gradient(90deg,rgba(205,214,222,.2) 0 24%,transparent 24% 29%,rgba(205,214,222,.13) 29% 55%,transparent 55% 61%,var(--hot,rgba(205,214,222,.2)) 61% 82%,transparent 82% 100%);background-size:var(--p) 100%;border-radius:3px}
.strip.s1{--p:150px;--hot:rgba(255,148,31,.85)}.strip.s2{--p:110px}.strip.s3{--p:190px;--hot:rgba(252,191,73,.7)}
.strip>span{display:none}
/* Web */
.viz-web .wf,.viz-web .ui{position:absolute;inset:6% 4%;border-radius:8px}
.viz-web i{position:absolute;display:block;border-radius:5px}
.wf{border:1px dashed var(--line-3)}
.wf i{border:1px dashed var(--line-3)}
.wf-bar,.ui-bar{left:4%;right:4%;top:6%;height:8%}
.wf-hero,.ui-hero{left:4%;right:34%;top:22%;height:34%}
.wf-c1,.ui-c1{left:4%;width:28%;top:64%;height:26%}.wf-c2,.ui-c2{left:36%;width:28%;top:64%;height:26%}.wf-c3,.ui-c3{left:68%;width:28%;top:64%;height:26%}
.ui{background:linear-gradient(180deg,#1b232a,#12181d);border:1px solid var(--line-2)}
.ui-bar{background:rgba(205,214,222,.14)}
.ui-hero{background:linear-gradient(135deg,rgba(var(--energy),.55),rgba(252,191,73,.25))}
.ui-btn{right:6%;top:32%;width:22%;height:12%;border-radius:99px!important;background:var(--amber-hot);box-shadow:0 0 20px rgba(var(--energy),.6)}
.ui-c1,.ui-c2,.ui-c3{background:rgba(205,214,222,.1);border:1px solid var(--line)}
/* Data */
.viz-data svg{position:absolute;inset:0;width:100%;height:100%}
.dg path{stroke:var(--line);stroke-width:1;fill:none;vector-effect:non-scaling-stroke;stroke-dasharray:2 5}
.d-area{fill:url(#none);fill:rgba(var(--energy),.1)}
.d-line{fill:none;stroke:var(--amber-hot);stroke-width:1.8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(var(--energy),.75))}
.d-scan{stroke:rgba(255,148,31,.4);stroke-width:1;vector-effect:non-scaling-stroke}
/* Transformation */
.tf{position:absolute;inset:0;margin:auto;width:min(84%,250px);height:min(100%,150px);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:10px}
.tf i{display:block;border-radius:7px;border:1px solid var(--line-3);background:rgba(205,214,222,.05)}
.tf em{position:absolute;inset:0;pointer-events:none;border-radius:7px;background:linear-gradient(var(--amber-hot),var(--amber-hot)) 33.3% 50%/1px 70% no-repeat,linear-gradient(var(--amber-hot),var(--amber-hot)) 66.6% 50%/1px 70% no-repeat,linear-gradient(var(--amber-hot),var(--amber-hot)) 50% 50%/80% 1px no-repeat;opacity:.0}
/* E-commerce */
.viz-ecom svg{position:absolute;inset:0;margin:auto;width:100%;height:100%;max-height:170px}
.viz-ecom path{fill:none;stroke:var(--line-3);stroke-width:1;stroke-dasharray:3 4}
.eh{fill:rgba(var(--energy),.22);stroke:var(--amber-hot);stroke-width:1.4}
.en{fill:var(--steel);stroke:rgba(255,148,31,.55);stroke-width:1.2}
.viz-ecom circle.ord{fill:var(--gold);filter:drop-shadow(0 0 4px rgba(var(--energy),1))}
.viz-ecom svg{overflow:visible}
.mk{position:absolute;font-size:.66rem;color:var(--dim);white-space:nowrap;translate:-50% 0}
.mk1{left:17.7%;top:4%}.mk2{left:83%;top:4%}.mk3{left:17.7%;top:92%}.mk4{left:83%;top:92%}
/* Assistants */
.ac{position:absolute;inset:0;margin:auto;width:min(92%,300px);height:max-content;display:grid;gap:9px}
.ac-row{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:10px;border:1px solid var(--line-2);background:rgba(20,26,31,.9);font-size:.8rem;color:var(--mute)}
.tg{position:relative;width:34px;height:18px;border-radius:99px;background:var(--steel-2)}
.tg::after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--mute)}
.ac-cur{position:absolute;left:78%;top:8px;width:14px;height:16px;background:#fff;clip-path:polygon(0 0,100% 62%,56% 68%,32% 100%);filter:drop-shadow(0 0 4px rgba(var(--energy),.9))}

/* Services → Products convergence */
.conv{position:relative;height:clamp(150px,22vw,300px);margin-top:clamp(28px,4vw,64px)}
.conv svg{position:absolute;inset:0;width:100%;height:100%}
.cv{fill:none;stroke:rgba(255,148,31,.55);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--cp,1))}
.conv-sig{position:absolute;left:0;right:0;bottom:0}
.conv-sig i{position:absolute;bottom:-14px;translate:-50% 0;display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;border-radius:99px;border:1px solid rgba(255,148,31,.5);background:rgba(10,13,16,.9);font:600 .84rem var(--f-display);font-style:normal;color:var(--ink);opacity:calc(.25 + var(--cp,1)*.75);box-shadow:0 0 calc(var(--cp,1)*26px) rgba(var(--energy),.4)}
.conv-sig i::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber-hot);box-shadow:0 0 10px 2px rgba(var(--energy),.9)}
.conv-sig i:nth-child(1){left:16.66%}.conv-sig i:nth-child(2){left:50%}.conv-sig i:nth-child(3){left:83.33%}

/* ── 06 PRODUCTS — software in space (static base: stacked) ── */
.products{padding:clamp(48px,6vw,80px) 0 var(--section)}
html.dp-pin .products{padding:0}
.products-stage{width:var(--wrap);margin-inline:auto;display:flex;flex-direction:column;gap:32px}
.products-head{width:100%;margin:0}
.products-head .h2{font-size:clamp(1.9rem,1rem + 2.5vw,3.3rem)}
.p-scene,.p-copy{display:contents}
.pc{order:var(--o,1)}
.pwin{order:var(--o,1)}
.pc[data-pc="0"]{--o:1}.pwin[data-pwin="0"]{--o:2}.pc[data-pc="1"]{--o:3}.pwin[data-pwin="1"]{--o:4}.pc[data-pc="2"]{--o:5}.pwin[data-pwin="2"]{--o:6}
.p-tabs{display:none}
.pc{display:block}
.pc-tag{color:var(--gold);font-size:.88rem;margin-bottom:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pc-tag em{font-style:normal;font-size:.72rem;padding:3px 9px;border-radius:99px;border:1px solid rgba(255,148,31,.55);color:var(--amber-hot)}
.pc h3{font-size:clamp(2.2rem,1.4rem + 2.8vw,3.9rem);letter-spacing:-.05em;line-height:.95;margin-bottom:14px}
.pc h3 span{color:var(--amber-hot)}
.pc>p:not(.pc-tag){color:var(--mute);max-width:46ch;margin-bottom:16px}
.pc ul{display:grid;gap:8px;margin-bottom:24px}
.pc li{position:relative;padding-left:22px;font-size:.93rem;color:var(--ink)}
.pc li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:1px;background:var(--amber-hot);box-shadow:0 0 8px rgba(var(--energy),.9)}
.pwin{position:relative;width:100%;border-radius:12px;border:1px solid var(--line-2);background:linear-gradient(180deg,#121920,#0a0e12);box-shadow:0 40px 90px -30px rgba(0,0,0,.8);overflow:hidden;aspect-ratio:16/10;margin-bottom:24px}
.pw-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-bottom:1px solid var(--line)}
.pw-bar i{width:8px;height:8px;border-radius:50%;background:var(--steel-2)}
.pw-bar span{margin-left:10px;font:500 .72rem var(--f-body);color:var(--dim)}
.pw-body{display:grid;grid-template-columns:22% 1fr;height:calc(100% - 30px)}
.pw-side{display:grid;align-content:start;gap:2px;padding:12px 8px;border-right:1px solid var(--line)}
.pw-side b{font:500 .68rem var(--f-body);padding:6px 8px;border-radius:6px;color:var(--dim)}
.pw-side b.on{color:var(--ink);background:rgba(var(--energy),.14)}
.pw-main{display:grid;align-content:start;gap:10px;padding:12px;min-width:0}
.pw-chips,.pw-alerts{display:flex;flex-wrap:wrap;gap:6px}
.pw-chips span,.pw-alerts span{padding:4px 9px;border-radius:99px;border:1px solid var(--line-2);font-size:.62rem;color:var(--mute)}
.pw-flow{position:relative;height:26px;display:flex;align-items:center;justify-content:space-between;padding:0 4%}
.pw-flow i{width:9px;height:9px;border-radius:50%;background:var(--steel-2);border:1px solid var(--amber-hot);z-index:1}
.pw-flow em{position:absolute;left:4%;right:4%;top:50%;height:1px;background:linear-gradient(90deg,var(--amber-hot),rgba(255,148,31,.15))}
.pw-rows{display:grid;gap:5px}
.pw-rows div{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:center;padding:7px 10px;border-radius:7px;background:rgba(205,214,222,.04)}
.pw-rows span{height:6px;border-radius:3px;background:rgba(205,214,222,.16)}
.pw-rows span+span{width:60%}
.pw-rows em{font-style:normal;font-size:.6rem;color:var(--amber-hot)}
.pw-bars{display:flex;align-items:flex-end;gap:7px;height:56px}
.pw-bars i{flex:1;height:var(--h);border-radius:3px 3px 0 0;background:linear-gradient(var(--amber-hot),rgba(var(--energy),.15))}
.pw-map{height:96px;border-radius:8px;border:1px solid var(--line);background:linear-gradient(rgba(205,214,222,.05) 1px,transparent 1px) 0 0/100% 20px,linear-gradient(90deg,rgba(205,214,222,.05) 1px,transparent 1px) 0 0/24px 100%}
.pw-map svg{width:100%;height:100%}
.rt{fill:none;stroke:rgba(255,148,31,.7);stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-dasharray:4 4}
.rt2{stroke:var(--line-3)}
.veh{fill:var(--gold);filter:drop-shadow(0 0 5px rgba(var(--energy),1))}
.pw-gantt{display:grid;gap:6px}
.pw-gantt div{position:relative;height:9px;border-radius:5px;background:rgba(205,214,222,.05)}
.pw-gantt i{position:absolute;left:var(--s);width:var(--w);top:0;bottom:0;border-radius:5px;background:linear-gradient(90deg,rgba(var(--energy),.85),rgba(252,191,73,.6))}
.pw-lines{position:relative;height:104px;border-radius:8px;border:1px solid var(--line);background:linear-gradient(rgba(205,214,222,.05) 1px,transparent 1px) 0 0/100% 20px}
.pw-lines svg{width:100%;height:100%}
.ul{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}
.u1{stroke:var(--amber-hot)}.u1f{fill:none;stroke:var(--amber-hot);stroke-dasharray:3 4;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.8}.u2{stroke:#6fb9d6}.u3{stroke:var(--mute);opacity:.7}
.an{fill:none;stroke:var(--ember);stroke-width:1.4;vector-effect:non-scaling-stroke}
.pw-lines em{position:absolute;left:29%;top:8px;font-style:normal;font-size:.6rem;color:var(--ember);padding:2px 8px;border-radius:99px;border:1px solid rgba(255,91,20,.6)}
.pw-sites{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}
.pw-sites i{height:22px;border-radius:4px;border:1px solid var(--line-2);background:rgba(205,214,222,.04)}
.pw-sites i:nth-child(3n){background:rgba(var(--energy),.16);border-color:rgba(255,148,31,.4)}

html.dp-pin .products-track{height:340vh}
html.dp-pin .products-stage{position:sticky;top:0;display:block;width:100%;height:100vh;min-height:640px;overflow:hidden;padding-top:calc(var(--hd) + 22px)}
html.dp-pin .products-head{width:var(--wrap);margin-inline:auto}
html.dp-pin .products-head>div{max-width:min(640px,46vw)}
html.dp-pin .p-scene{display:block;position:absolute;right:0;top:0;bottom:0;width:64%;perspective:1500px;perspective-origin:38% 50%;--px:0;--py:0}
html.dp-pin .p-copy{display:block;position:absolute;left:50%;translate:-50% 0;top:calc(var(--hd) + clamp(190px,29vh,270px));width:var(--wrap);height:calc(100% - var(--hd) - clamp(260px,38vh,350px));pointer-events:none}
html.dp-pin .pc{position:absolute;left:0;top:0;width:min(470px,38vw);opacity:calc(1 - var(--dd,1)*1.6);translate:calc(var(--dd,1)*-26px) 0;pointer-events:none;will-change:transform,opacity}
html.dp-pin .pc .btn,html.dp-pin .pc.is-focus a{pointer-events:none}
html.dp-pin .pc.is-focus,html.dp-pin .pc.is-focus a{pointer-events:auto}
html.dp-pin .pc .pc-cta{opacity:calc(1 - var(--dd,1)*3);translate:0 calc(var(--dd,1)*10px)}
html.dp-pin .pwin{position:absolute;left:50%;top:55%;width:min(720px,86%);margin:0;translate:-50% -50%;transform:translate3d(calc(var(--x,0)*1vw),calc(var(--y,0)*1vh),calc(var(--z,0)*1px)) rotateY(calc(var(--ry,0)*1deg + var(--px,0)*3deg)) rotateX(calc(var(--rx,0)*1deg - var(--py,0)*2deg));opacity:var(--o,1);z-index:var(--zi,1);will-change:transform,opacity;box-shadow:0 60px 120px -30px rgba(0,0,0,.85),0 0 calc(var(--f,0)*60px) -20px rgba(var(--energy),.45)}
html.dp-pin .pwin{order:0}
html.dp-pin .p-tabs{display:flex;position:absolute;left:50%;translate:-50% 0;bottom:clamp(20px,4.5vh,44px);width:var(--wrap);gap:10px;z-index:3}
.p-tabs button{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border-radius:99px;border:1px solid var(--line-2);background:rgba(10,13,16,.7);font-size:.82rem;color:var(--mute);transition:border-color .4s,color .4s,background .4s}
.p-tabs i{width:7px;height:7px;border-radius:50%;background:var(--steel-2);border:1px solid var(--line-3);transition:background .4s,box-shadow .4s,border-color .4s}
.p-tabs button.on{color:var(--ink);border-color:rgba(255,148,31,.6);background:rgba(var(--energy),.1)}
.p-tabs button.on i{background:var(--amber-hot);border-color:var(--amber-hot);box-shadow:0 0 12px 3px rgba(var(--energy),.85)}

/* ── 07 MARKETPLACE OPERATIONS ───────────────────────── */
.market{padding:var(--section) 0}
.market-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,6vw,96px);align-items:center}
.market-copy>p{color:var(--mute);max-width:46ch;margin:24px 0 32px}
.flow{position:relative;display:grid;gap:0;margin:0 0 34px;padding-left:34px}
.flow::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1px;background:var(--line-2)}
.flow li{position:relative;display:grid;grid-template-columns:110px 1fr;align-items:baseline;gap:16px;padding:12px 0;color:var(--dim);transition:color .5s}
.flow li::before{content:"";position:absolute;left:-34px;top:22px;width:11px;height:11px;border-radius:50%;background:var(--void);border:1px solid var(--line-3);transition:background .4s,border-color .4s,box-shadow .4s}
.flow li::after{content:"";position:absolute;left:-29px;top:33px;width:1px;height:0;background:var(--amber-hot);transition:height .6s var(--ease)}
.flow strong{font:600 1.35rem var(--f-display);letter-spacing:-.03em}
.flow span{font-size:.9rem}
.flow li.on{color:var(--ink)}
.flow li.on strong{color:var(--gold)}
.flow li.on::before{background:var(--amber-hot);border-color:var(--amber-hot);box-shadow:0 0 14px 4px rgba(var(--energy),.75)}
.net{position:relative;width:100%;max-width:600px;margin-inline:auto;aspect-ratio:600/560;margin-bottom:60px}
.net-svg{position:absolute;inset:0;width:100%;height:100%}
.net-paths path{fill:none;stroke:var(--line-3);stroke-width:1;stroke-dasharray:3 5}
.net-sigs circle{fill:var(--amber-hot);filter:drop-shadow(0 0 5px rgba(var(--energy),1))}
.net-orbit{fill:none;stroke:rgba(255,148,31,.28);stroke-width:1}
.net-orbit.o2{stroke:var(--line);stroke-dasharray:2 6}
.net-hub{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;display:grid;place-content:center;text-align:center;gap:2px;border:1px solid rgba(255,148,31,.55);background:radial-gradient(circle,rgba(var(--energy),.24),rgba(10,13,16,.92) 70%);box-shadow:0 0 60px -8px rgba(var(--energy),.55)}
.net-hub b{font:600 clamp(.72rem,.6rem + .4vw,.95rem) var(--f-display);letter-spacing:-.02em}
.net-hub span{font-size:.62rem;color:var(--mute)}
.nn{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;padding:8px 15px;border-radius:99px;border:1px solid var(--line-2);background:rgba(10,13,16,.9);font:600 clamp(.72rem,.62rem + .3vw,.86rem) var(--f-display);white-space:nowrap;transition:border-color .4s,box-shadow .4s}
.net.is-live .nn{animation:nnpulse 5s ease-in-out infinite}
.nn:nth-of-type(2){animation-delay:-1s}.nn:nth-of-type(3){animation-delay:-2s}.nn:nth-of-type(4){animation-delay:-3s}.nn:nth-of-type(5){animation-delay:-4s}
.net-doms{position:absolute;left:0;right:0;bottom:-58px;display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.net-doms li{padding:6px 12px;border-radius:99px;border:1px solid var(--line-2);font-size:.74rem;color:var(--dim);transition:color .4s,border-color .4s,background .4s}
.net-doms li.on{color:var(--ink);border-color:rgba(255,148,31,.65);background:rgba(var(--energy),.12)}

/* ── 08 SELECTED WORK — project portals ──────────────── */
.work{padding:var(--section) 0 calc(var(--section)*.6);overflow:clip}
.work::before{content:"";position:absolute;left:50%;top:38%;width:120%;aspect-ratio:1.4;translate:-50% -50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--wacc,#f77f00) 13%,transparent),transparent);transition:background 1.2s;pointer-events:none}
.portals{position:relative;width:var(--wrap);margin-inline:auto;display:grid;gap:clamp(28px,5vw,70px)}
.portal{--k:1;--d:0;position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,4vw,64px);align-items:center;min-height:min(76vh,680px)}
.portal:nth-child(even){grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.portal:nth-child(even) .pt-frame{order:2}
.pt-frame{position:relative;aspect-ratio:16/10;border-radius:20px;border:1px solid var(--line-2);overflow:hidden;background:radial-gradient(70% 80% at 50% 50%,color-mix(in srgb,var(--acc) 20%,transparent),transparent 72%),linear-gradient(180deg,#0f1519,#080b0e);display:grid;place-items:center;isolation:isolate}
.pt-ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid color-mix(in srgb,var(--acc) 55%,transparent);translate:-50% -50%;scale:calc(.7 + var(--k)*.3*var(--m,1))}
.pt-ring.a{width:34%;aspect-ratio:1;--m:1.1}.pt-ring.b{width:62%;aspect-ratio:1;--m:1.5;opacity:.6}.pt-ring.c{width:96%;aspect-ratio:1;--m:2;opacity:.35}
.pt-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(205,214,222,.05) 1px,transparent 1px) 0 0/100% 32px,linear-gradient(90deg,rgba(205,214,222,.05) 1px,transparent 1px) 0 0/32px 100%;-webkit-mask-image:radial-gradient(circle,#000,transparent 72%);mask-image:radial-gradient(circle,#000,transparent 72%)}
.pt-plate{position:relative;z-index:2;display:grid;place-items:center;min-width:32%;padding:clamp(14px,2vw,26px) clamp(22px,3.4vw,46px);border-radius:14px;background:rgba(238,236,230,.94);box-shadow:0 30px 70px -18px rgba(0,0,0,.8),0 0 60px -10px color-mix(in srgb,var(--acc) 60%,transparent);translate:0 calc((1 - var(--k))*18px);scale:calc(.9 + var(--k)*.1)}
.pt-plate img{height:clamp(52px,7.4vw,104px);width:auto;max-width:100%;object-fit:contain}
.pt-copy{position:relative}
.pt-meta{font-size:.85rem;color:var(--acc);margin-bottom:12px}
.pt-copy h3{font-size:clamp(1.9rem,1.2rem + 2.2vw,3.2rem);letter-spacing:-.045em;line-height:1;margin-bottom:14px}
.pt-copy>p:not(.pt-meta){color:var(--mute);max-width:34ch;margin-bottom:18px}
html.dp-depth .portal{transform:perspective(1500px) translate3d(0,calc(var(--d)*-3vh),calc((1 - var(--k))*-320px)) rotateX(calc(var(--d)*-8deg));opacity:calc(.28 + var(--k)*.72);will-change:transform,opacity;transform-origin:50% 50%}
html.dp-depth .pt-copy{opacity:calc((var(--k) - .35)*2.4);translate:0 calc((1 - var(--k))*34px)}

/* ── 09 PROCESS — execution spine ────────────────────── */
.process{padding:var(--section) 0}
.spine-wrap{position:relative;max-width:1000px;margin-inline:auto}
.spine{display:grid;gap:clamp(56px,9vw,116px);position:relative;z-index:1}
.st{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center}
.st-node{grid-column:2;grid-row:1;justify-self:center;width:17px;height:17px;border-radius:50%;background:var(--void);border:1px solid var(--line-3);transition:background .5s,border-color .5s,box-shadow .5s,scale .5s var(--ease)}
.st.is-past .st-node{border-color:rgba(255,148,31,.6);background:rgba(var(--energy),.35)}
.st.is-active .st-node{background:var(--amber-hot);border-color:#ffd9a1;box-shadow:0 0 0 6px rgba(var(--energy),.18),0 0 26px 6px rgba(var(--energy),.75);scale:1.18}
.st-copy{grid-row:1;grid-column:3;opacity:.35;translate:0 10px;transition:opacity .7s var(--ease),translate .8s var(--ease)}
.st-viz{grid-row:1;grid-column:1;justify-self:end;position:relative;width:min(240px,90%);height:96px;opacity:.3;transition:opacity .7s}
.st:nth-child(even) .st-copy{grid-column:1;text-align:right;justify-self:end}
.st:nth-child(even) .st-viz{grid-column:3;justify-self:start}
.st.is-past .st-copy,.st.is-active .st-copy{opacity:1;translate:0 0}
.st.is-past .st-viz,.st.is-active .st-viz{opacity:1}
.st-copy h3{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.4rem);letter-spacing:-.04em;margin-bottom:10px}
.st-copy p{color:var(--mute);max-width:36ch}
.st:nth-child(even) .st-copy p{margin-left:auto}
.spine-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line-2);display:block;z-index:0}
.spine-line b{position:absolute;inset:0;background:linear-gradient(var(--amber-hot),var(--amber));transform-origin:top;transform:scaleY(var(--sp,1));box-shadow:0 0 12px rgba(var(--energy),.6)}
.spine-sig{position:absolute;left:50%;top:0;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(var(--energy),.25),0 0 26px 7px rgba(var(--energy),.85);translate:0 var(--sy,0px);opacity:var(--so,0);z-index:2;pointer-events:none}
/* stage micro-systems */
.st-viz i{position:absolute;display:block}
.v1a{left:50%;top:50%;width:72px;height:72px;margin:-36px;border-radius:50%;border:1px solid rgba(255,148,31,.6)}
.v1b{left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--amber-hot),transparent)}
.v2a,.v2b,.v2c{left:6%;height:8px;border-radius:4px;border:1px solid var(--line-3)}
.v2a{top:14%;width:90%}.v2b{top:40%;width:56%}.v2c{top:66%;width:74%}
.v3a,.v3b,.v3c{bottom:8%;width:26%;height:32px;border-radius:6px;border:1px solid rgba(255,148,31,.5);background:rgba(var(--energy),.14)}
.v3a{left:8%}.v3b{left:37%}.v3c{left:66%;bottom:46%}
.st-viz svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v4a,.v4b{fill:none;stroke-width:1.6;stroke-linecap:round}.v4a{stroke:var(--line-3);stroke-dasharray:3 4}.v4b{stroke:var(--amber-hot);filter:drop-shadow(0 0 5px rgba(var(--energy),.7));stroke-dasharray:1;stroke-dashoffset:1}
.st.is-active .v4b,.st.is-past .v4b{animation:draw 1.6s var(--ease) forwards}
.st.is-active .v1a{animation:ping 2.4s var(--ease-out) infinite}
.st.is-active .v1b{animation:scanx 2.6s var(--ease-io) infinite}
.st.is-active .v2a,.st.is-active .v2b,.st.is-active .v2c{animation:wire 1.4s var(--ease) both}
.st.is-active .v2b{animation-delay:.18s}.st.is-active .v2c{animation-delay:.36s}
.st.is-active .v3a,.st.is-active .v3b,.st.is-active .v3c{animation:drop .8s var(--ease-out) both}
.st.is-active .v3b{animation-delay:.16s}.st.is-active .v3c{animation-delay:.32s}

/* ── 10 PLANS — capability matrix ────────────────────── */
.plans{padding:var(--section) 0}
.plans .h2{font-size:clamp(1.9rem,1.1rem + 2.7vw,3.7rem)}
.matrix{display:grid;grid-template-columns:minmax(290px,.7fr) minmax(0,2.4fr);gap:clamp(20px,3vw,44px);align-items:start}
.mx-summary{position:sticky;top:96px;padding:clamp(22px,2.2vw,32px);border-radius:20px;background:var(--glass-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);isolation:isolate;border:1px solid var(--line)}
.mx-summary::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ang),transparent 0 62%,rgba(255,148,31,.95) 80%,transparent 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask-composite:exclude;animation:angspin 6s linear infinite;pointer-events:none}
.mx-price{display:flex;align-items:baseline;gap:3px;font-family:var(--f-display);margin-bottom:12px}
.mx-price b{font-size:clamp(3rem,2.2rem + 2.6vw,4.6rem);font-weight:600;letter-spacing:-.06em;line-height:.9}
.mx-cur{font-size:1.6rem;color:var(--amber-hot)}
.mx-price.is-text b{font-size:clamp(2.1rem,1.5rem + 1.8vw,3.1rem);letter-spacing:-.05em}
.mx-price small{font:400 .9rem var(--f-body);color:var(--mute);margin-left:6px}
.mx-summary h3{margin-bottom:8px}
.mx-summary>p:not(.mx-price){color:var(--mute);font-size:.94rem;margin-bottom:20px}
.mx-summary .btn{width:100%;white-space:normal;text-align:center;line-height:1.25}
.mx-table-wrap{min-width:0;overflow-x:auto}
.mx-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}
.mx-table thead th{padding:0 4px;vertical-align:bottom;font-weight:400}
.mx-table thead th:first-child{width:16%}
.mx-plan{display:grid;gap:3px;width:100%;text-align:left;padding:14px;border-radius:14px 14px 0 0;background:rgba(20,26,32,.55);border:1px solid var(--line);border-bottom:0;color:var(--mute);transition:background .5s,color .4s,border-color .4s}
.mx-plan .pn{font:600 .95rem/1.15 var(--f-display);letter-spacing:-.02em}
.mx-plan .pp{font-size:.78rem;color:var(--dim)}
.mx-plan:hover{color:var(--ink);border-color:var(--line-3)}
.mx-plan[aria-pressed=true]{color:#fff;background:linear-gradient(180deg,rgba(var(--energy),.24),rgba(var(--energy),.06));border-color:rgba(255,148,31,.6)}
.mx-plan[aria-pressed=true] .pp{color:var(--gold)}
.mx-table th[scope=row]{padding:14px 12px 14px 0;text-align:left;font:500 .92rem var(--f-body);color:var(--ink);border-top:1px solid var(--line);vertical-align:top}
.mx-table td{padding:13px 12px;font-size:.8rem;line-height:1.4;color:var(--dim);border-top:1px solid var(--line);vertical-align:top;transition:background .5s,color .4s,opacity .4s}
.mx-table td.y span,.mx-table td.a span{display:inline}
.mx-table td>i{display:inline-block;width:14px;height:14px;margin:1px 8px -2px 0;border-radius:50%;border:1px solid var(--line-3);vertical-align:baseline;transition:background .4s,border-color .4s,box-shadow .4s}
.mx-table td.y>i{background:var(--steel-2)}
.mx-table td.a>i{border-style:dashed}
.mx-table td.n{opacity:.42}
.mx-table td.n>i{border-color:var(--line)}
.matrix[data-active=de] td[data-col=de],.matrix[data-active=ga] td[data-col=ga],.matrix[data-active=ba] td[data-col=ba],.matrix[data-active=cd] td[data-col=cd]{color:var(--ink);background:linear-gradient(180deg,rgba(var(--energy),.11),rgba(var(--energy),.04));border-left:1px solid rgba(255,148,31,.28);border-right:1px solid rgba(255,148,31,.28)}
.matrix[data-active=de] td.y[data-col=de]>i,.matrix[data-active=ga] td.y[data-col=ga]>i,.matrix[data-active=ba] td.y[data-col=ba]>i,.matrix[data-active=cd] td.y[data-col=cd]>i,.matrix[data-active=cd] td.a[data-col=cd]>i{background:var(--amber-hot);border-color:var(--amber-hot);box-shadow:0 0 12px rgba(var(--energy),.85)}
.matrix[data-active=de] td.n[data-col=de],.matrix[data-active=ga] td.n[data-col=ga],.matrix[data-active=ba] td.n[data-col=ba],.matrix[data-active=cd] td.n[data-col=cd]{opacity:.5}
.mx-table tfoot td{padding:14px 12px;border-top:1px solid var(--line);font-size:.86rem}
.mx-note{grid-column:2;display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--dim);font-size:.88rem;margin-top:-10px}

/* ── 11 INSIGHTS — editorial ─────────────────────────── */
.insights{padding:var(--section) 0}
.edit{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(28px,3.4vw,52px) clamp(20px,2.6vw,40px);align-items:start}
.ed{position:relative}
.ed-img{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:4/3;background:var(--steel)}
.ed-img img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;translate:0 calc(var(--py,0)*1%);filter:grayscale(.45) contrast(1.05) brightness(.72) saturate(.9);transition:filter .8s var(--ease),scale 1.2s var(--ease)}
.ed-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(6,8,10,.55)),linear-gradient(135deg,rgba(var(--energy),.16),transparent 55%);mix-blend-mode:normal}
.ed:hover .ed-img img{filter:grayscale(.1) contrast(1.05) brightness(.85);scale:1.03}
.ed-meta{font-size:.82rem;color:var(--dim);margin:16px 0 10px}
.ed h3{font-size:clamp(1.15rem,1rem + .7vw,1.6rem);letter-spacing:-.03em;line-height:1.14;text-wrap:balance}
.ed h3 a{transition:color .3s}
.ed:hover h3 a{color:var(--gold)}
.ed-feature{grid-column:1/8;grid-row:1/3}
.ed-feature .ed-img{aspect-ratio:5/4}
.ed-feature h3{font-size:clamp(1.8rem,1.1rem + 2.3vw,3.4rem);letter-spacing:-.05em;line-height:1.02}
.ed-feature .ed-copy>p:not(.ed-meta){color:var(--mute);margin-top:16px;max-width:52ch}
.ed-a{grid-column:9/13;grid-row:1}.ed-b{grid-column:9/13;grid-row:2}
.ed-c{grid-column:1/13;grid-row:3;display:grid;grid-template-columns:5fr 7fr;gap:clamp(20px,3vw,48px);align-items:center;padding-top:clamp(12px,2vw,28px);border-top:1px solid var(--line)}
.ed-c .ed-img{aspect-ratio:16/8}
.ed-c h3{font-size:clamp(1.5rem,1rem + 1.8vw,2.6rem);letter-spacing:-.045em}

/* ── 12 FINAL CTA ────────────────────────────────────── */
.cta{min-height:min(100svh,880px);display:grid;place-items:center;padding:var(--section) 0;overflow:hidden;text-align:center}
.cta-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cta-lines path{fill:none;stroke:rgba(255,148,31,.42);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--cv,1))}
.cta-aperture{position:absolute;left:50%;top:50%;width:min(92vw,860px);aspect-ratio:1;translate:-50% -50%;pointer-events:none}
.cta-aperture i{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line);}
.cta-aperture i:nth-child(2){inset:12%;border-color:var(--line-2);border-style:dashed}
.cta-aperture i:nth-child(3){inset:26%;border-color:rgba(255,148,31,.28)}
.cta-in{position:relative;z-index:2;display:grid;justify-items:center;gap:clamp(26px,4vw,44px)}
.cta-title{font-size:clamp(2.3rem,1.3rem + 4.3vw,5.6rem);letter-spacing:-.055em;line-height:.98}
.cta-actions{position:relative;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta-contact{display:flex;gap:clamp(18px,3vw,40px);flex-wrap:wrap;justify-content:center;color:var(--mute);font-size:.94rem}
.cta-signals{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.cta-signals i{position:absolute;left:0;top:0;width:4px;height:4px;margin:-2px;border-radius:50%;background:var(--amber-hot);box-shadow:0 0 10px 2px rgba(var(--energy),.85);translate:calc(var(--dx)*var(--k,1)) calc(var(--dy)*var(--k,1));opacity:var(--so,.45);transition:translate 1.1s var(--ease-out) var(--dl,0s),opacity .6s}
.cta-signals.pull{--k:.16}
.cta-signals.pull i{--so:1}
