*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --c-blue:#0F2A4A;
  --c-blue-deep:#1F3B5C;
  --c-space:#0B1023;
  --c-orange:#FF4E20;
  --c-paper:#F7F5F0;
  --c-ink:#111111;
  --c-silver:#A8B0C2;
  --c-peach:#FFE8E0;
  --c-beige:#EAE5DC;
  --grad-brand:linear-gradient(135deg,#0F2A4A 0%,#FF4E20 100%);
  --font-base:"Noto Sans SC","Microsoft YaHei",sans-serif;
  --font-head:"Arial Black","Noto Sans SC",sans-serif;
  --size-display:clamp(2.5rem,6vw,4.5rem);
  --size-h1:clamp(2rem,4vw,3rem);
  --size-h2:clamp(1.5rem,3vw,2rem);
  --size-body:1rem;
  --size-small:.875rem;
  --rail-width:280px;
  --header-h:64px;
  --ticker-h:36px;
  --content-w:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-base);
  font-size:var(--size-body);
  line-height:1.8;
  background:var(--c-paper);
  color:var(--c-ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.25;color:var(--c-ink)}
p{max-width:65ch}
ul,ol{padding-left:1.4em}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-blue)}
strong{font-weight:700}
:focus-visible{outline:3px solid var(--c-orange);outline-offset:2px;border-radius:2px}
#main-content{scroll-margin-top:110px}
@media (min-width:1024px){
  body{padding-left:var(--rail-width)}
  #main-content{scroll-margin-top:24px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
.visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
.container{width:min(var(--content-w),100% - 48px);margin-inline:auto}
.skip-link{
  position:fixed;
  top:10px;left:10px;
  z-index:500;
  background:var(--c-orange);
  color:#fff;
  padding:10px 18px;
  font-weight:700;
  font-size:.875rem;
  border-radius:4px;
  text-decoration:none;
  box-shadow:0 6px 20px rgba(255,78,32,.4);
  transform:translateY(-200%);
  transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0)}
