.info-page[data-page="membership"] { background: #ede7dd; color: #2c1f17; }
.info-page[data-page="membership"] .info-hero { min-height: 646px; padding: 175px 24px 130px; color: #2c1f17; background: #ede7dd; }
.info-page[data-page="membership"] .info-hero::before { display: none; }
.info-page[data-page="membership"] .info-hero-copy > p:first-child { font: 400 30px/1 Aboreto, Georgia, serif; }
.info-page[data-page="membership"] .info-hero h1 { margin-top: 20px; font: 700 60px/1 Pretendard, sans-serif; letter-spacing: -.035em; }
.info-page[data-page="membership"] .info-hero-copy > p:last-child { margin-top: 43px; font: 500 26px/36px Pretendard, sans-serif; }
.info-page[data-page="membership"]:not(.nav-revealed) .site-header { color: #2c1f17; }
.info-page[data-page="membership"]:not(.nav-revealed) .site-header .nav-submenu { color: #2c1f17; }
.info-page[data-page="membership"]:not(.nav-revealed) .site-header .nav-submenu a,
.info-page[data-page="membership"]:not(.nav-revealed) .site-header .nav-submenu span { text-shadow: none; }
.info-page[data-page="membership"]:not(.nav-revealed) .site-logo img { filter: brightness(0); }
.info-page[data-page="membership"]:not(.nav-revealed) .language-toggle { color: #2c1f17; }
.info-page[data-page="membership"]:not(.nav-revealed) .menu-toggle span { background: #2c1f17; }
.info-page[data-page="membership"].nav-revealed .site-header { color: #fff; }

.membership-section { position: relative; min-height: 919px; padding: 61px 24px 0; background: #ede7dd; isolation: isolate; }
.membership-section::before, .membership-section::after { content: ""; position: absolute; left: 0; right: 0; z-index: -1; pointer-events: none; }
.membership-section::before { top: 242px; height: 80px; background: linear-gradient(90deg, #fff 0%, #c7be9c 50%, #fff 100%); }
.membership-section::after { top: 322px; height: 365px; background: #fff; }
.membership-cards { display: grid; grid-template-columns: repeat(3, 263px); justify-content: center; gap: 80px; }
.membership-item { min-width: 0; text-align: center; }
.membership-card-face { position: relative; width: 263px; height: 407px; border-radius: 10px; box-shadow: inset 2px 2px 4px var(--card-inset), 0 4px 10px rgba(107,107,107,.4); color: #231a11; background: var(--card-gradient); }
.membership-item--silver { --card-gradient: linear-gradient(155.79deg, #e5e5e4 2.29%, #969696 65.24%, #e5e5e4 106.5%); --card-inset: #c8c6c6; --tier-color: #818181; }
.membership-item--gold { --card-gradient: linear-gradient(155.79deg, #c7be9c 2.29%, #877b50 65.24%, #c7be9c 106.5%); --card-inset: #b4a87a; --tier-color: #c09f7d; }
.membership-item--platinum { --card-gradient: linear-gradient(155.79deg, #fff 2.29%, #cfcfcf 65.24%, #fff 106.5%); --card-inset: #f4f4f4; --tier-color: #aeaeae; }
.membership-card-logo { position: absolute; top: 90px; left: 0; right: 0; padding-left: .42em; font: 500 30px/1 Georgia, serif; letter-spacing: .42em; }
.membership-card-caption { position: absolute; top: 285px; left: 0; right: 0; font: 400 13px/14px Aboreto, Georgia, serif; }
.membership-card-caption small { display: block; margin-top: 27px; font: 400 10px/1 Aboreto, Georgia, serif; }
.membership-tier { margin-top: 59px; color: var(--tier-color); }
.membership-tier h2 { font: 400 24px/1 Aboreto, Georgia, serif; text-shadow: 0 4px 4px rgba(107,107,107,.25); }
.membership-tier p { margin-top: 20px; font: 600 30px/1 Pretendard, sans-serif; }
.membership-note { position: absolute; right: max(12.5%, calc((100% - 1460px) / 2)); bottom: 150px; color: #817b77; font: 400 12px/1.4 Pretendard, sans-serif; }
.info-page[data-page="membership"] .consultation { height: 675px; }

@media (prefers-reduced-motion: no-preference) {
  .membership-motion-ready .membership-item {
    opacity: 0;
    transform: translate3d(0, 64px, 0);
    transition: opacity .85s ease, transform .85s cubic-bezier(.2,.72,.2,1);
    transition-delay: var(--reveal-delay, 0s);
  }
  .membership-motion-ready .membership-item.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
  .membership-item--gold { --reveal-delay: .12s; --float-duration: 5.2s; }
  .membership-item--platinum { --reveal-delay: .24s; --float-duration: 4.7s; }
  .membership-motion-ready .membership-item.is-visible .membership-card-face,
  .membership-motion-ready .membership-item.is-visible .membership-tier {
    animation: membership-float var(--float-duration, 5s) ease-in-out calc(var(--reveal-delay, 0s) + .9s) infinite;
  }
  .membership-motion-ready .membership-item:hover .membership-card-face,
  .membership-motion-ready .membership-item:hover .membership-tier { animation-play-state: paused; }
  @keyframes membership-float {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(0, -13px, 0); }
  }
}

@media (max-width: 1050px) {
  .info-page[data-page="membership"] .info-hero { min-height: 540px; padding-top: 150px; padding-bottom: 100px; }
  .membership-section { min-height: 790px; padding-top: 50px; }
  .membership-section::before { top: 205px; height: 70px; }
  .membership-section::after { top: 275px; height: 320px; }
  .membership-cards { grid-template-columns: repeat(3, minmax(0, 210px)); gap: 28px; }
  .membership-card-face { width: 100%; height: 325px; }
  .membership-card-logo { top: 70px; font-size: 24px; }
  .membership-card-caption { top: 225px; font-size: 11px; line-height: 12px; }
  .membership-card-caption small { margin-top: 20px; font-size: 8px; }
  .membership-tier { margin-top: 47px; }
  .membership-tier h2 { font-size: 20px; }
  .membership-tier p { font-size: 24px; }
  .membership-note { right: 5%; bottom: 115px; }
  .info-page[data-page="membership"] .consultation { height: 500px; }
}

@media (max-width: 700px) {
  .info-page[data-page="membership"] .info-hero { min-height: 360px; padding: 120px 20px 70px; }
  .info-page[data-page="membership"] .info-hero-copy > p:first-child { font-size: 17px; }
  .info-page[data-page="membership"] .info-hero h1 { margin-top: 16px; font-size: 38px; }
  .info-page[data-page="membership"] .info-hero-copy > p:last-child { margin-top: 25px; font-size: 17px; line-height: 27px; }
  .membership-section { min-height: auto; padding: 65px 20px 145px; }
  .membership-section::before { top: 210px; height: 60px; }
  .membership-section::after { top: 270px; height: calc(100% - 430px); }
  .membership-cards { grid-template-columns: 1fr; justify-items: center; gap: 80px; }
  .membership-card-face { width: min(263px, calc(100vw - 60px)); height: 407px; }
  .membership-card-logo { top: 90px; font-size: 30px; }
  .membership-card-caption { top: 285px; font-size: 13px; line-height: 14px; }
  .membership-card-caption small { margin-top: 27px; font-size: 10px; }
  .membership-tier { margin-top: 40px; }
  .membership-tier h2 { font-size: 22px; }
  .membership-tier p { margin-top: 16px; font-size: 26px; }
  .membership-note { position: static; max-width: 320px; margin: 85px auto 0; text-align: center; font-size: 12px; line-height: 1.5; }
  .info-page[data-page="membership"] .consultation { height: 340px; }
}
