
/* Layout: white canvas, faint blueprint grid behind the hero, near-black ink, one indigo accent, pill controls, wide rounded panels */
:root{
  --ink:#0a2347; --ink-2:#41414d; --muted:#6e6e7b; --line:#e7e7ee; --line-2:#dbdbe4;
  --paper:#ffffff; --soft:#f1f4f8; --lilac:#f4f8f3; --lilac-2:#e2f0df;
  --accent:#2f8f2f; --accent-2:#45a83f; --star:#ffb800; --wa:#25d366;
  --display:"Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;
  --body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:24px; --max:1240px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.sec-head{display:grid;gap:14px;max-width:760px;margin:0 auto 48px;text-align:center;justify-items:center}
.sec-head h2{font-size:clamp(32px,4.4vw,48px)}
.sec-head p{color:var(--muted);font-size:18px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;height:52px;border-radius:999px;font-weight:600;font-size:16px;border:1px solid transparent;transition:transform .2s,background .2s,box-shadow .2s;cursor:pointer;white-space:nowrap}
.btn-dark{background:var(--ink);color:var(--paper);padding:0 6px 0 22px}
.btn-dark .arr{width:40px;height:40px;border-radius:50%;background:var(--accent);display:grid;place-items:center;transition:transform .25s}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px rgba(47,143,47,.6)}
.btn-dark:hover .arr{transform:rotate(-45deg)}
.btn-light{background:var(--paper);color:var(--ink);border-color:var(--line);padding:0 6px 0 22px}
.btn-light .arr{width:40px;height:40px;border-radius:50%;background:var(--soft);display:grid;place-items:center;transition:transform .25s}
.btn-light:hover{border-color:var(--ink)}
.btn-light:hover .arr{transform:rotate(-45deg)}
.btn-sm{height:44px;font-size:15px;padding:0 5px 0 18px}
.btn-sm .arr{width:34px;height:34px}
.arr svg{width:16px;height:16px}

/* Announcement */
.announce{background:var(--ink);color:#fff;font-size:14px;overflow:hidden}
.announce .wrap{display:flex;align-items:center;gap:16px;height:44px}
.tag{flex:none;background:var(--accent);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px}
.marquee{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;gap:40px;width:max-content;animation:slide 38s linear infinite}
.marquee-track span{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.82)}
.marquee-track span b{color:#fff;font-weight:600}
@keyframes slide{to{transform:translateX(-50%)}}
.announce .cta{flex:none;background:#fff;color:var(--ink);font-weight:600;font-size:13px;padding:6px 14px;border-radius:999px}
@media (max-width:640px){.announce .cta{display:none}}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.03em}
.logo svg{width:30px;height:30px;flex:none}
.logo i{font-style:normal;color:var(--accent)}
nav.main{display:flex;align-items:center;gap:6px}
nav.main > a, .dd > button{white-space:nowrap;font:500 16px var(--body);color:var(--ink-2);padding:10px 14px;border-radius:999px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
nav.main > a:hover,.dd > button:hover{color:var(--ink);background:var(--soft)}
nav.main > a.on{color:var(--accent)}
.dd{position:relative}
.dd svg{width:12px;height:12px;transition:transform .2s}
.dd-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,6px);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:10px;min-width:300px;box-shadow:0 24px 60px -24px rgba(10,35,71,.25);opacity:0;visibility:hidden;transition:.2s}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dd:hover svg{transform:rotate(180deg)}
.dd-menu a{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:10px;border-radius:14px}
.dd-menu a:hover{background:var(--soft)}
.dd-menu .ic{width:36px;height:36px;border-radius:10px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.dd-menu .ic svg{width:18px;height:18px;transform:none}
.dd-menu b{display:block;font-size:15px;font-weight:600}
.dd-menu small{display:block;color:var(--muted);font-size:13px;line-height:1.35}
.head-right{display:flex;align-items:center;gap:10px}
.phone-chip{font-size:15px;font-weight:600;color:var(--ink-2);display:flex;gap:8px;align-items:center;user-select:all}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);cursor:pointer;place-items:center}
.mobile-nav{display:none;border-top:1px solid var(--line);padding-block:12px 20px}
.mobile-nav a{display:block;padding:12px 4px;font-weight:600;border-bottom:1px solid var(--line)}
@media (max-width:1180px){.phone-chip{display:none}}
@media (max-width:1020px){nav.main,.phone-chip{display:none}.burger{display:grid}.mobile-nav.open{display:block}}
@media (max-width:480px){header.site .btn{display:none}}