.site-header{
  position:fixed;
  top:0;left:0;bottom:0;
  width:var(--rail-width);
  display:flex;
  flex-direction:column;
  background:var(--c-space);
  color:#fff;
  padding:28px 20px 0;
  z-index:200;
  border-right:1px solid rgba(168,176,194,.16);
  overflow:hidden;
}
.site-header::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:100%;height:4px;
  background:linear-gradient(90deg,var(--c-blue),var(--c-orange));
  pointer-events:none;
}
.header-top{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  width:100%;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  line-height:1.2;
  flex:0 0 auto;
}
.brand:hover{color:#fff}
.brand-emblem{
  flex:0 0 auto;
  width:42px;height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--grad-brand);
  color:#fff;
  font-family:var(--font-head);
  font-size:1.125rem;
  font-weight:900;
  letter-spacing:.02em;
  border-radius:4px 14px 4px 14px;
  transform:rotate(-4deg);
  box-shadow:0 6px 18px rgba(255,78,32,.25);
}
.brand-name{
  font-family:var(--font-head);
  font-size:.9375rem;
  font-weight:900;
  letter-spacing:.12em;
  white-space:nowrap;
}
.header-live{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border:1px solid rgba(255,78,32,.45);
  border-radius:999px;
  background:rgba(255,78,32,.12);
  font-size:.6875rem;
  letter-spacing:.14em;
  color:#fff;
  white-space:nowrap;
  flex:0 0 auto;
  margin-left:auto;
}
.live-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--c-orange);
  box-shadow:0 0 0 0 rgba(255,78,32,.55);
  animation:live-pulse 1.6s ease-in-out infinite;
}
@keyframes live-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,78,32,.55)}
  70%{box-shadow:0 0 0 9px rgba(255,78,32,0)}
  100%{box-shadow:0 0 0 0 rgba(255,78,32,0)}
}
.live-label{font-weight:700}
.nav-toggle{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  width:42px;height:42px;
  background:transparent;
  border:1px solid rgba(168,176,194,.35);
  border-radius:6px;
  cursor:pointer;
  flex:0 0 auto;
}
.nav-toggle-bar{
  display:block;
  width:18px;height:2px;
  background:#fff;
  border-radius:1px;
  transition:transform .25s var(--ease),opacity .2s;
}
.nav-toggle-bar + .nav-toggle-bar{margin-top:5px}
.nav-toggle.is-open .nav-toggle-bar:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav-toggle.is-open .nav-toggle-bar:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
.main-nav{
  margin-top:40px;
  counter-reset:nav-index;
}
.nav-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:2px;
}
.nav-item{position:relative;counter-increment:nav-index}
.nav-link{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 12px;
  color:var(--c-silver);
  text-decoration:none;
  font-size:.875rem;
  font-weight:500;
  letter-spacing:.12em;
  border-left:3px solid transparent;
  border-radius:0 6px 6px 0;
  transition:color .2s,background .2s,border-color .2s;
}
.nav-link::before{
  content:"";
  width:6px;height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:transparent;
  transition:background .2s;
}
.nav-link::after{
  content:"0" counter(nav-index);
  margin-left:auto;
  font-family:var(--font-head);
  font-size:.6875rem;
  color:rgba(168,176,194,.45);
  letter-spacing:.06em;
}
.nav-link:hover{
  color:#fff;
  background:rgba(255,78,32,.08);
}
.nav-link[aria-current="page"]{
  color:#fff;
  border-left-color:var(--c-orange);
  background:linear-gradient(90deg,rgba(255,78,32,.16),rgba(255,78,32,0) 78%);
  font-weight:700;
}
.nav-link[aria-current="page"]::before{background:var(--c-orange)}
.nav-link[aria-current="page"]::after{color:var(--c-orange)}
.rail-note{
  position:absolute;
  right:10px;
  top:50%;
  writing-mode:vertical-rl;
  transform:translateY(-50%);
  font-size:.625rem;
  letter-spacing:.34em;
  color:rgba(168,176,194,.35);
  font-weight:500;
  pointer-events:none;
}
.realtime-bar{
  margin:auto -20px 0;
  height:var(--ticker-h);
  display:flex;
  align-items:center;
  border-top:1px solid rgba(255,78,32,.3);
  background:linear-gradient(90deg,rgba(255,78,32,.12),rgba(255,78,32,.03));
  overflow:hidden;
}
.realtime-track{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  min-width:max-content;
  animation:realtime-scroll 30s linear infinite;
  will-change:transform;
}
.realtime-item{
  font-size:.6875rem;
  letter-spacing:.28em;
  color:var(--c-silver);
  font-weight:500;
  padding-right:28px;
  position:relative;
}
.realtime-item::after{
  content:"·";
  position:absolute;
  right:10px;
  color:var(--c-orange);
  font-weight:900;
}
.realtime-live{
  color:#fff;
  letter-spacing:.2em;
}
@keyframes realtime-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.progress-track{
  position:fixed;
  top:0;left:0;right:0;
  z-index:300;
  height:3px;
  background:rgba(168,176,194,.25);
  pointer-events:none;
}
.progress-bar{
  display:block;
  height:100%;
  width:0;
  background:var(--grad-brand);
  transition:width .1s linear;
}
.nav-backdrop{display:none}
@media (min-width:1024px){
  .progress-track{left:var(--rail-width)}
}
@media (max-width:1023.98px){
  .site-header{
    position:sticky;
    top:0;left:0;right:0;bottom:auto;
    width:100%;
    height:auto;
    min-height:calc(var(--header-h) + var(--ticker-h));
    padding:0 16px;
    flex-direction:column;
    gap:0;
    border-right:0;
    border-bottom:1px solid rgba(168,176,194,.15);
  }
  .header-top{
    flex-direction:row;
    align-items:center;
    gap:8px;
    min-height:var(--header-h);
  }
  .brand{margin-right:auto}
  .header-live{
    margin-left:0;
    padding:4px 10px;
    font-size:.625rem;
  }
  .brand-name{font-size:.8125rem}
  .brand-emblem{width:36px;height:36px;font-size:1rem}
  .nav-toggle{display:inline-flex}
  .main-nav{
    position:fixed;
    top:var(--header-h);
    left:0;bottom:0;
    width:min(82vw,340px);
    margin:0;
    padding:36px 28px 48px;
    background:var(--c-space);
    border-right:1px solid rgba(168,176,194,.15);
    box-shadow:12px 0 40px rgba(0,0,0,.4);
    transform:translateX(-104%);
    visibility:hidden;
    transition:transform .28s var(--ease),visibility .28s;
    overflow-y:auto;
    z-index:210;
  }
  .main-nav[data-open="true"]{
    transform:translateX(0);
    visibility:visible;
  }
  .nav-link{
    padding:15px 12px;
    font-size:.9375rem;
  }
  .rail-note{display:none}
  .realtime-bar{
    margin:0;
    width:100%;
    height:var(--ticker-h);
    border-top:1px solid rgba(255,78,32,.3);
  }
  .nav-backdrop{
    display:block;
    position:fixed;
    inset:var(--header-h) 0 0 0;
    background:rgba(11,16,35,.55);
    opacity:0;
    visibility:hidden;
    transition:opacity .28s,visibility .28s;
    z-index:206;
    pointer-events:none;
  }
  .nav-backdrop[data-open="true"]{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}
.site-footer{
  position:relative;
  background:var(--c-space);
  color:var(--c-silver);
  padding:72px 0 32px;
  border-top:4px solid var(--c-orange);
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  background:linear-gradient(115deg,rgba(15,42,74,.6) 0%,transparent 45%,rgba(255,78,32,.06) 100%);
  pointer-events:none;
}
.site-footer::after{
  content:"";
  position:absolute;
  right:-120px;top:-160px;
  width:320px;height:320px;
  border:40px solid rgba(168,176,194,.06);
  border-radius:50%;
  pointer-events:none;
}
.footer-inner{
  position:relative;
  width:min(var(--content-w),100% - 48px);
  margin-inline:auto;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.1fr;
  gap:48px;
  padding-bottom:48px;
}
.footer-brand-link{
  display:inline-flex;
  margin-bottom:8px;
}
.footer-about{
  font-size:.8125rem;
  line-height:1.9;
  color:var(--c-silver);
  margin-top:16px;
  max-width:40ch;
}
.footer-trust{
  margin-top:20px;
  padding:14px 18px;
  border-left:3px solid var(--c-orange);
  border-radius:0 10px 10px 0;
  background:rgba(255,78,32,.08);
  color:#fff;
  font-size:.8125rem;
  line-height:1.8;
  max-width:46ch;
}
.footer-nav{display:block}
.footer-legal{display:block}
.footer-title{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:22px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(168,176,194,.18);
  position:relative;
}
.footer-title::after{
  content:"";
  position:absolute;
  left:0;bottom:-1px;
  width:34px;height:2px;
  background:var(--c-orange);
}
.footer-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.footer-item{margin:0}
.footer-link{
  color:var(--c-silver);
  text-decoration:none;
  font-size:.875rem;
  letter-spacing:.04em;
  transition:color .2s,padding-left .2s;
}
.footer-link:hover{color:var(--c-orange);padding-left:6px}
.footer-contact{
  display:grid;
  gap:10px;
  align-content:start;
}
.footer-contact-item{
  font-size:.875rem;
  color:var(--c-silver);
  line-height:1.7;
  display:block;
  padding:8px 12px;
  border:1px solid rgba(168,176,194,.14);
  border-radius:6px;
  background:rgba(255,255,255,.02);
}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(168,176,194,.16);
  padding-top:24px;
  font-size:.8125rem;
  color:rgba(168,176,194,.55);
}
.footer-copy{max-width:none}
.footer-icp{letter-spacing:.12em}
@media (max-width:1023.98px){
  .footer-grid{
    grid-template-columns:repeat(2,1fr);
    gap:32px;
  }
}
@media (max-width:639.98px){
  .site-footer{padding:56px 0 28px}
  .footer-grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55em;
  min-height:44px;
  padding:.7em 1.5em;
  border:2px solid transparent;
  border-radius:4px;
  font-family:inherit;
  font-size:.9375rem;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s var(--ease),box-shadow .2s,background .2s,color .2s,border-color .2s;
}
.btn:active{transform:translateY(0)}
.btn-primary{
  background:var(--grad-brand);
  color:#fff;
  box-shadow:0 8px 22px rgba(15,42,74,.25);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(255,78,32,.33);
}
.btn-ghost{
  border-color:var(--c-blue);
  color:var(--c-blue);
  background:transparent;
}
.btn-ghost:hover{
  background:var(--c-blue);
  color:#fff;
  border-color:var(--c-blue);
}
.section-label{
  display:inline-flex;
  align-items:center;
  gap:.8em;
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--c-orange);
}
.section-label::after{
  content:"";
  width:52px;height:2px;
  background:linear-gradient(90deg,var(--c-orange),transparent);
}
.page-heading{
  margin:64px 0 40px;
  font-size:var(--size-h1);
  line-height:1.25;
  letter-spacing:.02em;
  color:var(--c-ink);
  position:relative;
  padding-top:24px;
}
.page-heading::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:60px;height:7px;
  background:var(--grad-brand);
  border-radius:2px;
}
.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  list-style:none;
  margin:0 0 32px;
  padding:0;
  font-size:.8125rem;
  color:var(--c-blue-deep);
}
.breadcrumb li{display:flex;align-items:center;gap:6px}
.breadcrumb li+li::before{content:"/";color:var(--c-silver)}
.breadcrumb a{color:var(--c-blue-deep);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--c-orange)}
.breadcrumb [aria-current="page"]{color:var(--c-orange);font-weight:700}
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
}
.card{
  position:relative;
  background:#fff;
  border:1px solid var(--c-silver);
  border-top:3px solid var(--c-blue);
  border-radius:4px;
  padding:28px;
  box-shadow:0 10px 30px rgba(11,16,35,.06);
  transition:transform .25s var(--ease),box-shadow .25s;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 44px rgba(11,16,35,.12);
}
.media-frame{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--c-blue) 0%,var(--c-space) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:200px;
  color:var(--c-silver);
  font-size:.8125rem;
  letter-spacing:.12em;
}
.media-frame[data-ratio="16/9"]{aspect-ratio:16/9;min-height:0}
.media-frame[data-ratio="4/3"]{aspect-ratio:4/3;min-height:0}
.media-frame[data-ratio="1/1"]{aspect-ratio:1/1;min-height:0}
.media-frame img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .45s var(--ease);
}
.media-frame:hover img{transform:scale(1.03)}
.filter-btn{
  min-height:40px;
  padding:.45em 1.1em;
  border:1px solid var(--c-silver);
  border-radius:999px;
  background:#fff;
  color:var(--c-blue-deep);
  font-family:inherit;
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;
  transition:background .2s,color .2s,border-color .2s;
}
.filter-btn:hover{border-color:var(--c-orange);color:var(--c-orange)}
.filter-btn.is-active{
  background:var(--c-blue);
  border-color:var(--c-blue);
  color:#fff;
}
[data-js] [data-reveal]{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .6s ease,transform .6s var(--ease);
}
[data-js] [data-reveal].is-visible{
  opacity:1;
  transform:none;
}
