
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0a0a0a;color:#f3efe7;font-family:"Shippori Mincho",serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.member-header{height:78px;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.13);background:rgba(10,10,10,.92);backdrop-filter:blur(14px)}.member-header a{font-family:"Cormorant Garamond",serif;letter-spacing:.07em}.member-wordmark{font-size:1.16rem;letter-spacing:.14em!important}.contact-link{text-align:right}.back-home,.contact-link{font-size:.82rem;opacity:.72}.member-hero{min-height:82vh;padding:13vh 7vw 9vh;display:flex;flex-direction:column;justify-content:center;max-width:1500px;margin:auto}.kicker,.section-title p,.plan-label{font-family:"Cormorant Garamond",serif;letter-spacing:.2em;text-transform:uppercase}.kicker{font-size:.82rem;opacity:.56;margin:0 0 25px}.member-hero h1{font-size:clamp(3.3rem,7vw,7.5rem);line-height:.98;font-weight:400;margin:0 0 36px}.hero-lead{font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:2;margin:0 0 45px;opacity:.8}.guest-callout{max-width:900px;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);padding:28px 0}.guest-callout strong{font-size:clamp(1.35rem,2.1vw,2rem);font-weight:500}.guest-callout p{line-height:2;margin:16px 0 0;opacity:.73}.section{padding:110px 7vw}.light{background:#f0ede6;color:#161616}.dark{background:#101010}.section-title{max-width:1320px;margin:0 auto 60px;display:grid;grid-template-columns:55px 1fr;column-gap:22px}.section-title>span{font-family:"Cormorant Garamond",serif;font-size:.85rem;opacity:.5}.section-title p{font-size:.76rem;margin:0;opacity:.55}.section-title h2{grid-column:2;font-size:clamp(2.4rem,4.5vw,5rem);font-weight:400;line-height:1.06;margin:10px 0 0}.info-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cbc7bf}.info-grid article{background:#f0ede6;padding:42px}.info-grid article.wide{grid-column:1/-1}.info-grid h3,.benefit-list h3,.rules h3{font-size:1.45rem;font-weight:500;margin:0 0 20px}.info-grid p,.info-grid strong,.rules p,.rules li{line-height:2}.info-grid strong{display:block;margin:18px 0;font-weight:600}.info-grid small,.plan small{opacity:.6}.benefit-list{max-width:1320px;margin:auto;border-top:1px solid rgba(255,255,255,.17)}.benefit-list>div{display:grid;grid-template-columns:70px 260px 1fr;gap:28px;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.17);align-items:start}.benefit-list b{font-family:"Cormorant Garamond",serif;font-weight:400;opacity:.45}.benefit-list h3,.benefit-list p{margin:0}.benefit-list p{line-height:1.9;opacity:.72}.benefit-list small{grid-column:3;opacity:.5}.plans{padding:110px 5vw;background:#191919}.plans .section-title{padding:0 2vw}.plans-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plan{border:1px solid rgba(255,255,255,.16);background:#101010}.plan.gold{background:#171611}.plan.platinum{background:#111418}.plan-label{padding:28px 30px 0;margin:0;font-size:.77rem;opacity:.55}.plan>h3{font-size:2rem;font-weight:400;padding:0 30px;margin:12px 0 28px}.fee{border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);padding:22px 30px;display:flex;justify-content:space-between;gap:16px;align-items:baseline}.fee span{opacity:.55;font-size:.84rem}.fee strong{font-family:"Cormorant Garamond",serif;font-size:1.45rem;font-weight:500}.plan-body{padding:32px 30px}.plan-body h4{font-size:.78rem;letter-spacing:.12em;margin:30px 0 13px;opacity:.55}.plan-body h4:first-child{margin-top:0}.plan-body p,.plan-body li{line-height:1.85;opacity:.75}.plan-body ul{padding-left:1.2em}.special,.renew{margin-top:30px;padding:22px;border:1px solid rgba(255,255,255,.15)}.special span,.renew span{display:block;font-family:"Cormorant Garamond",serif;letter-spacing:.13em;font-size:.76rem;margin-bottom:10px;opacity:.62}.special p{margin:0}.renew strong{font-weight:500;line-height:1.8}.rules-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cbc7bf}.rules-grid article{background:#f0ede6;padding:45px}.rules ul{padding-left:1.2em}.philosophy{padding:140px 7vw;max-width:1300px;margin:auto}.philosophy>p{font-family:"Cormorant Garamond",serif;letter-spacing:.16em;opacity:.52}.philosophy h2{font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:1.1;max-width:900px;margin:20px 0 45px}.philosophy>div{max-width:760px;margin-left:auto}.philosophy>div p{line-height:2;opacity:.72}.philosophy>a{display:inline-block;margin:45px 0 0;border:1px solid rgba(255,255,255,.35);padding:16px 27px}footer{padding:55px 7vw;border-top:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}footer>a{font-family:"Cormorant Garamond",serif;font-size:1.25rem;letter-spacing:.1em}footer p{grid-column:1;opacity:.5;margin:0}footer small{grid-column:2;grid-row:1/3;opacity:.45}@media(max-width:900px){.plans-grid{grid-template-columns:1fr}.benefit-list>div{grid-template-columns:48px 1fr}.benefit-list h3{grid-column:2}.benefit-list p,.benefit-list small{grid-column:2}.rules-grid{grid-template-columns:1fr}}
@media(max-width:680px){.member-header{height:68px;padding:0 18px;grid-template-columns:1fr auto}.member-wordmark{justify-self:end;font-size:.95rem}.contact-link{display:none}.back-home{font-size:.72rem}.member-hero{min-height:auto;padding:105px 22px 72px}.member-hero h1{font-size:3.25rem}.desktop{display:none}.section,.plans{padding:76px 22px}.section-title{grid-template-columns:36px 1fr;margin-bottom:40px;column-gap:12px}.section-title h2{font-size:2.55rem}.info-grid{grid-template-columns:1fr}.info-grid article.wide{grid-column:auto}.info-grid article{padding:28px 24px}.benefit-list>div{gap:10px;padding:28px 0}.benefit-list h3{font-size:1.2rem}.plans .section-title{padding:0}.plan>h3{font-size:1.65rem}.fee{align-items:flex-start;flex-direction:column}.rules-grid article{padding:30px 24px}.philosophy{padding:90px 22px}.philosophy>div{margin-left:0}footer{display:block;padding:45px 22px}footer p,footer small{display:block;margin-top:10px}}

