/* ============================================================
   ORVYN360.COM — shared design system
   Blue Leaf Technologies Pty Ltd
   Type: Plus Jakarta Sans · Art-directed light/ink/tinted blocks
   Colour system drawn from the official Orvyn360 petal mark.
   ============================================================ */

@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/plus-jakarta-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/plus-jakarta-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/plus-jakarta-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/plus-jakarta-sans-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/plus-jakarta-sans-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  /* base (light) */
  --bg:#F7FAF8; --bg2:#EFF5F1; --panel:#FFFFFF; --panel2:#F8FBF9;
  --line:rgba(14,46,38,.13); --line2:rgba(14,46,38,.26); --control-border:#718780;
  --ink:#132420; --mut:#405851; --dim:#506A63;
  --card:rgba(14,46,38,.032); --soft:rgba(14,46,38,.05); --track:rgba(14,46,38,.12);
  /* petals */
  --green:#2F741C; --green-deep:#28651B; --teal:#076C7E; --teal-deep:#08697A;
  --orange:#A94F00; --blue:#176596; --navy:#1E4E79; --red:#B72E28;
  --w360:#0A4069; --wordink:#333C46;
  --grad:linear-gradient(120deg,#2F741C 0%,#076C7E 100%); --btn-ink:#FFFFFF;
  --glowA:rgba(10,126,145,.2); --glowB:rgba(10,126,145,.1);
  --mesh1:rgba(10,143,163,.17); --mesh2:rgba(29,112,165,.14); --mesh3:rgba(95,156,51,.15);
  --gridline:rgba(14,46,38,.05);
  --navbg:rgba(255,255,255,.72);
  --winshadow:0 34px 80px rgba(14,46,58,.24);
  --radius:18px;
  --disp:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --glassA:rgba(255,255,255,.5); --glassB:rgba(255,255,255,.85);
}

/* ---------- block schemes: dark + tinted info blocks ---------- */
.blk-ink{
  color-scheme:dark;
  --bg:#050D1C; --bg2:#071226; --panel:#0B1830; --panel2:#0F1F3A;
  --line:rgba(148,190,235,.15); --line2:rgba(148,190,235,.3); --control-border:rgba(176,210,235,.48);
  --ink:#EAF2FB; --mut:#9FB4CC; --dim:#7B90AC;
  --card:rgba(255,255,255,.035); --soft:rgba(255,255,255,.06); --track:rgba(255,255,255,.11);
  --green:#8BD450; --green-deep:#5F9C33; --teal:#3AC3D4; --teal-deep:#0A7E91;
  --orange:#F5A054; --blue:#4BA3DB; --navy:#7FB3E0; --red:#FF7A70;
  --w360:#7FB3E0; --wordink:#F2F6FA;
  --grad:linear-gradient(120deg,#8BD450 0%,#3AC3D4 100%); --btn-ink:#052018;
  --glowA:rgba(58,195,212,.3); --glowB:rgba(58,195,212,.15);
  --mesh1:rgba(10,126,145,.42); --mesh2:rgba(29,112,165,.36); --mesh3:rgba(95,156,51,.28);
  --gridline:rgba(176,214,199,.05);
  --winshadow:0 40px 90px rgba(0,0,0,.55);
  --glassA:rgba(255,255,255,.06); --glassB:rgba(255,255,255,.14);
  background:
    radial-gradient(900px 480px at 88% -10%, rgba(58,195,212,.12), transparent 60%),
    radial-gradient(760px 520px at -8% 108%, rgba(75,163,219,.1), transparent 60%),
    var(--bg);
  color:var(--ink);
}
.blk-mist{
  --bg:#EDF5F0; --bg2:#E4EFE9; --panel:#FFFFFF; --panel2:#F6FAF7;
  background:
    radial-gradient(820px 420px at 92% 0%, rgba(29,112,165,.06), transparent 60%),
    radial-gradient(700px 420px at 2% 100%, rgba(62,138,34,.06), transparent 60%),
    var(--bg);
}
.blk-tint{
  background:
    linear-gradient(115deg, rgba(62,138,34,.09), rgba(8,118,138,.08) 38%, rgba(29,112,165,.07) 66%, rgba(195,97,9,.07)),
    var(--bg);
}
body[data-accent="suite"]{--acc:var(--teal)}
body[data-accent="esg"]{--acc:var(--green);--grad:linear-gradient(120deg,var(--green) 0%,var(--teal) 100%)}
body[data-accent="cdp"]{--acc:var(--blue);--grad:linear-gradient(120deg,var(--blue) 0%,var(--teal) 100%)}
body[data-accent="lca"]{--acc:var(--orange);--grad:linear-gradient(120deg,var(--orange) 0%,var(--green) 100%)}
body[data-accent="dpp"]{--acc:var(--navy);--grad:linear-gradient(120deg,var(--navy) 0%,var(--teal) 100%)}
body[data-accent="ceq"]{--acc:var(--teal);--grad:linear-gradient(120deg,var(--green) 0%,var(--teal) 100%)}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;position:relative}
/* aurora base + grain */
body::before{content:"";position:fixed;inset:-20%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(46% 34% at 12% 10%, rgba(109,170,48,.13), transparent 70%),
    radial-gradient(40% 32% at 88% 6%, rgba(8,118,138,.12), transparent 70%),
    radial-gradient(44% 36% at 78% 88%, rgba(29,112,165,.1), transparent 70%),
    radial-gradient(36% 30% at 8% 86%, rgba(239,134,40,.08), transparent 70%);
  animation:aurora 46s ease-in-out infinite alternate}
@keyframes aurora{0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}100%{transform:translate3d(2.5%,-2%,0) rotate(4deg) scale(1.06)}}
body::after{content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.16;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:rgba(58,195,212,.3)}
a{color:inherit;text-decoration:none}
button{font-family:var(--body);color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
section{position:relative}
:focus-visible{outline:2.5px solid var(--teal);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--panel);color:var(--ink);padding:12px 20px;border-radius:0 0 12px 0;border:1px solid var(--line2);font-weight:600}
.skip:focus{left:0}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* page transitions */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .22s ease both}
::view-transition-new(root){animation:vtIn .32s ease both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(8px)}}
main{animation:pageIn .5s ease both}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}}

/* ============================================================
   NAV — floating glass island
   ============================================================ */
.nav{position:fixed;top:14px;left:16px;right:16px;z-index:100;display:flex;justify-content:center;pointer-events:none}
.navin{pointer-events:auto;position:relative;z-index:2;display:flex;align-items:center;gap:2px;width:min(1128px,100%);height:66px;
  padding:0 10px 0 20px;border-radius:999px;border:1px solid rgba(14,46,38,.1);
  background:var(--navbg);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);
  box-shadow:0 10px 40px rgba(14,46,58,.1);transition:height .3s ease,box-shadow .3s ease,background .3s ease}
.navin::before{content:"";position:absolute;inset:-1.5px;border-radius:999px;padding:1.5px;
  background:conic-gradient(from 140deg,#3E8A22,#08768A,#1D70A5,#C36109,#3E8A22);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  opacity:0;transition:opacity .45s ease;pointer-events:none}
.navin:hover::before{opacity:.85}
.nav.scrolled .navin{height:58px;background:rgba(255,255,255,.86);box-shadow:0 14px 44px rgba(14,46,58,.16)}
.logo{display:flex;align-items:center;gap:11px}
.logo img{width:38px;height:38px;transition:transform .8s cubic-bezier(.34,1.56,.64,1)}
.logo:hover img{transform:rotate(72deg)}
.lgword{display:flex;flex-direction:column;align-items:flex-end;line-height:1;font-family:var(--disp)}
.lgword .l1{font-weight:800;font-size:21px;letter-spacing:-.2px;color:var(--wordink);transition:letter-spacing .3s}
.lgword .l2{font-weight:800;font-size:11px;letter-spacing:1.8px;color:var(--w360);margin-top:2px;transition:letter-spacing .3s}
.logo:hover .l2{letter-spacing:2.6px}
.nlinks{display:flex;gap:2px;margin-left:auto;font-size:14.5px;font-weight:600;align-items:center}
.nojs-only{display:none!important}
html:not(.js) .nojs-only{display:inline-flex!important}
html:not(.js) .nlinks .nitem{display:none}
.nlinks>a,.nlinks .nitem>button{position:relative;display:inline-flex;align-items:center;gap:6px;transition:color .2s;
  padding:10px 14px;border-radius:999px;background:transparent;border:0;font-size:14.5px;font-weight:600;color:var(--mut);cursor:pointer}
.nlinks>a::after,.nlinks .nitem>button::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2.5px;border-radius:3px;
  background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.nlinks>a:hover,.nlinks .nitem>button:hover{color:var(--ink)}
.nlinks>a:hover::after,.nlinks .nitem>button:hover::after{transform:scaleX(1)}
.nlinks>a[aria-current="page"]{color:var(--ink)}
.nlinks>a[aria-current="page"]::after{transform:scaleX(1)}
.nitem{position:relative}
.nitem::after{content:"";position:absolute;left:-34px;right:-34px;top:100%;height:26px}
.nitem>button svg{transition:transform .3s}
.nitem.is-open>button svg{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%,10px);width:min(660px,calc(100vw - 40px));
  background:var(--panel);border:1px solid var(--line2);border-radius:24px;box-shadow:0 30px 80px rgba(14,46,58,.22);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .24s ease .28s,transform .24s cubic-bezier(.2,.7,.2,1) .28s,visibility .24s .28s;
  padding:14px;z-index:110;overflow:hidden}
.mega::after{content:"";position:absolute;inset:auto -30% -60% -30%;height:150px;
  background:linear-gradient(90deg,rgba(62,138,34,.12),rgba(8,118,138,.12),rgba(29,112,165,.1),rgba(195,97,9,.1));filter:blur(30px)}
.nitem.is-open .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}
.mega::before{content:"";position:absolute;top:-17px;left:0;right:0;height:18px}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;position:relative;z-index:1}
.mprod{display:flex;gap:12px;padding:13px 14px;border-radius:15px;transition:background .2s,border-color .2s,box-shadow .2s;border:1px solid transparent;
  opacity:0;translate:0 8px}
