/* ==========================================================================
   GSL 黄金一代超级联赛 — 品牌官网样式
   设计基调：黑金 / 简约 / 大气
   ========================================================================== */

/* ---------- 1. 设计变量 ---------- */
/*
 * 主题机制：页面主色全部走「语义变量」--accent 系列，
 * 切换整套配色只需改这一组变量（或引入 theme-rose.css 覆盖），无需改任何组件代码。
 *
 * 当前默认主题 = v4「暖金霓虹」（GSL 真实品牌 VI）
 *   --accent      #FFA82E  暖金（logo / CTA / 数据 / 时间轴节点 / 表头装饰）
 *   --hot         #FF2D55  玫红（仅作辅色：必填角标、Hero 次光斑）
 * 备用主题 = v3「玫红 × 荧光黄绿」，见 assets/css/theme-rose.css
 */
:root{
  /* —— 主题色（可切换）—— */
  --accent:#FFA82E;
  --accent-soft:#FFD27A;
  --accent-deep:#B36F12;
  --accent-rgb:255,168,46;
  --accent-soft-rgb:255,210,122;
  --accent-grad:linear-gradient(135deg,#FFD27A 0%,#FFA82E 45%,#B36F12 100%);
  --accent-glow:0 0 28px rgba(var(--accent-rgb),.45),0 0 1px rgba(var(--accent-soft-rgb),.95);
  --data-grad:var(--accent-grad);

  /* —— 辅色（玫红，两个主题共用）—— */
  --rose:#FF2D55;
  --rose-soft:#FF6B8A;
  --rose-deep:#C2185B;
  --rose-rgb:255,45,85;
  --hot-grad:linear-gradient(135deg,#FF6B6B 0%,#FF2D55 50%,#C2185B 100%);

  /* —— 备用色板（供主题文件引用）—— */
  --gold:#FFA82E;
  --gold-soft:#FFD27A;
  --gold-deep:#B36F12;
  --gold-grad:linear-gradient(135deg,#FFD27A 0%,#FFA82E 45%,#B36F12 100%);
  --lime:#D4FF1A;
  --lime-soft:#E8FF45;
  --lime-deep:#9DBB12;
  --brand-grad:linear-gradient(135deg,#D4FF1A 0%,#FFD23F 50%,#FF6B6B 100%);

  --bg:#08080A;
  --bg-elev:#101013;
  --bg-elev-2:#16161A;
  --bg-elev-3:#1D1D22;

  --line:rgba(var(--accent-rgb),.22);
  --line-soft:rgba(255,255,255,.09);
  --text:#F3F3F4;
  --muted:#9B9BA3;
  --muted-2:#6E6E77;

  --maxw:1200px;
  --pad:clamp(20px,5vw,40px);
  --radius:16px;
  --radius-sm:10px;
  --header-h:74px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 24px 60px -24px rgba(0,0,0,.85);
}

/* ---------- 2. 基础重置 ---------- */
*,*::before,*::after{box-sizing:border-box;}
/* 必须显式声明：.venue / .empty 等元素自带 display，会覆盖 UA 的 [hidden]{display:none} */
[hidden]{display:none !important;}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"PingFang SC","HarmonyOS Sans SC","Noto Sans SC",
              "Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",
              Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.75;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;cursor:pointer;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0;line-height:1.25;font-weight:700;letter-spacing:-.01em;}
p{margin:0;}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:4px;}
::selection{background:var(--pink);color:#fff;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#0C0C0F;}
::-webkit-scrollbar-thumb{background:#2A2A31;border-radius:8px;}
::-webkit-scrollbar-thumb:hover{background:var(--pink-deep);}

/* ---------- 3. 布局容器 ---------- */
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);}
.section{position:relative;padding-block:clamp(72px,10vw,128px);}
.section--alt{background:var(--bg-elev);}
.section--line{border-top:1px solid var(--line-soft);}
.grid{display:grid;gap:clamp(20px,3vw,32px);}

/* ---------- 4. 头部导航 ---------- */
.header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  height:var(--header-h);
  display:flex;align-items:center;
  border-bottom:1px solid transparent;
  transition:background .35s var(--ease),border-color .35s var(--ease),backdrop-filter .35s;
}
.header.is-scrolled{
  background:rgba(8,8,10,.82);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--line-soft);
}
.header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;}

.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand__mark{
  height:32px;aspect-ratio:1545/273; /* 匹配 logo-new.png 比例 */
  display:block;position:relative;flex-shrink:0;
  filter:drop-shadow(0 4px 18px rgba(255,168,46,.35));
}
.brand__mark img{width:100%;height:100%;display:block;}
@media (max-width:820px){
  .brand__mark{height:28px;}
}
.brand__text{display:flex;flex-direction:column;line-height:1.2;}
.brand__name{font-size:15px;font-weight:800;letter-spacing:.06em;}
.brand__sub{font-size:11px;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;}

.nav{display:flex;align-items:center;gap:6px;}
.nav__link{
  position:relative;padding:10px 14px;border-radius:8px;
  font-size:14.5px;font-weight:500;color:var(--muted);
  transition:color .25s var(--ease),background .25s var(--ease);
}
.nav__link:hover{color:var(--text);background:rgba(255,255,255,.05);}
.nav__link.is-active{color:var(--accent-soft);}
.nav__link.is-active::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;
  background:var(--accent);border-radius:2px;
}
.nav__cta{
  display:inline-flex;align-items:center;gap:8px;
  margin-left:8px;padding:10px 18px;border-radius:999px;
  font-size:14px;font-weight:700;color:#0B0B0D;
  background:var(--accent);
  box-shadow:0 6px 18px -8px rgba(var(--accent-rgb),.55);
}
.nav__cta:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 10px 26px -10px rgba(var(--accent-rgb),.75);}

