:root{--navy:#0a1626;--navy2:#0f2238;--deep:#0e3626;--green:#1f6b3f;--cream:#f4efe2;--ink:#0a1626;--red:#d63b2f;--red2:#b82d23;--coral:#ff6a5c;--lime:#8fd14f;--ease:cubic-bezier(.2,.7,.2,1);--focus:#ffbf47}
html{background:var(--navy)}
body.sig{font-family:"Outfit",system-ui,sans-serif;color:var(--cream);background:var(--navy);font-size:17px;line-height:1.5}
h1,h2,h3{font-family:"Young Serif",Georgia,serif;font-weight:400;line-height:1.05;letter-spacing:-.005em}
.s{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95em 1.45em;border-radius:999px;font-weight:600;font-size:1rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s,box-shadow .25s;white-space:nowrap}
.btn svg{width:1.15em;height:1.15em;fill:currentColor;flex:none}
.btn--red{background:var(--red);color:#fff;box-shadow:0 10px 28px rgba(214,59,47,.4)}
.btn--red:hover{background:var(--coral);transform:translateY(-2px)}
.btn--ghost{background:rgba(244,239,226,.1);color:var(--cream);border-color:rgba(244,239,226,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn--ghost:hover{background:var(--cream);color:var(--navy);transform:translateY(-2px)}
.btn--line{border-color:rgba(244,239,226,.5);color:var(--cream);background:transparent}
.btn--line:hover{background:var(--cream);color:var(--navy);transform:translateY(-2px)}
.btn--lg{font-size:1.06rem;padding:1.05em 1.7em}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.kick{font:600 .78rem/1.4 "Outfit",sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin-bottom:1rem}
.kick span{display:inline-block;padding-bottom:.45em;border-bottom:2px solid currentColor}
.kick--dark{color:#9b2b21}

/* nav */
.nav{position:fixed;z-index:60;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:12px clamp(14px,3vw,36px);pointer-events:none}
.nav>*{pointer-events:auto}
.nav__logo{display:block;width:84px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}
.nav__logo img{width:100%;height:auto}
.lg--d{display:none}
body.nav-light .lg--l{display:none}body.nav-light .lg--d{display:block}
body.nav-light .nav__logo{filter:none}
body.nav-light .nav__links{background:rgba(244,239,226,.82);border-color:rgba(10,22,38,.14)}
body.nav-light .nav__links a{color:var(--navy)}
body.nav-light .nav__links a:hover{background:rgba(10,22,38,.08)}
.nav__links{display:flex;gap:2px;padding:5px;border-radius:999px;background:rgba(10,22,38,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(244,239,226,.12)}
.nav__links a{color:var(--cream);text-decoration:none;font-weight:500;font-size:.86rem;padding:.5em .9em;border-radius:999px;transition:background .2s;white-space:nowrap}
.nav__links a:hover{background:rgba(244,239,226,.16)}
@media (max-width:1180px){.nav__links{display:none}.burger{display:block}}
.sig{--nav-active-bg:#ff6a5c;--nav-active-ink:#fff;--burger-bg:rgba(10,22,38,.86);--burger-open-bg:#f4efe2;--burger-open-ink:#0a1626;--m1:#0a1626;--m2:#0f2238;--m-origin:50% 50%;--menu-ink:#f4efe2;--menu-accent:#ff6a5c;--menu-font:"Young Serif",Georgia,serif;--menu-weight:400}
body.nav-light .nav__links a.active{background:#d63b2f}
body.menu-on .lg--l{display:block}body.menu-on .lg--d{display:none}
.sig .menu__in::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 120%,rgba(31,107,63,.6),transparent 60%);}
@media (max-width:760px){.nav__logo{width:68px}}

/* ============ HERO ============ */
.hero{display:flex;align-items:flex-start;background:var(--navy)}
.hero__bg{position:absolute;inset:0;overflow:hidden}
.hero__bg img{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;object-position:60% 55%;transform:translate3d(0,var(--py,0px),0);will-change:transform;animation:dusk 2.6s var(--ease) both}
@keyframes dusk{from{filter:brightness(.4) saturate(.6)}}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,38,.75) 0%,rgba(10,22,38,.2) 40%,rgba(10,22,38,.15) 62%,rgba(8,26,18,.9) 100%),linear-gradient(90deg,rgba(10,22,38,.55),transparent 62%)}
.hero__copy{position:relative;z-index:3;width:100%;max-width:1240px;padding:clamp(120px,22vh,210px) clamp(18px,5vw,64px) 0;transform:translate3d(0,calc(var(--hs,0) * -80px),0);opacity:calc(1 - var(--hs,0) * 1.6)}
.hero .kick{opacity:0;animation:fadeUp .9s .2s var(--ease) forwards}
.hero h1{font-size:clamp(2.8rem,7.6vw,7rem);max-width:12ch;margin-bottom:.35em}
.hw{display:inline-block;opacity:0;filter:blur(14px);transform:translateY(.4em);animation:hw 1.1s var(--ease) forwards;animation-delay:calc(.35s + var(--i) * .11s)}
@keyframes hw{to{opacity:1;filter:none;transform:none}}
.hw--g{color:var(--coral)}
.hero .lede{max-width:40ch;font-size:clamp(1.05rem,1.5vw,1.28rem);margin-bottom:1.6rem;color:rgba(244,239,226,.92);opacity:0;animation:fadeUp .9s 1.15s var(--ease) forwards}
.hero .cta{opacity:0;animation:fadeUp .9s 1.35s var(--ease) forwards;position:relative;z-index:4}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.grass{position:absolute;z-index:2;left:0;right:0;bottom:0;width:100%;height:min(30svh,300px);pointer-events:none}
@media (max-width:760px){.hero__bg img{object-position:76% 55%}.hero__copy{padding-top:110px}.hero .cta .btn{width:100%}.grass{height:min(22svh,190px)}}

/* ============ INTRO ============ */
.intro{display:grid;place-items:center;background:var(--navy2)}
.intro__bg{position:absolute;inset:0;overflow:hidden}
.intro__bg img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.intro__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,38,.9),rgba(10,22,38,.7) 50%,rgba(10,22,38,.92))}
.intro__in{position:relative;z-index:2;max-width:1100px;padding:clamp(90px,14vh,140px) clamp(18px,5vw,64px)}
.statement{font-size:clamp(1.9rem,4.6vw,4.2rem);line-height:1.12}
.statement .rw{opacity:clamp(.16,calc((var(--q,0) * 1.55 - var(--k)) * 5),1);transition:opacity .25s linear}
@media (max-width:760px){.statement{font-size:clamp(1.7rem,7.4vw,2.4rem)}}