.nitem.is-open .mprod{opacity:1;translate:0 0;transition:opacity .3s ease,translate .3s ease,background .2s,border-color .2s,box-shadow .2s}
.nitem.is-open .mprod:nth-child(1){transition-delay:.02s}.nitem.is-open .mprod:nth-child(2){transition-delay:.06s}
.nitem.is-open .mprod:nth-child(3){transition-delay:.1s}.nitem.is-open .mprod:nth-child(4){transition-delay:.14s}
.nitem.is-open .mprod:nth-child(5){transition-delay:.18s}.nitem.is-open .mprod:nth-child(6){transition-delay:.22s}
.mprod:hover{background:color-mix(in srgb,var(--c) 7%,transparent);border-color:color-mix(in srgb,var(--c) 28%,transparent)}
.mprod i{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);transition:transform .3s}
.mprod:hover i{transform:rotate(-8deg) scale(1.08)}
.mprod i span{width:10px;height:10px;border-radius:50%;background:var(--c)}
.mprod b{font-family:var(--disp);font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:7px;color:var(--ink)}
.mprod small{display:block;color:var(--mut);font-size:12px;line-height:1.45;margin-top:2px}
.mega-foot{display:flex;gap:8px;border-top:1px solid var(--line);margin-top:10px;padding-top:10px;position:relative;z-index:1}
.mega-foot a{flex:1;text-align:center;font-size:12.5px;font-weight:700;color:var(--mut);padding:10px;border-radius:12px;transition:.2s}
.mega-foot a:hover{color:var(--ink);background:var(--soft)}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;
  border-radius:999px;padding:13px 26px;cursor:pointer;transition:box-shadow .25s,border-color .25s,background .25s,color .25s,filter .25s;border:1px solid transparent}
.btn.small{padding:10px 20px;font-size:14px}
.btn.primary{background:var(--grad);color:var(--btn-ink);box-shadow:0 6px 26px var(--glowA)}
.btn.primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 68%);
  transform:translateX(-130%);transition:transform .1s}
.btn.primary:hover{box-shadow:0 10px 34px var(--glowA)}
.btn.primary:hover::after{transform:translateX(130%);transition:transform .75s ease}
.btn.primary svg{transition:opacity .3s}
.btn.primary:hover svg{opacity:.88}
.btn.ghost{border-color:var(--control-border);color:var(--ink);background:var(--card)}
.btn.ghost:hover{border-color:var(--teal);background:var(--soft)}
.menu-btn{display:none;position:relative;margin-left:auto;background:var(--card);border:1px solid var(--line2);border-radius:999px;color:var(--ink);width:44px;height:44px;cursor:pointer;place-items:center}
.menu-btn span{display:block;position:absolute;left:50%;top:50%;width:19px;height:2px;background:currentColor;border-radius:99px;pointer-events:none;transform-origin:center;transition:transform .24s cubic-bezier(.2,.75,.25,1),opacity .16s linear}
.menu-btn span:nth-child(1){transform:translate(-50%,calc(-50% - 6px))}
.menu-btn span:nth-child(2){transform:translate(-50%,-50%)}
.menu-btn span:nth-child(3){transform:translate(-50%,calc(-50% + 6px))}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;transform:translate(-50%,-50%) scaleX(.25)}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg)}
.msheet{display:none}

/* ============================================================
   HERO scaffold
   ============================================================ */
.hero{padding:176px 0 96px;position:relative;overflow:hidden}
.mesh{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.mesh i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.6;animation:blob 26s ease-in-out infinite alternate}
.mesh .m1{width:580px;height:580px;background:radial-gradient(circle,var(--mesh1),transparent 65%);top:-190px;left:-130px}
.mesh .m2{width:540px;height:540px;background:radial-gradient(circle,var(--mesh2),transparent 65%);top:-70px;right:-150px;animation-delay:4s}
.mesh .m3{width:430px;height:430px;background:radial-gradient(circle,var(--mesh3),transparent 60%);bottom:-160px;left:33%;animation-delay:8s}
@keyframes blob{0%{transform:translate(0,0) scale(1)}100%{transform:translate(3%,4%) scale(1.12)}}
.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 75%);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;position:relative}
.hero.center .wrap{grid-template-columns:1fr;text-align:center;justify-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.3px;color:var(--teal);background:rgba(8,118,138,.07);border:1px solid rgba(8,118,138,.3);border-radius:999px;padding:8px 16px;margin-bottom:22px;transition:transform .25s,box-shadow .25s}
.eyebrow:hover{transform:translateY(-1px)}
.blk-ink .eyebrow{background:rgba(58,195,212,.09);border-color:rgba(58,195,212,.32)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px var(--teal);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
h1{font-family:var(--disp);font-size:clamp(37px,4.5vw,57px);line-height:1.07;letter-spacing:-1.6px;font-weight:800}
.grtext{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--mut);font-size:17.5px;max-width:560px;margin:22px 0 32px}
.sub b{color:var(--ink);font-weight:700}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-meta{display:flex;gap:26px;margin-top:40px;flex-wrap:wrap}
.hm{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--mut);max-width:195px;line-height:1.45;transition:transform .25s}
.hm:hover{transform:translateY(-2px)}
.hm svg{flex:none;margin-top:2px}

/* ---------- animated petal mark ---------- */
.mk-anim{position:absolute;top:-26px;right:10%;width:190px;height:190px;z-index:9;filter:drop-shadow(0 18px 34px rgba(14,46,58,.28))}
.mkv{width:100%;height:100%;overflow:visible}
.mk-core{transform-box:view-box;transform-origin:50% 50%;animation:markSway 14s ease-in-out infinite 4s}
@keyframes markSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.mkv .pt{transform-box:view-box;transform-origin:50% 50%;opacity:0;
  animation:petalIn 1.15s cubic-bezier(.17,.72,.22,1.01) forwards, petalBreathe 8s ease-in-out infinite;
  animation-delay:calc(.25s + var(--pd)), 4s}
@keyframes petalIn{0%{opacity:0;transform:rotate(-170deg) scale(.42);filter:blur(12px)}30%{opacity:1}78%{filter:blur(0)}100%{opacity:1;transform:rotate(0) scale(1);filter:blur(0)}}
@keyframes petalBreathe{0%,100%{transform:rotate(0) scale(1)}10%{transform:rotate(-16deg) scale(.9)}22%{transform:rotate(0) scale(1)}}
.mk-anim:hover .pt{animation-play-state:paused;transform:rotate(-26deg) scale(.86);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mk-anim:not(:hover) .pt{transition:transform .7s cubic-bezier(.34,1.56,.64,1)}
.mkv .mk-360{font-family:var(--disp);font-weight:700;fill:var(--w360);opacity:0;transform-box:view-box;transform-origin:50% 50%;
  animation:threeIn .8s cubic-bezier(.2,.9,.3,1.18) forwards 1.6s}
@keyframes threeIn{0%{opacity:0;transform:scale(.55)}100%{opacity:1;transform:scale(1)}}

/* ---------- floating glass icons ---------- */
.floaties{position:absolute;inset:0;pointer-events:none;z-index:0}
.floatie{position:absolute;width:54px;height:54px;border-radius:17px;display:grid;place-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--fc) 20%,transparent),var(--glassA));
  border:1px solid var(--glassB);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 14px 30px rgba(8,25,55,.15), inset 0 1px 0 rgba(255,255,255,.55);
  animation:floatie var(--fdur,16s) ease-in-out infinite;animation-delay:var(--fd,0s)}
.floatie svg{width:22px;height:22px;stroke:var(--fc);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@keyframes floatie{0%,100%{transform:translate(0,0) rotate(-5deg)}50%{transform:translate(var(--fx,12px),var(--fy,-24px)) rotate(6deg)}}
@media(max-width:1020px){.floatie{display:none}}

/* ---------- glass petal stack ---------- */
.stack{position:relative;height:520px;perspective:1500px}
.pane{position:absolute;width:300px;height:190px;border-radius:26px;border:1.5px solid var(--glassB);
  background:linear-gradient(135deg,color-mix(in srgb,var(--pc) 55%,transparent),color-mix(in srgb,var(--pc2) 26%,transparent) 55%,var(--glassA));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 26px 55px rgba(14,46,58,.2), inset 0 1px 0 rgba(255,255,255,.65);
  transform:rotate3d(1,-1,.14,58deg) rotate(14deg);
  animation:paneFloat 9s ease-in-out infinite;animation-delay:var(--pd,0s);
  display:flex;align-items:flex-end;padding:16px;transition:border-color .3s,box-shadow .3s}
.blk-ink .pane,.hero-ink .pane{box-shadow:0 30px 60px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.3)}
.pane b{font-family:var(--disp);font-size:12.5px;font-weight:700;letter-spacing:.5px;color:#0E2A22;opacity:.9}
.pane:hover{border-color:#fff;box-shadow:0 34px 70px rgba(14,46,58,.3), inset 0 1px 0 rgba(255,255,255,.8)}
@keyframes paneFloat{0%,100%{margin-top:0}50%{margin-top:-11px}}

/* ============================================================
   HOME product tiles
   ============================================================ */
.ptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ptile{position:relative;display:block;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px;overflow:hidden;
  transition:border-color .3s,box-shadow .3s,background-color .3s;transform:none}
.ptile::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 25%,transparent))}
.ptile::after{content:"";position:absolute;inset:auto -40% -55% auto;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--c) 24%,transparent),transparent 70%);opacity:0;transition:.4s}
.ptile:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--line));box-shadow:0 24px 50px color-mix(in srgb,var(--c) 16%,transparent)}
.ptile:hover::after{opacity:1}
.ptile .ph{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ptile .pi{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);transition:transform .35s}
.ptile:hover .pi{transform:rotate(-8deg) scale(1.08)}
.ptile .pi svg{width:21px;height:21px;stroke:var(--c);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ptile .parrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;color:var(--dim);transition:.35s}
.ptile:hover .parrow{background:var(--c);border-color:var(--c);color:var(--btn-ink);transform:rotate(-45deg)}
.ptile h3{font-family:var(--disp);font-size:20px;letter-spacing:-.4px;font-weight:800;margin:18px 0 4px;display:flex;align-items:baseline;gap:8px}
.ptile h3 .n360{color:var(--c);font-weight:800}
.ptile .tag{font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--c)}
.ptile p{color:var(--mut);font-size:14px;margin-top:10px;line-height:1.6;position:relative;z-index:1}
.ptile .purl{margin-top:16px;display:inline-block;font-size:11.5px;font-weight:600;color:var(--dim);border:1px solid var(--line);border-radius:9px;padding:4px 11px;background:var(--card);transition:border-color .25s,color .25s}
.ptile:hover .purl{border-color:color-mix(in srgb,var(--c) 40%,var(--line))}
.ptile .purl b{color:var(--c);font-weight:700}

/* ============================================================
   marquee / sections / cards
   ============================================================ */