/* Hero */
.hero{position:relative;padding-block:72px 64px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 30%,transparent 80%);opacity:.7;z-index:-1}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero-copy{display:grid;gap:24px;min-width:0}
.hero h1{font-size:clamp(38px,5.2vw,64px);line-height:1.04}
.typed{color:var(--accent);display:inline-block;min-width:4ch}
.typed::after{content:"";display:inline-block;width:3px;height:.85em;background:var(--accent);margin-left:4px;vertical-align:-.06em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero-lead{color:var(--ink-2);font-size:19px;max-width:56ch}
.finder{display:flex;align-items:center;gap:12px;height:58px;border:1px solid var(--line-2);border-radius:999px;padding:0 8px 0 22px;background:var(--paper);max-width:520px;box-shadow:0 10px 30px -18px rgba(10,35,71,.25)}
.finder svg{width:20px;height:20px;color:var(--muted);flex:none}
.finder input{flex:1;min-width:0;border:0;outline:0;font:500 16px var(--body);background:transparent;color:var(--ink)}
.finder kbd{font:600 12px var(--body);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--soft)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.trust{display:flex;flex-wrap:wrap;gap:12px 28px;color:var(--ink-2);font-size:15px}
.trust div{display:flex;align-items:center;gap:10px}
.trust .dot{width:32px;height:32px;border-radius:50%;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.trust .dot svg{width:16px;height:16px}
.trust b{color:var(--ink)}

/* Device mock */
.stage{position:relative;height:540px;display:grid;place-items:center}
.phone{width:270px;height:520px;border-radius:44px;background:var(--ink);padding:11px;box-shadow:0 40px 80px -30px rgba(10,35,71,.45);position:relative;z-index:2;animation:float 7s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}
.screen{height:100%;border-radius:34px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.notch{width:90px;height:24px;background:var(--ink);border-radius:0 0 14px 14px;margin:0 auto}
.scr-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 6px;font:700 13px var(--display)}
.scr-head span{font:500 11px var(--body);color:var(--muted)}
.scr-hero{margin:6px 12px;border-radius:18px;padding:16px;background:linear-gradient(135deg,var(--accent),#5bb450);color:#fff}
.scr-hero small{font-size:10px;opacity:.85;letter-spacing:.06em;text-transform:uppercase}
.scr-hero div{font:700 21px var(--display);line-height:1.1;margin:4px 0 10px}
.scr-hero em{font-style:normal;font-size:11px;background:rgba(255,255,255,.2);padding:3px 9px;border-radius:999px}
.bars{display:flex;align-items:flex-end;gap:6px;height:84px;margin:10px 16px 4px}
.bars i{flex:1;border-radius:6px 6px 2px 2px;background:var(--lilac-2)}
.bars i:last-child{background:var(--accent)}
.scr-cap{display:flex;justify-content:space-between;margin:0 16px;font-size:10px;color:var(--muted)}
.scr-list{margin:10px 12px;display:grid;gap:8px}
.scr-list div{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:12px;font-size:11px;font-weight:600}
.scr-list div i{width:26px;height:26px;border-radius:8px;background:var(--soft);flex:none}
.scr-list div em{margin-left:auto;font-style:normal;color:#14935a;font-weight:700}
.scr-btn{margin:auto 12px 14px;height:38px;border-radius:12px;background:var(--star);display:grid;place-items:center;font-size:12px;font-weight:700}
.chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 14px 10px 10px;box-shadow:0 18px 40px -20px rgba(10,35,71,.3);font-size:13px;font-weight:600;animation:float 6s ease-in-out infinite}
.chip .ci{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff}
.chip .ci svg{width:20px;height:20px}
.chip small{display:block;font-weight:500;color:var(--muted);font-size:11px}
.c1{top:40px;left:0;animation-delay:-1s}.c1 .ci{background:var(--accent)}
.c2{top:150px;right:0;animation-delay:-3s}.c2 .ci{background:var(--star);color:var(--ink)}
.c3{bottom:110px;left:10px;animation-delay:-2s}.c3 .ci{background:#14935a}
.c4{bottom:30px;right:20px;animation-delay:-4s}.c4 .ci{background:var(--ink)}
.halo{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,var(--lilac-2),transparent 70%);z-index:1}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr}.stage{height:500px}}
@media (max-width:480px){.chip{transform:scale(.86)}.c1{left:-8px}.c2{right:-8px}.phone{width:240px;height:470px}.stage{height:480px}}

/* Stats */
.stats{border-block:1px solid var(--line);background:var(--paper)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding-block:34px;padding-inline:24px;display:grid;gap:4px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat strong{font:600 clamp(34px,4vw,48px)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat strong sup{color:var(--accent);font-size:.55em;vertical-align:.5em;margin-left:2px}
.stat span{color:var(--muted);font-size:15px}
@media (max-width:760px){.stats .wrap{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}

/* Services grid */
section.block{padding-block:96px}
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:-12px auto 40px}
.filters button{font:600 15px var(--body);height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.2s}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.grid-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1100px){.grid-cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.grid-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.grid-cards{grid-template-columns:1fr}}
.svc{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s;min-width:0}
.svc:hover{transform:translateY(-4px);box-shadow:0 28px 50px -30px rgba(10,35,71,.35)}
.svc .art{position:relative;aspect-ratio:16/10;max-width:100%;background:var(--soft);display:grid;place-items:center;overflow:hidden}
.svc .art svg.illo{width:62%;height:auto}
.badge{position:absolute;top:14px;left:14px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.badge.hot{background:var(--accent);color:#fff;border-color:var(--accent)}
.svc .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.svc h3{font-size:20px}
.svc p{color:var(--muted);font-size:15px;line-height:1.5}
.stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.stack span{font-size:12px;font-weight:600;color:var(--ink-2);background:var(--soft);padding:4px 10px;border-radius:999px}
.svc .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--line);margin-top:auto}
.svc .foot small{color:var(--muted);font-size:13px}
.svc .foot a{font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;padding:9px 16px;border-radius:999px}
.svc .foot a:hover{background:var(--accent)}
.center{text-align:center;margin-top:44px}

/* Steps */
.steps{background:var(--paper)}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.step{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;display:grid;gap:12px;align-content:start;background:var(--paper)}
.step::before{counter-increment:s;content:"0" counter(s);font:600 15px var(--display);color:var(--accent);background:var(--lilac-2);width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.step h3{font-size:24px}
.step p{color:var(--muted)}
.step .links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.step .links a{font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;border:1px solid var(--line)}
.step .links a:hover{border-color:var(--ink)}
.step:not(:last-child)::after{content:"";position:absolute;top:53px;right:-21px;width:22px;border-top:2px dashed var(--line-2)}
@media (max-width:860px){.steps-grid{grid-template-columns:1fr}.step::after{display:none}}

/* Plans */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.plan{border-radius:32px;padding:40px;display:grid;grid-template-columns:1fr 150px;gap:24px;overflow:hidden;position:relative}
.plan.dark{background:var(--ink);color:#fff}
.plan.light{background:var(--lilac);border:1px solid var(--lilac-2)}
.plan .pc{display:grid;gap:16px;align-content:start;min-width:0}
.plan h3{font-size:32px}
.plan p{opacity:.78}
.plan ul{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:10px}
.plan li{display:flex;gap:10px;align-items:center;font-weight:500}
.plan li::before{content:"";width:20px;height:20px;flex:none;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.plan .acts{display:flex;flex-wrap:wrap;gap:10px}
.plan.dark .btn-pill{background:#fff;color:var(--ink)}
.plan.light .btn-pill{background:var(--ink);color:#fff}
.btn-pill{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;padding:12px 20px 12px 14px;border-radius:999px}
.btn-pill .wa{width:24px;height:24px;border-radius:50%;background:var(--wa);display:grid;place-items:center}
.btn-pill .wa svg{width:14px;height:14px;fill:#fff}
.btn-ghost{display:inline-flex;align-items:center;font-weight:600;font-size:15px;padding:12px 18px;border-radius:999px;border:1px solid currentColor;opacity:.85}
.plan-art{align-self:end;justify-self:end;width:150px}
@media (max-width:980px){.plans{grid-template-columns:1fr}}
@media (max-width:560px){.plan{grid-template-columns:1fr;padding:28px}.plan-art{display:none}.plan h3{font-size:27px}}

/* Clients */
.clients{padding-block:56px;border-block:1px solid var(--line);background:var(--paper)}
.clients p.lab{text-align:center;color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}
.logo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px}
.logo-row span{font:600 20px var(--display);color:#9a9aa6;letter-spacing:-.01em;transition:color .2s}
.logo-row span:hover{color:var(--ink)}

/* CTA */
.cta-band{background:var(--ink);color:#fff;border-radius:36px;padding:56px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(47,143,47,.55),transparent 70%)}
.cta-band > *{position:relative}
.cta-band h2{font-size:clamp(30px,4vw,46px)}
.cta-band p{color:rgba(255,255,255,.72);font-size:18px;margin:16px 0 22px;max-width:52ch}
.cta-band ul{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:10px}
.cta-band li{font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.cta-band .btn-dark{background:#fff;color:var(--ink)}
.windows{position:relative;height:300px}
.win{position:absolute;background:#fff;border-radius:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);overflow:hidden;color:var(--ink)}
.win .bar{height:28px;background:var(--soft);display:flex;align-items:center;gap:6px;padding:0 12px}
.win .bar i{width:8px;height:8px;border-radius:50%;background:var(--line-2)}
.w1{inset:0 60px 60px 0}.w2{width:200px;height:170px;right:0;bottom:0}
.w1 .in{padding:18px;display:grid;gap:10px}
.w1 .in b{font:700 20px var(--display)}
.ln{height:9px;border-radius:9px;background:var(--soft)}
.w1 .row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.w1 .row i{height:60px;border-radius:10px;background:var(--lilac-2)}
.w1 .row i:nth-child(2){background:var(--accent)}
.w2 .in{padding:16px;display:grid;gap:8px}
.w2 .score{font:700 40px/1 var(--display);color:#14935a}
.w2 small{color:var(--muted);font-size:12px}
@media (max-width:900px){.cta-band{grid-template-columns:1fr;padding:36px 24px}.windows{height:240px}}

/* Testimonials */
.voices{background:var(--lilac);background-image:radial-gradient(at 50% 66%,var(--lilac-2) 0,transparent 48%);overflow:hidden}
.rating{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:-20px;margin-bottom:40px;font-weight:600}
.stars{color:var(--star);letter-spacing:2px}
.t-row{display:flex;gap:20px;width:max-content;animation:slide 60s linear infinite}
.t-row:hover{animation-play-state:paused}
.t-mask{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tcard{width:360px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px;display:grid;gap:14px;align-content:start}
.tcard q{quotes:none;font-size:16px;color:var(--ink-2)}
.who{display:flex;align-items:center;gap:12px}
.av{width:40px;height:40px;border-radius:50%;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center;font:700 16px var(--display)}
.who b{display:block;font-size:15px}
.who small{color:var(--muted);font-size:13px}
.tcard .t-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tcard .stars .off{color:var(--line-2)}
.tcard .src{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--lilac-2);padding:3px 9px;border-radius:999px}
.tcard.slot{border-style:dashed;border-color:var(--line-2);background:var(--soft)}
.tcard.slot q,.tcard.slot b,.tcard.slot small{color:var(--muted);font-style:italic}
.rating{flex-wrap:wrap;text-align:center}
.rating a{color:var(--accent);font-weight:600}
.rating .r-note{flex-basis:100%;color:var(--muted);font-weight:500;font-size:13px}
.sample{justify-self:start;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-2);padding:3px 8px;border-radius:6px}
@media (max-width:480px){.tcard{width:290px}}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq-wrap .sec-head{text-align:left;justify-items:start;margin:0;position:sticky;top:110px}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font:600 19px var(--display);letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary .pm{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:.25s}
details[open] summary .pm{transform:rotate(45deg);background:var(--ink);color:#fff;border-color:var(--ink)}
details p{color:var(--muted);padding-bottom:22px;max-width:62ch}
@media (max-width:860px){.faq-wrap{grid-template-columns:1fr;gap:20px}.faq-wrap .sec-head{position:static}}

/* Contact */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.c-info{background:var(--soft);border-radius:28px;padding:36px;display:grid;gap:22px;align-content:start}
.c-info h3{font-size:30px}
.c-line{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center}
.c-line .ic{width:44px;height:44px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--accent)}
.c-line .ic svg{width:20px;height:20px}
.c-line small{display:block;color:var(--muted);font-size:13px}
.c-line b{user-select:all;font-size:17px}
button.copy{margin-left:8px;font:600 12px var(--body);border:1px solid var(--line-2);background:var(--paper);border-radius:999px;padding:3px 10px;cursor:pointer;color:var(--ink-2)}
.offices{display:flex;flex-wrap:wrap;gap:8px}
.offices span{font-size:14px;font-weight:600;padding:7px 13px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
form.quote{border:1px solid var(--line);border-radius:28px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.quote h3{grid-column:1/-1;font-size:26px}
.fld{display:grid;gap:6px;min-width:0}
.fld.full{grid-column:1/-1}
.fld label{font-size:14px;font-weight:600;color:var(--ink-2)}
.fld input,.fld select,.fld textarea{font:500 16px var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:14px;padding:13px 16px;width:100%}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.form-note{grid-column:1/-1;font-size:14px;color:#14935a;font-weight:600}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
@media (max-width:560px){form.quote{grid-template-columns:1fr;padding:24px}.c-info{padding:24px}}

/* Footer */
footer{background:var(--ink);color:rgba(255,255,255,.72);margin-top:96px;padding-block:72px 32px}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
footer .logo{color:#fff}
footer h4{color:#fff;font-size:17px;margin-bottom:16px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15px}
footer ul a:hover{color:#fff}
footer .about{display:grid;gap:16px;font-size:15px;align-content:start}
footer .about b{color:#fff;user-select:all}
.news{display:flex;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px;margin-top:6px}
.news input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;font:500 15px var(--body);padding-left:12px}
.news button{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:10px 18px;font:600 14px var(--body);cursor:pointer}
.socials{display:flex;gap:10px;margin-top:16px}
.socials a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center}
.socials a:hover{background:#fff;color:var(--ink)}
.socials svg{width:18px;height:18px;fill:currentColor}
footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:56px;padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px}
footer .bottom nav{display:flex;gap:20px}
@media (max-width:960px){footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){footer .top{grid-template-columns:1fr}}

.wa-float{position:fixed;left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;width:56px;height:56px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(37,211,102,.7)}
.wa-float svg{width:28px;height:28px;fill:#fff}

/* Illustrations */
.scene{display:block;width:100%;height:100%}
.svc .art svg.scene{position:absolute;inset:0}
.hero-visual{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:16/11;max-width:100%;box-shadow:0 40px 80px -40px rgba(10,35,71,.35);border:1px solid var(--line);background:var(--lilac)}
.hero-visual .float{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(10,35,71,.92);color:#fff;border-radius:20px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;backdrop-filter:blur(8px)}
.hero-visual .float b{display:block;font:600 15px var(--display)}
.hero-visual .float small{color:rgba(255,255,255,.65);font-size:12.5px}
.hero-visual .float .btn-dark{background:#fff;color:var(--ink)}
.vis-frame{border-radius:24px;overflow:hidden;aspect-ratio:16/9;max-width:100%;border:1px solid var(--line);margin-top:22px;box-shadow:0 30px 60px -40px rgba(10,35,71,.35)}
.loc .thumb{border-radius:16px;overflow:hidden;aspect-ratio:16/8;margin:-8px -8px 6px;max-width:calc(100% + 16px)}
.step .thumb{border-radius:16px;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);margin-bottom:6px;max-width:100%}
.step::before{position:absolute;top:44px;left:44px;z-index:2;box-shadow:0 6px 16px -6px rgba(10,35,71,.3);background:#fff}


/* Case studies */
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media (max-width:860px){.case-grid{grid-template-columns:1fr}}
.case{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;min-width:0;transition:box-shadow .25s,transform .25s}
.case:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(10,35,71,.35)}
.case .c-art{position:relative;aspect-ratio:16/8;max-width:100%;overflow:hidden;background:var(--lilac)}
.case .c-art .tag{position:absolute;top:16px;left:16px;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.case .c-body{padding:26px;display:grid;gap:14px;flex:1;align-content:start}
.case .c-client{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.case h3{font-size:24px}
.case p{color:var(--ink-2);font-size:15.5px}
.case .c-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.case .c-metrics div{background:var(--soft);border-radius:16px;padding:14px;display:grid;gap:2px}
.case .c-metrics strong{font:600 24px/1.1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.case .c-metrics span{font-size:12.5px;color:var(--muted);line-height:1.35}
.case .c-metrics .slot strong{color:var(--muted);font-style:italic}
.case details{border:0;border-top:1px solid var(--line);margin-top:4px}
.case summary{font:600 15px var(--body);padding:16px 0 4px;color:var(--accent)}
.case summary .pm{width:28px;height:28px}
.case dl{display:grid;gap:12px;margin:8px 0 6px}
.case dt{font-weight:700;font-size:14px;color:var(--ink)}
.case dd{margin:2px 0 0;color:var(--muted);font-size:15px}
@media (max-width:480px){.case .c-metrics{grid-template-columns:1fr 1fr}}


.dd-menu small{display:none}
.dd-menu a{grid-template-columns:32px 1fr;padding:8px 10px}
.dd-menu .ic{width:32px;height:32px}
.dd-menu b{font-weight:500;font-size:15px}
.reveal{transition:transform .7s ease,opacity .7s ease}
.reveal.pre{transform:translateY(16px);opacity:.001}

/* mobile menu: hidden on desktop, shown only when opened on small screens */
header.site .mobile-nav{display:none;height:auto;flex-direction:column;align-items:stretch;gap:0}
@media (max-width:1020px){header.site .mobile-nav.open{display:block}}

/* Brand logo */
.logo{color:#063468;gap:10px}
.logo .logo-mark{width:40px;height:auto;flex:none;display:block}
.logo i{color:#30892f}
footer .logo{color:#fff}
footer .logo .logo-mark{background:#fff;border-radius:12px;padding:5px;width:46px}
footer .logo i{color:#6fd36b}

/* Why choose us */
.why-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:40px}
.why-head .sec-head{text-align:left;justify-items:start;margin:0}
.why-intro{color:var(--ink-2);font-size:18px;max-width:58ch}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.why-card{border:1px solid var(--line);border-radius:22px;padding:26px;display:grid;gap:10px;align-content:start;background:var(--paper);transition:border-color .2s,transform .2s}
.why-card:hover{border-color:var(--accent);transform:translateY(-3px)}
.why-card .ic{width:46px;height:46px;border-radius:14px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.why-card .ic svg{width:21px;height:21px}
.why-card h3{font-size:19px}
.why-card p{color:var(--muted);font-size:15px}
@media (max-width:900px){.why-head{grid-template-columns:1fr;gap:14px}.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.why-grid{grid-template-columns:1fr}}

/* ---- inner pages ---- */

/* Layout: white canvas, faint blueprint grid behind the hero, near-black ink, one indigo accent, pill controls, wide rounded panels */
:root{
  --ink:#0a2347; --ink-2:#41414d; --muted:#6e6e7b; --line:#e7e7ee; --line-2:#dbdbe4;
  --paper:#ffffff; --soft:#f1f4f8; --lilac:#f4f8f3; --lilac-2:#e2f0df;
  --accent:#2f8f2f; --accent-2:#45a83f; --star:#ffb800; --wa:#25d366;
  --display:"Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;
  --body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:24px; --max:1240px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.sec-head{display:grid;gap:14px;max-width:760px;margin:0 auto 48px;text-align:center;justify-items:center}
.sec-head h2{font-size:clamp(32px,4.4vw,48px)}
.sec-head p{color:var(--muted);font-size:18px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;height:52px;border-radius:999px;font-weight:600;font-size:16px;border:1px solid transparent;transition:transform .2s,background .2s,box-shadow .2s;cursor:pointer;white-space:nowrap}
.btn-dark{background:var(--ink);color:var(--paper);padding:0 6px 0 22px}
.btn-dark .arr{width:40px;height:40px;border-radius:50%;background:var(--accent);display:grid;place-items:center;transition:transform .25s}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px rgba(47,143,47,.6)}
.btn-dark:hover .arr{transform:rotate(-45deg)}
.btn-light{background:var(--paper);color:var(--ink);border-color:var(--line);padding:0 6px 0 22px}
.btn-light .arr{width:40px;height:40px;border-radius:50%;background:var(--soft);display:grid;place-items:center;transition:transform .25s}
.btn-light:hover{border-color:var(--ink)}
.btn-light:hover .arr{transform:rotate(-45deg)}
.btn-sm{height:44px;font-size:15px;padding:0 5px 0 18px}
.btn-sm .arr{width:34px;height:34px}
.arr svg{width:16px;height:16px}

/* Announcement */
.announce{background:var(--ink);color:#fff;font-size:14px;overflow:hidden}
.announce .wrap{display:flex;align-items:center;gap:16px;height:44px}
.tag{flex:none;background:var(--accent);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px}
.marquee{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;gap:40px;width:max-content;animation:slide 38s linear infinite}
.marquee-track span{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.82)}
.marquee-track span b{color:#fff;font-weight:600}
@keyframes slide{to{transform:translateX(-50%)}}
.announce .cta{flex:none;background:#fff;color:var(--ink);font-weight:600;font-size:13px;padding:6px 14px;border-radius:999px}
@media (max-width:640px){.announce .cta{display:none}}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.03em}
.logo svg{width:30px;height:30px;flex:none}
.logo i{font-style:normal;color:var(--accent)}
nav.main{display:flex;align-items:center;gap:6px}
nav.main > a, .dd > button{font:500 16px var(--body);color:var(--ink-2);padding:10px 14px;border-radius:999px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
nav.main > a:hover,.dd > button:hover{color:var(--ink);background:var(--soft)}
nav.main > a.on{color:var(--accent)}
.dd{position:relative}
.dd svg{width:12px;height:12px;transition:transform .2s}
.dd-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,6px);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:10px;min-width:300px;box-shadow:0 24px 60px -24px rgba(10,35,71,.25);opacity:0;visibility:hidden;transition:.2s}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dd:hover svg{transform:rotate(180deg)}
.dd-menu a{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:10px;border-radius:14px}
.dd-menu a:hover{background:var(--soft)}
.dd-menu .ic{width:36px;height:36px;border-radius:10px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.dd-menu .ic svg{width:18px;height:18px;transform:none}
.dd-menu b{display:block;font-size:15px;font-weight:600}
.dd-menu small{display:block;color:var(--muted);font-size:13px;line-height:1.35}
.head-right{display:flex;align-items:center;gap:10px}
.phone-chip{font-size:15px;font-weight:600;color:var(--ink-2);display:flex;gap:8px;align-items:center;user-select:all}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);cursor:pointer;place-items:center}
.mobile-nav{display:none;border-top:1px solid var(--line);padding-block:12px 20px}
.mobile-nav a{display:block;padding:12px 4px;font-weight:600;border-bottom:1px solid var(--line)}
@media (max-width:1020px){nav.main,.phone-chip{display:none}.burger{display:grid}.mobile-nav.open{display:block}}
@media (max-width:480px){header.site .btn{display:none}}

/* Hero */
.hero{position:relative;padding-block:72px 64px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 30%,transparent 80%);opacity:.7;z-index:-1}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero-copy{display:grid;gap:24px;min-width:0}
.hero h1{font-size:clamp(38px,5.2vw,64px);line-height:1.04}
.typed{color:var(--accent);display:inline-block;min-width:4ch}
.typed::after{content:"";display:inline-block;width:3px;height:.85em;background:var(--accent);margin-left:4px;vertical-align:-.06em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero-lead{color:var(--ink-2);font-size:19px;max-width:56ch}
.finder{display:flex;align-items:center;gap:12px;height:58px;border:1px solid var(--line-2);border-radius:999px;padding:0 8px 0 22px;background:var(--paper);max-width:520px;box-shadow:0 10px 30px -18px rgba(10,35,71,.25)}
.finder svg{width:20px;height:20px;color:var(--muted);flex:none}
.finder input{flex:1;min-width:0;border:0;outline:0;font:500 16px var(--body);background:transparent;color:var(--ink)}
.finder kbd{font:600 12px var(--body);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--soft)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.trust{display:flex;flex-wrap:wrap;gap:12px 28px;color:var(--ink-2);font-size:15px}
.trust div{display:flex;align-items:center;gap:10px}
.trust .dot{width:32px;height:32px;border-radius:50%;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.trust .dot svg{width:16px;height:16px}
.trust b{color:var(--ink)}

/* Device mock */
.stage{position:relative;height:540px;display:grid;place-items:center}
.phone{width:270px;height:520px;border-radius:44px;background:var(--ink);padding:11px;box-shadow:0 40px 80px -30px rgba(10,35,71,.45);position:relative;z-index:2;animation:float 7s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}
.screen{height:100%;border-radius:34px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.notch{width:90px;height:24px;background:var(--ink);border-radius:0 0 14px 14px;margin:0 auto}
.scr-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 6px;font:700 13px var(--display)}
.scr-head span{font:500 11px var(--body);color:var(--muted)}
.scr-hero{margin:6px 12px;border-radius:18px;padding:16px;background:linear-gradient(135deg,var(--accent),#5bb450);color:#fff}
.scr-hero small{font-size:10px;opacity:.85;letter-spacing:.06em;text-transform:uppercase}
.scr-hero div{font:700 21px var(--display);line-height:1.1;margin:4px 0 10px}
.scr-hero em{font-style:normal;font-size:11px;background:rgba(255,255,255,.2);padding:3px 9px;border-radius:999px}
.bars{display:flex;align-items:flex-end;gap:6px;height:84px;margin:10px 16px 4px}
.bars i{flex:1;border-radius:6px 6px 2px 2px;background:var(--lilac-2)}
.bars i:last-child{background:var(--accent)}
.scr-cap{display:flex;justify-content:space-between;margin:0 16px;font-size:10px;color:var(--muted)}
.scr-list{margin:10px 12px;display:grid;gap:8px}
.scr-list div{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:12px;font-size:11px;font-weight:600}
.scr-list div i{width:26px;height:26px;border-radius:8px;background:var(--soft);flex:none}
.scr-list div em{margin-left:auto;font-style:normal;color:#14935a;font-weight:700}
.scr-btn{margin:auto 12px 14px;height:38px;border-radius:12px;background:var(--star);display:grid;place-items:center;font-size:12px;font-weight:700}
.chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 14px 10px 10px;box-shadow:0 18px 40px -20px rgba(10,35,71,.3);font-size:13px;font-weight:600;animation:float 6s ease-in-out infinite}
.chip .ci{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff}
.chip .ci svg{width:20px;height:20px}
.chip small{display:block;font-weight:500;color:var(--muted);font-size:11px}
.c1{top:40px;left:0;animation-delay:-1s}.c1 .ci{background:var(--accent)}
.c2{top:150px;right:0;animation-delay:-3s}.c2 .ci{background:var(--star);color:var(--ink)}
.c3{bottom:110px;left:10px;animation-delay:-2s}.c3 .ci{background:#14935a}
.c4{bottom:30px;right:20px;animation-delay:-4s}.c4 .ci{background:var(--ink)}
.halo{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,var(--lilac-2),transparent 70%);z-index:1}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr}.stage{height:500px}}
@media (max-width:480px){.chip{transform:scale(.86)}.c1{left:-8px}.c2{right:-8px}.phone{width:240px;height:470px}.stage{height:480px}}

/* Stats */
.stats{border-block:1px solid var(--line);background:var(--paper)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding-block:34px;padding-inline:24px;display:grid;gap:4px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat strong{font:600 clamp(34px,4vw,48px)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat strong sup{color:var(--accent);font-size:.55em;vertical-align:.5em;margin-left:2px}
.stat span{color:var(--muted);font-size:15px}
@media (max-width:760px){.stats .wrap{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}

/* Services grid */
section.block{padding-block:96px}
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:-12px auto 40px}
.filters button{font:600 15px var(--body);height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.2s}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.grid-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1100px){.grid-cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.grid-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.grid-cards{grid-template-columns:1fr}}
.svc{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s;min-width:0}
.svc:hover{transform:translateY(-4px);box-shadow:0 28px 50px -30px rgba(10,35,71,.35)}
.svc .art{position:relative;aspect-ratio:16/10;max-width:100%;background:var(--soft);display:grid;place-items:center;overflow:hidden}
.svc .art svg.illo{width:62%;height:auto}
.badge{position:absolute;top:14px;left:14px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.badge.hot{background:var(--accent);color:#fff;border-color:var(--accent)}
.svc .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.svc h3{font-size:20px}
.svc p{color:var(--muted);font-size:15px;line-height:1.5}
.stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.stack span{font-size:12px;font-weight:600;color:var(--ink-2);background:var(--soft);padding:4px 10px;border-radius:999px}
.svc .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--line);margin-top:auto}
.svc .foot small{color:var(--muted);font-size:13px}
.svc .foot a{font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;padding:9px 16px;border-radius:999px}
.svc .foot a:hover{background:var(--accent)}
.center{text-align:center;margin-top:44px}

/* Steps */
.steps{background:var(--paper)}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.step{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;display:grid;gap:12px;align-content:start;background:var(--paper)}
.step::before{counter-increment:s;content:"0" counter(s);font:600 15px var(--display);color:var(--accent);background:var(--lilac-2);width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.step h3{font-size:24px}
.step p{color:var(--muted)}
.step .links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.step .links a{font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;border:1px solid var(--line)}
.step .links a:hover{border-color:var(--ink)}
.step:not(:last-child)::after{content:"";position:absolute;top:53px;right:-21px;width:22px;border-top:2px dashed var(--line-2)}
@media (max-width:860px){.steps-grid{grid-template-columns:1fr}.step::after{display:none}}

/* Plans */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.plan{border-radius:32px;padding:40px;display:grid;grid-template-columns:1fr 150px;gap:24px;overflow:hidden;position:relative}
.plan.dark{background:var(--ink);color:#fff}
.plan.light{background:var(--lilac);border:1px solid var(--lilac-2)}
.plan .pc{display:grid;gap:16px;align-content:start;min-width:0}
.plan h3{font-size:32px}
.plan p{opacity:.78}
.plan ul{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:10px}
.plan li{display:flex;gap:10px;align-items:center;font-weight:500}
.plan li::before{content:"";width:20px;height:20px;flex:none;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.plan .acts{display:flex;flex-wrap:wrap;gap:10px}
.plan.dark .btn-pill{background:#fff;color:var(--ink)}
.plan.light .btn-pill{background:var(--ink);color:#fff}
.btn-pill{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;padding:12px 20px 12px 14px;border-radius:999px}
.btn-pill .wa{width:24px;height:24px;border-radius:50%;background:var(--wa);display:grid;place-items:center}
.btn-pill .wa svg{width:14px;height:14px;fill:#fff}
.btn-ghost{display:inline-flex;align-items:center;font-weight:600;font-size:15px;padding:12px 18px;border-radius:999px;border:1px solid currentColor;opacity:.85}
.plan-art{align-self:end;justify-self:end;width:150px}
@media (max-width:980px){.plans{grid-template-columns:1fr}}
@media (max-width:560px){.plan{grid-template-columns:1fr;padding:28px}.plan-art{display:none}.plan h3{font-size:27px}}

/* Clients */
.clients{padding-block:56px;border-block:1px solid var(--line);background:var(--paper)}
.clients p.lab{text-align:center;color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}
.logo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px}
.logo-row span{font:600 20px var(--display);color:#9a9aa6;letter-spacing:-.01em;transition:color .2s}
.logo-row span:hover{color:var(--ink)}

/* CTA */
.cta-band{background:var(--ink);color:#fff;border-radius:36px;padding:56px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(47,143,47,.55),transparent 70%)}
.cta-band > *{position:relative}
.cta-band h2{font-size:clamp(30px,4vw,46px)}
.cta-band p{color:rgba(255,255,255,.72);font-size:18px;margin:16px 0 22px;max-width:52ch}
.cta-band ul{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:10px}
.cta-band li{font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.cta-band .btn-dark{background:#fff;color:var(--ink)}
.windows{position:relative;height:300px}
.win{position:absolute;background:#fff;border-radius:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);overflow:hidden;color:var(--ink)}
.win .bar{height:28px;background:var(--soft);display:flex;align-items:center;gap:6px;padding:0 12px}
.win .bar i{width:8px;height:8px;border-radius:50%;background:var(--line-2)}
.w1{inset:0 60px 60px 0}.w2{width:200px;height:170px;right:0;bottom:0}
.w1 .in{padding:18px;display:grid;gap:10px}
.w1 .in b{font:700 20px var(--display)}
.ln{height:9px;border-radius:9px;background:var(--soft)}
.w1 .row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.w1 .row i{height:60px;border-radius:10px;background:var(--lilac-2)}
.w1 .row i:nth-child(2){background:var(--accent)}
.w2 .in{padding:16px;display:grid;gap:8px}
.w2 .score{font:700 40px/1 var(--display);color:#14935a}
.w2 small{color:var(--muted);font-size:12px}
@media (max-width:900px){.cta-band{grid-template-columns:1fr;padding:36px 24px}.windows{height:240px}}

/* Testimonials */
.voices{background:var(--lilac);background-image:radial-gradient(at 50% 66%,var(--lilac-2) 0,transparent 48%);overflow:hidden}
.rating{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:-20px;margin-bottom:40px;font-weight:600}
.stars{color:var(--star);letter-spacing:2px}
.t-row{display:flex;gap:20px;width:max-content;animation:slide 60s linear infinite}
.t-row:hover{animation-play-state:paused}
.t-mask{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tcard{width:360px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px;display:grid;gap:14px;align-content:start}
.tcard q{quotes:none;font-size:16px;color:var(--ink-2)}
.who{display:flex;align-items:center;gap:12px}
.av{width:40px;height:40px;border-radius:50%;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center;font:700 16px var(--display)}
.who b{display:block;font-size:15px}
.who small{color:var(--muted);font-size:13px}
.sample{justify-self:start;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-2);padding:3px 8px;border-radius:6px}
@media (max-width:480px){.tcard{width:290px}}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq-wrap .sec-head{text-align:left;justify-items:start;margin:0;position:sticky;top:110px}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font:600 19px var(--display);letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary .pm{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:.25s}
details[open] summary .pm{transform:rotate(45deg);background:var(--ink);color:#fff;border-color:var(--ink)}
details p{color:var(--muted);padding-bottom:22px;max-width:62ch}
@media (max-width:860px){.faq-wrap{grid-template-columns:1fr;gap:20px}.faq-wrap .sec-head{position:static}}

/* Contact */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.c-info{background:var(--soft);border-radius:28px;padding:36px;display:grid;gap:22px;align-content:start}
.c-info h3{font-size:30px}
.c-line{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center}
.c-line .ic{width:44px;height:44px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--accent)}
.c-line .ic svg{width:20px;height:20px}
.c-line small{display:block;color:var(--muted);font-size:13px}
.c-line b{user-select:all;font-size:17px}
button.copy{margin-left:8px;font:600 12px var(--body);border:1px solid var(--line-2);background:var(--paper);border-radius:999px;padding:3px 10px;cursor:pointer;color:var(--ink-2)}
.offices{display:flex;flex-wrap:wrap;gap:8px}
.offices span{font-size:14px;font-weight:600;padding:7px 13px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
form.quote{border:1px solid var(--line);border-radius:28px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.quote h3{grid-column:1/-1;font-size:26px}
.fld{display:grid;gap:6px;min-width:0}
.fld.full{grid-column:1/-1}
.fld label{font-size:14px;font-weight:600;color:var(--ink-2)}
.fld input,.fld select,.fld textarea{font:500 16px var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:14px;padding:13px 16px;width:100%}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.form-note{grid-column:1/-1;font-size:14px;color:#14935a;font-weight:600}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
@media (max-width:560px){form.quote{grid-template-columns:1fr;padding:24px}.c-info{padding:24px}}

/* Footer */
footer{background:var(--ink);color:rgba(255,255,255,.72);margin-top:96px;padding-block:72px 32px}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
footer .logo{color:#fff}
footer h4{color:#fff;font-size:17px;margin-bottom:16px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15px}
footer ul a:hover{color:#fff}
footer .about{display:grid;gap:16px;font-size:15px;align-content:start}
footer .about b{color:#fff;user-select:all}
.news{display:flex;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px;margin-top:6px}
.news input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;font:500 15px var(--body);padding-left:12px}
.news button{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:10px 18px;font:600 14px var(--body);cursor:pointer}
.socials{display:flex;gap:10px;margin-top:16px}
.socials a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center}
.socials a:hover{background:#fff;color:var(--ink)}
.socials svg{width:18px;height:18px;fill:currentColor}
footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:56px;padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px}
footer .bottom nav{display:flex;gap:20px}
@media (max-width:960px){footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){footer .top{grid-template-columns:1fr}}

.wa-float{position:fixed;left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;width:56px;height:56px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(37,211,102,.7)}
.wa-float svg{width:28px;height:28px;fill:#fff}
.reveal{transition:transform .7s ease,opacity .7s ease}
.reveal.pre{transform:translateY(16px);opacity:.001}

/* mobile menu: hidden on desktop, shown only when opened on small screens */
header.site .mobile-nav{display:none;height:auto;flex-direction:column;align-items:stretch;gap:0}
@media (max-width:1020px){header.site .mobile-nav.open{display:block}}

/* Brand logo */
.logo{color:#063468;gap:10px}
.logo .logo-mark{width:40px;height:auto;flex:none;display:block}
.logo i{color:#30892f}
footer .logo{color:#fff}
footer .logo .logo-mark{background:#fff;border-radius:12px;padding:5px;width:46px}
footer .logo i{color:#6fd36b}

/* Careers page */
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.perks{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.perks{grid-template-columns:1fr}}
.jobs{display:grid;gap:14px}
.job{border:1px solid var(--line);border-radius:22px;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;background:var(--paper);transition:border-color .2s}
.job:hover{border-color:var(--ink)}
.job h3{font-size:21px}
.job p{color:var(--muted);font-size:15px;margin-top:6px}
.job .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.job .meta span{font-size:13px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--soft);color:var(--ink-2)}
.job .meta .dept{background:var(--lilac-2);color:var(--accent)}
.job .acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:700px){.job{grid-template-columns:1fr}.job .acts{justify-content:flex-start}}
.job-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.job-filter button{font:600 14px var(--body);height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer}
.job-filter button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
form.apply{border:1px solid var(--line);border-radius:28px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--paper)}
form.apply h3{grid-column:1/-1;font-size:26px}
@media (max-width:560px){form.apply{grid-template-columns:1fr;padding:22px}}
.fld input[type=file]{padding:10px 12px;background:var(--soft)}

/* Why choose us */
.why-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:40px}
.why-head .sec-head{text-align:left;justify-items:start;margin:0}
.why-intro{color:var(--ink-2);font-size:18px;max-width:58ch}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.why-card{border:1px solid var(--line);border-radius:22px;padding:26px;display:grid;gap:10px;align-content:start;background:var(--paper);transition:border-color .2s,transform .2s}
.why-card:hover{border-color:var(--accent);transform:translateY(-3px)}
.why-card .ic{width:46px;height:46px;border-radius:14px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.why-card .ic svg{width:21px;height:21px}
.why-card h3{font-size:19px}
.why-card p{color:var(--muted);font-size:15px}
@media (max-width:900px){.why-head{grid-template-columns:1fr;gap:14px}.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.why-grid{grid-template-columns:1fr}}

/* Service page extras */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev-grid .tcard{width:auto}
@media (max-width:900px){.rev-grid{grid-template-columns:1fr}}
.case-wide{display:grid;grid-template-columns:1fr 1.1fr;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--paper)}
.case-wide .c-art{position:relative;min-height:280px;background:var(--lilac)}
.case-wide .c-art svg{position:absolute;inset:0}
.case-wide .c-art .tag{position:absolute;top:16px;left:16px;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.case-wide .c-body{padding:30px;display:grid;gap:16px;align-content:start}
.case-wide .c-client{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.case-wide dl{display:grid;gap:12px;margin:0}
.case-wide dt{font-weight:700;font-size:14px}
.case-wide dd{margin:2px 0 0;color:var(--muted);font-size:15px}
.case-wide .c-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.case-wide .c-metrics div{background:var(--soft);border-radius:16px;padding:14px;display:grid;gap:2px}
.case-wide .c-metrics strong{font:600 22px/1.1 var(--display);letter-spacing:-.02em}
.case-wide .c-metrics span{font-size:12.5px;color:var(--muted);line-height:1.35}
.case-wide .c-metrics .slot strong{color:var(--muted);font-style:italic}
@media (max-width:860px){.case-wide{grid-template-columns:1fr}.case-wide .c-art{min-height:0;aspect-ratio:16/9}}
@media (max-width:480px){.case-wide .c-metrics{grid-template-columns:1fr 1fr}}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.blog-grid{grid-template-columns:1fr}}
.post{border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;background:var(--paper);transition:transform .2s,box-shadow .2s;min-width:0}
a.post:hover{transform:translateY(-3px);box-shadow:0 24px 50px -32px rgba(10,35,71,.35)}
.post .p-art{aspect-ratio:16/9;max-width:100%;overflow:hidden;background:var(--lilac)}
.post .p-body{padding:20px;display:grid;gap:8px;align-content:start}
.post .p-meta{font-size:12.5px;font-weight:600;color:var(--accent)}
.post h3{font-size:19px}
.post p{color:var(--muted);font-size:15px}
.post .go{font-weight:700;font-size:14px;color:var(--accent);margin-top:4px}
.post .soon{justify-self:start;font-size:12px;font-weight:700;color:var(--muted);border:1px dashed var(--line-2);padding:3px 9px;border-radius:999px;margin-top:4px}
.blog-filter{margin-bottom:24px}
.map-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}
.map-split .sec-head{text-align:left;justify-items:start;margin:0}
@media (max-width:900px){.map-split{grid-template-columns:1fr}}
.office-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:6px}
.office-list a{display:grid;grid-template-columns:12px 1fr;column-gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.office-list a:hover{border-color:var(--accent)}
.office-list .dotp{width:10px;height:10px;border-radius:50%;background:var(--accent);grid-row:span 2}
.office-list b{font-size:15px}
.office-list small{color:var(--muted);font-size:12.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:420px){.office-list{grid-template-columns:1fr}}
.map-wrap{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(10,35,71,.35)}
.office-map{display:block;width:100%;height:auto}
.map-pin:hover circle:nth-child(2){r:9}

/* Technology logo tiles */
.tech-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.tech-tile{border:1px solid var(--line);border-radius:20px;padding:20px 16px;display:grid;justify-items:center;text-align:center;gap:6px;background:var(--paper);transition:border-color .2s,transform .2s}
.tech-tile:hover{border-color:var(--accent);transform:translateY(-3px)}
.tech-tile .logo-slot{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--soft);margin-bottom:6px;overflow:hidden}
.tech-tile .logo-slot img{max-width:44px;max-height:44px;object-fit:contain}
.tech-tile .mono{width:64px;height:64px;display:grid;place-items:center;font:700 22px var(--display);letter-spacing:-.02em;color:#fff;background:linear-gradient(135deg,var(--ink),#0b4a8f)}
.tech-tile:nth-child(3n+2) .mono{background:linear-gradient(135deg,var(--accent),#5bb450)}
.tech-tile:nth-child(3n) .mono{background:linear-gradient(135deg,#0b4a8f,#2f8f2f)}
.tech-tile .t-name{font-weight:700;font-size:15px;line-height:1.25}
.tech-tile .t-role{font-size:12.5px;color:var(--muted)}
/* Related services */
.sub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:980px){.sub-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.sub-grid{grid-template-columns:1fr}}
.sub{display:grid;grid-template-columns:44px 1fr 20px;gap:14px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--paper);transition:border-color .2s,background .2s}
.sub:hover{border-color:var(--accent);background:var(--lilac)}
.sub .ic{width:44px;height:44px;border-radius:13px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.sub .ic svg{width:20px;height:20px}
.sub b{display:block;font:600 16.5px/1.3 var(--display);color:var(--ink)}
.sub small{display:block;color:var(--muted);font-size:14px;line-height:1.45;margin-top:4px}
.sub-go{color:var(--accent);font-weight:700;align-self:center;transition:transform .2s}
.sub:hover .sub-go{transform:translateX(4px)}


/* Inner pages: breadcrumb hero, sticky in-page tabs, two-column detail blocks */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted)}
.crumbs a:hover{color:var(--accent)}
.crumbs span[aria-current]{color:var(--ink);font-weight:600}
.phero{position:relative;padding-block:56px 56px;overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 80% at 70% 20%,#000 20%,transparent 75%);opacity:.7;z-index:-1}
.phero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.phero .copy{display:grid;gap:20px;min-width:0}
.phero h1{font-size:clamp(34px,4.8vw,58px);line-height:1.05}
.phero h1 em{font-style:normal;color:var(--accent)}
.phero .lead{color:var(--ink-2);font-size:19px;max-width:58ch}
.ticks{display:flex;flex-wrap:wrap;gap:10px}
.ticks span{font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--line);display:inline-flex;gap:8px;align-items:center}
.ticks span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.hero-card{background:var(--ink);color:#fff;border-radius:32px;padding:30px;display:grid;gap:18px;position:relative;overflow:hidden;min-width:0}
.hero-card::before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(47,143,47,.6),transparent 70%)}
.hero-card > *{position:relative}
.hero-card h3{font-size:22px}
.hero-card .row{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;font-size:15px}
.hero-card .row .ic{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.hero-card .row .ic svg{width:18px;height:18px}
.hero-card small{display:block;color:rgba(255,255,255,.6);font-size:12px}
.hero-card b{user-select:all}
.hero-card .btn-dark{background:#fff;color:var(--ink);justify-self:start}
.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini-stats div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px}
.mini-stats strong{display:block;font:600 26px/1 var(--display)}
@media (max-width:920px){.phero .wrap{grid-template-columns:1fr}}

.tech-strip{border-block:1px solid var(--line);padding-block:18px;overflow:hidden}
.tech-strip .t-row{animation-duration:40s}
.tech-strip span{font:600 16px var(--display);color:#9a9aa6;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.tech-strip span::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--line-2);transform:rotate(45deg)}

.subnav{position:sticky;top:calc(76px + env(safe-area-inset-top,0px));z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.subnav a{flex:none;font-size:14px;font-weight:600;color:var(--ink-2);padding:8px 14px;border-radius:999px}
.subnav a:hover{background:var(--soft);color:var(--ink)}

.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.split .sec-head{text-align:left;justify-items:start;margin:0}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:28px}}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.feat-grid{grid-template-columns:1fr}}
.feat{border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:grid;gap:12px;align-content:start;background:var(--paper)}
.feat .ic{width:48px;height:48px;border-radius:14px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.feat .ic svg{width:22px;height:22px}
.feat h3{font-size:21px}
.feat p{color:var(--muted);font-size:15.5px}
.deliv{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.deliv{grid-template-columns:1fr}}
.deliv div{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:18px;background:var(--soft);font-weight:600;font-size:15.5px}
.deliv div::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:p}
@media (max-width:980px){.proc{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.proc{grid-template-columns:1fr}}
.proc div{border-top:2px solid var(--ink);padding-top:20px;display:grid;gap:8px;align-content:start}
.proc div::before{counter-increment:p;content:"Step " counter(p);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.proc h3{font-size:21px}
.proc p{color:var(--muted);font-size:15.5px}

.tech-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tech-tabs button{font:600 14px var(--body);height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer}
.tech-tabs button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.tech-grid div{border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}
.tech-grid div i{width:30px;height:30px;border-radius:9px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center;font:700 13px var(--display);font-style:normal;flex:none}

.related{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:980px){.related{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.related{grid-template-columns:1fr}}
.related a{border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:6px;transition:.2s;background:var(--paper)}
.related a:hover{border-color:var(--ink);transform:translateY(-3px)}
.related b{font:600 18px var(--display)}
.related small{color:var(--muted);font-size:14px}
.related .go{color:var(--accent);font-size:14px;font-weight:700;margin-top:6px}

.areas{display:flex;flex-wrap:wrap;gap:10px}
.areas span{font-weight:600;font-size:15px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper)}
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:820px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.ind-grid{grid-template-columns:1fr}}
.ind{border-radius:20px;padding:22px;background:var(--lilac);border:1px solid var(--lilac-2);display:grid;gap:6px}
.ind b{font:600 18px var(--display)}
.ind small{color:var(--muted);font-size:14.5px}
.city-map{border-radius:28px;background:var(--soft);padding:32px;display:grid;gap:18px;align-content:start}
.city-map h3{font-size:26px}
.other-cities{display:flex;flex-wrap:wrap;gap:10px}
.other-cities a{font-weight:600;padding:10px 18px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.other-cities a:hover{border-color:var(--ink)}
.other-cities a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.hub-head{padding-block:56px 24px}
.hub-head .wrap{display:grid;gap:18px;max-width:900px}
.loc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.loc-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.loc-cards{grid-template-columns:1fr}}
.loc{border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:grid;gap:10px;transition:.2s;background:var(--paper)}
.loc:hover{transform:translateY(-4px);box-shadow:0 28px 50px -30px rgba(10,35,71,.35)}
.loc .pin{width:44px;height:44px;border-radius:50%;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.loc .pin svg{width:20px;height:20px}
.loc h3{font-size:24px}
.loc p{color:var(--muted);font-size:15px}
.loc .go{font-weight:700;color:var(--accent);font-size:14px}
.note{font-size:13px;color:var(--muted)}
#view section.block{padding-block:80px}
#view section.block.tight{padding-top:0}

/* Illustrations */
.scene{display:block;width:100%;height:100%}
.svc .art svg.scene{position:absolute;inset:0}
.hero-visual{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:16/11;max-width:100%;box-shadow:0 40px 80px -40px rgba(10,35,71,.35);border:1px solid var(--line);background:var(--lilac)}
.hero-visual .float{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(10,35,71,.92);color:#fff;border-radius:20px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;backdrop-filter:blur(8px)}
.hero-visual .float b{display:block;font:600 15px var(--display)}
.hero-visual .float small{color:rgba(255,255,255,.65);font-size:12.5px}
.hero-visual .float .btn-dark{background:#fff;color:var(--ink)}
.vis-frame{border-radius:24px;overflow:hidden;aspect-ratio:16/9;max-width:100%;border:1px solid var(--line);margin-top:22px;box-shadow:0 30px 60px -40px rgba(10,35,71,.35)}
.loc .thumb{border-radius:16px;overflow:hidden;aspect-ratio:16/8;margin:-8px -8px 6px;max-width:calc(100% + 16px)}
.step .thumb{border-radius:16px;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);margin-bottom:6px;max-width:100%}
.step::before{position:absolute;top:44px;left:44px;z-index:2;box-shadow:0 6px 16px -6px rgba(10,35,71,.3);background:#fff}

.dd-menu small{display:none}
.dd-menu a{grid-template-columns:32px 1fr;padding:8px 10px}
.dd-menu .ic{width:32px;height:32px}
.dd-menu b{font-weight:500;font-size:15px}

/* About page */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:980px){.values{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.values{grid-template-columns:1fr}}
.value{border:1px solid var(--line);border-radius:22px;padding:24px;display:grid;gap:10px;align-content:start;background:var(--paper)}
.value .ic{width:44px;height:44px;border-radius:13px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.value .ic svg{width:20px;height:20px}
.value h3{font-size:19px}
.value p{color:var(--muted);font-size:15px}
.story{display:grid;gap:16px;color:var(--ink-2);font-size:17px;max-width:62ch}
.products{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:760px){.products{grid-template-columns:1fr}}
.product{border-radius:28px;padding:30px;display:grid;gap:12px;align-content:start}
.product.dark{background:var(--ink);color:#fff}
.product.light{background:var(--lilac);border:1px solid var(--lilac-2)}
.product h3{font-size:26px}
.product.dark h3{color:#fff}
.product p{opacity:.8}
.product .pill{justify-self:start;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--accent);color:#fff}
.product a.lnk{font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:3px}

/* ===== Mobile fixes ===== */
footer .top{grid-template-columns:repeat(4,minmax(0,1fr))}
footer .top>*,.contact>*,.c-info>*,.c-line>div,.split>*,.map-split>*,.why-head>*{min-width:0}
.c-line b{overflow-wrap:anywhere}
.news input{width:100%}
@media (max-width:960px){footer .top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
  .hero .wrap,.phero .wrap,.hero-copy,.phero .copy{grid-template-columns:minmax(0,1fr)}
  .stage{height:420px}
  .chip{display:none}
  .phero::before,.hero::before{display:none}
  section.block,#view section.block,main section.block{padding-block:56px}
  section.block.tight,main section.block.tight{padding-top:0}
  .sec-head{margin-bottom:28px}
  .phero{padding-block:28px 36px}
  .phero .wrap,.hero .wrap{gap:28px}
  .hero-visual{aspect-ratio:auto;display:flex;flex-direction:column}
  .hero-visual svg.scene{aspect-ratio:16/11;height:auto}
  .hero-visual .float{position:static;border-radius:0;backdrop-filter:none}
  .windows{display:none}
  .cta-band{padding:30px 22px;gap:0}
  .cta-band p{margin:12px 0 18px}
  .hero-ctas{gap:10px}
  .hero-ctas .btn{width:100%;justify-content:space-between}
  .why-head{margin-bottom:24px}
  .why-card,.feat{padding:20px}
  .stat{padding-inline:14px;padding-block:22px}
  .clients .logo-row{gap:10px 22px}
  .clients .logo-row span{font-size:16px}
  .tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tech-tile{padding:16px 10px}
  .tech-tile .logo-slot,.tech-tile .mono{width:52px;height:52px;font-size:18px}
  .case-wide .c-body{padding:22px}
  .c-info,.quote-ff,form.quote{padding:22px}
  .faq-wrap .sec-head{margin-bottom:8px}
  summary{font-size:17px;padding:18px 0}
  .plan{padding:26px}
  .office-list small{white-space:normal}
  .crumbs{font-size:13px}
  .step:not(:last-child)::after{display:none}
  footer{padding-block:48px 28px}
  footer .bottom{flex-direction:column}
}
@media (max-width:560px){
  .case .c-metrics,.case-wide .c-metrics{grid-template-columns:1fr;gap:8px}
  .case .c-metrics div,.case-wide .c-metrics div{display:flex;align-items:baseline;gap:12px;padding:12px 14px}
  .case .c-metrics strong,.case-wide .c-metrics strong{font-size:20px;flex:none;min-width:84px}
  footer .top{grid-template-columns:minmax(0,1fr);gap:28px}
  .phero h1{font-size:34px}
  .hero h1{font-size:36px}
  .sec-head h2{font-size:28px}
  .cta-band h2{font-size:27px}
  .mini-stats{grid-template-columns:1fr 1fr}
  .job{padding:18px}
  .sub{padding:16px;gap:12px;grid-template-columns:40px minmax(0,1fr) 16px}
  .sub .ic{width:40px;height:40px}
}

/* Industries */
.ind-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.ind-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.ind-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.ind-card{border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:8px;align-content:start;background:var(--paper);transition:border-color .2s,transform .2s}
.ind-card:hover{border-color:var(--accent);transform:translateY(-3px)}
.ind-card .ic{width:46px;height:46px;border-radius:14px;background:var(--lilac-2);color:var(--accent);display:grid;place-items:center}
.ind-card .ic svg{width:22px;height:22px}
.ind-card b{font:600 16.5px/1.3 var(--display);color:var(--ink)}
.ind-card small{color:var(--muted);font-size:13.5px;line-height:1.45}
.ind-card .go{color:var(--accent);font-weight:700;font-size:13.5px;margin-top:2px}
@media (max-width:420px){.ind-card{padding:16px}.ind-card small{display:none}}
.needs{display:grid;gap:12px}
.needs div{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;background:var(--soft);font-weight:600;font-size:16px}
.needs .x{flex:none;width:30px;height:30px;border-radius:50%;background:#fde8e8;color:#c0392b;display:grid;place-items:center;font-weight:800}
.rev-grid.one{grid-template-columns:minmax(0,720px);justify-content:center}

.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--ink-2);cursor:pointer}.chk input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--accent)}.chk a{color:var(--accent);text-decoration:underline}
.wa-hint{grid-column:1/-1;color:var(--muted);font-size:14px;margin-top:-6px}
.form-note .wa-send{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding:6px 14px;border-radius:999px;background:#25d366;color:#fff;font-weight:700;text-decoration:none}

.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
form button[disabled]{opacity:.6;cursor:wait}

/* ---- SEO related-links block ---- */
.seo-links{border-top:1px solid rgba(10,35,71,.08)}
.seo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
.seo-copy h2{margin:.35em 0 .5em}
.seo-copy p{color:#4a5568;line-height:1.7;margin:0}
.seo-lists{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.seo-lists h3{font-size:1rem;margin:0 0 .7em;color:#0a2347}
.seo-ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.seo-ul a{color:#0b4a8f;text-decoration:none;font-weight:500;line-height:1.4;display:inline-block}
.seo-ul a:hover,.seo-ul a:focus-visible{text-decoration:underline}
.seo-ul a::before{content:"→ ";color:#2f8f2f}
.seo-ul.ext a::after{content:" ↗";font-size:.85em;color:#6e6e7b}
@media (max-width:860px){.seo-grid{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width:480px){.seo-lists{grid-template-columns:minmax(0,1fr)}}
header.site .phone-chip{display:none}header.site nav.main{gap:0}header.site nav.main > a,header.site .dd > button{padding:10px 10px;font-size:15.5px}
@media (max-width:1260px){header.site nav.main{display:none}header.site .burger{display:grid}}
/* ---- trust: promises, consent, footer extras ---- */
.promises{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.promises li{display:flex;gap:12px;align-items:flex-start}
.promises b{display:block;color:#0a2347;font-size:15px}
.promises small{display:block;color:#5a6474;font-size:13.5px;line-height:1.45}
.p-ic{flex:none;width:36px;height:36px;border-radius:10px;background:#e2f0df;color:#2f8f2f;display:grid;place-items:center}
.p-ic svg{width:19px;height:19px}
.consent{margin-top:-4px}
.biz-line{display:block;margin-top:4px;opacity:.8;font-size:13px}
.f-social{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:18px 0 4px;font-size:14px}
.f-social span{opacity:.7}
.f-social a{color:inherit;text-decoration:underline;text-underline-offset:3px}
footer .bottom nav{flex-wrap:wrap}
.cookie-link{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;opacity:.85}
.cookie-link:hover{text-decoration:underline}
/* ---- lead capture: mobile bar, WhatsApp button, callback modal, audit ---- */
.m-bar{display:none}
.wa-fab{position:fixed;right:22px;bottom:22px;z-index:150;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(10,35,71,.25);transition:transform .2s}
.wa-fab svg{width:30px;height:30px}
.wa-fab:hover{transform:translateY(-2px)}
@media (max-width:768px){
 .wa-fab{display:none}
 .m-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:150;background:#fff;border-top:1px solid rgba(10,35,71,.12);box-shadow:0 -8px 24px rgba(10,35,71,.08);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
 .m-bar a,.m-bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:4px 2px;border:0;background:none;font:600 12px var(--body,inherit);color:#0a2347;text-decoration:none;border-radius:10px;cursor:pointer}
 .m-bar svg{width:21px;height:21px}
 .m-bar a[data-track="whatsapp"]{color:#1a9e4b}
 .m-bar .mb-primary{background:#0a2347;color:#fff}
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .cookie{bottom:calc(76px + env(safe-area-inset-bottom))!important}
}
.cb-open{margin-top:6px;justify-self:start;gap:8px}
.cb-open svg{width:18px;height:18px}
.cb-modal{position:fixed;inset:0;z-index:300;background:rgba(10,35,71,.55);display:grid;place-items:center;padding:16px;overflow-y:auto}
.cb-modal[hidden]{display:none}
.cb-box{position:relative;background:#fff;border-radius:20px;max-width:520px;width:100%;padding:28px 26px 22px;box-shadow:0 30px 80px rgba(10,35,71,.35)}
.cb-box h3{margin:6px 0 6px;font-size:26px;color:#0a2347}
.cb-sub{margin:0 0 14px;color:#5a6474;font-size:15px}
.cb-x{position:absolute;top:12px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:#f3f3f8;font-size:24px;line-height:1;cursor:pointer;color:#0a2347}
.cb-form{padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
body.modal-open{overflow:hidden}
.audit-sec{background:linear-gradient(135deg,#f4f8f3,#e2f0df)}
.audit-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.audit-copy h2{margin:.35em 0 .5em}
.audit-copy p{color:#33405a;line-height:1.7}
.audit-list{list-style:none;margin:18px 0;padding:0;display:grid;gap:10px}
.audit-list li{display:flex;gap:10px;align-items:flex-start;color:#0a2347;font-weight:500}
.audit-list svg{flex:none;width:18px;height:18px;margin-top:3px;color:#2f8f2f}
.audit-small{font-size:14px;color:#5a6474!important}
.audit-form{background:#fff}
@media (max-width:900px){.audit-wrap{grid-template-columns:minmax(0,1fr);gap:24px}}
/* ---- exit offer ---- */
.offer-box{text-align:left;border-top:6px solid #2f8f2f}
.of-tag{display:inline-flex;align-items:center;gap:8px;background:#e2f0df;color:#2f8f2f;font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.of-tag svg{width:15px;height:15px}
.offer-box h3{font-size:clamp(24px,3.4vw,30px);line-height:1.15;margin:12px 0 8px}
.of-win{margin-top:6px}
.of-win[hidden],.cb-form[hidden]{display:none}
.of-label{margin:0 0 6px;font-size:13px;color:#6e6e7b;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.of-code{display:flex;align-items:center;justify-content:space-between;gap:12px;border:2px dashed #2f8f2f;background:#f4f8f3;border-radius:14px;padding:14px 18px;margin-bottom:12px}
.of-code b{font:700 28px "Bricolage Grotesque",sans-serif;letter-spacing:.08em;color:#0a2347}
.of-wa{gap:8px;justify-content:center;width:100%}
.of-wa svg{width:20px;height:20px}
.of-terms{font-size:12px;color:#6e6e7b;margin:12px 0 4px;line-height:1.5}
.of-terms a{color:#6e6e7b;text-decoration:underline}
.of-no{display:block;margin:6px auto 0;background:none;border:0;color:#5a6474;font-size:14px;text-decoration:underline;cursor:pointer;padding:6px}
@media (max-width:600px){.offer-modal{align-items:end;padding:0}.offer-modal .offer-box{border-radius:22px 22px 0 0;max-height:92vh;overflow-y:auto;padding:22px 18px calc(16px + env(safe-area-inset-bottom))}}
/* ---- AI chat ---- */
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.chat-fab{position:fixed;right:22px;bottom:22px;z-index:160;display:flex;align-items:center;gap:10px;height:58px;padding:0 20px 0 16px;border:0;border-radius:999px;background:#0a2347;color:#fff;font:600 15.5px var(--body,inherit);cursor:pointer;box-shadow:0 14px 34px rgba(10,35,71,.32);transition:transform .2s}
.chat-fab:hover{transform:translateY(-2px)}
.chat-fab svg{width:26px;height:26px;flex:none}
.wa-fab{bottom:92px!important}
.chat-tip{position:fixed;right:22px;bottom:92px;z-index:161;max-width:280px;background:#fff;border:1px solid rgba(10,35,71,.12);border-radius:16px 16px 4px 16px;box-shadow:0 18px 40px rgba(10,35,71,.2);padding:14px 34px 14px 16px;font-size:14.5px;line-height:1.5;color:#33405a;cursor:pointer}
.chat-tip[hidden],.chat-panel[hidden]{display:none}
.chat-panel[data-lang="te"] .cp-log,.chat-panel[data-lang="te"] .cp-chips,.chat-panel[data-lang="te"] textarea{font-family:"Noto Sans Telugu","Hanken Grotesk",system-ui,sans-serif}
.chat-panel[data-lang="hi"] .cp-log,.chat-panel[data-lang="hi"] .cp-chips,.chat-panel[data-lang="hi"] textarea{font-family:"Noto Sans Devanagari","Hanken Grotesk",system-ui,sans-serif}
.chat-tip b{color:#0a2347}
.ct-x{position:absolute;top:6px;right:8px;border:0;background:none;font-size:20px;color:#6e6e7b;cursor:pointer}
body.chat-open .chat-tip,body.chat-open .wa-fab{display:none}
.chat-panel{position:fixed;right:22px;bottom:92px;z-index:170;width:380px;max-width:calc(100vw - 32px);height:min(600px,calc(100vh - 120px));background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(10,35,71,.32);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(10,35,71,.08)}
.cp-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:#0a2347;color:#fff}
.cp-av{width:36px;height:auto;background:#fff;border-radius:10px;padding:3px}
.cp-t{flex:1;min-width:0}
.cp-t b{display:block;font-size:15.5px}
.cp-t small{display:flex;align-items:center;gap:6px;font-size:12.5px;opacity:.85}
.cp-t small i{width:8px;height:8px;border-radius:50%;background:#5bd16b;display:inline-block}
.cp-tools{display:flex;align-items:center;gap:4px}
.cp-tools select{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:5px 6px;font:600 13px var(--body,inherit)}
.cp-tools select option{color:#0a2347}
.cp-btn{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:none;color:inherit;font-size:24px;line-height:1;cursor:pointer}
.cp-btn svg{width:19px;height:19px}
.cp-head .cp-btn:hover{background:rgba(255,255,255,.12)}
.cp-btn[aria-pressed="true"]{background:#2f8f2f;color:#fff}
.cp-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#f6f8fb}
.cm{max-width:86%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.55;overflow-wrap:anywhere}
.cm p{margin:0 0 6px}.cm p:last-child{margin:0}
.cm ul{margin:4px 0;padding-left:18px}
.cm a{color:#0b4a8f;text-decoration:underline}
.cm-bot{align-self:flex-start;background:#fff;color:#33405a;border:1px solid rgba(10,35,71,.08);border-bottom-left-radius:4px}
.cm-user{align-self:flex-end;background:#0b4a8f;color:#fff;border-bottom-right-radius:4px}
.cm-user a{color:#fff}
.cm-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.cm-acts a,.cm-acts button{border:1px solid #2f8f2f;background:#fff;color:#2f8f2f;border-radius:999px;padding:7px 12px;font:600 13px var(--body,inherit);text-decoration:none;cursor:pointer}
.cm-acts .yes{background:#2f8f2f;color:#fff}
.cm-acts button[disabled]{opacity:.6}
.cm-card{max-width:94%;border:1.5px solid #2f8f2f}
.cm-lead{display:grid;gap:4px;margin:6px 0;font-size:14px}
.cm-lead small{display:inline-block;min-width:60px;color:#6e6e7b}
.cm-legal{font-size:11.5px;color:#6e6e7b;margin-top:8px!important}
.cm-dots{display:inline-flex;gap:4px;padding:4px 0}
.cm-dots i{width:7px;height:7px;border-radius:50%;background:#9aa5b8;animation:cmb 1.2s infinite}
.cm-dots i:nth-child(2){animation-delay:.15s}.cm-dots i:nth-child(3){animation-delay:.3s}
@keyframes cmb{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.cm-dots i{animation:none}}
.cp-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;background:#f6f8fb}
.cp-chips:empty{display:none}
.cp-chips button{border:1px solid rgba(11,74,143,.3);background:#fff;color:#0b4a8f;border-radius:999px;padding:7px 11px;font:500 13px var(--body,inherit);cursor:pointer;text-align:left}
.cp-chips button:hover{background:#eef4fb}
.cp-form{display:flex;align-items:flex-end;gap:6px;padding:10px;border-top:1px solid rgba(10,35,71,.08);background:#fff}
.cp-form textarea{flex:1;resize:none;border:1px solid rgba(10,35,71,.18);border-radius:14px;padding:10px 12px;font:15px var(--body,inherit);line-height:1.4;max-height:110px;min-height:42px}
.cp-form textarea:focus{outline:2px solid #2f8f2f;outline-offset:0;border-color:transparent}
.cp-form .cp-btn{color:#0b4a8f;background:#eef4fb;width:42px;height:42px}
.cp-send{width:42px;height:42px;flex:none;border:0;border-radius:12px;background:#2f8f2f;color:#fff;display:grid;place-items:center;cursor:pointer}
.cp-send svg{width:19px;height:19px}
.cp-send[disabled]{opacity:.5}
.cp-foot{margin:0;padding:0 12px 10px;font-size:11.5px;color:#6e6e7b;background:#fff;text-align:center}
.cp-foot a{color:#6e6e7b;text-decoration:underline}
@media (max-width:768px){
 .chat-fab{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));height:54px;padding:0;width:54px;justify-content:center}
 .chat-fab .cf-label{display:none}
 .chat-tip{right:14px;bottom:calc(146px + env(safe-area-inset-bottom));max-width:min(280px,calc(100vw - 28px))}
 .chat-panel{inset:0;right:0;bottom:0;width:100%;max-width:none;height:100%;height:100dvh;border-radius:0;border:0}
 body.chat-open{overflow:hidden}
 body.chat-open .m-bar,body.chat-open .chat-fab{display:none}
 .cp-form textarea{font-size:16px}
}
/* ---- products ---- */
.dd-products{max-height:70vh;overflow-y:auto}
.dd-all{border-top:1px solid rgba(10,35,71,.08);margin-top:4px;display:block!important}
.dd-all span{white-space:nowrap}
.prod-sec{padding-block:40px!important}
.prod-grid + .plan-note{margin-top:22px}
.prod-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.prod-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid rgba(10,35,71,.1);border-radius:18px;padding:22px;min-width:0}
.prod-card .p-ic{width:44px;height:44px;border-radius:12px}
.prod-card .p-ic svg{width:22px;height:22px}
.prod-cat{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#2f8f2f}
.prod-card h3{margin:4px 0 6px;font-size:19px}
.prod-card h3 a{color:#0a2347;text-decoration:none}
.prod-card h3 a:hover{text-decoration:underline}
.prod-card p{margin:0 0 10px;color:#5a6474;font-size:14.5px;line-height:1.55}
.prod-links{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
.prod-links a{color:#0b4a8f;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.prod-links a:hover{text-decoration:underline}
.prod-card{flex-wrap:wrap}
.prod-thumb{display:block;flex:0 0 100%;margin:-22px -22px 4px;width:calc(100% + 44px);aspect-ratio:16/10;overflow:hidden;border-radius:18px 18px 0 0;border-bottom:1px solid rgba(10,35,71,.08)}
.prod-thumb svg,.prod-hero .hero-visual svg{display:block;width:100%;height:100%}
.prod-card>div{flex:1;min-width:0}
.prod-badges{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14.5px;color:#0a2347;font-weight:600}
.prod-badges li{display:flex;align-items:center;gap:6px}
.prod-badges svg{width:16px;height:16px;color:#2f8f2f;flex:none}
.prod-hero .hero-visual{aspect-ratio:16/10}
.prod-hero .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.prod-hero .btn svg{flex:none}
.prod-sum{color:#5a6474;margin:0;max-width:62ch}
.prod-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.prod-chips li{background:#e2f0df;color:#0a2347;font-weight:600;border-radius:999px;padding:9px 16px;font-size:15px}
.prod-thumb.real{background:#eef3f9;padding:14px 14px 0}
.prod-thumb.real img{box-shadow:0 6px 18px -6px rgba(10,35,71,.25);display:block;width:100%;height:100%;object-fit:cover;object-position:left top;border-radius:8px 8px 0 0}
.prod-hero.has-shot .wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:36px}
.prod-shot{min-width:0;margin-right:-20px}
@media (max-width:920px){.prod-hero.has-shot .wrap{grid-template-columns:minmax(0,1fr)}.prod-shot{margin-right:0}}
.prod-shot img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 40px rgba(10,35,71,.22))}
.fc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}
.fc{background:#fff;border:1px solid rgba(10,35,71,.1);border-radius:18px;padding:22px}
.fc .p-ic{width:44px;height:44px;border-radius:12px}
.fc .p-ic svg{width:22px;height:22px}
.fc h3{margin:14px 0 6px;font-size:18px;color:#0a2347}
.fc p{margin:0;color:#5a6474;font-size:14.5px;line-height:1.55}
.apps-sec{background:#f4f8f3}
.app-grid{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:22px;max-width:calc(var(--n,4) * 300px);margin:0 auto}
.app-card{margin:0;text-align:center}
.app-card img{display:block;width:100%;max-width:240px;height:auto;margin:0 auto 18px;filter:drop-shadow(0 18px 28px rgba(10,35,71,.22))}
.app-card h3{margin:0 0 6px;font-size:18px;color:#0a2347}
.app-card p{margin:0;color:#5a6474;font-size:14.5px;line-height:1.55}
@media (max-width:980px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.app-grid[style*="--n:3"]{grid-template-columns:minmax(0,1fr)}.app-grid[style*="--n:3"] img{max-width:220px}}
@media (max-width:520px){.app-grid{gap:14px}.app-card p{font-size:13.5px}}
.tech-chips{justify-content:center}
.apps-sec .plan-note{text-align:center;margin-top:28px}
.price-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;background:#0a2347;color:#fff;border-radius:24px;padding:34px;align-items:center}
.pc-tag{display:inline-block;background:rgba(255,255,255,.12);border-radius:20px;padding:5px 12px;font-size:13px;font-weight:600}
.pc-amt{display:flex;align-items:baseline;gap:10px;margin:14px 0 8px;flex-wrap:wrap}
.pc-amt b{font-size:clamp(44px,6vw,64px);line-height:1;letter-spacing:-.02em}
.pc-amt span{font-size:18px;color:#b8c8e3}
.price-card p{color:#d6e0f0;margin:0 0 18px}
.price-card .btn-dark{background:#2f8f2f}
.pc-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.pc-list li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;line-height:1.5;color:#eef3fb}
.pc-list svg{width:18px;height:18px;color:#7fd17a;flex:none;margin-top:2px}
@media (max-width:820px){.price-card{grid-template-columns:minmax(0,1fr);padding:24px}}
.hero-price{margin:0;font-size:16px;color:#33405a}.hero-price b{font-size:22px;color:#2f8f2f}
.card-price{margin:-4px 0 10px!important;font-size:14px!important;color:#33405a!important}.card-price b{color:#2f8f2f;font-size:17px}
.plan-more{display:block;text-align:center;margin-top:10px;font-size:14px;color:#0b4a8f}
.plan-group.four .plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.plan-group.four .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.plan-group.four .plan-grid{grid-template-columns:minmax(0,1fr)}}
.addon-h{margin:30px 0 14px;font-size:20px;color:#0a2347;text-align:center}
.addon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.addon{background:#fff;border:1px solid rgba(10,35,71,.12);border-radius:16px;padding:18px}
.addon-top{display:flex;flex-direction:column;gap:4px}
.addon-top b{color:#0a2347;font-size:16px}
.addon-top span{font-size:13px;color:#5a6474;white-space:nowrap}.addon-top strong{color:#2f8f2f;font-size:18px}
.addon p{margin:8px 0 0;color:#5a6474;font-size:14px;line-height:1.5}
.mod-intro{max-width:72ch;margin:-6px auto 26px;text-align:center;color:#33405a;font-size:17px;line-height:1.65}
.mod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.mod-card{background:#f4f8f3;border:1px solid rgba(10,35,71,.08);border-radius:18px;padding:22px}
.mod-card h3{margin:0 0 12px;font-size:18px;color:#0a2347}
.mod-card ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mod-card li{display:flex;gap:8px;align-items:flex-start;color:#33405a;font-size:15px;line-height:1.5}
.mod-card li svg{width:16px;height:16px;color:#2f8f2f;flex:none;margin-top:3px}
.prod-feats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.prod-feats li{display:flex;gap:10px;align-items:flex-start;color:#33405a;font-size:16px;line-height:1.5}
.prod-feats svg{flex:none;width:18px;height:18px;margin-top:3px;color:#2f8f2f}
.prod-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.prod-steps li{background:#fff;border:1px solid rgba(10,35,71,.1);border-radius:16px;padding:18px;display:grid;gap:8px}
.prod-steps b{width:32px;height:32px;border-radius:50%;background:#0a2347;color:#fff;display:grid;place-items:center}
.prod-soon{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f4f8f3,#e2f0df);border-radius:20px;padding:28px}
.prod-soon h2{margin:0 0 6px;font-size:clamp(22px,2.6vw,28px)}
.prod-soon p{margin:0;color:#33405a;max-width:62ch}
.prod-price{font-size:17px;color:#33405a;max-width:70ch;margin:0}
@media (max-width:980px){.prod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prod-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.prod-grid,.prod-feats,.prod-steps{grid-template-columns:minmax(0,1fr)}}
/* ---- cookie banner ---- */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:760px;margin:0 auto;background:#fff;border:1px solid rgba(10,35,71,.12);border-radius:16px;box-shadow:0 18px 50px rgba(10,35,71,.18);padding:18px 20px;display:flex;gap:16px 20px;align-items:center;flex-wrap:wrap}
.cookie[hidden]{display:none}
.cookie p{margin:0;flex:1 1 320px;font-size:14.5px;line-height:1.55;color:#33405a}
.cookie p b{color:#0a2347}
.cookie a{color:#0b4a8f;text-decoration:underline}
.cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:520px){.cookie{bottom:10px;left:10px;right:10px;padding:16px}.cookie-btns{width:100%}.cookie-btns .btn{flex:1;justify-content:center}}
/* ---- legal pages ---- */
.legal-hero{padding-block:44px 28px}
.legal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start}
.legal-toc{position:sticky;top:96px;font-size:14px;background:#f4f8f3;border-radius:14px;padding:18px}
.legal-toc b{display:block;color:#0a2347;margin-bottom:8px}
.legal-toc ol{margin:0;padding-left:18px;display:grid;gap:6px}
.legal-toc a{color:#33405a;text-decoration:none}
.legal-toc a:hover{color:#0b4a8f;text-decoration:underline}
.prose{max-width:72ch;color:#33405a;line-height:1.75;font-size:16.5px}
.prose section{scroll-margin-top:96px;padding-bottom:10px}
.prose h2{font-size:clamp(21px,2.4vw,26px);color:#0a2347;margin:26px 0 10px}
.prose section:first-child h2{margin-top:0}
.prose ul{padding-left:20px;display:grid;gap:6px}
.prose a{color:#0b4a8f;text-decoration:underline}
@media (max-width:860px){.legal{grid-template-columns:minmax(0,1fr);gap:24px}.legal-toc{position:static}}
/* ---- contact page ---- */
.contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cc,.office-card{background:#fff;border:1px solid rgba(10,35,71,.1);border-radius:16px;padding:22px}
.cc h3,.office-card h3{margin:12px 0 6px;font-size:18px;color:#0a2347}
.office-card h3{margin-top:0}
.cc p,.office-card p{margin:4px 0;color:#33405a;overflow-wrap:anywhere}
.cc a,.oc-links a{color:#0b4a8f;font-weight:600}
.muted{color:#6e6e7b!important;font-size:14px}
.office-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.oc-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:14px}
@media (max-width:900px){.contact-cards,.office-grid{grid-template-columns:minmax(0,1fr)}}
@media (min-width:600px) and (max-width:900px){.office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---- pricing ---- */
.plan-group{margin-bottom:44px}
.plan-group h2{font-size:clamp(22px,2.6vw,30px);margin:0 0 18px}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan{position:relative;background:#fff;border:1px solid rgba(10,35,71,.12);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.plan.popular{border:2px solid #2f8f2f;box-shadow:0 18px 40px rgba(47,143,47,.14)}
.plan-badge{position:absolute;top:-12px;left:24px;background:#2f8f2f;color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.plan h3{margin:0;font-size:20px;color:#0a2347}
.plan-for{margin:0;color:#5a6474;font-size:14.5px}
.plan-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:12px 0;border-block:1px solid rgba(10,35,71,.08)}
.plan-price small{width:100%;color:#6e6e7b;font-size:13px}
.plan-price b{font-size:30px;color:#0a2347;font-family:"Bricolage Grotesque",sans-serif}
.plan-price b.q{font-size:24px}
.plan-price span{color:#6e6e7b;font-size:14px}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;flex:1}
.plan li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#33405a;line-height:1.45}
.plan li svg{flex:none;width:16px;height:16px;margin-top:3px;color:#2f8f2f}
.plan li::before{content:none!important;display:none}
.plan .btn{justify-content:center}
.plan-note{color:#5a6474;font-size:14.5px;margin:-10px 0 0}
.plan-note a{color:#0b4a8f;text-decoration:underline}
@media (max-width:980px){.plan-grid{grid-template-columns:minmax(0,1fr)}.plan-group .plan-grid{max-width:560px}}

/* ===== Dark mode (generated) ===== */
:root{--inkbg:#0a2347}
html[data-theme="dark"]{--ink:#e8eef8;--ink-2:#c3cddd;--muted:#97a4ba;--line:#1f2e49;--line-2:#2a3b5c;--paper:#07101f;--soft:#0f1b30;--lilac:#0c1729;--lilac-2:#143021;--inkbg:#0f2346;color-scheme:dark}
html[data-theme="dark"] .btn-dark {
    background: var(--inkbg);
    color: #fff
}
html[data-theme="dark"] .btn-light:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .announce {
    background: var(--inkbg)
}
html[data-theme="dark"] .announce .cta {
    background: #0f1b30
}
html[data-theme="dark"] .dd-menu {
    box-shadow: 0 24px 60px -24px rgba(0,0,0,0.40)
}
html[data-theme="dark"] .finder {
    box-shadow: 0 10px 30px -18px rgba(0,0,0,0.40)
}
html[data-theme="dark"] .phone {
    background: var(--inkbg);
    box-shadow: 0 40px 80px -30px rgba(0,0,0,0.70)
}
html[data-theme="dark"] .screen {
    background: #0f1b30
}
html[data-theme="dark"] .notch {
    background: var(--inkbg)
}
html[data-theme="dark"] .scr-list div em {
    color: #4fd08f
}
html[data-theme="dark"] .chip {
    background: #0f1b30;
    box-shadow: 0 18px 40px -20px rgba(0,0,0,0.48)
}
html[data-theme="dark"] .c4 .ci {
    background: var(--inkbg)
}
html[data-theme="dark"] .filters button:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .filters button[aria-pressed="true"] {
    background: var(--inkbg);
    border-color: var(--inkbg)
}
html[data-theme="dark"] .svc:hover {
    box-shadow: 0 28px 50px -30px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .svc .foot a {
    background: var(--inkbg)
}
html[data-theme="dark"] .step .links a:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .plan.dark {
    background: var(--inkbg)
}
html[data-theme="dark"] .plan li::before {
    background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='#0f1b30' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat
}
html[data-theme="dark"] .plan.dark .btn-pill {
    background: #0f1b30
}
html[data-theme="dark"] .plan.light .btn-pill {
    background: var(--inkbg)
}
html[data-theme="dark"] .logo-row span {
    color: #8592a8
}
html[data-theme="dark"] .cta-band {
    background: var(--inkbg)
}
html[data-theme="dark"] .cta-band .btn-dark {
    background: #0f1b30
}
html[data-theme="dark"] .win {
    background: #0f1b30
}
html[data-theme="dark"] .w2 .score {
    color: #4fd08f
}
html[data-theme="dark"] details[open] summary .pm {
    background: var(--inkbg);
    border-color: var(--inkbg)
}
html[data-theme="dark"] .form-note {
    color: #4fd08f
}
html[data-theme="dark"] footer {
    background: var(--inkbg)
}
html[data-theme="dark"] .socials a:hover {
    background: #0f1b30
}
html[data-theme="dark"] .hero-visual {
    box-shadow: 0 40px 80px -40px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .hero-visual .float .btn-dark {
    background: #0f1b30
}
html[data-theme="dark"] .vis-frame {
    box-shadow: 0 30px 60px -40px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .step::before {
    box-shadow: 0 6px 16px -6px rgba(0,0,0,0.48);
    background: #0f1b30
}
html[data-theme="dark"] .case:hover {
    box-shadow: 0 30px 60px -36px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .logo {
    color: #82b4ff
}
html[data-theme="dark"] .logo i {
    color: #5fcf5c
}
html[data-theme="dark"] footer .logo .logo-mark {
    background: #0f1b30
}
html[data-theme="dark"] .btn-dark {
    background: var(--inkbg);
    color: #fff
}
html[data-theme="dark"] .btn-light:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .announce {
    background: var(--inkbg)
}
html[data-theme="dark"] .announce .cta {
    background: #0f1b30
}
html[data-theme="dark"] .dd-menu {
    box-shadow: 0 24px 60px -24px rgba(0,0,0,0.40)
}
html[data-theme="dark"] .finder {
    box-shadow: 0 10px 30px -18px rgba(0,0,0,0.40)
}
html[data-theme="dark"] .phone {
    background: var(--inkbg);
    box-shadow: 0 40px 80px -30px rgba(0,0,0,0.70)
}
html[data-theme="dark"] .screen {
    background: #0f1b30
}
html[data-theme="dark"] .notch {
    background: var(--inkbg)
}
html[data-theme="dark"] .scr-list div em {
    color: #4fd08f
}
html[data-theme="dark"] .chip {
    background: #0f1b30;
    box-shadow: 0 18px 40px -20px rgba(0,0,0,0.48)
}
html[data-theme="dark"] .c4 .ci {
    background: var(--inkbg)
}
html[data-theme="dark"] .filters button:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .filters button[aria-pressed="true"] {
    background: var(--inkbg);
    border-color: var(--inkbg)
}
html[data-theme="dark"] .svc:hover {
    box-shadow: 0 28px 50px -30px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .svc .foot a {
    background: var(--inkbg)
}
html[data-theme="dark"] .step .links a:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .plan.dark {
    background: var(--inkbg)
}
html[data-theme="dark"] .plan li::before {
    background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='#0f1b30' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat
}
html[data-theme="dark"] .plan.dark .btn-pill {
    background: #0f1b30
}
html[data-theme="dark"] .plan.light .btn-pill {
    background: var(--inkbg)
}
html[data-theme="dark"] .logo-row span {
    color: #8592a8
}
html[data-theme="dark"] .cta-band {
    background: var(--inkbg)
}
html[data-theme="dark"] .cta-band .btn-dark {
    background: #0f1b30
}
html[data-theme="dark"] .win {
    background: #0f1b30
}
html[data-theme="dark"] .w2 .score {
    color: #4fd08f
}
html[data-theme="dark"] details[open] summary .pm {
    background: var(--inkbg);
    border-color: var(--inkbg)
}
html[data-theme="dark"] .form-note {
    color: #4fd08f
}
html[data-theme="dark"] footer {
    background: var(--inkbg)
}
html[data-theme="dark"] .socials a:hover {
    background: #0f1b30
}
html[data-theme="dark"] .logo {
    color: #82b4ff
}
html[data-theme="dark"] .logo i {
    color: #5fcf5c
}
html[data-theme="dark"] footer .logo .logo-mark {
    background: #0f1b30
}
html[data-theme="dark"] .job:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .job-filter button[aria-pressed="true"] {
    background: var(--inkbg);
    border-color: var(--inkbg)
}
html[data-theme="dark"] a.post:hover {
    box-shadow: 0 24px 50px -32px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .map-wrap {
    box-shadow: 0 30px 60px -40px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .tech-tile .mono {
    background: linear-gradient(135deg,var(--inkbg),#0b4a8f)
}
html[data-theme="dark"] .hero-card {
    background: var(--inkbg)
}
html[data-theme="dark"] .hero-card .btn-dark {
    background: #0f1b30
}
html[data-theme="dark"] .tech-strip span {
    color: #8592a8
}
html[data-theme="dark"] .deliv div::before {
    background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='#0f1b30' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat
}
html[data-theme="dark"] .proc div {
    border-top: 2px solid var(--inkbg)
}
html[data-theme="dark"] .tech-tabs button[aria-pressed="true"] {
    background: var(--inkbg);
    border-color: var(--inkbg)
}
html[data-theme="dark"] .related a:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .other-cities a:hover {
    border-color: var(--inkbg)
}
html[data-theme="dark"] .other-cities a[aria-current] {
    background: var(--inkbg);
    border-color: var(--inkbg)
}
html[data-theme="dark"] .loc:hover {
    box-shadow: 0 28px 50px -30px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .hero-visual {
    box-shadow: 0 40px 80px -40px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .hero-visual .float .btn-dark {
    background: #0f1b30
}
html[data-theme="dark"] .vis-frame {
    box-shadow: 0 30px 60px -40px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .step::before {
    box-shadow: 0 6px 16px -6px rgba(0,0,0,0.48);
    background: #0f1b30
}
html[data-theme="dark"] .product.dark {
    background: var(--inkbg)
}
html[data-theme="dark"] .needs .x {
    background: #3a1418
}
html[data-theme="dark"] .seo-links {
    border-top: 1px solid rgba(150,175,220,0.11)
}
html[data-theme="dark"] .seo-copy p {
    color: #c3cddd
}
html[data-theme="dark"] .seo-lists h3 {
    color: #e8eef8
}
html[data-theme="dark"] .seo-ul a {
    color: #82b4ff
}
html[data-theme="dark"] .seo-ul a::before {
    color: #5fcf5c
}
html[data-theme="dark"] .seo-ul.ext a::after {
    color: #97a4ba
}
html[data-theme="dark"] .promises b {
    color: #e8eef8
}
html[data-theme="dark"] .promises small {
    color: #97a4ba
}
html[data-theme="dark"] .p-ic {
    background: #143021;
    color: #5fcf5c
}
html[data-theme="dark"] .wa-fab {
    box-shadow: 0 12px 28px rgba(0,0,0,0.40)
}
@media (max-width:768px) {
    html[data-theme="dark"] .m-bar {
        background: #0f1b30;
        border-top: 1px solid rgba(150,175,220,0.17);
        box-shadow: 0 -8px 24px rgba(0,0,0,0.13)
    }
}
@media (max-width:768px) {
    html[data-theme="dark"] .m-bar a,html[data-theme="dark"] .m-bar button {
        color: #e8eef8
    }
}
@media (max-width:768px) {
    html[data-theme="dark"] .m-bar .mb-primary {
        background: #10264a
    }
}
html[data-theme="dark"] .cb-modal {
    background: rgba(150,175,220,0.50)
}
html[data-theme="dark"] .cb-box {
    background: #0f1b30;
    box-shadow: 0 30px 80px rgba(0,0,0,0.56)
}
html[data-theme="dark"] .cb-box h3 {
    color: #e8eef8
}
html[data-theme="dark"] .cb-sub {
    color: #97a4ba
}
html[data-theme="dark"] .cb-x {
    background: #0c1729;
    color: #e8eef8
}
html[data-theme="dark"] .audit-sec {
    background: linear-gradient(135deg,#0c1729,#143021)
}
html[data-theme="dark"] .audit-copy p {
    color: #c3cddd
}
html[data-theme="dark"] .audit-list li {
    color: #e8eef8
}
html[data-theme="dark"] .audit-list svg {
    color: #5fcf5c
}
html[data-theme="dark"] .audit-small {
    color: #97a4ba !important
}
html[data-theme="dark"] .audit-form {
    background: #0f1b30
}
html[data-theme="dark"] .of-tag {
    background: #143021;
    color: #5fcf5c
}
html[data-theme="dark"] .of-label {
    color: #97a4ba
}
html[data-theme="dark"] .of-code {
    background: #0c1729
}
html[data-theme="dark"] .of-code b {
    color: #e8eef8
}
html[data-theme="dark"] .of-terms {
    color: #97a4ba
}
html[data-theme="dark"] .of-terms a {
    color: #97a4ba
}
html[data-theme="dark"] .of-no {
    color: #97a4ba
}
html[data-theme="dark"] .chat-fab {
    background: #10264a;
    box-shadow: 0 14px 34px rgba(0,0,0,0.51)
}
html[data-theme="dark"] .chat-tip {
    background: #0f1b30;
    border: 1px solid rgba(150,175,220,0.17);
    box-shadow: 0 18px 40px rgba(0,0,0,0.32);
    color: #c3cddd
}
html[data-theme="dark"] .chat-tip b {
    color: #e8eef8
}
html[data-theme="dark"] .ct-x {
    color: #97a4ba
}
html[data-theme="dark"] .chat-panel {
    background: #0f1b30;
    box-shadow: 0 30px 80px rgba(0,0,0,0.51);
    border: 1px solid rgba(150,175,220,0.11)
}
html[data-theme="dark"] .cp-head {
    background: #10264a
}
html[data-theme="dark"] .cp-av {
    background: #0f1b30
}
html[data-theme="dark"] .cp-tools select option {
    color: #e8eef8
}
html[data-theme="dark"] .cp-log {
    background: #0c1729
}
html[data-theme="dark"] .cm a {
    color: #82b4ff
}
html[data-theme="dark"] .cm-bot {
    background: #0f1b30;
    color: #c3cddd;
    border: 1px solid rgba(150,175,220,0.11)
}
html[data-theme="dark"] .cm-acts a,html[data-theme="dark"] .cm-acts button {
    background: #0f1b30;
    color: #5fcf5c
}
html[data-theme="dark"] .cm-lead small {
    color: #97a4ba
}
html[data-theme="dark"] .cm-legal {
    color: #97a4ba
}
html[data-theme="dark"] .cp-chips {
    background: #0c1729
}
html[data-theme="dark"] .cp-chips button {
    background: #0f1b30;
    color: #82b4ff
}
html[data-theme="dark"] .cp-chips button:hover {
    background: #0c1729
}
html[data-theme="dark"] .cp-form {
    border-top: 1px solid rgba(150,175,220,0.11);
    background: #0f1b30
}
html[data-theme="dark"] .cp-form textarea {
    border: 1px solid rgba(150,175,220,0.25)
}
html[data-theme="dark"] .cp-form .cp-btn {
    color: #82b4ff;
    background: #0c1729
}
html[data-theme="dark"] .cp-foot {
    color: #97a4ba;
    background: #0f1b30
}
html[data-theme="dark"] .cp-foot a {
    color: #97a4ba
}
html[data-theme="dark"] .dd-all {
    border-top: 1px solid rgba(150,175,220,0.11)
}
html[data-theme="dark"] .prod-card {
    background: #0f1b30;
    border: 1px solid rgba(150,175,220,0.14)
}
html[data-theme="dark"] .prod-cat {
    color: #5fcf5c
}
html[data-theme="dark"] .prod-card h3 a {
    color: #e8eef8
}
html[data-theme="dark"] .prod-card p {
    color: #97a4ba
}
html[data-theme="dark"] .prod-links a {
    color: #82b4ff
}
html[data-theme="dark"] .prod-thumb {
    border-bottom: 1px solid rgba(150,175,220,0.11)
}
html[data-theme="dark"] .prod-badges {
    color: #e8eef8
}
html[data-theme="dark"] .prod-badges svg {
    color: #5fcf5c
}
html[data-theme="dark"] .prod-sum {
    color: #97a4ba
}
html[data-theme="dark"] .prod-chips li {
    background: #143021;
    color: #e8eef8
}
html[data-theme="dark"] .prod-thumb.real {
    background: #0c1729
}
html[data-theme="dark"] .prod-thumb.real img {
    box-shadow: 0 6px 18px -6px rgba(0,0,0,0.40)
}
html[data-theme="dark"] .fc {
    background: #0f1b30;
    border: 1px solid rgba(150,175,220,0.14)
}
html[data-theme="dark"] .fc h3 {
    color: #e8eef8
}
html[data-theme="dark"] .fc p {
    color: #97a4ba
}
html[data-theme="dark"] .apps-sec {
    background: #0c1729
}
html[data-theme="dark"] .app-card h3 {
    color: #e8eef8
}
html[data-theme="dark"] .app-card p {
    color: #97a4ba
}
html[data-theme="dark"] .price-card {
    background: #10264a
}
html[data-theme="dark"] .hero-price {
    color: #c3cddd
}
html[data-theme="dark"] .hero-price b {
    color: #5fcf5c
}
html[data-theme="dark"] .card-price {
    color: #c3cddd !important
}
html[data-theme="dark"] .card-price b {
    color: #5fcf5c
}
html[data-theme="dark"] .plan-more {
    color: #82b4ff
}
html[data-theme="dark"] .addon-h {
    color: #e8eef8
}
html[data-theme="dark"] .addon {
    background: #0f1b30;
    border: 1px solid rgba(150,175,220,0.17)
}
html[data-theme="dark"] .addon-top b {
    color: #e8eef8
}
html[data-theme="dark"] .addon-top span {
    color: #97a4ba
}
html[data-theme="dark"] .addon-top strong {
    color: #5fcf5c
}
html[data-theme="dark"] .addon p {
    color: #97a4ba
}
html[data-theme="dark"] .mod-intro {
    color: #c3cddd
}
html[data-theme="dark"] .mod-card {
    background: #0c1729;
    border: 1px solid rgba(150,175,220,0.11)
}
html[data-theme="dark"] .mod-card h3 {
    color: #e8eef8
}
html[data-theme="dark"] .mod-card li {
    color: #c3cddd
}
html[data-theme="dark"] .mod-card li svg {
    color: #5fcf5c
}
html[data-theme="dark"] .prod-feats li {
    color: #c3cddd
}
html[data-theme="dark"] .prod-feats svg {
    color: #5fcf5c
}
html[data-theme="dark"] .prod-steps li {
    background: #0f1b30;
    border: 1px solid rgba(150,175,220,0.14)
}
html[data-theme="dark"] .prod-steps b {
    background: #10264a
}
html[data-theme="dark"] .prod-soon {
    background: linear-gradient(135deg,#0c1729,#143021)
}
html[data-theme="dark"] .prod-soon p {
    color: #c3cddd
}
html[data-theme="dark"] .prod-price {
    color: #c3cddd
}
html[data-theme="dark"] .cookie {
    background: #0f1b30;
    border: 1px solid rgba(150,175,220,0.17);
    box-shadow: 0 18px 50px rgba(0,0,0,0.29)
}
html[data-theme="dark"] .cookie p {
    color: #c3cddd
}
html[data-theme="dark"] .cookie p b {
    color: #e8eef8
}
html[data-theme="dark"] .cookie a {
    color: #82b4ff
}
html[data-theme="dark"] .legal-toc {
    background: #0c1729
}
html[data-theme="dark"] .legal-toc b {
    color: #e8eef8
}
html[data-theme="dark"] .legal-toc a {
    color: #c3cddd
}
html[data-theme="dark"] .legal-toc a:hover {
    color: #82b4ff
}
html[data-theme="dark"] .prose {
    color: #c3cddd
}
html[data-theme="dark"] .prose h2 {
    color: #e8eef8
}
html[data-theme="dark"] .prose a {
    color: #82b4ff
}
html[data-theme="dark"] .cc,html[data-theme="dark"] .office-card {
    background: #0f1b30;
    border: 1px solid rgba(150,175,220,0.14)
}
html[data-theme="dark"] .cc h3,html[data-theme="dark"] .office-card h3 {
    color: #e8eef8
}
html[data-theme="dark"] .cc p,html[data-theme="dark"] .office-card p {
    color: #c3cddd
}
html[data-theme="dark"] .cc a,html[data-theme="dark"] .oc-links a {
    color: #82b4ff
}
html[data-theme="dark"] .muted {
    color: #97a4ba !important
}
html[data-theme="dark"] .plan {
    background: #0f1b30;
    border: 1px solid rgba(150,175,220,0.17)
}
html[data-theme="dark"] .plan h3 {
    color: #e8eef8
}
html[data-theme="dark"] .plan-for {
    color: #97a4ba
}
html[data-theme="dark"] .plan-price small {
    color: #97a4ba
}
html[data-theme="dark"] .plan-price b {
    color: #e8eef8
}
html[data-theme="dark"] .plan-price span {
    color: #97a4ba
}
html[data-theme="dark"] .plan li {
    color: #c3cddd
}
html[data-theme="dark"] .plan li svg {
    color: #5fcf5c
}
html[data-theme="dark"] .plan-note {
    color: #97a4ba
}
html[data-theme="dark"] .plan-note a {
    color: #82b4ff
}
/* ===== Dark / light toggle ===== */
.theme-btn{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:transform .25s,border-color .2s,background .2s}
.theme-btn:hover{border-color:var(--ink);transform:rotate(-15deg)}
.theme-btn svg{width:19px;height:19px;grid-area:1/1;transition:opacity .25s,transform .35s}
.theme-btn .i-sun{opacity:0;transform:rotate(-90deg) scale(.6)}
html[data-theme="dark"] .theme-btn .i-moon{opacity:0;transform:rotate(90deg) scale(.6)}
html[data-theme="dark"] .theme-btn .i-sun{opacity:1;transform:none}
.head-right{gap:10px}
html{transition:background-color .3s}
html[data-theme="dark"] body{background:#07101f}
html[data-theme="dark"] header.site{background:rgba(7,16,31,.86);border-color:#1a2842}
html[data-theme="dark"] .logo-mark{filter:drop-shadow(0 0 6px rgba(127,178,255,.25))}
html[data-theme="dark"] img:not([src$=".webp"]):not(.logo-mark){filter:brightness(.92)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background-color:#0c1729;color:#e8eef8;border-color:#26365a}
html[data-theme="dark"] ::placeholder{color:#7d8aa3}
html[data-theme="dark"] .prod-shot img,html[data-theme="dark"] .app-card img{filter:drop-shadow(0 24px 40px rgba(0,0,0,.5))}
html[data-theme="dark"] .btn-dark .arr{background:var(--accent)}
html[data-theme="dark"] .btn-dark .arr svg{stroke:#fff}

/* ===== Homepage banner: 3D blue universe ===== */
html .hero.hero-universe{background:radial-gradient(ellipse 80% 70% at 72% 42%,#0f3270 0%,#071a3d 42%,#030a1a 100%);color:#fff;isolation:isolate}
html .hero.hero-universe::before{display:none}
.hero-universe .universe{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.2s ease}
.hero-universe.universe-on .universe{opacity:1}
.hero-universe .u-stars{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.7;
  background-image:radial-gradient(1.2px 1.2px at 12% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 68%,#9cc4ff 50%,transparent 51%),radial-gradient(1.4px 1.4px at 46% 14%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 63% 82%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 78% 30%,#bcd6ff 50%,transparent 51%),radial-gradient(1px 1px at 90% 62%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 86%,#9cc4ff 50%,transparent 51%),radial-gradient(1.3px 1.3px at 36% 40%,#fff 50%,transparent 51%);
  background-size:420px 420px;animation:u-drift 90s linear infinite}
.hero-universe.universe-on .u-stars{opacity:.35}
@keyframes u-drift{to{background-position:420px 210px}}
.hero-universe .wrap{position:relative;z-index:1}
html .hero-universe h1{color:#fff;text-shadow:0 2px 30px rgba(3,10,26,.6)}
html .hero-universe .typed{color:#6fe06c}
html .hero-universe .typed::after{background:#6fe06c}
html .hero-universe .eyebrow{color:#8fe08a}
html .hero-universe .eyebrow::before{background:#8fe08a;box-shadow:0 0 10px #8fe08a}
html .hero-universe .hero-lead{color:rgba(225,236,255,.82)}
html .hero-universe .finder{background:rgba(255,255,255,.08);border-color:rgba(160,195,255,.28);box-shadow:0 10px 40px -10px rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
html .hero-universe .finder input{color:#fff}
html .hero-universe .finder input::placeholder{color:rgba(220,232,255,.6)}
html .hero-universe .finder svg{color:rgba(220,232,255,.7)}
html .hero-universe .finder kbd{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:rgba(220,232,255,.8)}
html .hero-universe .btn-dark{background:#fff;color:#0a2347}
html .hero-universe .btn-dark:hover{box-shadow:0 12px 34px -10px rgba(111,224,108,.55)}
html .hero-universe .btn-light{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(200,220,255,.35);backdrop-filter:blur(8px)}
html .hero-universe .btn-light:hover{border-color:#fff}
html .hero-universe .btn-light .arr{background:rgba(255,255,255,.12)}
html .hero-universe .trust{color:rgba(225,236,255,.8)}
html .hero-universe .trust b{color:#fff}
html .hero-universe .trust .dot{background:rgba(111,224,108,.16);color:#7fe07b}
html .hero-universe .halo{opacity:.55}
@media (prefers-reduced-motion:reduce){.hero-universe .u-stars{animation:none}}
html .hero-universe .stage{color:#0a2347}
html .hero.hero-universe .finder input{background:transparent!important}
@media (max-width:520px){.theme-btn{width:38px;height:38px}.theme-btn svg{width:17px;height:17px}.head-right{gap:6px}}
@media (max-width:400px){header.site .logo{font-size:clamp(17px,5.2vw,20px);gap:6px}header.site .logo-mark{width:34px;height:auto}}
html[data-theme="dark"] .btn-dark{background:#e8eef8;color:#0a2347}
html[data-theme="dark"] .btn-dark:hover{box-shadow:0 12px 30px -12px rgba(111,224,108,.45)}
html[data-theme="dark"] footer,html[data-theme="dark"] .site-footer{background:#0a1730}
html[data-theme="dark"] .hero-universe .stage{color:#e8eef8}
