
:root{
  --plum-900:#1a1433;--plum-800:#231b45;--plum-700:#2c2258;--purple-600:#6b4fb0;--purple-500:#7c5cbf;--purple-300:#b7a4e0;
  --royal:#3b5bdb;--royal-soft:#5b73e8;--teal:#2bb7a3;--teal-soft:#e0f5f1;--green:#1f9d6b;--green-soft:#e2f4ec;
  --amber:#e9b949;--amber-soft:#fbf1d8;--red:#cf4b4b;--ink:#3a2d63;--muted:#6a6482;--line:#e7e2f0;--paper:#fff;
  --paper-2:#faf8fd;--lilac:#f2eefa;--lilac-2:#e9e2f6;--shadow:0 18px 50px -24px rgba(37,26,80,.35);--maxw:1180px;
  --serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,-apple-system,sans-serif;
  --c-purple:#6b4fb0;--c-violet:#8b3fd4;--c-blue:#3b5bdb;--c-teal:#1b9e8a;--c-green:#1f9d6b;
  --c-pink:#d6337f;--c-magenta:#b5299b;--c-indigo:#4a2c82;--c-sky:#2f8fd6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0;letter-spacing:-.01em}
h2{color:var(--c-indigo)}h3{color:var(--c-purple)}h4{color:var(--c-indigo)}
p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--purple-500);margin:0 0 14px}
.eyebrow.on-dark{color:var(--purple-300)}
.h-xl{font-size:clamp(34px,5vw,58px);letter-spacing:-.02em}.h-lg{font-size:clamp(28px,3.8vw,44px)}.h-md{font-size:clamp(24px,3vw,34px)}
section{padding:88px 0;position:relative}
.lead{font-size:19px;color:var(--muted);max-width:66ch;margin-top:16px}.lead.on-dark{color:#c8c1e0}
.center{text-align:center;margin-left:auto;margin-right:auto}
a:focus-visible,button:focus-visible{outline:3px solid var(--royal);outline-offset:3px;border-radius:6px}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:14px 24px;border-radius:999px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:0;font-family:var(--sans)}
.btn-primary{background:var(--plum-800);color:#fff}.btn-primary:hover{background:var(--purple-600);transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(107,79,176,.7)}
.btn-light{background:#fff;color:var(--plum-800)}.btn-light:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,0,0,.4)}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}.btn-ghost:hover{background:rgba(255,255,255,.09);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--purple-600);border:1px solid var(--lilac-2)}.btn-outline:hover{background:var(--lilac);transform:translateY(-2px)}
/* nav */
header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:.02em;cursor:pointer}
.brand .wm{color:#4a2c82}
.brand .mark{width:30px;height:34px;flex:none}.brand b{color:var(--purple-600)}
.navlinks{display:flex;gap:24px;align-items:center}
.navlinks a{font-size:14.5px;font-weight:500;color:#4a4562;cursor:pointer}
.navlinks a:hover,.navlinks a.active{color:var(--purple-600)}
.navlinks a.active:not(.nav-cta){position:relative}
.navlinks a.active:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--purple-500);border-radius:2px}
.nav-cta{background:var(--plum-800);color:#fff!important;padding:10px 18px;border-radius:999px;font-weight:600;font-size:14px;transition:.2s}
.nav-cta:hover{background:var(--purple-600);transform:translateY(-1px)}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:8px}
.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;transition:.25s}
@media(max-width:920px){
  .navlinks{position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 0;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .3s;box-shadow:var(--shadow)}
  .navlinks.open{transform:translateY(0)}
  .navlinks a{padding:13px 28px;width:100%;border-bottom:1px solid var(--paper-2)}
  .navlinks a.active:not(.nav-cta)::after{display:none}.nav-cta{margin:10px 28px}.menu-btn{display:block}
}
/* pages */
.page{display:none}.page.active{display:block;animation:fade .4s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* hero */
.hero{background:radial-gradient(120% 120% at 85% 8%,rgba(43,183,163,.22),transparent 52%),radial-gradient(90% 90% at 8% 92%,rgba(124,92,191,.32),transparent 55%),linear-gradient(160deg,var(--plum-900),var(--plum-800));color:#fff;overflow:hidden}
.hero .wrap{padding-top:92px;padding-bottom:92px;position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:52px;align-items:center}
.hero h1{color:#fff}.hero h1 .accent{color:var(--purple-300);font-style:italic}
.rotator{min-height:1.2em;transition:opacity .35s}
.hero-sub{margin-top:18px;font-size:19px;color:#cdc6e6;max-width:52ch}
.hero-tag{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(18px,2.1vw,23px);color:var(--purple-300);margin-top:16px;max-width:40ch;line-height:1.35}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.chip{font-size:13px;font-weight:500;color:#e7e2f6;border:1px solid rgba(183,164,224,.35);padding:7px 13px;border-radius:999px;background:rgba(124,92,191,.14)}
.vpills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.vpill{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:#eae5f7;background:rgba(124,92,191,.16);border:1px solid rgba(183,164,224,.3);padding:9px 14px;border-radius:999px}
.vpill i{font-style:normal;font-weight:800;color:#4fd1c5}
.vpill:nth-child(2n) i{color:#ff9ecb}.vpill:nth-child(3n) i{color:#b7a4e0}
.hero-cred{margin-top:22px;font-size:13px;color:#a99fce;letter-spacing:.02em}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.hero-art{position:relative;height:320px}
.crystal{position:absolute;inset:0;margin:auto;filter:drop-shadow(0 24px 60px rgba(43,183,163,.45))}
.float{animation:float 7s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(prefers-reduced-motion:reduce){.float{animation:none}}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:6px}.hero-art{height:200px;order:-1}}
/* page banner */
.pbanner{background:radial-gradient(90% 120% at 90% 0%,rgba(43,183,163,.2),transparent 55%),linear-gradient(160deg,var(--plum-900),var(--plum-800));color:#fff;padding:72px 0}
.pbanner .eyebrow{color:var(--purple-300)}.pbanner h1{color:#fff}.pbanner p{color:#cdc6e6;margin-top:14px;max-width:64ch;font-size:18px}
.crumbs{font-size:13px;color:#a99fce;margin-bottom:18px}.crumbs a{cursor:pointer}.crumbs a:hover{color:#fff}
/* stat stripe */
.stripe{background:var(--plum-800);color:#fff}
.stripe .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:40px;padding-bottom:40px;text-align:center}
.stripe .s .n{font-family:var(--serif);font-size:34px;font-weight:600}.stripe .s .l{font-size:12.5px;color:#c3bce0;margin-top:4px}
.stripe .s:not(:last-child){border-right:1px solid rgba(255,255,255,.16)}
@media(max-width:720px){.stripe .wrap{grid-template-columns:repeat(2,1fr)}.stripe .s:not(:last-child){border-right:none}}
/* cards */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:30px;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .ico{width:48px;height:48px;border-radius:12px;background:var(--lilac);display:grid;place-items:center;margin-bottom:18px;color:var(--purple-600)}
.card .ico.teal{background:var(--teal-soft);color:var(--teal)}
.card h3{font-size:20px;margin-bottom:10px}.card p{font-size:15px;color:var(--muted)}
.card .more{display:inline-block;margin-top:16px;font-weight:600;font-size:14px;color:var(--purple-600);cursor:pointer}.card .more:hover{color:var(--royal)}
@media(max-width:920px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.split .dark{background:linear-gradient(165deg,var(--plum-800),var(--plum-900));color:#fff;padding:50px 44px}
.split .dark h2{margin:18px 0 20px}.split .dark p{color:#cbc4e4;font-size:16px;margin-bottom:16px}
.split .light{background:var(--paper);padding:44px}
.tagline{margin-top:26px;padding-top:20px;border-top:1px solid rgba(183,164,224,.25);font-size:13.5px;color:#a99fce}.tagline b{color:var(--purple-300)}
.feat{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.feat:last-child{border-bottom:0}
.feat .fi{width:44px;height:44px;flex:none;border-radius:11px;background:var(--lilac);display:grid;place-items:center;color:var(--purple-600);font-weight:700}
.feat h4{font-size:17px;color:var(--plum-700);margin-bottom:4px}.feat p{font-size:14.5px;color:var(--muted)}
@media(max-width:920px){.split{grid-template-columns:1fr}}
/* process */
.process{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pstep{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.pstep .num{font-family:var(--serif);font-size:15px;font-weight:600;color:#fff;background:var(--purple-500);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;margin-bottom:14px}
.pstep h4{font-size:17px;margin-bottom:6px}.pstep p{font-size:14px;color:var(--muted)}
@media(max-width:920px){.process{grid-template-columns:1fr}}
/* routes */
.routes{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:34px}
.route{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#fff}
.route-a{box-shadow:0 20px 50px -28px rgba(59,91,219,.45)}
.route-head{padding:22px 26px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}
.route-a .route-head{background:linear-gradient(120deg,var(--plum-800),var(--purple-600))}
.route-b .route-head{background:linear-gradient(120deg,#8a8397,#6f6982)}
.route-head h3{font-size:20px}.route-head .sub{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-top:3px}
.tag-w{font-size:11px;font-weight:700;letter-spacing:.06em;padding:6px 11px;border-radius:999px;white-space:nowrap}
.route-a .tag-w{background:rgba(255,255,255,.92);color:var(--plum-800)}.route-b .tag-w{background:rgba(255,255,255,.75);color:#5a5468}
.steps{padding:14px 26px 24px}.step{display:flex;gap:16px;padding:13px 0;position:relative}
.step .dot{width:14px;height:14px;border-radius:50%;flex:none;margin-top:5px;border:3px solid #fff;box-shadow:0 0 0 2px var(--purple-300)}
.route-b .step .dot{box-shadow:0 0 0 2px #cfc9d8}
.step:not(:last-child)::before{content:"";position:absolute;left:6px;top:24px;bottom:-6px;width:2px;background:var(--lilac-2)}
.route-b .step:not(:last-child)::before{background:#e6e3ec}
.step h4{font-size:15px;margin-bottom:2px}.step p{font-size:13px;color:var(--muted)}.step.hi h4{color:var(--purple-600)}
.endcap{margin:12px 26px 22px;border-radius:12px;padding:15px 18px;font-size:14px;display:flex;gap:10px;align-items:flex-start}
.endcap.win{background:var(--green-soft);color:#14684a}.endcap.loss{background:#fbe9e9;color:#9a3535}
.endcap b{display:block;font-size:15px;margin-bottom:2px}
@media(max-width:920px){.routes{grid-template-columns:1fr}}
/* flow */
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:14px;margin-top:40px}
.flow-card{border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.12)}
.flow-card.in,.flow-card.out{background:var(--amber-soft);color:#5c4a1a}
.flow-card.mid{background:linear-gradient(160deg,var(--purple-600),var(--plum-700));color:#fff}
.flow-card h4{font-size:18px;margin-bottom:10px;color:inherit}.flow-card.mid h4{color:#fff}.flow-card p{font-size:13.5px;opacity:.94}
.flow-arr{display:grid;place-items:center;color:var(--purple-500);font-size:26px}
@media(max-width:920px){.flow{grid-template-columns:1fr}.flow-arr{transform:rotate(90deg);padding:4px 0}}
/* metric panel */
.metricpanel{background:linear-gradient(165deg,var(--plum-800),var(--plum-900));color:#fff;border-radius:18px;padding:32px}
.metricpanel .m{padding:14px 0;border-bottom:1px solid rgba(183,164,224,.18)}.metricpanel .m:last-child{border-bottom:0}
.metricpanel .m .n{font-family:var(--serif);font-size:30px;font-weight:600}.metricpanel .m .l{font-size:11.5px;color:#b3aad2;letter-spacing:.05em}
/* table */
.ctable{width:100%;border-collapse:collapse;margin-top:36px;font-size:14.5px}
.ctable thead th{color:#fff;font-weight:600;font-size:13px;padding:16px 18px;text-align:left}
.ctable thead th.h-a{background:var(--plum-800);border-radius:12px 0 0 0}.ctable thead th.h-b{background:#6f6982;border-radius:0 12px 0 0}
.ctable thead th:first-child{background:transparent}
.ctable td{padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.ctable td.lbl{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;width:24%}
.ctable td.a{color:var(--plum-800);font-weight:500}.ctable td.b{color:#7a7490}
.ctable td .d{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:9px}
.ctable td.a .d{background:var(--green)}.ctable td.b .d{background:var(--red)}
@media(max-width:720px){.ctable td.lbl{width:36%}}
/* badges */
.badges{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;align-items:center}
.badges.center{justify-content:center}
.badge-pill{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px 22px;font-weight:600;color:var(--plum-800);font-size:15px;box-shadow:var(--shadow)}
.badge-pill span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--purple-500);font-weight:600}
/* partner */
.partner{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:30px}
.partner .pn{font-family:var(--serif);font-size:23px;font-weight:600}
.partner .pn span{font-family:var(--sans);font-size:12px;letter-spacing:.14em;color:var(--purple-500);font-weight:600;margin-left:8px}
.partner .pd{font-style:italic;color:var(--purple-600);font-size:13.5px;margin:8px 0 14px}.partner p{font-size:14px;color:var(--muted)}
/* sector */
.sector{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;transition:.25s}
.sector:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--lilac-2)}
.sector .si{width:46px;height:46px;border-radius:12px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;margin-bottom:16px}
.sector h3{font-size:19px;margin-bottom:8px}.sector p{font-size:14px;color:var(--muted)}
/* product */
.product{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.product:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.product .ptop{height:110px;background:linear-gradient(135deg,var(--purple-500),var(--royal));display:grid;place-items:center;color:#fff}
.product:nth-child(2n) .ptop{background:linear-gradient(135deg,var(--teal),var(--royal-soft))}
.product:nth-child(3n) .ptop{background:linear-gradient(135deg,var(--plum-700),var(--purple-500))}
.product .pbody{padding:24px;flex:1;display:flex;flex-direction:column}
.product h3{font-size:19px;margin-bottom:10px}.product p{font-size:14px;color:var(--muted);flex:1}
.product .more{margin-top:16px;font-weight:600;font-size:14px;color:var(--purple-600);cursor:pointer}
/* membrane fam */
.fam{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:30px}
.fam .famrow{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.fam .famrow:last-child{border-bottom:0}
.fam .fbadge{width:46px;height:46px;flex:none;border-radius:11px;background:var(--lilac);display:grid;place-items:center;color:var(--purple-600);font-weight:700;font-size:13px}
.fam h4{font-size:16px;color:var(--plum-800)}.fam h4 b{color:var(--purple-600)}.fam p{font-size:13.5px;color:var(--muted);margin-top:2px}
/* cta band */
.ctaband{background:linear-gradient(120deg,var(--plum-800),var(--purple-600));color:#fff;border-radius:24px;padding:52px;text-align:center}
.ctaband h2{color:#fff;margin-bottom:14px}.ctaband p{color:#ddd6f0;max-width:56ch;margin:0 auto 26px}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;margin-top:12px;align-items:start}
.cinfo .person{padding:18px 0;border-bottom:1px solid var(--line)}.cinfo .person b{font-size:17px}
.cinfo .person span{display:block;color:var(--muted);font-size:14px;margin-top:3px}.cinfo .person a{color:var(--purple-600);font-weight:600}
.addrs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.addr{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:20px;font-size:13.5px;color:var(--muted);line-height:1.7}
.addr b{color:var(--ink);display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}
.cform{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:32px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.cform label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500}
.cform input,.cform textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink);font-family:var(--sans);font-size:14px}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--royal-soft);border-color:transparent}
.cform .btn{width:100%;justify-content:center;margin-top:4px}
.form-note{margin-top:12px;font-size:12.5px;color:var(--purple-600);text-align:center;min-height:16px}
.sites{margin-top:20px;font-size:14px;color:var(--muted)}.sites a{color:var(--purple-600);font-weight:600}
@media(max-width:920px){.contact-grid{grid-template-columns:1fr}.addrs{grid-template-columns:1fr}}
/* footer */
footer.foot{background:var(--plum-900);color:#a99fce;padding:56px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:40px;padding-bottom:30px;border-bottom:1px solid rgba(183,164,224,.16)}
.foot .brand{color:#fff;font-size:20px;margin-bottom:14px}.foot .brand .wm{color:var(--purple-300)}.foot p{font-size:13.5px;color:#a99fce;max-width:38ch}
.foot h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#cbc4e4;margin:0 0 14px;font-family:var(--sans);font-weight:600}
.foot ul{list-style:none;margin:0;padding:0}.foot ul li{margin-bottom:9px}
.foot ul a{font-size:14px;color:#a99fce;cursor:pointer}.foot ul a:hover{color:#fff}
.foot .fcontact{font-size:13.5px;line-height:1.9}.foot .fcontact a{color:var(--purple-300)}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:12.5px;color:#8a83a6}
@media(max-width:920px){.foot-grid{grid-template-columns:1fr;gap:28px}}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* ===== global-company components ===== */
.hero.mission .wrap{padding-top:110px;padding-bottom:110px}
.hero.mission h1{font-size:clamp(38px,5.6vw,68px)}
.mini-note{font-size:13px;color:#8f88ad;margin-top:10px}
/* R-R-R pillars */
.rrr{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);margin-top:46px}
.rrr .pill{padding:44px 38px;color:#fff;position:relative}
.rrr .pill:nth-child(1){background:linear-gradient(160deg,#2bb7a3,#1b8878)}
.rrr .pill:nth-child(2){background:linear-gradient(160deg,#5b73e8,#3b5bdb)}
.rrr .pill:nth-child(3){background:linear-gradient(160deg,#7c5cbf,#4a2c82)}
.rrr .pill .k{font-family:var(--serif);font-size:26px;font-weight:600;margin-bottom:10px}
.rrr .pill p{font-size:14.5px;color:rgba(255,255,255,.88)}
.rrr .pill .n{position:absolute;top:18px;right:22px;font-family:var(--serif);font-size:60px;font-weight:600;opacity:.14}
@media(max-width:920px){.rrr{grid-template-columns:1fr}}
/* impact band */
.impact{background:radial-gradient(100% 140% at 90% 0%,rgba(43,183,163,.16),transparent 55%),linear-gradient(160deg,var(--plum-900),var(--plum-800));color:#fff}
.impact h2{color:#fff}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:46px}
.impact .imp{border-top:2px solid rgba(183,164,224,.35);padding-top:20px}
.impact .imp .n{font-family:var(--serif);font-size:clamp(38px,4.4vw,56px);font-weight:600;line-height:1}
.impact .imp:nth-child(1) .n em{color:#4fd1c5}.impact .imp:nth-child(2) .n em{color:#b7a4e0}.impact .imp:nth-child(3) .n em{color:#7fd1ff}.impact .imp:nth-child(4) .n em{color:#ff9ecb}
.impact .imp .l{font-size:13px;color:#b3aad2;margin-top:10px;max-width:24ch}
@media(max-width:920px){.impact-grid{grid-template-columns:repeat(2,1fr)}}
/* tech portfolio */
.port{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.port .tcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;transition:.25s;position:relative;overflow:hidden}
.port .tcard::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--royal),var(--purple-500))}
.port .tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.port .tcard .tt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--purple-500);font-weight:700;margin-bottom:10px}
.port .tcard h3{font-size:20px;margin-bottom:8px}
.port .tcard p{font-size:14px;color:var(--muted)}
@media(max-width:920px){.port{grid-template-columns:1fr}}
/* global presence */
.presence{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;margin-top:44px;align-items:start}
.geo{border-left:2px solid var(--lilac-2);padding-left:26px}
.geo .g{padding:16px 0;border-bottom:1px solid var(--line)}
.geo .g:last-child{border-bottom:0}
.geo .g .city{font-family:var(--serif);font-size:20px;font-weight:600}
.geo .g .role{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-500);font-weight:700;margin:2px 0 6px}
.geo .g p{font-size:14px;color:var(--muted)}
.netmap{background:linear-gradient(165deg,var(--plum-800),var(--plum-900));border-radius:20px;padding:34px;color:#fff}
.netmap h3{color:#fff;font-size:22px;margin-bottom:16px}
.netmap .nrow{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(183,164,224,.16)}
.netmap .nrow:last-child{border-bottom:0}
.netmap .flag{font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--teal);width:84px;flex:none}
.netmap .nrow p{font-size:13.5px;color:#cbc4e4}
@media(max-width:920px){.presence{grid-template-columns:1fr}}
/* quote band */
.quoteband{background:var(--paper-2);border:1px solid var(--line);border-radius:24px;padding:52px;margin-top:26px;text-align:center}
.quoteband .q{font-family:var(--serif);font-size:clamp(20px,2.6vw,28px);font-weight:500;color:var(--plum-800);max-width:34ch;margin:0 auto;line-height:1.4}
.quoteband .who{margin-top:18px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple-500);font-weight:700}

/* ===== colourful theme layer ===== */
.card:nth-child(4n+1) .ico{background:#efe7fb;color:var(--c-violet)}
.card:nth-child(4n+2) .ico{background:#e2f4ec;color:var(--c-green)}
.card:nth-child(4n+3) .ico{background:#e4edfc;color:var(--c-blue)}
.card:nth-child(4n+4) .ico{background:#fce4f0;color:var(--c-pink)}
.card:nth-child(4n+1) h3{color:var(--c-violet)}
.card:nth-child(4n+2) h3{color:var(--c-green)}
.card:nth-child(4n+3) h3{color:var(--c-blue)}
.card:nth-child(4n+4) h3{color:var(--c-pink)}
.sector:nth-child(7n+1) .si{background:#efe7fb;color:var(--c-violet)}
.sector:nth-child(7n+2) .si{background:#e2f4ec;color:var(--c-green)}
.sector:nth-child(7n+3) .si{background:#e4edfc;color:var(--c-blue)}
.sector:nth-child(7n+4) .si{background:#fce4f0;color:var(--c-pink)}
.sector:nth-child(7n+5) .si{background:#e0f5f1;color:var(--c-teal)}
.sector:nth-child(7n+6) .si{background:#e7f7ee;color:var(--c-green)}
.sector:nth-child(7n+7) .si{background:#eae2f8;color:var(--c-indigo)}
.sector:nth-child(2n) h3{color:var(--c-blue)}
.sector:nth-child(2n+1) h3{color:var(--c-violet)}
.port .tcard:nth-child(6n+1) .tt{color:var(--c-violet)}
.port .tcard:nth-child(6n+2) .tt{color:var(--c-green)}
.port .tcard:nth-child(6n+3) .tt{color:var(--c-blue)}
.port .tcard:nth-child(6n+4) .tt{color:var(--c-pink)}
.port .tcard:nth-child(6n+5) .tt{color:var(--c-teal)}
.port .tcard:nth-child(6n+6) .tt{color:var(--c-indigo)}
.port .tcard:nth-child(3n+1) h3{color:var(--c-indigo)}
.port .tcard:nth-child(3n+2) h3{color:var(--c-blue)}
.port .tcard:nth-child(3n+3) h3{color:var(--c-violet)}
.eyebrow{color:var(--c-violet)}
.feat h4{color:var(--c-blue)}
.feat:nth-child(2n) h4{color:var(--c-green)}
.pstep:nth-child(3n+1) .num{background:var(--c-violet)}
.pstep:nth-child(3n+2) .num{background:var(--c-blue)}
.pstep:nth-child(3n+3) .num{background:var(--c-green)}
.pstep h4{color:var(--c-indigo)}
.partner:nth-child(3n+1) .pn{color:var(--c-violet)}
.partner:nth-child(3n+2) .pn{color:var(--c-blue)}
.partner:nth-child(3n+3) .pn{color:var(--c-green)}
.partner .pd{color:var(--c-pink)}
.quoteband .q{color:var(--c-indigo)}
.geo .g .city{color:var(--c-indigo)}
.geo .g .role{color:var(--c-pink)}
.metricpanel .m .n{color:#fff}
.badge-pill{color:var(--c-indigo)}
.badge-pill span{color:var(--c-pink)}
.card .more{color:var(--c-blue)}
.product h3{color:var(--c-indigo)}
.fam h4{color:var(--c-indigo)}.fam h4 b{color:var(--c-violet)}

.contact-grid{
    display:grid;
    grid-template-columns:40% 60%;
    gap:50px;
    align-items:flex-start;
}

.cinfo{
    width:100%;
}

.cform{
    width:100%;
}

@media (max-width:920px){
    .contact-grid{
        grid-template-columns:1fr;
    }
}

/*=========================================
            PDF MODAL
=========================================*/

.pdf-modal{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.75);
    z-index:99999;
    justify-content:center;
    align-items:center;
}

.pdf-content{
    position:relative;
    width:90%;
    height:90%;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 15px 50px rgba(0,0,0,.35);
}

.pdf-content iframe{
    width:100%;
    height:100%;
    border:none;
}

.close-pdf{
    position:absolute;
    top:15px;
    right:20px;
    width:40px;
    height:40px;
    line-height:40px;
    text-align:center;
    font-size:30px;
    font-weight:bold;
    cursor:pointer;
    color:#333;
    background:#fff;
    border-radius:50%;
    z-index:1000;
    box-shadow:0 5px 15px rgba(0,0,0,.2);
}

.close-pdf:hover{
    background:#6b4fb0;
    color:#fff;
}

/*=========================================
        VIEW DETAILS BUTTON
=========================================*/

.product .pbody{
    display:flex;
    flex-direction:column;
}

.product .more{
    display:block !important;

    width:170px;
    height:46px;

    margin:20px auto 0;

    background:#7b4ce2;

    color:#fff !important;

    border:none;
    border-radius:30px;

    font-size:15px;
    font-weight:600;
    font-family:inherit;

    text-align:center;
    line-height:46px;

    padding:0;

    cursor:pointer;

    appearance:none;
    -webkit-appearance:none;
}
.product .more:hover{
    background:#6435e8;
}
/*==================================================
                HERO VIDEO SLIDER
==================================================*/

.hero{

    position:relative;

    overflow:hidden;

    min-height:100vh;

    display:flex;

    align-items:center;

}

.hero-slider{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    z-index:0;

}

.hero-slide{

    position:absolute;

    inset:0;

    opacity:0;

    transition:opacity .8s ease-in-out;

}

.hero-slide.active{

    opacity:1;

    z-index:1;

}

.hero-slide img,
.hero-slide video{

    width:100%;

    height:100%;

    object-fit:cover;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

    z-index:2;

}

.hero .wrap{

    position:relative;

    z-index:3;

}

.hero-prev,
.hero-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.20);

    color:#fff;

    font-size:30px;

    cursor:pointer;

    transition:.3s;

    z-index:5;

}

.hero-prev{

    left:25px;

}

.hero-next{

    right:25px;

}

.hero-prev:hover,
.hero-next:hover{

    background:#6b4fb0;

}

.hero-content{

    color:#fff;

}

.hero-content h1,
.hero-content p{

    color:#fff;

}
.addrs{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:15px;

    margin-top:20px;

}

.addr{

    padding:18px;

    border:1px solid #e5dff5;

    border-radius:18px;

    background:#faf8ff;

    height:100%;
}
.error-message{

    color:red;

    font-size:13px;

    display:block;

    margin-top:5px;

    min-height:18px;

}

.input-error{

    border:1px solid red !important;

}