:root{
  --navy:#0b1b33;--navy-2:#061426;--blue:#0d5bd7;--ink:#182536;--muted:#64748b;--light:#f4f7fa;--white:#fff;--line:#e4ebf2;--radius:18px;
  --color-bg:#f5f7fb;--color-surface:#fff;--color-surface-soft:#f4f7fa;
  --color-primary:#0b1b33;--color-primary-hover:#163056;--color-primary-active:#061426;--color-accent:#0d5bd7;
  --color-text:#182536;--color-text-muted:#64748b;
  --color-success:#0d6b38;--color-success-bg:#e7f6ee;--color-success-border:#b7e0c8;
  --color-warning:#8a4b08;--color-warning-bg:#fff4e5;--color-warning-border:#f0d3a8;
  --color-danger:#9b1c1c;--color-danger-bg:#fdecec;--color-danger-border:#f0c2c2;
  --color-info:#0d5bd7;--color-info-bg:#eaf1fb;--color-info-border:#c5d8f6;
  --color-muted:#64748b;--color-border:#e4ebf2;--color-focus:#0d5bd7;
  --shadow:0 10px 28px rgba(11,27,51,.06)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--color-text);background:var(--color-bg);font-size:17px;line-height:1.65;overflow-x:clip}
a{color:var(--blue)}
img,svg{max-width:100%;height:auto}
.container{width:min(1240px,calc(100% - 64px));margin:auto}
.topbar{position:relative;z-index:40;background:var(--navy-2);color:#d5deea;font-size:13px}
.topbar .inner{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:44px}
.topbar a{color:#fff;text-decoration:none;font-weight:600}
.top-contacts{display:flex;align-items:center;gap:2px}
.top-contact{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;color:#d5deea;transition:color .16s ease,background-color .16s ease}
.top-contact svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.top-contact:hover,.top-contact:focus-visible{color:#fff;background:rgba(13,91,215,.4)}
.top-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:2;width:max-content;max-width:min(240px,calc(100vw - 32px));padding:10px 12px;border:1px solid var(--color-border);border-radius:14px;background:#fff;color:var(--color-text);box-shadow:0 12px 28px rgba(11,27,51,.14);font-weight:600;line-height:1.35;white-space:normal;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;pointer-events:none}
.top-pop strong{display:block;margin-bottom:2px;color:var(--color-accent);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.top-contact:hover .top-pop,.top-contact:focus-visible .top-pop,.top-contact.is-open .top-pop{opacity:1;visibility:visible;transform:none}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.88);border-bottom:1px solid var(--color-border);backdrop-filter:saturate(1.15) blur(14px);-webkit-backdrop-filter:saturate(1.15) blur(14px);transition:background-color .16s ease,box-shadow .16s ease}
.site-header.is-compact{background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(11,27,51,.06)}
.site-header.is-compact .nav{min-height:60px}
.site-header.is-compact .brand-logo{width:40px;height:40px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;transition:min-height .16s ease}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);flex:none}
.brand-logo{width:48px;height:48px;flex:none;display:block;object-fit:contain;transition:width .16s ease,height .16s ease}
.footer-logo{width:44px;height:44px;display:block;object-fit:contain;margin:0 0 12px}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text strong{font-size:16px;letter-spacing:.08em;font-weight:800}
.brand-text small{margin-top:3px;font-size:12px;font-weight:600;color:#3c4b60;letter-spacing:.01em}
.menu-btn{display:none;border:1px solid var(--color-border);background:#fff;color:var(--color-primary);padding:8px 12px;border-radius:8px;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.menu-btn:hover{border-color:var(--color-primary);background:var(--light)}
.menu-btn:active{background:#e6edf5}
.menu-btn:disabled{background:#eef2f6;color:var(--color-muted);border-color:var(--color-border);cursor:not-allowed}
.navlinks{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}
.navlinks a{text-decoration:none;color:#243044;white-space:nowrap}
.nav-link{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid transparent;border-radius:10px;background:transparent;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.navlinks svg{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-link:hover,.nav-link:focus-visible{border-color:var(--color-accent);background:var(--color-info-bg);color:var(--navy)}
.nav-link:active{background:#d9e6f8}
.nav-link[aria-current="page"],.nav-item.is-here>.nav-link{border-color:var(--color-accent);background:var(--color-info-bg);color:var(--navy);box-shadow:inset 0 -2px 0 var(--color-accent)}
.nav-item{position:relative;display:flex;align-items:center}
.nav-item::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:28px;margin-left:-4px;padding:0;border:0;border-radius:8px;background:transparent;color:#243044;cursor:pointer}
.nav-toggle:hover,.nav-toggle:focus-visible{color:var(--color-accent);background:var(--color-info-bg)}
.nav-toggle:focus-visible,.nav-link:focus-visible,.nav-pop a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.nav-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:40;display:grid;min-width:240px;padding:8px;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:0 16px 36px rgba(11,27,51,.12);opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.nav-pop a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border-left:3px solid transparent}
.nav-pop a:hover,.nav-pop a:focus-visible{background:var(--color-info-bg);border-left-color:var(--color-accent);color:var(--navy)}
.nav-pop a[aria-current="page"]{background:var(--color-info-bg);border-left-color:var(--color-accent);font-weight:800}
.nav-item:hover>.nav-pop,.nav-item.is-open>.nav-pop{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nav-cta{background:var(--color-primary);color:#fff !important;padding:9px 14px;border-radius:10px;transition:background-color .16s ease}
.nav-cta[aria-current="page"]{box-shadow:inset 0 -2px 0 #fff}
.nav-cta:hover{background:var(--color-primary-hover)}
.nav-cta:active{background:var(--color-primary-active)}
.hero{position:relative;overflow:hidden;background:var(--navy-2);min-height:620px;display:flex;align-items:center;padding:56px 0}
.hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent 58%)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,20,38,.28) 0%,rgba(6,20,38,.08) 36%,rgba(6,20,38,.02) 62%,rgba(6,20,38,0) 100%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);align-items:center;gap:40px}
.hero-panel{max-width:34rem;padding:28px 28px 24px;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:rgba(6,20,38,.16);box-shadow:0 12px 28px rgba(0,0,0,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.eyebrow{margin:0 0 16px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:6px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);color:#e8eef6;letter-spacing:.12em}
.hero .eyebrow::before{content:"";width:7px;height:7px;flex:none;border-radius:2px;background:var(--color-accent);box-shadow:0 0 0 3px rgba(13,91,215,.28)}
.hero h1{margin:0 0 12px;max-width:11em;font-size:clamp(44px,4vw,56px);line-height:1.05;letter-spacing:-.035em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.hero-lead{margin:0 0 12px;max-width:16em;font-size:clamp(22px,2vw,28px);line-height:1.25;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.hero p{margin:0;max-width:34em;color:rgba(255,255,255,.92);font-size:17px}
.hero-panel>p:not(.eyebrow):not(.hero-lead){max-width:36em;font-size:15px;font-weight:500;line-height:1.45;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@keyframes hero-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-panel .eyebrow{animation:hero-in .22s ease both}
.hero-panel h1{animation:hero-in .24s ease .04s both}
.hero-panel .hero-lead,.hero-panel>p:not(.eyebrow):not(.hero-lead){animation:hero-in .24s ease .08s both}
.hero-panel .hero-actions{animation:hero-in .24s ease .12s both}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--color-primary);text-decoration:none;font:inherit;font-weight:700;line-height:1.2;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.btn-primary,.btn-primary.solid{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn-primary:hover,.btn-primary.solid:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}
.btn-primary:active,.btn-primary.solid:active{background:var(--color-primary-active);border-color:var(--color-primary-active)}
.hero .btn-primary,.hero .btn-primary.solid{gap:8px;border-radius:12px;border-color:#0d5bd7;background:linear-gradient(180deg,#2b7cf3 0%,#0d5bd7 58%,#0b3f9e 100%);color:#fff;box-shadow:0 8px 18px rgba(13,91,215,.28)}
.hero .btn-primary svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero .btn-primary:hover,.hero .btn-primary.solid:hover{transform:translateY(-2px);border-color:#0a49ad;background:linear-gradient(180deg,#3b88f5 0%,#0a49ad 100%)}
.hero .btn-primary:active,.hero .btn-primary.solid:active{transform:translateY(0);background:#083d92;border-color:#083d92}
.hero .btn-secondary{border-radius:12px;background:rgba(255,255,255,.94);color:var(--color-primary);border-color:rgba(255,255,255,.72)}
.hero .btn-secondary:hover{background:#fff;color:var(--color-accent);border-color:var(--color-accent)}
.hero .btn-secondary:active{background:#e8eef6;border-color:var(--color-accent)}
.btn-secondary{background:#fff;color:var(--color-primary);border-color:var(--color-border)}
.btn-secondary:hover{background:var(--light);border-color:var(--color-primary)}
.btn-secondary:active{background:#e6edf5;border-color:var(--color-primary)}
.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}
.btn-success:hover{background:#0b5c30;border-color:#0b5c30}
.btn-success:active{background:#094d28;border-color:#094d28}
.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}
.btn-danger:hover{background:#7f1616;border-color:#7f1616}
.btn-danger:active{background:#671212;border-color:#671212}
.btn:disabled,.btn[aria-disabled="true"],.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled,.btn-danger:disabled{background:#eef2f6;color:var(--color-muted);border-color:var(--color-border);cursor:not-allowed;box-shadow:none}
.btn.is-loading{color:transparent;pointer-events:none;position:relative}
.btn.is-loading::after{content:"";position:absolute;width:16px;height:16px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite}
.btn-secondary.is-loading::after{border-color:var(--color-primary);border-right-color:transparent}
@keyframes btn-spin{to{transform:rotate(360deg)}}
.visual{display:flex;justify-content:flex-end}
.panel-svg{width:100%;height:100%;max-height:none;display:block}
.shot{position:relative;overflow:hidden;background:#f4f7fa}
.shot-card{aspect-ratio:16/10;width:calc(100% + 44px);margin:0 -22px 18px;border-bottom:1px solid var(--line)}
.shot-wide{aspect-ratio:3/2;width:100%}
.container>.shot-wide{width:min(720px,100%);margin-bottom:28px}
.shot img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center}
.shot-hero img{object-position:40% center}
.shot img[hidden]{display:none}
.shot .glyph{display:none}
.shot:not(.shot-hero)::before{content:"";position:absolute;left:50%;top:50%;z-index:0;width:42%;height:78%;transform:translate(-50%,-50%);border:2px solid var(--navy);background:#fff;box-shadow:inset 0 22px 0 var(--navy)}
.card.solution-card,.card.ref-card,.card.has-shot{padding:0 22px 22px;overflow:hidden;min-height:0}
.about-side{display:grid;gap:18px;align-content:start}
.shot-corp{aspect-ratio:2/1}
.loc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:680px}
.shot-loc{aspect-ratio:3/4}
.trust{padding:0;background:#fff;border-bottom:1px solid var(--line)}
.trust-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.trust-row a{display:flex;align-items:center;min-height:72px;padding:12px 14px;color:var(--navy);text-decoration:none;font-size:14px;font-weight:700;line-height:1.3;border-left:1px solid var(--line)}
.trust-row a:first-child{border-left:0;padding-left:0}
.trust-row a:hover{color:var(--blue)}
section{padding:76px 0}
.section-head{max-width:720px;margin-bottom:28px}
.section-head h2,.split h2,.contact-copy h2{margin:0 0 12px;font-size:clamp(36px,3vw,44px);line-height:1.12;letter-spacing:-.03em;color:var(--navy)}
.section-head p{margin:0;color:var(--muted);font-size:17px}
.kicker{margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.muted{color:var(--muted)}
.prose{max-width:40em}
.prose p{margin:0 0 14px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-apps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.grid-apps .card:nth-child(-n+3){grid-column:span 2}
.grid-apps .card:nth-child(n+4){grid-column:span 3}
.card{border:1px solid var(--color-border);border-top:3px solid var(--navy);border-radius:var(--radius);padding:24px;background:var(--color-surface);box-shadow:var(--shadow)}
.solution-card,.calc-card{display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.service-card{position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.service-card:hover,.solution-card:hover,.calc-card:hover,.ref-card:hover{transform:translateY(-4px);border-color:var(--color-accent);border-top-color:var(--color-accent);box-shadow:0 16px 32px rgba(11,27,51,.08)}
.calc-tools{position:relative;border-top:1px solid var(--line);background:radial-gradient(ellipse 70% 45% at 0% 0%,rgba(13,91,215,.06),transparent 62%),radial-gradient(ellipse 46% 36% at 100% 100%,rgba(13,107,56,.05),transparent 58%),#f7f9fc}
.calc-tools::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(11,27,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(11,27,51,.04) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(#000,transparent 88%);mask-image:linear-gradient(#000,transparent 88%)}
.calc-tools .container{position:relative}
.calc-tools .kicker{display:inline-flex;margin:0 0 12px;padding:4px 10px;border:1px solid var(--color-info-border);border-radius:99px;background:#fff}
.calc-tools .calc-card{--tone:#0d5bd7;--tone-bg:#eaf1fb;background:#fff;border:1px solid var(--color-border);border-top:3px solid var(--tone);border-left:3px solid var(--tone);border-radius:18px;box-shadow:0 8px 22px rgba(11,27,51,.05);animation:calc-in .18s ease backwards}
.calc-tools .calc-card:nth-child(1){--tone:#0d5bd7;--tone-bg:#eaf1fb;animation-delay:0ms}
.calc-tools .calc-card:nth-child(2){--tone:#3d5a80;--tone-bg:#eef3f8;animation-delay:45ms}
.calc-tools .calc-card:nth-child(3){--tone:#0d6b38;--tone-bg:#e7f6ee;animation-delay:90ms}
.calc-tools .calc-card:nth-child(4){--tone:#8a4b08;--tone-bg:#fff4e5;animation-delay:135ms}
.calc-tools .calc-card:nth-child(5){--tone:#8b3a3a;--tone-bg:#fdecec;animation-delay:180ms}
.calc-tools .calc-card:nth-child(6){--tone:#1e4d8c;--tone-bg:#e8f0fa;animation-delay:225ms}
.calc-tools .calc-card:nth-child(7){--tone:#6b5344;--tone-bg:#f6f1ec;animation-delay:270ms}
.calc-tools .calc-card:nth-child(8){--tone:#3f6b4a;--tone-bg:#eef6f0;animation-delay:315ms}
.calc-tools .calc-card:nth-child(9){--tone:#3e5878;--tone-bg:#eef2f7;animation-delay:360ms}
.calc-tools .calc-card:nth-child(10){--tone:#4c4f86;--tone-bg:#f0f1f8;animation-delay:405ms}
.calc-tools .calc-card:nth-child(11){--tone:#1a6b73;--tone-bg:#e8f5f6;animation-delay:450ms}
.calc-tools .calc-card:nth-child(12){--tone:#0b1b33;--tone-bg:#f4f7fa;animation-delay:495ms}
.calc-tools .glyph{background:var(--tone-bg);border-color:color-mix(in srgb,var(--tone) 28%,white);color:var(--tone)}
.calc-tools .calc-card:hover{transform:translateY(-3px);border-color:var(--tone);box-shadow:0 16px 32px rgba(11,27,51,.08)}
.calc-tools .calc-card:hover .glyph{transform:translateY(-2px) rotate(-6deg)}
.calc-tools .calc-card:active{transform:translateY(0)}
.calc-tools .calc-card:focus-within{outline:2px solid var(--tone);outline-offset:3px}
@keyframes calc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.calc-card{position:relative}
.calc-card .more::after{content:"";position:absolute;inset:0}
.calc-card:active{border-top-color:var(--color-primary-active)}
.calc-card:focus-within{box-shadow:0 0 0 2px var(--color-focus)}
.calc-card .more:focus-visible{outline:none}
.card h3{margin:0 0 8px;font-size:22px;line-height:1.25;color:var(--navy)}
.card p,.card li{color:var(--muted)}
.card p{margin:0}
.card p+p{margin-top:8px}
.card ul{margin:12px 0 0;padding-left:18px}
.glyph{width:44px;height:44px;display:grid;place-items:center;margin-bottom:16px;border:1px solid var(--color-border);border-radius:12px;color:var(--navy);background:var(--color-surface-soft);transition:transform .16s ease,color .16s ease,border-color .16s ease,background-color .16s ease}
.calc-card:hover .glyph,.solution-card:hover .glyph{transform:translateY(-2px);color:var(--color-accent);border-color:var(--color-info-border);background:var(--color-info-bg)}
.glyph svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6}
.more{display:inline-flex;margin-top:auto;padding-top:18px;font-size:15px;font-weight:700;text-decoration:none}
.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:40px;align-items:center}
.spec-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:var(--radius);padding:28px}
.spec-card ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0}
.spec-card li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line);color:var(--navy);font-weight:700}
.spec-card li span{color:var(--muted);font-weight:600}
.band{background:var(--light)}
.section-dark{background:var(--navy-2);color:#fff}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark .section-head p,.section-dark .steps p{color:#c5d0de}
.section-dark .kicker{color:#9eb6de}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:8px 0 0;padding:0;list-style:none}
.steps li{padding:0 22px 0 24px;border-left:1px solid rgba(255,255,255,.16)}
.section:not(.section-dark) .steps li{border-left-color:var(--line)}
.steps li:first-child{padding-left:0;border-left:0}
.step-no{display:block;margin-bottom:12px;color:#fff;font-size:28px;font-weight:800;letter-spacing:.04em;line-height:1}
.section:not(.section-dark) .step-no{color:var(--blue);font-size:13px;letter-spacing:.14em}
.steps h3{margin:0 0 8px;font-size:22px}
.steps p{margin:0}
.cta{background:var(--navy-2);color:#fff;border-radius:var(--radius);padding:40px}
.cta h2{margin:0 0 8px;color:#fff;font-size:clamp(28px,3vw,40px);line-height:1.15}
.cta p{color:#d5e2f4}
.cta .btn-primary{background:#fff;color:var(--navy);border-color:#fff}
.cta .btn-primary:hover{background:#e8eef6;border-color:#e8eef6}
.cta .btn-primary:active{background:#d5deea;border-color:#d5deea}
.cta .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cta .btn-secondary:hover{background:rgba(255,255,255,.08);border-color:#fff}
.cta .btn-secondary:active{background:rgba(255,255,255,.16)}
.cta-band{background:var(--navy-2);color:#fff;padding:72px 0}
.cta-band h2{margin:0 0 12px;max-width:12em;color:#fff;font-size:clamp(36px,4vw,52px);line-height:1.08;letter-spacing:-.03em}
.cta-band p{margin:0 0 24px;max-width:36em;color:#d5e2f4;font-size:18px}
.cta-band .btn{background:#fff;color:var(--navy)}
.cta-band .btn:hover{background:#e8eef6}
.cta-band .btn:active{background:#d5deea}
.contact-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:28px;align-items:stretch}
.contact-copy p{max-width:40em;color:var(--muted)}
.contact-list{display:grid;gap:16px;margin-top:22px}
.contact-list strong{display:block;margin-bottom:4px;color:var(--navy);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.contact-list p{margin:0;color:var(--ink)}
.offer-panel{background:var(--navy);color:#fff;border-radius:var(--radius);padding:36px;display:flex;flex-direction:column;justify-content:center}
.offer-panel h2{margin:0 0 10px;color:#fff;font-size:clamp(28px,3vw,36px);line-height:1.15}
.offer-panel p{margin:0 0 22px;color:#d5e2f4}
.offer-panel a{color:#fff}
.offer-panel .btn{align-self:flex-start;background:#fff;color:var(--navy)}
.offer-panel .btn:hover{background:#e8eef6}
.offer-panel .btn:active{background:#d5deea}
.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:156px;padding:16px;border:1px solid var(--color-border);border-radius:18px;background:#fff;color:var(--color-text);text-decoration:none;box-shadow:0 8px 22px rgba(11,27,51,.05);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.contact-card h3{margin:2px 0 0;font-size:16px;line-height:1.2;color:var(--navy)}
.contact-card p{margin:0;max-width:none;color:var(--color-text-muted);font-size:14px;line-height:1.4}
.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--color-info-bg);color:var(--color-accent);transition:background-color .16s ease,color .16s ease}
.contact-icon svg,.contact-go svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.wa-fab img{width:48px;height:48px;object-fit:contain;object-position:center;display:block;flex:none;border-radius:50%}
.contact-go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;color:var(--color-accent);font-size:13px;font-weight:700}
.contact-go svg{width:16px;height:16px}
.contact-card:hover{transform:translateY(-2px);border-color:var(--color-accent);box-shadow:0 14px 28px rgba(11,27,51,.1)}
.contact-card:hover .contact-icon,.contact-card:focus-visible .contact-icon{background:var(--color-accent);color:#fff}
.contact-card:active{transform:translateY(0);border-color:var(--color-primary)}
.contact-card:focus-visible,.wa-fab:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.contact-note{margin:14px 0 0;color:var(--color-text-muted);font-size:14px;line-height:1.45}
.contact-note strong{color:var(--navy)}
.map-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;max-width:760px;padding:22px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow)}
.map-panel p{margin:0;color:var(--color-text);line-height:1.5}
.wa-fab{position:fixed;right:20px;bottom:20px;z-index:25;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--navy);color:#fff;text-decoration:none;box-shadow:0 10px 24px rgba(11,27,51,.22);transition:transform .16s ease,background-color .16s ease}
.wa-fab:hover{transform:translateY(-2px);background:var(--color-primary-hover)}
.wa-fab:active{transform:translateY(0);background:var(--color-primary-active)}
.breadcrumbs{margin-bottom:14px;font-size:13px;color:var(--muted)}
.breadcrumbs a{color:var(--muted);text-decoration:none}
.page-hero{background:var(--light);border-bottom:1px solid var(--line);padding:56px 0 44px}
.page-hero h1{margin:0 0 12px;max-width:16em;font-size:clamp(40px,4vw,56px);line-height:1.08;letter-spacing:-.03em;color:var(--navy)}
.page-hero p{margin:0;max-width:42em;color:var(--muted);font-size:18px}
.notice{margin-top:22px;padding:14px 16px;border-left:3px solid var(--blue);background:#fff;color:var(--ink)}
.tag{display:inline-flex;margin-bottom:10px;padding:3px 8px;border-radius:99px;background:#eaf1fb;color:#154a9a;font-size:11px;font-weight:800;letter-spacing:.06em}
.link-row{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:8px}
.link-row a{font-weight:700}
.ref-card h3{font-size:24px}
.footer{background:var(--navy-2);color:#c9d4e2}
.footer-grid{display:grid;grid-template-columns:1.25fr .9fr .9fr 1.2fr;gap:32px;padding:52px 0 40px}
.footer h3{margin:0 0 12px;color:#fff;font-size:16px;line-height:1.3}
.footer a{color:#e4ecf5;text-decoration:none}
.footer a:hover{color:#fff}
.footer p{margin:0;line-height:1.75}
.copyright{border-top:1px solid rgba(255,255,255,.12);padding:16px 0 22px;font-size:13px;color:#93a0b3}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.option,.vd-choice .option{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin:0;padding:10px 14px;border:1px solid var(--color-border);border-radius:12px;background:#fff;color:var(--color-primary);font-weight:700;line-height:1.3;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.vd-choice{display:flex;flex-wrap:wrap;gap:8px}
.option input,.vd-choice .option input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.option input:focus-visible,.vd-choice .option input:focus-visible{outline:none}
.option:hover,.vd-choice .option:hover{border-color:var(--color-info);background:var(--color-info-bg)}
.option:has(input:focus-visible),.vd-choice .option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:3px}
.option:has(:checked),.option-selected,.vd-choice .option:has(input:checked){border-color:var(--color-info);background:var(--color-info-bg);box-shadow:inset 3px 0 0 var(--color-info)}
.option:has(:checked)::after,.option-selected::after,.vd-choice .option:has(input:checked)::after{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--color-info);box-shadow:0 0 0 2px #fff}
.option:has(input:disabled),.option-disabled,.vd-choice .option:has(input:disabled){background:#eef2f6;color:var(--color-muted);border-color:var(--color-border);box-shadow:none;cursor:not-allowed}
.option:has(input:disabled)::after,.option-disabled::after{content:none}
.vd-tool .vd-label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:var(--navy)}
body .vd-tool form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
body .vd-tool input[type="number"],body .vd-tool input[type="text"],body .vd-tool select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:#fff;color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
body .vd-tool input:hover,body .vd-tool select:hover{border-color:#b7c5d6}
body .vd-tool input:focus-visible,body .vd-tool select:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px rgba(13,91,215,.12)}
body .vd-tool input:disabled,body .vd-tool select:disabled{background:#eef2f6;color:var(--color-muted);cursor:not-allowed;box-shadow:none}
body .vd-tool input:user-invalid,body .vd-tool select:user-invalid{border-color:var(--color-danger);background:var(--color-danger-bg)}
.vd-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.vd-error,.vd-warnings{margin:14px 0 0;padding-left:18px}
.vd-error{color:var(--color-danger)}
.vd-warnings{color:var(--color-warning)}
.vd-status,.status{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 10px;border:1px solid var(--color-info-border);border-radius:6px;background:var(--color-info-bg);color:var(--color-info);font-size:16px;font-weight:800;letter-spacing:.03em;line-height:1.3}
.card p.vd-status,.card p.status{color:var(--color-info)}
.status::before,.vd-status::before{content:"";width:10px;height:10px;flex:none;border-radius:50%;background:currentColor;box-shadow:inset 0 0 0 2px var(--color-info-bg)}
.status-success,.vd-status-ok{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}
.card p.status-success,.card p.vd-status-ok{color:var(--color-success)}
.status-success::before,.vd-status-ok::before{border-radius:50%;box-shadow:none}
.status-warning{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning)}
.card p.status-warning{color:var(--color-warning)}
.status-warning::before{width:0;height:0;border-radius:0;background:transparent;box-shadow:none;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid currentColor}
.status-danger,.vd-status-bad{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger)}
.card p.status-danger,.card p.vd-status-bad{color:var(--color-danger)}
.status-danger::before,.vd-status-bad::before{border-radius:1px;box-shadow:none}
.status-info{border-color:var(--color-info-border);background:var(--color-info-bg);color:var(--color-info)}
.card p.status-info{color:var(--color-info)}
.card:has(.status-success),.card:has(.vd-status-ok){border-top-color:var(--color-success)}
.card:has(.status-warning){border-top-color:var(--color-warning)}
.card:has(.status-danger),.card:has(.vd-status-bad){border-top-color:var(--color-danger)}
.card:has(.status-info){border-top-color:var(--color-info)}
[id$="-results"] .card p:not(.vd-status):not(.status){font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--color-text)}
[id$="-results"] .grid-3>.card:first-child{background:var(--color-primary);border-color:transparent;color:#fff}
[id$="-results"] .grid-3>.card:first-child h3{color:rgba(255,255,255,.72)}
[id$="-results"] .grid-3>.card:first-child p:not(.vd-status):not(.status){font-size:clamp(36px,4vw,48px);font-weight:800;color:#fff}
.page-hero{background:linear-gradient(180deg,var(--color-surface),var(--color-bg))}
@media(prefers-reduced-motion:reduce){
.btn,.option,.menu-btn,.nav-cta,.nav-link,.nav-pop,.nav-toggle,.vd-tool input,.vd-tool select,.status,.calc-card,.solution-card,.service-card,.ref-card,.glyph,.site-header,.nav,.brand-logo,.contact-card,.contact-icon,.wa-fab{transition:none}
.btn.is-loading::after,.hero-panel .eyebrow,.hero-panel h1,.hero-panel .hero-lead,.hero-panel>p,.hero-panel .hero-actions,.calc-tools .calc-card{animation:none}
.calc-tools .calc-card:hover,.calc-tools .calc-card:active,.calc-tools .calc-card:hover .glyph{transform:none}
.hero-video{display:none}
.hero{background:var(--navy-2) url("/assets/images/hero-pano.webp") center/cover no-repeat}
.hero .btn-primary:hover,.service-card:hover,.solution-card:hover,.calc-card:hover,.ref-card:hover,.calc-card:hover .glyph,.solution-card:hover .glyph,.contact-card:hover,.wa-fab:hover{transform:none}
}
@media(max-width:1320px){
.navlinks{gap:2px;font-size:11.5px}
.nav-link{padding:5px 6px}
}
@media(max-width:1180px){
.menu-btn{display:inline-flex}
.navlinks{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 0 14px;max-height:calc(100vh - 110px);overflow:auto}
.navlinks.open{display:flex}
.nav-item{flex-wrap:wrap}
.nav-item::after{display:none}
.nav-item>.nav-link{flex:1}
.nav-toggle{width:44px;height:44px;margin:0}
.nav-pop{position:static;display:none;min-width:0;width:100%;padding:0 8px 8px;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nav-item:hover>.nav-pop{display:none}
.nav-item.is-open>.nav-pop{display:grid}
.navlinks a{padding:13px 24px;white-space:normal}
.nav-link{border-radius:12px}
.nav-cta{margin:8px 24px 0;text-align:center}
.hero{min-height:560px;padding:56px 0}
.hero-grid,.split,.footer-grid,.contact-split{grid-template-columns:1fr}
.visual{justify-content:flex-start}
.trust-row{grid-template-columns:1fr 1fr 1fr}
.trust-row a{border-top:1px solid var(--line);min-height:64px}
.grid-3{grid-template-columns:1fr 1fr}
.steps{grid-template-columns:1fr 1fr;gap:28px 0}
.steps li,.steps li:first-child{padding:0 16px 0 0;border-left:0}
}
@media(max-width:760px){
.container{width:min(1240px,calc(100% - 32px))}
.hero h1{font-size:34px}
.hero-lead{font-size:22px}
.section-head h2,.split h2,.contact-copy h2,.cta-band h2{font-size:32px}
.hero-panel{padding:20px 18px;border-radius:18px}
section{padding:56px 0}
.page-hero{padding:40px 0 32px}
.trust-row,.grid-3,.grid-2,.grid-apps,.steps,.footer-grid,.loc-grid{grid-template-columns:1fr}
.grid-apps .card{grid-column:auto}
.trust-row a:first-child{padding-left:14px}
.hero{min-height:520px;padding:40px 0}
.hero::after{background:linear-gradient(180deg,rgba(6,20,38,.22) 0%,rgba(6,20,38,.06) 100%)}
body .vd-tool form{padding:16px}
[id$="-results"] .card p:not(.vd-status):not(.status){font-size:24px}
[id$="-results"] .grid-3>.card:first-child p:not(.vd-status):not(.status){font-size:36px}
.hero-actions .btn,.offer-panel .btn,.cta .btn,.cta-band .btn,.vd-actions .btn{width:100%}
.contact-actions{grid-template-columns:1fr}
.wa-fab{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}
.vd-choice .option{flex:1 1 100%}
.cta,.offer-panel{padding:28px}
section.trust{padding:0}
section.cta-band{padding:48px 0}
}