/* ============================================================
   NAS · 21st-DEV REDESIGN — 4 sections, maximalist animations
   ============================================================ */

/* ---------- shared maximalist primitives ---------- */
@property --grad-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

@keyframes nas-rotate-grad {
    to { --grad-angle: 360deg; }
}
@keyframes nas-shimmer {
    0%, 100% { background-position: 200% 0; }
    50% { background-position: -200% 0; }
}
@keyframes nas-float-soft {
    0%, 100% { transform: translateY(0) translateX(0); }
    50%      { transform: translateY(-8px) translateX(4px); }
}
@keyframes nas-pulse-ring {
    0%   { transform: scale(.94); opacity: .85; }
    70%  { transform: scale(1.18); opacity: 0; }
    100% { transform: scale(1.18); opacity: 0; }
}
@keyframes nas-marquee-h {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@keyframes nas-marquee-h-rev {
    from { transform: translateX(-50%); }
    to   { transform: translateX(0); }
}
@keyframes nas-rise {
    from { opacity: 0; transform: translateY(28px) scale(.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1); }
}
@keyframes nas-flicker-dot {
    0%, 60%, 100% { opacity: .35; }
    30%           { opacity: 1; }
}
@keyframes nas-drift {
    0%   { transform: translate(0, 0); }
    50%  { transform: translate(20px, -30px); }
    100% { transform: translate(0, 0); }
}

/* ============================================================
   1) PARTNER MARQUEE (top strip)  — logos with mask + hover pause
   ============================================================ */
.nas-marquee-wrap {
    position: relative;
    padding: 56px 0 60px;
    background:
        radial-gradient(900px 220px at 50% 0%, rgba(0,51,160,.06), transparent 70%),
        linear-gradient(180deg, var(--bg-soft) 0%, #fff 100%);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    overflow: hidden;
}
.nas-marquee-wrap::before,
.nas-marquee-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(2px 2px at 12% 20%, rgba(0,51,160,.18), transparent 60%),
        radial-gradient(1.5px 1.5px at 88% 70%, rgba(214,41,57,.22), transparent 60%),
        radial-gradient(2px 2px at 60% 40%, rgba(0,51,160,.14), transparent 60%);
    animation: nas-drift 14s ease-in-out infinite;
}
.nas-marquee-wrap::after {
    animation: nas-drift 18s ease-in-out infinite reverse;
    opacity: .6;
}

.nas-marquee-eyebrow {
    text-align: center;
    margin-bottom: 28px;
    position: relative;
    z-index: 1;
}
.nas-marquee-eyebrow span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 16px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ink-700);
    letter-spacing: .18em;
    text-transform: uppercase;
    box-shadow: 0 2px 12px rgba(10,14,26,.04);
}
.nas-marquee-eyebrow span::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--nas-blue);
    box-shadow: 0 0 0 0 rgba(0,51,160,.6);
    animation: nas-pulse-ring 1.8s infinite;
}

.nas-marquee {
    position: relative;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    z-index: 1;
}
.nas-marquee + .nas-marquee { margin-top: 18px; }
.nas-marquee__track {
    display: flex;
    gap: 22px;
    width: max-content;
    animation: nas-marquee-h 60s linear infinite;
}
.nas-marquee--reverse .nas-marquee__track {
    animation: nas-marquee-h-rev 75s linear infinite;
}
.nas-marquee:hover .nas-marquee__track { animation-play-state: paused; }

.nas-marquee__tile {
    flex: 0 0 auto;
    width: 220px;
    height: 88px;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 12px 18px;
    box-shadow: 0 1px 0 rgba(10,14,26,.02);
    transition:
        transform .35s cubic-bezier(.22,.61,.36,1),
        box-shadow .35s,
        border-color .35s;
    position: relative;
    overflow: hidden;
}
.nas-marquee__tile::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0,51,160,.06), transparent 50%, rgba(214,41,57,.06));
    opacity: 0;
    transition: opacity .35s;
}
.nas-marquee__tile:hover {
    transform: translateY(-4px);
    border-color: var(--nas-blue-100);
    box-shadow: 0 18px 40px rgba(0,51,160,.12);
}
.nas-marquee__tile:hover::before { opacity: 1; }
.nas-marquee__tile img {
    max-width: 100%;
    max-height: 60px;
    width: auto;
    height: auto;
    filter: grayscale(85%) contrast(.95);
    opacity: .8;
    transition: filter .4s, opacity .4s;
    position: relative;
}
.nas-marquee__tile:hover img {
    filter: grayscale(0) contrast(1);
    opacity: 1;
}

/* ============================================================
   2) SCENARIOS V3 — 4×2 maximalist grid
   ============================================================ */
.nas-scenarios-wrap { position: relative; }
.nas-scenarios-wrap::before {
    content: '';
    position: absolute;
    inset: -20% -10% 60% -10%;
    background:
        radial-gradient(500px 300px at 20% 30%, rgba(0,51,160,.05), transparent 60%),
        radial-gradient(500px 300px at 80% 70%, rgba(214,41,57,.04), transparent 60%);
    pointer-events: none;
    z-index: 0;
}
.nas-scenarios {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    position: relative;
    z-index: 1;
}
@media (max-width: 1100px) { .nas-scenarios { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .nas-scenarios { grid-template-columns: 1fr; } }

.nas-scen {
    --c1: #0033a0;
    --c2: #1b4fb6;
    position: relative;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 28px 24px 26px;
    min-height: 230px;
    overflow: hidden;
    transition:
        transform .5s cubic-bezier(.22,.61,.36,1),
        box-shadow .5s,
        border-color .5s;
    cursor: pointer;
    transform-style: preserve-3d;
}
.nas-scen::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: conic-gradient(
        from var(--grad-angle),
        transparent 0deg,
        var(--c1) 90deg,
        var(--c2) 180deg,
        transparent 270deg
    );
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    opacity: 0;
    transition: opacity .4s;
    pointer-events: none;
}
.nas-scen::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(280px 140px at var(--mx, 50%) var(--my, 0%),
            color-mix(in srgb, var(--c1) 16%, transparent), transparent 70%);
    opacity: 0;
    transition: opacity .4s;
    pointer-events: none;
}
.nas-scen:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: 0 24px 60px rgba(0,51,160,.18);
}
.nas-scen:hover::before { opacity: 1; animation: nas-rotate-grad 6s linear infinite; }
.nas-scen:hover::after  { opacity: 1; }

.nas-scen__icon {
    width: 56px; height: 56px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--c1), var(--c2));
    color: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--c1) 28%, transparent);
    margin-bottom: 24px;
    position: relative;
    transition: transform .5s;
}
.nas-scen__icon::after {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: inherit;
    border: 1.5px dashed color-mix(in srgb, var(--c1) 35%, transparent);
    opacity: 0;
    transition: opacity .4s, transform .5s;
}
.nas-scen:hover .nas-scen__icon { transform: scale(1.06) rotate(-4deg); }
.nas-scen:hover .nas-scen__icon::after {
    opacity: 1;
    transform: rotate(45deg) scale(1.1);
}
.nas-scen__icon svg { width: 26px; height: 26px; }
.nas-scen__num {
    position: absolute;
    top: 22px; right: 22px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    color: color-mix(in srgb, var(--c1) 65%, var(--ink-400));
    letter-spacing: .12em;
    opacity: .7;
}
.nas-scen__title {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 800;
    color: var(--ink-900);
    margin: 0 0 10px;
    letter-spacing: -.015em;
    line-height: 1.2;
    position: relative;
    z-index: 1;
}
.nas-scen__desc {
    font-size: 14px;
    color: var(--ink-600);
    line-height: 1.55;
    margin: 0;
    position: relative;
    z-index: 1;
}
.nas-scen__arrow {
    position: absolute;
    bottom: 22px; right: 22px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--ink-100);
    color: var(--ink-600);
    display: grid;
    place-items: center;
    transform: translateX(-6px);
    opacity: 0;
    transition: all .4s;
    z-index: 1;
}
.nas-scen:hover .nas-scen__arrow {
    transform: translateX(0);
    opacity: 1;
    background: var(--c1);
    color: #fff;
}
.nas-scen__arrow::after {
    content: '→';
    font-size: 16px;
    font-weight: 700;
}

