:root{
/* TwinMS logo sizing system — nav / footer / product-titlebar / ecosystem-core / inline-brand */
--type-hero-page:clamp(37px,4.1vw,56px);--type-sec-major:clamp(32px,3.8vw,52px);--type-sec:clamp(27px,3vw,42px);--type-cta:clamp(36px,4vw,54px);
--logo-nav:58px;--logo-footer:42px;--logo-titlebar:22px;--logo-core:58px;--logo-inline:1em;--logo-inline-h:1.06em;
--bg:#04070a;--panel:#0a0f14;--card:#0d141b;--line:rgba(140,180,170,.13);--line2:rgba(140,180,170,.08);--green:#569B54;--g1:#67B465;--g2:#96CB90;--amber:#E5972B;--white:#F4F8F6;--muted:#9fb0ab;--faint:#65756f;--dim:#7d918a}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--white)}
h1,h2,h3,h4,h5{font-family:'Schibsted Grotesk','Space Grotesk',system-ui,sans-serif}
a{color:inherit}
.wrap{max-width:1500px;margin:0 auto;padding:0 52px}
.wm{height:var(--logo-inline);width:auto;vertical-align:-.14em;display:inline-block}
h1 .wm,h2 .wm,h3 .wm{height:var(--logo-inline-h);vertical-align:-.1em;margin:0 .08em}
/* nav */
.nv{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px 0 16px}
.brand{display:flex;flex-direction:column;gap:3px;text-decoration:none}
.brand img{height:var(--logo-nav);display:block;width:auto;object-fit:contain;align-self:flex-start;flex-shrink:0}
.brand small{font-size:11px;letter-spacing:.04em;color:#5f6f68;margin-left:3px}
.links{display:flex;gap:34px}
.links a{position:relative;color:var(--muted);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;padding:6px 1px;transition:color .22s cubic-bezier(.2,.7,.3,1)}
.links a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--g1);box-shadow:0 0 8px rgba(103,180,101,.6);transition:right .26s cubic-bezier(.2,.7,.3,1)}
.links a:hover{color:#fff}.links a:hover:after{right:0}
.links a.on{color:#EDF7EC}.links a.on:after{right:0}
.nvr{display:flex;align-items:center;gap:22px}
.signin{color:#cfdcd6;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:color .22s}
.signin:hover{color:#fff}
.btn{background:var(--g1);color:#0A2308;font-weight:600;font-size:14px;padding:11px 18px;border-radius:11px;text-decoration:none;cursor:pointer;box-shadow:0 10px 28px -10px rgba(103,180,101,.55),inset 0 1px 0 rgba(255,255,255,.28);transition:all .22s cubic-bezier(.2,.7,.3,1);display:inline-flex;align-items:center;gap:8px}
.btn:hover{background:#7CC878;transform:translateY(-1px);box-shadow:0 16px 36px -12px rgba(103,180,101,.7),inset 0 1px 0 rgba(255,255,255,.3)}
.btn svg{width:13px;height:13px;transition:transform .22s}
.btn:hover svg{transform:translate(1.5px,-1.5px)}
/* page hero */
.phero{position:relative;overflow:hidden;padding:64px 0 40px;background:radial-gradient(52% 44% at 14% 8%,rgba(70,160,110,.10),transparent 62%),radial-gradient(60% 52% at 72% 30%,rgba(60,150,100,.10),transparent 60%),linear-gradient(180deg,#070d10,#050a0d 46%,#04070a)}
.phero .eye{margin-bottom:26px}
.phero h1{font-size:var(--type-hero-page);font-weight:700;line-height:1.04;letter-spacing:-.035em;max-width:880px}
.phero h1 em{font-style:normal;color:var(--g1)}
.phero .sub{margin-top:20px;font-size:17.5px;line-height:1.62;color:#a9bcb3;max-width:660px}
.phero .cta{display:flex;align-items:center;gap:20px;margin-top:30px}
.eye{display:inline-flex;align-items:center;gap:12px;font-family:'Space Grotesk';font-weight:700;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:#7CC878}
.eye s{width:9px;height:9px;border-radius:50%;background:var(--g1);box-shadow:0 0 14px 2px rgba(103,180,101,.95);animation:pulse 2.2s ease-in-out infinite}
.p{background:var(--g1);color:#0A2308;font-weight:600;font-size:15px;padding:15px 26px;border-radius:13px;text-decoration:none;cursor:pointer;box-shadow:0 14px 34px -12px rgba(103,180,101,.6),inset 0 1px 0 rgba(255,255,255,.3);transition:all .22s cubic-bezier(.2,.7,.3,1);display:inline-flex;align-items:center;gap:9px}
.p:hover{background:#7CC878;transform:translateY(-1px);box-shadow:0 20px 44px -14px rgba(103,180,101,.75),inset 0 1px 0 rgba(255,255,255,.32)}
.p svg{width:14px;height:14px;transition:transform .22s}
.p:hover svg{transform:translate(1.5px,-1.5px)}
.g{color:#e8f1ec;font-weight:500;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:color .22s}
.g u{width:30px;height:30px;border-radius:50%;border:1.4px solid rgba(160,200,180,.4);display:inline-flex;align-items:center;justify-content:center;transition:all .22s cubic-bezier(.2,.7,.3,1)}
.g:hover u{border-color:var(--g1);color:var(--g1);background:rgba(103,180,101,.1);box-shadow:0 0 16px -4px rgba(103,180,101,.5)}
.g u svg{width:10px;height:10px;margin-left:1px}
/* sections */
.sec{position:relative;padding:96px 0;overflow:hidden}
.sec.tight{padding:72px 0}
.sec .halo{position:absolute;pointer-events:none;left:-8%;top:-12%;width:800px;height:600px;background:radial-gradient(50% 50% at 50% 50%,rgba(70,170,115,.08),transparent 70%)}
.shead{max-width:880px;margin-bottom:64px}
.shead h2{font-weight:700;font-size:var(--type-sec-major);line-height:1.05;letter-spacing:-.032em;margin-top:18px}
.shead h2 em{font-style:normal;color:var(--g1)}
.shead p{margin-top:18px;font-size:16px;line-height:1.62;color:#a9bcb3;max-width:680px}
h1,h2,h3,.shead h2{text-wrap:balance}
.shead.center{margin-left:auto;margin-right:auto;text-align:center}
.shead.center p{margin-left:auto;margin-right:auto}
.shead.split{max-width:none;display:grid;grid-template-columns:1.35fr 1fr;gap:20px 64px;align-items:end}
.shead.split .eye{grid-column:1/-1;margin-bottom:0}
.shead.split h2{margin-top:12px}
.shead.split p{margin:0 0 8px;max-width:none}
.srev{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.srev.in{opacity:1;transform:none}
/* product frame (tilted glass window) */
.stage3d{position:relative;perspective:1900px;display:flex;justify-content:center;padding:30px 0 40px}
.stage3d .glowc{position:absolute;inset:6% 10%;background:radial-gradient(46% 46% at 50% 44%,rgba(103,180,101,.2),transparent 66%);animation:breath 9s ease-in-out infinite;pointer-events:none}
.tilt{position:relative;transform-style:preserve-3d;transform:rotateY(-9deg) rotateX(4deg);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.pwin{position:relative;width:min(920px,86vw);border-radius:20px;background:linear-gradient(168deg,#0d151c,#080e13 55%,#070c11);border:1px solid rgba(170,210,190,.2);box-shadow:0 90px 160px -30px rgba(0,0,0,.97),0 30px 70px -20px rgba(0,0,0,.8),0 0 110px -30px rgba(103,180,101,.34),inset 0 1px 0 rgba(255,255,255,.12);overflow:hidden;animation:floaty 10s ease-in-out infinite}
.pwin:after{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,.03) 26%,rgba(120,220,160,.06) 60%,rgba(103,180,101,.32) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;z-index:6}
.pwin .tb{display:flex;align-items:center;gap:14px;height:48px;padding:0 16px;border-bottom:1px solid var(--line2);background:linear-gradient(180deg,rgba(13,20,26,.92),rgba(8,13,17,.75))}
.pwin .tb img{height:var(--logo-titlebar)}
.pwin .tb b{font-family:'Space Grotesk';font-size:12px;font-weight:500;color:#c9d6e6}
.pwin .tb .lv{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:11.5px;color:#9fd8ae;font-weight:500}
.pwin .tb .lv s{width:7px;height:7px;border-radius:50%;background:#7CC878;box-shadow:0 0 10px 1px rgba(124,200,120,.9);animation:pulse 2.2s ease-in-out infinite}
.pwin .shot{position:relative;aspect-ratio:16/8.6;overflow:hidden}
.pwin .shot img{position:absolute;left:-3.5%;top:-7%;width:107%;height:114%;object-fit:cover;object-position:left top}
.pwin .shot:after{content:"";position:absolute;inset:0;background:radial-gradient(130% 110% at 50% 0%,transparent 58%,rgba(4,8,12,.4) 100%)}
/* capsules */
.caplist{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.capsule{position:relative;display:flex;align-items:center;gap:16px;padding:11px 24px 11px 12px;min-height:80px;border:1px solid var(--line);border-radius:999px;background:linear-gradient(180deg,rgba(13,20,27,.82),rgba(9,14,19,.9));text-decoration:none;color:inherit;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:transform .32s cubic-bezier(.2,.7,.3,1),border-color .32s,box-shadow .32s;overflow:hidden}
.capsule:before{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(100deg,transparent 32%,rgba(103,180,101,.09) 50%,transparent 68%);transform:translateX(-101%);transition:transform .75s ease}
.capsule:hover:before{transform:translateX(101%)}
.capsule:hover{transform:translateY(-3px);border-color:rgba(103,180,101,.5);box-shadow:0 24px 46px -22px rgba(0,0,0,.82),0 0 36px -14px rgba(103,180,101,.45),inset 0 1px 0 rgba(255,255,255,.07)}
.cic{flex:none;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(103,180,101,.08);border:1px solid rgba(103,180,101,.22);color:#D2E4CF;transition:all .32s cubic-bezier(.2,.7,.3,1)}
.cic svg{width:25px;height:25px}
.capsule:hover .cic{background:rgba(103,180,101,.15);border-color:rgba(103,180,101,.5);color:#EDF7EC;transform:scale(1.07) rotate(-3deg)}
.capsule:hover .sdot{animation:pulse 1.3s ease-in-out infinite}
.ctx{display:flex;flex-direction:column;gap:3px;min-width:0}
.ctx b{font-family:'Schibsted Grotesk';font-size:17px;font-weight:600;letter-spacing:-.01em;color:#eef6f1}
.ctx small{font-size:12.5px;line-height:1.45;color:#8da09a}
.cgo{margin-left:auto;flex:none;display:flex;align-items:center;gap:11px}
.cgo em{font-style:normal;font-family:'Space Grotesk';font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#7fae8c;opacity:0;transform:translateX(8px);transition:all .32s;white-space:nowrap}
.capsule:hover .cgo em{opacity:1;transform:none}
.cgo svg{width:16px;height:16px;color:#7d918a;transition:all .32s}
.capsule:hover .cgo svg{color:var(--g1);transform:translateX(3px)}
/* glass cards & misc */
.gcard{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(13,20,27,.85),rgba(9,14,19,.92));padding:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .3s,transform .3s cubic-bezier(.2,.7,.3,1)}
.gcard:hover{border-color:rgba(103,180,101,.38);transform:translateY(-3px)}
.gcard h4{font-size:17.5px;font-weight:600;letter-spacing:-.01em;color:#eef6f1}
.gcard p{font-size:13px;line-height:1.58;color:#93a59e;margin-top:8px}
.gic{width:38px;height:38px;border-radius:11px;background:rgba(103,180,101,.1);border:1px solid rgba(103,180,101,.26);display:flex;align-items:center;justify-content:center;color:var(--g2);margin-bottom:14px}
.gic svg{width:17px;height:17px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.twocol{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center}
.bul{display:flex;gap:13px;align-items:flex-start;padding:13px 2px}
.bul .ic{width:30px;height:30px;border-radius:9px;background:rgba(103,180,101,.1);border:1px solid rgba(103,180,101,.25);display:flex;align-items:center;justify-content:center;color:var(--g2);flex:none}
.bul .ic svg{width:14px;height:14px}
.bul b{font-family:'Schibsted Grotesk';font-size:14.5px;font-weight:600;color:#e8f1ec;display:block}
.bul span{font-size:13px;line-height:1.5;color:#8da09a}
.protos{display:flex;flex-wrap:wrap;gap:7px}
.protos span{font-family:'Space Grotesk';font-size:10.5px;color:#a8c2b4;border:1px solid var(--line);border-radius:7px;padding:5px 11px;background:rgba(20,30,26,.5)}
.certs{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.certs span{font-family:'Space Grotesk';font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#7d918a;border:1px solid var(--line);border-radius:8px;padding:7px 14px;background:rgba(13,20,27,.6)}
.statrow{display:flex;gap:44px;flex-wrap:wrap}
.statrow div{display:flex;flex-direction:column;gap:4px}
.statrow b{font-family:'Schibsted Grotesk';font-size:26px;font-weight:700;color:#eef6f1;font-variant-numeric:tabular-nums}
.statrow span{font-size:11px;color:var(--faint)}
.dep{position:relative;height:320px;border-radius:20px;overflow:hidden;border:1px solid rgba(170,210,190,.16);box-shadow:0 50px 90px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.07);transition:transform .35s cubic-bezier(.2,.7,.3,1),border-color .35s}
.dep:hover{transform:translateY(-5px);border-color:rgba(103,180,101,.4)}
.dep img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.7) contrast(1.12);transition:transform 6s ease}
.dep:hover img{transform:scale(1.045)}
.dep .scr{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,10,.25),rgba(4,8,10,.05) 40%,rgba(3,6,8,.92) 88%)}
.dep .live{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:500;color:#CFE9CB;background:rgba(7,13,10,.8);border:1px solid rgba(103,180,101,.4);border-radius:16px;padding:6px 12px;backdrop-filter:blur(8px)}
.dep .live s{width:6px;height:6px;border-radius:50%;background:#7CC878;box-shadow:0 0 8px rgba(124,200,120,.9);animation:pulse 2.2s ease-in-out infinite}
.dep .body2{position:absolute;left:20px;right:20px;bottom:18px}
.dep h4{font-size:22px;font-weight:600;letter-spacing:-.015em;color:#f3f8f4}
.dep p{font-size:13px;color:#a9bcb3;margin-top:5px}
.dep .dstats{display:flex;gap:18px;margin-top:12px}
.dep .dstats i{font-style:normal;font-family:'Space Grotesk';font-size:11.5px;color:#A6CFA0}
/* cta band + footer */
.ctaband{position:relative;overflow:hidden;text-align:center;padding:110px 0 90px;background:linear-gradient(180deg,#030608,#04080c 45%,#020406)}
.ctaband .cring{position:absolute;left:50%;top:64%;transform:translateX(-50%);width:760px;height:170px;border-radius:50%;border:2px solid rgba(103,180,101,.35);box-shadow:0 0 40px 2px rgba(103,180,101,.22),inset 0 0 34px rgba(103,180,101,.12);animation:breath 7s ease-in-out infinite;pointer-events:none}
.ctaband h2{font-size:var(--type-cta);font-weight:700;letter-spacing:-.032em;position:relative;z-index:2}
.ctaband h2 em{font-style:normal;color:var(--g1)}
.ctaband p{margin:16px auto 0;font-size:16px;line-height:1.6;color:#a9bcb3;max-width:520px;position:relative;z-index:2}
.ctaband .cta{display:flex;justify-content:center;gap:20px;margin-top:32px;position:relative;z-index:2}
.foot{border-top:1px solid rgba(140,180,170,.1);padding:34px 0 30px;background:rgba(3,6,8,.6)}
.foot .fin{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot .fl{display:flex;align-items:center;gap:14px}
.foot .fl img{height:var(--logo-footer)}
.foot .fl small{display:block;font-size:11px;color:#5f6f68;margin-top:2px}
.foot .fr{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.foot .fr a{color:#8da09a;font-size:13px;text-decoration:none;transition:color .2s}
.foot .fr a:hover{color:#e8f1ec}
.foot .lang{font-family:'Space Grotesk';font-size:12.5px;color:#A6CFA0;cursor:pointer}
.foot .cop{width:100%;margin-top:18px;padding-top:16px;border-top:1px solid rgba(140,180,170,.07);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:11.5px;color:#5c6c66}
/* flow (intelligence) */
.aiflow{position:relative;border-radius:18px;border:1px solid rgba(170,210,190,.16);background:linear-gradient(168deg,#0c141b,#080e13);box-shadow:0 60px 110px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08);padding:26px 26px 22px}
.fnode{position:relative;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;background:rgba(13,20,27,.8);padding:12px 14px;font-size:13px;color:#d9e6de}
.fnode b{font-family:'Space Grotesk';font-weight:600;color:#eef6f1}
.fnode.amb{border-color:rgba(229,151,43,.42);background:rgba(24,17,7,.7)}
.fnode.amb s{width:7px;height:7px;border-radius:50%;background:#E5972B;box-shadow:0 0 9px rgba(229,151,43,.85);animation:pulse 1.6s ease-in-out infinite;flex:none}
.fnode.brain{border-color:rgba(103,180,101,.4);background:linear-gradient(180deg,rgba(16,34,24,.6),rgba(10,18,14,.7))}
.fnode.brain s{width:7px;height:7px;border-radius:50%;background:#7CC878;box-shadow:0 0 9px rgba(124,200,120,.85);flex:none}
.fnode .conf{margin-left:auto;font-family:'Space Grotesk';font-size:10px;color:#A6CFA0}
.fcon{position:relative;width:2px;height:26px;margin:0 auto;background:linear-gradient(rgba(103,180,101,.5),rgba(103,180,101,.2))}
.fcon i{position:absolute;left:-2.5px;top:-3px;width:7px;height:7px;border-radius:50%;background:#96CB90;box-shadow:0 0 8px rgba(143,224,166,.8);animation:fdrop 2.2s linear infinite}
@keyframes fdrop{0%{top:-3px;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:24px;opacity:0}}
.fsplit{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fact2{display:flex;align-items:center;gap:9px;border:1px solid rgba(103,180,101,.3);border-radius:11px;background:rgba(10,20,14,.6);padding:11px 12px;font-size:12px;color:#D2E4CF}
.fact2 u{text-decoration:none;width:15px;height:15px;border-radius:50%;background:rgba(124,200,120,.14);border:1px solid rgba(124,200,120,.5);color:#7FE0A0;font-size:8.5px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.cascade{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cascade i{font-style:normal;font-family:'Space Grotesk';font-size:10.5px;color:#a8c2b4;border:1px solid var(--line);border-radius:7px;padding:5px 10px;background:rgba(20,30,26,.5)}
.cascade u{text-decoration:none;color:#5c6c66;font-size:11px}
.cascade em{font-style:normal;font-size:10.5px;color:#6d7f78;margin-left:6px}
/* forms */
.form{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(13,20,27,.85),rgba(9,14,19,.92));padding:28px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fld{display:flex;flex-direction:column;gap:7px}
.fld label{font-family:'Space Grotesk';font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7d918a}
.fld input,.fld select,.fld textarea{background:rgba(8,13,17,.8);border:1px solid var(--line);border-radius:10px;color:#eef6f1;font-family:'Inter';font-size:14px;padding:12px 14px;outline:none;transition:border-color .25s,box-shadow .25s;width:100%}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:rgba(103,180,101,.55);box-shadow:0 0 0 3px rgba(103,180,101,.12)}
.modnav{display:flex;justify-content:space-between;gap:16px}
.modnav a{flex:1;display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(13,20,27,.7);text-decoration:none;transition:border-color .3s,transform .3s}
.modnav a:hover{border-color:rgba(103,180,101,.4);transform:translateY(-2px)}
.modnav small{font-family:'Space Grotesk';font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:#6d7f78;display:block}
.modnav b{font-family:'Schibsted Grotesk';font-size:14.5px;color:#e8f1ec}
.modnav .nx{text-align:right;margin-left:auto;justify-content:flex-end}
.vid{position:relative;border-radius:18px;border:1px solid var(--line);background:linear-gradient(168deg,#0b1218,#070c11);min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vid .pl{width:74px;height:74px;border-radius:50%;background:rgba(103,180,101,.14);border:1px solid rgba(103,180,101,.5);display:flex;align-items:center;justify-content:center;color:#9df0b8;cursor:pointer;transition:all .3s;box-shadow:0 0 50px -10px rgba(103,180,101,.5)}
.vid .pl:hover{transform:scale(1.07);background:rgba(103,180,101,.22)}
.vid .pl svg{width:24px;height:24px;margin-left:3px}
.vid small{position:absolute;bottom:16px;font-family:'Space Grotesk';font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6d7f78}
/* keyframes */
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes breath{0%,100%{opacity:.62}50%{opacity:1}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.node{animation:nd 3.4s ease-in-out infinite}
@keyframes nd{0%,100%{opacity:.35}50%{opacity:1}}
@media (max-width:1180px){.wrap{padding:0 24px}.shead.split{grid-template-columns:1fr;gap:14px}.shead.split p{margin-top:14px}.links{display:none}.brand img{height:48px}.grid3,.grid4{grid-template-columns:1fr 1fr}.grid2,.twocol,.caplist,.frow{grid-template-columns:1fr}.twocol{gap:36px}.cgo em{display:none}}

/* module-v2 */
.mtabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:22px}
.mtab{display:inline-flex;align-items:center;gap:8px;font-family:'Space Grotesk';font-size:12px;font-weight:500;color:#9fb0ab;background:rgba(13,20,27,.75);border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;transition:all .28s cubic-bezier(.2,.7,.3,1)}
.mtab svg{width:15px;height:15px;color:#7fae8c}
.mtab:hover{color:#EDF7EC;border-color:rgba(103,180,101,.45);transform:translateY(-1px)}
.mtab.on{color:#0A2308;background:var(--g1);border-color:var(--g1);box-shadow:0 10px 26px -10px rgba(103,180,101,.6),inset 0 1px 0 rgba(255,255,255,.3);font-weight:600}
.mtab.on svg{color:#0A2308}.mtab.on svg circle[fill]{fill:#0A2308}
.crumb2{font-family:'Space Grotesk';font-size:10.5px;letter-spacing:.05em;color:#a9bdb2;background:rgba(7,13,11,.7);border:1px solid rgba(140,180,170,.2);border-radius:8px;padding:4px 10px;margin-left:14px}
/* ops hub */
.ohgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
.kwall{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kt{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(13,20,27,.85),rgba(9,14,19,.92));padding:15px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .3s}
.kt:hover{border-color:rgba(103,180,101,.35)}
.ki{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;background:rgba(103,180,101,.1);border:1px solid rgba(103,180,101,.25);box-shadow:0 0 18px -6px rgba(103,180,101,.5)}
.ki.amber{background:rgba(229,151,43,.1);border-color:rgba(229,151,43,.3);box-shadow:0 0 18px -6px rgba(229,151,43,.5)}
.ki.blue{background:rgba(90,168,232,.1);border-color:rgba(90,168,232,.3);box-shadow:0 0 18px -6px rgba(90,168,232,.5)}
.ki.red{background:rgba(224,90,90,.1);border-color:rgba(224,90,90,.3);box-shadow:0 0 18px -6px rgba(224,90,90,.45)}
.ki.violet{background:rgba(150,140,230,.1);border-color:rgba(150,140,230,.3);box-shadow:0 0 18px -6px rgba(150,140,230,.45)}
.ki.teal{background:rgba(87,200,176,.1);border-color:rgba(87,200,176,.3);box-shadow:0 0 18px -6px rgba(87,200,176,.5)}
.kt small{display:block;font-size:10.5px;color:#7d918a;letter-spacing:.02em}
.kt b{font-family:'Schibsted Grotesk';font-size:20px;font-weight:700;color:#f0f7f2;font-variant-numeric:tabular-nums}
.kt b i{font-style:normal;font-size:12px;color:#7d918a}
.logbox{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(10,16,21,.9),rgba(8,13,17,.95));overflow:hidden;display:flex;flex-direction:column}
.lgh{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line2);font-family:'Space Grotesk';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8da09a}
.lgh i{font-style:normal;color:#A6CFA0;font-size:10.5px}
.lg{padding:10px 14px;display:flex;flex-direction:column;gap:7px;min-height:280px}
.ll{font-size:11.5px;line-height:1.5;color:#a9bcb3;border-left:2px solid rgba(103,180,101,.4);padding:6px 10px;background:rgba(13,20,27,.5);border-radius:0 8px 8px 0;animation:llin .5s cubic-bezier(.16,1,.3,1)}
.ll.fault{border-left-color:rgba(229,151,43,.6)}
.ll u{text-decoration:none;color:#6d7f78;font-family:'Space Grotesk';margin-right:6px}
.ll em{font-style:normal;color:#6d7f78;display:block;font-size:10px}
@keyframes llin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* assets */
.apgrid{display:grid;grid-template-columns:.8fr 1.4fr;gap:44px;align-items:center}
.apring{position:relative;max-width:300px;margin:0 auto}
.apring svg{width:100%;filter:drop-shadow(0 0 24px rgba(103,180,101,.3))}
.aprv{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.aprv b{font-family:'Schibsted Grotesk';font-size:44px;font-weight:700;color:#f0f7f2}
.aprv b i{font-style:normal;font-size:20px;color:#A6CFA0}
.aprv small{font-size:11px;color:#7d918a;letter-spacing:.04em}
.hbars{display:flex;flex-direction:column;gap:11px;margin-top:26px}
.hb{display:grid;grid-template-columns:130px 1fr 60px;align-items:center;gap:14px;font-size:12px;color:#a9bcb3}
.hb span i{font-style:normal;color:#65756f;font-size:10.5px}
.hb u{height:7px;border-radius:4px;background:rgba(140,180,170,.1);overflow:hidden;display:block}
.hb b{display:block;height:100%;border-radius:4px;transition:width 1.2s cubic-bezier(.16,1,.3,1)}
.hb b.g{background:linear-gradient(90deg,#569B54,#96CB90);box-shadow:0 0 12px rgba(103,180,101,.5)}
.hb b.b{background:#5aa8e8}.hb b.y{background:#d8c46a}.hb b.r{background:#e05a5a}
.hb em{font-style:normal;text-align:right;font-family:'Space Grotesk';color:#c3d3ca}
.prio{margin-top:26px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:rgba(10,16,21,.6)}
.prio small{font-family:'Space Grotesk';font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7d918a}
.pr{display:flex;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid var(--line2);font-size:12.5px}
.pr:last-child{border-bottom:0}
.pr i{font-style:normal;font-family:'Space Grotesk';color:#A6CFA0;width:84px}
.pr span{color:#a9bcb3}
.pr em{font-style:normal;margin-left:auto;font-family:'Space Grotesk';font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#e0a95c;border:1px solid rgba(229,151,43,.3);border-radius:5px;padding:2px 8px}
/* sensor field */
.sleg{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:22px}
.sl{display:inline-flex;align-items:baseline;gap:7px;font-family:'Schibsted Grotesk';font-size:17px;font-weight:700;color:#eef6f1;background:rgba(13,20,27,.75);border:1px solid var(--line);border-radius:999px;padding:9px 18px;cursor:pointer;transition:all .25s;font-variant-numeric:tabular-nums}
.sl i{font-style:normal;font-family:'Inter';font-size:11px;font-weight:400;color:#7d918a}
.sl.on,.sl:hover{border-color:rgba(103,180,101,.5)}
.sl.amber{color:#f0d3a4}.sl.dim{color:#7d918a}
.sfield{display:grid;grid-template-columns:repeat(24,1fr);gap:10px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(10,16,21,.8),rgba(8,13,17,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.sd{width:9px;height:9px;border-radius:50%;justify-self:center;transition:opacity .3s,transform .3s}
.sd.act{background:#67B465;box-shadow:0 0 8px rgba(103,180,101,.7);animation:pulse 2.6s ease-in-out infinite}
.sd.ina{background:#E5972B;box-shadow:0 0 8px rgba(229,151,43,.6);animation:pulse 1.8s ease-in-out infinite}
.sfield.f-act .sd.ina,.sfield.f-ina .sd.act{opacity:.12;transform:scale(.7)}
.sfield.f-off .sd{opacity:.12;transform:scale(.7)}
/* alerts pipeline */
.pipe{display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap}
.pipe .ps{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--line);border-radius:14px;background:rgba(13,20,27,.8);padding:14px 20px;min-width:150px;transition:all .4s cubic-bezier(.2,.7,.3,1);opacity:.55}
.pipe .ps s{width:9px;height:9px;border-radius:50%;background:#3a4a44;transition:all .4s}
.pipe .ps b{font-family:'Schibsted Grotesk';font-size:13.5px;color:#c3d3ca}
.pipe .ps small{font-size:10.5px;color:#7d918a}
.pipe .ps.on{opacity:1;border-color:rgba(103,180,101,.4)}
.pipe .ps.on s{background:#7CC878;box-shadow:0 0 10px rgba(124,200,120,.9)}
.pipe .ps.cur{transform:translateY(-4px);border-color:rgba(103,180,101,.65);box-shadow:0 20px 40px -20px rgba(0,0,0,.8),0 0 30px -10px rgba(103,180,101,.5)}
.pipe u{width:26px;height:2px;background:linear-gradient(90deg,rgba(103,180,101,.5),rgba(103,180,101,.15))}
.acard{max-width:640px;margin:26px auto 0;border:1px solid rgba(229,151,43,.45);border-radius:14px;background:rgba(24,17,7,.6);padding:16px 18px;transition:all .6s}
.acard.done{border-color:rgba(103,180,101,.5);background:rgba(8,22,13,.6)}
.acard .ah{display:flex;align-items:center;gap:11px}
.acard .ah s{width:8px;height:8px;border-radius:50%;background:#E5972B;box-shadow:0 0 9px rgba(229,151,43,.8);animation:pulse 1.6s ease-in-out infinite}
.acard.done .ah s{background:#7CC878;box-shadow:0 0 9px rgba(124,200,120,.9)}
.acard .ah b{font-family:'Schibsted Grotesk';font-size:16px;color:#f3f8f4}
.sev{font-style:normal;font-family:'Space Grotesk';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#f0a9a9;border:1px solid rgba(224,90,90,.4);border-radius:5px;padding:2px 8px;background:rgba(224,90,90,.1)}
.astage{margin-left:auto;font-family:'Space Grotesk';font-size:11px;color:#e0a95c}
.acard.done .astage{color:#A6CFA0}
.acard .ab{display:flex;gap:18px;margin-top:9px;font-size:11.5px;color:#8da09a}
/* insights */
.ipanel{border:1px solid rgba(170,210,190,.16);border-radius:18px;background:linear-gradient(168deg,#0c141b,#080e13);box-shadow:0 60px 110px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.ipk{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line2)}
.kpi2{padding:16px 18px;border-right:1px solid var(--line2)}
.kpi2:last-child{border-right:0}
.kpi2 small{font-family:'Space Grotesk';font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#7d918a}
.kpi2 b{display:block;font-family:'Schibsted Grotesk';font-size:20px;font-weight:700;color:#f0f7f2;margin-top:5px;font-variant-numeric:tabular-nums;transition:color .3s}
.kpi2 b.warn{color:#f0c383}.kpi2 b.good{color:#A6CFA0}
.ichart{width:100%;height:150px;display:block}
.ichart path{transition:d .6s cubic-bezier(.16,1,.3,1)}
.icap{display:flex;gap:16px;align-items:center;padding:12px 18px;border-top:1px solid var(--line2);font-size:11.5px;color:#8da09a}
.icap i{font-style:normal;color:#A6CFA0;font-family:'Space Grotesk';font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
/* camera wall */
.cwall{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cf{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid var(--line);background-image:url('../assets/mod-cam.png');background-size:390% auto;background-position:var(--bx) var(--by);cursor:pointer;transition:all .45s cubic-bezier(.2,.7,.3,1);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.cf:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,10,.25),transparent 35%,rgba(3,6,8,.85) 88%);pointer-events:none}
.cf:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(120,220,170,.03) 0 1px,transparent 1px 3px);pointer-events:none;z-index:2}
.cf:hover{border-color:rgba(103,180,101,.5);transform:translateY(-3px)}
.cf.fo{grid-column:span 2;grid-row:span 2;border-color:rgba(103,180,101,.6);box-shadow:0 30px 60px -24px rgba(0,0,0,.85),0 0 44px -14px rgba(103,180,101,.4)}
.cf .cl{position:absolute;left:10px;top:10px;z-index:3;display:inline-flex;align-items:center;gap:6px;font-family:'Space Grotesk';font-size:9px;letter-spacing:.12em;color:#CFE9CB;background:rgba(7,13,10,.8);border:1px solid rgba(103,180,101,.4);border-radius:6px;padding:3px 8px}
.cf .cl s{width:5px;height:5px;border-radius:50%;background:#e05a5a;box-shadow:0 0 7px rgba(224,90,90,.9);animation:pulse 1.2s ease-in-out infinite}
.cf b{position:absolute;left:12px;bottom:24px;z-index:3;font-family:'Schibsted Grotesk';font-size:13px;color:#f0f7f2}
.cf i{position:absolute;left:12px;bottom:9px;z-index:3;font-style:normal;font-family:'Space Grotesk';font-size:9.5px;color:#8fa69a}
.cf i u{text-decoration:none;color:#A6CFA0;font-variant-numeric:tabular-nums}
/* industries tiles */
.sol{position:relative;overflow:hidden;display:flex;gap:14px;align-items:flex-start;padding:19px 18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(13,20,27,.75),rgba(9,14,19,.85));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:border-color .3s,transform .3s cubic-bezier(.2,.7,.3,1)}
.sol:hover{transform:translateY(-3px)}
.sol .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid var(--line);transition:transform .3s}
.sol:hover .ic{transform:translateY(-2px)}
.sol .ic svg{width:16px;height:16px}
.sol h4{font-size:14.5px;font-weight:600;color:#e8f1ec}
.sol p{font-size:12.5px;line-height:1.5;color:#8da09a;margin-top:3px}
.sol .mf{position:absolute;right:-8px;bottom:-10px;width:84px;height:70px;opacity:.14;pointer-events:none}
.sol-a .ic{background:rgba(103,180,101,.13);border-color:rgba(103,180,101,.32);color:#96CB90}
.sol-b .ic{background:rgba(229,151,43,.09);border-color:rgba(229,151,43,.26);color:#e0a95c}
.sol-c .ic{background:rgba(140,170,200,.1);border-color:rgba(140,170,200,.26);color:#9fb8d0}
.sol-d .ic{background:rgba(87,200,176,.1);border-color:rgba(87,200,176,.3);color:#57c8b0}
.sol-e .ic{background:rgba(103,180,101,.1);border-color:rgba(103,180,101,.26);color:#7fce8f}
.sol-f .ic{background:rgba(230,205,90,.08);border-color:rgba(230,205,90,.22);color:#d8c46a}
.sol-g .ic{background:rgba(90,168,232,.1);border-color:rgba(90,168,232,.26);color:#5aa8e8}
.sol-h .ic{background:rgba(200,140,100,.09);border-color:rgba(200,140,100,.24);color:#cf9a72}
.sol-i .ic{background:rgba(120,200,210,.09);border-color:rgba(120,200,210,.24);color:#7cc4ce}
.sol-a:hover{border-color:rgba(103,180,101,.45)}.sol-b:hover{border-color:rgba(229,151,43,.4)}.sol-c:hover{border-color:rgba(140,170,200,.4)}.sol-d:hover{border-color:rgba(87,200,176,.42)}.sol-e:hover{border-color:rgba(103,180,101,.4)}.sol-f:hover{border-color:rgba(230,205,90,.35)}.sol-g:hover{border-color:rgba(90,168,232,.4)}.sol-h:hover{border-color:rgba(200,140,100,.38)}.sol-i:hover{border-color:rgba(120,200,210,.38)}
@media (max-width:1180px){.ohgrid,.apgrid{grid-template-columns:1fr}.kwall{grid-template-columns:1fr 1fr}.cwall{grid-template-columns:1fr 1fr}.cf.fo{grid-column:span 2;grid-row:auto}.sfield{grid-template-columns:repeat(12,1fr)}.ipk{grid-template-columns:1fr 1fr}}

/* final-pass */
.mlinks{display:flex;flex-wrap:wrap;gap:8px}
.mlink{display:inline-flex;align-items:center;gap:7px;font-family:'Space Grotesk';font-size:11px;color:#a8c2b4;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:rgba(20,30,26,.5);text-decoration:none;transition:all .25s}
.mlink svg{width:13px;height:13px;color:#7fae8c}
.mlink:hover{border-color:rgba(103,180,101,.5);color:#EDF7EC;transform:translateY(-1px)}
/* industry explorer */
.ipanel2{position:relative;border:1px solid rgba(170,210,190,.16);border-radius:22px;background:linear-gradient(168deg,rgba(13,21,28,.9),rgba(8,14,19,.94));box-shadow:0 60px 110px -40px rgba(0,0,0,.9),0 0 70px -30px rgba(103,180,101,.2),inset 0 1px 0 rgba(255,255,255,.08);padding:28px;display:grid}
.iview{grid-area:1/1;display:grid;grid-template-columns:1.15fr 1fr;gap:36px;opacity:0;transform:translateY(12px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);pointer-events:none;visibility:hidden}
.iview.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.ivl h3{font-size:clamp(22px,2.3vw,30px);font-weight:700;letter-spacing:-.022em;color:#f0f7f2}
.ivl>p{margin-top:10px;font-size:14px;line-height:1.6;color:#a2b4ab}
.ivh{font-family:'Space Grotesk';font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#A6CFA0;margin:22px 0 11px}
.ivl ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.ivl li{position:relative;padding-left:20px;font-size:12.5px;line-height:1.5;color:#c3d3ca}
.ivl li:before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--amber);box-shadow:0 0 7px rgba(229,151,43,.6)}
.ivl ul.uc li:before{background:var(--g1);box-shadow:0 0 7px rgba(103,180,101,.6)}
.ivr{display:flex;flex-direction:column;gap:16px}
.wflow{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:rgba(10,16,21,.6)}
.wf{display:flex;align-items:center;gap:12px;padding:7px 0}
.wf s{font-family:'Space Grotesk';font-size:10px;color:#0A2308;background:var(--g1);border-radius:6px;padding:3px 6px;font-weight:600;flex:none;box-shadow:0 0 12px -2px rgba(103,180,101,.6)}
.wf b{font-family:'Schibsted Grotesk';font-size:13px;color:#e8f1ec;display:block}
.wf small{font-size:11px;color:#7d918a}
.wflow u{width:2px;height:12px;margin-left:12px;background:linear-gradient(rgba(103,180,101,.5),rgba(103,180,101,.15))}
.cscard{border:1px solid var(--line);border-radius:16px;padding:18px;background:rgba(10,16,21,.6)}
.cscard.real{border-color:rgba(103,180,101,.4);background:linear-gradient(180deg,rgba(14,30,20,.5),rgba(10,16,21,.7));box-shadow:0 0 40px -16px rgba(103,180,101,.3)}
.cscard h4{font-size:17px;font-weight:700;color:#f0f7f2;margin-top:10px}
.cscard .csh .live{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:500;color:#CFE9CB;background:rgba(7,13,10,.8);border:1px solid rgba(103,180,101,.4);border-radius:14px;padding:5px 11px}
.cscard .csh .live s{width:5px;height:5px;border-radius:50%;background:#7CC878;box-shadow:0 0 8px rgba(124,200,120,.9);animation:pulse 2.2s ease-in-out infinite}
.cscard .soon{font-family:'Space Grotesk';font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#7d918a;border:1px solid var(--line);border-radius:14px;padding:5px 11px}
.csrow{display:grid;grid-template-columns:104px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:12px}
.csrow b{font-family:'Space Grotesk';font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#7fae8c;padding-top:2px}
.csrow span{color:#b9c9c1;line-height:1.5}
.csnote{font-size:12.5px;line-height:1.55;color:#8da09a;margin-top:8px}
.csvid{position:relative;margin-top:14px;border:1px solid var(--line);border-radius:12px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(168deg,#0b1218,#070c11)}
.csvid .pl{width:44px;height:44px;border-radius:50%;background:rgba(103,180,101,.12);border:1px solid rgba(103,180,101,.45);display:flex;align-items:center;justify-content:center;color:#9df0b8;box-shadow:0 0 30px -8px rgba(103,180,101,.5)}
.csvid .pl svg{width:16px;height:16px;margin-left:2px}
.csvid small{font-family:'Space Grotesk';font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#6d7f78}
.csvid.dim .pl{opacity:.5}
/* platform loop */
.loopwrap{border:1px solid rgba(170,210,190,.16);border-radius:22px;background:linear-gradient(168deg,rgba(12,20,27,.92),rgba(8,14,19,.95));box-shadow:0 60px 110px -40px rgba(0,0,0,.9),0 0 80px -30px rgba(103,180,101,.22),inset 0 1px 0 rgba(255,255,255,.08);padding:30px;overflow:hidden}
.lgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.lreturn{grid-column:1/-1;display:flex;align-items:center;justify-content:center;padding:6px 0}
.lreturn span{font-family:'Space Grotesk';font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#5c6c66;border:1px dashed rgba(103,180,101,.25);border-radius:999px;padding:6px 16px}
.lnode{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;background:rgba(13,20,27,.85);padding:13px 14px;cursor:pointer;transition:all .35s cubic-bezier(.2,.7,.3,1);opacity:.75}
.lnode s{width:8px;height:8px;border-radius:50%;background:#3a4a44;flex:none;transition:all .35s}
.lnode b{font-family:'Schibsted Grotesk';font-size:12.5px;font-weight:600;color:#c3d3ca;line-height:1.25;transition:color .35s}
.lnode:hover{opacity:1;border-color:rgba(103,180,101,.4)}
.lnode.on{opacity:1;border-color:rgba(103,180,101,.6);background:linear-gradient(180deg,rgba(16,34,24,.6),rgba(10,18,14,.75));box-shadow:0 16px 36px -18px rgba(0,0,0,.8),0 0 34px -10px rgba(103,180,101,.5);transform:translateY(-3px)}
.lnode.on s{background:#7CC878;box-shadow:0 0 12px rgba(124,200,120,.95)}
.lnode.on b{color:#f0f7f2}
.lc{position:absolute;top:50%;width:14px;height:2px;background:rgba(103,180,101,.3)}
.lc-r{right:-14px}.lc-l{left:-14px}
.lnode:last-child .lc,.lnode:nth-child(4) .lc{display:none}
.lc i{position:absolute;top:-2px;left:0;width:5px;height:5px;border-radius:50%;background:#96CB90;box-shadow:0 0 7px rgba(143,224,166,.9);animation:lcp 1.6s linear infinite;opacity:0}
.lnode.on .lc i{opacity:1}
@keyframes lcp{0%{left:-2px}100%{left:12px}}
.ldetails{display:grid;margin-top:24px;border-top:1px solid var(--line2);padding-top:22px}
.ldetail{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none;visibility:hidden}
.ldetail.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.ldh{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ldh em{font-style:normal;font-family:'Space Grotesk';font-size:10.5px;color:#5c6c66;font-variant-numeric:tabular-nums}
.ldh h3{font-size:24px;font-weight:700;letter-spacing:-.02em;color:#f0f7f2}
.lfact{margin-left:auto;font-family:'Space Grotesk';font-size:10px;letter-spacing:.08em;color:#A6CFA0;border:1px solid rgba(103,180,101,.3);border-radius:7px;padding:4px 10px;background:rgba(16,34,24,.4)}
.ldetail p{margin-top:10px;font-size:13.5px;line-height:1.6;color:#a2b4ab;max-width:760px}
.ldetail .mlinks{margin-top:14px}
/* specs */
.specrow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.spec{border:1px solid var(--line);border-radius:14px;padding:18px;background:rgba(13,20,27,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.spec b{font-family:'Schibsted Grotesk';font-size:26px;font-weight:700;color:#96CB90}
.spec span{display:block;font-size:12px;color:#8da09a;margin-top:5px;line-height:1.45}
/* scale strip */
.scalerow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.scl{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;margin:0;transition:transform .35s cubic-bezier(.2,.7,.3,1),border-color .35s}
.scl:hover{transform:translateY(-4px);border-color:rgba(103,180,101,.45)}
.scl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(.75)}
.scl figcaption{position:absolute;left:10px;bottom:10px;z-index:2;font-family:'Space Grotesk';font-size:10px;color:#cfe8d8;background:rgba(7,13,11,.8);border:1px solid rgba(103,180,101,.3);border-radius:7px;padding:4px 9px}
.scl figcaption i{font-style:normal;color:#A6CFA0}
/* compare table */
.cmpwrap{overflow-x:auto}
.cmp{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(10,16,21,.6)}
.cmp th,.cmp td{padding:13px 18px;text-align:center;font-size:12.5px;border-bottom:1px solid var(--line2)}
.cmp thead th{font-family:'Schibsted Grotesk';font-size:13px;color:#c3d3ca;background:rgba(13,20,27,.85)}
.cmp td:first-child{text-align:left;color:#c3d3ca}
.cmp td{color:#5c6c66}
.cmp .tw{color:#96CB90!important;background:rgba(16,34,24,.35)}
.cmp thead .tw{color:#EDF7EC!important;background:rgba(24,52,34,.6)}
.cmp tbody tr:last-child td{border-bottom:0}
@media (max-width:1180px){.iview{grid-template-columns:1fr;gap:24px}.lgrid{grid-template-columns:1fr 1fr}.lc{display:none}.specrow,.scalerow{grid-template-columns:1fr 1fr}}

/* module ecosystem */
.orbwrap{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.orb{position:relative;width:560px;height:560px;max-width:100%;margin:0 auto}
.orbs{position:absolute;inset:0;width:100%;height:100%}
.ospoke{transition:stroke .35s,stroke-width .35s}
.ospoke.on{stroke:rgba(103,180,101,.65);stroke-width:1.8;filter:drop-shadow(0 0 6px rgba(103,180,101,.5))}
.ocore{position:absolute;left:280px;top:280px;transform:translate(-50%,-50%);width:184px;height:184px;border-radius:50%;background:radial-gradient(62% 62% at 50% 42%,#10231a,#0a1410);border:1px solid rgba(103,180,101,.5);box-shadow:0 0 80px -10px rgba(103,180,101,.6),0 24px 60px -20px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;z-index:3}
.ocore img{height:var(--logo-core)}
.ocore small{font-family:'Space Grotesk';font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7fa98b}
.ocore i{position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgba(103,180,101,.3);animation:spin2 30s linear infinite}
@keyframes spin2{to{transform:rotate(360deg)}}
.onode{position:absolute;transform:translate(-50%,-50%);width:126px;display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;z-index:4;transition:transform .32s cubic-bezier(.2,.7,.3,1)}
.onode .oi{width:74px;height:74px;border-radius:50%;background:linear-gradient(180deg,rgba(16,26,33,.95),rgba(9,14,19,.98));border:1px solid rgba(140,180,170,.22);box-shadow:0 18px 40px -18px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#D2E4CF;transition:all .32s cubic-bezier(.2,.7,.3,1)}
.onode .oi svg{width:30px;height:30px}
.onode b{font-family:'Schibsted Grotesk';font-size:12px;font-weight:600;color:#b9c9c1;text-align:center;line-height:1.25;transition:color .3s;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.onode:hover,.onode.on{transform:translate(-50%,-50%) scale(1.06)}
.onode:hover .oi,.onode.on .oi{border-color:rgba(103,180,101,.65);color:#EDF7EC;box-shadow:0 22px 46px -18px rgba(0,0,0,.9),0 0 40px -8px rgba(103,180,101,.55),inset 0 1px 0 rgba(255,255,255,.1)}
.onode:hover b,.onode.on b{color:#f0f7f2}
.onode:hover .sdot,.onode.on .sdot{animation:pulse 1.3s ease-in-out infinite}
.odetails{display:grid}
.odetail{grid-area:1/1;opacity:0;transform:translateY(12px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);pointer-events:none;visibility:hidden}
.odetail.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.oshot{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(170,210,190,.2);aspect-ratio:16/8.6;box-shadow:0 40px 80px -30px rgba(0,0,0,.9),0 0 60px -24px rgba(103,180,101,.3),inset 0 1px 0 rgba(255,255,255,.08)}
.oshot img{position:absolute;left:-3.5%;top:-7%;width:107%;height:114%;object-fit:cover;object-position:left top}
.oshot:after{content:"";position:absolute;inset:0;background:radial-gradient(130% 110% at 50% 0%,transparent 58%,rgba(4,8,12,.42) 100%)}
.olv{position:absolute;left:12px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;font-family:'Space Grotesk';font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#CFE9CB;background:rgba(7,13,10,.8);border:1px solid rgba(103,180,101,.4);border-radius:7px;padding:4px 9px}
.olv s{width:5px;height:5px;border-radius:50%;background:#7CC878;box-shadow:0 0 7px rgba(124,200,120,.9);animation:pulse 2.2s ease-in-out infinite}
.oib{width:44px;height:44px;border-radius:13px;background:rgba(103,180,101,.1);border:1px solid rgba(103,180,101,.3);display:flex;align-items:center;justify-content:center;color:#9fe0b4;margin-top:20px}
.oib svg{width:20px;height:20px}
.odetail h3{font-size:clamp(22px,2.3vw,30px);font-weight:700;letter-spacing:-.022em;color:#f0f7f2;margin-top:12px;line-height:1.12}
.odetail em{font-style:normal;font-family:'Space Grotesk';font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#7fae8c;display:block;margin-top:6px}
.odetail p{margin-top:12px;font-size:13.5px;line-height:1.6;color:#a2b4ab;max-width:440px}
.osm{margin-top:18px;font-size:14px;padding:12px 20px}
@media (max-width:1280px){.orbwrap{grid-template-columns:1fr;gap:30px}.orb{width:auto;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.orbs,.ocore{display:none}.onode{position:static;transform:none;width:auto;flex-direction:row;justify-content:flex-start;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:rgba(13,20,27,.8)}.onode .oi{width:44px;height:44px;flex:none}.onode .oi svg{width:20px;height:20px}.onode b{text-align:left}.onode:hover,.onode.on{transform:none}}

/* intel+booking */
.iwrap{border:1px solid rgba(170,210,190,.16);border-radius:22px;background:linear-gradient(168deg,rgba(12,20,27,.92),rgba(8,14,19,.95));box-shadow:0 60px 110px -40px rgba(0,0,0,.9),0 0 80px -30px rgba(103,180,101,.22),inset 0 1px 0 rgba(255,255,255,.08);padding:26px;overflow:hidden}
.iscene{width:100%;height:auto;display:block}
.iscene g.stg{opacity:.22;transition:opacity .5s ease}
.iscene g.stg.on{opacity:1}
.ilbl{font-family:'Space Grotesk';font-size:11px;fill:#7fae8c;letter-spacing:.06em}
.ipill{fill:rgba(10,20,15,.85);stroke:rgba(103,180,101,.4)}
.ipill.amb{stroke:rgba(229,151,43,.5);fill:rgba(24,17,7,.85)}
.ipill.ok{stroke:rgba(103,180,101,.55);fill:rgba(10,24,15,.9)}
.iptxt{font-family:'Space Grotesk';font-size:11.5px;fill:#cfe8d8}
.iptxt.amb{fill:#f2dcbb}.iptxt.ok{fill:#CFE9CB}
.imain{filter:drop-shadow(0 0 5px rgba(103,180,101,.45))}
.istages{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:18px;border-top:1px solid var(--line2);padding-top:18px}
.istg{display:inline-flex;align-items:center;gap:8px;font-family:'Space Grotesk';font-size:11.5px;color:#9fb0ab;background:rgba(13,20,27,.7);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:all .28s cubic-bezier(.2,.7,.3,1)}
.istg em{font-style:normal;font-size:9px;color:#5c6c66}
.istg:hover{color:#EDF7EC;border-color:rgba(103,180,101,.45)}
.istg.on{color:#0A2308;background:var(--g1);border-color:var(--g1);font-weight:600;box-shadow:0 8px 22px -8px rgba(103,180,101,.6)}
.istg.on em{color:#0a2413}
.idetails{display:grid;margin-top:18px}
.idetail{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none;visibility:hidden;text-align:center;max-width:720px;justify-self:center}
.idetail.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.idetail h3{font-size:24px;font-weight:700;letter-spacing:-.02em;color:#f0f7f2}
.idetail p{margin-top:9px;font-size:13.5px;line-height:1.6;color:#a2b4ab}
.idetail .mlinks{justify-content:center;margin-top:13px}
/* booking wizard */
.wiz{max-width:860px;margin:0 auto;border:1px solid rgba(170,210,190,.16);border-radius:22px;background:linear-gradient(168deg,rgba(13,21,28,.92),rgba(8,14,19,.95));box-shadow:0 60px 110px -40px rgba(0,0,0,.9),0 0 70px -30px rgba(103,180,101,.2),inset 0 1px 0 rgba(255,255,255,.08);padding:30px 34px 34px}
.wsteps{display:flex;align-items:center;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.ws{display:flex;align-items:center;gap:9px;opacity:.5;transition:opacity .3s}
.ws em{font-style:normal;font-family:'Space Grotesk';font-size:10px;font-weight:600;color:#9fb0ab;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;transition:all .3s;flex:none}
.ws span{font-family:'Space Grotesk';font-size:11.5px;color:#9fb0ab;white-space:nowrap}
.ws.on{opacity:1}
.ws.on em{background:var(--g1);border-color:var(--g1);color:#0A2308;box-shadow:0 0 16px -4px rgba(103,180,101,.7)}
.ws.on span{color:#EDF7EC}
.ws.done{opacity:.85}
.ws.done em{border-color:rgba(103,180,101,.55);color:#A6CFA0}
.wsteps u{flex:1;min-width:14px;height:1px;background:rgba(140,180,170,.15)}
.wpanes{display:grid}
.wpane{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none;visibility:hidden}
.wpane.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.fld input,.fld select,.fld textarea{transition:border-color .25s,box-shadow .25s}
.wnav{display:flex;align-items:center;justify-content:space-between;margin-top:22px}
.wnav .p{border:0;font-family:'Inter';font-size:14px;padding:13px 22px}
.gbk{background:none;border:1px solid var(--line);border-radius:11px;color:#a9bcb3;font-family:'Inter';font-size:13px;padding:12px 18px;cursor:pointer;transition:all .25s}
.gbk:hover{border-color:rgba(103,180,101,.4);color:#EDF7EC}
.tzline{font-family:'Space Grotesk';font-size:11px;letter-spacing:.04em;color:#7fae8c;margin-bottom:18px}
.dh{font-family:'Space Grotesk';font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#7d918a;margin:16px 0 10px}
.dchips{display:flex;gap:8px;flex-wrap:wrap}
.dchip{font-family:'Space Grotesk';font-size:12px;color:#c3d3ca;background:rgba(13,20,27,.8);border:1px solid var(--line);border-radius:10px;padding:9px 14px;cursor:pointer;transition:all .25s}
.dchip:hover{border-color:rgba(103,180,101,.45)}
.dchip.on{background:var(--g1);border-color:var(--g1);color:#0A2308;font-weight:600;box-shadow:0 8px 22px -8px rgba(103,180,101,.6)}
.slots{display:flex;gap:8px;flex-wrap:wrap;min-height:44px}
.slot{font-family:'Space Grotesk';font-size:13px;color:#c3d3ca;background:rgba(13,20,27,.8);border:1px solid var(--line);border-radius:10px;padding:10px 18px;cursor:pointer;transition:all .25s;font-variant-numeric:tabular-nums}
.slot:hover{border-color:rgba(103,180,101,.5)}
.slot.on{background:var(--g1);border-color:var(--g1);color:#0A2308;font-weight:600;box-shadow:0 8px 22px -8px rgba(103,180,101,.6)}
.slot.dis{opacity:.32;cursor:not-allowed;text-decoration:line-through}
.shint{font-size:12.5px;color:#7d918a;align-self:center}
.rv{display:flex;flex-direction:column}
.rrow{display:grid;grid-template-columns:120px 1fr auto;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line2);font-size:13px;align-items:center}
.rrow b{font-family:'Space Grotesk';font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#7fae8c}
.rrow span{color:#dbe7e0}
.rrow a{font-size:11.5px;color:#A6CFA0;cursor:pointer;text-decoration:none}
.rrow a:hover{text-decoration:underline}
.consent{margin-top:16px;font-size:11.5px;line-height:1.55;color:#6d7f78}
.werr{margin-top:12px;font-size:12.5px;color:#f0a9a9;min-height:18px}
.bok{text-align:center;padding:16px 0}
.bokring{width:86px;height:86px;border-radius:50%;margin:0 auto 18px;border:1px solid rgba(103,180,101,.55);background:radial-gradient(60% 60% at 50% 42%,rgba(16,35,26,.9),rgba(10,20,16,.95));display:flex;align-items:center;justify-content:center;box-shadow:0 0 60px -12px rgba(103,180,101,.6)}
.bokring i{font-style:normal;font-size:30px;color:#96CB90}
.bok h3{font-size:27px;font-weight:700;letter-spacing:-.02em;color:#f0f7f2}
.bok>p,.bok #bokp{margin:10px auto 0;font-size:14px;line-height:1.6;color:#a2b4ab;max-width:480px}
/* CTA ring — living light */
@property --ca{syntax:'<angle>';initial-value:0deg;inherits:false}
.ctaband .cring{border-color:rgba(103,180,101,.24)}
.ctaband .cring:before{content:"";position:absolute;inset:-2px;border-radius:50%;padding:2px;background:conic-gradient(from var(--ca),transparent 0 70%,rgba(143,230,175,.08) 76%,rgba(143,230,175,.75) 87%,rgba(200,255,220,.9) 90%,rgba(143,230,175,0) 97%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:cring-rot 16s linear infinite}
.ctaband .cring:after{content:"";position:absolute;inset:16% 12%;border-radius:50%;background:radial-gradient(52% 58% at 50% 64%,rgba(78,158,86,.15),transparent 72%);animation:breath 9s ease-in-out infinite}
@keyframes cring-rot{to{--ca:360deg}}
@media (prefers-reduced-motion:reduce){.ctaband .cring:before{animation:none;--ca:220deg}.ctaband .cring:after{animation:none}}
@media (max-width:1180px){.wiz{padding:22px 18px 26px}.rrow{grid-template-columns:96px 1fr auto}.istages{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:6px}.istg{white-space:nowrap}}

/*brandfix*/
@media (max-width:520px){.brand img{height:40px}.nvr{gap:12px}}

/* brand reveal — top brand moment: logo focal, caption secondary, live sensor signal */
.brand{position:relative;gap:8px}
.brand small{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#71837c}
@media (prefers-reduced-motion:no-preference){
.brand::after{content:"";position:absolute;top:-16px;left:5%;width:9px;height:9px;border-radius:50%;background:#6FF08D;box-shadow:0 0 18px 5px rgba(98,232,132,.95),0 0 46px 14px rgba(98,232,132,.35);animation:bsig 8s cubic-bezier(.45,.05,.55,.95) infinite}
.brand::before{content:"";position:absolute;top:-21px;left:calc(5% - 5px);width:19px;height:19px;border-radius:50%;border:1.5px solid rgba(130,232,158,.85);animation:bsig 8s cubic-bezier(.45,.05,.55,.95) infinite,bping 4s ease-out infinite}
}
@keyframes bsig{0%,100%{left:5%}50%{left:76%}}
@keyframes bping{0%{transform:scale(.35);opacity:.9}75%{opacity:0}100%{transform:scale(2.1);opacity:0}}
/*brandreveal*/
@media (max-width:1180px){.brand::before,.brand::after{display:none}}/*brandreveal-mq*/
/* walkthrough video player */
.vid.vplay{min-height:0;aspect-ratio:16/9;display:block;background:#04070a}
.vid.vplay video{display:block;width:100%;height:100%;border-radius:17px;outline:none;background:#04070a}
.vid.vplay video:focus-visible{box-shadow:0 0 0 2px rgba(103,180,101,.6)}
/* operations-hub: operator workflow + walkthrough beats */
.oplist{display:flex;flex-direction:column;gap:14px}
.opl{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:26px 30px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(168deg,#0b1218,#070c11)}
.opl u{font-family:'Space Grotesk';font-size:25px;font-weight:700;color:#67B465;text-decoration:none;opacity:.8;line-height:1.1}
.opl h3{font-family:'Schibsted Grotesk','Space Grotesk',system-ui,sans-serif;font-size:21px;margin-bottom:8px;color:var(--white)}
.opl p{font-size:15px;line-height:1.66;color:#a9bcb3;max-width:780px}
.opchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.opchips span{font-family:'Space Grotesk';font-size:11px;letter-spacing:.05em;color:#A6CFA0;border:1px solid rgba(140,180,170,.16);border-radius:8px;padding:5px 11px;background:rgba(103,180,101,.05);white-space:nowrap}
.opflow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:22px;padding:22px 26px;border:1px solid rgba(103,180,101,.22);border-radius:14px;background:rgba(103,180,101,.045)}
.opflow b{font-family:'Space Grotesk';font-size:12.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#EDF7EC}
.opflow i{color:#569B54;font-style:normal;font-size:13px}
.opflow small{flex-basis:100%;font-size:13.5px;color:#8ca29a;margin-top:8px;line-height:1.62}
.wtbx{align-self:center}
.wth{display:block;font-family:'Space Grotesk';font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#7CC878;margin-bottom:10px}
.wtb{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid var(--line2);align-items:baseline}
.wtb:last-child{border-bottom:none}
.wtb u{font-family:'Space Grotesk';font-size:11.5px;color:#67B465;text-decoration:none;min-width:40px}
.wtb div b{display:block;font-size:14.5px;color:var(--white);margin-bottom:2px}
.wtb div span{font-size:13px;color:#8ca29a;line-height:1.55}
@media (max-width:1180px){.opl{grid-template-columns:42px 1fr;gap:14px;padding:20px 18px}.opl u{font-size:20px}}

/* ================= MOBILE ENHANCEMENT LAYER — scoped ≤1180 / phone widths; desktop untouched ================= */
/* P0-5 (approved shared touch): clip decorative CTA ring */
.ctaband{overflow:hidden}
/* menu trigger — hidden on approved desktop widths */
.mbtn{display:none;width:44px;height:44px;border:1px solid rgba(103,180,101,.3);border-radius:11px;background:rgba(8,13,16,.6);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;flex-shrink:0}
.mbtn s{display:block;width:18px;height:2px;background:#A6CFA0;border-radius:2px;transition:transform .22s ease}
.mbtn[aria-expanded=true] s:first-child{transform:translateY(3.5px) rotate(45deg)}
.mbtn[aria-expanded=true] s:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media (max-width:1180px){.mbtn{display:inline-flex}}
/* mobile menu overlay — calm, architectural, brand language */
.mmenu{position:fixed;inset:0;z-index:90;background:linear-gradient(180deg,rgba(4,7,10,.985),rgba(6,11,9,.985));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;padding:88px 28px 30px;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s}
.mmenu.open{opacity:1;visibility:visible}
.mmenu .mclose{position:absolute;top:18px;right:24px;width:44px;height:44px;border:1px solid rgba(103,180,101,.3);border-radius:11px;background:rgba(8,13,16,.6);color:#A6CFA0;font-size:20px;line-height:1;cursor:pointer}
[dir=rtl] .mmenu .mclose{right:auto;left:24px}
.mmenu nav{display:flex;flex-direction:column}
.mmenu nav a{font-family:'Schibsted Grotesk',sans-serif;font-size:25px;font-weight:600;color:#EDF7EC;text-decoration:none;padding:13px 4px;border-bottom:1px solid rgba(140,180,170,.08);min-height:52px;display:flex;align-items:center;justify-content:space-between}
[dir=rtl] .mmenu nav a{font-family:'IBM Plex Sans Arabic','Inter',sans-serif}
.mmenu nav a.on{color:#96CB90}
.mmenu nav a.on:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--g1);box-shadow:0 0 10px rgba(103,180,101,.8)}
.mmenu .mfoot{margin-top:auto;display:flex;flex-direction:column;gap:14px;padding-top:26px}
.mmenu .mfoot .btn{justify-content:center;min-height:52px;display:flex;align-items:center}
.mmenu .mfoot .langsw{text-align:center;font-size:15px;padding:13px}
body.mlock{overflow:hidden}
@media (prefers-reduced-motion:reduce){.mmenu,.mbtn s{transition:none}}
/* P0-4 + compact phone header: keep brand + language + menu; CTA lives in menu and page CTAs */
@media (max-width:640px){.nvr .signin{display:none}}
@media (max-width:560px){.nvr>.btn{display:none}.nvr{gap:12px}}
/* ---- Phase 3 (P1) mobile corrections ---- */
@media (max-width:640px){
 .cmpwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -20px;padding:0 20px 8px;-webkit-mask-image:linear-gradient(90deg,#000 94%,transparent);mask-image:linear-gradient(90deg,#000 94%,transparent)}
 .cmpwrap table.cmp{min-width:560px}
}
[dir=rtl] .cmpwrap{-webkit-mask-image:linear-gradient(270deg,#000 94%,transparent);mask-image:linear-gradient(270deg,#000 94%,transparent)}
@media (max-width:600px){
 .modnav{flex-direction:column}
 .modnav a,.modnav .nx{min-width:0}
}
@media (max-width:560px){
 .phero{padding:44px 0 28px}
 .wsteps{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:8px;scrollbar-width:none}
 .wsteps::-webkit-scrollbar{display:none}
 .wsteps span{white-space:nowrap;flex:0 0 auto}
}
/* AR nav CTA: single line (561-1180 range; hidden below) */
/* ---- Phase 4: mobile composition, rhythm & touch (≤560) ---- */
@media (max-width:560px){
 .wrap{padding:0 20px}
 .sec{padding:64px 0}
 .shead p{margin-top:14px}
 .grid3,.grid4{grid-template-columns:1fr}
 .gcard{padding:20px 18px}
 .statrow{gap:14px}
 /* touch targets */
 .foot .fr{gap:2px 16px}
 .foot .fr a{padding:11px 4px;display:inline-flex;align-items:center;min-height:44px}
 .foot .fr .lang{padding:11px 14px;border:1px solid rgba(103,180,101,.3);border-radius:10px;color:#A6CFA0}
 .langsw{padding:11px 14px;font-size:13.5px}
 .ind{min-height:44px;justify-content:center}
 .istg{min-height:44px}
 .slot{min-height:44px;padding:12px 18px}
 .wsteps span{min-height:38px;display:inline-flex;align-items:center}
 .mtab{min-height:44px;display:inline-flex;align-items:center}
 .opchips span,.hctags span{min-height:38px;display:inline-flex;align-items:center}
}
/* touch feedback parity for hover-only affordances */
@media (hover:none){
 .gcard:active,.modnav a:active,.capsule:active{border-color:rgba(103,180,101,.45)}
 .foot .fr a:active,.links a:active{color:#EDF7EC}
}
@media (max-width:560px){
 .mlink{min-height:44px;display:inline-flex;align-items:center;padding-top:8px;padding-bottom:8px}
}
/* ---- Phase 5: complete reduced-motion coverage (shared pages) ---- */
@media (prefers-reduced-motion:reduce){
 .eye s,.cring,.vplay:before{animation:none!important}
 .srev{transition:none!important}
 .gcard,.modnav a{transition:none}
}
/* ---- mobile brand-green alignment: large CTA fills use the exact approved logo green token (≤560 only) ---- */
@media (max-width:560px){
 .p,.btn{background:var(--green);box-shadow:0 12px 30px -12px rgba(86,155,84,.55),inset 0 1px 0 rgba(255,255,255,.22)}
 .p:hover,.btn:hover,.p:active,.btn:active{background:var(--green);filter:brightness(1.06)}
 .mtab.on{background:rgba(86,155,84,.22);box-shadow:inset 0 0 0 1px rgba(86,155,84,.45)}
}

/* ===== Knowledge Center (Phase K1) ===== */
.kfeat{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(168deg,#0b1218,#070c11);text-decoration:none;transition:border-color .25s}
.kfeat:hover{border-color:rgba(103,180,101,.45)}
.kfp{position:relative;aspect-ratio:16/9;background:#050b08;display:block}
.kfp img{width:100%;height:100%;object-fit:cover;display:block}
.kft{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;gap:11px}
.kft b{font:700 clamp(22px,2.4vw,30px)/1.25 'Schibsted Grotesk';color:var(--white)}
.kft p{font-size:14.5px;line-height:1.7;color:#8ca29a}
.kcta{font:600 13px 'Space Grotesk';color:#7CC878;margin-top:4px}
.rpl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(5,10,8,.72);border:1px solid rgba(124,200,120,.5);display:flex;align-items:center;justify-content:center;transition:background .25s}
.rpl svg{width:20px;height:20px;color:#EDF7EC;margin-left:2px}
.rpl.big{width:68px;height:68px}
.rcard:hover .rpl,.kfeat:hover .rpl{background:rgba(86,155,84,.85)}
.jdoors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.jdoor{border:1px solid var(--line);border-radius:16px;padding:24px 22px;background:linear-gradient(168deg,#0b1218,#070c11);display:flex;flex-direction:column;gap:8px}
.jdoor b{font:600 17px 'Schibsted Grotesk';color:var(--white)}
.jdoor p{font-size:13px;line-height:1.6;color:#8ca29a;margin-bottom:6px}
.jdoor a{display:flex;justify-content:space-between;gap:8px;font:600 12.5px 'Space Grotesk';color:#A6CFA0;text-decoration:none;padding:9px 0;border-top:1px solid var(--line2);min-height:44px;align-items:center}
.jdoor a:hover{color:#EDF7EC}
.jdoor a i{font-style:normal;color:#7CC878}
.kshelf{margin-bottom:34px}
.ksh{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px}
.ksh h3{font:600 19px 'Schibsted Grotesk';color:var(--white)}
.kall{font:600 12.5px 'Space Grotesk';color:#7CC878;text-decoration:none;white-space:nowrap}
.kall i{font-style:normal}
.krow,.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rgrid{margin-top:18px}
.rcard{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:linear-gradient(168deg,#0b1218,#070c11);text-decoration:none;display:flex;flex-direction:column;transition:border-color .25s,transform .25s;cursor:pointer}
.rcard:hover{border-color:rgba(103,180,101,.45);transform:translateY(-3px)}
.rth{position:relative;aspect-ratio:16/9;background:#050b08;display:block}
.rth img,.rth video{width:100%;height:100%;object-fit:cover;display:block}
.rdur{position:absolute;right:10px;bottom:10px;background:rgba(5,10,8,.85);border:1px solid rgba(103,180,101,.3);color:#EDF7EC;font:600 11px 'Space Grotesk';font-style:normal;padding:3px 8px;border-radius:7px}
.rcard.open .rpl,.rcard.open .rdur{display:none}
.rbody{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.rbadge{font:700 10.5px/1 'Space Grotesk';letter-spacing:.14em;color:#7CC878}
.rcard b,.rnoimg b{font:600 16.5px/1.35 'Schibsted Grotesk';color:var(--white)}
.rcard p{font-size:13.5px;line-height:1.62;color:#8ca29a}
.rmeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.rchip{font:600 10.5px 'Space Grotesk';color:#A6CFA0;border:1px solid rgba(103,180,101,.25);padding:4px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}
.rchip.rlive{color:#7CC878;border-color:rgba(124,200,120,.45)}
.rchip.rlive s{width:6px;height:6px;border-radius:50%;background:#7CC878;display:inline-block;text-decoration:none;box-shadow:0 0 8px rgba(124,200,120,.9)}
.ktabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.ktab{padding:0 16px;min-height:44px;border:1px solid var(--line);border-radius:999px;font:600 12.5px 'Space Grotesk';color:#a9bcb3;background:none;cursor:pointer;transition:all .22s}
.ktab.on{color:#0A2308;background:var(--g1);border-color:var(--g1)}
.ktab:hover:not(.on){border-color:rgba(103,180,101,.45);color:#EDF7EC}
.kchips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.kchip{padding:0 12px;min-height:38px;border:1px solid var(--line2);border-radius:999px;font:600 11.5px 'Space Grotesk';color:#8ca29a;background:none;cursor:pointer;transition:all .22s}
.kchip.on{color:#EDF7EC;background:rgba(86,155,84,.22);border-color:rgba(103,180,101,.5)}
.ksoon{border:1px dashed rgba(103,180,101,.35);border-radius:16px;padding:44px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}
.ksoon b{font:600 20px 'Schibsted Grotesk';color:var(--white)}
.ksoon p{font-size:14px;line-height:1.7;color:#8ca29a;max-width:520px}
.wingbar{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;-webkit-overflow-scrolling:touch}
.wingbar a,.wingbar span{white-space:nowrap;padding:9px 15px;border:1px solid var(--line);border-radius:999px;font:600 12.5px 'Space Grotesk';color:#a9bcb3;text-decoration:none}
.wingbar .on{color:#0A2308;background:var(--g1);border-color:var(--g1)}
.wingbar a:hover{border-color:rgba(103,180,101,.45);color:#EDF7EC}
.wingbar .soon{opacity:.45;position:relative}
@media(max-width:1024px){.jdoors{grid-template-columns:repeat(2,1fr)}.krow,.rgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.kfeat{grid-template-columns:1fr}.kft{padding:22px 24px 26px}}
@media(max-width:560px){.jdoors{grid-template-columns:1fr}.krow,.rgrid{grid-template-columns:1fr}.ktabs,.kchips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}.ktab,.kchip{flex-shrink:0}}

/* ===== Knowledge Library refinement (K1r) ===== */
.phero.klib{padding-bottom:30px}
.ksearch{position:relative;max-width:660px;margin-top:24px}
.ksearch input{width:100%;min-height:54px;background:#0b1218;border:1px solid var(--line);border-radius:14px;padding:0 50px 0 18px;color:#EDF7EC;font:500 15px 'Inter',sans-serif}
.ksearch input::placeholder{color:#6d8279}
.ksearch input:focus{border-color:rgba(103,180,101,.55);outline:none}
.ksearch .kico{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#6d8279;pointer-events:none}
[dir=rtl] .ksearch input{padding:0 18px 0 50px}
[dir=rtl] .ksearch .kico{right:auto;left:16px}
.ksres{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#0d141b;border:1px solid var(--line);border-radius:14px;max-height:400px;overflow:auto;z-index:60;box-shadow:0 18px 50px rgba(0,0,0,.55)}
.ksres .ksh2{padding:12px 16px 4px;font:700 10.5px 'Space Grotesk';letter-spacing:.14em;color:#7CC878}
.ksres a{display:flex;gap:10px;align-items:baseline;padding:11px 16px;text-decoration:none;border-bottom:1px solid var(--line2)}
.ksres a:hover{background:rgba(86,155,84,.1)}
.ksres a:last-child{border-bottom:none}
.ksres b{font:600 14px 'Schibsted Grotesk';color:var(--white)}
.ksres span{font-size:12px;color:#8ca29a}
.ksres .ksnone{padding:18px 16px;color:#8ca29a;font-size:13.5px}
.jrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;align-items:center}
.jrow small{font:600 11.5px 'Space Grotesk';color:#6d8279;letter-spacing:.08em;text-transform:uppercase;margin-inline-end:2px}
.jpill{padding:0 14px;min-height:40px;border:1px solid var(--line);border-radius:999px;font:600 12px 'Space Grotesk';color:#A6CFA0;background:none;cursor:pointer;transition:all .22s}
.jpill:hover{border-color:rgba(103,180,101,.5);color:#EDF7EC}
.kband{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:stretch}
.kfeat.compact .kft{padding:22px 26px;gap:9px}
.kfeat.compact .kft b{font-size:clamp(19px,1.8vw,24px)}
.kfeat.compact .kft p{font-size:13.5px}
.kupd{border:1px solid var(--line);border-radius:18px;background:linear-gradient(168deg,#0b1218,#070c11);padding:18px 22px;display:flex;flex-direction:column}
.kupd h3{font:600 15px 'Schibsted Grotesk';color:var(--white);padding-bottom:6px}
.kupd a{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line2);text-decoration:none;min-height:44px}
.kupd a:hover b{color:#EDF7EC}
.kupd time{font:600 10.5px 'Space Grotesk';color:#7CC878;min-width:52px;direction:ltr}
.kupd b{font:600 13.5px/1.4 'Schibsted Grotesk';color:#cfe0d8;flex:1;transition:color .2s}
.kupd .rbadge{font-size:9.5px;flex-shrink:0}
.kcats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kcat{border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;background:linear-gradient(168deg,#0b1218,#070c11);text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:border-color .25s,transform .25s;cursor:pointer;text-align:start}
.kcat:hover{border-color:rgba(103,180,101,.45);transform:translateY(-2px)}
.kcat .kn{font:700 20px 'Space Grotesk';color:#7CC878}
.kcat .kn.dim{font-size:11px;font-weight:600;letter-spacing:.12em;color:#6d8279}
.kcat b{font:600 15px 'Schibsted Grotesk';color:var(--white)}
.kcat p{font-size:11.5px;color:#8ca29a;line-height:1.5}
@media(max-width:1024px){.kcats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.kband{grid-template-columns:1fr}}
@media(max-width:560px){.kcats{grid-template-columns:repeat(2,1fr)}.jrow{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}.jpill{flex-shrink:0}}

/* ===== Knowledge Center directory refinement (K1d) ===== */
.phero.klib h1{font-size:clamp(30px,3.4vw,42px)}
.phero.klib .sub{font-size:15px;max-width:560px}
.kdir{margin-bottom:30px}
.kdl{font:700 11px 'Space Grotesk';letter-spacing:.18em;color:#7CC878;text-transform:uppercase;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:6px;display:block}
.kdrows{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 34px}
.kdrow{display:flex;gap:14px;align-items:flex-start;padding:16px 10px;border-radius:12px;text-decoration:none;background:none;border:none;cursor:pointer;text-align:start;transition:background .2s}
.kdrow:hover{background:rgba(103,180,101,.07)}
.kdi{width:48px;height:48px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#A6CFA0}
.kdi svg{width:29px;height:29px}
.kdrow b{font:600 15px 'Schibsted Grotesk';color:var(--white);display:flex;align-items:center;gap:8px}
.kdrow b i{font:600 10.5px 'Space Grotesk';font-style:normal;color:#7CC878;border:1px solid rgba(124,200,120,.35);border-radius:999px;padding:2px 8px}
.kdrow b em{font:600 10px 'Space Grotesk';font-style:normal;letter-spacing:.1em;color:#6d8279;border:1px dashed rgba(109,130,121,.5);border-radius:999px;padding:2px 8px;text-transform:uppercase}
.kdrow p{font-size:12.5px;line-height:1.55;color:#8ca29a;margin-top:3px}
.kquiet{border-top:1px solid var(--line);margin-top:20px}
.kquiet .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:26px;padding-bottom:30px;flex-wrap:wrap}
.kquiet p{font-size:14px;color:#8ca29a}
.kquiet a{font:600 13px 'Space Grotesk';color:#7CC878;text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1024px){.kdrows{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.kdrows{grid-template-columns:1fr}}

/* ===== Knowledge Navigation Portal (K1p) ===== */
.ksearch.strong{max-width:720px}
.ksearch.strong input{min-height:58px;font-size:16px;border-color:rgba(103,180,101,.35);box-shadow:0 0 0 1px rgba(103,180,101,.1),0 12px 38px rgba(0,0,0,.35)}
.ksearch.strong input:focus{border-color:rgba(124,200,120,.7);box-shadow:0 0 0 1px rgba(124,200,120,.25),0 12px 38px rgba(0,0,0,.4)}
.kkbd{position:absolute;right:46px;top:50%;transform:translateY(-50%);border:1px solid var(--line2);border-radius:6px;font:600 11px 'Space Grotesk';color:#6d8279;padding:3px 8px;pointer-events:none}
[dir=rtl] .kkbd{right:auto;left:46px}
.kdir .kdl{margin-top:4px}

/* ===== K1f: portal-only landing ===== */
.kdrow.kdstatic{cursor:default}
.kdrow.kdstatic:hover{background:none}
.kdrow.kdstatic b,.kdrow.kdstatic p{opacity:.62}

/* nav-fit v26 — keep the Packages & Modules label on one line at mid-desktop widths */
.links a{white-space:nowrap}
@media(max-width:1360px){.links{gap:20px}}
@media(max-width:1250px){.links{gap:13px}.links a{font-size:13.5px}}
