:root{
  color-scheme:light dark;
  --bg:#f5f9fc;--bg-2:#eef5f9;--surface:#fff;--surface-2:#f8fbfd;--surface-3:#edf6fa;
  --ink:#102d40;--muted:#61798a;--line:#d8e6ee;--line-strong:#bfd3df;
  --navy:#052f50;--blue:#0877c5;--cyan:#20b8c7;--teal:#15a69d;--violet:#6857d9;--amber:#e7a73f;
  --success:#18835a;--warning:#b66c13;--danger:#b94646;
  --shadow-sm:0 8px 24px rgba(5,47,80,.07);--shadow:0 22px 60px rgba(5,47,80,.12);--shadow-lg:0 36px 90px rgba(3,27,47,.18);
  --radius:18px;--radius-lg:28px;--max:1240px;--header-h:76px;
  --hero-a:#052f50;--hero-b:#075f82;--hero-c:#0a8898;
}
html[data-theme="dark"]{
  --bg:#06141f;--bg-2:#0a1b28;--surface:#0c2130;--surface-2:#10293a;--surface-3:#143345;
  --ink:#e8f4fa;--muted:#9bb3c2;--line:#234353;--line-strong:#31596c;
  --navy:#d9f0fa;--blue:#5fc2ff;--cyan:#55d5df;--teal:#4fcbbf;--violet:#a89cff;--amber:#f4c36c;
  --success:#62d7a7;--warning:#f4bf69;--danger:#ff8f8f;
  --shadow-sm:0 8px 24px rgba(0,0,0,.2);--shadow:0 22px 60px rgba(0,0,0,.28);--shadow-lg:0 36px 90px rgba(0,0,0,.4);
  --hero-a:#051826;--hero-b:#083f59;--hero-c:#086873;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;text-rendering:optimizeLegibility}img{max-width:100%;height:auto}a{color:var(--blue)}button,input,select,textarea{font:inherit}.site-shell{min-height:100vh;overflow-x:hidden}.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:var(--surface);color:var(--ink);padding:10px 15px;border-radius:10px;box-shadow:var(--shadow);font-weight:800}.skip-link:focus{top:12px}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.narrow{width:min(880px,calc(100% - 40px));margin-inline:auto}
.site-header{height:var(--header-h);position:sticky;top:0;z-index:1200;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:0 clamp(16px,3vw,46px);border-bottom:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px);transition:box-shadow .25s ease,background .25s ease}.site-header.is-scrolled{box-shadow:0 10px 35px rgba(5,47,80,.10)}.brand{display:flex;align-items:center}.brand img{display:block;height:42px;width:auto}.primary-nav{display:flex;align-items:center;justify-content:center;gap:4px}.nav-group{position:relative}.nav-top,.nav-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;border:0;background:transparent;color:var(--ink);text-decoration:none;font-size:.84rem;font-weight:760;padding:0 10px;border-radius:10px;cursor:pointer}.nav-top:hover,.nav-top:focus-visible,.nav-link:hover,.nav-link:focus-visible,.nav-link.active{color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,transparent)}.nav-top svg{width:12px;transition:transform .2s}.nav-group.open .nav-top svg{transform:rotate(180deg)}.mega-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(-6px);width:min(700px,calc(100vw - 44px));display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.nav-group.open .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.mega-menu a{display:block;padding:12px 14px;border-radius:12px;color:var(--ink);text-decoration:none}.mega-menu a:hover{background:var(--surface-3);color:var(--blue)}.mega-menu strong{display:block;font-size:.83rem}.mega-menu span{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;line-height:1.35}.header-actions{display:flex;align-items:center;gap:9px}.theme-toggle,.mobile-toggle{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer}.theme-toggle:hover,.mobile-toggle:hover{border-color:var(--blue);color:var(--blue)}.theme-toggle .sun{display:none}html[data-theme="dark"] .theme-toggle .sun{display:block}html[data-theme="dark"] .theme-toggle .moon{display:none}.studio-cta{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;color:#fff;text-decoration:none;font-weight:850;font-size:.82rem;background:linear-gradient(135deg,#0877c5,#13a9b5);box-shadow:0 10px 25px rgba(8,119,197,.23)}.studio-cta:hover{transform:translateY(-1px)}.mobile-toggle{display:none}
.geo-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(128deg,var(--hero-a),var(--hero-b) 58%,var(--hero-c));color:#fff;padding:clamp(76px,9vw,128px) 0}.geo-hero:before{content:"";position:absolute;inset:-30%;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:52px 52px;transform:perspective(500px) rotateX(55deg) translateY(-10%);transform-origin:center;animation:gridDrift 28s linear infinite}.geo-hero:after{content:"";position:absolute;z-index:-1;width:650px;height:650px;right:-180px;top:-260px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.04),0 0 0 180px rgba(255,255,255,.025),0 0 0 270px rgba(255,255,255,.015);animation:contourFloat 16s ease-in-out infinite}.geo-orbit{position:absolute;left:7%;bottom:-130px;width:370px;height:370px;border:1px dashed rgba(103,219,232,.28);border-radius:48% 52% 44% 56%;transform:rotate(18deg);animation:orbitMorph 18s ease-in-out infinite alternate}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(40px,7vw,90px)}.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:900;color:#8fe5ec}.eyebrow:before{content:"";width:26px;height:2px;background:currentColor}.geo-hero h1{max-width:900px;margin:.55rem 0 1rem;font-size:clamp(2.7rem,6.1vw,5.9rem);line-height:.98;letter-spacing:-.055em}.geo-hero h1 em{font-style:normal;color:#74d9e3}.geo-hero .lead{max-width:790px;color:#d2e8ef;font-size:clamp(1.02rem,1.6vw,1.26rem);line-height:1.7}.hero-actions,.section-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 17px;border:1px solid transparent;border-radius:12px;text-decoration:none;font-weight:850;font-size:.85rem;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#18b4c0,#0877c5);color:#fff;box-shadow:0 12px 28px rgba(11,126,172,.24)}.btn-primary:hover{transform:translateY(-1px)}.btn-secondary{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(8px)}.btn-ghost{border-color:var(--line);background:var(--surface);color:var(--ink)}.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}.hero-panel{position:relative;min-height:400px}.map-card{position:absolute;inset:20px 0 0 40px;border:1px solid rgba(255,255,255,.16);border-radius:26px;background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.05));box-shadow:0 35px 90px rgba(1,22,38,.32);backdrop-filter:blur(16px);overflow:hidden}.map-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 24% 30%,rgba(45,214,222,.34),transparent 3%),radial-gradient(circle at 68% 54%,rgba(73,169,255,.32),transparent 4%),radial-gradient(circle at 45% 74%,rgba(168,145,255,.25),transparent 3%),linear-gradient(26deg,transparent 42%,rgba(255,255,255,.14) 43%,rgba(255,255,255,.14) 44%,transparent 45%),linear-gradient(-31deg,transparent 54%,rgba(255,255,255,.1) 55%,rgba(255,255,255,.1) 56%,transparent 57%);background-size:auto}.map-card:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at center,rgba(255,255,255,.14) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent)}.map-layer{position:absolute;border:1px solid rgba(92,224,227,.35);border-radius:42% 58% 54% 46%;filter:drop-shadow(0 0 18px rgba(60,219,225,.16));animation:layerPulse 8s ease-in-out infinite}.map-layer.l1{width:190px;height:130px;left:22%;top:18%;transform:rotate(-14deg)}.map-layer.l2{width:245px;height:175px;right:9%;bottom:18%;transform:rotate(24deg);animation-delay:-3s}.map-layer.l3{width:140px;height:95px;left:28%;bottom:12%;transform:rotate(42deg);animation-delay:-5s}.floating-stat{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(5,34,51,.68);color:#fff;box-shadow:0 12px 28px rgba(1,18,31,.25);backdrop-filter:blur(10px);font-size:.74rem}.floating-stat strong{display:block;font-size:.84rem}.floating-stat span{color:#a9cfd8}.fs-one{left:0;top:78px}.fs-two{right:-10px;bottom:45px}.hero-mini{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.hero-mini span{padding:7px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#d4eaf0;background:rgba(255,255,255,.05);font-size:.72rem;font-weight:700}
.section{padding:clamp(64px,8vw,110px) 0}.section.alt{background:var(--bg-2)}.section-head{max-width:780px;margin-bottom:38px}.section-head.center{text-align:center;margin-inline:auto}.section-head h2{margin:.55rem 0 .8rem;font-size:clamp(2rem,4vw,3.65rem);line-height:1.06;letter-spacing:-.045em;color:var(--ink)}.section-head p{color:var(--muted);font-size:1.03rem}.kicker{color:var(--blue);font-weight:900;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{position:relative;overflow:hidden;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--blue) 45%,var(--line));box-shadow:var(--shadow)}.card-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:18px;border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 15%,transparent),color-mix(in srgb,var(--cyan) 16%,transparent));color:var(--blue);font-weight:900}.card h3{margin:.2rem 0 .55rem;font-size:1.1rem;line-height:1.3}.card p{margin:0;color:var(--muted);font-size:.92rem}.card a.stretched{display:inline-flex;margin-top:16px;font-weight:800;text-decoration:none;font-size:.82rem}.card .tag{display:inline-flex;margin-bottom:10px;padding:5px 8px;border-radius:999px;background:var(--surface-3);color:var(--blue);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;padding:0;list-style:none}.feature-list li{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid var(--line);color:var(--muted)}.feature-list li:before{content:"✓";position:absolute;left:0;top:12px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal);font-weight:900}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:clamp(35px,7vw,90px);align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stat{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.stat strong{display:block;font-size:1.55rem;letter-spacing:-.03em}.stat span{color:var(--muted);font-size:.78rem}.geo-panel{position:relative;min-height:390px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface),var(--surface-2));overflow:hidden;box-shadow:var(--shadow)}.geo-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--blue) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--blue) 9%,transparent) 1px,transparent 1px);background-size:34px 34px}.geo-panel .shape{position:absolute;border:2px solid color-mix(in srgb,var(--cyan) 52%,transparent);filter:drop-shadow(0 0 18px color-mix(in srgb,var(--cyan) 25%,transparent))}.shape.s1{width:190px;height:130px;left:10%;top:13%;border-radius:35% 65% 52% 48%;transform:rotate(-20deg)}.shape.s2{width:220px;height:160px;right:9%;bottom:11%;border-radius:61% 39% 45% 55%;transform:rotate(20deg)}.shape.s3{width:90px;height:90px;left:45%;top:45%;border-radius:50%}.geo-panel .node{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 8px color-mix(in srgb,var(--blue) 14%,transparent)}.node.n1{left:20%;top:65%}.node.n2{left:52%;top:24%}.node.n3{right:16%;top:55%}.process{counter-reset:step;display:grid;gap:12px}.process-row{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.process-row:before{counter-increment:step;content:counter(step,decimal-leading-zero);display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--surface-3);color:var(--blue);font-weight:900}.process-row strong{display:block}.process-row span{color:var(--muted);font-size:.88rem}.callout{padding:clamp(28px,5vw,48px);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 86%,var(--blue) 14%),var(--surface));box-shadow:var(--shadow-sm)}.callout h2{margin:0 0 8px;font-size:clamp(1.8rem,3.6vw,3rem);letter-spacing:-.04em}.callout p{max-width:760px;color:var(--muted)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:18px 0;color:var(--muted);font-size:.76rem}.breadcrumbs a{text-decoration:none;color:var(--muted)}.breadcrumbs a:hover{color:var(--blue)}.breadcrumbs span[aria-hidden]{opacity:.5}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}.prose{min-width:0}.prose>p:first-of-type{font-size:1.08rem;color:var(--muted)}.prose h2{margin:2.3rem 0 .8rem;font-size:clamp(1.5rem,2.7vw,2.2rem);line-height:1.2}.prose h3{margin:1.7rem 0 .6rem;font-size:1.15rem}.prose p,.prose li{color:var(--muted)}.prose a{font-weight:650}.prose blockquote{margin:1.5rem 0;padding:18px 20px;border-left:4px solid var(--cyan);background:var(--surface);border-radius:0 14px 14px 0}.prose pre{overflow:auto;padding:18px;border:1px solid var(--line);border-radius:14px;background:#071722;color:#d4e7f1}.prose code{font-family:"SFMono-Regular",Consolas,monospace}.sidebar-card{position:sticky;top:calc(var(--header-h) + 20px);padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.sidebar-card strong{display:block;margin-bottom:9px}.sidebar-card a{display:block;padding:7px 0;color:var(--muted);text-decoration:none;font-size:.83rem}.sidebar-card a:hover{color:var(--blue)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--surface)}table{width:100%;border-collapse:collapse}th,td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--surface-3);font-size:.76rem;color:var(--ink)}td{color:var(--muted);font-size:.84rem}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.73rem;font-weight:760}.notice{padding:16px 18px;border:1px solid color-mix(in srgb,var(--blue) 32%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));color:var(--muted)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.price-card{position:relative;padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm)}.price-card.featured{border:2px solid var(--blue);box-shadow:var(--shadow)}.price-card .price{font-size:2.7rem;font-weight:900;letter-spacing:-.05em;margin:18px 0}.price-card .price small{font-size:.84rem;color:var(--muted);letter-spacing:0}.price-card ul{list-style:none;padding:0;margin:20px 0}.price-card li{padding:7px 0 7px 25px;position:relative;color:var(--muted);font-size:.88rem}.price-card li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}.popular{position:absolute;right:18px;top:18px;padding:5px 9px;border-radius:999px;background:var(--blue);color:#fff;font-size:.66rem;font-weight:900}.faq-list details{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin:10px 0;padding:0 18px}.faq-list summary{cursor:pointer;padding:18px 0;font-weight:800}.faq-list details p{margin-top:0;color:var(--muted)}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--teal);margin-right:7px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:800}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink)}.field textarea{min-height:135px;resize:vertical}
.ad-wrap{margin:28px 0;padding:10px;border:1px dashed var(--line-strong);border-radius:14px;background:var(--surface-2)}.ad-wrap>span{display:block;margin-bottom:7px;color:var(--muted);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.ad-slot{min-height:90px}.ad-in-article{min-height:220px}.ad-rectangle{min-height:250px}.ad-rail{min-height:420px}
.site-footer{padding:64px clamp(18px,4vw,64px) 24px;background:#041f32;color:#bdd0da}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.55fr repeat(4,1fr);gap:36px}.footer-brand img{height:42px}.footer-brand p{max-width:340px;color:#90aab8;font-size:.84rem}.site-footer strong{display:block;margin-bottom:12px;color:#fff;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.site-footer a{display:block;margin:8px 0;color:#a9c0cc;text-decoration:none;font-size:.79rem}.site-footer a:hover{color:#fff}.footer-bottom{max-width:var(--max);margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;color:#7898aa;font-size:.74rem}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
@keyframes gridDrift{from{transform:perspective(500px) rotateX(55deg) translate3d(0,-10%,0)}to{transform:perspective(500px) rotateX(55deg) translate3d(52px,42px,0)}}@keyframes contourFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-28px,24px,0) scale(1.04)}}@keyframes orbitMorph{0%{border-radius:48% 52% 44% 56%;transform:rotate(18deg)}100%{border-radius:61% 39% 58% 42%;transform:rotate(46deg)}}@keyframes layerPulse{0%,100%{transform:scale(1) rotate(-14deg);opacity:.75}50%{transform:scale(1.05) rotate(-11deg);opacity:1}}
@media(max-width:1120px){.site-header{grid-template-columns:auto auto 1fr}.mobile-toggle{display:grid;justify-self:end;order:2}.header-actions{order:3}.primary-nav{position:fixed;left:0;right:0;top:var(--header-h);display:none;max-height:calc(100dvh - var(--header-h));overflow:auto;flex-direction:column;align-items:stretch;padding:14px 20px 24px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.primary-nav.open{display:flex}.nav-group{width:100%}.nav-top,.nav-link{width:100%;justify-content:space-between;min-height:46px}.mega-menu{position:static;transform:none!important;width:100%;display:none;grid-template-columns:1fr;opacity:1;visibility:visible;pointer-events:auto;margin:4px 0 8px;box-shadow:none;background:var(--surface-2)}.nav-group.open .mega-menu{display:grid}.hero-grid,.split{grid-template-columns:1fr}.hero-panel{min-height:330px}.map-card{inset:10px 4% 0 4%}.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.3fr repeat(2,1fr)}.footer-brand{grid-row:span 2}}
@media(max-width:820px){:root{--header-h:68px}.site-header{padding:0 14px;gap:9px}.brand img{height:36px}.studio-cta{font-size:0;width:42px;padding:0}.studio-cta span{font-size:1.05rem}.theme-toggle,.mobile-toggle{width:40px;height:40px}.geo-hero{padding:62px 0 76px}.hero-panel{min-height:285px}.floating-stat{font-size:.66rem}.cards,.cards.two,.pricing-grid{grid-template-columns:1fr}.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-list{grid-template-columns:1fr}.content-layout{grid-template-columns:1fr}.sidebar-card{position:static}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;grid-row:auto}.footer-bottom{flex-direction:column}}
@media(max-width:520px){.container,.narrow{width:min(100% - 28px,var(--max))}.geo-hero h1{font-size:clamp(2.45rem,14vw,4rem)}.hero-actions .btn{width:100%}.hero-panel{min-height:250px}.map-card{inset:8px 0 0}.fs-one{left:-4px;top:52px}.fs-two{right:-4px;bottom:20px}.cards.four{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.section{padding:58px 0}.card{padding:21px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.geo-orbit{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.geo-hero:before,.geo-hero:after,.geo-orbit,.map-layer{animation:none!important}.reveal{opacity:1;transform:none;transition:none!important}*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}



/* GeoLayers v2.0.2 — stable mega navigation interaction */
@media (min-width:1121px){
  .nav-group{isolation:isolate;}
  .nav-group .mega-menu{z-index:40;}
  .nav-group.open .nav-top{color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,transparent);}
}

/* ==========================================================================
   GeoLayers v2.0.6 — Contour Hero + Connected Globe
   CSS-only visual upgrade. No HTML or JavaScript changes required.
   ========================================================================== */

/* Replace the former perspective grid with topographic contourwork. */
.geo-hero{
  background:
    radial-gradient(circle at 18% 18%,rgba(52,207,218,.18),transparent 27%),
    radial-gradient(circle at 82% 20%,rgba(29,153,205,.18),transparent 25%),
    radial-gradient(circle at 72% 78%,rgba(42,190,161,.12),transparent 30%),
    linear-gradient(128deg,var(--hero-a),var(--hero-b) 58%,var(--hero-c));
}
.geo-hero::before{
  inset:-8%;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MDAgNTYwIj4KPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utb3BhY2l0eT0iLjIyIiBzdHJva2Utd2lkdGg9IjEuMzUiPgo8cGF0aCBkPSJNLTYwIDExMkM0NSAzNCAxNjYgMzggMjQ4IDkyczEyOCAxMzcgMjMxIDExNyAxMzItMTE4IDIzMS0xMjEgMTc1IDYzIDI1MCAxMzYiLz4KPHBhdGggZD0iTS03MCAxNDVDMzggNjUgMTUxIDY4IDIzMiAxMTlzMTM1IDEyNSAyMzMgMTExIDE0Mi0xMDYgMjM2LTEwNyAxNjcgNjIgMjMxIDEyNyIvPgo8cGF0aCBkPSJNLTYyIDE3OUMzOCAxMDUgMTQzIDEwMSAyMjEgMTQ2czEzNyAxMTQgMjM3IDEwNCAxNDktOTMgMjM3LTg4IDE1MyA2MyAyMTEgMTIxIi8+CjxwYXRoIGQ9Ik0tMzUgMjE5QzUwIDE1NiAxNDEgMTM3IDIxNyAxNzdzMTM1IDk5IDIyNyA5NSAxNDMtNzQgMjI1LTY0IDEzNyA2MSAxOTIgMTA4Ii8+CjxwYXRoIGQ9Ik04NSA0NDljMjgtMTAzIDExOS0xNzEgMjE1LTE2MCA5NiAxMCAxMzQgODUgMjI0IDg0IDkxLTIgMTMzLTc5IDIyNC03MCA3MyA3IDEyMyA2MSAxNjcgMTI5Ii8+CjxwYXRoIGQ9Ik0xMTYgNDUwYzI0LTgxIDk5LTEzNiAxODAtMTI4IDgyIDggMTIxIDcyIDIwMSA3MCA3OS0xIDEyMC02NCAyMDEtNTcgNjEgNiAxMDQgNTEgMTQxIDEwOSIvPgo8cGF0aCBkPSJNMTUxIDQ1MGMyMC02MCA3NS0xMDQgMTQyLTk5IDY3IDUgMTA1IDU4IDE3NiA1NiA2OS0xIDEwNi00OSAxNzctNDMgNTAgNCA4NyA0MCAxMTYgODMiLz4KPHBhdGggZD0iTTE5OSA0NTBjMTQtMzkgNTAtNzAgOTUtNjcgNDggMyA4MCA0MiAxMzUgNDEgNTMtMSA4NC0zNSAxMzgtMzEgMzcgMyA2NSAyOCA4NSA1OCIvPgo8cGF0aCBkPSJNNjA4LTQwYy03MSA1OC05MCAxMjQtNTMgMTgzIDM4IDYwIDEwOSA3NSAxMTggMTQ0IDkgNzAtNTEgMTEyLTM4IDE4MSAxMCA1NCA1NyA5MSAxMTEgMTI2Ii8+CjxwYXRoIGQ9Ik02NDktNDJjLTYxIDU1LTc2IDEwOC00MiAxNTggMzQgNTAgOTYgNjQgMTA0IDEyNCA4IDYwLTQ1IDk1LTM0IDE1NCA5IDQ3IDQ4IDc5IDk2IDEwOSIvPgo8cGF0aCBkPSJNNjkxLTQwYy00OSA0OC02MCA5MS0zMiAxMzIgMjggNDIgODAgNTMgODcgMTAzIDcgNDktMzggNzktMjkgMTI4IDcgMzkgNDAgNjcgODEgOTIiLz4KPHBhdGggZD0iTS01NSA1MDBjODgtMTkgMTU3LTY5IDE5Mi0xMzIgMzUtNjQgMzUtMTM1IDEwNS0xNzQgNjktMzkgMTMyIDEgMTk0LTM0IDYzLTM2IDc4LTExMCAxMzUtMTUzIi8+CjwvZz48L3N2Zz4=");
  background-repeat:repeat;
  background-size:760px 473px;
  background-position:0 0;
  opacity:.62;
  transform:none;
  transform-origin:center;
  filter:drop-shadow(0 0 12px rgba(91,216,226,.035));
  animation:glContourDrift 30s ease-in-out infinite alternate;
}
.geo-hero::after{
  width:720px;
  height:720px;
  right:-280px;
  top:-350px;
  border:0;
  border-radius:50%;
  background:radial-gradient(circle,rgba(109,226,232,.12) 0,rgba(65,171,208,.06) 36%,transparent 69%);
  box-shadow:none;
  filter:blur(.2px);
  animation:glAtmosphereFloat 18s ease-in-out infinite;
}
.geo-orbit{
  border-style:solid;
  border-color:rgba(116,222,229,.17);
  box-shadow:0 0 40px rgba(34,175,198,.05);
  opacity:.72;
}

/* Glass map card: soft spatial depth behind the connected globe. */
.map-card{
  background:
    radial-gradient(circle at 72% 48%,rgba(38,205,215,.13),transparent 34%),
    radial-gradient(circle at 24% 26%,rgba(68,166,255,.11),transparent 30%),
    linear-gradient(150deg,rgba(255,255,255,.115),rgba(255,255,255,.045));
}

/* Network field behind the globe. */
.map-card::before{
  inset:0;
  background:
    radial-gradient(circle at 15% 23%,rgba(115,235,239,.95) 0 2.5px,transparent 3.5px),
    radial-gradient(circle at 31% 63%,rgba(90,190,255,.85) 0 2.5px,transparent 3.5px),
    radial-gradient(circle at 47% 31%,rgba(79,209,178,.88) 0 2.5px,transparent 3.5px),
    linear-gradient(29deg,transparent 0 22%,rgba(128,231,236,.14) 22.2% 22.55%,transparent 22.8% 100%),
    linear-gradient(151deg,transparent 0 39%,rgba(100,192,244,.12) 39.2% 39.55%,transparent 39.8% 100%);
  opacity:.78;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.72) 55%,rgba(0,0,0,.28));
}

