*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --deep-navy:#0A1628;
  --navy-light:#13243C;
  --neon-green:#39FF14;
  --orange:#FF6A00;
  --off-white:#F5F7FA;
  --muted-blue:#8FA3BF;
  --cyan:#00E5FF;
  --dark-gray:#1E2A3A;
  --warning-yellow:#FFD700;
  --font-headline:Impact,'Arial Black','Helvetica Neue',sans-serif;
  --font-body:Inter,'Helvetica Neue',Arial,'PingFang SC','Microsoft YaHei',sans-serif;
  --font-numeric:'Roboto Mono','SFMono-Regular',Consolas,monospace;
  --container-max:1280px;
  --content-max:70ch;
  --transition-fast:0.2s ease;
  --transition-normal:0.35s ease;
}
html{
  font-size:16px;
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.6;
  color:var(--off-white);
  background-color:var(--deep-navy);
  background-image:
    radial-gradient(circle at 85% 15%,rgba(0,229,255,0.05) 0%,transparent 42%),
    radial-gradient(circle at 10% 85%,rgba(57,255,20,0.04) 0%,transparent 45%),
    linear-gradient(rgba(143,163,191,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(143,163,191,0.04) 1px,transparent 1px);
  background-size:auto,auto,36px 36px,36px 36px;
  background-attachment:fixed;
  min-height:100vh;
  overflow-x:hidden;
  word-wrap:break-word;
  overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;border:none;background:none;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--neon-green);outline-offset:3px}
::selection{background:var(--neon-green);color:var(--deep-navy)}

.site-header{
  position:relative;
  z-index:100;
  background:
    radial-gradient(120% 180% at 85% -20%,rgba(0,229,255,0.09) 0%,transparent 50%),
    radial-gradient(80% 120% at 5% 110%,rgba(255,106,0,0.08) 0%,transparent 40%),
    var(--deep-navy);
  border-bottom:1px solid var(--dark-gray);
}
.site-header::after{
  content:'';
  display:block;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--neon-green) 20%,var(--cyan) 50%,var(--orange) 80%,transparent);
  opacity:0.9;
}
.header-inner{
  position:relative;
  max-width:var(--container-max);
  margin:0 auto;
  padding:2rem 1.5rem 0.75rem;
}
@media(max-width:767px){
  .header-inner{
    padding:1rem 1rem 0.25rem;
  }
}
.skip-link{
  position:absolute;
  top:-100%;
  left:1rem;
  z-index:1100;
  padding:0.75rem 1.5rem;
  background:var(--neon-green);
  color:var(--deep-navy);
  font-weight:700;
  font-size:0.875rem;
  text-decoration:none;
  border-radius:0 0 6px 6px;
  transition:top var(--transition-fast);
}
.skip-link:focus-visible{top:0}
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--neon-green),var(--cyan),var(--orange));
  transform:scaleX(0);
  transform-origin:0 50%;
  z-index:1200;
  pointer-events:none;
}
.nav-toggle{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.2rem;
  min-width:56px;
  padding:0.55rem 0.75rem;
  background:var(--navy-light);
  border:1px solid var(--dark-gray);
  border-radius:999px;
  color:var(--off-white);
  transition:border-color var(--transition-fast);
}
.nav-toggle:hover{border-color:var(--neon-green)}
@media(max-width:767px){
  .nav-toggle{
    display:flex;
    position:absolute;
    right:1rem;
    top:0.75rem;
    z-index:70;
  }
}
.nav-toggle-line{
  display:block;
  width:20px;
  height:2px;
  background:var(--off-white);
  border-radius:2px;
  transition:transform var(--transition-fast),opacity var(--transition-fast);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-toggle-label{
  font-size:0.625rem;
  letter-spacing:0.08em;
  color:var(--muted-blue);
  margin-top:0.15rem;
}
.masthead{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:clamp(1rem,3vw,2.5rem);
}
@media(max-width:767px){
  .masthead{
    display:flex;
    justify-content:center;
    align-items:center;
  }
}
.meta-left,.meta-right{
  font-family:var(--font-numeric);
  font-size:0.6875rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted-blue);
  background:rgba(19,36,60,0.65);
  border:1px solid var(--dark-gray);
  border-left:3px solid var(--neon-green);
  border-radius:4px;
  padding:0.5rem 0.875rem;
  white-space:nowrap;
  line-height:1.4;
}
.meta-right{
  border-left-color:var(--orange);
}
@media(max-width:767px){
  .meta-left,.meta-right{display:none}
}
.brand-link{
  display:inline-block;
  text-align:center;
  justify-self:center;
}
.brand-name{
  display:block;
  font-family:var(--font-headline);
  font-size:clamp(2rem,4.5vw,3.25rem);
  line-height:1.05;
  letter-spacing:0.03em;
  text-transform:uppercase;
  color:var(--off-white);
  text-shadow:0 0 22px rgba(57,255,20,0.25);
  transition:color var(--transition-fast),text-shadow var(--transition-fast);
}
.brand-link:hover .brand-name,
.brand-link:focus-visible .brand-name{
  color:var(--neon-green);
  text-shadow:0 0 32px rgba(57,255,20,0.5);
}
.brand-subtitle{
  display:block;
  margin-top:0.3rem;
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.38em;
  text-transform:uppercase;
  color:var(--orange);
}
@media(max-width:767px){
  .brand-name{font-size:clamp(1.6rem,6vw,2rem)}
  .brand-subtitle{letter-spacing:0.22em;font-size:0.625rem}
}
.site-nav{
  display:flex;
  justify-content:center;
  margin-top:1.5rem;
  padding-bottom:1rem;
}
@media(max-width:767px){
  .site-nav{
    display:none;
    position:absolute;
    top:calc(100% - 0.25rem);
    left:1rem;
    right:1rem;
    margin:0;
    padding:0;
    z-index:60;
  }
  .site-nav[data-open]{display:block}
}
.nav-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0.375rem;
  padding:0.4rem;
  background:var(--navy-light);
  border:1px solid var(--dark-gray);
  border-radius:999px;
}
@media(max-width:767px){
  .nav-list{
    flex-direction:column;
    justify-content:stretch;
    align-items:stretch;
    border-radius:12px;
    padding:0.5rem;
    gap:0.25rem;
    box-shadow:0 12px 32px rgba(0,0,0,0.35);
  }
}
.nav-item{list-style:none}
.nav-link{
  display:block;
  padding:0.45rem 1.15rem;
  border-radius:999px;
  border:1px solid transparent;
  font-size:0.8125rem;
  font-weight:600;
  letter-spacing:0.03em;
  color:var(--muted-blue);
  transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast);
}
.nav-link:hover,
.nav-link:focus-visible{
  color:var(--neon-green);
  background:rgba(57,255,20,0.08);
  border-color:rgba(57,255,20,0.3);
}
.nav-link[aria-current="page"]{
  color:var(--deep-navy);
  background:var(--neon-green);
  border-color:var(--neon-green);
  font-weight:700;
}
@media(max-width:767px){
  .nav-link{
    text-align:center;
    padding:0.7rem 1rem;
    border-radius:8px;
  }
}

