:root{
  --c-deep-space:#0B1B3D;
  --c-electric-purple:#7B2FFF;
  --c-neon-green:#00FF88;
  --c-warm-paper:#F5F0E8;
  --c-ink:#141414;
  --c-white:#FFFFFF;
  --c-steel-blue:#3A5A8C;
  --c-soft-teal:#2ED3B7;
  --c-bright-orange:#FF8C42;
  --c-dark-violet:#1A103D;
  --font-heading:"Arial Black","PingFang SC",sans-serif;
  --font-body:"Noto Sans SC","Microsoft YaHei",sans-serif;
  --space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--space-8:96px;
  --radius-1:8px;--radius-2:16px;--radius-3:24px;--radius-pill:999px;
  --container-max:1280px;
  --transition-fast:.2s ease;--transition-slow:.4s ease;
  --shadow-card:0 10px 30px rgba(0,0,0,.12);--shadow-hover:0 20px 40px rgba(0,0,0,.24);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{
  font-family:var(--font-body);
  font-size:16px;line-height:1.6;color:var(--c-ink);
  background:var(--c-warm-paper);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--c-neon-green);outline-offset:2px;border-radius:4px}
.skip-link{
  position:absolute;left:var(--space-4);top:-100px;z-index:300;
  background:var(--c-neon-green);color:var(--c-ink);font-weight:700;
  padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);
  transition:top var(--transition-fast);
}
.skip-link:focus{top:var(--space-3)}
.l-container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-4)}
body{display:flex;flex-direction:column;min-height:100vh}
#main-content{flex:1}

/* ===== Header ===== */
.site-header{
  position:sticky;top:0;z-index:200;
  background:rgba(11,27,61,.82);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--space-4)}
.site-header__brand{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-family:var(--font-heading);font-style:italic;font-weight:900;font-size:24px;
  color:var(--c-white);letter-spacing:.02em;text-transform:uppercase;
  line-height:1;white-space:nowrap;
}
.brand-mark{
  display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;
  background:linear-gradient(135deg,var(--c-electric-purple),var(--c-neon-green));
  color:var(--c-ink);font-size:22px;transform:skewX(-8deg);
}
.site-nav ul{display:flex;gap:var(--space-2);align-items:center}
.site-nav a{
  display:inline-block;padding:8px 16px;border-radius:var(--radius-pill);
  color:rgba(245,240,232,.86);font-size:15px;font-weight:500;
  transition:background var(--transition-fast),color var(--transition-fast);
}
.site-nav a:hover{background:rgba(123,47,255,.24);color:var(--c-white)}
.site-nav a[aria-current="page"]{background:var(--c-electric-purple);color:var(--c-white)}
.site-nav__quick{display:none}
.site-header__actions{display:flex;align-items:center;gap:var(--space-3)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  padding:10px 24px;border-radius:var(--radius-pill);border:1px solid transparent;
  font-weight:700;font-size:15px;letter-spacing:.02em;text-align:center;
  transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.btn--primary{background:var(--c-electric-purple);color:var(--c-white)}
.btn--primary:hover{background:var(--c-neon-green);color:var(--c-ink)}
.btn--ghost{border-color:rgba(255,255,255,.3);color:var(--c-white)}
.btn--ghost:hover{background:rgba(255,255,255,.08)}

/* Mobile nav */
.nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:10px;border-radius:var(--radius-2);
  background:transparent;border:1px solid rgba(255,255,255,.2);
}
.nav-toggle__bar{display:block;height:2px;width:100%;background:var(--c-white);border-radius:2px;transition:transform var(--transition-fast),opacity var(--transition-fast)}
[data-nav-toggle][aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
[data-nav-toggle][aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0}
[data-nav-toggle][aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== Hero / Page Hero ===== */
.hero{
  position:relative;overflow:hidden;min-height:80vh;display:flex;align-items:center;
  background:linear-gradient(135deg,var(--c-dark-violet) 0%,var(--c-deep-space) 70%);
  clip-path:polygon(0 0,100% 0,100% 96%,0 100%);
}
.hero::after{
  content:"";position:absolute;top:-30%;right:-10%;width:60%;height:140%;
  background:var(--c-electric-purple);opacity:.25;filter:blur(80px);
  transform:skewX(-15deg);z-index:0;
}
.hero__content{position:relative;z-index:2;padding-block:var(--space-8)}
.hero__title{
  font-family:var(--font-heading);font-size:clamp(56px,10vw,120px);font-weight:900;
  font-style:italic;line-height:.9;color:var(--c-white);text-transform:uppercase;
  letter-spacing:-.02em;max-width:6ch;
}
.hero__title em{color:var(--c-neon-green);font-style:italic}
.hero__meta{
  margin-top:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-3);
}
.page-hero{
  position:relative;padding-block:var(--space-7);overflow:hidden;
  background:linear-gradient(120deg,var(--c-deep-space),var(--c-dark-violet));
  clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),0 100%);
}
.page-hero__title{
  font-family:var(--font-heading);font-size:clamp(40px,7vw,72px);font-style:italic;
  color:var(--c-white);text-transform:uppercase;
}
.page-hero__sub{color:rgba(245,240,232,.8);margin-top:var(--space-3);max-width:60ch}