.nav-toggle{
  display:none;width:42px;height:42px;flex-shrink:0;
  border:1px solid var(--line-soft);border-radius:10px;background:rgba(255,255,255,.03);
  align-items:center;justify-content:center;
}
.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--text);position:relative;transition:.3s var(--ease);}
.nav-toggle span::before,.nav-toggle span::after{
  content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--text);transition:.3s var(--ease);
}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg);}

/* ---------- 5. 通用文字组件 ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--accent);
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--accent);}
.section__head{max-width:760px;margin-bottom:clamp(38px,5vw,60px);}
.section__title{
  margin-top:18px;
  font-size:clamp(28px,4.2vw,44px);
  letter-spacing:-.02em;
}
.section__desc{margin-top:18px;color:var(--muted);font-size:clamp(15px,1.6vw,17px);}
.gold-text{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.neon-text{color:var(--neon,#D4FF1A);}

/* ---------- 6. 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border:0;border-radius:999px;
  font-size:15px;font-weight:700;letter-spacing:.02em;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),background .28s,border-color .28s,color .28s;
}
.btn--primary{background:var(--accent);color:#0B0B0D;box-shadow:0 12px 30px -14px rgba(var(--accent-rgb),.65);}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 18px 38px -14px rgba(var(--accent-rgb),.85);}
.btn--ghost{border:1px solid var(--line);color:var(--accent-soft);background:rgba(var(--accent-rgb),.06);}
.btn--ghost:hover{transform:translateY(-3px);border-color:var(--accent);background:rgba(var(--accent-rgb),.14);}
.btn--outline{border:1px solid var(--line-soft);color:var(--text);background:transparent;}
.btn--outline:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.05);}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px;}
.btn__arrow{transition:transform .28s var(--ease);}
.btn:hover .btn__arrow{transform:translateX(4px);}

/* ---------- 7. Hero ---------- */
.hero{
  position:relative;min-height:100dvh;
  display:flex;align-items:center;
  padding-top:calc(var(--header-h) + 40px);padding-bottom:80px;
  overflow:hidden;isolation:isolate;
}
.hero__bg{position:absolute;inset:0;z-index:-2;background:
  radial-gradient(1100px 620px at 78% 18%,rgba(var(--accent-rgb),.22),transparent 62%),
  radial-gradient(760px 520px at 12% 82%,rgba(var(--rose-rgb),.14),transparent 65%),
  linear-gradient(180deg,#08080A 0%,#0C0C10 55%,#08080A 100%);
}
.hero__pitch{position:absolute;inset:auto 0 -6% 0;z-index:-1;opacity:.5;pointer-events:none;}
.hero__grid{position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:radial-gradient(closest-side at 50% 45%,#000 40%,transparent 100%);
  -webkit-mask-image:radial-gradient(closest-side at 50% 45%,#000 40%,transparent 100%);
}
.hero__inner{max-width:840px;}
.hero__badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 16px 8px 10px;border:1px solid var(--line);border-radius:999px;
  background:rgba(var(--accent-rgb),.08);
  font-size:12.5px;letter-spacing:.14em;color:var(--accent-soft);
}
.hero__badge b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;
  background:var(--accent-grad);color:#0B0B0D;font-size:11px;box-shadow:0 0 14px rgba(var(--accent-rgb),.55);}
.hero__title{
  margin-top:26px;
  font-size:clamp(38px,7.4vw,84px);line-height:1.06;letter-spacing:-.035em;font-weight:900;
  color:var(--accent);text-shadow:var(--accent-glow);
}
/* 删除 hero 首行 GSL 大字后的标题：沿用原 hero__title 排版（左对齐 / 原字号），
   并覆盖 span:first-child 的渐变样式，让「黄金一代」「超级联赛」两行视觉一致 */
.hero__title--clean{
  margin-top:26px;
  font-size:clamp(38px,7.4vw,84px);line-height:1.06;letter-spacing:-.035em;font-weight:900;
  color:var(--accent);text-shadow:var(--accent-glow);
}
.hero__title--clean span{display:block;}
.hero__title--clean span:first-child{
  color:var(--accent-soft);
  background:none;-webkit-background-clip:border-box;background-clip:border-box;
  text-shadow:var(--accent-glow);filter:none;
}
.hero__title span{display:block;}
.hero__title span:first-child{color:transparent;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;text-shadow:none;filter:drop-shadow(0 6px 28px rgba(var(--accent-rgb),.35));}
.hero__title-en{
  margin-top:14px;font-size:clamp(12px,1.5vw,15px);font-weight:600;
  letter-spacing:.42em;text-transform:uppercase;color:var(--accent);
}
.hero__slogan{
  margin-top:30px;font-size:clamp(19px,2.6vw,28px);font-weight:700;letter-spacing:.05em;
}
.hero__desc{margin-top:20px;max-width:640px;color:var(--muted);font-size:clamp(15px,1.7vw,17.5px);}
.hero__meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.hero__chip{
  padding:8px 16px;border:1px solid var(--line-soft);border-radius:999px;
  background:rgba(255,255,255,.03);font-size:13px;color:var(--muted);
}
.scroll-hint{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:11px;letter-spacing:.28em;color:var(--muted-2);text-transform:uppercase;
}
.scroll-hint i{display:block;width:1px;height:44px;background:linear-gradient(var(--accent),transparent);animation:pulse 2.2s infinite var(--ease);}
@keyframes pulse{0%,100%{opacity:.25;transform:scaleY(.55);transform-origin:top;}50%{opacity:1;transform:scaleY(1);transform-origin:top;}}

/* ---------- 8. 数据条 ---------- */
.stats{border-block:1px solid var(--line-soft);background:rgba(16,16,19,.7);}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:clamp(28px,4vw,44px) 18px;text-align:center;border-left:1px solid var(--line-soft);}
.stat:first-child{border-left:0;}
.stat__num{font-size:clamp(30px,4.4vw,48px);font-weight:900;line-height:1;letter-spacing:-.03em;
  background:var(--data-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 22px rgba(var(--accent-rgb),.4));}
.stat__label{margin-top:12px;font-size:13.5px;color:var(--muted);letter-spacing:.04em;}

/* ---------- 9. 价值卡 / 通用卡 ---------- */
.cards{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.card{
  position:relative;padding:clamp(26px,3vw,36px);
  border:1px solid var(--line-soft);border-radius:var(--radius);
  background:linear-gradient(160deg,var(--bg-elev-2),var(--bg-elev));
  overflow:hidden;transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);
}
.card::after{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .4s var(--ease);
  background:radial-gradient(420px 220px at 88% 0%,rgba(var(--accent-rgb),.16),transparent 70%);
}
.card:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:var(--shadow);}
.card:hover::after{opacity:1;}
.card__icon{
  width:48px;height:48px;border-radius:12px;display:grid;place-items:center;margin-bottom:22px;
  border:1px solid var(--line);background:rgba(var(--accent-rgb),.10);color:var(--accent);
}
.card__num{position:absolute;top:20px;right:24px;font-size:44px;font-weight:900;color:rgba(255,255,255,.045);letter-spacing:-.04em;}
.card__title{font-size:19px;font-weight:700;}
.card__text{margin-top:12px;color:var(--muted);font-size:14.5px;}

