/* =====================================================
   ARK FORTUNE - Premium IT Consulting Website
   World-Class Design System v2.0
   Multi-Page Version
   ===================================================== */

/* CSS Variables */
:root {
    interpolate-size: allow-keywords;
    /* Primary Colors — ARK Fortune deep royal purple (var names kept for compatibility) */
    --primary-blue: #6D4AE6;        /* deep royal violet — the signature */
    --primary-blue-light: #8B6BF0;  /* lighter accent / hover */
    --primary-blue-dark: #5938C9;   /* deep pressed/active */
    --royal-blue: #4B2FA8;          /* deepest royal */

    /* Accent Colors */
    --gold: #f59e0b;
    --gold-light: #fbbf24;
    --gold-dark: #d97706;

    /* Neutral Colors */
    --navy-900: #0a0f1a;
    --navy-800: #0f172a;
    --navy-700: #1e293b;
    --navy-600: #334155;
    --slate-500: #64748b;
    --slate-400: #94a3b8;
    --slate-300: #cbd5e1;
    --slate-200: #e2e8f0;
    --white: #ffffff;

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #6D4AE6 0%, #8B6BF0 100%);
    --gradient-gold: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
    --gradient-dark: linear-gradient(180deg, #0a0f1a 0%, #1e293b 100%);
    --gradient-card: linear-gradient(145deg, rgba(30, 41, 59, 0.8) 0%, rgba(15, 23, 42, 0.95) 100%);
    --gradient-glow: radial-gradient(circle, rgba(109, 74, 230, 0.3) 0%, transparent 70%);

    /* Glass Effect */
    --glass-bg: var(--tint-05);
    --glass-border: var(--tint-10);
    --glass-blur: blur(20px);

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.2);
    --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.3);
    --shadow-glow: 0 0 40px rgba(109, 74, 230, 0.4);
    --shadow-gold: 0 0 30px rgba(245, 158, 11, 0.3);

    /* Typography — site-wide system: General Sans (display/headings) + Inter (body).
       General Sans = the geometric-humanist display font (Fontshare). Space Grotesk
       kept only as a fallback while General Sans loads. Single source of truth. */
    --font-secondary: 'Inter', sans-serif;
    --font-display: 'General Sans', 'Space Grotesk', sans-serif;

    /* Spacing */
    --section-padding: 100px;
    --container-padding: 24px;

    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
    --transition-elastic: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Theme surface tints — translucent white washes used throughout the dark UI
   (glass fills, hairline borders, highlight overlays). Each dark value is
   byte-identical to the literal it replaces, so dark mode renders unchanged.
   In light mode these flip to dark washes. Definitions are written WITHOUT
   internal spaces so the literal-replacement pass can't match them. */
:root {
    --tint-02: rgba(255,255,255,0.02);
    --tint-03: rgba(255,255,255,0.03);
    --tint-04: rgba(255,255,255,0.04);
    --tint-05: rgba(255,255,255,0.05);
    --tint-06: rgba(255,255,255,0.06);
    --tint-07: rgba(255,255,255,0.07);
    --tint-08: rgba(255,255,255,0.08);
    --tint-10: rgba(255,255,255,0.1);
    --tint-12: rgba(255,255,255,0.12);
    --tint-14: rgba(255,255,255,0.14);
    --tint-15: rgba(255,255,255,0.15);
    --tint-18: rgba(255,255,255,0.18);
    --tint-20: rgba(255,255,255,0.2);
    --tint-25: rgba(255,255,255,0.25);
    --tint-30: rgba(255,255,255,0.3);
    /* Text that always sits on a colored/accent fill — stays light in both themes */
    --on-accent: #ffffff;
    /* Mobile slide-out menu backdrop (frosted) */
    --nav-mobile-bg: rgba(10,15,26,0.6);
}

/* =====================================================
   LIGHT THEME  ([data-theme="light"] on <html>)
   Opt-in. Dark remains the default brand identity.
   Brand accents (blue / gold / purple) are intentionally
   unchanged across themes.
   ===================================================== */
[data-theme="light"] {
    /* Neutral ramp inverted */
    --navy-900: #f4f6fb;   /* page background */
    --navy-800: #ffffff;   /* card / panel background */
    --navy-700: #eef2f8;   /* raised surface, table headers */
    --navy-600: #e2e8f0;   /* hover surface, deepest */
    --slate-500: #64748b;  /* tertiary text */
    --slate-400: #475569;  /* secondary text */
    --slate-300: #1e293b;  /* primary body text */
    --slate-200: #334155;
    --white: #0f172a;      /* heading / display text */

    /* Gradients reworked for light surfaces */
    --gradient-dark: linear-gradient(180deg, #ffffff 0%, #eef2f8 100%);
    --gradient-card: linear-gradient(145deg, rgba(255,255,255,0.92) 0%, rgba(241,245,249,0.96) 100%);

    /* Glass → light frosted */
    --glass-bg: rgba(15,23,42,0.03);
    --glass-border: rgba(15,23,42,0.1);
    --nav-mobile-bg: rgba(244,246,251,0.82);

    /* Shadows → real elevation on light */
    --shadow-sm: 0 2px 8px rgba(15,23,42,0.06);
    --shadow-md: 0 4px 20px rgba(15,23,42,0.08);
    --shadow-lg: 0 8px 40px rgba(15,23,42,0.10);
    --shadow-xl: 0 20px 60px rgba(15,23,42,0.12);

    /* Surface tints flip white washes → dark washes */
    --tint-02: rgba(15,23,42,0.025);
    --tint-03: rgba(15,23,42,0.035);
    --tint-04: rgba(15,23,42,0.04);
    --tint-05: rgba(15,23,42,0.045);
    --tint-06: rgba(15,23,42,0.055);
    --tint-07: rgba(15,23,42,0.06);
    --tint-08: rgba(15,23,42,0.070);
    --tint-10: rgba(15,23,42,0.10);
    --tint-12: rgba(15,23,42,0.12);
    --tint-14: rgba(15,23,42,0.13);
    --tint-15: rgba(15,23,42,0.14);
    --tint-18: rgba(15,23,42,0.15);
    --tint-20: rgba(15,23,42,0.16);
    --tint-25: rgba(15,23,42,0.19);
    --tint-30: rgba(15,23,42,0.22);
}

/* Reset & Base */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    overflow-x: hidden;
}

body {
    font-family: var(--font-secondary);
    background: var(--navy-900);
    color: var(--slate-300);
    line-height: 1.6;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
}

input,
textarea,
select {
    font-family: inherit;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

/* =====================================================
   PRELOADER - IT CONSULTING THEME
   ===================================================== */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--navy-900);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10002;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

.preloader.hidden {
    opacity: 0;
    visibility: hidden;
}

/* Circuit Background */
.preloader-circuit {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.circuit-svg {
    width: 100%;
    height: 100%;
    opacity: 0.6;
}

.circuit-path {
    fill: none;
    stroke: rgba(109, 74, 230, 0.15);
    stroke-width: 1;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: drawCircuit 3s ease forwards;
}

.circuit-path.v {
    animation-delay: 0.5s;
}

@keyframes drawCircuit {
    to {
        stroke-dashoffset: 0;
    }
}

.circuit-nodes .node {
    fill: rgba(109, 74, 230, 0.3);
    animation: nodeGlow 2s ease-in-out infinite;
}

.circuit-nodes .node:nth-child(odd) {
    animation-delay: 0.5s;
}

.circuit-nodes .node:nth-child(3n) {
    animation-delay: 1s;
}

@keyframes nodeGlow {

    0%,
    100% {
        opacity: 0.3;
        r: 4;
    }

    50% {
        opacity: 1;
        r: 6;
    }
}

.data-pulses .pulse {
    fill: var(--primary-blue);
    filter: drop-shadow(0 0 8px var(--primary-blue));
}

/* Floating Tech Icons */
.preloader-icons {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.tech-icon {
    position: absolute;
    width: 50px;
    height: 50px;
    background: rgba(109, 74, 230, 0.1);
    border: 1px solid rgba(109, 74, 230, 0.2);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-blue);
    font-size: 1.2rem;
    animation: floatIcon 6s ease-in-out infinite;
}

.icon-1 {
    top: 15%;
    left: 10%;
    animation-delay: 0s;
}

.icon-2 {
    top: 20%;
    right: 15%;
    animation-delay: 1s;
}

.icon-3 {
    bottom: 25%;
    left: 8%;
    animation-delay: 2s;
}

.icon-4 {
    bottom: 20%;
    right: 12%;
    animation-delay: 0.5s;
}

.icon-5 {
    top: 50%;
    left: 5%;
    animation-delay: 1.5s;
}

.icon-6 {
    top: 45%;
    right: 8%;
    animation-delay: 2.5s;
}

@keyframes floatIcon {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
        opacity: 0.5;
    }

    50% {
        transform: translateY(-20px) rotate(5deg);
        opacity: 1;
    }
}

/* Main Content */
.preloader-content {
    position: relative;
    z-index: 10;
    text-align: center;
}

/* Code Brackets Animation */
.code-brackets {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 30px;
}

.bracket {
    font-family: 'Space Grotesk', monospace;
    font-size: 3rem;
    font-weight: 700;
    color: var(--primary-blue);
    text-shadow: 0 0 30px var(--primary-blue);
}

.bracket.left {
    animation: bracketLeft 2s ease-in-out infinite;
}

.bracket.slash {
    animation: bracketSlash 2s ease-in-out infinite;
    animation-delay: 0.3s;
}

.bracket.right {
    animation: bracketRight 2s ease-in-out infinite;
    animation-delay: 0.6s;
}

@keyframes bracketLeft {

    0%,
    100% {
        transform: translateX(0);
        opacity: 0.5;
    }

    50% {
        transform: translateX(-10px);
        opacity: 1;
    }
}

@keyframes bracketSlash {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.5;
    }

    50% {
        transform: scale(1.2);
        opacity: 1;
    }
}

@keyframes bracketRight {

    0%,
    100% {
        transform: translateX(0);
        opacity: 0.5;
    }

    50% {
        transform: translateX(10px);
        opacity: 1;
    }
}

.preloader-logo {
    font-family: var(--font-display);
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.preloader-logo .logo-ark {
    color: var(--white);
}

.preloader-logo .logo-fortune {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Tagline */
.preloader-tagline {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-bottom: 40px;
}

.tagline-text {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--slate-400);
    text-transform: uppercase;
    letter-spacing: 2px;
    animation: fadeInTag 1s ease forwards;
    opacity: 0;
}

.tagline-text:nth-child(1) {
    animation-delay: 0.5s;
}

.tagline-text:nth-child(3) {
    animation-delay: 0.7s;
}

.tagline-text:nth-child(5) {
    animation-delay: 0.9s;
}

@keyframes fadeInTag {
    to {
        opacity: 1;
    }
}

.tagline-divider {
    color: var(--primary-blue);
    font-size: 1.2rem;
}

.preloader-bar {
    width: 280px;
    height: 4px;
    background: var(--navy-700);
    border-radius: 2px;
    overflow: hidden;
    margin: 0 auto 20px;
    position: relative;
}

.preloader-bar::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(90deg,
            transparent,
            transparent 10px,
            var(--tint-03) 10px,
            var(--tint-03) 20px);
}

.preloader-progress {
    width: 0%;
    height: 100%;
    background: var(--gradient-primary);
    border-radius: 2px;
    animation: preloaderProgress 2.2s ease forwards;
    box-shadow: 0 0 20px var(--primary-blue);
}

@keyframes preloaderProgress {
    to {
        width: 100%;
    }
}

/* Status Text */
.preloader-status {
    height: 24px;
}

.status-text {
    color: var(--slate-400);
    font-size: 0.85rem;
    letter-spacing: 1px;
    font-family: 'Space Grotesk', monospace;
}


/* Navigation */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px 0;
    z-index: 1000;
    transition: all var(--transition-normal);
}

.navbar.scrolled {
    background: rgba(10, 15, 26, 0.95);
    backdrop-filter: var(--glass-blur);
    padding: 15px 0;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

[data-theme="light"] .navbar.scrolled {
    background: rgba(244, 246, 251, 0.9);
    box-shadow: 0 4px 30px rgba(15, 23, 42, 0.08);
}

.nav-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--container-padding);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-logo {
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 700;
    display: flex;
    gap: 8px;
}

.nav-logo .logo-ark {
    color: var(--white);
}

.nav-logo .logo-fortune {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.nav-menu {
    display: flex;
    align-items: center;
    gap: 40px;
}

.nav-link {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--slate-300);
    position: relative;
    padding: 8px 0;
    transition: color var(--transition-fast);
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gradient-primary);
    transition: width var(--transition-normal);
}

.nav-link:hover,
.nav-link.active {
    color: var(--white);
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

.nav-link.nav-cta {
    background: var(--gradient-primary);
    padding: 12px 24px;
    border-radius: 50px;
    color: var(--white);
    display: flex;
    align-items: center;
    gap: 8px;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.nav-link.nav-cta::after {
    display: none;
}

.nav-link.nav-cta:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}

.nav-toggle {
    display: none;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    cursor: pointer;
}

.nav-toggle span {
    width: 28px;
    height: 2px;
    background: var(--white);
    transition: all var(--transition-normal);
}

/* =====================================================
   THEME TOGGLE  (light / dark switch — ported & rethemed
   from the DME Reporting Tool; real <button role="switch">)
   ===================================================== */
.theme-toggle {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-left: 4px;
    padding-left: 24px;
    border-left: 1px solid var(--glass-border);
    background: none;
    line-height: 1;
}

.theme-toggle .theme-icon-sun,
.theme-toggle .theme-icon-moon {
    font-size: 13px;
    transition: color var(--transition-normal), opacity var(--transition-normal);
}

.theme-toggle .theme-icon-sun  { color: var(--slate-400); opacity: 0.45; }
.theme-toggle .theme-icon-moon { color: var(--white);     opacity: 1; }

[data-theme="light"] .theme-toggle .theme-icon-sun  { color: var(--white);     opacity: 1; }
[data-theme="light"] .theme-toggle .theme-icon-moon { color: var(--slate-400); opacity: 0.45; }

.theme-toggle .toggle-track {
    position: relative;
    width: 44px;
    height: 24px;
    border-radius: 50px;
    background: var(--tint-10);
    border: 1px solid var(--glass-border);
    transition: background var(--transition-normal), border-color var(--transition-normal);
    flex-shrink: 0;
}

.theme-toggle .toggle-thumb {
    position: absolute;
    top: 50%;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--gradient-primary);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    /* Dark (default): thumb sits right, under the moon */
    transform: translateY(-50%) translateX(20px);
    transition: transform var(--transition-elastic), background var(--transition-normal);
}

[data-theme="light"] .theme-toggle .toggle-thumb {
    /* Light: thumb sits left, under the sun — single brand accent in both themes */
    transform: translateY(-50%) translateX(0);
    background: var(--gradient-primary);
}

.theme-toggle:hover .toggle-track { border-color: var(--tint-20); }

.theme-toggle:focus-visible {
    outline: 2px solid var(--primary-blue-light);
    outline-offset: 3px;
    border-radius: 6px;
}

/* FOUC guard: head script adds .no-transition on <html> before first paint,
   JS removes it after two frames — so the initial theme application never animates. */
.no-transition,
.no-transition * {
    transition: none !important;
}

/* =====================================================
   CINEMATIC HOMEPAGE SYSTEM  (BridgeAgent-inspired)
   Pure near-black canvas · one accent · massive air.
   Light theme is a deliberate soft, eye-soothing variant.
   ===================================================== */
:root {
    --font-hero: var(--font-display);  /* unified — hero headings now match all other headings (Space Grotesk) */
    --cine-bg: #0A0912;           /* near-black with faint royal-purple depth (not void-black) */
    --cine-bg-soft: #0E0C1A;
    --cine-hairline: rgba(255, 255, 255, 0.09);
    --cine-line: rgba(255, 255, 255, 0.07);
    --cine-muted: #8B8597;
    --cine-accent-glow: rgba(109, 74, 230, 0.20);
    --cine-node: #4A4458;
    --cine-node-lit: #8B6BF0;
    --cine-headline-bright: rgb(245, 247, 252);  /* two-tone hero: bright key words */
    --cine-headline-soft: rgb(168, 178, 200);    /* two-tone hero: muted connective words */
}
[data-theme="light"] {
    --cine-bg: #f3f5fb;           /* soft cool near-white — no harsh glare */
    --cine-bg-soft: #e9edf6;
    --cine-hairline: rgba(15, 23, 42, 0.10);
    --cine-line: rgba(15, 23, 42, 0.08);
    --cine-muted: #5a6678;
    --cine-accent-glow: rgba(91, 56, 201, 0.14);
    --cine-node: #94a3b8;
    --cine-node-lit: #5938C9;
    --cine-headline-bright: #11192c;             /* two-tone hero: bright key words (dark on light) */
    --cine-headline-soft: #5a6678;               /* two-tone hero: muted connective words */
}

/* Homepage canvas */
body.home-cine { background: var(--cine-bg); }

/* Scroll-progress bar (pinned top) */
.cine-progress {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 2px;
    z-index: 10001;
    background: transparent;
    pointer-events: none;
}
.cine-progress span {
    display: block;
    height: 100%;
    width: 0;
    background: var(--gradient-primary);
    box-shadow: 0 0 12px rgba(109, 74, 230, 0.6);
    transition: width 0.1s linear;
}

/* ---- Hero ---- */
.cine-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--cine-bg);
    padding: 134px 0 96px;   /* lifted so the proof-stats row clears the fold */
}
.cine-hero-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.cine-glow {
    position: absolute;
    top: -12%; right: -6%;
    width: 60vw; height: 60vw;
    max-width: 780px; max-height: 780px;
    background: radial-gradient(circle, var(--cine-accent-glow) 0%, transparent 62%);
    filter: blur(30px);
}
/* Flowing premium surface — organic rolling-wave field (nixtio-style) */
.cine-hero-field {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    display: block;
    opacity: 0.85;
}
[data-theme="light"] .cine-hero-field { opacity: 0.5; }

.cine-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

/* Centered hero composition — content stacked + centred, background symmetric */
.cine-hero .cine-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.cine-hero .cine-eyebrow { margin-left: auto; margin-right: auto; }
.cine-hero .cine-hero-title { max-width: 19ch; margin-left: auto; margin-right: auto; }
.cine-hero .cine-hero-sub { margin-left: auto; margin-right: auto; }
.cine-hero .cine-cta-group { justify-content: center; }
.cine-hero .cine-proof { justify-content: center; margin-left: auto; margin-right: auto; }
/* Luminous accent verbs — the creative lift */
.cine-hero .cine-accent { filter: drop-shadow(0 0 26px rgba(109, 74, 230, 0.35)); }
/* Glow sits behind the convergence point, up top where the streams originate */
.cine-hero .cine-glow {
    top: -6%; left: 50%; right: auto;
    transform: translateX(-50%);
    width: 70vw; max-width: 840px; height: 50vw; max-height: 620px;
}
/* Whisper-faint tech grid — structural depth without competing with the streams */
.cine-hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.015) 1px, transparent 0),
        linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 0);
    background-size: 84px 84px;
    pointer-events: none;
}
/* Vignette — pull focus to center like ViewCreator */
.cine-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(80% 70% at 50% 45%, transparent 0%, rgba(7,10,17,0.42) 100%);
    pointer-events: none;
    z-index: 0;
}

.cine-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-family: var(--font-secondary);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--cine-muted);
    margin-bottom: 38px;
}
.cine-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--primary-blue-light);
    box-shadow: 0 0 10px var(--primary-blue-light);
    animation: cinePulse 2.4s ease infinite;
}
@keyframes cinePulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.45; transform: scale(0.8); } }

.cine-hero-title {
    font-family: var(--font-hero);
    font-size: clamp(2.85rem, 7vw, 6.25rem);   /* bigger, commands the frame like the reference heroes */
    font-weight: 700;                          /* General Sans BOLD — heroic, not a polite medium */
    line-height: 0.97;                         /* lines packed tight (Vibe-Coding-for-Builders energy) */
    letter-spacing: -0.035em;                  /* heavy negative tracking — dense, confident, premium */
    color: var(--cine-headline-soft);          /* two-tone: connective words sit a touch muted */
    margin-bottom: 34px;
    /* Soft white glow — lifts the type off the animated field */
    text-shadow:
        rgba(255, 255, 255, 0.08) 0px 0px 40px,
        rgba(255, 255, 255, 0.03) 0px 0px 90px;
}
/* Each clause owns its own line — verbs align under "We", no mid-phrase wrapping */
.cine-hero-line {
    display: block;
    /* "Vibe Coding for Builders" metallic: each line shimmers bright-white (top of
       the letters) → silver-grey (bottom). The purple .cine-accent verbs override
       this with their own gradient, so only the non-accent words get the chrome. */
    background: linear-gradient(180deg, #ffffff 0%, #e2e6ef 28%, #9aa3ba 74%, #7d869f 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
/* Light theme: keep the safe flat tone (white→grey chrome would vanish on white) */
[data-theme="light"] .cine-hero-line {
    background: none;
    -webkit-text-fill-color: var(--cine-headline-soft);
    color: var(--cine-headline-soft);
}
/* Two-tone hero: the WHOLE clause sits muted (We / the / the noun), and ONLY the
   purple verb pops — like the reference's grey bulk + bright key words. */
.cine-hero-key {
    color: var(--cine-headline-soft);
}
.cine-accent {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    /* Accent glow replaces white glow on the colored words */
    filter: drop-shadow(0 0 32px rgba(109, 74, 230, 0.45));
}

/* --- Hero verb typewriter (build / staff / deliver), scoped to the hero only --- */
.cine-hero-title .tw-word { position: relative; }
.cine-hero-title .tw-char { opacity: 0; transition: opacity 0.14s ease; }
.cine-hero-title .tw-char.in { opacity: 1; }
.cine-hero-title .tw-caret {
    position: absolute;
    top: 0.17em;
    left: 0;
    width: 0.055em;
    height: 0.78em;
    border-radius: 1px;
    background: var(--primary-blue-light);
    box-shadow: 0 0 9px rgba(139, 107, 240, 0.9);
    opacity: 0;
    transition: left 0.06s linear, opacity 0.28s ease;
    pointer-events: none;
}
.cine-hero-title .tw-caret.on { opacity: 1; }
.cine-hero-title .tw-caret.blink { animation: twBlink 1.05s steps(1) infinite; }
.cine-hero-title .tw-caret.off { opacity: 0; animation: none; }
@keyframes twBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    .cine-hero-title .tw-char { opacity: 1; transition: none; }
}

/* Heroic display face on all the big punchy titles */
.cine-section-title,
.cine-feat-title,
.cine-cta-title {
    font-family: var(--font-hero);
    font-weight: 600;
}

.cine-hero-sub {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--slate-400);
    max-width: 50ch;
    margin-bottom: 40px;
}

.cine-cta-group {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 30px;   /* tightened to bring the stats row up into view */
}
/* Frosted-glass pill buttons — smoked glass, top sheen, buttery eased hover.
   --btn-ease is a slow ease-out-expo so motion glides in and settles, never snaps. */
