/* Light palette layer: warm white, sand, ink text, champagne gold reserved for call actions.
   Header and footer stay charcoal so the gold logo keeps its dark ground. */
:root{
  --bg:#FBFAF6;--alt:#F3EFE6;--card:#FFFFFF;--line:#E4DED1;--line-2:#CFC7B6;
  --text:#1D1E1B;--muted:#5C594F;--accent:#7A5A22;--accent-2:#8E6E33;
  --cta:#CDAF74;--cta-hover:#DCC291;--tint:#F7F0E1;--error:#A23B1E;
}
body{background:var(--bg);color:var(--text)}
main{color:var(--text)}
main a{color:var(--accent)}
main a:hover{color:var(--text)}
main a:focus-visible,main button:focus-visible,main input:focus-visible,main select:focus-visible,main textarea:focus-visible,main summary:focus-visible{outline-color:var(--accent)}
::selection{background:var(--tint);color:var(--text)}

/* sections */
main section{background:var(--bg);color:var(--text)}
body main section.pale{background:var(--alt);color:var(--text)}
body main .request-section{background:var(--card);border-block:1px solid var(--line)}
.bit{background:linear-gradient(90deg,#CDBF9F 0 100%)}
.scroll-progress{background:var(--cta)}

/* hero */
body .hero .kicker{color:var(--accent)}
body .hero .kicker::before{background:var(--cta)}
body .hero--home h1 em{color:var(--accent-2)}
body .hero p.sub{color:var(--muted)}
body .hero-note{color:var(--muted)}
body .hero-note .check{color:var(--accent)}
body .anchor-nav{border-color:var(--line)}
body .anchor-nav a{color:var(--muted)}
body .anchor-nav a span{color:var(--accent)}
body .anchor-nav a:hover{color:var(--text)}
body .hero-status{border-color:var(--line)}
body .hero-status div{background:var(--card);color:var(--muted);border-color:var(--line)}
body .hero-status strong{color:var(--text)}
body .crumbs,body .crumbs a{color:var(--muted)}
body .crumbs li:not(:last-child)::after{color:#B3AA97}
body .crumbs a:hover{color:var(--accent)}
body .page-toc{border-color:var(--line)}
body .page-toc a{color:var(--muted)}
body .page-toc a:hover{color:var(--accent)}

/* buttons: filled gold only for call actions */
body .button.primary,body .callbig,body .bar .c,body .drawer .dcall,body .navtel{background:var(--cta);color:var(--text)}
body .button.primary:hover,body .callbig:hover,body .bar .c:hover,body .drawer .dcall:hover,body .navtel:hover{background:var(--cta-hover);color:var(--text)}
body main .button.secondary{background:var(--card);border-color:var(--line-2);color:var(--text)}
body main .button.secondary:hover{border-color:var(--accent);color:var(--accent)}
body main .button.light{background:var(--card);border:1px solid var(--line-2);color:var(--text)}
body main .button.ghost{background:transparent;border-color:transparent;color:var(--accent);padding-inline:6px}
body main .calltext{background:var(--card);border-color:var(--line-2);color:var(--text)}
body main .calltext:hover{border-color:var(--accent);color:var(--accent)}
body main .chips li{border-color:var(--line-2);color:var(--muted);background:var(--card)}
body main .chips li b{color:var(--text)}

/* text helpers, lists, tags */
body main .dim,body main section.pale .dim{color:var(--muted)}
body main .svcs,body main .svcs li,body main section.pale .svcs,body main section.pale .svcs li{border-color:var(--line)}
body main .svcs .d,body main section.pale .svcs .d{color:var(--muted)}
body main .svcs a{color:var(--text)}
body main .svcs a:hover .t{color:var(--accent)}
body main .tags a,body main section.pale .tags a{background:var(--card);border-color:var(--line-2);color:var(--text)}
body main .tags a:hover,body main section.pale .tags a:hover{border-color:var(--accent);color:var(--accent)}
body main .section-heading p,body main .pale .section-heading p{color:var(--muted)}
body main .section-number,body main .pale .section-number{color:var(--accent)}
body main .steps li::before{border-color:var(--accent);color:var(--accent)}
body main .panel{background:var(--card);border-color:var(--line)}

/* service cards: 4 columns, icons, no numbers */
body .service-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
body .service-cards li:last-child{grid-column:auto}
body .service-card,body .service-cards li:last-child .service-card{display:flex;flex-direction:column;gap:0;min-height:200px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 0 #00000008}
body .service-card:hover{border-color:var(--cta);box-shadow:0 12px 28px #2a22100f}
body .service-card h3{font-size:20px;margin:0 0 8px}
body .service-card p{color:var(--muted);font-size:15px}
.svc-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--tint);color:var(--accent);margin-bottom:22px;flex:none}
.svc-icon svg{width:24px;height:24px}
.service-card .card-go{margin-top:auto;padding-top:16px;font-size:14px;font-weight:800;color:var(--accent)}
body .service-card--cta{background:var(--text)!important;border-color:var(--text)!important;color:#F8F6EF!important}
body .service-card--cta h3{color:#F8F6EF}
body .service-card--cta p{color:#CFC9BA}
body .service-card--cta .svc-icon{background:#2B2C27;color:var(--cta)}
body .service-card--cta .card-go{color:var(--cta)}

/* home hero quick picks */
.quick-picks{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 24px 60px #2a22100d}
.quick-picks .summary-label{margin:0 0 14px}
.pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;margin:0;padding:0}
.pick{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);text-decoration:none;color:var(--text)!important;transition:border-color .18s,transform .18s,background .18s}
.pick:hover{border-color:var(--cta);background:var(--tint);transform:translateY(-2px)}
.pick .svc-icon{width:40px;height:40px;border-radius:10px;margin-bottom:10px}
.pick .svc-icon svg{width:22px;height:22px}
.pick b{font-size:16px;line-height:1.25}
.pick span{font-size:13.5px;color:var(--muted);line-height:1.4}
.pick-more{display:inline-block;margin-top:14px;font-size:14px;font-weight:800}
.hero-actions .button.ghost{min-height:52px}

/* request form */
body main .request-form legend{color:var(--text)}
body main .choice span{background:var(--card);border-color:var(--line-2);color:var(--text)}
body main .choice input:checked+span{background:var(--tint);border-color:var(--accent);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}
body main .choice input:focus-visible+span{outline-color:var(--accent)}
body main .field small{color:var(--muted)}
body main .field input,body main .field select,body main .field textarea,body main .filter-input{background:var(--card);border-color:#BDB4A2;color:var(--text)}
body main .field input::placeholder,body main .field textarea::placeholder{color:#8C877B}
body main .autocomplete>button{color:var(--accent)}
body main .autocomplete-list{background:var(--card);border-color:var(--line-2);box-shadow:0 14px 35px #2a221020}
body main .autocomplete-list [role=option]{color:var(--text)}
body main .autocomplete-list [role=option][aria-selected=true],body main .autocomplete-list [role=option]:hover{background:var(--tint);color:var(--text)}
body main .autocomplete-status,body main .autocomplete-empty{color:var(--muted)}
body main .request-form [aria-invalid="true"]{border-color:var(--error);outline-color:var(--error)}
body main .request-form .field-error{color:var(--error)}
body main .form-feedback{color:var(--error)}
body main .request-notice{background:var(--tint);border-color:var(--cta)}
body main .request-summary{background:var(--alt);border-color:var(--line)}
body main .request-summary-top{border-color:var(--line)}
body main .request-summary-top p{color:var(--muted)}
body main .request-summary ol{color:var(--text)}
body main .request-preview{background:var(--card);border-color:var(--line);color:var(--text)}
body main .request-help{color:var(--muted)}
body main .summary-label{color:var(--accent)}
body main .form-progress i{background:var(--line-2)}
body main .form-progress i.done{background:var(--cta)}

/* key explorer */
body main .key-tab{background:var(--card);border-color:var(--line-2);color:var(--text)}
body main .key-tab[aria-selected=true]{background:var(--tint);border-color:var(--accent)}
body main .key-panel{background:var(--card);border-color:var(--line)}
body main .key-panel p,body main .key-panel li{color:#3F3D37}

/* coverage */
body main .region-finder,body main .county-card{background:var(--card);border-color:var(--line)}
body main .region-finder .filter-input{background:var(--bg)}
body main .county-card .tags a{background:var(--bg);border-color:var(--line)}
body main .county-card p,body main .region-count{color:var(--muted)}
.county-card .tags li.minor{display:none}
.more-towns{font-size:13.5px;color:var(--muted);margin:10px 0 0}
[data-coverage]:has([data-region-query]:not(:placeholder-shown)) .county-card .tags li.minor:not([hidden]),
[data-coverage]:has([data-region-county] option:checked:not([value=""])) .county-card .tags li.minor:not([hidden]){display:block}
[data-coverage]:has([data-region-query]:not(:placeholder-shown)) .more-towns,
[data-coverage]:has([data-region-county] option:checked:not([value=""])) .more-towns{display:none}
body main .no-results{border-color:var(--line-2)}

/* misc blocks */
body main .local-banner{background:var(--card);border-color:var(--line)}
body main .local-banner p{color:var(--text)}
body main .local-notes{border-color:var(--cta)}
body main .proof-strip{border-color:var(--line)}
body main .proof-strip p{color:var(--muted)}
body main .price-factor{border-color:#CDBF9F}
body main .price-factor p{color:var(--muted)}
body main .faq-item{border-color:var(--line)}
body main .faq-item summary{color:var(--text)}
body main .faq-item summary::after{color:var(--accent)}
body main .faq-item p{color:var(--muted)}
body main .contact-card{background:var(--card);border-color:var(--line)}
body main .contact-card p{color:var(--muted)}

/* mobile bar, back-to-top, drawer */
body .bar{background:rgba(251,250,246,.97);border-top-color:var(--line)}
body .bar .t,body .bar button.t{background:var(--card);border-color:var(--line-2);color:var(--text)}
body .back-top{background:var(--text);color:#F8F6EF;box-shadow:0 4px 16px #0003}
body .scrim{background:rgba(29,30,27,.45)}
body .drawer,body .drawer .dhead{background:var(--card);border-color:var(--line);color:var(--text)}
body .drawer .dhead b{color:var(--text)}
body .closebtn{color:var(--text);border-color:var(--line-2)}
body .drawer .dtext{border-color:var(--line-2);color:var(--text)}
body .drawer h5{color:var(--muted)}
body .drawer nav li{border-color:var(--line)}
body .drawer nav a{color:var(--text)}
body .drawer nav a:hover,body .drawer nav a[aria-current="page"]{color:var(--accent)}
body .drawer nav a[aria-current="page"]::before{background:var(--cta)}
body .drawer .dfoot{color:var(--muted);border-color:var(--line)}
body .drawer .dfoot a{color:var(--accent)}

@media(max-width:1100px){body .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}body .service-cards li:last-child{grid-column:auto}}
@media(max-width:600px){
  body .service-cards{grid-template-columns:1fr}
  body .service-card,body .service-cards li:last-child .service-card{min-height:0;padding:20px;flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:16px}
  body .service-card .svc-icon{margin-bottom:0}
  body .service-card h3{flex:1;margin:0;font-size:19px}
  body .service-card p{flex-basis:100%;margin-top:8px}
  body .service-card .card-go{display:none}
  .quick-picks{padding:16px;border-radius:14px}
  .pick{padding:13px}
  .pick span{display:none}
}
/* non-call primary actions (form submit, email draft) use ink, not gold */
body main .request-section .button.primary{background:var(--text);color:#F8F6EF}
body main .request-section .button.primary:hover{background:#34352F;color:#fff}
body .service-card,body .service-cards li:last-child .service-card{align-items:flex-start;text-align:left}
