:root{color-scheme:light;--ink:#163e2c;--muted:#516453;--cream:#f6f5e9;--green:#c8d898}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
main{overflow:hidden}
.hero{position:relative;text-align:center;padding:38px 24px 60px;background:repeating-linear-gradient(115deg,#163e2c 0px,#163e2c 100px,#235239 100px,#235239 200px);color:var(--cream)}
.publisher{display:inline-block;font-size:13px;text-decoration:none;letter-spacing:.02em}
.publisher:hover{text-decoration:underline}
.eyebrow{margin:65px 0 20px;color:var(--green);font-size:12px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}
h1{margin:0;font-size:clamp(64px,10vw,104px);line-height:1;letter-spacing:-.065em;font-weight:650}
h1 span{display:block;margin-top:20px;font-size:clamp(18px,3vw,24px);font-weight:450;letter-spacing:-.025em}
.intro{max-width:560px;margin:26px auto 0;font-size:18px;line-height:1.65;color:#dce5d8}
.actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.app-store-badge{display:inline-block;border-radius:10px}
.app-store-badge img{display:block;width:180px;height:60px}
.screenshots{display:flex;justify-content:center;gap:32px;padding:56px 24px 64px;background:repeating-linear-gradient(115deg,#e4ead1 0px,#e4ead1 100px,#edf0df 100px,#edf0df 200px)}
.phone{width:240px;flex:0 0 240px;aspect-ratio:1/2.03;padding:7px;border:1px solid #566253;border-radius:38px;background:#1e2d24;box-shadow:0 16px 28px #163e2c1a}
.screen{height:100%;position:relative;overflow:hidden;border-radius:31px;background:#f6f5e9;display:flex;flex-direction:column;padding:62px 20px 32px}
.island{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:73px;height:21px;background:#1e2d24;border-radius:20px}
.screen-number{font-size:10px;font-weight:600;letter-spacing:.16em;color:#5a7050}
.placeholder{margin:auto 0}
.grass{display:block;font-size:58px;line-height:1;color:#71944c;margin-bottom:22px}
.placeholder h2{font-size:31px;line-height:1.1;letter-spacing:-.05em;margin:0;font-weight:550}
.placeholder p{font-size:11px;color:#68775e;margin-top:20px}
.home-indicator{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:80px;height:4px;border-radius:4px;background:#163e2c}
.phone:nth-child(2) .screen{background:#d9e4b9}
.phone:nth-child(3) .screen{background:#b6cc8b}
.details{width:min(100% - 48px,900px);margin:64px auto;display:grid;grid-template-columns:1fr 1fr;gap:40px 64px}
.details h2{margin:0 0 14px;font-size:22px;font-weight:550;letter-spacing:-.035em}
.details p,.details li{font-size:16px;line-height:1.7;color:var(--muted)}
.details p{margin:0}
ul{padding-left:19px;margin:0}
li+li{margin-top:5px}
.rain{grid-column:1/-1;padding-top:32px;border-top:1px solid #d1d9c3}
footer{max-width:900px;margin:0 auto;padding:28px 0 36px;border-top:1px solid #d1d9c3;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}
footer a{text-decoration:none}footer a:hover{text-decoration:underline}
a:focus-visible{outline:3px solid #96b85a;outline-offset:5px}
@media(max-width:800px){.screenshots{gap:18px}.phone{width:210px;flex-basis:210px}.placeholder h2{font-size:27px}footer{margin:0 24px}}
@media(max-width:680px){.hero{padding-bottom:42px}.eyebrow{margin-top:48px}.intro{font-size:16px}.screenshots{justify-content:flex-start;overflow-x:auto;padding:32px 24px 40px;scroll-snap-type:x mandatory}.phone{scroll-snap-align:center;flex-basis:220px}.details{grid-template-columns:1fr;gap:30px;margin:42px auto}.rain{grid-column:auto}footer{flex-direction:column;gap:14px}.placeholder h2{font-size:29px}}

.policy-hero{padding:36px 24px 48px}
.policy-hero h1{margin-top:36px;font-size:clamp(38px,7vw,64px);letter-spacing:-.045em}
.policy{width:min(calc(100% - 48px),720px);margin:48px auto 64px;font-size:16px;line-height:1.75;color:var(--muted);overflow-wrap:anywhere}
.policy h2{margin:32px 0 10px;color:var(--ink);font-size:22px;line-height:1.3;letter-spacing:-.025em}
.policy p{margin:0 0 16px}
.policy .effective{font-size:14px}
.policy a{text-underline-offset:3px}

.mowerplus{width:min(calc(100% - 48px),900px);margin:0 auto 64px;padding:40px clamp(24px,5vw,48px);background:#e7ecd6;border:1px solid #d1d9c3;border-radius:12px}
.mowerplus .eyebrow{margin:0 0 16px;color:#516b39;font-size:11px;line-height:1.6}
.mowerplus h2{margin:0 0 22px;font-size:clamp(28px,5vw,38px);line-height:1.15;letter-spacing:-.045em;font-weight:550}
.mowerplus h3{margin:28px 0 12px;font-size:20px;letter-spacing:-.025em;font-weight:550}
.mowerplus p{max-width:720px;font-size:16px;line-height:1.75;color:var(--muted)}
.mowerplus a{text-underline-offset:3px}
.import-help{display:inline-flex;align-items:center;gap:16px;min-height:48px;margin-top:8px;font-size:15px;font-weight:600;line-height:1.5}
.mowerplus .sharing-note,.mowerplus .affiliation{font-size:12px;line-height:1.7}
.mowerplus .affiliation{margin:24px 0 0;padding-top:20px;border-top:1px solid #cbd5b7}

.mowerplus-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.mowerplus-heading img{display:block;flex-shrink:0;width:64px;height:64px;border-radius:14px}
.mowerplus-heading h2{margin:0}

.hero-icon{display:block;width:112px;height:112px;margin:0 auto 24px;object-fit:contain;filter:drop-shadow(0 0 2px #f6f5e980) drop-shadow(0 0 22px #c8d89845) drop-shadow(0 12px 14px #071c16a6)}

.screenshot-gallery{gap:28px;padding:48px max(24px,calc((100% - 1160px)/2)) 56px}
.screenshot-item{margin:0;flex:1 1 0;min-width:0;max-width:270px;text-align:center}
.screenshot-item h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.035em;font-weight:550}
.screenshot-item figcaption{min-height:76px;display:flex;align-items:flex-start;justify-content:center}
.screenshot-crop{position:relative;overflow:hidden;width:100%}
.screenshot-crop img{display:block;position:absolute;max-width:none;height:auto}
@media(max-width:1000px){.screenshot-gallery{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory}.screenshot-item{flex:0 0 240px;scroll-snap-align:center}}

.crop-1{aspect-ratio:781/1603}
.crop-1 img{width:108.96287%;left:-4.48143%;top:-6.11354%}

.crop-2{aspect-ratio:797/1642}
.crop-2 img{width:106.77541%;left:-3.38770%;top:-10.23143%}

.crop-3{aspect-ratio:728/1405}
.crop-3 img{width:148.21429%;left:-27.47253%;top:-1.42349%}

.crop-4{aspect-ratio:801/1648}
.crop-4 img{width:106.24220%;left:-3.24594%;top:-7.88835%}
