/* =====================================================================
   NEXUS — INVESTOR RESOURCES REDESIGN (page layer)
   Requires: homepage-redesign.css, homepage-refresh.css, nexus-inner.css
   "Document desk" palette: slate + cool white. Namespaced .nxr-*.
   ===================================================================== */

.nxr-page { --nxr-slate: #101b28; --nxr-slate-2: #172636; --nxr-cool: #eef3f7; }
.nxr-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: end; gap: clamp(28px, 6vw, 90px); margin-bottom: clamp(40px, 5vw, 64px); }
.nxr-docs-head, .nxr-stages-head { grid-template-columns: 1fr; align-items: start; gap: 14px; }
.nxr-docs-head .nx-sec-title { white-space: nowrap; font-size: clamp(1.85rem, 3vw, 2.7rem); }
.nxr-docs-head > p, .nxr-stages-head > p { max-width: none; }
.nxr-head > p { margin: 0; font-size: 16px !important; line-height: 1.8 !important; color: var(--nxa-body) !important; }
.nxr-stages .nxr-head > p { color: #a9b9c9 !important; }
.nxr-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 15px; font-weight: 700; color: var(--nxa-blue); transition: gap .35s var(--nxa-ease), color .3s; }
.nxr-link:hover { gap: 16px; color: var(--nxa-ink); }
.nxr-link-light { color: #dbe7f1; }
.nxr-link-light:hover { color: var(--nxa-sky); }

/* ---------------------------------------------------------------------
   1. HERO
   --------------------------------------------------------------------- */
.nxr-hero {
  position: relative;
  padding: clamp(110px, 10vw, 150px) 0 clamp(80px, 9vw, 120px);
  background: linear-gradient(160deg, var(--nxr-slate) 0%, #0a1420 60%, #070e17 100%);
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}
.nxr-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(40% 50% at 80% 30%, rgba(88,199,246,.18), transparent 70%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 34px);
}
.nxr-hero-inner { display: grid; grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.nxr-hero-inner { grid-template-columns: 1fr; }
.nxr-hero-copy { max-width: 820px; }
.nxr-crumbs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 26px; padding: 0; list-style: none; font-size: 13px; font-weight: 600; color: #8197ad; }
.nxr-crumbs li + li::before { content: "/"; margin-right: 10px; color: #4b6178; }
.nxr-crumbs a { color: #cfe0ee; }
.nxr-hero-title { margin: 6px 0 24px; font-size: clamp(2.5rem, 4.8vw, 4.5rem); font-weight: 800; line-height: 1.04; letter-spacing: -.04em; color: #fff; }
.nxr-hero-title em { font-family: var(--nx-font-serif); font-style: italic; font-weight: 600; letter-spacing: -.01em; color: var(--nxa-sky); }
.nxr-hero-lead { max-width: 540px; margin: 0 0 34px; font-size: clamp(1rem, 1.2vw, 1.12rem) !important; line-height: 1.8 !important; color: #b2c2d1 !important; }
.nxr-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; }

.nxr-viewer {
  margin: 0;
  border-radius: 18px;
  background: #1c2b3c;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 50px 100px rgba(0,0,0,.5);
  overflow: hidden;
  transform: perspective(1600px) rotateY(-10deg) rotateX(4deg);
  transition: transform 1s var(--nxa-ease);
}
.nxr-viewer:hover { transform: perspective(1600px) rotateY(0) rotateX(0); }
.nxr-viewer-bar { display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: #142231; border-bottom: 1px solid rgba(255,255,255,.07); font-size: 12.5px; color: #9fb4c7; }
.nxr-dots { display: flex; gap: 6px; }
.nxr-dots i { width: 10px; height: 10px; border-radius: 50%; background: #3a4b5e; }
.nxr-dots i:first-child { background: #3682ae; } .nxr-dots i:nth-child(2) { background: #38bdf8; } .nxr-dots i:nth-child(3) { background: #6fa68a; }
.nxr-viewer-name { flex: 1; font-weight: 700; color: #dbe7f1; }
.nxr-viewer-name i { margin-right: 6px; color: #e88a7f; }
.nxr-viewer-page { font-variant-numeric: tabular-nums; }
.nxr-viewer-page b { color: #fff; }
.nxr-viewer-stage { position: relative; aspect-ratio: 16 / 9; background: #fff; overflow: hidden; }
.nxr-viewer-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.03); transition: opacity .9s ease, transform 4s ease; }
.nxr-viewer-stage img.is-on { opacity: 1; transform: none; }
.nxr-scan { position: absolute; left: 0; right: 0; top: 0; height: 30%; background: linear-gradient(180deg, transparent, rgba(88,199,246,.12), transparent); animation: nxrScan 4s linear infinite; pointer-events: none; }
@keyframes nxrScan { from { transform: translateY(-100%); } to { transform: translateY(340%); } }
.nxr-viewer-thumbs { display: flex; gap: 8px; padding: 12px 16px; background: #142231; }
.nxr-viewer-thumbs span { flex: 1; height: 4px; border-radius: 2px; background: rgba(255,255,255,.12); overflow: hidden; position: relative; }
.nxr-viewer-thumbs span.is-done { background: rgba(88,199,246,.6); }
.nxr-viewer-thumbs span.is-on::after { content: ""; position: absolute; inset: 0; background: var(--nxa-sky); transform-origin: left; animation: nxrFill 3.2s linear forwards; }
@keyframes nxrFill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ---------------------------------------------------------------------
   2. DOCUMENTS
   --------------------------------------------------------------------- */
.nxr-docs { background: #fff; }
.nxr-doc-grid { display: grid; grid-template-columns: 1.25fr .95fr; gap: clamp(20px, 3vw, 36px); align-items: stretch; }
.nxr-doc { display: flex; flex-direction: column; border-radius: 26px; background: var(--nxr-cool); border: 1px solid #dfe8ef; overflow: hidden; transition: box-shadow .5s var(--nxa-ease), transform .6s var(--nxa-ease); }
.nxr-doc:hover { box-shadow: 0 34px 70px rgba(10,19,34,.12); transform: translateY(-4px); }
.nxr-doc-visual { position: relative; padding: clamp(18px, 2.2vw, 28px) clamp(18px, 2.2vw, 28px) 0; background: linear-gradient(160deg, #e3ecf3, #f3f7fa); }
.nxr-peek { position: relative; overflow: hidden; border-radius: 10px 10px 0 0; box-shadow: 0 -10px 40px rgba(10,19,34,.12); background: #fff; }
.nxr-doc-deck .nxr-peek { aspect-ratio: 16 / 9; }
.nxr-doc-brochure .nxr-peek { aspect-ratio: 16 / 13; }
.nxr-peek img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; opacity: 0; transition: opacity .35s ease; }
.nxr-peek img.is-on { opacity: 1; }
.nxr-peek-hint {
  position: absolute; right: clamp(34px, 4vw, 52px); top: clamp(34px, 4vw, 52px);
  padding: 7px 12px; border-radius: 999px;
  background: rgba(16,27,40,.82); color: #fff;
  font-size: 12px; font-weight: 700;
  transition: opacity .3s;
}
.nxr-doc:hover .nxr-peek-hint { opacity: 0; }
.nxr-peek-bar { position: absolute; left: clamp(24px, 3vw, 40px); right: clamp(24px, 3vw, 40px); bottom: 0; height: 3px; background: rgba(16,27,40,.08); }
.nxr-peek-bar i { display: block; height: 100%; width: 0; background: var(--nxa-blue); transition: width .2s ease; }
.nxr-doc-body { display: flex; flex-direction: column; flex: 1; padding: clamp(18px, 2.2vw, 28px); background: #fff; border-top: 1px solid #e3eaf0; }
.nxr-doc-type { font-size: 10.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--nxa-blue); }
.nxr-doc h3 { margin: 6px 0 8px; font-size: clamp(1.12rem, 1.55vw, 1.45rem); font-weight: 800; letter-spacing: -.02em; color: var(--nxa-ink); }
.nxr-doc-body > p { margin: 0 0 22px !important; font-size: 15px !important; line-height: 1.7 !important; color: #5b6b7d !important; }
.nxr-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: auto 0 24px; border: 1px solid #e3eaf0; border-radius: 14px; overflow: hidden; }
.nxr-meta div { padding: 12px 14px; }
.nxr-meta div + div { border-left: 1px solid #e3eaf0; }
.nxr-meta dt { font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #8a99a9; }
.nxr-meta dd { margin: 4px 0 0; font-size: 14px; font-weight: 800; color: var(--nxa-ink); white-space: nowrap; }
.nxr-doc-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.nxr-doc-actions .nx-btn-primary { gap: 7px; padding: 7px 12px; font-size: 12px; border-radius: 6px; }
.nxr-dl { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; color: var(--nxa-ink); transition: color .3s; }
.nxr-dl:hover { color: var(--nxa-blue); }
.nxr-dl i { transition: transform .4s var(--nxa-ease); }
.nxr-dl:hover i { transform: translateY(3px); }

/* ---------------------------------------------------------------------
   3. STAGES
   --------------------------------------------------------------------- */
.nxr-stages { background: var(--nxr-slate); color: #fff; }
.nxr-stage-track { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 36px; }
.nxr-stage-line { position: absolute; left: calc(100% / 6); right: calc(100% / 6); top: 24px; height: 2px; background: rgba(255,255,255,.12); }
.nxr-stage-line i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--nxa-sky), var(--nx-gold-400)); transition: width .8s var(--nxa-ease); }
.nxr-stage-track button { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 0; border: 0; background: none; font-size: 15px; font-weight: 800; color: #8ea3b7; cursor: pointer; transition: color .4s; }
.nxr-stage-track button span { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,.18); background: var(--nxr-slate); font-family: var(--nx-font-serif); font-style: italic; font-size: 1.4rem; font-weight: 600; transition: background .4s, border-color .4s, color .4s, transform .5s var(--nxa-ease); }
.nxr-stage-track button:hover { color: #fff; }
.nxr-stage-track button.is-on { color: #fff; }
.nxr-stage-track button.is-on span { background: var(--nxa-sky); border-color: var(--nxa-sky); color: var(--nxr-slate); transform: scale(1.12); }
.nxr-stage-track button.is-done span { border-color: var(--nxa-sky); color: var(--nxa-sky); }
.nxr-stage-track button:focus-visible { outline: 3px solid #62b6e4; outline-offset: 6px; border-radius: 12px; }
.nxr-stage-panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.nxr-stage-panel li {
  display: flex; flex-direction: column; gap: 8px;
  padding: 24px;
  border-radius: 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  animation: nxrCard .6s var(--nxa-ease) both;
  animation-delay: calc(var(--i) * .07s);
  transition: background .4s, border-color .4s;
}
.nxr-stage-panel li:hover { background: rgba(255,255,255,.07); border-color: rgba(88,199,246,.4); }
@keyframes nxrCard { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.nxr-badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; padding: 5px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nxr-badge-open { background: rgba(88,199,246,.14); color: #8fd6f7; }
.nxr-badge-lock { background: rgba(56,189,248,.16); color: #b8d8ec; }
.nxr-badge-inv { background: rgba(255,255,255,.1); color: #cfdbe6; }
.nxr-stage-panel strong { font-size: 17.5px; font-weight: 800; color: #fff; }
.nxr-stage-panel li > span:not(.nxr-badge) { font-size: 14.5px; line-height: 1.6; color: #a9b9c9; }
.nxr-stage-panel li a { margin-top: auto; padding-top: 12px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: var(--nxa-sky); }
.nxr-stage-panel li a:hover { color: #fff; }

/* ---------------------------------------------------------------------
   4. VERIFY
   --------------------------------------------------------------------- */
.nxr-verify { background: #f7f9fb; }
.nxr-verify-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 6vw, 90px); align-items: center; }
.nxr-verify-copy p { margin: 20px 0 26px; font-size: 16px !important; line-height: 1.8 !important; color: var(--nxa-body) !important; }
.nxr-cert {
  position: relative;
  padding: clamp(28px, 3.5vw, 44px);
  border-radius: 26px;
  background: #fff;
  border: 1px solid #dbe6ee;
  box-shadow: 0 30px 70px rgba(10,19,34,.08), inset 0 0 0 8px #f8fafc;
  overflow: hidden;
  isolation: isolate;
}
.nxr-cert-guil { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.nxr-cert-guil path { fill: none; stroke: rgba(54,130,174,.1); stroke-width: 1; stroke-dasharray: 800; stroke-dashoffset: 800; transition: stroke-dashoffset 2.4s var(--nxa-ease); }
.nxr-cert.is-in .nxr-cert-guil path { stroke-dashoffset: 0; }
.nxr-cert-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px dashed #dbe6ee; font-size: 11.5px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #3682ae; }
.nxr-cert-top i { font-size: 20px; }
.nxr-cert-reg { padding-right: 90px !important; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 22px 0; }
.nxr-cert-reg small { width: 100%; font-size: 12.5px; font-weight: 700; color: #7d8ea0; }
.nxr-cert-reg strong { font-size: clamp(1.6rem, 2.8vw, 2.4rem); font-weight: 800; letter-spacing: .01em; color: var(--nxa-ink); font-variant-numeric: tabular-nums; }
.nxr-copy { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid #d6e2ea; background: #fff; font-size: 12.5px; font-weight: 700; color: #4d6074; cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.nxr-copy:hover { background: var(--nxa-ink); border-color: var(--nxa-ink); color: #fff; }
.nxr-copy.is-done { background: #e8f4ec; border-color: #b9dcc4; color: #2f6b45; }
.nxr-cert-rows { margin: 0; }
.nxr-cert-rows div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-top: 1px solid #e6f1f8; }
.nxr-cert-rows dt { font-size: 13.5px; font-weight: 600; color: #7d8ea0; }
.nxr-cert-rows dd { margin: 0; font-size: 14.5px; font-weight: 800; color: var(--nxa-ink); text-align: right; }
.nxr-cert-seal { position: absolute; right: 30px; top: 92px; display: grid; place-items: center; width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(54,130,174,.4); color: rgba(54,130,174,.55); font-size: 26px; transform: rotate(-12deg) scale(1.6); opacity: 0; transition: transform .5s cubic-bezier(.34, 1.56, .64, 1) 1s, opacity .3s ease 1s; }
.nxr-cert.is-in .nxr-cert-seal { transform: rotate(-12deg) scale(1); opacity: 1; }

.nxr-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: clamp(50px, 6vw, 80px); }
.nxr-channel { display: flex; align-items: center; gap: 16px; padding: 22px 24px; border-radius: 18px; background: #fff; border: 1px solid #e0eaf1; color: var(--nxa-ink); transition: border-color .4s, box-shadow .4s, transform .5s var(--nxa-ease); }
.nxr-channel:hover { border-color: #b9d3e5; box-shadow: 0 18px 40px rgba(10,19,34,.08); transform: translateY(-3px); }
.nxr-channel > i:first-child { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; background: #e8f2f8; color: var(--nxa-blue); font-size: 18px; }
.nxr-channel span { flex: 1; font-size: 13.5px; line-height: 1.5; color: #64748b; }
.nxr-channel strong { display: block; font-size: 15.5px; font-weight: 800; color: var(--nxa-ink); }
.nxr-ext { font-size: 12px; color: #8a99a9; }

/* ---------------------------------------------------------------------
   5. Q&A
   --------------------------------------------------------------------- */
.nxr-qa { background: #fff; }
.nxr-qa-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 60px); align-items: stretch; }
.nxr-qa-list { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--nxa-ink); }
.nxr-qa-list li { border-bottom: 1px solid #e3eaf0; }
.nxr-qa-list button {
  position: relative;
  display: flex; align-items: center; gap: 16px;
  width: 100%;
  padding: 20px 40px 20px 4px;
  border: 0; background: none;
  text-align: left;
  font-size: 16.5px; font-weight: 800; line-height: 1.35;
  color: #6b7c8f;
  cursor: pointer;
  transition: color .3s, padding-left .5s var(--nxa-ease);
}
.nxr-qa-list button span { flex: none; font-family: var(--nx-font-serif); font-style: italic; font-size: 1.3rem; font-weight: 600; color: #b5c6d4; transition: color .3s; }
.nxr-qa-list button::after { content: "\2192"; position: absolute; right: 8px; top: 50%; transform: translate(-10px, -50%); opacity: 0; font-size: 18px; color: var(--nxa-blue); transition: opacity .3s, transform .5s var(--nxa-ease); }
.nxr-qa-list button:hover { color: var(--nxa-ink); }
.nxr-qa-list button.is-on { color: var(--nxa-ink); padding-left: 14px; }
.nxr-qa-list button.is-on span { color: var(--nxa-blue); }
.nxr-qa-list button.is-on::after { opacity: 1; transform: translate(0, -50%); }
.nxr-qa-list button:focus-visible { outline: 3px solid #62b6e4; outline-offset: 2px; }
.nxr-qa-stage { position: relative; display: grid; padding: clamp(28px, 4vw, 50px); border-radius: 26px; background: linear-gradient(160deg, #f2f8fc, #fbfdfe); border: 1px solid #e0eaf1; }
.nxr-ans { grid-area: 1 / 1; display: flex; flex-direction: column; }
.nxr-ans[hidden] { display: none; }
.nxr-ans.is-on { animation: nxrAns .6s var(--nxa-ease); }
@keyframes nxrAns { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.nxr-ans-q { font-family: var(--nx-font-serif); font-style: italic; font-size: clamp(1.5rem, 2.4vw, 2.1rem); font-weight: 600; line-height: 1.25; color: var(--nxa-ink); }
.nxr-ans p { margin: 18px 0 24px !important; font-size: 16.5px !important; line-height: 1.8 !important; color: #4c5563 !important; }
.nxr-ans .nxr-link { align-self: flex-start; margin-top: auto; }

/* ---------------------------------------------------------------------
   6. CLOSE
   --------------------------------------------------------------------- */
.nxr-close { padding: 0 0 clamp(80px, 9vw, 120px); background: #fff; }
.nxr-close-card { display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; padding: clamp(30px, 4vw, 54px); border-radius: 28px; background: linear-gradient(130deg, var(--nxr-slate), #1b3a58); color: #fff; }
.nxr-close-title { margin: 6px 0 10px; font-size: clamp(1.6rem, 2.7vw, 2.25rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.12; color: #fff; }
.nxr-close-title em { font-family: var(--nx-font-serif); font-style: italic; font-weight: 600; color: var(--nxa-sky); }
.nxr-close-card p { max-width: 520px; margin: 0 !important; font-size: 15.5px !important; line-height: 1.7 !important; color: #b2c2d1 !important; }
.nxr-chapters { display: grid; grid-template-columns: 1fr 1fr; margin-top: clamp(60px, 7vw, 90px); border-top: 2px solid var(--nxa-ink); }
.nxr-chapter { display: flex; flex-direction: column; gap: 8px; padding: 28px 6px; color: var(--nxa-ink); transition: background .4s; }
.nxr-chapter:hover { background: #f6f8fa; }
.nxr-chapter-next { align-items: flex-end; text-align: right; border-left: 1px solid #e3eaf0; }
.nxr-chapter span { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--nxa-blue); }
.nxr-chapter strong { font-size: clamp(1.4rem, 2.4vw, 2.1rem); font-weight: 800; letter-spacing: -.02em; transition: transform .6s var(--nxa-ease); }
.nxr-chapter:hover strong { transform: translateX(10px); }
.nxr-chapter-next:hover strong { transform: translateX(-10px); }
.nxr-note { max-width: 860px; margin: 36px auto 0 !important; font-size: 12px !important; line-height: 1.7 !important; color: #8a99a9 !important; text-align: center !important; }

/* ---------------------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------------------- */
@media (max-width: 1199px) {
  .nxr-doc-grid { grid-template-columns: 1fr 1fr; }
  .nxr-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nxr-meta div:nth-child(3) { border-left: 0; }
  .nxr-meta div:nth-child(n+3) { border-top: 1px solid #e3eaf0; }
}
@media (max-width: 991px) {
  .nxr-hero-inner, .nxr-head, .nxr-verify-grid, .nxr-qa-grid, .nxr-doc-grid { grid-template-columns: 1fr; }
  .nxr-viewer { transform: none; max-width: 640px; }
  .nxr-channels { grid-template-columns: 1fr; }
  .nxr-peek-hint { display: none; }
}
@media (max-width: 767px) {
  .nxr-docs-head .nx-sec-title { white-space: normal; }
  .nxr-stage-track button { font-size: 12.5px; }
  .nxr-stage-track button span { width: 42px; height: 42px; font-size: 1.15rem; }
  .nxr-stage-line { top: 20px; }
  .nxr-chapters { grid-template-columns: 1fr; }
  .nxr-chapter-next { border-left: 0; border-top: 1px solid #e3eaf0; }
  .nxr-cert-rows div { flex-direction: column; gap: 2px; }
  .nxr-cert-rows dd { text-align: left; }
  .nxr-viewer-name { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .nxr-scan, .nxr-viewer-thumbs span.is-on::after { animation: none !important; }
  .nxr-cert-guil path { stroke-dashoffset: 0 !important; }
  .nxr-cert-seal { opacity: 1 !important; transform: rotate(-12deg) !important; }
}

/* Oct 2026: smaller headings, text level across both document cards */
html.nx-inner-palette body .nxr-hero-title, .nxr-hero-title { font-size: clamp(2rem, 3.4vw, 3.1rem); }
html.nx-inner-palette body .nxr-docs-head .nx-sec-title, .nxr-docs-head .nx-sec-title { font-size: clamp(1.5rem, 2.3vw, 2.15rem); }
.nxr-doc-visual { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: flex-end; }
.nxr-doc-body { flex: 0 0 auto; }
.nxr-doc-actions { gap: 22px; }

/* Oct 2026: client content — single pitch-deck card, top spacing for resource cards */
.nxr-doc-grid.nxr-doc-grid-single { grid-template-columns: minmax(0, 760px); }

/* Oct 2026: pitch deck + brochure cards at equal width */
@media (min-width: 992px) {
  html body.nxr-page .nxr-doc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =====================================================================
   Oct 2026 — hero title + intro centred (breadcrumb stays left);
   Available Resources and Pitch Deck heads centred; document card text centred.
   Hero "Investor Resource" label, "Pitch Deck" section label and the
   Let's Connect card were removed in investor-resources.php.
   ===================================================================== */
.nxr-hero-copy { max-width: none; }
.nxr-hero-title { text-align: center; }
.nxa-page .nxr-hero-lead { max-width: 820px; margin-left: auto; margin-right: auto; text-align: center; }

.nxr-stages-head, .nxr-docs-head { text-align: center; justify-items: center; }
.nxa-page .nxr-docs-head > p { text-align: center; }

.nxr-doc-body { align-items: center; text-align: center; }
.nxr-doc-actions { justify-content: center; }

/* Hero intro: hand-placed line breaks (.nxa-line) need the full width on desktop */
@media (min-width: 992px) { .nxa-page .nxr-hero-lead { max-width: none; } }

/* Hero laid out like Investment Philosophy / Fund Offering: fills the first
   screen, title + intro centred under the fixed header (74px), breadcrumb
   left-aligned at the same spot (106px from the top) with a rule under it. */
@media (min-width: 992px) {
  .nxr-hero { min-height: 100vh; min-height: 100svh; display: flex; align-items: center; padding: 74px 0 0; }
  .nxr-hero > .auto-container { width: 100%; }
  .nxr-hero-inner, .nxr-hero-copy { position: static; }
  .nxr-hero .nxr-crumbs {
    position: absolute; top: 106px; left: 0; right: 0;
    width: calc(100% - 30px); max-width: 1170px;
    margin: 0 auto; padding-bottom: 18px;
    border-bottom: 1px solid rgba(160, 205, 235, .2);
  }
  .nxr-hero-lead { margin-bottom: 0; }
}

/* The page-load curtain markup in investor-resources.php has no styles on this
   page, so it sat in the flow as ~28px of text and pushed the page down. */
.nxr-page .nxa-curtain { display: none; }

/* Background lines drawn from the top (every 34px) and shifted 17px, so one
   of them runs at 153px – exactly under the breadcrumb's rule (106px + 48px). */
@media (min-width: 992px) {
  .nxr-hero::before {
    background:
      radial-gradient(40% 50% at 80% 30%, rgba(88,199,246,.18), transparent 70%),
      repeating-linear-gradient(180deg, rgba(255,255,255,.035) 0 1px, transparent 1px 34px) 0 17px;
  }
}