/* color variants */
.nas-scen--blue   { --c1: #0033a0; --c2: #2a66d0; }
.nas-scen--red    { --c1: #d62939; --c2: #e84656; }
.nas-scen--ink    { --c1: #161b2c; --c2: #303851; }
.nas-scen--sky    { --c1: #1789c8; --c2: #5b8bea; }
.nas-scen--violet { --c1: #5230a0; --c2: #7a4fd0; }

/* ============================================================
   3) FOUNDERS V3 — premium cards with orb + tilt
   ============================================================ */
.nas-founders {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    position: relative;
    perspective: 1400px;
}
@media (max-width: 980px) { .nas-founders { grid-template-columns: 1fr; } }

.nas-founder {
    --orb: rgba(0,51,160,.20);
    --accent: var(--nas-blue);
    position: relative;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,249,252,.98));
    border: 1px solid var(--border);
    border-radius: 28px;
    padding: 36px 32px 36px;
    overflow: hidden;
    transition: transform .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s;
    transform-style: preserve-3d;
    min-height: 340px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.nas-founder::before {
    content: '';
    position: absolute;
    top: -120px; right: -120px;
    width: 280px; height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--orb), transparent 65%);
    filter: blur(20px);
    transition: transform .8s ease, opacity .6s;
    z-index: 0;
}
.nas-founder::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(600px 200px at var(--mx,50%) var(--my,0%),
            color-mix(in srgb, var(--accent) 10%, transparent), transparent 60%);
    opacity: 0;
    transition: opacity .5s;
    pointer-events: none;
    z-index: 0;
}
.nas-founder:hover {
    transform: translateY(-8px) rotateX(2deg) rotateY(-2deg);
    box-shadow: 0 30px 70px rgba(0,51,160,.18);
}
.nas-founder:hover::before {
    transform: scale(1.25) translate(-10px, 10px);
}
.nas-founder:hover::after { opacity: 1; }

.nas-founder__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: color-mix(in srgb, var(--accent) 10%, transparent);
    color: var(--accent);
    border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    width: max-content;
    margin-bottom: 28px;
    position: relative;
    z-index: 1;
}
.nas-founder__badge::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 8px var(--accent);
    animation: nas-flicker-dot 2s infinite;
}

.nas-founder__num {
    position: absolute;
    top: 28px; right: 32px;
    font-family: var(--font-display);
    font-size: 88px;
    font-weight: 900;
    color: color-mix(in srgb, var(--accent) 10%, transparent);
    line-height: 1;
    letter-spacing: -.05em;
    z-index: 0;
    pointer-events: none;
}

.nas-founder h3 {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 800;
    color: var(--ink-900);
    margin: 0 0 16px;
    letter-spacing: -.02em;
    line-height: 1.2;
    position: relative;
    z-index: 1;
}
.nas-founder p {
    font-size: 15px;
    color: var(--ink-600);
    line-height: 1.65;
    margin: 0 0 24px;
    position: relative;
    z-index: 1;
}
.nas-founder__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    color: var(--ink-700);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-top: auto;
    position: relative;
    z-index: 1;
}
.nas-founder__tag svg { width: 14px; height: 14px; }

.nas-founder--blue   { --orb: rgba(0,51,160,.22);   --accent: #0033a0; }
.nas-founder--red    { --orb: rgba(214,41,57,.20);  --accent: #d62939; }
.nas-founder--violet { --orb: rgba(82,48,160,.20);  --accent: #5230a0; }

/* ============================================================
   4) PARTNERS GRID V3 — 12 real-logo tiles with tilt + glow
   ============================================================ */
.nas-partners {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    perspective: 1200px;
}
@media (max-width: 980px) { .nas-partners { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .nas-partners { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { .nas-partners { grid-template-columns: 1fr; } }

.nas-partner {
    position: relative;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 22px 20px;
    min-height: 120px;
    display: grid;
    place-items: center;
    overflow: hidden;
    transition:
        transform .5s cubic-bezier(.22,.61,.36,1),
        box-shadow .5s,
        border-color .5s;
    transform-style: preserve-3d;
    cursor: pointer;
}
.nas-partner::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(220px 120px at var(--mx,50%) var(--my,50%),
            rgba(0,51,160,.10), transparent 60%);
    opacity: 0;
    transition: opacity .4s;
    pointer-events: none;
}
.nas-partner::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1.5px solid transparent;
    background:
        linear-gradient(135deg,
            color-mix(in srgb, var(--nas-blue) 30%, transparent),
            transparent 30%,
            transparent 70%,
            color-mix(in srgb, var(--nas-red) 30%, transparent)) border-box;
    -webkit-mask:
        linear-gradient(#000 0 0) padding-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    opacity: 0;
    transition: opacity .4s;
    pointer-events: none;
}
.nas-partner:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 18px 50px rgba(0,51,160,.16);
    border-color: transparent;
}
.nas-partner:hover::before { opacity: 1; }
.nas-partner:hover::after  { opacity: 1; }
.nas-partner img {
    max-width: 100%;
    max-height: 90px;
    width: auto;
    height: auto;
    filter: grayscale(80%) contrast(.95);
    opacity: .82;
    transition: filter .45s, opacity .45s, transform .45s;
    position: relative;
    z-index: 1;
}
.nas-partner:hover img {
    filter: grayscale(0) contrast(1);
    opacity: 1;
    transform: scale(1.05);
}
.nas-partner__corner {
    position: absolute;
    top: 10px; right: 10px;
    width: 10px; height: 10px;
    opacity: 0;
    transition: opacity .4s;
    pointer-events: none;
}
.nas-partner__corner::before,
.nas-partner__corner::after {
    content: '';
    position: absolute;
    background: var(--nas-blue);
}
.nas-partner__corner::before { top: 0; right: 0; width: 10px; height: 2px; }
.nas-partner__corner::after  { top: 0; right: 0; width: 2px; height: 10px; }
.nas-partner:hover .nas-partner__corner { opacity: 1; }

/* ============================================================
   SECTION HEAD V3 — bold maximalist eyebrow + headline
   ============================================================ */
.nas-section-head {
    text-align: center;
    margin-bottom: 56px;
    position: relative;
}
.nas-section-head__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 18px;
    background: linear-gradient(135deg, rgba(0,51,160,.08), rgba(0,51,160,.02));
    color: var(--nas-blue);
    border: 1px solid rgba(0,51,160,.18);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 22px;
    position: relative;
    overflow: hidden;
}
.nas-section-head__eyebrow::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        transparent,
        rgba(0,51,160,.15),
        transparent);
    background-size: 200% 100%;
    animation: nas-shimmer 4s ease-in-out infinite;
}
.nas-section-head__eyebrow span { position: relative; z-index: 1; }
.nas-section-head__eyebrow::after {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--nas-red);
    box-shadow: 0 0 0 0 rgba(214,41,57,.5);
    animation: nas-pulse-ring 2s infinite;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
}
.nas-section-head h2 {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4.2vw, 3rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.05;
    margin: 0 0 18px;
    color: var(--ink-900);
}
.nas-section-head h2 .grad {
    background: linear-gradient(135deg, var(--nas-blue) 0%, #1b4fb6 50%, var(--nas-red) 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}
.nas-section-head p {
    font-size: 17px;
    color: var(--ink-600);
    line-height: 1.6;
    margin: 0 auto;
    max-width: 640px;
}

/* ============================================================
   ENTRANCE STAGGER — observed via .nas-reveal class
   ============================================================ */
.nas-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .8s cubic-bezier(.22,.61,.36,1),
        transform .8s cubic-bezier(.22,.61,.36,1);
}
.nas-reveal.in-view { opacity: 1; transform: translateY(0); }
.nas-reveal-d1.in-view { transition-delay: .05s; }
.nas-reveal-d2.in-view { transition-delay: .12s; }
.nas-reveal-d3.in-view { transition-delay: .19s; }
.nas-reveal-d4.in-view { transition-delay: .26s; }
.nas-reveal-d5.in-view { transition-delay: .33s; }
.nas-reveal-d6.in-view { transition-delay: .40s; }
.nas-reveal-d7.in-view { transition-delay: .47s; }
.nas-reveal-d8.in-view { transition-delay: .54s; }

@media (prefers-reduced-motion: reduce) {
    .nas-marquee__track,
    .nas-scen::before,
    .nas-marquee-wrap::before,
    .nas-marquee-wrap::after,
    .nas-section-head__eyebrow::before,
    .nas-section-head__eyebrow::after,
    .nas-founder__badge::before {
        animation: none !important;
    }
    .nas-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ============================================================
   5) SCROLL PROGRESS BAR — top of viewport, tricolor
   ============================================================ */
.nas-scroll-progress {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 3px;
    z-index: 9999;
    pointer-events: none;
    background: rgba(10,14,26,.06);
    overflow: hidden;
}
.nas-scroll-progress__bar {
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg,
        #ffffff 0%,
        #ffffff 14%,
        #0033a0 14%,
        #1b4fb6 50%,
        #d62939 86%,
        #d62939 100%);
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform .12s linear;
    box-shadow:
        0 0 12px rgba(0,51,160,.45),
        0 0 22px rgba(214,41,57,.25);
}

@supports (animation-timeline: scroll()) {
    @keyframes nas-progress-scale {
        from { transform: scaleX(0); }
        to   { transform: scaleX(1); }
    }
    .nas-scroll-progress__bar {
        animation: nas-progress-scale linear forwards;
        animation-timeline: scroll(root);
        transition: none;
    }
}

.nas-scroll-progress__glow {
    position: absolute;
    top: 0; right: 0;
    width: 80px;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    mix-blend-mode: screen;
    opacity: 0;
    animation: nas-shimmer 3s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .nas-scroll-progress { display: none; }
}

/* ============================================================
   6) CEO + LEADERSHIP — premium spotlight + team cards
   ============================================================ */
.nas-ceo-wrap { position: relative; overflow: hidden; }
.nas-ceo-wrap::before {
    content: '';
    position: absolute;
    inset: -10% 0 -10% 0;
    background:
        radial-gradient(720px 360px at 20% 30%, rgba(0,51,160,.10), transparent 60%),
        radial-gradient(720px 360px at 80% 70%, rgba(214,41,57,.08), transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.nas-ceo {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.05fr 1.4fr;
    gap: 32px;
    align-items: stretch;
    background:
        radial-gradient(120% 120% at 30% 10%,
            rgba(255,255,255,.96) 0%,
            rgba(248,249,252,.96) 60%,
            rgba(243,246,252,.96) 100%);
    border: 1px solid var(--border);
    border-radius: 32px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(10,14,26,.10);
    margin-bottom: 28px;
}
@media (max-width: 900px) { .nas-ceo { grid-template-columns: 1fr; } }

.nas-ceo__media {
    position: relative;
    min-height: 440px;
    background:
        radial-gradient(80% 80% at 50% 30%, #1b4fb6 0%, #0033a0 55%, #001a52 100%);
    overflow: hidden;
    color: #fff;
    padding: 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.nas-ceo__media::before {
    content: '';
    position: absolute;
    top: -40%; right: -30%;
    width: 80%; height: 100%;
    background: radial-gradient(closest-side, rgba(255,255,255,.18), transparent 70%);
    filter: blur(8px);
    pointer-events: none;
}
.nas-ceo__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(2px 2px at 10% 18%, rgba(255,255,255,.45), transparent 60%),
        radial-gradient(1.5px 1.5px at 70% 35%, rgba(255,255,255,.35), transparent 60%),
        radial-gradient(1.5px 1.5px at 30% 70%, rgba(255,255,255,.30), transparent 60%),
        radial-gradient(2px 2px at 85% 80%, rgba(255,255,255,.30), transparent 60%);
    animation: nas-drift 14s ease-in-out infinite;
    pointer-events: none;
}

.nas-ceo__status {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    width: max-content;
    position: relative;
    z-index: 1;
}
.nas-ceo__status::before {
    content: '';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #5dff9c;
    box-shadow: 0 0 0 0 rgba(93,255,156,.6);
    animation: nas-pulse-ring 1.8s infinite;
}

.nas-ceo__avatar-frame {
    position: relative;
    z-index: 1;
    align-self: center;
    width: 200px; height: 200px;
    border-radius: 50%;
    padding: 4px;
    background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,.3) 50%, #d62939 100%);
    box-shadow: 0 24px 60px rgba(0,0,0,.30);
}
.nas-ceo__avatar {
    width: 100%; height: 100%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 35%, #5b8bea, #0033a0 70%);
    display: grid;
    place-items: center;
    color: #fff;
    font-family: var(--font-display);
    font-size: 68px;
    font-weight: 800;
    letter-spacing: -.04em;
    overflow: hidden;
    position: relative;
}
.nas-ceo__avatar::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,.4), transparent 50%);
}
.nas-ceo__avatar span { position: relative; z-index: 1; }