/* ===== Sections / Breadcrumbs ===== */
.section{padding-block:var(--space-7)}
.section--dark{background:var(--c-deep-space);color:var(--c-warm-paper)}
.section--light{background:var(--c-warm-paper);color:var(--c-ink)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-block:var(--space-4)}
.breadcrumbs li{display:flex;align-items:center;gap:var(--space-2);color:var(--c-steel-blue)}
.breadcrumbs li + li::before{content:"/";color:var(--c-steel-blue)}
.breadcrumbs a{color:var(--c-electric-purple);font-weight:500}
.breadcrumbs a:hover{text-decoration:underline}

/* ===== Grids & Cards ===== */
.grid{display:grid;gap:var(--space-4)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.card{
  position:relative;background:var(--c-warm-paper);border-radius:var(--radius-3);
  overflow:hidden;box-shadow:var(--shadow-card);border:1px solid rgba(0,0,0,.04);
  transition:transform var(--transition-fast),box-shadow var(--transition-fast);
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.card__media{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--c-steel-blue),var(--c-deep-space))}
.card__media::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(11,27,61,.4));
}
.card__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.card__title{font-family:var(--font-heading);font-size:20px;line-height:1.3;color:var(--c-ink);text-transform:uppercase}
.card__text{font-size:15px;color:rgba(20,20,20,.76);flex:1}
.img-frame{display:block;width:100%;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}
.img-frame--16x9{aspect-ratio:16/9}
.img-frame--21x9{aspect-ratio:21/9}

/* ===== Footer ===== */
.site-footer{background:var(--c-ink);color:var(--c-warm-paper);padding-top:var(--space-7)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.6fr;gap:var(--space-6);padding-bottom:var(--space-6)}
.site-footer .site-header__brand{color:var(--c-white);margin-bottom:var(--space-3)}
.footer__brand p{font-size:14px;color:rgba(245,240,232,.7);max-width:36ch}
.footer__trust{margin-top:var(--space-3);padding:var(--space-3);border-left:3px solid var(--c-neon-green);background:rgba(0,255,136,.06);border-radius:0 var(--radius-2) var(--radius-2) 0}
.footer__nav h4,.footer__legal h4,.footer__contact h4{
  font-family:var(--font-heading);font-size:16px;text-transform:uppercase;color:var(--c-white);
  margin-bottom:var(--space-3);letter-spacing:.04em;
}
.footer__nav ul,.footer__legal ul,.footer__contact ul{display:flex;flex-direction:column;gap:var(--space-2)}
.footer__nav a,.footer__legal a,.footer__contact a{color:rgba(245,240,232,.72);font-size:15px;transition:color var(--transition-fast)}
.footer__nav a:hover,.footer__legal a:hover,.footer__contact a:hover{color:var(--c-neon-green)}
.footer__contact p{font-size:14px;color:rgba(245,240,232,.6);margin-top:var(--space-3)}
.footer__bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);
  padding-block:var(--space-4);border-top:1px solid rgba(255,255,255,.1);
  font-size:13px;color:rgba(245,240,232,.5);
}

/* ===== Misc Components ===== */
.progress-bar{
  position:fixed;top:0;left:0;height:4px;width:100%;z-index:300;
  background:linear-gradient(90deg,var(--c-neon-green),var(--c-electric-purple));
  transform-origin:0 50%;transform:scaleX(0);
}
.back-to-top{
  position:fixed;right:24px;bottom:24px;z-index:150;
  width:48px;height:48px;border-radius:50%;
  background:var(--c-electric-purple);color:var(--c-white);border:none;font-size:20px;
  display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity var(--transition-fast),visibility var(--transition-fast),transform var(--transition-fast);
  box-shadow:var(--shadow-card);
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--c-neon-green);color:var(--c-ink)}

/* ===== Reveal Animations ===== */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}

/* ===== Responsive ===== */
@media (max-width:900px){
  .footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-5)}
  .grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  :root{--space-7:48px;--space-8:64px}
  .nav-toggle{display:flex}
  .site-header__actions .btn{display:none}
  .site-nav{
    position:fixed;top:72px;right:0;bottom:0;z-index:250;
    width:min(84vw,340px);background:rgba(11,27,61,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
    padding:var(--space-5) var(--space-4);overflow-y:auto;
    transform:translateX(100%);transition:transform var(--transition-slow);
    display:flex;flex-direction:column;gap:var(--space-5);
  }
  .site-nav[data-open]{transform:translateX(0);box-shadow:-20px 0 40px rgba(0,0,0,.3)}
  .site-nav ul{flex-direction:column;align-items:stretch;gap:var(--space-2)}
  .site-nav a{padding:12px 16px;font-size:18px}
  .site-nav__quick{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-4)}
  .site-nav__quick a{padding:10px 16px;background:rgba(255,255,255,.04);border-radius:var(--radius-pill);color:var(--c-warm-paper)}
  .hero{min-height:60vh}
  .footer__grid{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;text-align:center}
}
@media (max-width:480px){
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .hero__title{font-size:56px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  [data-reveal]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
