:root{--ink:#0d1117;--ink2:#4a525e;--bg:#f3f4ef;--card:#fff;--line:#d9dccf;--acc:#ffc61a;--acc-d:#e0aa00;--acc-t:#fff4cc;--grn:#0a5a43;--grn-d:#063f2f;--grn-t:#dcefe6;--r:4px;--sh:0 1px 0 rgba(13,17,23,.06),0 10px 24px -12px rgba(13,17,23,.25);--w:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);padding-bottom:78px}
img{max-width:100%;height:auto;display:block}a{color:var(--grn)}a:hover{color:var(--grn-d)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px;top:8px;background:#000;color:#fff;padding:10px 14px;z-index:99}.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid #0a58ca;outline-offset:2px}
h1,h2,h3{line-height:1.12;letter-spacing:-.025em;margin:0 0 .55em;font-weight:800}h1{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:900}
h2{font-size:clamp(1.5rem,2.8vw,2.1rem);padding-left:14px;border-left:6px solid var(--acc);margin-top:0}
h3,.h3{font-size:1.18rem}.cta-band h2,.rec h2,.sbox h2,.hero-card h2,.qd-head h2,.cards h2{border-left:0;padding-left:0}
p{margin:0 0 1em}
.topbar{background:var(--acc);color:var(--ink);font-size:.86rem;font-weight:600}.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px}.topbar a{color:var(--ink);font-weight:800;white-space:nowrap}
.hdr{background:var(--ink);color:#fff;position:sticky;top:0;z-index:40;border-bottom:3px solid var(--acc)}.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;font-size:.9rem;line-height:1.15;max-width:270px}.logo strong{font-size:1.3rem;display:block;letter-spacing:.04em;text-transform:uppercase}
.hdr nav ul{list-style:none;display:flex;gap:4px;align-items:center;margin:0;padding:0}.hdr nav a{display:block;padding:9px 14px;text-decoration:none;color:#e9ece6;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.86rem;border-radius:var(--r)}.hdr nav a:hover,.hdr nav a[aria-current]{background:rgba(255,255,255,.12);color:var(--acc)}
.menu-btn{display:none;border:2px solid var(--acc);background:transparent;color:var(--acc);border-radius:var(--r);padding:8px 14px;font:inherit;font-weight:800;text-transform:uppercase}
.btn{display:inline-block;border:2px solid transparent;border-radius:var(--r);padding:13px 22px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;text-align:center;line-height:1.2;letter-spacing:.01em}
.btn-primary{background:var(--acc);color:var(--ink);border-color:var(--acc)}.btn-primary:hover{background:var(--acc-d);border-color:var(--acc-d);color:var(--ink)}
.btn-light{background:transparent;color:#fff;border-color:#fff}.btn-light:hover{background:#fff;color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-sm{padding:8px 13px;font-size:.9rem}.btn-block{display:block;width:100%;margin-top:8px}
.hdr nav .btn-primary{color:var(--ink);background:var(--acc)}.hdr nav .btn-primary:hover{background:var(--acc-d);color:var(--ink)}
.cta-box .btn-ghost,.cta-band .btn-light{}
.hero{position:relative;color:#fff;background:#0d1117 var(--bg) center/cover no-repeat;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,17,23,.95) 0,rgba(13,17,23,.82) 50%,rgba(13,17,23,.55));z-index:-1}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(-45deg,var(--acc) 0 18px,var(--ink) 18px 36px)}
.hero .wrap{padding-top:64px;padding-bottom:72px}.hero h1{color:#fff}.hero a{color:var(--acc)}.hero .btn-primary{color:var(--ink)}.hero .btn-light{color:#fff}.hero .btn-light:hover{color:var(--ink)}
.eyebrow{display:inline-block;background:var(--acc);color:var(--ink);font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;padding:5px 11px;border-radius:2px;margin-bottom:16px}
.lead{font-size:1.1rem;max-width:760px;color:#e6e9e2}.hero-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.loc-hero{background:linear-gradient(135deg,#0d1117,#16301f)}.loc-hero::before{display:none}
.hero-card{background:#fff;color:var(--ink);border-radius:var(--r);padding:24px;box-shadow:var(--sh);border-top:6px solid var(--acc)}.hero-card h2{font-size:1.35rem}
.hero-media{min-width:0}
.carousel{position:relative;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:0 18px 40px -16px rgba(0,0,0,.7);border:3px solid var(--acc)}
.car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:0 0 100%;margin:0;scroll-snap-align:center;position:relative}.car-slide img{width:100%;aspect-ratio:4/3;object-fit:cover}
.car-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:.88rem;font-weight:600}
.car-ctl{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;pointer-events:none}.car-ctl>*{pointer-events:auto}
.car-ctl button{background:var(--acc);color:var(--ink);border:0;width:38px;height:38px;border-radius:2px;font-size:1.5rem;line-height:1;cursor:pointer;font-weight:900}
.car-dots{display:flex;gap:6px}.car-dots button{width:11px;height:11px;padding:0;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.35);border-radius:0}.car-dots button[aria-current=true]{background:var(--acc)}
.crumbs{padding:14px 0 4px;font-size:.88rem}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.crumbs li+li::before{content:"\203A";margin-right:6px;color:#7a8089}
.sec{padding:34px 0}.sec+.sec{border-top:1px solid var(--line)}.sec-lead{color:var(--ink2);max-width:800px}.narrow{max-width:820px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;padding-top:24px;padding-bottom:40px}
a.kw,a.city-mention{font-weight:700;color:var(--grn-d);text-decoration:none;border-bottom:2px solid var(--acc);background:linear-gradient(transparent 55%,var(--acc-t) 55%)}
a.kw:hover,a.city-mention:hover{background:var(--acc);color:var(--ink)}
.hero a.kw,.hero a.city-mention{color:#fff;background:none;border-bottom:2px solid var(--acc)}.hero a.kw:hover,.hero a.city-mention:hover{background:var(--acc);color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.card,.unit{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px)}
.card-img img,.unit>img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-b,.unit-b{padding:18px;display:flex;flex-direction:column;flex:1;border-top:4px solid var(--acc)}
.card h3,.card .h3{margin-bottom:.3em}.card h3 a,.card .h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover,.card .h3 a:hover{color:var(--grn)}
.price{font-weight:900;color:var(--grn);margin:0 0 .6em}.card-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.units{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.spec{margin:0 0 14px;font-size:.92rem}.spec div{padding:6px 0;border-top:1px solid var(--line)}.spec dt{font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}.spec dd{margin:0}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.gal img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}
.chips{list-style:none;margin:0 0 1em;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chips li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:2px;padding:5px 12px;font-size:.93rem}.chips a{text-decoration:none}
.chips a.city-mention{background:none;border:0;color:var(--grn);font-weight:700}
.ind{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.ind li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:4px;border-top:4px solid var(--grn)}.ind span{color:var(--ink2);font-size:.94rem}
.why-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.why-l li{background:var(--ink);color:#e6e9e2;border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:5px}.why-l strong{color:var(--acc);font-size:1.05rem}
.rec{background:var(--acc-t);border:1px solid #f0d56e;border-left:8px solid var(--acc);border-radius:var(--r);padding:22px;margin:16px 0}.rec h2{font-size:1.3rem}
.tbl{overflow-x:auto;margin:14px 0}table{border-collapse:collapse;width:100%;background:#fff;font-size:.95rem}th,td{border:1px solid var(--line);padding:10px 12px;text-align:left}thead th{background:var(--ink);color:var(--acc);text-transform:uppercase;font-size:.8rem;letter-spacing:.06em}.sm{display:block;font-weight:400;color:var(--ink2);font-size:.82rem}
.disclaimer{background:#fff;border:1px dashed #8a8f82;border-radius:var(--r);padding:12px 14px;font-size:.9rem;color:var(--ink2)}
.calc{background:#fff;border:1px solid var(--line);border-top:4px solid var(--acc);border-radius:var(--r);padding:16px;margin:16px 0}.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.calc-out{grid-column:1/-1;margin:0;font-size:1.05rem}
.soon{background:repeating-linear-gradient(-45deg,#fff8dc,#fff8dc 10px,#ffefb0 10px,#ffefb0 20px);border:2px dashed #b88a00;border-radius:var(--r);padding:16px;margin-bottom:14px}.soon-t{margin:0}
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;padding:0 16px}.faq summary{cursor:pointer;font-weight:800;padding:14px 0}.faq[open]{border-left:5px solid var(--acc)}.faq p{padding-bottom:6px;margin:0}
.cta-band{background:var(--grn-d) linear-gradient(120deg,var(--grn-d),#0d1117);color:#fff;border-radius:var(--r);padding:34px;margin:28px 0;text-align:center;border-bottom:8px solid var(--acc)}.cta-band h2{color:#fff}.cta-band .hero-act{justify-content:center}
.side{display:flex;flex-direction:column;gap:18px;align-self:start;position:sticky;top:84px}.sbox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}.sbox h2{font-size:1.05rem;margin-bottom:.6em;text-transform:uppercase;letter-spacing:.05em}.cta-box{background:var(--ink);color:#fff;border:0;border-top:6px solid var(--acc)}.cta-box h2{color:var(--acc)}.cta-box .btn-ghost{color:#fff;border-color:#fff}.cta-box .btn-ghost:hover{background:#fff;color:var(--ink)}
.side-l,.share{margin:0;padding-left:18px}.share{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.share a{display:block;padding:6px 12px;border-radius:2px;background:var(--ink);color:#fff;text-decoration:none;font-size:.9rem;font-weight:700}.share a:hover{background:var(--acc);color:var(--ink)}
.sbox iframe{border:0;border-radius:var(--r);width:100%}
.sm-p{font-size:.92rem;color:var(--ink2)}.srcnote{font-size:.85rem;color:var(--ink2)}
.locfind{background:#fff;border:1px solid var(--line);border-top:5px solid var(--acc);border-radius:var(--r);padding:20px}.locsearch{position:relative;max-width:540px;margin-bottom:18px}.locsearch label{font-weight:800;display:block;margin-bottom:4px}.locsearch input{width:100%;padding:12px 14px;font:inherit;border:2px solid var(--ink);border-radius:var(--r)}
.hero-search input{border-color:var(--acc)}.hero-search label{color:#fff}.loc-none{margin:6px 0 0;font-size:.92rem}
.loc-res{list-style:none;margin:4px 0 0;padding:0;position:absolute;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);z-index:10;max-height:300px;overflow:auto;color:var(--ink)}.loc-res li a{display:block;padding:9px 14px;text-decoration:none;color:var(--ink)}.loc-res li a:hover,.loc-res li a:focus{background:var(--acc-t)}.loc-res span{color:var(--ink2);font-size:.85rem}
.map-grid{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:26px;align-items:start;margin-bottom:18px}
.map-ctl{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:4px;z-index:2}.map-ctl button{border:1px solid var(--ink);background:var(--acc);border-radius:2px;padding:5px 9px;font:inherit;font-weight:800;cursor:pointer}
.map-tip{position:absolute;background:var(--ink);color:var(--acc);padding:5px 10px;border-radius:2px;font-size:.85rem;font-weight:700;pointer-events:none;white-space:nowrap;z-index:3;transform:translate(-50%,-120%)}
.allc{margin-top:14px}.allc summary{cursor:pointer;font-weight:800}.allc-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin-top:14px}.allc-g h3{font-size:1rem;margin-bottom:.3em}.allc-g ul{list-style:none;margin:0;padding:0;font-size:.88rem}
.sa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.sa{background:#fff;border:1px solid var(--line);border-top:4px solid var(--grn);border-radius:var(--r);padding:16px}
.sa .chips li{padding:3px 10px;font-size:.88rem}
.ftr{background:var(--ink);color:#c9cdc4;padding:44px 0 22px;font-size:.93rem;border-top:6px solid var(--acc)}.ftr a{color:var(--acc)}.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:28px}.ftr-h{font-weight:900;color:#fff;margin-bottom:.5em;text-transform:uppercase;letter-spacing:.06em}.ftr ul{list-style:none;margin:0;padding:0}.ftr li{margin:4px 0}
.ftr .btn-primary{color:var(--ink)}.ftr-states{margin-top:22px;font-size:.84rem;line-height:1.9}.ftr-copy{margin:16px 0 0;font-size:.82rem;color:#8d9288}
.dock{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;border-radius:var(--r);overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.4);border:2px solid var(--ink)}
.dock a,.dock button{border:0;font:inherit;font-weight:900;padding:14px 18px;cursor:pointer;text-decoration:none;line-height:1.2}.dock-call{background:var(--acc);color:var(--ink)}.dock-form{background:var(--ink);color:var(--acc)}.dock a:hover{background:var(--acc-d);color:var(--ink)}.dock-form:hover{background:#000}
dialog{border:0;border-radius:var(--r);padding:0;width:min(720px,calc(100vw - 24px));max-height:92vh;box-shadow:0 20px 60px rgba(0,0,0,.5)}dialog::backdrop{background:rgba(8,10,14,.7)}
.qd-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--ink);color:#fff;border-bottom:4px solid var(--acc)}.qd-head h2{margin:0;color:#fff;font-size:1.25rem}.qd-close{border:0;background:transparent;color:var(--acc);font-size:2rem;cursor:pointer;line-height:1}
.qd-desc{padding:12px 20px 0;margin:0;color:var(--ink2)}dialog .qform{padding:8px 20px 20px}
.qform .qgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.fld label{font-weight:700;font-size:.92rem}
.fld input,.fld select,.fld textarea{font:inherit;padding:10px 12px;border:1.5px solid #8a8f82;border-radius:var(--r);background:#fff;color:var(--ink);width:100%}
.fld.chk{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.fld.chk input{width:auto;margin-top:5px}.fld.chk label{flex:1;font-weight:400}.fld.chk .err{flex-basis:100%}
.err{color:#b00020;font-size:.85rem;min-height:0}.hp{position:absolute;left:-9999px;width:1px;height:1px}.qhelp{font-size:.88rem;color:var(--ink2)}.qstatus{margin:10px 0 0;font-weight:700}.qstatus.ok{color:#0b6b2f}.qstatus.bad{color:#b00020}
.hero-card .qgrid{grid-template-columns:1fr 1fr}
.steps{padding-left:22px}.steps li{margin-bottom:10px}
.usmap{position:relative;background:var(--ink);border-radius:var(--r);padding:10px;margin-bottom:18px}.usmap svg{width:100%;height:auto;display:block}.usstate path{fill:#26302b;stroke:#0d1117;stroke-width:1;stroke-linejoin:round;cursor:pointer;transition:fill .12s}.usstate:hover path,.usstate:focus path{fill:var(--acc);stroke:#fff}.usstate:focus{outline:none}.usstate:focus path{stroke:#fff;stroke-width:2.5}.nh-list{margin-bottom:12px}
@media (max-width:980px){.hero-grid,.content-grid,.map-grid{grid-template-columns:minmax(0,1fr)}.side{position:static}.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){body{font-size:16px;padding-bottom:70px}.topbar span{display:none}.topbar .wrap{justify-content:center}.menu-btn{display:block}
 .hdr nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);border-bottom:3px solid var(--acc);padding:10px 22px}.hdr nav.open{display:block}.hdr nav ul{flex-direction:column;align-items:stretch}
 .hdr{position:relative}.qform .qgrid,.hero-card .qgrid,.calc-row{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr}.hero .wrap{padding-top:40px;padding-bottom:48px}
 .dock{left:10px;right:10px;bottom:10px}.dock a,.dock button{flex:1;padding:13px 8px;font-size:.92rem}.logo{max-width:210px;font-size:.8rem}.logo strong{font-size:1.05rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.car-track{scroll-behavior:auto}.card{transition:none}}
@media print{.dock,.topbar,dialog,.menu-btn{display:none!important}}
.mapx{background:#fff;border:1px solid var(--line);border-top:5px solid var(--acc);border-radius:var(--r);padding:16px;margin-bottom:18px}
.mapx-bar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.mapx-bar label{font-weight:800}.mapx-bar select{font:inherit;padding:9px 12px;border:2px solid var(--ink);border-radius:var(--r);min-width:240px;background:#fff}
.mapx-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(240px,1fr);gap:20px;align-items:start}
.mapx-map{position:relative;background:linear-gradient(180deg,#f4f7ee,#e4ebd9);border-radius:var(--r);padding:8px}.mapx-map svg{width:100%;height:auto;display:block;touch-action:none;--r:2.4}
.mapx .usstate path{fill:#c9d4b6;stroke:#fff;stroke-width:1;stroke-linejoin:round;cursor:pointer}.mapx .usstate:hover path,.mapx .usstate:focus path{fill:var(--acc)}.mapx .usstate:focus{outline:none}.mapx .usstate:focus path{stroke:var(--ink);stroke-width:2.5}
.mk circle{r:calc(var(--r)*1px);cursor:pointer;stroke:#fff;stroke-width:.4;paint-order:stroke}.mk circle.c0{fill:var(--ink)}.mk circle.c1{fill:#0a8a63}.mk circle:hover{fill:#d9201f;r:calc(var(--r)*2.2px)}
.legend{list-style:none;display:flex;gap:16px;margin:8px 4px 0;padding:0;font-size:.85rem;color:var(--ink2)}.legend .d{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.legend .c0{background:var(--ink)}.legend .c1{background:#0a8a63}.legend .st{background:#c9d4b6;border-radius:2px}
.mapx-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh);position:sticky;top:90px}.mapx-panel h3{margin:.5em 0 .4em;font-size:1.3rem}.pill{display:inline-block;background:var(--acc-t);border:1px solid #f0d56e;border-radius:999px;padding:3px 12px;font-size:.82rem;font-weight:700}
.sits{display:grid;gap:14px}.sit{background:#fff;border:1px solid var(--line);border-left:6px solid var(--grn);border-radius:var(--r);padding:16px}.sit h3{margin:0 0 .3em}.sit-meta{font-size:.85rem;color:var(--ink2);margin:0 0 .6em}.sit p{margin-bottom:.6em}.sit-fit{font-size:.92rem}.sit details{font-size:.88rem;color:var(--ink2)}.sit summary{cursor:pointer;font-weight:700;color:var(--ink)}
.srcs{margin-top:10px;font-size:.88rem}.srcs summary{cursor:pointer;font-weight:700}.ref{font-size:.75rem;vertical-align:super;text-decoration:none;font-weight:700}
@media (max-width:980px){.mapx-grid{grid-template-columns:1fr}.mapx-panel{position:static}}
/* Call buttons are red so the 24/7 phone action stands out */
.dock-call,a.btn[href^="tel:"],nav a.btn-primary[href^="tel:"],.ftr a.btn-primary[href^="tel:"]{background:#d9201f;border-color:#d9201f;color:#fff}
.dock-call:hover,a.btn[href^="tel:"]:hover,nav a.btn-primary[href^="tel:"]:hover,.ftr a.btn-primary[href^="tel:"]:hover,.dock a.dock-call:hover{background:#b31716;border-color:#b31716;color:#fff}
.cta-box a.btn-primary[href^="tel:"],.hero a.btn-primary[href^="tel:"]{color:#fff}
.topbar a[href^="tel:"]{color:#b00f0f}

/* Brand lockup: long name + tagline */
.logo span{display:flex;flex-direction:column;line-height:1.15;max-width:260px}
.logo .tag{display:block;font-size:.62rem;font-weight:500;letter-spacing:.01em;opacity:.75;margin-top:2px;white-space:normal}
@media(max-width:700px){.logo .tag{display:none}.logo span{font-size:.85rem;max-width:200px}}

/* Image logo (white version on the dark header) */
.logo{max-width:none}.logo img{display:block;height:54px;width:auto}
@media(max-width:700px){.logo img{height:46px}}

/* Consistent container rhythm: shared gutters, no grid blow-out, uniform section spacing */
.main-col,.side,.hero-copy,.hero-card,.hero-media{min-width:0}
.main-col{display:block}
.main-col>.sec:first-child{padding-top:0}
.main-col>.cta-band,.wrap>.cta-band{margin:28px 0 0}
.sec.narrow{margin-left:0;margin-right:auto;width:100%}
table,pre{max-width:100%}.tbl{overflow-x:auto}
@media(max-width:760px){.wrap{padding-left:18px;padding-right:18px}.sec{padding:26px 0}.cta-band{padding:26px 18px}.content-grid{gap:24px}}

/* Full-width continuous photo belt */
.belt{overflow:hidden;background:var(--ink);padding:14px 0;border-bottom:6px solid var(--acc)}
.belt-track{display:flex;gap:14px;width:max-content;animation:belt 70s linear infinite}
.belt:hover .belt-track,.belt:focus-within .belt-track{animation-play-state:paused}
.belt-i{position:relative;display:block;flex:none;width:340px;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);text-decoration:none}
.belt-i img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.belt-i:hover img{transform:scale(1.05)}
.belt-i span{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;color:#fff;font-size:.86rem;font-weight:700;background:linear-gradient(transparent,rgba(13,17,23,.88))}
@keyframes belt{to{transform:translateX(calc(-50% - 7px))}}
@media(max-width:760px){.belt-i{width:240px}.belt-track{animation-duration:55s}}
@media(prefers-reduced-motion:reduce){.belt{overflow-x:auto}.belt-track{animation:none}}

/* Breadcrumbs: readable on the light page background, visible on every screen size */
.crumbs{display:block;padding:14px 0 6px}
.crumbs ol{align-items:center}
.crumbs a{display:inline;padding:0;color:var(--grn);font-weight:600;text-transform:none;letter-spacing:0;font-size:inherit;text-decoration:underline;text-underline-offset:2px;background:none}
.crumbs a:hover{color:var(--grn-d);background:none}
.crumbs li[aria-current]{color:var(--ink2);font-weight:700}
.crumbs li{min-width:0}