.nas-ceo__meta-strip {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.75);
}
.nas-ceo__meta-strip strong {
    color: #fff;
    font-weight: 700;
}

.nas-ceo__body {
    padding: 44px 40px 40px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: relative;
}
.nas-ceo__role {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(0,51,160,.07);
    color: var(--nas-blue);
    border: 1px solid rgba(0,51,160,.18);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    width: max-content;
}
.nas-ceo__name {
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 2.8rem);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.05;
    color: var(--ink-900);
    margin: 0;
}
.nas-ceo__title {
    font-size: 17px;
    color: var(--ink-700);
    font-weight: 600;
    margin: 0;
}
.nas-ceo__quote {
    margin: 8px 0;
    padding: 20px 22px;
    background: rgba(0,51,160,.05);
    border-left: 4px solid var(--nas-red);
    border-radius: 0 14px 14px 0;
    font-style: italic;
    font-size: 16px;
    line-height: 1.55;
    color: var(--ink-800);
    position: relative;
}
.nas-ceo__quote::before {
    content: '"';
    position: absolute;
    top: -8px; left: 14px;
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 900;
    color: rgba(0,51,160,.15);
    line-height: 1;
}
.nas-ceo__bio {
    color: var(--ink-600);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}

.nas-ceo__skills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}
.nas-ceo__skill {
    padding: 6px 14px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ink-700);
    letter-spacing: .02em;
    transition: all .25s;
}
.nas-ceo__skill:hover {
    background: var(--nas-blue);
    color: #fff;
    border-color: var(--nas-blue);
    transform: translateY(-2px);
}

.nas-ceo__actions {
    display: flex;
    gap: 12px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.nas-ceo__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 22px;
    border-radius: 14px;
    font-weight: 600;
    font-size: 14px;
    transition: all .3s cubic-bezier(.22,.61,.36,1);
    border: 1px solid transparent;
    cursor: pointer;
}
.nas-ceo__btn--primary {
    background: linear-gradient(135deg, var(--nas-blue), #1b4fb6);
    color: #fff;
    box-shadow: 0 10px 28px rgba(0,51,160,.30);
}
.nas-ceo__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(0,51,160,.40);
}
.nas-ceo__btn--ghost {
    background: #fff;
    color: var(--ink-800);
    border-color: var(--border-strong);
}
.nas-ceo__btn--ghost:hover {
    border-color: var(--nas-blue);
    color: var(--nas-blue);
    transform: translateY(-2px);
}
.nas-ceo__btn svg { width: 16px; height: 16px; }

