/* =========================================================
   DESIGN TOKENS
========================================================= */
:root {
  --primary:                  #2F855A;
  --secondary:                #63B3ED;
  --tertiary:                 #C53030;
  --on-primary:               #ffffff;
  --on-secondary:             #001d36;
  --on-tertiary:              #ffffff;
  --background:               #0a151a;
  --on-background:            #d8e4ec;
  --surface:                  #0a151a;
  --on-surface:               #d8e4ec;
  --surface-container-lowest: #051015;
  --surface-container-low:    #121d23;
  --surface-container:        #162127;
  --surface-container-high:   #202b32;
  --surface-container-highest:#2b363d;
  --outline:                  #8e9196;
  --outline-variant:          #44474c;
  --on-surface-variant:       #c4c6cc;
}

/* =========================================================
   GLOBAL
========================================================= */
*,*::before,*::after{box-sizing:border-box;}
body{background-color:var(--background);color:var(--on-background);font-family:'Inter',sans-serif;margin:0;}
::selection{background:var(--primary);color:var(--on-primary);}

/* =========================================================
   CLIP PATHS
========================================================= */
.clipped-corner{clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);}
.clipped-header{clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,0 100%);}

/* =========================================================
   TEXTURES
========================================================= */
.paper-texture{
  background-image:url('../images/pptxt.png');
  background-blend-mode:overlay;
}
.matte-surface{
  background-image:url('../images/bxbg.png');
  background-blend-mode:multiply;
}

/* =========================================================
   UTILITY CLASSES
========================================================= */
.text-primary-c{color:var(--primary)!important;}
.text-secondary-c{color:var(--secondary)!important;}
.text-tertiary-c{color:var(--tertiary)!important;}
.text-on-sv{color:var(--on-surface-variant)!important;}
.text-on-surface{color:var(--on-surface)!important;}
.text-on-bg{color:var(--on-background)!important;}
.text-outline{color:var(--outline)!important;}
.bg-background-c{background-color:var(--background)!important;}
.bg-sc-lowest{background-color:var(--surface-container-lowest)!important;}
.bg-sc-low{background-color:var(--surface-container-low)!important;}
.bg-sc{background-color:var(--surface-container)!important;}
.bg-sc-high{background-color:var(--surface-container-high)!important;}
.bg-sc-highest{background-color:var(--surface-container-highest)!important;}
.border-primary-c{border-color:var(--primary)!important;}
.border-secondary-c{border-color:var(--secondary)!important;}
.border-tertiary-c{border-color:var(--tertiary)!important;}
.border-ov{border-color:var(--outline-variant)!important;}
.font-headline{font-family:'Space Grotesk',sans-serif!important;}
.font-label{font-family:'Manrope',sans-serif!important;}

/* =========================================================
   NAVBAR
========================================================= */
.navbar-custom{
  background-color:var(--background);
  border-bottom:1px solid rgba(68,71,76,.3);
  padding-top:1.5rem;padding-bottom:1.5rem;
}
.navbar-custom .nav-link{
  font-family:'Space Grotesk',sans-serif;
  text-transform:uppercase;letter-spacing:.18em;font-weight:700;
  color:var(--secondary);transition:color .3s;padding:0;
}
.navbar-custom .nav-link:hover{color:var(--primary);}

.btn-nav-cart{
  font-family:'Space Grotesk',sans-serif;text-transform:uppercase;
  letter-spacing:.18em;font-weight:700;color:var(--secondary);
  background:transparent;border:none;padding:.5rem 1rem;
  border-radius:0;transition:background-color .2s;
}
.btn-nav-cart:hover{background-color:var(--surface-container-high);}

.btn-preorder{
  font-family:'Space Grotesk',sans-serif;text-transform:uppercase;
  letter-spacing:.18em;font-weight:700;color:#fff;
  background-color:var(--primary);border:none;
  padding:.5rem 1.5rem;border-radius:0;transition:background-color .2s;
}
.btn-preorder:hover{background-color:rgba(47,133,90,.9);color:#fff;}

/* =========================================================
   HERO
========================================================= */
.hero-section{
  position:relative;min-height:921px;
  display:flex;align-items:center;justify-content:center;
  padding-left:2rem;padding-right:2rem;overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0;background-color:var(--background);}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.2;mix-blend-mode:luminosity;}

.hero-badge{
  display:inline-block;background-color:var(--primary);color:var(--on-primary);
  font-family:'Manrope',sans-serif;font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;padding:.25rem .75rem;
      width: fit-content;
}
.hero-h1{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(3rem,8vw,5rem);font-weight:900;
  letter-spacing:-.04em;line-height:1;color:var(--on-background);
  text-transform:uppercase;margin:0;
}
.hero-h1 .accent{color:var(--primary);font-style:italic;}
.hero-lead{font-size:1.25rem;color:var(--on-surface-variant);max-width:36rem;line-height:1.7;}

