*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,p,ul,ol,dl,blockquote,figure{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
img,svg,video{max-width:100%;display:block}
input,button,textarea,select{font:inherit}

:root{
  --c-deep:#0A1F44;
  --c-navy:#102A5C;
  --c-red:#E4002B;
  --c-dark-red:#B3001B;
  --c-gold:#FFC400;
  --c-light-gold:#FFDF80;
  --c-white:#FFFFFF;
  --c-slate:#B8C4D0;
  --c-off-white:#F0F2F5;
  --c-charcoal:#1A1A1A;
  --font-heading:Impact,'DIN Condensed','Arial Narrow',sans-serif;
  --font-body:'PingFang SC','Microsoft YaHei','Hiragino Sans GB',sans-serif;
  --font-number:'Roboto Mono','Consolas',monospace;
  --radius:14px;
  --shadow:0 18px 40px rgba(0,0,0,.24);
}

html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.65;
  color:var(--c-white);
  background-color:var(--c-deep);
  background-image:linear-gradient(115deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 44%,rgba(255,255,255,.008) 44%,rgba(255,255,255,.008) 45%,transparent 45%);
  background-size:140px 140px;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:var(--font-heading);
  font-weight:900;
  line-height:1.1;
  letter-spacing:.01em;
  color:var(--c-white);
}
h1{font-size:clamp(2.5rem,7vw,4.5rem)}
h2{font-size:clamp(1.75rem,4.5vw,2.75rem)}
h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}
h4{font-size:1.25rem}
p{hyphens:auto}
a{color:var(--c-gold)}
a:hover{color:var(--c-light-gold)}
::selection{background:var(--c-red);color:#fff}

:focus-visible{
  outline:3px solid var(--c-gold);
  outline-offset:3px;
}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.skip-link{
  position:fixed;top:-100px;left:1rem;z-index:2000;
  padding:.75rem 1rem;
  background:var(--c-gold);
  color:var(--c-deep);
  border-radius:0 0 10px 10px;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.skip-link:focus{top:0;color:var(--c-deep)}

.main-content{
  min-height:70vh;
  scroll-margin-top:7rem;
  outline:none;
}

.container{
  width:min(100% - 2rem,1240px);
  margin-inline:auto;
}
.container--wide{
  width:min(100% - 1.5rem,1480px);
  margin-inline:auto;
}

.site-header{
  position:fixed;
  top:.75rem;
  left:0;
  right:0;
  z-index:1200;
  padding:0 1rem;
}
.header-inner{
  position:relative;
  max-width:1240px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:nowrap;
  padding:.65rem .8rem .65rem 1rem;
  background:rgba(10,31,68,.92);
  border:1px solid rgba(255,255,255,.09);
  border-left:4px solid var(--c-red);
  border-radius:999px;
  box-shadow:0 16px 40px rgba(0,0,0,.3);
  backdrop-filter:blur(14px);
  transition:padding .3s ease,background .3s ease,box-shadow .3s ease;
}
.site-header::before{
  content:"";
  position:absolute;
  top:-1px;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--c-red) 0 18%,var(--c-gold) 18% 24%,transparent 24% 76%,var(--c-red) 76% 92%,var(--c-gold) 92%);
  border-radius:999px;
  z-index:1;
  pointer-events:none;
}
.site-header.is-scrolled .header-inner{
  padding-top:.45rem;
  padding-bottom:.45rem;
  background:rgba(8,25,55,.97);
  box-shadow:0 12px 28px rgba(0,0,0,.42);
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:var(--c-white);
  text-decoration:none;
  flex:0 0 auto;
}
.brand:hover{color:var(--c-white)}
.brand-mark{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  background:var(--c-red);
  color:#fff;
  font-family:var(--font-heading);
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:.02em;
  clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.brand-text{display:grid;gap:2px;line-height:1}
.brand-name{
  font-weight:900;
  font-size:1.05rem;
  letter-spacing:.05em;
  white-space:nowrap;
}
.brand-suffix{
  display:block;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-slate);
  white-space:nowrap;
}

.site-nav{margin-left:auto}
.nav-list{
  display:flex;
  align-items:center;
  gap:.15rem;
  margin:0;
  padding:0;
}
.nav-link{
  display:block;
  padding:.55rem .8rem;
  border-radius:999px;
  color:var(--c-slate);
  font-size:.9rem;
  font-weight:700;
  text-decoration:none;
  letter-spacing:.02em;
  border:1px solid transparent;
  transition:color .2s ease,background .2s ease,border-color .2s ease;
}
.nav-link:hover{
  color:var(--c-white);
  background:rgba(255,196,0,.1);
  border-color:rgba(255,196,0,.22);
}
.nav-link[aria-current="page"],
.nav-link[aria-current="page"]:hover{
  color:var(--c-deep);
  background:var(--c-gold);
  border-color:var(--c-gold);
  box-shadow:0 8px 20px rgba(255,196,0,.22);
}

