.member-portal{max-width:1120px;color:#17283d;padding-top:52px}
.portal-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.portal-heading h1{font-size:clamp(38px,6.5vw,72px);line-height:1.05;margin:14px 0 20px}
.portal-heading p{max-width:650px;font-size:20px;line-height:1.5}
.member-portal .kicker{color:#59677a}
.portal-public-link{flex-shrink:0;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:15px}
.portal-status{font-size:17px;line-height:1.55;min-height:1.5em;margin:20px 0;overflow-wrap:anywhere}
.portal-status.error{color:#8d2d22;font-weight:650}
.portal-status.success{color:#205c35;font-weight:650}
.portal-login{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,64px);border-top:1px solid #aeb9c4;padding:30px 0}
.portal-login h2{font-size:32px;margin-bottom:18px}
.portal-login p{font-size:17px;line-height:1.6;max-width:550px}
.portal-login form{padding:24px;background:#f5f3ec;border:1px solid #aeb9c4;align-self:start}
.member-portal label{display:grid;gap:7px;line-height:1.45;font-size:16px;font-weight:650;min-width:0}
.member-portal :is(input:not([type=checkbox]),textarea,select){display:block;width:100%;min-width:0;min-height:44px;border:1px solid #6c7e91;border-radius:3px;padding:10px 12px;background:#fff;color:#17283d;font:inherit}
.member-portal textarea{resize:vertical}
.member-portal :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid #ab3d29;outline-offset:3px}
.member-portal button{min-height:44px;font:inherit;cursor:pointer}
.member-portal button:disabled{opacity:.65;cursor:not-allowed}
.cinematic .member-portal .button{background:#b43927;border-color:#b43927;color:#fff}
.cinematic .member-portal .button:hover{background:#932c1c;border-color:#932c1c}
.member-portal .portal-small{font-size:14px;line-height:1.6;color:#4d5b6d;margin:14px 0}
.portal-login .button{width:100%;margin-top:16px}
#member-login-turnstile{margin-top:16px;min-height:65px}
.portal-toolbar{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:30px 0}
.portal-toolbar>label{flex:1;max-width:620px}
.portal-toolbar>div{display:flex;flex-wrap:wrap;gap:10px}
.portal-secondary{border:1px solid #6c7e91;border-radius:3px;padding:9px 14px;color:#17304a;background:#e7edf2}
.portal-cinema-heading{margin-bottom:24px;border-left:4px solid #ac3c29;padding:4px 0 4px 22px}
.portal-cinema-heading h2{font-size:clamp(28px,4.7vw,44px);line-height:1.15;margin:10px 0}
.portal-cinema-heading>p{font-size:18px;line-height:1.55;white-space:pre-wrap}
.portal-panel{min-inline-size:0;border:1px solid #aeb9c4;border-radius:3px;padding:20px 24px;margin:0 0 28px}
.portal-panel>legend,.portal-panel>h3{font-size:24px;font-weight:650;padding-inline:7px;line-height:1.3}
.portal-panel>h3{padding:0;margin:0 0 20px}
.portal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.portal-wide{grid-column:1/-1}
.member-portal .portal-check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}
.portal-check input{flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:#17304a}
.portal-hall,.portal-screening{min-inline-size:0;border:1px solid #bac4ce;border-radius:3px;padding:16px 18px 20px;margin:20px 0;background:#f7f8fa}
.portal-hall>legend,.portal-screening>legend{font-size:19px;font-weight:650;padding-inline:6px}
.portal-hall-choices{min-inline-size:0;border:0;margin:0;padding:0}
.portal-hall-choices>legend{font-size:16px;font-weight:650;margin-bottom:7px}
.portal-hall-choices>div{display:flex;flex-wrap:wrap;gap:7px}
.portal-hall-choices label{display:flex;gap:7px;align-items:center;min-height:44px;padding:7px 9px;border:1px solid #aeb9c4;border-radius:3px;background:#fff;font-weight:400}
.portal-hall-choices input{width:16px;height:16px;margin:0;accent-color:#17304a}
.portal-remove{background:transparent;border:0;color:#8d2d22;padding:8px 0;margin-top:12px;text-decoration:underline}
.portal-save{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:8px 0 34px}
.portal-save p{font-size:16px;line-height:1.5;max-width:520px}
.portal-save .button{flex-shrink:0}
.portal-notice,.portal-empty{padding:18px 22px;background:#f2e9dc;border-left:4px solid #ac3c29;line-height:1.6}
.portal-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin:0 0 24px}
.portal-photos figure{margin:0;padding:12px;border:1px solid #bac4ce;background:#f7f8fa}
.portal-photos img{width:100%;height:180px;object-fit:contain;display:block;background:#e5e9ee}
.portal-photos figcaption{font-size:13px;line-height:1.5;margin-top:8px;color:#4d5b6d;overflow-wrap:anywhere}
.portal-photos figure strong{display:block;color:#17283d}
.member-portal [data-portal-photo-form]>.portal-secondary{margin-top:20px}
@media(max-width:760px){.portal-heading{display:block}.portal-public-link{display:inline-block;margin-top:5px}.portal-login{grid-template-columns:minmax(0,1fr);gap:20px}.portal-toolbar{align-items:stretch;flex-direction:column}.portal-toolbar>label{max-width:none}.portal-heading p{font-size:18px}.portal-panel{padding:16px}.portal-cinema-heading{padding-left:16px}.portal-save{align-items:stretch;flex-direction:column;gap:12px}.portal-save .button{width:100%}}
@media(max-width:560px){.portal-fields{grid-template-columns:minmax(0,1fr);gap:16px}.portal-heading h1{font-size:40px}.portal-login form{padding:18px}.portal-hall,.portal-screening{padding:13px}.portal-panel>legend,.portal-panel>h3{font-size:21px}}
