@font-face{font-family:Geist;src:url('/fonts/Geist-Variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#f4f4f0;--white:#fff;--ink:#191b18;--muted:#60635e;--red:#ff253b;--action:#000;--hover:#cc1c30;--border:#858a82;--radius:12px;--font:Geist,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);letter-spacing:-.03em;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
.page{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(0,1fr);gap:16px;padding:16px;min-height:100svh}
.invitation{display:flex;flex-direction:column;min-width:0;background:var(--white);border-radius:20px;padding:32px 40px 24px}
.masthead{display:flex;align-items:center;min-height:64px}
.wordmark{width:208px;height:auto;display:block}
.content{margin:auto 0;padding:64px 0 40px}
h1{margin:0;font-size:clamp(32px,3.52vw,60px);line-height:1.15;font-weight:700;letter-spacing:-.03em}
h1 span{display:block}
h1 .product-name{color:var(--red);font-weight:900}
.intro{max-width:480px;margin:32px 0 32px;font-size:18px;line-height:1.55;text-wrap:pretty}
form{max-width:680px}
.form-row{display:flex;gap:12px}
input[type=email]{width:100%;min-width:0;height:58px;padding:0 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--ink);font-size:16px}
input::placeholder{color:var(--muted);opacity:1}
button{flex-shrink:0;min-height:58px;border:0;border-radius:var(--radius);padding:0 24px;background:var(--action);color:var(--white);font-size:16px;font-weight:600;letter-spacing:-.03em;cursor:pointer;transition:background-color .18s,transform .18s}
button:hover{background:#242424}
button:active{transform:translateY(2px)}
button:disabled{cursor:wait;opacity:.72}
:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.status{min-height:48px;margin:14px 0 0;font-size:16px;line-height:1.5}
.status[data-state=error]{color:var(--hover)}
.noscript{font-size:16px;line-height:1.5}
footer{display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted)}
.brand-stage{position:sticky;top:16px;height:calc(100svh - 32px);min-height:480px;background:var(--red);border-radius:20px;display:grid;place-items:center;overflow:hidden}
@media(min-width:1700px){.invitation{padding-left:64px;padding-right:64px}}
@media(max-width:1100px){.page{grid-template-columns:minmax(0,2.5fr) minmax(0,1fr)}.invitation{padding:24px}.content{padding:48px 0 24px}.form-row{flex-direction:column}.intro{font-size:17px}}
@media(max-width:900px){.page{display:block;padding:12px;position:relative;min-height:100svh}.invitation{min-height:calc(100svh - 24px);padding:20px;border-radius:16px}.masthead{min-height:64px}.wordmark{width:170px}.content{padding:40px 0 24px;margin:auto 0}h1{font-size:clamp(32px,8vw,44px);line-height:1.15;letter-spacing:-.03em}h1 span{display:inline}.intro{margin:28px 0;font-size:16px;line-height:1.55}.form-row{gap:12px}button,input[type=email]{min-height:56px}.brand-stage{position:absolute;top:28px;right:28px;width:64px;height:64px;min-height:0;border-radius:12px}.status{min-height:48px;margin-top:12px}footer{font-size:14px}}
@media(max-width:360px){.invitation{padding:16px}.brand-stage{right:24px;width:56px;height:56px}.wordmark{width:170px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the winning split composition with one logo in the masthead. */
@media(max-width:900px){.brand-stage{display:none}}

.channels{margin:0;color:var(--white);font-size:clamp(38px,4.4vw,80px);line-height:1.14;font-weight:650;letter-spacing:-.04em}
