.membership-page {
  --member-black: #0b0b0c;
  --member-gold: #d5a72f;
  --member-gold-light: #f2d477;
  --member-cream: #f8f3e8;
  --member-line: rgba(213, 167, 47, .26);
}
.membership-page main { background: #fff; }
.membership-eyebrow { margin: 0 0 18px; color: var(--member-gold); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.membership-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 0 25px; border: 1px solid transparent; font-size: .92rem; font-weight: 800; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.membership-button--gold { background: var(--member-gold); color: #17120a; }
.membership-button--gold:hover, .membership-button--gold:focus-visible { background: var(--member-gold-light); }
.membership-button--ghost { border-color: rgba(255,255,255,.38); color: #fff; }
.membership-button--ghost:hover, .membership-button--ghost:focus-visible { border-color: var(--member-gold-light); color: var(--member-gold-light); }
.membership-hero { position: relative; min-height: 740px; overflow: hidden; background: var(--member-black); color: #fff; }
.membership-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255,255,255,.04), transparent 35%), repeating-linear-gradient(165deg, transparent 0 10px, rgba(255,255,255,.017) 10px 11px); }
.membership-hero__glow { position: absolute; width: 720px; height: 520px; right: -180px; bottom: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(213,167,47,.4), rgba(213,167,47,0) 68%); }
.membership-hero__grid { position: relative; display: grid; min-height: 660px; grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr); gap: 70px; align-items: center; padding-top: 70px; padding-bottom: 70px; }
.membership-hero__copy { position: relative; z-index: 1; }
.membership-hero h1 { margin: 0; color: var(--member-gold-light); font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: clamp(3.3rem, 6vw, 6.1rem); font-weight: 700; letter-spacing: .02em; line-height: 1.06; white-space: nowrap; }
.membership-hero__lead { max-width: 34em; margin: 26px 0 0; color: rgba(255,255,255,.76); font-size: 1.08rem; }
.membership-hero__slogan { margin: 18px 0 0; color: #fff; font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: 1.4rem; font-weight: 700; }
.membership-hero__actions { display: flex; gap: 12px; margin-top: 38px; }
.membership-hero__visual { position: relative; margin: 0; padding: 0 34px 40px 0; }
.membership-hero__visual::before { content: ""; position: absolute; top: -22px; right: 10px; width: 68%; height: 72%; border: 1px solid var(--member-line); }
.membership-hero__visual img { position: relative; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; filter: saturate(.82) contrast(1.06); }
.membership-hero__visual figcaption { position: absolute; right: 0; bottom: 0; display: grid; min-width: 220px; padding: 24px 28px; background: var(--member-gold); color: #17120a; }
.membership-hero__visual figcaption span { font-size: .82rem; letter-spacing: .1em; }
.membership-hero__visual figcaption strong { font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: 1.45rem; }
.membership-subnav { position: relative; border-top: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.28); }
.membership-subnav .container { display: flex; align-items: center; gap: 40px; min-height: 80px; }
.membership-subnav a { color: rgba(255,255,255,.7); font-size: .84rem; }
.membership-subnav a:hover, .membership-subnav a:focus-visible { color: var(--member-gold-light); }
.membership-section { padding: 112px 0; scroll-margin-top: 104px; }
.membership-section__heading { max-width: 780px; margin-bottom: 58px; }
.membership-section__heading--split { display: grid; max-width: none; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: end; }
.membership-section__heading h2, .membership-cycle h2, .membership-final-cta h2 { margin: 0; color: #161618; font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: clamp(2.5rem, 4vw, 4.3rem); font-weight: 700; line-height: 1.1; }
.membership-section__heading > p:last-child, .membership-section__heading--split > p, .membership-cycle > div > p:last-child { margin: 0; color: #6d6a65; font-size: 1.05rem; line-height: 1.9; }
.membership-positioning { background: var(--member-cream); }
.membership-admission { display: grid; grid-template-columns: .8fr 1.2fr; border-top: 1px solid rgba(32,32,34,.18); border-bottom: 1px solid rgba(32,32,34,.18); }
.membership-admission__statement { padding: 48px 56px 48px 0; border-right: 1px solid rgba(32,32,34,.18); }
.membership-admission__statement > span { display: inline-flex; padding: 6px 12px; background: #19191b; color: var(--member-gold-light); font-size: .76rem; font-weight: 800; letter-spacing: .08em; }
.membership-admission__statement h3 { margin: 80px 0 18px; font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.25; }
.membership-admission__statement p { margin: 0; color: #706c64; }
.membership-audience { display: grid; grid-template-columns: 1fr 1fr; }
.membership-audience article { min-height: 230px; padding: 38px; border-right: 1px solid rgba(32,32,34,.18); border-bottom: 1px solid rgba(32,32,34,.18); }
.membership-audience article:nth-child(2n) { border-right: 0; }
.membership-audience article:nth-last-child(-n+2) { border-bottom: 0; }
.membership-audience span, .membership-value-grid span { color: var(--member-gold); font-weight: 800; }
.membership-audience strong { display: block; margin-top: 54px; font-size: 1.35rem; }
.membership-audience p { margin: 8px 0 0; color: #706c64; font-size: .92rem; }
.membership-value-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #ddd8cc; border-left: 1px solid #ddd8cc; }
.membership-value-grid article { min-height: 290px; padding: 28px; border-right: 1px solid #ddd8cc; border-bottom: 1px solid #ddd8cc; }
.membership-value-grid h3 { margin: 92px 0 12px; color: #202022; font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: 1.35rem; line-height: 1.25; }
.membership-value-grid p { margin: 0; color: #77736b; font-size: .9rem; }
.membership-photo-band { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: #111; }
.membership-photo-band figure { margin: 0; overflow: hidden; aspect-ratio: 4 / 3; }
.membership-photo-band img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.membership-photo-band figure:hover img { transform: scale(1.025); }
.membership-rights-section { background: #f7f5f0; }
.membership-right { margin-top: 28px; border: 1px solid #dcd7cb; background: #fff; }
.membership-right > header { display: grid; grid-template-columns: 120px 1fr; align-items: end; min-height: 190px; padding: 34px 40px; border-bottom: 1px solid #dcd7cb; background: linear-gradient(105deg, #171719 0 28%, #222225 28% 100%); color: #fff; }
.membership-right > header > span { color: var(--member-gold-light); font-family: Georgia, serif; font-size: 3.3rem; line-height: 1; }
.membership-right > header p { margin: 0 0 8px; color: var(--member-gold-light); font-size: .78rem; letter-spacing: .08em; }
.membership-right > header h3 { margin: 0; font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.membership-right__items { display: grid; grid-template-columns: repeat(2, 1fr); }
.membership-right__items--three { grid-template-columns: repeat(3, 1fr); }
.membership-right__items section { min-height: 245px; padding: 34px 38px; border-right: 1px solid #e1ddd3; border-bottom: 1px solid #e1ddd3; }
.membership-right__items section:nth-child(2n) { border-right: 0; }
.membership-right__items section:nth-last-child(-n+2) { border-bottom: 0; }
.membership-right__items--three section { border-bottom: 0; }
.membership-right__items--three section:nth-child(2n) { border-right: 1px solid #e1ddd3; }
.membership-right__items--three section:last-child { border-right: 0; }
.membership-right__items strong { display: block; color: #222225; font-size: 1.14rem; }
.membership-right__items em { display: inline-block; margin-top: 8px; color: #b18012; font-size: .78rem; font-style: normal; font-weight: 800; }
.membership-right__items p { margin: 24px 0 0; color: #6f6c66; font-size: .93rem; line-height: 1.85; }
.membership-gallery { padding: 4px 0; background: #111; }
.membership-gallery__grid { display: grid; max-width: 1440px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 0 4px; }
.membership-gallery figure { margin: 0; overflow: hidden; aspect-ratio: 4 / 3; background: #222; }
.membership-gallery__wide { grid-column: span 2; aspect-ratio: 2 / 1 !important; }
.membership-gallery img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); }
.membership-cycle-section { background: var(--member-black); color: #fff; }
.membership-cycle { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; align-items: start; }
.membership-cycle h2 { color: var(--member-gold-light); }
.membership-cycle > div > p:last-child { margin-top: 28px; color: rgba(255,255,255,.64); }
.membership-cycle ol { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); list-style: none; }
.membership-cycle li { min-height: 210px; padding: 30px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.membership-cycle li span { color: var(--member-gold); font-weight: 800; }
.membership-cycle li strong { display: block; margin-top: 52px; font-size: 1.15rem; }
.membership-cycle li p { margin: 6px 0 0; color: rgba(255,255,255,.56); font-size: .9rem; }
.membership-records-section { background: var(--member-cream); }
.membership-records-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.membership-records-grid details { border: 1px solid #d9d1c1; background: rgba(255,255,255,.6); }
.membership-records-grid summary { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; color: #232224; cursor: pointer; list-style: none; }
.membership-records-grid summary::-webkit-details-marker { display: none; }
.membership-records-grid summary::after { content: "+"; color: var(--member-gold); font-size: 1.35rem; }
.membership-records-grid details[open] summary::after { content: "−"; }
.membership-records-grid summary strong { font-size: 1rem; }
.membership-records-grid summary span { margin-left: auto; color: #8b8478; font-size: .75rem; }
.membership-records-grid ul { margin: 0; padding: 4px 22px 22px; border-top: 1px solid #e5ded1; list-style: none; }
.membership-records-grid li { padding: 13px 0; border-bottom: 1px solid #e5ded1; color: #55524d; font-size: .86rem; line-height: 1.65; }
.membership-records-grid li:last-child { border-bottom: 0; }
.membership-records-grid time { display: block; color: #b18012; font-size: .72rem; font-weight: 800; letter-spacing: .05em; }
.membership-final-cta { padding: 104px 0; background: linear-gradient(110deg, #171719, #282526); color: #fff; }
.membership-final-cta__grid { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: end; }
.membership-final-cta h2 { max-width: 760px; color: #fff; }
.membership-final-cta p:not(.membership-eyebrow) { max-width: 700px; margin: 22px 0 0; color: rgba(255,255,255,.6); }

@media (max-width: 980px) {
  .membership-hero__grid { grid-template-columns: 1fr 1fr; gap: 38px; }
  .membership-hero h1 { font-size: clamp(3rem, 7vw, 4.5rem); }
  .membership-section__heading--split, .membership-admission, .membership-cycle { grid-template-columns: 1fr; gap: 44px; }
  .membership-admission__statement { padding-right: 0; border-right: 0; border-bottom: 1px solid rgba(32,32,34,.18); }
  .membership-value-grid { grid-template-columns: repeat(3, 1fr); }
  .membership-right__items--three { grid-template-columns: 1fr; }
  .membership-right__items--three section, .membership-right__items--three section:nth-child(2n) { border-right: 0; border-bottom: 1px solid #e1ddd3; }
  .membership-right__items--three section:last-child { border-bottom: 0; }
  .membership-gallery__grid { grid-template-columns: repeat(3, 1fr); }
  .membership-records-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .membership-hero { min-height: 0; }
  .membership-hero__grid { min-height: 0; grid-template-columns: 1fr; gap: 44px; padding-top: 64px; padding-bottom: 62px; }
  .membership-hero h1 { font-size: clamp(2.85rem, 14vw, 4rem); }
  .membership-hero__lead { font-size: 1rem; }
  .membership-hero__slogan { font-size: 1.2rem; }
  .membership-hero__visual { padding-right: 18px; }
  .membership-hero__visual figcaption { min-width: 185px; padding: 18px 20px; }
  .membership-subnav { overflow-x: auto; }
  .membership-subnav .container { width: max-content; min-height: 62px; gap: 26px; padding-right: 20px; }
  .membership-section { padding: 76px 0; }
  .membership-section__heading { margin-bottom: 38px; }
  .membership-section__heading--split { gap: 24px; }
  .membership-section__heading h2, .membership-cycle h2, .membership-final-cta h2 { font-size: 2.45rem; }
  .membership-admission__statement { padding: 30px 0 38px; }
  .membership-admission__statement h3 { margin-top: 42px; font-size: 2rem; }
  .membership-audience, .membership-value-grid, .membership-right__items, .membership-cycle ol, .membership-records-grid { grid-template-columns: 1fr; }
  .membership-audience article, .membership-audience article:nth-child(2n), .membership-audience article:nth-last-child(-n+2) { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid rgba(32,32,34,.18); }
  .membership-audience article:last-child { border-bottom: 0; }
  .membership-audience strong { margin-top: 28px; }
  .membership-value-grid article { min-height: 210px; }
  .membership-value-grid h3 { margin-top: 52px; }
  .membership-photo-band { grid-template-columns: 1fr; }
  .membership-photo-band figure { aspect-ratio: 16 / 10; }
  .membership-right { margin-top: 20px; }
  .membership-right > header { grid-template-columns: 72px 1fr; min-height: 160px; padding: 26px 22px; }
  .membership-right > header > span { font-size: 2.45rem; }
  .membership-right > header h3 { font-size: 1.9rem; }
  .membership-right__items section, .membership-right__items section:nth-child(2n), .membership-right__items section:nth-last-child(-n+2) { min-height: 0; padding: 28px 22px; border-right: 0; border-bottom: 1px solid #e1ddd3; }
  .membership-right__items section:last-child { border-bottom: 0; }
  .membership-gallery__grid { grid-template-columns: 1fr 1fr; }
  .membership-gallery__wide { grid-column: span 2; }
  .membership-cycle { gap: 36px; }
  .membership-cycle li { min-height: 165px; }
  .membership-cycle li strong { margin-top: 34px; }
  .membership-final-cta { padding: 76px 0; }
  .membership-final-cta__grid { grid-template-columns: 1fr; gap: 36px; }
  .membership-final-cta .membership-button { width: 100%; }
}

@media (max-width: 460px) {
  .membership-hero__actions { align-items: stretch; flex-direction: column; }
  .membership-hero__visual { padding-right: 0; padding-bottom: 48px; }
  .membership-hero__visual::before { right: -12px; }
  .membership-hero__visual figcaption { right: -8px; }
  .membership-gallery__grid { grid-template-columns: 1fr; }
  .membership-gallery__wide { grid-column: auto; aspect-ratio: 4 / 3 !important; }
}