/* Leadership team strip */
.nas-leaders {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 8px;
}
@media (max-width: 980px) { .nas-leaders { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .nas-leaders { grid-template-columns: 1fr; } }

.nas-leader {
    position: relative;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 20px 18px;
    display: flex;
    gap: 14px;
    align-items: center;
    transition: all .4s cubic-bezier(.22,.61,.36,1);
    overflow: hidden;
}
.nas-leader::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(180px 100px at var(--mx,50%) var(--my,50%),
        rgba(0,51,160,.08), transparent 60%);
    opacity: 0;
    transition: opacity .35s;
    pointer-events: none;
}
.nas-leader:hover {
    transform: translateY(-4px);
    border-color: var(--nas-blue-100);
    box-shadow: 0 18px 40px rgba(0,51,160,.12);
}
.nas-leader:hover::before { opacity: 1; }
.nas-leader__avatar {
    width: 52px; height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--nas-blue), #1b4fb6);
    color: #fff;
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.02em;
    flex-shrink: 0;
    box-shadow: 0 8px 18px rgba(0,51,160,.25);
}
.nas-leader__avatar--red { background: linear-gradient(135deg, #d62939, #c01c2d); box-shadow: 0 8px 18px rgba(214,41,57,.25); }
.nas-leader__avatar--ink { background: linear-gradient(135deg, #161b2c, #303851); box-shadow: 0 8px 18px rgba(22,27,44,.25); }
.nas-leader__avatar--violet { background: linear-gradient(135deg, #5230a0, #7a4fd0); box-shadow: 0 8px 18px rgba(82,48,160,.25); }

.nas-leader__info { min-width: 0; }
.nas-leader__name {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 800;
    color: var(--ink-900);
    margin: 0 0 3px;
    letter-spacing: -.01em;
    line-height: 1.2;
}
.nas-leader__role {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ink-500);
    letter-spacing: .04em;
    margin: 0;
    text-transform: uppercase;
}

/* ============================================================
   7) FOOTER V3 — premium dark with newsletter + columns
   ============================================================ */
.nas-footer {
    position: relative;
    background:
        radial-gradient(80% 60% at 50% 0%, #001a52 0%, #04081a 60%, #04081a 100%);
    color: #e5e9f5;
    padding: 100px 0 32px;
    overflow: hidden;
    isolation: isolate;
}
.nas-footer::before,
.nas-footer::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}
.nas-footer::before {
    top: 10%; left: 18%;
    width: 360px; height: 360px;
    background: radial-gradient(circle, rgba(43,102,208,.40), transparent 70%);
    animation: nas-float-soft 10s ease-in-out infinite;
}
.nas-footer::after {
    bottom: 0; right: 8%;
    width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(214,41,57,.30), transparent 70%);
    animation: nas-float-soft 12s ease-in-out infinite reverse;
}

.nas-footer__inner {
    position: relative;
    z-index: 1;
}

/* Newsletter card */
.nas-footer__nl {
    background:
        linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 28px;
    padding: 44px 44px;
    margin-bottom: 64px;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 36px;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.nas-footer__nl::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(400px 200px at 100% 0%, rgba(43,102,208,.25), transparent 60%);
    pointer-events: none;
}
@media (max-width: 820px) { .nas-footer__nl { grid-template-columns: 1fr; padding: 32px; } }

.nas-footer__nl-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #b3c0e0;
    margin-bottom: 16px;
    width: max-content;
}
.nas-footer__nl-eyebrow::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #d62939;
    animation: nas-flicker-dot 2s infinite;
}
.nas-footer__nl h3 {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.6vw, 2rem);
    font-weight: 800;
    color: #fff;
    margin: 0 0 12px;
    letter-spacing: -.02em;
    line-height: 1.15;
}
.nas-footer__nl p {
    color: rgba(229,233,245,.7);
    line-height: 1.55;
    margin: 0 0 22px;
    font-size: 15px;
}
.nas-footer__nl-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.nas-footer__nl-input {
    flex: 1;
    min-width: 200px;
    padding: 14px 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 12px;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    transition: all .25s;
}
.nas-footer__nl-input::placeholder { color: rgba(255,255,255,.4); }
.nas-footer__nl-input:focus {
    outline: none;
    border-color: rgba(43,102,208,.7);
    background: rgba(255,255,255,.09);
    box-shadow: 0 0 0 4px rgba(43,102,208,.18);
}
.nas-footer__nl-btn {
    padding: 14px 22px;
    background: linear-gradient(135deg, #1b4fb6, #0033a0);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all .3s cubic-bezier(.22,.61,.36,1);
    box-shadow: 0 10px 28px rgba(43,102,208,.30);
    white-space: nowrap;
}
.nas-footer__nl-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(43,102,208,.45);
}

.nas-footer__nl-visual {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 30%, #1b4fb6, #001a52 70%);
    box-shadow:
        0 30px 60px rgba(0,0,0,.30),
        inset 0 0 0 1px rgba(255,255,255,.10);
}
.nas-footer__nl-visual::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.6), transparent 60%),
        radial-gradient(1.5px 1.5px at 70% 45%, rgba(255,255,255,.5), transparent 60%),
        radial-gradient(2px 2px at 50% 80%, rgba(255,255,255,.5), transparent 60%);
    animation: nas-drift 16s ease-in-out infinite;
}
.nas-footer__nl-visual-num {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #fff;
    text-align: center;
}
.nas-footer__nl-visual-num strong {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(3rem, 6vw, 5rem);
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: 1;
    background: linear-gradient(135deg, #fff 0%, #b3c0e0 50%, #fff 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}
.nas-footer__nl-visual-num span {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255,255,255,.6);
    margin-top: 10px;
    display: block;
}

/* Columns */
.nas-footer__cols {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 48px;
    margin-bottom: 56px;
}
@media (max-width: 980px) { .nas-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 36px; } }
@media (max-width: 540px) { .nas-footer__cols { grid-template-columns: 1fr; gap: 28px; } }

.nas-footer__brand-block { max-width: 360px; }
.nas-footer__logo-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}
.nas-footer__logo-row img { height: 52px; width: auto; }
.nas-footer__brand-sub {
    font-size: 12px;
    color: rgba(229,233,245,.6);
    line-height: 1.3;
    max-width: 180px;
    font-family: var(--font-mono);
    letter-spacing: .04em;
}
.nas-footer__about {
    color: rgba(229,233,245,.65);
    line-height: 1.65;
    font-size: 14px;
    margin: 0 0 22px;
}

