/* ============================================================
   皇冠现金中心 · 共享外壳样式 /assets/site.css
   框架式页头 + 档案索引页脚 + 通用内容组件
   ============================================================ */

:root{
  --vi-ink-950:#0B1F1A;
  --vi-ink-800:#173B31;
  --vi-moss-600:#2F6B57;
  --vi-cyan-500:#16A39A;
  --vi-gold-500:#C9A24A;
  --vi-gold-200:#E8D9A8;
  --vi-ivory-50:#F7F2E7;
  --vi-ivory-100:#EFE7D6;
  --vi-brick-500:#A6533F;
  --vi-steel-400:#7E9AA8;
  --vi-graphite-900:#1C2320;
  --vi-paper-0:#FFFDF7;

  --vi-font-display:"Songti SC","STSong","Source Han Serif SC","Noto Serif SC",Georgia,serif;
  --vi-font-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,sans-serif;
  --vi-font-mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --vi-max:1240px;
  --vi-gutter:clamp(16px,4vw,40px);
  --vi-line-gold:1px solid rgba(232,217,168,.22);
  --vi-line-dark:1px solid rgba(28,35,32,.12);
  --vi-shadow-hard:8px 8px 0 rgba(23,59,49,.14);
  --vi-shadow-gold:10px 10px 0 rgba(201,162,74,.26);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;}
h1,h2,h3,h4,h5,p,ul,ol,dl,figure,blockquote{margin:0;}
ul,ol{padding:0;list-style:none;}
img,svg,picture,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
table{border-collapse:collapse;width:100%;}

