/* ============================================================
   皇冠足球主站 · 共享外壳样式 /assets/site.css
   ============================================================ */

:root{
  --cg-ink-950:#071C16;
  --cg-ink-900:#0A241C;
  --cg-ink-800:#0E2E24;
  --cg-ink-600:#1B4A3A;
  --cg-gold-500:#D6A84B;
  --cg-gold-200:#F0D9A6;
  --cg-blue-400:#7E93A6;
  --cg-paper:#F6F1E7;
  --cg-slate:#2B3635;
  --cg-signal:#3FAE7A;
  --cg-warn:#B86B4B;

  --cg-font-display:"Barlow Condensed","Oswald","Noto Sans SC","PingFang SC",sans-serif;
  --cg-font-body:"Noto Sans SC","Source Han Sans SC","PingFang SC",sans-serif;
  --cg-font-mono:"JetBrains Mono","Roboto Mono",SFMono-Regular,Consolas,monospace;

  --cg-shell:1400px;
  --cg-gutter:clamp(16px,4vw,40px);
  --cg-radius:3px;
  --cg-ease:cubic-bezier(.22,.61,.36,1);
  --cg-dur:180ms;
  --cg-hairline:1px solid rgba(240,217,166,.14);
  --cg-line-soft:1px solid rgba(27,74,58,.85);
}

*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:120px;
}

body{
  margin:0;
  background-color:var(--cg-ink-950);
  background-image:
    linear-gradient(rgba(126,147,166,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(126,147,166,.045) 1px,transparent 1px);
  background-size:56px 56px;
  color:var(--cg-paper);
  font-family:var(--cg-font-body);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg,video{display:block;max-width:100%}
button{font:inherit;color:inherit}
a{color:var(--cg-gold-200)}
p{margin:0 0 1.1em}

h1,h2,h3,h4{
  margin:0 0 .5em;
  font-family:var(--cg-font-display);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.02em;
}
h1{font-size:clamp(40px,7vw,88px);letter-spacing:-.03em}
h2{font-size:clamp(28px,4vw,48px)}
h3{font-size:clamp(20px,2vw,26px);letter-spacing:0}

:focus-visible{
  outline:2px solid var(--cg-gold-500);
  outline-offset:3px;
  border-radius:2px;
}

::selection{background:rgba(214,168,75,.28);color:var(--cg-paper)}

/* ---------- 跳过链接 ---------- */
.cg-skip{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:200;
  padding:12px 20px;
  background:var(--cg-gold-500);
  color:var(--cg-ink-950);
  font-family:var(--cg-font-display);
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
  border-radius:0 0 var(--cg-radius) 0;
}
.cg-skip:focus{left:12px;top:12px}

/* ============================================================
   命令栏页头
   ============================================================ */
.cg-header{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(7,28,22,.93);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(214,168,75,.26);
  color:var(--cg-paper);
}

.cg-header__inner{
  position:relative;
  max-width:var(--cg-shell);
  margin-inline:auto;
  padding-inline:var(--cg-gutter);
}

.cg-rail{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-block:12px;
  transition:padding var(--cg-dur) var(--cg-ease);
}

.cg-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--cg-paper);
  min-width:0;
}
.cg-brand__mark{
  flex:none;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  background:var(--cg-gold-500);
  color:var(--cg-ink-950);
  font-family:var(--cg-font-display);
  font-weight:700;
  font-size:20px;
  line-height:1;
  border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(7,28,22,.25);
}
.cg-brand__text{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.25;
}
.cg-brand__name{
  font-family:var(--cg-font-display);
  font-weight:700;
  font-size:17px;
  letter-spacing:.04em;
  white-space:nowrap;
}
.cg-brand__line{
  font-size:11px;
  letter-spacing:.16em;
  color:var(--cg-blue-400);
  white-space:nowrap;
}

.cg-rail__end{
  display:flex;
  align-items:center;
  gap:10px;
}

