/* Supporter membership: brand atmosphere, readable choices, honest billing. */
.membership-page{isolation:isolate;background:#08101f}
.membership-page:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#07152ac9,#07101ff5 80%),url('assets/concepts/vantagepoint-nexus.png') center/cover}
.membership-page .page-main{width:calc(100% - 120px);max-width:1180px;padding:58px 0 84px;margin-inline:auto}
.membership-page .page-heading{max-width:850px;margin:0 auto 28px;padding:0;text-align:center}
.membership-page .page-heading:after{display:none}
.membership-page .page-heading .eyebrow{font-size:10px;letter-spacing:.19em;color:#c3eaff;margin-bottom:14px}
.membership-page .page-heading h1{font-size:clamp(39px,4.5vw,62px);line-height:1.12;color:#fff;text-shadow:0 2px 6px #020817,0 0 32px #8dcdff1a}
.membership-page .page-heading h1 em{color:#fff}
.membership-page .page-heading>p{max-width:690px;margin:16px auto 0;font-size:14px;line-height:1.8;color:#d3e2ef}
.membership-page .page-heading>.small-note{font-size:11px;color:#b7cadc;margin-top:9px}
.membership-page .billing-toggle{display:flex;width:max-content;margin:0 auto;padding:5px;background:#081426b3;border:1px solid #bce2ff55;border-radius:28px;box-shadow:inset 0 1px 0 #ffffff0d}
.membership-page .billing-toggle button{min-height:42px;border-radius:22px;padding:10px 25px;color:#cfdeed;font:600 12px/1.4 Noto,Arial,sans-serif;transition:background .2s,color .2s,box-shadow .2s}
.membership-page .billing-toggle button[aria-pressed=true]{color:#fff;background:linear-gradient(115deg,#22577a,#283960);box-shadow:inset 0 1px 0 #d9f2ff33,0 0 16px #68c6ff20}
.membership-page .billing-toggle button>span{margin-left:6px;font-size:9px;letter-spacing:.02em;background:#b4e1ff19;color:#d8f4ff;border-radius:8px;padding:3px 6px}
.membership-page .universal-membership{margin:18px auto 28px;text-align:center;font-size:12px;line-height:1.8;color:#c3d9ea;max-width:720px}
.membership-page .membership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:stretch}
.membership-page .membership-card{display:flex;flex-direction:column;position:relative;padding:29px 27px 27px;border:1px solid #c0dff444;border-radius:8px;background:linear-gradient(135deg,#16324c9e,#0b1729cf);box-shadow:inset 0 1px 0 #e4f5ff16,0 18px 45px #02081235;backdrop-filter:blur(8px)}
.membership-page .membership-card:before{left:24px;right:24px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#caebffb3,transparent)}
.membership-page .membership-card[data-tier=elite-supporter]{background:linear-gradient(135deg,#2a28509c,#111c30d6);border-color:#d5ceff55}
.membership-card-tag{font:600 9px/1.5 Noto,Arial,sans-serif;letter-spacing:.11em;color:#bce8ff;text-transform:uppercase;margin-bottom:18px}
.membership-page .membership-card h2{font:400 clamp(25px,2vw,30px)/1.25 Marcellus,Georgia,serif;color:white;margin:0}
.membership-page .membership-card>p:not(.billing-detail){font-size:12px;line-height:1.7;color:#c4d6e6;min-height:41px;margin-top:12px}
.membership-page .membership-price{margin-top:20px;display:flex;align-items:baseline;gap:9px}
.membership-page .membership-price strong{font:400 56px/1.1 Marcellus,Georgia,serif;letter-spacing:-.035em;color:#fff}
.membership-page .membership-price span{font-size:12px;color:#bdcfe0}
.membership-page .billing-detail{min-height:36px;font-size:10px;line-height:1.7;color:#acc5db;margin-top:11px}
.membership-page .membership-card ul{padding-top:21px;margin-top:14px;margin-bottom:25px;border-top:1px solid #b7d6ed26;font-size:12px;line-height:1.7;color:#deebf6}
.membership-page .membership-card li{padding-left:20px;margin-bottom:11px}
.membership-page .membership-card li:before{color:#bdeaff}
.membership-page .membership-card .button{width:100%;margin-top:auto;justify-content:center;text-align:center;min-height:48px;padding:12px 15px;border:1px solid #c6e9ff99;border-radius:25px;background:linear-gradient(110deg,#184266b8,#223150ba);color:#fff;box-shadow:inset 0 1px 0 #dff5ff26,0 0 18px #78cfff0d;font:400 13px/1.35 Marcellus,Georgia,serif;transition:background .2s,border-color .2s,box-shadow .2s}
.membership-page .membership-card .button:hover{border-color:#f0fbff;background:linear-gradient(110deg,#245b81d9,#3a426bd9);box-shadow:0 0 22px #78cfff26}
.membership-page .membership-card .button:focus-visible,.membership-page .billing-toggle button:focus-visible{outline:2px solid #d2f1ff;outline-offset:4px}
.membership-page .membership-notes{max-width:850px;text-align:center;margin:28px auto 0;padding-top:22px;border-top:1px solid #b9d7ec2b}
.membership-page .membership-notes p{font-size:11px;line-height:1.85;color:#b5cadd;margin:0 0 10px}
.membership-page .membership-notes a{display:inline-block;margin-top:5px;color:#d4efff;font-size:12px}
@media(max-width:1000px){.membership-page .page-main{width:calc(100% - 70px)}.membership-page .membership-grid{gap:15px}.membership-page .membership-card{padding:25px 20px}.membership-page .membership-card h2{font-size:24px}.membership-page .membership-price strong{font-size:49px}.membership-page .membership-card .button{font-size:11px}}
@media(max-width:760px){.membership-page .page-main{width:calc(100% - 44px);padding:39px 0 55px}.membership-page .page-heading h1{font-size:43px}.membership-page .page-heading>p{font-size:13px}.membership-page .page-heading>.small-note{font-size:10px;line-height:1.8}.membership-page .membership-grid{grid-template-columns:1fr;gap:21px}.membership-page .membership-card{padding:27px 26px}.membership-page .membership-card h2{font-size:29px}.membership-page .membership-card>p:not(.billing-detail){min-height:0}.membership-page .membership-price strong{font-size:55px}.membership-page .membership-card .button{font-size:13px}.membership-page .universal-membership{font-size:11px;margin-bottom:23px}.membership-page .membership-notes{text-align:left}}
@media(prefers-reduced-motion:reduce){.membership-page .billing-toggle button,.membership-page .membership-card .button{transition:none}}

/* A single-screen membership comparison on desktop, with accessible compact layouts. */
@media(min-width:1000px) and (min-height:700px){
 .membership-page{height:100svh;min-height:100svh;display:grid;grid-template-rows:54px minmax(0,1fr) auto;overflow:hidden}
 .membership-page .site-header{grid-row:1;width:100%;min-height:54px}
 .membership-page .page-main{grid-row:2;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:10px;height:100%;min-height:0;max-height:950px;align-self:center;padding:24px 0 16px}
 .membership-page .page-heading{margin:0 auto}.membership-page .page-heading .eyebrow{margin-bottom:10px}
 .membership-page .page-heading>p{margin-top:10px}.membership-page .page-heading>.small-note{margin-top:5px}
 .membership-page .universal-membership{margin:0 auto}.membership-page .membership-grid{min-height:0;height:100%}
 .membership-page .membership-card{min-height:0;padding:23px 25px}.membership-card-tag{margin-bottom:13px}
 .membership-page .membership-card>p:not(.billing-detail){min-height:34px;margin-top:9px}
 .membership-page .membership-price{margin-top:16px}.membership-page .billing-detail{min-height:18px;margin-top:7px}
 .membership-page .membership-card ul{padding-top:15px;margin-top:12px;margin-bottom:16px}
 .membership-page .membership-card li{margin-bottom:8px}.membership-page .membership-card li:last-child{margin-bottom:0}
 .membership-page .membership-notes{margin:0 auto;padding-top:8px;border:0}.membership-page .membership-notes p{margin:0;font-size:10px}
 .membership-page footer{grid-row:3;width:calc(100% - 120px);max-width:1180px;margin-inline:auto;padding:10px 0 12px;gap:7px;justify-content:center;border-top:1px solid #badbef22}
 .membership-page footer>.brand{display:none}.membership-page footer nav{justify-content:center;font-size:10px;gap:19px}
 .membership-page footer>p{margin:0;text-align:center;font-size:9px;line-height:1.5}
}
@media(min-width:1000px) and (min-height:700px) and (max-height:850px){
 .membership-page .page-main{padding:12px 0 8px;gap:7px}
 .membership-page .page-heading h1{font-size:44px}.membership-page .page-heading .eyebrow{font-size:8px;line-height:1.4;margin-bottom:6px}
 .membership-page .page-heading>p{font-size:12px;line-height:1.5;margin-top:7px}.membership-page .page-heading>.small-note{font-size:10px;line-height:1.4;margin-top:4px}
 .membership-page .billing-toggle{padding:3px}.membership-page .billing-toggle button{min-height:34px;padding:7px 22px;font-size:11px}
 .membership-page .universal-membership{font-size:10px;line-height:1.6}.membership-page .membership-card{padding:17px 22px}
 .membership-page .membership-card-tag{display:none}.membership-page .membership-card h2{font-size:25px}
 .membership-page .membership-card>p:not(.billing-detail){font-size:11px;line-height:1.5;min-height:33px;margin-top:8px}
 .membership-page .membership-price{margin-top:11px}.membership-page .membership-price strong{font-size:45px}
 .membership-page .billing-detail{font-size:9px;line-height:1.5;min-height:14px;margin-top:6px}
 .membership-page .membership-card ul{font-size:11px;line-height:1.6;padding-top:11px;margin-top:10px;margin-bottom:12px}
 .membership-page .membership-card li{margin-bottom:7px}.membership-page .membership-card .button{min-height:41px;padding:10px 13px;font-size:12px}
 .membership-page .membership-notes{padding-top:3px}.membership-page .membership-notes p{font-size:9px}
 .membership-page footer{padding:8px 0 9px;gap:5px}.membership-page footer nav{font-size:9px;gap:17px}.membership-page footer>p{font-size:8px}
}

@media(min-width:1000px) and (min-height:700px) and (max-height:740px){.membership-page .membership-card>p:not(.billing-detail){display:none}.membership-page .membership-price{margin-top:18px}}

.membership-page .membership-card[data-current-plan=true]{border-color:#b4edff;box-shadow:inset 0 1px 0 #e4f5ff55,0 0 28px #7dd8ff20}.membership-page .membership-card[data-current-plan=true] .membership-card-tag{color:#e0f9ff}.membership-page .membership-card .button[aria-disabled=true]{cursor:default;opacity:.65;background:#1c354b80;box-shadow:none}.membership-page .membership-card[data-current-plan=true] .button[aria-disabled=true]{opacity:1;border-color:#a1d9f380;color:#d5f3ff}.membership-choice-message{font-size:12px;color:#c7eaff;text-align:center;line-height:1.7;margin:8px 0}.membership-choice-message:empty{display:none}

.membership-page .membership-card[data-current-plan=true] .button[aria-disabled=true]{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(110deg,#235b7ebd,#324875b8);animation:current-plan-glow 3.6s ease-in-out infinite}.membership-page .membership-card[data-current-plan=true] .button[aria-disabled=true]:after{content:'';position:absolute;inset:-50% auto -50% -80%;width:45%;background:linear-gradient(100deg,transparent,#c7f6ff35,transparent);transform:skewX(-20deg);animation:current-plan-sheen 5.5s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes current-plan-glow{0%,100%{border-color:#9bdef5;box-shadow:0 0 9px #87dfff24,inset 0 0 10px #8adfff10}50%{border-color:#e0fbff;box-shadow:0 0 23px #87dfff50,inset 0 0 13px #b2edff18}}@keyframes current-plan-sheen{0%,35%{left:-80%}75%,100%{left:140%}}@media(prefers-reduced-motion:reduce){.membership-page .membership-card[data-current-plan=true] .button[aria-disabled=true],.membership-page .membership-card[data-current-plan=true] .button[aria-disabled=true]:after{animation:none}}

.membership-page .membership-card[data-current-plan=true] .button[aria-disabled=true]:after{z-index:0}
