:root {
  --bg0: #070a13;
  --bg1: #0b1730;
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.08);
  --border: rgba(255,255,255,.12);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.72);
  --muted2: rgba(255,255,255,.55);
  --accent: #ff8a1c;
  --brand: #b3131b;
  --brand2: #7e0c12;
  --ice: #bfe7ff;
  --shadow: 0 26px 90px rgba(0,0,0,.55);
  --radius: 20px;
  --radiusLg: 28px;
  --max: 1200px;

  /* Theme-controlled */
  --heroImg: url("../img/nbac-hero-composite.png");
  --decorA: none;
  --decorB: none;
  --pattern: none;
  --pageGlowA: rgba(255,138,28,.10);
  --pageGlowB: rgba(191,231,255,.09);
  --ctaGlow: rgba(255,138,28,.22);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--text);
  background:
    radial-gradient(900px 520px at 18% 12%, var(--pageGlowA), transparent 58%),
    radial-gradient(950px 520px at 82% 85%, var(--pageGlowB), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none}
.container{max-width:var(--max); margin:0 auto; padding:0 20px}
.small{font-size:.95rem; color:var(--muted)}
.kicker{display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border-radius:999px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(10px);}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px; border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:var(--text);
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
  backdrop-filter: blur(10px);
}
.btn:hover{transform: translateY(-1px); border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08)}
.btn.primary{
  background: linear-gradient(180deg, var(--accent), rgba(255,138,28,.72));
  border-color: rgba(255,138,28,.65);
  box-shadow: 0 18px 60px var(--ctaGlow);
}
.btn.primary:hover{box-shadow: 0 22px 78px var(--ctaGlow)}
.btn.brand{
  background: linear-gradient(180deg, var(--brand), var(--brand2));
  border-color: rgba(179,19,27,.60);
  box-shadow: 0 18px 60px rgba(179,19,27,.22);
}
.btn.sm{padding:10px 14px; font-size:.92rem}
.btn.block{width:100%}

.nav{
  position: sticky; top:0; z-index:50;
  background: rgba(7,10,19,.55);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
}
.navbar{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0}
.brandLockup{display:flex; align-items:center; gap:12px}
.brandMark{
  width:40px; height:40px; border-radius: 14px;
  background: radial-gradient(circle at 28% 22%, rgba(255,138,28,.75), rgba(255,138,28,.18) 45%, rgba(255,255,255,.05) 70%),
              linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 16px 60px rgba(255,138,28,.16);
  display:grid; place-items:center;
}
.brandName{font-weight:900; letter-spacing:.2px}
.brandSub{font-size:.78rem; color: rgba(255,255,255,.65); margin-top:-2px; letter-spacing:.12em}
.navlinks{display:flex; align-items:center; gap:14px; color:var(--muted); font-size:.96rem}
.navlinks a{padding:8px 10px; border-radius:12px}
.navlinks a:hover{background: rgba(255,255,255,.06); color: var(--text)}
.navcta{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end}

.hero{
  position:relative;
  padding: 54px 0 38px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(900px 380px at 75% 25%, rgba(255,138,28,.20), transparent 58%),
    radial-gradient(900px 380px at 18% 65%, rgba(191,231,255,.14), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.70)),
    var(--heroImg);
  background-size: auto, auto, contain;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center;
  filter: saturate(1.04) contrast(1.02);
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background: var(--pattern);
  opacity:.55;
  pointer-events:none;
}


/* Parallax hero layers (set by /assets/js/site.js) */
.hero::before{
  transform: translate3d(var(--parallax-bg-x, 0px), var(--parallax-bg-y, 0px), 0);
  will-change: transform;
}
.hero::after{
  transform: translate3d(var(--parallax-fg-x, 0px), var(--parallax-fg-y, 0px), 0);
  will-change: transform;
}
.heroCard::before{
  transform: translate3d(var(--parallax-card-bg-x, 0px), var(--parallax-card-bg-y, 0px), 0);
  will-change: transform;
}
.heroCard::after{
  transform: translate3d(var(--parallax-card-fg-x, 0px), var(--parallax-card-fg-y, 0px), 0);
  will-change: transform;
}
.hero .container{position:relative; z-index:2}

