/* Signup section mock — r1 (Option A). PROVISIONAL. Site chrome rules below are copied from the live styles.css (sha 67c45f22…) so the frame looks native; the .su-* rules are the proposed signup component. */
@font-face{font-family:Inter;src:url('../assets/InterVariable.ttf') format('truetype');font-weight:100 900;font-display:block}
:root{--ink:#17191D;--paper:#F5F4F0;--cobalt:#465BFA;--white:#fff;--muted:#606773;--line:#D9DBE1;--control:#838994;--subtle:#EEEDE8;--err:#A12A35;--err-bg:#FDECEE;--ph:#6F7682;--focus:#465BFA;--font:Inter,Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11"}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}
.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.container{max-width:1256px;padding-inline:28px;margin-inline:auto}
/* live header/footer */
.nav-shell{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;width:180px;flex-shrink:0}
.desktop-nav{display:flex;align-items:center;gap:38px;margin-left:28px}.desktop-nav a{font-size:14px;line-height:1.4;color:#343841}
.private-label{font-size:12px;display:flex;align-items:center;gap:9px;color:var(--muted)}.label-dot{width:6px;height:6px;background:var(--muted);border-radius:50%}
.menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);background:transparent;border-radius:8px;padding:11px}.menu-toggle span{height:1.5px;background:var(--ink);display:block;margin:5px 0}
.site-footer{border-top:1px solid var(--line)}.footer-inner{min-height:114px;display:flex;align-items:center;gap:35px;justify-content:space-between}.footer-brand{width:140px}.footer-inner p{font-size:10px;color:var(--muted);display:flex;gap:20px;margin:0}.back-top{font-size:11px;display:flex;align-items:center;gap:10px;color:var(--muted)}.back-top .icon{width:16px;height:16px;transform:rotate(-90deg)}
.eyebrow{margin:0 0 24px;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.19em;text-transform:uppercase;color:#525b6b}
/* review band (remove in production) */
.rv{background:var(--ink);color:#fff;font-size:11.5px;line-height:1.5;padding:10px 24px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.rv b{font-weight:650;letter-spacing:.01em}.rv .sep{opacity:.45}.rv .st{margin-left:auto;font-weight:600}
.slot{display:inline-block;vertical-align:middle;border:1px dashed var(--control);color:var(--muted);border-radius:6px;font-size:10px;font-weight:550;letter-spacing:.02em;line-height:1.3;padding:2px 6px;margin-left:8px;text-transform:none;white-space:nowrap}
/* ===== signup section ===== */
.su{padding-top:88px;padding-bottom:120px}
.su h1{font-size:52px;line-height:1.06;letter-spacing:-.055em;font-weight:570;margin:0}
.su-sub{font-size:20px;line-height:1.5;letter-spacing:-.025em;color:var(--muted);margin:20px 0 0}
.su-copy p{font-size:16px;line-height:1.7;color:var(--muted);margin:16px 0 0}
.su-copy p:first-child{margin-top:28px}
/* option A */
.optA .su-grid{display:grid;grid-template-columns:minmax(0,1fr) 576px;gap:80px;align-items:start}
.optA .su-pitch{padding-top:28px;max-width:540px}
.optA .su-copy p{max-width:470px}
/* card */
.su-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 12px 40px -25px #17191d30}
.su-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
.su-f.full{grid-column:1/-1}
.su-f label{display:block;font-size:14px;line-height:20px;font-weight:550;letter-spacing:-.005em;margin-bottom:8px}
.su-in{display:block;width:100%;height:48px;border:1px solid var(--control);border-radius:10px;background:var(--white);font:inherit;font-size:16px;line-height:24px;color:var(--ink);padding:0 14px;outline:none;transition:border-color .12s,box-shadow .12s}
textarea.su-in{height:104px;padding:12px 14px;resize:vertical}
.su-in::placeholder{color:var(--ph);opacity:1}
.su-in:focus{border-color:var(--focus);box-shadow:0 0 0 2px var(--white),0 0 0 5px var(--focus)}
.su-f.invalid .su-in{border:2px solid var(--err);padding-left:13px}
.su-f.invalid textarea.su-in{padding:11px 13px}
.su-f.invalid .su-in:focus{box-shadow:0 0 0 2px var(--white),0 0 0 5px var(--focus)}
.su-help{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 0}
.su-err{display:flex;gap:6px;align-items:flex-start;font-size:13px;line-height:1.5;font-weight:550;color:var(--err);margin:8px 0 0}
.su-err .icon{width:16px;height:16px;margin-top:2px;stroke-width:2}
.locked .su-in{background:var(--paper);border-color:#B9BDC5;color:var(--muted)}
.su-notice{font-size:13px;line-height:1.55;color:var(--muted);margin:28px 0 16px}.su-notice2{font-size:12px;line-height:1.5;color:var(--muted);margin:-10px 0 16px}
.su-notice .slot{margin-left:4px}.su-notice a{white-space:nowrap;color:var(--ink);font-weight:550;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.btn{min-height:52px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 24px;font:inherit;font-size:15px;font-weight:550;line-height:1.4;border-radius:10px;color:#fff;background:var(--cobalt);box-shadow:0 3px 6px #465bfa13;cursor:pointer}
.btn .icon{width:18px;height:18px}
.btn{min-width:236px}.btn[aria-disabled=true]{cursor:default}
.spin{width:18px;height:18px;border-radius:50%;border:2px solid #ffffff59;border-top-color:#fff;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none;border-top-color:#ffffff59;border-right-color:#fff}*{transition:none!important}}
.alert{border-radius:10px;background:var(--err-bg);padding:16px 18px;margin:0 0 28px;display:flex;gap:12px;color:var(--ink);outline:none}
.alert:focus{box-shadow:0 0 0 2px var(--white),0 0 0 5px var(--focus)}
.alert .icon{color:var(--err);width:20px;height:20px;margin-top:1px;stroke-width:1.8}
.alert h3{font-size:15px;line-height:1.45;font-weight:620;margin:0 0 6px;color:var(--err)}
.alert p{margin:0;font-size:14px;line-height:1.5}
.alert ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.alert li a{font-size:14px;line-height:1.5;color:var(--err);font-weight:550;text-decoration:underline;text-underline-offset:3px}
.done{padding:16px 0 8px;outline:none}
.done .tile{width:48px;height:48px;border-radius:12px;background:var(--subtle);display:grid;place-items:center;margin-bottom:24px}
.done .tile .icon{width:24px;height:24px;stroke-width:1.9;color:var(--ink)}
.done h3{font-size:30px;line-height:1.15;letter-spacing:-.04em;font-weight:600;margin:0;border-radius:6px}
.done h3:focus{outline:3px solid var(--focus);outline-offset:4px}
.done p{font-size:16px;line-height:1.6;color:var(--muted);margin:12px 0 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.focus-note{display:inline-block;margin-top:20px}
/* ===== mobile (live site breakpoints 760 / 480) ===== */
@media(max-width:760px){.container{padding-inline:20px}.nav-shell{min-height:80px}.brand{width:149px}.desktop-nav{display:none}.private-label{margin-left:auto;font-size:10px}.menu-toggle{display:block}
 .footer-inner{flex-wrap:wrap;padding-top:28px;padding-bottom:28px;gap:20px}.footer-brand{width:125px}.footer-inner p{order:3;width:100%;justify-content:space-between;font-size:9px}
 .rv{padding:10px 16px;font-size:11px;gap:2px 10px}.rv .st{margin-left:0;width:100%}.rv .sep{display:none}.rv b{width:100%}
 .su{padding-top:56px;padding-bottom:72px}.su h1{font-size:38px;letter-spacing:-.05em}.su-sub{font-size:17px;margin-top:16px}.su-copy p{font-size:15px;line-height:1.65}.su-copy p:first-child{margin-top:20px}
 .optA .su-grid{display:block}.optA .su-pitch{padding-top:0}.optA .su-card{margin-top:36px}
 .su-card{padding:20px;border-radius:14px}.su-fields{grid-template-columns:1fr;gap:20px}

 .btn{width:100%;min-height:52px}
 .done h3{font-size:26px}.alert{padding:14px 16px}
 .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:18px}
}
@media(max-width:480px){.container{padding-inline:16px}.nav-shell{gap:12px;min-height:76px}.brand{width:135px}.private-label{font-size:8px;gap:6px}.label-dot{width:4px;height:4px}.menu-toggle{width:34px;height:34px;padding:8px}}

.ptag{display:inline-flex;align-items:center;vertical-align:3px;border:1px solid var(--line);padding:3px 7px;border-radius:5px;font-size:11px;letter-spacing:.02em;color:var(--muted);font-weight:550;line-height:1.3;background:var(--white)}
.su-notice{margin:28px 0 16px}
.su-sub .slot{margin-left:6px}
/* WEB-001 preview fix (a): stack pitch above card at the existing 1080 breakpoint (was 760: at 768 px the pitch column got 56 px). */
@media(max-width:1080px){.optA .su-grid{display:block}.optA .su-pitch{padding-top:0}.optA .su-card{margin-top:36px}}
/* WEB-001 preview fix (b), ENG-002 B4: visible keyboard focus for the submit button and the Privacy Notice link.
   Live-site pattern (spec §4): 3 px Cobalt outline, offset 5. On the button the offset band is filled white so the ring never sits on Cobalt. */
.btn:focus-visible{outline:3px solid var(--focus);outline-offset:5px;box-shadow:0 0 0 5px var(--white)}
.su-notice a:focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:2px}
/* WEB-001 button fix (Mike, 11:56 AM ET): visible feedback. Hover values are the live homepage .button-primary:hover (styles.css); no new colours. */
.btn{transition:background .16s,transform .16s,box-shadow .16s}
.btn:not(:disabled):hover{background:#3548e0;box-shadow:0 5px 14px #465bfa25;transform:translateY(-1px)}
.btn:not(:disabled):active{background:#3548e0;box-shadow:0 3px 6px #465bfa13;transform:translateY(0)}
.btn:disabled{cursor:default;opacity:.55}
form[aria-busy=true] .btn:disabled{opacity:1;cursor:progress}
