:root{--red:#d92f08;--red-dark:#8f1e04;--ink:#17181b;--paper:#f7f4ee;--white:#fff;--line:#d9d4ca;--gold:#f6d48c;--display:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.75rem;z-index:100}.skip-link:focus{left:1rem;top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);background:#fff;position:relative;z-index:20;border-bottom:1px solid #eee}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;line-height:1}.brand-mark{display:grid;place-items:center;background:var(--red);color:#fff;width:45px;height:45px;border-radius:50%;font-size:.75rem;font-weight:700;letter-spacing:.04em;border:2px solid var(--red);box-shadow:inset 0 0 0 3px #fff}.brand strong,.brand small{display:block;letter-spacing:.1em}.brand strong{font-size:.95rem}.brand small{font-size:.7rem;margin-top:.3rem;color:var(--red);font-weight:700}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{text-decoration:none;font-weight:600;font-size:.9rem}.nav-cta{color:#fff!important;background:var(--red);padding:.75rem 1.15rem;border-radius:4px}.menu-button{display:none;background:none;border:0;padding:.5rem}.menu-button span:not(.sr-only){display:block;width:25px;height:2px;background:#222;margin:5px}
.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);background:#fff;position:relative;z-index:20;border-bottom:1px solid #eee}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;line-height:1}.brand-logo{display:block;width:auto;height:68px;object-fit:contain}.logo-tile{background:#fff;padding:.55rem .8rem;border-radius:5px;width:max-content}.logo-tile .brand-logo{height:62px}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{text-decoration:none;font-weight:600;font-size:.9rem}.nav-cta{color:#fff!important;background:var(--red);padding:.75rem 1.15rem;border-radius:4px}.menu-button{display:none;background:none;border:0;padding:.5rem}.menu-button span:not(.sr-only){display:block;width:25px;height:2px;background:#222;margin:5px}
.hero{min-height:calc(100vh - 90px);position:relative;display:flex;align-items:center;overflow:hidden;background:#071831}.hero-image,.hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(3,14,32,.94) 0%,rgba(3,14,32,.78) 39%,rgba(3,14,32,.12) 72%,rgba(3,14,32,.08) 100%)}.hero-content{position:relative;z-index:2;width:min(720px,90%);margin-left:clamp(1.25rem,7vw,7rem);color:#fff;padding:5rem 0}.eyebrow{font-size:.76rem;letter-spacing:.19em;font-weight:700;margin:0 0 1.2rem}.hero h1,.intro h2,.process h2,.why h2,.faq h2,.final-cta h2{font-family:var(--display);line-height:1.03;margin:0;font-weight:700}.hero h1{font-size:clamp(3rem,6vw,6.3rem);letter-spacing:-.045em;max-width:900px}.hero h1 em,.why h2 em{color:var(--gold);font-weight:600}.hero-copy{font-size:clamp(1.05rem,1.4vw,1.25rem);max-width:600px;color:#e5ebf3;margin:1.7rem 0}.hero-actions{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.4rem;border-radius:4px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-family:inherit;font-size:.95rem}.button-primary{background:var(--red);color:#fff;box-shadow:0 0 24px rgba(255,76,30,.28)}.button-primary:hover{background:#c4162d}.button-light{background:#fff;color:var(--red-dark);width:100%}.text-link{color:#fff;text-underline-offset:5px;font-weight:600}.trust-row{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:2rem;font-size:.82rem;color:#dfe7f2}.festive-marquee{overflow:hidden;background:var(--red);color:#fff;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);padding:.85rem 0}.festive-marquee>div{display:flex;justify-content:center;align-items:center;gap:1.5rem;min-width:max-content;padding:0 1.5rem;font-size:.73rem;font-weight:700;letter-spacing:.16em}.festive-marquee b{color:var(--gold);font-size:1rem;text-shadow:0 0 10px #fff}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:7rem clamp(1.25rem,7vw,7rem) 4rem;align-items:end}.red{color:var(--red)}.intro h2,.process h2,.why h2,.faq h2,.final-cta h2{font-size:clamp(2.5rem,4.5vw,4.5rem);letter-spacing:-.035em}.intro>p{font-size:1.15rem;max-width:600px;margin:0;color:#555}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0 clamp(1.25rem,7vw,7rem) 3rem;border:1px solid var(--line)}.service-card{position:relative;padding:2.3rem;min-height:410px;border-right:1px solid var(--line);display:flex;flex-direction:column}.service-card:last-child{border:0}.service-card.featured{background:var(--red);color:#fff}.service-card.greenery{background:#fff}.service-number{position:absolute;right:1.5rem;top:1rem;font-family:var(--display);opacity:.35;font-size:1.1rem}.line-icon{font-size:3rem;line-height:1;margin:1rem 0 3rem;color:var(--red)}.featured .line-icon{color:#fff}.service-card h3{font-family:var(--display);font-size:1.65rem;line-height:1.15;margin:0 0 .6rem}.service-card p{color:#5d5d5d;margin:0 0 1.5rem}.featured p{color:#f2cbd2}.service-card a{margin-top:auto;font-weight:700;text-underline-offset:4px}.quality-strip{margin:0 clamp(1.25rem,7vw,7rem) 7rem;background:var(--ink);color:#fff;padding:3.5rem}.quality-strip h2{font-family:var(--display);font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.05;max-width:850px;margin:0 0 2.5rem}.quality-strip>div{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;border-top:1px solid #48494c;padding-top:1.5rem}.quality-strip span{color:#bfc0c3;font-size:.85rem}.quality-strip strong{display:block;color:#fff;font-size:1rem;margin-bottom:.3rem}
.process{background:radial-gradient(circle at 12% 18%,rgba(217,47,8,.22),transparent 25%),var(--ink);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding:7rem clamp(1.25rem,7vw,7rem)}.process-heading{position:sticky;top:2rem;align-self:start}.process-intro{color:#c9c9ca;max-width:520px;margin-top:1.5rem}.steps{list-style:none;padding:0;margin:0}.steps li{display:grid;grid-template-columns:65px 1fr;gap:1.3rem;padding:1.6rem 0;border-top:1px solid #424348}.steps li:last-child{border-bottom:1px solid #424348}.steps>li>span{width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);box-shadow:0 0 18px rgba(246,212,140,.12)}.steps h3{font-family:var(--display);font-size:1.35rem;margin:0 0 .3rem}.steps p{margin:0;color:#b8b8b9}
.why{display:grid;grid-template-columns:1.05fr .95fr;min-height:780px}.why-panel{position:relative;padding:8rem clamp(1.25rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.since-stamp{position:absolute;right:clamp(1.25rem,4vw,4rem);top:4rem;width:112px;height:112px;border:2px solid var(--red);border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(7deg);color:var(--red);background:rgba(255,255,255,.55)}.since-stamp strong,.since-stamp span{display:block}.since-stamp strong{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.since-stamp span{font-family:var(--display);font-size:1.8rem;line-height:1}.why-panel>p:not(.eyebrow){max-width:650px;color:#565656;font-size:1.1rem}.story-promise{font-weight:600;border-left:4px solid var(--red);padding-left:1rem}.why h2 em{color:var(--red)}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem}.mini-stats strong,.mini-stats span{display:block}.mini-stats strong{font-family:var(--display);font-size:1.3rem}.mini-stats span{font-size:.78rem;color:#707070;margin-top:.3rem}.quote-card{background:radial-gradient(circle at 90% 10%,rgba(246,212,140,.2),transparent 25%),var(--red);color:#fff;padding:6rem clamp(1.5rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.quote-card h2{font-size:clamp(2.3rem,4vw,4rem)}.quote-card>p:not(.eyebrow){color:#f4cdd3;max-width:530px}.quote-card form{margin-top:1rem}.quote-card label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:1rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.quote-card input,.quote-card select,.quote-card textarea{display:block;width:100%;margin-top:.35rem;border:1px solid rgba(255,255,255,.42);background:rgba(88,0,13,.22);color:#fff;border-radius:3px;padding:.82rem;font:inherit;min-height:48px}.quote-card select option{color:#111}.quote-card textarea{resize:vertical}.quote-card input:focus,.quote-card select:focus,.quote-card textarea:focus{outline:3px solid var(--gold);outline-offset:2px}.quote-card ::placeholder{color:#efc4cb}.form-note{font-size:.75rem;text-align:center;color:#f4cdd3}.form-result{font-size:.9rem;font-weight:600;padding-top:.4rem}.form-result:not(:empty){border-top:1px solid rgba(255,255,255,.3);margin-top:1rem;padding-top:1rem}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:8rem clamp(1.25rem,7vw,7rem)}details{border-top:1px solid var(--line);padding:1.2rem 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:700;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between}summary:after{content:'+';color:var(--red);font-size:1.4rem}details[open] summary:after{content:'–'}details p{color:#646464;max-width:650px;margin-bottom:.4rem}.social-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;padding:6rem clamp(1.25rem,7vw,7rem);background:#fff}.social-section h2{font-family:var(--display);font-size:clamp(2.4rem,4vw,4rem);line-height:1.03;letter-spacing:-.035em;margin:0}.social-section>div:first-child>p:last-child{color:#626262;max-width:620px;font-size:1.05rem}.social-actions{display:grid;gap:1rem}.social-actions>a{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:1rem;border:1px solid var(--line);padding:1rem 1.2rem;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.social-actions>a:hover{transform:translateY(-2px);border-color:var(--red);box-shadow:0 12px 28px rgba(28,23,20,.09)}.social-initial{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#1877f2;color:#fff;font-family:Arial,sans-serif;font-size:1.75rem;font-weight:700}.social-initial.instagram{background:linear-gradient(135deg,#833ab4,#e1306c,#f77737);font-size:1.8rem}.social-actions strong,.social-actions small{display:block}.social-actions strong{font-family:var(--display);font-size:1.3rem}.social-actions small{color:#737373}.social-actions b{color:var(--red);font-size:1.25rem}
.final-cta{background:var(--red-dark);color:#fff;text-align:center;padding:7rem 1.5rem}.final-cta h2{max-width:950px;margin:0 auto 2.4rem}.final-cta .button{width:auto;min-width:230px}footer{background:#101114;color:#fff;padding:4rem clamp(1.25rem,7vw,7rem) 2rem;display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:center}.footer-brand small{color:#ef7d8c}.footer-links{display:flex;gap:.8rem 1.4rem;flex-wrap:wrap;justify-content:flex-end}.footer-links a{color:#ddd}.copyright{grid-column:1/-1;border-top:1px solid #333;padding-top:1.5rem;color:#888;font-size:.78rem}
@media(max-width:1050px) and (min-width:851px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.quality-strip>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.site-header{height:74px}.menu-button{display:block}.site-header nav{position:absolute;left:0;right:0;top:74px;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:1.5rem;border-top:1px solid #eee;box-shadow:0 10px 25px rgba(0,0,0,.08)}.site-header nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:790px}.hero-overlay{background:linear-gradient(90deg,rgba(3,14,32,.92),rgba(3,14,32,.5)),linear-gradient(0deg,rgba(3,14,32,.7),transparent)}.hero-content{margin:0 auto;padding:5rem 0 3rem;align-self:flex-end}.hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}.intro,.process,.why,.faq,.social-section{grid-template-columns:1fr}.intro{gap:2rem;padding-top:5rem}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid var(--line);min-height:320px}.quality-strip{padding:2.3rem}.quality-strip>div{grid-template-columns:1fr 1fr}.process-heading{position:static}.why{min-height:0}.why-panel,.quote-card{padding-top:5rem;padding-bottom:5rem}.faq{padding-top:5rem;padding-bottom:5rem}.mini-stats{grid-template-columns:1fr}.mini-stats div{border-bottom:1px solid var(--line);padding-bottom:1rem}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.copyright{grid-column:1}}
@media(max-width:520px){.field-row{grid-template-columns:1fr}.trust-row{gap:.6rem 1rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-content{padding-bottom:2rem}.service-card{padding:2rem}.quality-strip>div{grid-template-columns:1fr}.since-stamp{position:static;margin:0 0 1.5rem}.quote-card{padding-left:1.25rem;padding-right:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.phone-link{color:var(--red)!important}.maintenance-phone{color:var(--red);font-weight:700;text-decoration:none}.maintenance-hero{background:linear-gradient(115deg,#071831,#182c4a);color:#fff;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,10vw,10rem)}.maintenance-hero h1{font-family:var(--display);font-size:clamp(3.2rem,7vw,6.8rem);line-height:1;letter-spacing:-.045em;margin:0;max-width:900px}.maintenance-hero>p:last-child{font-size:1.15rem;max-width:720px;color:#dbe6f5;margin:1.5rem 0 0}.maintenance-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);padding:7rem clamp(1.25rem,8vw,8rem)}.coverage-card h2,.maintenance-form-wrap h2{font-family:var(--display);font-size:clamp(2.3rem,4vw,4rem);line-height:1.05;letter-spacing:-.035em;margin:0 0 1.5rem}.coverage-card ul{list-style:none;padding:0;margin:2rem 0}.coverage-card li{position:relative;padding:1rem 0 1rem 2rem;border-top:1px solid var(--line)}.coverage-card li:last-child{border-bottom:1px solid var(--line)}.coverage-card li:before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:700}.coverage-note{background:#fff;border-left:5px solid var(--red);padding:1.25rem 1.5rem;box-shadow:0 12px 32px rgba(20,20,20,.08)}.coverage-note p{margin:.25rem 0 0;color:#5d5d5d}.maintenance-form-wrap form{background:#fff;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 15px 45px rgba(20,20,20,.1)}.maintenance-form-wrap label{display:block;font-size:.85rem;font-weight:700;margin-bottom:1.1rem}.maintenance-form-wrap input,.maintenance-form-wrap select,.maintenance-form-wrap textarea{display:block;width:100%;margin-top:.4rem;border:1px solid #cfcac1;background:#fff;color:#17181b;border-radius:3px;padding:.82rem;font:inherit;min-height:48px}.maintenance-form-wrap textarea{resize:vertical}.maintenance-form-wrap input:focus,.maintenance-form-wrap select:focus,.maintenance-form-wrap textarea:focus{outline:3px solid #e9b74c;outline-offset:2px}.maintenance-form-wrap .button{width:100%}.dark-note{color:#686868}.maintenance-form-wrap .form-result:not(:empty){background:#f7efe0;border:0;padding:1rem;margin-top:1rem}.maintenance-form-wrap .form-result a{color:var(--red);font-weight:700}.maintenance-footer{grid-template-columns:1fr auto auto}.maintenance-footer>p{margin:0}.maintenance-footer a{color:#fff}
@media(max-width:850px){.maintenance-layout{grid-template-columns:1fr;padding-top:5rem;padding-bottom:5rem}.maintenance-footer{grid-template-columns:1fr}.maintenance-phone{font-size:.88rem}}

.work-showcase{padding:0 clamp(1.25rem,7vw,7rem) 7rem}.showcase-heading{display:grid;grid-template-columns:1fr 1fr;gap:2rem 8vw;align-items:end;margin-bottom:3rem}.showcase-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.showcase-heading h2{font-family:var(--display);font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.03;letter-spacing:-.035em;margin:0}.showcase-heading>p:last-child{color:#5d5d5d;font-size:1.08rem;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:1rem}.photo-grid figure{position:relative;margin:0;overflow:hidden;background:#17181b}.photo-grid .photo-wide{grid-column:span 2}.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.photo-grid figure:hover img{transform:scale(1.035)}.photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.6rem 1rem 1rem;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.service-area{display:grid;grid-template-columns:1fr 1fr;background:var(--red-dark);color:#fff}.area-copy{padding:7rem clamp(1.25rem,7vw,7rem)}.area-copy h2{font-family:var(--display);font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.03;letter-spacing:-.035em;margin:0}.area-copy>p:not(.eyebrow){color:#f1c8cf;font-size:1.08rem;max-width:650px;margin:1.5rem 0 2rem}.area-copy .button{width:auto}.area-list{background:#fff;color:var(--ink);padding:4rem clamp(1.25rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.area-list>.eyebrow{margin-bottom:1.5rem}.area-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;border-top:1px solid var(--line)}.area-list li{position:relative;border-bottom:1px solid var(--line);padding:1rem .5rem 1rem 1.8rem;font-family:var(--display);font-size:1.15rem;font-weight:700}.area-list li:before{content:'✓';position:absolute;left:0;top:1rem;color:var(--red);font-family:var(--sans);font-size:.9rem}.area-list li:last-child{grid-column:1/-1;color:var(--red)}
@media(max-width:850px){.showcase-heading,.service-area{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.area-copy{padding-top:5rem;padding-bottom:5rem}}
@media(max-width:520px){.photo-grid{grid-template-columns:1fr}.photo-grid .photo-wide{grid-column:span 1}.photo-grid{grid-auto-rows:260px}.area-list ul{grid-template-columns:1fr}.area-list li:last-child{grid-column:auto}}
@media(max-width:520px){.brand-logo{height:54px}.logo-tile .brand-logo{height:52px}}
.snow-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.flicker-text{color:#fff7c7;text-shadow:0 0 8px rgba(255,243,157,.9),0 0 22px rgba(246,212,140,.75);animation:lightFlicker 4.8s infinite}@keyframes lightFlicker{0%,18%,22%,25%,53%,57%,100%{opacity:1;text-shadow:0 0 8px rgba(255,243,157,.9),0 0 22px rgba(246,212,140,.75)}20%,24%,55%{opacity:.45;text-shadow:none}21%,56%{opacity:.82;text-shadow:0 0 5px rgba(255,243,157,.6)}}.maintenance-social{display:flex;gap:1.2rem;flex-wrap:wrap}.maintenance-social a{color:#fff}
@media(prefers-reduced-motion:reduce){.snow-canvas{display:none}.flicker-text{animation:none}}

/* Centered sticky navigation shared by every page */
.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.site-header>.brand{justify-self:start}.site-header>nav{justify-self:center}.header-actions{justify-self:end;display:flex;align-items:center;gap:1rem}.header-actions a{text-decoration:none;font-weight:700;font-size:.86rem}.mobile-only{display:none!important}.site-header nav a[aria-current="page"]{color:var(--red)}
.sticky-shell{position:sticky;top:0;z-index:60}.sticky-shell .site-header{position:relative;top:auto}.promo-bar{min-height:42px;display:flex;align-items:center;justify-content:center;gap:.45rem;background:var(--red-dark);color:#fff;padding:.55rem 1rem;text-align:center;font-size:.82rem;letter-spacing:.02em;border-bottom:2px solid var(--gold)}.promo-bar strong{color:var(--gold);letter-spacing:.1em}.promo-bar a{color:#fff;font-weight:800;text-underline-offset:3px;white-space:nowrap}
@media(max-width:1100px) and (min-width:851px){.site-header nav{gap:1.2rem}.site-header nav a{font-size:.82rem}.header-actions .phone-link{display:none}.brand-logo{height:60px}}
@media(max-width:850px){.site-header{display:grid;grid-template-columns:1fr auto}.site-header>.brand{grid-column:1}.menu-button{grid-column:2;justify-self:end}.site-header>nav{grid-column:1/-1;justify-self:stretch}.header-actions{display:none}.mobile-only{display:block!important}}
@media(max-width:600px){.promo-bar{display:block;font-size:.74rem;line-height:1.35}.promo-bar strong{display:block}.promo-bar a{display:inline-block;margin-left:.25rem}}