.cg-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border:1px solid rgba(214,168,75,.55);
  border-radius:var(--cg-radius);
  background:rgba(214,168,75,.07);
  color:var(--cg-gold-200);
  font-family:var(--cg-font-display);
  font-size:14px;
  letter-spacing:.08em;
  text-decoration:none;
  white-space:nowrap;
  transition:background var(--cg-dur) var(--cg-ease),
             color var(--cg-dur) var(--cg-ease),
             border-color var(--cg-dur) var(--cg-ease),
             transform var(--cg-dur) var(--cg-ease);
}
.cg-cta::after{
  content:"→";
  font-family:var(--cg-font-mono);
  font-size:12px;
}
.cg-cta:hover,
.cg-cta:focus-visible{
  background:var(--cg-gold-500);
  border-color:var(--cg-gold-500);
  color:var(--cg-ink-950);
  transform:translateY(-2px);
}

.cg-nav-toggle{
  display:none;
  align-items:center;
  gap:9px;
  padding:9px 12px;
  background:transparent;
  border:1px solid var(--cg-ink-600);
  border-radius:var(--cg-radius);
  color:var(--cg-paper);
  cursor:pointer;
  transition:border-color var(--cg-dur) var(--cg-ease),color var(--cg-dur) var(--cg-ease);
}
.cg-nav-toggle:hover{border-color:var(--cg-gold-500);color:var(--cg-gold-200)}
.cg-nav-toggle__label{
  font-family:var(--cg-font-mono);
  font-size:11px;
  letter-spacing:.18em;
}
.cg-nav-toggle__bars{
  position:relative;
  display:inline-block;
  width:16px;
  height:2px;
  background:currentColor;
}
.cg-nav-toggle__bars::before,
.cg-nav-toggle__bars::after{
  content:"";
  position:absolute;
  left:0;
  width:16px;
  height:2px;
  background:currentColor;
  transition:transform var(--cg-dur) var(--cg-ease),top var(--cg-dur) var(--cg-ease);
}
.cg-nav-toggle__bars::before{top:-5px}
.cg-nav-toggle__bars::after{top:5px}
.cg-nav-toggle[aria-expanded="true"] .cg-nav-toggle__bars{background:transparent}
.cg-nav-toggle[aria-expanded="true"] .cg-nav-toggle__bars::before{top:0;transform:rotate(45deg)}
.cg-nav-toggle[aria-expanded="true"] .cg-nav-toggle__bars::after{top:0;transform:rotate(-45deg)}

/* ---------- 导航 ---------- */
.cg-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(240,217,166,.12);
}
.cg-nav__list{
  display:flex;
  align-items:center;
  gap:clamp(10px,2.2vw,32px);
  margin:0;
  padding:0;
  list-style:none;
}
.cg-nav__item{display:flex}

.cg-nav__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 2px;
  color:var(--cg-paper);
  text-decoration:none;
  font-family:var(--cg-font-display);
  font-size:16px;
  letter-spacing:.06em;
  opacity:.7;
  transition:opacity var(--cg-dur) var(--cg-ease),color var(--cg-dur) var(--cg-ease);
}
.cg-nav__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--cg-gold-500);
  transform:scaleX(0);
  transform-origin:0 50%;
  transition:transform var(--cg-dur) var(--cg-ease);
}
.cg-nav__link:hover,
.cg-nav__link:focus-visible{opacity:1;color:var(--cg-gold-200)}
.cg-nav__link:hover::after,
.cg-nav__link:focus-visible::after{transform:scaleX(1)}

.cg-nav__link[aria-current="page"]{
  opacity:1;
  color:var(--cg-gold-200);
}
.cg-nav__link[aria-current="page"]::after{transform:scaleX(1)}

.cg-nav__index{
  font-family:var(--cg-font-mono);
  font-size:10px;
  letter-spacing:.06em;
  color:var(--cg-blue-400);
  transition:color var(--cg-dur) var(--cg-ease);
}
.cg-nav__link:hover .cg-nav__index,
.cg-nav__link[aria-current="page"] .cg-nav__index{color:var(--cg-gold-500)}

.cg-nav__side{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:var(--cg-font-mono);
  font-size:11px;
  letter-spacing:.16em;
}
.cg-nav__status{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--cg-signal);
  box-shadow:0 0 0 3px rgba(63,174,122,.16);
}
.cg-nav__meta{
  color:var(--cg-blue-400);
  text-decoration:none;
  transition:color var(--cg-dur) var(--cg-ease);
}
.cg-nav__meta:hover{color:var(--cg-gold-200)}

