/* Scoped membership layout: preserve photo proportions and readable form controls. */
.membership-page .information-hero__grid { align-items: center; gap: clamp(1.5rem, 4vw, 4rem); }
.membership-page .information-hero h1 { font-size: clamp(2.1rem, 4.1vw, 4.6rem); line-height: 1.12; overflow-wrap: anywhere; }
.membership-page .information-hero__grid > * { min-width: 0; }
.membership-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.75rem; }
.membership-hero-photo { margin: 0; padding: .65rem; background: #fff; border: 1px solid #c6d9ef; border-radius: 1.5rem; box-shadow: 0 18px 45px #0e315316; }
.membership-page .membership-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 1rem; }
.membership-hero-photo figcaption { padding: .75rem .4rem .25rem; font-size: .9rem; font-weight: 650; color: #12375f; }
.membership-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.membership-benefits article { padding: 1.5rem; border: 1px solid #c5d7ed; border-radius: 1.25rem; background: #fff; min-width: 0; }
.membership-benefits h3 { font-size: 1.2rem; margin: .8rem 0; }
.membership-benefits p, .membership-steps p { font-size: 1rem; line-height: 1.75; color: #344e6b; margin-bottom: 0; }
.membership-number { font-size: .8rem; letter-spacing: .12em; font-weight: 800; color: #1458a1; }
.membership-process { background: #e7f0fb; }
.membership-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; padding: 0; margin: 2rem 0; list-style: none; counter-reset: membership; }
.membership-steps li { counter-increment: membership; padding-left: 3rem; position: relative; }
.membership-steps li::before { content: counter(membership); position: absolute; top: -.2rem; left: 0; width: 2.2rem; height: 2.2rem; display: grid; place-items: center; background: #123c70; color: #fff; border-radius: 50%; font-weight: 750; }
.membership-note, .pm-form__hint { font-size: .92rem; line-height: 1.7; color: #39516d; }
.membership-application .section-heading { align-items: center; }
.membership-application .section-heading p { max-width: 58rem; }
.pm-availability { padding: 1rem 1.25rem; border: 1px solid #a8c5e7; border-left: 4px solid #1b559b; border-radius: .75rem; background: #eaf3ff; color: #14355d; line-height: 1.75; }
.pm-availability a { overflow-wrap: anywhere; }
.pm-form { padding: clamp(1rem, 3vw, 2.5rem); margin-top: 1.5rem; border: 1px solid #c5d7ed; border-radius: 1.5rem; background: #fff; scroll-margin-top: 8rem; }
.pm-form fieldset { border: 0; min-width: 0; padding: 0; margin: 0 0 2rem; }
.pm-form legend { font-size: 1.15rem; font-weight: 750; color: #113664; padding: 0; margin-bottom: 1.2rem; }
.pm-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 1.5rem; }
.pm-form label { display: block; font-size: .95rem; font-weight: 650; color: #16365c; min-width: 0; line-height: 1.5; }
.pm-form input:not([type=checkbox]):not([type=hidden]), .pm-form textarea { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; border: 1px solid #9ab6d5; border-radius: .65rem; padding: .75rem; margin-top: .45rem; background: #fff; color: #142f4e; font: inherit; font-weight: 400; font-size: 16px; }
.pm-form textarea { resize: vertical; }
.pm-form input:disabled, .pm-form textarea:disabled { background: #f4f7fb; color: #455c76; opacity: 1; }
.pm-form input:focus-visible, .pm-form textarea:focus-visible, .pm-form summary:focus-visible { outline: 3px solid #2168b3; outline-offset: 3px; }
.pm-form__details, .pm-form__privacy { margin: 0 0 2rem; border: 1px solid #c9d9ed; border-radius: .85rem; background: #f5f8fd; }
.pm-form summary { padding: 1rem 1.25rem; cursor: pointer; color: #133e70; font-weight: 750; min-height: 48px; box-sizing: border-box; }
.pm-form__details fieldset, .pm-form__privacy > div { padding: .5rem 1.25rem 1.25rem; margin: 0; }
.pm-form__privacy p { font-size: .95rem; line-height: 1.85; color: #344e6b; }
.pm-form__interests { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: 1rem 0 1.5rem; }
.pm-form__interests label, .pm-form__consents label { display: flex; align-items: flex-start; gap: .65rem; padding: .7rem .8rem; min-height: 44px; box-sizing: border-box; background: #f4f8fe; border-radius: .65rem; }
.pm-form input[type=checkbox] { flex: 0 0 auto; width: 20px; height: 20px; margin: .1rem 0 0; accent-color: #155a9f; }
.pm-form__consents label + label { margin-top: .75rem; }
.pm-form__submit { min-height: 48px; }
.pm-form__submit:disabled { background: #506986; color: #fff; cursor: not-allowed; opacity: 1; }
.pm-form__status { padding: 1rem 1.25rem; margin-bottom: 1.5rem; color: #113966; background: #e8f2ff; border: 1px solid #a1bfdc; border-radius: .75rem; line-height: 1.75; }
.pm-form__status[hidden] { display: none; }
@media (max-width: 1050px) { .membership-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pm-form__interests { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .membership-page .information-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .membership-steps { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .pm-form__grid { grid-template-columns: minmax(0, 1fr); }
  .membership-application .section-heading { align-items: flex-start; }
  .pm-form { scroll-margin-top: 6rem; }
}
@media (max-width: 420px) { .membership-benefits, .pm-form__interests { grid-template-columns: minmax(0, 1fr); } .membership-actions .button { width: 100%; } }
