@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#101713;--green:#173f32;--cream:#f3ebdd;--lime:#b69a60;--sage:#a8b5a0;--white:#fffef9;--muted:#a9b0a8;--line:#333c35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.ticker{height:29px;background:var(--green);color:var(--cream);display:flex;justify-content:space-around;align-items:center;font-size:9px;font-weight:900;letter-spacing:.16em;overflow:hidden;white-space:nowrap}.topbar{height:86px;background:var(--ink);color:var(--white);padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #303a33}.brand{display:flex;align-items:center;gap:11px}.brand-stamp{font:italic 32px 'Archivo Black',sans-serif;letter-spacing:-.12em;color:var(--lime);border:2px solid var(--lime);padding:5px 10px 7px;transform:rotate(-5deg);position:relative}.brand-stamp span{font:700 9px 'DM Sans';vertical-align:top;letter-spacing:0}.brand-name{font:900 12px/1.02 'DM Sans';letter-spacing:.11em}.topbar nav{display:flex;align-items:center;gap:27px;font-size:10px;font-weight:900;letter-spacing:.11em}.topbar nav a:not(.nav-cta){color:#d2d8d1}.nav-cta{background:var(--lime);color:var(--ink);padding:14px 17px}.nav-cta b{margin-left:13px}.hero{background:var(--ink);color:var(--white);padding:80px 9vw 90px;min-height:650px;display:grid;grid-template-columns:1.05fr .85fr;gap:7vw;align-items:center;position:relative;overflow:hidden}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.19em;color:#8b988e;display:flex;gap:9px;align-items:center}.eyebrow i{display:inline-block;width:8px;height:8px;background:var(--lime);border-radius:50%}.hero h1,.section h2,.process h2,.closing h2{font:400 clamp(58px,8vw,112px)/.88 'Archivo Black',Impact,sans-serif;letter-spacing:-.065em;margin:28px 0}.hero h1 span{color:var(--lime)}.hero h1 em{font-style:normal;color:var(--white);-webkit-text-stroke:1px var(--white);color:transparent}.lead{max-width:500px;color:#c0c8c0;font-size:15px;line-height:1.85}.hero-actions{display:flex;gap:27px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;gap:30px;background:var(--lime);color:var(--ink);padding:17px 21px;font-size:10px;font-weight:900;letter-spacing:.1em}.button span{font-size:16px}.text-link{font-size:10px;font-weight:900;letter-spacing:.1em;color:#d8dfd7}.hero-note{margin-top:38px;color:#819086;font-size:9px;font-weight:900;letter-spacing:.2em}.hero-visual{max-width:450px;width:100%;justify-self:center;transform:rotate(2deg)}.visual-top,.visual-bottom{display:flex;justify-content:space-between;color:#aab5aa;font-size:9px;font-weight:900;letter-spacing:.17em;padding:10px 0}.photo-block{height:430px;background:linear-gradient(135deg,#b8c5b2,#6f8772 45%,#d6dfcc);position:relative;overflow:hidden;border:10px solid var(--cream);box-shadow:15px 15px 0 var(--lime)}.photo-block:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(16,23,19,.15) 49%),linear-gradient(0deg,rgba(16,23,19,.45),transparent 65%)}.photo-block:after{content:"";position:absolute;width:240px;height:240px;border:35px solid rgba(245,242,233,.4);border-radius:50%;right:-55px;top:55px}.photo-caption{position:absolute;z-index:1;left:25px;bottom:25px;font:48px/.86 'Archivo Black';letter-spacing:-.06em;color:var(--white)}.photo-circle{position:absolute;z-index:1;right:24px;top:25px;background:var(--lime);color:var(--ink);width:85px;height:85px;border-radius:50%;display:grid;place-items:center;font:25px 'Archivo Black';transform:rotate(12deg)}.photo-tag{position:absolute;z-index:1;left:25px;top:25px;font-size:9px;line-height:1.4;font-weight:900;letter-spacing:.16em;color:var(--ink)}.hero-side{position:absolute;right:2.2vw;bottom:30px;writing-mode:vertical-rl;color:#77837a;font-size:9px;font-weight:900;letter-spacing:.18em}.marquee{background:var(--lime);overflow:hidden;white-space:nowrap;padding:17px 0;font:22px 'Archivo Black';letter-spacing:.04em}.marquee div{display:flex;justify-content:space-around;gap:30px}.marquee b{font-size:18px}.section{padding:100px 8vw;background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section h2,.process h2{font-size:clamp(45px,6vw,76px);margin:15px 0}.section h2 em,.process h2 em{font-style:normal;color:var(--green)}.section-head>p{max-width:310px;color:#68736a;font-size:14px;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-card{min-height:340px;padding:22px;background:#fffefa;border:1px solid #dfe2d8;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .2s}.service-card:hover{transform:translateY(-6px)}.card-index{font-size:9px;font-weight:900;letter-spacing:.12em;color:#6f7a70}.card-icon{font-size:32px;color:var(--green);margin-top:30px}.service-card h3{font:28px/.98 'Archivo Black';letter-spacing:-.045em;margin:12px 0}.service-card p{font-size:12px;line-height:1.7;color:#657067}.card-link{display:flex;justify-content:space-between;margin-top:auto;padding-top:24px;font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--green)}.lime{background:var(--sage);border-color:var(--sage)}.lime .card-index,.lime p{color:#34483b}.charcoal{background:var(--ink);color:var(--white);border-color:var(--ink)}.charcoal .card-index,.charcoal p{color:#b8c2b8}.charcoal .card-icon,.charcoal .card-link{color:var(--lime)}.process{background:#e4e9dd;padding:95px 9vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.process-title>p:last-of-type{font-size:13px;color:#657067}.button-dark{background:var(--ink);color:var(--lime)}.steps article{display:grid;grid-template-columns:50px 1fr;gap:15px;padding:19px 0;border-bottom:1px solid #cbd3c7}.steps article>span{font:22px 'Archivo Black';color:#81917f}.steps h3{font:16px 'Archivo Black';margin:0 0 7px;letter-spacing:-.02em}.steps p{margin:0;font-size:12px;line-height:1.7;color:#657067}.closing{background:var(--sage);padding:90px 8vw;text-align:center}.closing .eyebrow{justify-content:center;color:#34483b}.closing h2{font-size:clamp(65px,10vw,130px);margin:25px 0;color:var(--ink)}.closing-tag{margin-top:42px;font-size:9px;font-weight:900;letter-spacing:.18em}footer{background:var(--ink);color:#b8c2b8;padding:28px 6vw;display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:900;letter-spacing:.12em}footer .brand-name{color:var(--white)}footer>a:last-child{color:var(--lime)}
/* Booking and quote pages inherit the same urban identity. */
.booking-main{padding:70px 8vw 90px;max-width:1150px;margin:auto}.booking-main h1{font:400 clamp(52px,7vw,88px)/.95 'Archivo Black';letter-spacing:-.06em;color:var(--ink);margin:18px 0}.booking-main h1 em{font-style:normal;color:var(--green)}.narrow{max-width:650px}.estimate-panel,.request-panel,.quote-callout{margin-top:34px;padding:34px;background:#fffefa;border:1px solid #dfe2d8}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-grid label{font-size:11px;font-weight:900;letter-spacing:.04em;color:var(--green)}select{display:block;width:100%;margin-top:9px;padding:14px;border:1px solid #cfd6ca;background:var(--cream);font:13px 'DM Sans',sans-serif;color:var(--ink)}.extras{margin-top:30px;padding-top:20px;border-top:1px solid #dfe2d8}.extras h3,.request-panel h2,.quote-callout h2{font:25px 'Archivo Black';letter-spacing:-.03em;color:var(--ink)}.extras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.extras-grid label{font-size:12px;color:#657067;display:flex;gap:8px;align-items:center}.extras-grid b{margin-left:auto;color:var(--green)}.estimate-result{margin-top:30px;background:var(--ink);color:white;padding:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.estimate-result .eyebrow{color:var(--lime)}.price{font:44px 'Archivo Black';margin:7px 0;color:var(--lime)}.estimate-result p{font-size:11px;color:#d1d8d0;margin:0}.minimum{font-size:11px;color:#e9eee7}.fineprint{font-size:11px;line-height:1.7;color:#69756a;margin-top:17px}.request-panel{display:grid;grid-template-columns:1fr 1fr;gap:32px}.request-panel p{font-size:13px;line-height:1.8;color:#657067}.booking-links{display:flex;flex-direction:column}.booking-links a{padding:18px 0;border-bottom:1px solid #dfe2d8;font-size:12px;font-weight:900;color:var(--green)}.quote-callout{max-width:720px}.quote-callout p{font-size:14px;line-height:1.8;color:#657067}.quote-callout .button{margin-top:14px}
@media(max-width:900px){.topbar{padding:0 4vw}.topbar nav{gap:13px;font-size:9px}.hero{padding:65px 7vw;gap:4vw}.service-grid{grid-template-columns:repeat(2,1fr)}.process{gap:4vw}.hero-side{display:none}}
@media(max-width:600px){.ticker{justify-content:flex-start;gap:20px;padding-left:15px}.topbar{height:auto;min-height:76px;padding:12px 5vw;align-items:flex-start}.topbar nav{gap:10px;flex-wrap:wrap;justify-content:flex-end;max-width:62%}.topbar nav a:not(.nav-cta){display:none}.nav-cta{padding:12px}.hero{grid-template-columns:1fr;padding:55px 7vw 70px}.hero h1{font-size:62px}.hero-visual{margin:30px auto 0;width:85%}.photo-block{height:330px}.hero-actions{gap:15px;flex-wrap:wrap}.section{padding:70px 6vw}.section-head{display:block}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px}.process{grid-template-columns:1fr;padding:70px 7vw}.closing{padding:70px 5vw}.closing h2{font-size:67px}footer{flex-wrap:wrap;gap:18px}.form-grid,.extras-grid{grid-template-columns:1fr}.booking-main{padding:45px 6vw 70px}.estimate-panel,.request-panel,.quote-callout{padding:22px}.estimate-result{align-items:flex-start;flex-direction:column}.request-panel{grid-template-columns:1fr}}
.first-clean-promo{background:var(--green);color:var(--cream);padding:22px 24px;border-radius:12px;margin:0 0 18px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.first-clean-promo>div{flex:1;min-width:230px}
.first-clean-promo .promo-kicker{display:block;color:var(--sage);font-size:9px;font-weight:900;letter-spacing:.17em;margin-bottom:7px}
.first-clean-promo strong{display:block;font:clamp(21px,4vw,30px)/1.05 'Archivo Black',Impact,sans-serif;letter-spacing:-.04em;color:#b69a60}
.first-clean-promo p{font-size:12px;line-height:1.6;color:#e6e9df;margin:8px 0 0}
.first-clean-promo>a{background:#b69a60;color:var(--ink);padding:14px 17px;font-size:10px;font-weight:900;letter-spacing:.08em;text-align:center}
.booking-promo{max-width:720px;margin:25px 0 10px;padding:20px 24px;background:var(--green);color:var(--cream);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.booking-promo .promo-pill{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--sage);border:1px solid var(--sage);padding:7px 9px}
.booking-promo strong{font:22px 'Archivo Black';color:#b69a60}
.booking-promo>span:last-child{font-size:11px;color:#e4e9df}
.addon-intro{font-size:12px;line-height:1.7;color:#657067;max-width:650px;margin:-5px 0 20px}

/* Header logo */
.brandline{display:flex;justify-content:center;align-items:center;margin:0 auto 30px;min-height:112px}
.brandline img{display:block;width:min(420px,82vw);height:auto;max-height:145px;object-fit:contain}
@media(max-width:560px){.brandline{min-height:90px;margin-bottom:24px}.brandline img{width:min(330px,86vw);max-height:112px}}

.scheduler-addons{padding:22px;margin:22px 0;background:#faf8f0;border:1px solid #d9e0d4;border-radius:12px}.scheduler-addons h3{color:#173f32;margin:0 0 6px}.scheduler-addons>p{color:#66756a}.scheduler-addons-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.scheduler-addon{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #d9e0d4;border-radius:8px;padding:12px;cursor:pointer}.scheduler-addon input{accent-color:#173f32}.scheduler-addon span{flex:1}.scheduler-addon b{white-space:nowrap;color:#173f32}.scheduler-total{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d9e0d4;padding-top:15px;flex-wrap:wrap;color:#173f32}@media(max-width:600px){.scheduler-addons-grid{grid-template-columns:1fr}}