:root{--ink:#16302a;--evergreen:#2e6b4f;--evergreen-deep:#1d4a37;--sage:#e7efe8;--linen:#fbfbf8;--amber:#d9a441;--slate:#46554f;--line:rgba(22,48,42,.12);--radius:14px;--shadow:0 10px 30px -12px rgba(22,48,42,.18)}:root,[data-season=spring]{--season-glow:#e6f2e3;--season-accent:#5d9e6b}[data-season=summer]{--season-glow:#fdf3da;--season-accent:#d9a441}[data-season=autumn]{--season-glow:#f9e8d8;--season-accent:#c96f3b}[data-season=winter]{--season-glow:#e3edf4;--season-accent:#6f93ad}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--linen);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Bricolage Grotesque,sans-serif;line-height:1.12;letter-spacing:-.015em}img{max-width:100%}a{color:inherit}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.eyebrow{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--evergreen);margin-bottom:14px}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--evergreen);color:#fff;text-decoration:none;padding:12px 22px;border-radius:999px;font-weight:600;font-size:.93rem;border:none;cursor:pointer;font-family:inherit;transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s,background .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(46,107,79,.55);background:var(--evergreen-deep)}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn.ghost:hover{border-color:var(--evergreen);color:var(--evergreen);box-shadow:none;background:rgba(46,107,79,.05)}.btn.light{background:#fff;color:var(--evergreen-deep)}.btn.light:hover{background:var(--sage);box-shadow:0 12px 24px -10px rgba(0,0,0,.35)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(60,27%,98%,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner{justify-content:space-between;height:68px}.brand,.nav-inner{display:flex;align-items:center}.brand{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.18rem;text-decoration:none;gap:9px}.brand-dot{width:11px;height:11px;border-radius:50%;background:var(--evergreen);display:inline-block;position:relative}.brand-dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--evergreen);opacity:.35}.nav-links{display:flex;gap:26px;align-items:center;list-style:none}.nav-links a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--slate);transition:color .2s}.nav-links a:hover{color:var(--evergreen)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}@media(max-width:820px){.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--linen);border-bottom:1px solid var(--line);flex-direction:column;padding:20px 24px;gap:18px;align-items:flex-start}.nav-links.open{display:flex}.nav-toggle{display:block}}.hero{padding:72px 0 84px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:48px;gap:48px;align-items:center}@media(max-width:860px){.hero-grid{grid-template-columns:1fr}.scene{max-width:420px;margin:0 auto}}.hero h1{font-size:clamp(2.4rem,5.2vw,3.9rem);font-weight:800;margin-bottom:20px;line-height:1.1}.season-word{color:var(--season-accent);display:inline-block;min-width:5.2ch;transition:color 1.2s ease}.season-word .word{display:inline-block;animation:wordIn .6s cubic-bezier(.2,.8,.3,1)}@keyframes wordIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.lede{font-size:1.1rem;color:var(--slate);max-width:520px;margin-bottom:30px}.hero-ctas{gap:13px}.hero-ctas,.trust-strip{display:flex;flex-wrap:wrap}.trust-strip{gap:24px;margin-top:32px}.trust-item{display:flex;align-items:center;gap:9px;font-size:.85rem;font-weight:600;color:var(--slate)}.trust-item svg{flex:none}.stagger>*{opacity:0;transform:translateY(18px);animation:rise .7s cubic-bezier(.2,.8,.3,1) forwards}.stagger>:first-child{animation-delay:.05s}.stagger>:nth-child(2){animation-delay:.16s}.stagger>:nth-child(3){animation-delay:.27s}.stagger>:nth-child(4){animation-delay:.38s}.stagger>:nth-child(5){animation-delay:.49s}@keyframes rise{to{opacity:1;transform:translateY(0)}}.scene{position:relative;aspect-ratio:1/1;width:100%}.glow{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,var(--season-glow) 0,transparent 72%);transition:background 2s ease}.scene svg{position:relative;width:100%;height:100%;display:block}.house-group{animation:houseFloat 7.5s ease-in-out infinite;transform-origin:center}@keyframes houseFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.window{transition:fill 2s ease}[data-season=winter] .window{fill:#f5d98b}.sparkle{opacity:0;transform-origin:center;animation:spark 5s ease-in-out infinite}.sparkle.s2{animation-delay:1.7s}.sparkle.s3{animation-delay:3.3s}@keyframes spark{0%,72%,to{opacity:0;transform:scale(.3) rotate(0deg)}78%{opacity:1;transform:scale(1) rotate(40deg)}86%{opacity:0;transform:scale(.4) rotate(80deg)}}.tree-crown{transition:fill 2s ease}[data-season=spring] .tree-crown{fill:#7cb286}[data-season=summer] .tree-crown{fill:#4f8a5f}[data-season=autumn] .tree-crown{fill:#cf7f43}[data-season=winter] .tree-crown{fill:#b9ccd6}.particles{inset:0;overflow:hidden;pointer-events:none}.p,.particles{position:absolute}.p{top:-6%;border-radius:50%;animation-name:fall;animation-timing-function:linear;animation-iteration-count:infinite;opacity:0}@keyframes fall{0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:0}8%{opacity:.85}88%{opacity:.7}to{transform:translateY(112vh) translateX(var(--sway,30px)) rotate(300deg);opacity:0}}.p.up{top:auto;bottom:-6%;animation-name:floatUp}@keyframes floatUp{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.7}90%{opacity:.4}to{transform:translateY(-112vh) translateX(var(--sway,20px));opacity:0}}.season-dots{display:flex;gap:10px;margin-top:34px;align-items:center}.sd{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .6s,transform .6s}.sd.on{background:var(--season-accent);transform:scale(1.35)}.sd-label{font-size:.78rem;font-weight:600;color:var(--slate);margin-left:6px;text-transform:capitalize;min-width:4.5em}section{padding:84px 0}.section-head{max-width:620px;margin-bottom:48px}.section-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:700;margin-bottom:12px}.section-head p{color:var(--slate)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.3,1),transform .7s cubic-bezier(.2,.8,.3,1)}.reveal.in{opacity:1;transform:translateY(0)}.services{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));grid-gap:20px;gap:20px}.svc-card{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s,border-color .3s}.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(46,107,79,.4)}.svc-icon{width:44px;height:44px;border-radius:11px;background:var(--sage);display:grid;place-items:center;margin-bottom:6px}.svc-card h3{font-size:1.12rem;font-weight:700}.svc-card .price{font-family:Bricolage Grotesque,sans-serif;font-weight:700;color:var(--evergreen);font-size:1.05rem}.svc-card .price span{font-family:Inter,sans-serif;font-weight:500;font-size:.78rem;color:var(--slate)}.svc-card p{font-size:.9rem;color:var(--slate);flex:1 1}.svc-card a{font-size:.88rem;font-weight:600;color:var(--evergreen);text-decoration:none;display:inline-flex;align-items:center;gap:6px}.svc-card a:after{content:"→";transition:transform .25s}.svc-card a:hover:after{transform:translateX(4px)}.svc-anchor{margin-top:28px;font-size:.9rem;color:var(--slate);text-align:center}.svc-anchor strong{color:var(--ink)}.str{background:var(--ink);color:#f2f5f1;position:relative;overflow:hidden}.str:before{content:"";position:absolute;left:-140px;bottom:-200px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(46,107,79,.45) 0,transparent 70%)}.str-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;grid-gap:56px;gap:56px;align-items:center}@media(max-width:860px){.str-grid{grid-template-columns:1fr}}.str .eyebrow{color:var(--amber)}.str h2{font-size:clamp(1.8rem,3.4vw,2.4rem);font-weight:700;margin-bottom:16px;color:#fff}.str p{color:#c4d2c9;margin-bottom:14px}.str ul{list-style:none;display:grid;grid-gap:13px;gap:13px;margin:22px 0 30px}.str li{display:flex;gap:11px;font-size:.95rem;color:#dde7df}.str li svg{flex:none;margin-top:3px}.str-panel{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);border-radius:var(--radius);padding:30px 28px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.str-panel h3{font-size:1.02rem;font-weight:700;color:#fff;margin-bottom:18px}.str-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid hsla(0,0%,100%,.1);font-size:.92rem}.str-row:last-of-type{border:none}.str-row b{font-family:Bricolage Grotesque,sans-serif;color:var(--amber);font-weight:700;white-space:nowrap}.str-note{font-size:.78rem;color:#9fb2a7;margin-top:14px}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:34px;gap:34px}.why-item h3{font-size:1.04rem;font-weight:700;margin:14px 0 8px}.why-item p{font-size:.92rem;color:var(--slate)}.why-num{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:2rem;color:transparent;-webkit-text-stroke:1.3px var(--evergreen);opacity:.85}.stats{display:flex;gap:48px;flex-wrap:wrap;margin-top:56px;padding-top:42px;border-top:1px solid var(--line)}.stat b{font-family:Bricolage Grotesque,sans-serif;font-size:2.3rem;font-weight:800;color:var(--evergreen);display:block;line-height:1}.stat span{font-size:.84rem;color:var(--slate);font-weight:500}.area{background:var(--sage)}.chips{display:flex;flex-wrap:wrap;gap:11px;margin-top:8px}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:.89rem;font-weight:500;color:var(--ink);transition:transform .25s,border-color .25s}.chip:hover{transform:translateY(-2px);border-color:var(--evergreen)}.quote-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:46px;display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:center}@media(max-width:820px){.quote-card{grid-template-columns:1fr;padding:32px}}.quote-card h2{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:700;margin-bottom:12px}.quote-card>div>p{color:var(--slate);margin-bottom:22px}.quote-form{display:grid;grid-gap:13px;gap:13px}.quote-form input,.quote-form select,.quote-form textarea{font-family:Inter,sans-serif;font-size:.94rem;padding:13px 16px;border:1.5px solid var(--line);border-radius:10px;background:var(--linen);transition:border-color .2s;width:100%}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:none;border-color:var(--evergreen)}.form-status{font-size:.88rem;font-weight:600}.form-status.ok{color:var(--evergreen)}.form-status.err{color:#b4452f}.phone-cta{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:.9rem;color:var(--slate)}.phone-cta a{font-weight:700;color:var(--evergreen);text-decoration:none}.page-hero{padding:80px 0 64px;background:var(--ink);color:#f2f5f1;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;right:-160px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(46,107,79,.5) 0,transparent 70%)}.page-hero .wrap{position:relative}.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:800;color:#fff;margin-bottom:18px;max-width:720px}.page-hero p{color:#c4d2c9;max-width:600px;font-size:1.08rem;margin-bottom:30px}.page-hero .eyebrow{color:var(--amber)}.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:28px;gap:28px}.process-step{padding:26px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.process-step h3{font-size:1rem;font-weight:700;margin:12px 0 8px}.process-step p{font-size:.88rem;color:var(--slate)}.faq{display:grid;grid-gap:14px;gap:14px;max-width:760px}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px}.faq summary{font-weight:600;cursor:pointer;font-size:.97rem}.faq details p{margin-top:12px;font-size:.92rem;color:var(--slate)}.footer{background:var(--ink);color:#b9c8bf;padding:56px 0 36px;font-size:.88rem}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:36px;gap:36px;margin-bottom:40px}@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}.footer h4{color:#fff;font-size:.92rem;margin-bottom:14px;font-family:Bricolage Grotesque,sans-serif}.footer a{color:#b9c8bf;text-decoration:none;display:block;margin-bottom:9px;transition:color .2s}.footer a:hover{color:#fff}.foot-bottom{border-top:1px solid hsla(0,0%,100%,.12);padding-top:24px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.8rem;color:#8da296}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.reveal,.stagger>*{opacity:1;transform:none}.particles{display:none}}.reviews-sec{background:#fff;border-top:1px solid var(--line)}.rv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:22px;gap:22px}.rv-card{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;display:flex;flex-direction:column;gap:14px;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s}.rv-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.rv-stars{display:inline-flex;gap:3px}.rv-text{font-size:.97rem;color:var(--ink);flex:1 1;line-height:1.65}.rv-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.rv-name{font-weight:700;font-size:.92rem}.rv-src{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--slate)}.rv-dot{width:10px;height:10px;border-radius:50%;background:#17b8a6;display:inline-block}.nav-links a.btn,.nav-links a.btn:hover{color:#fff}