.registration-page{max-width:1320px;margin:auto;padding:65px var(--gutter) 90px}
.signup-heading{max-width:760px;margin-bottom:45px}
.signup-heading h1{font-size:clamp(54px,6vw,88px);margin:20px 0 25px}
.lede{font-size:19px;color:var(--muted);max-width:620px}
.signup-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:60px;align-items:start}
.workshop-summary{background:var(--soft);padding:28px}
.workshop-summary h2{font-size:30px;margin-bottom:25px}
.workshop-summary dl{margin:0}
.workshop-summary dt{font-size:14px;color:var(--muted);margin-top:20px}
.workshop-summary dd{margin:5px 0 20px}
.workshop-summary p{font-size:14px;margin-top:22px}
.registration-page a{text-decoration:underline;text-underline-offset:3px}
.registration-page fieldset{border:0;padding:0;margin:0 0 36px;min-width:0}
.registration-page legend{width:100%;font:29px/1.2 var(--serif);color:var(--plum);margin-bottom:18px;padding:0 0 15px;border-bottom:1px solid var(--line)}
.registration-page legend span{font:13px/1 var(--sans);margin-right:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-grid .wide{grid-column:1/-1}
.registration-page label{display:block;font-size:15px}
.registration-page input:not([type=checkbox]){display:block;width:100%;min-width:0;background:white;color:var(--ink);border:1px solid #877b80;border-radius:0;padding:12px;font:16px/1.5 var(--sans);margin-top:8px}
.registration-page input:focus-visible{outline:2px solid var(--plum);outline-offset:3px}
.field-help{font-size:14px;color:var(--muted);margin:12px 0 20px}
.registration-page .check{display:flex;align-items:flex-start;gap:12px;margin:22px 0;line-height:1.6}
.check input{margin-top:5px;flex:0 0 20px;width:20px;height:20px;accent-color:var(--plum)}
.waiver-link-card{padding:20px;background:var(--soft);border-left:4px solid var(--plum);line-height:1.7}
.waiver-text{font-size:15px;line-height:1.7;border:1px solid var(--line);padding:25px;background:white}
.waiver-text h2{font-size:28px;margin-bottom:15px}
.waiver-text h3{font-family:var(--sans);letter-spacing:0;font-size:16px;font-weight:600;line-height:1.5;margin:24px 0 8px}
.waiver-warning{font-weight:600;color:var(--plum);border-left:4px solid var(--plum);padding-left:15px;margin:20px 0}
.waiver-page-wrap{max-width:820px}
.notice{padding:22px;background:var(--soft);border-left:4px solid var(--plum);margin-bottom:25px;overflow-wrap:anywhere}
.notice p+p{margin-top:12px}
#card-container{min-height:92px;margin:16px 0 8px;padding:14px;background:#fff;border:1px solid var(--line)}
.square-note{font-size:13px;color:var(--muted);line-height:1.55;margin:8px 0 18px}
.pay-button{min-width:240px;text-align:center}
.form-error{color:#8f1721;border:1px solid #8f1721;background:#fff4f4;padding:16px;margin:20px 0}
.registration-page button{cursor:pointer}
.registration-page button:disabled{opacity:.6;cursor:wait}
.secondary-button{background:white;border:1px solid var(--plum);color:var(--plum);padding:12px 18px;font:14px/1.5 var(--sans)}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}
#signup-success h2{font-size:46px;margin:20px 0}
.receipt-preview{margin-top:30px;font-size:14px}
.receipt-preview h2{font-size:26px!important}
.receipt-preview h3{font-size:20px;margin:20px 0 10px}
.receipt-preview dt{font-weight:600}
.receipt-preview dd{margin:0 0 12px;overflow-wrap:anywhere}
.admin-login{max-width:440px}
.admin-login .button{margin-top:20px}
.admin-toolbar{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;margin:25px 0}
.registrations-list{display:grid;gap:22px}
.registration-card{border:1px solid var(--line);padding:25px;background:white;overflow-wrap:anywhere}
.registration-card h2{font-size:30px;margin-bottom:10px}
.registration-card dl{display:grid;grid-template-columns:150px 1fr;gap:8px 18px}
.registration-card dt{color:var(--muted)}
.registration-card dd{margin:0}
.status-pill{display:inline-block;font-size:14px;background:var(--soft);padding:4px 10px;margin:5px 0 15px}
.registration-page dialog{border:1px solid var(--plum);max-width:560px;width:calc(100% - 32px);padding:30px;color:var(--ink);background:var(--paper)}
dialog::backdrop{background:#30242a99}
.registration-page dialog h2{font-size:35px;margin-bottom:20px}
@media(max-width:950px){.signup-layout{grid-template-columns:240px minmax(0,1fr);gap:30px}}
@media(max-width:760px){
 .registration-page{padding:40px 24px 60px}
 .signup-layout{grid-template-columns:1fr;gap:35px}
 .signup-heading{margin-bottom:30px}
 .workshop-summary{padding:23px}
 .form-grid{grid-template-columns:1fr}
 .waiver-text{padding:20px}
 .registration-card dl{display:block}
 .registration-card dd{margin-bottom:12px}
 .form-actions button{min-height:44px}
 .signup-heading h1{font-size:58px}
 #card-container{padding:10px}
 .pay-button{width:100%}
}
@media print{
 .signup-heading,.signup-layout>aside,#signup-form,#load-status,.site-header,.site-footer,.form-actions,.skip,#signup-success>p,#signup-success>h2,#success-payment{display:none!important}
 .registration-page{padding:0}
 .signup-layout{display:block}
 .receipt-preview{font:10pt/1.5 Arial,sans-serif}
 .receipt-preview h2,.receipt-preview h3{break-after:avoid}
 .receipt-preview p{orphans:3;widows:3}
}
