:root{--navy:#101e45;--navy2:#1b2d63;--orange:#ff6600;--ink:#1d2433;--mut:#5a6478;--bg:#fff;--alt:#f3f5f9;--r:12px;--w:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}a{color:var(--navy2)}
h1,h2,h3{line-height:1.2;color:var(--navy);margin:0 0 .6em}h1{font-size:clamp(2rem,4.5vw,3.2rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:1.15rem}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}.narrow{max-width:820px}
.btn{display:inline-block;background:var(--orange);color:#fff;font-weight:700;text-decoration:none;padding:.85em 1.5em;border-radius:999px;border:2px solid var(--orange);cursor:pointer;font-size:1rem;transition:.15s}
.btn:hover{background:#e65c00;border-color:#e65c00}.btn-sm{padding:.45em 1.1em;font-size:.95rem}
.btn-ghost{background:transparent;color:#fff;border-color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.5em}
.sec .cta-row .btn-ghost,.card .btn-ghost{color:var(--navy);border-color:var(--navy)}
.hdr{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 #e5e8ef}
.hdr-in{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}
.logo img{height:54px;width:auto}
.nav{list-style:none;display:flex;align-items:center;gap:6px;margin:0;padding:0}
.nav a,.sub-btn{display:block;padding:.5em .8em;color:var(--navy);text-decoration:none;font-weight:600;font-size:.97rem;background:none;border:0;cursor:pointer;font-family:inherit}
.nav a[aria-current]{color:var(--orange)}.nav a.btn{color:#fff;margin-left:6px}.nav .tel{color:var(--orange)}
.has-sub{position:relative}.sub-btn::after{content:" ▾";font-size:.8em}
.sub{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;background:#fff;border-radius:var(--r);box-shadow:0 10px 30px rgba(16,30,69,.15);min-width:220px;display:none}
.has-sub:hover .sub,.has-sub.open .sub{display:block}.sub a{border-radius:8px}.sub a:hover{background:var(--alt)}
.menu-btn{display:none;background:none;border:0;padding:10px;cursor:pointer}.menu-btn span{display:block;width:26px;height:3px;background:var(--navy);margin:5px 0;border-radius:2px}
.hero{position:relative;color:#fff;background:linear-gradient(90deg,rgba(16,30,69,.92),rgba(16,30,69,.55)),var(--bg) center/cover no-repeat;padding:clamp(70px,12vw,150px) 0}
.hero h1{color:#fff;max-width:800px}.hero .lead{font-size:1.25rem;max-width:640px;opacity:.95}
.hero-tel a{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none}
.band{background:var(--orange);color:#fff;padding:14px 0;text-align:center}.band a{color:#fff;font-weight:700}
.sec{padding:clamp(48px,7vw,88px) 0}.alt{background:var(--alt)}
.eyebrow{color:var(--orange);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;margin:0 0 .4em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split.top{align-items:start}
.split>img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc{background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 2px 10px rgba(16,30,69,.07);transition:.2s}
.svc:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(16,30,69,.14)}
.svc img{aspect-ratio:16/10;object-fit:cover;width:100%}.svc div{padding:20px}.svc p{color:var(--mut);margin:0 0 .6em}.more{color:var(--orange);font-weight:700}
.why dt{font-weight:700;color:var(--navy);margin-top:1em}.why dd{margin:0;color:var(--mut)}
.cta{background:var(--navy);color:#fff;text-align:center}.cta h2{color:#fff}.cta .cta-row{justify-content:center}.cta .btn-ghost{color:#fff;border-color:#fff}
details{border-bottom:1px solid #e1e5ee;padding:14px 0}summary{font-weight:700;color:var(--navy);cursor:pointer;font-size:1.05rem}details p{color:var(--mut)}
.intro{max-width:820px;font-size:1.1rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:2em 0}
.card{background:#fff;border-radius:var(--r);padding:26px;box-shadow:0 2px 12px rgba(16,30,69,.08)}.extra{margin:1em 0 2em;border-left:5px solid var(--orange)}
.checks{list-style:none;padding:0;margin:0}.checks li{padding-left:1.6em;position:relative;margin:.35em 0}.checks li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:800}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.gallery figure{margin:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 2px 10px rgba(16,30,69,.08)}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery figcaption{padding:12px 16px;font-size:.93rem;color:var(--ink)}
.lightbox{position:fixed;inset:0;background:rgba(5,10,25,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;padding:20px}
.lightbox img{max-height:80vh;border-radius:8px}.lightbox p{color:#fff;margin-top:12px;text-align:center}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:10px 18px}.lb-x{top:10px;right:10px}.lb-p{left:5px;top:50%}.lb-n{right:5px;top:50%}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.lead-form label{display:flex;flex-direction:column;font-weight:600;font-size:.92rem;color:var(--navy);gap:4px}.lead-form .full{grid-column:1/-1}
.lead-form input,.lead-form textarea,.lead-form select{font:inherit;padding:.7em .8em;border:1px solid #cdd3df;border-radius:8px;background:#fff}
.lead-form input:focus,.lead-form textarea:focus,.lead-form select:focus{outline:2px solid var(--orange);border-color:transparent}
.hp{position:absolute;left:-9999px}.form-msg{font-weight:600}.form-msg.ok{color:#137a3a}.form-msg.err{color:#b42318}
.hours{border-collapse:collapse}.hours th{text-align:left;padding:3px 24px 3px 0}.hours td{color:var(--mut)}
.big-tel{font-size:1.6rem;font-weight:800;color:var(--orange);text-decoration:none}.lead-dark{color:var(--mut)}
.ftr{background:var(--navy);color:#c9d1e6;padding:56px 0 20px;font-size:.95rem}.ftr a{color:#fff}.ftr h3{color:#fff}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px}.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin:.3em 0}
.ftr-logo{background:#fff;padding:8px 12px;border-radius:8px;height:auto}.ftr-bot{border-top:1px solid rgba(255,255,255,.15);margin-top:36px;padding-top:18px;font-size:.85rem}
@media (max-width:960px){
 .menu-btn{display:block}nav{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 10px 20px rgba(0,0,0,.1);display:none}
 nav.open{display:block}.nav{flex-direction:column;align-items:stretch;padding:10px 20px 20px}.sub{position:static;box-shadow:none;display:block;padding:0 0 0 14px}.sub-btn::after{content:""}
 .nav a.btn{margin:8px 0;text-align:center}.cards{grid-template-columns:1fr 1fr}.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.split,.fgrid,.cards,.ftr-grid{grid-template-columns:1fr}.split.rev>img{order:2}.logo img{height:44px}body{font-size:16px}}
