/* Shared HRLN form system. Modals are siblings of page sections: tokens must not depend on .fow-page ancestry. */
:root{--fow-navy:#071a37;--fow-blue:#123e75;--fow-red:#c20d42;--fow-ice:#eef3f8;--fow-gold:#c5a46d}
.modal-backdrop,.fow-modal-backdrop{padding:24px;background:rgba(3,12,28,.76);z-index:10000;overscroll-behavior:contain}
.modal-backdrop .modal,.fow-modal-backdrop .fow-modal{box-sizing:border-box;background:#f7f4ef;color:#091d3a;border:1px solid #dbe2eb;border-top:5px solid #b1123b;border-radius:10px;box-shadow:0 24px 90px #0005;width:min(760px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);padding:62px 44px 38px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;font-family:var(--font-sans,"DM Sans"),sans-serif}
.modal-backdrop .registration-modal{width:min(940px,100%)}
.modal-backdrop .modal h2,.fow-modal-backdrop .fow-modal h2{font-family:var(--font-serif,"Instrument Serif"),serif;font-size:clamp(34px,4vw,48px);line-height:1.08;letter-spacing:-.025em;font-weight:400;color:#091d3a;margin:14px 0 22px;max-width:620px}
.modal .form-content>p,.modal>p,.fow-modal .form-content>p,.fow-modal>p{font-size:15px;line-height:1.65;color:#44556d;margin:0 0 18px}
.modal .section-tag,.fow-modal .form-content>p:first-child,.fow-modal>p:first-of-type{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.15em;text-transform:uppercase;color:#9e1034}
.modal-backdrop .modal-close,.fow-modal-backdrop .fow-modal-close{position:absolute;right:20px;top:14px;min-height:36px;padding:7px 12px;border:1px solid #ccd5e0;border-radius:5px;background:#fff;color:#243d5b;font:600 13px var(--font-sans,"DM Sans"),sans-serif;line-height:1.4;z-index:2}
.modal .form-content a,.modal .success a,.fow-modal .form-content a{color:#9e1034;text-decoration:underline;text-underline-offset:3px}
.fow-modal form,.modal .form-grid,.modal .interest-grid,.fow-form-grid,.hrln-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.fow-modal form{margin-top:28px}
.modal .registration-form{margin-top:30px!important}
.modal .registration-form fieldset{min-width:0;padding:24px 0 8px;margin:0 0 24px;border-color:#ccd5e0}
.modal .registration-form legend{font-size:12px;letter-spacing:.08em;line-height:1.6;color:#9e1034;max-width:100%;white-space:normal}
.modal label,.fow-modal label,.card-controls label,.fow-registration label,.fow-ticket-update label,.hrln-portal label{min-width:0;font:600 13px/1.55 var(--font-sans,"DM Sans"),sans-serif;color:#243d5b;letter-spacing:0;text-transform:none}
.modal input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.modal select,.modal textarea,
.fow-modal input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.fow-modal select,.fow-modal textarea,
.card-controls input:not([type=checkbox]):not([type=hidden]),.card-controls select,
.fow-registration input:not([type=checkbox]):not([type=hidden]),.fow-registration select,
.fow-ticket-update input:not([type=hidden]),.fow-ticket-update textarea,
.hrln-portal input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),.hrln-portal select,.hrln-portal textarea{
 display:block;width:100%;min-width:0;min-height:48px;padding:12px 14px;margin:8px 0 0;box-sizing:border-box;border:1px solid #aebccb;border-radius:5px;background:#fff;color:#091d3a;font:400 16px/1.5 var(--font-sans,"DM Sans"),sans-serif;letter-spacing:0;text-transform:none;box-shadow:none;opacity:1}
.modal textarea,.fow-modal textarea,.hrln-portal textarea,.fow-ticket-update textarea{resize:vertical;min-height:110px}
.modal input::placeholder,.fow-modal input::placeholder,.modal textarea::placeholder,.fow-modal textarea::placeholder{color:#62728a;opacity:1}
.modal :is(input,select,textarea):focus,.fow-modal :is(input,select,textarea):focus,.card-controls :is(input,select):focus,.fow-registration :is(input,select):focus,.hrln-portal :is(input,select,textarea):focus,.fow-ticket-update :is(input,textarea):focus{outline:2px solid #315f9a;outline-offset:2px;border-color:#315f9a;box-shadow:0 0 0 4px #315f9a12}
.modal .check,.modal .consent,.fow-modal .consent,.card-controls .card-declaration,.fow-registration .fow-consent,.hrln-portal .hrln-check{display:flex;align-items:flex-start;gap:12px;color:#31445e;font-size:14px;font-weight:400;line-height:1.65;letter-spacing:0;text-transform:none}
.modal input[type=checkbox],.fow-modal input[type=checkbox],.card-controls input[type=checkbox],.fow-registration input[type=checkbox],.hrln-portal input[type=checkbox]{appearance:auto;width:18px!important;height:18px;min-height:18px;flex:0 0 18px;margin:3px 0 0!important;padding:0;accent-color:#b1123b}
.modal .declarations{gap:18px}
.modal .button.primary,.modal .submit-registration,.fow-modal form>button,.fow-modal .fow-success button,.card-controls .card-submit,.fow-registration .fow-action,.fow-ticket-update .fow-action,.hrln-portal button,.hrln-portal input[type=submit]{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:50px;padding:14px 22px;border:1px solid #b1123b;border-radius:5px;background:#b1123b;color:#fff;font:600 15px/1.5 var(--font-sans,"DM Sans"),sans-serif;letter-spacing:0;text-transform:none;text-align:center;white-space:normal}
.fow-modal form>button{grid-column:1/-1}
.modal button:hover,.fow-modal button:hover,.card-submit:hover{filter:brightness(.95)}
.modal button:disabled,.fow-modal button:disabled,.card-submit:disabled{opacity:.65;cursor:wait}
.modal :focus-visible,.fow-modal :focus-visible,.newsletter :focus-visible{outline:2px solid #315f9a;outline-offset:3px}
.modal .form-success,.fow-modal .form-success{padding:18px 0 10px;text-align:center}
.modal .success>span,.fow-modal .fow-success>span{background:#b1123b;color:white}
.modal .success h2,.fow-modal .fow-success h2{margin:24px auto 18px}
.modal .success p,.fow-modal .fow-success p{color:#44556d;font-size:16px;line-height:1.7}
.modal .success .button,.fow-modal .fow-success button{margin:20px auto 0}
#membership-modal .form-success.show{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}#membership-modal .form-success>span,#membership-modal .form-success>h2,#membership-modal .form-success>p{grid-column:1/-1}#membership-modal .form-success .official-site,#membership-modal .form-success .modal-done{box-sizing:border-box;width:100%;min-height:52px;margin:20px 0 0;padding:14px 18px;border-radius:5px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;text-decoration:none}#membership-modal .form-success .official-site{border:1px solid #b1123b;background:#fff;color:#9e1034}#membership-modal .form-success .modal-done{border:1px solid #b1123b;background:#b1123b;color:#fff}@media(max-width:560px){#membership-modal .form-success.show{grid-template-columns:1fr}#membership-modal .form-success>span,#membership-modal .form-success>h2,#membership-modal .form-success>p,#membership-modal .form-success .official-site,#membership-modal .form-success .modal-done{grid-column:1}#membership-modal .form-success .modal-done{margin-top:0}}
.modal .notice,.fow-modal .notice,.card-form-status,.fow-message,.newsletter .notice,.hrln-notice{font:400 14px/1.65 var(--font-sans,"DM Sans"),sans-serif;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.modal .notice,.fow-modal .notice{grid-column:1/-1;width:100%;margin:0}
.modal .notice:empty,.fow-modal .notice:empty,.card-form-status:empty,.fow-message:empty,.newsletter .notice:empty{display:none}
.modal .notice:not(:empty),.fow-modal .notice:not(:empty),.card-form-status:not(:empty),.fow-message:not(:empty){padding:14px 16px;background:#eaf0f7;color:#183b62;border-left:3px solid #315f9a;border-radius:3px}
.modal .notice.is-error,.fow-modal .notice.is-error,.card-form-status.is-error,.fow-message.is-error{background:#fff0f3;color:#8c1232;border-color:#b1123b}
.modal .form-note,.card-controls .wp-card-note{font-size:13px!important;line-height:1.7!important;color:#44556d!important;background:#eaf0f7}
.card-controls small{font-size:12px;line-height:1.5;color:#52627a;letter-spacing:0;text-transform:none}
.card-controls input[type=file],.hrln-portal input[type=file]{padding:8px;font-size:14px;overflow:hidden}
.card-controls input::file-selector-button,.hrln-portal input::file-selector-button{border:0;border-radius:3px;background:#e9eef5;color:#183b62;padding:9px 12px;margin-right:10px;font:600 13px var(--font-sans,"DM Sans"),sans-serif}
.newsletter{color:#fff}
.newsletter .section-tag,.newsletter h2,.newsletter form label,.newsletter small{color:#fff}
.newsletter form>div{display:flex;gap:10px;align-items:stretch;border:0;margin-top:12px}
.newsletter form input{min-width:0;width:100%;min-height:50px;padding:13px 15px;background:#fff;color:#091d3a;border:1px solid #fff;border-radius:5px;font:400 16px/1.5 var(--font-sans,"DM Sans"),sans-serif}
.newsletter form input::placeholder{color:#62728a;opacity:1}
.newsletter form button{flex:0 0 auto;border:1px solid #fff;border-radius:5px;background:#091d3a;color:#fff;padding:12px 20px;font-size:14px}
.newsletter .notice:not(:empty){color:#fff;background:#79102e;padding:13px 16px;border:1px solid #ffffff66;border-radius:5px}
.hrln-portal form[hidden],.modal [hidden],.fow-modal [hidden],.card-controls [hidden]{display:none!important}
.hrln-portal .login-remember input{margin:0!important}
.hrln-portal .login-submit{margin-top:4px}
.fow-registration,.hrln-panel{border-radius:8px}
@media(max-width:640px){
 .modal-backdrop,.fow-modal-backdrop{padding:12px}
 .modal-backdrop .modal,.fow-modal-backdrop .fow-modal{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:60px 22px 28px;scrollbar-gutter:auto;border-radius:8px}
 .modal .modal-close,.fow-modal .fow-modal-close{right:14px;top:12px}
 .modal .form-grid,.modal .interest-grid,.fow-modal form,.fow-form-grid,.hrln-field-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .modal .full,.fow-modal .wide{grid-column:1/-1}
 .modal .submit-registration,.fow-modal form>button{width:100%;padding:14px!important}
 .newsletter form>div{flex-direction:column}
 .newsletter form button{min-height:48px}
}
@media(prefers-reduced-motion:reduce){.modal-backdrop,.fow-modal-backdrop{scroll-behavior:auto}}
.registration-form>.form-note{display:none}
