:root{
  --cv-ink:#07131F;
  --cv-carbon:#0E151B;
  --cv-panel:#12283A;
  --cv-mint:#39F5C8;
  --cv-mint-soft:#7DFFDF;
  --cv-flare:#FF5A3C;
  --cv-flare-deep:#C9331F;
  --cv-fog:#E8F2F4;
  --cv-steel:#8AA0AC;
  --cv-glow:#2F6BFF;
  --cv-line:rgba(57,245,200,.20);
  --cv-line-soft:rgba(232,242,244,.10);
  --cv-shell:1240px;
  --cv-gutter:clamp(1.1rem,4vw,3.25rem);
  --cv-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --cv-sans:"Helvetica Neue","PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Noto Sans SC",sans-serif;
  --cv-display:"Arial Narrow","Helvetica Neue","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --cv-ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background-color:var(--cv-ink);
  background-image:
    radial-gradient(1100px 560px at 88% -8%,rgba(47,107,255,.14),transparent 62%),
    radial-gradient(820px 480px at 4% 2%,rgba(57,245,200,.07),transparent 58%);
  color:var(--cv-fog);
  font-family:var(--cv-sans);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,p,figure,ul,ol{margin:0;}
ul,ol{padding:0;list-style:none;}
img,svg,video,picture{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:0;}
a{color:inherit;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2px solid var(--cv-mint-soft);outline-offset:3px;}
.cv-skip-link{
  position:fixed;top:0;left:0;z-index:200;
  transform:translateY(-140%);
  padding:.85rem 1.25rem;
  background:var(--cv-mint);color:var(--cv-ink);
  font-family:var(--cv-mono);font-size:.75rem;letter-spacing:.14em;text-decoration:none;
  transition:transform .2s var(--cv-ease);
}
.cv-skip-link:focus{transform:translateY(0);}
.cv-shell{width:100%;max-width:var(--cv-shell);margin-inline:auto;padding-inline:var(--cv-gutter);}
.cv-mono{font-family:var(--cv-mono);}
/* ---------- header ---------- */
.cv-header{
  position:sticky;top:0;z-index:60;
  background:rgba(7,19,31,.94);
  border-bottom:1px solid var(--cv-line);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  backdrop-filter:blur(14px) saturate(120%);
}
.cv-topbar{background:rgba(14,21,27,.92);border-bottom:1px solid rgba(57,245,200,.12);}
.cv-topbar__inner{
  display:flex;align-items:center;gap:1.2rem;min-height:36px;
  font-family:var(--cv-mono);font-size:.68rem;letter-spacing:.14em;color:var(--cv-steel);
}
.cv-topbar__label{
  color:var(--cv-mint);white-space:nowrap;
  display:inline-flex;align-items:center;gap:.5rem;
}
.cv-topbar__label::before{
  content:"";width:14px;height:1px;background:var(--cv-mint);
}
.cv-topbar__links{display:flex;align-items:center;gap:1.1rem;flex-wrap:nowrap;}
.cv-topbar__link{
  color:var(--cv-steel);text-decoration:none;white-space:nowrap;
  border-bottom:1px solid transparent;padding-block:2px;
  transition:color .2s var(--cv-ease),border-color .2s var(--cv-ease);
}
.cv-topbar__link:hover{color:var(--cv-fog);border-bottom-color:var(--cv-mint);}
.cv-topbar__status{
  margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;
  color:var(--cv-steel);
}
.cv-dot{
  width:6px;height:6px;border-radius:50%;background:var(--cv-mint);
  box-shadow:0 0 0 0 rgba(57,245,200,.55);
  animation:cv-pulse 3.4s var(--cv-ease) infinite;
}
.cv-nav{
  position:relative;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding-block:.62rem;
}
.cv-brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;min-width:0;}
.cv-brand__mark{
  position:relative;flex:0 0 auto;
  width:38px;height:38px;border:1px solid rgba(57,245,200,.42);border-radius:2px;
  transform:rotate(-3deg) skewX(-4deg);
  background:linear-gradient(150deg,rgba(47,107,255,.20),rgba(57,245,200,.06));
}
.cv-brand__mark::before,
.cv-brand__mark::after{content:"";position:absolute;background:rgba(57,245,200,.55);}
.cv-brand__mark::before{left:0;right:0;top:50%;height:1px;}
.cv-brand__mark::after{top:0;bottom:0;left:50%;width:1px;}
.cv-brand__mark-core{
  position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;
  border-radius:50%;background:var(--cv-mint-soft);
  box-shadow:0 0 12px rgba(57,245,200,.9);
  animation:cv-pulse 3.4s var(--cv-ease) infinite;
}
.cv-brand__text{display:flex;flex-direction:column;min-width:0;}
.cv-brand__name{
  font-family:var(--cv-display);font-weight:800;font-size:1.16rem;
  letter-spacing:-.03em;line-height:1.1;color:var(--cv-fog);
}
.cv-brand__line{
  font-family:var(--cv-mono);font-size:.64rem;letter-spacing:.16em;
  color:var(--cv-steel);margin-top:.22rem;white-space:nowrap;
}
.cv-nav__toggle{
  display:none;align-items:center;gap:.55rem;
  border:1px solid rgba(57,245,200,.38);border-radius:2px;
  padding:.48rem .78rem;color:var(--cv-mint);cursor:pointer;
  font-family:var(--cv-mono);font-size:.68rem;letter-spacing:.16em;
  transition:background .2s var(--cv-ease),border-color .2s var(--cv-ease);
}
.cv-nav__toggle:hover{background:rgba(57,245,200,.10);border-color:var(--cv-mint);}
.cv-nav__toggle-bar{position:relative;display:block;width:16px;height:11px;}
.cv-nav__toggle-bar::before,
.cv-nav__toggle-bar::after{
  content:"";position:absolute;left:0;right:0;height:1px;background:currentColor;
  transition:transform .22s var(--cv-ease),top .22s var(--cv-ease);
}
.cv-nav__toggle-bar::before{top:2px;}
.cv-nav__toggle-bar::after{top:8px;}
.cv-nav__toggle[aria-expanded="true"] .cv-nav__toggle-bar::before{top:5px;transform:rotate(45deg);}
.cv-nav__toggle[aria-expanded="true"] .cv-nav__toggle-bar::after{top:5px;transform:rotate(-45deg);}
.cv-nav__panel{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.2rem);}
.cv-nav__list{display:flex;align-items:center;gap:clamp(.6rem,1.6vw,1.5rem);}
.cv-nav__link{
  position:relative;display:inline-block;padding:.55rem .1rem;
  color:var(--cv-steel);text-decoration:none;font-size:.95rem;letter-spacing:.01em;
  transition:color .2s var(--cv-ease);
}
.cv-nav__link::after{
  content:"";position:absolute;left:0;right:0;bottom:.12rem;height:1px;
  background:var(--cv-mint);transform:scaleX(0);transform-origin:left center;
  transition:transform .26s var(--cv-ease);
}
.cv-nav__link:hover{color:var(--cv-fog);}
.cv-nav__link:hover::after{transform:scaleX(1);}
.cv-nav__link[aria-current="page"]{color:var(--cv-mint);}
.cv-nav__link[aria-current="page"]::after{transform:scaleX(1);}
.cv-nav__cta{white-space:nowrap;}
.cv-progress{position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;}
.cv-progress__bar{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--cv-glow),var(--cv-mint));
  box-shadow:0 0 12px rgba(57,245,200,.55);
  transition:width .12s linear;
}
/* ---------- buttons ---------- */
.cv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.62rem 1.1rem;border:1px solid transparent;border-radius:2px;
  font-family:var(--cv-sans);font-size:.9rem;font-weight:600;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;
  transition:background .2s var(--cv-ease),color .2s var(--cv-ease),box-shadow .25s var(--cv-ease),transform .2s var(--cv-ease),border-color .2s var(--cv-ease);
}
.cv-btn--accent{
  background:var(--cv-flare);color:var(--cv-ink);
  box-shadow:0 0 0 1px rgba(255,90,60,.45),0 12px 26px -20px rgba(255,90,60,.95);
}
.cv-btn--accent:hover{
  background:var(--cv-flare-deep);color:var(--cv-fog);
  box-shadow:0 0 0 1px var(--cv-flare),0 16px 30px -20px rgba(201,51,31,.95);
  transform:translateY(-1px);
}
.cv-btn--ghost{border-color:rgba(57,245,200,.38);color:var(--cv-mint);}
.cv-btn--ghost:hover{background:rgba(57,245,200,.10);border-color:var(--cv-mint);color:var(--cv-mint-soft);}
/* ---------- footer ---------- */
.cv-footer{
  margin-top:clamp(2rem,5vw,4rem);
  background:linear-gradient(180deg,#0B141B 0%,#0E151B 46%,#07131F 100%);
  border-top:1px solid var(--cv-line);
  padding-top:clamp(2.4rem,5vw,4rem);
}
.cv-footer__inner{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.95fr);
  gap:clamp(1.8rem,4vw,3.5rem);
  padding-bottom:clamp(2rem,4vw,3rem);
}
.cv-footer__brandmark{
  display:inline-block;font-family:var(--cv-display);font-weight:800;
  font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.04em;line-height:1.05;
  color:var(--cv-fog);text-decoration:none;transition:color .2s var(--cv-ease);
}
.cv-footer__brandmark:hover{color:var(--cv-mint);}
.cv-footer__line{
  margin-top:.55rem;font-family:var(--cv-mono);font-size:.68rem;
  letter-spacing:.16em;color:var(--cv-mint);
}
.cv-footer__note{margin-top:1rem;max-width:34ch;color:var(--cv-steel);font-size:.92rem;line-height:1.75;}
.cv-footer__coord{
  margin-top:1rem;font-family:var(--cv-mono);font-size:.68rem;
  letter-spacing:.12em;color:var(--cv-steel);
}
.cv-footer__coord .cv-mono{color:var(--cv-mint-soft);}
.cv-footer__nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,3vw,2rem);}
.cv-footer__col-title{
  font-family:var(--cv-mono);font-size:.7rem;font-weight:600;letter-spacing:.16em;
  color:var(--cv-mint);padding-bottom:.6rem;margin-bottom:.9rem;
  border-bottom:1px solid var(--cv-line);
}
.cv-footer__list{display:grid;gap:.45rem;}
.cv-footer__link{
  color:var(--cv-steel);text-decoration:none;font-size:.9rem;line-height:1.6;
  transition:color .2s var(--cv-ease);
}
.cv-footer__link:hover{
  color:var(--cv-fog);
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--cv-mint);
}
.cv-footer__meta{color:var(--cv-steel);font-size:.85rem;line-height:1.8;overflow-wrap:anywhere;}
.cv-footer__action{margin-top:1rem;}
.cv-footer__base{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:.8rem 1.5rem;padding-block:1.1rem;
  border-top:1px solid var(--cv-line-soft);
  font-family:var(--cv-mono);font-size:.7rem;letter-spacing:.1em;color:var(--cv-steel);
}
.cv-footer__legal{color:var(--cv-steel);}
.cv-footer__legal-links{display:flex;flex-wrap:wrap;gap:1.1rem;}
/* ---------- shared page components ---------- */
.cv-section{padding-block:clamp(2.4rem,5vw,4.5rem);}
.cv-section__head{display:grid;gap:.8rem;max-width:70ch;margin-bottom:clamp(1.4rem,3vw,2.4rem);}
.cv-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--cv-mono);font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cv-mint);
}
.cv-eyebrow::before{content:"";width:18px;height:1px;background:var(--cv-mint);}
.cv-title{
  font-family:var(--cv-display);font-weight:800;
  font-size:clamp(1.75rem,4.2vw,3.2rem);line-height:1.04;letter-spacing:-.04em;
  color:var(--cv-fog);
}
.cv-lede{max-width:62ch;color:var(--cv-steel);font-size:1rem;line-height:1.75;}
.cv-divider{
  border:0;height:1px;margin-block:clamp(1.5rem,3vw,2.5rem);
  background:linear-gradient(90deg,rgba(57,245,200,.42),rgba(232,242,244,.08) 60%,transparent);
}
.cv-grid{display:grid;gap:clamp(1rem,2vw,1.6rem);}
.cv-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cv-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cv-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.cv-grid--split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;}
.cv-card{
  position:relative;
  background:linear-gradient(158deg,rgba(18,40,58,.94) 0%,rgba(14,21,27,.94) 100%);
  border:1px solid var(--cv-line-soft);border-radius:2px;
  padding:clamp(1.05rem,2vw,1.6rem);
  transition:border-color .25s var(--cv-ease),transform .25s var(--cv-ease),box-shadow .25s var(--cv-ease);
}
.cv-card:hover{
  border-color:rgba(57,245,200,.42);
  transform:translateY(-3px);
  box-shadow:0 26px 44px -34px rgba(47,107,255,.95);
}
.cv-card__index{
  font-family:var(--cv-mono);font-size:.72rem;letter-spacing:.16em;color:var(--cv-mint);
}
.cv-card__title{
  margin-top:.5rem;font-family:var(--cv-display);font-weight:700;
  font-size:1.15rem;line-height:1.25;letter-spacing:-.02em;color:var(--cv-fog);
}
.cv-card__text{margin-top:.55rem;color:var(--cv-steel);font-size:.92rem;line-height:1.72;}
.cv-tag{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.28rem .62rem;border:1px solid rgba(57,245,200,.32);border-radius:999px;
  font-family:var(--cv-mono);font-size:.66rem;letter-spacing:.13em;color:var(--cv-mint-soft);
}
.cv-stat{
  display:flex;flex-direction:column;gap:.3rem;
  padding-left:.85rem;border-left:1px solid rgba(57,245,200,.36);
}
.cv-stat__value{
  font-family:var(--cv-mono);font-size:clamp(1.45rem,3vw,2.1rem);
  line-height:1;letter-spacing:-.02em;color:var(--cv-mint);
}
.cv-stat__label{font-family:var(--cv-mono);font-size:.66rem;letter-spacing:.14em;color:var(--cv-steel);}
.cv-media{
  position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;
  border:1px solid var(--cv-line-soft);border-radius:2px;
  background:
    radial-gradient(120% 90% at 82% 0%,rgba(47,107,255,.34),transparent 62%),
    radial-gradient(90% 72% at 8% 100%,rgba(57,245,200,.20),transparent 66%),
    linear-gradient(158deg,#0B1B2A 0%,#12283A 55%,#0E151B 100%);
}
.cv-media::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(232,242,244,.07) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(232,242,244,.07) 1px,transparent 1px);
  background-size:46px 46px;opacity:.7;
}
.cv-media img,.cv-media picture,.cv-media video{
  position:relative;z-index:0;width:100%;height:100%;object-fit:cover;
}
.cv-media--wide{aspect-ratio:21/9;}
.cv-media--tall{aspect-ratio:3/4;}
.cv-media--square{aspect-ratio:1/1;}
.cv-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  font-family:var(--cv-mono);font-size:.68rem;letter-spacing:.12em;color:var(--cv-steel);
}
.cv-breadcrumb__link{color:var(--cv-steel);text-decoration:none;transition:color .2s var(--cv-ease);}
.cv-breadcrumb__link:hover{color:var(--cv-mint);}
.cv-breadcrumb__sep{color:rgba(138,160,172,.55);}
.cv-breadcrumb [aria-current="page"]{color:var(--cv-fog);}
.cv-prose{max-width:68ch;color:var(--cv-steel);line-height:1.8;}
.cv-prose > * + *{margin-top:1em;}
.cv-prose h2,.cv-prose h3{color:var(--cv-fog);font-family:var(--cv-display);letter-spacing:-.03em;line-height:1.25;}
.cv-prose h2{font-size:1.4rem;}
.cv-prose h3{font-size:1.1rem;}
.cv-prose strong{color:var(--cv-fog);}
.cv-prose a{color:var(--cv-mint);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(57,245,200,.42);}
.cv-prose ul{padding-left:1.25rem;list-style:disc;}
.cv-prose ol{padding-left:1.25rem;list-style:decimal;}
.cv-prose li + li{margin-top:.4em;}
.cv-filter{display:flex;flex-wrap:wrap;gap:.5rem;}
.cv-filter__btn{
  padding:.5rem .85rem;border:1px solid var(--cv-line-soft);border-radius:999px;
  font-family:var(--cv-mono);font-size:.7rem;letter-spacing:.13em;
  color:var(--cv-steel);cursor:pointer;
  transition:color .2s var(--cv-ease),border-color .2s var(--cv-ease),background .2s var(--cv-ease);
}
.cv-filter__btn:hover{color:var(--cv-fog);border-color:rgba(57,245,200,.5);}
.cv-filter__btn[aria-pressed="true"]{background:var(--cv-mint);border-color:var(--cv-mint);color:var(--cv-ink);}
[data-filter-item][hidden]{display:none !important;}
.cv-reveal.is-visible{animation:cv-rise .55s var(--cv-ease) both;}
@keyframes cv-rise{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes cv-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(57,245,200,.40);}
  50%{box-shadow:0 0 0 6px rgba(57,245,200,0);}
}
/* ---------- responsive ---------- */
@media (max-width:960px){
  .cv-nav__toggle{display:inline-flex;}
  .cv-nav__panel{
    position:absolute;top:100%;
    left:calc(var(--cv-gutter) * -1);
    right:calc(var(--cv-gutter) * -1);
    display:none;flex-direction:column;align-items:stretch;gap:1rem;
    padding:1rem var(--cv-gutter) 1.4rem;
    background:rgba(14,21,27,.99);
    border-top:1px solid var(--cv-line);
    border-bottom:1px solid var(--cv-line);
    box-shadow:0 30px 48px -32px #000;
  }
  .cv-nav__panel[data-open]{display:flex;}
  .cv-nav__list{flex-direction:column;align-items:stretch;gap:0;}
  .cv-nav__link{
    display:block;padding:.78rem 0;font-size:1rem;
    border-bottom:1px solid var(--cv-line-soft);
  }
  .cv-nav__link::after{display:none;}
  .cv-nav__link[aria-current="page"]{
    color:var(--cv-mint);
    background:linear-gradient(90deg,rgba(57,245,200,.12),transparent 70%);
    padding-left:.7rem;
    border-left:2px solid var(--cv-mint);
  }
  .cv-nav__cta{width:100%;}
}
@media (max-width:900px){
  .cv-grid--split{grid-template-columns:minmax(0,1fr);}
  .cv-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cv-footer__inner{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:720px){
  .cv-topbar__inner{gap:.9rem;min-height:34px;}
  .cv-topbar__status{display:none;}
  .cv-topbar__links{gap:.9rem;overflow-x:auto;scrollbar-width:none;}
  .cv-topbar__links::-webkit-scrollbar{display:none;}
  .cv-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cv-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .cv-grid--2,.cv-grid--3,.cv-grid--4{grid-template-columns:minmax(0,1fr);}
  .cv-footer__nav{grid-template-columns:minmax(0,1fr);}
  .cv-footer__base{flex-direction:column;align-items:flex-start;}
  .cv-brand__line{font-size:.6rem;letter-spacing:.12em;}
  .cv-prose{font-size:.96rem;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .cv-reveal.is-visible{animation:none;}
  .cv-card:hover{transform:none;}
}