.marquee{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;background:var(--bg2);overflow:hidden}
.mq-label{text-align:center;font-size:11.5px;color:var(--dim);letter-spacing:1.8px;text-transform:uppercase;font-weight:700;margin-bottom:16px}
.mq{display:flex;width:max-content;animation:mq 32s linear infinite}
.mq:hover,.mq:focus-within{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-track{display:flex;gap:56px;padding-right:56px;align-items:center}
.mq-item{font-family:var(--disp);font-weight:700;font-size:16.5px;color:var(--mut);white-space:nowrap;display:flex;align-items:center;gap:10px;transition:color .25s}
.mq-item:hover{color:var(--ink)}
.mq-item i{width:6px;height:6px;border-radius:50%;background:var(--teal-deep);flex:none}

.sec{padding:104px 0}
.sec.alt{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.shead{max-width:760px;margin-bottom:56px}
.shead.center{margin-inline:auto;text-align:center}
.kick{font-size:12px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;color:var(--teal);margin-bottom:14px;display:block}
h2{font-family:var(--disp);font-size:clamp(28px,3.3vw,42px);line-height:1.13;letter-spacing:-1.1px;font-weight:800}
.shead p{color:var(--mut);font-size:16.5px;margin-top:16px}

.probs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prob{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .3s,border-color .3s,box-shadow .3s}
.prob:hover{transform:translateY(-5px);border-color:var(--line2);box-shadow:0 18px 40px rgba(14,46,58,.1)}
.blk-ink .prob:hover{box-shadow:0 18px 40px rgba(0,0,0,.35)}
.prob .num{font-family:var(--disp);font-size:12.5px;font-weight:700;color:var(--dim);letter-spacing:1px}
.prob h3{font-family:var(--disp);font-size:19px;margin:12px 0 10px;letter-spacing:-.4px;font-weight:800}
.prob p{color:var(--mut);font-size:14.5px}
.prob .num b{color:var(--orange)}

.pipe{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:step}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px;position:relative;transition:transform .3s,border-color .3s}
.step:hover{transform:translateY(-5px);border-color:rgba(139,212,80,.45)}
.step::before{counter-increment:step;content:"0" counter(step);font-family:var(--disp);font-size:12px;font-weight:800;color:var(--green);letter-spacing:1px}
.step h3{font-family:var(--disp);font-size:16.5px;margin:10px 0 8px;letter-spacing:-.3px;font-weight:800}
.step p{color:var(--mut);font-size:13px;line-height:1.55}
.step .icon{position:absolute;top:20px;right:18px;opacity:.9;transition:transform .3s}
.step:hover .icon{transform:rotate(-8deg) scale(1.12)}

.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.b{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.b:hover{border-color:var(--line2);transform:translateY(-4px);box-shadow:0 18px 44px rgba(14,46,58,.09)}
.blk-ink .b:hover{box-shadow:0 18px 44px rgba(0,0,0,.35)}
.b h3{font-family:var(--disp);font-size:18px;letter-spacing:-.4px;margin-bottom:9px;font-weight:800}
.b p{color:var(--mut);font-size:14px}
.b .tag{position:absolute;top:24px;right:24px;font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--orange);text-transform:uppercase}
.b .tag.live{color:var(--green)}
.b .tag.live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px;animation:pulse 2s infinite;vertical-align:1px}
.b.w3{grid-column:span 3}.b.w2{grid-column:span 2}.b.w4{grid-column:span 4}.b.w6{grid-column:span 6}
.b .viz{margin-top:18px}

.fieldrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.field label{display:block;font-size:10.5px;color:var(--dim);letter-spacing:.7px;text-transform:uppercase;font-weight:800;margin-bottom:6px}
.field .inwrap{display:flex;align-items:center;border:1px solid var(--control-border);border-radius:11px;background:var(--card);overflow:hidden;transition:border-color .25s,box-shadow .25s}
.field input,.field select{width:100%;border:0;background:transparent;color:var(--ink);font-family:var(--disp);font-weight:700;font-size:15px;padding:10px 4px 10px 12px;outline:none;-moz-appearance:textfield}
.field select{appearance:auto;-webkit-appearance:menulist;cursor:pointer;padding-right:8px}
.field input::-webkit-outer-spin-button,.field input::-webkit-inner-spin-button{-webkit-appearance:none}
.field .inwrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(58,195,212,.14)}
.field .unit{font-size:11px;color:var(--dim);padding-right:11px;font-weight:700}
input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--green) var(--fill,60%),var(--track) var(--fill,60%));outline-offset:6px;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--green-deep);box-shadow:0 2px 10px rgba(0,0,0,.35);cursor:grab;transition:transform .2s}
input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--green-deep);cursor:grab}

.mbout{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border:1px solid var(--line);border-radius:13px;padding:14px 16px;background:var(--card)}
.mbout .res{font-family:var(--disp);font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}
.verdict{font-size:11px;font-weight:800;letter-spacing:.8px;padding:6px 13px;border-radius:99px}
.v-ok{color:var(--green);background:rgba(139,212,80,.12);border:1px solid rgba(139,212,80,.4)}
.v-warn{color:var(--orange);background:rgba(240,139,44,.12);border:1px solid rgba(240,139,44,.4)}
.v-bad{color:var(--red);background:rgba(229,72,77,.12);border:1px solid rgba(229,72,77,.42)}
.mbnote{font-size:12px;color:var(--dim);margin-top:10px;min-height:34px}

