:root { --club-bg:#0d0d0c; --club-panel:#171715; --club-text:#ede9e1; --club-muted:#b4afa6; --club-gold:#bda17a; --club-line:rgba(237,233,225,.18); }
html { scroll-behavior:smooth; scroll-padding-top:156px; }
.club-page { background:var(--club-bg); color:var(--club-text); }
.club-page figure,.club-page blockquote { margin:0; }
.club-page button,.club-page a { touch-action:manipulation; }
.club-page :focus-visible { outline:2px solid var(--club-gold); outline-offset:5px; }
.club-shell { width:min(1440px,calc(100% - 96px)); margin-inline:auto; }
.club-narrow { width:min(860px,calc(100% - 96px)); margin-inline:auto; }
.club-kicker { margin:0 0 18px; color:var(--club-gold); font:500 10px/1.7 Arial,sans-serif; letter-spacing:.2em; }
.club-header { position:sticky; top:0; z-index:30; height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 48px; background:rgba(13,13,12,.96); border-bottom:1px solid var(--club-line); }
.club-header .brand-logo,.club-footer .brand-logo { filter:brightness(0) invert(1); width:112px; }
.club-links { display:flex; align-items:center; gap:34px; font-size:13px; }
.club-links a { display:inline-flex; align-items:center; min-height:44px; }
.club-links a:hover { color:var(--club-gold); }
.club-menu { display:none; width:44px; height:44px; border:1px solid var(--club-line); background:none; color:var(--club-text); cursor:pointer; }
.club-film { background:#090909; }
.club-film img { width:100%; height:min(72vw,76svh); object-fit:contain; }
.club-film.is-overview img { object-fit:cover; object-position:center; height:67svh; }
.club-film-caption { padding:12px 48px; color:var(--club-muted); font-size:11px; line-height:1.8; border-bottom:1px solid var(--club-line); }
.club-title { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:end; padding-block:52px 76px; }
.club-title h1 { margin:0; font:400 clamp(40px,5.6vw,78px)/1.19 Georgia,"Songti SC","SimSun",serif; letter-spacing:.01em; text-wrap:balance; }
.club-title .club-lead { max-width:30em; margin:0 0 4px; font-size:15px; line-height:1.9; color:var(--club-muted); }
.club-context { margin:22px 0 0; color:var(--club-gold); font-size:11px; letter-spacing:.08em; }
.club-progress { position:sticky; top:76px; z-index:20; background:rgba(13,13,12,.96); border-block:1px solid var(--club-line); }
.club-progress-inner { display:flex; justify-content:space-between; align-items:center; min-height:64px; gap:24px; }
.club-progress-label { color:var(--club-muted); font-size:12px; }
.club-parts { display:flex; gap:38px; }
.club-parts a { min-height:64px; display:flex; align-items:center; gap:10px; border-bottom:1px solid transparent; font-size:13px; }
.club-parts a[aria-current="page"] { border-bottom-color:var(--club-gold); color:var(--club-gold); }
.club-parts small { font:10px Arial,sans-serif; color:var(--club-muted); }
.club-overview-qa { padding-block:76px; }
.club-dialogue { max-width:850px; margin:38px auto 0; padding:0 0 18px; }
.club-dialogue-row { display:grid; grid-template-columns:82px 1fr; gap:22px; align-items:baseline; margin-bottom:18px; }
.club-speaker { color:var(--club-gold); font-size:11px; line-height:1.8; letter-spacing:.1em; }
.club-dialogue h2,.club-dialogue h3 { margin:0; font-size:17px; line-height:1.85; font-weight:500; }
.club-dialogue .club-answer { margin:0; font-size:15px; line-height:2; color:var(--club-muted); }
.club-quote { margin:26px 0 0 104px !important; border-left:1px solid var(--club-gold); padding-left:22px; font:400 clamp(19px,2vw,25px)/1.75 Georgia,"Songti SC","SimSun",serif; color:var(--club-text); }
.club-scene { padding-block:54px 76px; border-bottom:1px solid var(--club-line); }
.club-scene:nth-of-type(even) { background:var(--club-panel); }
.club-scene-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:26px; }
.club-scene-heading h2 { font:400 25px/1.6 Georgia,"Songti SC","SimSun",serif; margin:0; }
.club-scene-heading .club-kicker { margin:0; flex-shrink:0; }
.club-image-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 24px; align-items:start; }
.club-image-grid .club-wide { grid-column:1/-1; }
.club-image { margin:0; min-width:0; }
.club-image button { display:block; width:100%; border:0; padding:0; background:#111; cursor:zoom-in; }
.club-image img { display:block; width:100%; height:auto; }
.club-image.is-portrait { width:min(100%,1040px); justify-self:center; }
.club-image figcaption { margin-top:12px; color:var(--club-muted); font-size:11px; line-height:1.8; }
.club-image figcaption span { color:var(--club-gold); margin-right:12px; font-family:Arial,sans-serif; }
.club-toc { padding-block:12px 90px; }
.club-toc-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-bottom:32px; }
.club-toc-heading h2 { font:400 30px/1.5 Georgia,"Songti SC","SimSun",serif; margin:0; }
.club-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.club-card { border-bottom:1px solid var(--club-line); padding-bottom:26px; }
.club-card img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.club-card .club-kicker { margin:24px 0 14px; }
.club-card h3 { margin:0 0 16px; font:400 32px/1.3 Georgia,"Songti SC","SimSun",serif; }
.club-card p { color:var(--club-muted); font-size:13px; line-height:1.9; margin:0 0 18px; }
.club-card .club-read { display:inline-flex; min-height:44px; align-items:center; font-size:12px; color:var(--club-gold); }
.club-outro { padding-block:72px; }
.club-outro p { margin:0 0 32px; font:400 24px/1.8 Georgia,"Songti SC","SimSun",serif; max-width:34em; }
.club-next { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.club-next a { border-top:1px solid var(--club-line); padding:24px 0; display:block; }
.club-next small { display:block; margin-bottom:12px; color:var(--club-gold); font:10px Arial,sans-serif; letter-spacing:.14em; }
.club-next strong { font-weight:400; font-size:20px; }
.club-contact { background:#e4dfd6; color:#343333; padding-block:58px; }
.club-contact-inner { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.club-contact h2 { margin:0 0 14px; font:400 30px/1.5 Georgia,"Songti SC","SimSun",serif; }
.club-contact a { display:inline-flex; align-items:center; min-height:44px; border-bottom:1px solid #a18a68; font-size:13px; }
.club-qr { text-align:center; flex-shrink:0; }
.club-qr img { width:112px; height:112px; background:#fff; padding:5px; }
.club-qr figcaption { margin-top:10px; font-size:11px; }
.club-footer { padding-block:30px; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:11px; color:var(--club-muted); }
.club-lightbox { padding:0; border:1px solid var(--club-line); background:#0c0c0b; color:#fff; width:calc(100% - 32px); max-width:1600px; max-height:95svh; }
.club-lightbox::backdrop { background:rgba(0,0,0,.94); }
.club-lightbox img { width:100%; height:80svh; object-fit:contain; }
.club-lightbox p { font-size:12px; margin:16px 24px; }
.club-close { position:absolute; right:12px; top:12px; width:48px; height:48px; background:#171715; border:1px solid #999; color:white; font-size:24px; cursor:pointer; }
.club-skip { position:fixed; top:-80px; left:16px; z-index:80; padding:14px; background:#eee; color:#111; }
.club-skip:focus { top:12px; }
@media(max-width:900px) {
  .club-shell,.club-narrow { width:calc(100% - 48px); }
  .club-header { padding-inline:24px; }
  .club-title { gap:30px; }
  .club-progress-label { display:none; }
  .club-progress-inner { justify-content:center; }
  .club-cards { gap:16px; }
  .club-card h3 { font-size:26px; }
}
@media(max-width:640px) {
  html { scroll-padding-top:128px; }
  .club-shell,.club-narrow { width:calc(100% - 32px); }
  .club-header { height:64px; padding-inline:16px; }
  .club-header .brand-logo { width:94px; }
  .club-menu { display:block; }
  .club-links { display:none; position:absolute; top:64px; left:0; right:0; padding:16px 24px; background:#171715; border-bottom:1px solid var(--club-line); }
  .club-links.is-open { display:flex; flex-direction:column; align-items:stretch; gap:6px; }
  .club-film img,.club-film.is-overview img { height:auto; max-height:none; object-fit:contain; }
  .club-film-caption { padding:12px 16px; font-size:10px; }
  .club-title { grid-template-columns:1fr; gap:24px; padding-block:32px 40px; }
  .club-title h1 { font-size:38px; line-height:1.3; }
  .club-title .club-lead { font-size:13px; }
  .club-kicker { font-size:9px; letter-spacing:.13em; }
  .club-progress { top:64px; }
  .club-parts { gap:24px; }
  .club-parts a { min-height:54px; font-size:12px; gap:5px; }
  .club-progress-inner { min-height:54px; }
  .club-dialogue { margin-top:28px; }
  .club-dialogue-row { grid-template-columns:1fr; gap:8px; margin-bottom:22px; }
  .club-dialogue h2,.club-dialogue h3 { font-size:16px; }
  .club-dialogue .club-answer { font-size:14px; line-height:1.95; }
  .club-quote { margin-left:0 !important; padding-left:18px; font-size:20px; }
  .club-overview-qa { padding-block:32px 48px; }
  .club-scene { padding-block:36px 44px; }
  .club-scene-heading { display:block; margin-bottom:22px; }
  .club-scene-heading .club-kicker { margin-bottom:12px; }
  .club-scene-heading h2 { font-size:23px; }
  .club-image-grid { grid-template-columns:1fr; gap:24px; }
  .club-toc { padding-bottom:48px; }
  .club-cards { grid-template-columns:1fr; gap:36px; }
  .club-outro { padding-block:44px; }
  .club-outro p { font-size:21px; }
  .club-next { gap:18px; }
  .club-next strong { font-size:16px; }
  .club-contact { padding-block:38px; }
  .club-contact-inner { align-items:flex-start; gap:20px; }
  .club-contact h2 { font-size:23px; }
  .club-qr img { width:94px; height:94px; }
  .club-footer { flex-wrap:wrap; }
  .club-footer p { margin:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