.nas-footer__socials {
    display: flex;
    gap: 8px;
}
.nas-footer__social {
    width: 40px; height: 40px;
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    display: grid;
    place-items: center;
    color: rgba(229,233,245,.7);
    transition: all .25s cubic-bezier(.22,.61,.36,1);
}
.nas-footer__social:hover {
    background: linear-gradient(135deg, #1b4fb6, #0033a0);
    border-color: transparent;
    color: #fff;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 10px 24px rgba(43,102,208,.40);
}
.nas-footer__social svg { width: 18px; height: 18px; }

.nas-footer__col h4 {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 22px;
    letter-spacing: -.005em;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 14px;
}
.nas-footer__col h4::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 28px; height: 2px;
    background: linear-gradient(90deg, #d62939, transparent);
    border-radius: 2px;
}
.nas-footer__col ul {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.nas-footer__col a {
    color: rgba(229,233,245,.68);
    font-size: 14px;
    text-decoration: none;
    transition: all .2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.nas-footer__col a::before {
    content: '';
    width: 5px; height: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1b4fb6, #d62939);
    opacity: 0;
    transform: translateX(-8px);
    transition: all .25s cubic-bezier(.22,.61,.36,1);
}
.nas-footer__col a:hover {
    color: #fff;
}
.nas-footer__col a:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.nas-footer__col--contact a { gap: 10px; }
.nas-footer__col--contact a::before { display: none; }
.nas-footer__col--contact svg {
    width: 16px;
    height: 16px;
    color: #5b8bea;
    flex-shrink: 0;
}

/* Bottom giant brand wordmark */
.nas-footer__brand-xl {
    text-align: center;
    margin: 24px 0 32px;
    position: relative;
    overflow: hidden;
}
.nas-footer__brand-xl span {
    font-family: var(--font-display);
    font-size: clamp(4rem, 14vw, 12rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .9;
    background:
        linear-gradient(180deg,
            rgba(255,255,255,.10) 0%,
            rgba(255,255,255,.04) 60%,
            transparent 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    user-select: none;
}

.nas-footer__legal {
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 13px;
    color: rgba(229,233,245,.55);
}
.nas-footer__legal-links {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
}
.nas-footer__legal-links a {
    color: rgba(229,233,245,.55);
    transition: color .2s;
}
.nas-footer__legal-links a:hover { color: #fff; }

.nas-footer__tricolor {
    display: inline-flex;
    height: 4px;
    border-radius: 999px;
    overflow: hidden;
    box-shadow: 0 0 12px rgba(255,255,255,.15);
}
.nas-footer__tricolor span { display: block; width: 22px; height: 100%; }
.nas-footer__tricolor span:nth-child(1) { background: #fff; }
.nas-footer__tricolor span:nth-child(2) { background: #1b4fb6; }
.nas-footer__tricolor span:nth-child(3) { background: #d62939; }

/* ============================================================
   8) GOSUSLUGI-INSPIRED REFINEMENT LAYER
   Bright friendly blue · pill shapes · softer radii · airy
   Layered on top of existing maximalist look, not replacing it.
   ============================================================ */
:root {
    --gos-blue:        #0066ff;
    --gos-blue-600:    #0052cc;
    --gos-blue-100:    #e6f0ff;
    --gos-blue-50:     #f3f7ff;
    --gos-yellow:      #ffc83d;
    --gos-radius:      18px;
    --gos-radius-lg:   24px;
    --gos-radius-pill: 999px;
}

/* Eyebrow chip — softer, brighter, more "service portal" */
.nas-section-head__eyebrow {
    background: var(--gos-blue-50);
    color: var(--gos-blue);
    border-color: rgba(0, 102, 255, .18);
    padding: 8px 18px;
    font-weight: 700;
}
.nas-section-head__eyebrow::before {
    background: linear-gradient(90deg,
        transparent,
        rgba(0, 102, 255, .20),
        transparent);
}
.nas-section-head__eyebrow::after {
    background: var(--gos-blue);
    box-shadow: 0 0 0 0 rgba(0, 102, 255, .5);
}

/* Headline gradient — switch to fresher bright-blue → red */
.nas-section-head h2 .grad {
    background: linear-gradient(135deg, var(--gos-blue) 0%, var(--nas-blue) 50%, var(--nas-red) 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Marquee eyebrow chip — match */
.nas-marquee-eyebrow span {
    color: var(--gos-blue);
    background: var(--gos-blue-50);
    border-color: rgba(0, 102, 255, .15);
    padding: 8px 18px;
    font-weight: 700;
}
.nas-marquee-eyebrow span::before {
    background: var(--gos-blue);
    box-shadow: 0 0 0 0 rgba(0, 102, 255, .5);
}

/* Scenarios — softer radii, "service tile" feel */
.nas-scen {
    border-radius: var(--gos-radius-lg);
    background: #fff;
}
.nas-scen__icon {
    border-radius: 18px;
}
.nas-scen__num {
    padding: 4px 10px;
    border-radius: var(--gos-radius-pill);
    background: var(--gos-blue-50);
    color: var(--gos-blue);
    top: 18px; right: 18px;
    font-size: 10.5px;
    letter-spacing: .14em;
}
.nas-scen--blue { --c1: var(--gos-blue); --c2: var(--nas-blue); }
.nas-scen__arrow {
    width: 36px; height: 36px;
}
.nas-scen:hover .nas-scen__arrow {
    background: var(--gos-blue);
    box-shadow: 0 8px 18px rgba(0, 102, 255, .35);
}

/* Founders cards — bigger radius + softer */
.nas-founder {
    border-radius: 28px;
    background:
        linear-gradient(135deg, #fff, var(--gos-blue-50));
}
.nas-founder--blue { --orb: rgba(0, 102, 255, .22); --accent: var(--gos-blue); }
.nas-founder__badge {
    padding: 7px 16px;
    border-radius: var(--gos-radius-pill);
    font-weight: 800;
}

/* Partners tiles — softer, friendlier */
.nas-partner {
    border-radius: 20px;
}
.nas-partner::before {
    background:
        radial-gradient(220px 120px at var(--mx, 50%) var(--my, 50%),
            rgba(0, 102, 255, .10), transparent 60%);
}
.nas-partner::after {
    background:
        linear-gradient(135deg,
            color-mix(in srgb, var(--gos-blue) 35%, transparent),
            transparent 30%,
            transparent 70%,
            color-mix(in srgb, var(--nas-red) 30%, transparent)) border-box;
    -webkit-mask:
        linear-gradient(#000 0 0) padding-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
}

/* Marquee tiles — pill-ish, friendlier */
.nas-marquee__tile {
    border-radius: 16px;
}
.nas-marquee__tile:hover {
    border-color: rgba(0, 102, 255, .25);
    box-shadow: 0 18px 40px rgba(0, 102, 255, .14);
}

/* CEO card — soften, brighten, gosuslugi accents */
.nas-ceo { border-radius: 32px; }
.nas-ceo__media {
    background:
        radial-gradient(80% 80% at 50% 30%, var(--gos-blue) 0%, var(--nas-blue) 60%, #001a52 100%);
}
.nas-ceo__role {
    background: var(--gos-blue-50);
    color: var(--gos-blue);
    border-color: rgba(0, 102, 255, .25);
    padding: 7px 16px;
    border-radius: var(--gos-radius-pill);
    font-weight: 800;
}
.nas-ceo__quote {
    background: var(--gos-blue-50);
    border-left-color: var(--gos-blue);
}
.nas-ceo__quote::before { color: rgba(0, 102, 255, .18); }
.nas-ceo__skill {
    border-radius: var(--gos-radius-pill);
    padding: 7px 16px;
    font-weight: 700;
}
.nas-ceo__skill:hover {
    background: var(--gos-blue);
    border-color: var(--gos-blue);
    box-shadow: 0 8px 18px rgba(0, 102, 255, .30);
}
.nas-ceo__btn { border-radius: var(--gos-radius-pill); padding: 14px 24px; }
.nas-ceo__btn--primary {
    background: linear-gradient(135deg, var(--gos-blue), var(--nas-blue));
    box-shadow: 0 10px 28px rgba(0, 102, 255, .35);
}
.nas-ceo__btn--primary:hover {
    box-shadow: 0 18px 44px rgba(0, 102, 255, .50);
}
.nas-ceo__btn--ghost:hover {
    border-color: var(--gos-blue);
    color: var(--gos-blue);
}

/* Leadership cards */
.nas-leader { border-radius: 20px; }
.nas-leader__avatar {
    background: linear-gradient(135deg, var(--gos-blue), var(--nas-blue));
    box-shadow: 0 8px 18px rgba(0, 102, 255, .30);
}

/* Footer newsletter — pill button, soften */
.nas-footer__nl { border-radius: 32px; }
.nas-footer__nl-input { border-radius: var(--gos-radius-pill); padding: 14px 20px; }
.nas-footer__nl-btn {
    border-radius: var(--gos-radius-pill);
    background: linear-gradient(135deg, var(--gos-blue), var(--nas-blue));
    padding: 14px 26px;
    box-shadow: 0 10px 28px rgba(0, 102, 255, .35);
}
.nas-footer__nl-btn:hover {
    box-shadow: 0 18px 40px rgba(0, 102, 255, .50);
}
.nas-footer__social { border-radius: 14px; }
.nas-footer__social:hover {
    background: linear-gradient(135deg, var(--gos-blue), var(--nas-blue));
    box-shadow: 0 10px 24px rgba(0, 102, 255, .45);
}

/* Scroll progress bar — brighter blue dominant */
.nas-scroll-progress__bar {
    background: linear-gradient(90deg,
        #ffffff 0%,
        #ffffff 10%,
        var(--gos-blue) 10%,
        var(--gos-blue) 50%,
        var(--nas-blue) 75%,
        var(--nas-red) 100%);
    box-shadow:
        0 0 14px rgba(0, 102, 255, .50),
        0 0 24px rgba(214, 41, 57, .25);
}

/* Existing primary buttons in the original site — make them pill too */
.btn {
    border-radius: var(--gos-radius-pill);
}
.btn--lg { border-radius: var(--gos-radius-pill); }
.btn--sm { border-radius: var(--gos-radius-pill); }
.chip { border-radius: var(--gos-radius-pill); }

/* Existing hero "gradient-text" — switch to bright-blue blend */
.gradient-text {
    background: linear-gradient(135deg, var(--gos-blue) 0%, var(--nas-blue) 60%, var(--nas-red) 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ============================================================
   9) UNIFIED BACKGROUND — kill alternating "block" colors
   Every section flows on the same white surface; differentiation
   comes from cards, borders, shadows, and subtle radial gradients.
   ============================================================ */
body { background: #ffffff; }

.section,
.section--soft,
section.section {
    background: transparent;
}

/* Marquee — keep subtle gradient feel but blend into white */
.nas-marquee-wrap {
    background: transparent;
    border-top: none;
    border-bottom: none;
}
.nas-marquee-wrap::before,
.nas-marquee-wrap::after {
    /* keep drifting particles for visual interest */
}

/* Soft, optional radial accents between sections (replace block bg) */
.nas-spheres-wrap,
.section[id="directions"],
.section[id="leadership"] {
    position: relative;
    overflow: hidden;
}
.nas-spheres-wrap::before,
.section[id="directions"]::before {
    content: '';
    position: absolute;
    inset: -10% 0 -10% 0;
    background:
        radial-gradient(700px 320px at 15% 30%, rgba(0, 102, 255, .06), transparent 60%),
        radial-gradient(700px 320px at 85% 70%, rgba(214, 41, 57, .04), transparent 60%);
    pointer-events: none;
    z-index: 0;
}
.nas-spheres-wrap > .container,
.section[id="directions"] > .container {
    position: relative;
    z-index: 1;
}

/* Scenarios already had its own wrap — keep but soften */
.nas-scenarios-wrap::before {
    inset: -10% 0 -10% 0;
}

/* ============================================================
   10) SPHERES V3 — member-logo cards
   ============================================================ */
.nas-spheres {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    position: relative;
    z-index: 1;
    perspective: 1200px;
}
@media (max-width: 1200px) { .nas-spheres { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px)  { .nas-spheres { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px)  { .nas-spheres { grid-template-columns: 1fr; } }

.nas-sphere {
    --c1: var(--gos-blue);
    --c2: var(--nas-blue);
    position: relative;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--gos-radius-lg);
    padding: 24px 22px 22px;
    overflow: hidden;
    transition:
        transform .5s cubic-bezier(.22,.61,.36,1),
        box-shadow .5s,
        border-color .5s;
    transform-style: preserve-3d;
    display: flex;
    flex-direction: column;
}
.nas-sphere::before {
    /* top accent stripe */
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 56px; height: 4px;
    background: linear-gradient(90deg, var(--c1), var(--c2));
    border-radius: 0 0 4px 0;
}
.nas-sphere::after {
    /* mouse-tracked glow */
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(280px 160px at var(--mx,50%) var(--my,30%),
        color-mix(in srgb, var(--c1) 12%, transparent), transparent 60%);
    opacity: 0;
    transition: opacity .4s;
    pointer-events: none;
}
.nas-sphere:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: 0 24px 56px color-mix(in srgb, var(--c1) 18%, transparent);
}
.nas-sphere:hover::after { opacity: 1; }

.nas-sphere__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
    gap: 10px;
}
.nas-sphere__icon {
    width: 48px; height: 48px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--c1) 12%, transparent);
    color: var(--c1);
    display: grid;
    place-items: center;
    transition: transform .4s;
}
.nas-sphere:hover .nas-sphere__icon { transform: scale(1.06) rotate(-3deg); }
.nas-sphere__icon svg { width: 22px; height: 22px; }
.nas-sphere__count {
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 700;
    color: var(--c1);
    background: color-mix(in srgb, var(--c1) 9%, transparent);
    border: 1px solid color-mix(in srgb, var(--c1) 20%, transparent);
    padding: 5px 12px;
    border-radius: var(--gos-radius-pill);
    letter-spacing: .08em;
}
.nas-sphere__name {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 800;
    color: var(--ink-900);
    margin: 0 0 8px;
    letter-spacing: -.02em;
}
.nas-sphere__desc {
    font-size: 13.5px;
    color: var(--ink-600);
    line-height: 1.5;
    margin: 0 0 20px;
}

.nas-sphere__members {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: auto;
    position: relative;
    z-index: 1;
}
.nas-sphere__member {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 10px 12px;
    min-height: 56px;
    display: grid;
    place-items: center;
    transition: all .3s cubic-bezier(.22,.61,.36,1);
    overflow: hidden;
}
.nas-sphere__member img {
    max-width: 100%;
    max-height: 34px;
    width: auto;
    height: auto;
    filter: grayscale(70%) contrast(.95);
    opacity: .85;
    transition: filter .4s, opacity .4s, transform .4s;
}
.nas-sphere__member:hover {
    border-color: var(--c1);
    transform: translateY(-2px);
    background: #fff;
    box-shadow: 0 8px 20px color-mix(in srgb, var(--c1) 12%, transparent);
}
.nas-sphere__member:hover img {
    filter: grayscale(0) contrast(1);
    opacity: 1;
    transform: scale(1.04);
}

.nas-sphere__member--text {
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    color: var(--ink-700);
    text-align: center;
    line-height: 1.2;
    letter-spacing: -.005em;
    background: var(--gos-blue-50);
    border-color: rgba(0, 102, 255, .12);
}
.nas-sphere__member--text:hover {
    background: var(--c1);
    color: #fff;
    border-color: var(--c1);
}

/* sphere color variants */
.nas-sphere--sky    { --c1: var(--gos-blue);  --c2: #5b8bea; }
.nas-sphere--land   { --c1: #5e7186;          --c2: #303851; }
.nas-sphere--water  { --c1: #1789c8;          --c2: #5b8bea; }
.nas-sphere--space  { --c1: #5230a0;          --c2: #7a4fd0; }
.nas-sphere--ai     { --c1: var(--nas-red);   --c2: #e84656; }

/* Foreign participants row */
.nas-spheres__foreign {
    margin-top: 36px;
    padding: 22px 24px;
    background: #fff;
    border: 1px dashed var(--border-strong);
    border-radius: var(--gos-radius-lg);
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}
.nas-spheres__foreign-label {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 800;
    color: var(--gos-blue);
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
    padding: 5px 12px;
    background: var(--gos-blue-50);
    border-radius: var(--gos-radius-pill);
}
.nas-spheres__foreign-list {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    align-items: center;
    flex: 1;
}
.nas-spheres__foreign-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 14px 6px 6px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--gos-radius-pill);
    font-size: 13px;
    font-weight: 600;
    color: var(--ink-700);
    transition: all .3s;
}
.nas-spheres__foreign-item img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
}
.nas-spheres__foreign-item:hover {
    border-color: var(--gos-blue);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 102, 255, .12);
}
.nas-spheres__foreign-item--text {
    background: var(--gos-blue-50);
    border-color: rgba(0, 102, 255, .12);
    padding: 6px 14px;
}

/* ============================================================
   11) FOUNDER LOGO BLOCK
   ============================================================ */
.nas-founder__logo {
    width: 88px;
    height: 88px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--border);
    display: grid;
    place-items: center;
    padding: 12px;
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
    transition: all .4s cubic-bezier(.22,.61,.36,1);
    box-shadow: 0 6px 18px rgba(10, 14, 26, .04);
}
.nas-founder__logo img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.nas-founder:hover .nas-founder__logo {
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 14px 32px color-mix(in srgb, var(--accent) 22%, transparent);
    border-color: color-mix(in srgb, var(--accent) 35%, transparent);
}
.nas-founder__logo--text {
    background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 75%, #000));
    border-color: transparent;
    color: #fff;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -.04em;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 35%, transparent);
}
.nas-founder__logo--text span { color: #fff; }

/* ============================================================
   12) HEADER — make it blend with unified bg
   ============================================================ */
.site-header {
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(16px) saturate(1.2);
    -webkit-backdrop-filter: blur(16px) saturate(1.2);
}

/* ============================================================
   13) NEWS CARD with real photo
   ============================================================ */
.news-v2__cover--photo {
    background-size: cover !important;
    background-position: center;
    background-color: var(--ink-200);
    position: relative;
}
.news-v2__cover--photo::before {
    background-image: none;
    background: linear-gradient(180deg, transparent 40%, rgba(10,14,26,.45) 100%);
    opacity: 1;
}
.news-v2__cover--photo::after {
    display: none;
}
.news-v2--photo .news-v2__cover {
    background: var(--ink-200);
}

/* ============================================================
   14) CONTACTS HERO — cluster photo + Yandex map
   ============================================================ */
.nas-contacts-hero {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 20px;
    margin-bottom: 40px;
}
@media (max-width: 980px) {
    .nas-contacts-hero { grid-template-columns: 1fr; }
}

.nas-contacts-hero__cluster {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 16 / 11;
    border: 1px solid var(--border);
    box-shadow: 0 20px 50px rgba(10, 14, 26, .10);
    transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s;
}
.nas-contacts-hero__cluster:hover {
    transform: translateY(-4px);
    box-shadow: 0 30px 60px rgba(10, 14, 26, .15);
}
.nas-contacts-hero__cluster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .8s cubic-bezier(.22,.61,.36,1);
}
.nas-contacts-hero__cluster:hover img {
    transform: scale(1.04);
}
.nas-contacts-hero__cluster-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(10, 14, 26, .65) 100%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px 24px;
    pointer-events: none;
}
.nas-contacts-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, .92);
    color: var(--gos-blue);
    border-radius: var(--gos-radius-pill);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
    width: max-content;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}
.nas-contacts-hero__chip::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--gos-blue);
    box-shadow: 0 0 0 0 rgba(0, 102, 255, .5);
    animation: nas-pulse-ring 1.8s infinite;
}
.nas-contacts-hero__caption {
    color: #fff;
}
.nas-contacts-hero__caption strong {
    display: block;
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.015em;
    line-height: 1.15;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}
.nas-contacts-hero__caption span {
    display: block;
    font-size: 13px;
    margin-top: 4px;
    color: rgba(255, 255, 255, .82);
    text-shadow: 0 2px 8px rgba(0, 0, 0, .3);
}

.nas-contacts-hero__map {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 16 / 11;
    border: 1px solid var(--border);
    box-shadow: 0 20px 50px rgba(10, 14, 26, .10);
    background: #f0f4fa;
}
.nas-contacts-hero__map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
.nas-contacts-hero__map-open {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #fff;
    color: var(--gos-blue);
    border-radius: var(--gos-radius-pill);
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 6px 20px rgba(10, 14, 26, .15);
    transition: all .25s;
}
.nas-contacts-hero__map-open:hover {
    transform: translateY(-2px);
    background: var(--gos-blue);
    color: #fff;
    box-shadow: 0 10px 26px rgba(0, 102, 255, .35);
}
.nas-contacts-hero__map-open svg { width: 14px; height: 14px; }

/* ============================================================
   15) KINETIC TYPOGRAPHY (Remotion-style word reveal)
   ============================================================ */
@keyframes nas-kin-up {
    from { opacity: 0; transform: translateY(36px) rotate(-2deg); filter: blur(8px); }
    to   { opacity: 1; transform: translateY(0)    rotate(0);     filter: blur(0); }
}

.nas-section-head--left { text-align: left; max-width: none; margin-bottom: 48px; }
.nas-section-head--left h2 { margin-left: 0; }
.nas-section-head--left p { margin-left: 0; max-width: 640px; }

.nas-kinetic {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 5vw, 4rem);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.02;
    color: var(--ink-900);
    margin: 0;
}
.nas-kinetic [data-kin] {
    display: inline-block;
    opacity: 0;
    transform: translateY(36px) rotate(-2deg);
    filter: blur(8px);
    margin-right: .14em;
}
.nas-kinetic__sep {
    display: inline-block;
    color: var(--nas-red);
    margin: 0 .08em;
    transform: translateY(-.05em);
}
.nas-reveal.in-view .nas-kinetic [data-kin] {
    animation: nas-kin-up .9s cubic-bezier(.22,.61,.36,1) forwards;
}
.nas-reveal.in-view .nas-kinetic [data-kin]:nth-child(1) { animation-delay: .00s; }
.nas-reveal.in-view .nas-kinetic [data-kin]:nth-child(2) { animation-delay: .10s; }
.nas-reveal.in-view .nas-kinetic [data-kin]:nth-child(3) { animation-delay: .20s; }
.nas-reveal.in-view .nas-kinetic [data-kin]:nth-child(5) { animation-delay: .35s; }
.nas-reveal.in-view .nas-kinetic [data-kin]:nth-child(6) { animation-delay: .45s; }
.nas-reveal.in-view .nas-kinetic [data-kin]:nth-child(7) { animation-delay: .55s; }
.nas-reveal.in-view .nas-kinetic [data-kin]:nth-child(8) { animation-delay: .65s; }
.nas-reveal.in-view .nas-kinetic [data-kin]:nth-child(9) { animation-delay: .75s; }

/* ============================================================
   16) BENTO grid primitives
   ============================================================ */
.nas-bento {
    display: grid;
    gap: 16px;
    position: relative;
    z-index: 1;
}

.nas-bento--about {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto auto auto;
}
@media (max-width: 1100px) { .nas-bento--about { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .nas-bento--about { grid-template-columns: 1fr; } }

.nas-bento__cell {
    position: relative;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--gos-radius-lg);
    padding: 26px 26px 24px;
    overflow: hidden;
    transition:
        transform .5s cubic-bezier(.22,.61,.36,1),
        box-shadow .5s,
        border-color .5s;
}
.nas-bento__cell:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(0, 102, 255, .10);
}

.nas-bento__frame {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    background: var(--gos-blue-50);
    color: var(--gos-blue);
    border-radius: 6px;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 18px;
    width: max-content;
}
.nas-bento__frame::before {
    content: '';
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--nas-red);
    animation: nas-flicker-dot 1.8s infinite;
}
.nas-bento__frame--light {
    background: rgba(255, 255, 255, .12);
    color: #fff;
    backdrop-filter: blur(8px);
}

/* Quote cell — spans 2x2 */
.nas-bento__cell--quote {
    grid-column: span 2;
    grid-row: span 2;
    background:
        linear-gradient(135deg, #fff 0%, var(--gos-blue-50) 100%);
    display: flex;
    flex-direction: column;
    padding: 32px;
}
.nas-bento__quote {
    margin: 0 0 24px;
    padding: 0;
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
    font-weight: 600;
    line-height: 1.4;
    color: var(--ink-900);
    letter-spacing: -.012em;
    position: relative;
    flex: 1;
}
.nas-bento__quote-mark {
    position: absolute;
    top: -28px;
    left: -8px;
    font-size: 110px;
    line-height: 1;
    font-family: var(--font-display);
    font-weight: 900;
    color: rgba(0, 102, 255, .12);
    pointer-events: none;
}
.nas-bento__quote-author {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}
.nas-bento__quote-avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gos-blue), var(--nas-blue));
    color: #fff;
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    letter-spacing: -.02em;
    box-shadow: 0 6px 16px rgba(0, 102, 255, .25);
    flex-shrink: 0;
}
.nas-bento__quote-author strong {
    display: block;
    font-size: 15px;
    color: var(--ink-900);
    font-weight: 800;
}
.nas-bento__quote-author span {
    font-size: 12px;
    color: var(--ink-500);
    font-family: var(--font-mono);
    letter-spacing: .04em;
}

/* Stat cells */
.nas-bento__cell--stat {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 200px;
    transform-style: preserve-3d;
}
.nas-bento__num {
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 4.5vw, 4rem);
    font-weight: 900;
    color: var(--nas-blue);
    letter-spacing: -.05em;
    line-height: .9;
    margin-bottom: 10px;
    background: linear-gradient(135deg, var(--gos-blue), var(--nas-blue));
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}
.nas-bento__lbl {
    font-size: 13px;
    color: var(--ink-600);
    font-weight: 600;
    line-height: 1.3;
}
.nas-bento__cell--accent {
    background: linear-gradient(135deg, #fff, var(--gos-blue-50));
    border-color: rgba(0, 102, 255, .15);
}

/* Horizon banner — wide gradient */
.nas-bento__cell--horizon {
    grid-column: span 3;
    position: relative;
    padding: 36px 36px;
    color: #fff;
    background:
        radial-gradient(80% 100% at 30% 30%, var(--gos-blue) 0%, var(--nas-blue) 55%, #001a52 100%);
    border-color: transparent;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 28px;
    align-items: center;
}
@media (max-width: 900px) { .nas-bento__cell--horizon { grid-template-columns: 1fr; padding: 28px; } }

.nas-bento__horizon-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.nas-bento__horizon-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 40px 40px;
    mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.nas-bento__horizon-orb {
    position: absolute;
    top: -50%; right: -10%;
    width: 60%; height: 200%;
    background: radial-gradient(closest-side, rgba(255,255,255,.18), transparent 70%);
    filter: blur(6px);
    animation: nas-drift 16s ease-in-out infinite;
}
.nas-bento__horizon-content { position: relative; z-index: 1; }
.nas-bento__horizon-num {
    font-family: var(--font-display);
    font-size: clamp(4rem, 9vw, 7rem);
    font-weight: 900;
    letter-spacing: -.05em;
    line-height: .9;
    margin: 10px 0 12px;
    background: linear-gradient(135deg, #fff 0%, #b3c0e0 80%, #fff 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 60px rgba(255,255,255,.15);
}
.nas-bento__horizon-lbl {
    font-size: 15px;
    color: rgba(255,255,255,.78);
    line-height: 1.5;
    max-width: 480px;
}
.nas-bento__horizon-meta {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-left: 20px;
    border-left: 1px solid rgba(255,255,255,.18);
}
.nas-bento__horizon-meta > div {
    display: flex;
    flex-direction: column;
}
.nas-bento__horizon-meta strong {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -.02em;
}
.nas-bento__horizon-meta span {
    font-size: 12px;
    color: rgba(255,255,255,.6);
    font-family: var(--font-mono);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-top: 2px;
}

/* Text/context cell */
.nas-bento__cell--text {
    grid-column: span 4;
    padding: 30px 32px;
}
.nas-bento__lead {
    font-size: 17px;
    line-height: 1.5;
    color: var(--ink-900);
    margin: 0 0 16px;
    max-width: 760px;
    font-weight: 500;
}
.nas-bento__lead strong { color: var(--gos-blue); font-weight: 800; }
.nas-bento__body {
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink-600);
    margin: 0 0 22px;
    max-width: 760px;
}
.nas-bento__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nas-bento__chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    background: var(--gos-blue-50);
    color: var(--gos-blue);
    border: 1px solid rgba(0, 102, 255, .15);
    border-radius: var(--gos-radius-pill);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: -.005em;
    transition: all .25s;
}
.nas-bento__chip span {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--gos-blue);
}
.nas-bento__chip--red { background: var(--nas-red-50); color: var(--nas-red); border-color: rgba(214,41,57,.18); }
.nas-bento__chip--red span { background: var(--nas-red); }
.nas-bento__chip--ghost {
    background: transparent;
    color: var(--ink-600);
    border-color: var(--border-strong);
}
.nas-bento__chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0, 102, 255, .15);
}

