:root{--paper:#FAF7F0;--ink:#1D1A14;--soft:#55503F;--line:#E7E1D2;--blue:#3B5BF6;--disp:'Bricolage Grotesque',sans-serif;--body:'Inter',sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}nav{border-bottom:2px solid var(--ink)}.nav-in{max-width:1120px;margin:auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:800 1.35rem var(--disp);text-decoration:none}.brand img{width:34px;height:34px}.back{color:var(--soft);text-underline-offset:4px;font-size:.9rem}main{min-height:calc(100svh - 180px);display:grid;place-items:center;padding:60px 24px}.card{width:100%;max-width:590px;background:white;border:2px solid var(--ink);border-radius:22px;padding:40px}.eyebrow{font-size:.8rem;font-weight:600;color:var(--blue);margin:0 0 12px}.mark{width:52px;height:52px;margin-bottom:18px}h1{font:800 clamp(2rem,6vw,2.65rem)/1.1 var(--disp);letter-spacing:-.02em;margin:0 0 16px}.lead{color:var(--soft);max-width:45ch;margin:0 0 26px}label{display:block;font-weight:600;margin:0 0 8px}input{font:inherit;width:100%;border:2px solid var(--ink);border-radius:12px;padding:13px 16px;color:var(--ink);background:var(--paper)}.action{display:flex;justify-content:center;align-items:center;gap:10px;position:relative;margin-top:20px;min-height:56px;width:100%;border:0;background:transparent;color:white;text-decoration:none;cursor:pointer;font:700 1rem var(--disp);padding:14px 22px;isolation:isolate}.action::before{pointer-events:none;content:'';position:absolute;inset:0;z-index:-1;background:var(--blue);border:2px solid var(--ink);border-radius:13px;box-shadow:4px 4px 0 var(--ink);transition:transform .16s,box-shadow .16s}.action svg{width:20px;height:20px}.action:disabled{cursor:wait;color:#eee}.action:disabled::before{background:#6378dd}@media(hover:hover){.action:not(:disabled):hover::before{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}}.action:not(:disabled):active::before{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}:is(a,button,input):focus{outline:none}.keyboard-nav :is(a,button,input):focus{outline:3px solid var(--blue);outline-offset:5px}.small{font-size:.8rem;color:var(--soft);margin:20px 0 0}.small a,.secondary{color:var(--blue);text-underline-offset:3px}.secondary{border:0;background:none;padding:0;font:inherit;cursor:pointer}.details{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.8rem;color:var(--soft);padding:18px 0 0;margin-top:26px;border-top:1px solid var(--line)}.details span{white-space:nowrap}#status{font-size:.9rem;margin:14px 0 0;overflow-wrap:anywhere}#status.error{color:#a52a21}[hidden]{display:none!important}footer{padding:24px;text-align:center;color:var(--soft);font-size:.8rem}footer a{color:inherit}.download-mark{width:60px;height:60px;border:2px solid var(--ink);border-radius:16px;display:grid;place-items:center;background:#E4EBFF;margin-bottom:24px}.download-mark svg{width:28px;height:28px}ol{padding-left:22px;color:var(--soft)}li{padding:5px 0}@media(max-width:520px){main{padding:32px 16px}.card{padding:28px 22px}.nav-in{padding:16px 22px}.back{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.action::before{transition:none}}

#lead:empty{display:none}.signup-details{display:block;text-align:center}.signup-details span{display:block;white-space:normal}

/* Native button paint keeps text stable in Safari during press/loading states.
   The hitbox never moves, including at its right-hand edge. */
.trial-signup .action{appearance:none;-webkit-appearance:none;background:var(--blue);border:2px solid var(--ink);border-radius:13px;box-shadow:4px 4px 0 var(--ink);color:#fff;-webkit-text-fill-color:currentColor;opacity:1;transform:none;transition:background-color .16s,box-shadow .16s}
.trial-signup .action::before{display:none}
@media(hover:hover){.trial-signup .action:not(:disabled):hover{background:#304de0;box-shadow:6px 6px 0 var(--ink)}}
.trial-signup .action:not(:disabled):active{background:#304de0;box-shadow:1px 1px 0 var(--ink)}
.trial-signup .action:disabled{background:var(--blue);color:#fff;opacity:1;box-shadow:4px 4px 0 var(--ink);cursor:wait}
@media(prefers-reduced-motion:reduce){.trial-signup .action{transition:none}}
.download-page{width:100%;max-width:590px;text-align:center;padding:30px 0}.download-page .download-app-icon{display:block;width:100px;height:100px;margin:0 auto 32px}.download-page .lead{margin:0 auto 32px}.download-page .action{max-width:480px;margin:0 auto}.download-page .download-requirements{margin-top:26px}