#main-content{
  display:block;
  min-height:60vh;
}
.container{
  width:100%;
  max-width:var(--container-max);
  margin:0 auto;
  padding-left:clamp(1rem,3vw,1.5rem);
  padding-right:clamp(1rem,3vw,1.5rem);
}
.page-main{
  width:100%;
  max-width:var(--container-max);
  margin:0 auto;
  padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,3vw,1.5rem);
}
.content-section{
  position:relative;
  padding:clamp(2rem,6vw,5rem) 0;
}
.content-section-tight{
  padding:clamp(1.5rem,4vw,2.5rem) 0;
}
.clip-slant{
  clip-path:polygon(0 0,100% 0,100% 92%,0 100%);
}
.prose{
  max-width:var(--content-max);
  color:var(--muted-blue);
  line-height:1.8;
}
.prose>*+*{margin-top:1.25rem}
.prose h1,.prose h2,.prose h3{
  font-family:var(--font-headline);
  color:var(--off-white);
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.02em;
}
.prose h2{font-size:1.75rem}
.prose h3{font-size:1.25rem}
.prose a{color:var(--neon-green);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--cyan)}
.prose strong{color:var(--off-white)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding:0.75rem 1.5rem;
  background:var(--neon-green);
  color:var(--deep-navy);
  font-family:var(--font-body);
  font-size:0.875rem;
  font-weight:700;
  letter-spacing:0.02em;
  border:1px solid transparent;
  border-radius:6px;
  text-decoration:none;
  cursor:pointer;
  transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(57,255,20,0.25);
}
.btn:active{transform:translateY(0)}
.btn-outline{
  background:transparent;
  color:var(--off-white);
  border-color:var(--dark-gray);
}
.btn-outline:hover{
  border-color:var(--orange);
  color:var(--orange);
  box-shadow:none;
}
.btn-small{
  padding:0.5rem 1rem;
  font-size:0.8125rem;
}

.breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.4rem;
  margin-bottom:2rem;
  padding:0.7rem 1rem;
  background:rgba(19,36,60,0.55);
  border:1px solid var(--dark-gray);
  border-left:3px solid var(--orange);
  border-radius:0 8px 8px 0;
}
.breadcrumb-item{
  display:flex;
  align-items:center;
  font-size:0.8125rem;
}
.breadcrumb-item:not(:last-child)::after{
  content:'/';
  color:var(--dark-gray);
  margin:0 0.45rem;
}
.breadcrumb-link{
  color:var(--muted-blue);
  text-decoration:none;
  transition:color var(--transition-fast);
}
.breadcrumb-link:hover{color:var(--neon-green)}
.breadcrumb-item[aria-current="page"] .breadcrumb-link{
  color:var(--off-white);
  font-weight:600;
}

