:root{--navy:#0b2545;--navy2:#13315c;--navy3:#1b3f73;--blue:#1d5bb8;--blue2:#5b8fd9;--light:#8ecae6;--pale:#f2f7fc;--line:#dce7f3;--text:#14243a;--muted:#4a5d74;--r:12px;--sh:0 1px 2px rgba(11,37,69,.06),0 8px 24px rgba(11,37,69,.07);--sh2:0 2px 4px rgba(11,37,69,.08),0 18px 40px rgba(11,37,69,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:#fff;line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--navy)}
h1,h2,h3{line-height:1.18;color:var(--navy);margin:0 0 .55em;letter-spacing:-.015em;font-weight:700}
h3{font-size:1.12rem;letter-spacing:-.005em}p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}.narrow{max-width:860px}.center{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:10px 16px;border-radius:8px;z-index:100;font-weight:600}.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--blue2);outline-offset:3px;border-radius:4px}
/* header */
.site-header{background:rgba(11,37,69,.97);position:sticky;top:0;z-index:50;transition:box-shadow .25s;backdrop-filter:saturate(1.4) blur(8px)}
.site-header.scrolled{box-shadow:0 6px 24px rgba(4,16,32,.35)}
.bar{display:flex;align-items:center;justify-content:space-between;height:84px;transition:height .25s}
.scrolled .bar{height:64px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.brand:hover{color:#fff}
.mark{transition:transform .25s}.scrolled .mark{transform:scale(.88)}
.wm{display:flex;flex-direction:column;line-height:1.05}.wm1{font-weight:700;font-size:1.08rem;letter-spacing:.01em}.wm2{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--light);margin-top:4px}
nav ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;align-items:center}
nav a{color:#e6eef8;text-decoration:none;padding:8px 13px;border-radius:7px;font-weight:500;font-size:.95rem;position:relative}
nav a:hover{color:#fff;background:rgba(255,255,255,.07)}
nav a[aria-current]:not(.btn){color:#fff}nav a[aria-current]:not(.btn)::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;background:var(--light);border-radius:2px}
.menu-btn{display:none;background:none;border:0;padding:10px;cursor:pointer;border-radius:8px}
.menu-btn span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:.2s}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;padding:13px 24px;border-radius:8px;text-decoration:none;font-weight:600;border:1.5px solid var(--blue);cursor:pointer;font-size:.98rem;font-family:inherit;letter-spacing:.01em;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;line-height:1.2}
.btn:hover{background:var(--navy2);border-color:var(--navy2);color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(11,37,69,.2)}
nav a.btn-sm{padding:9px 18px;margin-left:10px;font-size:.93rem}nav a.btn-sm:hover{background:var(--blue2);border-color:var(--blue2)}
.btn-light{background:#fff;color:var(--navy);border-color:#fff}.btn-light:hover{background:var(--light);border-color:var(--light);color:var(--navy)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-outline{background:#fff;color:var(--blue)}.btn-outline:hover{color:#fff}
.actions{display:flex;gap:14px;flex-wrap:wrap}.jc{justify-content:center}
/* hero */
.hero{color:#fff}.heroimg{background:linear-gradient(90deg,rgba(11,37,69,.96) 0%,rgba(11,37,69,.88) 42%,rgba(11,37,69,.45) 100%),url(img/hero.jpg) center/cover no-repeat;padding:140px 0 150px}
.hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:760px;letter-spacing:-.025em}
.lead{font-size:1.18rem;color:#d9e6f5;max-width:620px;margin-bottom:2em}
.eyebrow,.kicker{font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;margin:0 0 14px}
.eyebrow{color:var(--light)}.kicker{color:var(--blue);text-align:center}
.split .kicker{text-align:left}
.phero{background:linear-gradient(135deg,var(--navy),var(--navy3));color:#fff;padding:96px 0 88px}
.phero h1{color:#fff;font-size:clamp(2rem,4vw,2.9rem)}.phero .lead{margin:0}
.phimg{background-size:cover;background-position:center}
.phoffice{background-image:linear-gradient(90deg,rgba(11,37,69,.96) 35%,rgba(11,37,69,.62)),url(img/office.jpg)}
.phhero{background-image:linear-gradient(90deg,rgba(11,37,69,.96) 35%,rgba(11,37,69,.62)),url(img/hero.jpg)}
/* trust */
.trust{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 var(--line)}
.tgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding-top:26px;padding-bottom:26px}
.tgrid div{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;color:var(--navy);font-size:.93rem;text-align:left}
.tgrid .icon{color:var(--blue);flex:none}
/* sections */
.sec{padding:104px 0}.alt{background:var(--pale)}
.st{text-align:center;font-size:clamp(1.8rem,3.2vw,2.45rem)}.st.left{text-align:left;font-size:clamp(1.6rem,2.6vw,2rem)}
.sub{text-align:center;color:var(--muted);margin:0 auto 52px;max-width:640px;font-size:1.08rem}
.grid{display:grid;gap:26px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px;box-shadow:var(--sh)}
.tile{text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.tile:hover{transform:translateY(-4px);border-color:#b9d0ea;box-shadow:var(--sh2);color:var(--text)}
.tile p{color:var(--muted);margin:0 0 18px}.more{color:var(--blue);font-weight:600;margin-top:auto;font-size:.95rem}
.feat p{color:var(--muted);margin:0}
.ib{display:inline-flex;width:52px;height:52px;border-radius:10px;background:linear-gradient(135deg,#e8f1fb,#d7e7f8);color:var(--blue);align-items:center;justify-content:center;margin-bottom:20px}
.ib.big{width:68px;height:68px;margin:0}
.photo{width:100%;height:auto;border-radius:var(--r);display:block;box-shadow:var(--sh2)}.mt{margin-top:26px}
.hiw{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:center;margin-top:48px}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.steps li{background:#fff;border-radius:var(--r);padding:24px 28px 22px 84px;border:1px solid var(--line);position:relative;box-shadow:var(--sh)}
.steps p{margin:0;color:var(--muted)}.steps h3{margin-bottom:.3em}
.num{position:absolute;left:26px;top:24px;display:inline-flex;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;align-items:center;justify-content:center;font-weight:700}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.why{list-style:none;padding:0;margin:8px 0 0}.why li{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.why li:last-child{border:0}
.why .icon{color:var(--blue);flex:none;margin-top:2px}.why b{display:block;color:var(--navy);font-size:1.05rem}.why span{color:var(--muted)}.link{font-weight:600;display:inline-block;margin-bottom:8px}
/* faq */
.faqs{margin-top:44px;border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line);background:transparent}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 4px;font-weight:600;color:var(--navy);font-size:1.06rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:10px;top:50%;width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq p{padding:0 44px 22px 4px;margin:0;color:var(--muted)}
/* cta */
.cta{background:linear-gradient(120deg,var(--navy) 0%,var(--navy3) 55%,var(--blue) 120%);color:#fff;padding:84px 0}
.ctain{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);max-width:640px}.cta p{color:#cfdef0;margin:0}
/* services */
.jump{display:flex;flex-wrap:wrap;gap:10px;padding-top:44px;padding-bottom:12px}
.jump a{background:#fff;border:1px solid var(--line);padding:9px 16px;border-radius:30px;text-decoration:none;font-weight:500;color:var(--navy);font-size:.9rem;transition:.18s}
.jump a:hover{border-color:var(--blue);color:var(--blue)}
.svc{padding:22px 0;scroll-margin-top:90px}.svc:last-of-type{padding-bottom:96px}.svc:first-of-type{padding-top:36px}
.svccard{padding:40px 44px}
.svchead{display:flex;gap:22px;align-items:center;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.svchead h2{margin:0 0 4px;font-size:1.55rem}.tagline{margin:0;color:var(--blue);font-weight:600}
.svcbody{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:24px}.svcbody>p{color:var(--muted);font-size:1.05rem}
.inc{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:12px}
.checks{list-style:none;padding:0;margin:0 0 22px}.checks li{display:flex;gap:12px;align-items:flex-start;padding:5px 0}.checks .icon{color:var(--blue);flex:none;margin-top:5px}
/* pricing */
.plans{align-items:stretch}.plan{position:relative;display:flex;flex-direction:column;padding:40px 34px}.plan .btn{margin-top:auto}
.plan h2{font-size:1.4rem}
.plan.featured{border:2px solid var(--blue);box-shadow:var(--sh2);transform:translateY(-12px)}
.badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:20px;white-space:nowrap}
.price{font-size:1.5rem;font-weight:700;color:var(--navy);margin:0 0 6px;padding-bottom:18px;border-bottom:1px solid var(--line)}.best{color:var(--muted);font-size:.96rem}
.custom{margin-top:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--pale)}.custom p{margin:0}
.tablewrap{overflow-x:auto;margin-top:56px;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.cmp{width:100%;border-collapse:collapse;min-width:560px;background:#fff}
.cmp caption{text-align:left;font-weight:700;color:var(--navy);font-size:1.2rem;padding:22px 24px 10px}
.cmp th,.cmp td{padding:14px 20px;border-top:1px solid var(--line);text-align:center}.cmp th[scope=row]{text-align:left;font-weight:500}
.cmp thead th{color:var(--navy);font-size:.95rem}.cmp .hl{background:#eef4fc}
.yes{color:var(--blue);font-weight:700}.no{color:#8a9ab0}
.note{color:var(--muted);text-align:center;font-size:.92rem;margin-top:26px}.h3{font-size:1.25rem}
/* contact */
.cgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:start}
.form{padding:40px}.form .row{margin-bottom:20px;display:flex;flex-direction:column}.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{font-weight:600;margin-bottom:7px;color:var(--navy);font-size:.95rem}
input,select,textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1px solid #9db3cc;border-radius:8px;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(91,143,217,.35)}
.invalid{border-color:#b3261e}.err{color:#b3261e;font-weight:600}.small{font-size:.88rem;color:var(--muted)}
.nsteps{list-style:none;counter-reset:n;padding:0;margin:8px 0 0}
.nsteps li{counter-increment:n;position:relative;padding:0 0 22px 52px}.nsteps li:last-child{padding-bottom:0}
.nsteps li::before{content:counter(n);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}
.nsteps b{display:block;color:var(--navy)}.nsteps span{color:var(--muted);font-size:.95rem}
.info p{display:flex;gap:10px;align-items:center}.info .icon{color:var(--blue)}.thanks{text-align:center;padding:56px 40px}
.prose{max-width:780px}.prose h2{font-size:1.3rem;margin-top:1.8em}.prose p{color:#2c3d52}
/* footer */
.site-footer{background:var(--navy);color:#c3d4e8;padding:72px 0 28px;font-size:.95rem}.site-footer a{color:#dbe8f7;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.site-footer h2{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:16px}
.site-footer .brand{margin-bottom:20px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{padding:4px 0}
.copy{border-top:1px solid var(--navy3);margin-top:48px;padding-top:24px;font-size:.85rem;color:#a9bdd6}
/* motion */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
/* responsive */
@media (max-width:1060px){.g4{grid-template-columns:1fr 1fr}.tgrid{grid-template-columns:repeat(3,1fr);row-gap:16px}}
@media (max-width:960px){
.menu-btn{display:block}
nav{position:absolute;top:100%;left:0;right:0;background:var(--navy);display:none;padding:12px 28px 24px;box-shadow:0 12px 24px rgba(0,0,0,.25)}
nav.open{display:block}nav ul{flex-direction:column;align-items:stretch}nav a{display:block;padding:13px 6px;border-bottom:1px solid var(--navy2)}nav a[aria-current]:not(.btn)::after{display:none}nav a[aria-current]:not(.btn){color:var(--light)}
nav a.btn-sm{margin:14px 0 0;border-bottom:0}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.split,.cgrid,.hiw,.svcbody{grid-template-columns:1fr}.split,.hiw{gap:40px}.g3{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}.fgrid>div:first-child{grid-column:1/-1}
.plan.featured{transform:none}.heroimg{background:linear-gradient(rgba(11,37,69,.9),rgba(11,37,69,.86)),url(img/hero.jpg) center/cover;padding:96px 0}}
@media (max-width:640px){body{font-size:16px}.wrap{padding:0 20px}.g3,.g2,.g4,.row2,.fgrid{grid-template-columns:1fr}.tgrid{grid-template-columns:1fr 1fr}.tgrid div{justify-content:flex-start}
.sec{padding:72px 0}.heroimg{padding:72px 0 80px}.phero{padding:64px 0}.bar{height:70px}.card,.svccard,.form{padding:26px}.svchead{flex-direction:column;align-items:flex-start}.cta{padding:64px 0}.wm1{font-size:1rem}}
.pain{background:#fff;padding:88px 0 80px;text-align:center}
.painin{max-width:860px}.pain h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.pain p:not(.kicker){color:var(--muted);font-size:1.15rem;max-width:720px;margin:0 auto 28px}
.pain+.trust{border-top:1px solid var(--line)}
@media (max-width:640px){.pain{padding:64px 0 56px}}
.homecta{padding:104px 0}.homecta h2{font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:720px}
.ctaline{font-size:1.2rem;color:#dbe8f7}.ctaline.em{color:var(--light);font-weight:600;margin-top:6px}
.homecta .btn{padding:15px 30px;font-size:1.05rem}
.tile{padding:0;overflow:hidden}.tile>*:not(.tileimg){margin-left:28px;margin-right:28px}.tile .more{margin-bottom:26px}
.tileimg{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:-26px;transition:transform .4s}
.tile:hover .tileimg{transform:scale(1.03)}
.tile .ib{position:relative;margin-bottom:16px;background:#fff;box-shadow:var(--sh)}
.svccard{display:grid;grid-template-columns:minmax(260px,38%) 1fr;padding:0;overflow:hidden}
.svcimg{width:100%;height:100%;object-fit:cover;display:block;min-height:320px}
.svcmain{padding:40px 44px}.svcmain .svcbody{grid-template-columns:1fr;gap:8px}
@media (max-width:960px){.svccard{grid-template-columns:1fr}.svcimg{height:auto;aspect-ratio:4/3;min-height:0}}
@media (max-width:640px){.svcmain{padding:26px}.tile>*:not(.tileimg){margin-left:22px;margin-right:22px}}
.value{background:var(--pale);padding:112px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.valuein{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center}
.valueimg{position:relative}.valueimg .photo{aspect-ratio:4/5;object-fit:cover}
.badge2{position:absolute;left:24px;bottom:24px;background:#fff;color:var(--navy);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:12px 18px;border-radius:8px;border-left:4px solid var(--blue);box-shadow:var(--sh2)}
.valuetext .kicker{text-align:left}.value h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.valuetext>p:not(.kicker):not(.standout){color:var(--muted);font-size:1.1rem}
.standout{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:700;color:var(--navy);line-height:1.2;letter-spacing:-.02em;margin:36px 0;padding:28px 0;border-top:1px solid #c9d9ec;border-bottom:1px solid #c9d9ec}
.callrow{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.btn-call{font-size:1.1rem;padding:18px 40px;letter-spacing:.08em;font-weight:700;background:var(--navy);border-color:var(--navy)}
.btn-call:hover{background:var(--blue);border-color:var(--blue)}
.callnote{margin:0;display:flex;flex-direction:column;line-height:1.4}.callnote b{color:var(--navy)}.callnote span{color:var(--muted);font-size:.92rem}
@media (max-width:960px){.valuein{grid-template-columns:1fr;gap:44px}.valueimg .photo{aspect-ratio:4/3}.value{padding:80px 0}}
@media (max-width:640px){.btn-call{width:100%}}
/* logo header (light) */
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #dbe6f3}
.site-header.scrolled{box-shadow:0 6px 24px rgba(11,37,69,.12)}
.hlogo{display:block;height:60px;width:auto;transition:height .25s}.scrolled .hlogo{height:48px}
nav a{color:var(--navy)}nav a:hover{color:var(--blue);background:#eef4fb}
nav a[aria-current]:not(.btn){color:var(--blue)}nav a[aria-current]:not(.btn)::after{background:var(--blue)}
nav a.btn-sm,nav a.btn-sm:hover{color:#fff}
.menu-btn span{background:var(--navy)}
.site-footer .flogo{display:inline-block;background:#fff;border-radius:16px;padding:18px 26px;margin-bottom:22px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.flogo img{display:block;width:150px;height:auto}
/* alternating services photos */
@media (min-width:961px){.svc:nth-of-type(odd) .svccard{grid-template-columns:1fr minmax(260px,38%)}.svc:nth-of-type(odd) .svcimg{order:2}
.hiw>.photo{order:2}}
@media (max-width:960px){nav{background:#fff;box-shadow:0 12px 24px rgba(11,37,69,.15)}nav a{border-bottom:1px solid #e3ecf6}nav a[aria-current]:not(.btn){color:var(--blue)}.hlogo{height:50px}.scrolled .hlogo{height:44px}}
@media (max-width:420px){.hlogo{height:42px}}
.trust .area{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;text-align:center;font-size:1.08rem;letter-spacing:.06em;font-weight:500}
.trust{padding:22px 0}.trust .area{color:var(--navy)}.trust .area svg{color:var(--blue)}