/* ---------- 10. 赛制（图文交替） ---------- */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.feature + .feature{margin-top:clamp(64px,8vw,112px);}
.feature--reverse .feature__media{order:2;}
.feature__visual{
  position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line-soft);
  background:linear-gradient(150deg,#17171C,#0D0D10 60%,#1C1710);
}
.feature__visual svg{position:absolute;inset:0;width:100%;height:100%;}
.feature__visual--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.feature__tag{
  position:absolute;top:18px;left:18px;z-index:2;
  padding:7px 14px;border-radius:999px;border:1px solid var(--line);
  background:rgba(8,8,10,.72);backdrop-filter:blur(6px);
  font-size:11.5px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;
}
.feature__title{font-size:clamp(24px,3.2vw,34px);letter-spacing:-.02em;}
.feature__lead{margin-top:16px;color:var(--text);font-size:clamp(15.5px,1.8vw,18px);}
.feature__text{margin-top:14px;color:var(--muted);font-size:15px;}
.feature__list{margin-top:26px;display:grid;gap:14px;}
.feature__list li{display:flex;gap:12px;font-size:14.5px;color:var(--muted);}
.feature__list li b{color:var(--accent-soft);font-weight:700;flex-shrink:0;}
.tick{
  flex-shrink:0;width:20px;height:20px;margin-top:4px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(var(--accent-rgb),.16);color:var(--accent);
}

/* ---------- 11. 时间轴 ---------- */
.timeline{position:relative;padding-left:30px;}
.timeline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--accent),rgba(var(--accent-rgb),.14),transparent);}
.timeline__item{position:relative;padding-bottom:38px;}
.timeline__item:last-child{padding-bottom:0;}
.timeline__item::before{
  content:"";position:absolute;left:-30px;top:9px;width:13px;height:13px;border-radius:50%;
  background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.14);
}
.timeline__item.is-done::before{background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.22),0 0 16px rgba(var(--accent-rgb),.5);}
.timeline__date{font-size:12.5px;font-weight:700;letter-spacing:.18em;color:var(--accent-soft);text-transform:uppercase;}
.timeline__title{margin-top:8px;font-size:19px;font-weight:700;}
.timeline__text{margin-top:8px;color:var(--muted);font-size:14.5px;max-width:640px;}

/* ---------- 12. 社媒矩阵 ---------- */
.socials{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.social{
  display:flex;align-items:center;gap:18px;padding:24px;
  border:1px solid var(--line-soft);border-radius:var(--radius);
  background:var(--bg-elev);
  transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease);
}
.social:hover{transform:translateY(-5px);border-color:var(--line);background:var(--bg-elev-2);}
.social__icon{
  width:48px;height:48px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;
  border:1px solid var(--line);background:rgba(var(--accent-rgb),.08);color:var(--accent);
}
.social__name{font-size:16px;font-weight:700;}
.social__desc{margin-top:4px;font-size:13px;color:var(--muted);}
.social__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.social__qr{
  width:64px;height:64px;border-radius:8px;object-fit:cover;flex-shrink:0;
  background:#fff;padding:4px;
  border:1px solid var(--line-soft);
}
/* 微信公众号卡片：上下结构（头 + 二维码），QR 缩略图右下角对齐 */
.social--qr{display:flex;flex-direction:column;align-items:stretch;gap:14px;}
.social--qr .social__head{display:flex;align-items:center;gap:18px;}
.social--qr .social__head .social__body{flex:1;min-width:0;}
.social--qr .social__qr{align-self:flex-end;width:84px;height:84px;}
.social--qr .social__arrow--qr{position:absolute;top:24px;right:24px;color:var(--muted-2);}
.social--qr{position:relative;}
.social__arrow{margin-left:auto;color:var(--muted-2);transition:transform .3s var(--ease),color .3s;}
.social:hover .social__arrow{transform:translateX(4px);color:var(--accent);}

