:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}:root{--pine-950:#061c0e;--pine-925:#083317;--pine-900:#092a15;--pine-800:#064f1d;--pine-700:#0b6427;--pine-600:#1f6f35;--needle:#3f7d2d;--cone:#7a4709;--bark:#9a5a13;--gold:#f6a900;--gold-hover:#e39b00;--gold-soft:#ffd567;--gold-bright:#ffc22e;--gold-pale:#fff1c7;--pine-soft:#e6f3ea;--needle-light:#81b85d;--sky-mint:#dff5e7;--cream:#fff8ea;--cream-2:#f8eedb;--sand:#f4e8d1;--card:#ead6b8;--card-2:#f0dec2;--border:#d7c4a4;--border-strong:#c7a980;--heading:#102015;--body:#2c2419;--muted:#6b5a43;--white:#fff;--shadow-xs:0 8px 18px #10201514, 0 2px 0 #064f1d12;--shadow-sm:0 16px 32px #1020151f, 0 4px 0 #064f1d14;--shadow-md:0 28px 64px #10201529, 0 6px 0 #064f1d14;--shadow-card:0 16px 34px #1020151f, 0 5px 0 #7a47091a, inset 0 1px 0 #ffffffb8;--shadow-card-hover:0 24px 42px #10201529, 0 6px 0 #7a47091f, inset 0 1px 0 #fffc;--shadow-button:0 12px 24px #064f1d38, inset 0 1px 0 #ffffff38, 0 4px 0 #043914f2;--shadow-button-gold:0 12px 24px #f6a9003d, inset 0 1px 0 #ffffff6b, 0 4px 0 #b57900f5;--radius-xs:10px;--radius-sm:14px;--radius-md:20px;--radius-lg:30px;--container:1180px}*,:before,:after{box-sizing:border-box}html{background:var(--cream);color:var(--body);scroll-behavior:smooth;text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{color:var(--body);background:radial-gradient(circle at 8% 4%,#f6a9002e,#0000 24rem),radial-gradient(circle at 88% 7%,#1f6f351f,#0000 28rem),radial-gradient(circle at 52% 0,#81b85d1a,#0000 24rem),linear-gradient(135deg,#7a47090d 0 1px,#0000 1px 100%) 0 0/42px 42px,linear-gradient(#fff8ea 0%,#fcf3e1 100%);margin:0;font-size:1rem;line-height:1.65}img,svg{max-width:100%;display:block}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p,ul{margin-top:0}h1,h2,h3{color:var(--heading);letter-spacing:-.045em;line-height:1.04}h1{max-width:11.6ch;margin-bottom:1.15rem;font-size:clamp(3.1rem,7vw,6rem)}h2{margin-bottom:1rem;font-size:clamp(2.1rem,4vw,4.05rem)}h3{letter-spacing:-.025em;margin-bottom:.55rem;font-size:1.25rem}p{margin-bottom:1rem}.container{width:min(100% - 2rem, var(--container));margin-inline:auto}.narrow{max-width:790px;margin-inline:auto}.centered{text-align:center}.site-header{z-index:50;backdrop-filter:blur(10px);background:#fff8eaed;border-bottom:1px solid #d7c4a4b8;padding:.75rem 0;position:sticky;top:0;box-shadow:0 10px 32px #10201514}.header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:72px;padding:.25rem .5rem;display:grid}.brand{align-items:center;text-decoration:none;display:inline-flex}.brand img{object-fit:contain;width:150px;height:auto}.desktop-nav{background:#fff8eaa8;border:1px solid #d7c4a4c7;border-radius:999px;justify-self:center;align-items:center;gap:.15rem;padding:.35rem;display:inline-flex;box-shadow:inset 0 1px #ffffffa3}.desktop-nav a{color:var(--muted);border-radius:999px;padding:.58rem .78rem;font-size:.86rem;font-weight:850;line-height:1;text-decoration:none;transition:background-color .16s,color .16s,transform .16s}.desktop-nav a:hover{background:var(--sand);color:var(--pine-800);transform:translateY(-1px)}.header-actions,.button-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.header-actions{justify-content:flex-end}.button{border-radius:var(--radius-sm);text-align:center;border:2px solid #0000;justify-content:center;align-items:center;min-height:46px;padding:.78rem 1.12rem;font-weight:900;line-height:1.1;text-decoration:none;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button-xl{min-height:56px;padding:1rem 1.35rem}.button-primary{color:var(--white);background:linear-gradient(180deg, #16843a, var(--pine-800));box-shadow:var(--shadow-button);border-color:#ffffff24}.button-primary:hover{background:linear-gradient(180deg, #1c9341, var(--pine-800))}.button-secondary{color:var(--heading);background:linear-gradient(180deg, #ffd04f, var(--gold));box-shadow:var(--shadow-button-gold);border-color:#ffffff57}.button-secondary:hover{background:linear-gradient(180deg, #ffe07a, var(--gold-hover))}.button-cream{color:var(--pine-800);background:linear-gradient(#fff,#fbf1dd);border-color:#ffffffb3;box-shadow:0 14px 28px #041e0e6b,inset 0 1px #ffffffe6,0 4px #04281273}.button-cream:hover{background:linear-gradient(180deg, #fff, var(--sand))}.button-outline{color:var(--pine-800);background:linear-gradient(#ffffffc7,#f4e8d1f0);border-color:#064f1d3d;box-shadow:0 10px 20px #10201514,inset 0 1px #ffffffdb,0 3px #064f1d1f}.button-outline:hover{background:linear-gradient(180deg, #ffffffeb, var(--sand))}.mobile-menu,.mobile-sticky-cta{display:none}.hero{isolation:isolate;color:var(--cream);background:radial-gradient(circle at 12% 8%,#f6a9004d,#0000 42%),radial-gradient(circle at 88% 18%,#81b85d42,#0000 46%),radial-gradient(circle at 70% 96%,#1f6f3566,#0000 50%),linear-gradient(162deg,#0e4a23 0%,#093a1b 46%,#062a14 100%);padding:5.5rem 0 4rem;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(115deg,#fff8ea0d 0 1px,#0000 1px 26px),repeating-linear-gradient(25deg,#fff8ea09 0 1px,#0000 1px 30px);position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(180deg, transparent, var(--cream));pointer-events:none;height:3.5rem;position:absolute;bottom:-1px;left:0;right:0}.hero .eyebrow{color:var(--gold-soft)}.hero h1{color:#fff}.hero .hero-lead{color:#fff8eaf0}.hero .micro-copy{color:#fff8ead1}.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(360px,.9fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.eyebrow,.section-label{color:var(--pine-800);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.8rem;font-size:.82rem;font-weight:950}.hero-lead{max-width:760px;color:var(--body);font-size:clamp(1.18rem,2vw,1.45rem);line-height:1.55}.hero-actions{margin-top:1.65rem}.micro-copy{color:var(--muted);margin-top:1.1rem;font-weight:800}.hero-visual{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg, #ffffff7a, #ead6b8a3), var(--card-2);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffffb3;padding:1rem;position:relative;overflow:hidden}.hero-visual:before{content:"";filter:blur(4px);background:#f6a9003d;border-radius:50%;width:15rem;height:15rem;position:absolute;inset:-18% auto auto -10%}.section{padding:clamp(4.5rem,8vw,7rem) 0}.section-soft{background:#f4e8d1b3}.section-dark{isolation:isolate;color:var(--cream);background:radial-gradient(circle at 10% 0,#f6a90038,#0000 40%),radial-gradient(circle at 92% 100%,#81b85d33,#0000 46%),linear-gradient(158deg,#0d451f 0%,#08361a 50%,#062813 100%);position:relative;overflow:hidden}.section-dark:before{content:"";z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(115deg,#fff8ea0b 0 1px,#0000 1px 28px);position:absolute;inset:0}.section-dark h2{color:#fff}.section-dark .section-label{color:var(--gold-soft)}.section-dark .section-intro,.section-dark p{color:#fff8eaeb}.section-dark .defensible-card{border-color:#ffffff2e}.section-dark .defensible-card p{color:var(--body)}.section-dark .defensible-card h3{color:var(--heading)}.section-heading{max-width:780px;margin-bottom:2rem}.section-heading p,.section-intro{max-width:760px;font-size:1.12rem;line-height:1.7}.proof-strip{padding:1rem 0 3.25rem}.proof-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.proof-card,.service-card,.step-card,.scope-card,.contact-panel,.faq-item{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:radial-gradient(circle at 100% 0,#f6a90024,#0000 34%),radial-gradient(circle at 0 100%,#1f6f3514,#0000 36%),linear-gradient(#ffffffbd,#ead6b8f5);border:1px solid #c7a980c7}.proof-card{align-items:center;gap:.85rem;padding:1rem;display:flex}.proof-card,.scope-card,.contact-panel{transition:transform .18s,box-shadow .18s}.proof-card:hover,.scope-card:hover,.contact-panel:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.proof-card strong,.proof-card span{display:block}.proof-card strong{color:var(--heading);font-size:1rem;line-height:1.1}.proof-card div span{color:var(--muted);font-size:.9rem;font-weight:750}.icon{width:3rem;height:3rem;color:var(--pine-800);background:linear-gradient(#ffffffeb,#dff5e7eb);border:1px solid #1f6f3524;border-radius:18px;flex:none;place-items:center;display:inline-grid;position:relative;box-shadow:0 10px 22px #1020151a,inset 0 1px #ffffffd9,0 3px #064f1d14}.icon:after{content:"";pointer-events:none;background:linear-gradient(#ffffff9e,#fff0);border-radius:14px;position:absolute;inset:.32rem}.icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;z-index:1;width:1.55rem;height:1.55rem;position:relative}.icon svg .fill{fill:currentColor;stroke:none}.icon svg .thin{stroke-width:1.8px;opacity:.92}.proof-grid>:nth-child(3n+1) .icon,.bento-grid>:nth-child(3n+1) .icon{color:var(--pine-800);background:linear-gradient(#fffffff0,#dff5e7f2)}.proof-grid>:nth-child(3n+2) .icon,.bento-grid>:nth-child(3n+2) .icon{color:var(--cone);background:linear-gradient(#fffcf2fa,#ffebb5f5);border-color:#b579002e}.proof-grid>:nth-child(3n) .icon,.bento-grid>:nth-child(3n) .icon{color:var(--pine-700);background:linear-gradient(#fffffff5,#f0dec2fa)}.split{grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.step-grid{counter-reset:steps;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.step-card{min-height:260px;padding:1.35rem;transition:transform .18s,box-shadow .18s;position:relative}.step-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.step-number{color:#064f1d38;letter-spacing:-.08em;margin-bottom:2.4rem;font-size:3.5rem;font-weight:950;line-height:.9;display:block}.step-card .icon{position:absolute;top:1.45rem;right:1.45rem}.bento-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.service-card{padding:1.35rem;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.service-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-5px)}.service-card:before{content:"";background:linear-gradient(90deg, #ffd45f, var(--gold), var(--needle-light), var(--pine-700));height:6px;position:absolute;inset:0 0 auto}.service-card .icon{margin-bottom:1.2rem}.service-featured{background:linear-gradient(145deg,#ffbc1c38,#fff8eae0 48%,#dff5e7f2);grid-column:span 2;min-height:310px}.service-featured h3{font-size:1.9rem}.service-featured p{max-width:56ch;font-size:1.08rem}.fire-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.defensible-card{border-radius:var(--radius-lg);background:var(--card-2);box-shadow:var(--shadow-md);border:1px solid #064f1d29;padding:1.4rem}.zone-rings{aspect-ratio:1;background:radial-gradient(circle, var(--cream) 0 16%, #f6a90038 16% 35%, #1f6f3529 35% 61%, #064f1d29 61% 100%);border:1px solid var(--border);border-radius:50%;margin-bottom:1.25rem;position:relative}.zone-home{background:var(--pine-800);width:5rem;height:5rem;color:var(--cream);box-shadow:var(--shadow-sm);border-radius:20px;place-items:center;font-weight:950;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.zone{color:var(--pine-800);box-shadow:var(--shadow-xs);background:#fff8eae6;border-radius:999px;padding:.35rem .65rem;font-size:.82rem;font-weight:950;position:absolute}.zone-one{top:31%;left:50%;transform:translate(-50%)}.zone-two{top:12%;left:50%;transform:translate(-50%)}.zone-three{bottom:7%;left:50%;transform:translate(-50%)}.phone-card{border:10px solid var(--pine-950);background:var(--cream);max-width:390px;box-shadow:var(--shadow-md);border-radius:38px;margin-inline:auto;padding:1.2rem}.phone-top{background:#061c0e38;border-radius:999px;width:5.3rem;height:.45rem;margin:0 auto 1.1rem}.message{border-radius:18px;max-width:84%;margin-bottom:.75rem;padding:.7rem .85rem;font-size:.9rem;font-weight:750}.message-in{background:var(--sand);color:var(--heading)}.message-out{background:var(--pine-800);color:var(--cream);margin-left:auto}.photo-stack{grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0;display:grid}.photo-stack span{background:repeating-linear-gradient(23deg, #7a470980 0 4px, #9a5a1340 4px 12px), var(--sand);min-height:95px;color:var(--cream);border-radius:16px;place-items:end center;padding:.55rem;font-weight:950;display:grid}.photo-stack span:last-child{color:var(--heading);background:linear-gradient(#d8c69f,#b7a379)}.pill-grid{flex-wrap:wrap;gap:.65rem;display:flex}.pill{min-height:2.5rem;color:var(--heading);background:linear-gradient(#ffffffc7,#f0dec2f5);border:1px solid #c7a980d1;border-radius:999px;align-items:center;padding:.55rem .9rem;font-weight:900;display:inline-flex;box-shadow:0 8px 16px #10201514,inset 0 1px #ffffffd1,0 3px #7a470914}.service-area-note{color:var(--muted);margin-top:1.2rem;font-weight:800}.service-area-note a{color:var(--pine-800);text-underline-offset:.22em;text-decoration-thickness:3px}.scope-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:stretch;gap:1rem;display:grid}.scope-card{padding:1.4rem}.scope-negative{border-left:6px solid var(--gold);background:linear-gradient(#fff8ea42,#ead6b8f5)}.check-list{gap:.75rem;padding:0;list-style:none;display:grid}.two-col-list{grid-template-columns:repeat(2,minmax(0,1fr))}.check-list li{padding-left:1.7rem;font-weight:750;position:relative}.check-list li:before{content:"";background:var(--pine-700);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.62em;left:0}.faq-list{gap:.8rem;display:grid}.faq-item{border-radius:var(--radius-sm)}.faq-item summary{cursor:pointer;color:var(--heading);padding:1.05rem 3.25rem 1.05rem 1.15rem;font-weight:950;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";width:1.8rem;height:1.8rem;color:var(--pine-800);background:#064f1d1a;border-radius:999px;place-items:center;font-size:1.2rem;display:grid;position:absolute;top:50%;right:1.1rem;transform:translateY(-50%)}.faq-item[open] summary:after{content:"−"}.faq-item p{margin-bottom:0;padding:0 1.15rem 1.15rem}.contact-panel{gap:.75rem;padding:1.35rem;display:grid}.contact-panel img{width:160px;margin-inline:auto}.contact-panel span{color:var(--muted);text-align:center;font-weight:800}.cta-band{isolation:isolate;background:radial-gradient(circle at 14% 12%, #ffffff73, transparent 38%), radial-gradient(circle at 90% 88%, #b5790052, transparent 45%), linear-gradient(135deg, var(--gold-bright) 0%, var(--gold) 52%, #e89a00 100%);padding:clamp(3rem,6vw,4.75rem) 0;position:relative;overflow:hidden}.cta-band:before{content:"";z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(125deg,#7a470912 0 1px,#0000 1px 30px);position:absolute;inset:0}.cta-band-inner{grid-template-columns:minmax(0,1.3fr) auto;align-items:center;gap:clamp(1.5rem,4vw,3rem);display:grid}.cta-band-copy .section-label{color:#6b4500}.cta-band-copy h2{color:#1a2e12;margin-bottom:.6rem}.cta-band-copy p{color:#3a2d12;max-width:46ch;margin-bottom:0;font-size:1.08rem;font-weight:700}.cta-band-actions{flex-wrap:wrap;gap:.75rem;display:flex}.site-footer{background:var(--pine-950);color:#fff8ead1;padding:3.2rem 0 2rem}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:2rem;display:grid}.site-footer h2,.site-footer h3{color:var(--cream)}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin-bottom:.35rem}.footer-actions a{color:var(--gold);text-underline-offset:.2em;font-weight:950;text-decoration-thickness:2px}.footer-bottom{border-top:1px solid #fff8ea29;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1rem;font-size:.9rem;display:flex}@media (width<=1080px){.desktop-nav{display:none}.header-inner{grid-template-columns:auto 1fr}.mobile-menu{display:block}.mobile-menu summary{border-radius:var(--radius-sm);min-height:46px;color:var(--pine-800);cursor:pointer;background:linear-gradient(#fffffffa,#f0dec2f2);border:2px solid #064f1dc2;align-items:center;gap:.5rem;padding:.7rem .85rem;font-weight:900;list-style:none;display:inline-flex;box-shadow:0 10px 20px #1020151a,inset 0 1px #ffffffd9,0 3px #064f1d1f}.mobile-menu summary::-webkit-details-marker{display:none}.menu-icon,.menu-icon:before,.menu-icon:after{background:currentColor;border-radius:999px;width:1.1rem;height:2px;display:block}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.mobile-menu-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--cream);min-width:230px;box-shadow:var(--shadow-md);padding:.65rem;display:grid;position:absolute;top:calc(100% + .5rem);right:1rem}.mobile-menu-panel a{border-radius:var(--radius-xs);color:var(--heading);padding:.75rem;font-weight:900;text-decoration:none}.mobile-menu-panel a:hover{background:linear-gradient(#ffd5673d,#dff5e799)}}@media (width<=900px){h1{max-width:12.2ch;font-size:clamp(2.8rem,11vw,4.2rem)}.hero{padding-top:3.5rem}.hero-grid,.split,.fire-grid,.scope-grid,.cta-band-inner{grid-template-columns:1fr}.cta-band-actions{width:100%}.cta-band-actions .button{flex:auto}.proof-grid,.bento-grid,.step-grid{grid-template-columns:1fr 1fr}.service-featured{grid-column:span 2}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}@media (width<=640px){body{padding-bottom:74px}.container{width:min(100% - 1.25rem, var(--container))}.site-header{backdrop-filter:none;padding:.45rem 0}.header-inner{gap:.55rem;min-height:62px}.brand img{width:118px}.header-call,.header-text{display:none}.button,.hero-actions .button{width:100%}.hero-visual{border-radius:22px;padding:.7rem}.proof-grid,.bento-grid,.step-grid,.two-col-list{grid-template-columns:1fr}.service-featured{grid-column:span 1;min-height:auto}.service-featured h3{font-size:1.35rem}.section{padding:3.5rem 0}.mobile-sticky-cta{z-index:60;border-top:1px solid var(--border);background:#fff8eaf0;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 24px #1020151f}.mobile-sticky-cta a{border-radius:14px;place-items:center;width:100%;min-height:50px;font-weight:950;text-decoration:none;display:grid}}.js [data-reveal]{opacity:0;will-change:opacity, transform;transition:opacity .62s cubic-bezier(.22,.61,.36,1),transform .62s cubic-bezier(.22,.61,.36,1);transform:translateY(22px)}.js [data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}.js [data-reveal]{opacity:1;transform:none}}@media (width<=640px){html{scroll-padding-top:72px}body{padding-bottom:calc(92px + env(safe-area-inset-bottom));background-size:auto,auto,36px 36px,auto;font-size:.98rem;line-height:1.56}h1{letter-spacing:-.05em;max-width:none;margin-bottom:.8rem;font-size:clamp(2.35rem,10.25vw,3.15rem);line-height:1.03}h2{letter-spacing:-.04em;margin-bottom:.8rem;font-size:clamp(1.9rem,8vw,2.58rem);line-height:1.08}h3{margin-bottom:.45rem;font-size:1.12rem;line-height:1.16}p{margin-bottom:.78rem}.container{width:min(100% - 1.25rem, var(--container))}.site-header{background:#fff8eaf7;padding:.38rem 0;box-shadow:0 6px 18px #10201514}.header-inner{gap:.45rem;min-height:54px;padding:0}.brand img{width:106px}.header-actions{flex-wrap:nowrap;gap:.45rem}.header-call{white-space:nowrap;border-radius:12px;width:auto;min-height:42px;padding:.58rem .8rem;font-size:.92rem;display:inline-flex}.header-text{display:none}.mobile-menu summary{border-radius:12px;place-items:center;gap:.18rem;min-width:58px;min-height:42px;padding:.4rem .5rem;font-size:.72rem;line-height:1;display:grid}.menu-icon,.menu-icon:before,.menu-icon:after{width:1.25rem;height:2px}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.mobile-menu-panel{min-width:min(260px,100vw - 1.3rem);top:calc(100% + .35rem);right:.65rem}.button{border-radius:13px;min-height:48px;padding:.82rem 1rem;font-size:.98rem}.button-xl{min-height:50px;padding:.86rem 1rem}.hero{padding:2.45rem 0 2rem}.hero-grid{gap:1.15rem}.hero-lead,.section-heading p,.section-intro{font-size:1rem;line-height:1.55}.eyebrow,.section-label{letter-spacing:.065em;margin-bottom:.55rem;font-size:.72rem}.hero-actions{gap:.55rem;margin-top:1.05rem}.micro-copy{margin-top:.85rem;font-size:.86rem;line-height:1.42}.hero-visual{border-radius:20px;padding:.62rem}.section{padding:3.1rem 0}.section-heading{margin-bottom:1.35rem}.proof-strip{padding:.25rem 0 2rem}.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.proof-card{border-radius:16px;align-items:flex-start;gap:.55rem;padding:.7rem}.proof-card strong{font-size:.88rem}.proof-card div span{font-size:.76rem;line-height:1.25}.icon{width:2.2rem;height:2.2rem}.icon svg{stroke-width:3.2px;width:1.12rem;height:1.12rem}.service-card,.step-card,.scope-card,.contact-panel{border-radius:16px;padding:1rem}.service-card .icon{margin-bottom:.75rem}.service-card p,.scope-card p,.faq-item p{font-size:.94rem;line-height:1.52}.step-grid{gap:.75rem}.step-card{min-height:auto;padding-top:1rem}.step-number{background:var(--gold);width:2.15rem;height:2.15rem;color:var(--heading);letter-spacing:0;border-radius:999px;place-items:center;margin-bottom:.85rem;font-size:.92rem;line-height:1;display:inline-grid}.step-card .icon{top:1rem;right:1rem}.bento-grid,.step-grid{gap:.85rem}.service-card:before{height:4px}.service-featured h3{font-size:1.2rem}.service-featured p{font-size:.95rem}.fire-grid{gap:1.2rem}.defensible-card{border-radius:20px;padding:1rem}.zone-home{border-radius:16px;width:4rem;height:4rem;font-size:.82rem}.zone{padding:.26rem .46rem;font-size:.68rem}.phone-card{border-width:8px;border-radius:28px;max-width:100%;padding:.9rem}.phone-top{margin-bottom:.85rem}.message{font-size:.82rem;line-height:1.35}.photo-stack span{border-radius:13px;min-height:78px}.pill-grid{gap:.45rem}.pill{min-height:2.15rem;box-shadow:none;padding:.42rem .68rem;font-size:.84rem}.two-col-list{gap:.55rem}.check-list li{padding-left:1.35rem;font-size:.94rem;line-height:1.42}.check-list li:before{width:.45rem;height:.45rem;top:.48em}.faq-list{gap:.6rem}.faq-item summary{padding:.85rem 2.75rem .85rem .9rem;font-size:.94rem;line-height:1.35}.faq-item summary:after{width:1.55rem;height:1.55rem;font-size:1rem;right:.8rem}.faq-item p{padding:0 .9rem .95rem}.contact-panel img{width:128px}.contact-panel span{font-size:.9rem;line-height:1.35}.site-footer{padding:2.35rem 0 calc(2.35rem + env(safe-area-inset-bottom))}.footer-grid{gap:1.35rem}.site-footer li,.site-footer p{font-size:.94rem;line-height:1.48}.mobile-sticky-cta{padding:.6rem .7rem calc(.62rem + env(safe-area-inset-bottom));background:#fff8eaf7;gap:.55rem}.mobile-sticky-cta a{border-radius:13px;min-height:50px;font-size:.95rem}}@media (width<=380px){.brand img{width:96px}.header-call{padding-inline:.68rem;font-size:.86rem}.mobile-menu summary{min-width:54px}h1{font-size:2.15rem}h2{font-size:1.78rem}.proof-grid{grid-template-columns:1fr}}html{scroll-padding-top:106px}#services,#how-it-works,#service-area,#faq,#contact{scroll-margin-top:112px}.site-header{z-index:120;background:var(--cream);-webkit-backdrop-filter:none}.hero{padding-top:4.6rem}.hero h1{max-width:13.9ch;font-size:clamp(3.05rem,6.15vw,5.5rem)}@media (width<=1080px){.mobile-menu{position:static}.mobile-menu summary{background:#fff8eafa;border-width:2px;position:relative;box-shadow:inset 0 1px #ffffffbf,0 2px #064f1d1f}.mobile-menu[open] summary{background:var(--sand);box-shadow:inset 0 2px 8px #10201514}.menu-label-open,.mobile-menu[open] .menu-label-closed{display:none}.mobile-menu[open] .menu-label-open{display:inline}.mobile-menu[open] .menu-icon{background:0 0}.mobile-menu[open] .menu-icon:before{top:0;transform:rotate(45deg)}.mobile-menu[open] .menu-icon:after{top:0;transform:rotate(-45deg)}.menu-icon:before,.menu-icon:after{transition:transform .16s,top .16s}.mobile-menu-panel{width:100%;min-width:0;padding:1rem max(1rem, calc((100vw - var(--container)) / 2));border-width:1px 0;border-color:var(--border);background:var(--cream);border-radius:0 0 24px 24px;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 42px #1020152e}.mobile-menu-links{gap:.1rem;width:min(100%,560px);margin-inline:auto;display:grid}.mobile-menu-panel a:not(.button){border-radius:14px;padding:.85rem .9rem;font-size:1.05rem}.mobile-menu-actions{grid-template-columns:1fr 1fr;gap:.65rem;width:min(100%,560px);margin:.85rem auto 0;display:grid}.mobile-menu-actions .button{width:100%}}@media (width<=640px){html{scroll-padding-top:74px}body{padding-bottom:calc(116px + env(safe-area-inset-bottom))}main{padding-bottom:calc(36px + env(safe-area-inset-bottom))}#services,#how-it-works,#service-area,#faq,#contact{scroll-margin-top:78px}.site-header{background:var(--cream);border-bottom:1px solid #d7c4a4f2;box-shadow:0 8px 22px #1020151f}.mobile-menu-panel{padding:.85rem .75rem calc(1rem + env(safe-area-inset-bottom));max-height:calc(100svh - 78px);overflow:auto}.mobile-menu-panel a:not(.button){padding:.78rem .65rem;font-size:1.02rem}.mobile-menu-actions{grid-template-columns:1fr;gap:.5rem}.hero{padding-top:2.1rem}.hero h1{max-width:10.9ch;font-size:clamp(2.55rem,10.8vw,3.25rem)}.hero-lead{max-width:34rem}.section-heading.centered{text-align:left}.section-heading.centered.narrow{margin-inline:0}.section{padding:3rem 0}.mobile-sticky-cta{z-index:130;background:var(--cream)}}.hero-photo-card{padding:.75rem}.hero-photo-heading{z-index:1;color:var(--pine-800);letter-spacing:.055em;text-transform:uppercase;margin:0 0 .62rem;padding:.15rem .3rem;font-size:.76rem;font-weight:950;position:relative}.hero-photo{z-index:1;background:var(--sand);border:1px solid #7a47092e;border-radius:22px;display:block;position:relative;overflow:hidden}.hero-photo img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.hero-photo-footer{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.7rem;display:grid;position:relative}.hero-photo-footer span{min-height:2.3rem;color:var(--pine-800);letter-spacing:.04em;text-align:center;text-transform:uppercase;background:#fff8eabd;border-radius:999px;place-items:center;padding:.4rem .25rem;font-size:.7rem;font-weight:950;display:grid}.cleanup-example-section{background:linear-gradient(#ffffff45,#f0dec27a);border-block:1px solid #d7c4a485}.ba-slider{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--sand);box-shadow:var(--shadow-card);isolation:isolate;touch-action:pan-y;user-select:none;margin:2rem auto 0;position:relative;overflow:hidden}.ba-img{object-fit:cover;border-radius:0;inset:0;width:100%!important;max-width:none!important;height:100%!important;margin:0!important;position:absolute!important}.ba-img-after{z-index:1;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.ba-slider .ba-badge{z-index:3;top:1rem}.ba-slider .ba-badge-after{left:1rem;right:auto}.ba-slider .ba-badge-before{left:auto;right:1rem}.ba-divider{top:0;bottom:0;left:var(--pos);z-index:4;pointer-events:none;background:#fff8eaf2;width:3px;margin-left:-1.5px;position:absolute;box-shadow:0 0 0 1px #061c0e47}.ba-handle{width:3rem;height:3rem;color:var(--pine-800);background:linear-gradient(#fff,#fbf1dd);border:2px solid #ffffffeb;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 22px #041e0e6b}.ba-handle svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:1.55rem;height:1.55rem}.ba-range{z-index:5;cursor:ew-resize;opacity:0;appearance:none;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.ba-range::-webkit-slider-thumb{-webkit-appearance:none;cursor:ew-resize;width:3rem;height:100%}.ba-range::-moz-range-thumb{cursor:ew-resize;background:0 0;border:none;width:3rem;height:100%}.ba-slider:focus-within .ba-handle{box-shadow:0 0 0 4px #f6a9008c,0 10px 22px #041e0e6b}.ba-caption{z-index:3;color:var(--cream);letter-spacing:.01em;white-space:nowrap;pointer-events:none;background:#061c0ebd;border-radius:999px;margin:0;padding:.5rem .95rem;font-size:.82rem;font-weight:850;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.photo-badge{z-index:2;color:var(--white);letter-spacing:.045em;text-transform:uppercase;border-radius:999px;padding:.42rem .7rem;font-size:.75rem;font-weight:950;line-height:1;position:absolute;top:.85rem;left:.85rem;box-shadow:0 8px 16px #1020152e}.photo-badge-before{background:#5b3d20f0}.photo-badge-after{background:#064f1df0}@media (width<=640px){.hero-photo-card{padding:.52rem}.hero-photo-heading{margin-bottom:.45rem;font-size:.66rem}.hero-photo{border-radius:16px}.hero-photo img{aspect-ratio:4/5}.hero-photo-footer{gap:.3rem;margin-top:.5rem}.hero-photo-footer span{min-height:2rem;padding:.3rem .15rem;font-size:.59rem}.ba-slider{aspect-ratio:4/3;border-radius:17px;margin-top:1.25rem}.ba-handle{width:2.6rem;height:2.6rem}.ba-handle svg{width:1.3rem;height:1.3rem}.photo-badge{font-size:.68rem;top:.7rem;left:.7rem}.ba-slider .ba-badge{top:.7rem}.ba-slider .ba-badge-after{left:.7rem}.ba-slider .ba-badge-before{left:auto;right:.7rem}.ba-caption{padding:.4rem .75rem;font-size:.74rem;bottom:.7rem}}

/* ============================================================
   AWARD-WINNING REFINEMENT PASS  (appended overrides, CSS-only)
   - Calm bright card tops (warm cream instead of white)
   - More green/brown earthiness
   - Make every section announce itself
   GPSI-safe: no new requests, no layout shift, AA contrast verified.
   ============================================================ */

/* 1. Softer, warmer top highlight on every card (was bright white) */
:root{--shadow-card:0 16px 34px #1020151f,0 5px 0 #7a470922,inset 0 1px 0 #fff7e6a6;--shadow-card-hover:0 24px 42px #10201529,0 6px 0 #7a470926,inset 0 1px 0 #fffaf0d9}

/* 2. Calm card faces: warm-cream top (#fffdf6) not white, + deeper green corner */
.proof-card,.service-card,.step-card,.scope-card,.contact-panel,.faq-item{background:radial-gradient(circle at 100% 0,#f6a9001a,#0000 40%),radial-gradient(circle at 0 100%,#1f6f3528,#0000 46%),linear-gradient(160deg,#fffdf6 0%,#f2e3c6 56%,#e7d2ac 100%);border-color:#c2a877}
/* re-assert the special cards so they keep their identity */
.service-featured{background:linear-gradient(145deg,#ffce5e30,#fffdf6 47%,#dcefe2f5)}
.scope-negative{background:linear-gradient(160deg,#fffdf7,#f3e6cb);border-left:6px solid var(--gold)}
/* greener, less-bright service-card accent bar */
.service-card:before{background:linear-gradient(90deg,var(--gold) 0%,var(--needle-light) 46%,var(--pine-700) 100%)}

/* 3. Stepped earthy section surfaces: cream > sand(soft) > brown(service-area) */
.section-soft{background:linear-gradient(180deg,#f1e4cb,#e9dab9);border-block:1px solid #d8c6a6}
#service-area{background:radial-gradient(circle at 85% 0,#7a47091f,#0000 42%),linear-gradient(180deg,#e5d0a7,#d4bb86);border-block:1px solid #c7a980}
#service-area .service-area-note{color:#4a3c29}
#service-area .pill{border-color:#b89058}
/* keep scope cream so it doesn't double up with the sand FAQ next to it */
.scope-section{background:transparent;border-block:0}

/* 4. Section labels become "you are here" pill markers (with leaf dot) */
.section-label{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(180deg,#ffffffe6,#e3f1e7eb);border:1px solid #1f6f3533;border-radius:999px;padding:.42rem .82rem;margin-bottom:1.05rem;letter-spacing:.07em;font-size:.74rem;box-shadow:0 8px 18px #10201514,inset 0 1px 0 #fff}
.section-label::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:linear-gradient(180deg,var(--needle-light),var(--pine-700));box-shadow:0 0 0 3px #1f6f3522}
.section-dark .section-label{background:#06311a;border-color:#ffffff2e;color:var(--gold-soft)}
.section-dark .section-label::before{background:var(--gold-soft);box-shadow:0 0 0 3px #ffffff1f}
.cta-band-copy .section-label{background:#fff8eaf0;border-color:#b5790059;color:#6b4500}
.cta-band-copy .section-label::before{background:linear-gradient(180deg,#b57900,#7a4709);box-shadow:0 0 0 3px #7a470926}

/* ============================================================
   BOLD PASS — "website of the year" intensity (CSS-only, GPSI-safe)
   Lit, textured anchor bands (forest green + deep wood-brown) with a
   subtle topographic-contour motif; cream/sand sections stay breathers.
   AA contrast re-verified on every dark surface (>8:1 for body text).
   ============================================================ */

/* Hero: lusher lighting + faint topographic contour rings */
.hero{background:radial-gradient(circle at 12% 6%,#ffb52066,#0000 40%),radial-gradient(circle at 86% 16%,#9bd06b4d,#0000 44%),radial-gradient(circle at 72% 100%,#1f944280,#0000 52%),repeating-radial-gradient(circle at 16% -10%,#fff8ea0d 0 1.5px,#0000 1.5px 48px),linear-gradient(162deg,#10592a 0%,#0a3d1d 47%,#05230f 100%)}

/* Fire-season: matching lit + contoured green anchor */
.section-dark{background:radial-gradient(circle at 10% 0,#ffb52047,#0000 42%),radial-gradient(circle at 92% 100%,#9bd06b42,#0000 48%),repeating-radial-gradient(circle at 88% 110%,#fff8ea0b 0 1.5px,#0000 1.5px 46px),linear-gradient(158deg,#0f5025 0%,#093a1c 50%,#05230f 100%)}

/* Service Area: deep wood-brown showpiece — the warm counterpart anchor */
#service-area{color:var(--cream);background:radial-gradient(circle at 85% 8%,#ffb5204d,#0000 42%),radial-gradient(circle at 10% 98%,#c66f1559,#0000 48%),repeating-radial-gradient(circle at 50% 120%,#fff1d40d 0 1.5px,#0000 1.5px 46px),linear-gradient(160deg,#4d2f10 0%,#3a210b 52%,#281604 100%)}
#service-area h2{color:#fff}
#service-area .section-intro,#service-area p{color:#fff8eaeb}
#service-area .service-area-note{color:#fff8ead1}
#service-area .service-area-note a{color:var(--gold-soft);text-decoration-color:var(--gold)}
#service-area .section-label{background:#2a1806;border-color:#ffffff2e;color:var(--gold-soft)}
#service-area .section-label::before{background:var(--gold-soft);box-shadow:0 0 0 3px #ffffff1f}
#service-area .pill{background:linear-gradient(#fff,#f6e9cd);border-color:#caa86a;color:var(--heading);box-shadow:0 12px 24px #00000045,0 0 0 1px #ffffff14,inset 0 1px #fff}

/* Featured service card: confident green-glow showpiece (warm top, not washed-out) */
.service-featured{background:radial-gradient(circle at 88% 10%,#ffce5e54,#0000 44%),radial-gradient(circle at 0% 100%,#1f6f3547,#0000 52%),linear-gradient(150deg,#fffdf7 0%,#e4f4ea 50%,#c2e7d1 100%);border-color:#1f6f3547}

/* Whisper of texture on the sand sections so they read intentional, not flat */
.section-soft{background:repeating-linear-gradient(120deg,#7a47090a 0 1px,#0000 1px 34px),linear-gradient(180deg,#f1e4cb,#e9dab9)}

/* CTA finale: richer, brighter gold */
.cta-band{background:radial-gradient(circle at 14% 12%,#ffffff80,#0000 40%),radial-gradient(circle at 88% 92%,#a96e006b,#0000 48%),linear-gradient(135deg,#ffce4f 0%,#f6a900 52%,#dd8c00 100%)}

/* ============================================================
   POLISH PASS — component-level "$1M" refinement (CSS-only, GPSI-safe)
   Mobile menu overhaul, review stars, header elevation, richer
   step numbers, proof chips, slider handle, unified card hovers.
   AA contrast verified on every new pairing.
   ============================================================ */

/* --- 1. Hamburger: signature dark-forest pill (hints at the panel it opens) --- */
.mobile-menu summary{background:linear-gradient(180deg,#0e4f26,#083317);border:2px solid #ffffff30;color:var(--cream);box-shadow:0 12px 24px #04140a4d,inset 0 1px 0 #ffffff2e,0 3px 0 #04140abf;transition:transform .16s,box-shadow .16s}
.mobile-menu summary:hover{transform:translateY(-1px)}
.mobile-menu summary:active{transform:translateY(1px)}
.mobile-menu[open] summary{background:linear-gradient(180deg,#06311a,#04140a);border-color:var(--gold);color:var(--gold-soft);box-shadow:0 6px 16px #04140a66,inset 0 2px 6px #00000059}

/* --- 2. Mobile menu panel: lit dark-forest surface matching the hero --- */
.mobile-menu-panel{border-color:#ffffff24;background:radial-gradient(circle at 88% 0,#ffb52038,#0000 46%),repeating-radial-gradient(circle at 12% -10%,#fff8ea0a 0 1.5px,#0000 1.5px 44px),linear-gradient(165deg,#0f5025 0%,#093a1c 55%,#05230f 100%);box-shadow:0 34px 80px #04140ab8;animation:nh-panel .2s ease}
.mobile-menu-panel a:not(.button){color:var(--cream);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.mobile-menu-panel a:not(.button)::after{content:"\203A";color:var(--gold-soft);font-size:1.2em;line-height:1;opacity:.9}
.mobile-menu-panel a:not(.button):hover{background:#ffffff14}
.mobile-menu-links a+a{border-top:1px solid #ffffff17}
.mobile-menu-actions{border-top:1px solid #ffffff21;margin-top:.55rem;padding-top:.85rem}
.mobile-menu-actions .button-primary{border-color:#ffffff45}
.mobile-menu-links{animation:nh-rise .26s cubic-bezier(.2,.9,.3,1)}
@keyframes nh-panel{from{opacity:0}}
@keyframes nh-rise{from{opacity:0;transform:translateY(-6px)}}

/* dim the page behind the open menu (visual only; header stays lit) */
.mobile-menu[open] summary::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#0a1f1280,#04140ab8);animation:nh-panel .25s ease}
/* one CTA set at a time: park the sticky bar while the menu is open */
body:has(.mobile-menu[open]) .mobile-sticky-cta{visibility:hidden}

/* --- 3. Reviews: stars, avatars, oversized quote mark --- */
#reviews .service-card{position:relative}
#reviews .service-card::after{content:"\201D";position:absolute;top:.55rem;right:1.05rem;font-size:4.4rem;line-height:1;font-weight:950;color:#0b642726;pointer-events:none}
.review-head{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem}
.review-avatar{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(160deg,#16843a,var(--pine-800));color:#fff;font-weight:950;font-size:.84rem;letter-spacing:.02em;box-shadow:0 6px 14px #064f1d33,inset 0 1px 0 #ffffff3d}
.review-stars{color:var(--gold);font-size:1.02rem;letter-spacing:.14em;text-shadow:0 1px 0 #b5790052}

/* --- 4. Step numbers: confident gradient fill instead of washed-out ghosts --- */
@media (width>640px){
  .step-number{color:#0000;background:linear-gradient(165deg,var(--needle-light),var(--pine-700) 58%,#043914);-webkit-background-clip:text;background-clip:text;font-size:3.9rem;margin-bottom:1.5rem}
}

/* --- 5. Proof strip: crisper chips, green-tinted icon bubbles, brand-green titles --- */
.proof-card{background:linear-gradient(160deg,#fffefa,#f4e9d2);border-color:#c8ad7e;box-shadow:0 14px 30px #10201524,inset 0 1px 0 #fff}
.proof-card .icon{background:linear-gradient(160deg,#eef7f0,#d3ecdc);border:1px solid #1f6f3529;color:var(--pine-700)}
.proof-card strong{color:#064f1d}

/* --- 6. Before/after slider: heftier handle + divider --- */
.ba-divider{width:4px;margin-left:-2px}
.ba-handle{width:3.4rem;height:3.4rem;box-shadow:0 0 0 4px #f6a900b8,0 14px 30px #041e0e80}
.ba-handle svg{width:1.8rem;height:1.8rem;stroke-width:2.6px}
@media (width<=640px){.ba-handle{width:3rem;height:3rem}.ba-handle svg{width:1.5rem;height:1.5rem}}

/* --- 7. One hover language for every card --- */
.service-card,.step-card{transition:transform .18s,box-shadow .18s}
.service-card:hover,.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}

/* --- 8. Phone mockup: readable photo-tile labels (white on deep bark) --- */
.photo-stack span{background:repeating-linear-gradient(23deg,#59360ae0 0 4px,#7a4709b3 4px 12px),var(--card);color:#fff;text-shadow:0 1px 2px #00000052}
.photo-stack span:last-child{color:#241a08;background:linear-gradient(#ddcba1,#c3ad7c);text-shadow:none}

/* --- 9. Header: buttons on the site's scale + scroll-aware elevation --- */
@media (width>900px){.header-actions .button{min-height:44px;padding:.72rem 1rem;font-size:.92rem}}
.desktop-nav a{font-size:.87rem;white-space:nowrap;padding:.58rem .62rem}
@supports (animation-timeline: scroll()){
  .site-header{animation:nh-header linear both;animation-timeline:scroll();animation-range:0 140px}
  @keyframes nh-header{from{background:#fff8ea;box-shadow:0 0 #10201500}to{background:#fffdf4f7;box-shadow:0 14px 34px #10201530}}
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu-panel,.mobile-menu-links,.mobile-menu[open] summary::before{animation:none}
  .service-card:hover,.step-card:hover,.mobile-menu summary:hover{transform:none}
}

/* ============================================================
   DEPTH PASS — app-grade 3D physics (CSS-only, GPSI-safe)
   Real button press (ledge collapses), floating hero card,
   hardware-look phone, FAQ pop, floating mobile CTA dock.
   ============================================================ */

/* --- 1. Buttons truly press: sink 3px INTO the ledge, drop shadow tightens --- */
.button:active{transform:translateY(3px)}
.button-primary:active{box-shadow:0 4px 10px #064f1d2e,inset 0 1px 0 #ffffff38,0 1px 0 #043914f2}
.button-secondary:active{box-shadow:0 4px 10px #f6a90029,inset 0 1px 0 #ffffff6b,0 1px 0 #b57900f5}
.button-cream:active{box-shadow:0 5px 12px #041e0e47,inset 0 1px #ffffffe6,0 1px #04281273}
.button-outline:active{box-shadow:0 4px 8px #10201510,inset 0 1px #ffffffdb,0 1px #064f1d1f}
.mobile-menu summary:active{transform:translateY(2px);box-shadow:0 4px 10px #04140a40,inset 0 1px 0 #ffffff2e,0 1px 0 #04140abf}

/* --- 2. Hero photo card: floats high above the green (deep ambient + key shadow) --- */
.hero-photo-card{box-shadow:0 70px 130px -24px #02150ac4,0 30px 60px -18px #04140a8c,0 6px 0 #064f1d14,inset 0 1px 0 #ffffffb3}

/* --- 3. Phone mockup: real hardware — deep drop, screen inset, side button --- */
.phone-card{position:relative;box-shadow:0 56px 100px -22px #10201559,0 22px 44px #10201526,inset 0 3px 10px #1020151f}
.phone-card::after{content:"";position:absolute;top:17%;right:-13px;width:4px;height:52px;border-radius:0 4px 4px 0;background:linear-gradient(90deg,#0c2a16,#04140a);box-shadow:inset 0 1px 0 #ffffff21}
.phone-top{box-shadow:inset 0 1px 2px #04140a52}

/* --- 4. FAQ: open item pops forward like an expanded sheet --- */
.faq-item{transition:transform .18s,box-shadow .18s,border-color .18s}
.faq-item[open]{position:relative;z-index:1;transform:translateY(-3px);border-color:#b5905a;box-shadow:0 28px 54px #10201538,0 7px 0 #7a470929,inset 0 1px 0 #fffc}

/* --- 5. Mobile sticky CTA: floating elevated dock, not a pinned strip --- */
.mobile-sticky-cta{left:.6rem;right:.6rem;bottom:calc(.55rem + env(safe-area-inset-bottom));border:1px solid #d3bf9c;border-radius:19px;padding:.55rem .6rem;background:#fffaf0fa;box-shadow:0 -4px 14px #1020150f,0 26px 52px -12px #10201559,0 12px 26px #10201530,inset 0 1px 0 #fff}

@media (prefers-reduced-motion:reduce){
  .button:active,.mobile-menu summary:active{transform:none}
  .faq-item[open]{transform:none}
}

/* ============================================================
   CINEMATIC PASS — above-the-fold showpiece
   Fraunces display serif, choreographed entrance, drifting light,
   falling pine needles, Ken Burns photo, floating hero card.
   (Perf constraint intentionally relaxed per owner, 2026-07-05.)
   ============================================================ */

/* --- Typography: editorial display serif for the big statements --- */
h1,.section-heading h2,.cta-band h2,#service-area h2,.section-dark h2{font-family:Fraunces,Georgia,"Times New Roman",serif;letter-spacing:-.018em;font-weight:680}
h1{font-weight:660;line-height:1.03}
.h1-accent{font-style:italic;font-weight:620;color:#0000;background:linear-gradient(105deg,#ffd567,#ffb520 45%,#ffe9ae 72%,#ffd567 100%);-webkit-background-clip:text;background-clip:text;background-size:220% 100%;animation:nh-sheen 7s ease-in-out infinite}
@keyframes nh-sheen{0%,100%{background-position:0% 0}50%{background-position:100% 0}}

/* --- Stage: fx layer sits between the hero backdrop and the content --- */
.hero{position:relative;overflow:clip}
.hero>.container{position:relative;z-index:2}
.hero-fx{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}

/* drifting key light (gold, upper left) and forest glow (green, lower right) */
.hero-fx::before{content:"";position:absolute;left:-10%;top:-22%;width:46vw;height:46vw;min-width:430px;min-height:430px;border-radius:50%;background:radial-gradient(circle,#ffb52057,#0000 64%);filter:blur(46px);animation:nh-drift 16s ease-in-out infinite alternate}
.hero-fx::after{content:"";position:absolute;right:-14%;bottom:-26%;width:54vw;height:42vw;min-width:480px;min-height:390px;border-radius:50%;background:radial-gradient(circle,#2ea45c52,#0000 66%);filter:blur(54px);animation:nh-drift 21s ease-in-out infinite alternate-reverse}
@keyframes nh-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(8%,6%,0) scale(1.16)}}

/* --- Falling pine needles --- */
.hero-fx i{position:absolute;top:-6%;width:3px;height:30px;border-radius:999px;background:linear-gradient(180deg,#ffd567c4,#9a5a13a6);opacity:0;animation:nh-needle var(--d,12s) linear infinite;animation-delay:var(--dl,0s);will-change:transform,opacity}
.hero-fx i:nth-child(3n){background:linear-gradient(180deg,#b7e29ac4,#3f7d2da6);height:23px}
.hero-fx i:nth-child(4n){width:2px;height:38px}
@keyframes nh-needle{0%{opacity:0;transform:translate3d(0,-5vh,0) rotate(var(--r0,15deg))}7%{opacity:.9}80%{opacity:.7}100%{opacity:0;transform:translate3d(var(--sw,4vw),106vh,0) rotate(var(--r1,300deg))}}
.hero-fx i:nth-child(1){left:4%;--d:12s;--dl:0s;--sw:3vw;--r0:8deg;--r1:260deg}
.hero-fx i:nth-child(2){left:12%;--d:15s;--dl:4.2s;--sw:-2vw;--r0:40deg;--r1:-200deg}
.hero-fx i:nth-child(3){left:21%;--d:11s;--dl:1.8s;--sw:4vw;--r0:-15deg;--r1:310deg}
.hero-fx i:nth-child(4){left:30%;--d:16s;--dl:6.5s;--sw:2vw;--r0:70deg;--r1:180deg}
.hero-fx i:nth-child(5){left:38%;--d:13s;--dl:3.1s;--sw:-3vw;--r0:20deg;--r1:-280deg}
.hero-fx i:nth-child(6){left:47%;--d:17s;--dl:8.4s;--sw:5vw;--r0:-35deg;--r1:220deg}
.hero-fx i:nth-child(7){left:55%;--d:12.5s;--dl:.9s;--sw:-4vw;--r0:55deg;--r1:-190deg}
.hero-fx i:nth-child(8){left:63%;--d:14s;--dl:5.7s;--sw:3vw;--r0:10deg;--r1:290deg}
.hero-fx i:nth-child(9){left:70%;--d:11.5s;--dl:2.4s;--sw:-2vw;--r0:-50deg;--r1:200deg}
.hero-fx i:nth-child(10){left:77%;--d:16.5s;--dl:7.2s;--sw:4vw;--r0:30deg;--r1:-240deg}
.hero-fx i:nth-child(11){left:84%;--d:12.8s;--dl:4.9s;--sw:-3vw;--r0:65deg;--r1:250deg}
.hero-fx i:nth-child(12){left:90%;--d:15.5s;--dl:1.3s;--sw:2vw;--r0:-25deg;--r1:-210deg}
.hero-fx i:nth-child(13){left:95%;--d:13.5s;--dl:9.1s;--sw:-4vw;--r0:45deg;--r1:230deg}
.hero-fx i:nth-child(14){left:8%;--d:18s;--dl:11s;--sw:5vw;--r0:-10deg;--r1:320deg}

/* --- Entrance choreography: copy cascades up, card settles into place --- */
@keyframes nh-rise-in{from{opacity:0;transform:translateY(26px)}}
.hero-copy-block>*{animation:nh-rise-in .75s cubic-bezier(.2,.8,.25,1) both}
.hero-copy-block>:nth-child(1){animation-delay:.05s}
.hero-copy-block>:nth-child(2){animation-delay:.16s}
.hero-copy-block>:nth-child(3){animation-delay:.3s}
.hero-copy-block>:nth-child(4){animation-delay:.44s}
.hero-copy-block>:nth-child(5){animation-delay:.56s}
.hero-copy-block>:nth-child(6){animation-delay:.66s}
@keyframes nh-card-in{from{opacity:0;transform:translateY(48px) rotate(1.4deg) scale(.965)}}
@keyframes nh-card-bob{50%{transform:translateY(-9px)}}
.hero-photo-card{animation:nh-card-in 1.05s cubic-bezier(.16,.8,.24,1) both .35s,nh-card-bob 7s ease-in-out infinite 1.6s}

/* --- Ken Burns: the yard photo breathes --- */
.hero-photo img{animation:nh-kenburns 26s ease-in-out infinite alternate;transform-origin:62% 38%}
@keyframes nh-kenburns{to{transform:scale(1.11) translate3d(-1.6%,1.4%,0)}}

/* --- Reduced motion: keep the light, lose the movement --- */
@media (prefers-reduced-motion:reduce){
  .hero-fx i{display:none}
  .hero-fx::before,.hero-fx::after,.h1-accent,.hero-copy-block>*,.hero-photo-card,.hero-photo img{animation:none}
}

/* ============================================================
   TACTILE PASS — every component upgraded to "real object" grade
   Glossy convex push-keys with icons, coin icons, glossy diagram,
   lantern pills, CTA sheen sweep. AA contrast maintained.
   ============================================================ */

/* --- 1. Buttons: convex glass keys you can feel --- */
.button{position:relative;overflow:hidden}
.button::after{content:"";position:absolute;left:2px;right:2px;top:2px;height:46%;border-radius:inherit;background:linear-gradient(#ffffff54,#ffffff0d);pointer-events:none}
.button:active::after{opacity:.45}
.button-primary{text-shadow:0 1px 1px #04140a66;box-shadow:0 12px 24px #064f1d38,inset 0 1px 0 #ffffff45,inset 0 -10px 14px -8px #02240c99,0 4px 0 #043914f2}
.button-secondary{text-shadow:0 1px 0 #ffffff59;box-shadow:0 12px 24px #f6a9003d,inset 0 1px 0 #ffffff80,inset 0 -10px 14px -8px #9a640099,0 4px 0 #b57900f5}
.button-cream{box-shadow:0 14px 28px #041e0e6b,inset 0 1px #ffffffe6,inset 0 -8px 12px -7px #7a470930,0 4px #04281273}
.button-outline{box-shadow:0 10px 20px #10201514,inset 0 1px #ffffffdb,inset 0 -8px 12px -7px #7a470921,0 3px #064f1d1f}
/* pressed: light flips — top goes dark, key sits in its socket */
.button-primary:active{box-shadow:0 4px 10px #064f1d2e,inset 0 3px 8px #02240c8c,0 1px 0 #043914f2}
.button-secondary:active{box-shadow:0 4px 10px #f6a90029,inset 0 3px 8px #9a640080,0 1px 0 #b57900f5}
.button-cream:active{box-shadow:0 5px 12px #041e0e47,inset 0 3px 8px #7a470938,0 1px #04281273}
.button-outline:active{box-shadow:0 4px 8px #10201510,inset 0 3px 8px #7a47092e,0 1px #064f1d1f}

/* --- 2. Action icons: phone / chat / mail glyphs, drawn from the href --- */
.button[href^="tel:"]::before,.button[href^="sms:"]::before,.button[href^="mailto:"]::before{content:"";flex:none;width:1.02em;height:1.02em;margin-right:.48em;background:currentColor;-webkit-mask:var(--btn-ico) center/contain no-repeat;mask:var(--btn-ico) center/contain no-repeat}
.button[href^="tel:"]{--btn-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.85 21 3 13.15 3 3.99A1 1 0 0 1 4 3h3.5a1 1 0 0 1 1 1c0 1.24.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2Z'/%3E%3C/svg%3E")}
.button[href^="sms:"]{--btn-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 5.9 2 10.7c0 2.13.87 4.08 2.32 5.58-.2 1.28-.73 2.55-1.62 3.62 1.9-.08 3.6-.75 4.93-1.77 1.32.5 2.8.77 4.37.77 5.52 0 10-3.9 10-8.7S17.52 2 12 2ZM7 12a1.3 1.3 0 1 1 0-2.6A1.3 1.3 0 0 1 7 12Zm5 0a1.3 1.3 0 1 1 0-2.6 1.3 1.3 0 0 1 0 2.6Zm5 0a1.3 1.3 0 1 1 0-2.6 1.3 1.3 0 0 1 0 2.6Z'/%3E%3C/svg%3E")}
.button[href^="mailto:"]{--btn-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4.24-8 5-8-5V6.12l8 5 8-5Z'/%3E%3C/svg%3E")}

/* --- 3. Icon bubbles become minted coins --- */
.icon{background:radial-gradient(circle at 32% 24%,#fff 0%,#eaf7ee 36%,#cdebd8 74%,#b4dfc4 100%);border-color:#1f6f3538;box-shadow:0 12px 22px #1f6f3524,inset 0 1px 0 #fff,inset 0 -3px 6px #1f6f3521,0 3px 0 #064f1d1a}
.proof-grid>:nth-child(3n+2) .icon,.bento-grid>:nth-child(3n+2) .icon{background:radial-gradient(circle at 32% 24%,#fffdf6,#ffedbd 62%,#fadf9d 100%);box-shadow:0 12px 22px #b5790024,inset 0 1px 0 #fff,inset 0 -3px 6px #b5790024,0 3px 0 #7a47091a}

/* --- 4. Defensible-space diagram: carved bowl with a solid Home key --- */
.zone-rings{background:radial-gradient(circle,#fffdf4 0 16%,#ffdf8e 16% 16.6%,#f6a90042 16.6% 35%,#cfe3b8 35% 35.6%,#1f6f3533 35.6% 61%,#9db98a 61% 61.6%,#064f1d30 61.6% 100%);border-color:#c7a980;box-shadow:inset 0 12px 32px #10201524,inset 0 -8px 20px #ffffff80,0 18px 40px #1020151f}
.zone-home{background:linear-gradient(160deg,#16843a,#064f1d);box-shadow:0 16px 30px #04140a4d,inset 0 1px 0 #ffffff45,inset 0 -8px 12px -7px #02240c99,0 4px 0 #042912a6}
.zone{border:1px solid #d7c4a4;box-shadow:0 8px 16px #10201526,inset 0 1px 0 #fff,0 2px 0 #7a470914}

/* --- 5. FAQ toggle: coin that flips pressed when open --- */
.faq-item summary:after{background:linear-gradient(#fff,#dff0e2);border:1px solid #1f6f3538;color:var(--pine-700);box-shadow:0 4px 10px #1020151f,inset 0 1px 0 #fff,0 2px 0 #064f1d14}
.faq-item[open] summary:after{background:linear-gradient(#e2f1e6,#c9e6d3);box-shadow:inset 0 2px 6px #10201526,0 1px 0 #064f1d0f}

/* --- 6. Town pills: lanterns with a hover lift --- */
.pill{transition:transform .16s,box-shadow .16s}
.pill:hover{transform:translateY(-2px)}
#service-area .pill{box-shadow:0 14px 26px #0000004d,0 0 0 1px #ffffff17,inset 0 1px #fff,inset 0 -6px 10px -6px #b579003d,0 3px 0 #1a0e0380}

/* --- 7. CTA band: cinematic light sweep every few seconds --- */
.cta-band::before{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:32%;background:linear-gradient(100deg,#fff0,#ffffff4d 50%,#fff0);transform:translateX(-140%) skewX(-14deg);animation:nh-sweep 7.5s ease-in-out infinite;pointer-events:none}
.cta-band .cta-band-inner{position:relative;z-index:1}
@keyframes nh-sweep{0%,58%{transform:translateX(-140%) skewX(-14deg)}100%{transform:translateX(360%) skewX(-14deg)}}

/* --- 8. Slider handle: glass knob --- */
.ba-handle{background:radial-gradient(circle at 32% 26%,#fff,#fbf1dd 62%,#eee0bf 100%)}

@media (prefers-reduced-motion:reduce){
  .cta-band::before{animation:none;opacity:0}
  .pill:hover{transform:none}
}
/* sticky dock buttons: icon sits inline with the label, not stacked */
.mobile-sticky-cta a{display:inline-flex;align-items:center;justify-content:center}