.header-cta{
  margin-left:.35rem;
  flex:0 0 auto;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:46px;
  padding:.7rem 1.2rem;
  border-radius:999px;
  border:1px solid transparent;
  background:var(--c-red);
  color:#fff;
  font-weight:800;
  font-size:.9rem;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.btn:hover{
  background:var(--c-dark-red);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(228,0,43,.28);
}
.btn--compact{
  min-height:40px;
  padding:.4rem 1rem;
  font-size:.85rem;
}

.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
  color:var(--c-white);
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}
.nav-toggle:hover{
  background:rgba(228,0,43,.25);
  border-color:rgba(228,0,43,.5);
}
.nav-icon{
  position:relative;
  display:block;
  width:18px;
  height:2px;
  background:currentColor;
  transition:background .2s ease;
}
.nav-icon::before,
.nav-icon::after{
  content:"";
  position:absolute;
  left:0;
  width:18px;
  height:2px;
  background:currentColor;
  border-radius:1px;
  transition:transform .2s ease,top .2s ease;
}
.nav-icon::before{top:-6px}
.nav-icon::after{top:6px}
[data-nav-toggle][aria-expanded="true"] .nav-icon{background:transparent}
[data-nav-toggle][aria-expanded="true"] .nav-icon::before{transform:translateY(6px) rotate(45deg)}
[data-nav-toggle][aria-expanded="true"] .nav-icon::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:991.98px){
  .header-inner{padding:.55rem .6rem .55rem .75rem}
  .site-nav{
    display:none;
    position:absolute;
    top:calc(100% + .75rem);
    left:0;
    right:0;
    margin-left:0;
    padding:.8rem;
    background:rgba(10,31,68,.97);
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    box-shadow:0 24px 50px rgba(0,0,0,.4);
    clip-path:polygon(0 0,calc(100% - 22px) 0,100% 12px,100% 100%,0 100%);
  }
  .site-nav[data-open]{display:block}
  .nav-list{
    flex-direction:column;
    align-items:stretch;
    gap:.2rem;
  }
  .nav-link{
    padding:.7rem 1rem;
    font-size:1rem;
    border-radius:12px;
  }
  .nav-toggle{
    display:inline-flex;
    flex:0 0 auto;
  }
}

@media (max-width:640px){
  .header-cta{display:none}
  .brand-name{font-size:.98rem}
  .brand-suffix{letter-spacing:.1em}
  .header-inner{gap:.4rem}
}

.site-footer{
  position:relative;
  margin-top:5rem;
  padding:4rem 0 2.5rem;
  background:linear-gradient(180deg,#081631 0%,var(--c-deep) 130%);
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--c-red) 0 22%,var(--c-gold) 22% 30%,transparent 30% 78%,var(--c-red) 78% 92%,var(--c-gold) 92%);
}
.site-footer::after{
  content:"";
  position:absolute;
  top:-10%;
  right:-20%;
  width:75%;
  height:120%;
  background:linear-gradient(115deg,transparent 46%,rgba(228,0,43,.08) 46%,rgba(228,0,43,.13) 50%,transparent 50%);
  pointer-events:none;
}
.footer-inner{
  position:relative;
  z-index:1;
  width:min(100% - 2rem,1240px);
  margin:0 auto;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:2rem;
  align-items:start;
}
.footer-brand{
  align-items:flex-start;
  justify-self:start;
}
.footer-col{
  display:grid;
  gap:.6rem;
  align-content:start;
}
.footer-heading{
  font-size:1rem;
  letter-spacing:.06em;
  color:var(--c-gold);
  margin-bottom:.25rem;
}
.footer-contact-line{
  color:var(--c-slate);
  font-size:.9rem;
  line-height:1.55;
  word-break:break-all;
}
.footer-link-list{
  display:grid;
  gap:.5rem;
}
.footer-link{
  display:inline-block;
  color:var(--c-slate);
  text-decoration:none;
  font-size:.9rem;
  font-weight:600;
  transition:color .2s ease,transform .2s ease;
}
.footer-link:hover{
  color:var(--c-gold);
  transform:translateX(4px);
}
.footer-trust{
  margin-top:2.5rem;
  padding:1rem 1.25rem;
  border-left:4px solid var(--c-red);
  background:rgba(255,255,255,.04);
  color:var(--c-slate);
  font-size:.9rem;
  line-height:1.65;
}
.footer-legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.75rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.1);
  color:var(--c-slate);
  font-size:.85rem;
}
.footer-copy,
.footer-icp{margin:0}

.btn-gotop{
  position:fixed;
  right:1.25rem;
  bottom:1.25rem;
  z-index:900;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:var(--c-red);
  color:#fff;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease,background .25s ease;
}
.btn-gotop::before{
  content:"";
  display:block;
  width:10px;
  height:10px;
  margin:0 auto;
  border-top:2px solid currentColor;
  border-left:2px solid currentColor;
  transform:translateY(4px) rotate(45deg);
}
.btn-gotop:hover{background:var(--c-dark-red)}
.btn-gotop.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:none;
}

