:root{color-scheme:light;--paper:#f6f5f1;--ink:#22231f;--quiet:#6b6b62;--line:#bcbcb1;--error:#a33f2e;font-family:Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0;position:relative}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
main{min-height:100svh;min-height:100dvh;display:grid;place-items:center;padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(64px,calc(env(safe-area-inset-bottom) + 40px)) max(24px,env(safe-area-inset-left))}
.site-footer{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:flex-end;gap:0;color:#97978e;font-size:11px}
.site-footer .privacy{min-width:0;padding:10px 0;text-align:center;font-size:11px;color:inherit}
.footer-divider{white-space:pre}
.site-footer .privacy:hover,.site-footer .privacy:focus-visible{color:var(--ink)}
.company{font-size:11px;line-height:18px;letter-spacing:0}
.entry{width:min(100%,368px);text-align:center;transform:translateY(-3vh)}
h1{margin:0;line-height:0;font-weight:400}
.tagline{margin:4px 0 58px;font-size:24px;line-height:1.2;letter-spacing:-.045em}
.wordmark{display:block;width:218px;max-width:65vw;height:auto;margin:0 auto;overflow:visible;transform:translateX(7px)}
.invitation{position:relative}
.input-line{display:flex;align-items:center;border-bottom:1px solid var(--line);transition:border-color .18s ease}
.input-line:focus-within{border-color:var(--ink)}
input[type=email]{width:100%;min-width:0;height:54px;padding:0;border:0;border-radius:0;outline:0;background:transparent;font-size:16px;letter-spacing:-.02em;text-align:center}
input::placeholder{color:var(--quiet);opacity:1}
.join{display:block;min-height:48px;margin:16px auto 0;padding:0 24px;border:0;background:transparent;font-size:14px;letter-spacing:-.02em;white-space:nowrap;text-underline-offset:6px}
.join:hover{text-decoration:underline}
button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
input:focus-visible{box-shadow:inset 0 -2px 0 var(--ink)}
button:disabled{cursor:wait;opacity:.55}
#status{min-height:20px;margin:14px 0 0;color:var(--quiet);font-size:14px;line-height:1.45}
#status.error{color:var(--error)}
.privacy{min-width:64px;min-height:44px;padding:10px;border:0;background:transparent;color:var(--quiet);font-size:12px;text-underline-offset:4px}
.privacy:hover{text-decoration:underline}
.sr-only,.trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.no-script{font-size:14px;line-height:1.5}
.joined .input-line{justify-content:center;border-color:transparent;min-height:54px}
.joined .join{visibility:hidden}
.confirmation{margin:0;font-size:16px;letter-spacing:-.02em}
dialog{width:min(420px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:28px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
dialog::backdrop{background:rgb(34 35 31 / .18)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
h2{font-size:26px;font-weight:400;letter-spacing:-.04em;margin:0}
#privacy-close{min-width:44px;min-height:44px;margin:-8px;border:0;background:none;font-size:28px}
dialog p{font-size:14px;line-height:1.6;color:var(--quiet);margin:20px 0 0}
@media(max-width:480px){.entry{width:min(100%,296px);transform:translateY(-2vh)}.wordmark{width:188px}.tagline{font-size:22px;margin-bottom:46px}}
@media(max-height:580px){.entry{transform:none}.wordmark{width:120px}.tagline{font-size:20px;margin-bottom:20px}.join{margin-top:8px}#status{margin-top:4px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