/* ============================================================
   17) DIRECTIONS V3 — bento with featured 07
   ============================================================ */
.nas-dir-bento {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    position: relative;
    z-index: 1;
    grid-auto-flow: dense;
}
@media (max-width: 1100px) { .nas-dir-bento { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .nas-dir-bento { grid-template-columns: 1fr; } }

.nas-dir {
    position: relative;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--gos-radius-lg);
    padding: 24px 22px 22px;
    min-height: 220px;
    overflow: hidden;
    transition:
        transform .5s cubic-bezier(.22,.61,.36,1),
        box-shadow .5s,
        border-color .5s;
    transform-style: preserve-3d;
    cursor: pointer;
    display: flex;
    flex-direction: column;
}
.nas-dir:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 56px rgba(0, 102, 255, .15);
    border-color: rgba(0, 102, 255, .25);
}

.nas-dir__frame {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 9px;
    background: var(--gos-blue-50);
    color: var(--gos-blue);
    border-radius: 5px;
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    width: max-content;
    margin-bottom: 14px;
}
.nas-dir__frame::before {
    content: '';
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--nas-red);
    animation: nas-flicker-dot 2s infinite;
}

.nas-dir__num {
    font-family: var(--font-display);
    font-size: 56px;
    font-weight: 900;
    letter-spacing: -.05em;
    line-height: .9;
    color: var(--ink-200);
    margin-bottom: 8px;
    transition: color .4s;
}
.nas-dir:hover .nas-dir__num {
    background: linear-gradient(135deg, var(--gos-blue), var(--nas-blue));
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}

