/* SP Mecano V3.66 — subtle Halloween details + burnt orange.
   Presentation only. Classic colours remain in the original stylesheets.
   Small background details only. No photo overlays, animation or added fonts. */
.spm-seasonal { display:none; }
html[data-spm-theme="halloween"] {
  --bg:#0c0d0e;
  --bg-soft:#101112;
  --panel:#141516;
  --panel2:#191a1b;
  --panel3:#202122;
  --text:#f1f0ed;
  --muted:#aba9a5;
  --muted2:#85817c;
  --gold:#b4532a;
  --gold2:#c16b42;
  --goldline:rgba(193,107,66,.30);
  --line:rgba(255,255,255,.10);
  --spm-orange:#b4532a;
  --spm-orange-hover:#a14924;
  --spm-accent-text:#c16b42;
  --spm-heading-accent:#b85a2b;
  --spm-border:#2b2c2d;
  --spm-soft-accent:rgba(180,83,42,.08);
}
/* Neutral surfaces, without gold/purple glows or coloured gradients. */
html[data-spm-theme="halloween"] body::before,
html[data-spm-theme="halloween"] .hero-glow { display:none; }
html[data-spm-theme="halloween"] .site-header,
html[data-spm-theme="halloween"] .site-header.scrolled {
  background:rgba(12,13,14,.97);
  border-bottom-color:var(--spm-border);
}
html[data-spm-theme="halloween"] .site-header .brand-logo img { filter:none; }
html[data-spm-theme="halloween"] .progress { background:var(--spm-orange); }
html[data-spm-theme="halloween"] .hero,
html[data-spm-theme="halloween"] .service-hero { background:var(--bg); }
html[data-spm-theme="halloween"] .hero-copy h1 span,
html[data-spm-theme="halloween"] .service-hero-copy h1 span { color:var(--spm-heading-accent); }
html[data-spm-theme="halloween"] .hero-copy > .eyebrow,
html[data-spm-theme="halloween"] .service-hero-copy > .eyebrow {
  color:#b9b4ae;
  font-weight:750;
}
html[data-spm-theme="halloween"] .hero-lead,
html[data-spm-theme="halloween"] .service-lead { color:#bebcb8; }
/* Compact seasonal label; it scrolls normally, never over the menu. */
html[data-spm-theme="halloween"] .spm-season-bar {
  display:block;
  background:var(--bg);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.spm-season-bar-inner {
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:8px;
  padding-bottom:8px;
}
.spm-season-label {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#b3ada7;
  font-size:.625rem;
  line-height:1.6;
  letter-spacing:.13em;
  font-weight:700;
  text-align:center;
}
.spm-season-label::before {
  content:"";
  display:block;
  flex:0 0 20px;
  width:20px;
  height:2px;
  background:var(--spm-orange);
}
/* Solid burnt-orange calls to action. White text, no glow or lift effect. */
html[data-spm-theme="halloween"] .btn {
  border-radius:10px;
  font-weight:750;
}
html[data-spm-theme="halloween"] .btn:hover { transform:none; }
html[data-spm-theme="halloween"] .btn-gold {
  background:var(--spm-orange);
  border-color:var(--spm-orange);
  box-shadow:none;
  color:#fff;
}
html[data-spm-theme="halloween"] .btn-gold:hover:not(:disabled) {
  background:var(--spm-orange-hover);
  border-color:var(--spm-orange-hover);
}
html[data-spm-theme="halloween"] .btn-dark {
  background:#1a1b1c;
  border-color:#353536;
}
html[data-spm-theme="halloween"] .btn-outline {
  color:#dedbd6;
  border-color:#3b3632;
  background:transparent;
}
html[data-spm-theme="halloween"] .btn-outline:hover {
  border-color:var(--spm-accent-text);
  background:var(--spm-soft-accent);
  color:#fff;
}
html[data-spm-theme="halloween"] .lang-toggle,
html[data-spm-theme="halloween"] .menu-button {
  background:#171819;
  color:#e4e1dd;
  border-color:var(--spm-border);
  border-radius:10px;
}
html[data-spm-theme="halloween"] :is(a,button,input,select,textarea,summary):focus-visible {
  outline:2px solid var(--spm-accent-text);
  outline-offset:4px;
}
/* Original photographs remain unobstructed by seasonal decorations. */
html[data-spm-theme="halloween"] .hero-media,
html[data-spm-theme="halloween"] .service-photo {
  border:1px solid #333333;
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}
html[data-spm-theme="halloween"] .service-photo figcaption strong { color:#e9e5df; }
html[data-spm-theme="halloween"] .cta-card,
html[data-spm-theme="halloween"] .service-cta {
  background:var(--panel);
  border-color:var(--spm-border);
  border-radius:18px;
  box-shadow:none;
}
html[data-spm-theme="halloween"] .hero-cta-card > div > .eyebrow {
  color:#b6b0a9;
  font-weight:700;
  letter-spacing:.12em;
}
html[data-spm-theme="halloween"] .portal-install-help {
  font-weight:600;
  text-decoration-color:#59514a;
}
/* Quiet section dividers replace the previous bright centre strokes. */
html[data-spm-theme="halloween"] main > section:not(:last-child) {
  border-bottom:1px solid #28292a;
}
html[data-spm-theme="halloween"] main > section::after { display:none; }
html[data-spm-theme="halloween"] .services-clean-section,
html[data-spm-theme="halloween"] .booking-section,
html[data-spm-theme="halloween"] .financing-section,
html[data-spm-theme="halloween"] .gallery-section { background:var(--bg-soft); }
html[data-spm-theme="halloween"] .service-clean-card,
html[data-spm-theme="halloween"] .service-inclusion,
html[data-spm-theme="halloween"] .service-card,
html[data-spm-theme="halloween"] .related-service,
html[data-spm-theme="halloween"] .financing-card,
html[data-spm-theme="halloween"] .review-score-card,
html[data-spm-theme="halloween"] .area-panel,
html[data-spm-theme="halloween"] .local-area-panel,
html[data-spm-theme="halloween"] .about-logo-card {
  background:var(--panel);
  border-color:var(--spm-border);
  box-shadow:none;
}
html[data-spm-theme="halloween"] .service-clean-card::before { display:none; }
html[data-spm-theme="halloween"] .service-clean-number {
  border-color:var(--goldline);
  background:transparent;
}
html[data-spm-theme="halloween"] .service-clean-card:hover,
html[data-spm-theme="halloween"] .service-inclusion:hover,
html[data-spm-theme="halloween"] .related-service:hover,
html[data-spm-theme="halloween"] .google-review-card:hover,
html[data-spm-theme="halloween"] .manual-google-summary:hover { border-color:var(--goldline); }
html[data-spm-theme="halloween"] .local-area-list li,
html[data-spm-theme="halloween"] .same-system,
html[data-spm-theme="halloween"] .address-current,
html[data-spm-theme="halloween"] .google-live-badge,
html[data-spm-theme="halloween"] .google-full-review-link,
html[data-spm-theme="halloween"] .new-client-time-count { background:var(--spm-soft-accent); }
html[data-spm-theme="halloween"] .google-full-review-link:hover { background:rgba(180,83,42,.12); }
html[data-spm-theme="halloween"] .reputation-podcast,
html[data-spm-theme="halloween"] .podcast-video-shell { border-color:var(--spm-border); }
html[data-spm-theme="halloween"] .service-icon,
html[data-spm-theme="halloween"] .metric-card > span {
  background:var(--spm-soft-accent);
  border-color:var(--goldline);
}
/* Preserve all booking behaviour; only selected/focus colours change. */
html[data-spm-theme="halloween"] .booking-shell {
  background:var(--panel);
  border-color:var(--spm-border);
  box-shadow:none;
}
html[data-spm-theme="halloween"] .booking-side { background:#111213; }
html[data-spm-theme="halloween"] .booking-client-card {
  border-color:#353536!important;
  background:#171819!important;
}
html[data-spm-theme="halloween"] .booking-client-card.active {
  background:#211a16!important;
  border-color:var(--spm-orange)!important;
  color:#fff!important;
  box-shadow:none!important;
}
html[data-spm-theme="halloween"] .booking-client-card.active small { color:#c8bdb6!important; }
html[data-spm-theme="halloween"] .booking-client-card.active .booking-client-icon {
  border-color:var(--spm-orange);
  background:var(--spm-orange);
  color:#fff;
}
html[data-spm-theme="halloween"] input:focus,
html[data-spm-theme="halloween"] select:focus,
html[data-spm-theme="halloween"] textarea:focus {
  border-color:var(--spm-accent-text);
  box-shadow:0 0 0 3px rgba(180,83,42,.12);
}
html[data-spm-theme="halloween"] .urgency input:checked + span,
html[data-spm-theme="halloween"] .new-vehicle-option:has(input:checked) {
  background:var(--spm-soft-accent);
  box-shadow:inset 0 0 0 1px var(--goldline);
}
html[data-spm-theme="halloween"] .new-vehicle-suggestion { border-color:var(--goldline); }
html[data-spm-theme="halloween"] .new-vehicle-suggestion:hover,
html[data-spm-theme="halloween"] .new-vehicle-suggestion:focus-visible { background:var(--spm-soft-accent); }
html[data-spm-theme="halloween"] .new-client-time-chip:focus-visible {
  box-shadow:0 0 0 3px rgba(180,83,42,.12);
}
html[data-spm-theme="halloween"] .new-client-time-chip.selected,
html[data-spm-theme="halloween"] .new-client-time-chip[aria-pressed="true"] {
  background:var(--spm-orange);
  color:#fff;
  box-shadow:none;
}
html[data-spm-theme="halloween"] .mobile-book,
html[data-spm-theme="halloween"] .service-page .service-mobile-cta {
  background:rgba(12,13,14,.98);
  border-color:var(--spm-border);
}
/* Portal instructions use the same restrained palette. */
html[data-spm-theme="halloween"] .install-modal-dialog {
  background:#111213;
  border-color:var(--spm-border);
}
html[data-spm-theme="halloween"] .install-tab.active {
  border-color:var(--spm-orange);
  background:#211a16;
  color:#fff;
}
html[data-spm-theme="halloween"] .install-device-note,
html[data-spm-theme="halloween"] .install-path-note {
  border-color:var(--goldline);
  background:var(--spm-soft-accent);
}
html[data-spm-theme="halloween"] .install-step-icon { border-color:var(--goldline); }
@media (max-width:680px) {
  .spm-season-bar-inner { min-height:33px; }
  .spm-season-label { font-size:.59rem;letter-spacing:.1em;gap:8px; }
  .spm-season-label::before { width:16px;flex-basis:16px; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-spm-theme="halloween"] { scroll-behavior:auto; }
  html[data-spm-theme="halloween"] .btn { transition:none; }
}
@media (forced-colors:active) {
  html[data-spm-theme="halloween"] .spm-season-label::before { background:CanvasText; }
}

/* V3.66: original corner webs and small bats return to the page background.
   Each scene is behind all content and cannot intercept taps, clicks or focus.
   No decorations are inserted into any photo, card, or booking control. */
html[data-spm-theme="halloween"] .hero,
html[data-spm-theme="halloween"] .service-hero {
  position:relative;
  isolation:isolate;
}
html[data-spm-theme="halloween"] .spm-season-scene { display:block; }
.spm-season-scene {
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
  z-index:-1;
}
.spm-web {
  position:absolute;
  color:#b67c58;
  opacity:.21;
}
.spm-web svg { display:block;width:100%;height:100%; }
.spm-web-right { width:148px;height:148px;right:0;top:0;transform:rotate(90deg); }
.spm-web-left { width:76px;height:76px;left:0;top:0;opacity:.13; }
.spm-bat {
  position:absolute;
  display:block;
  color:#b97850;
  opacity:.29;
}
.spm-bat svg { width:100%;height:auto;display:block; }
.spm-bat-one { width:43px;right:17%;top:18px;transform:rotate(-13deg); }
.spm-bat-two { width:27px;right:11%;top:42px;transform:rotate(10deg);opacity:.21; }
.spm-bat-three { width:24px;right:23%;top:40px;transform:rotate(-20deg);opacity:.17; }
/* The small outline icon belongs to the label, not the work photograph. */
.spm-season-label::before { display:none; }
.spm-season-label > svg {
  display:block;
  width:19px;
  height:19px;
  flex:0 0 19px;
  color:var(--spm-accent-text);
}
/* Shorter service-page header: keep its details above the actual content. */
.service-hero .spm-web-right { width:78px;height:78px; }
.service-hero .spm-web-left { display:none; }
.service-hero .spm-bat-one { width:32px;top:9px;right:14%; }
.service-hero .spm-bat-two { width:22px;top:24px;right:9%; }
.service-hero .spm-bat-three { display:none; }
@media (max-width:1020px) {
  .spm-web-right { width:110px;height:110px; }
  .spm-web-left { width:54px;height:54px;opacity:.10; }
  .spm-bat-one { right:19%;width:36px;top:12px; }
  .spm-bat-two { right:12%;top:31px; }
  .spm-bat-three { display:none; }
}
@media (max-width:680px) {
  /* Dedicated top breathing room keeps decoration away from text on phones. */
  html[data-spm-theme="halloween"] .hero { padding-top:56px; }
  html[data-spm-theme="halloween"] .service-page .service-hero { padding-top:52px; }
  .spm-web-right,
  .service-hero .spm-web-right { width:48px;height:48px;opacity:.24; }
  .spm-web-left { display:none; }
  .spm-bat-one,
  .service-hero .spm-bat-one { right:85px;width:27px;top:12px;opacity:.26; }
  .spm-bat-two,
  .service-hero .spm-bat-two { display:none; }
  .spm-season-label > svg { width:17px;height:17px;flex-basis:17px; }
}
@media (forced-colors:active) {
  html[data-spm-theme="halloween"] .spm-season-scene,
  .spm-season-label > svg { display:none; }
}

@media print {
  .spm-seasonal { display:none!important; }
}

/* V3.67 — Winter Prep homepage promotion */
.winter-prep-promo{padding:clamp(34px,5vw,68px) 0;background:linear-gradient(180deg,rgba(180,83,42,.055),transparent 75%);position:relative}
.winter-prep-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,54px);align-items:center;padding:clamp(18px,2.6vw,30px);border:1px solid rgba(180,83,42,.34);border-radius:24px;background:rgba(18,18,18,.88);box-shadow:0 18px 55px rgba(0,0,0,.22);overflow:hidden}
.winter-prep-media{display:block;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.winter-prep-media img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.winter-prep-copy .eyebrow{margin-bottom:10px}.winter-prep-copy h2{margin:0 0 14px;font-size:clamp(2rem,4vw,3.7rem);line-height:.98}.winter-prep-copy h2 span{color:#b4532a}.winter-prep-copy p{max-width:650px;color:var(--muted);font-size:1.04rem;line-height:1.65;margin:0 0 18px}
.winter-prep-includes{display:grid;gap:9px;margin:0 0 22px;padding:0;list-style:none}.winter-prep-includes li{display:flex;gap:10px;align-items:flex-start;color:#f3eee9}.winter-prep-includes li::before{content:'✓';color:#c8683f;font-weight:900}.winter-prep-note{font-size:.82rem!important;opacity:.8;margin-top:12px!important;margin-bottom:0!important}
@media(max-width:820px){.winter-prep-card{grid-template-columns:1fr;padding:16px}.winter-prep-copy{padding:6px 4px 8px}.winter-prep-copy h2{font-size:clamp(1.9rem,9vw,2.8rem)}}

/* V3.68 — Compact Winter Prep promo */
.winter-prep-promo{padding:clamp(22px,3vw,38px) 0}
.winter-prep-card{grid-template-columns:280px minmax(0,1fr);gap:clamp(22px,3vw,38px);max-width:980px;margin-inline:auto;padding:18px 22px;border-radius:20px}
.winter-prep-media{width:280px;max-width:100%;border-radius:14px;justify-self:center}
.winter-prep-copy h2{font-size:clamp(1.75rem,3vw,2.75rem);margin-bottom:10px}
.winter-prep-copy p{font-size:.98rem;line-height:1.55;margin-bottom:13px}
.winter-prep-includes{gap:6px;margin-bottom:16px}
@media(max-width:820px){
  .winter-prep-promo{padding:22px 0}
  .winter-prep-card{grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:start;padding:13px;border-radius:16px}
  .winter-prep-media{width:112px;border-radius:11px}
  .winter-prep-copy{padding:0}
  .winter-prep-copy .eyebrow{font-size:.68rem;margin-bottom:5px}
  .winter-prep-copy h2{font-size:clamp(1.25rem,5.7vw,1.7rem);line-height:1.03;margin-bottom:7px}
  .winter-prep-copy>p:not(.winter-prep-note){font-size:.82rem;line-height:1.4;margin-bottom:8px}
  .winter-prep-includes{font-size:.78rem;gap:4px;margin-bottom:10px}
  .winter-prep-includes li{gap:6px}
  .winter-prep-copy .btn{padding:9px 12px;font-size:.78rem}
  .winter-prep-note{font-size:.66rem!important;margin-top:7px!important}
}
@media(max-width:480px){
  .winter-prep-card{grid-template-columns:92px minmax(0,1fr);gap:11px;padding:11px}
  .winter-prep-media{width:92px}
  .winter-prep-copy>p:not(.winter-prep-note),.winter-prep-includes{display:none}
  .winter-prep-copy h2{font-size:1.28rem}
}

/* V3.69 — Mini Winter Prep promo: intentionally small, ad-style placement */
.winter-prep-promo{padding:18px 0!important}
.winter-prep-card{grid-template-columns:150px minmax(0,1fr)!important;gap:18px!important;max-width:760px!important;padding:12px 14px!important;border-radius:16px!important}
.winter-prep-media{width:150px!important;border-radius:10px!important}
.winter-prep-copy .eyebrow{font-size:.68rem!important;margin-bottom:4px!important}
.winter-prep-copy h2{font-size:1.55rem!important;line-height:1.05!important;margin-bottom:6px!important}
.winter-prep-copy>p:not(.winter-prep-note){display:none!important}
.winter-prep-includes{font-size:.78rem!important;gap:3px!important;margin-bottom:8px!important}
.winter-prep-includes li{gap:6px!important}
.winter-prep-copy .btn{padding:8px 11px!important;font-size:.76rem!important}
.winter-prep-note{display:none!important}
@media(max-width:600px){
 .winter-prep-promo{padding:12px 0!important}
 .winter-prep-card{grid-template-columns:72px minmax(0,1fr)!important;gap:10px!important;padding:9px!important;max-width:420px!important}
 .winter-prep-media{width:72px!important;border-radius:8px!important}
 .winter-prep-copy .eyebrow{font-size:.56rem!important;margin-bottom:2px!important}
 .winter-prep-copy h2{font-size:1.02rem!important;margin-bottom:5px!important}
 .winter-prep-includes{display:none!important}
 .winter-prep-copy .btn{padding:6px 9px!important;font-size:.68rem!important}
}


/* V3.70 — purpose-built horizontal winter promo card */
.winter-mini{padding:18px 0;background:transparent}
.winter-mini-card{max-width:900px;margin:0 auto;display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:18px;padding:12px 14px;border:1px solid rgba(180,83,42,.30);border-radius:16px;background:#111214;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.winter-mini-thumb{display:block!important;width:92px!important;height:72px!important;max-width:92px!important;min-width:92px!important;object-fit:cover!important;object-position:center 42%;border-radius:10px;margin:0!important}
.winter-mini-copy{min-width:0}.winter-mini-kicker{font-size:.64rem;line-height:1;font-weight:800;letter-spacing:.14em;color:#b4532a;margin-bottom:5px}.winter-mini-copy h2{font-size:1.18rem!important;line-height:1.1!important;margin:0 0 4px!important}.winter-mini-copy p{font-size:.78rem!important;line-height:1.3!important;color:var(--muted);margin:0!important;white-space:normal}
.winter-mini-action{text-align:right;display:flex;align-items:center;gap:12px}.winter-mini-action strong{font-size:1.18rem;line-height:1;white-space:nowrap}.winter-mini-action small{font-size:.62rem;color:var(--muted);font-weight:600}.winter-mini-action a{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:9px;background:#b4532a;color:#fff;text-decoration:none;font-size:.75rem;font-weight:800;white-space:nowrap}
@media(max-width:680px){.winter-mini{padding:12px 0}.winter-mini-card{grid-template-columns:62px minmax(0,1fr) auto;gap:10px;padding:9px 10px;border-radius:13px}.winter-mini-thumb{width:62px!important;height:54px!important;max-width:62px!important;min-width:62px!important;border-radius:8px}.winter-mini-kicker{font-size:.5rem;margin-bottom:3px}.winter-mini-copy h2{font-size:.92rem!important;margin-bottom:2px!important}.winter-mini-copy p{font-size:.63rem!important;display:block!important}.winter-mini-action{display:block}.winter-mini-action strong{display:block;font-size:.92rem;margin-bottom:5px}.winter-mini-action small{font-size:.52rem}.winter-mini-action a{padding:6px 8px;font-size:.62rem;border-radius:7px}}
@media(max-width:430px){.winter-mini-card{grid-template-columns:54px minmax(0,1fr) auto;gap:8px}.winter-mini-thumb{width:54px!important;height:50px!important;max-width:54px!important;min-width:54px!important}.winter-mini-copy p{display:none!important}.winter-mini-action strong{font-size:.84rem}.winter-mini-action a{font-size:.58rem;padding:6px 7px}}
