/*
Theme Name: Radwar Studios
Theme URI: https://radwarstudios.com
Author: Radwar Studios
Author URI: https://radwarstudios.com
Description: A tactical, hazard-forged WordPress theme built for Radwar Studios — a game development studio. Dark HUD viewports, targeting-reticle motifs and hazard-amber accents built around the studio's red-and-black brand.
Version: 2.0.1
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: radwar
Tags: dark, one-column, two-columns, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, gaming
*/

/* =========================================================
   0. TOKENS
========================================================= */
:root{
  --bg:            #0A0808;
  --bg-elevated:   #12100F;
  --panel:         #161211;
  --panel-2:       #1D1817;
  --line:          #2A2323;
  --line-soft:     #201B1A;

  --red:           #C44041;
  --red-bright:    #E15352;
  --red-dark:      #8F2C2E;
  --amber:         #FFB020;
  --white:         #F5F4F2;
  --dim:           #9C9896;
  --dim-2:         #6E6968;
  --ink:           #050404;

  --font-display: 'Chakra Petch', 'Arial Narrow', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', 'Courier New', monospace;

  --container: 1240px;
  --radius: 3px;
  --ease: cubic-bezier(.22,.9,.28,1);
}

/* =========================================================
   1. RESET
========================================================= */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--bg);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family: inherit; cursor:pointer; }
input, textarea, select{ font-family: inherit; }
h1,h2,h3,h4,h5,h6{ margin:0 0 .5em; font-family: var(--font-display); font-weight:700; letter-spacing:.02em; }
p{ margin:0 0 1.2em; color: var(--dim); }
.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior:auto !important; }
}

::selection{ background: var(--red); color: var(--white); }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline: 2px solid var(--amber);
  outline-offset: 3px;
}

/* =========================================================
   2. LAYOUT HELPERS
========================================================= */
.wrap{ max-width: var(--container); margin: 0 auto; padding: 0 32px; }
@media (max-width: 640px){ .wrap{ padding: 0 20px; } }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--red-bright);
  margin-bottom: 18px;
}
.eyebrow::before{
  content:""; width:8px; height:8px; background: var(--red-bright);
  clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
}

.hazard-divider{
  height: 8px;
  background: repeating-linear-gradient(135deg, var(--red) 0 14px, var(--ink) 14px 28px);
  opacity: .9;
}
.hazard-divider.thin{ height:4px; }

.section{ padding: 108px 0; position: relative; }
.section--tight{ padding: 72px 0; }
@media (max-width: 782px){
  .section{ padding: 72px 0; }
  .section--tight{ padding: 52px 0; }
}

