/* V2: the same identity, with a comfortable reading scale. */
:root{--muted:#5e6253;--reading:18px;--small:14px}
body{font-size:var(--reading);line-height:1.7}
.site-header{min-height:132px;height:auto;padding-block:10px;grid-template-columns:1fr 170px 1fr;gap:24px}
.desktop-nav{font-size:16px;gap:28px}.desktop-nav a{padding-block:12px}
.location-label{font-size:14px;letter-spacing:.04em}
.header-right{gap:24px}.header-cta{font-size:16px;gap:16px;min-height:48px}
.brand{width:150px;height:99px}.brand img{width:190px;height:190px;left:-20px;top:-41px}
.hero{min-height:770px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5%;padding-top:32px;padding-bottom:32px}
.hero-copy{padding:28px 0 20px}.hero h1{font-size:clamp(72px,7.65vw,116px);line-height:1.01;margin:27px 0 31px;letter-spacing:-.025em}
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.offer-list>.eyebrow,.closing .eyebrow{font-size:14px;letter-spacing:.11em;line-height:1.5}
.hero-description{font-size:19px;line-height:1.65;max-width:440px;text-wrap:pretty}
.hero .button{margin-top:28px}.button{font-size:16px;min-height:56px;padding:16px 24px;gap:25px;line-height:1.4}
.hero-local{font-size:14px;line-height:1.6;margin-top:23px;color:var(--muted)}
.hero-image{min-height:700px}.season-tag{font-size:14px;letter-spacing:.05em;top:20px;left:20px;right:20px;text-shadow:0 1px 5px #000;background:#302c2380;padding:8px 12px}
.hero-image figcaption{font-size:14px;line-height:1.4;padding:7px 10px;max-width:calc(100% - 32px)}
.service-line{font-size:14px;letter-spacing:.06em;gap:4%;padding:25px 4%;line-height:1.5}
.section-heading{max-width:750px}.section-heading h2{line-height:1.04;margin:26px 0}
.section-heading p:last-child{font-size:18px;line-height:1.65}
.fall-layout{gap:7%;align-items:start}.fall-image{position:sticky;top:28px}.fall-image img{height:640px}
.fall-image figcaption{font-size:14px;flex-wrap:wrap;align-items:baseline;row-gap:3px}.fall-image figcaption span:first-child{font-size:24px}
.offer{grid-template-columns:28px minmax(0,1fr) 44px;gap:15px;padding:29px 0}.offer-number{font-size:14px;margin-top:8px}
.offer h3{font-size:40px;line-height:1.15;margin-bottom:13px}.offer p{font-size:17px;line-height:1.7;max-width:390px;text-wrap:pretty}
.offer-note{font-size:14px;letter-spacing:.045em;line-height:1.5;margin-top:17px}
.offer>button{width:44px;min-height:44px;font-size:30px;line-height:1.4}
.quote-note{font-size:16px;line-height:1.7;max-width:none;padding-top:24px}
.process h2{font-size:64px;line-height:1.06;min-width:55%}.process-intro>.eyebrow{padding-top:7px}
.steps{gap:5%;margin-top:52px}.step-count{font-size:14px;letter-spacing:.075em;line-height:1.5}
.steps h3{font-size:36px;line-height:1.12;margin:23px 0 17px}.steps p{font-size:17px;line-height:1.7;max-width:350px}
.seasons{gap:10%;grid-template-columns:1fr 1.22fr}.season-intro h2{font-size:78px;line-height:1.03;letter-spacing:-.02em;margin:27px 0}
.season-intro>p:last-child{font-size:18px;line-height:1.7;max-width:370px;color:#f6f2e9e8}
.season-tabs button{font-size:18px;min-height:54px;padding:10px 0 19px;color:#f6f2e9d9}
.season-panel{padding:27px 5px 20px;min-height:447px}.season-art{width:128px;height:102px;margin-bottom:15px}
.season-panel .eyebrow{font-size:14px;letter-spacing:.07em;opacity:1}
.season-panel h3{font-size:54px;line-height:1.05;margin:23px 0}.season-panel>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:420px;color:#f6f2e9e8}
.text-link{font-size:16px;min-height:48px;line-height:1.5;gap:22px;padding:12px 0}.text-link.light{margin-top:22px}
.season-footnote{font-size:14px;max-width:450px;line-height:1.65;color:#f6f2e9d9;margin-top:19px}
.local-section{gap:8%}.local-copy h2{font-size:68px;line-height:1.04;margin:26px 0}
.local-copy>p:not(.eyebrow):not(.towns){font-size:18px;line-height:1.75;max-width:470px}
.towns{font-size:14px;letter-spacing:.025em;line-height:1.8;margin:26px 0 13px}.towns span{padding:0 7px}
.local-image img{height:535px}.local-image figcaption{font-size:24px;flex-wrap:wrap;gap:4px 12px}.local-image figcaption span{font-size:14px;line-height:1.5}
.faq{grid-template-columns:1fr 1.65fr;gap:7%}.faq h2{font-size:70px;line-height:1.03}
.questions summary{font-size:18px;line-height:1.6;align-items:center;padding:25px 0;gap:24px}.questions summary span{font-size:24px;flex-shrink:0}
.questions details p{font-size:17px;line-height:1.75;padding-bottom:26px}
.closing h2{font-size:90px;line-height:1.03;margin:28px 0}.closing>p:not(.eyebrow){font-size:18px;line-height:1.65;color:#f6f2e9eb}
.instagram-link{font-size:16px;padding:6px 0;margin-top:18px;min-height:44px}
footer{gap:25px;padding-block:38px;flex-wrap:wrap}footer>.footer-name{font-size:32px}footer>p{font-size:25px}footer>div{font-size:14px;line-height:1.7;gap:25px}footer a{min-height:44px;display:inline-flex;align-items:center}
dialog{width:min(670px,calc(100% - 32px));padding:46px 42px;max-height:92dvh}.dialog-close{min-width:44px;min-height:44px}
.dialog-intro h2{font-size:62px;line-height:1.05}.dialog-intro>p:last-child{font-size:17px;line-height:1.65;max-width:520px;margin-bottom:23px}
form label,#inquiry-result label{font-size:16px;line-height:1.5;margin-top:20px}label span{font-size:14px}
input,select,textarea{font-size:16px;line-height:1.5;padding:13px 14px;min-height:52px}
.field-row{grid-template-columns:1fr;gap:0}.form-note{font-size:14px;line-height:1.65;margin-top:15px}
#inquiry-result>p{font-size:17px;line-height:1.6}#copy-status{font-size:15px;line-height:1.6}.result-actions .button{font-size:16px}
@media(min-width:1600px){.hero{max-width:1600px}.hero h1{font-size:120px}}
@media(max-width:1150px){.location-label{display:none}.hero h1{font-size:clamp(65px,7.8vw,86px)}.hero{gap:4%}.hero-description{font-size:18px}.offer h3{font-size:35px}.offer{gap:10px;grid-template-columns:24px minmax(0,1fr) 44px}.offer-note{letter-spacing:0}.season-intro h2{font-size:65px}.local-copy h2{font-size:58px}.process h2{font-size:56px}.towns span{padding:0 4px}}
@media(min-width:761px) and (max-width:900px){.site-header{grid-template-columns:1fr 150px 1fr;padding-inline:25px;gap:15px}.desktop-nav{gap:12px;font-size:15px}.header-cta{font-size:15px}.hero{min-height:720px}.hero-image{min-height:650px}.hero h1{font-size:66px}.hero-description{font-size:17px}.hero .eyebrow{letter-spacing:.03em}.hero .button{font-size:15px;padding-inline:18px;gap:15px}.hero-local{font-size:14px}.service-line{gap:20px;font-size:14px;text-align:center}.fall-layout{grid-template-columns:1fr;gap:35px}.fall-image{position:static}.fall-image img{height:430px}.offer p{max-width:none}.process-intro{display:block}.process h2{margin-top:24px}.steps{gap:25px}.steps h3{font-size:31px}.steps p{font-size:16px}.seasons{gap:6%;grid-template-columns:.9fr 1.1fr}.season-intro h2{font-size:58px}.season-panel h3{font-size:44px}.local-section{gap:5%}.local-copy h2{font-size:51px}.local-image img{height:480px}.faq{grid-template-columns:.7fr 1.3fr}.questions summary{font-size:17px}.faq h2{font-size:60px}footer>div{width:100%;justify-content:space-between}}
@media(max-width:760px){:root{--reading:17px}.site-header{min-height:114px;display:grid;grid-template-columns:1fr 150px 1fr;padding:8px 22px;gap:8px}.brand{grid-column:2;width:134px;height:92px}.brand img{width:172px;height:172px;left:-19px;top:-35px}.menu-toggle{grid-column:3;justify-self:end;font-size:16px;gap:8px;padding:12px 0;min-height:48px}.desktop-nav,.header-right{display:none}.mobile-menu a,.mobile-menu button{font-size:18px;line-height:1.5;padding:17px 0}.hero{grid-template-columns:1fr;gap:27px;padding:28px 20px 20px;min-height:0}.hero-copy{padding:10px 0 4px}.hero .eyebrow{font-size:14px;letter-spacing:.07em}.hero h1{font-size:clamp(67px,15.7vw,92px);line-height:.99;letter-spacing:-.025em;margin:24px 0 28px}.hero-description{font-size:18px;line-height:1.65;max-width:355px;text-wrap:pretty}.hero .button{margin-top:25px;font-size:16px;gap:25px}.hero-local{font-size:14px;max-width:330px;margin:20px auto 0;line-height:1.6}.hero-image{min-height:420px}.season-tag{font-size:14px;letter-spacing:0;left:12px;right:12px;top:15px;gap:12px;padding:7px 9px}.season-tag span:last-child{white-space:nowrap}.hero-image figcaption{font-size:14px;bottom:13px;right:12px}.service-line{display:grid;grid-template-columns:1fr;gap:9px;text-align:center;font-size:14px;letter-spacing:.055em;padding:25px 24px}.line-star{display:none}.section-pad{padding:67px 24px}.eyebrow,.section-heading .eyebrow,.offer-list>.eyebrow,.closing .eyebrow{font-size:14px;letter-spacing:.07em}.section-heading h2{font-size:60px;line-height:1.04;margin:23px 0}.section-heading p:last-child{font-size:17px;line-height:1.65}.section-heading p:last-child br{display:none}.fall-layout{grid-template-columns:1fr;margin-top:34px;gap:39px}.fall-image{position:static}.fall-image img{height:410px}.fall-image figcaption{font-size:14px;display:block;line-height:1.6}.fall-image figcaption span{display:block}.fall-image figcaption span:first-child{font-size:25px;margin-bottom:4px}.offer-list>.eyebrow{margin-bottom:22px}.offer{grid-template-columns:23px minmax(0,1fr) 40px;gap:8px;padding:27px 0}.offer-number{font-size:14px}.offer h3{font-size:35px;line-height:1.08}.offer p{font-size:17px;line-height:1.7}.offer-note{font-size:14px;letter-spacing:0;margin-top:14px;line-height:1.5}.offer>button{width:40px}.quote-note{font-size:16px;line-height:1.7}.process-intro{display:block}.process h2{font-size:53px;line-height:1.08;margin-top:22px}.steps{grid-template-columns:1fr;gap:29px;margin-top:33px}.step-count{font-size:14px}.steps h3{font-size:37px;line-height:1.15;margin:18px 0 13px}.steps p{font-size:17px;line-height:1.7;max-width:none}.seasons{grid-template-columns:1fr;gap:33px}.season-intro h2{font-size:64px;line-height:1.04}.season-intro>p:last-child{font-size:17px;line-height:1.7;max-width:none}.season-tabs button{font-size:17px}.season-panel{min-height:0;padding:26px 0 22px}.season-panel .eyebrow{font-size:14px}.season-panel h3{font-size:50px;line-height:1.07}.season-panel>p:not(.eyebrow){font-size:17px}.season-footnote{font-size:14px;line-height:1.7;margin-top:12px}.text-link{font-size:16px}.local-section{grid-template-columns:1fr;gap:32px}.local-copy h2{font-size:57px;line-height:1.04}.local-copy>p:not(.eyebrow):not(.towns){font-size:17px;line-height:1.75}.towns{font-size:14px;letter-spacing:0;line-height:1.85;margin-top:24px}.towns span{padding:0 3px}.local-image img{height:400px}.local-image figcaption{font-size:25px;display:block;line-height:1.4}.local-image figcaption span{display:block;font-size:14px;margin-top:7px}.faq{grid-template-columns:1fr;gap:30px;padding-top:18px}.faq h2{font-size:58px;line-height:1.03}.questions summary{font-size:18px;line-height:1.6;gap:18px;padding:23px 0}.questions details p{font-size:17px;line-height:1.7;padding-right:0}.closing h2{font-size:clamp(58px,15vw,78px);line-height:1.02}.closing>p:not(.eyebrow){font-size:18px}.closing .eyebrow{font-size:14px}.closing .button{font-size:16px;gap:18px;padding-inline:18px}.instagram-link{font-size:16px}footer{padding:30px 24px;gap:20px}footer>.footer-name{font-size:33px}footer>div{display:flex;flex-wrap:wrap;font-size:14px;gap:12px 25px;justify-content:space-between}.dialog-intro h2{font-size:54px}.dialog-intro>p:last-child{font-size:17px}dialog{padding:44px 24px 30px}form label,#inquiry-result label{font-size:16px}label span{font-size:14px}input,select,textarea{font-size:16px}.form-note{font-size:14px}.result-actions .button{font-size:16px;flex-basis:100%;padding:14px 16px}#copy-status{font-size:15px}}
@media(max-width:360px){.site-header{padding-inline:15px;grid-template-columns:1fr 136px 1fr}.menu-toggle{font-size:14px;gap:5px}.hero{padding-inline:16px}.hero h1{font-size:64px}.section-pad{padding-inline:20px}.season-tag{font-size:14px;flex-wrap:wrap}.offer h3{font-size:32px}.offer{grid-template-columns:21px minmax(0,1fr) 36px}.offer>button{width:36px}.season-panel h3{font-size:45px}.closing .button{gap:12px;padding-inline:12px;font-size:16px}}
