:root{
  --theme-body:#25394f;--theme-header:#13263b;--theme-hero:#183755;
  --theme-panel:#29455f;--theme-panel-hover:#355570;--theme-text:#edf3fa;
  --theme-muted:#becfe1;--theme-line:#627d98;--theme-accent:#ff9659;
  --theme-accent-hover:#ffb185;--theme-on-accent:#182536;
  --theme-gallery:#a8bed3;--theme-gallery-text:#172c43;--theme-gallery-muted:#304b65;
}
:root[data-theme="graphite"]{
  --theme-body:#2c3035;--theme-header:#191d22;--theme-hero:#242b32;--theme-panel:#343c45;
  --theme-panel-hover:#424d58;--theme-text:#f0f2f4;--theme-muted:#c3cbd3;--theme-line:#75818f;
  --theme-accent:#efcb68;--theme-accent-hover:#f6dd97;--theme-on-accent:#24251f;
  --theme-gallery:#adb5bc;--theme-gallery-text:#202a33;--theme-gallery-muted:#33434f;
}
:root[data-theme="blueprint"]{
  --theme-body:#173553;--theme-header:#10273e;--theme-hero:#1b4269;--theme-panel:#234b71;
  --theme-panel-hover:#305c84;--theme-text:#eef6ff;--theme-muted:#c5d9ed;--theme-line:#7299bc;
  --theme-accent:#93d6f1;--theme-accent-hover:#b4e6fa;--theme-on-accent:#112d45;
  --theme-gallery:#b6cde1;--theme-gallery-text:#18324b;--theme-gallery-muted:#304c66;
}
:root[data-theme="brick"]{
  --theme-body:#39302e;--theme-header:#261f20;--theme-hero:#492e2b;--theme-panel:#4b3b37;
  --theme-panel-hover:#5a4540;--theme-text:#faf0e9;--theme-muted:#d8c7bc;--theme-line:#9b7f73;
  --theme-accent:#f3a28b;--theme-accent-hover:#fac0ad;--theme-on-accent:#38251f;
  --theme-gallery:#c9b4a6;--theme-gallery-text:#352820;--theme-gallery-muted:#503e32;
}
:root[data-theme="concrete"]{
  --theme-body:#c9cdd0;--theme-header:#b7bec4;--theme-hero:#bfc7ce;--theme-panel:#dce0e3;
  --theme-panel-hover:#e6eaed;--theme-text:#1d2d3b;--theme-muted:#3e5060;--theme-line:#718392;
  --theme-accent:#253f58;--theme-accent-hover:#365571;--theme-on-accent:#f3f7fa;
  --theme-gallery:#aab5be;--theme-gallery-text:#1b2d3c;--theme-gallery-muted:#324959;
}
:root[data-theme="copper"]{
  --theme-body:#352d2b;--theme-header:#241f1e;--theme-hero:#422f28;--theme-panel:#493a32;
  --theme-panel-hover:#58453b;--theme-text:#f8eee5;--theme-muted:#d6c7ba;--theme-line:#9a806b;
  --theme-accent:#eeb18b;--theme-accent-hover:#f6c9ac;--theme-on-accent:#34261d;
  --theme-gallery:#c1aa96;--theme-gallery-text:#30261f;--theme-gallery-muted:#49392c;
}
body{--paper:var(--theme-text);--muted:var(--theme-muted);--line:var(--theme-line);--accent:var(--theme-accent);color:var(--theme-text);background-color:var(--theme-body)}
.preview-bar,.site-header,.site-header nav,footer{background:var(--theme-header);color:var(--theme-text);border-color:var(--theme-line)}
.preview-bar,.footer-top>p,.footer-bottom{color:var(--theme-muted)}
.hero{background-color:var(--theme-hero);background-image:linear-gradient(90deg,var(--theme-hero),color-mix(in srgb,var(--theme-hero) 92%,transparent)),url('assets/woodwork.jpg');border-color:var(--theme-line)}
.hero .intro,.hero-note,.contact-copy>p:not(.eyebrow),.contact-placeholder,.preview-note p,.optional,.form-privacy,.form-result p{color:var(--theme-muted)}
.hero-note strong,.hero .text-link,.service-ribbon,.site-header .menu-toggle{color:var(--theme-text)}
.hero .eyebrow,.approach .eyebrow,.faq-section .eyebrow,#services .eyebrow,.contact-section .eyebrow,.service-card a,.steps article>span{color:var(--theme-accent)}
.button,.contact-section .button-light,.visual-stamp,.expand-icon,.dialog-close,.skip-link{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}
.button:hover,.contact-section .button-light:hover{background:var(--theme-accent-hover);border-color:var(--theme-accent-hover)}
nav>a:not(.button):hover{color:var(--theme-accent)}
.service-card{background:var(--theme-panel);border-color:var(--theme-line)}
.service-card:hover{background:var(--theme-panel-hover);border-color:var(--theme-accent)}
.service-card svg{stroke:var(--theme-accent)}
.service-number{color:var(--theme-muted)}
.service-ribbon{border-color:var(--theme-line)}
.service-ribbon>span:nth-child(even){color:var(--theme-accent)}
.text-link,.preview-note,.site-header .menu-toggle{border-color:var(--theme-line)}
.image-label,.photo-tag{background:var(--theme-header);color:var(--theme-text)}
.projects-section{--muted:var(--theme-gallery-muted);background-color:var(--theme-gallery);background-image:repeating-linear-gradient(2deg,#1d42610b 0 1px,transparent 1px 11px);color:var(--theme-gallery-text)}
.project-card,.filter{color:var(--theme-gallery-text)}
.filter{border-color:var(--theme-gallery-muted)}
.filter.active{background:var(--theme-header);border-color:var(--theme-header);color:var(--theme-text)}
.approach{background:radial-gradient(ellipse at top left,color-mix(in srgb,var(--theme-accent) 8%,transparent),transparent 70%)}
.contact-section{background-color:var(--theme-header);background-image:linear-gradient(90deg,color-mix(in srgb,var(--theme-header) 94%,transparent),var(--theme-header)),url('assets/woodwork.jpg');border-color:var(--theme-accent);color:var(--theme-text)}
.contact-section input,.contact-section textarea,.contact-section select,.contact-section select option{background:var(--theme-panel);color:var(--theme-text);border-color:var(--theme-line)}
input::placeholder,textarea::placeholder{color:var(--theme-muted)}
.form-result{border-color:var(--theme-line)}
dialog{background:var(--theme-panel);color:var(--theme-text)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline-color:var(--theme-accent)}
#theme-trigger{position:fixed;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:10px;border:1px solid var(--theme-line);border-radius:30px;padding:12px 18px;background:var(--theme-header);color:var(--theme-text);box-shadow:0 5px 25px #0005;font:600 12px 'DM Sans',sans-serif}
.theme-dot{width:17px;height:17px;border:2px solid var(--theme-text);border-radius:50%;background:var(--theme-accent)}
#theme-picker{position:fixed;inset:auto 22px 80px auto;margin:0;width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px);overflow:auto;padding:26px;border:1px solid var(--theme-line);border-radius:14px;box-shadow:0 20px 80px #0007}
#theme-picker::backdrop{background:#07101c66}
#theme-picker>.theme-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px;padding:0}
#theme-picker h2{font-size:24px;letter-spacing:-.7px}
#theme-close{background:transparent;border:1px solid var(--theme-line);border-radius:50%;color:var(--theme-text);font-size:22px;width:34px;height:34px;flex-shrink:0;line-height:1}
#theme-picker>p{font-size:12px;color:var(--theme-muted)}
.theme-options{border:0;padding:0;margin:20px 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.theme-choice{display:grid;grid-template-columns:34px 1fr 16px;align-items:center;gap:10px;border:1px solid var(--theme-line);border-radius:8px;padding:12px;margin:0;cursor:pointer;color:var(--theme-text)}
.theme-choice:has(input:checked){border:2px solid var(--theme-accent);padding:11px;background:color-mix(in srgb,var(--theme-accent) 8%,transparent)}
.theme-choice:focus-within{outline:2px solid var(--theme-accent);outline-offset:3px}
.theme-choice strong{font-size:12px;font-weight:600;display:block}.theme-choice small{display:block;font-size:9px;color:var(--theme-muted);font-weight:400;margin-top:2px}
.theme-choice input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--theme-accent)}
.theme-swatch{height:38px;border-radius:5px;border:1px solid #ffffff50;box-shadow:inset 0 0 12px #0002}
.swatch-steel{background:linear-gradient(135deg,#183755 60%,#ff9659 60%)}.swatch-graphite{background:linear-gradient(135deg,#242b32 60%,#efcb68 60%)}.swatch-blueprint{background:linear-gradient(135deg,#1b4269 60%,#93d6f1 60%)}.swatch-brick{background:linear-gradient(135deg,#492e2b 60%,#f3a28b 60%)}.swatch-concrete{background:linear-gradient(135deg,#bfc7ce 60%,#253f58 60%)}.swatch-copper{background:linear-gradient(135deg,#422f28 60%,#eeb18b 60%)}
#theme-feedback{min-height:38px;margin-bottom:0}
footer{padding-bottom:65px}
@media(max-width:600px){#theme-trigger{right:16px;bottom:16px;padding:11px 15px}#theme-picker{right:16px;bottom:72px;padding:20px}.theme-options{gap:8px}.theme-choice{gap:7px;padding:10px;grid-template-columns:25px 1fr 14px}.theme-choice:has(input:checked){padding:9px}.theme-choice small{font-size:8px}.theme-swatch{height:34px}.theme-choice input{width:14px;height:14px}}