.section-head{ max-width: 640px; margin-bottom: 56px; }
.section-head h2{ font-size: clamp(28px, 4vw, 42px); color: var(--white); text-transform: uppercase; }
.section-head p{ font-size: 17px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family: var(--font-display); font-weight:700; font-size:14px;
  letter-spacing:.08em; text-transform:uppercase;
  padding: 15px 30px; border-radius: var(--radius);
  border: 1px solid transparent;
  transition: transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.btn-primary{ background: var(--red); color: var(--white); }
.btn-primary:hover{ background: var(--red-bright); transform: translateY(-2px); }
.btn-ghost{ border-color: var(--line); color: var(--white); }
.btn-ghost:hover{ border-color: var(--red-bright); color: var(--red-bright); transform: translateY(-2px); }
.btn-text{ color: var(--red-bright); gap:6px; }
.btn-text .arrow{ transition: transform .25s var(--ease); }
.btn-text:hover .arrow{ transform: translateX(4px); }

/* =========================================================
   3. HEADER
========================================================= */
.site-header{
  position:sticky; top:0; z-index:1000;
  background:#000 !important;
  color:#f5f5f5;
  border-bottom:1px solid #e3e5e8;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:78px; gap:24px;
}
.site-logo{
  display:flex; align-items:center; flex:0 0 auto;
  height:48px; max-width:240px;
}
.site-logo > a,
.site-logo .custom-logo-link{
  display:flex; align-items:center; height:100%;
  max-width:240px; text-decoration:none;
}
.site-logo img,
.site-logo .custom-logo{
  display:block; width:auto; height:auto;
  max-width:240px; max-height:48px;
  object-fit:contain;
}
.site-logo .site-title-text{
  font-family:var(--font-display); font-weight:700; font-size:19px;
  letter-spacing:.06em; color:var(--white);
}

/* Only the WordPress menu assigned to Primary Menu is rendered. */
.primary-nav{ margin-left:auto; }
.primary-nav > ul{
  display:flex; align-items:center; justify-content:flex-end;
  gap:36px; list-style:none; margin:0; padding:0;
}
.primary-nav li{
  position:relative; list-style:none; margin:0; padding:0;
}
.primary-nav a{
  display:block; font-family:var(--font-display); font-size:14px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--dim);
  position:relative; padding:10px 0; text-decoration:none;
  transition:color .2s var(--ease);
}
.primary-nav > ul > li > a::after{
  content:""; position:absolute; left:0; right:100%; bottom:2px;
  height:2px; background:var(--red-bright);
  transition:right .25s var(--ease);
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a,
.primary-nav .current_page_item > a,
.primary-nav .current_page_ancestor > a{ color:var(--white); }

/* Desktop dropdown. */
.primary-nav .sub-menu{
  position:absolute; top:calc(100% + 8px); left:-14px; z-index:1100;
  display:block; min-width:230px; margin:0; padding:8px 0;
  list-style:none; background:rgba(10,8,8,.98);
  border:1px solid var(--line); border-top:2px solid var(--red-bright);
  border-radius:var(--radius);
  box-shadow:0 16px 40px rgba(0,0,0,.45);
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.primary-nav li.submenu-open > .sub-menu{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);
}
.primary-nav .sub-menu li{ display:block; width:100%; }
.primary-nav .sub-menu a{
  width:100%; box-sizing:border-box; padding:11px 16px;
  font-size:12px; letter-spacing:.08em; white-space:nowrap; color:var(--dim);
}
.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu .current-menu-item > a{
  color:var(--white); background:rgba(225,83,82,.08);
}
.primary-nav .sub-menu a::after{ display:none; }
.primary-nav .sub-menu .sub-menu{
  top:-9px; left:calc(100% + 1px);
}

.header-cta{ display:flex; align-items:center; gap:18px; }
.header-cta .btn{ padding:11px 22px; font-size:12px; }

.menu-toggle{
  display:none; background:none; border:1px solid var(--line); color:var(--white);
  width:44px; height:44px; border-radius:var(--radius);
  align-items:center; justify-content:center;
}
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after{
  content:""; display:block; width:20px; height:2px; background:var(--white);
  position:relative; transition:all .2s var(--ease);
}
.menu-toggle span::before{ position:absolute; top:-6px; }
.menu-toggle span::after{ position:absolute; top:6px; }


/* Parent menu items use an explicit click button; submenus never open on hover. */
.primary-nav .menu-parent-row{
  display:flex;
  align-items:center;
  gap:6px;
}
.primary-nav .menu-parent-row > .menu-parent-link{
  flex:1 1 auto;
}
.primary-nav .submenu-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:currentColor;
  width:28px;
  height:34px;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.primary-nav .submenu-toggle span{
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}
.primary-nav li.submenu-open > .menu-parent-row .submenu-toggle span{
  transform:rotate(225deg) translate(-1px, -1px);
}
.primary-nav .submenu-toggle:focus-visible{
  outline:2px solid var(--red-bright);
  outline-offset:2px;
}

/* Make a black Customizer logo readable against the dark header. */
.site-logo{
  background:#1a1b1f;
  border:1px solid rgba(255,255,255,.10);
  border-radius:6px;
  padding:6px 12px;
  box-sizing:border-box;
  min-width:72px;
  box-shadow:0 4px 16px rgba(0,0,0,.22);
}
.site-logo > a,
.site-logo .custom-logo-link{
  max-width:240px;
}
.site-logo img,
.site-logo .custom-logo{
  max-width:216px;
  max-height:40px;
}

@media (max-width:900px){
  .site-logo{
    max-width:190px;
    min-width:64px;
    padding:5px 9px;
    background:#1a1b1f;
  }
  .site-logo > a,
  .site-logo .custom-logo-link{ max-width:172px; }
  .site-logo img,
  .site-logo .custom-logo{ max-width:172px; max-height:38px; }
  .primary-nav .menu-parent-row > .menu-parent-link{
    flex:1 1 auto;
  }
  .primary-nav .submenu-toggle{
    width:44px;
    height:48px;
  }
}

@media (max-width:900px){
  .site-logo{ max-width:190px; height:44px; }
  .site-logo > a, .site-logo .custom-logo-link{ max-width:190px; }
  .site-logo img, .site-logo .custom-logo{ max-width:190px; max-height:44px; }
  .header-cta .btn-ghost{ display:none; }
  .menu-toggle{ display:inline-flex; }
  .primary-nav{
    position:fixed; inset:78px 0 0 0; margin:0;
    background:var(--bg); border-top:1px solid var(--line-soft);
    transform:translateY(-8px); opacity:0; visibility:hidden; pointer-events:none;
    transition:all .25s var(--ease); overflow-y:auto;
  }
  .primary-nav.is-open{ transform:none; opacity:1; visibility:visible; pointer-events:auto; }
  .primary-nav > ul{
    display:flex; flex-direction:column; align-items:stretch;
    justify-content:flex-start; gap:0; padding:12px 32px 32px;
  }
  .primary-nav > ul > li{ width:100%; border-bottom:1px solid var(--line-soft); }
  .primary-nav a{ display:block; padding:18px 0; font-size:16px; }
  .primary-nav > ul > li > a::after{ display:none; }
  .primary-nav .sub-menu{
    position:static; min-width:0; padding:0 0 8px 18px;
    border:0; border-left:1px solid var(--line); border-radius:0;
    box-shadow:none; background:transparent;
    opacity:0; visibility:hidden; pointer-events:none; transform:none;
    max-height:0; overflow:hidden;
    transition:opacity .18s ease, visibility .18s ease, max-height .2s ease;
  }
  .primary-nav li.submenu-open > .sub-menu{
    opacity:1; visibility:visible; pointer-events:auto; max-height:1000px;
  }
  .primary-nav .sub-menu a{
    padding:11px 12px; font-size:12px; white-space:normal;
  }
  .primary-nav .sub-menu .sub-menu{
    position:static; padding-left:12px;
  }
}

/* =========================================================
   4. HERO / VIEWPORT (signature element)
========================================================= */
.hero{
  position: relative; overflow:hidden;
  border-bottom: 1px solid var(--line-soft);
}
.hero-inner{
  position: relative; min-height: 88vh; display:flex; flex-direction:column; justify-content:center;
  padding: 140px 0 80px;
}
.viewport-art{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.viewport-art .vp-orbit{ animation: spin 26s linear infinite; }
.viewport-art .vp-orbit-slow{ animation: spin 46s linear infinite reverse; }
.viewport-art .vp-planet{ animation: pulse 6s ease-in-out infinite; }
@keyframes spin{ to{ transform: rotate(360deg); } }
@keyframes pulse{ 0%,100%{ transform: scale(1); } 50%{ transform: scale(1.02); } }

.hero-content{ position:relative; z-index:2; max-width: 760px; }
.hero-content h1{
  font-size: clamp(38px, 6.4vw, 78px); line-height: 1.02; text-transform: uppercase; color: var(--white);
}
.hero-content h1 em{ font-style:normal; color: var(--red-bright); display:block; }
.hero-content .lede{ font-size: 19px; max-width: 520px; margin-bottom: 36px; }
.hero-actions{ display:flex; gap: 16px; flex-wrap: wrap; }

.hero-hud-row{
  position:relative; z-index:2; margin-top: 64px; display:flex; gap:0;
  border-top: 1px solid var(--line-soft);
}
.hero-hud-row .stat{
  flex:1; padding: 22px 24px 0; border-right: 1px solid var(--line-soft);
}
.hero-hud-row .stat:last-child{ border-right:none; }
.hero-hud-row .stat .num{ font-family: var(--font-display); font-size: 30px; color: var(--white); }
.hero-hud-row .stat .lbl{ font-family: var(--font-mono); font-size: 11px; letter-spacing:.14em; text-transform:uppercase; color: var(--dim-2); }

@media (max-width: 782px){
  .hero-inner{ min-height: auto; padding: 96px 0 56px; }
  .hero-hud-row{ flex-wrap:wrap; }
  .hero-hud-row .stat{ flex: 1 1 50%; border-bottom: 1px solid var(--line-soft); padding-bottom: 18px; margin-bottom: 4px;}
}

/* =========================================================
   5. VIEWPORT CARDS (signature element reused for games/posts)
========================================================= */
.viewport-card{
  position:relative; background: var(--panel); border:1px solid var(--line);
  border-radius: var(--radius); overflow:hidden;
  transition: border-color .3s var(--ease), transform .3s var(--ease);
}
.viewport-card:hover{ border-color: var(--red-bright); transform: translateY(-4px); }
.viewport-card .vc-media{ position:relative; aspect-ratio: 4/3; overflow:hidden; background:#0D0A0A; }
.viewport-card .vc-media img{ width:100%; height:100%; object-fit:cover; transition: transform .5s var(--ease); }
.viewport-card:hover .vc-media img{ transform: scale(1.06); }

.viewport-card .vc-hud{ position:absolute; inset:0; pointer-events:none; }
.viewport-card .vc-hud .corner{ position:absolute; width:18px; height:18px; border-color: var(--red-bright); border-style:solid; opacity:0; transition: opacity .3s var(--ease); }
.viewport-card:hover .vc-hud .corner{ opacity:1; }
.vc-hud .tl{ top:10px; left:10px; border-width:2px 0 0 2px; }
.vc-hud .tr{ top:10px; right:10px; border-width:2px 2px 0 0; }
.vc-hud .bl{ bottom:10px; left:10px; border-width:0 0 2px 2px; }
.vc-hud .br{ bottom:10px; right:10px; border-width:0 2px 2px 0; }

.viewport-card .vc-scan{
  position:absolute; left:0; right:0; height:40%; top:-50%;
  background: linear-gradient(to bottom, transparent, rgba(225,83,82,.16), transparent);
  transition: top .6s var(--ease);
}
.viewport-card:hover .vc-scan{ top:110%; }

.viewport-card .vc-tag{
  position:absolute; top:10px; left:10px; font-family: var(--font-mono); font-size:10px; letter-spacing:.1em;
  background: rgba(5,4,4,.75); color: var(--amber); padding: 4px 8px; border:1px solid var(--line);
}
.viewport-card .vc-body{ padding: 22px; }
.viewport-card .vc-body .vc-eyebrow{ font-family: var(--font-mono); font-size:11px; color: var(--red-bright); letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px; }
.viewport-card .vc-body h3{ font-size:20px; color: var(--white); text-transform:uppercase; margin-bottom:10px; }
.viewport-card .vc-body p{ font-size:14.5px; margin-bottom: 16px; }
.viewport-card .vc-foot{
  display:flex; justify-content:space-between; align-items:center; font-family: var(--font-mono); font-size:11px; color: var(--dim-2);
  border-top:1px solid var(--line-soft); padding-top: 14px; letter-spacing:.06em;
}

.grid{ display:grid; gap: 28px; }
.grid-3{ grid-template-columns: repeat(3, 1fr); }
.grid-2{ grid-template-columns: repeat(2, 1fr); }
.grid-4{ grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px){ .grid-3, .grid-4{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px){ .grid-3, .grid-4, .grid-2{ grid-template-columns: 1fr; } }

/* =========================================================
   6. FEATURE / ICON BLOCKS
========================================================= */
.feature{
  padding: 30px 26px; border:1px solid var(--line); border-radius: var(--radius);
  background: var(--panel);
  transition: border-color .3s var(--ease), background .3s var(--ease);
}
.feature:hover{ border-color: var(--red-dark); background: var(--panel-2); }
.feature .ico{ width:44px; height:44px; color: var(--white); margin-bottom: 20px; }
.feature h3{ font-size:16px; color: var(--white); text-transform:uppercase; margin-bottom:10px; letter-spacing:.03em; }
.feature p{ font-size:14px; margin-bottom:0; }

/* =========================================================
   7. ABOUT / SPLIT SECTION
========================================================= */
.split{ display:grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items:center; }
@media (max-width: 900px){ .split{ grid-template-columns: 1fr; gap:36px; } }
.split .media-frame{ position:relative; border:1px solid var(--line); background: var(--panel); padding: 4px; }
.split .media-frame img{ width:100%; }
.stat-strip{ display:flex; border-top:1px solid var(--line-soft); margin-top: 40px; }
.stat-strip .stat{ flex:1; padding-top:20px; border-right:1px solid var(--line-soft); }
.stat-strip .stat:last-child{ border-right:none; }
.stat-strip .num{ font-family: var(--font-display); font-size:28px; color:var(--white); }
.stat-strip .lbl{ font-family: var(--font-mono); font-size:11px; color:var(--dim-2); letter-spacing:.1em; text-transform:uppercase; }

/* =========================================================
   8. TEAM
========================================================= */
.team-card{ text-align:center; }
.team-card .avatar{ border:1px solid var(--line); background: var(--panel); margin-bottom:16px; overflow:hidden; }
.team-card h4{ font-size:15px; color:var(--white); text-transform:uppercase; margin-bottom:4px; }
.team-card .role{ font-family: var(--font-mono); font-size:11px; color: var(--red-bright); letter-spacing:.1em; text-transform:uppercase; }

/* =========================================================
   9. CTA BAND
========================================================= */
.cta-band{ position:relative; overflow:hidden; background: var(--panel); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.cta-band::before{
  content:""; position:absolute; inset:0;
  background-image: repeating-linear-gradient(135deg, transparent 0 24px, rgba(196,64,65,.06) 24px 25px);
}
.cta-band .wrap{ position:relative; text-align:center; padding: 90px 32px; }
.cta-band h2{ font-size: clamp(28px,4.4vw,46px); color:var(--white); text-transform:uppercase; margin-bottom:20px; }
.cta-band p{ max-width:520px; margin:0 auto 32px; font-size:17px; }


.footer-logo{
  background:#000;
  border-radius:8px;
  padding:6px 12px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  width:max-content;
  max-width:220px;
  min-height:44px;
}
.footer-logo .custom-logo-link{
  display:flex;
  align-items:center;
  max-width:196px;
}
.footer-logo img,
.footer-logo .custom-logo{
  max-width:196px;
  max-height:40px;
  width:auto;
  height:auto;
  object-fit:contain;
}

/* =========================================================
   10. FOOTER
========================================================= */
.site-footer{ background: var(--bg-elevated); border-top:1px solid var(--line-soft); padding-top: 76px; }
.footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 56px; }
@media (max-width: 900px){ .footer-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .footer-grid{ grid-template-columns: 1fr; } }
.footer-grid h4{ font-family: var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color: var(--dim-2); margin-bottom:20px; }
.footer-grid .site-logo{ margin-bottom:16px; }
.footer-grid p{ font-size:14px; max-width:280px; }
.footer-grid li{ margin-bottom:12px; }
.footer-grid a{ font-size:14px; color: var(--dim); transition: color .2s var(--ease); }
.footer-grid a:hover{ color: var(--red-bright); }
.footer-social{ display:flex; gap:12px; margin-top:20px; }
.footer-social a{
  width:36px; height:36px; border:1px solid var(--line); border-radius: var(--radius);
  display:flex; align-items:center; justify-content:center; font-family: var(--font-mono); font-size:11px;
  transition: border-color .2s var(--ease), color .2s var(--ease);
}
.footer-social a:hover{ border-color: var(--red-bright); color: var(--red-bright); }
.footer-bottom{ border-top:1px solid var(--line-soft); padding: 24px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p{ font-family: var(--font-mono); font-size:11.5px; color: var(--dim-2); margin:0; letter-spacing:.05em; }

/* =========================================================
   11. SINGLE / PAGE CONTENT
========================================================= */
.page-hero{ padding: 150px 0 60px; border-bottom:1px solid var(--line-soft); background: var(--bg-elevated); }
.page-hero .eyebrow{ margin-bottom:14px; }
.page-hero h1{ font-size: clamp(30px,5vw,54px); text-transform:uppercase; color:var(--white); }
.page-hero .meta{ font-family: var(--font-mono); font-size:12px; color: var(--dim-2); letter-spacing:.08em; margin-top:14px; }

.content-area{ padding: 76px 0; }
.content-wrap{ display:grid; grid-template-columns: 2.2fr 1fr; gap: 64px; }
@media (max-width: 900px){ .content-wrap{ grid-template-columns:1fr; } }

.entry-content h2{ font-size:26px; color:var(--white); margin-top:1.6em; text-transform:uppercase; }
.entry-content h3{ font-size:20px; color:var(--white); margin-top:1.4em; }
.entry-content p{ font-size:16.5px; }
.entry-content a{ color: var(--red-bright); border-bottom:1px solid var(--red-dark); }
.entry-content a:hover{ color: var(--white); }
.entry-content img{ border:1px solid var(--line); margin: 24px 0; }
.entry-content blockquote{ border-left: 3px solid var(--red); margin: 28px 0; padding: 4px 0 4px 24px; color: var(--white); font-family: var(--font-display); font-size:18px; }
.entry-content ul, .entry-content ol{ padding-left: 22px; color: var(--dim); margin-bottom:1.2em; }
.entry-content ul{ list-style:disc; }
.entry-content ol{ list-style:decimal; }
.entry-content code{ background: var(--panel); border:1px solid var(--line); padding:2px 6px; font-family: var(--font-mono); font-size:.9em; }
.entry-content pre{ background: var(--panel); border:1px solid var(--line); padding:18px; overflow:auto; }

.sidebar .widget{ margin-bottom: 44px; padding-bottom:44px; border-bottom:1px solid var(--line-soft); }
.sidebar .widget:last-child{ border-bottom:none; }
.sidebar .widget-title{ font-family: var(--font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color: var(--dim-2); margin-bottom:20px; }
.sidebar ul li{ margin-bottom: 12px; }
.sidebar a{ font-size:14px; color:var(--dim); }
.sidebar a:hover{ color: var(--red-bright); }

.pagination{ display:flex; gap:10px; margin-top: 40px; }
.pagination a, .pagination span{
  display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px;
  border:1px solid var(--line); font-family: var(--font-mono); font-size:13px; color: var(--dim);
}
.pagination .current{ border-color: var(--red-bright); color: var(--white); }
.pagination a:hover{ border-color: var(--red-bright); color:var(--white); }

.comments-area{ margin-top: 64px; padding-top: 48px; border-top:1px solid var(--line-soft); }
.comments-title{ text-transform:uppercase; font-size:22px; color:var(--white); }
.comment-list{ margin-top: 30px; }
.comment-body{ padding: 20px 0; border-bottom:1px solid var(--line-soft); }
.comment-author{ font-family: var(--font-display); font-size:14px; color:var(--white); text-transform:uppercase; letter-spacing:.03em; }
.comment-metadata{ font-family: var(--font-mono); font-size:11px; color: var(--dim-2); margin-bottom:10px; }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea{
  width:100%; background: var(--panel); border:1px solid var(--line); color:var(--white); padding:14px; margin-bottom:16px; border-radius: var(--radius);
}
.comment-form textarea{ min-height:140px; }
.comment-form label{ display:block; font-family: var(--font-mono); font-size:11px; color:var(--dim-2); text-transform:uppercase; margin-bottom:6px; letter-spacing:.08em; }

.error-404{ text-align:center; padding: 160px 0 120px; }
.error-404 .code{ font-family: var(--font-display); font-size: clamp(80px,14vw,180px); color: var(--red); line-height:1; }
.error-404 h1{ font-size: 26px; text-transform:uppercase; margin-top:10px; }

.reveal{ opacity:0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }

.to-top{
  position:fixed; right:24px; bottom:24px; width:46px; height:46px;
  background: var(--red); border-radius: var(--radius); display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform: translateY(10px); transition: all .3s var(--ease); z-index:90;
}
.to-top.show{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ background: var(--red-bright); }

/* =========================================================
   12. 1.1 VISUAL POLISH
========================================================= */
body{background:radial-gradient(circle at 78% 8%,rgba(196,64,65,.09),transparent 30rem),radial-gradient(circle at 12% 38%,rgba(255,176,32,.035),transparent 26rem),var(--bg);}
.site-header{box-shadow:0 8px 30px rgba(0,0,0,.18);}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--red-dark),transparent);opacity:.8;}
.hero{background:linear-gradient(90deg,rgba(10,8,8,.97) 0%,rgba(10,8,8,.78) 43%,rgba(10,8,8,.22) 100%),radial-gradient(circle at 74% 48%,rgba(225,83,82,.10),transparent 28rem);}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 85%);}
.hero-content h1{text-shadow:0 12px 50px rgba(0,0,0,.65);letter-spacing:.015em;}
.hero-content .lede{color:#b9b4b1;line-height:1.75;}
.hero-hud-row{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent);}
.hero-hud-row .stat{position:relative;}
.hero-hud-row .stat::before{content:"";position:absolute;top:-1px;left:24px;width:28px;height:2px;background:var(--red-bright);}
.viewport-card{box-shadow:0 18px 45px rgba(0,0,0,.20);}
.viewport-card:hover{box-shadow:0 22px 60px rgba(0,0,0,.32),0 0 0 1px rgba(225,83,82,.08);}
.viewport-card .vc-body{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent);}
.feature{position:relative;padding:28px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008));transition:transform .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);}
.feature:hover{transform:translateY(-5px);border-color:var(--red-dark);background:linear-gradient(145deg,rgba(196,64,65,.08),rgba(255,255,255,.012));}
.feature .ico{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);background:var(--bg);margin-bottom:22px;}
.feature .ico svg{width:25px;height:25px;}
.team-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008));padding:18px;transition:transform .3s var(--ease),border-color .3s var(--ease);}
.team-card:hover{transform:translateY(-4px);border-color:var(--red-dark);}
.team-card .avatar{aspect-ratio:1/1;overflow:hidden;background:#0c0a0a;margin-bottom:18px;border:1px solid var(--line);}
.team-card .avatar img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.team-card:hover .avatar img{transform:scale(1.04);}
.cta-band{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(225,83,82,.16),transparent 28rem),linear-gradient(180deg,var(--bg-elevated),var(--bg));border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cta-band::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);}
@media (max-width:900px){.hero{background:linear-gradient(90deg,rgba(10,8,8,.97),rgba(10,8,8,.62));}}
@media (max-width:640px){.hero-content h1{font-size:clamp(36px,12vw,58px);}.hero-content .lede{font-size:16px;}.hero-actions .btn{width:100%;justify-content:center;}.hero-hud-row .stat{padding-left:16px;padding-right:16px;}.hero-hud-row .stat::before{left:16px;}.feature{padding:22px;}}


