/* Existing Bright NOIR palette and V5 editorial type conventions. */
:root{color-scheme:light;--paper:#fcfbf8;--ink:#181816;--muted:#5c5a53;--line:#dcdad3}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}a,button,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:max(24px,env(safe-area-inset-top)) max(40px,env(safe-area-inset-right)) 24px max(40px,env(safe-area-inset-left));}
header a{display:inline-flex;align-items:center;min-height:44px;font-size:10px;letter-spacing:1.6px;gap:10px}
header .brand{font-size:26px;font-weight:700;letter-spacing:-1.5px}
main{max-width:1440px;margin:auto;min-height:calc(100svh - 92px);padding:72px 8% max(72px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(48px,7vw,112px)}
.eyebrow,legend{font-size:10px;letter-spacing:2px;font-weight:400}
h1{font-size:clamp(48px,5.5vw,84px);font-weight:500;letter-spacing:-.055em;line-height:1;max-width:620px;margin:24px 0;text-wrap:balance}
.description{max-width:440px;font-size:16px;line-height:1.6;color:var(--muted)}
.facts{list-style:none;padding:24px 0 0;margin:36px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px 24px;font-size:12px;color:var(--muted)}
.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;min-width:0}
fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;margin-bottom:20px}
.choices{display:grid;gap:8px;min-height:280px}
.choice{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.choice:has(input:checked){border-color:var(--ink);background:#f4f3ee}
.choice input{accent-color:var(--ink);width:18px;height:18px;margin:0;flex-shrink:0}
.choice strong{display:block;font-size:15px;font-weight:500}.choice small{display:block;margin-top:5px;font-size:9px;letter-spacing:1px;line-height:1.4;color:var(--muted)}
.summary{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
h2{font-size:20px;font-weight:500;letter-spacing:-.5px;margin:0 0 12px}.summary p{font-size:13px;color:var(--muted);margin:8px 0}.summary span{padding:0 6px}
button{width:100%;min-height:56px;border:1px solid var(--ink);border-radius:10px;background:var(--ink);color:#fff;font:inherit;font-size:11px;letter-spacing:2px;margin-top:24px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}
button:disabled{background:#eeece7;color:#76736a;border-color:var(--line);cursor:not-allowed}
#handoff{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0 0}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.choice:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
@media(hover:hover){header a:hover{text-decoration:underline;text-underline-offset:5px}.choice:hover{border-color:var(--ink)}button:not(:disabled):hover{background:#363630}}
@media(max-width:850px){main{grid-template-columns:1fr;max-width:620px;gap:32px;padding:36px 24px max(40px,env(safe-area-inset-bottom))}.facts{display:none}h1{font-size:clamp(44px,8vw,64px);margin:20px 0}.description{margin-bottom:0}.panel{padding:24px}header{padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right))}header .brand{font-size:23px}header #return{font-size:9px;letter-spacing:1px}}
@media(max-width:400px){header{gap:12px}header .brand{font-size:21px}header #return{font-size:8px}.panel{padding:20px}}
