
:root{
  --bg:#161E33; --bg2:#1C2542; --panel:#222D4D; --panel2:#293660;
  --line:rgba(255,255,255,0.09); --line2:rgba(255,255,255,0.17);
  --tx:#EAEEF7; --tx2:#B6C2D6; --tx3:#8593AD;
  --red:#E8232E; --redbr:#FF5560; --reddp:#9E141B;
  --radius:12px; --maxw:1280px;
  --fh:'Sora',sans-serif; --fb:'IBM Plex Sans',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--fb);background:var(--bg);color:var(--tx);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4{font-family:var(--fh);font-weight:800;line-height:1.08;letter-spacing:-0.02em}
h1{font-size:clamp(2.7rem,5.4vw,4.1rem)}
h2{font-size:clamp(2rem,3.6vw,2.85rem)}
h3{font-size:1.4rem;font-weight:700}
p{color:var(--tx2)}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 40px}
.section{padding:96px 0}
.eyebrow{display:inline-block;font-size:0.82rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--redbr);margin-bottom:18px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--fb);font-weight:600;font-size:0.97rem;padding:15px 30px;border-radius:9px;cursor:pointer;border:1.5px solid transparent;transition:all .22s}
.btn svg{width:17px;height:17px}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 30px rgba(232,35,46,0.4)}
.btn-red:hover{background:#cf1f29;transform:translateY(-2px);box-shadow:0 16px 40px rgba(232,35,46,0.5)}
.btn-ghost{border-color:var(--line2);color:var(--tx)}
.btn-ghost:hover{border-color:var(--red);color:#fff;background:rgba(232,35,46,0.06)}
.hdr{position:sticky;top:0;z-index:100;background:rgba(22,30,51,0.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:13px}
.brand .sh{height:44px;width:auto}
.bwrap{display:flex;flex-direction:column;justify-content:center;line-height:1}
.bt{font-family:var(--fh);font-weight:800;font-size:1.3rem;line-height:1}
.bt span{color:var(--red)}
.bsub{font-size:0.56rem;letter-spacing:0.28em;color:var(--tx3);text-transform:uppercase;margin-top:4px}
.btag{font-size:0.62rem;color:var(--tx3);margin-top:5px;line-height:1.3;max-width:240px}
@media(max-width:1180px){.hdr .btag{display:none}}
.menu{display:flex;align-items:center;gap:32px;list-style:none}
.menu>li{position:relative}
.menu a{font-size:0.94rem;font-weight:500;color:var(--tx2);padding:8px 0;transition:color .2s}
.menu a:hover,.menu a.active{color:#fff}
.hasdrop>a::after{content:"\25BE";font-size:0.55rem;margin-left:6px;color:var(--tx3)}
.drop{position:absolute;top:100%;left:-18px;min-width:300px;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:0 24px 60px rgba(0,0,0,0.45);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s}
.hasdrop:hover .drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{display:flex;gap:12px;padding:11px 13px;border-radius:8px}
.drop a:hover{background:rgba(255,255,255,0.05)}
.drop .di{width:18px;height:18px;color:var(--redbr);flex-shrink:0;margin-top:3px}
.drop .dt{font-weight:600;font-size:0.9rem;color:var(--tx);display:block}
.drop .ds{font-size:0.78rem;color:var(--tx3);display:block;line-height:1.4}
.navcta{display:flex;align-items:center;gap:14px}
.toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}
.toggle span{display:block;width:24px;height:2px;background:var(--tx);margin:5px 0}
@media(max-width:1024px){.menu,.navcta .btn{display:none}.toggle{display:block}
.menu.open{display:flex;flex-direction:column;align-items:flex-start;gap:2px;position:absolute;top:80px;left:0;right:0;background:var(--panel2);border-bottom:1px solid var(--line2);padding:16px 40px 26px}
.menu.open .drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:4px 0 4px 14px;min-width:0;background:none}
.menu.open>li{width:100%;padding:8px 0;border-bottom:1px solid var(--line)}}
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 640px at 80% -8%,rgba(232,35,46,0.20),transparent 58%),radial-gradient(900px 500px at 10% 110%,rgba(41,54,96,0.6),transparent 60%),linear-gradient(180deg,var(--bg2),var(--bg))}
.gridbg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 85% 75% at 60% 35%,#000 35%,transparent 78%);mask-image:radial-gradient(ellipse 85% 75% at 60% 35%,#000 35%,transparent 78%)}
.heroin{position:relative;display:grid;grid-template-columns:0.92fr 1.18fr;gap:40px;align-items:center;padding:34px 0 52px}
.herocopy h1{font-size:clamp(2rem,3vw,2.95rem);line-height:1.05}
.heroin2{position:relative;max-width:880px;margin:0 auto;text-align:center;padding:86px 0 0}
.heroin2 .tag{margin-left:auto;margin-right:auto}
.heroin2 .sub{margin-left:auto;margin-right:auto}
.heroin2 .acts{justify-content:center}
.heroimg{position:relative}
.heroimg::before{content:"";position:absolute;inset:-6%;background:radial-gradient(ellipse at 56% 50%,rgba(232,35,46,0.16),transparent 60%);filter:blur(24px);z-index:0}
.heroimg img{position:relative;z-index:1;width:100%;display:block}
@media(max-width:980px){.heroin2{padding:54px 0 0}}
.tag{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(232,35,46,0.45);background:rgba(232,35,46,0.1);color:#FF8E95;font-size:0.74rem;letter-spacing:0.13em;text-transform:uppercase;padding:8px 16px;border-radius:30px;margin-bottom:26px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}
.hero h1{margin-bottom:18px}
.hero h1 .r{background:linear-gradient(90deg,var(--redbr),var(--red));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .sub{color:var(--tx2);font-size:1.1rem;max-width:520px;margin-bottom:26px}
.acts{display:flex;gap:14px;flex-wrap:wrap}
.hstats{display:flex;gap:44px;margin-top:52px;padding-top:32px;border-top:1px solid var(--line)}
.hstats .n{font-family:var(--fh);font-weight:700;font-size:1.7rem;color:#fff}
.hstats .l{font-size:0.78rem;color:var(--tx3);margin-top:3px}
.viz{position:relative;width:100%;margin:0 auto}
.offices{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.office{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:32px;transition:all .24s}
.office:hover{border-color:rgba(232,35,46,0.45);transform:translateY(-3px);box-shadow:0 22px 48px rgba(0,0,0,0.32)}
.office .oc{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.office .oi{width:48px;height:48px;border-radius:12px;background:rgba(232,35,46,0.14);border:1px solid rgba(232,35,46,0.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.office .oi svg{width:23px;height:23px;color:var(--redbr)}
.office h3{color:#fff;font-size:1.25rem;line-height:1.1}
.office .ocountry{font-size:0.82rem;color:var(--tx3);margin-top:2px}
.office .orow{display:flex;gap:12px;align-items:flex-start;padding:8px 0;font-size:0.93rem;color:var(--tx2);line-height:1.55}
.office .orow svg{width:17px;height:17px;color:var(--redbr);flex-shrink:0;margin-top:4px}
.office .orow a:hover{color:var(--redbr)}
.office .maplink{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:0.9rem;font-weight:600;color:var(--redbr)}
.office .maplink svg{width:15px;height:15px;transition:transform .2s}
.office:hover .maplink svg{transform:translateX(3px)}
@media(max-width:760px){.offices{grid-template-columns:1fr}}
.viz .lines{position:absolute;inset:0;z-index:1}
.orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(232,35,46,0.18);border-radius:50%}
.orbit.o1{width:84%;height:84%;border-style:dashed}
.orbit.o2{width:54%;height:54%}
.hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:30%;display:flex;flex-direction:column;align-items:center;gap:8px;filter:drop-shadow(0 16px 40px rgba(232,35,46,0.5))}
.hub img{width:100%}
.hub .ht{font-family:var(--fh);font-weight:700;font-size:0.8rem;color:#fff;letter-spacing:0.02em}
.pchip{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;background:var(--panel2);border:1px solid var(--line2);border-radius:11px;padding:10px 14px;backdrop-filter:blur(6px);box-shadow:0 12px 30px rgba(0,0,0,0.35)}
.pchip .pi{width:30px;height:30px;border-radius:8px;background:rgba(232,35,46,0.16);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pchip .pi svg{width:16px;height:16px;color:var(--redbr)}
.pchip .pl{font-size:0.82rem;font-weight:600;color:#fff;white-space:nowrap;line-height:1.15}
.pchip .pl small{display:block;font-size:0.65rem;color:var(--tx3);font-weight:400}
.pchip.nw{top:6%;left:-4%}
.pchip.ne{top:6%;right:-4%}
.pchip.sw{bottom:6%;left:-4%}
.pchip.se{bottom:6%;right:-4%}
@media(max-width:980px){.heroin{grid-template-columns:1fr;gap:20px;padding:56px 0 70px}.viz{order:-1;max-width:420px}}
@media(max-width:520px){.pchip .pl small{display:none}.pchip{padding:8px 10px}.pchip .pl{font-size:0.74rem}}
.shd{max-width:680px;margin-bottom:54px}
.shd.center{margin:0 auto 54px;text-align:center}
.shd p{font-size:1.1rem;margin-top:14px}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.pillar{position:relative;background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:36px 32px;transition:all .26s;overflow:hidden}
.pillar::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),transparent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.pillar:hover{border-color:rgba(232,35,46,0.45);transform:translateY(-4px);box-shadow:0 24px 50px rgba(0,0,0,0.35)}
.pillar:hover::before{transform:scaleX(1)}
.pnum{font-family:var(--fh);font-size:0.82rem;font-weight:700;color:var(--redbr);letter-spacing:0.1em}
.pico{width:54px;height:54px;border-radius:13px;background:rgba(232,35,46,0.12);border:1px solid rgba(232,35,46,0.28);display:flex;align-items:center;justify-content:center;margin:16px 0 20px}
.pico svg{width:26px;height:26px;color:var(--redbr)}
.pillar h3{margin-bottom:12px;color:#fff}
.pillar p{font-size:0.96rem;margin-bottom:20px}
.psub{list-style:none;margin-bottom:24px}
.psub li{font-size:0.89rem;color:var(--tx2);padding:6px 0 6px 22px;position:relative}
.psub li::before{content:"";position:absolute;left:0;top:13px;width:7px;height:7px;border:1.5px solid var(--red);border-radius:50%}
.plink{font-weight:600;color:var(--redbr);font-size:0.92rem;display:inline-flex;align-items:center;gap:7px}
.plink svg{width:16px;height:16px;transition:transform .2s}
.pillar:hover .plink svg{transform:translateX(4px)}
@media(max-width:760px){.pillars{grid-template-columns:1fr}}
.vstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.vi .ico{width:44px;height:44px;margin:0 auto 14px;color:var(--redbr)}
.vi .n{font-family:var(--fh);font-weight:700;font-size:1.25rem;color:#fff}
.vi .l{font-size:0.88rem;color:var(--tx3);margin-top:4px}
@media(max-width:760px){.vstrip{grid-template-columns:repeat(2,1fr);gap:34px 20px}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px 24px}
.stepn{width:42px;height:42px;border-radius:11px;background:rgba(232,35,46,0.14);border:1px solid rgba(232,35,46,0.32);color:var(--redbr);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;margin-bottom:18px}
.step h4{font-family:var(--fh);font-size:1.08rem;margin-bottom:9px;color:#fff}
.step p{font-size:0.9rem}
@media(max-width:880px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}
.roadmap{position:relative;display:flex;align-items:flex-start;justify-content:space-between;margin-top:56px;gap:6px}
.roadmap::before{content:"";position:absolute;top:25px;left:50px;right:50px;height:3px;background:linear-gradient(90deg,var(--reddp),var(--red) 50%,var(--redbr));border-radius:2px;z-index:0}
.rcap{display:flex;flex-direction:column;align-items:center;gap:12px;z-index:1;width:96px;flex:0 0 auto}
.rcic{width:52px;height:52px;border-radius:50%;background:var(--panel2);border:2px solid var(--red);display:flex;align-items:center;justify-content:center}
.rcic svg{width:22px;height:22px;color:var(--redbr)}
.rcap.end .rcic{background:var(--red);border-color:var(--red)}
.rcap.end .rcic svg{color:#fff}
.rclbl{font-family:var(--fh);font-weight:700;font-size:0.92rem;color:#fff}
.rstep{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;z-index:1;padding:0 10px}
.rnode{width:52px;height:52px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;font-size:1.12rem;box-shadow:0 0 0 6px rgba(232,35,46,0.12)}
.rtext h4{font-family:var(--fh);font-size:1.05rem;color:#fff;margin-top:16px}
.rtext p{font-size:0.85rem;color:var(--tx2);margin-top:6px;line-height:1.5}
@media(max-width:860px){
  .roadmap{flex-direction:column;align-items:stretch;gap:0;margin-top:40px;padding-left:4px}
  .roadmap::before{top:26px;bottom:26px;left:25px;right:auto;width:3px;height:auto;background:linear-gradient(180deg,var(--reddp),var(--red) 50%,var(--redbr))}
  .rcap,.rstep{flex-direction:row;width:100%;align-items:center;text-align:left;gap:18px;padding:12px 0}
  .rcap{justify-content:flex-start}
  .rtext h4{margin-top:0}
}
.fwg{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin-top:36px}
.fwc{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line2);border-radius:40px;padding:11px 22px;font-size:0.93rem;font-weight:500;color:var(--tx2);transition:all .22s}
.fwc:hover{border-color:var(--red);background:rgba(232,35,46,0.1);color:#fff}
.fwc .d{width:7px;height:7px;border-radius:50%;background:var(--red)}
.regions{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.rlist{display:grid;gap:16px;margin-top:28px}
.region{display:flex;gap:16px;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);transition:all .22s}
.region:hover{border-color:rgba(232,35,46,0.45)}
.region .ico{width:42px;height:42px;border-radius:10px;background:rgba(232,35,46,0.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.region .ico svg{width:21px;height:21px;color:var(--redbr)}
.region h4{font-family:var(--fh);font-size:1.08rem;margin-bottom:4px;color:#fff}
.region p{font-size:0.9rem}
@media(max-width:820px){.regions{grid-template-columns:1fr;gap:36px}}
.tcards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tcard{display:flex;flex-direction:column;background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:36px}
.tcard .quote{font-size:2.6rem;font-family:var(--fh);color:var(--red);line-height:0.6;height:28px}
.tcard p{font-size:1rem;line-height:1.85;color:var(--tx);margin:18px 0 24px;text-align:justify;flex:1}
.tmeta{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:20px}
.tinit{width:46px;height:46px;border-radius:50%;background:rgba(232,35,46,0.16);border:1px solid rgba(232,35,46,0.34);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;color:var(--redbr);font-size:0.92rem;flex-shrink:0}
.tname{font-weight:600;color:#fff;font-size:0.96rem}
.tco{font-size:0.84rem;color:var(--tx3)}
@media(max-width:820px){.tcards{grid-template-columns:1fr}}
.advisory{background:linear-gradient(135deg,var(--panel),var(--bg2));border:1px solid var(--line2);border-radius:18px;padding:52px;position:relative;overflow:hidden}
.advisory::before{content:"";position:absolute;top:-90px;right:-70px;width:340px;height:340px;background:radial-gradient(circle,rgba(232,35,46,0.22),transparent 65%)}
.advin{position:relative;display:grid;grid-template-columns:1.3fr 0.7fr;gap:40px;align-items:center}
.advisory h2{color:#fff;margin-bottom:14px}
.advisory p{margin-bottom:26px}
.feed{display:grid;gap:10px}
.frow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,0.05);border:1px solid var(--line);border-radius:8px;padding:12px 15px}
.frow .nm{font-size:0.85rem;color:#C7D3E2}
.sev{font-size:0.66rem;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;padding:3px 9px;border-radius:5px}
.sev.c{background:rgba(232,35,46,0.2);color:#FF8E95}
.sev.h{background:rgba(240,160,40,0.2);color:#FFC571}
.sev.a{background:rgba(120,170,255,0.18);color:#9FC0FF}
@media(max-width:760px){.advisory{padding:34px 26px}.advin{grid-template-columns:1fr;gap:28px}}
.ctabox{background:radial-gradient(700px 320px at 50% 0%,rgba(232,35,46,0.22),transparent 60%),linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line2);border-radius:18px;padding:74px 40px;text-align:center;position:relative;overflow:hidden}
.ctabox h2{color:#fff;margin-bottom:16px}
.ctabox p{max-width:560px;margin:0 auto 32px;font-size:1.1rem}
.ctaacts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ftr{background:#10172A;border-top:1px solid var(--line);padding:72px 0 32px}
.ftop{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:46px;border-bottom:1px solid var(--line)}
.fbrand p{color:var(--tx3);font-size:0.92rem;margin:18px 0 22px;max-width:330px}
.fsoc{display:flex;gap:12px}
.fsoc a{width:38px;height:38px;border:1px solid var(--line2);border-radius:9px;display:flex;align-items:center;justify-content:center;transition:all .22s}
.fsoc a:hover{border-color:var(--red);background:rgba(232,35,46,0.12)}
.fsoc svg{width:18px;height:18px;color:var(--tx2)}
.fcol h4{font-family:var(--fh);font-size:0.95rem;color:#fff;margin-bottom:16px}
.fcol ul{list-style:none}
.fcol li{margin-bottom:10px}
.fcol a{font-size:0.9rem;color:var(--tx3);transition:color .2s}
.fcol a:hover{color:var(--redbr)}
.fbot{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:12px}
.fbot p{font-size:0.83rem;color:#5A6678}
@media(max-width:880px){.ftop{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:520px){.ftop{grid-template-columns:1fr}}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* ==== service page additions ==== */
.crumbs{font-size:0.82rem;color:var(--tx3);margin-bottom:14px}
.crumbs a:hover{color:var(--redbr)}
.crumbs span{color:var(--redbr)}
.socviz{position:relative;background:linear-gradient(180deg,#0F1730,#0A1124);border:1px solid var(--line2);border-radius:16px;padding:18px;box-shadow:0 30px 70px rgba(0,0,0,0.5);overflow:hidden}
.socviz::before{content:"";position:absolute;top:-40%;right:-15%;width:60%;height:80%;background:radial-gradient(ellipse,rgba(232,35,46,0.2),transparent 62%)}
.soc-head{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.soc-title{display:flex;align-items:center;gap:9px;font-family:var(--fh);font-weight:600;font-size:0.95rem;color:#fff}
.soc-dot{width:9px;height:9px;border-radius:50%;background:#37D98A;box-shadow:0 0 8px #37D98A}
.soc-status{font-size:0.66rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--redbr);border:1px solid rgba(232,35,46,0.4);border-radius:20px;padding:3px 10px}
.soc-metrics{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:13px}
.soc-metric{background:rgba(255,255,255,0.04);border:1px solid var(--line);border-radius:9px;padding:9px 10px}
.soc-metric .m-n{font-family:var(--fh);font-weight:700;font-size:1.1rem;color:#fff}
.soc-metric .m-n.red{color:#FF6470}
.soc-metric .m-n.amber{color:#FFC571}
.soc-metric .m-l{font-size:0.62rem;color:var(--tx3);margin-top:2px}
.soc-chart{position:relative;height:64px;margin-bottom:13px;background:rgba(255,255,255,0.03);border:1px solid var(--line);border-radius:9px;padding:6px 8px}
.soc-chart svg{width:100%;height:100%}
.soc-feed{position:relative;display:grid;gap:7px}
.soc-row{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,0.04);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
.sf-tag{font-size:0.6rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;flex-shrink:0}
.sf-tag.crit{background:rgba(232,35,46,0.22);color:#FF8E95}
.sf-tag.high{background:rgba(240,160,40,0.2);color:#FFC571}
.sf-tag.med{background:rgba(120,170,255,0.18);color:#9FC0FF}
.sf-txt{font-size:0.76rem;color:#C7D3E2;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-ai{font-size:0.58rem;color:#37D98A;border:1px solid rgba(55,217,138,0.35);border-radius:4px;padding:2px 6px;flex-shrink:0;white-space:nowrap}
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.model{position:relative;background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:14px;padding:30px 26px;transition:all .24s;overflow:hidden}
.model::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),transparent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.model:hover{border-color:rgba(232,35,46,0.45);transform:translateY(-3px);box-shadow:0 20px 44px rgba(0,0,0,0.32)}
.model:hover::before{transform:scaleX(1)}
.model .mtag{font-family:var(--fh);font-size:0.76rem;font-weight:700;letter-spacing:0.08em;color:var(--redbr);text-transform:uppercase}
.model h4{font-family:var(--fh);font-size:1.2rem;color:#fff;margin:8px 0 10px}
.model p{font-size:0.92rem;color:var(--tx2)}
@media(max-width:760px){.models{grid-template-columns:1fr}}
.aiband{background:linear-gradient(135deg,var(--panel),var(--bg2));border:1px solid var(--line2);border-radius:18px;padding:44px;position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center}
.aiband::before{content:"";position:absolute;top:-90px;right:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(232,35,46,0.2),transparent 65%)}
.aiic{position:relative;width:74px;height:74px;border-radius:16px;background:rgba(232,35,46,0.14);border:1px solid rgba(232,35,46,0.32);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.aiic svg{width:36px;height:36px;color:var(--redbr)}
.aiband h3{position:relative;color:#fff;font-size:1.5rem;margin-bottom:8px}
.aiband p{position:relative;color:var(--tx2);max-width:760px}
@media(max-width:680px){.aiband{grid-template-columns:1fr;padding:30px}}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fcard{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:14px;padding:28px 26px;transition:all .24s}
.fcard:hover{border-color:rgba(232,35,46,0.4);transform:translateY(-3px);box-shadow:0 20px 44px rgba(0,0,0,0.3)}
.fico{width:48px;height:48px;border-radius:11px;background:rgba(232,35,46,0.12);border:1px solid rgba(232,35,46,0.28);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.fico svg{width:23px;height:23px;color:var(--redbr)}
.fcard h4{font-family:var(--fh);font-size:1.06rem;color:#fff;margin-bottom:8px}
.fcard p{font-size:0.89rem;color:var(--tx2);line-height:1.6}
@media(max-width:900px){.feat{grid-template-columns:repeat(2,1fr)}.soc-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.feat{grid-template-columns:1fr}}
@media(max-width:980px){.heroin .socviz{order:-1}}
@media(max-width:900px){.feat{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.heroin .svcviz{order:-1}}
.svcviz{position:relative;background:linear-gradient(180deg,#0F1730,#0A1124);border:1px solid var(--line2);border-radius:16px;padding:20px;box-shadow:0 30px 70px rgba(0,0,0,0.5);overflow:hidden}
.svcviz::before{content:"";position:absolute;top:-40%;right:-15%;width:60%;height:80%;background:radial-gradient(ellipse,rgba(232,35,46,0.2),transparent 62%);pointer-events:none}
.svcviz-head{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.svcviz-title{display:flex;align-items:center;gap:9px;font-family:var(--fh);font-weight:600;font-size:0.95rem;color:#fff}
.svcviz-dot{width:9px;height:9px;border-radius:50%;background:#37D98A;box-shadow:0 0 8px #37D98A}
.svcviz-status{font-size:0.66rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--redbr);border:1px solid rgba(232,35,46,0.4);border-radius:20px;padding:3px 10px}
.svcviz-body{position:relative}
.fwgrid{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;margin-top:36px;max-width:920px;margin-left:auto;margin-right:auto}
.fwchip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:30px;padding:9px 18px;font-size:0.88rem;font-weight:500;color:var(--tx2);transition:all .22s}
.fwchip:hover{border-color:var(--red);background:rgba(232,35,46,0.1);color:#fff}
.fwchip .d{width:6px;height:6px;border-radius:50%;background:var(--red)}
.fwgroup{margin-top:24px}
.fwgroup .fwglbl{font-size:0.76rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--tx3);font-weight:600;margin-bottom:12px;text-align:center}
.roadmap{position:relative;display:flex;align-items:flex-start;justify-content:space-between;margin-top:56px;gap:6px}
.roadmap::before{content:"";position:absolute;top:25px;left:50px;right:50px;height:3px;background:linear-gradient(90deg,var(--reddp),var(--red) 50%,var(--redbr));border-radius:2px;z-index:0}
.rcap{display:flex;flex-direction:column;align-items:center;gap:12px;z-index:1;width:96px;flex:0 0 auto}
.rcic{width:52px;height:52px;border-radius:50%;background:var(--panel2);border:2px solid var(--red);display:flex;align-items:center;justify-content:center}
.rcic svg{width:22px;height:22px;color:var(--redbr)}
.rcap.end .rcic{background:var(--red);border-color:var(--red)}
.rcap.end .rcic svg{color:#fff}
.rclbl{font-family:var(--fh);font-weight:700;font-size:0.92rem;color:#fff}
.rstep{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;z-index:1;padding:0 10px}
.rnode{width:52px;height:52px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;font-size:1.12rem;box-shadow:0 0 0 6px rgba(232,35,46,0.12)}
.rtext h4{font-family:var(--fh);font-size:1.05rem;color:#fff;margin-top:16px}
.rtext p{font-size:0.85rem;color:var(--tx2);margin-top:6px;line-height:1.5}
@media(max-width:860px){.roadmap{flex-direction:column;align-items:stretch;gap:0;margin-top:40px;padding-left:4px}.roadmap::before{top:26px;bottom:26px;left:25px;right:auto;width:3px;height:auto;background:linear-gradient(180deg,var(--reddp),var(--red) 50%,var(--redbr))}.rcap,.rstep{flex-direction:row;width:100%;align-items:center;text-align:left;gap:18px;padding:12px 0}.rcap{justify-content:flex-start}.rtext h4{margin-top:0}}
/* ==== new page additions ==== */

/* Trust signals strip */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px;padding-top:32px;border-top:1px solid var(--line)}
.trust-col h5{font-family:var(--fh);font-size:0.76rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--redbr);margin-bottom:14px;font-weight:700}
.trust-col .items{display:flex;flex-wrap:wrap;gap:8px}
.trust-col .tchip{font-family:var(--fb);font-size:0.78rem;color:var(--tx2);padding:6px 12px;border:1px solid var(--line2);border-radius:20px;background:rgba(255,255,255,0.03)}
@media(max-width:760px){.trust{grid-template-columns:1fr;gap:24px}}
/* About page bios */
.bios{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.bio{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:14px;padding:28px;transition:all .24s}
.bio:hover{border-color:rgba(232,35,46,0.45)}
.bio .role{font-family:var(--fh);font-weight:700;color:#fff;font-size:1.08rem;margin-bottom:6px}
.bio .yrs{font-size:0.8rem;color:var(--redbr);font-weight:600;letter-spacing:0.04em;margin-bottom:14px}
.bio p{font-size:0.9rem;color:var(--tx2);line-height:1.6}
@media(max-width:880px){.bios{grid-template-columns:1fr}}
/* Contact maps */
.maps{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.mapcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.mapcard iframe{width:100%;height:280px;border:0;display:block;filter:invert(0.92) hue-rotate(180deg) saturate(0.7)}
.mapinfo{padding:22px 24px}
.mapinfo h3{font-family:var(--fh);color:#fff;font-size:1.18rem;margin-bottom:6px}
.mapinfo .country{color:var(--redbr);font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;font-weight:600;margin-bottom:14px}
.mapinfo .line{font-size:0.9rem;color:var(--tx2);margin-bottom:8px}
.mapinfo a{color:var(--redbr);font-weight:600;font-size:0.88rem;display:inline-flex;align-items:center;gap:6px;margin-top:6px}
@media(max-width:820px){.maps{grid-template-columns:1fr}}
/* Industries cards */
.indcard{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:32px;margin-bottom:22px;transition:all .24s;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start}
.indcard:hover{border-color:rgba(232,35,46,0.4);transform:translateY(-2px);box-shadow:0 20px 44px rgba(0,0,0,0.3)}
.indicon{width:56px;height:56px;border-radius:14px;background:rgba(232,35,46,0.12);border:1px solid rgba(232,35,46,0.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.indicon svg{width:28px;height:28px;color:var(--redbr)}
.indcard h3{color:#fff;font-size:1.4rem;margin-bottom:10px}
.indcard p{color:var(--tx2);font-size:0.97rem;line-height:1.7;margin-bottom:14px}
.indcard .focus{font-size:0.9rem;color:var(--tx3);line-height:1.6;padding-top:14px;border-top:1px solid var(--line)}
.indcard .focus b{color:#fff;font-weight:600}
@media(max-width:680px){.indcard{grid-template-columns:1fr;padding:26px}}
/* Engagement stories */
.story{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:36px;margin-bottom:24px;transition:all .24s}
.story:hover{border-color:rgba(232,35,46,0.4)}
.story-tag{display:inline-block;font-size:0.74rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--redbr);background:rgba(232,35,46,0.1);border:1px solid rgba(232,35,46,0.3);padding:5px 12px;border-radius:20px;margin-bottom:16px}
.story h3{color:#fff;font-size:1.5rem;margin-bottom:8px}
.story .summary{color:var(--tx2);font-size:1rem;margin-bottom:24px;line-height:1.7}
.story-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sblock{padding:18px;background:rgba(255,255,255,0.03);border:1px solid var(--line);border-radius:10px}
.sblock h5{font-family:var(--fh);font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--redbr);margin-bottom:10px;font-weight:700}
.sblock p{font-size:0.88rem;color:var(--tx2);line-height:1.6}
@media(max-width:760px){.story-blocks{grid-template-columns:1fr;gap:14px}.story{padding:28px 24px}}
/* Resources */
.rescard{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:14px;padding:28px;transition:all .24s;display:flex;flex-direction:column;height:100%}
.rescard:hover{border-color:rgba(232,35,46,0.4);transform:translateY(-3px)}
.restype{font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--redbr);margin-bottom:10px}
.rescard h4{color:#fff;font-size:1.12rem;margin-bottom:10px;font-family:var(--fh)}
.rescard p{font-size:0.9rem;color:var(--tx2);line-height:1.65;margin-bottom:18px;flex:1}
.rescard .reslink{font-weight:600;color:var(--redbr);font-size:0.88rem;display:inline-flex;align-items:center;gap:7px;margin-top:auto}
.rescard .reslink svg{width:15px;height:15px;transition:transform .2s}
.rescard:hover .reslink svg{transform:translateX(3px)}
/* Page hero (inner pages without big visual) */
.phero{position:relative;background:radial-gradient(900px 480px at 80% -8%,rgba(232,35,46,0.18),transparent 58%),radial-gradient(700px 400px at 10% 110%,rgba(41,54,96,0.5),transparent 60%),linear-gradient(180deg,var(--bg2),var(--bg));overflow:hidden;padding:60px 0 80px}
.phero .gridbg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 85% 75% at 60% 35%,#000 35%,transparent 78%);mask-image:radial-gradient(ellipse 85% 75% at 60% 35%,#000 35%,transparent 78%)}
.phero .container{position:relative}
.phero h1{font-size:clamp(2.2rem,3.4vw,3.1rem);margin-bottom:18px}
.phero h1 .r{background:linear-gradient(90deg,var(--redbr),var(--red));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.phero .pheroSub{color:var(--tx2);font-size:1.12rem;max-width:680px}