/* Click-only dropdown parent controls. */
.primary-nav .menu-parent-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:var(--dim);
  font:inherit;
  text-align:left;
  cursor:pointer;
  padding:10px 0;
}
.primary-nav .menu-parent-link:hover,
.primary-nav .menu-parent-link:focus-visible{
  color:var(--white);
}
.primary-nav .menu-parent-row .menu-parent-link{
  flex:1 1 auto;
}
.primary-nav .menu-parent-trigger{
  text-transform:uppercase;
}
.primary-nav .no-submenu-trigger{
  cursor:default;
}
.primary-nav .no-submenu-trigger:focus{
  outline:0;
}

@media (max-width:900px){
  .primary-nav .menu-parent-link{
    padding:18px 0;
    font-size:16px;
  }
  .primary-nav .menu-parent-row .menu-parent-link{
    flex:1 1 auto;
  }
}

/* Radwar 1.1.8: white header with transparent logo background */
.site-header,
.site-header .primary-nav{
  background:#000 !important;
}
.site-header .site-logo,
.site-header .site-logo > a,
.site-header .site-logo .custom-logo-link,
.site-header .site-logo img,
.site-header .site-logo .custom-logo{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.site-header .site-logo{
  padding:0 !important;
  border-radius:0 !important;
}
.site-header .primary-nav a,
.site-header .primary-nav .menu-parent-link,
.site-header .primary-nav .submenu-toggle{
  color:#f5f5f5;
}
.site-header .primary-nav a:hover,
.site-header .primary-nav .menu-parent-link:hover,
.site-header .primary-nav .current-menu-item > a,
.site-header .primary-nav .current-menu-ancestor > a{
  color:#fff;
}
.site-header .primary-nav .sub-menu{
  background:#000 !important;
  color:#f5f5f5;
  border-color:#e3e5e8;
  border-top-color:var(--red-bright);
  box-shadow:0 16px 36px rgba(0,0,0,.14);
}
.site-header .primary-nav .sub-menu a,
.site-header .primary-nav .sub-menu .menu-parent-link{
  color:#f5f5f5;
}
.site-header .primary-nav .sub-menu a:hover,
.site-header .primary-nav .sub-menu .menu-parent-link:hover{
  color:#fff;
  background:rgba(255,255,255,.08);
}
.site-header .menu-toggle{
  background:transparent;
  color:#f5f5f5;
  border-color:rgba(255,255,255,.22);
}
.site-header .menu-toggle span,
.site-header .menu-toggle span::before,
.site-header .menu-toggle span::after{
  background:#24262b;
}
.footer-logo,
.footer-logo > a,
.footer-logo .custom-logo-link,
.footer-logo img,
.footer-logo .custom-logo{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.footer-logo{
  padding:0 !important;
  border-radius:0 !important;
}
@media (max-width:900px){
  .site-header,
  .site-header .primary-nav{
    background:#000 !important;
  }
}


/* =========================================================
   13. CINEMATIC SCROLL EXPERIENCE
========================================================= */

/* Thin progress line at the very top of the viewport. */
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:3px;
  z-index:2000;
  pointer-events:none;
  background:rgba(255,255,255,.04);
}
.scroll-progress span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,var(--red-dark),var(--red-bright),var(--amber));
  box-shadow:0 0 12px rgba(225,83,82,.55);
}

