/* Poof. Lawn green, tennis-ball yellow, Georgia red clay. */
@font-face{font-family:"Bricolage";src:url(/assets/fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Instrument";src:url(/assets/fonts/instrument.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Bricolage Fallback";src:local("Arial Bold"),local("Arial");size-adjust:96%;ascent-override:92%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Instrument Fallback";src:local("Arial");size-adjust:99%;ascent-override:94%;descent-override:25%;line-gap-override:0%}

:root{
  --lawn-950:#08261a;--lawn-900:#0c3122;--lawn-800:#114029;--lawn-700:#175234;--lawn-600:#1e6741;--lawn-500:#2b8250;
  --ball:#d9f23d;--ball-deep:#bcd421;--clay:#a8421f;--clay-soft:#f3dccf;
  --paper:#f8f7ee;--paper-2:#eeecdd;--white:#fffffa;--ink:#0d2118;--muted:#46594d;--line:#d9d8c6;
  --sky-1:#fffbe0;--sky-2:#e8f4c9;
  --display:"Bricolage","Bricolage Fallback",Arial,sans-serif;
  --body:"Instrument","Instrument Fallback",Arial,sans-serif;
  --gutter:clamp(16px,4vw,48px);--max:1240px;--r:22px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html{-webkit-tap-highlight-color:rgba(23,82,52,.15)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 clamp(1rem,.96rem + .2vw,1.125rem)/1.6 var(--body);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1.5px}
h1,h2,h3{font-family:var(--display);line-height:1.02;letter-spacing:-.025em;font-weight:800;margin:0;text-wrap:balance}
h2{font-size:clamp(2.2rem,1.5rem + 3.4vw,4.6rem)}
h3{font-size:clamp(1.3rem,1.15rem + .7vw,1.75rem);line-height:1.12;letter-spacing:-.015em}
p{margin:0}
ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid var(--clay);outline-offset:3px;border-radius:4px}
.on-dark :focus-visible{outline-color:var(--ball)}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.narrow{max-width:760px}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;z-index:100}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kicker{font:700 .82rem/1.2 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--lawn-600)}
.on-dark .kicker{color:var(--ball)}
.lede{font-size:clamp(1.1rem,1rem + .55vw,1.4rem);line-height:1.45}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:.7em 1.5em;border-radius:999px;border:2px solid transparent;font:700 1.03rem/1.1 var(--body);text-decoration:none;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-ball{background:var(--ball);color:var(--ink);box-shadow:0 5px 0 var(--ball-deep)}
.btn-ball:hover{box-shadow:0 7px 0 var(--ball-deep)}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-line{border-color:currentColor;background:transparent}

/* Header */
.site-head{position:fixed;inset:12px 0 auto;z-index:50;pointer-events:none}
.head-bar{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 8px 8px 18px;border-radius:999px;transition:background .25s,box-shadow .25s}
.is-stuck .head-bar,.head-solid .head-bar{background:rgba(255,255,250,.94);box-shadow:0 8px 28px rgba(8,38,26,.14);backdrop-filter:blur(8px)}
.brand{display:inline-flex;min-height:44px;align-items:center;gap:.5em;font:800 1.14rem/1 var(--display);letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.brand svg{width:28px;height:28px;flex:none}
.nav-links{display:none;list-style:none;gap:2px}
.nav-links a{display:flex;align-items:center;min-height:44px;padding:.55em .85em;border-radius:999px;font-weight:600;font-size:.97rem;text-decoration:none}
.nav-links a:hover,.nav-links a[aria-current=page]{background:rgba(13,33,24,.08)}
.head-cta{min-height:44px;padding:.5em 1.15em;font-size:.95rem;box-shadow:none}
.head-right{display:flex;align-items:center;gap:6px}
.menu summary{list-style:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;cursor:pointer;background:rgba(13,33,24,.08)}
.menu summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;left:var(--gutter);right:var(--gutter);top:68px;background:var(--white);border-radius:var(--r);box-shadow:0 20px 50px rgba(8,38,26,.25);padding:10px;list-style:none}
.menu-panel a{display:block;padding:.8em 1em;border-radius:12px;font-weight:600;text-decoration:none}
.menu-panel a:hover{background:var(--paper-2)}
@media (min-width:960px){.nav-links{display:flex}.menu{display:none}}

