:root{color-scheme:light}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;flex-shrink:0;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:24px;padding:8px 12px;font-size:12px;cursor:pointer}.theme-icon{font-size:21px;line-height:1}.theme-toggle:hover{border-color:#9b8258;background:#eee8de}
html[data-theme="dark"]{--paper:#202020;--ink:#f4f0e8;--muted:#c9c1b5;--line:#575149;color-scheme:dark}
html[data-theme="dark"] body{background:#202020;color:#f4f0e8}
/* 25% transparent header background; logo and navigation stay fully opaque. */
header{background:rgba(255,255,255,.75)}
html[data-theme="dark"] header{background:rgba(41,40,39,.75);color:#f4f0e8;border-color:#575149}
html[data-theme="dark"] :is(.mobile-nav,.skip,.calc-main,.heat-comparison article){background:#292827;color:#f4f0e8;border-color:#575149}
html[data-theme="dark"] :is(.trustbar,.services-section,.water-section,.about-band,.cta,.prep,.draft-note,.inquiry,.source-grid a,.calc-aside,.calc-promo){background:#302e2a;color:#f4f0e8;border-color:#575149}
html[data-theme="dark"] :is(.eyebrow,.index,.steps article>span){color:#d6c09b}
html[data-theme="dark"] :is(h1 em,h2 em){color:#d6c09b}
html[data-theme="dark"] .water-copy p{color:#c9c1b5}
html[data-theme="dark"] :is(.services-list,.service-row,.arrow,.steps article,.check-list li,.related a,.heat-faq details,.trustbar a){border-color:#665c4b}
html[data-theme="dark"] :is(.service-row:hover,.related a:hover,.theme-toggle:hover){background:#3a352d}
html[data-theme="dark"] :is(input,select,textarea,.calc-main input[type=number]){background:#202020;color:#f4f0e8;border-color:#766d5f}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#bfb6a8}
html[data-theme="dark"] :is(input,select,textarea):focus{border-color:#d6c09b}
html[data-theme="dark"] :is(.menu-button,.text-button){color:#f4f0e8}
html[data-theme="dark"] .text-button{border-color:#c6b18b}
html[data-theme="dark"] :is(.button.dark,.cta .button){background:#c6b18b;color:#262626}
html[data-theme="dark"] :is(.button.dark,.cta .button):hover{background:#d8c6a5}
html[data-theme="dark"] .calc-progress li[aria-current]{color:#d6c09b;border-color:#d6c09b}
html[data-theme="dark"] .calc-options label:has(input:checked){border-color:#c6b18b;background:#3a352d;box-shadow:inset 3px 0 #c6b18b}
html[data-theme="dark"] .calc-options input{accent-color:#c6b18b}
html[data-theme="dark"] #selection-error{color:#ffb5a8}
html[data-theme="dark"] :focus-visible{outline-color:#d6c09b}
@media(min-width:901px) and (max-width:1250px){.head nav,.desktop-contact{display:none}.menu-button{display:block}.theme-toggle{margin-left:auto}}
@media(max-width:900px){.theme-toggle{margin-left:auto}.head{gap:12px}}
@media(max-width:600px){.theme-label{display:none}.theme-toggle{padding:8px;min-width:40px}.head{gap:8px}.head .brand strong{font-size:22px}.head .brand small{font-size:7px;letter-spacing:.7px}.menu-button{padding-left:0}.menu-button span{padding-left:3px}}

.scroll-top {
  position: fixed;
  z-index: 19;
  right: calc(16px + env(safe-area-inset-right));
  bottom: calc(var(--dock-height, 0px) + 16px);
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 4px;
  border: 0;
  border-radius: 50%;
  background: conic-gradient(var(--scroll-ring-accent, #886b40) var(--scroll-progress, 0%), var(--line) 0);
  color: var(--ink);
  box-shadow: 0 2px 10px #0003;
  cursor: pointer;
}
.scroll-top[hidden] { display: none; }
.scroll-top span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--paper);
}
.scroll-top .direction-arrow { width: 22px; height: 22px; }
.scroll-top:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
html[data-theme="dark"] .scroll-top { --scroll-ring-accent: #d6c09b; }

.footer-bottom > div { flex-wrap: wrap; row-gap: 12px; }
.cookie-info { max-width: 780px; }
.cookie-info h2 { font-size: clamp(24px, 4vw, 34px); margin-top: 1.2em; }
.cookie-info .cookie-note {
  padding: 14px 18px;
  background: var(--paper);
  border-left: 3px solid var(--sage);
}