/* Small tactical section tracker appears once the user starts scrolling. */
.scroll-hud{
  position:fixed;
  right:22px;
  top:50%;
  z-index:120;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  opacity:0;
  transform:translate3d(14px,-50%,0);
  pointer-events:none;
  transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.scroll-hud.is-active{
  opacity:1;
  transform:translate3d(0,-50%,0);
}
.scroll-hud-index{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--amber);
  letter-spacing:.12em;
}
.scroll-hud i{
  display:block;
  width:1px;
  height:58px;
  background:linear-gradient(to bottom,var(--red-bright),transparent);
}
.scroll-hud-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--dim-2);
  white-space:nowrap;
}

/* Sections feel like individual "scenes" as they enter the viewport. */
.scroll-section{
  isolation:isolate;
}
.scroll-section::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:38%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
  opacity:.8;
  pointer-events:none;
}

/* Reveal directions: existing .reveal keeps compatibility. */
.reveal{
  opacity:0;
  transform:translate3d(0,28px,0) scale(.985);
  filter:blur(2px);
  transition:
    opacity .75s var(--ease),
    transform .75s var(--ease),
    filter .75s var(--ease);
  will-change:opacity,transform;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}

/* Hero depth and atmosphere. */
.hero-inner{
  transform-style:preserve-3d;
}
.hero .viewport-art{
  will-change:transform;
  transition:transform .15s linear;
}
.hero-content{
  will-change:transform;
  transition:transform .15s linear;
}
.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:170px;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent,var(--bg));
  opacity:.9;
  z-index:1;
}

