:root{--ink:#16263b;--muted:#617080;--line:#e5e9ef}body{background:#fff;color:var(--ink)}.stream-header{position:sticky;top:0;border-bottom:1px solid var(--line);height:78px;background:#ffffffed;backdrop-filter:blur(18px)}.stream-header .brand{width:160px}.stream-header .brand-logo{max-height:74px}.button{border-radius:9px}.text-link{color:#173f6e}h1,h2,h3{letter-spacing:-1px}.feed-profile,.lighting-feed{max-width:1160px;margin:auto;padding:0 28px}.feed-profile{display:grid;grid-template-columns:1fr;gap:52px;padding-top:58px;padding-bottom:44px;align-items:center}.profile-copy .eyebrow{margin:0 0 12px;font-size:11px}.profile-copy h1{font-size:44px;margin:0 0 8px;line-height:1.1}.profile-tagline{font-weight:600;font-size:19px;margin:0 0 10px}.profile-copy>p:not(.eyebrow):not(.profile-tagline){max-width:620px;font-size:15px;line-height:1.6;color:var(--muted)}.profile-facts{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 22px}.profile-facts span{font-size:12px;background:#f2f5f9;border-radius:20px;padding:7px 12px}.profile-actions{display:flex;align-items:center;gap:23px}.profile-actions .button{font-size:13px;padding:11px 18px}.profile-actions .text-link{font-size:13px}.lighting-feed{padding-top:28px;border-top:1px solid var(--line)}.feed-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.feed-heading .eyebrow{font-size:10px;margin:0 0 8px;letter-spacing:2px}.feed-heading h2{font-size:30px;margin:0}.feed-heading>p{font-size:12px;color:var(--muted)}.story-filters{display:flex;gap:25px;overflow:auto;padding:27px 0 30px}.story-filter{border:0;background:none;display:flex;flex-direction:column;gap:9px;align-items:center;cursor:pointer;color:var(--muted);font:600 12px Arial,sans-serif;min-width:77px;padding:3px}.story-ring{width:78px;height:78px;border-radius:50%;padding:3px;border:2px solid #dce2ea}.story-ring img{width:100%;height:100%;object-fit:cover;border:3px solid white;border-radius:50%}.story-filter[aria-pressed=true]{color:#173f6e}.story-filter[aria-pressed=true] .story-ring{border-color:#6958d8;background:linear-gradient(145deg,#36aaff,#ca6fbe)}.photo-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.feed-card{min-width:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:white}.feed-card[hidden]{display:none}.post-heading{display:flex;gap:9px;align-items:center;padding:13px;font-size:11px;font-weight:600}.post-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf3fa;color:#173f6e;font-size:14px}.post-heading small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.post-number{margin-left:auto;color:#8491a0;font-size:10px}.post-photo{position:relative;display:block;border:0;padding:0;width:100%;cursor:zoom-in;background:#0c1726;overflow:hidden;aspect-ratio:4/5}.post-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.post-photo:hover img{transform:scale(1.025)}.photo-expand{position:absolute;bottom:12px;right:12px;font-size:10px;background:#101a2bcc;color:white;padding:7px 10px;border-radius:20px}.post-caption{padding:18px}.post-caption h3{font-size:17px;letter-spacing:-.4px;line-height:1.3;margin:0 0 7px}.post-caption p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 16px;min-height:42px}.inspiration-link{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:#173f6e;padding-top:12px;border-top:1px solid var(--line)}.simple-credit{padding:22px 0 10px;text-align:left;font-size:11px}.simple-process h2,.simple-area h2{font-size:32px;letter-spacing:-1px}.simple-process{padding-top:65px;padding-bottom:55px}.simple-area{background:#f3f6fa}.quote-section form{border-radius:16px;background:#f6f8fb}.quote-section input,.quote-section textarea,.quote-section select{border-radius:6px}footer .brand-logo{max-height:90px}a:focus-visible,button:focus-visible{outline:3px solid #6858d8;outline-offset:4px}.service-intro{background:#f3f6fa}
@media(max-width:1000px){.photo-feed{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-profile{gap:30px;grid-template-columns:1fr}.profile-copy h1{font-size:38px}}
@media(max-width:760px){html{scroll-padding-top:85px}.stream-header{height:76px}.stream-header nav{top:76px}.feed-profile,.lighting-feed{padding-left:18px;padding-right:18px}.feed-profile{grid-template-columns:1fr;gap:17px;padding-top:30px;padding-bottom:30px;align-items:start}.profile-copy .eyebrow{font-size:8px;letter-spacing:1px}.profile-copy h1{font-size:28px}.profile-tagline{font-size:15px;line-height:1.4}.profile-copy>p:not(.eyebrow):not(.profile-tagline){font-size:13px}.profile-facts{gap:5px;margin:13px 0 17px}.profile-facts span{font-size:10px;padding:6px 8px}.profile-actions{flex-wrap:wrap;gap:14px}.profile-actions .button{font-size:12px;padding:10px 13px}.feed-heading h2{font-size:24px}.feed-heading>p{font-size:10px;white-space:nowrap}.story-filters{gap:12px;padding:22px 0}.story-ring{width:65px;height:65px}.story-filter{font-size:11px;min-width:65px}.photo-feed{grid-template-columns:1fr;gap:24px}.post-heading{padding:14px;font-size:12px}.post-heading small{font-size:11px}.post-caption{padding:19px}.post-caption h3{font-size:20px}.post-caption p{font-size:14px;min-height:0}.inspiration-link{font-size:13px}.simple-process h2,.simple-area h2{font-size:28px}.simple-credit{font-size:10px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.post-photo img{transition:none}}

/* Use the Radiant navy consistently for every button and contact action. */
:root{--button-navy:#092c50;--button-navy-hover:#123d68}
.button,button,.mobile-contact a,.mobile-contact a:last-child,.stream-header .menu,#close-photo,.photo-expand{background:var(--button-navy);border-color:var(--button-navy);color:#fff}
.button:hover,button:hover,.mobile-contact a:hover,.mobile-contact a:last-child:hover,.stream-header .menu:hover,#close-photo:hover{background:var(--button-navy-hover);border-color:var(--button-navy-hover);color:#fff}
.story-filter{border-radius:9px;padding:10px 12px;min-width:90px}
.story-filter[aria-pressed=true]{background:var(--button-navy);color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--button-navy)}
.story-filter[aria-pressed=true] .story-ring{border-color:#fff;background:var(--button-navy)}
.stream-header .menu{min-width:44px;min-height:44px;border-radius:9px}

/* Midnight, violet and gold: a livelier palette inspired by the lighting. */
:root{--ink:#182443;--deep:#101b38;--muted:#62627d;--line:#ddd9ed;--gold:#f3c66a;--paper:#f6f4fc;--button-navy:#101f43;--button-navy-hover:#233b70}
body{background:var(--paper);color:var(--ink)}
.stream-header{background:#fff;border-bottom:3px solid #7152b8;box-shadow:0 6px 25px #35205c0c}
.stream-header nav a:hover,.stream-header .header-call:hover{color:#6940aa}
.feed-profile{background:radial-gradient(ellipse at 90% 20%,#e4dafb 0,transparent 58%),linear-gradient(125deg,#fff 5%,#f1edfb 100%);border-bottom:1px solid var(--line)}
.profile-copy .eyebrow,.feed-heading .eyebrow,.eyebrow,.simple-process .panel-kicker{color:#6940aa}
.profile-copy h1{color:#101f43}
.profile-tagline{color:#6940aa}
.profile-facts span{background:#e5def5;color:#4d347f;border:1px solid #d6c9ef}
.profile-facts span:last-child{background:#faebc8;border-color:#edd398;color:#755014}
.lighting-feed{border-top:0}
.feed-heading h2{color:#101f43}
.feed-card{background:#fff;border-color:#ded7ed;box-shadow:0 7px 24px #27164408}
.post-heading{background:#101b38;color:#fff;border-bottom:2px solid #c59a4b}
.post-heading small{color:#c7c3dd}.post-number{color:#f3c66a}
.post-mark{background:#34294f;color:#f3c66a}
.post-caption h3{color:#172449}
.inspiration-link,.text-link,.service-cta .text-link{color:#6940aa}
.story-filter{box-shadow:0 4px 13px #18244312}
.story-filter[aria-pressed=true]{box-shadow:0 0 0 2px var(--paper),0 0 0 4px #b18adc}
.story-ring{border-color:#9181bc}
.story-filter[aria-pressed=true] .story-ring{border-color:#f3c66a}
.simple-process{background:#101b38;color:#fff;margin-top:35px}
.simple-process .panel-kicker{color:#f3c66a}
.simple-steps article{border-top-color:#615377}
.simple-steps span{color:#f3c66a}
.simple-steps p{color:#d0cde2}
.simple-area,.service-cta{background:#e9e1f6;color:#182443}
.simple-area p:not(.panel-kicker),.service-cta p{color:#56516b}
.faq,.service-faq{background:#faf8ff}
.faq summary,.service-faq summary{color:#30244c}
.quote-section{background:linear-gradient(130deg,#fff 20%,#eee7fb);border-top:1px solid #ddd0f2}
.quote-section .eyebrow{color:#6940aa}
.quote-section form{background:#fff;border:1px solid #d8c9ed;box-shadow:0 12px 40px #34214f0a}
.quote-section input,.quote-section textarea,.quote-section select{border-color:#c8bddb}
.quote-section input:focus,.quote-section textarea:focus,.quote-section select:focus{outline-color:#7152b8;border-color:#7152b8}
.quote-phone{color:#101f43}
.service-intro{background:linear-gradient(125deg,#fff,#e9e1f6)}
.service-intro .eyebrow{color:#6940aa}
.service-details{background:#fff}
footer{background:#101b38;color:#d0cde2;border-top:3px solid #c59a4b}
footer .brand{border-radius:9px;padding:8px}
.mobile-contact{background:#f5f0fc;border-color:#d9c9ed}
a:focus-visible,button:focus-visible{outline-color:#a171dc}

/* Local service information follows Radiant's established palette. */
.area-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0;font-size:1rem;font-weight:600}.area-links a{text-decoration:underline;text-underline-offset:4px}.local-intro{background:linear-gradient(125deg,#fff,#e9e1f6)}.local-intro h1{font-size:clamp(2rem,4.3vw,3.8rem);line-height:1.15;max-width:980px}.local-intro>p{max-width:780px;font-size:1rem}.local-cities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.local-cities article{min-width:0;scroll-margin-top:110px}.local-cities h2,.service-coverage h2{font-size:1.9rem;line-height:1.2}.local-cities p,.service-coverage p{font-size:1rem;color:var(--muted)}.local-cities .text-link{font-size:1rem}.service-coverage{background:#e9e1f6}.profile-copy>p:not(.eyebrow):not(.profile-tagline){font-size:1rem}.profile-copy .eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:1px}.simple-area p:not(.panel-kicker){font-size:1rem}.simple-area .area-links{justify-content:center}body{overflow-wrap:break-word}@media(max-width:1000px){.local-cities{grid-template-columns:1fr}.local-cities article{border-bottom:1px solid var(--line);padding-bottom:25px}}@media(max-width:760px){.stream-header nav a{font-size:1rem}.profile-copy .eyebrow{font-size:.875rem}.profile-copy>p:not(.eyebrow):not(.profile-tagline){font-size:1rem}.local-intro h1{font-size:2rem}.local-cities h2,.service-coverage h2{font-size:1.7rem}}

/* Lead with the lighting photograph; introduction follows below it. */
.image-first-hero{width:100%;height:calc(100svh - 78px);max-height:800px;min-height:420px;overflow:hidden;background:#101b38}.image-first-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.feed-profile{padding-top:38px;padding-bottom:38px}@media(max-width:760px){.image-first-hero{height:calc(100svh - 146px);max-height:680px;min-height:340px}.image-first-hero img{object-position:50% 50%}.feed-profile{padding-top:28px;padding-bottom:28px}}

/* Switch to the compact menu before longer service labels crowd the header. */
@media(min-width:761px) and (max-width:1000px){.stream-header .brand{margin-right:auto}.stream-header .header-call{display:none}.stream-header nav{display:none;position:absolute;top:78px;left:0;right:0;transform:none;margin:0;background:#fff;padding:24px 6%;gap:20px;align-items:flex-start;flex-direction:column}.stream-header nav.open{display:flex}.stream-header .menu{display:block}.stream-header .small{flex-shrink:0}}

/* Keep the consultation link readable against the navy process section. */
.simple-process .text-link{color:#f3c66a}

/* Larger gallery labels, sized for mobile and desktop. */
.post-heading .inspiration-title{display:block;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.25;font-weight:700;letter-spacing:0}.post-heading>span:not(.post-mark):not(.post-number){min-width:0}.post-mark{flex-shrink:0}

/* A straightforward gallery, without social profile or story styling. */
.story-filters{flex-wrap:wrap;gap:10px;overflow:visible;padding:24px 0 28px}
.story-filter{display:block;min-width:0;padding:10px 16px;font-size:.875rem;line-height:1.4;border-radius:5px;box-shadow:none;border:1px solid var(--button-navy)}
.story-filter[aria-pressed=true]{box-shadow:none;background:var(--button-navy-hover);border-color:var(--button-navy-hover);text-decoration:underline;text-underline-offset:5px}
.feed-card{position:relative;border:0;border-radius:0;box-shadow:none;background:transparent}
.post-photo{border-radius:5px}
.post-caption{padding:16px 0 22px}
.post-caption h3{font-size:1.125rem;line-height:1.35}
.post-caption p{font-size:.875rem}
.inspiration-link{display:inline-block;font-size:.875rem;padding:0;border:0;text-decoration:underline;text-underline-offset:4px}
.photo-expand{font-size:.75rem;border-radius:4px;padding:8px 10px}
.gallery-concept{position:absolute;top:12px;left:12px;z-index:1;pointer-events:none;background:#101b38e8;color:#fff;border-radius:3px;padding:6px 9px;font-size:.75rem;line-height:1.4}
.feed-heading>p{font-size:.875rem}
@media(max-width:760px){.story-filters{gap:8px}.story-filter{padding:9px 12px}.post-caption h3{font-size:1.25rem}.feed-heading{align-items:flex-start;flex-wrap:wrap}.feed-heading>p{margin:0}}

/* Plain service details instead of rounded profile badges. */
.profile-facts{display:block;margin:20px 0 24px;padding-left:18px;border-left:2px solid #c59a4b}
.profile-facts span,.profile-facts span:last-child{display:block;background:transparent;border:0;border-radius:0;color:var(--ink);padding:3px 0;font-size:.875rem;line-height:1.6}
.profile-actions .button{border-radius:5px}

/* Readable type and a visible tap-to-call link on every screen size. */
body{font-size:18px;line-height:1.7}
.profile-copy>p:not(.eyebrow):not(.profile-tagline),.post-caption p,.simple-steps p,.simple-area p:not(.panel-kicker),.questions p,.service-details p,.service-intro>div>p:not(.eyebrow),.local-cities p,.service-coverage p{font-size:1.125rem;line-height:1.7}
.profile-tagline{font-size:1.25rem}.profile-facts span,.profile-facts span:last-child{font-size:1rem}
.button,.profile-actions .button,.profile-actions .text-link,.text-link,.inspiration-link,.story-filter,.mobile-contact a{font-size:1rem;min-height:44px}
.quote-section label,.quote-section input,.quote-section textarea,.quote-section select{font-size:1.0625rem;line-height:1.5}
.quote-section .form-help,.local-note,.email-link,.simple-credit,.service-intro figcaption,.footer-services,footer>span,.breadcrumbs{font-size:.9375rem;line-height:1.6}
.eyebrow,.feed-heading .eyebrow,.panel-kicker{font-size:.875rem;line-height:1.6}
summary{font-size:1.125rem;line-height:1.5}
.stream-header{gap:20px}.stream-header .brand{width:145px}.stream-header nav{position:static;transform:none;margin-left:auto;gap:20px;font-size:1rem}
.stream-header .header-call{display:inline-flex;align-items:center;justify-content:center;margin:0;font-size:1.125rem;font-weight:700;min-height:44px;color:#101f43;text-decoration:underline;text-underline-offset:4px}
.stream-header .small{font-size:1rem;padding:10px 16px}
@media(max-width:1180px){.stream-header .brand{margin-right:auto}.stream-header nav{display:none;position:absolute;top:78px;left:0;right:0;transform:none;margin:0;background:#fff;padding:24px 6%;gap:20px;align-items:flex-start;flex-direction:column}.stream-header nav.open{display:flex}.stream-header .menu{display:block;flex-shrink:0}}
@media(max-width:760px){
 .stream-header{height:126px;padding:8px 5%;gap:8px 12px;flex-wrap:wrap;align-content:center}
 .stream-header .brand{order:1;width:145px}.stream-header .brand-logo{max-height:60px}
 .stream-header .small{order:2;font-size:1rem;padding:10px 12px}.stream-header .menu{order:3}
 .stream-header .header-call{order:4;width:100%;min-height:44px;font-size:1.25rem;border-top:1px solid var(--line);padding-top:5px}
 .stream-header nav{top:126px}.stream-header nav a{font-size:1.125rem}
 html{scroll-padding-top:138px}.image-first-hero{height:calc(100svh - 196px)}
 .profile-copy>p:not(.eyebrow):not(.profile-tagline),.post-caption p{font-size:1.125rem}
 .profile-copy .eyebrow{font-size:.875rem}.profile-copy h1{font-size:2rem}.profile-tagline{font-size:1.25rem}
 .photo-expand,.gallery-concept{font-size:.875rem}.simple-credit{font-size:.9375rem}
}
@media(max-width:360px){.stream-header{gap:8px}.stream-header .brand{width:125px}.stream-header .small{padding:10px}}

/* Make the header phone number a clear tap-to-call button. */
.stream-header .header-call{background:var(--button-navy);color:#fff;border:1px solid var(--button-navy);border-radius:5px;padding:10px 16px;text-decoration:none;line-height:1.35;min-height:44px;flex-shrink:0}
.stream-header .header-call:hover{background:var(--button-navy-hover);border-color:var(--button-navy-hover);color:#fff}
@media(max-width:760px){.stream-header .header-call{width:100%;font-size:1.25rem;padding:8px 16px;border-top:1px solid var(--button-navy)}}

/* Keep older cached page markup from expanding the retired category thumbnails. */
.story-filter .story-ring{display:none!important}
.lighting-feed .post-heading{display:none!important}
.story-filter img{display:none!important}

/* Show the original wide house photograph clearly, including on phones. */
.image-first-hero img{object-position:center 65%}
@media(max-width:760px){.image-first-hero{height:auto;min-height:0;max-height:none;aspect-ratio:4/3}.image-first-hero img{object-fit:contain;object-position:center}}

/* Audit fixes: contact spacing, narrow screens and keyboard navigation. */
.quote-section .quote-phone,.quote-section .email-link{display:block;margin-bottom:12px}
@media(max-width:360px){.stream-header .brand{width:110px;flex-shrink:0}.stream-header .small{font-size:.875rem;padding:10px 8px}}
@media(max-width:760px){body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.local-cities article{scroll-margin-top:138px}}

/* Holiday planning and city pages follow the established typography and gallery scale. */
.holiday-options,.holiday-care{max-width:1160px;margin:auto;padding:48px 28px}.holiday-care{background:#eee8f8;margin-top:32px}.holiday-options h2,.holiday-care h2,.city-planning h2{font-size:clamp(1.75rem,3vw,2.5rem)}.section-lead{max-width:760px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px;margin:28px 0}.option-grid article{border-top:1px solid #d3c7e5;padding-top:20px}.option-grid h3,.city-planning h3{font-size:1.375rem;line-height:1.35}.option-grid p,.city-planning p,.privacy-copy p{font-size:1.125rem;line-height:1.7}.city-planning,.privacy-copy{max-width:1040px;margin:auto}.city-planning article{margin:30px 0}.privacy-copy h2{font-size:1.75rem;margin-top:30px}.privacy-copy a:not(.button),.form-privacy a{text-decoration:underline;text-underline-offset:3px}.quote-section fieldset{border:0;padding:0;margin:0;min-width:0}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.email-fallback{display:block;margin-top:14px;background:transparent;color:#6940aa;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:4px 0;text-align:left}.email-fallback:hover{background:transparent;color:#4d347f}.form-privacy{font-size:.9375rem;line-height:1.6;color:#56516b}.button:disabled{opacity:.65;cursor:wait}#form-status{margin-top:18px}#form-status:empty{margin:0}.form-error{color:#8b1c23!important}
@media(max-width:760px){.holiday-options,.holiday-care{padding:36px 18px}.option-grid{grid-template-columns:1fr;gap:20px}.city-planning,.privacy-copy{padding:40px 6%}}