.cine-btn {
    --btn-ease: cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 13px 24px;
    border-radius: 50px;
    font-family: var(--font-secondary);
    font-weight: 600;
    font-size: 0.97rem;
    -webkit-backdrop-filter: blur(14px) saturate(1.4);
    backdrop-filter: blur(14px) saturate(1.4);
    transition: transform 0.5s var(--btn-ease),
                box-shadow 0.5s var(--btn-ease),
                border-color 0.5s var(--btn-ease),
                background 0.5s var(--btn-ease);
}
/* PRIMARY — frosted purple glass: brand-forward fill + bright top edge + soft glow + icon badge */
.cine-btn-primary {
    color: #ffffff;
    background: linear-gradient(180deg, rgba(139, 107, 240, 0.92) 0%, rgba(109, 74, 230, 0.88) 100%);
    border: 1px solid rgba(167, 139, 250, 0.55);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.38),
        0 8px 30px rgba(109, 74, 230, 0.38);
}
.cine-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.48),
        0 16px 46px rgba(109, 74, 230, 0.55);
}
/* arrow tucked into its own circular badge (like the reference's download chip) */
.cine-btn-primary i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    margin: -3px -8px -3px 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    font-size: 0.74rem;
    transition: background 0.5s var(--btn-ease), transform 0.5s var(--btn-ease);
}
.cine-btn-primary:hover i { background: rgba(255, 255, 255, 0.34); transform: translateX(3px); }
/* GHOST — frosted neutral glass pill (the reference's translucent secondary chips) */
.cine-btn-ghost {
    color: var(--white);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
}
.cine-btn-ghost:hover {
    transform: translateY(-3px);
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.26);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 10px 30px rgba(0, 0, 0, 0.30);
}

.cine-proof {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    max-width: 640px;
    padding-top: 30px;
    border-top: 1px solid var(--cine-hairline);
    font-size: 0.85rem;
    color: var(--cine-muted);
}
.cine-proof strong { color: var(--white); font-weight: 700; }
.cine-proof-sep { opacity: 0.4; }

.cine-scroll-cue {
    position: absolute;
    bottom: 34px; left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: 0.64rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--cine-muted);
    z-index: 1;
}
.cine-scroll-line {
    width: 1px; height: 38px;
    background: linear-gradient(var(--cine-muted), transparent);
    animation: cineScrollPulse 2.2s ease-in-out infinite;
}
@keyframes cineScrollPulse { 0%, 100% { opacity: 0.4; transform: scaleY(0.7); transform-origin: top; } 50% { opacity: 1; transform: scaleY(1); } }

@media (max-width: 768px) {
    .cine-hero { padding: 130px 0 90px; min-height: 92vh; }
    .cine-constellation { opacity: 0.3; right: -20%; width: 80vw; }
    .cine-hero-sub { font-size: 1rem; }
    .cine-scroll-cue { display: none; }
}

/* ---- Manifesto (scroll read-along) ---- */
.cine-manifesto {
    position: relative;
    background: var(--cine-bg);
    padding: 150px 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.cine-ring {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: min(660px, 84vw);
    aspect-ratio: 1;
    border: 1px solid var(--cine-hairline);
    border-radius: 50%;
    opacity: 0.55;
}
.cine-manifesto-inner {
    position: relative;
    z-index: 1;
    max-width: 680px;
    padding: 0 var(--container-padding);
    text-align: center;
}
.cine-manifesto-text,
.cine-mani-accent {
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 2.5vw, 2.05rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.012em;
}
.cine-manifesto-text .w {
    color: var(--cine-muted);
    opacity: 0.4;
    transition: opacity 0.35s ease, color 0.35s ease;
}
.cine-manifesto-text .w.lit { color: var(--white); opacity: 1; }
.cine-mani-accent {
    display: block;
    margin-top: 0.5em;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ---- Stat moments ---- */
.cine-stats { background: var(--cine-bg); padding: 70px 0 110px; }
.cine-stat-head { display: flex; justify-content: center; margin-bottom: 58px; }
.cine-orbit {
    position: relative;
    width: min(440px, 86vw);
    aspect-ratio: 1;
    margin: 0 auto 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cine-orbit-ring { position: absolute; inset: 0; border: 1px solid var(--cine-hairline); border-radius: 50%; }
.cine-orbit-ring::after { content: ''; position: absolute; inset: 15%; border: 1px solid var(--cine-line); border-radius: 50%; }
.cine-orbit-icon {
    position: absolute;
    top: 50%; left: 50%;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    background: var(--cine-bg-soft);
    border: 1px solid var(--cine-hairline);
    border-radius: 12px;
    color: var(--slate-400);
    font-size: 14px;
    animation: cineTwinkle 4.5s ease-in-out infinite;
}
.o1 { transform: translate(-50%,-50%) rotate(0deg)   translateY(calc(var(--orbit-r) * -1)) rotate(0deg); }
.o2 { transform: translate(-50%,-50%) rotate(60deg)  translateY(calc(var(--orbit-r) * -1)) rotate(-60deg); animation-delay: .8s; }
.o3 { transform: translate(-50%,-50%) rotate(120deg) translateY(calc(var(--orbit-r) * -1)) rotate(-120deg); animation-delay: 1.6s; }
.o4 { transform: translate(-50%,-50%) rotate(180deg) translateY(calc(var(--orbit-r) * -1)) rotate(-180deg); animation-delay: 2.2s; }
.o5 { transform: translate(-50%,-50%) rotate(240deg) translateY(calc(var(--orbit-r) * -1)) rotate(-240deg); animation-delay: 1.1s; }
.o6 { transform: translate(-50%,-50%) rotate(300deg) translateY(calc(var(--orbit-r) * -1)) rotate(-300deg); animation-delay: 3s; }
.o2, .o4, .o6 { color: var(--primary-blue-light); border-color: rgba(109, 74, 230, 0.30); }
.cine-orbit-center { position: relative; z-index: 1; text-align: center; }
.cine-bignum {
    font-family: var(--font-display);
    font-size: clamp(3.4rem, 9vw, 6rem);
    font-weight: 800; line-height: 1; letter-spacing: -0.04em;
    color: var(--white);
}
.cine-bignum .suffix { background: var(--gradient-primary); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cine-bignum-cap { margin-top: 12px; font-size: 0.92rem; color: var(--cine-muted); letter-spacing: 0.04em; }

.cine-stat-row {
    display: flex; justify-content: center; flex-wrap: wrap;
    gap: clamp(30px, 7vw, 100px);
    max-width: 1000px; margin: 0 auto; padding: 0 var(--container-padding);
}
.cine-stat-out { text-align: center; }
.cine-outnum {
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 6vw, 4.6rem);
    font-weight: 800; line-height: 1; letter-spacing: -0.03em;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--slate-500);
}
.cine-outnum .suffix { -webkit-text-stroke: 1.5px var(--primary-blue-light); }
.cine-stat-out p { margin-top: 16px; font-size: 0.9rem; color: var(--cine-muted); letter-spacing: 0.02em; }

@media (max-width: 600px) {
    .cine-orbit-icon { width: 36px; height: 36px; font-size: 12px; }
}

/* ---- Capability feature beats ---- */
.cine-features { background: var(--cine-bg); padding: 30px 0 70px; }
.cine-feat-head {
    max-width: 1180px;
    margin: 0 auto 70px;
    padding: 0 var(--container-padding);
}
.cine-section-title {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.025em;
    color: var(--white);
    margin-top: 18px;
}

.cine-feat {
    max-width: 1180px;
    margin: 0 auto;
    padding: 72px var(--container-padding);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 100px);
    align-items: center;
    border-top: 1px solid var(--cine-hairline);
}
.cine-feat:first-of-type { border-top: none; }
.cine-feat-reverse .cine-feat-text { order: 2; }
.cine-feat-reverse .cine-feat-visual { order: 1; }

.cine-feat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px; height: 48px;
    border-radius: 13px;
    background: rgba(109, 74, 230, 0.12);
    border: 1px solid rgba(109, 74, 230, 0.26);
    color: var(--primary-blue-light);
    font-size: 18px;
    margin-bottom: 24px;
}
.cine-feat-title {
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--white);
    margin-bottom: 16px;
}
.cine-feat-sub {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--slate-400);
    max-width: 46ch;
    margin-bottom: 26px;
}
.cine-feat-list { display: flex; flex-direction: column; gap: 13px; }
.cine-feat-list li {
    position: relative;
    padding-left: 26px;
    font-size: 0.95rem;
    color: var(--slate-300);
}
.cine-feat-list li::before {
    content: '';
    position: absolute;
    left: 0; top: 0.62em;
    width: 13px; height: 1px;
    background: var(--primary-blue-light);
}

/* Generative diagrams */
.cine-feat-visual { display: flex; justify-content: center; }
.cine-diagram { width: 100%; max-width: 440px; height: auto; }
.cine-diagram .diag-lines path {
    stroke: var(--cine-line);
    stroke-width: 1.5;
    stroke-dasharray: 3 7;
    animation: diagFlow 2.6s linear infinite;
}
@keyframes diagFlow { to { stroke-dashoffset: -20; } }
.cine-diagram .diag-nodes circle { fill: var(--cine-node); }
.cine-diagram .diag-nodes circle.n-lit {
    fill: var(--cine-node-lit);
    animation: cineTwinkle 3s ease-in-out infinite;
}
.cine-diagram .diag-nodes circle.n-root {
    fill: var(--primary-blue-light);
    filter: drop-shadow(0 0 8px rgba(109, 74, 230, 0.6));
}
.cine-diagram .diag-bars rect { fill: var(--cine-line); }
.cine-diagram .diag-bars rect.b-lit { fill: rgba(109, 74, 230, 0.5); }
.cine-diagram .diag-trend {
    stroke: var(--primary-blue-light);
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 6px rgba(109, 74, 230, 0.5));
}
/* Peak data-point — glowing core + expanding halo + soft glow ring */
.cine-diagram .diag-peak-grp { transform-box: fill-box; }
.cine-diagram .diag-peak-glow {
    fill: none;
    stroke: #8B6BF0;
    stroke-width: 1.25;
    opacity: 0;
    transform-origin: 240px 196px;
    animation: peakRipple 2.6s cubic-bezier(0.16, 0.8, 0.3, 1) infinite;
}
.cine-diagram .diag-peak-halo {
    fill: rgba(96, 165, 250, 0.18);
    transform-origin: 240px 196px;
    animation: peakHalo 2.6s ease-in-out infinite;
}
.cine-diagram .diag-peak-core {
    fill: #B49BF5;
    filter: drop-shadow(0 0 5px rgba(139, 107, 240, 0.9));
    transform-origin: 240px 196px;
    animation: peakCore 2.6s ease-in-out infinite;
}
@keyframes peakRipple {
    0%   { opacity: 0.85; transform: scale(0.4); }
    70%  { opacity: 0;    transform: scale(2.6); }
    100% { opacity: 0;    transform: scale(2.6); }
}
@keyframes peakHalo {
    0%, 100% { opacity: 0.5;  transform: scale(0.85); }
    50%      { opacity: 0.95; transform: scale(1.25); }
}
@keyframes peakCore {
    0%, 100% { transform: scale(0.92); }
    50%      { transform: scale(1.12); }
}

/* Code-editor window (BUILD capability) */
.cine-diagram .diag-win {
    fill: rgba(255, 255, 255, 0.018);
    stroke: var(--cine-hairline);
    stroke-width: 1.5;
}
.cine-diagram .diag-bar { stroke: var(--cine-hairline); stroke-width: 1.5; }
.cine-diagram .diag-dot { fill: var(--cine-node); }
.cine-diagram .diag-tab { fill: var(--cine-line); }
.cine-diagram .diag-num rect { fill: var(--cine-node); opacity: 0.55; }
.cine-diagram .diag-code { fill: var(--cine-line); }
.cine-diagram .diag-code.lit { fill: var(--cine-node-lit); }
.cine-diagram .diag-caret {
    fill: var(--primary-blue-light);
    filter: drop-shadow(0 0 5px rgba(109, 74, 230, 0.6));
    animation: caretBlink 1.1s steps(1) infinite;
}
@keyframes caretBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

/* Legible source code (BUILD capability) */
.cine-diagram .diag-tab-label {
    font: 600 9px/1 'Inter', sans-serif;
    fill: var(--cine-node-lit);
    text-anchor: middle;
    letter-spacing: 0.02em;
}
.cine-diagram .diag-ln {
    font: 11px/1 'SFMono-Regular', 'JetBrains Mono', ui-monospace, monospace;
    fill: var(--cine-node);
    opacity: 0.55;
    text-anchor: middle;
}
.cine-diagram .diag-src {
    font: 12px/1 'SFMono-Regular', 'JetBrains Mono', ui-monospace, monospace;
    fill: var(--slate-300);
    letter-spacing: -0.01em;
}
.cine-diagram .diag-src .kw   { fill: #c084fc; }   /* keyword — violet */
.cine-diagram .diag-src .fn   { fill: var(--cine-node-lit); }  /* function — blue */
.cine-diagram .diag-src .var  { fill: #5eead4; }   /* variable — teal */
.cine-diagram .diag-src .str  { fill: #fbbf24; }   /* string — amber */
.cine-diagram .diag-src.diag-comment { fill: var(--cine-muted); font-style: italic; }
.cine-diagram .diag-caret-t {
    fill: var(--primary-blue-light);
    animation: caretBlink 1.1s steps(1) infinite;
}

/* Talent-match cards (STAFF capability) */
.cine-diagram .diag-win.matched {
    fill: rgba(109, 74, 230, 0.06);
    stroke: rgba(109, 74, 230, 0.4);
}
.cine-diagram .diag-avatar { fill: var(--cine-line); }
.cine-diagram .diag-avatar.lit {
    fill: var(--cine-node-lit);
    filter: drop-shadow(0 0 6px rgba(109, 74, 230, 0.45));
}
.cine-diagram .diag-badge { fill: var(--cine-line); opacity: 0.7; }
.cine-diagram .diag-check-ring {
    fill: rgba(109, 74, 230, 0.14);
    stroke: var(--primary-blue-light);
    stroke-width: 1.5;
}
.cine-diagram .diag-check-mark {
    stroke: var(--primary-blue-light);
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}
.cine-diagram .diag-check { animation: cinePulse 2.4s ease infinite; transform-origin: 320px 160px; }
/* Legible candidate cards (STAFF capability) */
.cine-diagram .diag-avatar-init {
    font: 600 11px/1 'Inter', sans-serif;
    fill: var(--cine-muted);
    text-anchor: middle;
}
.cine-diagram .diag-avatar-init.lit { fill: var(--cine-node-lit); }
.cine-diagram .diag-name {
    font: 600 13px/1 'Inter', sans-serif;
    fill: var(--slate-300);
}
.cine-diagram .diag-name.lit { fill: #fff; }
.cine-diagram .diag-meta {
    font: 10.5px/1 'Inter', sans-serif;
    fill: var(--cine-muted);
}
.cine-diagram .diag-badge-txt {
    font: 600 10px/1 'Inter', sans-serif;
    fill: var(--cine-node-lit);
    text-anchor: middle;
}

/* BI dashboard card (DELIVER capability) */
.cine-diagram .diag-kpi {
    fill: rgba(255, 255, 255, 0.022);
    stroke: var(--cine-hairline);
    stroke-width: 1.5;
}
.cine-diagram .diag-chart-bars rect { fill: var(--cine-line); }
.cine-diagram .diag-chart-bars rect.lit { fill: rgba(109, 74, 230, 0.5); }
.cine-diagram .diag-dash-title {
    font: 600 12px/1 'Inter', sans-serif;
    fill: var(--slate-300);
}
.cine-diagram .diag-live {
    font: 600 9px/1 'Inter', sans-serif;
    fill: var(--cine-muted);
    text-anchor: end;
    letter-spacing: 0.04em;
}
/* Live status — radar ripple: expanding signal rings + steady glowing core */
.cine-diagram .diag-live-ring {
    fill: none;
    stroke: #34d399;
    stroke-width: 1.25;
    opacity: 0;
    transform-origin: 330px 63px;
    animation: liveRipple 2.4s cubic-bezier(0.16, 0.8, 0.3, 1) infinite;
}
.cine-diagram .diag-live-ring.delay { animation-delay: 1.2s; }
.cine-diagram .diag-live-core {
    fill: #34d399;
    filter: drop-shadow(0 0 4px rgba(52, 211, 153, 0.85));
    transform-origin: 330px 63px;
    animation: liveCore 2.4s ease-in-out infinite;
}
@keyframes liveRipple {
    0%   { opacity: 0.8; transform: scale(0.5); }
    75%  { opacity: 0;   transform: scale(2.8); }
    100% { opacity: 0;   transform: scale(2.8); }
}
@keyframes liveCore {
    0%, 100% { transform: scale(0.9);  opacity: 0.85; }
    50%      { transform: scale(1.08); opacity: 1; }
}

/* Respect reduced-motion — hold a calm steady state */
@media (prefers-reduced-motion: reduce) {
    .cine-diagram .diag-live-ring,
    .cine-diagram .diag-peak-glow { animation: none; opacity: 0; }
    .cine-diagram .diag-live-core,
    .cine-diagram .diag-peak-core,
    .cine-diagram .diag-peak-halo { animation: none; }
}
.cine-diagram .diag-kpi-val {
    font: 700 17px/1 'Inter', sans-serif;
    fill: #fff;
}
.cine-diagram .diag-kpi-val.up { fill: var(--cine-node-lit); }
.cine-diagram .diag-kpi-lbl {
    font: 9.5px/1 'Inter', sans-serif;
    fill: var(--cine-muted);
}
.cine-diagram .diag-chart-title {
    font: 9.5px/1 'Inter', sans-serif;
    fill: var(--cine-muted);
}

@media (max-width: 860px) {
    .cine-feat {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 52px var(--container-padding);
    }
    .cine-feat-reverse .cine-feat-text { order: 1; }
    .cine-feat-reverse .cine-feat-visual { order: 2; }
    .cine-diagram { max-width: 340px; }
}

/* ---- Industries marquee ---- */
.cine-marquee-sec { background: var(--cine-bg); padding: 46px 0 34px; border-top: 1px solid var(--cine-hairline); }
.cine-marquee-label { text-align: center; font-size: 0.7rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--cine-muted); margin-bottom: 26px; }
.cine-marquee {
    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);
}
.cine-marquee-track {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    white-space: nowrap;
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.6vw, 2.1rem);
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--slate-500);
    animation: cineMarquee 45s linear infinite;
}
.cine-marquee:hover .cine-marquee-track { animation-play-state: paused; }
.cine-marquee-track .sep { color: var(--primary-blue-light); opacity: 0.5; font-weight: 400; }
.cine-marquee-track .lit { color: var(--white); }
@keyframes cineMarquee { to { transform: translateX(-50%); } }

/* ---- Founder quote ---- */
.cine-quote-sec { background: var(--cine-bg); padding: 120px var(--container-padding); text-align: center; }
.cine-quote-sec .cine-eyebrow { margin-bottom: 36px; }
.cine-quote {
    max-width: 880px;
    margin: 0 auto 40px;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: -0.015em;
    color: var(--white);
}
.cine-quote .cine-accent { display: inline; }
.cine-quote-author { display: inline-flex; align-items: center; gap: 14px; }
.cine-quote-avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--gradient-primary);
    color: #fff; font-weight: 700; font-size: 0.9rem;
}
.cine-quote-meta { font-size: 0.92rem; color: var(--cine-muted); }
.cine-quote-meta strong { color: var(--white); font-weight: 700; }

/* ---- Closing CTA ---- */
.cine-cta {
    position: relative;
    background: var(--cine-bg);
    padding: 130px var(--container-padding) 150px;
    text-align: center;
    overflow: hidden;
}
.cine-cta-glow {
    position: absolute;
    bottom: -40%; left: 50%;
    transform: translateX(-50%);
    width: 80vw; max-width: 900px; height: 600px;
    background: radial-gradient(ellipse at center, var(--cine-accent-glow) 0%, transparent 62%);
    filter: blur(40px);
    pointer-events: none;
}
.cine-cta-title {
    position: relative; z-index: 1;
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 6vw, 4.6rem);
    font-weight: 700; line-height: 1.08; letter-spacing: -0.03em;
    color: var(--white);
    margin-bottom: 24px;
}
.cine-cta-sub {
    position: relative; z-index: 1;
    max-width: 48ch; margin: 0 auto 40px;
    font-size: 1.05rem; line-height: 1.65; color: var(--slate-400);
}
.cine-cta-buttons {
    position: relative; z-index: 1;
    display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
}

@media (prefers-reduced-motion: reduce) {
    .cine-net-nodes circle, .cine-dot, .cine-scroll-line,
    .cine-diagram .diag-lines path, .cine-diagram .diag-nodes circle,
    .cine-diagram .diag-peak, .cine-diagram .diag-caret, .cine-diagram .diag-check,
    .cine-orbit-icon, .cine-marquee-track { animation: none; }
}

/* =====================================================
   PREMIUM HERO SECTION
   ===================================================== */
.hero {
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 120px 0 80px;
}

/* Hero Background */
.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-gradient-mesh {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 50% at 20% 40%, rgba(109, 74, 230, 0.2) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 80% 20%, rgba(124, 58, 237, 0.2) 0%, transparent 50%),
        radial-gradient(ellipse 50% 30% at 60% 80%, rgba(124, 92, 230, 0.15) 0%, transparent 50%),
        linear-gradient(180deg, var(--navy-900) 0%, var(--navy-800) 100%);
}

.hero-grid-pattern {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(var(--tint-03) 1px, transparent 1px),
        linear-gradient(90deg, var(--tint-03) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 70% 50% at 50% 50%, black 20%, transparent 70%);
}

/* Floating 3D Shapes */
.hero-shapes {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.shape {
    position: absolute;
    animation: floatShape 20s ease-in-out infinite;
}

.shape-inner {
    width: 100%;
    height: 100%;
    border: 2px solid rgba(109, 74, 230, 0.2);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(109, 74, 230, 0.05) 0%, transparent 50%);
    backdrop-filter: blur(5px);
}

.shape-1 {
    width: 120px;
    height: 120px;
    top: 15%;
    left: 10%;
    animation-delay: 0s;
}

.shape-1 .shape-inner {
    transform: rotate(45deg);
}

.shape-2 {
    width: 80px;
    height: 80px;
    top: 25%;
    right: 15%;
    animation-delay: 5s;
}

.shape-2 .shape-inner {
    border-radius: 50%;
}

.shape-3 {
    width: 100px;
    height: 100px;
    bottom: 30%;
    left: 5%;
    animation-delay: 10s;
}

.shape-3 .shape-inner {
    transform: rotate(30deg);
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
}

.shape-4 {
    width: 60px;
    height: 60px;
    bottom: 20%;
    right: 10%;
    animation-delay: 15s;
}

@keyframes floatShape {

    0%,
    100% {
        transform: translate(0, 0) rotate(0deg);
    }

    25% {
        transform: translate(20px, -30px) rotate(5deg);
    }

    50% {
        transform: translate(-10px, 20px) rotate(-5deg);
    }

    75% {
        transform: translate(15px, 10px) rotate(3deg);
    }
}

/* Glowing Orbs */
.hero-orbs {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.hero-orbs .orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    animation: orbPulse 8s ease-in-out infinite;
}

.orb-primary {
    width: 500px;
    height: 500px;
    background: rgba(109, 74, 230, 0.15);
    top: -10%;
    left: -5%;
    animation-delay: 0s;
}

.orb-secondary {
    width: 400px;
    height: 400px;
    background: rgba(124, 58, 237, 0.12);
    top: 50%;
    right: -10%;
    animation-delay: 3s;
}

.orb-accent {
    width: 300px;
    height: 300px;
    background: rgba(245, 158, 11, 0.08);
    bottom: 0;
    left: 30%;
    animation-delay: 6s;
}

@keyframes orbPulse {

    0%,
    100% {
        opacity: 0.5;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.15);
    }
}

/* Light Rays */
.hero-rays {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.ray {
    position: absolute;
    top: 0;
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, transparent, rgba(109, 74, 230, 0.1), transparent);
    animation: rayMove 15s linear infinite;
}

.ray-1 {
    left: 20%;
    animation-delay: 0s;
}

.ray-2 {
    left: 50%;
    animation-delay: 5s;
}