/* ---------- 滚动进度 ---------- */
.cg-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:rgba(214,168,75,.14);
  pointer-events:none;
  overflow:hidden;
}
.cg-progress__bar{
  display:block;
  height:100%;
  width:0;
  background:var(--cg-gold-500);
}

/* ---------- 收纳态 ---------- */
.cg-header[data-condensed] .cg-rail{padding-block:6px}
.cg-header[data-condensed] .cg-brand__line{display:none}

@media (max-width:900px){
  .cg-nav-toggle{display:inline-flex}
  .cg-nav{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:90;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:6px var(--cg-gutter) 20px;
    background:var(--cg-ink-900);
    border-top:1px solid rgba(214,168,75,.24);
    border-bottom:1px solid rgba(214,168,75,.24);
    box-shadow:0 24px 48px rgba(0,0,0,.5);
  }
  .cg-nav[data-open]{display:flex}
  .cg-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .cg-nav__link{
    width:100%;
    padding:14px 4px;
    font-size:18px;
    opacity:1;
    border-bottom:1px solid rgba(27,74,58,.9);
  }
  .cg-nav__link::after{display:none}
  .cg-nav__link[aria-current="page"]{
    color:var(--cg-gold-500);
    box-shadow:inset 3px 0 0 var(--cg-gold-500);
    padding-left:12px;
  }
  .cg-nav__side{display:none}
}

@media (max-width:560px){
  .cg-brand__mark{width:32px;height:32px;font-size:17px}
  .cg-brand__line{display:none}
  .cg-brand__name{font-size:15px}
  .cg-cta{font-size:12px;padding:8px 10px;letter-spacing:.04em}
  .cg-cta::after{display:none}
}

/* ============================================================
   档案式页脚
   ============================================================ */
.cg-footer{
  position:relative;
  overflow:hidden;
  margin-top:0;
  background:var(--cg-ink-900);
  border-top:1px solid rgba(214,168,75,.28);
  color:var(--cg-paper);
}
.cg-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(126,147,166,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(126,147,166,.055) 1px,transparent 1px);
  background-size:56px 56px;
  pointer-events:none;
}

.cg-footer__inner{
  position:relative;
  max-width:var(--cg-shell);
  margin-inline:auto;
  padding:clamp(36px,5vw,64px) var(--cg-gutter) clamp(24px,3vw,36px);
  display:grid;
  gap:clamp(28px,4vw,48px);
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:880px){
  .cg-footer__inner{grid-template-columns:minmax(220px,.85fr) minmax(0,2fr)}
}

.cg-footer__mark{
  margin:0 0 10px;
  font-family:var(--cg-font-display);
  font-weight:700;
  font-size:clamp(30px,4vw,44px);
  line-height:.95;
  letter-spacing:-.02em;
  color:var(--cg-paper);
}
.cg-footer__mark span{color:var(--cg-gold-500)}
.cg-footer__tagline{
  margin:0;
  max-width:24ch;
  font-size:14px;
  color:var(--cg-blue-400);
}
.cg-footer__stamp{
  margin:22px 0 0;
  height:104px;
  writing-mode:vertical-rl;
  font-family:var(--cg-font-mono);
  font-size:10px;
  letter-spacing:.3em;
  color:rgba(126,147,166,.55);
}

.cg-footer__cols{
  display:grid;
  gap:clamp(20px,3vw,32px);
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:620px){
  .cg-footer__cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.cg-footer__title{
  margin:0 0 14px;
  font-family:var(--cg-font-mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cg-gold-500);
}

.cg-footer__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:9px;
}
.cg-footer__link{
  color:rgba(246,241,231,.78);
  text-decoration:none;
  font-size:14px;
  transition:color var(--cg-dur) var(--cg-ease);
}
.cg-footer__link:hover,
.cg-footer__link:focus-visible{
  color:var(--cg-gold-200);
  text-decoration:underline;
  text-underline-offset:4px;
}

.cg-footer__contact{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  font-size:13px;
}
.cg-footer__contact li{display:grid;gap:2px}
.cg-footer__k{
  font-family:var(--cg-font-mono);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cg-blue-400);
}
.cg-footer__v{
  color:rgba(246,241,231,.86);
  word-break:break-word;
}