/* More visible HUD stats as the hero leaves the viewport. */
.hero-hud-row .stat{
  transition:background .25s ease,transform .25s ease,border-color .25s ease;
}
.hero-hud-row .stat:hover{
  background:rgba(255,255,255,.025);
  transform:translateY(-3px);
}

/* Cards have subtle depth while scrolling/hovering. */
.viewport-card,
.feature,
.team-card{
  transform-style:preserve-3d;
}
.viewport-card.pointer-active,
.feature.pointer-active,
.team-card.pointer-active{
  transform:
    perspective(900px)
    rotateX(var(--rx,0deg))
    rotateY(var(--ry,0deg))
    translateY(-5px);
  transition:transform .08s linear, border-color .3s var(--ease);
}
.feature,
.team-card{
  transition:transform .35s var(--ease),border-color .3s var(--ease),background .3s var(--ease);
}

/* Section headings get a tactical marker as they reveal. */
.section-head{
  position:relative;
}
.section-head::after{
  content:"";
  display:block;
  width:54px;
  height:2px;
  margin-top:20px;
  background:linear-gradient(90deg,var(--red-bright),transparent);
  transform-origin:left;
  transform:scaleX(0);
  transition:transform .8s .15s var(--ease);
}
.section-head.is-visible::after{
  transform:scaleX(1);
}

