html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; overflow-x: clip; }
main { overflow-x: clip; }
button, a { -webkit-tap-highlight-color: transparent; }
a, button { transition: color .25s, background-color .25s, opacity .25s, transform .25s; }
a:active, button:active { transform: translateY(1px); }
:focus-visible { outline: 2px solid var(--foreground); outline-offset: 5px; }
header.is-scrolled { background: color-mix(in oklch,var(--background) 94%,transparent); backdrop-filter: blur(16px); border-color: var(--border); padding-block: 14px; }
.motion-ready [data-reveal] { opacity: 0; transform: var(--reveal-from,translateY(14px)); transition: opacity 1s ease, transform 1.15s cubic-bezier(.22,1,.36,1); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: none; }
#top > .pointer-events-none > img { opacity: .085; }
.motion-ready #top > .pointer-events-none > img.is-visible { opacity: .085; }
#top { padding-top: 150px; }
[data-product-reveal] { will-change: clip-path; }
#loop .bg-foreground { transition: width 1.1s cubic-bezier(.22,1,.36,1); }
#loop button > span:first-child { transition: transform .5s, background-color .5s; }
.step-enter { animation: step-enter .55s cubic-bezier(.22,1,.36,1) both; }
@keyframes step-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.alpha-flow { padding: 28px; }
.alpha-progress { display:flex; align-items:center; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.alpha-track { height:1px; flex:1; background:var(--border); }
.alpha-track > span { display:block; height:1px; background:var(--foreground); transition:width .7s; }
.alpha-question { margin-top:28px; }
.alpha-question h3 { max-width:30rem; font-size:1.6rem; line-height:1.35; font-weight:500; letter-spacing:-.02em; }
.alpha-hint { margin-top:12px; color:var(--muted-foreground); }
.alpha-fields { margin-top:32px; }
.alpha-input { width:100%; border:0; border-bottom:1px solid var(--input); border-radius:0; background:transparent; color:var(--foreground); padding:14px 0; font:inherit; font-size:18px; }
textarea.alpha-input { resize:vertical; min-height:150px; }
.alpha-input:focus, .alpha-input:focus-visible { outline:none; box-shadow:none; border-bottom-color:var(--foreground); }
.alpha-options { display:flex; flex-wrap:wrap; gap:10px; }
.alpha-option { cursor:pointer; border:1px solid var(--border); padding:12px 16px; font-size:14px; text-align:left; }
.alpha-option[aria-pressed=true] { background:var(--foreground); color:var(--background); border-color:var(--foreground); }
.alpha-controls { margin-top:40px; display:flex; justify-content:space-between; gap:16px; align-items:center; }
.alpha-controls [data-back] { min-width:44px; min-height:44px; text-align:left; }
button:disabled { opacity:.3; cursor:not-allowed; }
.alpha-consent { display:flex; align-items:flex-start; gap:12px; margin-top:24px; font-size:14px; color:var(--muted-foreground); }
.alpha-consent input { margin-top:4px; accent-color:var(--foreground); }
.alpha-consent a { text-decoration:underline; text-underline-offset:4px; color:var(--foreground); }
.alpha-preview-note { color:var(--muted-foreground); font-size:12px; line-height:1.6; margin-top:20px; }
.alpha-error { color:var(--destructive); font-size:14px; margin-top:16px; }
.alpha-summary { margin-block:28px; padding-block:28px; border-block:1px solid var(--border); }
.alpha-summary p { margin-top:12px; }
.alpha-summary strong { font-size:26px; font-weight:500; }
@media(min-width:768px) { .alpha-flow { padding:40px; } }
@media(max-width:767px) { #top { padding-top:130px; } .alpha-question h3 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none!important; transition:none!important; }
  [data-product-reveal] { clip-path:none!important; }
}