/* ---------- 13. 球场 ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.filter{
  padding:9px 20px;border:1px solid var(--line-soft);border-radius:999px;
  background:transparent;color:var(--muted);font-size:14px;font-weight:500;
  transition:.28s var(--ease);
}
.filter:hover{color:var(--text);border-color:rgba(255,255,255,.24);}
.filter.is-active{background:var(--accent);border-color:transparent;color:#0B0B0D;font-weight:700;box-shadow:0 6px 18px -6px rgba(var(--accent-rgb),.65);}
.venues{display:grid;gap:clamp(18px,2.4vw,28px);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));}
.venue{
  border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;
  background:var(--bg-elev);display:flex;flex-direction:column;
  transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);
}
.venue:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:var(--shadow);}
.venue__media{
  position:relative;aspect-ratio:16/9;overflow:hidden;
  background:linear-gradient(150deg,#1B1B21,#0C0C0F);
  border-bottom:1px solid var(--line-soft);
}
.venue__media svg{position:absolute;inset:0;width:100%;height:100%;}
.venue__city{
  position:absolute;left:22px;bottom:14px;z-index:2;
  font-size:38px;font-weight:900;letter-spacing:-.02em;
  color:rgba(255,255,255,.9);text-shadow:0 6px 26px rgba(0,0,0,.9);
}
.venue__status{
  position:absolute;top:16px;right:16px;z-index:2;
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 13px;border-radius:999px;font-size:12px;font-weight:700;
  background:rgba(8,8,10,.75);border:1px solid var(--line-soft);backdrop-filter:blur(6px);
}
.venue__status i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(var(--accent-rgb),.65);}
.venue__status--soon i{background:var(--muted-2);}
.venue__status--soon{color:var(--muted);}
.venue__body{padding:24px;display:flex;flex-direction:column;flex:1;}
.venue__name{font-size:18px;font-weight:700;}
.venue__addr{margin-top:8px;font-size:13.5px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;}
.venue__specs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.spec{
  padding:5px 12px;border-radius:6px;font-size:12.5px;
  border:1px solid var(--line-soft);background:rgba(255,255,255,.03);color:var(--muted);
}
.venue__facilities{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft);
  display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted-2);}
.venue__facilities span{display:inline-flex;align-items:center;gap:6px;}
.empty{padding:64px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line-soft);border-radius:var(--radius);}

/* ---------- 14. 关于页 ---------- */
/* 双栏布局用小号板块标题，与首页 .feature__title 同级 */
.section__title--sm{font-size:clamp(24px,3.2vw,34px);margin-top:16px;}
.page-hero{
  position:relative;padding-top:calc(var(--header-h) + clamp(56px,8vw,96px));
  padding-bottom:clamp(48px,6vw,72px);
  border-bottom:1px solid var(--line-soft);
  background:radial-gradient(800px 400px at 85% 0%,rgba(var(--accent-rgb),.18),transparent 65%),var(--bg-elev);
}
.page-hero__title{font-size:clamp(30px,5vw,54px);letter-spacing:-.03em;margin-top:18px;}
.page-hero__desc{margin-top:20px;max-width:680px;color:var(--muted);font-size:clamp(15px,1.7vw,17px);}
.breadcrumb{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted-2);}
.breadcrumb a:hover{color:var(--accent);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start;}
.split__body p + p{margin-top:18px;}
.split__body{color:var(--muted);font-size:15.5px;}
.quote{
  position:relative;padding:clamp(28px,4vw,40px);
  border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(var(--accent-rgb),.10),rgba(var(--accent-rgb),.02));
}
.quote__mark{font-size:64px;line-height:.6;color:var(--accent);opacity:.55;}
.quote__text{margin-top:14px;font-size:clamp(19px,2.4vw,26px);font-weight:700;letter-spacing:.03em;}
.quote__by{margin-top:18px;font-size:13.5px;color:var(--muted);letter-spacing:.08em;}

.pillars{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.pillar{padding:28px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-elev);}
.pillar__k{font-size:13px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;font-weight:700;}
.pillar__v{margin-top:12px;font-size:16px;font-weight:700;}
.pillar__d{margin-top:10px;font-size:14px;color:var(--muted);}

.media{
  position:relative;margin:0;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:#000;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.media__video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#000;}
.media__img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#000;}

/* ---------- 赛事介绍（杂志式左文右图） ---------- */
.about-intro{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,72px);align-items:center;
}
.about-intro__lead{
  margin-top:clamp(22px,3vw,32px);
  font-size:clamp(16.5px,1.8vw,19px);line-height:1.85;
  color:var(--text);font-weight:500;
  padding-left:18px;border-left:2px solid var(--accent);
}
.about-intro__text p + p{margin-top:18px;}
.about-intro__text > p:not(.about-intro__lead){color:var(--muted);font-size:15.5px;line-height:1.85;}
.about-intro__media{display:flex;flex-direction:column;gap:16px;}
@media (max-width:900px){
  .about-intro{grid-template-columns:1fr;gap:34px;}
  .about-intro__lead{margin-top:20px;}
}
.media__caption{
  position:absolute;left:18px;bottom:14px;z-index:2;
  padding:6px 12px;border-radius:999px;font-size:12.5px;letter-spacing:.12em;
  background:rgba(0,0,0,.55);color:var(--accent-soft);
  backdrop-filter:blur(8px);
}

