:root{--green: #58cc02;--green-hover: #61e002;--green-shadow: #58a700;--green-wash: #d7ffb8;--blue: #1cb0f6;--blue-shadow: #1899d6;--red: #ff4b4b;--yellow: #ffc800;--yellow-wash: #fff4cc;--purple: #ce82ff;--orange: #ff9600;--white: #ffffff;--snow: #f7f7f7;--polar: #ddf4ff;--swan: #e5e5e5;--hare: #afafaf;--wolf: #777777;--eel: #4b4b4b;--ink: #3c3c3c;--r-sm: 12px;--r-md: 16px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--bw: 2px;--b3d: 4px;--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--ease: cubic-bezier(.22, 1, .36, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--font-body: "Nunito", ui-rounded, system-ui, -apple-system, sans-serif;--font-head: "Nunito", ui-rounded, system-ui, sans-serif;--font-jp: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;--fs-display: clamp(2.2rem, 5vw, 3.5rem);--fs-h2: clamp(1.6rem, 3.4vw, 2.5rem);--fs-h3: clamp(1.2rem, 2vw, 1.5rem);--fs-lead: clamp(1.1rem, 1.5vw, 1.35rem);--fs-body: 1.0625rem;--fs-sm: .9375rem;--fs-label: .8rem;--maxw: 1140px;--pad-x: clamp(1.25rem, 5vw, 3rem);color-scheme:light}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100svh;background:var(--white);color:var(--eel);font-family:var(--font-body);font-size:var(--fs-body);font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}h1,h2,h3{font-family:var(--font-head);color:var(--ink);font-weight:800;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}p{text-wrap:pretty}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad-x)}.section{padding-block:clamp(4rem,9vw,7rem)}.eyebrow{display:inline-block;font-family:var(--font-head);font-size:var(--fs-label);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green-shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:50px;padding:.8rem 1.5rem;border-radius:var(--r-md);font-family:var(--font-head);font-weight:800;font-size:var(--fs-body);letter-spacing:.04em;text-transform:uppercase;border:none;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease)}.btn-primary{background:var(--green);color:var(--white);box-shadow:0 var(--b3d) 0 0 var(--green-shadow)}.btn-primary:hover{background:var(--green-hover)}.btn-primary:active{transform:translateY(var(--b3d));box-shadow:0 0 0 0 var(--green-shadow)}.btn-blue{background:var(--blue);color:var(--white);box-shadow:0 var(--b3d) 0 0 var(--blue-shadow)}.btn-blue:active{transform:translateY(var(--b3d));box-shadow:0 0 0 0 var(--blue-shadow)}.btn-white{background:var(--white);color:var(--eel);border:var(--bw) solid var(--swan);box-shadow:0 var(--b3d) 0 0 var(--swan)}.btn-white:hover{background:var(--snow)}.btn-white:active{transform:translateY(var(--b3d));box-shadow:0 0 0 0 var(--swan)}.reveal{opacity:1}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease-bounce),transform var(--dur-slow) var(--ease-bounce)}.reveal.is-in{opacity:1;transform:none}}.waitlist-form{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;width:100%;max-width:30rem;margin-top:1rem}.waitlist-input{flex:1 1 14rem;min-width:0;font:inherit;padding:.85rem 1rem;border:2px solid var(--swan);border-radius:var(--r-sm);background:var(--white);color:var(--wolf)}.waitlist-input:focus-visible{outline:none;border-color:var(--green)}.waitlist-btn{flex:0 0 auto;white-space:nowrap}.waitlist-done{margin-top:1rem;font-weight:700;color:var(--green-shadow)}.waitlist-error{flex-basis:100%;font-size:var(--fs-sm);color:var(--hare)}.consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--white);border-top:var(--bw) solid var(--swan)}.consent-banner-text{flex:1 1 320px;margin:0;font-size:var(--fs-sm);font-weight:600;color:var(--wolf)}.consent-banner-actions{display:flex;flex-wrap:wrap;gap:.6rem}.consent-banner-actions .btn{min-height:42px;padding:.55rem 1.1rem}@media(max-width:560px){.consent-banner{flex-direction:column;align-items:stretch}.consent-banner-text{flex:none}.consent-banner-actions{justify-content:stretch}.consent-banner-actions .btn{flex:1}}