/* Hero */
.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:max(100vh,720px);min-height:max(100svh,720px);background:radial-gradient(90% 62% at 74% 0,var(--sky-1) 0,transparent 70%),linear-gradient(var(--sky-2),#d5ebb0 60%);overflow:hidden;touch-action:pan-y}
.hero-top{position:relative;z-index:1;padding-top:clamp(90px,13vh,132px)}
.hero h1{font-family:var(--display)}
.h1-kicker{display:block;font:700 clamp(1.05rem,.9rem + .8vw,1.55rem)/1.2 var(--body);letter-spacing:-.01em;margin-bottom:.35em;color:var(--lawn-800)}
.h1-giant{display:block;font-size:min(11.7vw,12.2rem);line-height:.86;letter-spacing:-.055em;color:var(--lawn-950);margin-left:-.035em;margin-bottom:-.112em;white-space:nowrap}
.hero-lawn{position:relative;z-index:3;flex:1;display:flex;align-items:flex-end;background:linear-gradient(#7ab05c,var(--lawn-700) 60%)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:0;transition:opacity .5s}
.hero canvas.is-on{opacity:1}
.hero:has(canvas.is-on) .hero-lawn{background:none}
.hero-card-row{position:relative;z-index:4;display:grid;gap:14px;padding-block:clamp(36px,8vh,84px) clamp(22px,4vh,44px);align-items:end}
.hero-card{background:var(--white);border-radius:var(--r);padding:clamp(18px,2.4vw,28px);box-shadow:0 22px 50px rgba(8,38,26,.3);max-width:620px}
.hero-card p{font-size:clamp(1.03rem,.98rem + .35vw,1.25rem);line-height:1.42}
.zipform{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.zipform input{flex:1 1 130px;min-width:0;height:52px;border-radius:999px;border:2px solid var(--line);padding:0 1.1em;background:#fff;font:600 1.05rem var(--body);color:var(--ink)}
.zipform .btn{flex:1 1 170px}
.chips{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;list-style:none;font-size:.9rem;font-weight:600;color:var(--muted)}
.chips li::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--ball-deep);margin-right:.42em}
.hero-card-row{padding-bottom:calc(clamp(22px,4vh,44px) + 62px)}
@media (min-width:760px){.hero-card-row{padding-bottom:clamp(22px,4vh,44px)}}
@media (max-width:759px){.head-cta{display:none}}
.hint[hidden]{display:none!important}
.hint{justify-self:end;color:#fff;font-weight:600;font-size:.88rem;text-shadow:0 1px 8px rgba(0,0,0,.45);display:none}
@media (min-width:800px){.hint{display:block}}
@media (min-width:900px){.hero-card-row{grid-template-columns:auto 1fr}}
@media (max-width:640px){.h1-giant{font-size:21vw;white-space:normal;line-height:.86;margin-bottom:-.015em}.h1-giant span{display:block}}

/* Sections */
.sec{padding-block:clamp(64px,10vw,140px)}
.sec-head{display:grid;gap:14px;margin-bottom:clamp(30px,5vw,60px);max-width:860px}
.on-dark{color:var(--white)}
.lawn-bg{background:repeating-linear-gradient(101deg,var(--lawn-800) 0 clamp(90px,12vw,180px),var(--lawn-700) clamp(90px,12vw,180px) clamp(180px,24vw,360px))}
.deep-bg{background:var(--lawn-950)}
.paper-2{background:var(--paper-2)}
[data-reveal]{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js-reveal [data-reveal]:not(.is-in){opacity:0;transform:translateY(24px)}

/* Commitments */
.fourup{display:grid;gap:0;list-style:none;border-top:2px solid rgba(255,255,250,.28)}
.fourup li{display:grid;gap:8px;padding-block:clamp(20px,3vw,34px);border-bottom:2px solid rgba(255,255,250,.28)}
.fourup b{font:800 clamp(1.7rem,1.2rem + 2.4vw,3.2rem)/1.02 var(--display);letter-spacing:-.025em;color:var(--ball)}
@media (min-width:860px){.fourup li{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:baseline}}

/* Visit */
.visit-intro{padding-block:clamp(64px,9vw,120px) 28px}
.visit-stage{display:grid;gap:24px;padding-block:20px 60px}
.yard-svg{width:100%;height:auto;border-radius:var(--r);background:var(--lawn-900)}
.yard-panel{position:relative}
.yard-panel{-webkit-user-select:none;user-select:none}
.tally{white-space:nowrap;position:absolute;left:12px;top:12px;background:var(--white);color:var(--ink);border-radius:999px;padding:.3em .85em;font-weight:700;font-size:.85rem}
.mark{fill:var(--clay);transition:transform .25s ease,opacity .25s ease;transform-box:fill-box;transform-origin:center}
.mark.is-gone{opacity:0;transform:scale(.1)}
.mark-flag{stroke:var(--ball);stroke-width:3}
.route{fill:none;stroke:none}
.trail{fill:none;stroke:var(--ball);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.65}
.gate-leaf{transform-box:fill-box;transform-origin:50% 0;transition:transform .5s ease}
.gate-leaf.is-open{transform:rotate(66deg)}
.gate-check{opacity:0;transition:opacity .3s}
.is-done .gate-check{opacity:1}
.is-done [data-walker]{opacity:0}
.steps{list-style:none;display:grid;gap:18px}
.steps h3{color:var(--ball);margin-bottom:4px}
.phone{background:var(--ink);border-radius:30px;padding:9px;box-shadow:0 22px 50px rgba(0,0,0,.35);max-width:340px;width:100%}
.phone-in{background:var(--white);color:var(--ink);border-radius:23px;overflow:hidden;display:flex;flex-direction:column}
.phone-top{padding:12px 14px;background:var(--paper-2);font-weight:700;font-size:.85rem;display:flex;justify-content:space-between;gap:8px}
.phone-top small{font-weight:600;color:var(--muted);font-size:.75rem}
.thread{display:flex;flex-direction:column;gap:8px;padding:12px;list-style:none;font-size:.93rem;line-height:1.35}
.bubble{background:var(--paper-2);border-radius:16px 16px 16px 5px;padding:.55em .8em;max-width:94%}
.bubble.flag{background:var(--clay-soft)}
.bubble svg{width:100%;height:auto;border-radius:10px;margin-bottom:6px}
.sample-note{font-size:.82rem;opacity:.85;margin-top:10px}

.is-live .steps{position:relative;display:block}
.is-live .steps li{position:absolute;inset:0 0 auto;opacity:0;transform:translateY(10px);transition:opacity .28s,transform .28s;pointer-events:none}
.is-live .steps li.is-on{opacity:1;transform:none}
.is-live .bubble{display:none}
.is-live .bubble.is-on{display:block;animation:pop .28s ease both}
.is-live .thread{flex:1;min-height:0;overflow:hidden;justify-content:flex-end}
.is-live .phone-in{height:100%}
.is-live .phone{height:430px}
.visit-toggle{position:absolute;right:10px;top:10px;min-height:40px;padding:.3em 1em;font-size:.9rem;color:var(--white);background:rgba(8,38,26,.85);border-color:rgba(255,255,250,.8)}
.visit-toggle:hover{transform:none;background:var(--lawn-950)}
.visit-toggle[hidden]{display:none}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:899px){
  .yard-panel{justify-self:center;width:100%;max-width:520px}
  .tally{left:8px;top:8px;font-size:.75rem}
  .visit-stage{gap:14px}
  .is-live .phone{max-width:380px;height:285px;justify-self:center;border-radius:24px;padding:7px}
  .is-live .phone-in{border-radius:18px}
  .is-live .bubble svg{max-height:70px}
  .visit-toggle{right:8px;top:8px}
}
@media (min-width:600px) and (max-width:899px){
  .visit-stage{grid-template-columns:minmax(0,1fr) 280px;align-items:start}
  .yard-panel{grid-column:1}
  .steps{grid-column:1}
  .is-live .phone,.phone{grid-column:2;grid-row:1 / span 2;max-width:none}
}
@media (min-width:900px){
  .visit-stage{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 300px;align-items:center;gap:clamp(20px,3vw,44px)}
}
/* Calculator */
.calc{display:grid;gap:clamp(18px,3vw,36px);background:var(--white);border-radius:calc(var(--r) + 8px);padding:clamp(16px,3vw,40px);color:var(--ink);box-shadow:0 30px 70px rgba(8,38,26,.14)}
.calc fieldset{border:0;padding:0;margin:0 0 22px}
.calc legend{font:800 1.14rem/1.2 var(--display);padding:0;margin-bottom:10px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{flex:1 1 auto;position:relative;cursor:pointer}
.seg input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.seg span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:50px;min-width:50px;padding:.5em .95em;border:2px solid var(--line);border-radius:14px;font-weight:600;transition:background .14s,border-color .14s}
.seg label:hover span{border-color:var(--lawn-600)}
.seg input:checked+span{background:var(--lawn-800);border-color:var(--lawn-800);color:#fff}
.seg input:focus-visible+span{outline:3px solid var(--clay);outline-offset:2px}
.zipfield label{display:block;font:800 1.14rem/1.2 var(--display);margin-bottom:10px}
.zipfield input{width:100%;max-width:240px;height:50px;border:2px solid var(--line);border-radius:14px;padding:0 1em;font:600 1.05rem var(--body);background:#fff;color:var(--ink)}
.zip-out{margin-top:8px;font-weight:600;font-size:.95rem;min-height:1.5em}
.zip-out.ok{color:var(--lawn-600)}
.zip-out.maybe{color:var(--clay)}
.result{background:var(--lawn-900);color:var(--white);border-radius:var(--r);padding:clamp(20px,3vw,34px);display:flex;flex-direction:column;gap:14px;justify-content:space-between}
.result-price{font:800 clamp(4.4rem,3rem + 7vw,8rem)/.9 var(--display);letter-spacing:-.05em;color:var(--ball);font-variant-numeric:tabular-nums}
.result-price sup{font-size:.42em;vertical-align:.8em;margin-right:.04em}
.result-price small{font:600 1rem var(--body);letter-spacing:0;color:var(--white);margin-left:.3em}
.result .if-custom{display:none;font:800 2rem/1.1 var(--display)}
.result.is-custom .if-custom{display:block}
.result.is-custom .if-std{display:none}
.incl{list-style:none;display:grid;gap:6px;font-size:.96rem}
.incl li{padding-left:1.5em;position:relative}
.incl li::before{content:"";position:absolute;left:0;top:.42em;width:.8em;height:.42em;border-left:3px solid var(--ball);border-bottom:3px solid var(--ball);transform:rotate(-45deg)}
@media (min-width:860px){.calc{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}

/* Extras */
.extras{display:grid;gap:14px;list-style:none}
.extra{background:var(--white);border-radius:var(--r);padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:10px;border:1px solid var(--line)}
.extra.hl{background:var(--ball);border-color:var(--ball)}
.extra.dk{background:var(--lawn-800);border-color:var(--lawn-800);color:var(--white)}
.extra svg{width:44px;height:44px}
@media (min-width:700px){.extras{grid-template-columns:repeat(6,minmax(0,1fr))}.extra{grid-column:span 3}}
@media (min-width:1040px){.extra{grid-column:span 2}.extra.wide{grid-column:span 4}}

/* Promise */
.promise{background:var(--white);color:var(--ink);border-radius:calc(var(--r) + 8px);padding:clamp(22px,4.5vw,64px);position:relative;box-shadow:0 26px 60px rgba(0,0,0,.28)}
.promise .kicker{color:var(--lawn-600);margin-bottom:8px}
.promise h2{margin-bottom:clamp(20px,3vw,36px)}
.promise ol{list-style:none;counter-reset:p;display:grid;gap:clamp(18px,2.5vw,30px)}
.promise li{counter-increment:p;display:grid;gap:4px;padding-left:3.1rem;position:relative}
.promise li::before{content:counter(p);position:absolute;left:0;top:0;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--ball);display:grid;place-items:center;font:800 1rem var(--display)}
@media (min-width:860px){.promise ol{grid-template-columns:1fr 1fr;column-gap:56px}}

/* Facts */
.facts{display:grid;gap:clamp(16px,2.5vw,34px);list-style:none}
.facts li{border-top:3px solid var(--ink);padding-top:14px}
.facts b{display:block;font:800 clamp(2rem,1.5rem + 2vw,3.4rem)/1 var(--display);letter-spacing:-.03em;margin-bottom:8px}
.facts a{font-size:.88rem;color:var(--muted)}
@media (min-width:800px){.facts{grid-template-columns:repeat(3,1fr)}}

/* Zips */
.ziprow{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:18px}
.ziprow li{font:800 clamp(1.3rem,1rem + 1.4vw,2.2rem)/1 var(--display);padding:.45em .7em;border-radius:14px;background:var(--lawn-800);color:var(--ball)}
.ziprow li.part{background:transparent;border:2px dashed var(--lawn-600);color:var(--lawn-800)}
.split{display:grid;gap:clamp(24px,5vw,72px)}
@media (min-width:880px){.split{grid-template-columns:1fr 1fr}}

/* Founding */
.founding{background:var(--ball);color:var(--ink);border-radius:calc(var(--r) + 8px);padding:clamp(24px,5vw,72px);display:grid;gap:18px}
.founding p{max-width:680px}
.quotes{display:grid;gap:14px;list-style:none}
@media (min-width:800px){.quotes{grid-template-columns:repeat(3,1fr)}}
.quotes blockquote{margin:0;background:var(--white);padding:22px;border-radius:var(--r)}

/* FAQ */
.faq{display:grid;border-top:2px solid var(--ink)}
.faq details{border-bottom:2px solid var(--ink)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:1em 0;font:700 clamp(1.08rem,1rem + .5vw,1.4rem)/1.2 var(--display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 1.7em/1 var(--body);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details>div{padding:0 0 1.2em;max-width:760px}

/* Inner pages */
.page-top{padding-block:clamp(110px,15vw,180px) clamp(40px,6vw,76px)}
.page-top h1{font-size:clamp(2.7rem,1.7rem + 5.2vw,6.4rem);line-height:.96;letter-spacing:-.04em;margin-block:12px 18px}
.crumbs{font-size:.88rem;font-weight:600;list-style:none;display:flex;flex-wrap:wrap;gap:.4em}
.crumbs li+li::before{content:"/";margin-right:.4em;opacity:.55}
.prose{max-width:720px}
.prose>*+*{margin-top:1.05em}
.prose h2{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.7rem);margin-top:1.7em;line-height:1.05}
.prose h3{margin-top:1.5em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:.45em}
.prose table{width:100%;border-collapse:collapse;font-size:.97rem}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:.7em .6em .7em 0;text-align:left;vertical-align:top}
.table-wrap{overflow-x:auto}
.note{background:var(--paper-2);border-radius:14px;padding:1em 1.2em}
.sources{font-size:.92rem;color:var(--muted)}
.cards{display:grid;gap:14px;list-style:none}
.cards>li,.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:8px}
@media (min-width:780px){.cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
.price-big{font:800 clamp(2.5rem,2rem + 2vw,3.6rem)/1 var(--display);letter-spacing:-.04em}
.price-big small{font:600 .95rem var(--body);letter-spacing:0;color:var(--muted)}
.cta-band{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* Form */
.quote-form{display:grid;gap:16px;background:var(--white);padding:clamp(20px,3vw,36px);border-radius:var(--r);border:1px solid var(--line)}
.quote-form label{display:grid;gap:6px;font-weight:700;font-size:.97rem}
.quote-form input,.quote-form select,.quote-form textarea{min-height:50px;border:2px solid var(--line);border-radius:12px;padding:.6em .85em;font:500 1rem var(--body);background:#fff;color:var(--ink);width:100%}
.two{display:grid;gap:16px}
@media (min-width:600px){.two{grid-template-columns:1fr 1fr}}
.fine{font-size:.86rem;color:var(--muted)}
.form-status{font-weight:700;min-height:1.5em}
.form-status.good{color:var(--lawn-600)}
.form-status.bad{color:var(--clay)}
.trap{position:absolute;left:-9999px}

/* Footer */
.foot{background:var(--lawn-950);color:var(--white);padding-block:clamp(48px,7vw,90px) 104px}
.foot-giant{font:800 clamp(2.8rem,11.700vw,12rem)/.86 var(--display);letter-spacing:-.05em;color:var(--ball);margin-bottom:clamp(28px,5vw,60px);margin-left:-.03em}
.foot-grid{display:grid;gap:30px}
.foot h2{font:700 .82rem var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--ball);margin-bottom:10px}
.foot ul{list-style:none;display:grid;gap:4px}
.foot a{text-decoration:none;display:inline-flex;align-items:center;min-height:40px}
.foot a:hover{text-decoration:underline}
.foot-small{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,250,.2);font-size:.88rem;opacity:.85}
@media (min-width:760px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}.foot{padding-bottom:60px}}

.mobile-cta{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:40;display:flex;gap:8px;padding:6px;background:rgba(8,38,26,.94);border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.mobile-cta{transition:transform .25s,opacity .25s}
.typing .mobile-cta,.in-hero .mobile-cta{transform:translateY(120%);opacity:0;pointer-events:none}
.mobile-cta .btn{flex:1;box-shadow:none;min-height:46px}
@media (min-width:760px){.mobile-cta{display:none}}

/* Reduced motion and no-JS: the visit is a plain, complete list. */
.is-still .gate-check{opacity:1}
.is-still .mark,.is-still [data-walker]{opacity:0}
.is-still .yard-panel{max-width:460px}
.is-still .gate-leaf{transform:none}
/* Small phones: fit the hero and its button above the bottom bar. */
@media (max-height:700px) and (max-width:559px){
  .hero{min-height:100vh;min-height:100svh}
  .hero-top{padding-top:74px}
  .hero-card-row{padding-top:30px}
  .hero-card{padding:14px 16px}
  .hero-card p{font-size:.98rem;line-height:1.35}
  .hero-card .chips{display:none}
  .zipform{margin-top:10px}
}
/* Phones held sideways have little height, so keep the hero compact. */
@media (max-height:560px) and (min-width:560px){
  .hero{min-height:100vh;min-height:100svh}
  .hero-top{padding-top:64px}
  .h1-kicker{font-size:.95rem;margin-bottom:.15em}
  .h1-giant{font-size:min(11.7vw,27vh)}
  .hero-card-row{padding-block:14px 12px;grid-template-columns:1fr}
  .hero-card{padding:10px 14px;max-width:520px}
  .hero-card p,.hero-card .chips{display:none}
  .zipform{margin-top:0;flex-wrap:nowrap}
  .hint{display:none}
  .mobile-cta{display:none}
  .foot{padding-bottom:40px}
}
.is-still .trail{stroke-dasharray:none}
@media print{.site-head,.mobile-cta,.hero canvas{display:none}}