/* ============ SERVICES ============ */
.services{background:var(--cream);color:var(--ink);display:grid;place-items:center}
.services__in{width:100%;max-width:1360px;padding:clamp(88px,12vh,120px) clamp(18px,5vw,64px) clamp(36px,6vh,64px)}
.services h2{font-size:clamp(2.2rem,5vw,4.4rem);margin-bottom:clamp(20px,4vh,40px)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.8vw,26px)}
.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px -28px rgba(10,22,38,.45);display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s}
.card:hover{transform:translateY(-6px);box-shadow:0 34px 60px -26px rgba(10,22,38,.55)}
.card__img{position:relative;aspect-ratio:16/10;overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .card__img img{transform:scale(1.07)}
.card__txt{padding:clamp(16px,1.8vw,26px)}
.card h3{font-size:clamp(1.4rem,2vw,1.9rem);margin-bottom:.5em}
.card li{position:relative;padding:.18em 0 .18em 1.4em;font-size:.98rem;color:#34465a}
.card li::before{content:"";position:absolute;left:0;top:.8em;width:.65em;height:2px;background:var(--red)}
@media (max-width:860px){
  .services__in{padding-top:78px}
  .services h2{font-size:clamp(1.8rem,8.4vw,2.5rem);margin-bottom:14px}
  .cards{grid-template-columns:1fr;gap:10px}
  .card{flex-direction:row;border-radius:14px}
  .card__img{aspect-ratio:auto;width:36%;flex:none}
  .card__txt{padding:10px 12px}
  .card h3{font-size:1.15rem;margin-bottom:.2em}
  .card li{font-size:.82rem;padding:.04em 0 .04em 1.2em;line-height:1.3}
  .card li:nth-child(n+4){display:none}
  .card li::before{top:.65em}
  .ill{font-size:.5rem}
}

/* ============ BEFORE / AFTER ============ */
.baS{background:var(--deep);display:grid;place-items:center;background-image:radial-gradient(ellipse at 50% 0,rgba(143,209,79,.16),transparent 60%)}
.baS__in{width:100%;max-width:1200px;padding:clamp(88px,12vh,120px) clamp(18px,5vw,64px) clamp(34px,6vh,60px)}
.baS h2{font-size:clamp(2.2rem,5vw,4.4rem);margin-bottom:clamp(18px,3.4vh,34px)}
.baS h2 em{font-style:normal;color:var(--lime)}
.ba{position:relative;aspect-ratio:1920/1072;max-height:62svh;width:100%;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7);user-select:none;-webkit-user-select:none;touch-action:pan-y;background:#000}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--x);width:3px;margin-left:-1.5px;background:var(--cream);box-shadow:0 0 18px rgba(0,0,0,.5);pointer-events:none}
.ba__knob{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--cream);box-shadow:0 8px 24px rgba(0,0,0,.45);display:grid;place-items:center}
.ba__knob i{width:24px;height:36px;background:url("../shared/img/mower.svg") center/contain no-repeat;transform:rotate(-90deg)}
.ba__knob::before,.ba__knob::after{content:"";position:absolute;top:50%;width:0;height:0;margin-top:-5px;border:5px solid transparent}
.ba__knob::before{left:-14px;border-right-color:var(--cream)}
.ba__knob::after{right:-14px;border-left-color:var(--cream)}
.lbl{position:absolute;z-index:3;top:14px;font:600 .7rem/1 "Outfit",sans-serif;letter-spacing:.18em;text-transform:uppercase;padding:.6em .9em;border-radius:999px;background:rgba(10,22,38,.7);color:var(--cream);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lbl--b{left:14px}.lbl--a{right:14px;background:var(--red)}
.ba__range{position:absolute;inset:0;z-index:5;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;touch-action:pan-y}
.ba:focus-within{outline:3px solid var(--focus);outline-offset:3px}
.ba .ill{left:.6rem;right:auto;bottom:.55rem}
.note{margin-top:14px;font-size:.88rem;color:rgba(244,239,226,.7)}
@media (max-width:760px){.baS__in{padding-top:80px}.baS h2{font-size:clamp(1.9rem,8.8vw,2.6rem)}.ba{max-height:none}.ba__knob{width:46px;height:46px;margin:-23px 0 0 -23px}}

/* ============ PROCESS ============ */
.process{background:var(--navy);display:grid;place-items:center}
.process__in{width:100%;max-width:1240px;padding:clamp(88px,12vh,120px) clamp(18px,5vw,64px) clamp(34px,6vh,60px)}
.process h2{font-size:clamp(2.2rem,5vw,4.4rem);margin-bottom:clamp(14px,3vh,30px)}
.route{position:relative;height:clamp(180px,34svh,320px);margin-bottom:clamp(16px,3vh,32px)}
.route svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.route__base{fill:none;stroke:rgba(244,239,226,.07);stroke-linecap:round;stroke-linejoin:round}
.route__done{fill:none;stroke:url(#none);stroke:var(--green);stroke-linecap:round;stroke-linejoin:round}
.route__mower{position:absolute;left:0;top:0;width:34px;height:51px;margin:-25px 0 0 -17px;background:url("../shared/img/mower.svg") center/contain no-repeat;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5));will-change:transform;z-index:3}
.stop{position:absolute;z-index:2;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;display:grid;place-items:center;font:600 .85rem/1 "Outfit",sans-serif;font-style:normal;background:var(--navy);border:2px solid rgba(244,239,226,.35);color:rgba(244,239,226,.6);transition:all .4s var(--ease)}
.stop.on{background:var(--coral);border-color:var(--coral);color:#fff;box-shadow:0 0 0 6px rgba(255,106,92,.2)}
.stop--end{width:22px;height:22px;margin:-11px 0 0 -11px}
.stop--end::before{content:"";width:9px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) translate(1px,-1px)}
.psteps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,28px)}
.psteps li{padding-top:14px;border-top:2px solid rgba(244,239,226,.15);opacity:.45;transition:opacity .5s,border-color .5s}
.psteps li.on{opacity:1;border-color:var(--coral)}
.psteps h3{font-size:clamp(1.2rem,1.8vw,1.55rem);margin-bottom:.35em}
.psteps p{font-size:.96rem;color:rgba(244,239,226,.82);max-width:26ch}
@media (max-width:860px){
  .process__in{padding-top:80px}
  .process h2{font-size:clamp(1.9rem,8.8vw,2.6rem)}
  .route{height:clamp(150px,26svh,230px)}
  .psteps{grid-template-columns:1fr 1fr;gap:12px 14px}
  .psteps li{padding-top:8px}
  .psteps h3{font-size:1.05rem}
  .psteps p{font-size:.82rem;line-height:1.35}
}