.ray-3 {
    left: 80%;
    animation-delay: 10s;
}

@keyframes rayMove {
    0% {
        transform: translateX(-100px) skewX(-15deg);
        opacity: 0;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        transform: translateX(100px) skewX(-15deg);
        opacity: 0;
    }
}

/* Hero Noise Texture */
.hero-noise {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.03;
    pointer-events: none;
}

/* Hero Particles */
.hero-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: var(--primary-blue);
    border-radius: 50%;
    opacity: 0.6;
    animation: particleFloat 15s linear infinite;
}

@keyframes particleFloat {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }

    10% {
        opacity: 0.6;
    }

    90% {
        opacity: 0.6;
    }

    100% {
        transform: translateY(-100vh) rotate(720deg);
        opacity: 0;
    }
}

/* Hero Container */
.hero-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--container-padding);
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(48px, 5vw, 96px);
    align-items: center;
    position: relative;
    z-index: 1;
}

/* Hero Content — vertically self-centred as one block so it never floats
   with dead space above/below against the taller pillar stack. */
.hero-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* Trust Bar */
.hero-trust-bar {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    animation: fadeInUp 0.8s ease forwards;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.trust-icon {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, rgba(109, 74, 230, 0.2) 0%, rgba(124, 58, 237, 0.2) 100%);
    border: 1px solid rgba(109, 74, 230, 0.3);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.trust-icon i {
    font-size: 0.9rem;
    color: var(--primary-blue-light);
}

.trust-item span {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--slate-300);
}

.trust-divider {
    width: 1px;
    height: 24px;
    background: linear-gradient(to bottom, transparent, var(--slate-600), transparent);
}

/* Hero Headline */
.hero-headline {
    margin-bottom: clamp(28px, 3vw, 40px);
    animation: fadeInUp 0.8s ease 0.2s forwards;
    opacity: 0;
}

.headline-prefix {
    display: block;
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--primary-blue-light);
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 15px;
}

.headline-main {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1.1;
    color: var(--white);
}

.word-line {
    display: block;
}

.word {
    display: inline-block;
}

.gradient-text {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Hero Description */
.hero-description {
    font-size: clamp(1.02rem, 1.15vw, 1.15rem);
    color: var(--slate-400);
    line-height: 1.65;
    margin-bottom: clamp(30px, 3.2vw, 40px);
    max-width: 50ch;
    animation: fadeInUp 0.8s ease 0.4s forwards;
    opacity: 0;
}

.hero-description strong {
    color: var(--white);
    font-weight: 600;
}

/* Hero CTA Group */
.hero-cta-group {
    display: flex;
    gap: 16px;
    margin-bottom: clamp(8px, 1.5vw, 16px);
    animation: fadeInUp 0.8s ease 0.6s forwards;
    opacity: 0;
}

/* Hero Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 50px;
    transition: all var(--transition-normal);
    position: relative;
    overflow: hidden;
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--tint-20), transparent);
    transition: left 0.5s ease;
}

.btn:hover::before {
    left: 100%;
}

.btn-primary {
    background: var(--gradient-primary);
    color: var(--white);
    box-shadow: 0 4px 20px rgba(109, 74, 230, 0.3);
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(109, 74, 230, 0.5);
}

.btn-hero-primary {
    background: var(--gradient-primary);
    color: var(--white);
    padding: 18px 36px;
    font-size: 1.05rem;
    position: relative;
}

.btn-hero-primary .btn-glow {
    position: absolute;
    inset: -3px;
    background: var(--gradient-primary);
    border-radius: 50px;
    z-index: -1;
    filter: blur(15px);
    opacity: 0;
    transition: opacity var(--transition-normal);
}

.btn-hero-primary:hover {
    transform: translateY(-3px);
}

.btn-hero-primary:hover .btn-glow {
    opacity: 0.5;
}

.btn-hero-secondary {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    color: var(--white);
    backdrop-filter: var(--glass-blur);
    padding: 18px 36px;
}

.btn-hero-secondary:hover {
    background: var(--tint-10);
    border-color: var(--tint-20);
    transform: translateY(-3px);
}

.btn-secondary {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    color: var(--white);
    backdrop-filter: var(--glass-blur);
}

.btn-secondary:hover {
    background: var(--tint-10);
    border-color: var(--tint-20);
    transform: translateY(-3px);
}

.btn-light {
    background: var(--white);
    color: var(--navy-800);
}

.btn-light:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px var(--tint-20);
}

.btn-white {
    background: var(--white);
    color: var(--navy-800);
}

.btn-white:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px var(--tint-30);
}

.btn-outline-white {
    border: 2px solid var(--tint-30);
    color: var(--white);
    background: transparent;
}

.btn-outline-white:hover {
    background: var(--tint-10);
    border-color: var(--white);
    transform: translateY(-3px);
}

/* Hero Stats Row */
.hero-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    animation: fadeInUp 0.8s ease 0.8s forwards;
    opacity: 0;
}

.hero-stat {
    text-align: left;
}

.stat-value {
    display: flex;
    align-items: baseline;
    margin-bottom: 8px;
}

.stat-number {
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--white);
}

/* Word-based stat (e.g. "Nationwide") — scales the display font down so the
   word fits the narrow stat column while matching the numeric stats' style. */
.stat-number.stat-text {
    font-size: 1.6rem;
    line-height: 1.2;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.stat-plus {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-left: 4px;
}

.stat-label {
    font-size: 0.85rem;
    color: var(--slate-400);
    margin-bottom: 10px;
}

.stat-bar {
    height: 4px;
    background: var(--navy-700);
    border-radius: 2px;
    overflow: hidden;
}

.stat-bar-fill {
    height: 100%;
    background: var(--gradient-primary);
    border-radius: 2px;
    animation: statBarFill 2s ease forwards;
    transform-origin: left;
}

@keyframes statBarFill {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

/* Hero Visual */
.hero-visual {
    position: relative;
    animation: fadeInRight 1s ease 0.5s forwards;
    opacity: 0;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.hero-card-stack {
    position: relative;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}

/* Main Feature Card */
.hero-feature-card {
    position: relative;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    overflow: hidden;
    transition: all var(--transition-normal);
}

.hero-feature-card.main-card {
    padding: 40px;
}

.hero-feature-card .card-glow {
    position: absolute;
    inset: -2px;
    background: var(--gradient-primary);
    border-radius: 26px;
    opacity: 0;
    z-index: -1;
    filter: blur(20px);
    transition: opacity var(--transition-normal);
}

.hero-feature-card:hover .card-glow {
    opacity: 0.4;
}

.hero-feature-card .card-border {
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(109, 74, 230, 0.5), transparent, rgba(124, 58, 237, 0.3));
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: xor;
    -webkit-mask-composite: xor;
    pointer-events: none;
}

.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.card-icon {
    width: 60px;
    height: 60px;
    background: var(--gradient-primary);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-glow);
}

.card-icon i {
    font-size: 1.5rem;
    color: var(--white);
}

.card-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(34, 197, 94, 0.2);
    border: 1px solid rgba(34, 197, 94, 0.3);
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #22c55e;
    text-transform: uppercase;
}

.card-badge::before {
    content: '';
    width: 8px;
    height: 8px;
    background: #22c55e;
    border-radius: 50%;
    animation: pulse 2s ease infinite;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.hero-feature-card.main-card h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--white);
    margin-bottom: 12px;
}

.hero-feature-card.main-card p {
    color: var(--slate-400);
    margin-bottom: 25px;
}

.card-metrics {
    display: flex;
    gap: 30px;
}

.metric {
    text-align: left;
}

.metric-value {
    display: block;
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary-blue-light);
}

.metric-label {
    font-size: 0.8rem;
    color: var(--slate-500);
}

/* Floating Cards */
.float-card {
    position: absolute;
    padding: 16px 20px;
    animation: floatCard 6s ease-in-out infinite;
}

.float-1 {
    top: -30px;
    right: 20px;
    animation-delay: 0s;
}

.float-2 {
    bottom: 40%;
    left: -40px;
    animation-delay: 2s;
}

.float-3 {
    bottom: -20px;
    right: 40px;
    animation-delay: 4s;
}

@keyframes floatCard {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

.card-mini-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.card-mini-content i {
    font-size: 1.2rem;
    color: var(--primary-blue-light);
}

.card-mini-content span {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--white);
}

/* Hero Decorations */
.hero-deco {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.deco-ring {
    position: absolute;
    border: 1px dashed rgba(109, 74, 230, 0.2);
    border-radius: 50%;
}

.ring-1 {
    width: 400px;
    height: 400px;
    top: -200px;
    left: -200px;
    animation: spinSlow 40s linear infinite;
}

.ring-2 {
    width: 500px;
    height: 500px;
    top: -250px;
    left: -250px;
    animation: spinSlow 60s linear infinite reverse;
}

@keyframes spinSlow {
    to {
        transform: rotate(360deg);
    }
}

/* =====================================================
   HERO PILLARS — Three-capability accordion (homepage)
   ===================================================== */
.hero-pillars {
    position: relative;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Verb headline — each line color-matched to its pillar and spotlight-synced
   one confident statement. The three value verbs (build / staff / deliver)
   carry the brand's single accent; the active verb — in step with the
   cycling pillar card on the right — gets a soft glow. One accent, not a
   rainbow. The cards on the right hold the per-capability colour. */
.hero-statement {
    font-family: var(--font-display);
    font-size: clamp(2.15rem, 3.9vw, 3.3rem);
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: -0.022em;
    color: var(--white);
    max-width: 15ch;            /* wraps to a clean ~3-line editorial block */
    text-wrap: balance;
}

/* clauses flow inline — natural word-boundary wrapping, no mid-phrase breaks */
.hero-statement .clause { display: inline; }

/* The value verbs — always the single brand accent (blue→violet), never a
   per-word rainbow. This is the one accent the headline is allowed. */
.accent-verb {
    position: relative;
    font-weight: 700;
    background-image: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: filter 0.55s ease;
}

/* Active verb (matches the open card) lifts with a soft brand glow — a quiet
   pulse moving build → staff → deliver, never a colour change. */
.accent-verb.active {
    filter: drop-shadow(0 0 22px rgba(109, 74, 230, 0.45));
}

.pillar-card {
    position: relative;
    border-radius: 18px;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.45s ease, box-shadow 0.45s ease, transform 0.4s ease;
}

/* Inactive card lifts on hover — engineered, alive, but never competes with
   the open (active) card which already carries its own glow. */
.pillar-card:not(.active):hover {
    transform: translateY(-4px);
    border-color: var(--tint-18);
    box-shadow: var(--shadow-lg);
}

/* Left accent bar — scales up on active */
.pillar-bar {
    position: absolute;
    left: 0; top: 10px; bottom: 10px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    opacity: 0;
    transform: scaleY(0.3);
    transform-origin: center;
    transition: opacity 0.4s ease, transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pillar-build .pillar-bar { background: var(--gradient-primary); }
.pillar-staff .pillar-bar { background: linear-gradient(180deg, #7C5CE6, #8B6BF0); }
.pillar-intel .pillar-bar  { background: var(--gradient-gold); }
.pillar-card.active .pillar-bar { opacity: 1; transform: scaleY(1); }

/* Collapsed row — always visible */
.pillar-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
}

.pillar-icon-wrap {
    width: 40px; height: 40px;
    border-radius: 11px;
    display: flex; align-items: center; justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
    border: 1px solid transparent;
    transition: transform 0.35s ease;
}
.pillar-build .pillar-icon-wrap {
    background: rgba(109, 74, 230, 0.12);
    border-color: rgba(109, 74, 230, 0.2);
    color: var(--primary-blue);
}
.pillar-staff .pillar-icon-wrap {
    background: rgba(139, 107, 240, 0.12);
    border-color: rgba(139, 107, 240, 0.2);
    color: #8B6BF0;
}
.pillar-intel .pillar-icon-wrap {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.2);
    color: var(--gold);
}
.pillar-card.active .pillar-icon-wrap { transform: scale(1.08); }

.pillar-head-text { flex: 1; }
.pillar-head-text h3 {
    font-family: var(--font-display);
    font-size: 0.975rem;
    font-weight: 700;
    color: var(--white);
    letter-spacing: 0.01em;
    margin-bottom: 2px;
    line-height: 1;
}
.pillar-head-text span {
    font-size: 0.72rem;
    color: var(--slate-500);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.pillar-chevron {
    color: var(--slate-500);
    font-size: 11px;
    flex-shrink: 0;
    transition: transform 0.4s ease, color 0.3s ease;
}
.pillar-card.active .pillar-chevron  { transform: rotate(180deg); }
.pillar-build.active .pillar-chevron { color: var(--primary-blue); }
.pillar-staff.active .pillar-chevron { color: #8B6BF0; }
.pillar-intel.active  .pillar-chevron { color: var(--gold); }

/* Expandable body (max-height accordion) */
.pillar-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.pillar-card.active .pillar-body { max-height: 180px; }

.pillar-body-inner {
    padding: 16px 22px 22px;
    border-top: 1px solid var(--glass-border);
}

.pillar-desc {
    font-size: 0.855rem;
    line-height: 1.65;
    color: var(--slate-400);
    margin-bottom: 14px;
}

.pillar-stat-row { display: flex; align-items: center; }

.pillar-stat-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.pillar-build .pillar-stat-badge {
    background: rgba(109, 74, 230, 0.1);
    border: 1px solid rgba(109, 74, 230, 0.22);
    color: var(--primary-blue-light);
}
.pillar-staff .pillar-stat-badge {
    background: rgba(139, 107, 240, 0.1);
    border: 1px solid rgba(139, 107, 240, 0.22);
    color: #c084fc;
}
.pillar-intel .pillar-stat-badge {
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.22);
    color: var(--gold-light);
}
.pillar-stat-badge .stat-num {
    font-size: 1rem;
    font-weight: 800;
    font-family: var(--font-display);
}

/* Active glow per pillar color */
.pillar-build.active {
    border-color: rgba(109, 74, 230, 0.32);
    box-shadow: var(--shadow-lg), 0 0 30px rgba(109, 74, 230, 0.1);
}
.pillar-staff.active {
    border-color: rgba(139, 107, 240, 0.32);
    box-shadow: var(--shadow-lg), 0 0 30px rgba(139, 107, 240, 0.1);
}
.pillar-intel.active {
    border-color: rgba(245, 158, 11, 0.32);
    box-shadow: var(--shadow-lg), 0 0 30px rgba(245, 158, 11, 0.1);
}

/* Progress dot strip */
.pillar-indicators {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 6px;
}
.pillar-dot {
    width: 6px; height: 6px;
    border-radius: 3px;
    background: var(--tint-12);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: width 0.35s ease, background 0.35s ease;
}
.pillar-dot.active { width: 22px; }
.pillar-dot[data-idx="0"].active { background: var(--primary-blue); }
.pillar-dot[data-idx="1"].active { background: #8B6BF0; }
.pillar-dot[data-idx="2"].active { background: var(--gold); }

/* Hero Scroll Indicator */
.hero-scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    animation: fadeIn 1s ease 1.5s forwards;
    opacity: 0;
}

.scroll-text {
    font-size: 0.75rem;
    color: var(--slate-500);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.scroll-line {
    width: 2px;
    height: 60px;
    background: linear-gradient(to bottom, transparent, var(--slate-600), transparent);
    position: relative;
}

.scroll-dot {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--primary-blue);
    border-radius: 50%;
    left: -2px;
    animation: scrollDot 2s ease-in-out infinite;
}

@keyframes scrollDot {

    0%,
    100% {
        top: 0;
        opacity: 1;
    }

    100% {
        top: 100%;
        opacity: 0;
    }
}

/* Hero Wave */
.hero-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    color: var(--navy-900);
    line-height: 0;
}

.hero-wave svg {
    width: 100%;
    height: 80px;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

/* =====================================================
   SECTIONS & COMPONENTS
   ===================================================== */

/* Section Common Styles */
section {
    position: relative;
    padding: var(--section-padding) 0;
    overflow: hidden;
}

.section-bg-dark {
    position: absolute;
    inset: 0;
    background: var(--navy-800);
    z-index: -1;
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(109, 74, 230, 0.1);
    border: 1px solid rgba(109, 74, 230, 0.2);
    padding: 10px 20px;
    border-radius: 50px;
    margin-bottom: 20px;
}

.section-badge.light {
    background: var(--tint-05);
    border-color: var(--tint-10);
}

.section-badge i {
    color: var(--primary-blue);
    font-size: 0.9rem;
}

.section-badge span {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--primary-blue-light);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.section-header {
    margin-bottom: 60px;
}

.section-header.centered {
    text-align: center;
}

.section-title {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    color: var(--white);
    line-height: 1.2;
    margin-bottom: 20px;
}

.section-title.light {
    color: var(--white);
}

.section-description {
    font-size: 1.1rem;
    color: var(--slate-400);
    max-width: 600px;
    margin: 0 auto;
}

.section-text {
    color: var(--slate-400);
    font-size: 1.05rem;
    line-height: 1.8;
}

.section-cta {
    text-align: center;
    margin-top: 50px;
}

/* Services Preview Grid */
.services-preview {
    background: var(--navy-900);
}

.services-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.preview-card {
    position: relative;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    padding: 40px 30px;
    overflow: hidden;
    transition: all var(--transition-normal);
}

.preview-card:hover {
    transform: translateY(-10px);
    border-color: rgba(109, 74, 230, 0.5);
}

.preview-card-glow {
    position: absolute;
    inset: -2px;
    background: var(--gradient-primary);
    border-radius: 26px;
    opacity: 0;
    z-index: -1;
    filter: blur(20px);
    transition: opacity var(--transition-normal);
}

.preview-card:hover .preview-card-glow {
    opacity: 0.4;
}

.preview-shimmer {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--tint-08), transparent);
    transition: left 0.6s ease;
}

.preview-card:hover .preview-shimmer {
    left: 100%;
}

.preview-icon {
    width: 70px;
    height: 70px;
    background: var(--gradient-primary);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    box-shadow: var(--shadow-glow);
}

.preview-icon i {
    font-size: 1.75rem;
    color: var(--white);
}

.preview-card h3 {
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: var(--white);
    margin-bottom: 15px;
}

.preview-card p {
    color: var(--slate-400);
    margin-bottom: 25px;
    line-height: 1.7;
}

.preview-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary-blue-light);
    font-weight: 600;
    transition: all var(--transition-fast);
}

.preview-link i {
    transition: transform var(--transition-fast);
}

.preview-card:hover .preview-link {
    color: var(--white);
}

.preview-card:hover .preview-link i {
    transform: translateX(5px);
}

/* Why Choose Home Section */
.why-choose-home {
    position: relative;
}

.why-choose-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.why-choose-content {
    position: relative;
}

.features-list {
    margin: 40px 0;
}

.feature-row {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
    padding: 20px;
    background: var(--tint-02);
    border-radius: 16px;
    transition: all var(--transition-fast);
}

.feature-row:hover {
    background: rgba(109, 74, 230, 0.1);
}

.feature-check {
    width: 40px;
    height: 40px;
    background: var(--gradient-primary);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.feature-check i {
    color: var(--white);
    font-size: 1rem;
}

.feature-content h4 {
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: var(--white);
    margin-bottom: 6px;
}

.feature-content p {
    color: var(--slate-400);
    font-size: 0.95rem;
}

/* Why Choose Visual - Elite Architectural Minimalist Rebuild */
.why-choose-visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 400px;
}

.stat-showcase-elite {
    position: relative;
    width: 340px;
    height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Perfect Circular Mask to contain glowing artifacts */
.showcase-mask {
    position: relative;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    border: 1px solid var(--tint-04);
    background: rgba(10, 15, 26, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 60px rgba(109, 74, 230, 0.05);
}

.ambient-core-glow {
    position: absolute;
    width: 150%;
    height: 150%;
    top: -25%;
    left: -25%;
    background: radial-gradient(circle at center, rgba(109, 74, 230, 0.15) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
    animation: slowBreathe 6s ease-in-out infinite alternate;
}

.grid-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid var(--tint-03);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 1;
}

.ring-1 { width: 90%; height: 90%; }
.ring-2 { width: 75%; height: 75%; border-color: rgba(109, 74, 230, 0.1); }
.ring-3 { width: 60%; height: 60%; border-style: dashed; animation: rotateSlowElite 30s linear infinite; }

.stat-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.stat-value {
    font-family: var(--font-display);
    font-size: 5rem;
    font-weight: 300;
    line-height: 1;
    color: var(--white);
    letter-spacing: -2px;
    margin-bottom: 4px;
}

.stat-value .percent {
    font-size: 2.5rem;
    color: var(--primary-blue-light);
    font-weight: 400;
}

.stat-label {
    font-size: 0.8rem;
    color: var(--slate-400);
    text-transform: uppercase;
    letter-spacing: 4px;
    font-weight: 400;
}

/* Sleek, Tightly Bound Pills */
.sleek-orbit-badge {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(10, 15, 26, 0.6);
    border: 1px solid var(--tint-06);
    padding: 8px 16px;
    border-radius: 50px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
    z-index: 10;
}

.sleek-orbit-badge:hover {
    border-color: rgba(109, 74, 230, 0.3);
    transform: translateY(-2px) scale(1.02);
}

.badge-icon {
    width: 16px;
    height: 16px;
}

.sleek-orbit-badge span {
    font-size: 0.75rem;
    color: var(--slate-200);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 500;
    white-space: nowrap;
}

/* Precisely anchored positions within the 340x340 parent bounds */
/* No negative offsets that break grid */
.badge-top-right {
    top: 20px;
    right: 0px;
}

.badge-mid-left {
    top: 50%;
    left: -20px;
    transform: translateY(-50%);
}

.badge-mid-left:hover {
    transform: translateY(calc(-50% - 2px)) scale(1.02);
}

.badge-bot-right {
    bottom: 30px;
    right: -10px;
}

@keyframes rotateSlowElite {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes slowBreathe {
    from { opacity: 0.4; }
    to { opacity: 0.8; }
}

/* Industries Preview */
.industries-preview {
    background: var(--navy-900);
    padding: 80px 0;
}

.industries-scroll {
    overflow: hidden;
    margin: 40px 0;
}

.industries-track {
    display: flex;
    gap: 20px;
    animation: scrollTrack 30s linear infinite;
    width: max-content;
}

@keyframes scrollTrack {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.industry-chip {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 28px;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 50px;
    white-space: nowrap;
    color: var(--white);
    font-weight: 500;
    transition: all var(--transition-fast);
}

.industry-chip i {
    color: var(--primary-blue);
}

.industry-chip:hover {
    border-color: var(--primary-blue);
    background: rgba(109, 74, 230, 0.1);
}

/* Testimonials Preview */
.testimonials-preview {
    position: relative;
}

.testimonials-showcase {
    max-width: 800px;
    margin: 0 auto;
}

.testimonial-card-large {
    position: relative;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 30px;
    padding: 50px;
    text-align: center;
}

.testimonial-quote-icon {
    width: 60px;
    height: 60px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
}

.testimonial-quote-icon i {
    font-size: 1.5rem;
    color: var(--white);
}

.testimonial-card-large blockquote {
    font-size: 1.25rem;
    color: var(--slate-300);
    line-height: 1.8;
    margin-bottom: 35px;
    font-style: italic;
}

.testimonial-author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.author-avatar {
    width: 60px;
    height: 60px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--white);
}

.author-info {
    text-align: left;
}

.author-info strong {
    display: block;
    color: var(--white);
    font-size: 1.1rem;
}

.author-info span {
    color: var(--slate-500);
    font-size: 0.9rem;
}

.author-rating {
    display: flex;
    gap: 4px;
}

.author-rating i {
    color: var(--gold);
    font-size: 1rem;
}

/* CTA Section */
.cta-section {
    position: relative;
    padding: 100px 0;
}

.cta-bg {
    position: absolute;
    inset: 0;
}

.cta-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--primary-blue-dark) 0%, var(--royal-blue) 50%, #581c87 100%);
}

.cta-pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 2px 2px, var(--tint-10) 1px, transparent 0);
    background-size: 30px 30px;
}

