:root{--navy:#0c2340;--navy2:#143a66;--ink:#1b2733;--mut:#5b6875;--bg:#f5f7fa;--line:#e2e7ee;--acc:#f47b20;--acc2:#d9650f;--wa:#1faa59;--gold:#f5b301;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,h4,.logo{font-family:Outfit,system-ui,sans-serif;line-height:1.2;color:var(--navy);margin:0 0 .5em}
h1{font-size:clamp(1.75rem,4.500vw,2.750rem)}h2{font-size:clamp(1.350rem,3vw,1.900rem)}h3{font-size:1.100rem}
p{margin:0 0 1em}a{color:var(--navy2)}img,iframe{max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}.center{text-align:center}.mt{margin-top:2em}.muted{color:var(--mut);font-size:.920rem}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.ic{width:1.150em;height:1.150em;vertical-align:-.180em;flex:none}.ic-lg{width:34px;height:34px;color:var(--acc)}
.topbar{background:var(--navy);color:#cfd9e6;font-size:.840rem}.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px}
.topbar a{color:#fff;text-decoration:none;margin-left:18px}.tb-r{white-space:nowrap}
.hdr{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:22px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.150rem;font-weight:600;color:var(--navy)}.logo b{color:var(--acc)}
.logo small{display:block;font:500 .680rem/1.2 system-ui,sans-serif;color:var(--mut);letter-spacing:.06em;text-transform:uppercase}
.logo-m{width:40px;height:40px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font:700 1.350rem Outfit,sans-serif}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}.nav a{padding:8px 11px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:500;font-size:.950rem}
.nav a:hover,.nav a[aria-current]{background:var(--bg);color:var(--acc2)}
/* Services dropdown */
.nav-drop{position:relative;display:flex}
.nav-drop>a{display:flex;align-items:center;gap:4px}
.nav-drop>a::after{content:"";display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--mut);transition:transform .2s}
.nav-drop:hover>a::after,.nav-drop:focus-within>a::after{transform:rotate(180deg)}
.nav-drop:hover>a,.nav-drop:focus-within>a{background:var(--bg);color:var(--acc2)}
.drop-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(12,35,64,.13);padding:8px;min-width:260px;z-index:200;column-count:2;column-gap:4px}
.nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu{display:block}
.drop-menu a{display:block;padding:7px 10px;border-radius:7px;text-decoration:none;color:var(--ink);font-size:.880rem;font-weight:500;white-space:nowrap;break-inside:avoid}
.drop-menu a:hover{background:var(--bg);color:var(--acc2)}
.burger{display:none;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer}.burger span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:10px;font:600 1rem system-ui,sans-serif;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.15s}
.btn-call{background:var(--acc);color:#fff}.btn-call:hover{background:var(--acc2)}
.btn-light{background:#fff;color:var(--navy);border-color:#fff}.btn-light:hover{background:#eaf0f7}
.btn-line{background:#fff;color:var(--navy);border-color:var(--navy)}.btn-line:hover{background:var(--navy);color:#fff}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{filter:brightness(.93)}
.hero,.phead{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#e6edf5}
.hero{padding:54px 0 60px}.phead{padding:44px 0}
.hero h1,.phead h1{color:#fff}.phead a{color:#fff}
.hero-g{display:grid;grid-template-columns:1.250fr .850fr;gap:44px;align-items:center}
.eyebrow{display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.12);padding:5px 12px;border-radius:99px;font-size:.850rem;color:#fff}
.lead{font-size:1.100rem;max-width:62ch}
.ticks{list-style:none;padding:0;margin:0 0 1.200em}.ticks li{padding-left:28px;position:relative;margin:.350em 0}
.ticks li:before{content:"";position:absolute;left:2px;top:.450em;width:14px;height:8px;border:solid var(--acc);border-width:0 0 3px 3px;transform:rotate(-45deg)}
.hero-b{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.qform{background:#fff;color:var(--ink);border-radius:var(--r);padding:22px;box-shadow:0 12px 34px rgba(8,25,48,.18);display:grid;gap:10px}
.qform h3{margin:0;font-size:1.250rem}.qform p{margin:0}
.qform label{font-size:.840rem;font-weight:600;color:var(--mut);display:grid;gap:4px}
.qform input,.qform select,.qform textarea{font:inherit;font-size:1rem;padding:11px 12px;border:1px solid #c9d2dd;border-radius:9px;width:100%;background:#fff;color:var(--ink)}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:2px solid var(--acc);border-color:transparent}
.ferr{color:#c0271a;font-size:.880rem;font-weight:600}.fnote{text-align:center;font-size:.900rem;color:var(--mut)}
.sec{padding:56px 0}.alt{background:var(--bg)}.sub{color:var(--mut);max-width:70ch;margin-bottom:1.600em}
.grid{display:grid;gap:18px}.g3{grid-template-columns:repeat(3,1fr)}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;text-decoration:none;color:var(--ink);transition:.15s}
.card:hover{border-color:var(--acc);box-shadow:0 8px 24px rgba(12,35,64,.09);transform:translateY(-2px)}
.card h3{margin:.500em 0 .350em}.card p{color:var(--mut);font-size:.940rem;margin:0 0 .700em}.card small{color:var(--mut)}.more{color:var(--acc2);font-weight:600;font-size:.920rem}
.why{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}.why h3{margin:0 0 .200em}.why p{margin:0;color:var(--mut);font-size:.940rem}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.steps li{background:var(--bg);border-radius:var(--r);padding:18px;font-weight:500}.steps span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;margin-bottom:10px}
.steps.col{grid-template-columns:1fr;gap:10px}.steps.col li{display:flex;gap:14px;align-items:center;padding:12px 16px}.steps.col span{margin:0;flex:none}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a{display:inline-flex;gap:6px;align-items:center;padding:9px 14px;border:1px solid var(--line);background:#fff;border-radius:99px;text-decoration:none;color:var(--ink);font-size:.940rem;font-weight:500}
.chips a:hover{border-color:var(--acc);color:var(--acc2)}.chips .ic{color:var(--acc)}
.faq details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}
.faq summary{padding:15px 44px 15px 18px;font-weight:600;cursor:pointer;list-style:none;position:relative;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:18px;top:11px;font-size:1.400rem;color:var(--acc)}
.faq details[open] summary:after{content:"–"}.faq p{padding:0 18px 16px;margin:0;color:#3a4653}
.bc{font-size:.860rem;color:var(--mut);padding-top:12px;padding-bottom:12px}.bc a{color:var(--mut)}
.two{display:grid;grid-template-columns:1fr 350px;gap:44px;align-items:start}
.prose h2{margin-top:1.500em}.prose ul,.prose ol{padding-left:1.200em}.prose li{margin:.350em 0}.prose ul.ticks,.prose ol.steps{padding-left:0}
.note{background:#fff7e6;border-left:4px solid var(--gold);padding:12px 16px;border-radius:8px;font-size:.940rem}
.side{display:grid;gap:18px;position:sticky;top:88px}.side-card{border:1px solid var(--line);border-radius:var(--r);background:#fff}
.side-card .qform{box-shadow:none}.side-card>h3{padding:18px 20px 0}.links{list-style:none;padding:0 20px 14px;margin:0}.links li{border-bottom:1px solid var(--line)}.links li:last-child{border:0}
.links a{display:block;padding:9px 0;text-decoration:none;font-weight:500}.prose .links{padding:0}
.cols{columns:3;padding-left:1.100em}.cols li{margin:.300em 0;break-inside:avoid}
.mapg{display:grid;grid-template-columns:.800fr 1.200fr;gap:36px;align-items:center}
.mapf{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--bg) }.mapf iframe{display:block;width:100%;height:360px;border:0}
.reviews{background:var(--bg)}.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev-empty{grid-column:1/-1;background:#fff;border:1px dashed #c9d2dd;border-radius:var(--r);padding:26px;text-align:center}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}.rev .st{color:var(--gold);letter-spacing:2px;font-size:1.100rem}
.rev p{font-size:.950rem;margin:.500em 0 .800em}.rev b{display:block;color:var(--navy)}.rev small{color:var(--mut)}
.rev-more{grid-column:1/-1;text-align:center;margin-top:6px}
.cta{background:var(--navy);color:#dbe5f0;padding:44px 0}.cta h2{color:#fff}.cta p{margin:0}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.cta-b{display:flex;gap:12px;flex-wrap:wrap}
.ftr{background:#081a30;color:#a9b7c8;font-size:.920rem;padding-top:46px}.ftr a{color:#dbe5f0;text-decoration:none}.ftr a:hover{color:#fff;text-decoration:underline}
.ftr-g{display:grid;grid-template-columns:1.500fr 1fr 1fr 1fr;gap:34px}.ftr h4{color:#fff;margin-bottom:.800em}.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin:.400em 0}
.ftr address{font-style:normal;margin:0 0 1em;line-height:1.900}.logo-f{color:#fff;margin-bottom:12px}.logo-f .logo-m{background:var(--acc)}
.ftr-b{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #1b3350;margin-top:34px;padding-top:16px;padding-bottom:18px;font-size:.820rem}
.mbar{display:none}
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px}.modal[hidden]{display:none}
.modal-bg{position:absolute;inset:0;background:rgba(6,18,34,.6)}.modal-box{position:relative;width:100%;max-width:420px;max-height:92vh;overflow:auto;border-radius:var(--r)}
.modal-x{position:absolute;right:8px;top:6px;z-index:2;background:none;border:0;font-size:1.800rem;line-height:1;color:var(--mut);cursor:pointer;padding:6px 10px}
@media(max-width:980px){.g3,.rev-grid{grid-template-columns:repeat(2,1fr)}.hero-g,.two,.mapg{grid-template-columns:1fr}.side{position:static}.steps{grid-template-columns:repeat(2,1fr)}.ftr-g{grid-template-columns:1fr 1fr}.cols{columns:2}
.hdr-call{display:none}.burger{display:block}.nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;flex-direction:column;padding:10px 20px 16px;border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(12,35,64,.1)}.nav.open{display:flex}.nav a{padding:12px 8px;border-bottom:1px solid var(--line)}
.nav-drop>a::after{display:none}.drop-menu{display:none!important}.nav-drop>a{border-bottom:1px solid var(--line)!important}}
@media(max-width:640px){.topbar{display:none}.g3,.rev-grid,.steps,.ftr-g{grid-template-columns:1fr}.cols{columns:1}.sec{padding:40px 0}.hero{padding:34px 0 40px}.phead{padding:30px 0}.hero-b .btn{flex:1 1 100%}.mapf iframe{height:280px}
body{padding-bottom:62px}
.mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:70;box-shadow:0 -4px 16px rgba(0,0,0,.18)}
.mbar a,.mbar button{display:flex;align-items:center;justify-content:center;gap:8px;height:58px;font:700 1.050rem system-ui,sans-serif;border:0;text-decoration:none;color:#fff;cursor:pointer}
.mb-call{background:var(--acc)}.mb-q{background:var(--navy)}}
