
/* =========================================================
   NEXUS-RX · RPTC brand-preserving presentation layer
   Content/column structure is new; visual language follows
   the existing Tactical Apex NEXUS page.
   ========================================================= */

.nrx {
  /* Existing RPTC visual language: tactical dark layers + lime green + white.
     Fallback values only; where the theme exposes brand variables they can be mapped here. */
  --nrx-green: var(--rptc-green, var(--rptc-orange, #8dc63f));
  --nrx-green-soft: var(--rptc-green-soft, #b5ffca);
  --nrx-white: #f5f7f3;
  --nrx-text: #eef2ed;
  --nrx-muted: #aeb9b1;
  --nrx-bg-0: #060b08;
  --nrx-bg-1: #09110c;
  --nrx-bg-2: #0d1710;
  --nrx-bg-3: #101c14;
  --nrx-panel: rgba(16, 28, 20, .90);
  --nrx-panel-deep: rgba(7, 14, 10, .92);
  --nrx-line: rgba(141, 198, 63, .22);
  --nrx-line-soft: rgba(255, 255, 255, .10);
  --nrx-max: 1180px;
  --nrx-radius: 20px;
  --nrx-radius-sm: 14px;
  --nrx-pill: 999px;

  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 9%, rgba(65,255,116,.10), transparent 26rem),
    radial-gradient(circle at 92% 34%, rgba(68,110,84,.14), transparent 32rem),
    var(--nrx-bg-0);
  color: var(--nrx-text);
  font-family: "Chivo RPTC", "Chivo", Arial, sans-serif;
  line-height: 1.65;
  font-weight: 400;
}

.nrx *, .nrx *::before, .nrx *::after { box-sizing: border-box; }
.nrx a { color: inherit; }
.nrx img { max-width: 100%; }
.nrx__wrap { width: min(var(--nrx-max), calc(100% - 40px)); margin-inline: auto; position: relative; z-index: 2; }

.nrx__green { color: var(--nrx-green); }
.nrx__white { color: var(--nrx-white); }

.nrx h1, .nrx h2, .nrx h3 {
  font-family: "Chivo RPTC", "Chivo", Arial, sans-serif;
  line-height: 1.06;
  margin: 0;
  letter-spacing: -.035em;
  font-weight: 800;
}
.nrx h1 { font-size: clamp(3.2rem, 8vw, 6.9rem); }
.nrx h2 { font-size: clamp(2.15rem, 4.6vw, 4rem); max-width: 920px; }
.nrx h3 { font-size: 1.35rem; color: var(--nrx-white); }
.nrx p { margin: 0; }

.nrx__title--green { color: var(--nrx-green); }
.nrx__title--white { color: var(--nrx-white); }

.nrx__eyebrow {
  margin: 0 0 14px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
  color: var(--nrx-green);
  font-weight: 800;
}
.nrx__lead {
  font-size: clamp(1.08rem, 2vw, 1.42rem);
  max-width: 840px;
  color: #dbe3dc;
  font-weight: 400;
}
.nrx__copy { max-width: 790px; color: var(--nrx-muted); }
.nrx__copy strong, .nrx strong { color: var(--nrx-white); font-weight: 700; }
.nrx__stack > * + * { margin-top: 20px; }

/* ---------- existing layered dark-background language ---------- */
.nrx__section {
  position: relative;
  padding: 90px 0;
  border-top: 1px solid var(--nrx-line-soft);
  isolation: isolate;
}
.nrx__section::before,
.nrx__section::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
}
.nrx__section::before {
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.018), transparent 35%, rgba(0,0,0,.08));
}
.nrx__section::after {
  width: 34rem; height: 34rem; border-radius: 50%;
  right: -18rem; top: -14rem;
  background: radial-gradient(circle, rgba(65,255,116,.055), transparent 67%);
}
.nrx__layer--deep { background: var(--nrx-bg-0); }
.nrx__layer--forest {
  background:
    linear-gradient(135deg, rgba(65,255,116,.035), transparent 48%),
    var(--nrx-bg-2);
}
.nrx__layer--carbon {
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(0,0,0,.08)),
    var(--nrx-bg-1);
}
.nrx__section--compact { padding: 58px 0; }