.cta-content {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.cta-content h2 {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    color: var(--white);
    margin-bottom: 20px;
}

.cta-content p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 40px;
}

.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

/* The CTA band keeps its dark/purple accent gradient in BOTH themes, so inside it
   the neutral ramp must stay "on-dark" — restore the dark-mode values for light theme
   so the heading is white and the white/outline buttons read as intended. */
[data-theme="light"] .cta-section {
    --white: #ffffff;
    --navy-800: #0f172a;
    --tint-10: rgba(255,255,255,0.1);
    --tint-30: rgba(255,255,255,0.3);
}

/* =====================================================
   PAGE SPECIFIC STYLES
   ===================================================== */

/* Page Header */
.page-header {
    min-height: 400px;
    display: flex;
    align-items: center;
    padding-top: 120px;
    position: relative;
    overflow: hidden;
}

.page-header-bg {
    position: absolute;
    inset: 0;
    z-index: -1;
}

.header-gradient {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 30% 50%, rgba(109, 74, 230, 0.2) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 30%, rgba(124, 58, 237, 0.15) 0%, transparent 50%),
        var(--gradient-dark);
}

.header-pattern {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(var(--tint-02) 1px, transparent 1px),
        linear-gradient(90deg, var(--tint-02) 1px, transparent 1px);
    background-size: 50px 50px;
}

.page-header-content {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
    font-size: 0.9rem;
}

.breadcrumb a {
    color: var(--slate-400);
    transition: color var(--transition-fast);
}

.breadcrumb a:hover {
    color: var(--primary-blue);
}

.breadcrumb i {
    color: var(--slate-600);
    font-size: 0.7rem;
}

.breadcrumb span {
    color: var(--white);
}

.page-header h1 {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 800;
    color: var(--white);
    margin-bottom: 20px;
}

.page-header p {
    font-size: 1.15rem;
    color: var(--slate-400);
    line-height: 1.7;
}

/* About Page Styles */
.about-intro {
    background: var(--navy-900);
}

.about-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.about-text-large {
    font-size: 1.2rem;
    color: var(--slate-300);
    line-height: 1.8;
    margin-bottom: 25px;
}

.about-text {
    color: var(--slate-400);
    line-height: 1.8;
    margin-bottom: 20px;
}

/* Visual Stack */
.visual-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}

.stack-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 25px;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    transition: all var(--transition-normal);
}

.stack-card:hover {
    transform: translateX(10px);
    border-color: rgba(109, 74, 230, 0.5);
}

.stack-icon {
    width: 50px;
    height: 50px;
    background: var(--gradient-primary);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stack-icon i {
    font-size: 1.2rem;
    color: var(--white);
}

.stack-card span {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--white);
}

/* Visual Stats Circle */
.visual-stats {
    display: flex;
    justify-content: center;
}

.stat-circle-large {
    width: 200px;
    height: 200px;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.stat-circle-large::before {
    content: '';
    position: absolute;
    inset: -10px;
    border: 2px solid var(--primary-blue);
    border-radius: 50%;
    border-left-color: transparent;
    border-bottom-color: transparent;
    animation: spinSlow 10s linear infinite;
}

.stat-circle-large .circle-content {
    text-align: center;
}

.stat-circle-large .number {
    font-family: var(--font-display);
    font-size: 3.5rem;
    font-weight: 800;
    color: var(--white);
}

.stat-circle-large .plus {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-blue);
}

.stat-circle-large .label {
    display: block;
    font-size: 0.85rem;
    color: var(--slate-400);
    margin-top: 5px;
}

/* Mission & Vision */
.mission-vision {
    position: relative;
}

.mv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.mv-card {
    position: relative;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 30px;
    padding: 50px 40px;
    text-align: center;
    overflow: hidden;
    transition: all var(--transition-normal);
}

.mv-card:hover {
    transform: translateY(-10px);
    border-color: rgba(109, 74, 230, 0.5);
}

.mv-card-glow {
    position: absolute;
    inset: -2px;
    background: var(--gradient-primary);
    border-radius: 32px;
    opacity: 0;
    z-index: -1;
    filter: blur(25px);
    transition: opacity var(--transition-normal);
}

.mv-card:hover .mv-card-glow {
    opacity: 0.3;
}

.mv-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    box-shadow: var(--shadow-glow);
}

.mv-icon i {
    font-size: 2rem;
    color: var(--white);
}

.mv-card h3 {
    font-family: var(--font-display);
    font-size: 1.75rem;
    color: var(--white);
    margin-bottom: 20px;
}

.mv-card p {
    color: var(--slate-400);
    line-height: 1.8;
    font-size: 1.05rem;
}

.mv-decoration {
    margin-top: 30px;
}

.deco-line {
    width: 60px;
    height: 4px;
    background: var(--gradient-primary);
    border-radius: 2px;
    margin: 0 auto;
}

/* Core Values */
.core-values {
    background: var(--navy-900);
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.value-card {
    position: relative;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    padding: 40px 30px;
    text-align: center;
    overflow: hidden;
    transition: all var(--transition-normal);
}

.value-card:hover {
    transform: translateY(-10px);
    border-color: rgba(109, 74, 230, 0.5);
}

.value-number {
    position: absolute;
    top: 20px;
    right: 25px;
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 800;
    color: rgba(109, 74, 230, 0.1);
}

.value-icon {
    width: 70px;
    height: 70px;
    background: var(--gradient-primary);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    box-shadow: var(--shadow-glow);
}

.value-icon i {
    font-size: 1.75rem;
    color: var(--white);
}

.value-card h4 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--white);
    margin-bottom: 15px;
}

.value-card p {
    color: var(--slate-400);
    font-size: 0.95rem;
    line-height: 1.7;
}

/* Advantages Grid */
.why-choose-about {
    position: relative;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.advantage-card {
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 35px 30px;
    text-align: center;
    transition: all var(--transition-normal);
}

.advantage-card:hover {
    transform: translateY(-8px);
    border-color: rgba(109, 74, 230, 0.4);
}

.advantage-icon {
    width: 60px;
    height: 60px;
    background: var(--gradient-primary);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.advantage-icon i {
    font-size: 1.5rem;
    color: var(--white);
}

.advantage-card h4 {
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: var(--white);
    margin-bottom: 12px;
}

.advantage-card p {
    color: var(--slate-400);
    font-size: 0.9rem;
}

/* Services Page Styles */
.services-main {
    padding-bottom: 40px;
}

.service-detail {
    padding: 80px 0;
}

.service-detail.alt-bg {
    position: relative;
}

.service-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.service-detail-grid.reverse {
    direction: rtl;
}

.service-detail-grid.reverse>* {
    direction: ltr;
}

.service-number {
    font-family: var(--font-display);
    font-size: 5rem;
    font-weight: 900;
    color: rgba(109, 74, 230, 0.1);
    line-height: 1;
    margin-bottom: 10px;
}

.service-number.light {
    color: var(--tint-05);
}

.service-detail h2 {
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 25px;
}

.service-detail h2.light {
    color: var(--white);
}

.service-intro {
    font-size: 1.1rem;
    color: var(--slate-400);
    line-height: 1.8;
    margin-bottom: 35px;
}

.service-intro.light {
    color: var(--slate-400);
}

.service-features {
    margin-bottom: 35px;
}

.service-features.light .feature-icon {
    color: var(--primary-blue-light);
}

.service-features .feature {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.service-features .feature-icon {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-top: 3px;
}

.service-features .feature-text h4 {
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: var(--white);
    margin-bottom: 6px;
}

.service-features .feature-text p {
    color: var(--slate-400);
    font-size: 0.95rem;
}

/* Service Visual Cards */
.visual-card-stack {
    position: relative;
}

.visual-main-card {
    position: relative;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    overflow: hidden;
    transition: all var(--transition-normal);
}

.visual-main-card:hover {
    transform: translateY(-10px);
}

.visual-main-card .card-glow {
    position: absolute;
    inset: -2px;
    background: var(--gradient-primary);
    border-radius: 26px;
    opacity: 0;
    z-index: -1;
    filter: blur(20px);
    transition: opacity var(--transition-normal);
}

.visual-main-card:hover .card-glow {
    opacity: 0.4;
}

.visual-main-card .card-inner {
    padding: 50px 40px;
    text-align: center;
}

.visual-main-card .card-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    box-shadow: var(--shadow-glow);
}

.visual-main-card .card-icon i {
    font-size: 2rem;
    color: var(--white);
}

.visual-main-card h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--white);
    margin-bottom: 25px;
}

.card-stats {
    display: flex;
    justify-content: center;
    gap: 40px;
}

.card-stat {
    text-align: center;
}

.card-stat .stat-value {
    display: block;
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary-blue-light);
}

.card-stat .stat-label {
    font-size: 0.8rem;
    color: var(--slate-500);
}

.card-tech-stack {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.tech-badge {
    padding: 8px 16px;
    background: rgba(109, 74, 230, 0.15);
    border: 1px solid rgba(109, 74, 230, 0.3);
    border-radius: 20px;
    font-size: 0.8rem;
    color: var(--primary-blue-light);
    font-weight: 500;
}

/* Process Timeline */
.our-process {
    position: relative;
}

.process-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.process-step {
    position: relative;
    text-align: center;
}

.step-number {
    width: 70px;
    height: 70px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--white);
    box-shadow: var(--shadow-glow);
}

.step-content h4 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--white);
    margin-bottom: 12px;
}

.step-content p {
    color: var(--slate-400);
    font-size: 0.9rem;
    line-height: 1.7;
}

.step-line {
    position: absolute;
    top: 35px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, var(--primary-blue), var(--slate-700));
    z-index: -1;
}

.process-step:last-child .step-line {
    display: none;
}

/* =====================================================
   INDUSTRIES PAGE STYLES
   ===================================================== */

.industries-intro {
    padding-bottom: 40px;
}

.industries-grid-section {
    background: var(--navy-900);
    padding-top: 20px;
}

.industries-full-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.industry-detail-card {
    position: relative;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    overflow: hidden;
    transition: all var(--transition-normal);
}

.industry-detail-card:hover {
    transform: translateY(-10px);
    border-color: rgba(109, 74, 230, 0.5);
}

.industry-card-glow {
    position: absolute;
    inset: -2px;
    background: var(--gradient-primary);
    border-radius: 26px;
    opacity: 0;
    z-index: -1;
    filter: blur(20px);
    transition: opacity var(--transition-normal);
}

.industry-detail-card:hover .industry-card-glow {
    opacity: 0.4;
}

.industry-shimmer {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--tint-08), transparent);
    transition: left 0.6s ease;
}

.industry-detail-card:hover .industry-shimmer {
    left: 100%;
}

.industry-card-content {
    padding: 40px 30px;
}

.industry-icon-large {
    width: 80px;
    height: 80px;
    background: var(--gradient-primary);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    box-shadow: var(--shadow-glow);
    transition: transform var(--transition-normal);
}

.industry-detail-card:hover .industry-icon-large {
    transform: scale(1.1);
}

.industry-icon-large i {
    font-size: 2rem;
    color: var(--white);
}

.industry-card-content h3 {
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: var(--white);
    margin-bottom: 15px;
}

.industry-card-content p {
    color: var(--slate-400);
    line-height: 1.7;
    margin-bottom: 20px;
}

.industry-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.industry-tags span {
    padding: 6px 14px;
    background: rgba(109, 74, 230, 0.15);
    border: 1px solid rgba(109, 74, 230, 0.25);
    border-radius: 20px;
    font-size: 0.8rem;
    color: var(--primary-blue-light);
    font-weight: 500;
}

/* =====================================================
   CONTACT PAGE STYLES
   ===================================================== */

.contact-main {
    background: var(--navy-900);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 50px;
}

.contact-form-wrapper {
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 30px;
    padding: 50px;
}

.form-header {
    margin-bottom: 40px;
}

.form-header h2 {
    font-family: var(--font-display);
    font-size: 2rem;
    color: var(--white);
    margin-bottom: 12px;
}

.form-header p {
    color: var(--slate-400);
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.form-group {
    position: relative;
}

.input-wrapper {
    position: relative;
}

.input-wrapper i {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--slate-500);
    font-size: 0.9rem;
    transition: color var(--transition-fast);
    z-index: 1;
}

.input-wrapper.textarea-wrapper i {
    top: 25px;
    transform: none;
}

.input-wrapper input,
.input-wrapper select,
.input-wrapper textarea {
    width: 100%;
    padding: 18px 20px 18px 50px;
    background: var(--tint-03);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    color: var(--white);
    font-size: 1rem;
    transition: all var(--transition-fast);
    outline: none;
}

.input-wrapper textarea {
    resize: none;
    min-height: 140px;
}

.input-wrapper select {
    appearance: none;
    cursor: pointer;
}

.select-wrapper::after {
    content: '\f107';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--slate-500);
    pointer-events: none;
}

.input-wrapper label {
    position: absolute;
    left: 50px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--slate-500);
    font-size: 1rem;
    pointer-events: none;
    transition: all var(--transition-fast);
}

.input-wrapper.textarea-wrapper label {
    top: 25px;
    transform: none;
}

.input-wrapper input:focus,
.input-wrapper select:focus,
.input-wrapper textarea:focus {
    border-color: var(--primary-blue);
    background: rgba(109, 74, 230, 0.05);
}

.input-wrapper input:focus+label,
.input-wrapper input:not(:placeholder-shown)+label,
.input-wrapper select:focus+label,
.input-wrapper select:valid+label,
.input-wrapper textarea:focus+label,
.input-wrapper textarea:not(:placeholder-shown)+label {
    top: -10px;
    left: 20px;
    font-size: 0.8rem;
    color: var(--primary-blue);
    background: var(--navy-700);
    padding: 0 8px;
}

.input-wrapper input:focus~i,
.input-wrapper select:focus~i,
.input-wrapper textarea:focus~i {
    color: var(--primary-blue);
}

.btn-submit {
    width: 100%;
    padding: 18px 32px;
    position: relative;
}

.btn-submit .btn-text {
    transition: opacity var(--transition-fast);
}

.btn-submit .btn-loading {
    position: absolute;
    opacity: 0;
}

.btn-submit.loading .btn-text {
    opacity: 0;
}

.btn-submit.loading .btn-loading {
    opacity: 1;
}

/* Contact Info Card */
.info-card-large {
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 30px;
    padding: 40px;
    height: fit-content;
    position: relative;
    overflow: hidden;
}

.info-card-glow {
    position: absolute;
    inset: -2px;
    background: var(--gradient-primary);
    border-radius: 32px;
    opacity: 0.1;
    z-index: -1;
    filter: blur(30px);
}

.info-header {
    margin-bottom: 35px;
}

.info-header h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--white);
    margin-bottom: 10px;
}

.info-header p {
    color: var(--slate-400);
    font-size: 0.95rem;
}

.info-items {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.info-item {
    display: flex;
    gap: 16px;
}

.info-icon {
    width: 50px;
    height: 50px;
    background: var(--gradient-primary);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.info-icon i {
    font-size: 1.1rem;
    color: var(--white);
}

.info-content h4 {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--white);
    margin-bottom: 6px;
}

.info-content p {
    color: var(--slate-400);
    font-size: 0.9rem;
    line-height: 1.6;
}

.social-section {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid var(--glass-border);
}

.social-section h4 {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--white);
    margin-bottom: 20px;
}

.social-links-large {
    display: flex;
    gap: 15px;
}

.social-link {
    width: 50px;
    height: 50px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--slate-300);
    font-size: 1.1rem;
    transition: all var(--transition-fast);
}

.social-link:hover {
    background: var(--gradient-primary);
    border-color: transparent;
    color: var(--white);
    transform: translateY(-5px);
}

/* Map Section */
.map-section {
    padding: 0 0 var(--section-padding);
    background: var(--navy-900);
}

.map-wrapper {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid var(--glass-border);
}

.map-wrapper iframe {
    display: block;
    filter: grayscale(100%) invert(92%) contrast(83%);
}

.map-overlay {
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 10;
}

.map-card {
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 25px 30px;
    backdrop-filter: var(--glass-blur);
}

.map-card h3 {
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: var(--white);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.map-card h3 i {
    color: var(--primary-blue);
}

.map-card p {
    color: var(--slate-400);
    margin-bottom: 20px;
    font-size: 0.95rem;
}

.btn-sm {
    padding: 12px 20px;
    font-size: 0.9rem;
}

/* FAQ Section */
.faq-section {
    position: relative;
}

.faq-grid {
    max-width: 800px;
    margin: 0 auto;
}

.accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.accordion-item {
    position: relative;
    z-index: 1;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all var(--transition-normal);
}

.accordion-item:hover {
    border-color: rgba(109, 74, 230, 0.3);
}

.accordion-item[open] {
    border-color: rgba(109, 74, 230, 0.5);
}

.accordion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 30px;
    cursor: pointer;
    transition: all var(--transition-fast);
    list-style: none; /* Hide default marker */
}

.accordion-header::-webkit-details-marker {
    display: none;
}

.accordion-header:hover {
    background: var(--tint-02);
}

.accordion-header span {
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: var(--white);
    font-weight: 600;
}

.accordion-toggle {
    color: var(--slate-400);
    transition: transform var(--transition-fast), color var(--transition-fast);
}

.accordion-item[open] .accordion-toggle {
    transform: rotate(180deg);
    color: var(--primary-blue);
}

.accordion-content {
    display: block;
    overflow: hidden;
    block-size: 0;
    transition: block-size var(--transition-slow) ease-out;
}

.accordion-item[open] .accordion-content {
    block-size: auto;
}

.accordion-content p {
    padding: 0 30px 24px;
    color: var(--slate-400);
    line-height: 1.7;
}

/* =====================================================
   FOOTER STYLES
   ===================================================== */

.footer {
    background: var(--navy-900);
    border-top: 1px solid var(--glass-border);
}

.footer-top {
    padding: 80px 0 60px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 50px;
}

.footer-logo {
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 700;
    display: inline-flex;
    gap: 8px;
    margin-bottom: 20px;
}

.footer-logo .logo-ark {
    color: var(--white);
}

.footer-logo .logo-fortune {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.footer-brand p {
    color: var(--slate-400);
    margin-bottom: 25px;
    line-height: 1.7;
}

.footer-socials {
    display: flex;
    gap: 12px;
}

.footer-socials a {
    width: 42px;
    height: 42px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--slate-300);
    transition: all var(--transition-fast);
}

.footer-socials a:hover {
    background: var(--gradient-primary);
    border-color: transparent;
    color: var(--white);
    transform: translateY(-3px);
}

.footer-links h4,
.footer-contact h4 {
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: var(--white);
    margin-bottom: 25px;
    font-weight: 600;
}

.footer-links ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-links a {
    color: var(--slate-400);
    transition: color var(--transition-fast);
    position: relative;
}

.footer-links a:hover {
    color: var(--white);
}

.footer-contact ul {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.footer-contact i {
    color: var(--primary-blue);
    margin-top: 4px;
}

.footer-contact span {
    color: var(--slate-400);
    font-size: 0.95rem;
}

.footer-bottom {
    padding: 16px 0;
    border-top: 1px solid var(--glass-border);
}

.footer-bottom-content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
}
/* left item hugs left, center item is screen-centered, right item hugs right */
.footer-bottom-content > p:first-child { justify-self: start; }
.footer-bottom-content > .credit-line-text { justify-self: center; }
.footer-bottom-content > .footer-legal { justify-self: end; }

.footer-bottom p {
    color: var(--slate-500);
    font-size: 0.9rem;
}

.footer-legal {
    display: flex;
    gap: 30px;
}

.footer-legal a {
    color: var(--slate-500);
    font-size: 0.9rem;
    transition: color var(--transition-fast);
}

.footer-legal a:hover {
    color: var(--primary-blue);
}

/* Back to Top Button */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 1.1rem;
    box-shadow: var(--shadow-glow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all var(--transition-normal);
    z-index: 999;
    cursor: pointer;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 40px rgba(109, 74, 230, 0.5);
}

/* =====================================================
   RESPONSIVE STYLES
   ===================================================== */

@media (max-width: 1200px) {
    .hero-container {
        grid-template-columns: 1fr;
        gap: 60px;
        text-align: center;
    }

    /* Single-column: re-centre the left block and the "We"+verb composition */
    .hero-content {
        align-items: center;
    }

    .hero-verbs {
        grid-template-columns: auto auto;
        justify-content: center;
    }

    .hero-headline,
    .hero-description {
        max-width: 100%;
    }

    .hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-trust-bar {
        justify-content: center;
    }

    .hero-cta-group {
        justify-content: center;
    }

    .hero-stats-row {
        justify-content: center;
    }

    .hero-stat {
        text-align: center;
    }

    .hero-visual {
        display: none;
    }

    .services-preview-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .advantages-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .industries-full-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-timeline {
        grid-template-columns: repeat(2, 1fr);
    }

    .step-line {
        display: none;
    }
}

@media (max-width: 992px) {
    :root {
        --section-padding: 80px;
    }

    .nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        width: min(300px, 86vw);
        height: 100vh;
        background: var(--nav-mobile-bg);
        backdrop-filter: blur(20px) saturate(180%);
        -webkit-backdrop-filter: blur(20px) saturate(180%);
        border-left: 1px solid var(--tint-08);
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.5);
        flex-direction: column;
        padding: 100px 40px 40px;
        gap: 30px;
        /* Slide off-canvas with transform (not right:-100%) so the closed drawer
           never extends document width / triggers horizontal scroll. */
        transform: translateX(100%);
        transition: transform var(--transition-normal);
        z-index: 999;
        will-change: transform;
    }

    .nav-menu.active {
        transform: translateX(0);
    }

    .theme-toggle {
        margin-left: 0;
        padding-left: 0;
        border-left: none;
        margin-top: 8px;
        padding-top: 28px;
        border-top: 1px solid var(--glass-border);
        width: 100%;
        justify-content: center;
        gap: 12px;
    }

    .nav-toggle {
        display: flex;
        z-index: 1000;
    }

    .nav-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(6px, 6px);
    }

    .nav-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .nav-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(6px, -6px);
    }

    .about-intro-grid,
    .why-choose-grid,
    .service-detail-grid,
    .contact-grid,
    .mv-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .service-detail-grid.reverse {
        direction: ltr;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

@media (max-width: 768px) {
    .hero-stats-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .hero-trust-bar {
        flex-wrap: wrap;
        gap: 15px;
    }

    .trust-divider {
        display: none;
    }

    .hero-cta-group {
        flex-direction: column;
        align-items: center;
    }

    .btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    .services-preview-grid {
        grid-template-columns: 1fr;
    }

    .values-grid,
    .advantages-grid,
    .industries-full-grid,
    .process-timeline {
        grid-template-columns: 1fr;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom-content {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .floating-badges {
        display: none;
    }

    .map-overlay {
        position: relative;
        top: auto;
        left: auto;
        margin-bottom: -1px;
    }

    .map-card {
        border-radius: 24px 24px 0 0;
    }
}

@media (max-width: 576px) {
    :root {
        --section-padding: 60px;
        --container-padding: 16px;
    }

    .headline-main {
        font-size: 2rem;
    }

    .hero-description {
        font-size: 1rem;
    }

    .section-title {
        font-size: 1.75rem;
    }

    .contact-form-wrapper {
        padding: 30px 20px;
    }

    .info-card-large {
        padding: 30px 20px;
    }

    .mv-card {
        padding: 35px 25px;
    }

    .page-header {
        min-height: 300px;
    }

    .page-header h1 {
        font-size: 2rem;
    }
}

/* Animation Classes */
/* Status text transition */
.status-text {
    transition: opacity 0.2s ease;
}

/* =====================================================
   ENHANCED ANIMATIONS - FADE-IN-UP & SHIMMER EFFECTS
   ===================================================== */

/* Scroll Animation Classes — fast, GPU-accelerated reveal.
   Stagger is applied per-section in JS (capped); no compounding nth-child delays. */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
                transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.animate-on-scroll.animated {
    opacity: 1;
    transform: translateY(0);
}

/* Drop GPU hint once the element has settled so we don't pin a layer forever */
.animate-on-scroll.animated.settled {
    will-change: auto;
}

/* Respect users who ask for reduced motion — show everything instantly */
@media (prefers-reduced-motion: reduce) {
    .animate-on-scroll {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Shimmer Effect Base */
.shimmer-effect {
    position: relative;
    overflow: hidden;
}

.shimmer-effect::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 150%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--tint-03) 25%,
        var(--tint-08) 50%,
        var(--tint-03) 75%,
        transparent 100%
    );
    transform: skewX(-20deg);
    transition: left 0s;
}

.shimmer-effect:hover::after {
    left: 150%;
    transition: left 0.8s ease;
}

/* Apply shimmer to cards */
.mv-card,
.value-card,
.advantage-card,
.preview-card,
.industry-detail-card,
.stack-card,
.feature-row,
.testimonial-card-large,
.info-card-large,
.visual-main-card,
.hero-feature-card {
    position: relative;
    overflow: hidden;
}

.mv-card::after,
.value-card::after,
.advantage-card::after,
.preview-card .preview-shimmer,
.industry-detail-card .industry-shimmer,
.stack-card::after,
.feature-row::after,
.testimonial-card-large::after,
.info-card-large::after,
.visual-main-card::after,
.hero-feature-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 150%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--tint-02) 25%,
        var(--tint-06) 50%,
        var(--tint-02) 75%,
        transparent 100%
    );
    transform: skewX(-20deg);
    pointer-events: none;
    z-index: 10;
}