.ladder{display:flex;gap:6px}
.ladder button{flex:1;height:38px;border-radius:10px;background:var(--soft);border:1px solid var(--control-border);display:grid;place-items:center;font-family:var(--disp);font-size:13px;font-weight:700;color:var(--dim);cursor:pointer;transition:.2s}
.ladder button:hover{border-color:var(--teal)}
.ladder button[aria-pressed="true"]{background:rgba(139,212,80,.14);border-color:var(--green);color:var(--green)}
.ladcap{font-size:12.5px;color:var(--mut);margin-top:12px;min-height:58px}
.ladcap b{color:var(--ink);font-family:var(--disp)}
.custody{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.custody button{border:1px solid var(--control-border);background:var(--soft);color:var(--mut);padding:8px 13px;border-radius:99px;font-size:11.5px;font-weight:700;cursor:pointer;transition:.2s;white-space:nowrap}
.custody button:hover{border-color:var(--teal)}
.custody button[aria-pressed="true"]{border-color:rgba(58,195,212,.6);color:var(--teal);background:rgba(58,195,212,.1)}
.custody .arr{color:var(--dim);flex:none}
.strength{display:flex;gap:5px;margin-top:14px}
.strength i{flex:1;height:7px;border-radius:99px;background:var(--track);transition:background .3s}
.strength i.on{background:var(--grad)}
.attr{display:flex;gap:8px}
.attr button{flex:1;border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:10px 8px;cursor:pointer;transition:.2s;text-align:center}
.attr button:hover{border-color:var(--teal)}
.attr button[aria-pressed="true"]{border-color:var(--green);background:rgba(139,212,80,.1)}
.attr .l{display:block;font-family:var(--disp);font-weight:800;font-size:15px}
.attr .s{display:block;font-size:10px;color:var(--dim);letter-spacing:.4px;text-transform:uppercase;font-weight:800;margin-top:2px}
.attrout{margin-top:14px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.attrout b{font-family:var(--disp);font-size:22px;font-variant-numeric:tabular-nums;font-weight:800}
.attrout span{font-size:11.5px;color:var(--dim);text-align:right}
.flowchips{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.flowchips span{border:1px solid var(--line2);border-radius:99px;padding:8px 14px;font-size:12.5px;color:var(--mut);background:var(--card)}
.flowchips svg{flex:none;color:var(--dim)}

.crmeter{margin-top:16px}
.crmeter .track{height:9px;border-radius:99px;background:linear-gradient(90deg,var(--green) 0 62%,var(--orange) 62% 82%,#E5484D 82%);position:relative}
.crmeter .needle{position:absolute;top:-5px;width:3px;height:19px;background:var(--ink);border-radius:2px;box-shadow:0 0 8px rgba(0,0,0,.4);transition:left .25s}
.crmeter .lbl{display:flex;justify-content:space-between;font-size:10.5px;color:var(--dim);margin-top:8px;font-family:var(--disp);font-weight:600}
.pairrow{margin-top:12px}
.pairrow .lbls{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;font-family:var(--disp);margin-bottom:7px}
.pairrow .phrase{font-size:11px;color:var(--dim);margin-top:6px;text-align:center}
.crverdict{margin-top:12px;font-size:12.5px;border-radius:11px;padding:10px 13px;border:1px solid var(--line);background:var(--card);min-height:42px}
.crverdict b{font-weight:800}

.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust .t{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:transform .3s,border-color .3s;display:block}
.trust .t:hover{transform:translateY(-4px);border-color:rgba(58,195,212,.4)}
.trust .t h3{font-family:var(--disp);font-size:16.5px;margin:14px 0 8px;font-weight:800;letter-spacing:-.3px}
.trust .t p{color:var(--mut);font-size:13.5px}
.iconbox{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(58,195,212,.1);border:1px solid rgba(58,195,212,.28);transition:transform .3s}
.trust .t:hover .iconbox{transform:rotate(-8deg) scale(1.1)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:60px}
.stat{text-align:center;padding:30px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);transition:transform .3s,border-color .3s}
.stat:hover{transform:translateY(-4px);border-color:var(--line2)}
.stat b{font-family:var(--disp);font-size:38px;letter-spacing:-1.4px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.stat span{display:block;color:var(--mut);font-size:13px;margin-top:6px}
.inds{display:flex;gap:14px;flex-wrap:wrap}
.ind{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:16px 22px;font-family:var(--disp);font-weight:700;font-size:15px;display:flex;align-items:center;gap:12px;transition:.25s}
.ind:hover{border-color:rgba(139,212,80,.5);transform:translateY(-3px)}
.ind i{width:8px;height:8px;border-radius:50%;background:var(--grad);flex:none}
.ind small{display:block;font-weight:500;color:var(--dim);font-size:12px}
.deploy{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dep{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:transform .3s,box-shadow .3s}
.dep:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(14,46,58,.1)}
.blk-ink .dep:hover{box-shadow:0 18px 44px rgba(0,0,0,.35)}
.dep.hot{border-color:rgba(139,212,80,.5);background:linear-gradient(180deg,rgba(139,212,80,.07),var(--panel))}
.dep h3{font-family:var(--disp);font-size:19px;margin-bottom:10px;font-weight:800;letter-spacing:-.3px}
.dep .plabel{font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:10px}
.dep p{color:var(--mut);font-size:14px;margin-bottom:16px}
.dep ul{list-style:none}
.dep li{font-size:13.5px;color:var(--mut);padding:7px 0 7px 26px;position:relative;border-top:1px solid var(--line)}
.dep li::before{content:"";position:absolute;left:2px;top:13px;width:14px;height:14px;background:var(--green);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3"><path d="M20 6L9 17l-5-5"/></svg>') no-repeat center/contain;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3"><path d="M20 6L9 17l-5-5"/></svg>') no-repeat center/contain}
.dep .dcta{display:inline-block;margin-top:18px;font-weight:700;font-size:14px;color:var(--teal)}

/* product window mockup (fixed dark) */
.shot{position:relative;perspective:1400px}
.glow{position:absolute;inset:-8%;background:radial-gradient(closest-side,var(--glowB),transparent 70%);filter:blur(28px);pointer-events:none}
.window{position:relative;border-radius:20px;transform:rotateY(-7deg) rotateX(3deg);transition:transform .6s ease;
  background:linear-gradient(180deg,#0B1626,#070F1C);border:1px solid rgba(148,190,235,.2);box-shadow:var(--winshadow);
  --ink:#EAF2FB;--mut:#9FB4CC;--dim:#7B90AC;--line:rgba(148,190,235,.13);--card:rgba(255,255,255,.035);--soft:rgba(255,255,255,.06);--track:rgba(255,255,255,.11);
  --green:#8BD450;--teal:#3AC3D4;--orange:#F5A054;--blue:#4BA3DB;--navy:#7FB3E0;color:var(--ink)}
.shot:hover .window{transform:rotateY(-3deg) rotateX(1.5deg)}
.wbar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line)}
.wbar i{width:11px;height:11px;border-radius:50%}
.wbar i:nth-child(1){background:#FF5F57}.wbar i:nth-child(2){background:#FEBC2E}.wbar i:nth-child(3){background:#28C840}
.wbar span{margin-left:10px;font-size:11.5px;color:var(--dim);font-family:var(--disp);font-weight:600}
.wbody{display:grid;grid-template-columns:52px 1fr;min-height:396px}
.wside{border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0}
.wside i{width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.05);display:block}
.wside i.on{background:rgba(139,212,80,.16);box-shadow:0 0 0 1px rgba(139,212,80,.35) inset}
.wmain{padding:18px 20px}
.wtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.wtop .t{font-family:var(--disp);font-weight:700;font-size:15px}
.wtop .t small{display:block;font-size:10.5px;color:var(--dim);font-weight:500}
.chip{font-size:10px;font-weight:700;letter-spacing:.4px;padding:4px 10px;border-radius:999px;border:1px solid rgba(139,212,80,.4);color:var(--green);background:rgba(139,212,80,.08)}
.wgrid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px}
.scorecard{display:flex;gap:16px;align-items:center}
.ring{position:relative;width:112px;height:112px;flex:none}
.ring svg{transform:rotate(-90deg)}
.ring .val{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .val b{font-family:var(--disp);font-size:26px;letter-spacing:-.5px;font-weight:800}
.ring .val span{font-size:9px;color:var(--green);font-weight:700;letter-spacing:.6px;margin-top:-3px}
.pw{width:100%}
.pw .row{display:grid;grid-template-columns:38px 1fr 34px;gap:8px;align-items:center;font-size:10px;color:var(--mut);margin:7px 0;font-weight:600}
.bar{height:6px;border-radius:99px;background:var(--track);overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:var(--grad)}
.pw .row b{font-family:var(--disp);color:var(--ink);font-size:10.5px;text-align:right}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.tile .k{font-size:10px;color:var(--dim);letter-spacing:.5px;text-transform:uppercase;font-weight:700}
.tile .v{font-family:var(--disp);font-size:19px;font-weight:700;margin-top:3px}
.tile .v em{font-style:normal;font-size:10.5px;font-weight:700;margin-left:6px;padding:2px 7px;border-radius:99px}
.okc{color:var(--green);background:rgba(139,212,80,.1)}
.warnc{color:var(--orange);background:rgba(240,139,44,.12)}
.tealc{color:var(--teal)}
.minichart{display:flex;align-items:flex-end;gap:7px;height:74px;margin-top:10px}
.minichart i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,rgba(139,212,80,.85),rgba(10,126,145,.5));transition:filter .25s}
.minichart:hover i{filter:brightness(1.15)}
.wfoot{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.frx{font-size:9.5px;color:var(--mut);border:1px solid var(--line);border-radius:99px;padding:3px 9px;font-weight:600}
.frx.on{color:var(--teal);border-color:rgba(58,195,212,.4)}
.stagebar{display:flex;gap:2px;height:14px;border-radius:5px;overflow:hidden}
.stagelegend{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px;font-size:9.5px;color:var(--mut);font-weight:600}
.stagelegend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px}

/* score-lab */
.lab{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.presets{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}
.preset{font-size:13px;font-weight:700;border:1px solid var(--line2);background:var(--card);border-radius:999px;padding:9px 17px;cursor:pointer;transition:.2s;color:var(--mut)}
.preset:hover{color:var(--ink);border-color:var(--teal)}
.preset[aria-pressed="true"]{color:var(--btn-ink);background:var(--grad);border-color:transparent}
.param{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:18px 20px;margin-bottom:12px;transition:.25s}
.param:hover{border-color:rgba(58,195,212,.4);transform:translateX(3px)}
.param .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.param .name{font-family:var(--disp);font-weight:800;font-size:15.5px}
.param .name small{color:var(--dim);font-weight:500;font-size:12.5px;margin-left:8px}
.param .wt{font-family:var(--disp);font-size:13px;color:var(--teal);font-weight:700;white-space:nowrap}
.param .hint{font-size:12px;color:var(--dim);margin-top:10px}
.param .sliderrow{display:flex;gap:14px;align-items:center;margin-top:14px}
.param .sv{font-family:var(--disp);font-weight:800;font-size:14px;min-width:30px;text-align:right}
.labout{position:sticky;top:110px;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:36px;text-align:center;min-width:0}
.gauge{position:relative;width:min(240px,100%);aspect-ratio:1;margin:6px auto 4px}
.gauge svg{width:100%;height:auto;transform:rotate(-90deg)}
.gauge .gval{position:absolute;inset:0;display:grid;place-items:center}
.gauge .gval b{font-family:var(--disp);font-size:56px;letter-spacing:-2.5px;font-weight:800;font-variant-numeric:tabular-nums}
.gauge .gval span{display:block;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;margin-top:2px}
.bands{display:flex;gap:5px;margin:22px 0 8px}
.bands i{flex:1;height:7px;border-radius:99px;background:var(--track);transition:.3s}
.bands i.on{background:var(--grad);box-shadow:0 0 12px var(--glowB)}
.bandlabels{display:flex;justify-content:space-between;font-size:9.5px;color:var(--dim);letter-spacing:.4px;text-transform:uppercase;font-weight:700}
.bandnote{color:var(--mut);font-size:13.5px;margin-top:14px;line-height:1.55}
.labnote{margin-top:22px;font-size:12.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:16px;text-align:left}
.labnote b{color:var(--mut)}
.glide{display:grid;grid-template-columns:1fr 130px;gap:16px;align-items:end}
.glide svg{width:100%;height:120px;display:block}
.glideout{text-align:center;border:1px solid var(--line);border-radius:13px;padding:12px 8px;background:var(--card)}
.glideout b{font-family:var(--disp);font-size:26px;font-variant-numeric:tabular-nums;display:block;font-weight:800}
.glideout span{font-size:10px;letter-spacing:.8px;text-transform:uppercase;font-weight:800;color:var(--green)}
.glideout small{display:block;font-size:10.5px;color:var(--dim);margin-top:3px}

/* fabric flow */
.fx-flow{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:stretch;margin-top:8px}
.fx-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:11px;transition:transform .3s,border-color .3s}
.fx-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--c) 40%,var(--line))}
.fx-step{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fx-step .n{font-family:var(--disp);font-size:11px;font-weight:800;letter-spacing:1.8px;color:var(--dim)}
.fx-step .src{font-size:10px;font-weight:800;border-radius:8px;padding:3px 10px;background:color-mix(in srgb,var(--c) 13%,transparent);color:var(--c);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.fx-card h3{font-family:var(--disp);font-size:17.5px;letter-spacing:-.4px;font-weight:800}
.fx-card>p{color:var(--mut);font-size:13px;line-height:1.6;flex:1}
.fx-ui{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:13px 14px;font-size:11.5px}
.fx-ui .k{font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--dim)}
.fx-ui .v{font-family:var(--disp);font-size:14.5px;font-weight:700;margin-top:4px}
.fx-ui .meta{margin-top:6px;font-size:10.5px;color:var(--dim)}
.fx-ui .meta b{color:var(--mut)}
.fx-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.fx-actions span{font-size:10px;font-weight:700;border:1px solid var(--line2);border-radius:8px;padding:4px 10px;color:var(--mut);background:var(--soft);cursor:default}
.fx-actions span.pri{background:var(--grad);border-color:transparent;color:var(--btn-ink);font-weight:800}
.st-chip{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;border-radius:7px;padding:3px 9px;margin-top:9px}
.st-pending{color:var(--orange);background:rgba(240,139,44,.12);border:1px solid rgba(240,139,44,.4)}
.st-cleared{color:var(--green);background:rgba(139,212,80,.12);border:1px solid rgba(139,212,80,.4)}
.fx-flip{position:relative;height:24px;margin-top:9px}
.fx-flip .st-chip{position:absolute;left:0;top:0;margin:0}
.fx-flip .st-pending{animation:flipOut .5s ease forwards;animation-play-state:paused}
.fx-flip .st-cleared{opacity:0;transform:translateY(6px);animation:flipIn .5s ease forwards;animation-play-state:paused}
.rv.on .fx-flip .st-pending{animation-play-state:running;animation-delay:1.7s}
.rv.on .fx-flip .st-cleared{animation-play-state:running;animation-delay:1.85s}
@keyframes flipOut{to{opacity:0;transform:translateY(-6px)}}
@keyframes flipIn{to{opacity:1;transform:none}}
.fx-conn{position:relative;align-self:center;height:2px;width:100%;background:repeating-linear-gradient(90deg,var(--line2) 0 6px,transparent 6px 11px)}
.fx-conn::after{content:"";position:absolute;top:50%;left:0;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--glowA);opacity:0}
.rv.on .fx-conn::after{animation:connDot 3.2s ease-in-out infinite;animation-delay:var(--cd,0s);opacity:1}
@keyframes connDot{0%{left:-4px;opacity:0}12%{opacity:1}46%{left:calc(100% - 4px);opacity:1}58%{opacity:0}100%{left:calc(100% - 4px);opacity:0}}

/* governance table */
.gvwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
table.gv{width:100%;border-collapse:collapse;min-width:720px;font-size:14px}
.gv th,.gv td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.gv thead th{font-family:var(--disp);font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--dim);background:var(--card)}
.gv tbody tr:last-child th,.gv tbody tr:last-child td{border-bottom:none}
.gv tbody tr{transition:background .2s}
.gv tbody tr:hover{background:var(--card)}
.gv .lyr{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;color:var(--ink);white-space:nowrap}
.gv .lyr i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.gv td.mech{color:var(--mut);font-size:13px;line-height:1.6}
.gv td.mech b{color:var(--ink)}
.gv .flow{font-family:var(--disp);font-size:11px;font-weight:600;color:var(--dim);white-space:nowrap}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plan{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:32px;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative}
.plan:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:0 22px 54px rgba(14,46,58,.12)}
.blk-ink .plan:hover{box-shadow:0 22px 54px rgba(0,0,0,.4)}
.plan.hot{border-color:rgba(139,212,80,.55);box-shadow:0 24px 60px var(--glowB)}
.plan .flag{position:absolute;top:-13px;left:26px;font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;background:var(--grad);color:var(--btn-ink);border-radius:99px;padding:5px 14px}
.plan h3{font-family:var(--disp);font-size:21px;letter-spacing:-.4px;font-weight:800}
.plan .pl{font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:8px}
.plan .price{font-family:var(--disp);font-size:30px;font-weight:800;letter-spacing:-1.2px;margin:14px 0 2px}
.plan .price small{font-size:13px;color:var(--dim);font-weight:600;letter-spacing:0}
.plan .psub{color:var(--mut);font-size:13.5px;margin-bottom:18px;min-height:40px}
.plan ul{list-style:none;flex:1}
.plan li{font-size:13.5px;color:var(--mut);padding:8px 0 8px 26px;position:relative;border-top:1px solid var(--line)}
.plan li::before{content:"";position:absolute;left:2px;top:14px;width:14px;height:14px;background:var(--green);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3"><path d="M20 6L9 17l-5-5"/></svg>') no-repeat center/contain;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3"><path d="M20 6L9 17l-5-5"/></svg>') no-repeat center/contain}
.plan li b{color:var(--ink)}
.plan .btn{margin-top:22px;width:100%}
.plan.ink{color-scheme:dark;
  --bg:#050D1C;--panel:#0B1830;--line:rgba(148,190,235,.15);--line2:rgba(148,190,235,.26);
  --ink:#EAF2FB;--mut:#9FB4CC;--dim:#7B90AC;--card:rgba(255,255,255,.045);--soft:rgba(255,255,255,.07);--track:rgba(255,255,255,.11);
  --green:#8BD450;--teal:#3AC3D4;--orange:#F5A054;--grad:linear-gradient(120deg,#8BD450 0%,#3AC3D4 100%);--btn-ink:#052018;
  background:
    radial-gradient(140% 120% at 100% 0%, rgba(58,195,212,.16), transparent 55%),
    radial-gradient(120% 120% at 0% 100%, rgba(75,163,219,.14), transparent 55%),
    #081428;
  border-color:rgba(148,190,235,.22);color:var(--ink)}
.freegrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:56px}
.cmpwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
table.cmp{width:100%;border-collapse:collapse;min-width:860px;font-size:13.5px}
.cmp th,.cmp td{padding:13px 18px;border-bottom:1px solid var(--line);text-align:center}
.cmp th:first-child,.cmp td:first-child{text-align:left}
.cmp thead th{font-family:var(--disp);font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--dim);background:var(--card);font-weight:800}
.cmp td:first-child{color:var(--mut);font-weight:600}
.cmp tbody tr:hover{background:var(--card)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:none}
.cmp .y{color:var(--green);font-weight:800}
.cmp .n{color:var(--dim)}
.cmp .lim{color:var(--mut);font-size:12px}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.qa{border:1px solid var(--line);border-radius:16px;background:var(--panel);margin-bottom:10px;overflow:hidden;transition:border-color .25s}
.qa:hover{border-color:var(--line2)}
.qa summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:18px 20px;font-family:var(--disp);font-weight:700;font-size:15.5px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";margin-left:auto;flex:none;width:28px;height:28px;border:1px solid var(--line2);border-radius:9px;display:grid;place-items:center;color:var(--dim);transition:.3s;font-weight:600}
.qa[open] summary::after{transform:rotate(45deg);background:var(--grad);color:var(--btn-ink);border-color:transparent}
.qa .a{padding:0 20px 18px;color:var(--mut);font-size:14px;line-height:1.7;max-width:700px}
.qa .a b{color:var(--ink)}

