:root{--beta-lime:#d9e26b;--beta-edge:#b9c747;--beta-wash:#edf2d2}
.hero{padding-top:clamp(3rem,7vh,6rem)}
.hero .download-cta,.invite-form .button{position:relative;isolation:isolate;overflow:hidden;background:var(--beta-lime);color:var(--ink);border:1px solid var(--beta-edge);box-shadow:0 5px 0 var(--beta-wash);transition:transform .25s,box-shadow .25s}
.hero .download-cta::after,.invite-form .button::after{content:'';position:absolute;inset:-60% -30%;z-index:-1;background:linear-gradient(110deg,transparent 35%,#ffffff85 50%,transparent 65%);transform:translateX(-110%) rotate(-8deg);opacity:0}
.hero .download-cta:hover,.hero .download-cta:focus-visible,.invite-form .button:hover{background:var(--beta-lime);transform:translateY(-3px);box-shadow:0 8px 0 var(--beta-wash)}
.hero .download-cta:hover::after,.hero .download-cta:focus-visible::after,.invite-form .button:hover::after{animation:beta-sheen .7s ease-out}
@keyframes beta-sheen{0%{transform:translateX(-110%) rotate(-8deg);opacity:0}30%{opacity:1}100%{transform:translateX(110%) rotate(-8deg);opacity:0}}

.hero>h1,.hero>.hero-lead{margin-inline:auto}
.hero-stage{margin-top:3.5rem}
.start-section{padding-block:5rem}
.beta-download{width:100%;max-width:35rem;margin:0 auto;text-align:left;padding:clamp(1.5rem,4vw,2.5rem);background:var(--paper);border-radius:1.5rem}
.beta-download h2{font-size:clamp(1.7rem,3vw,2.2rem);letter-spacing:0;margin:0 0 1.75rem}
.beta-download form+form{margin-top:1.5rem}
.beta-download label{display:block;font-size:.9rem;margin-bottom:.65rem;color:var(--ink)}
.invite-row{display:flex;gap:.75rem;align-items:stretch}
.invite-row input{min-width:0;flex:1;border:1px solid var(--muted);border-radius:.6rem;padding:.75rem;font:1rem Sans,Chinese,sans-serif;color:var(--ink);background:white}
.invite-row .button{min-height:44px;min-width:6rem;padding:.75rem 1rem;font-size:.9rem;white-space:nowrap}
.invite-row .button:disabled{cursor:wait;opacity:.65;transform:none}
.beta-download input:focus-visible{outline:none;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.demo-controls button:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.beta-download [role=status]{margin:.65rem 0 0;font-size:.85rem;line-height:1.7;color:var(--green)}
.contact-submit{background:transparent;color:var(--green);border:1px solid var(--green)}
.contact-submit:hover{background:var(--beta-wash);color:var(--green)}
.demo-controls{max-width:35rem;margin:2rem auto;padding:1.25rem;border:1px dashed var(--green);border-radius:1rem}
.demo-controls button{padding:.65rem;margin:.25rem;border-radius:.4rem;color:var(--ink);background:var(--paper);min-height:44px}
.demo-page{padding:1.5rem}
.demo-page h1{font-size:2rem;text-align:center}
@media(max-width:600px){.invite-row{flex-direction:column}.invite-row .button{width:100%}.demo-page{padding:.75rem}}
@media(prefers-reduced-motion:reduce){.hero .download-cta,.invite-form .button{transition:none}.hero .download-cta::after,.invite-form .button::after{animation:none!important}}
.contact-privacy{font-size:12px;line-height:1.6;color:var(--muted,#666);margin:8px 0 0}
.invite-toggle{display:block;margin:1rem 0 0;padding:.25rem 0;background:transparent;color:var(--green);font:inherit;font-size:.85rem;text-decoration:underline;text-underline-offset:3px;min-height:24px}
.beta-download [hidden]{display:none!important}
.beta-dialog{position:fixed;inset:0;width:min(35rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:0;border-radius:1.5rem;color:var(--ink);background:var(--paper);overflow:auto}
.beta-dialog::backdrop{background:rgb(20 30 20 / .45)}
.beta-dialog .beta-download{box-sizing:border-box;padding-top:3rem}
.beta-dialog-close{position:absolute;right:.75rem;top:.65rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:50%;font:1.75rem/1 sans-serif;background:transparent;color:var(--ink);cursor:pointer}
.beta-dialog-close:hover{background:var(--beta-wash)}
.beta-dialog-close:focus-visible{outline:2px solid var(--green);outline-offset:2px}