/* ---------- pill buttons / rounded treatment ---------- */
.nrx__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.nrx__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 23px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--nrx-pill);
  text-decoration: none;
  font-family: "Chivo RPTC", "Chivo", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.nrx__btn:hover { transform: translateY(-1px); }
.nrx__btn--primary {
  background: var(--nrx-green);
  color: #081006 !important;
  border-color: var(--nrx-green);
  box-shadow: 0 12px 34px rgba(65,255,116,.12);
}
.nrx__btn--primary:hover { background: var(--nrx-green-soft); border-color: var(--nrx-green-soft); }
.nrx__btn--ghost {
  background: rgba(7,13,9,.42);
  color: var(--nrx-white) !important;
  border-color: rgba(65,255,116,.44);
  backdrop-filter: blur(8px);
}
.nrx__btn--ghost:hover { border-color: var(--nrx-green); color: var(--nrx-green) !important; }

/* ---------- hero ---------- */
.nrx__hero {
  position: relative;
  min-height: 82vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--nrx-bg-0);
}
.nrx__hero::after {
  content:"";
  position:absolute; inset:auto 0 0; height:20%;
  background: linear-gradient(0deg, var(--nrx-bg-0), transparent);
  z-index:1;
}
.nrx__hero-media { position: absolute; inset: 0; }
.nrx__hero-media img {
  width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.82) contrast(1.05) brightness(.62);
}
.nrx__hero-media::after {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(4,8,6,.97) 0%, rgba(4,8,6,.82) 42%, rgba(4,8,6,.22) 76%, rgba(4,8,6,.40) 100%),
    linear-gradient(0deg, rgba(4,8,6,.94) 0%, transparent 52%);
}
.nrx__hero-inner { position: relative; z-index: 3; padding: 126px 0 72px; width: 100%; }
.nrx__hero-title small {
  display: block;
  font-size: clamp(1.45rem, 3vw, 2.65rem);
  color: var(--nrx-white);
  letter-spacing: -.025em;
  margin-top: 14px;
  font-weight: 700;
  max-width: 900px;
}
.nrx__hero .nrx__lead { margin-top: 25px; }

.nrx__metrics {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border: 1px solid rgba(65,255,116,.25);
  border-radius: var(--nrx-radius);
  overflow: hidden;
  background: rgba(7,13,9,.68);
  backdrop-filter: blur(9px);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.nrx__metric { padding: 20px 21px; border-right: 1px solid var(--nrx-line-soft); }
.nrx__metric:last-child { border-right: 0; }
.nrx__metric b { display:block; font-size:.96rem; color: var(--nrx-green); }
.nrx__metric span { color: var(--nrx-muted); font-size:.87rem; }

/* ---------- grids/cards ---------- */
.nrx__intro-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; align-items:start; }
.nrx__grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.nrx__grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.nrx__grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }

.nrx__card {
  border: 1px solid var(--nrx-line-soft);
  border-radius: var(--nrx-radius);
  background:
    linear-gradient(145deg, rgba(65,255,116,.035), transparent 44%),
    var(--nrx-panel);
  padding: 28px;
  min-height: 100%;
  box-shadow: 0 18px 48px rgba(0,0,0,.13);
}
.nrx__card p { color: var(--nrx-muted); margin-top: 12px; }
.nrx__num { color: var(--nrx-green); font-size:.8rem; font-weight:800; letter-spacing:.09em; margin-bottom:12px; }