/* Image frames get a scanning light when entering the viewport. */
.media-frame,
.viewport-card .vc-media,
.team-card .avatar{
  position:relative;
}
.media-frame::after,
.team-card .avatar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-30%;
  height:30%;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent,rgba(225,83,82,.12),transparent);
  transform:translateY(0);
}
.media-frame.is-visible::after{
  animation:radwar-scan 1.4s .25s ease-out both;
}
@keyframes radwar-scan{
  from{ transform:translateY(0); opacity:0; }
  15%{ opacity:1; }
  to{ transform:translateY(440%); opacity:0; }
}

/* CTA gains a moving hazard glow near the end of the page. */
.cta-band::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-170px;
  top:-210px;
  border:1px solid rgba(225,83,82,.16);
  border-radius:50%;
  box-shadow:0 0 0 40px rgba(225,83,82,.025),0 0 0 80px rgba(225,83,82,.015);
  animation:cta-orbit 16s linear infinite;
  pointer-events:none;
}
@keyframes cta-orbit{
  to{ transform:rotate(360deg); }
}

/* Scrolled header gets a tighter footprint without changing the black brand. */
.site-header{
  transition:height .25s var(--ease),box-shadow .25s var(--ease),background .25s ease;
}
.site-header.is-scrolled{
  box-shadow:0 12px 34px rgba(0,0,0,.42);
}
.site-header.is-scrolled .wrap{
  height:68px;
}
.site-header.is-scrolled .site-logo{
  transform:scale(.92);
  transform-origin:left center;
}
.site-header .site-logo{
  transition:transform .25s var(--ease);
}