/* team / about */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tm{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:30px;transition:transform .3s,border-color .3s,box-shadow .3s}
.tm:hover{transform:translateY(-5px);border-color:var(--line2);box-shadow:0 20px 48px rgba(0,0,0,.18)}
.tm .av{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:20px;color:#fff;background:var(--avg,var(--grad));margin-bottom:18px;letter-spacing:.5px;transition:transform .35s}
.tm:hover .av{transform:scale(1.07) rotate(-4deg)}
.tm h3{font-family:var(--disp);font-size:19px;letter-spacing:-.4px;font-weight:800}
.tm .role{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin:6px 0 12px}
.tm p{color:var(--mut);font-size:13.5px;line-height:1.65}
.tm .lnk{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:13px;font-weight:700;color:var(--mut);transition:.2s}
.tm .lnk:hover{color:var(--teal)}
.orgrow{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr;align-items:stretch}
.orgcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:transform .3s,border-color .3s}
.orgcard:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--c) 36%,var(--line))}
.orgcard .ok{font-size:10.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--c);display:block;margin-bottom:10px}
.orgcard h3{font-family:var(--disp);font-size:18px;margin-bottom:8px;letter-spacing:-.4px;font-weight:800}
.orgcard p{color:var(--mut);font-size:13.5px;line-height:1.6}
.orgconn{align-self:center;height:2px;background:repeating-linear-gradient(90deg,var(--line2) 0 6px,transparent 6px 11px)}

/* CTA + footer */
.cta{padding:120px 0;text-align:center;position:relative;overflow:hidden}
.cta h2{font-size:clamp(30px,4vw,50px);max-width:780px;margin:0 auto}
.cta p{color:var(--mut);font-size:17px;max-width:560px;margin:20px auto 36px}
.cta .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta .fine{margin-top:26px;font-size:13px;color:var(--dim)}
footer{color-scheme:dark;position:relative;overflow:hidden;
  --bg:#050D1C;--panel:#0B1830;--line:rgba(148,190,235,.13);--line2:rgba(148,190,235,.24);
  --ink:#EAF2FB;--mut:#9FB4CC;--dim:#7B90AC;--card:rgba(255,255,255,.035);--soft:rgba(255,255,255,.06);
  --green:#8BD450;--teal:#3AC3D4;--orange:#F5A054;--blue:#4BA3DB;--navy:#7FB3E0;
  --w360:#7FB3E0;--wordink:#F2F6FA;
  border-top:1px solid rgba(148,190,235,.13);padding:64px 0 40px;
  background:
    radial-gradient(800px 380px at 90% 0%, rgba(58,195,212,.12), transparent 60%),
    radial-gradient(700px 400px at 5% 100%, rgba(75,163,219,.1), transparent 60%),
    #04101E;
  color:var(--mut);}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.fcol .fhead{font-family:var(--disp);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--dim);margin-bottom:16px;font-weight:800}
.fcol a:not(.logo){position:relative;display:block;width:fit-content;max-width:100%;color:var(--mut);font-size:14px;padding:5px 0;transition:color .2s,transform .25s cubic-bezier(.2,.75,.25,1);font-weight:500}
.fcol a:not(.logo):hover{color:var(--ink)}
.fcol a i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c);margin-right:9px}
.fbrand p{color:var(--mut);font-size:13.5px;margin-top:14px;max-width:300px}
.fbottom{border-top:1px solid var(--line);margin-top:44px;padding-top:24px;color:var(--dim);font-size:12.5px;line-height:1.8;display:flex;flex-direction:column;gap:6px}