.heroGrid{display:grid; grid-template-columns: 1.15fr .85fr; gap:18px; align-items:stretch}
.panel{
  background: rgba(7,10,19,.58);
  border:1px solid rgba(255,255,255,.14);
  border-radius: var(--radiusLg);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.panel.pad{padding:26px}
.h1{font-size: clamp(2.05rem, 3.2vw, 3.1rem); line-height:1.05; margin:10px 0 12px; letter-spacing:-.02em}
.lead{margin:0 0 14px; color:var(--muted); max-width: 56ch}
.meta{display:flex; flex-wrap:wrap; gap:10px; margin-top: 14px}

.heroCard{
  position:relative;
  min-height: 420px;
}
.heroCard::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(800px 320px at 45% 35%, rgba(255,255,255,.06), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.55)),
    var(--decorA);
  background-size: auto, auto, contain;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center;
}
.heroCard::after{
  content:"";
  position:absolute; inset:0;
  background-image: var(--decorB);
  background-size: 240px 240px;
  background-repeat:no-repeat;
  background-position: 90% 12%;
  opacity:.35;
  pointer-events:none;
}
.heroBadge{
  position:absolute; left:16px; top:16px;
  padding:10px 12px; border-radius:999px;
  background: rgba(7,10,19,.52);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  color:var(--muted);
  z-index:2;
}

.section{padding:44px 0}
.h2{font-size:1.35rem; margin:0 0 10px}
.grid3{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
.grid2{display:grid; grid-template-columns: repeat(2, 1fr); gap:14px}
.card{
  background: var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: 0 18px 70px rgba(0,0,0,.25);
  backdrop-filter: blur(10px);
}
.card h3{margin:0 0 8px; font-size:1.05rem}
.card p{margin:0; color:var(--muted)}
.row{display:flex; gap:10px; flex-wrap:wrap; margin-top: 14px}
.kv{display:grid; grid-template-columns: 1fr 1fr; gap:12px}
.kv .card{padding:16px}
.label{color:var(--muted2); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase}
.value{font-weight:800; margin-top:6px}

.footer{
  padding:34px 0;
  border-top: 1px solid rgba(255,255,255,.10);
  background: rgba(7,10,19,.62);
  backdrop-filter: blur(12px);
}
.footerGrid{display:grid; grid-template-columns: 1.4fr .6fr .6fr; gap:18px}
.footer a{color:var(--muted)}
.footer a:hover{color:var(--text)}
.sep{border:0; border-top: 1px solid rgba(255,255,255,.10); margin:18px 0}
.notice{color: var(--muted2); font-size:.85rem}

@media (max-width: 980px){
  .heroGrid{grid-template-columns:1fr}
  .grid3,.grid2{grid-template-columns:1fr}
  .footerGrid{grid-template-columns:1fr}
  .navlinks{display:none}
  .heroCard{min-height: 260px}
}


/* === NBAC Patch: raise below-fold cards + soften seam === */
/* Pull the first content section upward so there isn't a big "dead" blue band,
   and soften the hard edge between the hero and the next section. */
.hero {
  padding-bottom: 76px;
}

.hero + main.section {
  position: relative;
  margin-top: -46px;
  padding-top: 0;
  z-index: 3;
}

/* Soft fade so the seam doesn't look like a hard strip */
.hero + main.section::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
    height: 220px;
    background: linear-gradient(180deg,
    rgba(0,0,0,0.00) 0%,
    rgba(7,10,19,0.22) 20%,
    rgba(7,10,19,0.55) 55%,
    rgba(7,10,19,0.90) 100%);
  pointer-events: none;
  z-index: 1;
}

.hero + main.section .container {
  position: relative;
  z-index: 2;
}

