:root{
  --bg:#07130b; --bg2:#0c1f12; --ink:#eaf6ec; --mute:#9fb8a6;
  --green:#3ddc6b; --lime:#e9ff70; --red:#ff5d5d; --card:#0f2617; --line:#1d3b26;
  --radius:16px;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--bg);
  color:var(--ink); line-height:1.5; min-height:100vh; display:flex; flex-direction:column;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}


.top{display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,4vw,48px);max-width:1200px;width:100%;margin:0 auto}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--mute);opacity:.8}

main{flex:1;width:100%;margin:0 auto}

.hero{display:flex;flex-direction:column;align-items:center;min-height:calc(100svh - 56px);padding:0 clamp(12px,3vw,40px) clamp(16px,3vh,32px)}
.stage{position:relative;flex:1;width:100%;max-width:1280px;display:flex;align-items:center;justify-content:center;min-height:0}
.hedgebox{position:relative;width:100%;max-width:calc((100svh - 230px) * 720 / 330);min-width:0}
#hedge{display:block;width:100%;height:auto;overflow:visible}
#bush,.planter{position:absolute;inset:0;width:100%;height:100%;display:block}
.planter{pointer-events:none}
#bush{touch-action:none;cursor:none}
#clippings{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:5}
.saw{position:absolute;left:0;top:0;width:160px;height:60px;transform-origin:0 0;pointer-events:none;z-index:6;will-change:transform;transition:opacity .2s}
.saw svg{display:block;overflow:visible;filter:drop-shadow(0 6px 8px #0008)}
.saw__shake{animation:idle .11s steps(2) infinite}
.saw.rev .saw__shake{animation:rev .05s steps(2) infinite}
.saw.rev .saw__chain{animation:chain .12s linear infinite}
@keyframes idle{0%{transform:translate(0,0) rotate(-.4deg)}100%{transform:translate(.6px,-.6px) rotate(.4deg)}}
@keyframes rev{0%{transform:translate(-1.6px,1.2px) rotate(-1.4deg)}100%{transform:translate(1.6px,-1.4px) rotate(1.2deg)}}
@keyframes chain{to{stroke-dashoffset:-16}}
.saw.parked{transition:transform .5s cubic-bezier(.3,1.4,.5,1),opacity .2s}
.hint{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);margin:0;font:600 12px ui-monospace,Menlo,monospace;letter-spacing:.08em;color:#5f7d68;transition:opacity .4s;white-space:nowrap}
.hint.gone{opacity:0}
.regrow{position:absolute;right:8px;bottom:-10px;background:transparent;color:#5f7d68;border:0;border-radius:999px;padding:7px 12px;font:600 12px/1 inherit;font-family:inherit;cursor:pointer;transition:color .2s}
.regrow:hover,.regrow:focus-visible{color:var(--lime);outline:none}

.under{text-align:center;max-width:820px;width:100%;margin-top:22px}
.soon{margin:0 0 6px;font:700 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.32em;text-transform:uppercase;color:var(--lime);opacity:.75}
h1{font-size:clamp(17px,1.8vw,22px);line-height:1.2;letter-spacing:-.01em;margin:0 0 14px;font-weight:600;color:var(--mute)}
.sub{color:var(--mute);font-size:clamp(14px,1.4vw,17px);margin:0 0 16px}

.actions{display:flex;gap:10px;justify-content:center;align-items:stretch;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;font:600 14px/1 inherit;font-family:inherit;padding:11px 16px;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s}
.btn:active{transform:translateY(1px)}
.btn--x{background:transparent;color:var(--mute);border:1px solid var(--line)}
.btn--x:hover,.btn--x:focus-visible{color:var(--ink);border-color:#3a6b48;outline:none}
.btn--go{background:#1d3b26;color:var(--ink);white-space:nowrap}
.btn--go:hover,.btn--go:focus-visible{background:var(--lime);outline:none}
.btn[disabled]{opacity:.6;cursor:progress}
form{display:flex;gap:4px;background:transparent;border:1px solid var(--line);border-radius:12px;padding:3px;flex:0 1 380px}
input[type=email]{flex:1;min-width:0;background:transparent;color:var(--ink);border:0;border-radius:9px;padding:9px 12px;font:500 14px/1.2 inherit;font-family:inherit}
input[type=email]:focus{outline:2px solid var(--green);outline-offset:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.msg{min-height:1.4em;margin:10px 0 0;font-weight:600;font-size:14px}
.msg.ok{color:var(--green)} .msg.err{color:var(--red)}


@media (max-width:640px){
  .hero{min-height:calc(100svh - 50px)}
  .hedgebox{max-width:none}
  .hero{justify-content:center}
  .stage{flex:none;padding-bottom:30px}
  .regrow{bottom:0}
  .actions{flex-direction:column;align-items:stretch}
  form{flex-basis:auto}
  }
@media (prefers-reduced-motion: reduce){
  .btn,.regrow{transition:none}
  .saw__shake,.saw.rev .saw__shake{animation:none}
}
#bush.grow{animation:grow .8s cubic-bezier(.2,.9,.3,1)}
@keyframes grow{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