/* ---------- decision architecture ---------- */
.nrx__architecture {
  margin-top: 38px;
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 9px;
  align-items: stretch;
}
.nrx__arch-node {
  position: relative;
  border: 1px solid rgba(65,255,116,.18);
  border-radius: var(--nrx-radius-sm);
  background: rgba(9,17,12,.82);
  padding: 20px 16px;
  min-height: 150px;
}
.nrx__arch-node:not(:last-child)::after {
  content:"→";
  position:absolute; right:-11px; top:50%; transform:translateY(-50%);
  z-index:4; color:var(--nrx-green); font-weight:900;
  background:var(--nrx-bg-2); padding:0 3px;
}
.nrx__arch-node b { display:block; margin-bottom:8px; color:var(--nrx-white); }
.nrx__arch-node span { color:var(--nrx-muted); font-size:.9rem; }
.nrx__feedback {
  margin-top: 12px;
  border: 1px dashed rgba(65,255,116,.32);
  border-radius: var(--nrx-pill);
  padding: 14px 18px;
  color: var(--nrx-muted);
  text-align:center;
}
.nrx__quote {
  margin-top: 30px;
  border-left: 3px solid var(--nrx-green);
  padding: 4px 0 4px 24px;
  font-size: clamp(1.35rem,2.6vw,2rem);
  max-width: 930px;
  line-height:1.35;
  color:var(--nrx-white);
  font-weight:600;
}