/* Globe + latitude/longitude + network connections. */
.map-card::after{
  inset:auto;
  width:min(78%,330px);
  aspect-ratio:1;
  right:-5%;
  bottom:-12%;
  border-radius:50%;
  background:
    radial-gradient(circle at 38% 30%,rgba(110,239,242,.12),rgba(8,93,127,.04) 48%,transparent 72%),
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgMzIwIj4KPGRlZnM+CiA8cmFkaWFsR3JhZGllbnQgaWQ9ImciIGN4PSIzOCUiIGN5PSIzMCUiIHI9IjcyJSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNTVkNWRmIiBzdG9wLW9wYWNpdHk9Ii4yMiIvPjxzdG9wIG9mZnNldD0iLjU1IiBzdG9wLWNvbG9yPSIjMDg3N2M1IiBzdG9wLW9wYWNpdHk9Ii4xMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzA1MmY1MCIgc3RvcC1vcGFjaXR5PSIuMDMiLz48L3JhZGlhbEdyYWRpZW50PgogPGxpbmVhckdyYWRpZW50IGlkPSJuIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMSI+PHN0b3Agc3RvcC1jb2xvcj0iIzc3ZWNmMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzQyZDZhNCIvPjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPGNpcmNsZSBjeD0iMTYwIiBjeT0iMTYwIiByPSIxMjYiIGZpbGw9InVybCgjZykiIHN0cm9rZT0iIzhjZTllZiIgc3Ryb2tlLW9wYWNpdHk9Ii41OCIgc3Ryb2tlLXdpZHRoPSIxLjgiLz4KPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZDhmYmZmIiBzdHJva2Utb3BhY2l0eT0iLjI0IiBzdHJva2Utd2lkdGg9IjEuMTUiPgogPGVsbGlwc2UgY3g9IjE2MCIgY3k9IjE2MCIgcng9IjEyNiIgcnk9IjQ0Ii8+CiA8ZWxsaXBzZSBjeD0iMTYwIiBjeT0iMTYwIiByeD0iMTI2IiByeT0iODIiLz4KIDxlbGxpcHNlIGN4PSIxNjAiIGN5PSIxNjAiIHJ4PSI0NCIgcnk9IjEyNiIvPgogPGVsbGlwc2UgY3g9IjE2MCIgY3k9IjE2MCIgcng9IjgyIiByeT0iMTI2Ii8+CiA8cGF0aCBkPSJNMzQgMTYwaDI1MiIvPjxwYXRoIGQ9Ik0xNjAgMzR2MjUyIi8+CjwvZz4KPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ1cmwoI24pIiBzdHJva2Utb3BhY2l0eT0iLjcyIiBzdHJva2Utd2lkdGg9IjEuNyI+CiA8cGF0aCBkPSJNNzEgMTA5UTE0OCA1NCAyNDQgMTA0Ii8+CiA8cGF0aCBkPSJNODMgMjI0UTE1OSAxNzcgMjUxIDIxMSIvPgogPHBhdGggZD0iTTEwMSA3NVExNDQgMTU1IDIyOCAyMzgiLz4KIDxwYXRoIGQ9Ik02MiAxNzNRMTUxIDEzMiAyNjAgMTUzIi8+CiA8cGF0aCBkPSJNMTE0IDI0N1ExNjkgMTg4IDIzOCAxMjgiLz4KPC9nPgo8ZyBmaWxsPSIjODBlZGYwIiBzdHJva2U9IiNlOWZmZmYiIHN0cm9rZS13aWR0aD0iMSI+CiA8Y2lyY2xlIGN4PSI3MSIgY3k9IjEwOSIgcj0iNC4yIi8+PGNpcmNsZSBjeD0iMjQ0IiBjeT0iMTA0IiByPSI0LjIiLz48Y2lyY2xlIGN4PSI4MyIgY3k9IjIyNCIgcj0iNC4yIi8+PGNpcmNsZSBjeD0iMjUxIiBjeT0iMjExIiByPSI0LjIiLz48Y2lyY2xlIGN4PSIxMDEiIGN5PSI3NSIgcj0iNC4yIi8+PGNpcmNsZSBjeD0iMjI4IiBjeT0iMjM4IiByPSI0LjIiLz48Y2lyY2xlIGN4PSI2MiIgY3k9IjE3MyIgcj0iNC4yIi8+PGNpcmNsZSBjeD0iMjYwIiBjeT0iMTUzIiByPSI0LjIiLz4KPC9nPgo8ZyBmaWxsPSIjNWJlMGIxIiBzdHJva2U9IiNlZmZmZjgiIHN0cm9rZS13aWR0aD0iMS4xIj48Y2lyY2xlIGN4PSIxNjAiIGN5PSIxNDEiIHI9IjUuMiIvPjxjaXJjbGUgY3g9IjE5OCIgY3k9IjE4MSIgcj0iNC42Ii8+PC9nPgo8L3N2Zz4=") center/100% 100% no-repeat;
  mask-image:none;
  opacity:.98;
  filter:drop-shadow(0 18px 38px rgba(0,24,42,.28)) drop-shadow(0 0 22px rgba(65,213,221,.10));
  transform-origin:50% 55%;
  animation:globeFloat 12s ease-in-out infinite;
}

