:root{
  --c-bg:#0D0D0D;
  --c-gold:#B8860B;
  --c-gold-bright:#FFD700;
  --c-red:#8B0000;
  --c-green:#00A86B;
  --c-white:#FFFFFF;
  --c-silver:#C0C0C0;
  --c-ink:#2A2A2A;
  --font-serif:"Noto Serif SC","Songti SC","SimSun",serif;
  --font-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:"Roboto Mono","SF Mono","Consolas",monospace;
  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:8px;
  --radius-pill:999px;
  --container-w:1280px;
  --container-narrow:960px;
  --transition:0.3s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.75;
  color:var(--c-white);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg{display:block;max-width:100%;}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-serif);
  font-weight:700;
  line-height:1.3;
  color:var(--c-white);
  margin:0 0 0.5em;
}
p{margin:0 0 1em;}
ul,ol{list-style:none;margin:0;padding:0;}
a{color:var(--c-gold-bright);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--c-gold);}
button{font:inherit;border:none;background:none;cursor:pointer;color:inherit;}
:focus-visible{outline:3px solid var(--c-gold-bright);outline-offset:2px;border-radius:4px;}
.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:fixed;top:-100px;left:20px;z-index:200;
  background:var(--c-gold-bright);color:var(--c-bg);
  padding:10px 22px;border-radius:0 0 14px 14px;
  font-weight:700;font-size:14px;
  transition:top 0.3s ease;
}
.skip-link:focus-visible{top:0;}
.container{
  max-width:var(--container-w);
  margin-inline:auto;
  padding-inline:24px;
}
.container--narrow{max-width:var(--container-narrow);}
.section{padding-block:80px;}
.section--dark{background:var(--c-bg);}
.section--ink{background:var(--c-ink);}
.section--bordered{border-block:1px solid rgba(184,134,11,0.15);}
.section-kicker{
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--c-gold);
  margin-bottom:12px;
  display:block;
}
.section-title{
  font-family:var(--font-serif);
  font-size:clamp(32px,5vw,56px);
  font-weight:900;
  line-height:1.25;
  color:var(--c-white);
  margin-bottom:16px;
}
.section-desc{font-size:17px;color:var(--c-silver);max-width:640px;}
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(13,13,13,0.78);
  border-bottom:1px solid rgba(184,134,11,0.12);
  transition:background 0.4s ease,border-color 0.4s ease;
}
.site-header.is-scrolled{
  background:rgba(13,13,13,0.97);
  border-bottom-color:rgba(184,134,11,0.28);
}
.site-header__topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:6px 24px;
  font-size:12px;
  color:var(--c-silver);
  background:rgba(0,0,0,0.35);
  border-bottom:1px solid rgba(255,255,255,0.06);
  max-height:44px;
  overflow:hidden;
  transition:max-height 0.4s ease,padding 0.4s ease,opacity 0.3s ease,border-color 0.3s ease;
}
.site-header.is-scrolled .site-header__topbar{
  max-height:0;
  padding-top:0;
  padding-bottom:0;
  opacity:0;
  border-bottom-color:transparent;
}
.site-header__icp{letter-spacing:0.04em;}
.site-header__mac{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:500;
  color:var(--c-silver);
}
.site-header__mac-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:var(--c-green);
  box-shadow:0 0 8px rgba(0,168,107,0.6);
  flex-shrink:0;
}
.site-header__main{
  max-width:var(--container-w);
  margin-inline:auto;
  padding:0 24px;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
  color:var(--c-white);
}
.brand:hover{color:var(--c-white);}
.brand__mark{
  width:38px;height:38px;
  flex-shrink:0;
  filter:drop-shadow(0 0 10px rgba(184,134,11,0.35));
}
.brand__text{
  font-family:var(--font-serif);
  font-size:22px;
  font-weight:900;
  letter-spacing:0.12em;
  color:var(--c-white);
  white-space:nowrap;
}
.brand__mark--footer{
  width:48px;height:48px;
  filter:drop-shadow(0 0 14px rgba(184,134,11,0.4));
}
.brand__text--footer{
  font-size:28px;
  color:var(--c-gold-bright);
}
.nav-toggle{
  display:none;
  position:relative;
  z-index:120;
  width:44px;height:44px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:12px;
  background:rgba(13,13,13,0.6);
  transition:border-color 0.3s ease,background 0.3s ease;
}
.nav-toggle:hover{border-color:rgba(184,134,11,0.5);}
.nav-toggle__bar{
  width:18px;height:2px;
  background:var(--c-white);
  border-radius:2px;
  transition:transform 0.3s ease,opacity 0.3s ease,background 0.3s ease;
}
.nav-toggle:hover .nav-toggle__bar{background:var(--c-gold-bright);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--c-gold-bright);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--c-gold-bright);}
.nav__list{display:flex;align-items:center;gap:4px;}
.nav__link{
  display:inline-block;
  padding:9px 18px;
  border-radius:var(--radius-pill);
  font-size:15px;
  font-weight:400;
  color:var(--c-silver);
  transition:color 0.3s ease,background 0.3s ease,box-shadow 0.3s ease;
}
.nav__link:hover{
  color:var(--c-gold-bright);
  background:rgba(184,134,11,0.1);
}
.nav__link[aria-current="page"]{
  color:var(--c-gold-bright);
  background:rgba(184,134,11,0.14);
  box-shadow:inset 0 0 0 1px rgba(184,134,11,0.3);
  font-weight:500;
}
.scroll-progress{
  position:absolute;
  bottom:0;left:0;
  height:3px;
  width:0%;
  background:linear-gradient(90deg,var(--c-gold),var(--c-gold-bright));
  border-radius:0 3px 3px 0;
  pointer-events:none;
  transition:width 0.1s linear;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 28px;
  border-radius:var(--radius-pill);
  font-family:var(--font-sans);
  font-size:15px;
  font-weight:500;
  line-height:1.2;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform 0.3s ease,box-shadow 0.3s ease,background 0.3s ease,border-color 0.3s ease,color 0.3s ease;
}
.btn--gold{
  background:linear-gradient(135deg,var(--c-gold) 0%,var(--c-gold-bright) 100%);
  color:var(--c-bg);
  font-weight:700;
}
.btn--gold:hover{
  box-shadow:0 6px 24px rgba(255,215,0,0.3);
  transform:translateY(-2px);
  color:var(--c-bg);
}
.btn--outline{
  border-color:rgba(184,134,11,0.6);
  color:var(--c-gold-bright);
  background:transparent;
}
.btn--outline:hover{
  background:rgba(184,134,11,0.12);
  border-color:var(--c-gold-bright);
  transform:translateY(-2px);
  color:var(--c-gold-bright);
}
.btn--red{
  background:var(--c-red);
  color:var(--c-white);
}
.btn--red:hover{
  background:#A00000;
  transform:translateY(-2px);
  color:var(--c-white);
  box-shadow:0 4px 18px rgba(139,0,0,0.4);
}
.btn[disabled]{opacity:0.5;cursor:not-allowed;transform:none;}
.breadcrumbs__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  font-size:14px;
  color:var(--c-silver);
}
.breadcrumbs__item{display:inline-flex;align-items:center;}
.breadcrumbs__item + .breadcrumbs__item::before{
  content:"/";
  margin-right:8px;
  color:rgba(192,192,192,0.35);
  font-size:12px;
}
.breadcrumbs__link{color:var(--c-silver);transition:color 0.3s ease;}
.breadcrumbs__link:hover{color:var(--c-gold-bright);}
.breadcrumbs__item--current{color:var(--c-gold-bright);}
.bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:20px;
}
.bento__item{
  grid-column:1 / -1;
  min-height:160px;
  padding:28px;
  background:var(--c-ink);
  border-radius:var(--radius-xl);
  border:1px solid rgba(255,255,255,0.06);
  transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);
}
.bento__item:hover{
  transform:translateY(-3px);
  border-color:rgba(184,134,11,0.4);
  box-shadow:0 12px 36px rgba(0,0,0,0.4);
}
.card{
  background:var(--c-ink);
  border-radius:var(--radius-lg);
  padding:28px;
  border:1px solid rgba(255,255,255,0.06);
  transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(184,134,11,0.35);
  box-shadow:0 12px 40px rgba(0,0,0,0.4);
}
.card--gold-border{border-left:3px solid var(--c-gold);}
.card--red-border{border-left:3px solid var(--c-red);}
.tag{
  display:inline-flex;
  align-items:center;
  padding:4px 14px;
  border-radius:var(--radius-pill);
  font-size:13px;
  font-weight:500;
  letter-spacing:0.05em;
  background:rgba(184,134,11,0.12);
  color:var(--c-gold-bright);
  border:1px solid rgba(184,134,11,0.25);
}
.tag--red{
  background:rgba(139,0,0,0.18);
  color:#FF6B6B;
  border-color:rgba(139,0,0,0.4);
}
.tag--green{
  background:rgba(0,168,107,0.12);
  color:var(--c-green);
  border-color:rgba(0,168,107,0.3);
}
.media{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--c-ink);
  aspect-ratio:16 / 9;
}
.media--portrait{aspect-ratio:3 / 4;}
.media--square{aspect-ratio:1 / 1;}
.media--landscape{aspect-ratio:16 / 9;}
.media__placeholder{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,rgba(184,134,11,0.08),rgba(139,0,0,0.12));
  color:var(--c-silver);
  font-size:14px;
}
.site-footer{
  position:relative;
  background:var(--c-bg);
  border-top:1px solid rgba(184,134,11,0.25);
  padding:0 0 32px;
}
.site-footer::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--c-gold),var(--c-gold-bright),var(--c-gold),transparent);
  opacity:0.6;
}
.site-footer__inner{
  max-width:var(--container-w);
  margin-inline:auto;
  padding:56px 24px 0;
  display:grid;
  grid-template-columns:1.4fr 0.8fr 1.2fr;
  gap:36px 48px;
}
.site-footer__brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.site-footer__org{
  font-size:14px;
  color:var(--c-silver);
  margin-bottom:12px;
  letter-spacing:0.05em;
}
.site-footer__note{
  font-size:13px;
  color:rgba(192,192,192,0.7);
  line-height:1.6;
  margin-bottom:0;
}
.site-footer__nav{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-top:4px;
}
.site-footer__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  color:var(--c-silver);
  transition:color 0.3s ease,transform 0.3s ease;
}
.site-footer__link::before{
  content:"";
  width:5px;height:5px;
  border-radius:50%;
  background:var(--c-gold);
  opacity:0.5;
  transition:opacity 0.3s ease,transform 0.3s ease;
}
.site-footer__link:hover{
  color:var(--c-gold-bright);
  transform:translateX(4px);
}
.site-footer__link:hover::before{opacity:1;transform:scale(1.3);}
.site-footer__contact{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-top:4px;
}
.site-footer__contact-item{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.site-footer__contact-label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(192,192,192,0.55);
}
.site-footer__contact-value{
  font-size:15px;
  color:var(--c-white);
}
.site-footer__bottom{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding-top:24px;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,0.08);
  font-size:13px;
  color:var(--c-silver);
}
.site-footer__copyright{margin:0;}
.site-footer__beian{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.06em;
  color:rgba(192,192,192,0.6);
  margin:0;
}
.back-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:200;
  width:48px;height:48px;
  border-radius:50%;
  background:rgba(13,13,13,0.92);
  border:1px solid rgba(184,134,11,0.5);
  color:var(--c-gold-bright);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(16px);
  transition:opacity 0.3s ease,transform 0.3s ease,visibility 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease;
  box-shadow:0 4px 20px rgba(0,0,0,0.4);
}
.back-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-top:hover{
  border-color:var(--c-gold-bright);
  box-shadow:0 4px 24px rgba(184,134,11,0.3);
}
.back-top__icon{color:currentColor;}
html.js [data-reveal]{
  opacity:0;
  transform:translateY(24px);
  transition:opacity 0.65s ease,transform 0.65s ease;
}
html.js [data-reveal].is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (max-width:991px){
  .nav-toggle{display:flex;}
  .nav{
    position:fixed;
    top:0;right:0;
    width:min(340px,85vw);
    height:100vh;
    background:rgba(13,13,13,0.98);
    border-left:1px solid rgba(184,134,11,0.25);
    transform:translateX(100%);
    transition:transform 0.45s cubic-bezier(0.4,0,0.2,1);
    padding:24px;
    overflow-y:auto;
    visibility:hidden;
    z-index:115;
  }
  .nav[data-open]{
    transform:translateX(0);
    visibility:visible;
  }
  .nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:80px;
  }
  .nav__link{
    display:block;
    padding:14px 20px;
    font-size:18px;
    border-radius:var(--radius-md);
  }
  .nav__link:hover{
    background:rgba(184,134,11,0.12);
  }
  .site-footer__inner{
    grid-template-columns:1fr 1fr;
    gap:32px 24px;
  }
  .site-footer__brand-block{grid-column:1 / -1;}
  .site-footer__bottom{grid-column:1 / -1;}
}
@media (max-width:640px){
  .site-header__topbar{padding:6px 16px;}
  .site-header__main{padding:0 16px;}
  .site-footer__inner{grid-template-columns:1fr;padding-top:44px;}
  .site-footer__brand-block{grid-column:auto;}
  .site-footer__bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .back-top{right:16px;bottom:16px;}
  .section{padding-block:56px;}
}
@media (max-width:480px){
  .site-header__icp{display:none;}
  .site-header__topbar{justify-content:flex-end;}
}
@media (min-width:992px){
  .nav{
    position:static;
    height:auto;
    width:auto;
    transform:none;
    visibility:visible;
    padding:0;
    background:transparent;
    border-left:none;
    overflow:visible;
    z-index:auto;
  }
}
@media (min-width:768px){
  .bento__item{grid-column:span 6;}
  .bento__item--large{grid-column:span 8;}
  .bento__item--medium{grid-column:span 7;}
  .bento__item--small{grid-column:span 4;}
  .bento__item--wide{grid-column:span 12;}
  .bento__item--narrow{grid-column:span 5;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,
  *::before,
  *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
  html.js [data-reveal]{
    opacity:1;
    transform:none;
  }
}