.nas-dir h3 {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 800;
    color: var(--ink-900);
    margin: 0 0 8px;
    letter-spacing: -.015em;
    line-height: 1.2;
}
.nas-dir p {
    font-size: 13.5px;
    color: var(--ink-600);
    line-height: 1.5;
    margin: 0;
    flex: 1;
}
.nas-dir__arrow {
    align-self: flex-end;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--ink-100);
    color: var(--ink-600);
    display: grid;
    place-items: center;
    margin-top: 16px;
    transform: translateX(-6px);
    opacity: .55;
    transition: all .4s cubic-bezier(.22,.61,.36,1);
}
.nas-dir__arrow svg { width: 16px; height: 16px; }
.nas-dir:hover .nas-dir__arrow {
    transform: translateX(0) rotate(-45deg);
    opacity: 1;
    background: var(--gos-blue);
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 102, 255, .35);
}

/* Featured 07 — 2x2 */
.nas-dir--feature {
    grid-column: span 2;
    grid-row: span 2;
    min-height: 460px;
    color: #fff;
    background:
        radial-gradient(80% 100% at 30% 30%, var(--gos-blue) 0%, var(--nas-blue) 55%, #001a52 100%);
    border-color: transparent;
    padding: 36px 34px 30px;
}
@media (max-width: 1100px) { .nas-dir--feature { grid-column: span 2; grid-row: auto; min-height: 380px; } }
@media (max-width: 560px) { .nas-dir--feature { grid-column: span 1; } }

.nas-dir__bg { position: absolute; inset: 0; pointer-events: none; }
.nas-dir__bg-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse at center, #000 35%, transparent 80%);
}
.nas-dir__bg-orb {
    position: absolute;
    bottom: -30%; right: -20%;
    width: 70%; height: 80%;
    background: radial-gradient(closest-side, rgba(255,255,255,.18), transparent 70%);
    filter: blur(6px);
    animation: nas-drift 14s ease-in-out infinite;
}