.mv-card:hover::after,
.value-card:hover::after,
.advantage-card:hover::after,
.stack-card:hover::after,
.feature-row:hover::after,
.testimonial-card-large:hover::after,
.info-card-large:hover::after,
.visual-main-card:hover::after,
.hero-feature-card:hover::after {
    left: 150%;
    transition: left 0.7s ease;
}

/* Enhanced card hover effects with lift */
.mv-card,
.value-card,
.advantage-card,
.preview-card,
.industry-detail-card,
.stack-card,
.testimonial-card-large,
.visual-main-card {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.4s ease,
                border-color 0.3s ease;
}

.mv-card:hover,
.value-card:hover,
.advantage-card:hover,
.preview-card:hover,
.industry-detail-card:hover,
.stack-card:hover,
.testimonial-card-large:hover,
.visual-main-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3), 
                0 0 40px rgba(109, 74, 230, 0.15);
}

/* Icon scale on card hover */
.mv-card:hover .mv-icon,
.value-card:hover .value-icon,
.advantage-card:hover .advantage-icon,
.preview-card:hover .preview-icon,
.industry-detail-card:hover .industry-icon-large,
.stack-card:hover .stack-icon {
    transform: scale(1.1);
    box-shadow: 0 0 30px rgba(109, 74, 230, 0.5);
}

.mv-icon,
.value-icon,
.advantage-icon,
.preview-icon,
.industry-icon-large,
.stack-icon {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.4s ease;
}

/* Text reveal animation */
.text-reveal {
    overflow: hidden;
}

.text-reveal span {
    display: inline-block;
    transform: translateY(100%);
    opacity: 0;
    animation: textReveal 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes textReveal {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Glow pulse on hover */
.glow-on-hover {
    transition: box-shadow 0.3s ease;
}

.glow-on-hover:hover {
    box-shadow: 0 0 30px rgba(109, 74, 230, 0.4),
                0 0 60px rgba(109, 74, 230, 0.2);
}

/* Floating animation for badges/icons */
@keyframes gentleFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

.floating-badge,
.trust-icon,
.card-icon {
    animation: gentleFloat 4s ease-in-out infinite;
}

.floating-badge:nth-child(1) { animation-delay: 0s; }
.floating-badge:nth-child(2) { animation-delay: 0.5s; }
.floating-badge:nth-child(3) { animation-delay: 1s; }

/* Enhanced button shimmer */
.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg, 
        transparent, 
        var(--tint-25), 
        transparent
    );
    transition: left 0.5s ease;
}

.btn:hover::before {
    left: 100%;
}

/* Section badge entrance */
.section-badge {
    animation: badgeEntrance 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
    opacity: 0;
    transform: translateY(20px) scale(0.9);
}

@keyframes badgeEntrance {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Decoration line animation */
.deco-line {
    width: 0;
    transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.mv-card:hover .deco-line {
    width: 60px;
}

/* Progress bar animation on scroll */
.stat-bar-fill {
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animated .stat-bar-fill,
.hero-stat .stat-bar-fill {
    transform: scaleX(1);
}

/* Ripple effect for buttons */
.btn-ripple {
    position: relative;
    overflow: hidden;
}

.btn-ripple::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    background: var(--tint-30);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.5s, height 0.5s;
}

.btn-ripple:active::after {
    width: 300px;
    height: 300px;
}

/* Smooth border glow animation */
@keyframes borderGlow {
    0%, 100% {
        border-color: rgba(109, 74, 230, 0.2);
    }
    50% {
        border-color: rgba(109, 74, 230, 0.5);
    }
}

.mv-card:hover,
.value-card:hover,
.industry-detail-card:hover {
    animation: borderGlow 2s ease-in-out infinite;
}

/* Typewriter effect for hero text */
@keyframes typewriter {
    from { width: 0; }
    to { width: 100%; }
}

.typewriter {
    overflow: hidden;
    white-space: nowrap;
    animation: typewriter 2s steps(40) forwards;
}

/* Parallax-ready elements */
.parallax-slow {
    will-change: transform;
}

/* Smooth appearance for lazy-loaded content */
.fade-in-ready {
    opacity: 0;
    animation: smoothFadeIn 0.6s ease forwards;
}

@keyframes smoothFadeIn {
    to { opacity: 1; }
}

/* Enhanced shimmer specifically for MV cards */
.mv-card.shimmer-effect::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--tint-03) 20%,
        var(--tint-08) 50%,
        var(--tint-03) 80%,
        transparent 100%
    );
    z-index: 1;
    pointer-events: none;
}

.mv-card.shimmer-effect:hover::before {
    left: 100%;
    transition: left 0.8s ease;
}

/* Ensure content is above shimmer */
.mv-card .mv-card-glow,
.mv-card .mv-icon,
.mv-card h3,
.mv-card p,
.mv-card .mv-decoration {
    position: relative;
    z-index: 2;
}

/* Enhanced lift and glow on hover */
.mv-card:hover {
    transform: translateY(-15px) scale(1.02);
    box-shadow: 
        0 30px 60px rgba(0, 0, 0, 0.3),
        0 0 50px rgba(109, 74, 230, 0.2),
        inset 0 1px 0 var(--tint-10);
}

/* Icon animation on hover */
.mv-card:hover .mv-icon {
    transform: scale(1.15) rotate(5deg);
    box-shadow: 0 0 40px rgba(109, 74, 230, 0.6);
}

/* Decoration line expand on hover */
.mv-card .deco-line {
    width: 0;
    height: 3px;
    background: var(--gradient-primary);
    border-radius: 2px;
    transition: width 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.mv-card:hover .deco-line {
    width: 80px;
}

/* =====================================================
   PREMIUM LOGO STYLES
   ===================================================== */

/* Enhanced Nav Logo */
.nav-logo {
    font-family: var(--font-display);
    font-size: 1.85rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    position: relative;
}

.nav-logo .logo-ark {
    color: var(--white);
    text-shadow: 0 0 20px var(--tint-30);
    font-weight: 900;
}

.nav-logo .logo-fortune {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 30%, #8B6BF0 60%, #8B6BF0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    background-size: 200% auto;
    animation: gradientFlow 4s ease-in-out infinite;
    font-weight: 900;
    filter: drop-shadow(0 0 20px rgba(124, 92, 230, 0.5));
}

@keyframes gradientFlow {
    0%, 100% { background-position: 0% center; }
    50% { background-position: 100% center; }
}

/* Preloader Logo - Larger & More Premium */
.preloader-logo {
    font-family: var(--font-display);
    font-size: 4.5rem;
    font-weight: 900;
    margin-bottom: 20px;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    gap: 15px;
}

.preloader-logo .logo-ark {
    color: var(--white);
    text-shadow: 
        0 0 30px rgba(255, 255, 255, 0.4),
        0 0 60px var(--tint-20);
    animation: logoGlow 3s ease-in-out infinite;
}

@keyframes logoGlow {
    0%, 100% { text-shadow: 0 0 30px rgba(255, 255, 255, 0.4), 0 0 60px var(--tint-20); }
    50% { text-shadow: 0 0 40px rgba(255, 255, 255, 0.6), 0 0 80px var(--tint-30); }
}

.preloader-logo .logo-fortune {
    background: linear-gradient(135deg, 
        #6D4AE6 0%, 
        #7C5CE6 20%, 
        #8B6BF0 40%, 
        #6D4AE6 60%,
        #8B6BF0 80%,
        #6D4AE6 100%
    );
    background-size: 300% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: premiumGradient 4s linear infinite;
    filter: drop-shadow(0 0 30px rgba(124, 92, 230, 0.6));
    position: relative;
}

@keyframes premiumGradient {
    0% { background-position: 0% center; }
    100% { background-position: 300% center; }
}

/* Preloader — fit the big "ARK FORTUNE" title to small screens so it never
   bleeds off the edges. Fluid size: scales with viewport width, capped at 4.5rem. */
@media (max-width: 600px) {
    .preloader-logo {
        font-size: clamp(2rem, 13vw, 4.5rem);
        gap: 10px;
        letter-spacing: 1px;
        flex-wrap: wrap;
        padding: 0 16px;
    }
    .preloader-tagline {
        gap: 8px;
        flex-wrap: wrap;
        padding: 0 16px;
    }
    .preloader-tagline .tagline-text { font-size: 0.78rem; letter-spacing: 1.5px; }
    .code-brackets { font-size: clamp(1.8rem, 9vw, 3rem); }
    .preloader-bar { max-width: 78vw; }
}

/* Footer Logo */
.footer-logo {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 800;
    display: inline-flex;
    gap: 10px;
    margin-bottom: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.footer-logo:hover {
    transform: scale(1.02);
}

.footer-logo .logo-ark {
    color: var(--white);
    text-shadow: 0 0 15px var(--tint-20);
}

.footer-logo .logo-fortune {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 15px rgba(124, 92, 230, 0.4));
}

/* Page Header Enhancement */
.page-header h1 {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 900;
    color: var(--white);
    margin-bottom: 25px;
    text-shadow: 0 0 30px var(--tint-10);
    letter-spacing: -0.5px;
}

.page-header h1 .gradient-text {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 30%, #8B6BF0 60%, #8B6BF0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 20px rgba(124, 92, 230, 0.5));
}

/* Hero Headline Enhancement */
.headline-main {
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 5.5vw, 4.5rem);
    font-weight: 900;
    line-height: 1.05;
    color: var(--white);
    text-shadow: 0 0 40px var(--tint-10);
    letter-spacing: -1px;
}

.headline-main .gradient-text {
    background: linear-gradient(135deg, 
        #6D4AE6 0%, 
        #7C5CE6 25%, 
        #8B6BF0 50%, 
        #8B6BF0 75%,
        #6D4AE6 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradientFlow 4s ease-in-out infinite;
    filter: drop-shadow(0 0 25px rgba(124, 92, 230, 0.6));
}

/* Global gradient-text enhancement */
.gradient-text {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 30%, #8B6BF0 60%, #8B6BF0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 15px rgba(124, 92, 230, 0.4));
}

/* Section Title Enhancement */
.section-title {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 800;
    color: var(--white);
    line-height: 1.15;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

/* Enhanced Gradient for Primary Button */
.btn-primary,
.btn-hero-primary {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
    box-shadow: 
        0 4px 20px rgba(109, 74, 230, 0.4),
        0 0 40px rgba(124, 92, 230, 0.2);
}

.btn-primary:hover,
.btn-hero-primary:hover {
    box-shadow: 
        0 8px 30px rgba(109, 74, 230, 0.6),
        0 0 60px rgba(124, 92, 230, 0.4);
}

/* Enhanced CTA button glow */
.nav-link.nav-cta {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
    box-shadow: 0 4px 15px rgba(109, 74, 230, 0.3);
}

.nav-link.nav-cta:hover {
    box-shadow: 
        0 8px 25px rgba(109, 74, 230, 0.5),
        0 0 30px rgba(124, 92, 230, 0.3);
}

/* Hero card icon gradient */
.card-icon,
.preview-icon,
.mv-icon,
.value-icon,
.advantage-icon,
.industry-icon-large,
.stack-icon,
.info-icon,
.step-number {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
    box-shadow: 
        0 8px 25px rgba(109, 74, 230, 0.4),
        0 0 30px rgba(124, 92, 230, 0.2);
}

/* Trust bar icon gradient */
.trust-icon {
    background: linear-gradient(135deg, rgba(109, 74, 230, 0.2) 0%, rgba(124, 92, 230, 0.3) 100%);
    border: 1px solid rgba(124, 92, 230, 0.3);
}

.trust-icon i {
    color: #8B6BF0;
}

/* Section badge enhancement */
.section-badge {
    background: rgba(109, 74, 230, 0.1);
    border: 1px solid rgba(124, 92, 230, 0.25);
}

.section-badge i {
    color: #8B6BF0;
}

.section-badge span {
    background: linear-gradient(135deg, #7C5CE6 0%, #8B6BF0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Code brackets in preloader */
.bracket {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    filter: drop-shadow(0 0 20px rgba(124, 92, 230, 0.8));
}

/* Tagline divider */
.tagline-divider {
    background: linear-gradient(135deg, #6D4AE6, #8B6BF0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Progress bar gradient */
.preloader-progress,
.stat-bar-fill {
    background: linear-gradient(90deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
    box-shadow: 0 0 25px rgba(124, 92, 230, 0.6);
}

/* Circuit nodes glow */
.circuit-nodes .node {
    fill: #7C5CE6;
}

.data-pulses .pulse {
    fill: #8B6BF0;
    filter: drop-shadow(0 0 10px #8B6BF0);
}

/* Tech icons glow */
.tech-icon {
    background: rgba(124, 92, 230, 0.1);
    border-color: rgba(124, 92, 230, 0.25);
    color: #8B6BF0;
}

/* Card glow enhancement */
.hero-feature-card .card-glow,
.mv-card-glow,
.industry-card-glow,
.preview-card-glow,
.visual-main-card .card-glow {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
}

/* CTA section gradient */
.cta-gradient {
    background: linear-gradient(135deg, #5938C9 0%, #6D4AE6 30%, #7C5CE6 70%, #581c87 100%);
}

/* Showcase ring */
.showcase-ring {
    border-color: #7C5CE6;
}

/* Showcase number gradient */
.showcase-number {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Back to top button */
.back-to-top {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
    box-shadow: 0 0 30px rgba(124, 92, 230, 0.5);
}

.back-to-top:hover {
    box-shadow: 0 0 50px rgba(124, 92, 230, 0.7);
}

/* Footer social links */
.footer-socials a:hover,
.social-link:hover {
    background: linear-gradient(135deg, #6D4AE6 0%, #7C5CE6 50%, #8B6BF0 100%);
}

/* Stat plus sign */
.stat-plus {
    color: #8B6BF0;
}

/* Value number */
.value-number {
    color: rgba(124, 92, 230, 0.15);
}

/* Metric value */
.metric-value,
.card-stat .stat-value {
    color: #8B6BF0;
}

/* Tech badges */
.tech-badge {
    background: rgba(124, 92, 230, 0.15);
    border-color: rgba(124, 92, 230, 0.3);
    color: #8B6BF0;
}

.industry-tags span {
    background: rgba(124, 92, 230, 0.15);
    border-color: rgba(124, 92, 230, 0.3);
    color: #8B6BF0;
}

/* Floating badge bg */
.floating-badge i {
    color: #8B6BF0;
}

/* =====================================================
   PREMIUM CREDIT SECTION - KAYASTRA
   ===================================================== */
/* ============ Agency credit — quiet inline signature ============
   Sits on the footer bottom row, between copyright and legal links.
   No box, no decorative bar — a subtle designer signature. */
.credit-line-text {
    margin: 0;
    font-family: var(--font-secondary);
    font-size: 0.9rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: var(--slate-500);
    white-space: nowrap;
}
.credit-line-text .credit-brand {
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-decoration: none;
    background: linear-gradient(135deg, #B49BF5 0%, #C9BBF7 50%, #B49BF5 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    opacity: 0.85;
    transition: opacity 0.3s ease, filter 0.3s ease;
}
.credit-line-text .credit-brand:hover {
    opacity: 1;
    filter: drop-shadow(0 0 10px rgba(180, 155, 245, 0.45));
}

/* =====================================================================
   ENTERPRISE SECTIONS — additive components in the existing
   dark + gradient design language (reuses existing tokens & fonts).
   Used by the About / Services / Industries / Contact builds.
   ===================================================================== */

/* ---- Founder / leadership block ---- */
.founder-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 36px;
    align-items: start;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    padding: 44px;
}
.founder-avatar {
    width: 128px;
    height: 128px;
    border-radius: 24px;
    background: var(--gradient-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 2.6rem;
    font-weight: 800;
    color: #fff;
    box-shadow: var(--shadow-glow);
    overflow: hidden;
    flex-shrink: 0;
}
.founder-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center 34%; }
.founder-name { font-family: var(--font-display); font-size: 1.7rem; font-weight: 700; color: var(--white); }
.founder-role { color: var(--primary-blue-light); font-weight: 600; font-size: 0.95rem; margin: 4px 0 18px; }
.founder-bio { color: var(--slate-300); line-height: 1.7; margin-bottom: 22px; }
/* About — Floating Stat Card (sits over the hero/section seam) */
.stat-bar-section {
    position: relative;
    z-index: 5;
    /* pull the card up so it floats over the hero/dark-section boundary */
    margin-top: -3.25rem;
    margin-bottom: 0;
}

/* Tighten the gap between the floating stat card and the Who We Are content */
.about-intro {
    padding-top: 2.5rem !important;
}

.stat-bar-section .founder-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    max-width: 980px;
    margin: 0 auto;
    padding: 2rem 1rem;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    box-shadow: var(--shadow-xl);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    animation: statCardRise 0.7s ease-out both;
}

.stat-bar-section .founder-stat {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    padding: 0 1.25rem;
}

/* subtle dividers between the 4 stats */
.stat-bar-section .founder-stat + .founder-stat::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 48px;
    background: var(--glass-border);
}

/* Base founder-stat (also used by the nested founder-bio card) */
.founder-meta { display: flex; flex-wrap: wrap; gap: 28px; padding-top: 22px; border-top: 1px solid var(--glass-border); }
.founder-stat .num { font-family: var(--font-display); font-size: 1.6rem; font-weight: 800; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.founder-stat .lbl { color: var(--slate-400); font-size: 0.8rem; }

.stat-bar-section .founder-stat .num {
    font-size: 2rem;
    line-height: 1.1;
}

.stat-bar-section .founder-stat .lbl {
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0.2px;
}

@keyframes statCardRise {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Tablet — 2x2 grid */
@media (max-width: 768px) {
    .stat-bar-section { margin-top: -2.5rem; }
    .stat-bar-section .founder-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.75rem 0;
        padding: 1.75rem 0.75rem;
        border-radius: 16px;
    }
    .stat-bar-section .founder-stat { padding: 0 0.75rem; }
    .stat-bar-section .founder-stat .num { font-size: 1.7rem; word-break: break-word; }
    /* drop the inline vertical dividers; show one only between the two columns */
    .stat-bar-section .founder-stat + .founder-stat::before { display: none; }
    .stat-bar-section .founder-stat:nth-child(even)::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 44px;
        background: var(--glass-border);
    }
}

/* Mobile — 2x2 grid stays, tighten spacing */
@media (max-width: 640px) {
    .stat-bar-section { margin-top: -2.25rem; }
    .stat-bar-section .founder-meta {
        gap: 1.5rem 0;
        padding: 1.5rem 0.5rem;
    }
    .stat-bar-section .founder-stat { padding: 0 0.5rem; }
    .stat-bar-section .founder-stat .num { font-size: 1.75rem; }
    .stat-bar-section .founder-stat .lbl { font-size: 0.75rem; }
}

@media (prefers-reduced-motion: reduce) {
    .stat-bar-section .founder-meta { animation: none; }
}
.founder-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--primary-blue-light); font-weight: 600; font-size: 0.9rem; }

/* ---- Comparison table (engagement models) ---- */
.compare-wrap { overflow-x: auto; border: 1px solid var(--glass-border); border-radius: 16px; background: var(--gradient-card); }
.compare-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.compare-table th, .compare-table td { padding: 16px 22px; text-align: left; border-bottom: 1px solid var(--tint-06); }
.compare-table thead th { background: rgba(109, 74, 230, 0.1); font-family: var(--font-display); color: var(--white); font-size: 0.95rem; font-weight: 600; }
.compare-table td { color: var(--slate-300); font-size: 0.92rem; }
.compare-table tbody tr:last-child td { border-bottom: none; }
.compare-table .model-name { color: var(--primary-blue-light); font-weight: 700; }

/* ---- Healthcare / DME hero band ---- */
.hc-band { position: relative; background: var(--gradient-card); border: 1px solid var(--glass-border); border-radius: 28px; padding: 48px; overflow: hidden; }
.hc-band::before { content: ""; position: absolute; top: -40%; right: -10%; width: 480px; height: 480px; background: var(--gradient-glow); filter: blur(40px); pointer-events: none; }
.hc-band-inner { position: relative; z-index: 1; }
.hc-band h2 { font-family: var(--font-display); }
/* ---- HC Bento Grid System ---- */
.hc-bento-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 44px;
}
.hc-bento-card {
    background: rgba(255, 255, 255, 0.015);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 36px;
    transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}
.hc-bento-card:hover {
    transform: translateY(-4px);
    border-color: rgba(109, 74, 230, 0.35);
    background: rgba(109, 74, 230, 0.05);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.25);
}
.hc-bento-wide {
    grid-column: span 2;
}
.hc-bento-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
}
.hc-bento-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(109, 74, 230, 0.08);
    border: 1px solid rgba(109, 74, 230, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
}
.hc-bento-icon svg {
    width: 22px;
    height: 22px;
}
.hc-bento-header h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--white);
    margin: 0;
}

/* Roles List */
.hc-bento-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 14px;
}
.hc-bento-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--slate-300);
    font-size: 0.96rem;
}
.hc-bento-list li::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary-blue-light);
    box-shadow: 0 0 10px var(--primary-blue);
    flex-shrink: 0;
}

/* Systems Tags */
.hc-system-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.hc-sys-tag {
    background: var(--glass-bg);
    border: 1px solid var(--tint-06);
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 0.9rem;
    color: var(--slate-200);
    font-weight: 500;
    transition: all var(--transition-fast);
}
.hc-sys-tag:hover {
    border-color: var(--primary-blue-light);
    color: var(--white);
    background: rgba(109, 74, 230, 0.15);
}

/* Compliance Grid */
.hc-compliance-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.hc-comp-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(109, 74, 230, 0.05);
    border: 1px solid rgba(109, 74, 230, 0.2);
    border-radius: 50px;
    color: var(--slate-200);
    font-size: 0.95rem;
}
.comp-dot {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: var(--gradient-primary);
}

