
.page{width:100%;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--bone)}
main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:24px var(--gutter) 40px}
h1{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;font-size:clamp(62px,8.06vw,116px);line-height:.95;text-transform:uppercase;color:var(--black);max-width:1000px}
.proof{margin-top:36px;font-family:"IBM Plex Mono",monospace;font-weight:400;font-size:22px;color:#725f3f}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:16px;letter-spacing:.2em;text-transform:uppercase;color:#725f3f;margin-bottom:24px}
.capture{margin-top:44px;display:flex;gap:12px;max-width:640px}
.email-field{position:relative;flex:1;min-width:0}
.capture .in{outline:none;border-radius:0;width:100%;min-width:0;border:1px solid #a89d8c;background:transparent;color:#66655c;font-family:Barlow,Arial,sans-serif;font-size:18px;padding:0 20px;height:60px;display:flex;align-items:center}
.capture .btn{background:var(--orange);color:var(--black);font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:22px;letter-spacing:.07em;text-transform:uppercase;padding:0 32px;height:60px;display:flex;align-items:center;white-space:nowrap}
.capture .in::placeholder{color:inherit;opacity:1}
.fine{margin-top:14px;font-size:13px;color:#66655c}

@media (max-width:600px){
 .eyebrow{font-size:13px;margin-bottom:18px}
 .capture{flex-direction:column;margin-top:32px;max-width:none;gap:10px}
 .capture .in{outline:none;border-radius:0;height:52px;font-size:16px;flex:none}
 .capture .btn{height:52px;justify-content:center;font-size:20px;padding:0 20px}
 .fine{font-size:12px;margin-top:12px}
 h1{font-size:clamp(52px,15.9vw,62px);line-height:.97}
 .proof{font-size:15px;margin-top:28px}
 main{padding:24px 24px 24px}
}

.capture .btn{border:0;border-radius:0;cursor:pointer;justify-content:center}
.capture .btn:disabled{cursor:not-allowed}
.capture .btn:hover:not(:disabled){background:#df5a16}
.capture .btn{min-width:260px;transition:background-color .2s ease,color .2s ease}
.completion-text{display:none;position:absolute;inset:0 20px;align-items:center;pointer-events:none;font-size:18px;color:#66655c}
.completion-text span{position:relative;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.completion-text span::after{content:"";position:absolute;left:0;right:0;top:54%;height:2px;background:var(--orange);transform-origin:left;animation:cross-off .42s ease-out both}
.capture.is-complete .completion-text{display:flex}
.capture.is-complete .in{color:transparent;caret-color:var(--black)}
.capture.is-complete .btn{background:var(--black);color:var(--bone);animation:complete-button .26s ease-out both}
.capture.is-complete .btn:hover,.capture.is-complete .btn:disabled{background:var(--black);color:var(--bone);opacity:1;cursor:default}
.capture.is-complete .in{cursor:default}
.lock-note{display:none;position:absolute;inset:0;align-items:center;padding:0 20px;background:var(--bone);border:1px solid var(--black);font-size:18px;color:var(--black);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.capture.is-complete .email-field.show-note .lock-note{display:flex}
.capture.is-complete .in:focus-visible{outline:none}
@keyframes cross-off{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes complete-button{from{opacity:.65;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:600px){.lock-note{font-size:16px}.email-field{flex:none}.completion-text{font-size:16px}.capture .btn{min-width:0}}
@media (prefers-reduced-motion:reduce){.capture .btn{transition:none}.capture.is-complete .btn,.completion-text span::after{animation:none}}
.capture .in{color:var(--black)}
.capture .in::placeholder{color:#66655c}
.capture .in:focus-visible,.capture .btn:focus-visible{outline:3px solid var(--black);outline-offset:4px}
.preview-note{margin-top:10px;color:#66655c;font-size:12px;max-width:640px}
.preview-status{color:var(--black)}

/* Fit the launch essentials to the available viewport, without clipping at zoom or on short screens. */
.launch-page>main{padding-top:20px;padding-bottom:20px}
.launch-page h1{font-size:clamp(56px,min(8.06vw,11.5svh),116px)}
.launch-page .eyebrow{margin-bottom:clamp(14px,2.5svh,24px)}
.launch-page .proof{font-size:clamp(18px,2.5svh,22px);line-height:1.35;margin-top:clamp(18px,3svh,30px)}
.launch-page .capture{margin-top:clamp(22px,3.5svh,36px)}
.launch-page .capture .in,.launch-page .capture .btn{height:56px}
.launch-page .fine{margin-top:12px;line-height:1.4;max-width:1040px}
.launch-page .preview-note{margin-top:8px;min-height:1.3em;line-height:1.3}
@media (max-width:600px){
 .launch-page>main{padding-top:12px;padding-bottom:12px}
 .launch-page h1{font-size:clamp(40px,min(12vw,6.4svh),62px);line-height:.97}
 .launch-page .eyebrow{margin-bottom:12px}
 .launch-page .proof{font-size:15px;line-height:1.35;margin-top:16px}
 .launch-page .capture{margin-top:20px}
 .launch-page .capture .in,.launch-page .capture .btn{height:52px}
}

@media (max-width:600px) and (max-height:700px){
 .launch-page>main{padding-top:10px;padding-bottom:10px}
 .launch-page .eyebrow{margin-bottom:10px}
 .launch-page .proof{margin-top:14px}
 .launch-page .capture{margin-top:18px}
}