/* ============ WORK ============ */
.work{background:var(--cream);color:var(--ink);display:grid;place-items:center}
.work__in{width:100%;max-width:1360px;padding:clamp(88px,12vh,120px) clamp(18px,5vw,64px) clamp(34px,6vh,60px)}
.work h2{font-size:clamp(2rem,4.6vw,4rem);max-width:18ch;margin-bottom:clamp(16px,3.4vh,34px)}
.gal{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:clamp(10px,1.4vw,20px);height:clamp(320px,56svh,640px)}
.g{position:relative;margin:0;overflow:hidden;border-radius:16px;background:var(--navy);min-height:0}
.g img{position:absolute;left:0;top:-10%;width:100%;height:120%;max-width:none;object-fit:cover;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.g1{grid-row:1 / span 2}
.g2{grid-column:2 / span 2}.g3{grid-column:2 / span 2}
.g figcaption{position:absolute;z-index:3;left:14px;bottom:14px;right:14px;font:400 1.05rem/1.2 "Young Serif",serif;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.g::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,22,38,.7),transparent 45%);pointer-events:none}
.g .ill{bottom:auto;top:.6rem}
@media (max-width:860px){
  .work__in{padding-top:80px;padding-bottom:78px}
  .work h2{font-size:clamp(1.7rem,8vw,2.4rem)}
  .gal{grid-template-columns:1fr;grid-template-rows:1.2fr 1fr 1fr;height:calc(100svh - 290px);min-height:400px}
  .g1,.g2,.g3{grid-column:1;grid-row:auto}
  .g figcaption{font-size:.95rem}
}

