.registration-page{max-width:960px;margin:0 auto 100px}
.registration-prose{max-width:780px;margin:0 auto 65px;text-align:center}
.registration-prose p{font-size:17px;line-height:1.85;color:#aaa;margin:0 0 18px}.registration-prose .circle-link{margin-top:8px;color:#ccc}
.registration-form{border-top:1px solid #ffffff26;padding-top:48px}
.registration-form fieldset{min-width:0;border:0;padding:0;margin:0}
.registration-form .registration-group{padding-bottom:44px;margin-bottom:44px;border-bottom:1px solid #ffffff26}
.registration-group>legend{font:400 clamp(27px,3vw,38px)/1.2 'Times New Roman',Georgia,serif;letter-spacing:-.025em;margin-bottom:30px;padding:0;color:#eee}
.registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 30px}
.registration-field{display:flex;flex-direction:column;gap:10px;font-size:14px;color:#d5d5d5;min-width:0}.registration-field small,.registration-choices small{font-size:12px;font-weight:400;color:#999}.registration-wide{grid-column:1/-1}
.registration-field input,.registration-field select{width:100%;min-width:0;min-height:52px;border:1px solid #555;border-radius:3px;padding:13px 14px;background:#080808;color:#fff;color-scheme:dark;font:400 16px/1.45 Arial,Helvetica,sans-serif}
.registration-field input:focus-visible,.registration-field select:focus-visible{outline:1px solid #fff;outline-offset:3px}.registration-field select option{background:#111;color:#fff}
.registration-note{font-size:13px;line-height:1.8;color:#999;margin-top:18px!important}.registration-note:empty{display:none}
.registration-form .registration-choices{margin-bottom:30px}.registration-choices legend{font-size:15px;line-height:1.6;margin-bottom:14px;color:#ccc}.registration-choices>div{display:flex;flex-wrap:wrap;gap:14px 30px}
.registration-choices label,.registration-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.7;font-size:14px;color:#ddd}
.registration-choices input,.registration-consent input{width:19px;height:19px;flex:none;margin:3px 0 0;accent-color:#aaa;color-scheme:dark}
.registration-consent a{color:inherit;text-decoration:underline;text-underline-offset:3px}.registration-consent{margin-top:35px}
.registration-submit{display:flex;justify-content:center}.registration-submit button{min-height:52px;gap:32px}.registration-submit button:disabled{opacity:.45;cursor:default}
.registration-status{font-size:15px;line-height:1.8;text-align:center;color:#ccc;margin-top:25px}.registration-status:empty{display:none}.registration-status[data-error=true]{color:#efb9ac}
.registration-direct{font-size:14px;text-align:center;line-height:1.6;margin-top:22px;overflow-wrap:anywhere;color:#aaa}.registration-direct a{text-decoration:underline;text-underline-offset:4px}
.registration-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){.registration-page{margin-bottom:50px}.registration-prose{margin-bottom:45px}.registration-prose p{font-size:16px}.registration-form{padding-top:35px}.registration-grid{grid-template-columns:1fr;gap:22px}.registration-form .registration-group{margin-bottom:35px;padding-bottom:35px}.registration-group>legend{font-size:29px}.registration-submit button{width:100%}.registration-choices>div{gap:16px 22px}}
@media(forced-colors:active){.registration-field input,.registration-field select{background:Canvas;color:CanvasText;border-color:CanvasText}}
/* White editorial column, black form column. The surfaces provide the separation. */
body:has(.registration-main){padding-top:0}
.registration-main{background:#050505;isolation:isolate}
.registration-page{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:0;max-width:none;margin:0;padding:calc(var(--festival-header-stack,155px) + 65px) 0 105px}
.registration-paper{position:absolute;inset:0 50% 0 0;z-index:-1;background:#fff;clip-path:polygon(0 0,100% 4.3vw,100% 100%,0 calc(100% - 4.3vw))}
.registration-opening,.registration-prose{padding-inline:clamp(28px,4.5vw,80px);color:#050505;min-width:0;text-align:center;max-width:none;margin:0}
.registration-opening{grid-column:1;grid-row:1;padding-bottom:35px}
.registration-opening h1{font:400 clamp(34px,3.8vw,60px)/1.12 Arial,Helvetica,sans-serif;letter-spacing:-.04em;max-width:660px;margin:0 auto 30px;text-wrap:balance;overflow-wrap:anywhere}
.registration-intro{font-size:clamp(17px,1.4vw,21px);line-height:1.8;color:#454545;max-width:620px;margin:auto;text-wrap:pretty}
.registration-prose{grid-column:1;grid-row:2;align-self:start}
.registration-prose p{font-size:16px;color:#555;line-height:1.8;max-width:620px;margin:0 auto 22px}
.registration-association{display:inline-block;color:#333;font-size:14px;line-height:1.6;text-decoration:underline;text-underline-offset:4px;max-width:100%;overflow-wrap:anywhere}
.registration-person{margin:50px auto 0;padding:35px 25px;background:#f1f1ef;max-width:550px;text-align:center}
.registration-person h2{font:400 29px/1.2 Arial,Helvetica,sans-serif;margin:28px 0 8px}.registration-person .registration-role{font-size:14px;margin-bottom:22px}.registration-person>a[href^="tel:"]{display:block;font-size:18px;color:#111;margin-bottom:26px}
.registration-contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:48px;padding:12px 23px;border:1px solid #666;font-size:14px;color:#050505;transition:background .2s}.registration-contact-button:hover{background:#fff}
.registration-form{grid-column:2;grid-row:1/span 2;border:0;padding:0 clamp(28px,4.5vw,80px);margin:0;min-width:0;align-self:start}
.registration-form .registration-group>legend{font-family:Arial,Helvetica,sans-serif;font-size:clamp(25px,2.4vw,34px)}
.registration-grid{gap:24px 22px}
@media(max-width:1100px){.registration-grid{grid-template-columns:1fr}.registration-opening,.registration-prose{padding-inline:30px}.registration-form{padding-inline:30px}}
@media(max-width:760px){
 .registration-page{display:block;padding:calc(var(--festival-header-stack,130px) + 45px) 0 65px;background:#050505}
 .registration-paper{inset:0 50% auto 0;height:calc(var(--festival-header-stack,130px) + 50px);clip-path:polygon(0 0,100% 30px,100% 100%,0 calc(100% - 30px))}
 .registration-opening,.registration-prose{background:#fff;padding-inline:25px}
 .registration-opening{padding-block:45px 32px;clip-path:polygon(0 0,100% 30px,100% 100%,0 100%);margin-top:-30px}
 .registration-prose{padding-bottom:100px;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),0 100%)}
 .registration-opening h1{font-size:clamp(35px,8.2vw,55px)}
 .registration-form{padding:55px 25px 0;background:#050505;margin-top:-1px}.registration-person{margin-top:35px;padding-inline:22px}
}