/* reveal */
.rv{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.js .rv{opacity:0;transform:translateY(22px)}
.js .rv.on{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
section[id]{scroll-margin-top:96px}

/* responsive */
@media(max-width:1020px){
  .hero .wrap{grid-template-columns:1fr;gap:52px}
  .window{transform:none}
  .lab{grid-template-columns:1fr}
  .labout{position:static}
  .pipe{grid-template-columns:repeat(2,1fr)}
  .probs,.trust,.deploy,.stats,.plans,.team{grid-template-columns:repeat(2,1fr)}
  .bento{grid-template-columns:repeat(2,1fr)}
  .b.w3,.b.w2,.b.w4,.b.w6{grid-column:span 2}
  .fgrid{grid-template-columns:1fr 1fr}
  .ptiles{grid-template-columns:1fr 1fr}
  .fx-flow{grid-template-columns:1fr}
  .fx-conn{width:2px;height:36px;justify-self:center;background:repeating-linear-gradient(180deg,var(--line2) 0 6px,transparent 6px 11px)}
  .fx-conn::after{left:50%;margin-left:-4px;top:0;margin-top:0}
  .rv.on .fx-conn::after{animation:connDotV 3.2s ease-in-out infinite;animation-delay:var(--cd,0s)}
  .orgrow{grid-template-columns:1fr}
  .orgconn{width:2px;height:34px;justify-self:center;background:repeating-linear-gradient(180deg,var(--line2) 0 6px,transparent 6px 11px)}
  .freegrid{grid-template-columns:1fr}
  .stack{height:440px;transform:scale(.9);transform-origin:top center}
  .mk-anim{width:150px;height:150px;right:4%}
}
@keyframes connDotV{0%{top:-4px;opacity:0}12%{opacity:1}46%{top:calc(100% - 4px);opacity:1}58%{opacity:0}100%{top:calc(100% - 4px);opacity:0}}
@media(max-width:680px){
  .wbody{grid-template-columns:1fr}
  .wside{display:none}
  .wgrid{grid-template-columns:1fr !important}
  .scorecard{flex-wrap:wrap}
  .wminis{grid-template-columns:repeat(2,1fr) !important}
  .wtiles3{grid-template-columns:repeat(2,1fr) !important}
  .probs{grid-template-columns:1fr !important}
  .hero{padding-top:126px}
  .pipe,.probs,.trust,.deploy,.stats,.plans,.team,.ptiles{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .b.w3,.b.w2,.b.w4,.b.w6{grid-column:span 1}
  .fgrid{grid-template-columns:1fr}
  .fieldrow{grid-template-columns:1fr}
  .glide{grid-template-columns:1fr}
  .sec{padding:76px 0}
}

/* ============================================================
   KNOWLEDGE HUB — shared rather than invalid body-level styles
   ============================================================ */
.clock{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
.ck{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative;transition:transform .3s,border-color .3s;overflow:hidden}
.ck:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--c) 45%,var(--line))}
.ck .cy{display:inline-block;font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.6px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:8px;padding:3px 10px}
.ck h3{font-family:var(--disp);font-size:15.5px;font-weight:800;letter-spacing:-.3px;margin:12px 0 6px}
.ck p{color:var(--mut);font-size:12.5px;line-height:1.6}
.rfilters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}
.fbtn{position:relative;overflow:hidden;font-size:13px;font-weight:700;border:1px solid var(--control-border);background:var(--card);border-radius:999px;padding:9px 18px;cursor:pointer;transition:.2s;color:var(--mut)}
.fbtn:hover{color:var(--ink);border-color:var(--teal)}
.fbtn[aria-pressed="true"]{color:var(--btn-ink);background:var(--grad);border-color:transparent}
.lib{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.doc{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}
.doc:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--c) 42%,var(--line));box-shadow:0 18px 40px rgba(8,25,55,.1)}
.doc .dh{display:flex;align-items:center;justify-content:space-between;gap:8px}
.doc .rg{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);border-radius:7px;padding:3px 9px}
.doc h3{font-family:var(--disp);font-size:16px;font-weight:800;letter-spacing:-.3px;line-height:1.3}
.doc p{color:var(--mut);font-size:13px;line-height:1.6;flex:1}
.doc .df{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.doc .src{font-size:12.5px;font-weight:700;color:var(--teal);display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.doc .src:hover{color:var(--ink)}
.doc .pp{font-size:10.5px;font-weight:800;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 40%,transparent);border-radius:999px;padding:4px 11px;transition:.2s}
.doc .pp:hover{background:var(--c);color:#fff}
.doc.hide{display:none}
.quizbox{max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:38px;position:relative;overflow:hidden}
.quizbox::after{content:"";position:absolute;inset:auto -30% -55% -30%;height:160px;background:linear-gradient(90deg,rgba(139,212,80,.12),rgba(58,195,212,.12),rgba(75,163,219,.1));filter:blur(34px);pointer-events:none}
.qdots{display:flex;gap:7px;margin-bottom:10px}
.qdots i{width:26px;height:6px;border-radius:99px;background:var(--track);transition:background .3s}
.qdots i.on{background:var(--grad)}
.qprogress{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;color:var(--dim);margin-bottom:14px}
.qq{font-family:var(--disp);font-size:21px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px}
.qhint{color:var(--dim);font-size:13px;margin-bottom:20px}
.qopts{display:grid;gap:10px;position:relative;z-index:1}
.qopt{position:relative;overflow:hidden;text-align:left;border:1px solid var(--control-border);background:var(--card);border-radius:14px;padding:15px 18px;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--mut);transition:.2s;display:flex;align-items:center;gap:12px}
.qopt:hover{border-color:var(--teal);color:var(--ink)}
.qopt i{flex:none;width:10px;height:10px;border-radius:50%;border:2px solid var(--dim)}
.qopt:hover i{border-color:var(--teal);background:rgba(58,195,212,.3)}
.qback{margin-top:18px;background:none;border:none;color:var(--dim);font-size:13px;font-weight:600;cursor:pointer}
.qback:hover{color:var(--ink)}
.qres{display:none}.qres.show{display:block}
.qres .ob{display:flex;gap:13px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:15px 17px;margin-bottom:10px}
.qres .ob i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--c);margin-top:6px}
.qres .ob b{font-family:var(--disp);font-size:14.5px;letter-spacing:-.2px}
.qres .ob p{color:var(--mut);font-size:12.5px;line-height:1.55;margin-top:2px}
.qres .ob a{flex:none;font-size:11px;font-weight:800;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 42%,transparent);border-radius:999px;padding:5px 12px;transition:.2s;margin-top:2px;white-space:nowrap}
.qres .ob a:hover{background:var(--c);color:var(--btn-ink)}
.qform{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qform .full{grid-column:span 2}
.qform fieldset{border:0;min-width:0}
.qform legend{display:block;font-size:10.5px;color:var(--dim);letter-spacing:.7px;text-transform:uppercase;font-weight:800;margin-bottom:8px}
.qform textarea{width:100%;border:1px solid var(--control-border);border-radius:11px;background:var(--card);color:var(--ink);font-family:var(--body);font-size:14px;padding:12px;outline:none;min-height:92px;resize:vertical;transition:border-color .25s,box-shadow .25s}
.qform textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(58,195,212,.14)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips button{position:relative;overflow:hidden;border:1px solid var(--control-border);background:var(--soft);color:var(--mut);padding:8px 14px;border-radius:99px;font-size:12.5px;font-weight:700;cursor:pointer;transition:.2s}
.chips button:hover{border-color:var(--teal)}
.chips button[aria-pressed="true"]{border-color:var(--teal);color:var(--teal);background:rgba(58,195,212,.1)}
.qnote{font-size:12px;color:var(--dim);margin-top:12px}
.prep-handoff{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 20px 50px rgba(14,46,58,.08)}
.prep-handoff-copy{max-width:760px}.prep-time{display:block;color:var(--teal);font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px}
.prep-handoff h3{font-family:var(--disp);font-size:22px;letter-spacing:-.5px;margin-bottom:6px}.prep-handoff p{color:var(--mut);font-size:13.5px}.prep-handoff .btn{white-space:nowrap}

/* ---------- premium layers and tactile feedback ---------- */
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:10000;pointer-events:none;transform:scaleX(var(--progress,0));transform-origin:left;background:linear-gradient(90deg,var(--green),var(--teal),var(--blue),var(--orange));box-shadow:0 0 18px rgba(8,118,138,.5)}
.pointer-glow{position:fixed;left:0;top:0;width:420px;height:420px;border-radius:50%;z-index:-1;pointer-events:none;will-change:transform;background:radial-gradient(circle,rgba(8,118,138,.09),rgba(62,138,34,.04) 38%,transparent 70%)}
.card-glare{position:absolute!important;inset:0!important;z-index:4!important;pointer-events:none!important;border-radius:inherit;background:radial-gradient(320px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.22),transparent 55%);opacity:0;transition:opacity .3s;mix-blend-mode:soft-light}
.ptile:hover>.card-glare,.b:hover>.card-glare,.prob:hover>.card-glare,.t:hover>.card-glare,.plan:hover>.card-glare,.doc:hover>.card-glare,.ck:hover>.card-glare,.tm:hover>.card-glare,.orgcard:hover>.card-glare,.fx-card:hover>.card-glare,.dep:hover>.card-glare,.stat:hover>.card-glare,.qa:hover>.card-glare,.quizbox:hover>.card-glare{opacity:1}
.tap-ripple{position:absolute!important;width:12px!important;height:12px!important;border-radius:50%!important;z-index:8!important;pointer-events:none!important;background:rgba(255,255,255,.5)!important;transform:translate(-50%,-50%) scale(0);animation:tapRipple .55s ease-out forwards!important}
@keyframes tapRipple{to{opacity:0;transform:translate(-50%,-50%) scale(12)}}
.mprod[aria-current="page"]{background:color-mix(in srgb,var(--c) 8%,transparent);border-color:color-mix(in srgb,var(--c) 30%,transparent)}
.msheet a[aria-current="page"]{color:var(--teal)}
.btn,.preset,.custody button{position:relative;overflow:hidden}
.fx-actions button{font-family:var(--body);font-size:10px;font-weight:700;border:1px solid var(--line2);border-radius:8px;padding:5px 10px;color:var(--mut);background:var(--soft);transition:border-color .2s,background-color .2s,color .2s;cursor:pointer}
.fx-actions button:hover,.fx-actions button:focus-visible{border-color:var(--teal)}
.fx-actions button[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:var(--btn-ink);font-weight:800}
.cmpwrap:focus-visible,.gvwrap:focus-visible{outline:2.5px solid var(--teal);outline-offset:4px}

@keyframes heroRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.js .hero .eyebrow{animation:heroRise .6s .08s both}
.js .hero h1{animation:heroRise .7s .15s both}
.js .hero .sub{animation:heroRise .7s .22s both}
.js .hero .hero-ctas{animation:heroRise .7s .29s both}
.js .hero .hero-meta{animation:heroRise .7s .36s both}

/* ============================================================
   V2.2 — STATIONARY INTERACTION SYSTEM
   Controls stay anchored; feedback is expressed through paint,
   light, border and shadow rather than positional movement.
   ============================================================ */
.btn{
  translate:0 0;
  transition-property:box-shadow,border-color,background-color,color,filter;
  transition-duration:.24s;
  transition-timing-function:cubic-bezier(.2,.75,.25,1)
}
.btn.primary:hover{transform:none;filter:brightness(1.025) saturate(1.06);box-shadow:0 10px 34px var(--glowA)}
.btn.primary svg,.btn.primary:hover svg{transform:none}
.btn.ghost:hover{transform:none;box-shadow:0 9px 24px rgba(14,46,58,.08)}
.btn:active,.fbtn:active,.preset:active,.qopt:active,.chips button:active,.custody button:active,.ladder button:active,.attr button:active,.fx-actions button:active{filter:brightness(.96) saturate(1.04)}

.mprod:hover,.qopt:hover,.tm .lnk:hover{transform:none}
.mprod,.qopt,.tm .lnk{transition-property:background-color,border-color,color,box-shadow,opacity;transition-duration:.22s;transition-timing-function:cubic-bezier(.2,.75,.25,1)}
.mprod:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 18%,transparent)}
.qopt:hover{background:color-mix(in srgb,var(--teal) 5%,var(--card));box-shadow:0 8px 22px rgba(14,46,58,.06)}
.fcol a:not(.logo):hover{padding-left:0}
.doc .src:hover{gap:6px}

.ptile,.ptile:hover{transform:none;--rx:0deg;--ry:0deg;--ty:0}
.ptile{transition-property:border-color,box-shadow,background-color;transition-duration:.3s;transition-timing-function:cubic-bezier(.2,.75,.25,1)}

.ladder button,.custody button,.attr button,.preset,.fbtn,.chips button,.fx-actions button{
  transform:none;
  transition-property:border-color,background-color,color,box-shadow,filter;
  transition-duration:.2s;
  transition-timing-function:cubic-bezier(.2,.75,.25,1)
}
.ladder button:hover,.custody button:hover,.attr button:hover,.preset:hover,.fbtn:hover,.chips button:hover,.fx-actions button:hover,.fx-actions button:focus-visible{
  transform:none;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 11%,transparent)
}

/* Contact details and dedicated contact page. */
.fcol .ftime{display:block;color:var(--mut);font-size:12px;line-height:1.55;padding:6px 0}
.fine a{color:inherit;text-decoration-color:color-mix(in srgb,var(--teal) 40%,transparent);text-underline-offset:3px}
.fine a:hover{color:var(--teal)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.contact-card{font-style:normal;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0;transition:border-color .25s,box-shadow .25s}
.contact-card:hover{border-color:color-mix(in srgb,var(--c) 42%,var(--line));box-shadow:0 18px 44px rgba(14,46,58,.09)}
.contact-card .num{display:block;font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--c);margin-bottom:14px}
.contact-card h3{font-family:var(--disp);font-size:21px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}
.contact-card p{font-size:13.5px;color:var(--mut);line-height:1.65;margin-bottom:16px}
.contact-card a{display:flex;align-items:center;width:fit-content;max-width:100%;font-size:13.5px;font-weight:700;color:var(--ink);padding:5px 0;overflow-wrap:anywhere;transition:color .2s}
.contact-card a:hover{color:var(--c)}
.contact-card .contact-hours{display:block;margin-top:13px;padding-top:13px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.55;color:var(--dim);font-weight:700}
.contact-bridge{display:flex;align-items:center;gap:22px;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 48px rgba(14,46,58,.08)}
.bridge-place{display:flex;align-items:center;gap:13px;min-width:0}
.bridge-place>span{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:14px;background:color-mix(in srgb,var(--teal) 10%,transparent);border:1px solid color-mix(in srgb,var(--teal) 26%,transparent);color:var(--teal);font-size:11px;font-weight:800;letter-spacing:1px}
.bridge-place>div{display:flex;flex-direction:column}.bridge-place b{font-family:var(--disp);font-size:16px}.bridge-place small{font-size:11px;color:var(--dim)}
.bridge-line{height:1px;flex:1;min-width:30px;background:repeating-linear-gradient(90deg,var(--line2) 0 7px,transparent 7px 12px)}
.contact-bridge .btn{margin-left:auto;white-space:nowrap}