.btn-hero-primary{
  position:relative;display:inline-block;
  padding:1.25rem 2.5rem;
  background-color:var(--primary);color:var(--on-primary);
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.125rem;
  text-transform:uppercase;letter-spacing:.1em;border:none;border-radius:0;
  overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.4);transition:color .2s;
}
.btn-hero-primary::after{
  content:'';position:absolute;inset:0;background:rgba(255,255,255,.1);
  opacity:0;transition:opacity .2s;
}
.btn-hero-primary:hover::after{opacity:1;}
.btn-hero-primary:hover{color:#fff;}

.btn-hero-secondary{
  padding:1.25rem 2.5rem;border:1px solid var(--outline-variant);
  color:var(--on-surface);font-family:'Space Grotesk',sans-serif;
  font-weight:700;font-size:1.125rem;text-transform:uppercase;letter-spacing:.1em;
  background:rgba(255,255,255,.02);backdrop-filter:blur(4px);
  border-radius:0;transition:background-color .2s;
}
.btn-hero-secondary:hover{background-color:var(--surface-container-high);color:var(--on-surface);}

.hero-img-outer{background-color:#000;padding:.5rem;transition:transform .5s;}
.hero-img-outer:hover{transform:scale(1.02);}
.hero-img-inner{background-color:#000;padding:.5rem;}
.hero-img-inner img{width:100%;height:auto;object-fit:contain;display:block;}

.badge-elite{
  position:absolute;top:-1.5rem;right:-1.5rem;
  background-color:var(--tertiary);color:var(--on-tertiary);
  font-family:'Space Grotesk',sans-serif;font-weight:900;font-size:1.5rem;
  padding:1rem 1.5rem;z-index:20;white-space:nowrap;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);
  box-shadow:0 10px 25px rgba(0,0,0,.4);
}
.badge-supply{
  position:absolute;bottom:-2rem;left:0rem;
  background-color:var(--surface-container-highest);
  padding:1.5rem;font-family:'Manrope',sans-serif;
  border-left:4px solid var(--primary);
  box-shadow:0 10px 25px rgba(0,0,0,.4);z-index:20;
}
.badge-supply .sup-label{
  display:block;font-size:.625rem;color:var(--primary);
  text-transform:uppercase;letter-spacing:.2em;margin-bottom:.25rem;
}
.badge-supply .sup-title{font-size:1.25rem;font-weight:700;margin:0;}
.badge-supply .sup-sub{
  display:block;font-size:.65rem;color:rgba(196,198,204,.7);
  text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:.25rem;
}

/* =========================================================
   SECTION LABELS / HEADINGS
========================================================= */
.sec-label{
  display:block;font-family:'Manrope',sans-serif;font-size:.7rem;
  text-transform:uppercase;letter-spacing:.4em;color:var(--primary);margin-bottom:1rem;
}
.sec-heading{
  font-family:'Space Grotesk',sans-serif;font-size:clamp(2rem,5vw,3rem);
  font-weight:900;text-transform:uppercase;color:var(--on-background);line-height:1.1;
}

/* =========================================================
   ARSENAL — UNIT CARDS
========================================================= */
.unit-card{
  background-color:var(--surface-container);
  padding:4px;box-shadow:0 4px 12px rgba(0,0,0,.3);height:100%;
}
.unit-card.featured{
  background-color:var(--primary);
  transform:scale(1.05);
  box-shadow:0 25px 50px rgba(0,0,0,.5);
  position:relative;z-index:10;
}
.unit-card-body{
  background-color:var(--surface-container-high);
  padding:1.5rem;height:100%;
}
.unit-card.featured .unit-card-body{background-color:var(--surface-container-highest);}
.unit-card-img-wrap{overflow:hidden;}
.unit-card-img{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  border:1px solid var(--outline-variant);display:block;transition:transform .5s;
}
.unit-card-img-wrap:hover .unit-card-img{transform:scale(1.1);}
.unit-card.featured .unit-card-img{border:2px solid var(--primary);transition:transform .7s;}
.unit-card.featured .unit-card-img-wrap:hover .unit-card-img{transform:rotate(1deg);}
.unit-name{
  font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:1.25rem;text-transform:uppercase;letter-spacing:-.03em;
}

/* =========================================================
   FOUNDER
========================================================= */
.founder-portrait{
  position:relative;aspect-ratio:4/5;
  background-color:var(--surface-container-high);
  border:1px solid rgba(68,71,76,.5);overflow:hidden;
  box-shadow:0 25px 50px rgba(0,0,0,.4);
}
.founder-portrait .placeholder{
  position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;background-color:rgba(10,21,26,.4);padding:3rem;
}
.founder-portrait .placeholder i{font-size:10rem;color:rgba(142,145,150,.2);}
.founder-portrait img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;mix-blend-mode:overlay;filter:grayscale(1);opacity:.6;
}
.founder-name-bar{
  position:absolute;bottom:0;left:0;right:0;padding:2rem;
  background:linear-gradient(transparent,var(--background));
}
.founder-name{
  font-family:'Space Grotesk',sans-serif;font-weight:900;font-size:1.875rem;
  text-transform:uppercase;letter-spacing:-.03em;color:var(--on-background);margin:0;
}
.founder-role{
  font-family:'Manrope',sans-serif;font-size:.75rem;color:var(--primary);
  text-transform:uppercase;letter-spacing:.3em;font-weight:700;margin:.25rem 0 0;
}
.corner-tl{
  position:absolute;top:-2.5rem;left:-0.1rem;width:10rem;height:10rem;
  border-top:2px solid rgba(47,133,90,.3);border-left:2px solid rgba(47,133,90,.3);
  pointer-events:none;
}
.corner-br{
  position:absolute;bottom:-2.5rem;right:-0.1rem;width:10rem;height:10rem;
  border-bottom:2px solid rgba(197,48,48,.3);border-right:2px solid rgba(197,48,48,.3);
  pointer-events:none;
}
.quote-block{
  border-left:4px solid var(--secondary);padding:.5rem 1.5rem .5rem;
  background-color:rgba(99,179,237,.05);font-style:italic;
  font-family:'Inter',sans-serif;line-height:1.75;
}
.stat-pill{
  padding:1rem;border:1px solid rgba(68,71,76,.3);
  background-color:var(--surface-container-low);
}
.stat-pill .sp-label{
  display:block;font-family:'Manrope',sans-serif;font-size:.65rem;
  text-transform:uppercase;letter-spacing:.2em;color:var(--outline);margin-bottom:.2rem;
}
.stat-pill .sp-val{
  font-family:'Space Grotesk',sans-serif;font-size:1.5rem;
  font-weight:700;text-transform:uppercase;color:var(--on-background);
}

/* =========================================================
   SCALABLE WARFARE
========================================================= */
.warfare-col{
  position:relative;display:flex;flex-direction:column;justify-content:center;
  min-height:500px;padding:3rem 6rem;overflow:hidden;
}
.warfare-col.col-left{border-right:1px solid rgba(68,71,76,.2);}
.warfare-col.col-right{background-color:var(--surface-container-low);}

.accent-stripe{position:absolute;top:0;height:100%;width:6px;}
.accent-stripe.s-left{left:0;}
.accent-stripe.s-right{right:0;}

.mode-pill{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.2rem .75rem;font-family:'Manrope',sans-serif;
  font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;
  border-radius:0;width:fit-content;
}
.mode-pill.blue{
  background-color:rgba(99,179,237,.1);border:1px solid rgba(99,179,237,.3);
  color:var(--secondary);
}
.mode-pill.red{
  background-color:rgba(197,48,48,.1);border:1px solid rgba(197,48,48,.3);
  color:var(--tertiary);
}
.warfare-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(3rem,6vw,3.75rem);font-weight:900;
  text-transform:uppercase;letter-spacing:-.03em;line-height:1;color:var(--on-background);
}
.feature-bullets{list-style:none;padding:0;margin:0;}
.feature-bullets li{
  display:flex;align-items:center;gap:.75rem;
  font-size:.75rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.18em;color:var(--on-background);padding:.35rem 0;
}
.feature-bullets li .dash{display:inline-block;width:1.25rem;height:2px;flex-shrink:0;}
.bg-icon{
  position:absolute;bottom:0;right:0;padding:2rem;
  opacity:.1;pointer-events:none;font-size:12rem;line-height:1;
}