.membership-mobile-br{display:none}

@media(max-width:680px){.membership-mobile-br{display:block}}

.membership-mobile-copy{display:none}
@media(max-width:680px){.membership-desktop-copy{display:none}.membership-mobile-copy{display:block}.membership-mobile-copy .guest-callout p{margin-top:0}}

.membership-brand-line,.membership-title-line{display:block}
@media(max-width:680px){.membership-brand-line{white-space:nowrap;font-size:clamp(1.9rem,9.5vw,2.45rem);line-height:1.05}.membership-title-line{margin-top:.08em}}


/* Mobile-only copy for guest benefits */
.membership-mobile-only{display:none}
@media(max-width:680px){
  .membership-desktop-only{display:none}
  .membership-mobile-only{display:block}
  .membership-mobile-only .membership-note{margin-top:22px;font-size:.88rem;line-height:1.9;opacity:.68}
}

/* v14 — mobile membership luxury refinement */
@media(max-width:680px){
  .member-hero{
    padding-top:112px;
    padding-bottom:78px;
  }

  .member-hero .kicker{
    margin-bottom:18px;
    font-size:.72rem;
    letter-spacing:.24em;
    opacity:.48;
  }

  .member-hero h1{
    margin-bottom:30px;
    line-height:1;
  }

  .membership-brand-line{
    position:relative;
    display:block;
    white-space:nowrap;
    font-size:clamp(2rem,9.4vw,2.5rem);
    line-height:1.04;
    letter-spacing:.015em;
    padding-bottom:20px;
  }

  .membership-brand-line::after{
    content:"";
    display:block;
    width:72px;
    margin-top:17px;
    border-top:1px solid rgba(184,160,106,.78);
  }

  .membership-title-line{
    display:block;
    margin-top:0;
    font-size:1.55rem;
    line-height:1.25;
    letter-spacing:.12em;
    font-weight:400;
    opacity:.94;
  }

  .membership-intro-card{
    border:1px solid rgba(184,160,106,.50);
    border-radius:9px;
    padding:28px 24px 30px;
    background:rgba(255,255,255,.015);
  }

  .membership-intro-card .hero-lead{
    margin:0;
    padding:0 0 24px;
    font-size:1.02rem;
    line-height:2;
    opacity:.86;
  }

  .membership-intro-card .guest-callout{
    max-width:none;
    border:0;
    border-top:1px solid rgba(184,160,106,.28);
    padding:23px 0 0;
  }

  .membership-intro-card .guest-callout p{
    margin:0;
    font-size:.93rem;
    line-height:2.05;
    opacity:.74;
  }

  .membership-intro-card .guest-callout p + p{
    margin-top:22px;
  }

  .plans-grid{
    gap:18px;
  }

  .plan,
  .plan.gold,
  .plan.platinum{
    border:1px solid rgba(184,160,106,.46);
    border-radius:9px;
    overflow:hidden;
    background:#101010;
  }

  .plan.gold{background:#13120f}
  .plan.platinum{background:#101214}

  .plan-label{
    padding:25px 25px 0;
    letter-spacing:.22em;
    opacity:.62;
  }

  .plan>h3{
    padding:0 25px;
    margin:10px 0 24px;
    font-size:1.58rem;
  }

  .fee{
    padding:20px 25px;
    border-color:rgba(184,160,106,.23);
  }

  .plan-body{
    padding:29px 25px 31px;
  }

  .special,.renew{
    border-color:rgba(184,160,106,.32);
    border-radius:6px;
  }
}

/* v15 mobile lounge readability refinement */
@media (max-width: 768px) {
  .membership-subnote {
    display: inline-block;
    margin-top: 0.35em;
    font-size: 0.88em;
    opacity: 0.68;
    font-weight: 400;
  }
}


/* v17: tighten mobile lounge spacing */
@media (max-width: 768px) {
  .lounge-free-article .membership-mobile-only p {
    margin: 0 0 22px;
    line-height: 1.95;
  }
  .lounge-free-article .membership-mobile-only p:last-child {
    margin-bottom: 0;
  }
  .lounge-free-article .membership-mobile-only strong {
    display: inline;
    margin: 0;
    line-height: inherit;
  }
  .lounge-free-article .membership-mobile-only .membership-subnote {
    margin-top: 8px;
  }
  .lounge-free-article .membership-mobile-only .membership-note {
    margin-top: 26px;
  }
}

/* v21 — mobile FOR ALL GUESTS readability refinement */
@media (max-width: 680px) {
  .guest-benefits-section {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .guest-benefits-section .section-title {
    margin-bottom: 34px;
    align-items: start;
  }

  .guest-benefits-section .section-title > span,
  .guest-benefits-section .section-title > p {
    font-family: "Cormorant Garamond", serif;
  }

  .guest-benefits-section .section-title h2 {
    font-family: "Shippori Mincho", serif;
    font-size: 2.45rem;
    line-height: 1.28;
    letter-spacing: .02em;
    margin-top: 14px;
  }

  .guest-benefits-section .info-grid {
    display: block;
    background: transparent;
  }

  .guest-benefits-section .info-grid article {
    margin: 0 0 18px;
    padding: 28px 24px 30px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(148,125,73,.52);
    border-radius: 10px;
  }

  .guest-benefits-section .info-grid article:last-child {
    margin-bottom: 0;
  }

  .guest-benefits-section .info-grid h3 {
    font-family: "Shippori Mincho", serif;
    font-size: 1.28rem;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: .01em;
    margin: 0 0 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(148,125,73,.38);
  }

  .guest-benefits-section .info-grid p,
  .guest-benefits-section .info-grid span,
  .guest-benefits-section .info-grid strong,
  .guest-benefits-section .info-grid small {
    font-family: "Shippori Mincho", serif;
  }

  .guest-benefits-section .membership-mobile-only > p {
    margin: 0 0 22px;
    font-size: .98rem;
    line-height: 1.95;
  }

  .guest-benefits-section .membership-mobile-only > p:last-child {
    margin-bottom: 0;
  }

  .guest-benefit-highlight {
    margin: 24px 0;
    padding: 20px 18px;
    border-top: 1px solid rgba(148,125,73,.38);
    border-bottom: 1px solid rgba(148,125,73,.38);
    text-align: left;
  }

  .guest-benefit-highlight > span,
  .guest-benefit-highlight > strong,
  .guest-benefit-highlight > small {
    display: block;
    margin: 0;
  }

  .guest-benefit-highlight > strong {
    font-size: 1.34rem;
    line-height: 1.55;
    font-weight: 600;
    letter-spacing: .01em;
    margin: 7px 0;
  }

  .guest-benefit-highlight > span {
    font-size: .95rem;
    line-height: 1.9;
  }

  .guest-benefit-highlight .membership-subnote {
    margin-top: 9px;
    font-size: .82rem;
    line-height: 1.7;
    opacity: .62;
    font-weight: 400;
  }

  .guest-benefits-section .membership-note {
    margin-top: 24px !important;
    padding-top: 18px;
    border-top: 1px solid rgba(22,22,22,.16);
    font-size: .84rem !important;
    line-height: 1.85 !important;
    opacity: .66 !important;
  }

  .guest-benefits-section .rankup-article p {
    margin: 0 0 20px;
    font-size: .96rem;
    line-height: 1.95;
  }

  .guest-benefits-section .rankup-article .guest-benefit-highlight {
    margin-top: 22px;
  }
}

/* v25 — keep Japanese annual membership heading on one line on mobile */
@media (max-width: 680px) {
  html[lang="ja"] .plans .section-title h2 {
    white-space: nowrap;
    font-size: clamp(1.72rem, 8vw, 2.15rem);
    line-height: 1.18;
    letter-spacing: 0;
  }
}