.grid-2,.grid-3,.grid-auto{
  display:grid;
  gap:1.5rem;
}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-auto{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media(max-width:1023px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .grid-2,.grid-3{grid-template-columns:1fr}
}

.data-number{
  font-family:var(--font-numeric);
  font-size:clamp(2.5rem,6vw,4.5rem);
  font-weight:700;
  line-height:1;
  color:var(--neon-green);
  font-variant-numeric:tabular-nums;
}
.tag{
  display:inline-flex;
  align-items:center;
  gap:0.375rem;
  padding:0.3rem 0.875rem;
  border:1px solid var(--dark-gray);
  border-radius:999px;
  background:var(--navy-light);
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--muted-blue);
}
.tag-orange{
  color:var(--orange);
  border-color:rgba(255,106,0,0.45);
  background:rgba(255,106,0,0.08);
}
.tag-green{
  color:var(--neon-green);
  border-color:rgba(57,255,20,0.45);
  background:rgba(57,255,20,0.08);
}
.section-label{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  font-family:var(--font-numeric);
  font-size:0.75rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--orange);
}
.section-label::before{
  content:'';
  width:24px;
  height:2px;
  background:var(--orange);
  flex-shrink:0;
}
.img-frame{
  position:relative;
  overflow:hidden;
  width:100%;
  aspect-ratio:16/9;
  background-color:var(--navy-light);
  background-image:linear-gradient(135deg,rgba(57,255,20,0.05),rgba(0,229,255,0.06));
  border:1px solid var(--dark-gray);
}
.img-frame.is-ratio-square{aspect-ratio:1/1}
.img-frame.is-ratio-portrait{aspect-ratio:3/4}
.img-frame.is-ratio-wide{aspect-ratio:21/9}
.img-frame>img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.img-frame::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to top,rgba(10,22,40,0.38),transparent 42%);
}

.site-footer{
  position:relative;
  background:linear-gradient(180deg,var(--deep-navy),#070E1A 100%);
  border-top:1px solid var(--dark-gray);
  margin-top:clamp(3rem,7vw,6rem);
}
.site-footer::before{
  content:'';
  display:block;
  height:3px;
  background:linear-gradient(90deg,var(--neon-green),var(--cyan) 45%,var(--orange) 75%,var(--neon-green));
  background-size:200% 100%;
  opacity:0.85;
}
.footer-inner{
  max-width:var(--container-max);
  margin:0 auto;
  padding:3rem clamp(1rem,3vw,1.5rem) 2rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:clamp(1.5rem,4vw,3rem);
}
@media(max-width:1023px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .footer-grid{grid-template-columns:1fr}
}
.footer-logo{
  font-family:var(--font-headline);
  font-size:1.5rem;
  line-height:1.1;
  text-transform:uppercase;
  color:var(--off-white);
  letter-spacing:0.04em;
}
.footer-tagline{
  margin-top:0.3rem;
  font-family:var(--font-numeric);
  font-size:0.6875rem;
  text-transform:uppercase;
  letter-spacing:0.25em;
  color:var(--orange);
}
.footer-statement{
  margin-top:1.25rem;
  max-width:34em;
  padding-left:1rem;
  border-left:2px solid var(--neon-green);
  color:var(--muted-blue);
  font-size:0.8125rem;
  line-height:1.7;
}
.footer-heading{
  margin-bottom:1.1rem;
  padding-bottom:0.5rem;
  border-bottom:1px solid var(--dark-gray);
  font-family:var(--font-headline);
  font-size:0.8125rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--cyan);
}
.footer-link-list{
  display:grid;
  gap:0.55rem;
}
.footer-link-list a{
  display:inline-block;
  color:var(--muted-blue);
  font-size:0.875rem;
  transition:color var(--transition-fast),transform var(--transition-fast);
}
.footer-link-list a:hover{
  color:var(--neon-green);
  transform:translateX(3px);
}
.footer-contact-list{
  display:grid;
  gap:0.625rem;
  color:var(--muted-blue);
  font-size:0.8125rem;
  line-height:1.6;
}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:3rem;
  padding-top:1.5rem;
  border-top:1px solid var(--dark-gray);
  font-family:var(--font-numeric);
  font-size:0.75rem;
  color:var(--muted-blue);
}
@media(max-width:767px){
  .footer-bottom{flex-direction:column;text-align:center}
}

.js [data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity var(--transition-normal),transform var(--transition-normal);
}
.js [data-reveal].is-revealed{
  opacity:1;
  transform:translateY(0);
}

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