/* Use the same local fonts as the approved preview under Contact's self-only CSP. */
@font-face{font-family:'DM Sans';src:url('/fonts/DMSans-variable.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'Manrope';src:url('/fonts/Manrope-variable.ttf') format('truetype');font-weight:400 800;font-display:swap}
/* Public page presentation only; shared forms and handlers are unchanged. */
.membership-page{background:#080808;color:#eee;color-scheme:dark}
.membership-page #membership-main{position:relative;isolation:isolate;padding-bottom:48px}
.membership-page .section{width:88%;max-width:1100px;margin:0 auto;padding:48px 0}
.membership-page .membership-hero{position:static;isolation:auto;overflow:visible;display:block;min-height:0;background:none;padding:64px 0 42px}
.membership-page .membership-hero>div{width:100%;max-width:650px}
.membership-page .membership-hero img{height:760px;object-position:65% 100%;filter:grayscale(1) brightness(.48);z-index:-1}
.membership-page .membership-hero h1{font-size:clamp(40px,4vw,60px)}
.membership-page h1 em{color:inherit}
.membership-page :is(.eyebrow,.section-heading>p,.membership-tier-note,.membership-benefit-grid p,.membership-privacy,.membership-request-note,.membership-policy-note){color:#bcbcbc}
.membership-page .membership-tiers{background:rgba(8,8,8,.89);border:1px solid #393939;border-radius:7px;padding:30px}
.membership-page .membership-tiers h2{font-size:clamp(27px,3vw,36px)}
.membership-page .membership-card{background:#0b0b0b;border-color:#404040;border-radius:7px;padding:26px 20px}
.membership-page .membership-card-signature{border-color:#aaa}
.membership-page .membership-price{color:#f5f5f5}
.membership-page .membership-price strong{font-size:44px}
.membership-page .membership-card ul{color:#ccc;border-color:#333}
.membership-page .membership-card li::before{color:#eee}
.membership-page .membership-dark{background:#f5f5f5;border-color:#f5f5f5;color:#111}
.membership-page .membership-dark:hover{background:#ddd;border-color:#ddd}
.membership-page .membership-benefits{padding-top:48px}
.membership-page .membership-benefit-grid>div{border-color:#333}
.membership-page :is(.membership-terms,.membership-request){background:transparent;border-top:1px solid #333}
.membership-page :is(.membership-terms,.membership-request)>div>p:not(.eyebrow){color:#bbb}
.membership-page :is(.membership-policy-note,.membership-request-note,.membership-accordions details){border-color:#333}
.membership-page .membership-accordions ul{color:#bbb}
.membership-page .membership-form-card{background:#0b0b0b;border-color:#393939;border-radius:7px}
.membership-page .membership-form-card :is(input,select,textarea){background:#080808;border-color:#444;color:#eee}
.membership-page .membership-form-card label span{color:#bbb}
.membership-page .membership-form-card :is(input,textarea)::placeholder{color:#aaa;opacity:1}
.membership-page .membership-form-card [aria-invalid=true]{border-color:#eee}
.membership-page :is(.membership-error,.membership-preview-note,#membership-success>p){color:#ccc}
.membership-page #membership-status:not(:empty),.membership-page .membership-preview-note{background:#171717;border-color:#777}
.membership-page .membership-info-button{background:#111;color:#eee;border-color:#aaa}
.membership-page .membership-info-box{background:#171717;color:#ddd;border-color:#777}
.membership-page .membership-info-box strong{color:#fff}
.membership-page :focus-visible{outline:2px solid #eee;outline-offset:4px}
.contact-page #contact-main{background:#f5f5f5;min-height:calc(100vh - 190px)}
.contact-page .inline-contact{width:88%;max-width:1100px;margin:0 auto;padding:56px 0;gap:7%}
.contact-page .inline-contact-heading h1{font-size:clamp(38px,4vw,52px);line-height:1.12;letter-spacing:-1.8px;margin:18px 0 24px}
.contact-page .inline-contact-heading h1 em{color:#666}
.contact-page .contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.contact-page .contact-direct a{border:1px solid #bbb;border-radius:7px;background:#fff;padding:12px 10px;gap:10px;color:#222;font-size:12px;font-weight:500}
.contact-page .contact-direct a::before{content:none}
.contact-page .contact-action-icon{display:grid;place-items:center;width:32px;height:32px;flex:none}
.contact-page .contact-action-icon svg{display:block;width:26px;height:26px}
.contact-page .contact-direct a:hover{border-color:#333;background:#eee}
.contact-page .message-card{box-shadow:none;border-radius:7px}
@media(max-width:900px){
 .membership-page .membership-tiers{padding:24px 20px}
 .membership-page .membership-cards{gap:12px}
 .membership-page .membership-card{padding:22px 14px}
 .contact-page .inline-contact{display:grid;grid-template-columns:1fr;gap:28px}
 .contact-page .inline-contact-heading{margin:0}
 .contact-page .contact-direct{max-width:420px}
}
@media(max-width:700px){
 .membership-page .section{width:92%;padding:32px 18px}
 .membership-page .membership-hero{width:88%;padding:36px 0 32px}
 .membership-page .membership-hero h1{font-size:38px}
 .membership-page .membership-hero img{height:720px;object-position:66% 45%;filter:grayscale(1) brightness(.4)}
 .membership-page .membership-tiers{padding:24px 18px}
 .membership-page .membership-card{padding:24px 20px}
 .membership-page .membership-form-card{padding:22px 18px}
 .membership-page .membership-request{padding-left:0;padding-right:0}
 .membership-page .membership-request>div:first-child{padding:0 18px}
 .contact-page .inline-contact{width:92%;padding:32px 0}
 .contact-page .inline-contact-heading{padding:0 10px}
 .contact-page .inline-contact-heading h1{font-size:38px}
 .contact-page .contact-direct a{padding:10px 8px;gap:6px;font-size:11px}
 .contact-page .contact-action-icon{width:28px}
}
/* These pages own centered containers, so do not reapply homepage ultrawide gutters. */
@media(min-width:1921px){
 .membership-page #membership-main>.section{padding-inline:0}
 .membership-page #membership-main>.membership-tiers{padding-inline:30px}
 .contact-page #contact-main>.inline-contact{padding-inline:0;column-gap:7%}
}
/* Contact reference composition, with a plain light background and no numbering. */
.contact-page .contact-topics{list-style:none;padding:0}
.contact-page .contact-topics li{display:flex;gap:24px;align-items:center;padding:23px 0}
.contact-page .contact-topics svg{width:28px;height:28px;flex:none;color:#222}
.contact-page .inline-contact-heading>p:not(.eyebrow){max-width:440px}
.contact-page .inline-contact-heading h1{margin-bottom:24px}
.contact-page .message-card{background:#fff;border-color:#d4d4d4;padding:30px}
.contact-page .contact-direct a{min-height:54px}
@media(max-width:700px){.contact-page .message-card{padding:24px 18px}.contact-page .contact-topics li{padding:19px 0;gap:20px}}