.cg-footer__legal{
  position:relative;
  max-width:var(--cg-shell);
  margin-inline:auto;
  padding:18px var(--cg-gutter) 26px;
  border-top:1px solid rgba(240,217,166,.12);
  display:grid;
  gap:10px;
}
.cg-footer__legal-main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 22px;
}
.cg-footer__copy{
  margin:0;
  font-size:13px;
  color:rgba(246,241,231,.72);
}
.cg-footer__icp{
  margin:0;
  font-family:var(--cg-font-mono);
  font-size:12px;
  color:var(--cg-blue-400);
}
.cg-footer__note{
  margin:0;
  max-width:78ch;
  font-size:12px;
  line-height:1.7;
  color:rgba(126,147,166,.85);
}

/* ============================================================
   通用容器与章节
   ============================================================ */
.cg-container{
  width:100%;
  max-width:1180px;
  margin-inline:auto;
  padding-inline:var(--cg-gutter);
}
.cg-container--wide{max-width:var(--cg-shell)}
.cg-container--narrow{max-width:780px}

.cg-section{padding-block:clamp(40px,6vw,80px)}
.cg-section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
  margin-bottom:clamp(20px,3vw,34px);
}

.cg-eyebrow{
  margin:0 0 10px;
  font-family:var(--cg-font-mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cg-blue-400);
}
.cg-eyebrow--gold{color:var(--cg-gold-500)}

.cg-lede{
  max-width:62ch;
  font-size:clamp(16px,1.5vw,19px);
  color:rgba(246,241,231,.82);
}

.cg-rule{
  height:1px;
  border:0;
  margin:0;
  background:linear-gradient(90deg,rgba(214,168,75,.5),rgba(214,168,75,0));
}

.cg-mono{font-family:var(--cg-font-mono);letter-spacing:.04em}

/* ============================================================
   网格
   ============================================================ */
.cg-grid{display:grid;gap:clamp(16px,2.2vw,24px)}
.cg-grid--2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.cg-grid--3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cg-grid--split{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){
  .cg-grid--split{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(24px,4vw,48px);
    align-items:start;
  }
}

/* ============================================================
   按钮
   ============================================================ */
.cg-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 20px;
  border:1px solid transparent;
  border-radius:var(--cg-radius);
  background:transparent;
  color:inherit;
  font-family:var(--cg-font-display);
  font-size:15px;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
  cursor:pointer;
  transition:transform var(--cg-dur) var(--cg-ease),
             background var(--cg-dur) var(--cg-ease),
             border-color var(--cg-dur) var(--cg-ease),
             color var(--cg-dur) var(--cg-ease);
}
.cg-btn--gold{
  background:var(--cg-gold-500);
  color:var(--cg-ink-950);
}
.cg-btn--gold:hover,
.cg-btn--gold:focus-visible{
  background:var(--cg-gold-200);
  transform:translateY(-2px);
}
.cg-btn--ghost{
  border-color:var(--cg-ink-600);
  color:var(--cg-paper);
}
.cg-btn--ghost:hover,
.cg-btn--ghost:focus-visible{
  border-color:var(--cg-gold-500);
  color:var(--cg-gold-200);
  transform:translateY(-2px);
}

/* ============================================================
   卡片：实色层与玻璃层
   ============================================================ */
.cg-card{
  position:relative;
  padding:clamp(18px,2.5vw,26px);
  background:var(--cg-ink-800);
  border:1px solid var(--cg-ink-600);
  border-radius:var(--cg-radius);
  transition:transform var(--cg-dur) var(--cg-ease),
             border-color var(--cg-dur) var(--cg-ease),
             background var(--cg-dur) var(--cg-ease);
}
.cg-card:hover{
  transform:translateY(-2px);
  border-color:var(--cg-gold-500);
}
.cg-card--glass{
  background:rgba(27,74,58,.42);
  border-color:rgba(240,217,166,.22);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.cg-card__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.cg-card__title{
  margin:0;
  font-family:var(--cg-font-display);
  font-size:clamp(18px,2vw,22px);
  font-weight:700;
  letter-spacing:.01em;
  color:var(--cg-paper);
}
.cg-card__meta{
  margin:0;
  font-family:var(--cg-font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--cg-blue-400);
}
.cg-card__body{
  margin:0;
  font-size:14px;
  color:rgba(246,241,231,.76);
}

/* ============================================================
   标签与筛选
   ============================================================ */
.cg-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 13px;
  border:var(--cg-line-soft);
  border-radius:999px;
  background:rgba(14,46,36,.7);
  color:var(--cg-blue-400);
  font-family:var(--cg-font-mono);
  font-size:12px;
  letter-spacing:.06em;
  text-decoration:none;
  cursor:pointer;
  transition:color var(--cg-dur) var(--cg-ease),
             border-color var(--cg-dur) var(--cg-ease),
             background var(--cg-dur) var(--cg-ease);
}
.cg-chip:hover,
.cg-chip[aria-pressed="true"]{
  color:var(--cg-gold-200);
  border-color:var(--cg-gold-500);
  background:rgba(214,168,75,.12);
}
.cg-tag{
  display:inline-block;
  padding:2px 8px;
  border-radius:2px;
  background:rgba(63,174,122,.14);
  color:var(--cg-signal);
  font-family:var(--cg-font-mono);
  font-size:11px;
  letter-spacing:.1em;
}

