:root{--navy:#0B2545;--navy2:#13396B;--blue:#1559B7;--blue-h:#0F4A9C;--sky:#38BDF8;--sky-l:#9FDCFB;--ice:#EEF6FD;--line:#DCE7F3;--ink:#1B2A3A;--muted:#52627A;--ok:#157347;--bad:#B42318;--r:14px;--sh:0 1px 2px rgba(11,37,69,.06),0 8px 24px rgba(11,37,69,.08);--sh2:0 2px 4px rgba(11,37,69,.08),0 18px 40px rgba(11,37,69,.14);--fh:Montserrat,"Segoe UI",Arial,sans-serif;--fb:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--fb);color:var(--ink);background:#fff;line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}
.wrap{max-width:1160px;margin:auto;padding:0 24px}.narrow{max-width:820px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 14px;border-radius:8px}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--fh);color:var(--navy);line-height:1.18;letter-spacing:-.01em}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem);font-weight:800;text-align:center}
h3{font-size:1.08rem;font-weight:700;margin-bottom:6px}
.kicker{font-family:var(--fh);text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.sub{text-align:center;color:var(--muted);max-width:620px;margin:12px auto 48px}.muted{color:var(--muted)}
section{padding:96px 0}.alt{background:var(--ice)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;padding:15px 28px;border-radius:10px;font-weight:600;font-size:1rem;border:0;cursor:pointer;box-shadow:0 6px 16px rgba(21,89,183,.28);transition:background .2s,transform .2s,box-shadow .2s;font-family:var(--fb);min-height:48px}
.btn:hover{background:var(--blue-h);transform:translateY(-1px);box-shadow:0 10px 22px rgba(21,89,183,.34)}
.btn.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.55);box-shadow:none}.btn.ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn.sm{padding:10px 18px;min-height:42px;font-size:.95rem}.btn.block{width:100%}
.i{width:18px;height:18px;fill:currentColor;flex:none}
.topbar{background:var(--navy);color:#C9D8EA;font-size:.82rem}.topbar .wrap{display:flex;justify-content:space-between;height:34px;align-items:center}
nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo img{height:46px;width:auto}
.links{display:flex;gap:28px;align-items:center;font-weight:500;font-size:.97rem}.links a:not(.btn):hover{color:var(--blue)}
.navphone{font-weight:600;color:var(--navy)}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;padding:10px}.burger span{display:block;height:2px;background:var(--navy);margin:5px 0;border-radius:2px;transition:.25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{background:radial-gradient(900px 500px at 85% 10%,rgba(56,189,248,.22),transparent 60%),linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:88px 0 96px;overflow:hidden}
.herogrid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}
.eyebrow{display:inline-block;font-family:var(--fh);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:var(--sky-l);border-left:3px solid var(--sky);padding-left:12px;margin-bottom:18px}
.hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.5rem);font-weight:800;max-width:640px}
.lead{font-size:1.15rem;color:#D6E3F2;max-width:560px;margin:20px 0 32px}
.ctas{display:flex;gap:14px;flex-wrap:wrap}
.trust{display:flex;gap:28px;flex-wrap:wrap;margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14);color:#C9D8EA;font-size:.95rem}.trust b{display:block;font-family:var(--fh);color:#fff;font-size:1.3rem}
.herofig{max-width:440px;justify-self:end;width:100%}.herofig .ba{border-radius:18px;box-shadow:0 30px 60px rgba(0,0,0,.35);outline:1px solid rgba(255,255,255,.18)}
.herofig figcaption{text-align:center;font-size:.88rem;color:#C9D8EA;margin-top:12px}
/* before/after */
.ba{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:#0B2545;user-select:none;touch-action:pan-y;--p:50%}
.ba picture,.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .after{clip-path:inset(0 0 0 var(--p))}
.ba .handle{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;pointer-events:none;box-shadow:0 0 8px rgba(0,0,0,.35)}
.ba .handle::after{content:"";position:absolute;top:50%;left:50%;width:46px;height:46px;transform:translate(-50%,-50%);border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2545' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;-webkit-appearance:none;appearance:none}
.ba:has(input:focus-visible) .handle::after{outline:3px solid var(--sky)}
.tag{position:absolute;top:14px;padding:5px 12px;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;pointer-events:none}
.tag.b{left:14px;background:rgba(11,37,69,.78)}.tag.a{right:14px;background:var(--blue)}
.ba-grid{display:grid;grid-template-columns:repeat(2,minmax(0,420px));gap:40px;justify-content:center}
.ba-grid figure{background:#fff;padding:12px;border-radius:20px;box-shadow:var(--sh)}
.ba-grid figcaption{padding:14px 6px 4px;color:var(--muted);font-size:.95rem}.ba-grid figcaption b{display:block;color:var(--navy);font-family:var(--fh)}
/* cards */
.grid{display:grid;gap:22px}.svc{grid-template-columns:repeat(4,1fr)}.why{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh2);border-color:transparent}
.card p{color:var(--muted);font-size:.95rem}
.ic{width:46px;height:46px;border-radius:12px;background:var(--ice);display:grid;place-items:center;margin-bottom:16px}
.alt .ic{background:#fff}
.ic svg{width:24px;height:24px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:28px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.steps li{background:#fff;border-radius:var(--r);padding:26px 22px;box-shadow:var(--sh);position:relative}
.steps .n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--fh);font-weight:800;margin-bottom:14px}
.steps p{color:var(--muted);font-size:.95rem}
.photoband{padding:72px 0 40px}.pb{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pb figure{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}.pb img{width:100%;height:300px;object-fit:cover}
.pb figcaption{position:absolute;inset:auto 0 0;padding:18px;color:#fff;font-weight:600;background:linear-gradient(transparent,rgba(11,37,69,.88))}
.credit{text-align:center;font-size:.75rem;color:var(--muted);margin-top:10px}
.faq{margin-top:40px}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.faq summary{padding:18px 22px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;color:var(--navy)}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--blue);transition:.25s}.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 20px;color:var(--muted)}
.qwrap{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:start}
.qinfo h2,.qinfo .kicker{text-align:left}.qinfo .muted{margin:14px 0 28px}
.contact{display:grid;gap:14px}.contact li{padding:14px 18px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column}.contact b,.contact a{color:var(--navy);font-weight:600}.contact small{color:var(--muted);font-size:.82rem}
form{background:#fff;padding:32px;border-radius:18px;box-shadow:var(--sh2);display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid var(--line)}
form .full{grid-column:1/-1}label{font-size:.88rem;font-weight:600;color:var(--navy);display:block;margin-bottom:6px}
input,select,textarea{width:100%;padding:12px 14px;border:1.5px solid #C5D5E6;border-radius:10px;font:inherit;font-size:16px;background:#fff;color:var(--ink);min-height:48px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,89,183,.18)}
.err{color:var(--bad);font-size:.8rem;min-height:1em;margin-top:4px}.invalid{border-color:var(--bad)}
.msg{display:none;padding:14px;border-radius:10px;font-weight:600}.good{background:#E7F5EE;color:var(--ok)}.bad{background:#FDECEA;color:var(--bad)}
footer{background:var(--navy);color:#C9D8EA;padding:64px 0 110px;font-size:.95rem}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}footer img{height:52px;width:auto}
footer h4{color:#fff;font-size:.95rem;margin-bottom:14px;letter-spacing:.04em}footer li{margin-bottom:6px}footer a:hover{color:#fff}
.ftag{margin:16px 0 6px;color:var(--sky-l);font-family:var(--fh);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}
.copy{grid-column:1/-1;font-size:.82rem;color:#9FB3CB;border-top:1px solid rgba(255,255,255,.1);padding-top:22px}
.fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;gap:10px;transform:translateY(140%);transition:transform .3s}.fab.show{transform:none}
.fab a{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 22px;height:52px;border-radius:12px;color:#fff;font-weight:600;box-shadow:0 10px 24px rgba(11,37,69,.3)}
.fab .call{background:var(--blue)}.fab .quote{background:var(--navy)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1000px){.svc,.why,.steps{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
 body{font-size:16px}section{padding:64px 0}.topbar .wrap{justify-content:center}.topbar .wrap>span:first-child{display:none}
 nav .wrap{height:64px}.logo img{height:40px}
 .links{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;box-shadow:var(--sh2)}.links.open{display:flex}.links a:not(.btn){padding:14px 0;border-bottom:1px solid var(--line)}.links .btn{margin-top:14px}.burger{display:block}
 .hero{padding:48px 0 64px}.herogrid,.qwrap,.pb{grid-template-columns:1fr;gap:40px}.herofig{justify-self:center;max-width:400px}
 .ctas .btn{flex:1 1 100%}.trust{gap:18px}.trust li{flex:1}
 .ba-grid{grid-template-columns:minmax(0,420px)}form{grid-template-columns:1fr;padding:22px}
 .fab{left:12px;right:12px;bottom:12px}.fab a{flex:1}footer{padding-bottom:100px}}
@media(max-width:560px){.svc,.why,.steps,.fgrid{grid-template-columns:1fr}.pb img{height:220px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}