/* contact hero + guided starting point */
.contact-hero{padding-bottom:108px}
.contact-hero-content{max-width:900px;margin-inline:auto}
.contact-hero .sub{max-width:760px;margin-inline:auto}
.contact-hero .hero-ctas{justify-content:center}
.contact-context{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;width:fit-content;max-width:100%;margin:30px auto 0;color:var(--dim);font-size:11.5px;font-weight:700}
.contact-context .context-status{display:inline-flex;align-items:center;gap:9px}
.contact-context .live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px color-mix(in srgb,var(--green) 12%,transparent),0 0 20px color-mix(in srgb,var(--green) 42%,transparent);animation:livePulse 2.6s ease-in-out infinite}
.contact-context i{font-style:normal;color:var(--line2)}
.contact-context time{color:var(--mut)}
@keyframes livePulse{50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--green) 0%,transparent),0 0 24px color-mix(in srgb,var(--green) 58%,transparent)}}
.contact-start{padding-top:82px;padding-bottom:92px}
.start-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:50px;align-items:end;margin-bottom:38px}
.start-intro h2{font-size:clamp(28px,4vw,46px);max-width:760px;margin-top:7px}
.start-intro p{color:var(--mut);font-size:14px;max-width:360px;justify-self:end}
.start-rail{list-style:none;border-bottom:1px solid var(--line)}
.start-rail li{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px 2px;border-top:1px solid var(--line)}
.start-no{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--teal) 9%,transparent);border:1px solid color-mix(in srgb,var(--teal) 25%,transparent);color:var(--teal);font-family:var(--disp);font-size:11px;font-weight:800;letter-spacing:1px}
.start-rail small{display:block;margin-bottom:4px;color:var(--dim);font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.start-rail h3{font-family:var(--disp);font-size:20px;letter-spacing:-.4px;margin-bottom:4px}
.start-rail p{color:var(--mut);font-size:13px;line-height:1.55;max-width:700px}
.start-rail a{display:inline-flex;align-items:center;gap:9px;min-width:max-content;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--teal) 35%,transparent);color:var(--teal);font-size:12px;font-weight:800;transition:color .2s,border-color .2s}
.start-rail a:hover{color:var(--ink);border-color:var(--teal)}
.map-link{display:inline-flex!important;align-items:center;gap:8px;width:fit-content;font-size:12.5px!important;font-weight:800!important;color:var(--ink)!important;padding:8px 0!important;border-bottom:1px solid color-mix(in srgb,var(--c,var(--teal)) 35%,transparent);transition:color .2s,border-color .2s!important}
.map-link:hover{color:var(--c,var(--teal))!important;border-color:var(--c,var(--teal))}
.map-link span{font-size:15px}

/* public footprint map */
.footprint-sec{overflow:hidden}
.footprint-shell{background:var(--panel);border:1px solid var(--line);border-radius:30px;padding:18px;box-shadow:0 30px 75px rgba(14,46,58,.1)}
.footprint-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 8px 18px}
.map-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:11px;font-weight:700;color:var(--mut)}
.map-legend span,.summary-label{display:flex;align-items:center;gap:8px}
.map-legend i,.summary-label i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.map-legend i.active,.summary-label i.active{background:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 14%,transparent)}
.map-legend i.customer,.summary-label i.customer{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 14%,transparent)}
.map-legend i.coverage,.summary-label i.coverage{background:var(--orange);box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 14%,transparent)}
.map-caption{font-size:10.5px;color:var(--dim);white-space:nowrap}
.world-map{position:relative;height:510px;overflow:hidden;border:1px solid rgba(124,176,168,.16);border-radius:22px;background:radial-gradient(circle at 72% 44%,rgba(58,195,212,.11),transparent 31%),linear-gradient(145deg,#071526,#0A2030 55%,#071522);isolation:isolate}
.world-map::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 45%,rgba(1,7,16,.52) 100%);z-index:3;pointer-events:none}
.world-map::after{content:"";position:absolute;inset:9% 4%;border:1px solid rgba(95,185,192,.14);border-radius:50%;z-index:0;pointer-events:none}
.map-grid{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(rgba(101,180,185,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(101,180,185,.12) 1px,transparent 1px);background-size:10% 20%;-webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 78%);mask-image:radial-gradient(ellipse at center,#000,transparent 78%)}
.land{position:absolute;z-index:1;background:linear-gradient(145deg,rgba(80,147,139,.24),rgba(77,126,147,.12));border:1px solid rgba(111,185,178,.15);filter:drop-shadow(0 10px 20px rgba(0,0,0,.18))}
.land-na{left:7%;top:18%;width:29%;height:31%;clip-path:polygon(5% 25%,22% 7%,45% 3%,70% 14%,93% 4%,86% 34%,72% 42%,61% 65%,42% 62%,33% 87%,18% 65%,8% 55%)}
.land-sa{left:27%;top:49%;width:14%;height:37%;clip-path:polygon(3% 1%,71% 5%,96% 23%,68% 48%,55% 80%,34% 100%,22% 67%,10% 41%)}
.land-eu{left:44%;top:22%;width:19%;height:23%;clip-path:polygon(5% 24%,27% 1%,52% 12%,72% 3%,98% 23%,82% 42%,57% 42%,47% 68%,19% 71%,0 49%)}
.land-af{left:48%;top:41%;width:17%;height:36%;clip-path:polygon(14% 0,75% 3%,99% 27%,74% 70%,50% 100%,23% 79%,0 38%)}
.land-as{left:59%;top:24%;width:34%;height:45%;clip-path:polygon(2% 18%,28% 2%,58% 8%,81% 1%,100% 27%,86% 42%,97% 61%,73% 63%,58% 84%,39% 65%,22% 77%,16% 48%,0 42%)}
.land-au{left:80%;top:69%;width:14%;height:19%;clip-path:polygon(3% 20%,36% 0,78% 11%,100% 43%,81% 82%,45% 100%,11% 76%)}
.map-pin{--pin:var(--orange);position:absolute;left:var(--x);top:var(--y);z-index:5;width:16px;height:16px;border-radius:50%;background:var(--pin);border:3px solid #EAF2FB;box-shadow:0 0 0 6px color-mix(in srgb,var(--pin) 20%,transparent),0 5px 22px color-mix(in srgb,var(--pin) 58%,transparent);transition:box-shadow .22s,filter .22s}
.map-pin.active{--pin:var(--teal)}.map-pin.customer{--pin:var(--green)}.map-pin.coverage{--pin:var(--orange)}
.map-pin::after{content:"";position:absolute;inset:-9px;border:1px solid color-mix(in srgb,var(--pin) 72%,transparent);border-radius:50%;animation:mapPing 2.8s ease-out infinite}
@keyframes mapPing{0%{opacity:.8;scale:.45}75%,100%{opacity:0;scale:1.8}}
.map-pin span{position:absolute;left:50%;bottom:calc(100% + 11px);translate:-50% 0;padding:5px 9px;border:1px solid rgba(176,214,199,.17);border-radius:8px;background:rgba(5,13,28,.84);backdrop-filter:blur(8px);color:#EAF2FB;font-size:10px;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.map-pin.pin-down span{top:calc(100% + 11px);bottom:auto}
.map-pin.pin-east span{left:calc(100% + 13px);top:50%;bottom:auto;translate:0 -50%}
.map-pin:hover,.map-pin:focus-visible{filter:brightness(1.18);box-shadow:0 0 0 9px color-mix(in srgb,var(--pin) 28%,transparent),0 7px 30px color-mix(in srgb,var(--pin) 72%,transparent)}
.footprint-summary{display:grid;grid-template-columns:1.25fr .8fr 1.45fr;gap:1px;background:var(--line);border-radius:0 0 18px 18px;overflow:hidden}
.footprint-summary article{background:var(--panel2);padding:20px 22px}
.summary-label{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--dim);margin-bottom:9px}
.footprint-summary p{font-size:12.5px;color:var(--mut);line-height:1.6}
.map-directory{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:18px 8px 6px}
.map-directory a{--link-c:var(--orange);display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--link-c) 23%,var(--line));border-radius:99px;background:color-mix(in srgb,var(--link-c) 5%,var(--panel));color:var(--mut);font-size:10.5px;font-weight:800;transition:color .2s,border-color .2s,background-color .2s}
.map-directory a.customer{--link-c:var(--green)}.map-directory a.active{--link-c:var(--teal)}.map-directory a.coverage{--link-c:var(--orange)}
.map-directory a:hover,.map-directory a:focus-visible{color:var(--ink);border-color:color-mix(in srgb,var(--link-c) 55%,var(--line));background:color-mix(in srgb,var(--link-c) 9%,var(--panel))}
.sector-band{display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;align-items:center;margin-top:26px;padding:30px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.5)}
.sector-band h3{font-family:var(--disp);font-size:23px;margin-top:5px;letter-spacing:-.6px}
.sector-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.sector-list span{font-size:11.5px;font-weight:700;color:var(--mut);border:1px solid var(--line);border-radius:99px;background:var(--panel);padding:7px 12px}
.source-note{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:20px;color:var(--dim);font-size:11.5px}
.source-note p{max-width:720px}.source-note b{color:var(--mut)}
.source-note div{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.source-note a{font-weight:800;color:var(--teal);white-space:nowrap}

/* location directory */
.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.location-card{font-style:normal;position:relative;display:flex;flex-direction:column;min-height:375px;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.location-card::after{content:"";position:absolute;inset:auto -25% -50% -25%;height:180px;background:radial-gradient(ellipse,color-mix(in srgb,var(--c) 12%,transparent),transparent 68%);opacity:.65;pointer-events:none}
.location-card:hover{border-color:color-mix(in srgb,var(--c) 40%,var(--line));box-shadow:0 20px 48px rgba(14,46,58,.09)}
.location-card.location-primary{grid-column:span 2;min-height:330px;background:linear-gradient(120deg,color-mix(in srgb,var(--teal) 6%,var(--panel)),var(--panel))}
.location-tag{position:relative;z-index:1;font-size:10px;letter-spacing:1.35px;font-weight:800;color:var(--c);margin-bottom:23px}
.location-title{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;margin-bottom:20px}
.location-title>div{grid-row:span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);color:var(--c)}
.location-title>div span{font-family:var(--disp);font-size:12px;font-weight:800;letter-spacing:1px}
.location-title h3{font-family:var(--disp);font-size:24px;line-height:1.1;letter-spacing:-.6px}
.location-title small{color:var(--dim);font-size:11.5px}
.location-card>p{position:relative;z-index:1;color:var(--mut);font-size:13px;line-height:1.65;max-width:570px;margin-bottom:18px}
.contact-lines{position:relative;z-index:1;display:flex;flex-direction:column;margin-bottom:18px}
.contact-lines a{width:fit-content;max-width:100%;padding:4px 0;font-size:13.5px;font-weight:700;color:var(--ink);overflow-wrap:anywhere;transition:color .2s}
.contact-lines a:hover{color:var(--c)}
.location-hours{position:relative;z-index:1;color:var(--dim);font-size:11.5px;font-weight:700;margin-bottom:15px}
.location-card .map-link{position:relative;z-index:1;margin-top:auto;--c:inherit}
.location-source{margin-top:20px;font-size:11.5px;color:var(--dim)}
.location-source a{font-weight:800;color:var(--teal)}

/* enquiry composer */
.enquiry-sec{overflow:hidden}
.enquiry-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start;position:relative}
.enquiry-copy{position:sticky;top:110px}
.enquiry-copy h2{font-size:clamp(30px,4vw,48px);margin:10px 0 18px}
.enquiry-copy>p{color:var(--mut);font-size:15px}
.next-steps{display:grid;gap:14px;margin:34px 0}
.next-steps>div{display:flex;align-items:flex-start;gap:13px;padding-top:14px;border-top:1px solid var(--line)}
.next-steps>div>span{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:10px;background:rgba(58,195,212,.1);border:1px solid rgba(58,195,212,.25);color:var(--teal);font-family:var(--disp);font-weight:800;font-size:11px}
.next-steps p{display:flex;flex-direction:column;color:var(--ink);font-size:13.5px}
.next-steps small{color:var(--dim);font-size:11.5px;margin-top:2px}
.enquiry-copy .direct-fallback{font-size:12.5px}.direct-fallback a{font-weight:800;color:var(--teal)}
.enquiry-form{padding:30px;border:1px solid var(--line2);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 28px 70px rgba(0,0,0,.26);backdrop-filter:blur(10px)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.form-grid label{display:flex;flex-direction:column;gap:7px}
.form-grid label.full{grid-column:span 2}
.form-grid label>span{font-size:11px;font-weight:800;letter-spacing:.3px;color:var(--mut)}
.choice-field{grid-column:span 2;border:0;min-width:0;padding:0}
.choice-field legend{display:block;margin-bottom:9px;color:var(--mut);font-size:11px;font-weight:800;letter-spacing:.3px}
.check-chips{display:flex;gap:8px;flex-wrap:wrap}
.check-chips label{position:relative;display:inline-flex;flex-direction:row;gap:0;cursor:pointer}
.check-chips input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.check-chips label>span{display:inline-flex;align-items:center;min-height:37px;padding:8px 13px;border:1px solid var(--control-border);border-radius:99px;background:rgba(5,13,28,.24);color:var(--mut);font-size:11.5px;font-weight:700;letter-spacing:0;transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s}
.check-chips input:checked+span{border-color:var(--teal);background:rgba(58,195,212,.12);color:var(--teal);box-shadow:inset 0 0 0 1px rgba(58,195,212,.12)}
.check-chips input:focus-visible+span{outline:2.5px solid var(--teal);outline-offset:3px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--control-border);border-radius:12px;background:rgba(5,13,28,.34);color:var(--ink);padding:12px 14px;font:500 13px/1.5 var(--body);transition:border-color .2s,box-shadow .2s,background-color .2s}
.form-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.form-grid textarea{resize:vertical;min-height:140px}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:var(--dim);opacity:.8}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(58,195,212,.11);background:rgba(5,13,28,.58)}
.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.form-actions span{flex:1 1 190px;font-size:10.5px;line-height:1.5;color:var(--dim)}
.form-status{min-height:1.5em;margin-top:12px;color:var(--green);font-size:12px;font-weight:700}