.page-hero{
  position:relative;
  padding:clamp(7rem,15vh,9.5rem) 0 3.5rem;
  overflow:hidden;
  background:linear-gradient(115deg,var(--c-deep) 0 62%,var(--c-navy) 62% 100%);
}
.page-hero::after{
  content:"";
  position:absolute;
  right:-8%;
  bottom:-22%;
  width:46%;
  height:48%;
  background:linear-gradient(125deg,transparent 42%,rgba(228,0,43,.16) 46%,rgba(255,196,0,.14) 52%,transparent 58%);
  border:2px solid rgba(255,196,0,.16);
  transform:rotate(-6deg);
  pointer-events:none;
}
.page-section{
  position:relative;
  padding:4rem 0;
}
.section-head{
  display:grid;
  gap:.75rem;
  max-width:780px;
  margin-bottom:2rem;
}
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-number);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--c-gold);
}
.section-kicker::before{
  content:"";
  width:22px;
  height:2px;
  background:var(--c-red);
}
.section-title{
  text-transform:uppercase;
}
.section-lead{
  color:var(--c-slate);
  font-size:1rem;
  max-width:64ch;
}

.grid{
  display:grid;
  gap:1.25rem;
}
.grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:991.98px){
  .grid--3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .grid--2,
  .grid--3{
    grid-template-columns:1fr;
  }
}

.panel{
  position:relative;
  padding:1.5rem;
  background:linear-gradient(145deg,rgba(16,42,92,.94),rgba(10,31,68,.98));
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  box-shadow:var(--shadow);
}
.panel::before{
  content:"";
  position:absolute;
  top:-1px;
  left:1.25rem;
  width:44px;
  height:4px;
  background:var(--c-red);
}

.card{
  position:relative;
  padding:1.5rem;
  background:linear-gradient(145deg,var(--c-navy),var(--c-deep));
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--c-red);
  border-radius:12px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  transition:transform .2s ease,border-color .2s ease;
}
.card:hover{
  transform:translateY(-4px);
  border-left-color:var(--c-gold);
}

.label{
  display:inline-block;
  padding:.2rem .6rem;
  border:1px solid rgba(255,196,0,.3);
  background:rgba(255,196,0,.1);
  color:var(--c-gold);
  font-family:var(--font-number);
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.25rem .7rem;
  border-radius:999px;
  background:var(--c-red);
  color:#fff;
  font-size:.75rem;
  font-weight:800;
}
.badge--gold{
  background:var(--c-gold);
  color:var(--c-deep);
}

.metric{
  position:relative;
  padding:1.25rem;
  background:linear-gradient(160deg,var(--c-navy),var(--c-deep));
  border:1px solid rgba(255,255,255,.08);
  border-top:4px solid var(--c-red);
}
.metric-value{
  display:block;
  font-family:var(--font-number);
  font-size:clamp(2rem,5vw,2.75rem);
  font-weight:800;
  color:var(--c-gold);
  line-height:1;
}
.metric-label{
  display:block;
  margin-top:.4rem;
  color:var(--c-slate);
  font-size:.875rem;
}

.media-frame{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,var(--c-navy),#081531);
  border:1px solid rgba(255,255,255,.1);
  clip-path:polygon(0 0,calc(100% - 1.25rem) 0,100% 1.25rem,100% 100%,0 100%);
}
.media-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 38%,rgba(228,0,43,.15) 48%,rgba(228,0,43,.18) 52%,transparent 62%);
  pointer-events:none;
  mix-blend-mode:screen;
}
.media-frame img,
.media-frame video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-frame--video{aspect-ratio:16/9}
.media-frame--wide{aspect-ratio:21/9}
.media-frame--portrait{aspect-ratio:4/5}

.surface-light{
  background:var(--c-off-white);
  color:var(--c-charcoal);
}
.surface-light h1,
.surface-light h2,
.surface-light h3,
.surface-light h4{
  color:var(--c-charcoal);
}
.surface-light .section-lead,
.surface-light p{
  color:#3d4a5c;
}

.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-bottom:1.5rem;
  padding:0;
}
.breadcrumb li{
  display:flex;
  align-items:center;
  color:var(--c-slate);
  font-size:.875rem;
}
.breadcrumb a{
  color:var(--c-gold);
  text-decoration:none;
}
.breadcrumb li+li::before{
  content:"/";
  margin-right:.4rem;
  color:var(--c-slate);
}

html.js [data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .55s ease,transform .55s ease;
}
html.js [data-reveal][data-visible]{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  html.js [data-reveal],
  html.js [data-reveal][data-visible]{
    opacity:1 !important;
    transform:none !important;
  }
  .btn-gotop,
  .site-header.is-scrolled .header-inner,
  .header-inner,
  .card,
  .nav-link,
  .btn{
    transition:none !important;
  }
}