/* =========================================================
   COMMAND CENTER
========================================================= */
.command-center-section{
  position:relative;padding:6rem 0;overflow:hidden;
  background-color:var(--surface-container-lowest);
}
.command-right-accent{
  position:absolute;top:0;right:0;width:33.333%;height:100%;
  background-color:var(--surface-container-low);z-index:0;
}
.cc-card{
  aspect-ratio:1/1;padding:2rem;display:flex;flex-direction:column;
  justify-content:space-between;border-top-width:4px;border-top-style:solid;
  box-shadow:0 4px 8px rgba(0,0,0,.3);
}
.cc-card i{font-size:2.5rem;}
.cc-card-title{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.125rem;
  line-height:1.2;text-transform:uppercase;color:var(--on-background);margin:0;
}
.cc-card-sub{
  font-family:'Manrope',sans-serif;font-size:.65rem;color:var(--outline);
  text-transform:uppercase;letter-spacing:.05em;margin:.25rem 0 0;
}
.mascot-block{
  position:relative;overflow:hidden;padding:2.5rem;
  border:1px solid rgba(68,71,76,.3);
  background-color:var(--surface-container-highest);
  box-shadow:0 20px 40px rgba(0,0,0,.4);
}
.mascot-logo{
  width:8rem;height:8rem;object-fit:contain;
  border:1px solid rgba(197,48,48,.3);padding:.5rem;
  background-color:var(--background);box-shadow:inset 0 0 8px rgba(0,0,0,.4);flex-shrink:0;
}
.mascot-watermark{position:absolute;bottom:0;right:0;padding:1rem;opacity:.03;pointer-events:none;}
.mascot-watermark img{width:16rem;height:16rem;}