/* Existing map-layer elements become orbit rings around the globe. */
.map-layer{
  border-radius:50%;
  border-color:rgba(109,229,235,.24);
  filter:drop-shadow(0 0 12px rgba(60,219,225,.10));
  opacity:.82;
  animation:glOrbitPulse 10s ease-in-out infinite;
}
.map-layer.l1{width:260px;height:82px;left:auto;right:1%;top:33%;transform:rotate(-17deg)}
.map-layer.l2{width:292px;height:98px;right:-8%;bottom:18%;transform:rotate(24deg);animation-delay:-3s}
.map-layer.l3{width:205px;height:68px;left:auto;right:10%;bottom:29%;transform:rotate(54deg);animation-delay:-6s}

@keyframes glContourDrift{
  0%{background-position:0 0;transform:scale(1.015)}
  100%{background-position:-58px 34px;transform:scale(1.035)}
}
@keyframes glAtmosphereFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-24px,18px,0) scale(1.035)}
}
@keyframes globeFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-1.2deg)}
  50%{transform:translate3d(-7px,-9px,0) rotate(1.1deg)}
}
@keyframes glOrbitPulse{
  0%,100%{opacity:.52;filter:drop-shadow(0 0 9px rgba(60,219,225,.08))}
  50%{opacity:.9;filter:drop-shadow(0 0 18px rgba(60,219,225,.18))}
}

