@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-medium.ttf') format('truetype');font-weight:500;font-display:swap}
*{box-sizing:border-box}body{margin:0;color:#151614;background:#efeee9;font-family:'DM Sans',sans-serif}button,input{font:inherit}a{color:inherit}.viewer-page main{height:100svh;min-height:320px;position:relative;overflow:hidden}#scene{position:absolute;inset:0;touch-action:none;cursor:grab;background:radial-gradient(ellipse at 50% 42%,#faf9f5,#e2e1da)}#scene:active{cursor:grabbing}canvas{display:block;width:100%;height:100%}#status{position:absolute;top:48%;width:100%;text-align:center;font-size:13px;pointer-events:none}[hidden]{display:none!important}:focus-visible{outline:2px solid #747b65;outline-offset:5px}#scene:focus-visible{outline-offset:-3px}.primary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:18px;padding:18px 38px;min-height:62px;background:#111210;color:white;text-decoration:none;font-size:20px;font-weight:500;cursor:pointer;transition:background .2s}.primary-button:hover{background:#292b26}.primary-button:disabled{opacity:.5;cursor:wait}#join-waitlist{position:absolute;bottom:max(22svh,56px);left:50%;transform:translate(-50%,12px);white-space:nowrap;z-index:3;opacity:0;pointer-events:none;transition:opacity .5s,transform .5s}.intro-complete #join-waitlist.visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}#intro{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:#efeee9;animation:intro-out .6s 3.2s forwards}#intro img{width:min(360px,62vw);height:auto;opacity:0;animation:logo-in 1.2s ease-in-out forwards}@keyframes logo-in{to{opacity:1}}@keyframes intro-out{to{opacity:0;visibility:hidden}}.early-page{min-height:100svh;background:#f4f3ef;padding:48px 24px 64px}.form-logo{display:block;width:150px;margin:0 auto 58px}.form-logo img{display:block;width:100%}.form-content{max-width:470px;margin:0 auto}.form-content h1{font-size:46px;font-weight:500;letter-spacing:-1.8px;line-height:1.12;margin:0 0 20px}.form-intro{color:#64665f;font-size:16px;line-height:1.65;margin:0 0 34px}.field{display:block;font-size:14px;margin-bottom:22px}.field span{margin-left:3px}.field input{display:block;width:100%;margin-top:9px;padding:13px 14px;min-height:49px;background:#fafaf7;border:1px solid #d1d2ca;border-radius:9px;color:#161714;outline-offset:2px}.privacy-note{font-size:13px;color:#777a70;line-height:1.5;margin:28px 0 20px}.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;margin-bottom:30px;cursor:pointer}.consent input{width:18px;height:18px;flex-shrink:0;margin:2px 0 0;accent-color:#111210}.form-content button{width:100%}#form-status{font-size:14px;line-height:1.5}#form-status:empty{display:none}@media(max-width:600px){.early-page{padding-top:32px}.form-logo{margin-bottom:44px;width:130px}.form-content h1{font-size:38px}.primary-button{font-size:18px;min-height:58px;padding:16px 32px}}@media(prefers-reduced-motion:reduce){#intro img{animation-duration:.01s}#intro{animation-duration:.01s}.primary-button,#join-waitlist{transition:none}}

.waitlist-page{padding-top:clamp(48px,10vh,100px)}.waitlist-page .form-content{max-width:760px}.waitlist-page .form-intro{max-width:540px}.field-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:36px;row-gap:22px;margin-top:42px}.waitlist-page .field{font-size:17px;margin:0}.waitlist-page .field span{color:#d33d3d}.waitlist-page .field input{background:transparent;border:0;border-bottom:1px solid #b9bbb3;border-radius:0;padding:12px 0;font-size:18px;margin-top:6px;min-width:0}.waitlist-page .field input::placeholder{color:#898c82;opacity:1}.waitlist-page .field input:focus{outline:none;border-bottom-color:#171914;box-shadow:0 1px 0 #171914}.phone-row{display:flex;align-items:stretch;gap:14px}.waitlist-page .phone-row .dial-code{width:82px;flex:0 0 82px;background:#e6e6df;border:0;border-radius:7px 7px 0 0;text-align:center;font-size:16px;font-weight:500;padding:12px 8px}.waitlist-page .phone-row #phone{flex:1;width:100%}.waitlist-page .privacy-note{margin-top:32px}.waitlist-page .primary-button{width:auto;min-width:180px}.waitlist-page .consent{max-width:540px}@media(max-width:600px){.field-grid{grid-template-columns:1fr;gap:26px;margin-top:32px}.waitlist-page .primary-button{width:100%}.waitlist-page{padding-top:48px}}

@media(max-width:600px){#join-waitlist{bottom:max(24svh,56px)}}