.nas-dir__num-xl {
    position: relative;
    z-index: 1;
    font-family: var(--font-display);
    font-size: clamp(5rem, 8vw, 7.5rem);
    font-weight: 900;
    letter-spacing: -.05em;
    line-height: .9;
    background: linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,.06));
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 14px;
}
.nas-dir--feature .nas-dir__title-xl {
    position: relative;
    z-index: 1;
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    font-weight: 800;
    color: #fff;
    margin: 14px 0 14px;
    letter-spacing: -.025em;
    line-height: 1.05;
}
.nas-dir--feature .nas-dir__desc-xl {
    position: relative;
    z-index: 1;
    font-size: 15px;
    color: rgba(255, 255, 255, .82);
    line-height: 1.55;
    margin: 0 0 22px;
    max-width: 80%;
}
.nas-dir--feature h3,
.nas-dir--feature p {
    color: inherit;
}
.nas-dir__feat-stats {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 24px;
    padding: 18px 0 0;
    border-top: 1px solid rgba(255,255,255,.18);
    flex-wrap: wrap;
}
.nas-dir__feat-stats > div { display: flex; flex-direction: column; gap: 2px; }
.nas-dir__feat-stats strong {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -.02em;
}
.nas-dir__feat-stats span {
    font-size: 11px;
    color: rgba(255,255,255,.6);
    font-family: var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.nas-dir__feat-arrow {
    position: absolute;
    bottom: 28px; right: 28px;
    z-index: 1;
    width: 48px; height: 48px;
    border-radius: 50%;
    background: #fff;
    color: var(--nas-blue);
    display: grid;
    place-items: center;
    transition: all .4s cubic-bezier(.22,.61,.36,1);
    box-shadow: 0 14px 30px rgba(0,0,0,.20);
}
.nas-dir__feat-arrow svg { width: 20px; height: 20px; }
.nas-dir--feature:hover .nas-dir__feat-arrow {
    transform: translate(4px, -4px) rotate(-45deg);
    box-shadow: 0 18px 40px rgba(255,255,255,.30);
}

@media (prefers-reduced-motion: reduce) {
    .nas-kinetic [data-kin] {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        animation: none !important;
    }
    .nas-bento__horizon-orb,
    .nas-dir__bg-orb,
    .nas-bento__frame::before,
    .nas-dir__frame::before {
        animation: none !important;
    }
}



