/* Technology-led visual layer. Data, routes and interactive behavior are unchanged. */
:root{--bg:#eff3f7;--surface:#fff;--alt:#e6ecf3;--head:#12283f;--text:#4b6074;--accent:#1267e9;--accent-ink:#fff;--soft:#e7f0ff;--border:#dce5ef;--r:12px;--shadow:0 14px 36px rgba(15,35,60,.055);--electric:#5de0ff;--night:#081321;--night-text:#a7b9cb;--accent-rgb:18,103,233}
[data-theme=blue]{--accent:#1267e9;--soft:#e7f0ff;--electric:#5de0ff;--accent-rgb:18,103,233}
[data-theme=green]{--accent:#14734c;--soft:#e6f4eb;--electric:#75ecc3;--accent-rgb:20,115,76}
[data-theme=burgundy]{--accent:#a42a52;--soft:#f8e9ee;--electric:#f6a0c2;--accent-rgb:164,42,82}
[data-theme=teal]{--accent:#087c86;--soft:#e3f3f4;--electric:#69e6df;--accent-rgb:8,124,134}
[data-theme=violet]{--accent:#6946ce;--soft:#eee9fb;--electric:#b9a5ff;--accent-rgb:105,70,206}
[data-theme=sand]{--bg:#f5f2ec;--alt:#ebe5db;--accent:#8f5b21;--soft:#f3e9d9;--border:#e6dfd4;--electric:#f1ce91;--accent-rgb:143,91,33}
[data-theme=mint]{--bg:#eef5f3;--alt:#e2eeea;--accent:#0b7863;--soft:#dff1eb;--border:#d8e5df;--electric:#81eed3;--accent-rgb:11,120,99}
[data-theme=coral]{--bg:#f7f2f1;--alt:#f0e5e3;--accent:#c6473c;--soft:#fbe9e5;--border:#e9dedb;--electric:#ffb7a2;--accent-rgb:198,71,60}
[data-theme=minimal]{--bg:#f2f4f6;--alt:#e9edf1;--accent:#253c54;--soft:#e5ebf1;--border:#dce1e7;--r:3px;--electric:#c4e1fa;--shadow:none;--accent-rgb:37,60,84}
html{scroll-padding-top:110px}
body{font-family:"Inter","Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.75;letter-spacing:.005em}
h1,h2,h3{font-family:"Inter","Segoe UI",Arial,sans-serif;letter-spacing:-.04em;font-weight:750;text-wrap:balance}
h1{font-size:clamp(2.2rem,4.3vw,4.3rem);line-height:1.06}h2{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.15}h3,.h3{font-size:1.2rem;line-height:1.35;letter-spacing:-.025em}
a{text-underline-offset:4px}.wrap{max-width:1320px;padding-left:40px;padding-right:40px}.narrow{max-width:960px}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.hdr{background:rgba(8,19,33,.96);border-bottom:1px solid rgba(174,211,246,.13);box-shadow:0 6px 24px rgba(4,14,25,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.hdr-in{min-height:88px;gap:26px}.brand{color:#f7fbff;gap:12px;flex-shrink:0;max-width:32%}.brand b{font-size:1.08rem;letter-spacing:-.035em;white-space:normal;line-height:1.3;overflow-wrap:anywhere}.brand small{font-size:.69rem;color:#a5b8ca;letter-spacing:.035em;line-height:1.5;margin-top:4px}.brand img{max-width:120px;max-height:44px;object-fit:contain}
.nav{margin-left:auto;gap:2px;justify-content:flex-end}.nav a{position:relative;padding:10px 9px;font-size:.79rem;font-weight:600;color:#b9cad9;border-radius:5px;white-space:nowrap;transition:color .2s,background .2s}.nav a:hover,.nav a[aria-current]{color:#fff;background:rgba(255,255,255,.07)}.nav a[aria-current]::after{content:"";position:absolute;left:9px;right:9px;bottom:3px;height:2px;background:var(--electric)}
.hdr-phone{font-size:.85rem;color:#f2f7ff;gap:10px;border-left:1px solid rgba(255,255,255,.15);padding-left:22px}.hdr-phone .icon{color:var(--electric);width:18px;height:18px}.burger{border-color:rgba(255,255,255,.18);color:#fff;border-radius:7px;flex-shrink:0}
.btn{border:1px solid #c4d0de;border-radius:7px;min-height:50px;padding:0 24px;color:var(--head);font:600 .88rem/1.3 "Inter","Segoe UI",Arial,sans-serif;letter-spacing:.01em;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;gap:10px}
.btn:hover{background:var(--soft);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 7px 18px rgba(18,35,58,.08)}.btn-accent{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 7px 18px rgba(var(--accent-rgb),.18)}.btn-accent:hover{color:#fff;background:var(--accent);filter:brightness(1.08)}
.hero,html[data-background=gradient] .hero,html[data-background=image] .hero{position:relative;overflow:hidden;isolation:isolate;background:#081321;color:var(--night-text);border-bottom:1px solid #21364b}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 35%,rgba(var(--accent-rgb),.22),transparent 58%),linear-gradient(110deg,#081321 15%,#0d2034 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background-image:linear-gradient(rgba(147,192,230,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(147,192,230,.08) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 15%,#000 85%);pointer-events:none}
.hero-in{min-height:650px;grid-template-columns:1.06fr 1fr;gap:64px;padding-top:76px;padding-bottom:78px}.hero-text{position:relative;min-width:0}.hero h1{color:#f3f7fd;max-width:750px;font-size:clamp(2.35rem,4.7vw,4.7rem);font-weight:700;line-height:1.06;letter-spacing:-.055em;margin:0 0 28px;overflow-wrap:anywhere}.hero .lead{font-size:1.05rem;line-height:1.85;max-width:520px;color:#a5b9cd;margin:0 0 30px}.hero-eyebrow{display:flex;align-items:center;gap:10px;color:#bbd4ea;text-transform:uppercase;letter-spacing:.14em;font:500 .68rem/1.5 "Consolas",monospace;margin-bottom:26px;overflow-wrap:anywhere}.status-dot{width:6px;height:6px;background:var(--electric);box-shadow:0 0 15px var(--electric);flex:none}.hero .actions{gap:12px;margin:0}.hero .btn{color:#e0eaf5;border-color:#344a60;background:rgba(255,255,255,.02);min-height:54px}.hero .btn:hover{background:rgba(255,255,255,.08);border-color:#8aaccb}.hero .btn-accent{color:#fff;background:var(--accent);border-color:var(--accent)}.hero .btn-accent::after{content:"↗";font-size:1.15rem;margin-left:10px}.hero .btn-accent:hover{background:var(--accent)}.hero-territory{display:flex;align-items:center;gap:10px;font-size:.73rem;color:#87a0b8;margin-top:38px}.hero-territory .icon{width:16px;height:16px;color:var(--electric)}
.hero-img{position:relative;min-width:0;padding:18px}.hero-img::before{content:"";position:absolute;inset:0;border:1px solid rgba(130,183,223,.16);border-radius:2px;pointer-events:none}.hero-img img{border-radius:3px;aspect-ratio:1.08;object-fit:cover;width:100%;box-shadow:0 30px 70px rgba(0,0,0,.3);border:1px solid rgba(130,183,223,.14)}.hero-img img.hero-art{aspect-ratio:900/740;object-fit:contain;border:0;box-shadow:none;background:transparent}.hero-corner{position:absolute;width:36px;height:36px;z-index:1;pointer-events:none}.hero-corner-top{top:0;left:0;border-top:2px solid var(--electric);border-left:2px solid var(--electric)}.hero-corner-bottom{bottom:0;right:0;border-right:2px solid var(--electric);border-bottom:2px solid var(--electric)}.hero-image-caption{position:absolute;bottom:-21px;left:18px;right:18px;display:flex;gap:5px;align-items:center;height:7px}.hero-image-caption span{height:1px;background:rgba(140,186,225,.22);flex:1;margin-right:14px}.hero-image-caption i{height:5px;width:14px;background:#294764}.hero-image-caption i:first-of-type{background:var(--electric)}
.sec{padding:82px 0}.sec:not(.pagehead){border-bottom:1px solid rgba(117,142,168,.12)}.sec h2{margin-bottom:24px}.sec h2::before{content:"";display:block;width:32px;height:3px;background:var(--accent);margin-bottom:18px}.sec.alt,html[data-background=gradient] .sec.alt,html[data-background=image] .sec.alt{background:rgba(223,232,242,.35)}.sub{color:var(--text);font-size:.97rem;max-width:700px;line-height:1.8;margin-top:-8px;margin-bottom:32px}.pagehead{padding:62px 0 20px;border:0}.pagehead h1{max-width:1000px;margin:0 0 20px}.pagehead .lead{max-width:780px;font-size:1.05rem;color:var(--text)}.crumbs{font:500 .72rem/1.5 "Consolas",monospace;letter-spacing:.035em;margin-bottom:26px}.crumbs a{text-decoration:none}
.grid{gap:22px}.card{position:relative;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s,border-color .25s}.card:hover{transform:translateY(-5px);border-color:rgba(var(--accent-rgb),.4);box-shadow:0 20px 45px rgba(15,35,60,.1)}.card-img{overflow:hidden;background:#dce5ef;display:block}.card-img img{aspect-ratio:16/11;transition:transform .55s ease;filter:saturate(.8)}.card:hover .card-img img{transform:scale(1.035);filter:saturate(1)}.card-body{padding:26px 26px 28px;flex:1}.card-body h3{font-size:1.22rem;margin:12px 0 12px}.card-body p{font-size:.89rem;line-height:1.8;margin-top:12px;color:var(--text)}.card .tags{min-height:26px;margin:0}.tag{font-size:.64rem;letter-spacing:.045em;border-radius:4px;padding:5px 8px;line-height:1.35;font-weight:650}.demo{font-size:.64rem;border-radius:4px;padding:4px 8px}.tags .ico{width:22px;height:22px}.feat{padding:30px;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--r)}.feat .big{width:32px;height:32px;margin-bottom:24px}.feat h3{margin-bottom:12px}.feat p{font-size:.88rem;line-height:1.85}.num{background:var(--soft);border:1px solid rgba(var(--accent-rgb),.15);color:var(--accent);border-radius:5px;font:500 .85rem/1 "Consolas",monospace;margin-bottom:20px}.more{margin-top:32px}
.faq{border-radius:8px;padding:0 26px;box-shadow:none}.faq summary{padding:22px 0;font-weight:600;letter-spacing:-.015em}.faq .prose{font-size:.94rem;padding-bottom:22px}.panel{border-radius:var(--r);padding:32px;box-shadow:var(--shadow)}.info li{margin-bottom:20px;gap:14px;font-size:.95rem}.info a{text-decoration:none;color:var(--head);overflow-wrap:anywhere}.info .icon{width:18px;height:18px;margin-top:5px}.form label{font-size:.79rem;letter-spacing:.015em}.form input[type=text],.form input[type=email],.form textarea,.form input:not([type]){background:#f7f9fc;border:1px solid var(--border);border-radius:6px;color:var(--head);font-size:.94rem;padding:13px 14px;transition:border-color .2s,box-shadow .2s}.form input:focus,.form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.form .f-check label{font-size:.74rem;line-height:1.65}.form .btn{width:100%;margin-top:10px}.form .f-row{margin-bottom:19px}.f-check input{accent-color:var(--accent)}
.filter{gap:8px;margin-bottom:30px}.filter a{border-radius:6px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;min-width:90px;padding:8px 16px;font-size:.79rem;font-weight:600}.gallery{gap:14px}.gallery img,.wide{border-radius:var(--r)}.facts dt{font:500 .65rem/1.5 "Consolas",monospace;text-transform:uppercase;letter-spacing:.07em;color:#708299;margin-top:20px}.facts dd{font-size:.95rem;margin-top:4px}.prose{font-size:1rem;line-height:1.95;overflow-wrap:anywhere}.prose h2{margin-top:40px}.prose h2::before{display:none}.docs li{padding:20px 24px;border-radius:8px;gap:18px}.docs small{font-size:.8rem}.timeline li{padding:30px 0;grid-template-columns:100px 1fr;gap:24px}.year{font:500 1.2rem/1.4 "Consolas",monospace}.timeline h2.h3::before{display:none}.timeline h2.h3{margin-bottom:12px}.contact-map{border-radius:10px;box-shadow:var(--shadow)}.contact-map figcaption{font-size:.75rem;padding:12px 16px}.contact-map figcaption a{text-decoration:none}.company-credentials{margin-top:46px}.company-credentials>h2{font-size:1.5rem;letter-spacing:-.025em}.credentials-grid{gap:18px}.credential-preview{background:#f7f9fc;border-bottom:1px solid var(--border)}.credential-card .card-body{padding:22px}.credential-card h3{font-size:1.02rem}.credential-card .btn{min-height:42px;padding:0 16px;font-size:.77rem}
.ftr{position:relative;background:var(--night);color:#90a8be;margin-top:0;padding-top:60px;border-top:1px solid #1b334b}.ftr::before{content:"";position:absolute;top:-1px;left:max(24px,calc((100vw - 1240px)/2));width:72px;height:2px;background:var(--electric)}.ftr b{font-size:1.25rem;letter-spacing:-.035em;color:#f1f6fd}.ftr p{font-size:.85rem;line-height:1.9;margin-top:12px}.ftr a{color:#bad0e2;text-decoration:none}.ftr a:hover{color:var(--electric)}.soc{gap:10px;font-size:.8rem}.ftr-in{gap:64px}.copy{font:400 .7rem/1.6 "Consolas",monospace;letter-spacing:.015em;border-top:1px solid #1b2c3e;margin-top:42px;padding-top:22px;padding-bottom:24px;color:#7893ab;opacity:1}.mbar{box-shadow:0 -8px 30px rgba(16,34,53,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
/* Keep the existing background controls, now with a more structured grid. */
.page-backdrop{background-image:radial-gradient(ellipse at 95% 5%,var(--soft),transparent 55%),linear-gradient(135deg,var(--bg),var(--alt))}.page-backdrop::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(83,115,148,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(83,115,148,.045) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}.page-backdrop img{z-index:0}.page-backdrop::after{z-index:1}
@media(min-width:1500px){.hero-in{min-height:730px;padding-top:100px;padding-bottom:100px}}
@media(max-width:1200px){.wrap{padding-left:28px;padding-right:28px}.hdr-in{gap:18px}.brand{max-width:25%}.hdr-phone{padding-left:16px;font-size:.75rem}.nav a{font-size:.72rem;padding:10px 7px}.hero-in{gap:36px}.hero h1{font-size:clamp(2.3rem,4.8vw,4rem)}}
@media(max-width:1050px){.hdr-in{min-height:76px}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#0c1c2e;flex-direction:column;align-items:stretch;padding:16px 28px 24px;border-bottom:1px solid #294057;box-shadow:0 15px 25px rgba(0,0,0,.2);margin:0}.nav.open{display:flex}.nav a{font-size:.9rem;padding:13px 16px}.nav a[aria-current]::after{display:none}.nav-phone{display:block!important;color:var(--electric)!important}.burger{display:inline-flex}.brand{max-width:65%;margin-right:auto}.hdr-phone{margin-left:auto}.hdr-phone span{display:inline}.hdr-phone+.burger{margin-left:0}.hero-in{min-height:580px;gap:28px}.hero h1{font-size:clamp(2.1rem,4.5vw,3.2rem)}.hero .lead{font-size:.95rem}.hero-img{padding:12px}.sec{padding:64px 0}}
@media(max-width:860px){.hero-in{grid-template-columns:1fr;padding-top:52px;padding-bottom:60px;gap:48px;min-height:0}.hero h1{font-size:clamp(2.45rem,7.2vw,4.3rem);max-width:720px}.hero .lead{max-width:620px;font-size:1rem}.hero-text{max-width:740px}.hero-img{width:100%;max-width:620px;margin:0 auto}.hero-img img{aspect-ratio:16/10}.hero-img img.hero-art{aspect-ratio:900/620;object-fit:contain}.hero-territory{margin-top:26px}.hero-eyebrow{margin-bottom:20px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.hdr-phone span{display:none}.hdr-phone{border-left:0;padding:0}.hdr-phone .icon{width:22px;height:22px}.panel{padding:26px}.sec{padding:52px 0}.pagehead{padding:42px 0 8px}.ftr-in{gap:30px}.ftr{padding-top:44px}.copy{margin-top:30px}.mbar .btn{min-height:46px}.two{gap:28px}}
@media(max-width:560px){body{font-size:15px}.wrap{padding-left:20px;padding-right:20px}.hdr-in{min-height:72px;gap:16px}.brand{max-width:67%;gap:8px}.brand b{font-size:.94rem}.brand small{font-size:.61rem}.brand img{max-width:74px;height:34px}.burger{width:40px;height:40px}.hero-in{padding-top:42px;padding-bottom:48px;gap:34px}.hero h1{font-size:clamp(2.1rem,9.2vw,3rem);line-height:1.08;letter-spacing:-.05em;margin-bottom:22px}.hero .lead{font-size:.92rem;line-height:1.8;margin-bottom:26px}.hero .btn{min-height:48px;padding:0 18px;font-size:.78rem}.hero-eyebrow{font-size:.6rem;letter-spacing:.1em}.hero-territory{font-size:.68rem}.hero-img{padding:10px}.hero-corner{width:25px;height:25px}.hero-img img{aspect-ratio:4/3}.hero-image-caption{bottom:-14px}.sec{padding:44px 0}.sec h2{font-size:1.8rem}.sec h2::before{margin-bottom:14px;width:26px;height:2px}.sub{font-size:.9rem}.grid-3,.grid-4{grid-template-columns:1fr}.grid{gap:18px}.card-body{padding:23px}.card-body h3{font-size:1.2rem}.feat{padding:26px}.panel{padding:24px 20px}.faq{padding:0 20px}.faq summary{font-size:.92rem;padding:18px 0}.pagehead{padding:36px 0 6px}.pagehead h1{font-size:2.25rem}.pagehead .lead{font-size:.97rem}.timeline li{grid-template-columns:1fr;gap:10px;padding:24px 0}.docs li{padding:18px;gap:14px;align-items:flex-start}.docs li .btn{min-height:42px}.contact-map iframe{height:320px}.company-credentials>h2{font-size:1.4rem}.ftr-in{gap:26px}.ftr p{font-size:.8rem}.copy{font-size:.64rem}.credentials-grid{gap:16px}.filter a{min-width:82px;font-size:.75rem}.lb-cap{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.card:hover,.btn:hover{transform:none}.js .reveal{opacity:1;transform:none}}
@media print{.hdr,.ftr,.mbar,.hero::before,.hero::after,.hero-corner,.hero-image-caption{display:none!important}.hero,html[data-background=gradient] .hero,html[data-background=image] .hero{background:#fff;color:#111}.hero h1,.hero .lead,.hero-eyebrow{color:#111}.sec{padding:24px 0}.card,.panel{box-shadow:none}.hero-in{min-height:0;padding:24px 0}.hero-img{max-width:360px}.hero-eyebrow .status-dot{background:#111;box-shadow:none}body{padding-bottom:0}}
/* Existing logos were prepared for the former light header. */
.brand img{background:#fff;padding:5px;border-radius:5px}

/* Header appearance is independent of the page and hero backgrounds. */
.hdr{isolation:isolate;--header-foreground:#f2f7ff;--header-muted:#b9cad9;--header-line:rgba(255,255,255,.15);--header-hover:rgba(255,255,255,.07);--header-highlight:var(--electric);--header-mobile:#0c1c2e;--header-veil:8,19,33;--header-opacity:.85}
.hdr[data-header-background=color]{background:var(--header-custom-color,#101d2b)}
.hdr[data-header-background=gradient]{background:linear-gradient(115deg,#081321,#193d5c)}
.hdr[data-header-background=gradient][data-header-gradient=blue]{background:linear-gradient(115deg,#0b2244,#174e81)}
.hdr[data-header-background=gradient][data-header-gradient=graphite]{background:linear-gradient(115deg,#161b24,#38404c)}
.hdr[data-header-background=gradient][data-header-gradient=teal]{background:linear-gradient(115deg,#09252a,#16545c)}
.hdr[data-header-background=gradient][data-header-gradient=light]{background:linear-gradient(115deg,#f5f8fc,#dce7f0)}
.hdr[data-header-background=image]{background:#101d2b}
.hdr[data-header-tone=dark]{--header-foreground:#152b43;--header-muted:#334e68;--header-line:rgba(21,43,67,.18);--header-hover:rgba(21,43,67,.07);--header-highlight:var(--accent);--header-mobile:#f3f7fb;--header-veil:255,255,255;border-bottom-color:rgba(21,43,67,.18)}
.hdr[data-header-overlay=light]{--header-opacity:.75}.hdr[data-header-overlay=strong]{--header-opacity:.95}
.header-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.header-backdrop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.header-backdrop::after{content:"";position:absolute;inset:0;background:rgba(var(--header-veil),var(--header-opacity))}
.hdr .brand,.hdr .hdr-phone{color:var(--header-foreground)}
.hdr .brand small,.hdr .nav a{color:var(--header-muted)}
.hdr .nav a:hover,.hdr .nav a[aria-current]{background:var(--header-hover);color:var(--header-foreground)}
.hdr .nav a[aria-current]::after{background:var(--header-highlight)}
.hdr .hdr-phone{border-color:var(--header-line)}.hdr .hdr-phone .icon{color:var(--header-highlight)}
.hdr .burger{color:var(--header-foreground);border-color:var(--header-line)}
@media(max-width:1050px){.hdr .nav{background:var(--header-mobile);border-color:var(--header-line)}.hdr .nav .nav-phone{color:var(--header-highlight)!important}}

/* Services: three columns on desktop, entire images including their edges. */
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card .card-img{position:relative;display:block;aspect-ratio:16/11;background:#f3f6fa}
.service-card .card-img img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);aspect-ratio:auto;object-fit:contain;filter:none;transform:none}
.service-card:hover .card-img img{transform:none;filter:none}
@media(max-width:860px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.services-grid{grid-template-columns:1fr}}
.service-detail-image{height:auto;max-height:760px;aspect-ratio:auto;object-fit:contain;background:#f3f6fa}
