:root{--navy:#07172f;--navy2:#102947;--gold:#d6ad55;--ink:#10243d;--muted:#526176;--line:#dae1e9;--soft:#f3f6fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:1rem/1.65 'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c69428;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;line-height:1.12;letter-spacing:-.025em}h2{font-size:clamp(2.2rem,4vw,3.8rem);margin-bottom:24px}h3{line-height:1.3}p{margin-bottom:20px}.site-header{position:sticky;top:0;z-index:10;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(22px,5vw,80px);border-bottom:1px solid var(--line);min-height:94px}.brand img{display:block;width:280px;height:auto;max-width:100%}.site-header nav{display:flex;gap:25px;align-items:center}.site-header nav a{text-decoration:none;font-weight:600;font-size:.9375rem;white-space:nowrap}.site-header nav a:hover{color:#916c24}.nav-cta{padding:12px 20px;background:var(--navy);color:white;border-radius:5px}.site-header nav .nav-cta:hover{background:var(--navy2);color:white}.menu-toggle{display:none}.hero{position:relative;min-height:680px;display:flex;align-items:center;background:var(--navy);overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:65% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,15,34,.96),rgba(3,15,34,.82) 42%,rgba(3,15,34,.2) 80%)}.hero-content{position:relative;color:white;padding:85px 0 95px;margin-left:clamp(22px,7vw,110px);max-width:680px;width:85%}.hero h1{font-size:clamp(3rem,6.2vw,6rem);margin-bottom:24px}.hero h1 em{font-weight:600;color:#f3d58f}.eyebrow{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#efd18c;margin-bottom:16px}.eyebrow.dark{color:#876320}.hero-copy{font-size:1.125rem;color:#e0e7ef;max-width:575px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;min-height:48px;border-radius:5px;text-decoration:none;border:1px solid transparent;font-weight:700;cursor:pointer;transition:background .15s}.button-primary{background:var(--gold);color:var(--navy)}.button-primary:hover{background:#edc876}.button-ghost{color:white;border-color:#93a4b9;background:transparent}.button-ghost:hover{background:#213753}.button-dark{background:var(--navy);color:white}.trust-list{list-style:none;padding:0;display:flex;gap:12px 23px;flex-wrap:wrap;font-size:.875rem;color:#e2e9f1;margin-top:32px}.trust-list li:before{content:'✓';color:var(--gold);margin-right:7px}.image-caption{position:absolute;bottom:12px;right:22px;color:white;background:#07172fb0;padding:6px 12px;font-size:.8125rem;margin:0}.season-strip{background:var(--navy2);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px clamp(22px,7vw,110px);font-size:.9375rem}.season-strip strong{color:#efd18c}.season-strip a{white-space:nowrap}.intro,.commercial,.process,.year-round,.faq,.quote,.pricing{padding:90px clamp(22px,7vw,110px)}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end;padding-bottom:48px}.intro p:last-child{color:var(--muted);font-size:1.125rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0 clamp(22px,7vw,110px) 90px}.service-grid article{border-top:2px solid var(--gold);padding:26px 0 0}.service-grid span{font-weight:700;color:#8a661c;font-size:.875rem}.service-grid h3{font:1.75rem 'Playfair Display',Georgia,serif;margin:20px 0 12px}.service-grid p{color:var(--muted)}.pricing{background:var(--navy);color:white}.section-heading{max-width:810px;margin-bottom:45px}.section-heading>p:last-child{color:#c0ccdb;font-size:1.0625rem}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-grid article{position:relative;padding:36px 30px;border:1px solid #33455f;background:#0e2543;border-radius:9px;display:flex;flex-direction:column}.price-grid .featured{background:white;color:var(--ink);border:2px solid var(--gold)}.best{color:#755418;text-transform:uppercase;font-size:.8125rem;letter-spacing:.09em;margin-bottom:14px}.package{font:1.625rem 'Playfair Display',Georgia,serif;margin-bottom:18px}.price{font-size:.9375rem;color:#c4d0df}.price strong{font:700 3rem/1.2 'DM Sans',sans-serif;display:block;color:white;margin-top:5px}.featured .price,.featured ul{color:var(--muted)}.featured .price strong{color:var(--ink)}.price-grid ul{padding-left:20px;line-height:1.7;color:#d1dbea;flex:1;margin:4px 0 30px}.price-grid li{margin-bottom:9px}.package-link{color:#efd18c;font-weight:700}.featured .package-link{color:#785516}.commercial-note{border-top:1px solid #33455f;padding-top:28px;margin:36px 0 0;color:#c7d3e2}.process{background:var(--soft)}.process ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.process li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#f5d693;font-weight:700}.process h3{font-size:1.1875rem;margin:22px 0 12px}.process p{color:var(--muted)}.process-note{border-top:1px solid #cdd6e2;margin-top:35px;padding-top:22px;color:var(--muted)}.process-note strong{color:var(--ink)}.commercial{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.commercial>div>p{color:var(--muted)}.commercial-panel{background:var(--navy);color:white;padding:36px;border-radius:9px;border-top:4px solid var(--gold)}.commercial-panel h3{font:1.625rem 'Playfair Display',Georgia,serif}.commercial-panel li{padding:7px 0}.commercial-panel p{color:#c5d1e0;font-size:.9375rem;margin:25px 0 0}.areas{background:var(--navy2);color:white;padding:80px clamp(22px,7vw,110px);display:flex;gap:70px;align-items:center}.areas>div:first-child{max-width:820px}.areas p{color:#d6e0ed}.area-badge{border:1px solid var(--gold);width:165px;height:165px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}.area-badge span,.area-badge small{font-size:.8125rem;letter-spacing:.09em;color:#efd18c}.area-badge strong{font:3.5rem 'Playfair Display',Georgia,serif}.year-round{background:var(--soft)}.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.year-grid article{border-left:2px solid var(--gold);padding-left:23px}.year-grid h3{font-size:1.1875rem}.year-grid p,.year-round>p:last-child{color:var(--muted)}.year-round>p:last-child{font-size:.9375rem;margin:22px 0 0}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.faq details{border:1px solid var(--line);border-radius:7px;padding:21px}.faq summary{cursor:pointer;font-size:1rem;font-weight:700;line-height:1.5}.faq details p{margin:16px 0 0;color:var(--muted)}.quote{background:var(--navy);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.quote>div>p:last-child{color:#c2cfdf}.quote form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote label{font-size:.9375rem;color:#e3eaf2}.quote input,.quote select,.quote textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #63809f;border-radius:5px;background:#102947;color:white;min-height:48px;font-size:1rem}.quote input::placeholder,.quote textarea::placeholder{color:#b6c7d9;opacity:1}.quote select option{background:var(--navy2)}.quote textarea{resize:vertical}.wide{grid-column:1/-1}.request-notice{padding:18px;border-left:3px solid var(--gold);background:#152d4d;font-size:.9375rem;color:#d6e1ed;margin-bottom:0}.form-status{color:#f5d795;margin:0}.summary-panel{border-top:1px solid #4c6788;padding-top:22px}.summary-panel[hidden]{display:none}.summary-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.privacy-note{font-size:.875rem;color:#bdcadd;margin:14px 0 0}footer{padding:45px clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;background:white}.footer-brand img{width:290px;max-width:100%;height:auto;display:block}.legal{grid-column:1/-1;font-size:.875rem;color:var(--muted);margin:0;border-top:1px solid var(--line);padding-top:25px}.mobile-cta{display:none}@media(max-width:1050px){.site-header nav{gap:16px}.brand img{width:245px}.site-header{padding-inline:22px}.process ol{grid-template-columns:1fr 1fr}.season-strip{flex-wrap:wrap}.quote{gap:35px}.price-grid article{padding:30px 23px}}@media(max-width:820px){.site-header{min-height:80px}.menu-toggle{display:block;background:transparent;border:1px solid #aab6c6;border-radius:5px;padding:10px 15px;color:var(--ink);font-weight:600}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px;background:white;box-shadow:0 12px 20px #07172f18;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:13px 0;min-height:48px}.site-header nav .nav-cta{padding:13px 18px;text-align:center;margin-top:10px}.intro,.commercial,.quote{grid-template-columns:1fr;gap:30px}.price-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.year-grid{grid-template-columns:1fr}.faq-grid{grid-template-columns:1fr}.areas{gap:30px}.hero{min-height:630px}.hero-shade{background:linear-gradient(90deg,#031022e8,#031022a0 70%,#03102265)}.season-strip span{width:100%}}@media(max-width:540px){html{scroll-padding-top:85px}.site-header{padding:12px 18px}.brand img{width:205px}.hero{min-height:665px}.hero-content{padding:60px 0 85px;width:88%;margin-left:22px}.hero h1{font-size:3rem}.hero-copy{font-size:1.0625rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.trust-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.875rem}.image-caption{left:22px;right:auto;max-width:calc(100% - 44px);font-size:.8125rem}.intro,.commercial,.process,.year-round,.faq,.quote,.pricing{padding:60px 22px}.intro{padding-bottom:25px}.service-grid{padding:0 22px 50px;gap:20px}.service-grid h3{font-size:1.5rem}.service-grid p{font-size:1rem}.process ol{grid-template-columns:1fr;gap:18px}.process li{display:grid;grid-template-columns:42px 1fr;gap:15px}.process h3{margin-top:0}.areas{padding:60px 22px;display:block}.area-badge{margin-top:30px;width:135px;height:135px}.quote form{grid-template-columns:1fr}.quote form>*{grid-column:1}footer{grid-template-columns:1fr;padding:35px 22px 95px}.mobile-cta{display:flex;position:fixed;bottom:12px;left:18px;right:18px;z-index:9;justify-content:center;align-items:center;min-height:50px;background:var(--gold);color:var(--navy);border-radius:6px;text-decoration:none;font-weight:700;box-shadow:0 4px 20px #0004}.mobile-cta.in-quote{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#quote.section{padding:60px 6%;background:#f4efe3;text-align:center}#quote.section .button{background:#17352e;color:#fff;margin:15px 0}#quote.section p{line-height:1.7}

.mapped-areas{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;align-items:center;gap:40px}.service-map{margin:0;min-width:0;width:100%;overflow:hidden;border-radius:18px;background:#fffdf6;border:1px solid #d8dacb}.service-map iframe{display:block;width:100%;height:420px;border:0}.service-map figcaption{padding:12px 15px;color:#526458;font-size:11px;line-height:1.5}@media(max-width:760px){.mapped-areas{grid-template-columns:1fr!important;gap:24px}.service-map iframe{height:365px}}

/* Holiday offer: low-intensity, color-cycling border lights. */
.mobile-cta.festive-cta{background:linear-gradient(115deg,#123b2e,#205440 55%,#123b2e);color:#fff7df;border:1px solid #d6b569;border-radius:13px;min-height:65px;padding:18px 18px;box-shadow:0 6px 24px #0005,inset 0 0 0 3px #ffffff0a;overflow:hidden;isolation:isolate;bottom:max(12px,env(safe-area-inset-bottom))}
.festive-label{position:relative;z-index:2;font-size:clamp(13px,3.6vw,16px);line-height:1.3;text-align:center;letter-spacing:.1px;text-shadow:0 1px 2px #0007}
.bulb-row{position:absolute;left:10px;right:10px;height:11px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:1}
.bulb-top{top:4px;border-top:1px solid #567254;padding-top:2px}.bulb-bottom{bottom:4px;border-bottom:1px solid #567254;padding-bottom:2px;transform:rotate(180deg)}
.bulb-row i{position:relative;display:block;width:6px;height:8px;border-radius:45% 45% 55% 55%;background:currentColor;color:#f0bf54;box-shadow:0 0 5px 1px currentColor;animation:holiday-bulb-color 4s linear infinite;animation-delay:calc(var(--n)*-.33s)}
.bulb-row i:before{content:'';position:absolute;top:-2px;left:1.5px;width:3px;height:3px;background:#567254;border-radius:1px}
.bulb-bottom i{animation-delay:calc(var(--n)*-.33s -2s)}
@keyframes holiday-bulb-color{0%,100%{background:#ff665b;color:#ff665b;box-shadow:0 0 7px #ff665b}25%{background:#ffd35b;color:#ffd35b;box-shadow:0 0 7px #ffd35b}50%{background:#63e38a;color:#63e38a;box-shadow:0 0 7px #63e38a}75%{background:#69b9ff;color:#69b9ff;box-shadow:0 0 7px #69b9ff}}
.mobile-cta.festive-cta:hover{background:linear-gradient(115deg,#164735,#286249 55%,#164735)}
.mobile-cta.festive-cta:focus-visible{outline:3px solid #f3ca72;outline-offset:4px}


.bulb-side{top:50%;width:8px;height:8px;right:auto;transform:translateY(-50%)}.bulb-left{left:4px}.bulb-right{left:auto;right:4px}.bulb-side i:before{display:none}

.mobile-cta.festive-cta{min-height:70px;padding:22px 20px}.bulb-row i{width:8px;height:10px;box-shadow:0 0 5px 1px currentColor}.bulb-row i:before{left:2.5px}.bulb-side{width:10px;height:10px}

.visual-steps{padding:0 6% 65px;background:#fff}.visual-steps iframe{display:block;width:100%;height:530px;border:0;max-width:1180px;margin:0 auto}@media(max-width:640px){.visual-steps{padding:0 20px 35px}.visual-steps iframe{height:565px}}

.customer-journey{padding:76px 6%;background:linear-gradient(150deg,#f6f4ec,#edf1ed);scroll-margin-top:105px}.journey-heading{max-width:1180px;margin:0 auto 32px}.journey-heading h2{font-family:Georgia,serif;font-size:clamp(36px,4.3vw,56px);line-height:1.07;margin:14px 0 18px;color:#10283b;letter-spacing:-1.4px}.journey-heading h2 em{font-weight:400;color:#85682f}.journey-heading>p:last-child{font-size:16px;color:#5b6662;line-height:1.6}.journey-grid{list-style:none;padding:0;margin:0 auto;max-width:1180px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.journey-card{position:relative;background:#fffef9;border:1px solid #dfdfd2;border-radius:18px;padding:25px 22px;box-shadow:0 8px 25px #21352a06}.journey-symbol{width:66px;height:66px;border-radius:17px;background:#eef2e9;color:#315441;display:grid;place-items:center;margin-bottom:22px}.journey-symbol svg{width:43px;height:45px}.journey-card:nth-child(2) .journey-symbol,.journey-card:nth-child(4) .journey-symbol{background:#f7eed9;color:#8a682e}.journey-step{font-size:12px!important;color:#997333!important;letter-spacing:1.2px;font-weight:700;margin:0 0 12px!important}.journey-step span{font-size:9px;letter-spacing:1px;color:#677466}.journey-card h3{font-family:Arial,sans-serif;font-size:21px;line-height:1.2;letter-spacing:-.5px;margin:0 0 12px;color:#142d3a}.journey-description{font-size:14px;line-height:1.65;color:#596660;margin:0}.journey-tag{font-size:10px!important;font-weight:600;color:#627047!important;line-height:1.5;margin:19px 0 0!important;padding-top:14px;border-top:1px solid #e9e6da}.journey-bottom{max-width:1180px;margin:28px auto 0;display:flex;gap:18px;align-items:center}.journey-bottom span{font-size:12px;color:#626b63}.journey-details{max-width:1180px;margin:24px auto 0;border-top:1px solid #d8ddcf;padding-top:17px;color:#5c685f}.journey-details summary{cursor:pointer;font-size:12px;font-weight:600}.journey-details p{font-size:12px;line-height:1.7;max-width:820px}.journey-details summary:focus-visible{outline:2px solid #af8b40;outline-offset:4px}@media(max-width:1050px){.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-card{display:flex;gap:20px}.journey-symbol{flex:0 0 62px}.journey-card h3{font-size:22px}}@media(max-width:640px){.customer-journey{padding:45px 20px}.journey-heading{margin-bottom:25px}.journey-heading h2{font-size:37px;letter-spacing:-1px}.journey-heading>p:last-child{font-size:14px}.journey-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.journey-grid{grid-template-columns:1fr;gap:13px}.journey-card{padding:22px 18px;gap:16px;border-radius:15px}.journey-symbol{flex-basis:49px;width:49px;height:53px;border-radius:13px;margin:0}.journey-symbol svg{width:33px;height:37px}.journey-card h3{font-size:21px;margin-bottom:9px}.journey-description{font-size:14px;line-height:1.55}.journey-tag{font-size:10px!important;margin-top:12px!important;padding-top:10px}.journey-step{margin-bottom:8px!important}.journey-step span{font-size:8px}.journey-bottom{display:block;text-align:center}.journey-bottom .button{width:100%;font-size:14px}.journey-bottom span{display:block;margin-top:12px}.journey-details{margin-top:22px}}

/* Custom photographic illustrations for the customer journey. */
.customer-journey .journey-card{display:block;padding:0;overflow:hidden}
.journey-photo{width:100%;aspect-ratio:4/3;background:#e6e9df;overflow:hidden;border-bottom:3px solid #cfad5b}
.journey-photo img{display:block;width:100%;height:100%;object-fit:cover}
.journey-copy{padding:23px 21px 24px}
@media(max-width:640px){.journey-grid{gap:22px}.journey-photo{aspect-ratio:16/10}.journey-copy{padding:22px}.journey-card h3{font-size:23px}.journey-description{font-size:15px;line-height:1.6}.journey-step span{font-size:9px}}

/* Keep featured package benefits readable on its white background. */
.price-grid .featured ul,.price-grid .featured li{color:#26384d}.price-grid .featured li::marker{color:#806020}
