/* Category palettes are scoped to page content; the Riccolo header retains its green accents. */
.service-theme.theme-av{--service-accent:#d6bdff;--service-panel:#271e35;--service-panel-hover:#342747;--service-border:#65517d;--service-ink:#21132e}
.service-theme.theme-smart{--service-accent:#a4dfd6;--service-panel:#19332f;--service-panel-hover:#244740;--service-border:#4e8278;--service-ink:#102c27}
.service-theme.theme-security{--service-accent:#acd5ff;--service-panel:#192a3e;--service-panel-hover:#233b55;--service-border:#46698c;--service-ink:#102438}
.service-theme.theme-lighting-control{--service-accent:#ffe0b5;--service-panel:#382b20;--service-panel-hover:#4a3828;--service-border:#a37d51;--service-ink:#35200e}
.service-theme{--accent:var(--service-accent);--accent-bright:var(--service-accent);--card-bg:var(--service-panel);--muted:#dedee2;--text:#faf8f5;--line:var(--service-border)}
.service-theme .eyebrow,.service-theme .hub-card-link,.service-theme .text-link{color:var(--service-accent)}
.service-theme .service-option,.service-theme .service-hub-card,.service-theme .brand-note,.service-theme .service-options-head,.service-theme .service-hub-head,.service-theme .service-contact-section>.container{background:var(--service-panel);border-color:var(--service-border);box-shadow:0 18px 45px #0003}
.service-theme .service-option:hover,.service-theme .service-hub-card:hover{background:var(--service-panel-hover);border-color:var(--service-accent)}
.service-theme .service-option::before{background:var(--service-accent);opacity:1;width:34px}
.service-theme .service-option h3{font-size:.94rem;letter-spacing:.04em;line-height:1.5}
.service-theme .service-option p,.service-theme .service-hub-card p,.service-theme .brand-note p:not(.eyebrow){font-size:1rem;line-height:1.75;color:var(--muted)}
.service-theme .button.primary{background:var(--service-accent);border-color:var(--service-accent);color:var(--service-ink);text-shadow:none}
.service-theme .button.primary:hover{background:#fff6ed;border-color:#fff6ed;color:var(--service-ink)}
.service-theme a:focus-visible{outline:3px solid var(--service-accent);outline-offset:5px}
.service-theme .service-brief-section.themed-service-hero{isolation:isolate;background:none;padding-top:clamp(330px,36vw,530px);padding-bottom:48px;overflow:hidden}
.service-theme .themed-service-hero .service-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:-2}
.service-theme .service-brief-section.themed-service-hero::before{z-index:-1;background:linear-gradient(180deg,#0006 0%,transparent 26%,#0001 48%,#0b0a0880 82%,#0b0a08 100%)}
.service-theme .themed-service-hero .service-brief{box-sizing:border-box;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:clamp(26px,5vw,72px);row-gap:24px;background:var(--service-panel);border:1px solid var(--service-border);border-top:3px solid var(--service-accent);padding:clamp(24px,3.5vw,46px);box-shadow:0 24px 64px #0005}
.service-theme .themed-service-hero .subpage-back-link{grid-column:1/-1;margin:0;color:var(--service-accent);font-size:.875rem;text-shadow:none;letter-spacing:.05em}
.service-theme .themed-service-hero .eyebrow{color:var(--service-accent);text-shadow:none;font-size:.875rem}
.service-theme .themed-service-hero h1{margin:0;max-width:100%;font-size:clamp(2rem,4vw,3.65rem);line-height:1.12;letter-spacing:-.035em;color:var(--text);text-shadow:none;overflow-wrap:break-word}
.service-theme .themed-service-hero .service-brief-copy{padding-top:0;min-width:0}
.service-theme .themed-service-hero .service-brief-copy p{color:var(--muted);text-shadow:none;margin-top:0;font-size:1.0625rem;line-height:1.8}
.service-theme .service-visual-card{overflow:hidden;padding:0 28px 26px}
.service-theme .service-card-image{display:block;width:calc(100% + 56px);max-width:none;height:210px;object-fit:cover;margin:0 -28px 26px;border-bottom:1px solid var(--service-border);transition:filter .25s ease}
.service-theme .service-visual-card:hover .service-card-image{filter:brightness(1.06)}
@media(max-width:760px){
.service-theme .service-brief-section.themed-service-hero{padding-top:310px;padding-bottom:28px}
.service-theme .themed-service-hero .service-hero-image{height:390px;object-position:var(--image-focus,center)}
.service-theme .service-brief-section.themed-service-hero::before{background:linear-gradient(180deg,#0005,transparent 20%,#0b0a0833 290px,#0b0a08 390px);bottom:auto;height:390px}
.service-theme .themed-service-hero .service-brief{grid-template-columns:1fr;gap:22px;padding:26px 24px}
.service-theme .themed-service-hero h1{font-size:clamp(2rem,8vw,3rem)}
.service-theme .service-card-image{height:190px}
}
@media(prefers-reduced-motion:reduce){.service-theme .service-option,.service-theme .service-hub-card,.service-theme .service-card-image{transition:none;transform:none}}

/* Manufacturer photographs: keep real interfaces intact and clear of text. */
.service-theme.theme-networking{--service-accent:#d6bdff;--service-panel:#271e35;--service-panel-hover:#342747;--service-border:#65517d;--service-ink:#21132e}
.service-theme .service-brief-section.official-photo-hero{padding-top:120px;padding-bottom:42px}
.service-theme .service-brief-section.official-photo-hero::before{display:none}
.service-theme .official-photo-hero .service-hero-image{position:relative;inset:auto;z-index:0;display:block;width:min(var(--max),calc(100% - 48px));height:clamp(320px,43vw,540px);object-fit:contain;object-position:center;margin:0 auto 28px;background:#171a1c;border:1px solid var(--service-border)}
.service-theme .official-photo-hero .service-brief{position:relative}
.service-theme .manufacturer-photo-credit{color:#e0e4e1;font-size:.8125rem;line-height:1.6;margin-top:18px;background:#17231f;padding:12px 18px;border:1px solid var(--service-border)}
.service-theme .rack-photo-hero .service-hero-image{height:clamp(380px,46vw,600px);object-fit:cover;object-position:center 35%}
.service-theme .service-options-head h2{font-size:clamp(1.45rem,2.4vw,2rem)}
@media(max-width:760px){
.service-theme .service-brief-section.official-photo-hero{padding-top:108px;padding-bottom:28px}
.service-theme .official-photo-hero .service-hero-image{height:auto;max-height:480px;object-fit:contain;margin-bottom:22px}
.service-theme .rack-photo-hero .service-hero-image{height:400px;object-fit:cover;object-position:center 35%}
}

.service-theme .service-card-image[src*="official-"]{object-fit:contain;background:#171a1c}
.service-theme .service-card-image[src*="official-araknis"]{object-fit:cover;object-position:center 30%}
.service-theme .service-card-image[src*="official-lutron"]{object-fit:cover;object-position:24% center}

/* Full, uncropped photograph of both climate and lighting controls. */
.service-theme .official-photo-hero .service-hero-image[src$="official-polarbear-alisse-wide.webp"]{height:auto;max-height:none;aspect-ratio:1200/629;object-fit:contain;background:transparent}

.service-theme .official-photo-hero .service-hero-image[src$="cctv-installation-scene.webp"]{height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain;background:transparent}
.service-theme .service-card-image[src$="cctv-installation-scene.webp"]{object-fit:cover;object-position:70% 25%}

/* All Services: consistent red panels; independently preserve green house illustration. */
.all-services-theme{--accent:#ffb4b4;--accent-bright:#ffb4b4;--card-bg:#361d23;--muted:#f2dfe3;--text:#fff8f8;--line:#98525c}
.all-services-theme .chapter-card{background:#361d23;border-color:#98525c}
.all-services-theme .house-stage{--accent:#86c92a;--accent-bright:#a0e53b;--text:#f5f3ee;--muted:#a7aba9;--card-bg:#2a2823;--line:rgba(244,243,238,.14)}

.service-theme.theme-lighting:not(.theme-lighting-control){--service-accent:#d6bdff;--service-panel:#271e35;--service-panel-hover:#342747;--service-border:#65517d;--service-ink:#21132e}

.all-services-theme .button.primary{background:#ffb4b4;border-color:#ffb4b4;color:#351018;text-shadow:none}
.all-services-theme .button.primary:hover{background:#fff1f1;border-color:#fff1f1;color:#351018}
