
/* ODA3 Membership v3 — aligned to Partnership page design contract */
.membership-page .member-subnav{margin-bottom:1.25rem}
.membership-page .partner-hero{padding:2.7rem 0 2.2rem;border-bottom:1px solid var(--border,#d9e1ea)}
.membership-page .partner-hero h1{max-width:920px;margin:.35rem 0 .8rem;color:#011961;font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.04em}
.membership-page .partner-hero .lead{max-width:930px;color:#4b5c70;font-size:1.16rem;line-height:1.65}
.membership-page .a-ctas{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.membership-page .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1rem;border-radius:5px;font-weight:800;text-decoration:none}
.membership-page .btn.btn-primary{background:#0d1b2e!important;color:#fff!important;border:2px solid #0d1b2e!important}
.membership-page .btn.btn-primary:hover,.membership-page .btn.btn-primary:focus-visible{background:#1a2b4a!important;color:#fff!important;border-color:#1a2b4a!important}
.membership-page .btn.btn-outline-light{background:#fff!important;color:#011961!important;border:2px solid #011961!important}
.membership-page .btn.btn-outline-light:hover,.membership-page .btn.btn-outline-light:focus-visible{background:#011961!important;color:#fff!important}
.membership-page .member-constitution{max-width:760px;margin:1.4rem 0 0;border-left-color:#0d8c96}
.membership-page .member-constitution p{margin:.3rem 0 0}
.membership-page .member-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.membership-page .member-recognition-card{border-style:dashed}
.membership-page .category-detail{max-width:900px}
.membership-page .member-absence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.2rem}
.membership-page .member-absence-grid span{padding:.85rem 1rem;border:1px solid #ccd7e1;border-left:4px solid #f0c052;border-radius:6px;background:#fff;color:#172033;font-weight:700}
.membership-page .member-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.membership-page .member-stat-grid>div{padding:1.4rem;border:1px solid #ccd7e1;border-radius:9px;background:#fff}
.membership-page .member-stat-grid strong{display:block;color:#011961;font-size:2rem;line-height:1.1}
.membership-page .member-stat-grid span{display:block;margin-top:.55rem;color:#4b5c70}
.membership-page .faq-stack{display:grid;gap:.75rem}
.membership-page .faq-item{margin:0;padding:0;border:1px solid #ccd7e1;border-radius:7px;background:#fff}
.membership-page .faq-item summary{display:block;padding:1rem 1.1rem;color:#011961;font-weight:800;cursor:pointer}
.membership-page .faq-item p{margin:0;padding:0 1.1rem 1rem;color:#4b5c70}
.membership-page .membership-application{display:grid;gap:1.1rem;padding:1.4rem;border:1px solid #ccd7e1;border-radius:10px;background:#fff}
.membership-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.membership-page .form-field{display:grid;gap:.4rem}
.membership-page .form-field.full{grid-column:1/-1}
.membership-page .form-field label{color:#172033;font-size:.86rem;font-weight:800}
.membership-page .form-field input,.membership-page .form-field select,.membership-page .form-field textarea{
  display:block;width:100%;min-height:46px;padding:.72rem .8rem;border:1.5px solid #9eb0c2;border-radius:6px;background:#fff!important;color:#172033!important;
  box-shadow:inset 0 1px 2px rgba(2,15,42,.04);font:inherit;line-height:1.4
}
.membership-page .form-field textarea{min-height:120px;resize:vertical}
.membership-page .form-field input:focus,.membership-page .form-field select:focus,.membership-page .form-field textarea:focus{outline:3px solid rgba(13,140,150,.18);border-color:#0d8c96}
.membership-page .form-check{display:flex!important;align-items:flex-start;gap:.65rem;color:#172033;font-size:.86rem;font-weight:500}
.membership-page .form-check input{flex:0 0 auto;width:18px;height:18px;margin-top:.16rem}
.membership-page .form-actions{display:flex;justify-content:flex-start}
.membership-page .form-help{margin:.2rem 0 0;padding:1rem;border-left:4px solid #0d8c96;background:#f8fbfd;color:#4b5c70}
.membership-page .form-status{min-height:1.3rem;color:#006c74;font-weight:700}
.membership-page .member-download-card{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:1.5rem;border:1px solid #ccd7e1;border-radius:9px;background:#fff}
.membership-page .member-download-card h2{margin:.45rem 0;color:#011961}
.membership-page .member-metadata{display:grid;grid-template-columns:150px 1fr;gap:.45rem .75rem;margin-top:1.2rem}
.membership-page .member-metadata dt{font-weight:800}.membership-page .member-metadata dd{margin:0}
.membership-page .member-download-action{max-width:330px}
.membership-page .member-download-action p{color:#4b5c70;font-size:.9rem}
.membership-page article.content p a:not(.btn),.membership-page article.content li a:not(.btn){color:#006c74;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.membership-page article.content p a:not(.btn):hover,.membership-page article.content li a:not(.btn):hover{color:#011961;text-decoration-thickness:2px}
html[data-theme="dark"] .membership-page .partner-hero h1,html[data-theme="dark"] .membership-page .member-stat-grid strong,html[data-theme="dark"] .membership-page .member-download-card h2{color:#dce8ff}
html[data-theme="dark"] .membership-page .partner-hero .lead{color:#c2ccda}
html[data-theme="dark"] .membership-page .member-absence-grid span,html[data-theme="dark"] .membership-page .member-stat-grid>div,html[data-theme="dark"] .membership-page .faq-item,html[data-theme="dark"] .membership-page .membership-application,html[data-theme="dark"] .membership-page .member-download-card{background:#111c2e;color:#f4f7fb;border-color:#52657c}
html[data-theme="dark"] .membership-page .faq-item summary,html[data-theme="dark"] .membership-page .form-field label,html[data-theme="dark"] .membership-page .form-check{color:#f4f7fb}
html[data-theme="dark"] .membership-page .form-field input,html[data-theme="dark"] .membership-page .form-field select,html[data-theme="dark"] .membership-page .form-field textarea{background:#0b1424!important;color:#f4f7fb!important;border-color:#66758b}
@media(max-width:900px){
 .membership-page .member-category-grid,.membership-page .member-absence-grid,.membership-page .member-stat-grid,.membership-page .form-grid{grid-template-columns:1fr}
 .membership-page .member-download-card{flex-direction:column}
}