@media (max-width: 768px) {
    .hc-bento-grid { grid-template-columns: 1fr; }
    .hc-bento-wide { grid-column: span 1; }
}
/* ---- Shared Glowing Layer ---- */
.hc-bento-card, .hc-stat-card {
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.hc-card-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 140%;
    height: 140%;
    background: radial-gradient(circle, rgba(109, 74, 230, 0.25) 0%, transparent 65%);
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 0;
}
.hc-bento-card:hover .hc-card-glow, 
.hc-stat-card:hover .hc-card-glow,
.next-card:hover .hc-card-glow,
.accordion-item:hover .hc-card-glow {
    opacity: 1;
}

/* Make sure bento contents stay above the glow */
.hc-bento-header, .hc-bento-list, .hc-system-tags, .hc-compliance-grid {
    position: relative;
    z-index: 2;
}

/* ---- Glowy Stats Bento ---- */
.hc-stats-bento {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 44px;
}
.hc-stat-card {
    background: rgba(255, 255, 255, 0.015);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 36px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}
.hc-stat-card:hover {
    transform: translateY(-4px);
    border-color: rgba(109, 74, 230, 0.4);
    background: rgba(109, 74, 230, 0.05);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.25);
}
.hc-stat-card .stat-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.hc-stat-card .num {
    font-family: var(--font-display);
    font-size: 3.5rem;
    font-weight: 800;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
    margin-bottom: 8px;
    filter: drop-shadow(0 4px 12px rgba(109, 74, 230, 0.3));
}
.hc-stat-card .lbl {
    color: var(--slate-300);
    font-size: 0.96rem;
    letter-spacing: 0.5px;
    font-weight: 500;
}
@media (max-width: 768px) {
    .hc-stats-bento { grid-template-columns: 1fr; }
}

/* ---- Secondary "We Also Staff" equal grid ---- */
.also-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.also-card { background: var(--gradient-card); border: 1px solid var(--glass-border); border-radius: 16px; padding: 22px 24px; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.also-card:hover { transform: translateY(-4px); border-color: rgba(109, 74, 230, 0.4); }
.also-card h4 { font-family: var(--font-display); color: var(--white); font-size: 1.05rem; margin-bottom: 6px; display: flex; align-items: center; gap: 10px; }
.also-card p { color: var(--slate-400); font-size: 0.86rem; line-height: 1.5; }

/* ---- Dual-audience cards ---- */
.audience-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; }
.audience-card { background: var(--gradient-card); border: 1px solid var(--glass-border); border-radius: 24px; padding: 36px; }
.audience-card.primary { border-color: rgba(109, 74, 230, 0.45); box-shadow: var(--shadow-glow); }
.audience-card h3 { font-family: var(--font-display); color: var(--white); font-size: 1.4rem; margin-bottom: 8px; }
.audience-card p { color: var(--slate-400); font-size: 0.95rem; margin-bottom: 20px; }

/* ---- Roles & tech coverage grid ---- */
.roles-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.role-col h4 { font-family: var(--font-display); color: var(--white); font-size: 1rem; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.role-col ul { list-style: none; }
.role-col li { color: var(--slate-300); font-size: 0.9rem; padding: 5px 0 5px 18px; position: relative; }
.role-col li::before { content: ""; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--primary-blue); }

/* ---- Credentials / approach strip ---- */
.cred-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 3rem; }
@media (max-width: 768px) { .cred-strip { grid-template-columns: 1fr; } }
.cred-item { display: flex; align-items: center; gap: 9px; padding: 11px 18px; border: 1px solid var(--glass-border); border-radius: 50px; background: var(--glass-bg); color: var(--slate-200); font-size: 0.86rem; }
.cred-item i { color: var(--primary-blue-light); flex-shrink: 0; }

/* ---- Response SLA pill ---- */
.sla-pill { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border: 1px solid rgba(109, 74, 230, 0.35); border-radius: 12px; background: rgba(109, 74, 230, 0.08); color: var(--slate-200); font-size: 0.9rem; }
.sla-pill i { color: var(--primary-blue-light); }

/* ---- Journey Stepper (horizontal timeline) ---- */
.journey-stepper {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    padding-top: 60px;
    margin-top: 1rem;
}
/* Horizontal connecting track behind the nodes */
.journey-track {
    position: absolute;
    top: 82px;
    left: calc(16.666% - 2px);
    right: calc(16.666% - 2px);
    height: 3px;
    background: linear-gradient(90deg, var(--primary-blue), var(--primary-blue-light), var(--primary-blue));
    border-radius: 2px;
    box-shadow: 0 0 16px rgba(109, 74, 230, 0.4);
    z-index: 1;
}
.journey-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 2;
}
/* Numbered node circle */
.journey-node {
    width: 48px;
    height: 48px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
    box-shadow: var(--shadow-glow);
    transition: all var(--transition-normal);
    flex-shrink: 0;
}
.journey-step:hover .journey-node {
    transform: scale(1.15);
    box-shadow: 0 0 50px rgba(109, 74, 230, 0.6);
}
.journey-num {
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--on-accent);
    letter-spacing: 0.05em;
}
/* Card body */
.journey-card {
    position: relative;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    padding: 36px 28px 32px;
    overflow: hidden;
    transition: all var(--transition-normal);
    flex: 1;
}
.journey-step:hover .journey-card {
    transform: translateY(-8px);
    border-color: rgba(109, 74, 230, 0.5);
}
/* Purple glow behind card on hover */
.journey-card-glow {
    position: absolute;
    inset: -2px;
    background: var(--gradient-primary);
    border-radius: 26px;
    opacity: 0;
    z-index: -1;
    filter: blur(25px);
    transition: opacity var(--transition-normal);
}
.journey-step:hover .journey-card-glow {
    opacity: 0.25;
}
.journey-year {
    display: inline-block;
    font-family: var(--font-display);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--primary-blue-light);
    background: rgba(109, 74, 230, 0.1);
    border: 1px solid rgba(109, 74, 230, 0.3);
    border-radius: 50px;
    padding: 5px 16px;
    margin-bottom: 16px;
}
.journey-card h4 {
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: var(--white);
    margin-bottom: 12px;
}
.journey-card p {
    color: var(--slate-400);
    font-size: 0.92rem;
    line-height: 1.7;
    margin: 0;
}
@media (max-width: 768px) {
    .journey-stepper { grid-template-columns: 1fr; padding-top: 0; gap: 24px; }
    .journey-track { display: none; }
    .journey-node { margin-bottom: 16px; }
    .journey-card { padding: 28px 24px; }
}

/* ---- Engagement Models 3-column grid ---- */
.value-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: stretch;
}

/* ---- Responsive for enterprise sections ---- */
@media (max-width: 992px) {
    .value-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
    .audience-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .value-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .founder-card { grid-template-columns: 1fr; gap: 24px; padding: 32px 24px; text-align: left; }
    .founder-avatar { width: 96px; height: 96px; font-size: 2rem; }
    .hc-band { padding: 32px 24px; }
}

/* =========================================================
   CONTACT PAGE — premium pass (hero, audience split, next
   strip, trust band, form polish). Tokens only.
   ========================================================= */

/* ---- Hero lead + sub ---- */
.page-header-content .hero-lead {
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 3.2vw, 1.9rem);
    font-weight: 600;
    line-height: 1.25;
    color: var(--white);
    margin-bottom: 14px;
    max-width: 30ch;
}
.page-header-content .hero-sub {
    color: var(--slate-400);
    font-size: 1.02rem;
    line-height: 1.6;
    max-width: 52ch;
}
.page-header-content .hero-sub::before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 2px;
    margin: 0 12px 5px 0;
    vertical-align: middle;
    background: var(--gradient-primary);
    border-radius: 2px;
}

/* ---- Audience split: asymmetric 60/40 with OR divider ---- */
.audience-grid {
    grid-template-columns: minmax(0, 1.55fr) auto minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
}
.audience-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform var(--transition-base, 0.3s ease),
                border-color var(--transition-base, 0.3s ease),
                box-shadow var(--transition-base, 0.3s ease);
}
.audience-card p { flex: 1; }
.audience-card .btn { align-self: flex-start; }

/* Primary "door" — elevated, gradient glow border */
.audience-card.primary {
    border: 1px solid transparent;
    background:
        linear-gradient(var(--navy-800), var(--navy-800)) padding-box,
        var(--gradient-primary) border-box;
    box-shadow: 0 24px 60px -22px rgba(109, 74, 230, 0.55),
                var(--shadow-xl);
}
.audience-card.primary::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 90% at 0% 0%, rgba(109, 74, 230, 0.16) 0%, transparent 55%);
    pointer-events: none;
}
.audience-card.primary > * { position: relative; z-index: 1; }
.audience-card.primary:hover { transform: translateY(-4px); }

/* Secondary "door" — quieter */
.audience-card:not(.primary):hover {
    transform: translateY(-4px);
    border-color: var(--tint-18);
}

.audience-tag {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    font-family: var(--font-secondary);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 6px 12px;
    margin-bottom: 18px;
    border-radius: 50px;
    color: var(--primary-blue-light);
    background: rgba(109, 74, 230, 0.12);
    border: 1px solid rgba(109, 74, 230, 0.3);
}
.audience-tag.muted {
    color: var(--slate-400);
    background: var(--tint-04);
    border-color: var(--glass-border);
}
.audience-card h3 i { color: var(--primary-blue-light); margin-right: 6px; }

/* Vertical OR divider between the two doors */
.audience-divider {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 0 28px;
    align-self: stretch;
}
.audience-divider-line {
    width: 1px;
    flex: 1;
    background: linear-gradient(180deg, transparent, var(--glass-border) 25%, var(--glass-border) 75%, transparent);
}
.audience-divider-or {
    font-family: var(--font-display);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 3px;
    color: var(--slate-400);
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--navy-800);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow-md);
}

/* ---- Form polish ---- */
.btn-submit i.fas { transition: transform var(--transition-fast); }
.btn-submit:hover i.fas { transform: translateX(4px); }
.btn-submit:focus-visible,
.audience-card .btn:focus-visible,
.trust-value:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(109, 74, 230, 0.45);
}
.form-reassure {
    margin-top: 16px;
    text-align: center;
    font-size: 0.85rem;
    color: var(--slate-500);
}

/* ---- "What happens next" strip ---- */
/* ---- "What Happens Next" — collapsible toggle + vertical timeline ---- */
.next-section { padding: 0 0 var(--section-padding); }

/* Solid Pill Toggle button (Inspired by Get Directions) */
button.next-toggle {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    cursor: pointer;
    background: var(--primary-blue-light);
    border: none;
    border-radius: 50px;
    padding: 6px 6px 6px 28px;
    color: var(--white);
    font-family: var(--font-secondary);
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.2), 0 4px 14px rgba(109, 74, 230, 0.25);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
    outline: none;
}
button.next-toggle:hover {
    transform: translateY(-2px);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.3), 0 6px 20px rgba(109, 74, 230, 0.35);
    background: #9678F4; /* slightly lighter on hover */
}
button.next-toggle:active {
    transform: translateY(0);
}
button.next-toggle:focus-visible {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2), 0 0 0 6px rgba(109, 74, 230, 0.45);
}

/* Icon Container inside the button */
.next-toggle-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background var(--transition-fast);
}
button.next-toggle:hover .next-toggle-icon {
    background: rgba(255, 255, 255, 0.22);
}

/* Chevron rotates 180° when open */
.next-chevron {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
button.next-toggle[aria-expanded="true"] .next-chevron {
    transform: rotate(180deg);
}

/* Collapsible body */
.next-body {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition:
        max-height 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        opacity    0.4s  ease;
    pointer-events: none;
}
.next-body.open {
    max-height: 900px;
    opacity: 1;
    pointer-events: auto;
}

/* Section title inside the body */
.next-body .section-title {
    margin-top: 32px;
    text-align: center;
}

/* ---- Collapsible Accordion (What Happens Next) ---- */
.next-collapse {
    width: 100%;
    margin-bottom: 24px;
}
.next-collapse-summary {
    list-style: none; /* remove default triangle */
    cursor: pointer;
    position: relative;
    user-select: none;
    outline: none;
    transition: opacity var(--transition-fast);
}
.next-collapse-summary::-webkit-details-marker {
    display: none; /* for webkit browsers */
}
.next-collapse-summary:hover {
    opacity: 0.8;
}
.collapse-icon-wrapper {
    text-align: center;
    margin-top: 16px;
    color: var(--slate-400);
}
.collapse-ico {
    transition: transform 0.4s ease;
    font-size: 1.2rem;
}
.next-collapse[open] .collapse-ico,
.accordion-item[open] .collapse-ico {
    transform: rotate(180deg);
}

.next-collapse-content {
    /* To animate details open we usually use a keyframe, but native details snaps open. 
       Let's add a simple fade-in. */
    animation: fadeSlideIn 0.4s ease forwards;
}

@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- Vertical timeline layout ---- */
.next-strip {
    margin: 40px auto 0;
    padding: 0 0 0 32px;
    max-width: 720px;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Vertical dashed connector line on the left */
.next-strip::before {
    content: "";
    position: absolute;
    left: 40px;
    top: 40px;
    bottom: 60px;
    width: 1px;
    background-image: linear-gradient(180deg, 
        rgba(109, 74, 230, 0.4) 40%, 
        transparent 0%);
    background-position: left;
    background-size: 1px 10px;
    background-repeat: repeat-y;
}

/* Each step row */
.next-step {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 36px;
    padding: 0 0 32px;
    text-align: left;
    opacity: 0;
    transform: translateX(-18px);
    transition:
        opacity 0.5s ease,
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.next-step:last-child { padding-bottom: 0; }

/* Entrance — triggered natively when details[open] is true */
.next-collapse[open] .next-step:nth-child(1) { opacity: 1; transform: none; transition-delay: 0.1s; }
.next-collapse[open] .next-step:nth-child(2) { opacity: 1; transform: none; transition-delay: 0.2s; }
.next-collapse[open] .next-step:nth-child(3) { opacity: 1; transform: none; transition-delay: 0.3s; }

/* Elegant Node Point (replaces solid number circles) */
.next-node {
    position: relative;
    width: 18px;
    height: 18px;
    margin-top: 32px; /* align with card vertical center roughly */
    border-radius: 50%;
    background: var(--navy-900);
    border: 1px solid rgba(109, 74, 230, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 16px rgba(109, 74, 230, 0.3);
    z-index: 2;
}
.node-core {
    width: 6px;
    height: 6px;
    background: var(--primary-blue-light);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--primary-blue-light);
}

/* Glass Card */
.next-card {
    position: relative;
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 32px;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    backdrop-filter: var(--glass-blur);
    overflow: hidden;
    transition: transform var(--transition-normal), border-color var(--transition-normal);
}
.next-card:hover {
    transform: translateY(-2px);
    border-color: rgba(109, 74, 230, 0.3);
}

/* Number Watermark (replaces explicit step numbers) */
.next-watermark {
    position: absolute;
    right: 20px;
    bottom: -24px;
    font-family: var(--font-display);
    font-size: 160px;
    font-weight: 700;
    line-height: 1;
    color: rgba(255, 255, 255, 0.02);
    pointer-events: none;
    user-select: none;
    z-index: 0;
    transition: color var(--transition-normal);
}
.next-card:hover .next-watermark {
    color: rgba(109, 74, 230, 0.04);
}

/* Icon box */
.next-icon-box {
    position: relative;
    z-index: 1;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--primary-blue-light);
    background: rgba(109, 74, 230, 0.08);
    border: 1px solid rgba(109, 74, 230, 0.15);
    flex-shrink: 0;
}
.next-icon-box .about-ico {
    width: 24px;
    height: 24px;
}
.next-icon-box .ico-fill { fill: rgba(109, 74, 230, 0.12); }
.next-icon-box .ico-line { stroke: var(--primary-blue-light); stroke-width: 1.5; }

/* Text Content */
.next-content {
    position: relative;
    z-index: 1;
    padding-top: 4px;
}
.next-content h4 {
    font-family: 'Cormorant Garamond', var(--font-display);
    color: var(--white);
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.5px;
    margin: 0 0 8px;
    line-height: 1.2;
}
.next-content p {
    font-family: var(--font-secondary);
    color: var(--slate-400);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
    max-width: 40ch;
}

/* ---- Trust / availability band ---- */
.trust-band-section { padding: 0 0 var(--section-padding); }
.trust-band {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px 40px;
    padding: 30px 44px;
    border-radius: 20px;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    backdrop-filter: var(--glass-blur);
    box-shadow: var(--shadow-lg);
}
.trust-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}
.trust-label {
    font-family: var(--font-secondary);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--slate-500);
}
.trust-value {
    font-family: var(--font-display);
    font-size: 1.02rem;
    font-weight: 500;
    color: var(--slate-200);
    text-decoration: none;
    transition: color var(--transition-fast);
}
a.trust-value:hover { color: var(--primary-blue-light); }
.trust-sep {
    width: 1px;
    align-self: stretch;
    min-height: 38px;
    background: linear-gradient(180deg, transparent, var(--glass-border), transparent);
}

/* ---- Responsive: contact premium pass ---- */
@media (max-width: 900px) {
    .audience-grid { grid-template-columns: 1fr; }
    .audience-card.primary,
    .audience-card:not(.primary) { transform: none; }
    .audience-card.primary:hover,
    .audience-card:not(.primary):hover { transform: translateY(-4px); }
    .audience-divider {
        flex-direction: row;
        padding: 6px 0;
        gap: 16px;
    }
    .audience-divider-line { width: auto; height: 1px; flex: 1;
        background: linear-gradient(90deg, transparent, var(--glass-border) 25%, var(--glass-border) 75%, transparent); }
}
@media (max-width: 768px) {
    .next-strip { padding-left: 64px; }
    .next-num { left: -64px; }
    .trust-band { flex-direction: column; gap: 22px; padding: 28px 24px; text-align: center; }
    .trust-item { align-items: center; }
    .trust-sep { width: 60%; height: 1px; min-height: 0;
        background: linear-gradient(90deg, transparent, var(--glass-border), transparent); }
}
@media (prefers-reduced-motion: reduce) {
    .audience-card, .btn-submit i.fas, .trust-value { transition: none; }
}
/* ============================================================
   HERO REINVENTION — Software-First (2026-06-14)
   Software development is the hero. Staffing is secondary.
   Stays within existing palette/fonts (Space Grotesk / Inter,
   navy + blue→purple gradient).
   ============================================================ */

/* Eyebrow / live status */
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    margin-bottom: 32px;
    background: rgba(109, 74, 230, 0.08);
    border: 1px solid rgba(109, 74, 230, 0.22);
    border-radius: 100px;
    animation: fadeInUp 0.8s ease forwards;
}

.hero-eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary-blue-light);
    box-shadow: 0 0 10px var(--primary-blue-light);
    animation: pulse 2.4s ease infinite;
}

.hero-eyebrow-text {
    font-family: var(--font-secondary);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--slate-300);
}

/* Headline — big software-first moment */
.hero-headline .headline-main {
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 6vw, 4.75rem);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -0.02em;
    color: var(--white);
}

.hero-headline .word-line {
    display: block;
}

.hero-headline .gradient-line {
    margin-top: 0.04em;
}

/* Subline */
.hero-description {
    max-width: 52ch;   /* readable measure (~45–75 char target) */
}

/* Secondary staffing pill — small, supporting, not a co-headline */
.hero-secondary-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 26px;
    padding: 11px 18px;
    background: var(--tint-03);
    border: 1px solid var(--glass-border);
    border-radius: 100px;
    text-decoration: none;
    transition: all var(--transition-normal);
    animation: fadeInUp 0.8s ease 0.5s forwards;
    opacity: 0;
}

.hero-secondary-pill:hover {
    background: rgba(109, 74, 230, 0.08);
    border-color: rgba(109, 74, 230, 0.3);
    transform: translateY(-2px);
}

.hero-secondary-pill:focus-visible {
    outline: 2px solid var(--primary-blue-light);
    outline-offset: 3px;
}

.pill-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(109, 74, 230, 0.18);
    color: var(--primary-blue-light);
    font-size: 0.72rem;
    flex-shrink: 0;
}

.pill-text {
    font-family: var(--font-secondary);
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--slate-300);
}

.pill-arrow {
    font-size: 0.72rem;
    color: var(--slate-500);
    transition: transform var(--transition-normal), color var(--transition-normal);
}

.hero-secondary-pill:hover .pill-arrow {
    transform: translateX(3px);
    color: var(--primary-blue-light);
}

/* Proof row — replaces staffing-stat bars */
.hero-proof-row {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 8px;
    padding-top: 30px;
    border-top: 1px solid var(--glass-border);
    animation: fadeInUp 0.8s ease 0.7s forwards;
    opacity: 0;
}

.proof-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.proof-value {
    font-family: var(--font-display);
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--white);
    line-height: 1;
}

.proof-label {
    font-family: var(--font-secondary);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.3px;
    color: var(--slate-500);
}

.proof-divider {
    width: 1px;
    height: 38px;
    background: linear-gradient(to bottom, transparent, var(--glass-border), transparent);
}

/* ---- Build Console card (replaces staffing-stats card) ---- */
.build-console .card-header {
    margin-bottom: 26px;
}

.console-window-dots {
    display: flex;
    gap: 7px;
}

.console-window-dots span {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--tint-14);
}

.console-window-dots span:nth-child(1) { background: rgba(124, 58, 237, 0.55); }
.console-window-dots span:nth-child(2) { background: rgba(109, 74, 230, 0.55); }
.console-window-dots span:nth-child(3) { background: rgba(139, 107, 240, 0.55); }

.console-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
}

.console-prompt {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--primary-blue-light);
}

.console-title-text {
    font-family: var(--font-secondary);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--slate-400);
}

.capability-list {
    list-style: none;
    margin: 0 0 26px;
    padding: 0;
    display: grid;
    gap: 12px;
}

.capability-chip {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 16px;
    background: var(--tint-03);
    border: 1px solid var(--tint-07);
    border-radius: 14px;
    transition: all var(--transition-normal);
    opacity: 0;
    animation: fadeInUp 0.6s ease forwards;
}

.capability-chip:nth-child(1) { animation-delay: 0.55s; }
.capability-chip:nth-child(2) { animation-delay: 0.7s; }
.capability-chip:nth-child(3) { animation-delay: 0.85s; }
.capability-chip:nth-child(4) { animation-delay: 1s; }

.build-console:hover .capability-chip {
    border-color: rgba(109, 74, 230, 0.22);
}

.chip-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(109, 74, 230, 0.2) 0%, rgba(124, 58, 237, 0.2) 100%);
    border: 1px solid rgba(109, 74, 230, 0.25);
    color: var(--primary-blue-light);
    font-size: 0.95rem;
}

.chip-text {
    font-family: var(--font-secondary);
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--slate-200);
}

.console-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 18px;
    border-top: 1px solid var(--tint-06);
}

.console-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
    flex-shrink: 0;
}

.console-footer-text {
    font-family: var(--font-secondary);
    font-size: 0.85rem;
    color: var(--slate-400);
}

.console-footer-text strong {
    color: var(--white);
    font-weight: 600;
}

/* Mobile: surface the console as a clean capability strip
   (the .hero-visual is display:none ≤1200px, so we give
   mobile its own software-first capability row instead) */
.hero-mobile-caps {
    display: none;
}

