:root{
  --paper:#F9F8F5; --ink:#1C2333; --muted:#5D6270; --line:#E2DED6;
  --navy:#1A2747; --navy-deep:#121C33; --gold:#B08D57; --on-navy:#EEF0F4;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#141A28;--ink:#ECE9E2;--muted:#A6ABB6;--line:#2C3446}
}
:root[data-theme="dark"]{--paper:#141A28;--ink:#ECE9E2;--muted:#A6ABB6;--line:#2C3446}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:74rem;margin:0 auto;padding:0 1.5rem}
.serif{font-family:"Bodoni Moda",Georgia,"Times New Roman",serif;font-weight:400}
.btn{display:inline-block;text-decoration:none;padding:1rem 1.6rem;font-weight:600;font-size:.98rem;letter-spacing:.01em;border-radius:1px}
.btn.gold{background:var(--gold);color:#fff}
.btn.gold:hover{background:#9A7A49}
.btn.line{border:1px solid currentColor}

/* top bar + header */
header.site{background:var(--paper);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.1rem;padding-top:1rem;padding-bottom:1rem}
.brand{display:flex;align-items:center;gap:.85rem;text-decoration:none}
.brand img{width:80px;height:80px;border-radius:50%;background:#fff}
.brand span{font-size:1.3rem;line-height:1.15;width:12rem}
.brand{flex-shrink:0}
nav.main{display:flex;gap:.85rem;font-size:.9rem;white-space:nowrap}
nav.main a{text-decoration:none;color:var(--muted)}
nav.main a:hover{color:var(--ink)}
header .btn{padding:.75rem 1rem;background:var(--navy);color:#fff;white-space:nowrap}
@media (max-width:74rem){nav.main{display:none}}
@media (max-width:30rem){.brand img{width:60px;height:60px}.brand span{font-size:1.05rem;width:auto;max-width:9.5rem}.brand{flex-shrink:1}}

/* hero */
.hero{position:relative;min-height:min(88vh,48rem);display:flex;align-items:center;color:#fff;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 40%}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(18,28,51,.88) 0%,rgba(18,28,51,.7) 38%,rgba(18,28,51,.15) 72%,rgba(18,28,51,0) 100%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-top:5rem;padding-bottom:5rem}
.hero h1{font-size:clamp(2.5rem,5.4vw,4.4rem);line-height:1.05;margin:0 0 1.8rem;max-width:15ch;letter-spacing:-.01em}
.promises{list-style:none;margin:0 0 2.6rem;padding:0;max-width:30rem}
.promises li{padding:.55rem 0;border-top:1px solid rgba(176,141,87,.55);font-size:1.02rem}
.promises li:last-child{border-bottom:1px solid rgba(176,141,87,.55)}
.hero .actions{display:flex;gap:.9rem;flex-wrap:wrap}
@media (max-width:48rem){
  .hero::after{background:linear-gradient(180deg,rgba(18,28,51,.55),rgba(18,28,51,.9))}
  .hero img{object-position:44% 40%}
}

/* services */
section{padding:6rem 0}
h2{font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.1;margin:0 0 3rem}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.svc{padding:2.2rem 2rem 0 0;display:flex;flex-direction:column}
.svc + .svc{padding-left:2rem;border-left:1px solid var(--line)}
.svc h3{font-size:1.65rem;line-height:1.15;margin:0 0 1rem}
.svc p{margin:0 0 1.6rem;color:var(--muted);flex:1}
.svc a{font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);align-self:flex-start;padding-bottom:2px}
@media (max-width:52rem){
  .svc-grid{grid-template-columns:1fr}
  .svc,.svc + .svc{padding:2rem 0;border-left:0;border-bottom:1px solid var(--line)}
}

/* on-site split */
.split{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:var(--on-navy);padding:0}
.split .photo{min-height:34rem;position:relative}
.split .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .copy{padding:6rem max(1.5rem,calc((100vw - 74rem)/2 + 1.5rem)) 6rem 4.5rem;display:flex;flex-direction:column;justify-content:center}
.split h2{margin-bottom:1.8rem;color:#fff}
.split p{margin:0 0 1.2rem;max-width:34rem}
.split a.more{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);align-self:flex-start;margin-top:.8rem;padding-bottom:2px}
@media (max-width:52rem){
  .split{grid-template-columns:1fr}
  .split .photo{min-height:22rem}
  .split .copy{padding:3.5rem 1.5rem}
}

/* care */
.care .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:5rem;align-items:start}
.care p{margin:0 0 1.2rem;max-width:38rem}
.care figure{margin:0}
.care figure img{width:100%;aspect-ratio:3/4;object-fit:cover}
.ship{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin:2.4rem 0;padding:1.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ship p{margin:0;font-family:"Bodoni Moda",Georgia,serif;font-size:1.45rem;line-height:1.25;flex:1;min-width:14rem}
.areas{font-size:.98rem;color:var(--muted)}
.areas a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px}
@media (max-width:52rem){.care .wrap{grid-template-columns:1fr;gap:2.5rem}}

footer{background:var(--navy-deep);color:#C9CEDA;padding:4rem 0 2.5rem;font-size:.95rem}
footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem}
footer h4{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:1.3rem;margin:0 0 .9rem;color:#fff}
footer a{color:#fff;text-decoration:none}
footer ul{list-style:none;margin:0;padding:0;line-height:2.1}
footer .foot-areas{grid-column:1/-1;border-top:1px solid rgba(176,141,87,.35);padding-top:2rem}
footer .foot-areas h4 a{text-decoration:none}
footer .fa-label{font-size:.78rem;letter-spacing:.04em;color:#8E95A6;margin:1rem 0 .4rem}
footer .fa-list{columns:4;column-gap:2rem;line-height:2}
@media (max-width:52rem){footer .fa-list{columns:2}}
footer .legal{grid-column:1/-1;border-top:1px solid rgba(176,141,87,.35);padding-top:1.5rem;margin:1rem 0 0;font-size:.82rem;color:#8E95A6}
@media (max-width:52rem){footer .wrap{grid-template-columns:1fr}}
.mnav{display:none;margin-left:auto}
.mnav summary{list-style:none;cursor:pointer;font-weight:600;padding:.7rem .9rem;border:1px solid var(--line)}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);display:grid;padding:.5rem 1.5rem 1rem;z-index:20}
.mnav nav a{padding:.8rem 0;border-bottom:1px solid var(--line);text-decoration:none}
header.site{position:relative}
@media (max-width:74rem){.mnav{display:block}}
@media (max-width:30rem){header .btn{display:none}}

.tagline{font-family:"Bodoni Moda",Georgia,serif;font-style:italic;font-size:clamp(1.25rem,2vw,1.55rem);color:#E6C690;margin:-.6rem 0 1.6rem}
.compare{padding-top:0}
.compare-lead{color:var(--muted);max-width:44rem;margin:-1.6rem 0 2.2rem}
.compare-table{border-top:1px solid var(--line)}
.ct-row{display:grid;grid-template-columns:1fr 1.4fr 1.4fr;gap:1.5rem;padding:1.05rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.ct-row span:first-child{font-family:"Bodoni Moda",Georgia,serif;font-size:1.2rem}
.ct-row span:nth-child(2){color:var(--muted)}
.ct-row span:nth-child(3){font-weight:600;padding-left:1rem;border-left:2px solid var(--gold)}
.ct-head span{font-family:"Hanken Grotesk",system-ui,sans-serif !important;font-size:.85rem !important;font-weight:600;color:var(--muted);border-left:0 !important;padding-left:0 !important}
.ct-head span:nth-child(3){color:var(--ink)}
@media (max-width:48rem){
  .ct-row{grid-template-columns:1fr 1fr;gap:.4rem 1rem}
  .ct-row span:first-child{grid-column:1/-1}
  .ct-head span:first-child{display:none}
}
.sayno{background:var(--paper);border-top:1px solid var(--line)}
.sayno .wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem}
.sayno h2{margin:0}
.sayno p{max-width:40rem;margin:0 0 1.1rem}
.sayno-line{font-family:"Bodoni Moda",Georgia,serif;font-size:1.35rem;line-height:1.3;color:var(--ink);margin-top:1.6rem !important}
@media (max-width:52rem){.sayno .wrap{grid-template-columns:1fr;gap:1rem}}

.jobshot{padding:4.5rem 0 0}
.jobshot figure{margin:0}
.jobshot img{width:100%;aspect-ratio:16/10;object-fit:cover}
.jobshot figcaption{margin-top:.9rem;color:var(--muted);font-size:.95rem;padding-left:1rem;border-left:2px solid var(--gold)}

@media (min-width:48.01rem){
  .hero img{inset:auto;left:0;top:0;width:140%;max-width:none;height:auto;min-height:100%;object-fit:cover;transform:translateY(-14%)}
}

.reviews{padding:4.5rem 0 0}
.reviews h2{margin:0 0 1.6rem}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.2rem}
.rev-card{margin:0;padding:1.6rem 1.5rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);display:flex;flex-direction:column}
.rev-stars{color:var(--gold);letter-spacing:.15em;font-size:1rem;margin-bottom:.8rem}
.rev-card blockquote{margin:0 0 1.1rem;font-family:"Bodoni Moda",Georgia,serif;font-size:1.2rem;line-height:1.45;flex:1;color:var(--ink)}
.rev-card figcaption{font-size:.92rem;color:var(--muted)}
.rev-card figcaption strong{color:var(--ink);font-weight:600}
.prose .reviews{padding:1rem 0 1.5rem}
.prose .rev-grid{max-width:none}
.brandline{background:var(--navy);padding:3.2rem 0;text-align:center;border-top:1px solid rgba(176,141,87,.35)}
.brandline p{margin:0 auto;max-width:44rem;font-family:"Bodoni Moda",Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.25;color:#E6C690}
footer .foot-quote{font-family:"Bodoni Moda",Georgia,serif;font-style:italic;color:#E6C690;font-size:1.05rem;line-height:1.4;margin:-.3rem 0 1rem;max-width:20rem}

/* primary CTA pop */
.btn.gold{background:#D6A956;color:#121C33;font-weight:700;box-shadow:0 8px 22px rgba(214,169,86,.38)}
.btn.gold:hover{background:#E4BA6B;color:#121C33}
.sb-quote{background:#D6A956!important;color:#121C33!important;border-color:#D6A956!important;font-weight:800!important;animation:sbpulse 2.6s ease-out infinite}
.sb-quote:hover{background:#E4BA6B!important}
@keyframes sbpulse{0%{box-shadow:0 0 0 0 rgba(214,169,86,.6)}70%{box-shadow:0 0 0 12px rgba(214,169,86,0)}100%{box-shadow:0 0 0 0 rgba(214,169,86,0)}}
@media (prefers-reduced-motion:reduce){.sb-quote{animation:none}}
.sb-btns .sb-quote{flex:1.4}
/* readable reviews */
.rev-card{box-shadow:0 6px 20px rgba(18,28,51,.07)}
.rev-card blockquote{font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:1.08rem;font-weight:500;line-height:1.6;color:#121C33}
.rev-stars{font-size:1.15rem;color:#C99A45}
.rev-card figcaption{color:#4A5266}
.map-wrap{padding-top:4.5rem}
.map-wrap h2{margin:0 0 .6rem}
.map-help{color:var(--muted);margin:0 0 1.6rem}
.map-card{background:var(--navy);border:1px solid var(--line);padding:1rem;overflow-x:auto}
.area-map{display:block;width:100%;min-width:620px;height:auto;font-family:"Hanken Grotesk",system-ui,sans-serif}
.area-map .g{stroke:rgba(255,255,255,.06);stroke-width:1}
.area-map .core-zone{fill:rgba(176,141,87,.08);stroke:rgba(176,141,87,.35);stroke-dasharray:4 6}
.area-map .compass{fill:rgba(255,255,255,.45);font-size:15px;font-weight:600}
.area-map .pin{cursor:pointer;text-decoration:none}
.area-map .hit{fill:transparent}
.area-map .dot{stroke-width:2.5;transition:r .15s}
.area-map .core .dot{fill:#B08D57;stroke:#fff}
.area-map .metro .dot{fill:#E6C690;stroke:#fff}
.area-map .home{fill:none;stroke:#B08D57;stroke-width:1.5;stroke-dasharray:3 3}
.area-map text{fill:#EEF0F4;font-size:15px;font-weight:500;paint-order:stroke;stroke:#1A2747;stroke-width:4px;stroke-linejoin:round}
.area-map .core text,.area-map .metro text{font-weight:600;fill:#fff}
.area-map .pin:hover .dot,.area-map .pin:focus .dot{r:10}
.area-map .pin:hover text,.area-map .pin:focus text{fill:#E6C690}
.area-map .pin:focus{outline:none}
.area-map .pin:focus-visible .hit{stroke:#B08D57;stroke-width:2}
@media (max-width:40rem){.map-card{padding:.5rem;overflow:hidden}.area-map{min-width:0}.area-map text{font-size:19px;stroke-width:5px}.area-map .dot{r:9}.area-map .compass{font-size:20px}}
.map-legend{display:flex;flex-wrap:wrap;gap:1.4rem;margin:1rem 0 0;font-size:.9rem;color:var(--muted)}
.map-legend span{display:inline-flex;align-items:center;gap:.5rem}
.lg{display:inline-block;width:12px;height:12px;border-radius:50%}
.lg.core{background:#B08D57;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.lg.metro{background:#E6C690;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.lg.home{border:1.5px dashed #B08D57;width:16px;height:16px}

/* range calculator */
.calc-wrap{padding:4.5rem 0 1rem}
.calc-wrap h2{margin:0 0 .6rem}
.calc-intro{color:var(--muted);max-width:46rem;margin:0 0 2rem}
.calc{display:grid;grid-template-columns:1.25fr .75fr;gap:2.5rem;align-items:start}
@media (max-width:56rem){.calc{grid-template-columns:minmax(0,1fr)}.calc>*{min-width:0}}
.calc-group{border:1px solid var(--line);background:var(--paper);padding:1rem 1.2rem;margin:0 0 1rem}
.calc-group summary{cursor:pointer;font-family:"Bodoni Moda",Georgia,serif;font-size:1.35rem;list-style:none;position:relative;padding-right:2rem}
.calc-group summary::-webkit-details-marker{display:none}
.calc-group summary::after{content:"";position:absolute;right:.4rem;top:.55rem;width:.55rem;height:.55rem;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg)}
.calc-group[open] summary{margin-bottom:.8rem}
.calc-group[open] summary::after{transform:rotate(-135deg);top:.8rem}
.calc-label{display:block;font-weight:600;margin:.6rem 0 .4rem}
.calc select{font:inherit;box-sizing:border-box;width:100%;max-width:100%;padding:.75rem .8rem;border:1px solid var(--line);background:#fff;color:#1C2333}
.row-ctr{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.row-ctr small{display:block;color:var(--muted);font-size:.85rem}
.ctr{display:flex;align-items:center;gap:.35rem;flex-shrink:0}
.ctr button{width:2.3rem;height:2.3rem;border:1px solid var(--line);background:#fff;color:#1C2333;font-size:1.2rem;cursor:pointer;border-radius:1px}
.ctr button:hover{border-color:var(--gold)}
.ctr output{min-width:2rem;text-align:center;font-weight:600}
.chk{display:flex;gap:.6rem;align-items:center;padding:.55rem 0;cursor:pointer}
.chk input{width:1.1rem;height:1.1rem;accent-color:var(--navy)}
.calc-hint{font-size:.9rem;color:var(--muted);margin:0 0 .4rem}
.custom-rug{padding:.6rem 0 .2rem;border-bottom:1px solid var(--line)}
.cr-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.cr-row input{font:inherit;width:7.5rem;padding:.65rem .7rem;border:1px solid var(--line);background:#fff;color:#1C2333;box-sizing:border-box}
.cr-row button{font:inherit;font-weight:600;padding:.65rem 1rem;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer}
.cr-list{list-style:none;padding:0;margin:.5rem 0 0}
.cr-list li{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.95rem}
.cr-list button{font:inherit;font-size:.85rem;background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer}
.calc-reset{font:inherit;background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;padding:.4rem 0}
.calc-result{background:var(--navy);color:var(--on-navy);padding:2rem;position:sticky;top:1.5rem}
@media (max-width:56rem){.calc-result{position:static}}
.res-label{margin:0;font-size:.9rem;opacity:.8}
.res-range{font-family:"Bodoni Moda",Georgia,serif;font-size:clamp(2rem,4vw,2.7rem);line-height:1.1;color:#fff;margin:.3rem 0 .6rem}
.res-min{color:#E6C690;font-size:.95rem;margin:0 0 1rem;min-height:1em}
.res-lines{list-style:none;padding:0;margin:0 0 1rem;font-size:.92rem}
.res-lines li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.12)}
.res-lines li span:last-child{white-space:nowrap}
.res-notes{padding-left:1.1rem;margin:0 0 1.4rem;font-size:.88rem;opacity:.85}
.res-notes li{margin:.25rem 0}
.res-cta{display:block;text-align:center}
.res-fine{font-size:.8rem;opacity:.7;margin:1rem 0 0}

/* inner pages */
.page-hero{background:var(--navy);color:var(--on-navy)}
.page-hero .wrap{display:grid;grid-template-columns:1fr;gap:3.5rem;padding-top:5rem;padding-bottom:5rem;align-items:center}
.page-hero.has-img .wrap{grid-template-columns:1.25fr .75fr}
.page-hero h1{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.07;margin:0 0 1.2rem;color:#fff;max-width:20ch}
.page-hero .sub{font-family:"Bodoni Moda",Georgia,serif;font-size:1.35rem;line-height:1.3;color:#fff;margin:0 0 1.6rem;padding-top:1.2rem;border-top:1px solid rgba(176,141,87,.55);max-width:34rem;font-weight:400}
.page-hero p{max-width:40rem;margin:0 0 1.1rem}
.page-hero .actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.8rem}
.page-hero img{width:100%;aspect-ratio:4/5;object-fit:cover}
.page-hero a{color:#fff}
@media (max-width:52rem){.page-hero.has-img .wrap{grid-template-columns:1fr}.page-hero img{aspect-ratio:4/3}}
.prose{padding-top:4.5rem;padding-bottom:4.5rem}
.prose > *{max-width:46rem}
.prose h2{font-size:clamp(1.9rem,3.2vw,2.5rem);margin:3.5rem 0 1.5rem}
.prose h3{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:1.75rem;line-height:1.2;margin:3.2rem 0 1.1rem;padding-top:2.4rem;border-top:1px solid var(--line)}
.prose > h3:first-child,.prose > h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h4{font-size:1.05rem;margin:1.6rem 0 .4rem}
.prose p{margin:0 0 1.15rem}
.prose ul{margin:0 0 1.4rem;padding-left:1.2rem}
.prose ul li{margin:.3rem 0}
.prose .lead{font-size:1.15rem;color:var(--muted)}
.prose .note{color:var(--muted);font-style:italic}
.prose .callout{border-left:2px solid var(--gold);padding:.2rem 0 .2rem 1.2rem;margin:1.6rem 0}
.prose .rule{font-family:"Bodoni Moda",Georgia,serif;font-size:1.3rem;line-height:1.35;margin:1.8rem 0}
.prose a{text-decoration-color:var(--gold);text-underline-offset:3px}
ul.checks{list-style:none;padding:0;columns:2;column-gap:2rem}
ul.checks li{padding-left:1.6rem;position:relative;break-inside:avoid}
ul.checks li::before{content:"";position:absolute;left:0;top:.55em;width:.75rem;height:.4rem;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
ul.plain{list-style:none;padding:0;columns:2;column-gap:2rem}
ul.plain li{padding:.35rem 0;border-bottom:1px solid var(--line);break-inside:avoid}
@media (max-width:40rem){ul.checks,ul.plain{columns:1}}
.svc-links{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1rem}
.svc-links a{border:1px solid var(--line);padding:.6rem 1rem;text-decoration:none;font-weight:600;font-size:.95rem}
.svc-links a:hover{border-color:var(--gold)}
.features{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem 2.5rem;margin:1.5rem 0 1rem}
.features div strong{display:block;font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:1.25rem;margin-bottom:.35rem}
.features div p{margin:0;color:var(--muted)}
@media (max-width:40rem){.features{grid-template-columns:1fr}}
.more{font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;display:inline-block;margin:.4rem 0 1rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.6rem 0}
.btn.navy{background:var(--navy);color:#fff}
.btn.line-dark{border:1px solid var(--navy);color:var(--ink)}
.faq{border-top:1px solid var(--line);margin-top:1rem}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 2.5rem 1.15rem 0;font-weight:600;font-size:1.05rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.4rem;top:1.45rem;width:.6rem;height:.6rem;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.7rem}
.faq details > div{padding:0 0 1.2rem}
.faq details > div p{color:var(--muted)}
.cta-band{background:var(--navy-deep);color:var(--on-navy);padding:4.5rem 0;text-align:left}
.cta-band h2{color:#fff;margin:0 0 .6rem;font-size:clamp(1.9rem,3.4vw,2.6rem)}
.cta-band p{margin:0 0 1.8rem}
.cta-band .btn-row{margin:0}
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);max-width:none !important;margin:1rem 0 3rem}
.city-grid a{padding:1.6rem 1.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;font-family:"Bodoni Moda",Georgia,serif;font-size:1.3rem}
.city-grid a:hover{background:var(--navy);color:#fff}
@media (max-width:48rem){.city-grid{grid-template-columns:1fr 1fr}}
.quote-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:start}
.prose > .quote-layout{max-width:none}
.quote-layout > *{max-width:none}
.quote-layout > div > h3:first-child{margin-top:0;padding-top:0;border-top:0}
form.quote{position:sticky;top:1.5rem}
@media (max-width:56rem){form.quote{order:-1;position:static}}
@media (max-width:56rem){.quote-layout{grid-template-columns:1fr;gap:2.5rem}}
form.quote{background:var(--paper);border:1px solid var(--line);padding:2rem;display:grid;gap:1.1rem}
form.quote h3{margin:0 0 .3rem;padding:0;border:0}
form.quote label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}
form.quote label small{font-weight:400;color:var(--muted)}
form.quote input,form.quote select,form.quote textarea{font:inherit;font-weight:400;padding:.8rem .9rem;border:1px solid var(--line);background:#fff;color:#1C2333;border-radius:1px;width:100%}
form.quote input:focus,form.quote select:focus{outline:2px solid var(--gold);outline-offset:0}
form.quote .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:30rem){form.quote .row{grid-template-columns:1fr}}
form.quote button{font:inherit;border:0;cursor:pointer}
form.quote .fine{font-size:.82rem;color:var(--muted);margin:0}
.steps{list-style:none;padding:0;counter-reset:s}
.steps li{padding:1rem 0;border-bottom:1px solid var(--line)}
.jobfig{margin:0 0 1rem;max-width:none !important}
.jobfig img{width:100%;aspect-ratio:16/10;object-fit:cover}
.jobfig figcaption{margin-top:.9rem;color:var(--muted);font-size:.95rem;padding-left:1rem;border-left:2px solid var(--gold)}
.olist{padding-left:1.4rem;margin:0 0 1.4rem}
.olist li{margin:.45rem 0;padding-left:.3rem}
.tbl{overflow-x:auto;margin:0 0 1.6rem}
.tbl table{border-collapse:collapse;width:100%}
@media(max-width:600px){.tbl th,.tbl td{padding:.6rem .5rem;font-size:.92rem}.tbl td:last-child,.tbl th:last-child{white-space:nowrap;text-align:right}}
.tbl th,.tbl td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-size:.85rem;color:var(--muted);font-weight:600;border-bottom:2px solid var(--gold)}
.post-list{display:grid;gap:0;border-top:1px solid var(--line);max-width:none !important}
.post-list a{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:baseline;padding:1.7rem 0;border-bottom:1px solid var(--line);text-decoration:none}
.post-list h3{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:1.55rem;line-height:1.2;margin:0 0 .45rem;padding:0;border:0}
.post-list p{margin:0;color:var(--muted)}
.post-list .read{font-weight:600;white-space:nowrap;border-bottom:1px solid var(--gold)}
.post-list a:hover h3{color:var(--gold)}
@media (max-width:40rem){.post-list a{grid-template-columns:1fr}}
.byline{font-size:.9rem;color:rgba(238,240,244,.75);margin-top:.4rem}
.prose.links-block{padding-top:0}
.hero-note{font-size:.95rem;color:rgba(238,240,244,.8)}
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#0D1526;border-top:1px solid rgba(176,141,87,.6);box-shadow:0 -6px 24px rgba(18,28,51,.25);padding-bottom:env(safe-area-inset-bottom,0px)}
.sb-inner{max-width:74rem;margin:0 auto;padding:.7rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.sb-hours{margin:0;color:#C9CEDA;font-size:.92rem;display:flex;align-items:center;gap:.6rem;white-space:nowrap;min-width:0}
.sb-dot{width:.55rem;height:.55rem;border-radius:50%;background:#B08D57;box-shadow:0 0 0 3px rgba(176,141,87,.25)}
.sb-sep{opacity:.5}
.sb-phone{color:#fff;font-weight:600}
.sb-btns{display:flex;gap:.75rem;flex-shrink:0}
@media (max-width:64rem){.sb-sep,.sb-phone{display:none}}
.sb-btns a{text-decoration:none;font-weight:700;font-size:.95rem;padding:.7rem 1.35rem;border-radius:1px;white-space:nowrap}
.sb-quote{background:#B08D57;color:#fff;border:1px solid #B08D57}
.sb-quote:hover{background:#9A7A49}
.sb-call{color:#fff;border:1px solid rgba(255,255,255,.55)}
.sb-call:hover{border-color:#B08D57;color:#E6C690}
footer{padding-bottom:6.8rem !important}
@media (max-width:48rem){
  .sb-inner{flex-direction:column;align-items:stretch;gap:.7rem;padding:.8rem 1.25rem .95rem}
  .sb-hours{justify-content:center;font-size:.85rem;letter-spacing:.01em}
  .sb-sep,.sb-phone{display:none}
  .sb-btns{gap:.75rem}
  .sb-btns a{flex:1;text-align:center;padding:.85rem .5rem;font-size:.92rem;letter-spacing:.01em}
  footer{padding-bottom:10.6rem !important}
}
.crumbs{font-size:.85rem;margin:0 0 1.4rem;color:rgba(238,240,244,.75)}
.crumbs a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(176,141,87,.6)}
.crumbs span[aria-hidden]{margin:0 .35rem;opacity:.6}
.area-links{display:flex;flex-wrap:wrap;gap:.55rem;margin:.4rem 0 1.4rem;max-width:none !important}
.area-links a{border:1px solid var(--line);padding:.5rem .85rem;text-decoration:none;font-size:.93rem}
.area-links a:hover{border-color:var(--gold)}
ul.plain li a{text-decoration-color:var(--gold);text-underline-offset:3px}
.btn.big{font-size:1.25rem;padding:1.15rem 1.9rem}
h1,h2,h3,h4,.serif,.prose h3,.post-list h3,footer h4,.features div strong,.calc-group summary,.tagline{font-weight:600}
.page-hero.hero-areas{background:linear-gradient(rgba(19,29,54,.86),rgba(26,39,71,.72)),url(/img/areas-hero.webp) center 55%/cover no-repeat}\n.citymap{padding:3.5rem 0 3rem}
.citymap h2{margin:0 0 1.2rem}
.page-hero img[src$="blind-bedroom.webp"]{object-position:80% 50%}
.inline-photo{margin:1.8rem 0 2rem}.inline-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:620px;margin:0 auto}
.page-hero img[src$="blind-roman.webp"]{object-position:60% 60%}
.citymap iframe{display:block;width:100%;height:360px;border:1px solid var(--line)}
@media (max-width:48rem){.citymap iframe{height:280px}}