/* ============================================================
   数据表基础
   ============================================================ */
.cg-table{
  width:100%;
  border-collapse:collapse;
  font-family:var(--cg-font-mono);
  font-size:14px;
  font-variant-numeric:tabular-nums;
}
.cg-table caption{
  caption-side:top;
  text-align:left;
  padding-bottom:12px;
  font-family:var(--cg-font-mono);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cg-blue-400);
}
.cg-table th{
  padding:10px 12px;
  text-align:left;
  font-size:11px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--cg-blue-400);
  border-bottom:1px solid var(--cg-ink-600);
}
.cg-table td{
  padding:12px;
  border-bottom:1px solid rgba(27,74,58,.65);
  color:rgba(246,241,231,.88);
}
.cg-table tbody tr{transition:background var(--cg-dur) var(--cg-ease)}
.cg-table tbody tr:hover{background:rgba(214,168,75,.07)}

/* ============================================================
   图片容器基础（页面阶段放置占位素材）
   ============================================================ */
.cg-media{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/10;
  border:1px solid var(--cg-ink-600);
  border-radius:var(--cg-radius);
  background:linear-gradient(160deg,var(--cg-ink-800),var(--cg-ink-950));
}
.cg-media__img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 220ms var(--cg-ease);
}
.cg-media:hover .cg-media__img{transform:scale(1.02)}
.cg-media::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(126,147,166,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(126,147,166,.14) 1px,transparent 1px);
  background-size:40px 40px;
  opacity:.5;
  pointer-events:none;
}
.cg-media__caption{
  position:absolute;
  left:12px;
  bottom:10px;
  margin:0;
  padding:3px 8px;
  background:rgba(7,28,22,.78);
  border-left:2px solid var(--cg-gold-500);
  font-family:var(--cg-font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--cg-paper);
}
.cg-media--wide{aspect-ratio:21/9}
.cg-media--portrait{aspect-ratio:3/4}

/* ============================================================
   面包屑
   ============================================================ */
.cg-breadcrumb{
  max-width:1180px;
  margin-inline:auto;
  padding:18px var(--cg-gutter) 0;
  font-family:var(--cg-font-mono);
  font-size:12px;
  color:var(--cg-blue-400);
}
.cg-breadcrumb ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.cg-crumb{display:inline-flex;align-items:center;gap:8px}
.cg-crumb::after{content:"/";color:rgba(126,147,166,.5)}
.cg-crumb:last-child::after{content:""}
.cg-crumb a{
  color:var(--cg-blue-400);
  text-decoration:none;
  transition:color var(--cg-dur) var(--cg-ease);
}
.cg-crumb a:hover{color:var(--cg-gold-200)}
.cg-crumb[aria-current="page"]{color:var(--cg-gold-200)}

/* ============================================================
   显现（需 JS；无 JS 或减弱动效时直接可见）
   ============================================================ */
html.cg-js [data-reveal]{
  opacity:0;
  transform:translateY(12px);
  transition:opacity 220ms var(--cg-ease),transform 220ms var(--cg-ease);
}
html.cg-js [data-reveal].is-revealed{
  opacity:1;
  transform:none;
}

/* ============================================================
   减弱动效
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  html.cg-js [data-reveal]{
    opacity:1;
    transform:none;
  }
  .cg-card:hover,
  .cg-btn:hover,
  .cg-cta:hover,
  .cg-media:hover .cg-media__img{transform:none}
}