/* Slightly softer treatment in light theme while retaining the premium dark hero. */
html[data-theme="light"] .geo-hero::before{opacity:.52}
html[data-theme="light"] .map-card::after{opacity:.94}

@media(max-width:820px){
  .geo-hero::before{background-size:620px 386px;opacity:.52}
  .map-card::after{width:min(74%,260px);right:-3%;bottom:-10%}
  .map-layer.l1{width:210px;height:66px;right:2%}
  .map-layer.l2{width:238px;height:80px;right:-8%}
  .map-layer.l3{width:170px;height:56px;right:11%}
}
@media(max-width:520px){
  .geo-hero::before{background-size:520px 323px;opacity:.46}
  .map-card::after{width:210px;right:-24px;bottom:-36px}
  .map-layer.l1{width:175px;height:56px;right:-2%;top:31%}
  .map-layer.l2{width:200px;height:66px;right:-14%;bottom:18%}
  .map-layer.l3{width:142px;height:48px;right:8%;bottom:27%}
}
@media(prefers-reduced-motion:reduce){
  .geo-hero::before,.geo-hero::after,.map-card::after,.map-layer{animation:none!important}
}


/* ==========================================================================
   GeoLayers v2.0.7 — Animated Terrain + Connected Globe
   Pure CSS/Canvas JS. No image assets and no HTML changes required.
   ========================================================================== */