@media (hover:hover) and (pointer:fine){
  footer .fcol a:not(.logo):hover{transform:translateX(7px)}
}

/* nav collapses before the desktop island runs out of room */
@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .nav{top:10px;left:10px;right:10px}
  .navin{height:60px;padding:0 8px 0 16px}
  .nlinks,.ncta{display:none}
  .menu-btn{display:grid}
  .msheet{display:flex;position:fixed;inset:0;z-index:1;flex-direction:column;justify-content:flex-start;gap:0;padding:104px 30px 40px;background:rgba(247,250,248,.96);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s;overflow:auto}
  .nav.open .msheet{opacity:1;visibility:visible;pointer-events:auto}
  .msheet a{display:flex;align-items:center;gap:14px;padding:13px 4px;font-family:var(--disp);font-weight:800;font-size:clamp(19px,4.5vw,23px);letter-spacing:-.6px;color:var(--ink);border-bottom:1px solid var(--line);opacity:0;translate:0 14px;transition:opacity .4s ease,translate .4s ease}
  .nav.open .msheet a{opacity:1;translate:0 0}
  .nav.open .msheet a:nth-child(2){transition-delay:.04s}.nav.open .msheet a:nth-child(3){transition-delay:.07s}.nav.open .msheet a:nth-child(4){transition-delay:.1s}.nav.open .msheet a:nth-child(5){transition-delay:.13s}.nav.open .msheet a:nth-child(6){transition-delay:.16s}.nav.open .msheet a:nth-child(8){transition-delay:.19s}.nav.open .msheet a:nth-child(9){transition-delay:.22s}.nav.open .msheet a:nth-child(10){transition-delay:.25s}.nav.open .msheet a:nth-child(11){transition-delay:.28s}.nav.open .msheet a:nth-child(12){transition-delay:.31s}.nav.open .msheet a:nth-child(13){transition-delay:.34s}
  .msheet a i{width:10px;height:10px;border-radius:50%;background:var(--c,var(--teal));flex:none}
  .msheet .mlabel{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-weight:800;padding:16px 0 5px}
  html:not(.js) .menu-btn{display:none}
  html:not(.js) .nlinks{display:flex;gap:8px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
  html:not(.js) .nlinks::-webkit-scrollbar{display:none}
  html:not(.js) .nlinks .nitem{display:none}
  html:not(.js) .nlinks>a{font-size:11px;padding:8px 4px;white-space:nowrap}
}
@media(max-width:1020px){.clock{grid-template-columns:repeat(2,1fr)}.lib{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1020px){
  .start-intro{grid-template-columns:1fr;gap:14px}.start-intro p{justify-self:start;max-width:620px}
  .footprint-summary{grid-template-columns:1fr}.enquiry-layout{grid-template-columns:1fr;gap:42px}.enquiry-copy{position:static;max-width:700px}
}
@media(max-width:680px){
  body::after{display:none}
  body::before{animation-duration:70s}
  .clock,.lib{grid-template-columns:1fr}.qform{grid-template-columns:1fr}.qform .full{grid-column:span 1}.quizbox{padding:24px 20px}.qres .ob{flex-wrap:wrap}.qres .ob a{margin-left:22px}
  .mq-label{font-size:10px}.mq-track{gap:34px;padding-right:34px}.mq-item{font-size:14.5px}
  .labout{padding:24px 18px}.gauge .gval b{font-size:clamp(42px,15vw,56px)}
  .custody{align-items:stretch}.custody button{flex:1 1 42%;white-space:normal;min-height:42px}.custody .arr{display:none}
  .stack{height:420px;transform:none;width:100%;max-width:360px;margin-inline:auto}
  .stack .pane{width:min(220px,70vw);height:140px;padding:13px}
  .stack .pane:nth-of-type(2){left:0!important;top:22px!important}.stack .pane:nth-of-type(3){left:9%!important;top:80px!important}.stack .pane:nth-of-type(4){left:18%!important;top:138px!important}.stack .pane:nth-of-type(5){left:27%!important;top:196px!important}.stack .pane:nth-of-type(6){left:auto!important;right:0!important;top:254px!important}
  .esg-wheel{grid-template-columns:1fr!important}.esg-wheel>div:last-child{justify-self:center}
  .contact-grid{grid-template-columns:1fr}
  .contact-hero{padding-bottom:78px}.contact-context{flex-direction:column;gap:4px}.contact-context i{display:none}.contact-context>span,.contact-context time{width:auto;text-align:center}.contact-context .live-dot{width:7px;flex:none}
  .contact-start{padding-block:70px}.start-rail li{grid-template-columns:44px 1fr;gap:16px;padding-block:24px}.start-rail a{grid-column:2;justify-self:start;min-width:0}
  .footprint-shell{padding:12px;border-radius:22px}.footprint-topline{align-items:flex-start;flex-direction:column}.map-caption{white-space:normal}
  .world-map{display:none}.footprint-summary{border-radius:14px}.footprint-summary article{padding:18px}
  .sector-band{grid-template-columns:1fr;gap:20px;padding:24px 20px}.sector-list{justify-content:flex-start}
  .source-note{align-items:flex-start;flex-direction:column;gap:15px}.source-note div{justify-content:flex-start}
  .location-grid{grid-template-columns:1fr}.location-card.location-primary{grid-column:span 1}.location-card{min-height:345px;padding:24px 20px}
  .enquiry-form{padding:24px 20px}.form-grid{grid-template-columns:1fr}.form-grid label.full,.choice-field{grid-column:span 1}.form-actions{align-items:stretch;flex-direction:column}.form-actions .btn{width:100%}.form-actions span{flex-basis:auto}
  .prep-handoff{align-items:flex-start;flex-direction:column;padding:26px 22px}.prep-handoff .btn{width:100%}
  .contact-bridge{align-items:stretch;flex-direction:column}.bridge-line{width:1px;height:22px;min-width:0;margin-left:21px;background:repeating-linear-gradient(180deg,var(--line2) 0 7px,transparent 7px 12px)}.contact-bridge .btn{margin:8px 0 0;width:100%}
}
@media(max-width:380px){.wrap{padding-inline:20px}.nav{left:6px;right:6px}.navin{padding-left:12px}.lgword .l1{font-size:19px}.lgword .l2{font-size:10px}.stack .pane{width:200px}}

@media(forced-colors:active){
  .grtext,.stat b{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}
  .btn,.eyebrow,.tag,.chip{border:1px solid ButtonText}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
  .rv,.mkv .pt,.mkv .mk-360,.nitem .mprod,.msheet a{opacity:1;transform:none;translate:0 0}
  .mq{animation:none;transform:none}.mq>[aria-hidden="true"]{display:none}.scroll-progress,.pointer-glow,.card-glare{display:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  footer .fcol a:not(.logo):hover{transform:none}
}