/* ---------- 基础排版 ---------- */
body{
  background:var(--vi-ivory-50);
  color:var(--vi-graphite-900);
  font-family:var(--vi-font-body);
  font-size:clamp(15px,.45vw + 13.6px,17px);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{
  font-family:var(--vi-font-display);
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.01em;
  color:var(--vi-ink-950);
}
h1{font-size:clamp(30px,4.6vw,58px);}
h2{font-size:clamp(23px,3vw,38px);}
h3{font-size:clamp(18px,2vw,24px);}
:focus-visible{outline:3px solid var(--vi-cyan-500);outline-offset:3px;border-radius:1px;}
#main-content{scroll-margin-top:120px;}

/* ---------- 跳过链接 ---------- */
.vi-skip{
  position:fixed;
  top:10px;left:10px;
  z-index:200;
  transform:translateY(-180%);
  padding:12px 18px;
  background:var(--vi-gold-500);
  color:var(--vi-ink-950);
  font-weight:700;
  font-size:14px;
  border:2px solid var(--vi-ink-950);
  box-shadow:4px 4px 0 rgba(11,31,26,.35);
  transition:transform .2s ease;
}
.vi-skip:focus{transform:translateY(0);}

/* ============================================================
   页头：框架式导航
   ============================================================ */
.vi-header{
  position:sticky;
  top:0;
  z-index:80;
  color:var(--vi-ivory-50);
  background:
    repeating-linear-gradient(90deg,rgba(201,162,74,.07) 0 1px,transparent 1px 9px),
    linear-gradient(180deg,var(--vi-ink-950),#0d251f 62%,var(--vi-ink-950));
  border-bottom:2px solid var(--vi-gold-500);
  box-shadow:0 10px 26px rgba(11,31,26,.28);
}
.vi-header__frame{
  position:relative;
  max-width:var(--vi-max);
  margin:0 auto;
  padding:0 var(--vi-gutter);
}
.vi-header__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 0;
}

/* 品牌锁定区 */
.vi-brand{display:flex;align-items:center;gap:12px;min-width:0;}
.vi-brand__mark{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border:1px solid var(--vi-gold-500);
  box-shadow:inset 0 0 0 3px rgba(201,162,74,.14);
  color:var(--vi-gold-500);
  font-family:var(--vi-font-mono);
  font-size:13px;
  letter-spacing:.1em;
}
.vi-brand__text{display:flex;flex-direction:column;gap:3px;min-width:0;}
.vi-brand__name{
  font-family:var(--vi-font-display);
  font-weight:800;
  font-size:clamp(16px,2vw,21px);
  letter-spacing:.05em;
  line-height:1.15;
  color:var(--vi-ivory-50);
}
.vi-brand__sub{
  font-family:var(--vi-font-mono);
  font-size:11px;
  letter-spacing:.13em;
  color:var(--vi-gold-200);
  opacity:.85;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* 右侧动作区 */
.vi-header__actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.vi-utility-group{display:flex;align-items:center;gap:6px;}
.vi-utility{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border:1px solid rgba(232,217,168,.26);
  color:var(--vi-ivory-100);
  font-size:13px;
  letter-spacing:.04em;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.vi-utility:hover{
  border-color:var(--vi-gold-500);
  color:var(--vi-gold-200);
  background:rgba(201,162,74,.12);
}
.vi-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  background:var(--vi-gold-500);
  border:1px solid var(--vi-gold-500);
  color:var(--vi-ink-950);
  font-weight:700;
  font-size:14px;
  letter-spacing:.03em;
  box-shadow:4px 4px 0 rgba(201,162,74,.22);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.vi-cta:hover{
  background:transparent;
  color:var(--vi-gold-500);
  transform:translate(-2px,-2px);
  box-shadow:7px 7px 0 rgba(201,162,74,.3);
}

/* 移动索引按钮 */
.vi-navtoggle{
  display:none;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border:1px solid rgba(232,217,168,.4);
  color:var(--vi-ivory-50);
  font-family:var(--vi-font-mono);
  font-size:12px;
  letter-spacing:.16em;
  transition:border-color .2s ease,color .2s ease;
}
.vi-navtoggle:hover{border-color:var(--vi-gold-500);color:var(--vi-gold-200);}
.vi-navtoggle__bars{display:grid;gap:3px;width:16px;}
.vi-navtoggle__bars span{
  display:block;
  height:2px;
  background:currentColor;
  transition:transform .22s ease,opacity .22s ease;
}
.vi-navtoggle[aria-expanded="true"] .vi-navtoggle__bars span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.vi-navtoggle[aria-expanded="true"] .vi-navtoggle__bars span:nth-child(2){opacity:0;}
.vi-navtoggle[aria-expanded="true"] .vi-navtoggle__bars span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
.vi-navtoggle__label{line-height:1;}

/* 索引轨道（桌面横向） */
.vi-nav{
  position:relative;
  border-top:var(--vi-line-gold);
  background:rgba(11,31,26,.35);
}
.vi-nav__list{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.vi-nav__item{min-width:0;}
.vi-nav__item + .vi-nav__item{border-left:1px solid rgba(232,217,168,.14);}
.vi-nav__link{
  position:relative;
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:12px 14px;
  color:rgba(247,242,231,.76);
  font-size:14px;
  line-height:1.4;
  transition:color .2s ease,background .2s ease;
}
.vi-nav__link::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:3px;
  background:linear-gradient(90deg,var(--vi-gold-500),var(--vi-cyan-500));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .24s ease;
}
.vi-nav__link:hover{color:var(--vi-gold-200);background:rgba(201,162,74,.1);}
.vi-nav__num{
  flex:0 0 auto;
  font-family:var(--vi-font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--vi-steel-400);
  transition:color .2s ease;
}
.vi-nav__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vi-nav__link[aria-current="page"]{
  color:var(--vi-gold-500);
  background:rgba(201,162,74,.14);
  font-weight:700;
}
.vi-nav__link[aria-current="page"] .vi-nav__num{color:var(--vi-gold-500);}
.vi-nav__link[aria-current="page"]::after{transform:scaleX(1);}

/* 滚动进度 */
.vi-progress{
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:rgba(232,217,168,.1);
  pointer-events:none;
}
.vi-progress__bar{
  display:block;
  height:100%;
  width:100%;
  background:linear-gradient(90deg,var(--vi-gold-500),var(--vi-cyan-500));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .12s linear;
}

/* ============================================================
   通用布局与组件
   ============================================================ */
.vi-main{display:block;}
.vi-shell{
  width:100%;
  max-width:var(--vi-max);
  margin:0 auto;
  padding:0 var(--vi-gutter);
}
.vi-section{padding:clamp(38px,6vw,84px) 0;}
.vi-section + .vi-section{border-top:var(--vi-line-dark);}
.vi-section__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 16px;
  margin-bottom:clamp(18px,3vw,34px);
}
.vi-chapter{
  display:inline-block;
  padding:2px 9px;
  border:1px solid var(--vi-gold-500);
  color:#8A6B1F;
  font-family:var(--vi-font-mono);
  font-size:12px;
  letter-spacing:.16em;
  line-height:1.6;
  background:rgba(201,162,74,.1);
}
.vi-eyebrow{
  font-family:var(--vi-font-mono);
  font-size:12px;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:var(--vi-moss-600);
}
.vi-lede{
  font-family:var(--vi-font-display);
  font-weight:700;
  font-size:clamp(19px,2.5vw,30px);
  line-height:1.52;
  letter-spacing:-.01em;
  color:var(--vi-ink-950);
  max-width:34ch;
}
.vi-mono{
  font-family:var(--vi-font-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:.05em;
}
.vi-rule{
  height:1px;
  border:0;
  margin:clamp(20px,3vw,34px) 0;
  background:linear-gradient(90deg,var(--vi-gold-500),rgba(201,162,74,0));
}
.vi-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 10px;
  border:1px solid rgba(23,59,49,.35);
  background:var(--vi-ivory-100);
  color:var(--vi-ink-800);
  font-family:var(--vi-font-mono);
  font-size:11px;
  letter-spacing:.1em;
}
.vi-tag--gold{border-color:var(--vi-gold-500);background:rgba(201,162,74,.16);color:#8A6B1F;}
.vi-tag--brick{border-color:var(--vi-brick-500);background:rgba(166,83,63,.1);color:var(--vi-brick-500);}

/* 按钮 */
.vi-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 24px;
  background:var(--vi-ink-800);
  border:2px solid var(--vi-ink-800);
  color:var(--vi-ivory-50);
  font-weight:700;
  font-size:15px;
  letter-spacing:.02em;
  box-shadow:5px 5px 0 rgba(23,59,49,.18);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.vi-btn:hover{
  transform:translate(-2px,-2px);
  box-shadow:9px 9px 0 rgba(201,162,74,.42);
}
.vi-btn--ghost{
  background:transparent;
  color:var(--vi-ink-800);
  border-color:var(--vi-ink-800);
  box-shadow:none;
}
.vi-btn--ghost:hover{background:var(--vi-ivory-100);box-shadow:6px 6px 0 rgba(23,59,49,.14);}
.vi-btn--gold{
  background:var(--vi-gold-500);
  border-color:var(--vi-gold-500);
  color:var(--vi-ink-950);
}

/* 面包屑 */
.vi-crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:14px 0;
  border-bottom:var(--vi-line-dark);
  font-family:var(--vi-font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--vi-moss-600);
}
.vi-crumbs__item{display:inline-flex;align-items:center;gap:8px;}
.vi-crumbs__item + .vi-crumbs__item::before{content:"/";color:var(--vi-steel-400);}
.vi-crumbs a:hover{color:var(--vi-ink-950);text-decoration:underline;text-underline-offset:4px;}

/* 卡片 */
.vi-card{
  position:relative;
  padding:clamp(18px,2.4vw,28px);
  background:var(--vi-paper-0);
  border:2px solid var(--vi-ink-800);
  box-shadow:var(--vi-shadow-hard);
}
.vi-card--offset{transform:translateY(-14px);}
.vi-card__title{
  font-family:var(--vi-font-display);
  font-weight:800;
  font-size:clamp(17px,1.9vw,22px);
  line-height:1.42;
  color:var(--vi-ink-950);
  margin-bottom:8px;
}
.vi-card__meta{
  display:block;
  margin-bottom:10px;
  font-family:var(--vi-font-mono);
  font-size:12px;
  letter-spacing:.11em;
  color:var(--vi-steel-400);
}

/* 网格 */
.vi-grid{display:grid;gap:clamp(16px,2.4vw,28px);}
.vi-grid--split{grid-template-columns:repeat(12,minmax(0,1fr));}
.vi-span-4,.vi-span-5,.vi-span-6,.vi-span-7,.vi-span-8{grid-column:span 12;}
@media (min-width:900px){
  .vi-span-4{grid-column:span 4;}
  .vi-span-5{grid-column:span 5;}
  .vi-span-6{grid-column:span 6;}
  .vi-span-7{grid-column:span 7;}
  .vi-span-8{grid-column:span 8;}
}

/* 纵向索引轨道 */
.vi-index{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding-left:15px;
  border-left:2px solid var(--vi-gold-500);
}
.vi-index__link{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:8px 0;
  border-bottom:1px dashed rgba(28,35,32,.16);
  font-size:14px;
  color:var(--vi-ink-800);
  transition:color .2s ease,padding-left .2s ease;
}
.vi-index__link:hover{color:var(--vi-moss-600);padding-left:4px;}
.vi-index__link[aria-current="true"]{color:var(--vi-brick-500);font-weight:700;}
.vi-index__num{
  flex:0 0 auto;
  font-family:var(--vi-font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--vi-moss-600);
}

/* 图片容器基础规则 */
.vi-figure{
  position:relative;
  margin:0;
  overflow:hidden;
  aspect-ratio:16/9;
  min-height:160px;
  border:2px solid var(--vi-ink-800);
  background:
    repeating-linear-gradient(135deg,rgba(201,162,74,.14) 0 2px,transparent 2px 13px),
    linear-gradient(160deg,var(--vi-ink-800),var(--vi-ink-950));
  box-shadow:var(--vi-shadow-gold);
  box-shadow:var(--vi-shadow-gold),inset 0 0 0 1px rgba(232,217,168,.22);
}
.vi-figure img,.vi-figure svg,.vi-figure picture{
  width:100%;height:100%;
  object-fit:cover;
}
.vi-figure--wide{aspect-ratio:21/9;}
.vi-figure--tall{aspect-ratio:4/5;}
.vi-figure--square{aspect-ratio:1/1;}
.vi-figure__cap{
  position:absolute;
  left:0;bottom:0;
  padding:6px 11px;
  background:rgba(11,31,26,.85);
  color:var(--vi-gold-200);
  font-family:var(--vi-font-mono);
  font-size:11px;
  letter-spacing:.11em;
}

/* ============================================================
   页脚
   ============================================================ */
.vi-footer{
  margin-top:clamp(40px,7vw,90px);
  color:rgba(247,242,231,.8);
  background:
    repeating-linear-gradient(90deg,rgba(201,162,74,.05) 0 1px,transparent 1px 9px),
    var(--vi-ink-950);
  border-top:2px solid var(--vi-gold-500);
}
.vi-footer__frame{
  max-width:var(--vi-max);
  margin:0 auto;
  padding:clamp(32px,5vw,64px) var(--vi-gutter) clamp(18px,3vw,30px);
}
.vi-footer__top{
  display:grid;
  gap:clamp(26px,4vw,50px);
  grid-template-columns:1fr;
}
@media (min-width:900px){
  .vi-footer__top{grid-template-columns:minmax(250px,1fr) 1.7fr;}
}
.vi-footer__brand{min-width:0;}
.vi-footer__mark{
  font-family:var(--vi-font-display);
  font-weight:800;
  font-size:clamp(20px,2.4vw,27px);
  letter-spacing:.05em;
  color:var(--vi-ivory-50);
  line-height:1.25;
}
.vi-footer__lockup{
  margin-top:8px;
  font-family:var(--vi-font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--vi-gold-500);
}
.vi-footer__statement{
  margin-top:16px;
  max-width:36ch;
  font-size:14px;
  line-height:1.85;
  color:rgba(247,242,231,.7);
}
.vi-footer__cols{
  display:grid;
  gap:clamp(18px,3vw,32px);
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.vi-footer__col{min-width:0;}
.vi-footer__coltitle{
  display:flex;
  align-items:center;
  gap:9px;
  padding-bottom:9px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(232,217,168,.22);
  font-family:var(--vi-font-mono);
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--vi-gold-200);
}
.vi-footer__colnum{color:var(--vi-gold-500);}
.vi-footer__list{display:flex;flex-direction:column;gap:9px;}
.vi-footer__link{
  display:inline-block;
  padding-bottom:2px;
  border-bottom:1px solid transparent;
  font-size:14px;
  color:rgba(247,242,231,.78);
  transition:color .2s ease,border-color .2s ease;
}
.vi-footer__link:hover{color:var(--vi-gold-500);border-bottom-color:var(--vi-gold-500);}
.vi-footer__link[aria-current="page"]{
  color:var(--vi-gold-500);
  border-bottom-color:var(--vi-gold-500);
}
.vi-footer__contact{
  display:grid;
  gap:18px;
  margin-top:clamp(28px,4vw,48px);
  padding-top:clamp(20px,3vw,32px);
  border-top:1px solid rgba(232,217,168,.22);
}
@media (min-width:900px){
  .vi-footer__contact{grid-template-columns:1.35fr 1fr;align-items:start;}
}
.vi-footer__contactlist{
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
}
.vi-footer__contactitem{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  font-size:14px;
}
.vi-footer__label{
  flex:0 0 auto;
  font-family:var(--vi-font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--vi-steel-400);
}
.vi-footer__value{
  font-family:var(--vi-font-mono);
  font-size:13.5px;
  letter-spacing:.03em;
  color:var(--vi-ivory-50);
  overflow-wrap:anywhere;
}
.vi-copy{
  flex:0 0 auto;
  padding:4px 9px;
  border:1px solid rgba(232,217,168,.3);
  color:var(--vi-gold-200);
  font-family:var(--vi-font-mono);
  font-size:11px;
  letter-spacing:.1em;
  line-height:1.5;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.vi-copy:hover{border-color:var(--vi-gold-500);color:var(--vi-gold-500);background:rgba(201,162,74,.14);}
.vi-copy.is-copied{
  border-color:var(--vi-cyan-500);
  color:var(--vi-cyan-500);
  background:rgba(22,163,154,.14);
}
.vi-footer__note{
  max-width:46ch;
  font-size:13px;
  line-height:1.82;
  color:rgba(247,242,231,.62);
}
.vi-footer__bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px 24px;
  margin-top:clamp(24px,3vw,38px);
  padding-top:16px;
  border-top:1px solid rgba(232,217,168,.22);
  font-family:var(--vi-font-mono);
  font-size:11.5px;
  letter-spacing:.08em;
  color:rgba(247,242,231,.55);
}
.vi-footer__legal,.vi-footer__year{margin:0;}
.vi-footer__year{color:rgba(232,217,168,.6);}

/* ============================================================
   响应式：平板与手机
   ============================================================ */
@media (max-width:900px){
  .vi-utility-group{display:none;}
  .vi-navtoggle{display:inline-flex;}
  #main-content{scroll-margin-top:88px;}

  .vi-nav{
    position:absolute;
    left:0;right:0;
    top:100%;
    z-index:5;
    max-height:0;
    overflow:hidden;
    visibility:hidden;
    background:
      repeating-linear-gradient(90deg,rgba(201,162,74,.06) 0 1px,transparent 1px 9px),
      var(--vi-ink-800);
    border-top:1px solid var(--vi-gold-500);
    border-bottom:2px solid var(--vi-gold-500);
    box-shadow:0 16px 30px rgba(11,31,26,.4);
    transition:max-height .26s ease,visibility .26s ease;
  }
  .vi-nav[data-open]{
    max-height:min(72vh,540px);
    overflow-y:auto;
    visibility:visible;
  }
  .vi-nav__list{grid-template-columns:1fr;}
  .vi-nav__item + .vi-nav__item{border-left:0;border-top:1px solid rgba(232,217,168,.14);}
  .vi-nav__link{padding:14px 6px;font-size:15px;}
  .vi-nav__label{white-space:normal;}
  .vi-card--offset{transform:none;}
}

@media (max-width:560px){
  .vi-brand__mark{width:38px;height:38px;font-size:11px;}
  .vi-brand__sub{display:none;}
  .vi-cta{padding:9px 13px;font-size:13px;box-shadow:none;}
  .vi-navtoggle{padding:9px 10px;letter-spacing:.1em;}
  .vi-footer__contactlist{flex-direction:column;gap:10px;align-items:flex-start;}
  .vi-footer__bottom{font-size:11px;line-height:1.9;}
}

/* ---------- 动效与无障碍 ---------- */
.vi-motion [data-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .5s ease,transform .55s cubic-bezier(.2,.7,.2,1);
  will-change:opacity,transform;
}
.vi-motion [data-reveal].is-in{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .vi-motion [data-reveal]{opacity:1 !important;transform:none !important;}
  .vi-skip{transition:none;}
  .vi-progress__bar{transition:none;}
}