@media (max-width: 1200px) {
    .hero-eyebrow,
    .hero-proof-row,
    .hero-secondary-pill {
        justify-content: center;
    }
    .hero-proof-row {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .hero-secondary-pill {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 768px) {
    .hero-proof-row {
        gap: 18px;
    }
    .proof-value { font-size: 1.25rem; }
    .proof-label { font-size: 0.72rem; }
    .hero-secondary-pill {
        max-width: 100%;
    }
    .pill-text { font-size: 0.8rem; }
}

@media (max-width: 480px) {
    .hero-proof-row {
        gap: 14px;
    }
    .proof-divider { height: 30px; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-eyebrow,
    .hero-secondary-pill,
    .hero-proof-row,
    .capability-chip {
        animation: none !important;
        opacity: 1 !important;
    }
    .hero-eyebrow-dot { animation: none; }
    .hero-secondary-pill:hover,
    .hero-secondary-pill:hover .pill-arrow { transform: none; }
}

/* ============================================================
   ABOUT — "THE PROOF STACK" (about-intro-visual redesign)
   Editorial layered composition: a hero satisfaction panel
   anchored centre, three asymmetric satellite metrics, hairline
   gradient connectors, glassmorphism + scroll-stagger reveal.
   Reuses existing tokens / keyframes (gradientFlow, spinSlow,
   .animate-on-scroll). No new fonts, no palette changes.
   ============================================================ */
.about-intro-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.proof-stack {
    position: relative;
    width: 100%;
    max-width: 440px;
    aspect-ratio: 1 / 1.18;
    margin: 0 auto;
}

/* --- ambient depth --- */
.proof-glow {
    position: absolute;
    inset: 8% 8% 14% 8%;
    background: radial-gradient(circle at 55% 45%, rgba(109, 74, 230, 0.22) 0%, transparent 68%);
    filter: blur(20px);
    z-index: 0;
    pointer-events: none;
}

.proof-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 92%;
    height: 92%;
    transform: translate(-50%, -50%);
    border: 1px solid transparent;
    border-radius: 50%;
    border-top-color: rgba(139, 107, 240, 0.28);
    border-right-color: rgba(124, 58, 237, 0.18);
    animation: spinSlow 28s linear infinite;
    z-index: 0;
    pointer-events: none;
}

.proof-connectors {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

/* --- HERO metric panel --- */
.proof-hero {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: 60%;
    min-width: 210px;
    padding: 26px 24px 22px;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 22px;
    box-shadow: var(--shadow-xl), inset 0 1px 0 var(--tint-05);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
}

/* Hero card keeps its centring transform while the scroll-reveal
   plays — so we animate opacity + a small intrinsic lift instead. */
.proof-hero.animate-on-scroll {
    transform: translate(-50%, calc(-50% + 24px));
}

.proof-hero.animate-on-scroll.animated {
    transform: translate(-50%, -50%);
}

.proof-hero-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.proof-eyebrow {
    font-family: var(--font-secondary);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--slate-400);
}

.proof-pulse {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.5);
    animation: proofPulse 2.4s ease-out infinite;
    flex-shrink: 0;
}

@keyframes proofPulse {
    0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.5); }
    70% { box-shadow: 0 0 0 9px rgba(52, 211, 153, 0); }
    100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); }
}

.proof-hero-figure {
    display: flex;
    align-items: baseline;
    gap: 2px;
    line-height: 1;
}

.proof-num {
    font-family: var(--font-display);
    font-weight: 800;
    background: linear-gradient(120deg, #8B6BF0 0%, #818cf8 45%, #8B6BF0 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientFlow 6s ease infinite;
}

.proof-hero-figure .proof-num {
    font-size: 3.4rem;
}

.proof-unit {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--primary-blue-light);
}

.proof-hero-figure .proof-unit {
    font-size: 1.6rem;
}

.proof-hero-sub {
    margin: 8px 0 16px;
    font-family: var(--font-secondary);
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--slate-400);
}

/* CSS bar-graph accent — pure CSS, no images */
.proof-bars {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    height: 42px;
}

.proof-bars span {
    flex: 1;
    height: var(--h);
    border-radius: 3px 3px 0 0;
    background: linear-gradient(180deg, rgba(139, 107, 240, 0.9) 0%, rgba(124, 58, 237, 0.35) 100%);
    transform-origin: bottom;
    transform: scaleY(0);
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.proof-hero.animated .proof-bars span { transform: scaleY(1); }
.proof-hero.animated .proof-bars span:nth-child(1) { transition-delay: 0.20s; }
.proof-hero.animated .proof-bars span:nth-child(2) { transition-delay: 0.26s; }
.proof-hero.animated .proof-bars span:nth-child(3) { transition-delay: 0.32s; }
.proof-hero.animated .proof-bars span:nth-child(4) { transition-delay: 0.38s; }
.proof-hero.animated .proof-bars span:nth-child(5) { transition-delay: 0.44s; }
.proof-hero.animated .proof-bars span:nth-child(6) { transition-delay: 0.50s; }
.proof-hero.animated .proof-bars span:nth-child(7) { transition-delay: 0.56s; }
.proof-hero.animated .proof-bars span:nth-child(8) { transition-delay: 0.62s; }

/* --- satellite metric cards (asymmetric, editorial positions) --- */
.proof-sat {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    background: var(--gradient-card);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    box-shadow: var(--shadow-lg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    transition: transform var(--transition-normal), border-color var(--transition-normal),
                box-shadow var(--transition-normal);
}

.proof-sat:hover {
    transform: translateY(-4px);
    border-color: rgba(139, 107, 240, 0.5);
    box-shadow: var(--shadow-xl), 0 0 24px rgba(109, 74, 230, 0.18);
}

/* asymmetric placement — not clock positions */
.sat-years  { top: 8%;  left: 0; }
.sat-placed { top: 32%; right: 0; }
.sat-reach  { bottom: 2%; left: 6%; }

.proof-sat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--gradient-primary);
    flex-shrink: 0;
}

.proof-sat-icon i {
    font-size: 0.95rem;
    color: var(--white);
}

.proof-sat-body { display: flex; flex-direction: column; gap: 1px; }

.proof-sat-figure {
    display: flex;
    align-items: baseline;
    line-height: 1;
}

.proof-sat-figure .proof-num { font-size: 1.5rem; }
.proof-sat-figure .proof-unit { font-size: 1rem; }

.proof-sat-figure--text {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.2rem;
    background: linear-gradient(120deg, #8B6BF0 0%, #8B6BF0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.proof-sat-label {
    font-family: var(--font-secondary);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.3px;
    color: var(--slate-400);
}

/* satellite scroll-reveal stagger (overrides .animate-on-scroll delay) */
.proof-sat.animate-on-scroll { transition-delay: 0.12s; }
.sat-years.animate-on-scroll  { transition-delay: 0.18s; }
.sat-placed.animate-on-scroll { transition-delay: 0.28s; }
.sat-reach.animate-on-scroll  { transition-delay: 0.38s; }

/* --- responsive: stack vertically below the prose on small screens --- */
@media (max-width: 992px) {
    .proof-stack {
        max-width: 380px;
        aspect-ratio: 1 / 1.15;
    }
}

@media (max-width: 600px) {
    .proof-stack {
        max-width: 100%;
        aspect-ratio: auto;
        display: flex;
        flex-direction: column;
        gap: 14px;
        padding: 8px 0;
    }

    .proof-glow, .proof-ring, .proof-connectors { display: none; }

    .proof-hero {
        position: static;
        transform: none;
        width: 100%;
        min-width: 0;
    }

    .proof-hero.animate-on-scroll { transform: translateY(24px); }
    .proof-hero.animate-on-scroll.animated { transform: translateY(0); }

    .proof-sat {
        position: static;
        width: 100%;
    }

    .proof-hero-figure .proof-num { font-size: 2.9rem; }
}

/* respect reduced motion — show everything, kill ambient + bar motion */
@media (prefers-reduced-motion: reduce) {
    .proof-ring,
    .proof-pulse,
    .proof-num { animation: none !important; }

    .proof-bars span {
        transform: scaleY(1) !important;
        transition: none !important;
    }

    .proof-hero.animate-on-scroll,
    .proof-hero.animate-on-scroll.animated {
        transform: translate(-50%, -50%) !important;
    }
}

/* =====================================================================
   FROSTED-GLASS DESIGN SYSTEM — site-wide consistency pass (2026-06-20)
   Every chrome element now speaks the same "smoked glass" language as the
   hero buttons: translucent fill, thin lit border, soft top sheen, real
   backdrop blur, buttery ease-out-expo motion. Purple = accent (theme-safe
   on both dark + light); neutral surfaces use theme-adaptive vars so they
   survive the light theme. Appended last so it wins by source order.
   ===================================================================== */
:root { --glass-ease: cubic-bezier(0.16, 1, 0.3, 1); }

/* 1. Nav "Contact Us" CTA → frosted purple glass (matches hero primary) */
.nav-link.nav-cta {
    background: linear-gradient(180deg, rgba(139, 107, 240, 0.92) 0%, rgba(109, 74, 230, 0.88) 100%);
    border: 1px solid rgba(167, 139, 250, 0.55);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 6px 22px rgba(109, 74, 230, 0.34);
    -webkit-backdrop-filter: blur(12px) saturate(1.3);
    backdrop-filter: blur(12px) saturate(1.3);
    transition: transform 0.45s var(--glass-ease), box-shadow 0.45s var(--glass-ease),
                background 0.45s var(--glass-ease);
}
.nav-link.nav-cta:hover {
    transform: translateY(-2px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 12px 34px rgba(109, 74, 230, 0.50);
}
.nav-link.nav-cta i { transition: transform 0.45s var(--glass-ease); }
.nav-link.nav-cta:hover i { transform: translateX(3px); }

/* 2. Theme toggle → glassy track + glowing thumb */
.theme-toggle .toggle-track {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.theme-toggle .toggle-thumb {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35), 0 0 10px rgba(139, 107, 240, 0.55);
}

/* 3. Section eyebrow pills ("WHO WE ARE" etc.) → glass pill */
.section-badge {
    background: rgba(109, 74, 230, 0.12);
    border: 1px solid rgba(139, 107, 240, 0.30);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
    -webkit-backdrop-filter: blur(12px) saturate(1.3);
    backdrop-filter: blur(12px) saturate(1.3);
}

/* 4. Testimonial avatar → purple glass + soft glow ring */
.cine-quote-avatar {
    border: 1px solid rgba(167, 139, 250, 0.55);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.40),
                0 0 0 4px rgba(109, 74, 230, 0.12),
                0 6px 20px rgba(109, 74, 230, 0.40);
}

/* 5. Social circles (footer + contact page) → glass, purple-glass on hover */
.social-link, .footer-socials a {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
    -webkit-backdrop-filter: blur(12px) saturate(1.3);
    backdrop-filter: blur(12px) saturate(1.3);
    transition: transform 0.45s var(--glass-ease), background 0.45s var(--glass-ease),
                border-color 0.45s var(--glass-ease), box-shadow 0.45s var(--glass-ease),
                color 0.45s var(--glass-ease);
}
.social-link:hover, .footer-socials a:hover {
    transform: translateY(-4px);
    background: linear-gradient(180deg, rgba(139, 107, 240, 0.92) 0%, rgba(109, 74, 230, 0.88) 100%);
    border-color: rgba(167, 139, 250, 0.55);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.40), 0 12px 30px rgba(109, 74, 230, 0.45);
}

/* 6. Footer contact icons → small purple glass chips */
.footer-contact i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-top: 0;
    border-radius: 10px;
    background: rgba(109, 74, 230, 0.12);
    border: 1px solid rgba(139, 107, 240, 0.28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: var(--primary-blue-light);
    font-size: 0.9rem;
    flex-shrink: 0;
    transition: transform 0.45s var(--glass-ease), background 0.45s var(--glass-ease),
                border-color 0.45s var(--glass-ease);
}
.footer-contact li:hover i {
    transform: translateY(-2px);
    background: rgba(109, 74, 230, 0.20);
    border-color: rgba(139, 107, 240, 0.5);
}

