/* S073 — Dark DirectionB. Color layer; shared layout and photo motion are retained. */
:root {
  --s073-bg: #12161a;
  --s073-ink: #eef2f4;
  --s073-accent: #f0a92e;
  --s073-surface: #1a2026;
  --s073-muted: #a9b7c0;
  --s073-line: #323d47;
  --s073-control: #687b89;
  --s073-error: #ffadad;
  --muted: var(--s073-muted);
  color-scheme: dark;
}
.theme-s073 { background: var(--s073-bg); color: var(--s073-ink); }
.theme-s073 ::selection { background: var(--s073-accent); color: var(--s073-bg); }
.theme-s073 :is(a,button,summary,input,select,textarea):focus-visible {
  outline-color: var(--s073-accent);
}
.theme-s073 :is(.site-header,.site-header nav,.skip) {
  background: var(--s073-bg); border-color: var(--s073-line);
}
.theme-s073 :is(.mega,.small-menu) {
  background: var(--s073-surface); border-color: var(--s073-line);
  box-shadow: 0 15px 30px #0005;
}
.theme-s073 :is(.roof-mark,.mega .safety-menu) { border-color: var(--s073-accent); }
.theme-s073 .menu-toggle {
  background: var(--s073-surface); color: var(--s073-ink); border-color: var(--s073-control);
}
.theme-s073 .progress { background: var(--s073-accent); }
.theme-s073 :is(.languages [aria-current],.mega .safety-menu p,.location,.priority-services .location,.step-number,.scramble-box) {
  color: var(--s073-accent);
}
.theme-s073 :is(.site-header nav>a:not(.button),.mega a,.small-menu a,.footer-grid a:not(.brand)):hover {
  color: var(--s073-accent);
}
.theme-s073 .button {
  background: var(--s073-surface); color: var(--s073-ink); border-color: var(--s073-control);
}
.theme-s073 .button:hover { background: #27313b; border-color: var(--s073-accent); }
.theme-s073 .button.primary {
  background: var(--s073-accent); color: var(--s073-bg); border-color: var(--s073-accent);
}
.theme-s073 .button.primary:hover { background: #ffc35b; border-color: #ffc35b; }
.theme-s073 .button.white {
  background: var(--s073-surface); color: var(--s073-ink); border-color: #a9b7c0;
}
.theme-s073 .button.white:hover { background: #27313b; border-color: var(--s073-accent); }
.theme-s073 .hero { background: var(--s073-bg); color: var(--s073-ink); }
.theme-s073 .hero--roofer .hero-shade {
  background: linear-gradient(90deg,#12161af5 0%,#12161af0 32%,#12161a20 64%,#12161a08 100%);
}
.theme-s073 .hero .location { color: var(--s073-ink); }
.theme-s073 .hero-bottom a { text-shadow: 0 1px 4px #000; }
.theme-s073 .hero-statement { background: var(--s073-surface); }
.theme-s073 :is(.section-head p,.service-card p,.footer-grid p,.footer-bottom,.breadcrumb,.mega p,.photo-note,figcaption,.faq p,.form-note,.safety-parts p) {
  color: var(--s073-muted);
}
.theme-s073 .text-link { border-color: var(--s073-accent); }
.theme-s073 .text-link:hover { color: var(--s073-accent); }
.theme-s073 :is(.photo-link,.decision,.info-panel,.story img.roofer-story,.service-worker img,.gallery img[src*="roofer-"],.specialist-gallery img) {
  background: var(--s073-surface);
}
.theme-s073 :is(.contact-band,.content-columns,.faq details,.credit,.priority-services,.partner-note,.footer-bottom,.safety-parts article) {
  border-color: var(--s073-line);
}
.theme-s073 .site-footer { background: var(--s073-bg); }
.theme-s073 :is(input,select,textarea) {
  background: var(--s073-bg); color: var(--s073-ink); border-color: var(--s073-control);
  accent-color: var(--s073-accent);
}
.theme-s073 :is(input,textarea)::placeholder { color: var(--s073-muted); opacity: 1; }
.theme-s073 dialog { background: var(--s073-surface); color: var(--s073-ink); }
.theme-s073 dialog::backdrop { background: #080b0ee6; }
.theme-s073 .close-photo {
  background: var(--s073-bg); color: var(--s073-ink); border-color: var(--s073-control);
}
.theme-s073 .close-photo:hover { border-color: var(--s073-accent); }
.theme-s073 .contact-grid .step-form { background: var(--s073-surface); border-color: var(--s073-line); }
.theme-s073 :is(.form-intro p:not(.location),.step-status,.form-step>p,.field-hint,.summary-group dt) {
  color: var(--s073-muted);
}
.theme-s073 .form-progress li { color: var(--s073-muted); border-color: var(--s073-control); }
.theme-s073 .form-progress [aria-current] { color: var(--s073-accent); border-color: var(--s073-accent); }
.theme-s073 .form-progress .is-complete { border-color: var(--s073-accent); }
.theme-s073 .work-choice input { accent-color: var(--s073-accent); }
.theme-s073 .work-choice label { border-color: var(--s073-control); }
.theme-s073 .work-choice label:hover { background: #27313b; }
.theme-s073 .work-choice input:checked+label { background: #332b1d; border-color: var(--s073-accent); }
.theme-s073 .work-choice input:focus-visible+label { outline-color: var(--s073-accent); }
.theme-s073 :is(.form-navigation,.summary-group) { border-color: var(--s073-line); }
.theme-s073 .form-error { color: var(--s073-error); }
.theme-s073 .step-form [aria-invalid=true]:not([type=radio]) { border-color: var(--s073-error); }
.theme-s073 :is(.step-form #form-status:not(:empty),.urgent-note) {
  background: var(--s073-bg); border-color: var(--s073-accent);
}
.theme-s073 .summary-edit { color: var(--s073-accent); }
@media(max-width:1100px) {
  .theme-s073 :is(.mega,.small-menu) { border-left-color: var(--s073-accent); box-shadow: none; }
}

/* One final title phrase in amber; falls back to inherited ink in light mode. */
.theme-s073 .title-accent { color: var(--s073-accent); }

/* One static roof-plan layer: content scrolls above it; no motion or pointer capture. */
body.theme-s073{position:relative;isolation:isolate}
body.theme-s073::before{
 content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
 background-image:url('assets/roof-plan.svg');background-repeat:no-repeat;
 background-position:center;background-size:max(1500px,145vw) auto;
 mask-image:radial-gradient(ellipse 90% 42% at 65% 55%,#000 24%,#0009 58%,transparent 90%);
 opacity:.23;
}
/* Translucent statement band lets the fixed drawing remain behind the content. */
.theme-s073 .hero-statement{background:#1b2228a8}
@media(max-width:600px){body.theme-s073::before{background-size:1000px auto;background-position:center;mask-image:radial-gradient(ellipse 130% 38% at 65% 52%,#000 25%,transparent 90%);opacity:.2}}

.theme-s073 .wordmark-initials{color:var(--s073-accent)}
