header,main,footer{max-width:1120px;margin:auto;padding-left:24px;padding-right:24px}
header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font:500 40px var(--display);letter-spacing:-2px;text-decoration:none}
.header-note{font-size:12px;color:var(--muted)}
.skip-link{position:absolute;left:24px;top:-80px;background:var(--panel);padding:12px;z-index:5}.skip-link:focus{top:8px}
main{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;padding-top:32px;padding-bottom:72px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--deep-soft);margin:0 0 24px}
h1{font:500 clamp(40px,4.5vw,58px)/1.08 var(--display);letter-spacing:-1.8px;margin:0 0 24px;color:var(--deep-soft)}
.lead{font-size:17px;max-width:430px;color:var(--muted)}
.form-panel h1,h2{font:500 32px/1.15 var(--display);margin:0 0 16px}h3{font-size:15px}
.steps{padding:0;margin:40px 0 30px;list-style:none}.steps li{display:flex;gap:18px;margin:24px 0}.steps li>span{font-size:12px;color:var(--deep-soft);padding-top:3px}.steps strong{font-size:15px}.steps p{font-size:14px;color:var(--muted);margin:5px 0 0;max-width:340px}
.availability,.fine{font-size:12px;color:var(--muted);line-height:1.6}
.form-panel{background:var(--panel);border:1px solid var(--line);padding:32px;align-self:start;border-radius:var(--radius-m);min-width:0}
.form-panel .eyebrow{margin-bottom:16px}.form-intro{font-size:14px;color:var(--muted);margin-bottom:24px}
form>label{display:block;font-size:13px;font-weight:600;margin:20px 0 8px}
input,select{width:100%;min-height:46px;background:var(--panel)}
.consent{display:flex!important;gap:10px;align-items:start;font-weight:400!important;font-size:12px!important;line-height:1.6;cursor:pointer}.consent input{width:18px;height:18px;min-height:18px;flex:none;margin:2px 0 0}
.form-panel .btn-primary{width:100%;justify-content:center;margin-top:16px}
.error{color:var(--alert);background:var(--alert-bg);padding:12px;font-size:14px}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.next-step{border-top:1px solid var(--line);margin-top:28px;padding-top:10px}.next-step p{font-size:14px}
.receipt{border-top:1px solid var(--line);margin-top:28px;padding-top:12px}.receipt p,.manage{font-size:12px;color:var(--muted)}
.text-button{border:0;background:none;padding:8px 0;color:var(--accent);text-decoration:underline;cursor:pointer;min-height:44px}
.manage{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.manage summary{cursor:pointer;min-height:44px;display:list-item;align-content:center}.manage input{font-family:monospace;margin:8px 0 12px}.manage .btn{width:100%}
footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:90px;color:var(--muted);font-size:12px}footer>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
[hidden]{display:none!important}button:disabled{opacity:.65;cursor:wait}
body[data-complete] .intro{display:none}body[data-complete] main{display:block;max-width:680px}
@media(max-width:760px){header{min-height:80px}.brand{font-size:34px}main{grid-template-columns:1fr;gap:32px;padding-top:8px;padding-bottom:40px}.form-panel{grid-row:1;padding:24px}.intro{grid-row:2}.intro h1{font-size:36px}.steps{margin:24px 0}.lead{max-width:none}.availability{margin-bottom:0}footer{align-items:start;padding-top:20px;padding-bottom:20px}footer>div{gap:8px;flex-direction:column;align-items:end}}
@media(max-width:390px){header,main,footer{padding-left:18px;padding-right:18px}.form-panel{padding:20px}h2{font-size:29px}}
.next-step h2,.receipt h2{font:600 15px/1.5 var(--font);letter-spacing:normal;margin:14px 0}