/* 7. Back-to-top FAB → frosted purple glass (keeps its show/hide transform) */
.back-to-top {
    background: linear-gradient(180deg, rgba(139, 107, 240, 0.90) 0%, rgba(109, 74, 230, 0.85) 100%);
    border: 1px solid rgba(167, 139, 250, 0.5);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 8px 26px rgba(109, 74, 230, 0.40);
    -webkit-backdrop-filter: blur(14px) saturate(1.3);
    backdrop-filter: blur(14px) saturate(1.3);
}
.back-to-top:hover {
    transform: translateY(-5px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 16px 40px rgba(109, 74, 230, 0.55);
}

/* 8 + 9. About stat bar + floating proof cards (already glass) → add top sheen
   + a buttery hover so they match the new motion language. */
.stat-bar-section .founder-meta {
    box-shadow: var(--shadow-xl), inset 0 1px 0 rgba(255, 255, 255, 0.10);
}
.proof-hero {
    box-shadow: var(--shadow-xl), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.proof-sat {
    transition: transform 0.5s var(--glass-ease), border-color 0.5s var(--glass-ease),
                box-shadow 0.5s var(--glass-ease);
}
.proof-sat:hover {
    transform: translateY(-4px);
    border-color: rgba(139, 107, 240, 0.55);
    box-shadow: var(--shadow-xl), 0 0 26px rgba(109, 74, 230, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.proof-sat-icon {
    border: 1px solid rgba(167, 139, 250, 0.40);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.30);
}

/* 10. Full .btn family → one glass language everywhere (CTA bands, inner pages) */
/* Purple primaries → frosted purple glass + circular arrow badge (match hero) */
.btn-primary, .btn-hero-primary {
    background: linear-gradient(180deg, rgba(139, 107, 240, 0.92) 0%, rgba(109, 74, 230, 0.88) 100%);
    color: #fff;
    border: 1px solid rgba(167, 139, 250, 0.55);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 8px 28px rgba(109, 74, 230, 0.36);
    -webkit-backdrop-filter: blur(12px) saturate(1.3);
    backdrop-filter: blur(12px) saturate(1.3);
    transition: transform 0.45s var(--glass-ease), box-shadow 0.45s var(--glass-ease),
                background 0.45s var(--glass-ease);
}
.btn-primary:hover, .btn-hero-primary:hover {
    transform: translateY(-3px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 16px 44px rgba(109, 74, 230, 0.55);
}
/* Bright/white primaries (purple bands + dark) → frosted bright glass + dark arrow badge */
.btn-white, .btn-light {
    background: rgba(255, 255, 255, 0.96);
    color: var(--navy-800);
    border: 1px solid rgba(255, 255, 255, 0.70);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.90), 0 8px 26px rgba(0, 0, 0, 0.20);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: transform 0.45s var(--glass-ease), box-shadow 0.45s var(--glass-ease),
                background 0.45s var(--glass-ease);
}
.btn-white:hover, .btn-light:hover {
    transform: translateY(-3px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.90), 0 16px 40px rgba(0, 0, 0, 0.30);
}
/* Ghost on the purple CTA band → frosted white (band is purple in both themes) */
.btn-outline-white {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.32);
    color: var(--white);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    backdrop-filter: blur(12px) saturate(1.2);
    transition: transform 0.45s var(--glass-ease), background 0.45s var(--glass-ease),
                border-color 0.45s var(--glass-ease);
}
.btn-outline-white:hover {
    transform: translateY(-3px);
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.60);
}
/* Theme-adaptive secondaries (already glass) → just add sheen + buttery ease */
.btn-secondary, .btn-hero-secondary {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
    transition: transform 0.45s var(--glass-ease), background 0.45s var(--glass-ease),
                border-color 0.45s var(--glass-ease);
}
/* Circular arrow badge inside the primaries */
.btn-primary i, .btn-hero-primary i {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; margin: -3px -10px -3px 0; border-radius: 50%;
    background: rgba(255, 255, 255, 0.18); font-size: 0.74rem;
    transition: background 0.45s var(--glass-ease), transform 0.45s var(--glass-ease);
}
.btn-primary:hover i, .btn-hero-primary:hover i { background: rgba(255, 255, 255, 0.32); transform: translateX(3px); }
.btn-white i, .btn-light i {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; margin: -3px -10px -3px 0; border-radius: 50%;
    background: rgba(16, 18, 34, 0.10); font-size: 0.74rem;
    transition: background 0.45s var(--glass-ease), transform 0.45s var(--glass-ease);
}
.btn-white:hover i, .btn-light:hover i { background: rgba(16, 18, 34, 0.18); transform: translateX(3px); }

/* 11. FAQ accordion cards → glass + soft purple glow when open */
.accordion-item {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    transition: border-color 0.4s var(--glass-ease), box-shadow 0.4s var(--glass-ease);
}
.accordion-item:hover { border-color: rgba(139, 107, 240, 0.40); }
.accordion-item[open] {
    border-color: rgba(139, 107, 240, 0.55);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 28px rgba(109, 74, 230, 0.14);
}

/* ===================================================================
   Dual-tone .about-ico icon system (sizing + fill/stroke). Restored —
   a to-EOF replace wiped it; without it every .about-ico SVG renders
   full-size (the 615px icon that blew up the contact cards).
   =================================================================== */
.about-ico {
    width: 1em;
    height: 1em;
    display: block;
    color: var(--cine-node-lit);
    flex-shrink: 0;
    overflow: visible;
}
.about-ico .ico-line {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-ico .ico-fill {
    fill: currentColor;
    opacity: 0.12;
    stroke: none;
}
.about-badge .about-ico { width: 1.05rem; height: 1.05rem; }
.cred-item .about-ico  { width: 1.15rem; height: 1.15rem; }
.contact-intent-ico { display: inline-flex; align-items: center; }
.contact-intent-ico .about-ico { width: 1.15rem; height: 1.15rem; }
.proof-sat-icon .about-ico,
.mv-icon .about-ico,
.value-icon .about-ico,
.advantage-icon .about-ico { color: #ffffff; }
.proof-sat-icon .about-ico .ico-fill,
.mv-icon .about-ico .ico-fill,
.value-icon .about-ico .ico-fill,
.advantage-icon .about-ico .ico-fill { opacity: 0.28; }

/* ===================================================================
   CONTACT VIDEO HERO  (.cta-hero*) — cinematic inset video hero.
   Restored (recovered from session transcript after an EOF-replace wiped
   it). Heading = --font-display (General Sans); ARK purple; letters rise +
   fade (no overflow clip — the "Let's talk" cut-off fix).
   =================================================================== */
.cta-hero { padding: 88px 1rem 1rem; background: #000; }
@media (min-width: 768px) { .cta-hero { padding: 96px 1.5rem 1.5rem; } }
.cta-hero-inner { position: relative; width: 100%; min-height: 84vh; border-radius: 1.25rem; overflow: hidden; isolation: isolate; }
@media (min-width: 768px) { .cta-hero-inner { border-radius: 2rem; min-height: 86vh; } }
.cta-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.cta-hero-noise { position: absolute; inset: 0; z-index: 1; opacity: 0.6; mix-blend-mode: overlay; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.cta-hero-gradient { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(to bottom, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0) 45%, rgba(0,0,0,0.62) 100%); }
.cta-hero-content { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: end; padding: 1.5rem; }
@media (min-width: 1024px) { .cta-hero-content { grid-template-columns: 8fr 4fr; padding: 3rem 3.5rem; gap: 2rem; } }
.cta-hero-heading-wrap { grid-column: span 12; min-width: 0; }
@media (min-width: 1024px) { .cta-hero-heading-wrap { grid-column: span 8; } }
.cta-hero-heading { position: relative; display: block; margin: 0; font-family: var(--font-display); font-size: clamp(3.5rem, 20vw, 14rem); font-weight: 600; line-height: 0.85; letter-spacing: -0.06em; color: #C9BBF7; text-shadow: 0 2px 40px rgba(0, 0, 0, 0.35); }
@media (min-width: 1024px) { .cta-hero-heading { font-size: clamp(5rem, 18vw, 16rem); } }
.cta-pull-word { display: inline-block; }
.cta-pull-letter { display: inline-block; transform: translateY(0.4em); opacity: 0; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease; }
.cta-pull-letter.in { transform: translateY(0); opacity: 1; }
.cta-asterisk-host { position: relative; }
.cta-asterisk { position: absolute; top: 0.05em; right: -0.42em; font-size: 0.36em; color: #8B6BF0; }
.cta-hero-right { grid-column: span 12; display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
@media (min-width: 1024px) { .cta-hero-right { grid-column: span 4; align-items: flex-end; text-align: right; padding-bottom: 0.6rem; } }
.cta-hero-desc { margin: 0; max-width: 30ch; font-family: var(--font-secondary); font-size: 0.95rem; line-height: 1.45; color: rgba(201, 187, 247, 0.70); opacity: 0; transform: translateY(20px); transition: opacity 1s ease 0.5s, transform 1s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; }
.cta-hero-desc.in { opacity: 1; transform: translateY(0); }
.cta-hero-btn { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.5rem 0.5rem 0.5rem 1.4rem; background: #8B6BF0; color: #000; font-family: var(--font-secondary); font-weight: 600; font-size: 0.95rem; border-radius: 999px; text-decoration: none; opacity: 0; transform: translateY(20px); transition: opacity 1s ease 0.7s, transform 1s cubic-bezier(0.16, 1, 0.3, 1) 0.7s, background 0.25s ease; }
.cta-hero-btn.in { opacity: 1; transform: translateY(0); }
.cta-hero-btn:hover { background: #9B7DFF; }
.cta-hero-circle { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: #000; border-radius: 999px; transition: transform 0.3s ease; }
.cta-hero-btn:hover .cta-hero-circle { transform: scale(1.1); }
@media (min-width: 768px) { .cta-hero-circle { width: 40px; height: 40px; } }
.cta-hero-circle svg { width: 18px; height: 18px; stroke: #fff; }
[data-theme="light"] .cta-hero { background: #000; }
[data-theme="light"] .cta-hero-heading { color: #C9BBF7; }
[data-theme="light"] .cta-hero-desc { color: rgba(201, 187, 247, 0.70); }
[data-theme="light"] .cta-hero-btn { background: #8B6BF0; color: #000; }
[data-theme="light"] .cta-asterisk { color: #8B6BF0; }
@media (prefers-reduced-motion: reduce) { .cta-pull-letter, .cta-hero-desc, .cta-hero-btn { transition: none !important; transform: none !important; opacity: 1 !important; } }

/* =====================================================================
   NATIONWIDE REACH — the complete dotted globe as its own moment.
   Copy on the left, whole globe centered on the right (contained, not bled).
   ===================================================================== */
.reach-section {
    position: relative;
    z-index: 2;
    background: var(--cine-bg);
    padding: clamp(70px, 11vh, 130px) 0;
}
.reach-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 40px;
}
.reach-copy { max-width: 520px; }
.reach-copy .cine-eyebrow { margin-bottom: 22px; }
.reach-title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(2.2rem, 4.4vw, 3.5rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
    color: var(--cine-headline-soft, #eef1f8);
    margin: 0 0 22px;
}
.reach-title .cine-accent {
    background: var(--gradient-primary);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    filter: drop-shadow(0 0 22px rgba(139, 107, 240, 0.40));
}
.reach-sub {
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.65;
    color: var(--slate-300, rgba(226,232,240,0.74));
    margin: 0 0 30px;
}
.reach-stat { display: flex; align-items: baseline; gap: 14px; }
.reach-num {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(2.4rem, 4vw, 3.2rem);
    line-height: 1;
    background: var(--gradient-primary);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    filter: drop-shadow(0 0 18px rgba(139, 107, 240, 0.30));
}
.reach-lbl {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--slate-400, rgba(148,163,184,0.85));
    max-width: 190px;
    line-height: 1.35;
}

/* the globe stage — whole sphere, centered, soft halo behind it */
.reach-globe-wrap {
    position: relative;
    justify-self: center;
    width: min(46vw, 520px);
    aspect-ratio: 1 / 1;
}
.reach-globe-ring {
    position: absolute; inset: 4%;
    border-radius: 50%;
    background: radial-gradient(circle at center, rgba(109, 74, 230, 0.30) 0%, transparent 64%);
    filter: blur(38px);
    pointer-events: none;
}
.reach-globe {
    position: relative;
    width: 100%; height: 100%;
    opacity: 0;
    transition: opacity 1.2s ease;
}
.reach-globe.is-ready { opacity: 1; }
[data-theme="light"] .reach-globe { opacity: 0 !important; }
[data-theme="light"] .reach-globe-ring { opacity: 0.4; }

@media (max-width: 860px) {
    .reach-grid { grid-template-columns: 1fr; gap: 30px; justify-items: center; text-align: center; }
    .reach-copy { max-width: 560px; }
    .reach-copy .cine-eyebrow, .reach-stat { justify-content: center; }
    .reach-stat { flex-direction: column; align-items: center; gap: 6px; text-align: center; }
    .reach-lbl { max-width: none; }
    .reach-globe-wrap { width: min(80vw, 420px); }
}

/* =====================================================================
   ABOUT HERO — heroic "command center" treatment (headline + glass HUD).
   Scoped to .about-ambient-page so nothing else is affected.
   ===================================================================== */
.about-ambient-page .about-hero {
    position: relative;
    z-index: 2;
    padding: clamp(120px, 16vh, 190px) 0 70px;
    min-height: 78vh;
    display: flex;
    align-items: center;
}
/* the flex hero was shrink-wrapping .container to its text; force full width
   so all hero content shares the page's real left edge (aligns with the HUD) */
.about-ambient-page .about-hero .container { width: 100%; }
.about-ambient-page .about-hero-inner {
    max-width: 640px;
}
.about-hero .cine-eyebrow { margin-bottom: 26px; }

.about-hero-title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(3rem, 7.2vw, 5.6rem);
    line-height: 0.97;
    letter-spacing: -0.035em;
    margin: 0 0 28px;
}
.about-hero-line {
    display: block;
    background: linear-gradient(180deg, #ffffff 0%, #e2e6ef 28%, #9aa3ba 74%, #7d869f 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.about-hero-soft {
    font-weight: 400;
    font-size: 0.6em;
    letter-spacing: 0.15em;
    margin-bottom: -0.1em;
    opacity: 0.85;
}
[data-theme="light"] .about-hero-line {
    background: none;
    -webkit-text-fill-color: var(--cine-headline-soft);
    color: var(--cine-headline-soft);
}
/* the brand word keeps the purple gradient + glow (overrides the chrome) */
.about-hero-line .cine-accent {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    filter: drop-shadow(0 0 26px rgba(139, 107, 240, 0.42));
}
.about-hero-sub {
    max-width: 600px;
    font-size: clamp(1.05rem, 1.5vw, 1.26rem);
    line-height: 1.62;
    color: var(--slate-300, rgba(226,232,240,0.78));
    margin: 0;
}

/* heroic hero typography now applies to every .about-hero page. Non-About
   pages get a centered, contained hero column (no globe layout). */
.svc-ambient-page .about-hero,
.ind-ambient-page .about-hero { padding: clamp(108px, 15vh, 168px) 0 44px; }
.svc-ambient-page .about-hero-inner,
.ind-ambient-page .about-hero-inner { max-width: 760px; margin: 0 auto; text-align: center; }
.ind-ambient-page .about-hero-sub { margin-left: auto; margin-right: auto; }
/* Services + About heroes match the Industries hero: full-height, vertically centered */
.svc-ambient-page .about-hero { min-height: 100vh; display: flex; align-items: center; }
.svc-ambient-page .about-hero .container { width: 100%; }
.svc-ambient-page .about-hero-sub { margin-left: auto; margin-right: auto; }


/* entrance: rise the hero pieces in on load (reduced-motion safe) */
@keyframes aboutHeroRise {
    from { opacity: 0; transform: translateY(26px); }
    to   { opacity: 1; transform: translateY(0); }
}
.about-ambient-page .about-hero-inner > * {
    opacity: 0;
    animation: aboutHeroRise 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.about-ambient-page .about-hero .cine-eyebrow { animation-delay: 0.05s; }
.about-ambient-page .about-hero-title        { animation-delay: 0.18s; }
.about-ambient-page .about-hero-sub          { animation-delay: 0.34s; }

/* =========== the credential HUD (stat bar reframed as glass) =========== */
.about-ambient-page .about-stat-section {
    position: relative;
    z-index: 2;
    padding: 0 0 64px;
    margin-top: -34px;          /* lift the panel up onto the hero/map seam */
}
.about-ambient-page .about-stat-hud {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-left: 0;          /* left-align the HUD with the headline's left edge */
    margin-right: auto;
    max-width: 940px;
    padding: 30px 14px;
    border: 1px solid rgba(167, 139, 250, 0.22);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(28, 22, 48, 0.66), rgba(14, 12, 26, 0.58));
    -webkit-backdrop-filter: blur(18px) saturate(1.25);
    backdrop-filter: blur(18px) saturate(1.25);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.10),
        0 30px 70px -28px rgba(5, 4, 14, 0.85),
        0 0 60px -20px rgba(109, 74, 230, 0.40);
    overflow: hidden;
    /* reset the old generic .founder-meta look */
    flex-wrap: nowrap;
    border-top: 1px solid rgba(167, 139, 250, 0.22);
    animation: aboutHeroRise 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.46s both;
}
/* top sheen hairline */
.about-ambient-page .about-stat-hud::before {
    content: "";
    position: absolute;
    top: 0; left: 12%; right: 12%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(180,150,255,0.7), transparent);
}
.about-ambient-page .about-stat {
    position: relative;
    text-align: center;
    padding: 6px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}
/* divider rails between cells */
.about-ambient-page .about-stat + .about-stat::before {
    content: "";
    position: absolute;
    left: 0; top: 12%; bottom: 12%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(167,139,250,0.30), transparent);
}
.about-ambient-page .about-stat .num {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(2.1rem, 3.6vw, 3.1rem);
    line-height: 1;
    letter-spacing: -0.02em;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 18px rgba(139, 107, 240, 0.30));
}
.about-ambient-page .about-stat .lbl {
    font-family: var(--font-secondary, 'Inter', sans-serif);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--slate-400, rgba(148,163,184,0.85));
    line-height: 1.3;
}

@media (max-width: 900px) {
    .about-ambient-page .about-hero { min-height: 70vh; padding-top: 110px; }
    .about-ambient-page .about-stat-hud { grid-template-columns: repeat(2, 1fr); gap: 22px 0; padding: 26px 10px; }
    .about-ambient-page .about-stat + .about-stat::before { display: none; }
    .about-ambient-page .about-stat:nth-child(odd)::after {
        content: ""; position: absolute; right: 0; top: 14%; bottom: 14%; width: 1px;
        background: linear-gradient(180deg, transparent, rgba(167,139,250,0.25), transparent);
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-ambient-page .about-hero-inner > *,
    .about-ambient-page .about-stat-hud { animation: none; opacity: 1; transform: none; }
}

/* Industries hero: full-height, contains the Industry Universe */
.ind-ambient-page { background: var(--cine-bg); }
.ind-ambient-page .about-hero { position: relative; overflow: hidden; min-height: 100vh; display: flex; align-items: center; }
.ind-ambient-page .about-hero .container { width: 100%; position: relative; z-index: 2; }

/* =====================================================================
   INDUSTRIES PAGE — "Depth Rings" ambient (2026-06-22, v3)
   Radius = how deep our expertise goes. ARK is the centre (the headline);
   inner ring = Healthcare/DME (deepest), mid = adjacent, outer = breadth.
   Rings rotate at different speeds; icons stay upright. NO centre dot.
   ===================================================================== */
.ind-ambient { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 15%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 15%); }
/* dark vignette behind the centred headline for readability (a shadow, NOT a glow) */
.ind-scrim { position: absolute; top: 50%; left: 50%; width: 900px; height: 540px; transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, var(--cine-bg) 0%, rgba(10, 9, 18, 0.62) 40%, transparent 72%); z-index: 1; }
/* concentric depth rings */
.ind-ring { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid rgba(139, 107, 240, 0.11); }
.ind-ring.r1 { width: 680px; height: 680px; }
.ind-ring.r2 { width: 960px; height: 960px; }
.ind-ring.r3 { width: 1240px; height: 1240px; }
/* orbiting groups — each ring spins at its own speed/direction (Keplerian calm) */
.ind-orbiters { position: absolute; top: 50%; left: 50%; width: 0; height: 0; z-index: 2; animation: indSpin var(--dur) linear infinite var(--dir); }
.ind-orbiters.o1 { --dur: 48s;  --dir: normal;  --dirRev: reverse; --r: 340px; }
.ind-orbiters.o2 { --dur: 72s;  --dir: reverse; --dirRev: normal;  --r: 480px; }
.ind-orbiters.o3 { --dur: 104s; --dir: normal;  --dirRev: reverse; --r: 620px; }
@keyframes indSpin { to { transform: rotate(360deg); } }
/* place each node on its ring; the tile counter-rotates to stay upright */
.ind-node { position: absolute; top: 0; left: 0; transform: rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1)); }
.ind-node-tile { position: absolute; top: 0; left: 0; width: 48px; height: 48px; margin: -24px 0 0 -24px;
    display: flex; align-items: center; justify-content: center; border-radius: 14px;
    background: rgba(109, 74, 230, 0.12); border: 1px solid rgba(139, 107, 240, 0.30);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 0 20px rgba(109, 74, 230, 0.28);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--cine-node-lit); font-size: 1.1rem;
    animation: indSpin var(--dur) linear infinite var(--dirRev); }
/* the deepest (Healthcare/DME) — emphasised so the inner ring reads as "where we go deepest" */
.ind-node-tile.deep { border-color: rgba(167, 139, 250, 0.55); background: rgba(109, 74, 230, 0.20);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 0 30px rgba(139, 107, 240, 0.5); color: #cdbcff; }
@media (prefers-reduced-motion: reduce) { .ind-orbiters, .ind-node-tile { animation: none; } }

/* =====================================================================
   SERVICES PAGE — ambient circuit-and-tiles background (2026-06-20)
   A fixed, full-viewport layer behind the WHOLE Services page: faint
   circuit wiring + glowing nodes + traveling data-pulses + drifting
   glass icon tiles (the intro/preloader's identity, made persistent).
   Radial centre-fade keeps headlines crisp. Pure SVG/CSS — no JS.
   Everything scoped to .svc-ambient-page; the homepage preloader
   (.tech-icon / .circuit-path) and all other pages are untouched.
   ===================================================================== */
.svc-ambient-page { background: var(--cine-bg); }

.svc-ambient {
    position: fixed;
    inset: 0;
    z-index: -1;                 /* behind all content, above the body base colour */
    pointer-events: none;
    /* subtle ambient: present at the edges, fades out behind the centre text */
    -webkit-mask-image: radial-gradient(78% 76% at 50% 40%, transparent 0%, #000 72%);
    mask-image: radial-gradient(78% 76% at 50% 40%, transparent 0%, #000 72%);
}
/* let the fixed layer show through the hero (other sections are already transparent) */
.svc-ambient-page .about-hero { background: transparent; }

/* --- circuit wiring + nodes + pulses --- */
.svc-ambient .svc-circuit { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.55; }
.svc-ambient .svc-line {
    fill: none;
    stroke: var(--cine-line);
    stroke-width: 1;
    stroke-dasharray: 1400;
    stroke-dashoffset: 1400;
    animation: svcDraw 2.4s ease forwards;
}
.svc-ambient .svc-line.v { animation-delay: 0.4s; }
.svc-ambient .svc-node {
    fill: var(--primary-blue);
    opacity: 0.28;
    animation: svcNodeGlow 2.6s ease-in-out infinite;
}
.svc-ambient .svc-node:nth-child(odd) { animation-delay: 0.6s; }
.svc-ambient .svc-node:nth-child(3n)  { animation-delay: 1.1s; }
.svc-ambient .svc-pulse {
    fill: var(--primary-blue-light);
    opacity: 0.55;
    filter: drop-shadow(0 0 6px rgba(139, 107, 240, 0.8));
}
@keyframes svcDraw { to { stroke-dashoffset: 0; } }
@keyframes svcNodeGlow {
    0%, 100% { opacity: 0.22; r: 4; }
    50%      { opacity: 0.80; r: 6; }
}

/* --- drifting glass icon tiles (the circled intro tiles) --- */
.svc-ambient .svc-tiles { position: absolute; inset: 0; }
.svc-ambient .svc-tile {
    position: absolute;
    width: 50px; height: 50px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 14px;
    background: rgba(109, 74, 230, 0.10);
    border: 1px solid rgba(139, 107, 240, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: var(--cine-node-lit);
    font-size: 1.15rem;
    opacity: 0.5;
    animation: svcFloat 8s ease-in-out infinite;
}
.svc-ambient .svc-tile.t1 { top: 14%; left: 8%;   animation-delay: 0s;   }
.svc-ambient .svc-tile.t2 { top: 18%; right: 10%; animation-delay: 1.1s; }
.svc-ambient .svc-tile.t3 { top: 44%; left: 5%;   animation-delay: 2.0s; }
.svc-ambient .svc-tile.t4 { top: 40%; right: 7%;  animation-delay: 0.6s; }
.svc-ambient .svc-tile.t5 { top: 74%; left: 9%;   animation-delay: 1.6s; }
.svc-ambient .svc-tile.t6 { top: 70%; right: 11%; animation-delay: 2.5s; }
.svc-ambient .svc-tile.t7 { top: 26%; left: 21%;  animation-delay: 3.0s; }
.svc-ambient .svc-tile.t8 { top: 82%; right: 23%; animation-delay: 0.3s; }
@keyframes svcFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50%      { transform: translateY(-18px) rotate(4deg); }
}

/* reduced-motion: freeze to a calm static composition (the intro lacks this guard) */
@media (prefers-reduced-motion: reduce) {
    .svc-ambient .svc-line { animation: none; stroke-dashoffset: 0; }
    .svc-ambient .svc-node { animation: none; opacity: 0.3; }
    .svc-ambient .svc-tile { animation: none; }
    .svc-ambient .svc-pulse { display: none; }
}

/* =====================================================================
   RESPONSIVE FIXES (mobile/tablet) — added for small-screen polish
   ===================================================================== */
/* The right-bleed hero globe (About) overlaps the headline/sub on narrow
   screens. Hide it below 900px; the Nationwide Reach section keeps the globe. */
@media (max-width: 1100px) {
    /* keep the globe visible as a soft backdrop, scoped to the hero viewport so it
       doesn't bleed behind the sections below */
    .about-ambient-page .am-ambient { position: absolute; top: 0; left: 0; right: 0; height: 100vh; overflow: hidden; }
    .about-ambient-page .am-ambient .am-globe {
        display: block; top: 36%; left: 50%; right: auto;
        transform: translate(-50%, -50%);
        width: min(125vw, 760px); height: min(125vw, 760px);
    }
    .about-ambient-page .am-ambient .am-globe.is-ready { opacity: 0.5; }
    .about-ambient-page .am-ambient .am-glow { opacity: 0.55; }
    /* hero content sits inside a frosted "iOS-style" glass card so it stays crisp over the globe */
    .about-ambient-page .about-hero-inner,
    .svc-ambient-page .about-hero-inner {
        max-width: 560px; margin: 0 auto;
        background: rgba(16, 13, 32, 0.5);
        -webkit-backdrop-filter: blur(16px) saturate(1.3);
        backdrop-filter: blur(16px) saturate(1.3);
        border: 1px solid rgba(139, 107, 240, 0.24);
        border-radius: 26px;
        padding: 30px 26px;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10), 0 26px 64px -26px rgba(0, 0, 0, 0.8);
    }
}
@media (max-width: 600px) {
    .about-ambient-page .about-hero-inner,
    .svc-ambient-page .about-hero-inner { padding: 24px 20px; border-radius: 22px; }
    .about-ambient-page .about-stat .num { font-size: 1.4rem; letter-spacing: -0.02em; }
    .about-ambient-page .about-stat { padding: 6px 8px; }
    .about-ambient-page .about-stat-hud { padding: 22px 6px; }

    /* Industries depth-ring orbit — desktop rings (680/960/1240px) are far wider
       than a phone, so the sector icons sit off-screen. Shrink rings + node radii
       + tiles so the whole orbit fits and the icons are actually visible. */
    .ind-ambient .ind-scrim { width: 340px; height: 340px; }
    .ind-ambient .ind-ring.r1 { width: 180px; height: 180px; }
    .ind-ambient .ind-ring.r2 { width: 256px; height: 256px; }
    .ind-ambient .ind-ring.r3 { width: 326px; height: 326px; }
    .ind-ambient .ind-orbiters.o1 { --r: 90px; }
    .ind-ambient .ind-orbiters.o2 { --r: 128px; }
    .ind-ambient .ind-orbiters.o3 { --r: 163px; }
    .ind-ambient .ind-node-tile { width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 12px; font-size: 0.95rem; }
    /* soften the orbit into a backdrop so the icons are visible but don't fight
       the headline; strengthen the centre scrim so the text stays readable */
    .ind-ambient .ind-orbiters { opacity: 0.6; }
    .ind-ambient .ind-scrim {
        background: radial-gradient(ellipse at center, rgba(10, 9, 18, 0.92) 0%, rgba(10, 9, 18, 0.7) 42%, transparent 72%);
    }
}

/* =====================================================================
   ABOUT PAGE — premium dark DOTTED USA map (nationwide), Houston hub.
   Background ONLY (panels keep their normal styling). Pure SVG/CSS.
   Scoped to .about-ambient-page so other pages are untouched.
   ===================================================================== */
.about-ambient-page { background: var(--cine-bg); }
.about-ambient-page .about-hero,
.about-ambient-page .about-intro,
.about-ambient-page .core-values,
.about-ambient-page .section-bg-dark { background: transparent; }

.am-ambient { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
.am-ambient .am-glow {
    position: absolute; top: 50%; right: 1%; left: auto;
    width: 52vw; height: 52vw; max-width: 800px; max-height: 800px;
    transform: translateY(-50%);
    background: radial-gradient(circle at center, var(--cine-accent-glow) 0%, transparent 62%);
    filter: blur(60px);
    opacity: 0.8;
}
/* premium dotted globe (cobe/WebGL) — right-anchored so the headline stays clear */
.am-ambient .am-globe {
    position: absolute;
    top: 50%; right: -7%;
    transform: translateY(-50%);
    width: min(46vw, 1000px);
    height: min(46vw, 1000px);
    opacity: 0;
    transition: opacity 1.2s ease;
}
.am-ambient .am-globe.is-ready { opacity: 1; }
[data-theme="light"] .am-ambient .am-globe { opacity: 0 !important; }
[data-theme="light"] .am-ambient .am-glow { opacity: 0.35; }
.am-ambient .am-map { position: absolute; inset: 0; width: 100%; height: 100%; }
/* crisp US edge */
.am-ambient .am-usline {
    fill: none; stroke: rgba(139, 107, 240, 0.30);
    stroke-width: 1; vector-effect: non-scaling-stroke;
}
/* dotted halftone fill */
.am-ambient .am-dot { fill: var(--cine-node-lit); }
.am-ambient .am-dots { opacity: 0.5; }
/* subtle Houston arcs */
.am-ambient .am-arc {
    fill: none; stroke: rgba(139, 107, 240, 0.14); stroke-width: 1;
    stroke-dasharray: 1600; stroke-dashoffset: 1600; animation: amDraw 2.6s ease forwards;
}
.am-ambient .am-arc.lit { stroke: rgba(139, 107, 240, 0.26); animation-delay: 0.3s; }
/* glowing city hubs */
.am-ambient .am-city {
    fill: var(--primary-blue-light); opacity: 0.5;
    animation: amCityGlow 2.8s ease-in-out infinite;
}
.am-ambient .am-city.hub {
    fill: #c9bbff; opacity: 1;
    filter: drop-shadow(0 0 8px rgba(139, 107, 240, 0.9));
}
.am-ambient .am-city:nth-child(odd) { animation-delay: 0.7s; }
/* Houston radar ping */
.am-ambient .am-radar {
    fill: none; stroke: rgba(139, 107, 240, 0.55); stroke-width: 1;
    transform-box: fill-box; transform-origin: center;
    animation: amRadar 3.2s ease-out infinite;
}
.am-ambient .am-radar.d2 { animation-delay: 1.6s; }
.am-ambient .am-pulse {
    fill: var(--primary-blue-light); opacity: 0.6;
    filter: drop-shadow(0 0 6px rgba(139, 107, 240, 0.85));
}
@keyframes amDraw { to { stroke-dashoffset: 0; } }
@keyframes amCityGlow { 0%,100% { opacity: 0.35; } 50% { opacity: 0.85; } }
@keyframes amRadar {
    0%   { transform: scale(0.6); opacity: 0.8; }
    80%  { transform: scale(4.2); opacity: 0; }
    100% { transform: scale(4.2); opacity: 0; }
}

/* drifting trust-icon glass tiles */
.am-ambient .am-tiles { position: absolute; inset: 0; }
.am-ambient .am-tile {
    position: absolute; width: 50px; height: 50px;
    display: flex; align-items: center; justify-content: center; border-radius: 14px;
    background: rgba(109, 74, 230, 0.10); border: 1px solid rgba(139, 107, 240, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    color: var(--cine-node-lit); opacity: 0.5; animation: amFloat 8.5s ease-in-out infinite;
}
.am-ambient .am-tile .about-ico { width: 1.35rem; height: 1.35rem; }
.am-ambient .am-tile.t1 { top: 16%; left: 8%;   animation-delay: 0s; }
.am-ambient .am-tile.t2 { top: 20%; right: 10%; animation-delay: 1.2s; }
.am-ambient .am-tile.t3 { top: 46%; left: 5%;   animation-delay: 2.1s; }
.am-ambient .am-tile.t4 { top: 42%; right: 7%;  animation-delay: 0.6s; }
.am-ambient .am-tile.t5 { top: 74%; left: 9%;   animation-delay: 1.7s; }
.am-ambient .am-tile.t6 { top: 70%; right: 11%; animation-delay: 2.6s; }
@keyframes amFloat { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-18px) rotate(4deg); } }

@media (prefers-reduced-motion: reduce) {
    .am-ambient .am-arc { animation: none; stroke-dashoffset: 0; }
    .am-ambient .am-city, .am-ambient .am-tile { animation: none; }
    .am-ambient .am-radar, .am-ambient .am-pulse { display: none; }
}

/* ---- About Pills (Premium Credentials) ---- */
.about-pills-container {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    margin-top: 1rem;
}
.about-pill-item {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50px;
    background: linear-gradient(145deg, rgba(30, 30, 40, 0.8) 0%, rgba(15, 15, 22, 0.6) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 8px 24px rgba(0,0,0,0.6);
    color: var(--slate-200);
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: default;
}
.about-pill-item:hover {
    border-color: rgba(245, 158, 11, 0.4);
    background: linear-gradient(145deg, rgba(40, 30, 20, 0.9) 0%, rgba(20, 15, 10, 0.8) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 12px 32px rgba(245, 158, 11, 0.2);
    transform: translateY(-3px);
    color: var(--white);
}
.about-pill-item .about-ico {
    width: 1.3rem;
    height: 1.3rem;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.about-pill-item .about-ico .ico-fill { 
    fill: var(--primary-blue-light); 
    transition: fill 0.4s ease; 
}
.about-pill-item .about-ico .ico-line { 
    stroke: var(--primary-blue-light); 
    transition: stroke 0.4s ease; 
}
.about-pill-item:hover .about-ico {
    transform: scale(1.15);
}
.about-pill-item:hover .about-ico .ico-fill { fill: var(--gold); }
.about-pill-item:hover .about-ico .ico-line { stroke: var(--gold); }
