/* Final visual refinements */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&family=Poppins:wght@400;500;600;700;800&display=swap');
.brand span{display:none}.brand img{width:132px;height:62px;object-fit:contain;object-position:left center}
/* A restrained seasonal accent on lighting navigation across both sides. */
.hero .home-hero-actions{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:14px;margin-top:28px}
.hero .home-hero-actions>.button{display:inline-flex;align-items:center;justify-content:center;margin:0!important;min-height:58px;box-sizing:border-box}
.hero .home-hero-actions>.home-hero-call{background:#133845!important;color:#ffe9a7!important;border:1px solid #ffe9a7;padding:18px 34px;min-width:176px}
.hero .home-hero-actions>.home-hero-call:hover{background:#204d5b!important}
.hero .home-hero-actions>a:focus-visible{outline:3px solid #ffe9a7;outline-offset:5px}
@media(max-width:480px){.hero .home-hero-actions>.button{width:100%;max-width:340px!important}}
body.holiday-page .holiday-hero-actions{
  display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:14px;margin-top:28px;
}
body.holiday-page .sub-hero .holiday-hero-actions>.sub-button{
  display:inline-flex;align-items:center;justify-content:center;margin:0!important;min-height:58px;box-sizing:border-box;
}
body.holiday-page .sub-hero .holiday-hero-actions>.holiday-hero-call{
  background:rgba(24,30,26,.8)!important;color:#f3d29b!important;border:1px solid #b99b60;
  padding:18px 34px;min-width:176px;
}
body.holiday-page .sub-hero .holiday-hero-actions>.holiday-hero-call:hover{
  background:#303b32!important;border-color:#f3d29b;
}
body.holiday-page .holiday-hero-actions>a:focus-visible{outline:3px solid #f3d29b;outline-offset:5px}
@media(max-width:480px){body.holiday-page .holiday-hero-actions>.sub-button{width:100%;max-width:340px!important}}
body .site-header .nav-pill .nav-actions a.phone[href*="holiday-lighting"],
body .site-header .nav-pill nav a.mobile-lights-link,
body .site-header.menu-open .nav-pill nav a.mobile-lights-link{
  background:linear-gradient(110deg,#80552c 0%,#ae2630 46%,#24573c 100%)!important;
  color:#fff!important;
}
.phone{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(19,56,69,.24);border-radius:999px;padding:12px 17px;font-size:0;letter-spacing:.09em;transition:color .2s,background .2s}.phone:after{content:"CALL NOW";font-size:11px}.phone:hover{background:#133845;color:#fff}
.hero{background:url("../images/drive/hero-house.jpg") center 52%/cover no-repeat}.hero>img{display:none}
.final-cta,footer{background:#529db4!important;box-shadow:none!important}footer{border-top:0!important}
.service-area-layout .map{border:0!important;box-shadow:0 20px 48px rgba(19,56,69,.13)!important}
.area-zones details[open]{border-color:#dce8e8!important;box-shadow:0 14px 30px rgba(19,56,69,.075)!important}.area-zones details[open] summary{border-bottom:0!important}.area-zones details[open] summary i{background:#e9f5f7!important;color:#529db4!important}
.expect-grid{gap:20px}.expect-grid article{min-height:252px;padding:25px 20px 22px;border-radius:20px;background:#fff;box-shadow:0 14px 30px rgba(19,56,69,.11);transition:transform .22s,box-shadow .22s}.expect-grid article:hover{transform:translateY(-6px);box-shadow:0 21px 38px rgba(19,56,69,.16)}.expect-grid i{width:58px;height:58px;box-shadow:0 6px 14px rgba(19,56,69,.12)}
.footer-main{max-width:1180px!important;grid-template-columns:1.35fr .82fr 1.18fr .9fr!important;gap:30px!important}.footer-bottom{max-width:1180px!important}
@media(max-width:900px){.brand img{width:112px;height:52px}.footer-main{gap:34px!important}}@media(max-width:560px){.phone{display:none}.expect-grid article{min-height:0}.brand img{width:102px;height:46px}}
.final-cta:before{display:none!important}.footer-brand>h3,.footer-col h3{margin:17px 0 13px!important}.footer-col{gap:11px!important}
.brand{gap:8px!important}.brand img{display:none}.brand:before,.brand:after{content:"";display:block;background-repeat:no-repeat;background-position:center;background-size:contain}.brand:before{width:54px;height:54px;background-image:url("../images/lakeland/swan.png")}.brand:after{width:104px;height:48px;background-image:url("../images/lakeland/wordmark.png")}@media(max-width:560px){.brand:before{width:44px;height:44px}.brand:after{width:88px;height:42px}}
.brand:before{display:none}.brand:after{width:145px;height:50px;background-image:url("../images/lakeland/header-logo.png");background-size:172px 172px;background-position:center center}@media(max-width:560px){.brand:after{width:122px;height:43px;background-size:146px 146px}}
.final-cta{padding-bottom:58px!important}footer{padding-top:62px!important}@media(max-width:560px){.final-cta{padding-bottom:48px!important}footer{padding-top:48px!important}}
.social-links a:first-child svg path{fill:#fff!important}.social-links a:first-child:hover svg path{fill:#133845!important}
.powered-by-amplify{filter:brightness(0) saturate(100%) invert(18%) sepia(23%) saturate(1583%) hue-rotate(143deg) brightness(92%) contrast(93%)}
.area-zones details[open] .zone-content{animation:locationReveal .28s ease-out both}@keyframes locationReveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.service-grid span{inset:50% auto auto 50%!important;transform:translate(-50%,-50%);width:172px;text-align:center;font-size:clamp(27px,2.4vw,36px)!important;line-height:.92!important;letter-spacing:-.045em}.service-grid span small{position:static;margin:0 0 14px!important;font-size:12px!important}.service-grid span b{position:absolute;left:50%;bottom:-67px;transform:translateX(-50%);float:none!important}.service-grid>a:nth-child(5) span,.service-grid>a:nth-child(6) span{width:185px}@media(max-width:560px){.service-grid span{font-size:31px!important}}
.stats{background:#fff!important;color:#133845}.stats b{color:#133845!important}.stats span{color:#527078!important}
/* Warm logo-tan accents, used sparingly. */
.primary,.hero .white,.final-cta .white{background:#ffe9a7!important;color:#133845!important}.primary:hover,.hero .white:hover,.final-cta .white:hover{background:#fff!important}.service-grid small{color:#ffe9a7!important}.expect .section-title p{color:#ffe9a7!important}.final-cta h2 em{color:#ffe9a7!important}
.hero-shade{background:linear-gradient(180deg,rgba(19,56,69,.38) 0%,rgba(19,56,69,.6) 68%,rgba(82,157,180,.72) 100%)!important}
.service-grid span small{display:none!important}.service-grid span b{left:auto!important;right:-74px;bottom:-72px;transform:none!important;transition:transform .22s,background .22s}.service-grid>a:hover span b{transform:translateX(7px);background:#ffe9a7;color:#133845}
.footer-col a:hover{color:#ffe9a7!important}.amplify-link{display:inline-flex;align-items:center}.amplify-link:hover .powered-by-amplify{filter:brightness(0) saturate(100%) invert(91%) sepia(42%) saturate(508%) hue-rotate(333deg) brightness(105%) contrast(102%)}
.service-grid>a>b{position:absolute!important;z-index:2;right:22px!important;bottom:22px!important;left:auto!important;width:46px;height:46px;transform:none!important;transition:transform .24s ease,background .24s ease,color .24s ease}.service-grid>a:hover>b{transform:translate(5px,-5px)!important;background:#ffe9a7!important;color:#133845!important}
.expect-grid i{background:#ffe9a7!important;color:#133845!important}
.footer-contact{gap:11px!important}.footer-contact a,.footer-contact a:first-child,.footer-contact span{font-family:Gilroy,Arial,sans-serif!important;font-size:15px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:0!important;color:#fff!important;transition:transform .2s,color .2s}.footer-contact a:hover{color:#ffe9a7!important;transform:translateX(5px)}

/* One shared CTA component across every page. */
.button,.sub-button{min-width:220px!important;height:58px!important;padding:0 26px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;font-family:Gilroy,Arial,sans-serif!important;font-size:12px!important;font-weight:900!important;line-height:1!important;letter-spacing:.1em!important;text-align:center!important;white-space:nowrap!important}
@media(max-width:560px){.button,.sub-button{min-width:200px!important;height:54px!important;font-size:11px!important}}

/* Footer social buttons use the same true icons and dark, stable hover state everywhere. */
footer .social-links a,footer .social-links a:hover{background:#133845!important;color:#fff!important}
footer .social-links a{transition:transform .32s cubic-bezier(.22,.75,.25,1),background .32s ease,box-shadow .32s ease!important}
footer .social-links a:hover{transform:translateY(-3px) scale(1.04)!important;box-shadow:0 8px 18px rgba(19,56,69,.2)!important}
footer .social-links svg,footer .social-links svg path{width:22px;height:22px;fill:#fff!important}
footer .social-links a:first-child:hover svg path{fill:#fff!important}

/* Global surface rule: only Lakeland light teal and white are used as page backgrounds. */
.marquee,.location-offer,.service-process,.final-cta,.quote-band{background:#529db4!important;color:#133845!important}
.soft-section,.location-page .location-map-section,.location-page .location-difference{background:#fff!important}
.service-intro-points{background:#fff!important}
.location-offer .heading .eyebrow,.location-offer .heading h2,.service-process .heading .eyebrow,.service-process .heading h2{color:#133845!important}
.location-offer .heading h2 em,.service-process .heading h2 em{color:#fff!important}
.location-offer .location-chips a{background:#fff!important;border-color:#fff!important;color:#133845!important}
.location-offer .location-chips a:hover{background:#ffe9a7!important;color:#133845!important}
.service-process .step{background:#fff!important;color:#133845!important;box-shadow:0 16px 30px rgba(19,56,69,.12)!important}
.marquee{color:#133845!important}
.hero h1{color:#fff!important}
.sub-hero:before,.location-page .sub-hero:before,.service-page .sub-hero:before{background:linear-gradient(180deg,rgba(19,56,69,.38),rgba(19,56,69,.68))!important}

/* Balanced header actions. */
.nav-actions .button.primary{background:#133845!important;color:#fff!important}
.nav-actions .button.primary:hover{background:#0d2d35!important}
.nav-actions .button.primary,.nav-actions .phone{min-width:168px!important;height:48px!important;padding:0 20px!important;font-size:11px!important}
.nav-actions .phone{display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;background:#529db4!important;color:#fff!important;font-family:Gilroy,Arial,sans-serif!important;font-size:0!important;font-weight:900!important;line-height:1!important;letter-spacing:.1em!important}
.nav-actions .phone:after{content:attr(data-label)!important;font-size:11px!important}
@media(max-width:560px){.nav-actions .phone{display:none!important}}

/* Tighter section handoffs—remove empty-looking space between related content. */
.final-cta{padding:56px 24px 28px!important}
footer{padding-top:42px!important}
.service-intro{padding:64px 48px!important}
.service-benefits .sub-wrap{padding-top:50px!important;padding-bottom:64px!important}
@media(max-width:780px){.service-intro{padding:54px 24px!important}.service-benefits .sub-wrap{padding-top:44px!important;padding-bottom:54px!important}}

/* Mobile readiness: compact navigation, reliable tap targets, and zero horizontal spill. */
.menu-toggle{display:none;border:0;width:44px;height:44px;padding:0;border-radius:50%;background:#133845;color:#fff;cursor:pointer;place-items:center;gap:4px;align-content:center;transition:transform .25s ease,background .25s ease}.menu-toggle i{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease}.menu-toggle:hover{background:#0d2d35;transform:scale(1.04)}
html,body{max-width:100%;overflow-x:hidden}
img,iframe{max-width:100%}
@media(max-width:1100px){.nav-pill nav{display:none!important}.nav-pill{grid-template-columns:auto auto!important;justify-content:space-between!important}.menu-toggle{display:grid}.site-header.menu-open .nav-pill nav{position:absolute;top:calc(100% + 10px);right:0;left:0;display:grid!important;gap:4px;padding:12px;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 18px 35px rgba(19,56,69,.16);font-size:12px!important;text-align:center}.site-header.menu-open .nav-pill nav a{padding:14px 16px;border-radius:12px}.site-header.menu-open .nav-pill nav a:hover{background:#e9f5f7}.site-header.menu-open .menu-toggle i:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-header.menu-open .menu-toggle i:nth-child(2){opacity:0}.site-header.menu-open .menu-toggle i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}
@media(max-width:680px){.site-header{padding:10px!important}.nav-pill{gap:10px!important;padding:6px 8px 6px 13px!important}.brand:after{width:108px!important;height:40px!important;background-size:130px 130px!important}.nav-actions .phone{display:none!important}.nav-actions .button.primary{min-width:128px!important;height:42px!important;padding:0 13px!important;font-size:9px!important}.menu-toggle{width:40px;height:40px}.button,.sub-button{max-width:calc(100vw - 44px)!important}.hero{min-height:620px!important;height:84svh!important}.hero-copy{padding:118px 22px 58px!important}.hero h1{font-size:clamp(43px,13vw,66px)!important;line-height:.9!important}.hero-copy>p:not(.overline){font-size:16px!important;margin:20px auto 25px!important}.sub-hero{min-height:530px!important;padding:118px 22px 58px!important}.sub-hero h1{font-size:clamp(42px,12vw,62px)!important;overflow-wrap:anywhere}.sub-hero .hero-description{font-size:16px!important}.stats{grid-template-columns:1fr 1fr!important;padding:34px 18px 20px!important;gap:8px!important}.stats div{padding-bottom:16px!important}.stats b{font-size:40px!important}.expect,.services,.areas{padding:58px 20px!important}.section-title{margin-bottom:38px!important}.section-title h2,.heading h2{font-size:clamp(38px,11vw,58px)!important;overflow-wrap:anywhere}.expect-grid,.service-grid,.service-cards,.city-grid,.values-grid,.process,.difference-grid{grid-template-columns:1fr!important}.expect-grid{gap:15px!important}.expect-grid article{min-height:0!important;padding:24px 20px!important}.service-grid>a{aspect-ratio:4/3.25!important}.service-grid span{width:190px!important}.service-grid span b{right:-58px!important;bottom:-58px!important}.area-grid,.service-area-layout{grid-template-columns:1fr!important;gap:25px!important}.map,.location-map{height:300px!important;border-radius:16px!important}.area-zones details{border-radius:18px!important}.area-zones summary{font-size:16px!important}.location-page .sub-hero{min-height:560px!important;height:auto!important;padding:125px 22px 60px!important}.location-page .location-intro{padding:56px 22px!important}.location-chips,.nearby-section .location-chips{grid-template-columns:1fr!important}.location-chips a{min-height:62px!important}.location-page .sub-wrap{padding:52px 22px!important}.location-page .location-map{height:300px!important}.service-intro{padding:52px 22px!important;gap:30px!important}.service-intro-copy h2{font-size:clamp(36px,10vw,54px)!important}.service-intro-points{padding:24px!important}.service-benefits .sub-wrap{padding:44px 22px 54px!important}.service-process .sub-wrap{padding:54px 22px!important}.faq-heading{margin-bottom:34px!important}.faq-item summary{padding:20px 2px!important;font-size:20px!important;line-height:1.2!important}.faq-item[open] .faq-answer p{padding:0 4px 21px 41px!important}.quote-band,.final-cta{padding:54px 22px 32px!important}.quote-band h2,.final-cta h2{font-size:clamp(40px,12vw,60px)!important}.footer-main{grid-template-columns:1fr!important;gap:30px!important;padding-bottom:36px!important}.footer-brand{grid-column:auto!important;align-items:flex-start!important;text-align:left!important}.footer-brand>h3,.footer-contact{align-self:flex-start!important;text-align:left!important}.footer-brand img{width:190px!important;height:88px!important;margin:-12px 0 7px!important}.footer-brand>h3,.footer-col h3{margin:25px 0 13px!important}.footer-col{gap:12px!important}.footer-bottom{flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:16px!important;padding-top:19px!important}.footer-bottom .copyright,.footer-bottom .amplify-link{align-self:center!important;text-align:center!important}.powered-by-amplify{width:145px!important}.social-links a{width:44px!important;height:44px!important}h1,h2,h3,p,a{overflow-wrap:anywhere}}

/* Page-wide, one-time scroll reveals. */
.scroll-reveal{opacity:0;transform:translateY(28px);filter:blur(4px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.22,.75,.25,1) var(--reveal-delay,0ms),filter .55s ease var(--reveal-delay,0ms);will-change:opacity,transform,filter}.scroll-reveal.is-revealed{opacity:1;transform:translateY(0);filter:blur(0)}.service-grid>a.scroll-reveal{transform:translateY(34px) scale(.985)}.service-grid>a.scroll-reveal.is-revealed{transform:translateY(0) scale(1)}.expect-grid article.scroll-reveal.is-revealed:hover{transform:translateY(-6px)}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}

/* Magically Reviews-inspired typography: bold display face for hierarchy, Poppins for readability. */
@font-face{font-family:"Lemon Milk";src:local("LEMON MILK Bold"),local("LEMON MILK");font-weight:700 900;font-style:normal;font-display:swap}
:root{--font-body:"Poppins",Arial,sans-serif;--font-display:"Lemon Milk","Montserrat","Poppins",sans-serif}
body,button,input,textarea,select,.footer-contact,.copyright,.faq-answer,.hero-copy>p,.sub-hero .hero-description{font-family:var(--font-body)!important}
h1,h2,h3,h4,h5,h6,.button,.sub-button,.phone:after,.nav-pill nav,.menu-toggle,.eyebrow,.overline,.section-title p,.heading p,.stats b,.expect-grid h3,.area-zones summary,.footer-brand>h3,.footer-col h3,.faq-item summary,.location-chips a,.service-grid span,.service-card h3{font-family:var(--font-display)!important;font-weight:800!important}
.button,.sub-button,.phone:after,.nav-pill nav,.menu-toggle,.eyebrow,.overline,.section-title p,.heading p,.footer-brand>h3,.footer-col h3{letter-spacing:.08em!important}

/* A distinct, continuously moving services ribbon between the light teal and white sections. */
.marquee{background:#133845!important;color:#fff!important;box-shadow:none!important}
.marquee b{color:#ffe9a7!important}

/* Home video: clean, prominent proof immediately after the hero. */
.intro-video{padding:82px 24px 92px;background:#fff!important}.intro-video .section-title{margin-bottom:38px!important}.intro-video-frame{width:min(100%,1050px);margin:0 auto;aspect-ratio:16/9;overflow:hidden;border-radius:24px;box-shadow:0 24px 52px rgba(19,56,69,.18);background:#133845}.intro-video-frame iframe{display:block;width:100%;height:100%;border:0}@media(max-width:680px){.intro-video{padding:56px 20px 64px}.intro-video .section-title{margin-bottom:28px!important}.intro-video-frame{border-radius:18px;box-shadow:0 17px 36px rgba(19,56,69,.16)}}

/* Make full-catalog service cards unmistakably clickable. */
.service-cards>a.service-card{cursor:pointer;transition:transform .3s cubic-bezier(.22,.75,.25,1),box-shadow .3s ease,filter .3s ease!important}
.service-cards>a.service-card .service-card-image{position:absolute!important;inset:0!important;z-index:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;opacity:1!important}
.service-cards>a.service-card:before{z-index:1!important;background:linear-gradient(180deg,rgba(8,35,43,.08) 10%,rgba(8,35,43,.88) 100%)!important}
.service-cards>a.service-card>div{position:relative;z-index:2}
.service-cards>a.service-card:after{content:"VIEW SERVICE  ↗";position:absolute;right:22px;bottom:22px;z-index:2;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:#ffe9a7;color:#133845;font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:.08em;opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .3s cubic-bezier(.22,.75,.25,1);pointer-events:none}
.service-cards>a.service-card>div{transition:transform .3s cubic-bezier(.22,.75,.25,1)}
.service-cards>a.service-card:hover,.service-cards>a.service-card:focus-visible{transform:translateY(-9px) scale(1.015)!important;box-shadow:0 25px 48px rgba(19,56,69,.26)!important;filter:saturate(1.08)}
.service-cards>a.service-card:hover>div,.service-cards>a.service-card:focus-visible>div{transform:translateY(-70px)}
.service-cards>a.service-card:hover:before,.service-cards>a.service-card:focus-visible:before{background:linear-gradient(180deg,rgba(8,35,43,.08) 12%,rgba(8,35,43,.94) 100%)}
.service-cards>a.service-card:hover:after,.service-cards>a.service-card:focus-visible:after{opacity:1;transform:translateY(0)}
.service-cards>a.service-card:focus-visible{outline:3px solid #ffe9a7;outline-offset:4px}@media(max-width:680px){.service-cards>a.service-card>div{transform:translateY(-60px)}.service-cards>a.service-card:after{opacity:1;transform:none;right:18px;bottom:18px;font-size:9px;min-height:35px}}

/* Content can enter gracefully without changing a page's native scroll behavior. */
html{scroll-behavior:auto!important}.hero-shade{pointer-events:none!important}
.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
.scroll-reveal{opacity:0!important;transform:translateY(24px)!important;filter:blur(3px)!important;transition:opacity .64s ease var(--reveal-delay,0ms),transform .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),filter .52s ease var(--reveal-delay,0ms)!important;will-change:opacity,transform,filter}
.scroll-reveal.is-revealed{opacity:1!important;transform:translateY(0)!important;filter:none!important}
.service-grid>a.scroll-reveal,.service-cards>a.service-card.scroll-reveal{transform:translateY(28px) scale(.985)!important}
.service-grid>a.scroll-reveal.is-revealed,.service-cards>a.service-card.scroll-reveal.is-revealed{transform:translateY(0) scale(1)!important}
@media(min-width:681px){.hero{height:100vh!important;min-height:100vh!important}}

/* Normal page scrolling everywhere — no snap points, scroll capture, or delayed movement. */
html,body,main,section{scroll-snap-type:none!important;scroll-snap-align:none!important;scroll-snap-stop:normal!important;scroll-behavior:auto!important;overscroll-behavior:auto!important}
/* Keep every standard page on one native document scroll layer.  This deliberately
   leaves the standalone split decision screen alone, while preventing a nested
   height/overflow context from swallowing the first wheel or trackpad gesture. */
html{height:auto!important;min-height:100%!important;overflow-y:auto!important}
body:not(.split-home){height:auto!important;min-height:0!important;overflow:visible!important;overflow-y:auto!important}
body:not(.split-home) main{height:auto!important;min-height:0!important;overflow:visible!important;overflow-y:visible!important}

/* FAQ accordions use a small centered chevron that gently travels with the panel. */
.faq-item summary i{display:grid!important;place-items:center!important;width:42px!important;flex:0 0 42px!important;height:42px!important;line-height:1!important;color:transparent!important;transform:none!important;transition:none!important}
.faq-item summary i::before{content:"";display:block;width:10px;height:10px;border-right:2px solid #d8a52d;border-bottom:2px solid #d8a52d;transform-origin:50% 50%;transform:translateY(-2px) rotate(45deg);transition:transform .36s cubic-bezier(.22,1,.36,1)!important}
.faq-item[open] summary i{transform:none!important}
.faq-item[open] summary i::before{transform:translateY(2px) rotate(-135deg)}
.faq-item.is-closing summary i::before{transform:translateY(-2px) rotate(45deg)}
.faq-answer{grid-template-rows:0fr!important;opacity:0;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),opacity .25s ease!important}
.faq-item[open] .faq-answer{grid-template-rows:1fr!important;opacity:1}
.faq-item.is-animating .faq-answer{transition:none!important}
.faq-answer p{min-height:0!important;padding:0 65px 0!important;transition:padding .38s cubic-bezier(.22,1,.36,1)!important}
.faq-item[open] .faq-answer p{padding:0 65px 28px!important}
@media(max-width:768px){.faq-item summary i{width:30px!important;flex-basis:30px!important;height:30px!important}.faq-answer p{padding:0 2px 0 38px!important}.faq-item[open] .faq-answer p{padding:0 2px 20px 38px!important}}
/* Subpages retain native browser scrolling; only their foreground content is revealed. */

/* Footer stays a distinct, opaque light-teal surface on every page. */
footer{position:relative!important;isolation:isolate!important;background:#529db4!important;background-image:none!important;opacity:1!important;filter:none!important}
footer::before,footer::after{opacity:0!important;background:none!important}
footer .footer-main,footer .footer-bottom,footer .footer-main>*,footer .footer-bottom>*{opacity:1!important;filter:none!important;animation:none!important}

/* FAQ: animate only the answer height so its divider settles in the same motion. */
.faq-answer{display:block!important;grid-template-rows:none!important;height:0;overflow:hidden;opacity:1!important;transition:none!important}
.faq-item[open] .faq-answer{display:block!important;grid-template-rows:none!important;height:auto;overflow:hidden;opacity:1!important;transition:none!important}
.faq-answer p,.faq-item[open] .faq-answer p{min-height:0!important;padding:0 65px 28px!important;transition:none!important}
.faq-item.is-animating .faq-answer{overflow:hidden!important}
@media(max-width:768px){.faq-answer p,.faq-item[open] .faq-answer p{padding:0 2px 20px 38px!important}}

/* One consistent CTA language across every page. */
.button,.sub-button,.phone,.membership-cta{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s cubic-bezier(.22,.75,.25,1),background-color .3s ease,color .3s ease,box-shadow .3s ease!important}
.button,.sub-button,.phone:after{font-size:13px!important;letter-spacing:.1em!important}
.button:before,.sub-button:before,.phone:before,.membership-cta:before{content:"";position:absolute;top:-55%;bottom:-55%;left:-42%;width:30%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.08) 22%,rgba(255,255,255,.64) 50%,rgba(255,255,255,.08) 78%,transparent 100%);transform:translateX(-240%) skewX(-20deg);transition:transform .62s cubic-bezier(.22,.75,.25,1);pointer-events:none}
.button:hover:before,.sub-button:hover:before,.phone:hover:before,.button:focus-visible:before,.sub-button:focus-visible:before,.phone:focus-visible:before,.membership-cta:hover:before,.membership-cta:focus-visible:before{transform:translateX(610%) skewX(-20deg)}
.button:hover,.sub-button:hover,.phone:hover,.membership-cta:hover{transform:translateY(-3px)!important;box-shadow:0 10px 20px rgba(19,56,69,.16)}
.button:focus-visible,.sub-button:focus-visible,.phone:focus-visible{outline:3px solid #ffe9a7;outline-offset:3px}@media(max-width:680px){.button,.sub-button,.phone:after{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.button,.sub-button,.phone,.button:before,.sub-button:before,.phone:before,.membership-cta,.membership-cta:before{transition:none!important}.button:hover,.sub-button:hover,.phone:hover,.membership-cta:hover{transform:none!important}}

/* Preserve each CTA's existing color; hover adds only the shine treatment. */
.primary:hover,.hero .white:hover,.final-cta .white:hover,.sub-button:hover,.quote-band .sub-button:hover,.location-page .hero-button:hover,.service-page .hero-button:hover{background:#ffe9a7!important;color:#133845!important}
.nav-actions .button.primary:hover{background:#133845!important;color:#fff!important}.nav-actions .phone:hover{background:#529db4!important;color:#fff!important}

/* Lakeland heading system: two-tone hierarchy with a surface-specific accent. */
.section-title p,.heading .eyebrow{color:#529db4!important}.section-title h2,.heading h2{color:#133845!important}.section-title h2 em,.heading h2 em{color:#529db4!important}
.intro-video .section-title p,.areas .section-title p{color:#ffe9a7!important}.intro-video .section-title h2 em,.areas .section-title h2 em{color:#ffe9a7!important}
.expect .section-title p{color:#ffe9a7!important}.expect .section-title h2{color:#133845!important}.expect .section-title h2 em{color:#fff!important}
.review-band>div>p{color:#ffe9a7!important}.review-band h2{color:#133845!important}.review-band h2 em{color:#fff!important}
.final-cta>p{color:#fff!important}.final-cta h2{color:#133845!important}.final-cta h2 em{color:#ffe9a7!important}
.teal-section .heading .eyebrow,.location-offer .heading .eyebrow,.service-process .heading .eyebrow,.quote-band .heading .eyebrow{color:#ffe9a7!important}.teal-section .heading h2,.location-offer .heading h2,.service-process .heading h2,.quote-band .heading h2{color:#133845!important}.teal-section .heading h2 em,.location-offer .heading h2 em,.service-process .heading h2 em,.quote-band .heading h2 em{color:#fff!important}
.soft-section .heading h2 em,.service-benefits .heading h2 em,.location-map-section .heading h2 em,.location-difference .heading h2 em{color:#ffe9a7!important}

/* Mobile-ready pass: readable, tap-friendly layouts across home and every generated page. */
@media(max-width:768px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{min-width:0}
  .site-header{padding:8px!important}
  .nav-pill{min-height:54px;gap:8px!important;padding:6px 7px 6px 12px!important}
  .brand:after{width:104px!important;height:39px!important;background-size:125px 125px!important}
  .nav-actions{gap:7px!important}
  .nav-actions .button.primary{min-width:118px!important;height:42px!important;padding:0 11px!important;font-size:9px!important}
  .menu-toggle{width:40px!important;height:40px!important;flex:0 0 40px}
  .site-header.menu-open .nav-pill nav{left:0!important;right:0!important;top:calc(100% + 8px)!important;max-height:calc(100svh - 80px);overflow:auto}
  .site-header.menu-open .nav-pill nav a{min-height:46px;display:grid;place-items:center}
  .sub-hero{min-height:560px!important;padding:112px 22px 54px!important;align-items:center!important;text-align:center!important;background-position:center!important}
  .sub-hero .reveal{width:min(100%,680px);margin:auto}
  .sub-hero h1{font-size:clamp(40px,11vw,62px)!important;line-height:.91!important}
  .sub-hero .hero-description{max-width:34rem!important;margin:20px auto 0!important;font-size:16px!important;line-height:1.5!important}
  .sub-hero .hero-button{margin-top:24px!important}
  .sub-wrap{padding-left:20px!important;padding-right:20px!important}
  .lead{font-size:16px!important;line-height:1.58!important;margin-bottom:32px!important}
  .service-cards,.city-grid,.values-grid,.difference-grid,.process{gap:14px!important}
  .service-card{min-height:292px!important;padding:22px!important;border-radius:18px!important}
  .service-card h3{font-size:clamp(23px,7vw,31px)!important}
  .city-card,.value-card,.difference-card{padding:21px!important;border-radius:16px!important}
  .city-card h3,.value-card h3,.difference-card h3{font-size:18px!important}
  .city-card p,.value-card p,.difference-card p{font-size:15px!important}
  .location-page .sub-hero{min-height:570px!important;height:auto!important;padding:118px 22px 56px!important}
  .location-page .location-intro{padding:54px 20px!important}
  .location-narrow h2{font-size:clamp(36px,10vw,54px)!important}
  .location-narrow>p:last-child{font-size:16px!important;line-height:1.58!important}
  .location-page .sub-wrap,.location-offer .sub-wrap,.location-map-section .sub-wrap,.location-difference .sub-wrap{padding:52px 20px!important}
  .location-chips,.nearby-section .location-chips{grid-template-columns:1fr!important;gap:10px!important}
  .location-chips a{min-height:58px!important;padding:13px 16px!important;font-size:12px!important}
  .location-map{height:290px!important;border-radius:16px!important}
  .service-intro{grid-template-columns:1fr!important;padding:52px 20px!important;gap:26px!important}
  .service-intro-copy{text-align:center!important}
  .service-intro-copy .sub-button{margin-left:auto!important;margin-right:auto!important}
  .service-intro-points{padding:22px!important}
  .service-process .sub-wrap,.service-benefits .sub-wrap{padding:52px 20px!important}
  .faq-item summary{min-height:68px;padding:18px 2px!important;font-size:18px!important;line-height:1.25!important}
  .faq-item summary i{width:30px!important;flex-basis:30px!important;font-size:25px!important}
  .faq-item[open] .faq-answer p{padding:0 2px 20px 38px!important;font-size:15px!important}
  .quote-band,.final-cta{padding:52px 20px 34px!important}
  .quote-band p{font-size:16px!important}
  .footer-main{grid-template-columns:1fr!important;gap:28px!important;padding-bottom:32px!important}
  .footer-brand{grid-column:auto!important}
  footer{padding:52px 20px 22px!important}
  .footer-brand img{width:176px!important;height:80px!important;margin:-8px 0 4px!important}
  .footer-brand>h3,.footer-col h3{margin:23px 0 12px!important}
  .footer-col{gap:11px!important}
  .footer-col a,.footer-contact a,.footer-contact span{font-size:14px!important;line-height:1.5!important}
  .social-links a{width:42px!important;height:42px!important}
  .footer-bottom{flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:14px!important;text-align:center!important}
  .footer-bottom .copyright,.footer-bottom .amplify-link{align-self:center!important;text-align:center!important}
  .powered-by-amplify{width:136px!important}
  input,select,textarea{font-size:16px!important}
}
@media(max-width:390px){
  .brand:after{width:94px!important;height:36px!important;background-size:114px 114px!important}
  .nav-actions .button.primary{min-width:108px!important;padding:0 8px!important;font-size:8px!important}
  .menu-toggle{width:38px!important;height:38px!important;flex-basis:38px}
  .split-choice strong{font-size:clamp(36px,12vw,52px)!important}
  .split-choice__button{font-size:9px!important;letter-spacing:.07em!important}
  .quote-page .quote-progress{gap:0!important}
  .quote-page .quote-progress i{font-size:7px!important;letter-spacing:.03em!important}
  .quote-page .quote-actions{gap:9px!important}
  .quote-page .quote-back{min-width:92px!important;font-size:8px!important}
}

/* Service cards: a centered, heavier directional mark with a clear tap target. */
.service-grid>a>b{
  width:58px!important;
  height:58px!important;
  right:18px!important;
  bottom:18px!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  line-height:0!important;
  isolation:isolate;
}
.service-grid>a>b::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:28px;
  height:18px;
  background:currentColor;
  transform:translate(-50%,-50%);
  clip-path:polygon(0 39%,58% 39%,58% 0,100% 50%,58% 100%,58% 61%,0 61%);
}
.service-grid>a>b::after{
  content:none;
}
.service-grid>a:hover>b{transform:translate(4px,-4px)!important}

/* Keep the home service choices concise and easy to scan on phones. */
@media(max-width:680px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .service-grid>a{aspect-ratio:4 / 4.8!important;border-radius:18px!important}
  .service-grid span{width:calc(100% - 22px)!important;font-size:clamp(20px,6.1vw,28px)!important}
  .service-grid>a:nth-child(5) span,.service-grid>a:nth-child(6) span{width:calc(100% - 22px)!important}
  .service-grid>a>b{width:44px!important;height:44px!important;right:12px!important;bottom:12px!important}
  .service-grid>a>b::before{width:24px;height:16px}
}

/* Larger, consistent CTA typography while preserving compact header controls. */
.button,.sub-button,.phone:after{font-size:18px!important}
.nav-actions .button.primary,.nav-actions .phone:after{font-size:12px!important}
@media(max-width:680px){
  .button,.sub-button,.phone:after{font-size:16px!important}
  .nav-actions .button.primary,.nav-actions .phone:after{font-size:10px!important}
}

/* Replace platform emoji arrows with a precise CSS arrow in service-card actions. */
.service-cards>a.service-card:after{content:none!important}
.service-card-action{
  position:absolute;
  right:22px;
  bottom:22px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  background:#ffe9a7;
  color:#133845;
  font-family:var(--font-display);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .25s ease,transform .3s cubic-bezier(.22,.75,.25,1);
  pointer-events:none;
}
.service-card-action i{position:relative;display:block;width:16px;height:14px}
.service-card-action i::before{content:"";position:absolute;left:0;top:5px;width:15px;height:3px;border-radius:999px;background:currentColor}
.service-card-action i::after{content:"";position:absolute;right:0;top:1px;width:8px;height:8px;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(45deg)}
.service-cards>a.service-card:hover .service-card-action,.service-cards>a.service-card:focus-visible .service-card-action{opacity:1;transform:translateY(0)}
@media(max-width:680px){
  .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .service-cards>a.service-card{min-height:250px!important}
  .service-card h3{font-size:clamp(19px,5.6vw,27px)!important}
  .service-card p{font-size:13px!important;line-height:1.42!important}
  .service-cards>a.service-card>div{transform:translateY(-46px)!important}
  .service-card-action{right:12px;bottom:12px;min-height:34px;padding:0 11px;gap:8px;font-size:8px;opacity:1;transform:none}
  .service-card-action i{width:13px;height:12px}.service-card-action i::before{top:5px;width:12px;height:2px}.service-card-action i::after{top:2px;width:7px;height:7px;border-top-width:2px;border-right-width:2px}
}

/* Mobile header: one clean hamburger opens a full-screen menu. */
.mobile-quote-link,.mobile-service-link{display:none}
@media(max-width:768px){
  .nav-actions .phone,.nav-actions .button.primary{display:none!important}
  .menu-toggle{position:relative;z-index:102;background:transparent!important;color:#133845!important;border-radius:0!important;box-shadow:none!important}
  .menu-toggle:hover{background:transparent!important;transform:none!important}
  .menu-toggle i{width:22px!important;height:2px!important}
  .site-header.menu-open .nav-pill{position:relative;z-index:102;background:rgba(255,255,255,.88)!important;box-shadow:0 12px 34px rgba(19,56,69,.16)!important;border-color:rgba(255,255,255,.65)!important;backdrop-filter:blur(22px)!important}
  .site-header.menu-open .nav-pill nav{position:fixed!important;z-index:101!important;top:74px!important;right:0!important;bottom:0!important;left:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;max-height:none!important;padding:62px 24px 56px!important;border-radius:0!important;background:#529db4!important;color:#133845!important;box-shadow:none!important;overflow:auto!important}
  .site-header.menu-open .nav-pill nav a{width:min(100%,340px)!important;min-height:56px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px 20px!important;border-bottom:1px solid rgba(19,56,69,.2)!important;border-radius:0!important;font-size:15px!important;letter-spacing:.09em!important}
  .site-header.menu-open .nav-pill nav a:hover,.site-header.menu-open .nav-pill nav a:focus-visible{background:transparent!important;color:#fff!important}
  .site-header.menu-open .nav-pill nav .mobile-quote-link{display:inline-flex!important;min-height:50px!important;margin-top:18px!important;border:0!important;border-radius:999px!important;background:#ffe9a7!important;color:#133845!important;font-size:11px!important}
  .site-header.menu-open .nav-pill nav .mobile-service-link{display:inline-flex!important;min-height:50px!important;border:0!important;border-radius:999px!important;font-size:10px!important}
  .site-header.menu-open .nav-pill nav .mobile-window-link{margin-top:12px!important;background:#133845!important;color:#fff!important}
  .site-header.menu-open .nav-pill nav .mobile-lights-link{background:#b7192a!important;color:#fff!important}
  .site-header.menu-open .menu-toggle{color:#133845!important}
}

/* Give the Amplify credit mark a little more presence without changing the footer layout. */
.powered-by-amplify{width:205px!important}
@media(max-width:768px){.powered-by-amplify{width:165px!important}}

/* Let service benefit cards on phones follow their copy rather than a desktop card height. */
@media(max-width:768px){
  .service-benefits .value-card{min-height:0!important;padding:26px 22px!important}
  .service-benefits .value-card p{margin-bottom:0!important}
}

/* Holiday Lighting is the seasonal accent action everywhere it is offered. */
.nav-actions .phone[data-label="HOLIDAY LIGHTING"],
.nav-actions .phone[data-label="HOLIDAY LIGHTING"]:hover,
.nav-actions .phone[data-label="HOLIDAY LIGHTING"]:focus-visible{
  background:#b7192a!important;
  border-color:#b7192a!important;
  color:#fff!important;
}
/* Homepage memberships: scoped styles preserve other CTA and card layouts. */
.memberships{padding:80px 24px;background:#fff;color:#529db4}
.membership-heading{text-align:center;margin:0 auto 40px}
.membership-heading h2{font-size:clamp(32px,4vw,48px);line-height:1.15;margin:0 0 12px;color:#529db4}
.membership-heading p{font-size:20px;line-height:1.5;font-weight:600;margin:0}
.membership-grid{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.membership-card{background:#fff;border:1px solid #f2f5f6;border-radius:22px;padding:36px 28px;box-shadow:0 12px 36px rgba(21,59,71,.09);text-align:center;display:flex;flex-direction:column;min-width:0}
.membership-card h3{font-size:18px;line-height:1.4;letter-spacing:1px;color:#ad7917;margin:0 0 16px;text-transform:uppercase}
.membership-card .membership-saving{font-size:34px;line-height:1.2;font-weight:800;margin:0 0 4px;color:#529db4}
.membership-card .membership-frequency{font-size:13px;font-weight:600;letter-spacing:1.6px;margin:0;color:#529db4}
.membership-card ul{list-style:none;text-align:left;margin:28px 0;padding:0;display:grid;gap:14px}
.membership-card li{display:flex;align-items:baseline;gap:12px;font-size:14px;line-height:1.6}
.membership-check{flex:0 0 16px;font:700 18px/1 sans-serif}.membership-check.included{color:#187330}.membership-check.excluded{color:#bf2132}
.membership-card .membership-cta{display:flex;align-items:center;justify-content:center;min-height:52px;padding:14px 16px;border-radius:999px;background:#ffe9a7;color:#153b47;font-size:15px;line-height:1.3;font-weight:800;letter-spacing:.7px;text-decoration:none;margin-top:auto;transition:box-shadow .2s ease}
.membership-card .membership-cta:hover{box-shadow:0 4px 16px rgba(21,59,71,.15)}
.membership-card .membership-cta:focus-visible{outline:3px solid #153b47;outline-offset:4px}
@media(max-width:760px){.memberships{padding:56px 20px}.membership-grid{grid-template-columns:1fr;max-width:420px;gap:22px}.membership-card{padding:30px 26px}.membership-heading p{font-size:18px}}
.membership-card--popular{position:relative;border:2px solid #529db4}
.membership-card .membership-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);margin:0;padding:8px 18px;border-radius:999px;background:#153b47;color:#fff;font-size:12px;font-weight:800;letter-spacing:1px;white-space:nowrap}
.lighting-gallery-photo{margin:0 auto;max-width:1100px}.lighting-gallery-photo img{display:block;width:100%;height:auto;border-radius:24px}.lighting-gallery-photo figcaption{font-size:16px;margin-top:16px;text-align:center}.lighting-gallery-actions{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}.holiday-gallery-link{text-align:center;background:#fff}.lighting-quote-section{padding-top:130px}.lighting-quote-section .sub-wrap{max-width:920px}.lighting-quote-section h1{font-size:clamp(36px,6vw,68px);line-height:1.1}.lighting-quote-section h1 em{color:#b7192a}.lighting-quote-form{display:grid;gap:24px}.lighting-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.lighting-wide{grid-column:1/-1}.lighting-quote-form label{display:grid;gap:8px;font-weight:600;font-size:16px}.lighting-quote-form input,.lighting-quote-form select,.lighting-quote-form textarea{box-sizing:border-box;width:100%;min-width:0;padding:16px;border:1px solid #c8d8dd;border-radius:12px;background:#fff;color:#153b47;font:inherit}.lighting-quote-form fieldset{min-width:0;border:1px solid #c8d8dd;border-radius:12px;padding:20px}.lighting-quote-form legend{padding:0 8px;font-weight:600}.lighting-options{display:flex;flex-wrap:wrap;gap:20px}.lighting-options label{display:flex;align-items:center;gap:8px}.lighting-options input{width:20px;height:20px;accent-color:#b7192a}.lighting-quote-form input:focus-visible,.lighting-quote-form textarea:focus-visible,.lighting-quote-form select:focus-visible{outline:2px solid #b7192a;outline-offset:2px}.lighting-quote-form .sub-button{background:#b7192a!important;color:#fff!important;justify-self:start}.lighting-quote-form button:disabled{opacity:.55;cursor:not-allowed}.lighting-quote-form [role=status]{margin:0;padding:16px;background:#fff4f3;border-radius:12px;font-size:16px}.lighting-quote-form [role=status] a{text-decoration:underline}
@media(max-width:600px){.lighting-form-grid{grid-template-columns:1fr}.lighting-quote-section{padding-top:100px}.lighting-quote-form .sub-button{width:100%;font-size:15px!important}.membership-grid{row-gap:36px}}