/* ============ LIGHT SHIFT ============ */
.shift{position:relative;height:240vh;height:240svh;background:#000;--sh:0;--o1:1;--o2:0;--o3:0}
.shift__stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.shift__imgs,.shift__imgs .f{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shift__imgs .f{will-change:opacity;transform:scale(calc(1.02 + var(--sh) * .07))}
.f1{opacity:var(--o1)}.f2{opacity:var(--o2)}.f3{opacity:var(--o3)}
.shift__veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,14,24,.78),rgba(6,14,24,.15) 55%,rgba(6,14,24,.45))}
.shift__copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:0 clamp(18px,5vw,64px) clamp(70px,13vh,120px);max-width:1240px}
.shift .kick{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.shift .kick span{border-bottom-color:var(--coral)}
.shift h2{font-size:clamp(2.2rem,5.6vw,5rem);max-width:16ch;margin-bottom:.4em;text-shadow:0 3px 30px rgba(0,0,0,.5)}
.shift__time{position:relative;height:1.6em;font:600 .95rem/1.6 "Outfit",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--coral)}
.shift__time .t{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transition:opacity .5s}
.t1{opacity:var(--o1)!important}.t2{opacity:var(--o2)!important}.t3{opacity:var(--o3)!important}
.arc{position:absolute;z-index:3;left:clamp(18px,5vw,64px);right:clamp(18px,5vw,64px);top:clamp(84px,14vh,130px);height:60px;max-width:420px;margin-left:auto;margin-right:clamp(18px,5vw,64px)}
.arc svg{width:100%;height:100%}
.arc__dot{position:absolute;left:calc(var(--sh) * 100%);top:calc(100% - var(--dy,0) * 1px);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#ffd27a;box-shadow:0 0 22px 6px rgba(255,210,122,.6)}
@media (max-width:760px){.arc{max-width:none;left:18px;right:18px;margin:0}.shift__copy{padding-bottom:84px}}

/* ============ QUOTE ============ */
.quote{display:grid;place-items:center;background:radial-gradient(ellipse at 15% 0,rgba(31,107,63,.35),transparent 55%),var(--navy2)}
.quote__in{width:100%;max-width:1240px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,5vw,72px);align-items:center;padding:clamp(88px,12vh,120px) clamp(18px,5vw,64px) clamp(34px,6vh,60px)}
.quote h2{font-size:clamp(2.2rem,4.8vw,4.2rem);margin-bottom:.4em}
.quote__copy p:not(.kick){color:rgba(244,239,226,.85);max-width:36ch}
.qb{display:grid;gap:clamp(10px,1.8vh,16px);padding:clamp(16px,2.2vw,30px);border-radius:22px;background:rgba(244,239,226,.06);border:1px solid rgba(244,239,226,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.qb__f{border:0;margin:0;padding:0;min-width:0;display:block}
.qb legend,.qb .lg{display:block;padding:0;margin-bottom:.5em;font-weight:600;font-size:.9rem;letter-spacing:.04em;color:rgba(244,239,226,.9)}
.qb .lg em{font-style:normal;font-weight:400;opacity:.65}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chips span{display:inline-block;padding:.55em 1em;border-radius:999px;border:1.5px solid rgba(244,239,226,.35);font-weight:500;font-size:.92rem;transition:all .25s var(--ease)}
.chips input:checked+span{background:var(--cream);color:var(--navy);border-color:var(--cream)}
.chips input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.qb input[type=text],.qb textarea{width:100%;padding:.8em 1em;border-radius:12px;border:1.5px solid rgba(244,239,226,.3);background:rgba(10,22,38,.55);color:var(--cream);font-size:1rem;resize:none}
.qb input::placeholder,.qb textarea::placeholder{color:rgba(244,239,226,.45)}
.qb input[type=text]:focus,.qb textarea:focus{border-color:var(--coral);outline:none;box-shadow:0 0 0 3px rgba(255,106,92,.25)}
.qb__out{padding-top:6px}
.qb__label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);font-weight:600;margin-bottom:6px}
.qb__bubble{padding:.8em 1em;border-radius:16px 16px 4px 16px;background:var(--green);color:#fff;font-size:.98rem;line-height:1.4;margin-bottom:12px;max-width:52ch;transition:background .3s}
.qb__bubble.pop{animation:pop .4s var(--ease)}
@keyframes pop{from{transform:scale(.98);opacity:.6}to{transform:none;opacity:1}}
.qb__hint{margin-top:10px;font-size:.8rem;color:rgba(244,239,226,.62);display:none}
.qb .btn{padding:.8em 1.2em;font-size:.95rem}
@media (hover:none){#qbNum{display:none}}
@media (hover:hover) and (pointer:fine){.qb__hint{display:block}}
@media (max-width:900px){
  .quote__in{grid-template-columns:1fr;gap:12px;padding-top:80px;align-content:center}
  .quote h2{font-size:clamp(1.8rem,8vw,2.4rem);margin-bottom:.2em}
  .quote__copy p:not(.kick){display:none}
  .qb{padding:14px;gap:10px;border-radius:18px}
  .qb textarea{rows:2}
  .qb__bubble{font-size:.9rem}
  .qb .cta .btn{flex:1 1 auto}
}

/* ============ CONTACT ============ */
.contact{display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 100%,rgba(31,107,63,.55),transparent 60%),linear-gradient(180deg,#07101c,#0a1a2c 60%,#0d2a22)}
.flies{position:absolute;inset:0;pointer-events:none}
.fly{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffe9a8;box-shadow:0 0 14px 4px rgba(255,226,140,.55);opacity:0;animation:fly var(--t) ease-in-out infinite;animation-delay:var(--dl)}
@keyframes fly{0%{opacity:0;transform:translate(0,0)}15%{opacity:.9}50%{opacity:.3;transform:translate(var(--dx),var(--dy))}85%{opacity:.9}100%{opacity:0;transform:translate(calc(var(--dx) * -.5),calc(var(--dy) * 1.4))}}
.contact__card{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px clamp(18px,5vw,64px) 30px}
.contact h2{font-size:clamp(2.3rem,6vw,5.4rem);margin-bottom:clamp(16px,3vh,28px)}
.bigphone{display:inline-block;font:400 clamp(2.2rem,5.4vw,4.6rem) "Young Serif",serif;color:var(--coral);text-decoration:none;margin-bottom:clamp(16px,3vh,28px);transition:transform .3s var(--ease),text-shadow .3s}
.bigphone:hover{transform:scale(1.03);text-shadow:0 0 30px rgba(255,106,92,.5)}
.contact .cta{justify-content:center}
.foot{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:16px;padding:14px clamp(18px,5vw,64px);background:rgba(4,10,18,.88);color:rgba(244,239,226,.85);font-size:.88rem;min-height:62px}
.foot img{width:60px;height:auto;flex:none}.foot small{opacity:.75}
@media (max-width:760px){.contact h2 br{display:none}.contact h2{text-wrap:balance}.contact .cta .btn{width:100%}.contact h2{font-size:clamp(2rem,9.6vw,2.8rem)}.foot{padding-bottom:78px;justify-content:flex-start}}

/* ============ FAB: "Mower Pass" ============ */
.fab{position:fixed;z-index:80;right:26px;bottom:28px;width:58px;height:58px;text-decoration:none;color:#fff}
.fab__btn{position:absolute;inset:0;z-index:2;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#e24a3d,#b82d23);box-shadow:0 12px 28px rgba(214,59,47,.5);transition:transform .3s var(--ease)}
.fab__btn svg{width:24px;height:24px;fill:currentColor}
.fab:hover .fab__btn{transform:scale(1.07)}
.fab__orbit,.fab__trail{position:absolute;inset:-9px;border-radius:50%;animation:orbit 5.5s linear infinite;pointer-events:none}
.fab:hover .fab__orbit,.fab:hover .fab__trail{animation-duration:2.2s}
@keyframes orbit{to{transform:rotate(360deg)}}
.fab__trail{z-index:1;background:conic-gradient(from 0deg,transparent 0deg 190deg,rgba(255,106,92,.85) 356deg,transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}
.fab__orbit{z-index:3}
.fab__mower{position:absolute;left:50%;top:-9px;width:13px;height:20px;margin-left:-6.5px;background:url("../shared/img/mower.svg") center/contain no-repeat;transform:rotate(-90deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
.fab__tip{position:absolute;right:calc(100% + 16px);top:50%;transform:translate(8px,-50%);padding:.5em .95em;border-radius:999px;background:var(--cream);color:var(--navy);font-weight:600;font-size:.9rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s var(--ease)}
.fab:hover .fab__tip,.fab:focus-visible .fab__tip,.fab.hint .fab__tip{opacity:1;transform:translate(0,-50%)}
@media (max-width:520px){.fab{right:22px;bottom:22px;width:54px;height:54px}}

@media (prefers-reduced-motion:reduce){
  .hero__bg img,.hero .kick,.hero .lede,.hero .cta,.hw,.fly,.fab__orbit,.fab__trail{animation:none}
  .hero .kick,.hero .lede,.hero .cta,.hw{opacity:1;filter:none;transform:none}
  .statement .rw{opacity:1}.shift{height:auto}.shift__stick{position:relative;height:100svh}
}
