/* =========================================================================
   Aslan redesign v3: v2 (next.css) with a darker, bolder frame.
   A mix of the first two versions (2026-10-08): the dark green header and
   heroes and the larger display type from the original v3; everything
   between them is v2's light paper and white sections. No blue bands,
   so nothing green ever sits on blue.
   ========================================================================= */

:root {
    --v3-ink: #0f2b19;
    --v3-ink-2: #0b2214;
    --v3-neon: #4fe07a;
    --v3-on-dark: #eef4ef;
    --v3-on-dark-2: rgba(238, 244, 239, .72);
    --v3-line-dark: rgba(238, 244, 239, .16);
}

/* ---------- dark header that joins the hero ---------- */
body.next-v3 .header { background: rgba(15, 43, 25, .94); border-bottom-color: var(--v3-line-dark); }
body.next-v3 .header .logo { color: #fff; }
body.next-v3 .header .logo-icon { filter: none; mix-blend-mode: normal; }
body.next-v3 .header .nav-links a { color: var(--v3-on-dark-2); }
body.next-v3 .header .nav-links a:hover { color: #fff; }
body.next-v3 .header .btn-primary { background: var(--v3-neon); border-color: var(--v3-neon); color: var(--v3-ink-2); }
body.next-v3 .header .btn-primary:hover { background: #fff; border-color: #fff; color: var(--v3-ink-2); }
body.next-v3 .mobile-menu-btn { color: #fff; }

/* ---------- dark green heroes ---------- */
body.next-v3 .nx-hero, body.next-v3 .nx-page-hero, body.next-v3 .nx-book {
    background: var(--v3-ink); color: var(--v3-on-dark); position: relative; overflow: hidden;
}
body.next-v3 .nx-hero > .container, body.next-v3 .nx-page-hero > .container { position: relative; z-index: 1; }
body.next-v3 .nx-page-hero { padding-bottom: clamp(3rem, 6vw, 5rem); }
body.next-v3 .nx-hero h1, body.next-v3 .nx-page-hero h1, body.next-v3 .nx-book h1 { color: #fff; }
body.next-v3 .nx-hero h1 { max-width: none; font-size: clamp(2.8rem, 5.6vw, 5.4rem); line-height: .98; }
body.next-v3 .nx-hero-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); }
body.next-v3 .nx-page-hero h1 { font-size: clamp(2.6rem, 5.6vw, 4.8rem); }
body.next-v3 .nx-accent, body.next-v3 .nx-rotate { color: var(--v3-neon); }
body.next-v3 .nx-hero .nx-lead, body.next-v3 .nx-page-hero .nx-lead, body.next-v3 .nx-book .nx-lead { color: var(--v3-on-dark-2); }
body.next-v3 .nx-hero .nx-link, body.next-v3 .nx-page-hero .nx-link { color: #fff; }
body.next-v3 .nx-crumb, body.next-v3 .nx-crumb a { color: var(--v3-on-dark-2); }
body.next-v3 .nx-crumb a:hover { color: #fff; }
body.next-v3 .nx-hero .btn-primary, body.next-v3 .nx-page-hero .btn-primary {
    background: var(--v3-neon); border-color: var(--v3-neon); color: var(--v3-ink-2);
}
body.next-v3 .nx-hero .btn-primary:hover, body.next-v3 .nx-page-hero .btn-primary:hover { background: #fff; border-color: #fff; color: var(--v3-ink-2); }
body.next-v3 .nx-hero-lion img { filter: none; mix-blend-mode: normal; opacity: 1; }
body.next-v3 .nx-hero-art .nx-art { filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .45)); }
body.next-v3 .nx-trades { border-top-color: var(--v3-line-dark); color: var(--v3-on-dark-2); margin-top: clamp(3rem, 6vw, 5rem); }

/* Hero card on dark */
body.next-v3 .nx-hero-card { background: rgba(255, 255, 255, .06); border-color: var(--v3-line-dark); box-shadow: none; }
body.next-v3 .nx-hero-card-label, body.next-v3 .nx-hc-text span { color: var(--v3-on-dark-2); }
body.next-v3 .nx-hero-card li { border-color: var(--v3-line-dark); }
body.next-v3 .nx-hero-card li > a, body.next-v3 .nx-hero-card li > span { color: #fff; }
body.next-v3 .nx-hero-card a .nx-arrow { color: var(--v3-on-dark-2); }
body.next-v3 .nx-hero-card a:hover strong, body.next-v3 .nx-hero-card a:hover .nx-arrow { color: #fff; }
body.next-v3 .nx-hero-card li > span:not(.nx-hc-text)::before { background: var(--v3-neon); }

/* Book a call on dark */
body.next-v3 .nx-book .nx-book-sub, body.next-v3 .nx-book .nx-book-team p { color: var(--v3-on-dark-2); }
body.next-v3 .nx-book .nx-checks li { color: #fff; border-color: var(--v3-line-dark); }
body.next-v3 .nx-book .nx-book-team img { border-color: var(--v3-ink); }

/* The first section after a dark hero gets room to breathe. */
body.next-v3 .nx-after-hero { padding-top: clamp(2.5rem, 5vw, 4rem); }

/* ---------- bolder type in the light sections ---------- */
body.next-v3 .nx-head h2 { font-size: clamp(2.2rem, 4.6vw, 3.8rem); line-height: 1.02; }
body.next-v3 .nx-path h3 { font-size: clamp(1.6rem, 2.8vw, 2.2rem); letter-spacing: -.045em; }
body.next-v3 .nx-step-mark { width: 56px; height: 56px; font-size: 1.25rem; background: var(--v3-ink); }
body.next-v3 .nx-step:not(:last-child)::after { top: 27px; left: 56px; height: 3px; background: var(--p-line-2); }
body.next-v3 .nx-step h3 { font-size: 1.5rem; }
body.next-v3 .nx-phase-head { grid-template-columns: 56px minmax(0, 1fr); }
body.next-v3 .nx-industry h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); letter-spacing: -.045em; }
body.next-v3 .nx-industry:first-child { background: var(--v3-ink); border-color: var(--v3-ink); color: #fff; }
body.next-v3 .nx-industry:first-child h2 { color: #fff; }
body.next-v3 .nx-industry:first-child > p, body.next-v3 .nx-industry:first-child li { color: var(--v3-on-dark-2); }
body.next-v3 .nx-industry:first-child ul { border-color: var(--v3-line-dark); }
body.next-v3 .nx-industry:first-child li::before { background: var(--v3-neon); }
body.next-v3 .nx-industry:first-child .nx-link { color: #fff; }

/* ---------- dark bands ---------- */
body.next-v3 .nx-why2 { background: var(--v3-ink); }
body.next-v3 .nx-why2-accent { color: var(--v3-neon); }
body.next-v3 .nx-cta { background: var(--v3-ink); padding: clamp(4.5rem, 9vw, 7rem) 0; }
body.next-v3 .nx-cta h2 { font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1; max-width: 16ch; }
body.next-v3 .nx-cta .btn-primary { background: var(--v3-neon); border-color: var(--v3-neon); color: var(--v3-ink-2); }
body.next-v3 .nx-cta .btn-primary:hover { background: #fff; border-color: #fff; }
body.next-v3 .footer { border-top: 1px solid var(--v3-line-dark); }

@media (max-width: 768px) {
    body.next-v3 .nx-hero-grid { grid-template-columns: 1fr; }
    body.next-v3 .nx-step { padding-left: 76px; }
    body.next-v3 .nx-step:not(:last-child)::after,
    body.next-v3 .nx-step:nth-child(2)::after { top: 56px; left: 26px; width: 3px; height: auto; }
}
body.next-v3 .nx-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
@media (max-width: 768px) { body.next-v3 .nx-hero-grid { grid-template-columns: 1fr; } }
body.next-v3 .nx-familiar li { border-top-width: 1px; }
body.next-v3 .nx-hero-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
body.next-v3 .nx-hero h1 { font-size: clamp(2.6rem, 5vw, 4.9rem); }
@media (max-width: 768px) { body.next-v3 .nx-hero-grid { grid-template-columns: 1fr; } }
body.next-v3 .nx-book-team li .nx-portrait { border-color: var(--v3-ink); }
@media (max-width: 600px) { body.next-v3 .nx-hero h1 { font-size: min(10.4vw, 2.6rem); } }
body.next-v3 .nx-hero-lion::before {
    background: radial-gradient(closest-side, rgba(79, 224, 122, .45), rgba(79, 224, 122, .16) 55%, rgba(79, 224, 122, 0) 100%);
}
