:root{
  --color-global-blue:#0A3C6B;
  --color-accent:#FF6B1A;
  --color-accent-hover:#E85A0C;
  --color-mist:#F5F7FA;
  --color-deep:#0A1C2E;
  --glass-white:rgba(255,255,255,.85);
  --glass-blue:rgba(10,60,107,.7);
  --color-success:#2E7D32;
  --color-warning:#F9A825;
  --color-steel:#607D8B;
  --color-charcoal:#212121;
  --color-white:#FFFFFF;
  --color-blue-tint:#EAF1F8;
  --color-orange-tint:#FFF1E8;
  --color-line:rgba(96,125,139,.18);
  --color-text:var(--color-charcoal);
  --font-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-heading:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --header-height:84px;
  --header-height-mobile:66px;
  --container:1200px;
  --radius:22px;
  --z-header:1000;
  --shadow-card:0 1px 2px rgba(10,28,46,.05),0 14px 30px rgba(10,28,46,.05);
  --shadow-glass:0 8px 30px rgba(10,28,46,.08),inset 0 1px 0 rgba(255,255,255,.7);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{list-style:none;padding:0}
button,input,textarea,select{font:inherit}
img,svg{display:block;max-width:100%}
[hidden]{display:none !important}
body{
  min-height:100vh;
  font-family:var(--font-sans);
  font-size:1rem;
  line-height:1.8;
  color:var(--color-text);
  background:var(--color-mist);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{
  font-family:var(--font-heading);
  color:var(--color-deep);
  line-height:1.2;
  font-weight:800;
  text-wrap:balance;
}
h1{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.04em}
h2{font-size:clamp(1.6rem,3vw,2.375rem);letter-spacing:-.02em}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
p{text-wrap:pretty}
a{color:var(--color-global-blue);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:6px}
.skip-link{
  position:fixed;
  top:1rem;
  left:1rem;
  z-index:calc(var(--z-header) + 200);
  padding:.7rem 1.1rem;
  border-radius:999px;
  background:var(--color-global-blue);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(10,28,46,.3);
  transform:translateY(-400%);
  transition:transform .25s ease;
}
.skip-link:focus{transform:translateY(0);color:#fff;text-decoration:none}
.scroll-progress{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  z-index:3;
  pointer-events:none;
  transform:scaleX(0);
  transform-origin:0 50%;
  background:linear-gradient(90deg,var(--color-global-blue),var(--color-accent));
}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:var(--z-header);
  --site-link-color:#FFFFFF;
  color:#fff;
  background:linear-gradient(180deg,rgba(10,28,46,.28),rgba(10,28,46,0));
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:background .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.site-header.is-scrolled{
  --site-link-color:var(--color-charcoal);
  color:var(--color-charcoal);
  background:var(--glass-white);
  backdrop-filter:blur(16px) saturate(1.1);
  -webkit-backdrop-filter:blur(16px) saturate(1.1);
  border-bottom-color:var(--color-line);
  box-shadow:0 12px 30px rgba(10,28,46,.08);
}
.site-header__bar{
  height:var(--header-height);
  display:flex;
  align-items:center;
  width:min(100% - clamp(1.25rem,4vw,2.5rem),var(--container));
  margin-inline:auto;
  position:relative;
}
.site-logo{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:var(--site-link-color,currentColor);
  text-decoration:none;
}
.site-logo:hover{text-decoration:none}
.site-logo__mark{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:var(--color-global-blue);
  color:#fff;
  font-family:var(--font-mono);
  font-size:1.2rem;
  font-weight:800;
  box-shadow:0 8px 18px rgba(10,60,107,.25);
}
.site-logo__name{font-weight:800;font-size:1.25rem;letter-spacing:.04em}
.site-nav{display:flex;align-items:center;gap:.35rem;margin-inline:auto}
.site-nav__list{display:flex;align-items:center;gap:.3rem;margin:0;padding:0}
.site-nav__item{margin:0}
.site-nav__link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.5rem .85rem;
  border-radius:999px;
  color:var(--site-link-color,currentColor);
  font-size:.95rem;
  font-weight:600;
  text-decoration:none;
  transition:background .25s ease,color .25s ease;
}
.site-nav__link:hover{background:rgba(255,255,255,.16);text-decoration:none}
.site-nav__link[aria-current="page"]{
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}
.site-header.is-scrolled .site-nav__link:hover{background:rgba(10,60,107,.08);color:var(--color-global-blue)}
.site-header.is-scrolled .site-nav__link[aria-current="page"]{
  background:var(--color-blue-tint);
  color:var(--color-global-blue);
  box-shadow:inset 0 0 0 1px rgba(10,60,107,.12);
}
.site-header__actions{display:flex;align-items:center;gap:.75rem}
.site-header__cta{display:inline-flex}
.site-nav__cta{display:none}
.menu-toggle{
  display:none;
  position:relative;
  z-index:calc(var(--z-header) + 1);
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:44px;
  height:44px;
  padding:0;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;
  color:var(--site-link-color,currentColor);
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.site-header.is-scrolled .menu-toggle{background:rgba(10,60,107,.06);border-color:var(--color-line)}
.menu-toggle__bar{
  width:18px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .3s ease,opacity .3s ease;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.container{
  width:min(100% - clamp(1.25rem,4vw,2.5rem),var(--container));
  margin-inline:auto;
}
.container--wide{
  width:min(100% - clamp(1rem,3vw,2rem),1360px);
  margin-inline:auto;
}
.container--narrow{
  width:min(100% - clamp(1.25rem,4vw,2.5rem),840px);
  margin-inline:auto;
}
.section{padding-block:clamp(4rem,9vw,7.5rem);position:relative}
.section--tint-blue{background:var(--color-blue-tint)}
.section--tint-orange{background:var(--color-orange-tint)}
.section--deep{background:var(--color-deep);color:rgba(245,247,250,.8)}
.section--deep h1,.section--deep h2,.section--deep h3{color:#fff}
.grid{display:grid;gap:clamp(1.25rem,2.5vw,2rem)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--align-top{align-items:start}
.stack{display:grid;gap:clamp(1.25rem,3vw,2rem)}
.stack--sm{gap:.75rem}
.card{
  background:var(--color-white);
  border:1px solid var(--color-line);
  border-radius:var(--radius);
  padding:clamp(1.2rem,2.5vw,2rem);
  box-shadow:var(--shadow-card);
}
.card--glass{
  background:var(--glass-white);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-color:rgba(255,255,255,.5);
  box-shadow:var(--shadow-glass);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.8rem 1.35rem;
  border:1px solid transparent;
  border-radius:999px;
  font-weight:700;
  font-size:.95rem;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.btn--primary{background:var(--color-global-blue);color:#fff;box-shadow:0 10px 24px rgba(10,60,107,.24)}
.btn--primary:hover{background:#0B4A83;color:#fff}
.btn--accent{background:var(--color-accent);color:#fff;box-shadow:0 10px 24px rgba(255,107,26,.28)}
.btn--accent:hover{background:var(--color-accent-hover);color:#fff}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.site-header.is-scrolled .btn--ghost{border-color:var(--color-steel);color:var(--color-deep)}
.btn--sm{padding:.45rem .9rem;font-size:.88rem}
.btn--block{display:flex;width:100%}
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .6rem;
  align-items:center;
  padding:.4rem 0 1.6rem;
  font-family:var(--font-mono);
  font-size:.85rem;
  color:var(--color-steel);
}
.breadcrumbs a{color:var(--color-steel);text-decoration:none}
.breadcrumbs a:hover{color:var(--color-global-blue)}
.breadcrumbs li+li::before{content:"/";margin-right:.6rem;color:var(--color-line)}
.breadcrumbs [aria-current="page"]{color:var(--color-deep);font-weight:700}
.chapter-head{
  display:flex;
  align-items:flex-end;
  gap:clamp(.8rem,2vw,1.5rem);
  margin-bottom:clamp(1.5rem,4vw,3rem);
  padding-bottom:1rem;
  border-bottom:1px solid var(--color-line);
}
.chapter-head__index{
  font-family:var(--font-mono);
  font-size:clamp(2rem,5vw,4rem);
  line-height:.9;
  color:var(--color-global-blue);
  font-weight:800;
  opacity:.88;
}
.chapter-head__title{margin:0}
.chapter-head__lead{margin-left:auto;max-width:36ch;color:var(--color-steel)}
.section--deep .chapter-head{border-bottom-color:rgba(255,255,255,.14)}
.section--deep .chapter-head__index{color:var(--color-accent)}
.meta-index{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.1em;
  line-height:1.4;
  color:var(--color-steel);
  text-transform:uppercase;
}
.status{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.22rem .7rem;
  border-radius:999px;
  background:rgba(46,125,50,.12);
  color:var(--color-success);
  font-size:.78rem;
  font-weight:700;
  font-family:var(--font-mono);
}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.status--warn{background:rgba(249,168,37,.15);color:#A66B00}
.filter-bar{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2rem}
.filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--color-line);
  background:var(--color-white);
  color:var(--color-deep);
  padding:.55rem 1rem;
  border-radius:999px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.filter-chip:hover{transform:translateY(-1px);border-color:var(--color-global-blue)}
.filter-chip[aria-pressed="true"]{
  background:var(--color-global-blue);
  border-color:var(--color-global-blue);
  color:#fff;
  box-shadow:0 8px 20px rgba(10,60,107,.24);
}
.media-frame{
  position:relative;
  overflow:hidden;
  aspect-ratio:16 / 9;
  border-radius:clamp(18px,3vw,30px);
  background:linear-gradient(135deg,rgba(10,60,107,.08),rgba(255,107,26,.06));
  border:1px solid var(--color-line);
}
.media-frame > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-frame--portrait{aspect-ratio:4 / 5}
.media-frame--panorama{aspect-ratio:21 / 9}
.media-frame__placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:var(--font-mono);
  color:var(--color-steel);
}
.site-footer{
  position:relative;
  overflow:hidden;
  background:var(--color-deep);
  color:rgba(245,247,250,.78);
}
.site-footer::before{
  content:"";
  position:absolute;
  top:-4rem;
  right:-2rem;
  width:18rem;
  height:18rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,107,26,.16),transparent 65%);
  pointer-events:none;
}
.site-footer::after{
  content:"";
  position:absolute;
  bottom:-8rem;
  left:-3rem;
  width:22rem;
  height:22rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(10,60,107,.5),transparent 65%);
  pointer-events:none;
}
.site-footer a{color:rgba(245,247,250,.8)}
.site-footer a:hover{color:var(--color-accent);text-decoration:none}
.site-footer__main{position:relative;z-index:1;padding:clamp(3rem,6vw,5rem) 0 2.5rem}
.site-footer__inner{
  position:relative;
  z-index:1;
  width:min(100% - clamp(1.5rem,4vw,3rem),var(--container));
  margin-inline:auto;
}
.site-footer__main .site-footer__inner{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.8fr));
  gap:clamp(1.5rem,4vw,3rem);
}
.site-footer__inner--bottom{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem 2rem;
  align-items:center;
  justify-content:space-between;
  padding:1.5rem 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.site-footer__brand .site-logo{color:#fff}
.site-logo--footer .site-logo__mark{
  background:var(--color-accent);
  color:var(--color-deep);
  box-shadow:none;
}
.site-footer__statement{font-size:1.05rem;font-weight:700;color:#fff;margin-top:1.4rem;line-height:1.6}
.site-footer__note{margin-top:1rem;font-size:.9rem;color:rgba(245,247,250,.62);line-height:1.7}
.site-footer__heading{
  font-family:var(--font-mono);
  font-size:.88rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--color-accent);
  font-weight:700;
  margin-bottom:1.1rem;
  padding-bottom:.5rem;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.site-footer__list,.site-footer__facts{
  display:grid;
  gap:.65rem;
  margin:0;
  padding:0;
  font-size:.95rem;
}
.site-footer__facts span{
  display:inline-block;
  min-width:4.5em;
  color:rgba(245,247,250,.5);
  font-family:var(--font-mono);
  font-size:.82rem;
  letter-spacing:.06em;
}
.site-footer__copyright,.site-footer__icp,.site-footer__trust{margin:0;font-size:.85rem}
.site-footer__icp a{color:rgba(245,247,250,.65)}
.site-footer__icp a:hover{color:var(--color-accent);text-decoration:none}
.site-footer__trust{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.06em}
[data-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease,transform .55s ease;
}
[data-reveal].is-revealed{opacity:1;transform:none}
@media (max-width:920px){
  .site-header__bar{
    height:var(--header-height-mobile);
    width:100%;
    padding-inline:1rem;
  }
  .site-logo__mark{width:38px;height:38px;border-radius:12px}
  .site-logo__name{font-size:1.1rem}
  .site-header__cta{display:none}
  .site-nav{
    position:fixed;
    top:calc(var(--header-height-mobile) + 8px);
    left:12px;
    right:12px;
    z-index:calc(var(--z-header) - 5);
    display:block;
    margin:0;
    padding:12px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border:1px solid var(--color-line);
    border-radius:22px;
    box-shadow:0 20px 50px rgba(10,28,46,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px) scale(.98);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;
    pointer-events:none;
  }
  .site-nav[data-open]{
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .site-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:4px;
  }
  .site-nav__link{
    display:flex;
    padding:.8rem 1rem;
    color:var(--color-charcoal);
    border-radius:14px;
    font-size:1rem;
  }
  .site-nav__link:hover{
    background:var(--color-blue-tint);
    color:var(--color-global-blue);
  }
  .site-nav__link[aria-current="page"]{
    background:rgba(10,60,107,.08);
    color:var(--color-global-blue);
    box-shadow:none;
  }
  .site-header.is-scrolled .site-nav__link[aria-current="page"]{
    background:var(--color-blue-tint);
    color:var(--color-global-blue);
    box-shadow:none;
  }
  .site-nav__cta{display:inline-flex;width:100%;margin-top:8px}
  .menu-toggle{display:flex}
}
@media (max-width:900px){
  .grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .site-footer__main .site-footer__inner{grid-template-columns:1fr 1fr}
  .site-footer__brand{grid-column:1 / -1}
}
@media (max-width:600px){
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
}
@media (max-width:540px){
  .site-footer__main .site-footer__inner{grid-template-columns:1fr}
  .site-footer__inner--bottom{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  [data-reveal]{opacity:1 !important;transform:none !important}
}
