:root{--navy:#0b1d3f;--navy2:#12285a;--blue:#0a5bd8;--cyan:#00c2e8;--indigo:#3a22e0;--bg:#fff;--soft:#f3f7fd;--text:#14213d;--muted:#55627a;--line:#dbe5f3;--card:#fff;--shadow:0 10px 30px rgba(11,29,63,.08);--shadow2:0 18px 44px rgba(10,91,216,.18);--grad:linear-gradient(135deg,#0a5bd8 0%,#00c2e8 100%)}
@media(prefers-color-scheme:dark){:root{--blue:#6aa8ff;--bg:#0a1324;--soft:#0f1b33;--text:#e8eef9;--muted:#a3b3cf;--line:#223250;--card:#111f3a;--shadow:0 10px 30px rgba(0,0,0,.35);--shadow2:0 18px 44px rgba(0,0,0,.5)}}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Lato,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%}
.wrap{width:90%;max-width:1240px;margin:0 auto}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.ico{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.125em}
/* top bar + header */
.topbar{background:var(--navy);color:#bcd0f2;font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;flex-wrap:wrap}
.topbar a{text-decoration:none;display:inline-flex;align-items:center;gap:7px;margin-right:22px}.topbar a:hover{color:#fff}
.topbar .r{display:flex;align-items:center;gap:7px}
@media(max-width:700px){.topbar .r{display:none}.topbar a{margin-right:14px}}
header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15}
.brand img{height:50px;width:auto;display:block}
.brand b{font-weight:900;font-size:20px;display:block;letter-spacing:-.01em}.brand small{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
nav{display:flex;gap:6px;align-items:center;font-weight:700;font-size:15px}
nav a{text-decoration:none;color:var(--muted);padding:9px 15px;border-radius:999px;transition:.2s}
nav a:hover{color:var(--blue);background:var(--soft)}nav a.active{color:var(--blue);background:var(--soft)}
nav a.cta-link{background:var(--grad);color:#fff;margin-left:8px;padding:10px 22px}nav a.cta-link:hover{filter:brightness(1.08);color:#fff;background:var(--grad)}
.menu{display:none;background:none;border:2px solid var(--line);color:var(--text);border-radius:8px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:960px){.menu{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:8px 5%;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}nav.open{display:flex}nav a{border-radius:0;padding:14px 0;border-bottom:1px solid var(--line);background:none!important}nav a.cta-link{margin:12px 0;text-align:center;border-radius:10px;color:#fff;background:var(--grad)!important}}
/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 85% 20%,rgba(0,194,232,.28),transparent 60%),radial-gradient(700px 500px at 10% 100%,rgba(58,34,224,.35),transparent 60%),var(--navy);color:#fff}
.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 90%);pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center;padding:100px 0 110px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:7px 16px;border-radius:999px;font-size:14px;font-weight:700;color:#bff3ff;margin-bottom:22px}
.hero h1{font-size:clamp(36px,5.2vw,68px);line-height:1.05;margin:0 0 22px;font-weight:900;letter-spacing:-.025em}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,#00e5ff,#6aa8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:#c3d2ee;max-width:62ch;font-size:19px;margin:0 0 32px}
.logo-panel{position:relative;justify-self:center;max-width:400px;width:100%;background:rgba(255,255,255,.96);border-radius:28px;padding:40px;box-shadow:0 30px 80px rgba(0,0,0,.4),0 0 0 10px rgba(255,255,255,.07)}
.logo-panel img{width:100%;display:block}
.float{position:absolute;background:var(--card);color:var(--text);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow2);display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;line-height:1.25}
.float .ico{color:var(--blue);font-size:22px}.float.a{left:-34px;bottom:34px}.float.b{right:-26px;top:30px}
@media(max-width:1100px){.float{display:none}}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr;padding:64px 0 72px}.logo-panel{max-width:200px;padding:20px;justify-self:start;border-radius:20px}}
.page-hero{position:relative;overflow:hidden;background:radial-gradient(700px 360px at 90% 0,rgba(0,194,232,.28),transparent 60%),var(--navy);color:#fff;padding:78px 0}
.page-hero h1{margin:0 0 12px;font-size:clamp(32px,4.6vw,54px);font-weight:900;letter-spacing:-.02em;line-height:1.1}
.page-hero p{margin:0;color:#c3d2ee;max-width:75ch;font-size:19px}
.crumbs{font-size:14px;color:#9fc0f0;margin-bottom:14px}.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}
/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;background:var(--cyan);color:#06213a;border:2px solid var(--cyan);cursor:pointer;transition:.2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,194,232,.35)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.btn.ghost:hover{background:rgba(255,255,255,.1);box-shadow:none}
.btn.dark{background:var(--grad);border-color:transparent;color:#fff}
/* sections */
section{padding:92px 0}section.alt{background:var(--soft)}
.sec-head{max-width:78ch;margin-bottom:48px}.sec-head.center{margin-inline:auto;text-align:center}
.tag{display:inline-block;color:var(--blue);font-weight:900;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
h2{font-size:clamp(28px,3.6vw,44px);line-height:1.12;margin:0 0 14px;font-weight:900;letter-spacing:-.02em}
h3{margin:0 0 8px;font-size:21px;line-height:1.25}
.lead{color:var(--muted);margin:0;font-size:18px}
.grid{display:grid;gap:26px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.g4{grid-template-columns:1fr 1fr}}
@media(max-width:960px){.g3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{position:relative;border:1px solid var(--line);background:var(--card);padding:32px;border-radius:20px;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:.25s;overflow:hidden}
.card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--grad);opacity:0;transition:.25s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow2)}.card:hover:before{opacity:1}
.card p{color:var(--muted);margin:0 0 16px}
.card ul{color:var(--muted);margin:0 0 18px;padding-left:20px}.card li{margin-bottom:4px}
.card .link{margin-top:auto;font-weight:700;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:8px;align-self:flex-start}
.card .link:hover .ico{transform:translateX(4px)}.card .link .ico{transition:.2s}
.icon-box{width:58px;height:58px;border-radius:16px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:28px;margin-bottom:20px;box-shadow:0 10px 22px rgba(10,91,216,.3)}
.domain{color:var(--blue);font-weight:700;font-size:15px;margin-bottom:10px}
/* stats */
.stats-band{margin-top:-60px;position:relative;z-index:2;padding:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow2)}
.stats>div{padding:32px 28px;border-right:1px solid var(--line);display:flex;gap:16px;align-items:center}.stats>div:last-child{border:0}
.stats .ico{font-size:34px;color:var(--blue)}
.stats b{display:block;font-size:26px;font-weight:900;line-height:1.2}.stats span{color:var(--muted);font-size:15px;line-height:1.4;display:block}
@media(max-width:960px){.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.stats{grid-template-columns:1fr}.stats>div{border-right:0;border-bottom:1px solid var(--line)}}
/* misc blocks */
dl{margin:0;display:grid;grid-template-columns:auto 1fr;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px 28px;box-shadow:var(--shadow)}
dt,dd{margin:0;padding:15px 0;border-bottom:1px solid var(--line)}dt:nth-last-of-type(1),dd:last-of-type{border:0}
dt{color:var(--muted);font-weight:700;padding-right:28px}dd{font-weight:700}
.list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.list li{padding-left:34px;position:relative}
.list li:before{content:"";position:absolute;left:0;top:.3em;width:20px;height:20px;border-radius:50%;background:var(--grad)}
.list li:after{content:"";position:absolute;left:7px;top:.5em;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.person{border:1px solid var(--line);padding:28px;border-radius:20px;background:var(--card);box-shadow:var(--shadow)}
.person .icon-box{width:50px;height:50px;font-size:24px;border-radius:14px;margin-bottom:16px}
.person b{font-size:19px;display:block;margin-bottom:4px}.person span{display:block;color:var(--muted)}
.avatar{width:72px;height:72px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:900;font-size:26px;margin-bottom:16px}
.steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.steps li{counter-increment:s;position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:70px 26px 28px;box-shadow:var(--shadow)}
.steps li:before{content:"0" counter(s);position:absolute;left:26px;top:22px;font-size:34px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.steps b{display:block;font-size:20px;margin-bottom:6px}.steps span{color:var(--muted)}
@media(max-width:960px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.steps{grid-template-columns:1fr}}
.timeline{list-style:none;margin:0;padding:0 0 0 30px;border-left:3px solid var(--line);display:grid;gap:28px}
.timeline li{position:relative}.timeline li:before{content:"";position:absolute;left:-40px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 5px var(--soft)}
.timeline time{font-weight:900;color:var(--blue);display:block}.timeline p{margin:2px 0 0;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;box-shadow:var(--shadow)}.chip .ico{color:var(--blue);font-size:20px}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:960px){.feature{grid-template-columns:1fr;gap:36px}}
.panel{background:var(--navy);color:#fff;border-radius:28px;padding:44px;position:relative;overflow:hidden;background:radial-gradient(500px 300px at 100% 0,rgba(0,194,232,.3),transparent 60%),var(--navy)}
.panel h3{font-size:26px;margin-bottom:14px}.panel p{color:#c3d2ee}
.panel ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}.panel li{display:flex;gap:12px;align-items:flex-start}.panel li .ico{color:var(--cyan);font-size:22px;margin-top:3px}
details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:0 26px;margin-bottom:14px;box-shadow:var(--shadow)}
summary{cursor:pointer;font-weight:700;font-size:18px;padding:20px 0;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:26px;color:var(--blue);line-height:1}details[open] summary:after{content:"–"}
details p{margin:0 0 22px;color:var(--muted)}
.cta{background:radial-gradient(700px 300px at 90% 100%,rgba(0,194,232,.35),transparent 60%),linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta h2{margin-bottom:8px}.cta p{color:#c3d2ee;max-width:60ch;margin:0;font-size:18px}
form{display:grid;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:var(--shadow)}
label{font-weight:700;display:grid;gap:7px}
input,textarea,select{font:inherit;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);width:100%}
input:focus,textarea:focus,select:focus{border-color:var(--blue)}
.note{color:var(--muted);font-size:15px}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
@media(max-width:960px){.split{grid-template-columns:1fr;gap:36px}}
.cinfo{display:grid;gap:18px}
.cbox{display:flex;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.cbox .icon-box{margin:0;width:50px;height:50px;font-size:24px;border-radius:14px}
.cbox b{display:block;color:var(--blue)}.cbox a{text-decoration:none}.cbox a:hover{text-decoration:underline}
/* footer */
footer{background:var(--navy);color:#bcd0f2;padding:72px 0 26px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
footer .fh{color:#fff;margin:0 0 14px;font-size:17px;font-weight:700}
footer a{display:block;text-decoration:none;padding:4px 0}footer a:hover{color:var(--cyan)}
footer img{height:56px;background:#fff;border-radius:12px;padding:6px;margin-bottom:16px}
footer .ci{display:flex;gap:10px;align-items:center}
.legal{border-top:1px solid #243a68;margin-top:44px;padding-top:20px;font-size:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
@media(max-width:960px){footer .cols{grid-template-columns:1fr 1fr}}@media(max-width:560px){footer .cols{grid-template-columns:1fr}}
.totop{position:fixed;right:22px;bottom:86px;width:48px;height:48px;border-radius:50%;border:0;background:var(--grad);color:#fff;font-size:22px;cursor:pointer;display:none;place-items:center;box-shadow:var(--shadow2);z-index:40}.totop.show{display:grid}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.card,.btn{transition:none}}

.leader{padding:0;overflow:hidden;display:grid;grid-template-columns:240px 1fr;align-items:stretch}
.leader .photo{background:var(--soft);min-height:100%}
.leader .photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;aspect-ratio:5/6}
.leader .lbody{padding:30px;align-self:center}
.leader b{font-size:21px}
@media(max-width:640px){.leader{grid-template-columns:1fr}.leader .photo img{aspect-ratio:4/3}}

/* ===== v3: two-column service lists, varied layouts, lean mobile ===== */
.svc-list{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;margin:0;padding:0;list-style:none}
.svc{align-content:start;display:grid;grid-template-columns:52px 1fr;gap:4px 20px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start;transition:.2s}
.svc:hover{padding-left:8px}
.svc .icon-box{width:52px;height:52px;font-size:24px;border-radius:14px;margin:0;grid-row:span 4}
.svc h3{margin:0;font-size:20px}
.svc p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.svc ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 8px}
.svc li{font-size:13.5px;font-weight:700;color:var(--blue);background:var(--soft);border:1px solid var(--line);padding:3px 11px;border-radius:999px}
section.alt .svc li{background:var(--bg)}
.svc .link{font-weight:700;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:15px}
.svc .link:hover .ico{transform:translateX(4px)}.svc .link .ico{transition:.2s}
@media(max-width:860px){.svc-list{grid-template-columns:1fr}}

/* bento (Why ASB) */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.bento>div{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:28px;box-shadow:var(--shadow);grid-column:span 2}
.bento .icon-box{width:48px;height:48px;font-size:22px;border-radius:14px;margin-bottom:14px}
.bento b{display:block;font-size:19px;margin-bottom:4px}.bento span{color:var(--muted)}
.bento .w4{grid-column:span 4;background:radial-gradient(420px 240px at 100% 0,rgba(0,194,232,.32),transparent 60%),var(--navy);border:0;color:#fff;padding:36px}
.bento .w4 b{font-size:26px}.bento .w4 span{color:#c3d2ee;font-size:18px}
.bento .tint{background:var(--soft);box-shadow:none}
.bento .plain{background:transparent;box-shadow:none;border:0;border-top:3px solid var(--blue);border-radius:0;padding:22px 4px 0}
.bento .w6{grid-column:span 6;display:flex;gap:22px;align-items:center;background:var(--grad);border:0;color:#fff}
.bento .w6 .icon-box{background:rgba(255,255,255,.2);box-shadow:none;margin:0;flex:none}
.bento .w6 span{color:#eaf6ff}
@media(max-width:860px){.bento{grid-template-columns:1fr 1fr;gap:14px}.bento>div,.bento .w4{grid-column:span 1;padding:20px}.bento .w4,.bento .w6{grid-column:span 2}.bento .w4 b{font-size:21px}.bento .w4 span{font-size:16px}}
@media(max-width:520px){.bento span{font-size:15px;line-height:1.55}.bento b{font-size:17px}.bento .icon-box{margin-bottom:10px}}

/* duo: asymmetric pair */
.duo{display:grid;grid-template-columns:1.3fr 1fr;gap:26px;align-items:start}
.duo>.card:nth-child(2){margin-top:44px}
.card.dark{background:radial-gradient(420px 260px at 100% 0,rgba(0,194,232,.3),transparent 60%),var(--navy);color:#fff;border-color:transparent}
.card.dark p,.card.dark ul{color:#c3d2ee}.card.dark .domain,.card.dark .link{color:#7fe3ff}
.card.dark .icon-box{background:rgba(255,255,255,.14);box-shadow:none}
@media(max-width:860px){.duo{grid-template-columns:1fr}.duo>.card:nth-child(2){margin-top:0}}

/* numbered values (about) */
.nums{counter-reset:n;display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
.nums>div{counter-increment:n;padding:26px 0 26px 0;border-top:1px solid var(--line)}
.nums>div:before{content:"0" counter(n);display:block;font-size:44px;font-weight:900;line-height:1;margin-bottom:10px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.nums b{display:block;font-size:20px;margin-bottom:4px}.nums span{color:var(--muted)}
@media(max-width:860px){.nums{grid-template-columns:1fr 1fr;gap:0 24px}}
@media(max-width:520px){.nums{grid-template-columns:1fr}.nums>div{padding:16px 0;display:grid;grid-template-columns:56px 1fr;align-items:start}.nums>div:before{font-size:30px;grid-row:span 2;margin:0}}

/* ruled rows (compliance) */
.rows{display:grid;gap:0;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.rows>div{display:grid;grid-template-columns:56px 260px 1fr;gap:20px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line)}
.rows>div:last-child{border:0}.rows>div:nth-child(even){background:var(--soft)}
.rows .icon-box{width:48px;height:48px;font-size:22px;margin:0;border-radius:14px}
.rows h3{margin:0;font-size:18px}.rows p{margin:0;color:var(--muted);font-size:16px}
@media(max-width:860px){.rows>div{grid-template-columns:48px 1fr;padding:16px 18px;gap:4px 14px}.rows>div p{grid-column:2}.rows .icon-box{grid-row:span 2;width:42px;height:42px;font-size:20px}}

/* contact links */
.reach{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.reach a{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;padding:16px 26px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transition:.2s}
.reach a:hover{transform:translateY(-3px);box-shadow:var(--shadow2);color:var(--blue)}
.reach .ico{font-size:22px;color:var(--blue)}

/* compact mini list */
.mini{display:grid;gap:12px}
.mini>div{display:flex;gap:14px;align-items:center;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.mini>div:nth-child(even){margin-left:28px}
.mini .icon-box{width:42px;height:42px;font-size:20px;border-radius:12px;margin:0}
.mini b{display:block;line-height:1.2}.mini span{color:var(--muted);font-size:15px;line-height:1.4;display:block}
@media(max-width:640px){.mini>div:nth-child(even){margin-left:0}}

/* ===== lean mobile ===== */
.m-hide{display:revert}
@media(max-width:860px){.logo-panel{max-width:130px;padding:14px;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.35)}}
@media(max-width:640px){
  body{font-size:16px;line-height:1.6}
  .m-hide,.logo-panel{display:none!important}.hero .btns .btn{flex:1 1 100%;justify-content:center}
  .topbar{font-size:13px}.topbar .wrap{min-height:34px}.topbar a+a{display:none}
  header .wrap{height:64px}.brand img{height:40px}.brand b{font-size:17px}.brand small{font-size:10px}
  nav{top:64px}
  .hero .wrap{padding:36px 0 56px;gap:0}
  .eyebrow{font-size:12px;padding:5px 12px;margin-bottom:16px}
  .hero h1{font-size:clamp(28px,8.4vw,36px);margin-bottom:14px}
  .hero p{font-size:16px;margin-bottom:22px}
  .btn{padding:12px 22px;font-size:15px}
  .page-hero{padding:40px 0}.page-hero p{font-size:16px}
  section{padding:48px 0}
  .sec-head{margin-bottom:26px}.sec-head .lead,.lead{font-size:16px}
  h2{font-size:26px}h3{font-size:19px}
  .stats-band{margin-top:-34px}
  .stats{grid-template-columns:1fr 1fr;border-radius:18px}
  .stats>div{padding:16px 14px;gap:10px;flex-direction:column;align-items:flex-start;border-right:0!important;border-bottom:0!important}
  .stats>div:nth-child(odd){border-right:1px solid var(--line)!important}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)!important}
  .stats .ico{font-size:24px}.stats b{font-size:19px}.stats span{font-size:13px}
  .panel{padding:26px;border-radius:20px}.panel h3{font-size:21px}
  .card{padding:22px;border-radius:18px}.person{padding:20px}
  .svc{grid-template-columns:44px 1fr;gap:2px 14px;padding:18px 0}.svc .icon-box{width:44px;height:44px;font-size:21px}
  .steps{grid-template-columns:1fr 1fr;gap:12px}.steps li{padding:52px 16px 18px}.steps li:before{left:16px;top:14px;font-size:26px}.steps b{font-size:17px}.steps span{font-size:14px;line-height:1.45}
  details{padding:0 18px}summary{font-size:16px;padding:16px 0}
  .chip{padding:9px 14px;font-size:14px}
  .cta .wrap{gap:20px}.cta p{font-size:16px}.cta .btns .btn{flex:1;justify-content:center}
  footer{padding:44px 0 20px}footer .cols{grid-template-columns:1fr 1fr;gap:26px 20px}
  footer .cols>div:first-child{grid-column:span 2}footer .cols>div:first-child p,footer .cols>div:nth-child(3){display:none}
  footer .cols>div:nth-child(4){grid-column:span 2}footer img{height:44px;margin-bottom:0}
  .legal{margin-top:28px;font-size:13px}.legal span:last-child{display:none}
  form{padding:22px}.totop{width:42px;height:42px;right:16px;bottom:78px}
}

/* ===== v4: polish, accessibility, usability ===== */
:root{--btn:linear-gradient(135deg,#0a4fc4 0%,#0872d8 100%)}
.btn.dark,nav a.cta-link,.totop{background:var(--btn)}
nav a.cta-link:hover{background:var(--btn);filter:brightness(1.12)}
@media(max-width:960px){nav a.cta-link{background:var(--btn)!important}}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--cyan);color:#06213a;padding:12px 20px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{left:8px}
main:focus{outline:0}
header{transition:box-shadow .25s}header.scrolled{box-shadow:0 6px 24px rgba(11,29,63,.12)}
.menu{align-items:center;gap:9px}.menu .ico{font-size:20px}
@media(max-width:960px){.menu{display:inline-flex}}
nav a.active:not(.cta-link){position:relative}
@media(min-width:961px){nav a.active:not(.cta-link):after{content:"";position:absolute;left:15px;right:15px;bottom:3px;height:2px;border-radius:2px;background:var(--grad)}}
.crumbs [aria-current]{color:#fff}
.btn.outline{background:transparent;color:var(--blue);border-color:var(--blue)}
.btn.outline:hover{background:var(--soft);box-shadow:none}
.btn:active{transform:none}
.btn .ico{font-size:1.1em}
.hero p{max-width:58ch}
/* sticky jump bar (services) */
.subnav{position:sticky;top:78px;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;text-decoration:none;font-weight:700;font-size:15px;padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);transition:.2s}
.subnav a:hover{color:var(--blue);border-color:var(--blue)}
@media(max-width:640px){.subnav{top:64px}}
html{scroll-padding-top:150px}
/* forms */
.req{color:#d6336c;font-style:normal;font-weight:900}
label small{font-weight:400;color:var(--muted)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:560px){.row2{grid-template-columns:1fr}form .btns .btn{flex:1 1 100%;justify-content:center}}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}
input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 18%,transparent);outline:0}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#d6336c;background:color-mix(in srgb,#d6336c 6%,var(--bg))}
.field-err{color:#d6336c;font-size:14px;font-weight:700;font-weight:700}
#form-status.ok{color:#0a7a3d;font-weight:700}#form-status.err{color:#d6336c;font-weight:700}
select{appearance:auto}
/* floating WhatsApp */
.fab{position:fixed;right:22px;bottom:22px;z-index:40;display:inline-flex;align-items:center;gap:10px;background:#128c4a;color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:0 20px 0 16px;height:52px;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.28);transition:.2s}
.fab .ico{font-size:24px}.fab:hover{background:#0f7a40;transform:translateY(-2px)}
@media(max-width:640px){.fab{right:16px;bottom:16px;width:52px;padding:0;justify-content:center}.fab span{display:none}}
footer a:focus-visible,.cta a:focus-visible,.hero a:focus-visible,.topbar a:focus-visible{outline-color:#fff}
.card.dark .link,.card.dark .domain{color:#8eeaff}
/* print */
@media print{.topbar,header,.fab,.totop,.cta,.subnav,.menu{display:none!important}.js .reveal{opacity:1!important;transform:none!important}section{padding:24px 0}body{font-size:12pt;color:#000;background:#fff}.hero,.page-hero,.panel,.card.dark,footer{background:#fff!important;color:#000!important}}
/* footer link columns are <nav> elements: undo header nav styling */
footer nav{display:block;font-size:inherit;font-weight:inherit}
footer nav a,footer nav a:hover,footer nav a.active{color:inherit;background:none;border-radius:0;padding:4px 0}
footer nav a:hover,footer nav a.active{color:var(--cyan)}
@media(max-width:960px){footer nav{position:static;display:block;padding:0;border:0;box-shadow:none;background:none;flex-direction:column}footer nav a{border-bottom:0}}