.geo-hero.js-geospatial-hero{
  min-height:clamp(610px,76vh,820px);
  background:
    radial-gradient(circle at 80% 30%,rgba(24,140,205,.14),transparent 24%),
    radial-gradient(circle at 24% 82%,rgba(0,196,225,.11),transparent 30%),
    linear-gradient(125deg,#03111e 0%,#052a43 45%,#073f59 72%,#052836 100%);
}
.geo-hero.js-geospatial-hero::before{
  opacity:.15;
  filter:none;
  animation:none;
}
.geo-hero.js-geospatial-hero::after{
  right:-18%;top:-50%;width:70vw;height:70vw;max-width:950px;max-height:950px;
  background:radial-gradient(circle,rgba(32,192,231,.10),rgba(20,105,166,.035) 46%,transparent 70%);
  animation:glAtmosphereFloat 20s ease-in-out infinite;
}
.geo-hero .gl-terrain-canvas{
  position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;pointer-events:none;
  opacity:.98;
  -webkit-mask-image:linear-gradient(to bottom,transparent 3%,#000 20%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 3%,#000 20%,#000 100%);
}
.geo-hero.js-geospatial-hero>.container,
.geo-hero.js-geospatial-hero>.geo-orbit{position:relative;z-index:3}
.geo-hero.js-geospatial-hero .hero-grid>div:first-child{
  position:relative;z-index:5;
  text-shadow:0 2px 20px rgba(1,14,28,.26);
}
.geo-hero.js-geospatial-hero .hero-panel{z-index:4}
.geo-hero.js-geospatial-hero .map-card{
  background:
    radial-gradient(circle at 62% 44%,rgba(23,157,211,.11),transparent 36%),
    linear-gradient(145deg,rgba(5,34,58,.34),rgba(3,22,39,.18));
  border-color:rgba(107,219,242,.19);
  box-shadow:0 40px 100px rgba(0,12,28,.37),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(7px);
}
.geo-hero.js-geospatial-hero .map-card::before{
  z-index:1;
  opacity:.32;
  background:
    radial-gradient(circle at 12% 26%,rgba(75,221,255,.75) 0 1.4px,transparent 2px),
    radial-gradient(circle at 27% 73%,rgba(72,198,246,.62) 0 1.4px,transparent 2px),
    radial-gradient(circle at 49% 18%,rgba(90,236,207,.54) 0 1.4px,transparent 2px),
    radial-gradient(circle at 75% 76%,rgba(69,202,244,.54) 0 1.4px,transparent 2px);
}
.geo-hero.js-geospatial-hero .map-card::after{content:none}
.geo-hero .gl-globe-canvas{
  position:absolute;inset:0;width:100%;height:100%;z-index:2;display:block;pointer-events:none;
}
.geo-hero.js-geospatial-hero .map-layer{
  z-index:3;opacity:.19;border-color:rgba(97,228,245,.24);animation:none!important;
}
.geo-hero.js-geospatial-hero .map-layer.l1{transform:rotate(-18deg)}
.geo-hero.js-geospatial-hero .map-layer.l2{transform:rotate(27deg)}
.geo-hero.js-geospatial-hero .map-layer.l3{transform:rotate(57deg)}
.geo-hero.js-geospatial-hero .floating-stat{z-index:7;background:rgba(3,28,49,.66);border-color:rgba(104,221,239,.24)}
.geo-hero.js-geospatial-hero .geo-orbit{opacity:.25;filter:drop-shadow(0 0 22px rgba(43,203,226,.12))}

@media(max-width:900px){
  .geo-hero.js-geospatial-hero{min-height:auto}
  .geo-hero .gl-terrain-canvas{opacity:.82}
  .geo-hero.js-geospatial-hero .map-card{backdrop-filter:blur(5px)}
}
@media(max-width:620px){
  .geo-hero .gl-terrain-canvas{opacity:.68}
  .geo-hero.js-geospatial-hero .map-card{background:linear-gradient(145deg,rgba(5,34,58,.28),rgba(3,22,39,.12))}
}
@media(prefers-reduced-motion:reduce){
  .geo-hero.js-geospatial-hero::after{animation:none!important}
  .geo-hero .gl-terrain-canvas,.geo-hero .gl-globe-canvas{transform:none!important}
}

/* ==========================================================================
   GeoLayers v2.0.7.1 — Canvas Hero Cleanup
   Remove all legacy CSS line/ring decorations now superseded by the
   animated terrain and globe canvases.
   ========================================================================== */
.geo-hero.js-geospatial-hero::before{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}
.geo-hero.js-geospatial-hero::after{
  border:0!important;
  box-shadow:none!important;
}
.geo-hero.js-geospatial-hero .geo-orbit,
.geo-hero.js-geospatial-hero .map-layer{
  display:none!important;
}