.check-list{list-style:none;padding:0;margin:0;}
.check-list li{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0;}
.check-list li i{color:var(--primary);margin-top:.15rem;font-size:1.25rem;flex-shrink:0;}
.check-title{
  display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;
  text-transform:uppercase;color:var(--on-background);font-size:.95rem;margin-bottom:.2rem;
}
.check-desc{font-size:.85rem;color:var(--on-surface-variant);}

/* =========================================================
   CTA
========================================================= */
.cta-section{padding:6rem 2rem;background-color:var(--primary);text-align:center;}
.cta-title{
  font-family:'Space Grotesk',sans-serif;font-size:clamp(3rem,8vw,4.5rem);
  font-weight:900;text-transform:uppercase;letter-spacing:-.03em;
  color:var(--on-primary);margin-bottom:2rem;
}
.cta-lead{font-size:1.25rem;font-weight:500;color:rgba(255,255,255,.9);margin-bottom:2.5rem;}
.btn-cta{
  background-color:var(--background);color:var(--on-background);
  font-family:'Space Grotesk',sans-serif;font-weight:900;font-size:1.5rem;
  text-transform:uppercase;letter-spacing:.18em;border:none;border-radius:0;
  padding:1.5rem 3rem;transition:background-color .2s,transform .15s;
  box-shadow:0 25px 50px rgba(0,0,0,.4);
}
.btn-cta:hover{background-color:var(--surface-container-high);transform:scale(1.05);color:var(--on-background);}

/* =========================================================
   FOOTER
========================================================= */
footer{
  background-color:var(--surface-container-lowest);
  border-top:1px solid rgba(68,71,76,.2);
  padding:4rem 3rem;
}
.footer-brand{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.5rem;
  text-transform:uppercase;letter-spacing:-.02em;color:var(--tertiary);
}
.footer-tagline{
  font-family:'Inter',sans-serif;font-size:.875rem;
  color:var(--secondary);opacity:.7;max-width:18rem;line-height:1.6;
}
.footer-social i{color:var(--secondary);cursor:pointer;transition:color .2s;font-size:1.25rem;}
.footer-social i:hover{color:var(--primary);}
.footer-col-heading{
  font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.18em;color:var(--primary);margin-bottom:0;
}
.footer-link{
  font-family:'Inter',sans-serif;font-size:.875rem;color:var(--secondary);
  opacity:.8;text-decoration:none;display:block;transition:color .2s,opacity .2s;
}
.footer-link:hover{color:var(--primary);opacity:1;}
.status-box{
  background-color:var(--surface-container-high);
  padding:1.25rem 1.5rem;border-left:2px solid var(--tertiary);
      background-image: url('../images/bxbg.png');
    background-blend-mode: multiply;
}
.status-label{
  font-family:'Manrope',sans-serif;font-size:.65rem;text-transform:uppercase;
  letter-spacing:.15em;color:var(--outline);display:block;margin-bottom:.4rem;
}
.pulse-dot{
  display:inline-block;width:.5rem;height:.5rem;border-radius:50%;
  background-color:var(--primary);margin-right:.5rem;animation:pulse 1.5s infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.footer-copy{
  font-family:'Inter',sans-serif;font-size:.875rem;
  color:var(--secondary);opacity:.4;font-style:italic;margin-top:2rem;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:991.98px){
  .warfare-col{padding:3rem 2rem;}
  .hero-section{min-height:auto;padding-top:6rem;padding-bottom:4rem;}
  .badge-elite{top:-.75rem;right:-.75rem;font-size:1.1rem;padding:.75rem 1.1rem;}
  .badge-supply{bottom:-3rem;left:-.75rem;}
  .corner-tl,.corner-br{display:none;}
  .command-right-accent{display:none;}
}
@media(max-width:767.98px){
  .cc-card{aspect-ratio:auto;min-height:10rem;}
  .warfare-col.col-left{border-right:none;border-bottom:1px solid rgba(68,71,76,.2);}
}