/* ---------- 14b. 赛事组织（about，左列表右图布局） ---------- */
.about-intro--org .media__img{aspect-ratio:528.8/396.59;}
.org{margin-top:clamp(22px,3vw,30px);}
.org__row{
  display:grid;grid-template-columns:112px 1fr;gap:4px 28px;align-items:baseline;
  padding:16px 4px;border-bottom:1px solid var(--line-soft);
}
.org__row:first-child{border-top:1px solid var(--line-soft);}
.org__role{
  font-size:12px;font-weight:700;letter-spacing:.24em;
  color:var(--muted);white-space:nowrap;
}
.org__body{font-size:15.5px;color:var(--text);line-height:1.85;letter-spacing:.02em;}
.org__unit--hero{font-weight:700;color:var(--accent-soft);}
@media (max-width:640px){
  .org__row{grid-template-columns:1fr;gap:6px;padding:14px 2px;}
  .org__role{letter-spacing:.3em;}
}

/* ---------- 15. 联系页 ---------- */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,56px);align-items:start;}
.form-card{padding:clamp(26px,3.4vw,40px);border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-elev);}
.form-row{display:grid;gap:18px;grid-template-columns:1fr 1fr;}
.field{display:flex;flex-direction:column;gap:9px;}
.field label{font-size:13.5px;font-weight:600;color:var(--text);}
.field label span{color:var(--rose);}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border-radius:var(--radius-sm);
  border:1px solid var(--line-soft);background:var(--bg-elev-2);color:var(--text);
  font:inherit;font-size:15px;transition:border-color .25s,box-shadow .25s,background .25s;
}
.field textarea{min-height:140px;resize:vertical;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-2);}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--accent);background:var(--bg-elev-3);
  box-shadow:0 0 0 3px rgba(var(--accent-rgb),.16);
}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#E0645A;}
.field__error{font-size:12.5px;color:#E88178;min-height:0;}
.field__error:empty{display:none;}
.form-note{margin-top:18px;font-size:12.5px;color:var(--muted-2);line-height:1.6;}
.form-alert{
  display:none;margin-bottom:22px;padding:14px 18px;border-radius:var(--radius-sm);
  border:1px solid rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.10);
  color:var(--accent-soft);font-size:14px;
}
.form-alert.is-visible{display:block;animation:fadeUp .4s var(--ease);}
.form-alert.is-error{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.10);color:#f0a3a3;}

.info-list{display:grid;gap:14px;}
.info{
  display:flex;gap:16px;padding:22px 22px 24px;
  border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-elev);
  transition:border-color .3s var(--ease),transform .3s var(--ease);
}
.info:hover{border-color:var(--line);transform:translateY(-3px);}
.info__icon{flex-shrink:0;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
  border:1px solid var(--line);background:rgba(var(--accent-rgb),.08);color:var(--accent);}
.info--primary .info__icon{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.4);}
.info__body{flex:1;min-width:0;}
.info__k{font-size:11.5px;font-weight:700;color:var(--accent);letter-spacing:.2em;text-transform:uppercase;}
.info__v{margin-top:8px;font-size:15px;font-weight:500;color:var(--text);line-height:1.55;}
.info__v a:hover{color:var(--accent);}

/* ---------- 联系人条目 ---------- */
.contact-list{
  margin-top:14px;display:flex;flex-direction:column;gap:10px;
  padding-top:14px;border-top:1px dashed var(--line-soft);
}
.contact-row{
  display:flex;align-items:center;gap:12px;
  font-size:14.5px;line-height:1;
}
.contact-row__name{font-weight:600;color:var(--text);letter-spacing:.02em;}
.contact-row__sep{
  flex:1;min-width:24px;height:1px;
  background:linear-gradient(to right, rgba(var(--accent-rgb),.32) 0%, rgba(var(--accent-rgb),.04) 70%, transparent 100%);
}
.contact-row__id{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:13.5px;font-weight:500;color:var(--accent-soft);
  letter-spacing:.04em;white-space:nowrap;
}

.info__sub{
  margin-top:14px;padding-top:14px;
  border-top:1px dashed var(--line-soft);
  font-size:13px;color:var(--muted-2);line-height:1.5;
}

.faq{border-top:1px solid var(--line-soft);}
.faq__item{border-bottom:1px solid var(--line-soft);}
.faq__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 4px;background:none;border:0;text-align:left;
  font-size:16.5px;font-weight:600;color:var(--text);
}
.faq__q:hover{color:var(--accent-soft);}
.faq__icon{flex-shrink:0;color:var(--accent);transition:transform .3s var(--ease);}
.faq__item.is-open .faq__icon{transform:rotate(45deg);}
.faq__a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.faq__a p{padding:0 4px 22px;color:var(--muted);font-size:14.5px;max-width:820px;}

