.registration-page{grid-column:1/-1;padding:20px 0 88px;letter-spacing:0}
.registration-heading{display:flex;align-items:center;gap:32px;max-width:1080px;margin:0 0 48px}
.registration-heading img{width:150px;height:150px;object-fit:contain;flex:none}
.registration-heading h1{font-size:52px;line-height:1.08;font-weight:700;margin:0 0 20px}
.registration-heading p{font-size:23px;line-height:1.45;max-width:820px;margin:0}
.registration-layout{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.registration-event{border-top:4px solid #00d1ff;padding-top:28px}
.registration-event dt{font-family:'Necto Mono',monospace;font-size:15px;margin-bottom:10px}
.registration-event dd{font-size:26px;line-height:1.3;font-weight:700;margin:0 0 28px;max-width:360px}
.registration-event p{font-size:19px;line-height:1.5;margin-bottom:28px;max-width:380px}
.registration-event a,.registration-privacy a,.registration-success a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.registration-event a{font-size:18px}
.registration-form-section{border-top:4px solid #000;padding-top:28px}
.registration-form-section h2{font-size:32px;font-weight:700;line-height:1.15;margin:0 0 28px}
.registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.registration-fields label{display:flex;flex-direction:column;gap:9px;font-size:18px;font-weight:700}
.registration-fields input{min-width:0;width:100%;border:1px solid #555;border-radius:4px;padding:12px 14px;font:400 20px 'HK Grotesk',sans-serif;background:#fff;color:#000}
.registration-wide{grid-column:1/-1}
.registration-form-section fieldset{padding:0;border:0;margin:26px 0}
.registration-form-section legend{font-size:18px;font-weight:700;margin-bottom:12px}
.attendance-options{display:flex;gap:24px;flex-wrap:wrap}
.attendance-options label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:19px;cursor:pointer}
.attendance-options input,.registration-consent input{width:22px;height:22px;flex:none;accent-color:#006176;appearance:auto}
.registration-consent{display:flex;align-items:flex-start;gap:14px;font-size:18px;line-height:1.45;margin:20px 0;cursor:pointer}
.registration-consent input{margin-top:3px}
.registration-privacy{font-size:16px;line-height:1.5;color:#333;margin:24px 0}
.registration-form-section input:focus-visible{outline:3px solid #006176;outline-offset:3px}
.registration-form-section .btn{font-size:22px;line-height:1.2;border-radius:4px;padding:18px 36px;min-height:60px;background:#000;color:#fff;font-weight:700}
.registration-form-section .btn:hover{background:#006176}
.registration-form-section .btn:disabled{opacity:.6;cursor:wait}
.registration-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.registration-success{background:#adffed;padding:30px;border-radius:4px}
.registration-success h3{font-size:28px;font-weight:700;margin:0 0 16px}
.registration-success p{font-size:21px;line-height:1.5;margin:0 0 20px}
#registration-error{font-size:18px;line-height:1.4;color:#a31515;margin:20px 0}
.registration-page [hidden]{display:none!important}
@media(max-width:1023px){.registration-layout{gap:32px}.registration-heading h1{font-size:42px}.registration-fields{grid-template-columns:1fr}}
@media(max-width:767px){.registration-page{padding-bottom:56px}.registration-heading{align-items:flex-start;gap:20px;flex-direction:column;margin-bottom:32px}.registration-heading img{width:100px;height:100px}.registration-heading h1{font-size:36px}.registration-heading p{font-size:21px}.registration-layout{grid-template-columns:1fr;gap:36px}.registration-event dd,.registration-event p{max-width:none}.registration-form-section h2{font-size:28px}.registration-form-section .btn{width:100%}}
