@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--black:#090909;--panel:#151515;--line:#303030;--yellow:#D4A017;--red:#C8102E;--muted:#b4b4b4;--white:#f7f6f2;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--black);color:var(--white);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.13;letter-spacing:-.04em}h1{font-size:clamp(2.7rem,5.5vw,5.5rem);font-weight:800}h2{font-size:clamp(2rem,3.3vw,3.25rem);font-weight:700}h3{font-size:1.65rem;line-height:1.25}p{color:var(--muted)}.section{max-width:1320px;margin:auto;padding:90px 48px}.eyebrow{font-size:.875rem;letter-spacing:.14em;color:var(--yellow);font-weight:700;line-height:1.5;margin-bottom:20px;text-transform:uppercase}.lead{font-size:1.2rem;line-height:1.65;max-width:650px;margin-top:26px}.muted{font-size:.9rem;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;background:var(--yellow);color:#000;padding:12px;z-index:100}.skip:focus{top:0}.announcement{background:var(--red);color:white;text-align:center;font-size:.875rem;padding:11px 24px}.announcement span{font-weight:700;margin-right:18px}.announcement a{margin-left:22px;text-decoration:underline;text-underline-offset:4px}header{position:sticky;top:0;z-index:20;background:#090909f2;backdrop-filter:blur(10px);border-bottom:1px solid #ffffff18}.nav-wrap{max-width:1440px;margin:auto;padding:8px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;width:162px;flex-shrink:0}.brand img{width:100%;height:84px;object-fit:contain}nav{display:flex;align-items:center;gap:26px}nav a{font-size:.9rem;font-weight:600;white-space:nowrap}nav a:hover,nav a[aria-current]{color:var(--yellow)}nav .nav-quote{color:#080808;background:var(--yellow);padding:12px 21px;border-radius:3px}.menu-toggle{display:none}.hero{position:relative;min-height:690px;isolation:isolate;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.6) 40%,rgba(0,0,0,.04) 100%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 60%);z-index:-2}.hero-content{width:1320px;margin:auto;padding:88px 48px 125px}.hero h1{max-width:750px}.hero-content>p:not(.eyebrow){font-size:1.2rem;color:#e0e0e0;max-width:530px;margin-top:25px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 25px;font-size:1rem;font-weight:700;border-radius:3px;line-height:1.4;min-height:52px}.yellow{background:var(--yellow);color:#101010;border:1px solid var(--yellow)}.yellow:hover{background:#edb92b}.outline{border:1px solid #ffffff70;color:white;background:#11111140}.outline:hover{background:#ffffff12}.hero-caption{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);width:min(100%,1320px);padding:0 48px;display:flex;gap:32px;color:#ddd;font-size:.9rem}.hero-caption span:first-child{border-right:1px solid #ffffff50;padding-right:32px}.service-strip{border-bottom:1px solid var(--line);display:flex;gap:28px;justify-content:space-between;max-width:1224px;margin:auto;padding:24px 0;font-size:.9rem;color:#c9c9c9}.service-strip a{color:var(--yellow);font-weight:700}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:42px}.section-head p:not(.eyebrow){max-width:340px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.service-card{border-bottom:1px solid var(--line);padding-bottom:30px}.card-image{overflow:hidden;aspect-ratio:1.3}.card-image img{height:100%;object-fit:cover;transition:transform .4s}.service-card:hover img{transform:scale(1.035)}.card-copy{padding-top:26px}.card-copy .eyebrow{margin-bottom:14px}.card-copy h3{min-height:90px}.card-copy p:not(.eyebrow){margin-top:18px}.text-link{display:inline-block;color:var(--yellow);font-weight:600;font-size:.9rem;border-bottom:1px solid #D4A01770;margin-top:22px;padding-bottom:4px}.spotlight{display:grid;grid-template-columns:1.1fr 1fr;gap:68px;align-items:center;padding-top:30px}.spotlight>div:first-child img{height:530px;object-fit:cover}.spotlight-copy p:not(.eyebrow){margin-top:24px}.spotlight-copy .button{margin-top:30px}.areas{border-top:1px solid var(--line)}.city-links{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:24px}.city-links a{padding:25px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600}.city-links a:hover{background:var(--panel);color:var(--yellow)}.cta{display:flex;align-items:center;justify-content:space-between;gap:48px;background:var(--panel);border-left:4px solid var(--yellow);margin-bottom:60px}.cta p:not(.eyebrow){max-width:610px;margin-top:20px}.cta .actions{flex-shrink:0;margin:0}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-top>div{text-align:right}.footer-top .eyebrow{margin-bottom:5px}.phone{font-size:2rem;font-weight:700}.email{display:block;color:var(--muted);overflow-wrap:anywhere}.footer-links{display:flex;flex-wrap:wrap;gap:28px;margin-top:40px;padding:30px 0;border-bottom:1px solid var(--line);font-size:.9rem}.footer-links a:hover{color:var(--yellow)}.copyright{display:flex;justify-content:space-between;gap:25px;color:#929292;font-size:.85rem;padding-top:28px}.mobile-contact{display:none}.split-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-hero h1{font-size:clamp(2.75rem,4.5vw,4.5rem)}.split-hero>img{height:580px;object-fit:cover}.split-hero>div>p:not(.eyebrow){margin-top:25px}.feature-section{background:var(--panel)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px}.feature-number{font-size:.875rem;color:var(--yellow);display:block;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:25px}.feature-grid p{margin-top:18px}.feature-grid h3{font-size:1.45rem}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.photo-pair img{height:460px;object-fit:cover}.faq h2{margin-bottom:30px}details{border-top:1px solid var(--line);padding:24px 0}summary{font-size:1.1rem;cursor:pointer;font-weight:600}details p{padding-top:20px;max-width:760px}.page-intro{padding-bottom:38px;max-width:1320px}.page-intro h1{max-width:1000px}.gallery-section{padding-top:25px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px}.filter{border:1px solid var(--line);background:transparent;color:white;padding:12px 24px;border-radius:3px}.filter.active{background:var(--yellow);color:#111;border-color:var(--yellow)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.gallery-item{background:none;border:0;color:white;text-align:left;padding:0}.gallery-item img{height:300px;object-fit:cover}.gallery-item span{display:block;padding:15px 0;font-size:1rem}.gallery-item:hover span{color:var(--yellow)}[hidden]{display:none!important}.gallery-status{margin-top:20px}dialog{border:1px solid var(--line);background:var(--black);color:white;width:90vw;max-width:1100px;padding:20px}dialog::backdrop{background:#000d}dialog img{max-height:75vh;width:100%;object-fit:contain}dialog p{text-align:center;padding:16px}.close{display:block;margin:0 0 20px auto;border:1px solid #555;color:#fff;background:#222;padding:10px 20px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:35px}.contact-card{padding:35px;background:var(--panel);border:1px solid var(--line);overflow-wrap:anywhere}.contact-card h2{font-size:1.8rem}.contact-card p:last-child{margin-top:22px}.contact-card:hover{border-color:var(--yellow)}.quote-section{padding-top:25px}.quote-options{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:32px}.quote-options .text-link{margin:0}.form-shell{background:white;border-radius:4px;overflow:hidden}.form-shell iframe{display:block;width:100%;height:1150px;border:none;color-scheme:light}.quote-section>.muted{margin-top:20px}.article-list{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:25px}.article-list>a{border:1px solid var(--line);padding:36px;background:var(--panel)}.article-list h2{font-size:2rem}.article-list p:not(.eyebrow){margin-top:22px}.prose{max-width:900px;padding-top:25px}.prose section{margin-bottom:46px}.prose h2{font-size:1.8rem}.prose p{font-size:1.1rem;line-height:1.8;margin-top:18px}
@media(min-width:1600px){.hero{min-height:760px}}@media(max-width:1100px){.nav-wrap{padding:10px 28px;gap:20px}nav{gap:15px}nav a{font-size:.85rem}.section{padding:65px 28px}.hero-content{padding-left:28px;padding-right:28px}.service-strip{margin:0 28px}.card-copy h3{min-height:110px}.spotlight{gap:35px}.cta{margin:0 28px 40px}.cta .actions{flex-direction:column}.feature-grid{grid-template-columns:1fr 1fr}.split-hero{gap:35px}.gallery-grid{grid-template-columns:1fr 1fr}.contact-card{padding:25px}.contact-card h2{font-size:1.4rem}}@media(max-width:800px){.announcement{font-size:.8rem;padding:9px 18px}.announcement span{margin-right:8px}.announcement a{display:none}.nav-wrap{padding:6px 20px}.brand{width:130px}.brand img{height:68px}.menu-toggle{display:block;border:1px solid #777;background:transparent;color:#fff;padding:9px 16px;border-radius:3px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#111;padding:25px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #333}nav.open{display:flex}nav a{padding:13px;font-size:1rem}nav .nav-quote{text-align:center;margin-top:12px}.hero{min-height:620px;align-items:flex-end}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(0deg,#000e,rgba(0,0,0,.2)),linear-gradient(90deg,#0009,transparent)}.hero-content{padding:90px 22px 110px}.hero h1{font-size:clamp(2.8rem,9vw,4.5rem)}.hero-content>p:not(.eyebrow){font-size:1.05rem;max-width:440px}.hero-caption{padding:0 22px;gap:18px;font-size:.8rem;bottom:25px}.hero-caption span:first-child{padding-right:18px}.service-strip{gap:15px;margin:0 22px;font-size:.8rem;flex-wrap:wrap}.section{padding:58px 22px}.section-head{display:block;margin-bottom:32px}.section-head>p{margin-top:22px}.service-grid{grid-template-columns:1fr;gap:40px}.card-copy h3{min-height:0;font-size:1.8rem}.card-image{aspect-ratio:1.5}.spotlight{grid-template-columns:1fr;gap:32px}.spotlight>div:first-child img{height:360px}.city-links{grid-template-columns:1fr 1fr}.city-links a{padding:20px 14px;font-size:.9rem}.cta{display:block;margin:0 22px 15px;padding:38px 24px}.cta .actions{flex-direction:row;margin-top:28px}.footer-top{align-items:flex-start}.footer-top>div{max-width:210px}.phone{font-size:1.3rem}.email{font-size:.85rem}.footer-links{gap:20px;margin-top:20px}.copyright{display:block;font-size:.8rem}.copyright span{display:block;margin-top:12px}footer.section{padding-bottom:100px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1.3fr;z-index:25;background:#101010;border-top:1px solid #444}.mobile-contact a{padding:16px 8px;text-align:center;font-size:.95rem;font-weight:700}.mobile-contact a+a{border-left:1px solid #333}.mobile-contact a:last-child{background:var(--yellow);color:#111}.split-hero{grid-template-columns:1fr;gap:34px}.split-hero>img{height:400px}.split-hero h1{font-size:clamp(2.5rem,8.5vw,4rem)}.feature-grid{gap:30px 20px}.feature-grid h3{font-size:1.25rem}.feature-grid p{font-size:.95rem}.photo-pair{gap:20px}.photo-pair img{height:280px}.gallery-grid{gap:18px}.gallery-item img{height:230px}.gallery-item span{font-size:.9rem}.filter{padding:10px 16px}.page-intro{padding-bottom:25px}.contact-grid{grid-template-columns:1fr;gap:18px}.contact-card h2{font-size:1.7rem}.article-list{grid-template-columns:1fr}.article-list>a{padding:28px}.quote-options .button{width:100%}.form-shell iframe{height:1300px}.quote-options .text-link{padding:12px}.lead{font-size:1.1rem}}@media(max-width:450px){.announcement{font-size:.75rem}.announcement span{display:block;margin:0}.hero{min-height:600px}.hero-caption{font-size:.75rem;gap:12px}.hero-caption span:first-child{padding-right:12px}.feature-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:290px}.photo-pair{grid-template-columns:1fr}.photo-pair img{height:330px}.footer-top{flex-direction:column}.footer-top>div{text-align:left;max-width:100%}.cta .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Jobber controls the embedded form height after loading. */
.form-shell{min-height:220px}.form-shell iframe.jobber-work-request{width:100%;border:0;color-scheme:light}.form-shell .jobber-inline-work-request{margin:0 auto}.cta .actions{flex-shrink:1;max-width:420px}.hero .actions .outline{background:#09090980}

.contact-help{position:fixed;right:24px;bottom:24px;z-index:40;max-width:380px;width:calc(100% - 40px);padding:24px;background:#171717;border:1px solid var(--yellow);border-radius:5px;box-shadow:0 8px 40px #0009}.contact-help p{font-size:1rem;line-height:1.5}.contact-help .contact-help-title{color:white;font-weight:700;margin:12px 0}.contact-help-close{display:block;margin-left:auto;background:none;border:0;color:#ddd;padding:0 0 10px 12px;text-decoration:underline}.contact-help-number{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px}.contact-help-number span{font-size:1.3rem;color:white;user-select:all}.copy-phone{background:var(--yellow);color:#111;border:0;border-radius:3px;padding:10px 14px;font-weight:700}.contact-help .copy-status{font-size:.875rem;color:var(--yellow);margin-top:10px}@media(max-width:800px){.contact-help{right:20px;bottom:82px}}

/* Photography stays unobscured, with readable copy in its own panel. */
.hero.bright-hero{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:stretch;min-height:0;overflow:visible;background:#151515;padding:0;isolation:auto}
.bright-hero .hero-image{position:relative;inset:auto;grid-column:2;grid-row:1 / 3;z-index:0;width:100%;height:100%;min-height:570px;object-fit:cover;object-position:center;filter:none;opacity:1}
.bright-hero .hero-content{grid-column:1;grid-row:1;width:auto;max-width:650px;margin:0 0 0 auto;padding:60px 40px 28px}
.bright-hero h1{font-size:clamp(2.6rem,4.3vw,4.6rem);line-height:1.06;letter-spacing:-.035em;max-width:650px}
.bright-hero .hero-content>p:not(.eyebrow){font-size:1.1rem;line-height:1.65;margin-top:22px}
.bright-hero .eyebrow{font-size:.78rem;letter-spacing:.13em}
.bright-hero .hero-caption{grid-column:1;grid-row:2;position:static;transform:none;width:auto;padding:0 40px 38px;margin:0 0 0 auto;max-width:650px;gap:15px;font-size:.78rem;flex-wrap:wrap}
.bright-hero .hero-caption span:first-child{padding-right:15px}
.bright-hero .actions{gap:12px;flex-wrap:wrap}.bright-hero .actions .yellow{width:100%;text-align:center}.bright-hero .actions .outline{font-size:.85rem;padding:13px 16px}
.christmas-season .announcement{background:#a20f27;color:white}.christmas-season .announcement a{color:white;text-decoration:underline}.christmas-season .service-card[href='/christmas-lights']{order:-1;border:1px solid var(--yellow)}
@media(max-width:800px){.hero.bright-hero{grid-template-columns:1fr}.bright-hero .hero-image{grid-column:1;grid-row:1;min-height:0;height:auto;aspect-ratio:4/3;object-fit:contain;background:#141414}.bright-hero .hero-content{grid-column:1;grid-row:2;max-width:none;width:100%;padding:28px 22px 22px;margin:0}.bright-hero h1{font-size:clamp(2.35rem,8.7vw,3.5rem)}.bright-hero .hero-content>p:not(.eyebrow){font-size:1rem;max-width:none;margin-top:16px}.bright-hero .hero-caption{grid-column:1;grid-row:3;margin:0;padding:0 22px 26px}.bright-hero .actions{margin-top:22px}.bright-hero .actions .outline{flex:1;text-align:center;white-space:nowrap}.christmas-season .announcement{display:block;padding:10px 16px;font-size:.72rem}.christmas-season .announcement span{display:inline;margin-right:8px}}

.location-gallery .photo-pair img{height:auto;width:100%;object-fit:contain;align-self:center}.location-page .service-card{border:1px solid var(--line)}.location-page .card-copy{padding:26px}.location-page .card-copy h3{min-height:0}

.hero-content>p.text-preference{font-size:1rem;line-height:1.6;max-width:620px;margin-top:20px}.preferred-contact{border-color:var(--yellow);background:var(--yellow);color:#111}.preferred-contact .eyebrow{color:#111}
@media(max-width:800px){.mobile-contact{grid-template-columns:1fr 1.3fr 1fr}.mobile-contact a:last-child{background:#101010;color:white}.mobile-contact a[href^="sms:"]{background:var(--yellow);color:#111}.hero-content>p.text-preference{font-size:.95rem}}
