:root {
  --ink: #0b0d12;
  --ink-2: #10141c;
  --ink-3: #1a2230;
  --text: #f4ecd4;
  --paper: #0b0d12;
  --paper-2: #151a24;
  --white: #ffffff;
  --line: rgba(224, 179, 74, .22);
  --green: #1fa971;
  --green-deep: #0b4c3a;
  --mint: #f0d48a;
  --coral: #e0b34a;
  --gold: #e0b34a;
  --chip: #d93c3c;
  --muted: #a89b7d;
  --display: "Arial Narrow", "Roboto Condensed", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", Arial, sans-serif;
  --body: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", Arial, sans-serif;
  --content: min(1220px, calc(100% - 64px));
}

* { box-sizing: border-box; }
html { overflow-x: hidden; overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: 90px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; overflow-x: hidden; overflow-x: clip; color: var(--text); background: var(--paper); font-family: var(--body); line-height: 1.65; letter-spacing: 0; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; font: inherit; }
img { max-width: 100%; height: auto; }
h1, h2, h3, p, figure, blockquote { margin-top: 0; }
code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
[hidden] { display: none !important; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 1em; height: 1em; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.skip-link { position: fixed; z-index: 100; left: 16px; top: -72px; padding: 10px 14px; color: var(--text); background: var(--paper-2); border: 1px solid var(--line); border-radius: 4px; transition: top .2s ease; }
.skip-link:focus { top: 16px; }

.site-header { position: absolute; z-index: 20; inset: 0 0 auto; color: #fff; border-bottom: 1px solid rgba(255,255,255,.14); transition: background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease; }
.site-header.is-scrolled { position: fixed; background: rgba(8,10,14,.94); box-shadow: 0 12px 40px rgba(0,0,0,.35); backdrop-filter: blur(15px); }
.header-inner { width: var(--content); height: 82px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; transition: height .3s ease; }
.site-header.is-scrolled .header-inner { height: 66px; }
.scroll-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; background: rgba(255,255,255,.08); pointer-events: none; }
.scroll-progress span { width: 100%; height: 100%; display: block; background: var(--gold); transform: scaleX(0); transform-origin: left center; transition: transform .1s linear; }

.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 190px; }
.brand-mark { position: relative; width: 38px; height: 38px; display: grid; place-items: center; color: #0b0d12; background: radial-gradient(circle at 30% 30%, #f3d27a, var(--gold) 58%, #b8862a); border: 1px solid #f6e2a4; border-radius: 50%; transform: none; transition: transform .3s ease; }
.brand-mark::after { content: ""; position: absolute; inset: -4px; z-index: -1; background: transparent; border: 1px solid rgba(224,179,74,.45); border-radius: 50%; }
.brand:hover .brand-mark, .brand:focus-visible .brand-mark { transform: translateY(-2px) rotate(-3deg); }
.brand-mark span { font: 800 15px/1 var(--display); }
.brand-copy { display: grid; gap: 2px; }
.brand-copy strong { font: 800 15px/1 var(--display); letter-spacing: .04em; }
.brand-copy small { color: rgba(255,255,255,.62); font-size: 11px; letter-spacing: 0; }
.desktop-nav { display: flex; align-items: center; gap: 30px; color: rgba(255,255,255,.72); font-size: 13px; }
.desktop-nav a { position: relative; padding: 12px 0; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 5px; height: 2px; background: var(--gold); transition: right .22s ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: #fff; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.header-action { min-height: 40px; padding: 0 15px; display: inline-flex; align-items: center; gap: 8px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.35); border-radius: 4px; cursor: pointer; font-size: 12px; font-weight: 700; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.header-action:hover, .header-action:focus-visible { background: var(--gold); border-color: var(--gold); color: #0b0d12; transform: translateY(-1px); }
.header-action.is-copied { color: #0b0d12; background: var(--green); border-color: var(--green); }
.header-action svg { width: 15px; height: 15px; }

.hero { position: relative; min-height: min(820px,calc(100svh - 110px)); display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--ink); }
.hero-photo { position: absolute; inset: -38px; overflow: hidden; transform: translate3d(0,var(--hero-parallax,0),0) scale(1.02); animation: hero-drift 17s ease-in-out infinite alternate; will-change: transform; }
.hero-photo img, .quote-photo img, .final-cta-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.hero-photo img { object-position: center 62%; }
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,8,12,.94) 0%,rgba(8,10,14,.82) 34%,rgba(8,12,10,.28) 68%,rgba(8,13,10,.08) 100%),linear-gradient(0deg,rgba(7,8,12,.55),transparent 42%); }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: linear-gradient(90deg,var(--gold) 0 42%,var(--green) 42% 70%,var(--chip) 70%); }
.hero-inner { position: relative; z-index: 2; width: var(--content); margin: 82px auto 0; padding: 58px 0 86px; }
.hero-copy { max-width: 640px; }
.eyebrow, .section-kicker { margin-bottom: 19px; color: var(--green); font: 800 11px/1.2 var(--display); letter-spacing: 0; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.74); }
.eyebrow-line { width: 30px; height: 2px; display: inline-block; background: var(--gold); }
h1 { margin-bottom: 24px; font: 800 88px/1.1 var(--display); letter-spacing: 0; }
.hero-title { margin: 0 0 10px; color: var(--gold); font: 800 88px/.95 var(--display); letter-spacing: .08em; text-shadow: 0 18px 48px rgba(0,0,0,.45); }
.hero-tagline { margin-bottom: 22px; font: 700 28px/1.45 var(--display); }
.hero-tagline em { color: #fff; font-style: normal; }
.hero-lede { max-width: 520px; margin: 18px 0 20px; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.club-id-card { width: min(100%, 540px); padding: 18px 18px 16px; color: #fff; background: linear-gradient(180deg,rgba(16,20,28,.86),rgba(11,13,18,.9)); border: 1px solid rgba(224,179,74,.48); border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.28), inset 0 1px 0 rgba(243,210,122,.18); }
.club-id-card > span { display: block; margin-bottom: 8px; color: var(--gold); font: 800 11px/1 var(--display); letter-spacing: .08em; }
.club-id-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.club-id-card code { color: var(--gold); font-size: 56px; font-weight: 800; letter-spacing: .16em; line-height: 1; font-variant-numeric: tabular-nums; }
.club-id-card .copy-button { min-width: 108px; min-height: 42px; color: #0b0d12; background: var(--gold); border-color: var(--gold); }
.club-id-card .copy-button:hover, .club-id-card .copy-button:focus-visible { color: #0b0d12; background: #f3d27a; }
.club-id-card p { margin: 12px 0 0; color: rgba(244,236,212,.72); font-size: 13px; }
.join-section { background: var(--paper-2); }
.join-heading { max-width: 640px; }
.join-heading .section-kicker { margin-bottom: 10px; }
.join-heading h2 { max-width: none; }
.join-heading .section-intro { margin: 10px 0 0; max-width: 520px; color: #e8dcc0; }
.club-id-board { margin-top: 32px; padding: 26px 32px 24px; background: linear-gradient(180deg,#171c27,#10141c); border: 1px solid rgba(224,179,74,.4); border-radius: 18px; box-shadow: inset 0 1px 0 rgba(243,210,122,.12); }
.club-id-board .section-kicker { margin-bottom: 10px; color: var(--gold); }
.club-id-board__row { display: flex; align-items: center; justify-content: space-between; gap: 20px 28px; }
.club-id-board code { display: block; font-size: clamp(40px, 6.4vw, 72px); letter-spacing: .14em; color: var(--gold); font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; }
.club-id-board p { margin: 12px 0 0; color: #d4c49a; font-size: 13px; }
.club-id-board .button { flex: 0 0 auto; min-width: 180px; }
.club-id-board .button:hover svg, .club-id-board .button:focus-visible svg { transform: none; }
.join-steps { margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; list-style: none; }
.join-step { position: relative; min-height: 168px; padding: 22px 20px 20px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; box-shadow: inset 0 2px 0 var(--gold); }
.join-step::after { content: ""; position: absolute; top: 39px; right: -10px; width: 8px; height: 1px; background: rgba(224,179,74,.45); }
.join-step:last-child::after { display: none; }
.join-step > span { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 16px; color: #0b0d12; background: var(--gold); border-radius: 50%; font: 800 13px/1 var(--display); }
.join-step strong { display: block; margin-bottom: 8px; color: var(--text); font-size: 16px; }
.join-step p { margin: 0; color: #e8dcc0; font-size: 13px; line-height: 1.7; }
.button { min-height: 52px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; border-radius: 5px; cursor: pointer; font-weight: 800; font-size: 14px; transition: transform .22s ease, color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease; }
.button svg { width: 17px; height: 17px; transition: transform .22s ease; }
.button:hover, .button:focus-visible { transform: translateY(-3px); }
.button:hover svg, .button:focus-visible svg { transform: translateX(3px); }
.button--primary { color: #0b0d12; background: linear-gradient(180deg,#f3d27a,#e0b34a); box-shadow: 0 16px 34px rgba(224,179,74,.28); }
.button--primary:hover { background: linear-gradient(180deg,#fbe2a2,#e8c15a); }
.button--ghost { color: #fff; background: rgba(255,255,255,.06); border-color: rgba(224,179,74,.45); backdrop-filter: blur(8px); }
.button--ghost:hover { background: rgba(224,179,74,.16); border-color: var(--gold); }
.button--light { color: #0b0d12; background: var(--gold); }
.button--light:hover { color: #0b0d12; background: #f3d27a; }
.scroll-cue { position: absolute; z-index: 3; left: max(32px,calc((100vw - 1220px)/2)); bottom: 24px; display: inline-flex; align-items: center; gap: 9px; color: rgba(255,255,255,.6); font-size: 11px; }
.scroll-cue svg { width: 14px; height: 14px; animation: bob 1.8s ease-in-out infinite; }
.hero-enter { opacity: 0; animation: hero-enter .72s ease forwards; }
.hero-enter--one { animation-delay: .05s; }.hero-enter--two { animation-delay: .13s; }.hero-enter--three { animation-delay: .22s; }.hero-enter--four { animation-delay: .31s; }.hero-enter--five { animation-delay: .42s; }

.ticker { height: 58px; overflow: hidden; color: #121712; background: var(--gold); border-bottom: 1px solid rgba(18,23,18,.18); }
.ticker-track { width: max-content; height: 100%; display: flex; align-items: center; gap: 32px; padding-right: 32px; animation: ticker-move 28s linear infinite; }
.ticker span { font: 800 12px/1 var(--display); white-space: nowrap; }
.ticker b { color: var(--green-deep); font: 700 15px/1 Georgia,serif; }

.section { padding: 112px 0; }
.section-inner { width: var(--content); margin: 0 auto; }
.section-kicker--light { color: var(--mint); }
.section-heading--wide { display: grid; grid-template-columns: 1fr 1.45fr .86fr; gap: 44px; align-items: start; }
.section-heading--wide .section-kicker { margin-top: 10px; }
.section-heading h2, .review-copy h2, .journal-heading h2, .contact-copy h2, .principles h2, .faq-intro h2, .final-cta h2, .join-section h2 { margin-bottom: 0; font: 800 52px/1.12 var(--display); letter-spacing: 0; }
.section-intro { margin: 6px 0 0; color: var(--muted); font-size: 15px; line-height: 1.85; }

.exchange-section { background: var(--paper); }
.exchange-grid { margin-top: 62px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.exchange-item { position: relative; min-height: 310px; padding: 32px 36px 34px; border-right: 1px solid var(--line); transition: color .3s ease, background-color .3s ease, transform .3s ease; }
.exchange-item:first-child { padding-left: 0; }.exchange-item:last-child { padding-right: 0; border-right: 0; }
.exchange-number { color: var(--green); font: 800 11px/1 var(--display); }
.exchange-icon { position: absolute; right: 34px; top: 28px; width: 42px; height: 42px; display: grid; place-items: center; color: var(--green); border: 1px solid var(--line); border-radius: 50%; transition: color .3s ease, background-color .3s ease, transform .3s ease; }
.exchange-item:last-child .exchange-icon { right: 0; }
.exchange-icon svg { width: 19px; height: 19px; }
.exchange-item h3 { margin: 94px 0 13px; font: 800 26px/1.2 var(--display); }
.exchange-item p { max-width: 320px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.85; }
@media (hover:hover) {
  .exchange-item:hover { z-index: 1; color: #fff; background: var(--green-deep); transform: translateY(-7px); }
  .exchange-item:hover p { color: rgba(255,255,255,.74); }
  .exchange-item:hover .exchange-number { color: var(--gold); }
  .exchange-item:hover .exchange-icon { color: #0b0d12; background: var(--gold); border-color: var(--gold); transform: rotate(-8deg) scale(1.08); }
}

.review-story { min-height: 780px; display: grid; grid-template-columns: 1.06fr .94fr; color: #fff; background: var(--ink-2); }
.review-image { position: relative; min-height: 780px; overflow: hidden; }
.review-image img, .journal-shot img { --parallax-y: 0px; position: absolute; inset: -35px 0 auto; width: 100%; height: calc(100% + 70px); display: block; object-fit: cover; transform: translate3d(0,var(--parallax-y),0) scale(1.04); will-change: transform; }
.review-image img { object-position: 58% center; filter: saturate(.78) contrast(1.08); }
.review-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 70%,rgba(28,36,30,.75)),linear-gradient(0deg,rgba(11,18,13,.5),transparent 45%); }
.image-label { position: absolute; z-index: 2; left: 28px; bottom: 28px; padding: 8px 10px; color: #0b0d12; background: var(--gold); font: 800 11px/1 var(--display); }
.review-copy { padding: 110px max(40px,calc((100vw - 1220px)/2)) 90px 80px; display: flex; flex-direction: column; justify-content: center; }
.review-copy h2 em, .contact-copy h2 em { color: var(--mint); font-style: normal; }
.review-lede { max-width: 560px; margin: 25px 0 40px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.9; }
.review-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.16); }
.review-list li { min-height: 78px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); transition: padding-left .25s ease, background-color .25s ease; }
.review-list li:hover { padding-left: 12px; background: rgba(255,255,255,.035); }
.review-list li > span { color: var(--coral); font: 800 11px/1 var(--display); }
.review-list strong, .review-list small { display: block; }
.review-list strong { font-size: 15px; }.review-list small { margin-top: 4px; color: rgba(255,255,255,.62); font-size: 12px; }

.visual-journal { padding: 118px 0 130px; overflow: hidden; background: var(--paper-2); }
.journal-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 70px; align-items: end; }
.journal-heading > p { max-width: 460px; margin: 0 0 5px; color: var(--muted); font-size: 15px; line-height: 1.85; }
.journal-gallery { width: min(1380px,calc(100% - 40px)); height: 720px; margin: 72px auto 0; display: grid; grid-template-columns: 1.25fr .68fr; grid-template-rows: 1fr .54fr; gap: 16px; }
.journal-shot { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; background: var(--ink); }
.journal-shot--wide { grid-row: 1 / 3; }
.journal-shot--tall { grid-column: 2; grid-row: 1; }
.journal-shot--detail { grid-column: 2; grid-row: 2; }
.journal-shot img { transition: filter .5s ease, transform .25s linear; filter: saturate(.76) contrast(1.04); }
.journal-shot--wide img { object-position: 50% 48%; }.journal-shot--tall img { object-position: 50% 34%; }.journal-shot--detail img { object-position: 52% center; }
.journal-shot::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(8,14,10,.72),transparent 48%); pointer-events: none; }
.journal-shot figcaption { position: absolute; z-index: 2; left: 26px; right: 26px; bottom: 24px; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: #fff; }
.journal-shot figcaption span { color: var(--gold); font: 800 10px/1 var(--display); }.journal-shot figcaption strong { font-size: 15px; }
@media (hover:hover) { .journal-shot:hover img { filter: saturate(1) contrast(1.02); transform: translate3d(0,var(--parallax-y),0) scale(1.075); } }

.quote-band { position: relative; min-height: 610px; display: grid; place-items: center; overflow: hidden; color: #fff; background: var(--ink); }
.quote-photo { position: absolute; inset: -45px; overflow: hidden; animation: quote-drift 15s ease-in-out infinite alternate; }
.quote-photo img { object-position: center 53%; }
.quote-scrim { position: absolute; inset: 0; background: rgba(8,15,11,.76); }
.quote-inner { position: relative; z-index: 1; text-align: center; }
.quote-mark { display: block; height: 56px; color: var(--coral); font: 700 88px/1 Georgia,serif; }
.quote-inner blockquote { margin: 8px auto 25px; font: 800 48px/1.32 var(--display); letter-spacing: 0; }
.quote-inner blockquote em { color: var(--mint); font-style: normal; }
.quote-inner p { margin: 0; color: rgba(255,255,255,.58); font-size: 12px; }

.contact-section { color: #fff; background: var(--green-deep); }
.contact-layout { display: grid; grid-template-columns: minmax(330px,.76fr) 1.1fr; gap: 120px; align-items: center; }
.contact-visual { width: min(100%,430px); }
.qr-stage { position: relative; padding: 22px; background: #fff; box-shadow: 24px 24px 0 var(--gold),-14px -14px 0 rgba(31,169,113,.38); }
.qr-frame { background: #fff; border: 1px solid var(--line); }
.qr-frame img { width: 100%; height: 100%; display: block; object-fit: contain; }
.qr-frame--page { aspect-ratio: 1; padding: 14px; }
.qr-corner { position: absolute; width: 46px; height: 46px; border-color: var(--coral); border-style: solid; pointer-events: none; }
.qr-corner--one { left: 9px; top: 9px; border-width: 3px 0 0 3px; }.qr-corner--two { right: 9px; bottom: 9px; border-width: 0 3px 3px 0; }
.qr-fallback { margin: 20px 0 0; padding: 11px 13px; color: #0b0d12; background: var(--mint); border-left: 3px solid var(--gold); font-size: 12px; }
.qr-caption { margin-top: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.qr-caption span { color: rgba(255,255,255,.6); font: 800 10px/1 var(--display); }.qr-caption strong { font-size: 14px; }
.contact-copy { max-width: 620px; }
.contact-copy h2 { margin-bottom: 25px; }
.contact-copy > p:not(.section-kicker):not(.copy-status) { max-width: 560px; margin-bottom: 30px; color: rgba(255,255,255,.76); font-size: 15px; line-height: 1.9; }
.contact-details { max-width: 560px; border-top: 1px solid rgba(255,255,255,.19); }
.contact-id { min-height: 76px; padding: 12px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.16); }
.contact-id > div { display: grid; gap: 3px; }.contact-id span { color: rgba(255,255,255,.6); font-size: 12px; }
.contact-id code { color: var(--mint); font-size: 20px; font-weight: 800; }
.contact-id--club code { color: var(--gold); font-size: 28px; letter-spacing: .12em; }
.copy-button { min-width: 100px; min-height: 40px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 4px; cursor: pointer; font-size: 12px; font-weight: 800; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.contact-section .copy-button { color: var(--gold); }.copy-button:hover, .copy-button:focus-visible { color: #0b0d12; background: var(--gold); }.copy-button:active { transform: scale(.97); }.copy-button.is-copied { color: #0b0d12; background: var(--green); border-color: var(--green); }.copy-button svg { width: 14px; height: 14px; }.copy-button--compact { min-height: 34px; padding: 0 10px; color: var(--gold); }
.copy-status { min-height: 22px; margin: 9px 0 0; color: var(--gold); font-size: 12px; }
.inline-link { padding: 5px 0; display: inline-flex; align-items: center; gap: 7px; color: #fff; background: transparent; border: 0; cursor: pointer; font-size: 13px; font-weight: 800; }.inline-link svg { width: 14px; height: 14px; transition: transform .2s ease; }.inline-link:hover svg { transform: scale(1.15); }

.principles { padding: 55px 0; color: #121712; background: var(--gold); }
.principles-inner { display: grid; grid-template-columns: .64fr 1.36fr; gap: 70px; align-items: center; }
.principles .section-kicker { margin-bottom: 8px; color: rgba(18,23,18,.6); }.principles h2 { font-size: 34px; }
.principles-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-left: 1px solid rgba(18,23,18,.2); }
.principles-list span { min-height: 76px; padding: 12px 22px; display: flex; align-items: center; gap: 10px; border-right: 1px solid rgba(18,23,18,.2); font-size: 13px; font-weight: 700; }.principles-list svg { width: 17px; height: 17px; flex: 0 0 auto; color: var(--green-deep); }

.faq-section { padding-bottom: 126px; background: var(--paper); }
.faq-layout { display: grid; grid-template-columns: .67fr 1.33fr; gap: 120px; align-items: start; }
.faq-intro > p:last-child { max-width: 320px; margin-top: 23px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question { width: 100%; min-height: 78px; padding: 18px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--text); background: transparent; border: 0; cursor: pointer; text-align: left; font-size: 16px; font-weight: 800; }
.faq-question svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--green); transition: transform .3s ease, color .3s ease; }.faq-question:hover svg { color: var(--coral); transform: rotate(90deg); }
.faq-answer { max-width: 680px; padding: 0 46px 24px 0; color: var(--muted); font-size: 14px; line-height: 1.85; }.faq-answer p { margin: 0; }.faq-item.is-open .faq-question { color: var(--gold); }.faq-item.is-open .faq-question svg { transform: rotate(45deg); }
.faq-motion-ready .faq-answer { max-height: 0; padding-bottom: 0; overflow: hidden; opacity: 0; transition: max-height .45s cubic-bezier(.22,.61,.36,1),padding-bottom .34s ease,opacity .28s ease; }.faq-motion-ready .faq-item.is-open .faq-answer { max-height: 360px; padding-bottom: 24px; opacity: 1; }

.final-cta { position: relative; min-height: 490px; display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--ink); }
.final-cta-image { position: absolute; inset: -45px; overflow: hidden; animation: quote-drift 16s ease-in-out infinite alternate-reverse; }
.final-cta-image img { object-position: center 56%; }
.final-cta-scrim { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,13,9,.9),rgba(7,13,9,.54)); }
.final-cta-inner { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 50px; }.final-cta h2 { font-size: 48px; }.final-cta .section-kicker { margin-bottom: 14px; }

.site-footer { padding: 39px 0 44px; color: rgba(255,255,255,.62); background: #090d0a; }
.footer-inner { width: var(--content); margin: 0 auto; }.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.12); }
.footer-brand { display: flex; align-items: center; gap: 9px; color: #fff; font: 800 12px/1 var(--display); }.footer-mark { width: 25px; height: 25px; display: grid; place-items: center; color: #0b0d12; background: var(--gold); border: 1px solid #f6e2a4; border-radius: 50%; font-size: 11px; font-weight: 800; }
.footer-top nav { display: flex; align-items: center; gap: 22px; font-size: 12px; }.footer-top a:hover { color: #fff; }.footer-disclaimer { max-width: 760px; margin: 22px 0 20px; font-size: 12px; line-height: 1.8; }.footer-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: rgba(255,255,255,.5); font-size: 11px; }.footer-divider { width: 3px; height: 3px; border-radius: 50%; background: var(--coral); }

.mobile-actions { display: none; }
.modal { position: fixed; z-index: 60; inset: 0; display: grid; place-items: center; padding: 24px; opacity: 0; transition: opacity .18s ease; }.modal.is-open { opacity: 1; }.modal-backdrop { position: absolute; inset: 0; background: rgba(6,10,7,.82); backdrop-filter: blur(7px); }
.modal-dialog { position: relative; width: min(100%,420px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 33px; color: var(--text); background: #151a24; border: 1px solid rgba(224,179,74,.4); border-radius: 12px; box-shadow: 0 30px 100px rgba(0,0,0,.55); transform: translateY(10px) scale(.985); transition: transform .18s ease; }.modal.is-open .modal-dialog { transform: translateY(0) scale(1); }
.modal-close { position: absolute; top: 15px; right: 15px; }.icon-button { width: 34px; height: 34px; padding: 0; display: grid; place-items: center; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 50%; cursor: pointer; transition: color .2s ease,background-color .2s ease,border-color .2s ease; }.icon-button:hover { color: var(--gold); background: var(--paper); border-color: var(--gold); }.icon-button svg { width: 16px; height: 16px; }
.modal-heading { padding-right: 36px; }.modal-heading .section-kicker { margin-bottom: 12px; }.modal-heading h2 { margin-bottom: 9px; font: 800 32px/1.15 var(--display); }.modal-heading > p:last-child { margin-bottom: 23px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.qr-frame--modal { width: min(100%,260px); aspect-ratio: 1; margin: 0 auto 21px; padding: 12px; }.wechat-id-row { min-height: 60px; display: flex; align-items: center; gap: 11px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.wechat-id-row + .wechat-id-row { border-top: 0; }.wechat-label { color: var(--muted); font-size: 12px; white-space: nowrap; }.wechat-id-row code { flex: 1; color: var(--gold); font-size: 15px; font-weight: 800; letter-spacing: .06em; }.wechat-id-row--club code { font-size: 22px; letter-spacing: .12em; }.modal-dialog .copy-status { color: var(--gold); text-align: center; }.modal-footnote { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; text-align: center; }
.copy-button--compact { width: 74px; min-width: 74px; flex: 0 0 74px; }
.clipboard-helper { position: fixed; left: -9999px; top: 0; opacity: 0; }

.motion-ready [data-reveal] { opacity: 0; transform: translate3d(0,28px,0); transition: opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1); transition-delay: var(--reveal-delay,0ms); }
.motion-ready [data-reveal="right"] { transform: translate3d(34px,0,0); }
.motion-ready [data-reveal="scale"] { transform: scale(.955); }
.motion-ready [data-reveal="wipe"] { opacity: 1; transform: none; }
/* Animate a cover so the observed image wrapper retains its intersection area. */
.motion-ready [data-reveal="wipe"]::before { content: ""; position: absolute; z-index: 3; inset: 0; background: var(--ink-2); pointer-events: none; transform: scaleX(1); transform-origin: right; transition: transform .9s cubic-bezier(.22,.61,.36,1); transition-delay: var(--reveal-delay,0ms); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: none; }
.motion-ready [data-reveal="wipe"].is-visible::before { transform: scaleX(0); }

.legal-body { min-height: 100vh; background: var(--paper); }.legal-header { color: #fff; background: #07090d; }.legal-header .header-inner { height: 72px; }.legal-main { width: min(820px,calc(100% - 48px)); margin: 0 auto; padding: 88px 0 110px; }.legal-eyebrow { margin-bottom: 17px; color: var(--gold); font: 800 11px/1.2 var(--display); }.legal-main h1 { margin-bottom: 18px; color: var(--text); font-size: 64px; }.legal-lede { max-width: 650px; margin-bottom: 52px; color: var(--muted); font-size: 15px; line-height: 1.9; }.legal-section { padding: 29px 0; border-top: 1px solid var(--line); }.legal-section h2 { margin-bottom: 13px; font: 800 22px/1.3 var(--display); }.legal-section p,.legal-section li { color: var(--muted); font-size: 14px; line-height: 1.9; }.legal-section ul { margin: 0; padding-left: 20px; }.legal-section a { color: var(--gold); text-decoration: underline; }.legal-back { margin-top: 34px; display: inline-flex; align-items: center; gap: 8px; color: var(--gold); font-size: 13px; font-weight: 800; }
.legal-header .header-label { color: rgba(255,255,255,.72); font-size: 12px; font-weight: 700; }
.not-found { min-height: calc(100vh - 72px); display: grid; place-items: center; padding: 60px 24px; text-align: center; }.not-found strong { display: block; color: var(--gold); font: 800 120px/1 var(--display); }.not-found h1 { margin: 12px 0; color: var(--text); font-size: 48px; }.not-found p { max-width: 460px; margin: 0 auto 27px; color: var(--muted); font-size: 14px; }

:focus-visible { outline: 3px solid rgba(224,179,74,.7); outline-offset: 3px; }
@keyframes hero-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-drift { from { transform: translate3d(-.4%,var(--hero-parallax,0),0) scale(1.06); } to { transform: translate3d(.5%,var(--hero-parallax,0),0) scale(1.1); } }
@keyframes quote-drift { from { transform: scale(1.04) translateX(-.5%); } to { transform: scale(1.09) translateX(.5%); } }
@keyframes bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
@keyframes ticker-move { to { transform: translateX(-50%); } }
@keyframes mobile-actions-enter { from { opacity: 0; transform: translateY(100%); } to { opacity: 1; transform: translateY(0); } }

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal],.motion-ready [data-reveal],.hero-enter { opacity: 1; transform: none; clip-path: none; }
  .motion-ready [data-reveal="wipe"]::before { display: none; }
  .hero-photo { --hero-parallax: 0px !important; }.review-image img,.journal-shot img { --parallax-y: 0px !important; }
}

@media (max-width:1000px) {
  :root { --content: min(100% - 44px,860px); }
  .desktop-nav { display: none; }.section-heading--wide { grid-template-columns: 1fr 1.5fr; }.section-heading--wide .section-intro { grid-column: 2; }.review-copy { padding-left: 52px; }.contact-layout { gap: 70px; }.faq-layout { gap: 70px; }.principles-inner { grid-template-columns: 1fr; gap: 26px; }
}

@media (max-width:840px) {
  :root { --content: min(100% - 36px,680px); }
  .header-inner { height: 68px; }.site-header.is-scrolled .header-inner { height: 58px; }.desktop-nav { display: none; }.header-action span { display: none; }.header-action { width: 40px; padding: 0; justify-content: center; }
  html { scroll-padding-top: 78px; }
  .hero { min-height: min(760px,calc(100svh - 132px)); }.hero-photo img { object-position: 65% center; }.hero-inner { margin-top: 68px; padding: 48px 0 62px; }.hero-copy { max-width: 640px; }.hero-scrim { background: linear-gradient(90deg,rgba(7,12,9,.85),rgba(8,15,11,.43)),linear-gradient(0deg,rgba(8,14,10,.34),transparent 50%); }.scroll-cue { display: none; }
  h1 { font-size: 62px; }.hero-title { font-size: 68px; letter-spacing: .06em; }.section { padding: 86px 0; }.section-heading h2,.review-copy h2,.journal-heading h2,.contact-copy h2,.faq-intro h2,.join-section h2 { font-size: 44px; }.section-heading--wide { grid-template-columns: 1fr; gap: 18px; }.section-heading--wide .section-intro { grid-column: auto; max-width: 560px; }
  .exchange-grid { margin-top: 42px; grid-template-columns: 1fr; }.exchange-item { min-height: auto; padding: 28px 0 31px; border-right: 0; border-bottom: 1px solid var(--line); }.exchange-item:last-child { border-bottom: 0; }.exchange-icon,.exchange-item:last-child .exchange-icon { right: 0; top: 22px; }.exchange-item h3 { margin-top: 38px; }
  .review-story { min-height: 0; grid-template-columns: 1fr; }.review-image { min-height: 500px; }.review-image::after { background: linear-gradient(0deg,rgba(28,36,30,.8),transparent 42%); }.review-copy { padding: 74px max(18px,calc((100vw - 680px)/2)) 82px; }
  .visual-journal { padding: 88px 0 98px; }.journal-heading { grid-template-columns: 1fr; gap: 22px; }.journal-heading > p { max-width: 560px; }.journal-gallery { width: calc(100% - 36px); height: 760px; grid-template-columns: 1fr 1fr; grid-template-rows: 1.08fr .72fr; }.journal-shot--wide { grid-column: 1 / 3; grid-row: 1; }.journal-shot--tall { grid-column: 1; grid-row: 2; }.journal-shot--detail { grid-column: 2; grid-row: 2; }
  .quote-band { min-height: 520px; }.quote-inner blockquote { font-size: 39px; }
  .contact-layout { grid-template-columns: 1fr; gap: 70px; }.contact-visual { width: min(100%,390px); }.contact-copy { max-width: none; }
  .principles-list { grid-template-columns: 1fr; border-left: 0; border-top: 1px solid rgba(18,23,18,.2); }.principles-list span { min-height: 58px; padding: 10px 0; border-right: 0; border-bottom: 1px solid rgba(18,23,18,.2); }
  .faq-layout { grid-template-columns: 1fr; gap: 42px; }.faq-section { padding-bottom: 105px; }.final-cta { min-height: 460px; }.final-cta-inner { align-items: flex-start; flex-direction: column; }.final-cta .button { width: auto; }
  .mobile-actions { position: fixed; z-index: 30; inset: auto 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: rgba(9,13,10,.95); border-top: 1px solid rgba(255,255,255,.13); animation: mobile-actions-enter .45s .45s both ease; backdrop-filter: blur(11px); }.mobile-action { width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 4px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; }.mobile-action svg { width: 16px; height: 16px; }.mobile-action--primary { color: #0b0d12; background: var(--gold); }.mobile-action--secondary { color: var(--gold); background: rgba(224,179,74,.12); }.mobile-action.is-copied { color: #0b0d12; background: var(--green); }.site-footer { padding-bottom: 104px; }
}

@media (max-width:520px) {
  :root { --content: calc(100% - 28px); }
  .brand { min-width: 0; }.brand-copy strong { font-size: 12px; }
  .hero-inner { padding: 38px 0 54px; }.hero-photo img { object-position: 68% center; } h1 { font-size: 56px; }.hero-title { font-size: 52px; letter-spacing: .04em; }.hero-tagline { font-size: 22px; }.hero-lede { max-width: 360px; font-size: 14px; line-height: 1.8; }.hero-lede br { display: none; }.hero-actions { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 9px; }.button { width: 100%; }.hero-actions .button { min-height: 48px; padding: 0 9px; gap: 7px; font-size: 13px; }.club-id-card { width: 100%; }.club-id-card code { font-size: 36px; letter-spacing: .1em; }.club-id-top { flex-wrap: wrap; }.club-id-board { padding: 18px; }.club-id-board code { font-size: 36px; letter-spacing: .1em; }.join-steps { grid-template-columns: 1fr; }
  .ticker { height: 52px; }.ticker-track { gap: 25px; }.section { padding: 72px 0; }.section-heading h2,.review-copy h2,.journal-heading h2,.contact-copy h2,.faq-intro h2,.join-section h2 { font-size: 36px; }.exchange-grid { margin-top: 33px; }.review-image { min-height: 390px; }.review-copy { padding: 62px 14px 70px; }.review-lede { margin-bottom: 31px; }.review-list li { min-height: 72px; }
  .visual-journal { padding: 72px 0 78px; }.journal-gallery { width: calc(100% - 28px); height: auto; display: grid; grid-template-columns: 1fr; grid-template-rows: none; gap: 10px; margin-top: 42px; }.journal-shot--wide,.journal-shot--tall,.journal-shot--detail { grid-column: 1; grid-row: auto; height: 300px; }.journal-shot--tall { height: 370px; }.journal-shot figcaption { left: 18px; right: 18px; bottom: 17px; }.quote-band { min-height: 450px; }.quote-inner blockquote { font-size: 31px; }.quote-mark { height: 46px; font-size: 68px; }
  .contact-layout { gap: 56px; }.qr-stage { padding: 15px; box-shadow: 12px 12px 0 var(--gold),-8px -8px 0 rgba(31,169,113,.4); }.qr-caption { margin-top: 25px; align-items: flex-start; flex-direction: column; gap: 8px; }.contact-copy h2 { margin-bottom: 19px; }.contact-copy > p:not(.section-kicker):not(.copy-status) { margin-bottom: 23px; }.contact-id { min-height: 70px; }
  .principles { padding: 48px 0; }.principles h2 { font-size: 31px; }.faq-section { padding-bottom: 82px; }.faq-intro > p:last-child { margin-top: 16px; }.faq-question { min-height: 70px; padding: 15px 0; }.final-cta { min-height: 440px; }.final-cta h2 { font-size: 36px; }.final-cta .button { width: 100%; }
  .footer-top { align-items: flex-start; flex-direction: column; }.footer-top nav { width: 100%; justify-content: space-between; gap: 10px; }.footer-meta { display: grid; gap: 7px; }.footer-divider { display: none; }
  .modal { padding: 12px; }.modal-dialog { padding: 28px 18px 23px; }.qr-frame--modal { width: min(100%,230px); }.wechat-id-row { gap: 7px; }.legal-main { width: calc(100% - 32px); padding: 65px 0 90px; }.legal-main h1 { font-size: 44px; }.not-found strong { font-size: 84px; }.not-found h1 { font-size: 36px; }
}

@media (max-height:700px) {
  .hero-inner { padding-top: 24px; padding-bottom: 36px; }
  .hero-title { margin-bottom: 8px; font-size: 56px; letter-spacing: .04em; }
  .hero-tagline { margin-bottom: 16px; font-size: 24px; }
  .hero-lede { margin-bottom: 16px; }
}

@media (max-width:520px) and (max-height:700px) {
  .hero-inner { padding-top: 22px; padding-bottom: 30px; }
  .hero .eyebrow { margin-bottom: 13px; }
  .hero-title { margin-bottom: 8px; font-size: 46px; letter-spacing: .04em; }
  .hero-tagline { margin-bottom: 14px; font-size: 22px; line-height: 1.4; }
  .hero-lede { margin-bottom: 16px; }
}

@media (max-width:1000px) {
  .join-step::after { display: none; }
}

@media (max-width:1000px) and (min-width:521px) {
  .join-steps { grid-template-columns: 1fr 1fr; }
}

@media (max-width:840px) {
  .join-heading { max-width: none; }
  .club-id-board { padding: 22px 20px 20px; }
  .club-id-board__row { display: grid; gap: 16px; }
  .club-id-board .button { width: 100%; min-width: 0; }
}

@media (max-width:520px) {
  .club-id-board { padding: 18px; }
  .join-step { min-height: 0; }
}