/* ---------- split visual blocks ---------- */
.nrx__media-split {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:580px;
  background:rgba(8,16,11,.92);
  border:1px solid var(--nrx-line-soft);
  border-radius:calc(var(--nrx-radius) + 4px);
  overflow:hidden;
  box-shadow:0 28px 70px rgba(0,0,0,.18);
}
.nrx__media-split__image { min-height: 100%; }
.nrx__media-split__image img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.88); }
.nrx__media-split__body { padding:60px; display:flex; align-items:center; background:linear-gradient(145deg, rgba(65,255,116,.045), transparent 45%); }
.nrx__media-split__body .nrx__copy { max-width:560px; }
.nrx__pillrow { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.nrx__pill {
  border:1px solid rgba(65,255,116,.28);
  border-radius:var(--nrx-pill);
  padding:7px 12px;
  color:#dce5dd;
  font-size:.84rem;
  background:rgba(7,13,9,.44);
}

/* ---------- platform visual ---------- */
.nrx__platform { margin-top:34px; display:grid; grid-template-columns:1fr 1.15fr; gap:26px; }
.nrx__platform-screen {
  border:1px solid rgba(65,255,116,.28);
  border-radius:calc(var(--nrx-radius) + 4px);
  background:
    radial-gradient(circle at 90% 10%, rgba(65,255,116,.10), transparent 20rem),
    #08100b;
  padding:18px;
  min-height:410px;
  box-shadow:0 26px 70px rgba(0,0,0,.24);
}
.nrx__platform-bar { display:flex; justify-content:space-between; border-bottom:1px solid var(--nrx-line-soft); padding:0 0 14px; }
.nrx__platform-bar b { font-size:.95rem; color:var(--nrx-white); }
.nrx__platform-bar span { color:var(--nrx-muted); font-size:.82rem; }
.nrx__platform-panel { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.nrx__platform-item {
  border:1px solid var(--nrx-line-soft);
  border-radius:var(--nrx-radius-sm);
  padding:16px; min-height:96px;
  background:rgba(255,255,255,.018);
}
.nrx__platform-item small { color:var(--nrx-muted); display:block; }
.nrx__platform-item b { display:block; margin-top:7px; color:var(--nrx-white); }
.nrx__platform-item--wide { grid-column:1 / -1; min-height:125px; }
.nrx__line { height:7px; border-radius:var(--nrx-pill); background:rgba(255,255,255,.07); margin-top:10px; overflow:hidden; }
.nrx__line > i { display:block; height:100%; width:66%; background:var(--nrx-green); border-radius:var(--nrx-pill); }

/* ---------- journey ---------- */
.nrx__steps { margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; counter-reset:step; }
.nrx__step { border-top:1px solid rgba(65,255,116,.28); padding:22px 4px 8px 0; }
.nrx__step::before {
  counter-increment:step; content:"0" counter(step); display:block;
  color:var(--nrx-green); font-size:.78rem; font-weight:800; letter-spacing:.09em; margin-bottom:10px;
}
.nrx__step p { color:var(--nrx-muted); margin-top:10px; }

/* ---------- audiences ---------- */
.nrx__audience { margin-top:32px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.nrx__audience .nrx__card { padding:34px; }
.nrx__audience ul { padding-left:18px; color:var(--nrx-muted); }
.nrx__audience li + li { margin-top:7px; }

/* ---------- preserved recovery visual ---------- */
.nrx__workforce-image {
  margin-top: 24px;
  border-radius: var(--nrx-radius);
  overflow:hidden;
  border:1px solid var(--nrx-line-soft);
}
.nrx__workforce-image img {
  width:100%;
  aspect-ratio:16 / 8.4;
  object-fit:cover;
  display:block;
  filter:saturate(.88) contrast(1.02);
}
.nrx__governance { margin-top:24px; border-top:1px solid rgba(65,255,116,.25); padding-top:22px; }
.nrx__governance strong { color:var(--nrx-white); }

/* ---------- FAQ ---------- */
.nrx__faq { margin-top:28px; border-top:1px solid rgba(65,255,116,.24); }
.nrx__faq details { border-bottom:1px solid var(--nrx-line-soft); padding:20px 0; }
.nrx__faq summary { cursor:pointer; font-weight:700; font-size:1.08rem; color:var(--nrx-white); }
.nrx__faq summary::marker { color:var(--nrx-green); }
.nrx__faq details p { color:var(--nrx-muted); max-width:840px; margin-top:12px; }

/* ---------- CTA with preserved original visual ---------- */
.nrx__cta {
  position:relative;
  padding:88px 0;
  overflow:hidden;
  background:var(--nrx-bg-0);
  border-top:1px solid var(--nrx-line-soft);
  isolation:isolate;
}
.nrx__cta-media { position:absolute; inset:0; z-index:-2; }
.nrx__cta-media img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.75) brightness(.43); }
.nrx__cta::after {
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(90deg, rgba(4,9,6,.98) 0%, rgba(4,9,6,.88) 48%, rgba(4,9,6,.48) 100%),
    radial-gradient(circle at 22% 50%, rgba(65,255,116,.10), transparent 28rem);
}
.nrx__cta-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:end; }
.nrx__note { color:var(--nrx-muted); font-size:.86rem; margin-top:20px; max-width:840px; }

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .nrx__metrics, .nrx__grid-4 { grid-template-columns:repeat(2,1fr); }
  .nrx__architecture { grid-template-columns:repeat(3,1fr); }
  .nrx__arch-node:nth-child(3)::after { display:none; }
  .nrx__platform, .nrx__media-split, .nrx__intro-grid, .nrx__cta-grid { grid-template-columns:1fr; }
  .nrx__media-split__image { min-height:420px; }
}
@media (max-width: 680px) {
  .nrx__wrap { width:min(100% - 28px,var(--nrx-max)); }
  .nrx__section { padding:64px 0; }
  .nrx__hero { min-height:auto; }
  .nrx__hero-inner { padding:100px 0 46px; }
  .nrx__metrics, .nrx__grid-2, .nrx__grid-3, .nrx__grid-4,
  .nrx__audience, .nrx__steps, .nrx__architecture { grid-template-columns:1fr; }
  .nrx__metric { border-right:0; border-bottom:1px solid var(--nrx-line-soft); }
  .nrx__metric:last-child { border-bottom:0; }
  .nrx__arch-node::after { display:none!important; }
  .nrx__media-split__body { padding:36px 24px; }
  .nrx__media-split__image { min-height:340px; }
  .nrx__platform-panel { grid-template-columns:1fr; }
  .nrx__platform-item--wide { grid-column:auto; }
  .nrx__feedback { border-radius:var(--nrx-radius-sm); }
}