@media (max-width:900px){
  .scroll-hud{ display:none; }
  .site-header.is-scrolled .wrap{ height:70px; }
}
@media (max-width:640px){
  .scroll-progress{ height:2px; }
  .hero::after{ height:100px; }
}
@media (prefers-reduced-motion:reduce){
  .scroll-hud{ display:none; }
  .reveal{
    opacity:1;
    transform:none;
    filter:none;
  }
  .hero .viewport-art,
  .hero-content{
    transform:none !important;
  }
  .cta-band::after{ animation:none; }
}

/* =========================================================
   RADWAR 2.0 — PREMIUM STUDIO REDESIGN
========================================================= */
:root{
  --radwar-cyan:#62d8ff;
  --radwar-panel:rgba(13,17,23,.82);
  --radwar-border:rgba(255,255,255,.09);
  --radwar-max:1280px;
}

html{scroll-behavior:smooth;background:#07090c}
body{
  background:
    radial-gradient(circle at 82% 8%,rgba(255,77,77,.09),transparent 28%),
    radial-gradient(circle at 5% 42%,rgba(98,216,255,.04),transparent 24%),
    #07090c;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,#000,transparent 88%);
}

/* Header */
.site-header{
  background:rgba(4,6,8,.88)!important;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 35px rgba(0,0,0,.28);
  backdrop-filter:blur(18px) saturate(120%);
}
.site-header .wrap{max-width:var(--radwar-max);height:84px}
.site-header.is-scrolled .wrap{height:68px}
.site-header .site-logo,
.site-header .site-logo>a,
.site-header .site-logo .custom-logo-link,
.site-header .site-logo img,
.site-header .site-logo .custom-logo{
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.site-header .site-logo img,.site-header .site-logo .custom-logo{max-height:50px;max-width:220px}
.primary-nav>ul{gap:30px}
.primary-nav>ul>li>a,
.primary-nav>ul>li>.menu-parent-row .menu-parent-link{
  font-size:11px;font-weight:700;letter-spacing:.16em;color:#c8ced5;
}

/* Hero */
.hero{
  min-height:min(860px,calc(100vh - 84px));
  display:flex;align-items:center;position:relative;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:
    radial-gradient(circle at 72% 45%,rgba(255,77,77,.16),transparent 25%),
    linear-gradient(115deg,#07090c,#0b0e13 50%,#100b0e);
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,9,12,.98),rgba(7,9,12,.75) 38%,rgba(7,9,12,.16) 72%,rgba(7,9,12,.7));
}
.hero::after{height:220px;background:linear-gradient(to bottom,transparent,#07090c)}
.hero-inner{position:relative;z-index:2;max-width:var(--radwar-max);width:100%;padding-top:70px;padding-bottom:100px}
.hero-content{max-width:680px}
.hero h1{
  font-size:clamp(54px,7vw,104px);line-height:.88;letter-spacing:-.055em;
  text-shadow:0 18px 60px rgba(0,0,0,.3);
}
.hero p{max-width:600px;color:#b2bbc5;font-size:17px;line-height:1.8}
.hero .btn-primary{box-shadow:0 14px 42px rgba(255,77,77,.2)}
.hero-telemetry{
  position:absolute;right:4%;bottom:18%;z-index:3;width:190px;
  display:flex;flex-direction:column;gap:8px;
  font:9px var(--font-mono);letter-spacing:.14em;color:#66717c;
  text-transform:uppercase;pointer-events:none;
}
.hero-telemetry span{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:6px}
.hero-telemetry b{color:#b8c1cb;font-weight:500}

/* Sections */
.section{position:relative;padding-top:120px;padding-bottom:120px}
.section .wrap{max-width:var(--radwar-max)}
.section-head{max-width:760px;margin-bottom:54px}
.section-head h2{font-size:clamp(36px,5vw,68px);line-height:.96;letter-spacing:-.045em}
.section-head p{max-width:650px;font-size:16px;line-height:1.8;color:#89939e}

/* Game cards */
.viewport-grid{gap:22px}
.viewport-card{
  min-height:440px;background:linear-gradient(145deg,rgba(18,23,30,.96),rgba(8,11,15,.96));
  border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;
  box-shadow:0 20px 70px rgba(0,0,0,.2);
}
.viewport-card::before{
  content:"CASE FILE";position:absolute;top:18px;left:18px;z-index:4;
  padding:6px 9px;border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.5);color:#aeb6c0;font:700 8px var(--font-mono);letter-spacing:.18em;
}
.viewport-card:hover{border-color:rgba(255,77,77,.42);box-shadow:0 28px 90px rgba(0,0,0,.38)}
.viewport-card .vc-media{min-height:255px;background:#0b0e12}
.viewport-card .vc-media img{filter:saturate(.9) contrast(1.06);transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .5s}
.viewport-card:hover .vc-media img{transform:scale(1.055);filter:saturate(1.05) contrast(1.08)}
.viewport-card .vc-body{padding:25px 26px 28px}
.viewport-card h3{font-size:25px;letter-spacing:-.025em}

/* Feature and team cards */
.feature,.team-card{
  background:linear-gradient(145deg,rgba(17,22,29,.94),rgba(9,12,16,.86));
  border:1px solid rgba(255,255,255,.07);border-radius:14px;
  transition:transform .35s var(--ease),border-color .3s var(--ease),background .3s var(--ease);
}
.feature{min-height:230px;padding:30px;position:relative;overflow:hidden}
.feature::after{
  content:"";position:absolute;right:-50px;bottom:-80px;width:180px;height:180px;
  border:1px solid rgba(255,77,77,.12);border-radius:50%;
}
.feature:hover,.team-card:hover{
  transform:translateY(-7px);border-color:rgba(255,77,77,.3);
  background:linear-gradient(145deg,rgba(23,28,36,.98),rgba(10,13,18,.94));
}
.team-card{overflow:hidden}
.team-card .avatar{background:linear-gradient(145deg,#151a21,#080a0d)}
.team-card .avatar img{transition:transform .6s ease;filter:grayscale(.55)}
.team-card:hover .avatar img{transform:scale(1.045);filter:grayscale(.08)}

/* CTA */
.cta-band{
  min-height:460px;display:flex;align-items:center;overflow:hidden;
  background:radial-gradient(circle at 78% 50%,rgba(255,77,77,.2),transparent 28%),linear-gradient(115deg,#0a0d11,#150b0e);
  border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);
}
.cta-band h2{font-size:clamp(42px,6vw,82px);line-height:.9;letter-spacing:-.05em}
.cta-band::after{
  content:"";position:absolute;width:420px;height:420px;right:-170px;top:-210px;
  border:1px solid rgba(255,77,77,.16);border-radius:50%;
  box-shadow:0 0 0 40px rgba(255,77,77,.025),0 0 0 80px rgba(255,77,77,.015);
  animation:radwar-orbit 16s linear infinite;pointer-events:none;
}
@keyframes radwar-orbit{to{transform:rotate(360deg)}}

/* Footer */
.site-footer{background:#05070a;border-top:1px solid rgba(255,255,255,.07)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07)}

/* Scroll scene polish */
.scroll-section{isolation:isolate}
.scroll-section::after{
  content:"";position:absolute;top:0;right:0;width:38%;height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);opacity:.8;pointer-events:none;
}
.scroll-section-active .section-head h2{text-shadow:0 18px 60px rgba(255,255,255,.045)}
.reveal{transform:translate3d(0,30px,0) scale(.985);filter:blur(2px)}
.reveal.is-visible{transform:none;filter:none}
.scroll-progress span{background:linear-gradient(90deg,var(--red-dark),var(--red-bright),var(--amber))}
.scroll-hud{backdrop-filter:blur(6px)}
@media (max-width:900px){
  .hero{min-height:760px}.hero-telemetry{display:none}
  .section{padding-top:82px;padding-bottom:82px}
}
@media (max-width:640px){
  .site-header .wrap{height:72px}.hero{min-height:680px}
  .hero-inner{padding-left:20px;padding-right:20px}
  .section{padding-top:68px;padding-bottom:68px}
}
@media (prefers-reduced-motion:reduce){
  .cta-band::after{animation:none}.reveal{opacity:1;transform:none;filter:none}
}


/* =========================================================
   RADWAR 2.0.1 — HERO ALIGNMENT CORRECTION
   Keep the hero content on the same grid as the rest of the site.
========================================================= */
.hero-inner{
  width:100%;
  max-width:none !important;
  min-height:min(860px,calc(100vh - 84px));
  padding:84px 0 72px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-inner > .wrap{
  width:100%;
  max-width:var(--radwar-max);
  margin-left:auto;
  margin-right:auto;
  padding-left:32px;
  padding-right:32px;
  box-sizing:border-box;
}
.hero-content{
  width:min(680px,100%);
  margin:0;
  text-align:left;
}
.hero-content h1{
  margin-top:10px;
  margin-bottom:24px;
  text-align:left;
}
.hero-content .lede{
  margin-left:0;
  margin-right:0;
}
.hero-actions{
  justify-content:flex-start;
}
.hero-hud-row{
  width:100%;
  margin-top:54px;
}
.hero-telemetry{
  right:32px;
  bottom:18%;
}
@media (max-width:900px){
  .hero-inner{min-height:760px;padding:64px 0 56px}
  .hero-inner > .wrap{padding-left:24px;padding-right:24px}
  .hero-content{width:min(650px,100%)}
  .hero-hud-row{margin-top:42px}
}
@media (max-width:640px){
  .hero-inner{min-height:680px;padding:52px 0 48px}
  .hero-inner > .wrap{padding-left:20px;padding-right:20px}
  .hero-content h1{margin-bottom:18px}
  .hero-hud-row{margin-top:34px}
}

/* WordPress Block Editor homepage */
.radwar-home-editor{min-height:60vh;}
.radwar-home-editor .wp-block-group,.radwar-home-editor .wp-block-cover,.radwar-home-editor .wp-block-columns,.radwar-home-editor .wp-block-media-text{box-sizing:border-box;}
.radwar-home-editor > .radwar-home-page > .entry-content > *{max-width:var(--radwar-max,1280px);margin-left:auto;margin-right:auto;}
.radwar-home-editor > .radwar-home-page > .entry-content > .alignwide{max-width:1440px;}
.radwar-home-editor > .radwar-home-page > .entry-content > .alignfull{max-width:none;width:100%;}
.radwar-home-editor .wp-block-button__link{transition:transform .25s ease,box-shadow .25s ease;}
.radwar-home-editor .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,77,77,.2);}