/* ---------- 16. CTA 横幅 ---------- */
.cta{
  position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);
  padding:clamp(38px,6vw,72px);
  background:radial-gradient(700px 320px at 90% 10%,rgba(var(--accent-rgb),.24),transparent 65%),
             linear-gradient(150deg,#16161B,#0B0B0E);
  text-align:center;
}
.cta__title{font-size:clamp(26px,4vw,42px);letter-spacing:-.02em;}
.cta__desc{margin:18px auto 0;max-width:600px;color:var(--muted);font-size:16px;}
.cta .btn-row{justify-content:center;}

/* 赛事精彩瞬间 —— 横滑照片条 */
.cta--highlights{padding:clamp(28px,4.4vw,46px);text-align:center;}
.cta--highlights .cta__title{font-size:clamp(22px,2.6vw,30px);}
.cta--highlights .cta__desc{margin:8px auto 0;font-size:14.5px;max-width:640px;}
.highlights{
  margin-top:18px;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:clamp(120px,9vw,150px);
  gap:9px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 4px 12px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:rgba(var(--accent-rgb),.45) transparent;
}
.highlights::-webkit-scrollbar{height:6px;}
.highlights::-webkit-scrollbar-track{background:transparent;}
.highlights::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,rgba(var(--accent-rgb),.55),rgba(var(--rose-rgb),.45));
  border-radius:999px;
}
.highlights__item{
  position:relative;display:block;
  aspect-ratio:3/2;
  border-radius:10px;overflow:hidden;
  scroll-snap-align:start;
  border:1px solid var(--line-soft);
  transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.highlights__item:hover{
  transform:translateY(-3px);
  border-color:rgba(var(--accent-rgb),.55);
  box-shadow:0 10px 24px -16px rgba(var(--accent-rgb),.6);
}
.highlights__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease);}
.highlights__item:hover .highlights__img{transform:scale(1.06);}
.highlights__caption{
  margin:14px 0 0;font-size:12.5px;color:var(--muted-2);letter-spacing:.02em;
}
.highlights__caption a{color:var(--accent-soft);border-bottom:1px dashed rgba(var(--accent-rgb),.45);}
.highlights__caption a:hover{color:#fff;border-bottom-color:#fff;}
/* 多分站赛子区：两站间视觉分隔 + 站名标签 */
.highlights--hz{margin-top:14px;}
.highlights__station{
  margin:18px 0 8px;font-size:13.5px;letter-spacing:.06em;
  color:var(--accent);font-weight:700;text-align:left;
}
.highlights__station .muted{color:var(--muted-2);font-weight:500;letter-spacing:.02em;font-size:12.5px;margin-left:6px;}

/* ---------- 17. 页脚 ---------- */
.footer{border-top:1px solid var(--line-soft);background:#060608;padding-top:clamp(52px,6vw,76px);}
.footer__grid{display:grid;gap:clamp(28px,4vw,48px);grid-template-columns:1.5fr 1fr 1fr 1.2fr;}
.footer__title{font-size:13px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;font-weight:700;margin-bottom:20px;}
.brand-block{display:flex;flex-direction:column;gap:22px;}
.brand-block__about{
  margin:0;max-width:360px;
  font-size:14.5px;line-height:1.8;color:var(--muted);
  letter-spacing:.01em;
}
.brand-block__quote{
  margin:0;padding:10px 0 10px 16px;
  border-left:2px solid var(--accent);
  font-size:17px;font-weight:700;line-height:1.45;
  letter-spacing:.06em;
  max-width:360px;
}
.brand-block__quote .gold-text{display:inline-block;transform:translateY(-1px);}
.footer__list{display:grid;gap:12px;font-size:14.5px;color:var(--muted);}
.footer__list a:hover{color:var(--accent-soft);}
.footer-contact{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.footer-contact__k{font-weight:600;white-space:nowrap;}
.footer-contact__k::after{content:"：";color:var(--muted-2);}
.footer-contact__item{color:var(--text);font-size:14px;line-height:1.5;white-space:nowrap;}
.footer-contact__item b{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-weight:500;color:var(--accent-soft);
  font-size:13px;letter-spacing:.03em;margin-left:2px;
  white-space:nowrap;
}
.footer-contact__sep{color:var(--muted-2);font-size:13px;white-space:nowrap;margin:0 1px;}
.footer__bottom{
  margin-top:clamp(38px,5vw,56px);padding-block:24px;
  border-top:1px solid var(--line-soft);
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  font-size:13px;color:var(--muted-2);
}
.footer__links{display:flex;flex-wrap:wrap;gap:20px;}
.footer__links a:hover{color:var(--accent-soft);}

/* ---------- 18. 入场动画 ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.is-visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;}
.reveal-delay-4{transition-delay:.32s;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

/* ---------- 19. 响应式 ---------- */
@media (max-width:1024px){
  .footer__grid{grid-template-columns:1fr 1fr;}
  .feature,.split,.contact-grid{grid-template-columns:1fr;}
  .feature--reverse .feature__media{order:0;}
  .stats__grid{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(3){border-left:0;}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line-soft);}
}
@media (max-width:820px){
  .nav{
    position:fixed;inset:var(--header-h) 0 auto 0;
    flex-direction:column;align-items:stretch;gap:4px;
    padding:18px var(--pad) 28px;
    background:rgba(8,8,10,.97);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line-soft);
    transform:translateY(-14px);opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
  }
  .nav.is-open{transform:none;opacity:1;visibility:visible;pointer-events:auto;}
  .nav__link{padding:14px 12px;font-size:16px;border-radius:10px;}
  .nav__link.is-active::after{display:none;}
  .nav__cta{margin:10px 0 0;justify-content:center;}
  .nav-toggle{display:flex;}
  .brand__sub{display:none;}
  .scroll-hint{display:none;}
  .footer__grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .stats__grid{grid-template-columns:1fr;}
  .stat{border-left:0;border-bottom:1px solid var(--line-soft);}
  .stat:last-child{border-bottom:0;}
  .hero{min-height:auto;padding-block:calc(var(--header-h) + 72px) 72px;}
  .venue__city{font-size:30px;}
  .btn{width:100%;}
  .btn-row{gap:12px;}
  .footer__bottom{flex-direction:column;align-items:flex-start;}
}

/* ---------- 20. 无障碍 / 降级 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  .reveal{opacity:1;transform:none;}
}
.visually-hidden{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:16px;top:-60px;z-index:200;
  padding:12px 20px;border-radius:8px;background:var(--accent);color:#0B0B0D;font-weight:700;
  transition:top .25s var(--ease);
}
.skip-link:focus{top:16px;}

/* ---------- 21. BGM 浮动播放器 ---------- */
.bgm-fab{
  position:fixed;right:20px;bottom:20px;z-index:90;
  width:56px;height:56px;border-radius:50%;border:0;
  background:var(--accent-grad);color:#0B0B0D;
  display:grid;place-items:center;cursor:pointer;
  box-shadow:0 10px 30px -8px rgba(var(--accent-rgb),.6);
  transition:transform .25s var(--ease);
  animation:bgm-pulse 2.4s ease-in-out infinite;
}
.bgm-fab:hover{transform:scale(1.06);}
.bgm-fab:focus-visible{outline:2px solid var(--accent-soft);outline-offset:4px;}
@keyframes bgm-pulse{
  0%,100%{box-shadow:0 10px 30px -8px rgba(var(--accent-rgb),.6),0 0 0 0 rgba(var(--accent-rgb),.45);}
  50%{box-shadow:0 10px 30px -8px rgba(var(--accent-rgb),.6),0 0 0 18px rgba(var(--accent-rgb),0);}
}

.bgm-player{
  position:fixed;right:20px;bottom:20px;z-index:90;
  width:min(380px,calc(100vw - 32px));
  padding:12px 14px;border-radius:16px;
  background:rgba(10,10,12,.92);backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid var(--line);
  color:var(--text);
  box-shadow:0 18px 44px -12px rgba(0,0,0,.75);
  display:flex;align-items:center;gap:12px;
  animation:bgm-slide-in .35s var(--ease);
}
@keyframes bgm-slide-in{
  from{opacity:0;transform:translateY(20px) scale(.92);}
  to{opacity:1;transform:none;}
}
.bgm-player__toggle{
  width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;
  background:var(--accent-grad);color:#0B0B0D;
  display:grid;place-items:center;flex-shrink:0;
  transition:transform .2s var(--ease),filter .2s;
}
.bgm-player__toggle:hover{transform:scale(1.06);filter:brightness(1.05);}
.bgm-player__toggle:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px;}
.bgm-player__toggle svg{width:16px;height:16px;fill:currentColor;}
.bgm-player__meta{flex:1;min-width:0;}
.bgm-player__title{font-size:15px;font-weight:800;letter-spacing:.02em;}
.bgm-player__sub{font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bgm-player__eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px;margin-left:6px;vertical-align:middle;}
.bgm-player__eq i{display:inline-block;width:2px;background:var(--accent);border-radius:1px;animation:eq-bar 1s ease-in-out infinite;}
.bgm-player__eq i:nth-child(2){animation-delay:.15s;}
.bgm-player__eq i:nth-child(3){animation-delay:.3s;}
@keyframes eq-bar{
  0%,100%{height:3px;}
  50%{height:12px;}
}
.bgm-player.ispaused .bgm-player__eq i{animation-play-state:paused;height:3px;}
/* 静音等待解锁：eq 停住，副标显示开声提示 */
.bgm-player.ismuted .bgm-player__eq i{animation-play-state:paused;height:3px;opacity:.45;}
.bgm-player.ismuted .bgm-player__sub{color:var(--accent-soft);cursor:pointer;}
/* 自动播放被完全拦截时 fab 强引导脉动 */
.bgm-fab.is-pulse{animation:bgm-fab-urgent 1.1s ease-in-out infinite;}
@keyframes bgm-fab-urgent{
  0%,100%{transform:scale(1);box-shadow:0 10px 30px -8px rgba(var(--accent-rgb),.6);}
  50%{transform:scale(1.09);box-shadow:0 16px 44px -8px rgba(var(--accent-rgb),.9);}
}
/* 静音自动播放的一次性提示 toast */
.bgm-toast{
  position:fixed;right:20px;bottom:88px;z-index:92;
  max-width:min(320px,calc(100vw - 40px));
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 16px;border-radius:14px;cursor:pointer;
  background:rgba(10,10,12,.92);backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(212,169,78,.35);color:var(--text);
  font-size:13px;line-height:1.55;letter-spacing:.02em;
  box-shadow:0 18px 44px -12px rgba(0,0,0,.75);
  opacity:0;transform:translateY(10px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.bgm-toast.is-visible{opacity:1;transform:translateY(0);}
.bgm-toast__icon{
  display:grid;place-items:center;width:26px;height:26px;border-radius:50%;
  background:var(--accent-grad);color:#0B0B0D;font-size:14px;flex-shrink:0;
}
.bgm-toast b{color:var(--accent-soft);font-weight:700;}
.bgm-player__close{
  width:30px;height:30px;border-radius:8px;border:0;cursor:pointer;
  background:transparent;color:var(--muted);font-size:20px;line-height:1;
  display:grid;place-items:center;flex-shrink:0;
}
.bgm-player__close:hover{color:var(--text);background:rgba(255,255,255,.08);}
.bgm-player__close:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px;}
@media (max-width:560px){
  .bgm-fab,.bgm-player{right:14px;bottom:14px;}
}

/* ==========================================================================
   品牌挚友（展示板 logo 墙：暖白板承载全彩 logo，名称在板下）
   ========================================================================== */
.partners{
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px 14px;
}
@media (max-width:1024px){.partners{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.partners{grid-template-columns:repeat(2,1fr);}}
.partner{
  margin:0;display:flex;flex-direction:column;align-items:center;
}
.partner__plate{
  width:100%;height:96px;padding:16px 18px;
  display:grid;place-items:center;
  background:#FAF8F4;border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.partner__plate img{
  max-width:82%;max-height:60px;object-fit:contain;object-position:center;
  transition:transform .35s var(--ease);
}
.partner:hover .partner__plate{
  transform:translateY(-4px);
  box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.5),
             0 16px 32px -14px rgba(0,0,0,.75);
}
.partner:hover .partner__plate img{transform:scale(1.05);}
.partner figcaption{
  margin-top:11px;
  font-size:12.5px;font-weight:500;color:var(--muted-2);
  letter-spacing:.1em;
  transition:color .25s var(--ease);
}
.partner:hover figcaption{color:var(--muted);}

/* ==========================================================================
   媒体报道（分组链接列表）
   ========================================================================== */
.press-group + .press-group{margin-top:36px;}
.press-group__title{
  margin:0;display:flex;align-items:center;gap:16px;
  font-size:12px;font-weight:700;color:var(--accent);
  letter-spacing:.22em;text-transform:uppercase;
}
.press-group__title::after{
  content:"";flex:1;height:1px;
  background:linear-gradient(90deg,var(--line),transparent);
}
.press-list{list-style:none;margin:6px 0 0;padding:0;display:grid;}
.press-item + .press-item{border-top:1px solid var(--line-soft);}
.press-item a{
  display:grid;
  grid-template-columns:172px 92px 1fr;
  align-items:baseline;gap:18px;
  padding:14px 4px;text-decoration:none;
  transition:background .25s var(--ease);
}
.press-item a:hover{background:rgba(255,255,255,.025);}
.press-item__source{
  font-size:14px;font-weight:600;color:var(--text);letter-spacing:.02em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.press-item__date{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:12.5px;font-weight:500;color:var(--muted-2);letter-spacing:.03em;
}
.press-item__title{
  font-size:14.5px;color:var(--muted);line-height:1.55;
  transition:color .25s var(--ease);
  display:flex;align-items:baseline;gap:8px;
}
.press-item__arrow{
  flex-shrink:0;color:var(--muted-2);opacity:0;
  transform:translate(-4px,2px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),color .25s;
}
.press-item a:hover .press-item__title{color:var(--accent-soft);}
.press-item a:hover .press-item__arrow{opacity:1;transform:translate(0,2px);color:var(--accent);}
@media (max-width:760px){
  .press-item a{
    grid-template-columns:1fr;gap:5px;padding:14px 2px;
  }
  .press-item__source{font-size:13.5px;}
  .press-item__date{order:-1;font-size:11.5px;}
}

/* ==========================================================================
   媒体报道精选（首页 2 列卡片 + 查看全部）
   ========================================================================== */
.press-picks{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
.press-pick{
  display:flex;flex-direction:column;gap:10px;padding:20px 22px;
  border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-elev);
  text-decoration:none;
  transition:border-color .3s var(--ease),transform .3s var(--ease);
}
.press-pick:hover{
  border-color:rgba(var(--accent-rgb),.4);transform:translateY(-3px);
}
.press-pick__source{
  font-size:11.5px;font-weight:700;color:var(--accent);
  letter-spacing:.16em;
}
.press-pick__title{
  display:flex;align-items:baseline;gap:8px;
  font-size:15px;font-weight:500;color:var(--text);line-height:1.6;
  transition:color .25s var(--ease);
}
.press-pick__arrow{
  flex-shrink:0;color:var(--muted-2);opacity:0;
  transform:translate(-4px,2px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),color .25s;
}
.press-pick:hover .press-pick__title{color:var(--accent-soft);}
.press-pick:hover .press-pick__arrow{opacity:1;transform:translate(0,2px);color:var(--accent);}
.press-more{
  margin-top:28px;text-align:center;
}
.press-more a{
  display:inline-flex;align-items:center;gap:9px;
  padding:12px 26px;border-radius:999px;
  border:1px solid var(--line);color:var(--muted);
  font-size:14px;font-weight:500;letter-spacing:.02em;text-decoration:none;
  transition:border-color .3s var(--ease),color .3s var(--ease),background .3s var(--ease);
}
.press-more a:hover{
  border-color:rgba(var(--accent-rgb),.5);color:var(--accent-soft);
  background:rgba(var(--accent-rgb),.06);
}
.press-more a svg{transition:transform .3s var(--ease);}
.press-more a:hover svg{transform:translateX(3px);}
@media (max-width:760px){
  .press-picks{grid-template-columns:1fr;}
}
