        /* =============================================
           DESIGN TOKENS — fonte única de verdade
           ============================================= */
        :root {
            /* --- Cores primárias --- */
            --primario-500: #000C1D;
            --primario-600: #000814;
            --primario-hover: #6966FD;
            --accent: #411FC8;

            /* --- Superfícies --- */
            --bg-white: #ffffff;
            --surface-light: #f8fafb;

            /* --- Escala de cinzas --- */
            --gray-100: #f1f5f9;
            --gray-200: #e2e8f0;
            --gray-300: #cbd5e1;
            --gray-400: #94a3b8;
            --gray-500: #64748b;
            --gray-600: #475569;
            --gray-700: #334155;
            --gray-800: #1e293b;
            --gray-900: #0f172a;

            /* --- Feedback semântico --- */
            --feedback-success: #22c55e;
            --feedback-warning: #f59e0b;
            --feedback-error: #ef4444;
            --feedback-info: #3b82f6;

            /* --- Border radius --- */
            --radius-sm: 6px;
            --radius-md: 8px;
            --radius-lg: 12px;
            --radius-xl: 16px;
            --radius-full: 9999px;

            /* --- Sombras --- */
            --shadow-sm: 0 1px 2px rgba(0, 12, 29, 0.05);
            --shadow-md: 0 4px 12px rgba(0, 12, 29, 0.08);
            --shadow-lg: 0 8px 30px rgba(0, 12, 29, 0.12);
            --shadow-glow: 0 0 40px rgba(65, 31, 200, 0.3);

            /* --- Transições --- */
            --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
            --transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
            --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);

            /* --- Navbar --- */
            --nav-height: 64px;

            --secondary: #19B387;

            /* --- Tokens RGB (para rgba() com opacidade dinâmica) --- */
            --primario-hover-rgb: 105, 102, 253;
            --primario-light: #999dfe;
            --primario-light-rgb: 153, 157, 254;
            --secondary-rgb: 25, 179, 135;
        }

        /* =============================================
           RESET & BASE
           ============================================= */
        ::selection {
            background: var(--primario-hover);
            color: var(--bg-white);
        }

        *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            font-size: 16px;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        body {
            font-family: 'Epilogue', sans-serif;
            background: var(--bg-white);
            color: var(--primario-500);
            line-height: 1.6;
            overflow-x: hidden;
        }

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

        /* =============================================
           LAYOUT
           ============================================= */
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        /* =============================================
           BUTTON SYSTEM
           ============================================= */
        .btn-base {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            white-space: nowrap;
            font-family: 'Epilogue', sans-serif;
            font-size: 1rem;
            font-weight: 700;
            height: 3rem;
            padding: 0.5rem 1.5rem;
            border-radius: var(--radius-md);
            border: none;
            cursor: pointer;
            text-decoration: none;
            transition: all var(--transition-fast);
            outline: none;
        }

        .btn-primary {
            background: var(--primario-hover);
            color: var(--bg-white);
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: var(--shadow-glow);
        }

        .btn-primary:active {
            transform: translateY(0);
        }

        .btn-secondary {
            background: transparent;
            color: var(--bg-white);
            border: 2px solid rgba(255, 255, 255, 0.25);
        }

        .btn-secondary:hover {
            border-color: var(--primario-hover);
            background: rgba(var(--primario-hover-rgb), 0.1);
            color: var(--primario-hover);
            transform: translateY(-2px);
        }

        .btn-sm {
            height: 2.25rem;
            font-size: 0.8rem;
            padding: 0.25rem 1rem;
        }

        .btn-pill {
            border-radius: var(--radius-full);
        }

        .btn-dark {
            background: var(--primario-500);
            color: var(--bg-white);
        }

        .btn-dark:hover {
            background: var(--primario-600);
            transform: translateY(-2px);
            box-shadow: var(--shadow-lg);
        }

        .btn-label {
            position: relative;
            display: flex;
            min-height: 2.5rem;
            flex-direction: column;
            justify-content: center;
            overflow: hidden;
        }

        .btn-label-visible {
            position: relative;
            transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
            transform: translateY(0);
        }

        .group:hover .btn-label-visible {
            opacity: 0;
            transform: translateY(-2.5rem);
        }

        .btn-label-hidden {
            position: absolute;
            opacity: 0;
            transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
            transform: translateY(2.5rem);
        }

        .group:hover .btn-label-hidden {
            opacity: 1;
            transform: translateY(0);
        }

        /* =============================================
           NAVBAR
           ============================================= */
        .nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 100;
            background: rgba(0, 12, 29, 0.85);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            transition: background var(--transition-base);
        }

        /* Estado scrollado — JS aplica a classe .scrolled */
        .nav.scrolled {
            background: rgba(0, 12, 29, 0.96);
        }

        .nav-inner {
            height: var(--nav-height);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
        }

        /* --- Logo --- */
        .nav-logo {
            font-weight: 800;
            font-size: 1.2rem;
            color: var(--bg-white);
            letter-spacing: -0.02em;
            flex-shrink: 0;
        }

        .nav-logo .dot {
            color: var(--primario-hover);
        }

        /* --- Links desktop --- */
        .nav-links {
            display: flex;
            align-items: center;
            gap: 0.25rem;
            list-style: none;
            flex: 1;
            justify-content: center;
        }

        .nav-links a {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            font-size: 0.875rem;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.6);
            padding: 0.4rem 0.75rem;
            border-radius: var(--radius-md);
            transition: color var(--transition-fast), background var(--transition-fast);
        }

        .nav-links a:hover,
        .nav-links a.active {
            color: var(--bg-white);
            background: rgba(255, 255, 255, 0.06);
        }

        .nav-links a .material-symbols-outlined {
            font-size: 1rem;
            opacity: 0.7;
        }

        /* Dropdown trigger indicator */
        .nav-links a .chevron {
            font-size: 0.9rem;
            opacity: 0.5;
            transition: transform var(--transition-fast);
        }

        .nav-links li:has([aria-expanded="true"]) .chevron {
            transform: rotate(180deg);
        }

        /* --- Dropdown --- */
        .nav-dropdown {
            position: relative;
        }

        .nav-dropdown-panel {
            display: none;
            position: absolute;
            top: calc(100% + 0.75rem);
            right: 0;
            min-width: 200px;
            background: rgba(5, 10, 25, 0.97);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: var(--radius-lg);
            padding: 0.5rem;
            box-shadow: var(--shadow-lg), 0 0 0 0.5px rgba(255, 255, 255, 0.04);
            opacity: 0;
            transform: translateY(-8px);
            transition: opacity var(--transition-fast), transform var(--transition-fast);
            pointer-events: none;
        }

        .nav-dropdown-panel.open {
            display: block;
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

        .dropdown-item {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.65rem 0.75rem;
            border-radius: var(--radius-md);
            color: rgba(255, 255, 255, 0.65);
            font-size: 0.875rem;
            font-weight: 500;
            transition: all var(--transition-fast);
            cursor: pointer;
        }

        .dropdown-item:hover {
            color: var(--bg-white);
            background: rgba(255, 255, 255, 0.06);
        }

        .dropdown-item-icon {
            width: 32px;
            height: 32px;
            border-radius: var(--radius-sm);
            background: rgba(var(--primario-hover-rgb), 0.15);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .dropdown-item-icon .material-symbols-outlined {
            font-size: 1rem;
            color: var(--primario-hover);
        }

        .dropdown-item-label {
            font-size: 0.875rem;
            color: rgba(255, 255, 255, 0.85);
            font-weight: 500;
        }

        /* --- Grupo direito (Sobre + CTA) --- */
        .nav-actions {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex-shrink: 0;
        }

        /* Trigger "Sobre" — mesmo estilo dos links desktop */
        .nav-sobre-trigger {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            font-size: 0.875rem;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.6);
            padding: 0.4rem 0.75rem;
            border-radius: var(--radius-md);
            transition: color var(--transition-fast), background var(--transition-fast);
        }

        .nav-sobre-trigger:hover,
        .nav-sobre-trigger[aria-expanded="true"] {
            color: var(--bg-white);
            background: rgba(255, 255, 255, 0.06);
        }

        .nav-sobre-trigger .chevron {
            font-size: 0.9rem;
            opacity: 0.5;
            transition: transform var(--transition-fast);
        }

        .nav-sobre-trigger[aria-expanded="true"] .chevron {
            transform: rotate(180deg);
        }

        /* --- Hamburger (mobile) --- */
        .nav-burger {
            display: none;
            flex-direction: column;
            justify-content: center;
            gap: 5px;
            width: 2rem;
            height: 2rem;
            cursor: pointer;
            background: none;
            border: none;
            padding: 0.25rem;
            border-radius: var(--radius-sm);
            transition: background var(--transition-fast);
        }

        .nav-burger:hover {
            background: rgba(255, 255, 255, 0.06);
        }

        .nav-burger span {
            display: block;
            width: 100%;
            height: 2px;
            background: rgba(255, 255, 255, 0.8);
            border-radius: 1px;
            transform-origin: center;
            transition: transform var(--transition-base), opacity var(--transition-base), width var(--transition-base);
        }

        /* Hamburger → X quando aberto */
        .nav-burger.open span:nth-child(1) {
            transform: translateY(7px) rotate(45deg);
        }

        .nav-burger.open span:nth-child(2) {
            opacity: 0;
            width: 0;
        }

        .nav-burger.open span:nth-child(3) {
            transform: translateY(-7px) rotate(-45deg);
        }

        /* --- Mobile drawer --- */
        .nav-mobile {
            position: fixed;
            top: var(--nav-height);
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 8, 20, 0.98);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            z-index: 99;
            overflow-y: auto;
            padding: 1.5rem 1.5rem 3rem;
        }


        .nav-mobile-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0.9rem 0;
            font-size: 1.05rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.7);
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            transition: color var(--transition-fast);
        }

        .nav-mobile-link:hover {
            color: var(--bg-white);
        }

        .nav-mobile-sub {
            padding: 0.5rem 0 0.5rem 1rem;
        }

        .nav-mobile-sub a {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.6rem 0.5rem;
            font-size: 0.9rem;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.5);
            border-radius: var(--radius-md);
            transition: all var(--transition-fast);
        }

        .nav-mobile-sub a:hover {
            color: var(--bg-white);
            background: rgba(255, 255, 255, 0.04);
        }

        .nav-mobile-actions {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            margin-top: 2rem;
        }

        .nav-mobile-actions .btn-base {
            width: 100%;
            justify-content: center;
        }

        /* =============================================
           RESPONSIVE
           ============================================= */
        @media (max-width: 768px) {

            /* Mobile: esconde itens desktop, mostra hamburger */
            .nav-dropdown,
            .nav-actions {
                display: none;
            }

            .nav-burger {
                display: flex;
            }
        }

        /* =============================================
           HERO SECTION
           ============================================= */
        .hero {
            min-height: 100vh;
            background: var(--primario-500);
            color: var(--bg-white);
            display: flex;
            flex-direction: column;
            align-items: stretch;
            position: relative;
            overflow: hidden;
            padding-top: var(--nav-height);
        }

        .hero > .container {
            flex: 1;
            display: flex;
            align-items: center;
        }

        .hero-grid {
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(105, 102, 253, 0.06) 1px, transparent 1px),
                linear-gradient(90deg, rgba(105, 102, 253, 0.06) 1px, transparent 1px);
            background-size: 60px 60px;
            pointer-events: none;
        }

        .hero-glow {
            position: absolute;
            border-radius: 50%;
            filter: blur(80px);
            pointer-events: none;
        }

        .hero-glow-1 {
            width: 600px;
            height: 600px;
            background: radial-gradient(circle, rgba(65, 31, 200, 0.2) 0%, transparent 70%);
            top: -150px;
            right: 0;
        }

        .hero-glow-2 {
            width: 400px;
            height: 400px;
            background: radial-gradient(circle, rgba(105, 102, 253, 0.1) 0%, transparent 70%);
            bottom: -100px;
            left: -50px;
        }

        .hero-layout {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: stretch;
            position: relative;
            z-index: 10;
            padding: 6rem 0;
        }

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

        .hero-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.72rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: var(--primario-hover);
            margin-bottom: 1.75rem;
        }

        .hero-eyebrow-dot {
            width: 6px;
            height: 6px;
            background: var(--primario-hover);
            border-radius: 50%;
            animation: pulseDot 2s ease-in-out infinite;
        }

        @keyframes pulseDot {

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

            50% {
                opacity: 0.4;
                transform: scale(1.6);
            }
        }

        .hero-h1 {
            font-size: clamp(2.4rem, 4.5vw, 3.75rem);
            font-weight: 800;
            letter-spacing: -0.035em;
            line-height: 1.1;
            margin-bottom: 1.5rem;
            color: var(--bg-white);
        }

        .hero-h1 .line-muted {
            color: rgba(255, 255, 255, 0.38);
            font-weight: 300;
        }

        .hero-sub {
            font-size: clamp(1rem, 1.5vw, 1.1rem);
            font-weight: 400;
            color: rgba(255, 255, 255, 0.5);
            line-height: 1.8;
            max-width: 46ch;
            margin-bottom: 2.5rem;
        }

        .hero-actions {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .hero-btn-lg {
            height: 3.25rem;
            font-size: 0.95rem;
            padding: 0.5rem 1.75rem;
        }

        /* === Dashboard visual (right column) === */
        .hero-visual {
            position: relative;
            display: flex;
            align-items: stretch;
            justify-content: flex-end;
        }

        .dash-wrap {
            position: relative;
            width: 100%;
            max-width: 480px;
            display: flex;
            flex-direction: column;
        }

        .dash-card {
            background: rgba(255, 255, 255, 0.04);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            box-shadow: 0 8px 40px rgba(0, 12, 29, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
        }

        .dash-main {
            padding: 1.5rem;
            animation: floatCard 6s ease-in-out infinite;
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
            box-sizing: border-box;
        }

        @keyframes floatCard {

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

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

        .dash-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 1.25rem;
        }

        .dash-header-left {
            display: flex;
            align-items: center;
            gap: 0.65rem;
        }

        .dash-icon {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            background: linear-gradient(135deg, var(--accent), var(--primario-hover));
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .dash-icon .material-symbols-outlined {
            font-size: 1rem;
            color: white;
        }

        .dash-title {
            font-size: 0.8rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.9);
        }

        .dash-subtitle {
            font-size: 0.63rem;
            color: rgba(255, 255, 255, 0.3);
            margin-top: 0.1rem;
        }

        .dash-live {
            display: inline-flex;
            align-items: center;
            gap: 0.3rem;
            font-size: 0.6rem;
            font-weight: 700;
            padding: 0.2rem 0.55rem;
            border-radius: 999px;
            background: rgba(34, 197, 94, 0.12);
            color: #22c55e;
            letter-spacing: 0.04em;
        }

        .dash-live-dot {
            width: 5px;
            height: 5px;
            background: #22c55e;
            border-radius: 50%;
            animation: pulseDot 1.5s ease-in-out infinite;
        }

        .dash-chart {
            width: 100%;
            display: block;
        }

        .dash-divider {
            height: 1px;
            background: rgba(255, 255, 255, 0.06);
        }

        .dash-channels-label {
            font-size: 0.62rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.3);
            margin-bottom: 0.75rem;
        }

        .dash-channel-row {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            margin-bottom: 0.5rem;
        }

        .dash-channel-row:last-child {
            margin-bottom: 0;
        }

        .dash-channel-name {
            font-size: 0.65rem;
            color: rgba(255, 255, 255, 0.5);
            width: 52px;
            flex-shrink: 0;
        }

        .dash-channel-bar-wrap {
            flex: 1;
            height: 4px;
            background: rgba(255, 255, 255, 0.06);
            border-radius: 999px;
            overflow: hidden;
        }

        .dash-channel-bar {
            height: 100%;
            border-radius: 999px;
            background: linear-gradient(90deg, var(--accent), var(--primario-hover));
        }

        .dash-channel-pct {
            font-size: 0.62rem;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.45);
            width: 28px;
            text-align: right;
            flex-shrink: 0;
        }

        .dash-kpis {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.6rem;
        }

        .dash-kpi {
            padding: 0.7rem;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 10px;
        }

        .dash-kpi-val {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--bg-white);
            line-height: 1;
        }

        .dash-kpi-label {
            font-size: 0.58rem;
            color: rgba(255, 255, 255, 0.3);
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-top: 0.3rem;
        }

        /* Floating mini cards */
        .dash-float {
            position: absolute;
            padding: 0.9rem 1.1rem;
        }

        .dash-float-1 {
            top: -26px;
            right: -22px;
            width: 158px;
            animation: floatCard 5s 1.2s ease-in-out infinite;
        }

        .dash-float-2 {
            bottom: -26px;
            left: -22px;
            width: 178px;
            animation: floatCard 7s 2.5s ease-in-out infinite;
        }

        .dash-float-val {
            font-size: 1.3rem;
            font-weight: 800;
            color: var(--primario-hover);
            line-height: 1;
        }

        .dash-float-delta {
            display: inline-flex;
            align-items: center;
            gap: 0.15rem;
            font-size: 0.6rem;
            font-weight: 700;
            color: #22c55e;
            margin-left: 0.3rem;
            vertical-align: middle;
        }

        .dash-float-label {
            font-size: 0.62rem;
            color: rgba(255, 255, 255, 0.3);
            margin-top: 0.3rem;
        }

        .dash-float-bars {
            display: flex;
            align-items: flex-end;
            gap: 3px;
            height: 28px;
            margin-top: 0.6rem;
        }

        .dash-float-bar {
            flex: 1;
            border-radius: 2px 2px 0 0;
            background: rgba(var(--primario-hover-rgb), 0.25);
        }

        .dash-float-bar.hi {
            background: var(--primario-hover);
        }

        /* Entry animations */
        @keyframes heroFadeUp {
            from {
                opacity: 0;
                transform: translateY(28px);
            }

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

        .hero-anim-1 {
            opacity: 0;
            animation: heroFadeUp 0.8s 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .hero-anim-2 {
            opacity: 0;
            animation: heroFadeUp 0.8s 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .hero-anim-3 {
            opacity: 0;
            animation: heroFadeUp 0.8s 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .hero-anim-4 {
            opacity: 0;
            animation: heroFadeUp 0.8s 0.65s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .hero-anim-5 {
            opacity: 0;
            animation: heroFadeUp 0.9s 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @media (max-width: 900px) {
            .hero-layout {
                grid-template-columns: 1fr;
                padding: 4rem 0 3rem;
            }

            .hero-sub {
                max-width: 100%;
            }

            .hero-visual {
                justify-content: center;
                margin-top: 0.5rem;
            }

            .dash-wrap {
                max-width: 100%;
            }

            /* Floating cards ficam fora dos bounds no mobile — remove */
            .dash-float {
                display: none;
            }
        }

        /* =============================================
           SCROLL REVEAL — utilitário global
           ============================================= */
        .reveal {
            opacity: 0;
            transform: translateY(32px);
            transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .reveal-d1 {
            transition-delay: 0.12s;
        }

        .reveal-d2 {
            transition-delay: 0.24s;
        }

        /* =============================================
           SERVIÇOS SECTION
           ============================================= */
        .servicos {
            padding: 6rem 0;
            background: var(--bg-white);
        }

        .section-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: var(--primario-hover);
            margin-bottom: 1rem;
        }

        .section-eyebrow::before {
            content: '';
            width: 1.5rem;
            height: 2px;
            background: currentColor;
            border-radius: 1px;
            flex-shrink: 0;
        }

        .servicos-header {
            margin-bottom: 3.5rem;
        }

        .servicos-header h2 {
            font-size: clamp(2rem, 3.5vw, 2.75rem);
            font-weight: 800;
            letter-spacing: -0.03em;
            line-height: 1.1;
            color: var(--primario-500);
        }

        .servicos-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.5rem;
        }

        .servico-card {
            background: var(--bg-white);
            border: 1px solid var(--gray-200);
            border-radius: var(--radius-xl);
            overflow: hidden;
            transition: border-color var(--transition-base),
                box-shadow var(--transition-base),
                transform var(--transition-base);
        }

        .servico-card:hover {
            border-color: var(--primario-hover);
            box-shadow: 0 12px 40px rgba(var(--primario-hover-rgb), 0.1);
            transform: translateY(-4px);
        }

        .servico-visual {
            height: 240px;
            background: var(--primario-500);
            overflow: hidden;
        }

        .servico-svg {
            width: 100%;
            height: 100%;
            display: block;
        }

        .servico-body {
            padding: 2rem;
        }

        .servico-body h3 {
            font-size: 1.5rem;
            font-weight: 800;
            letter-spacing: -0.025em;
            line-height: 1.15;
            color: var(--primario-500);
            margin-bottom: 0.65rem;
        }

        .servico-body p {
            font-size: 0.95rem;
            color: var(--gray-500);
            line-height: 1.75;
            margin-bottom: 1.75rem;
        }

        .btn-conheca {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            font-weight: 700;
            color: var(--primario-500);
            transition: color var(--transition-fast);
        }

        .btn-conheca .material-symbols-outlined {
            font-size: 1.1rem;
            transition: transform var(--transition-fast);
        }

        .btn-conheca:hover {
            color: var(--primario-hover);
        }

        .btn-conheca:hover .material-symbols-outlined {
            transform: translateX(4px);
        }

        @media (max-width: 768px) {
            .servicos-grid {
                grid-template-columns: 1fr;
            }

            .servico-visual {
                height: 200px;
            }
        }

        /* =============================================
           GROWTH SECTION — detalhe Growth Marketing
           ============================================= */
        .oferta {
            background: var(--bg-white);
            padding: 6rem 0;
            overflow: hidden;
        }

        .oferta-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 5rem;
            align-items: start;
        }

        .oferta-img-placeholder {
            width: 100%;
            align-self: stretch;
            min-height: 300px;
            border-radius: var(--radius-lg);
            border: 2px dashed var(--gray-200);
            background: var(--gray-100);
        }

        .oferta-img-svg {
            width: 100%;
            height: 100%;
            align-self: stretch;
            min-height: 300px;
            border-radius: var(--radius-lg);
            object-fit: cover;
            object-position: right;
        }

        .oferta-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.72rem;
            font-weight: 500;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--primario-hover);
            margin-bottom: 1.25rem;
        }

        .oferta-eyebrow-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--primario-hover);
            flex-shrink: 0;
        }

        .oferta-title {
            font-size: clamp(1.6rem, 2.8vw, 2.4rem);
            font-weight: 800;
            line-height: 1.18;
            color: var(--primario-500);
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
        }

        .oferta-subtitle {
            font-size: 1rem;
            color: var(--gray-500);
            line-height: 1.7;
            margin-bottom: 2.5rem;
            max-width: 400px;
        }

        .oferta-steps {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            margin-bottom: 2.5rem;
        }

        .oferta-step {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
        }

        .oferta-step-num {
            flex-shrink: 0;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: var(--primario-500);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.72rem;
            font-weight: 700;
        }

        .oferta-step-body h3 {
            font-size: 1rem;
            font-weight: 700;
            color: var(--primario-500);
            margin-bottom: 0.3rem;
            line-height: 1.3;
            display: flex;
            align-items: center;
            gap: 0.4rem;
        }

        .oferta-step-body h3 .material-symbols-outlined {
            font-size: 18px;
            color: var(--primario-hover);
        }

        .oferta-step-body p {
            font-size: 0.875rem;
            color: var(--gray-500);
            line-height: 1.65;
            margin: 0;
        }

        .oferta-visual svg {
            width: 100%;
            height: auto;
            display: block;
        }

        @media (max-width: 900px) {
            .oferta-grid {
                grid-template-columns: 1fr;
                gap: 3rem;
            }

            .oferta-visual {
                order: -1;
            }

            .oferta-subtitle {
                max-width: 100%;
            }
        }

        @media (max-width: 768px) {
            .oferta {
                padding: 4rem 0;
            }
        }

        /* =============================================
           PROBLEMA SECTION
           ============================================= */
        .problema {
            padding: 7rem 0;
            background: #060817;
            position: relative;
            overflow: hidden;
        }

        .problema-bg-grid {
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(239, 68, 68, 0.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(239, 68, 68, 0.05) 1px, transparent 1px);
            background-size: 60px 60px;
            pointer-events: none;
        }

        .problema-glow {
            position: absolute;
            width: 520px;
            height: 520px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(65, 31, 200, 0.18) 0%, transparent 70%);
            filter: blur(80px);
            top: -180px;
            right: -80px;
            pointer-events: none;
        }

        /* Grid topo: copy esq. + ilustração dir. */
        .problema-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
            margin-bottom: 4rem;
            position: relative;
            z-index: 1;
        }

        .problema-copy {
            text-align: left;
        }

        .problema-h2 {
            font-size: clamp(1.75rem, 3.2vw, 2.6rem);
            font-weight: 800;
            line-height: 1.12;
            letter-spacing: -0.03em;
            color: var(--bg-white);
            margin: 1rem 0 1.5rem;
        }

        .problema-body {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .problema-body p {
            font-size: 1rem;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.45);
        }

        .problema-body p:last-child {
            color: rgba(255, 255, 255, 0.65);
        }

        /* Ilustração à direita */
        .problema-visual {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            position: relative;
            z-index: 1;
        }

        /* Bloco inferior */
        .problema-bottom {
            display: flex;
            flex-direction: column;
            gap: 2rem;
            position: relative;
            z-index: 1;
        }

        /* Destaque centralizado */
        .problema-highlight {
            font-size: clamp(1rem, 1.6vw, 1.2rem);
            font-weight: 600;
            line-height: 1.65;
            color: rgba(255, 255, 255, 0.75);
            text-align: center;
            max-width: 54ch;
            margin: 0 auto;
        }

        .problema-gaps {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
            width: 100%;
        }

        .gap-card {
            display: flex;
            gap: 1rem;
            padding: 1.2rem 1.4rem;
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(34, 197, 94, 0.18);
            border-radius: var(--radius-lg);
            transition: border-color var(--transition-base), background var(--transition-base);
        }

        .gap-card:hover {
            border-color: rgba(34, 197, 94, 0.32);
            background: rgba(255, 255, 255, 0.04);
        }

        .gap-card-icon {
            flex-shrink: 0;
            width: 38px;
            height: 38px;
            border-radius: var(--radius-md);
            background: rgba(34, 197, 94, 0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 0.1rem;
        }

        .gap-card-icon .material-symbols-outlined {
            font-size: 1.1rem;
            color: var(--feedback-success);
        }

        .gap-card-content h3 {
            font-size: 0.875rem;
            font-weight: 700;
            color: var(--bg-white);
            margin-bottom: 0.3rem;
            line-height: 1.3;
        }

        .gap-card-content p {
            font-size: 0.78rem;
            color: rgba(255, 255, 255, 0.42);
            line-height: 1.6;
            margin: 0;
        }

        .problema-closing {
            font-size: 0.9rem;
            line-height: 1.75;
            color: rgba(255, 255, 255, 0.38);
            padding-top: 1.25rem;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            font-style: italic;
            text-align: center;
            max-width: 60ch;
            margin: 0 auto;
        }

        /* Dashboard visual */
        .problema-visual {
            display: flex;
            align-items: stretch;
        }

        .problema-img-placeholder {
            width: 100%;
            min-height: 340px;
            border-radius: 20px;
            border: 2px dashed rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.03);
        }

        /* === Chaos illustration (problema section) === */
        .prob-wrap {
            position: relative;
            width: 100%;
            max-width: 100%;
        }

        .prob-card {
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 16px;
            box-shadow: 0 8px 40px rgba(0, 12, 29, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04);
        }

        .prob-main {
            padding: 1.5rem;
            padding-bottom: 4rem;
            border-color: rgba(239, 68, 68, 0.18);
            display: flex;
            flex-direction: column;
            gap: 1.1rem;
        }

        .prob-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .prob-header-left {
            display: flex;
            align-items: center;
            gap: 0.65rem;
        }

        .prob-icon-wrap {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            background: rgba(239, 68, 68, 0.12);
            border: 1px solid rgba(239, 68, 68, 0.2);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .prob-icon-wrap .material-symbols-outlined {
            font-size: 1rem;
            color: #ef4444;
        }

        .prob-title {
            font-size: 0.8rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.9);
        }

        .prob-subtitle {
            font-size: 0.63rem;
            color: rgba(255, 255, 255, 0.3);
            margin-top: 0.1rem;
        }

        .prob-status-err {
            display: inline-flex;
            align-items: center;
            gap: 0.3rem;
            font-size: 0.6rem;
            font-weight: 700;
            padding: 0.2rem 0.55rem;
            border-radius: 999px;
            background: rgba(239, 68, 68, 0.12);
            color: #ef4444;
            letter-spacing: 0.04em;
        }

        .prob-err-dot {
            width: 5px;
            height: 5px;
            background: #ef4444;
            border-radius: 50%;
            animation: pulseDot 1.5s ease-in-out infinite;
        }

        .prob-chart {
            width: 100%;
            display: block;
        }

        .prob-kpis {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 0.6rem;
        }

        .prob-kpi {
            padding: 0.7rem;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 10px;
            position: relative;
        }

        .prob-kpi-err {
            border-color: rgba(239, 68, 68, 0.2);
            background: rgba(239, 68, 68, 0.04);
        }

        .prob-kpi-badge {
            position: absolute;
            top: -7px;
            right: 6px;
            font-size: 0.48rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            background: #ef4444;
            color: white;
            padding: 0.1rem 0.35rem;
            border-radius: 4px;
        }

        .prob-kpi-val {
            font-size: 1.05rem;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.4);
            line-height: 1;
        }

        .prob-kpi-down {
            color: #ef4444;
        }

        .prob-kpi-label {
            font-size: 0.58rem;
            color: rgba(255, 255, 255, 0.25);
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-top: 0.3rem;
        }

        .prob-notif {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.6rem 0.75rem;
            background: rgba(251, 191, 36, 0.05);
            border: 1px solid rgba(251, 191, 36, 0.18);
            border-radius: 8px;
        }

        .prob-notif-icon {
            font-size: 0.95rem;
            color: #fbbf24;
            flex-shrink: 0;
        }

        .prob-notif-text {
            font-size: 0.62rem;
            color: rgba(255, 255, 255, 0.45);
        }

        /* Floating cards */
        .prob-float {
            position: absolute;
            padding: 0.9rem 1.1rem;
        }

        .prob-float-1 {
            top: -26px;
            right: -22px;
            z-index: 10;
            display: flex;
            align-items: center;
            gap: 0.6rem;
            width: 196px;
            border-color: rgba(239, 68, 68, 0.25);
            background: rgba(239, 68, 68, 0.06);
            animation: floatCard 5s 1.2s ease-in-out infinite;
        }

        .prob-alert-icon .material-symbols-outlined {
            font-size: 1.3rem;
            color: #ef4444;
        }

        .prob-alert-title {
            font-size: 0.72rem;
            font-weight: 700;
            color: #ef4444;
        }

        .prob-alert-sub {
            font-size: 0.6rem;
            color: rgba(255, 255, 255, 0.35);
            margin-top: 0.15rem;
        }

        .prob-float-2 {
            bottom: -26px;
            left: -22px;
            display: flex;
            align-items: center;
            gap: 0.6rem;
            width: 210px;
            border-color: rgba(239, 68, 68, 0.2);
            background: rgba(239, 68, 68, 0.05);
            animation: floatCard 7s 2.5s ease-in-out infinite;
        }

        .prob-float-2 .prob-alert-icon .material-symbols-outlined {
            font-size: 1.3rem;
            color: #f97316;
        }

        .prob-float-2 .prob-alert-title {
            color: #f97316;
        }

        .problema-dashboard {
            width: 100%;
            max-width: 420px;
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 20px;
            padding: 1.75rem;
            box-shadow: 0 8px 32px rgba(0, 12, 29, 0.3),
                        inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }

        .dashboard-header {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            margin-bottom: 1.5rem;
            padding-bottom: 1.1rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        .dashboard-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
        }

        .dashboard-dot.red    { background: #ff5f56; }
        .dashboard-dot.yellow { background: #ffbd2e; }
        .dashboard-dot.green  { background: #27c93f; }

        .dashboard-title {
            margin-left: 0.5rem;
            font-size: 0.68rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.28);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        .dashboard-section-label {
            font-size: 0.62rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.28);
            margin-bottom: 0.7rem;
            margin-top: 1.2rem;
        }

        .dashboard-section-label:first-of-type { margin-top: 0; }

        .dashboard-section-label.warning {
            color: var(--feedback-warning);
            opacity: 0.65;
        }

        .activity-metrics {
            display: flex;
            flex-direction: column;
            gap: 0.55rem;
        }

        .metric-bar-row {
            display: flex;
            align-items: center;
            gap: 0.7rem;
        }

        .metric-bar-label {
            font-size: 0.68rem;
            color: rgba(255, 255, 255, 0.38);
            width: 118px;
            flex-shrink: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .metric-bar-track {
            flex: 1;
            height: 4px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 2px;
            overflow: hidden;
        }

        .metric-bar-fill {
            height: 100%;
            background: linear-gradient(90deg,
                rgba(var(--primario-hover-rgb), 0.45),
                rgba(var(--primario-hover-rgb), 0.85));
            border-radius: 2px;
        }

        .metric-bar-value {
            font-size: 0.68rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.45);
            font-family: 'JetBrains Mono', monospace;
            width: 20px;
            text-align: right;
            flex-shrink: 0;
        }

        .result-metrics {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.6rem;
        }

        .result-metric-card {
            padding: 0.9rem 0.6rem;
            background: rgba(239, 68, 68, 0.05);
            border: 1px solid rgba(239, 68, 68, 0.11);
            border-radius: var(--radius-md);
            text-align: center;
        }

        .result-metric-value {
            font-size: 1.35rem;
            font-weight: 700;
            color: rgba(239, 68, 68, 0.55);
            font-family: 'JetBrains Mono', monospace;
            line-height: 1;
            margin-bottom: 0.4rem;
        }

        .result-metric-value.uncertain {
            color: var(--feedback-warning);
            opacity: 0.55;
        }

        .result-metric-label {
            font-size: 0.6rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.22);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        .dashboard-insight {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-top: 1.1rem;
            padding: 0.7rem 0.9rem;
            background: rgba(239, 68, 68, 0.05);
            border: 1px solid rgba(239, 68, 68, 0.1);
            border-radius: var(--radius-md);
            font-size: 0.68rem;
            color: rgba(239, 68, 68, 0.55);
            font-family: 'Epilogue', sans-serif;
        }

        .dashboard-insight .material-symbols-outlined {
            font-size: 0.95rem;
            flex-shrink: 0;
        }

        @media (max-width: 900px) {
            .problema-grid { grid-template-columns: 1fr; gap: 3rem; }
            .problema-visual { justify-content: center; }
            .problema-gaps { grid-template-columns: 1fr; }
            .prob-kpis { grid-template-columns: repeat(3, 1fr); }
        }

        @media (max-width: 768px) {
            .problema { padding: 5rem 0; }
        }

        /* =============================================
           AMPLIFICAÇÃO SECTION
           ============================================= */
        .amplificacao {
            padding: 7rem 0 6rem;
            background: var(--bg-white);
            position: relative;
        }

        .amplificacao-header {
            text-align: left;
            max-width: 680px;
            margin: 0 auto 4rem;
        }

        .amplificacao-header .section-eyebrow {
            justify-content: flex-start;
            color: var(--feedback-error);
        }

        .amplificacao-header .section-eyebrow::before {
            background: var(--feedback-error);
        }

        .amplificacao-h2 {
            font-size: clamp(2rem, 3.8vw, 3rem);
            font-weight: 900;
            line-height: 1.1;
            letter-spacing: -0.038em;
            color: var(--primario-500);
            margin-top: 1rem;
        }

        .amplificacao-h2 .highlight-cost {
            color: var(--feedback-error);
        }

        /* Vertical timeline */
        .amp-timeline {
            max-width: 680px;
            margin: 0 auto;
            position: relative;
            padding-left: 68px;
        }

        /* Vertical axis line */
        .amp-timeline::before {
            content: '';
            position: absolute;
            left: 22px;
            top: 14px;
            bottom: 52px;
            width: 1px;
            background: linear-gradient(
                to bottom,
                transparent 0%,
                var(--gray-200) 6%,
                var(--gray-200) 94%,
                transparent 100%
            );
        }

        .amp-node {
            position: relative;
            padding-bottom: 4rem;
        }

        .amp-node:last-child { padding-bottom: 0; }

        /* Numbered badge */
        .amp-badge {
            position: absolute;
            left: -68px;
            top: 0;
            width: 44px;
            height: 44px;
            background: var(--primario-500);
            border: 1px solid transparent;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'JetBrains Mono', monospace;
            font-weight: 700;
            font-size: 0.8rem;
            color: var(--bg-white);
            z-index: 1;
        }

        /* Small connector dot between badge and line */
        .amp-badge::after {
            content: '';
            position: absolute;
            right: -14px;
            top: 50%;
            transform: translateY(-50%);
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--gray-300);
        }

        .amp-node-label {
            font-size: 0.68rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: var(--primario-hover);
            margin-bottom: 0.5rem;
        }

        .amp-node-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--feedback-error);
            line-height: 1.4;
            letter-spacing: -0.02em;
            margin-bottom: 1.5rem;
            padding-bottom: 1.25rem;
            border-bottom: 1px solid var(--gray-100);
        }

        .amp-items {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .amp-item {
            display: flex;
            gap: 0.875rem;
            align-items: flex-start;
            color: var(--gray-600);
            font-size: 0.9rem;
            line-height: 1.65;
        }

        .amp-item-dot {
            flex-shrink: 0;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--gray-300);
            margin-top: 0.6rem;
        }

        /* Verdict strip */
        .amplificacao-verdict {
            margin-top: 4.5rem;
            padding: 3rem 3.5rem;
            background: var(--primario-500);
            position: relative;
            overflow: hidden;
            border-radius: var(--radius-xl);
            border: none;
            box-shadow: 0 8px 40px rgba(0, 12, 29, 0.15);
        }

        .amplificacao-verdict .verdict-grid {
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(65, 31, 200, 0.12) 1px, transparent 1px),
                linear-gradient(90deg, rgba(65, 31, 200, 0.12) 1px, transparent 1px);
            background-size: 60px 60px;
            pointer-events: none;
            border-radius: inherit;
        }

        /* Purple glow accent — top left corner */
        .amplificacao-verdict::before {
            content: '';
            position: absolute;
            top: -40px;
            left: -40px;
            width: 220px;
            height: 220px;
            background: radial-gradient(circle, rgba(var(--primario-hover-rgb), 0.18) 0%, transparent 70%);
            pointer-events: none;
        }

        .verdict-inner {
            position: relative;
            z-index: 1;
            text-align: center;
        }

        .verdict-quote {
            font-size: clamp(1.1rem, 2vw, 1.5rem);
            font-weight: 500;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.55);
            font-style: italic;
        }

        .verdict-quote strong {
            color: var(--bg-white);
            font-weight: 800;
            font-style: normal;
        }

        @media (max-width: 600px) {
            .amp-timeline { padding-left: 52px; }
            .amp-timeline::before { left: 16px; }
            .amp-badge { left: -52px; width: 38px; height: 38px; font-size: 0.72rem; border-radius: 9px; }
            .amp-badge::after { right: -10px; }
            .amp-node { padding-bottom: 3rem; }
            .amplificacao { padding: 5rem 0 4rem; }
            .amplificacao-header { margin: 0 auto 3rem; }
            .amplificacao-verdict { padding: 2rem 1.5rem; margin-top: 3rem; }
        }

        /* =============================================
           SOLUÇÃO — "Do insight à escala"
           ============================================= */
        .solucao {
            padding: 7rem 0;
            background: var(--bg-white);
        }

        .solucao-intro {
            text-align: left;
            margin: 0 0 4rem;
        }

        .solucao-intro .section-eyebrow {
            color: var(--secondary);
        }

        .solucao-intro .section-eyebrow::before {
            background: var(--secondary);
        }

        .solucao-h2 {
            font-size: clamp(1.9rem, 3.6vw, 2.8rem);
            font-weight: 900;
            line-height: 1.1;
            letter-spacing: -0.035em;
            color: var(--primario-500);
            margin: 1rem 0 0.75rem;
        }

        .solucao-lead {
            font-size: 1.0625rem;
            color: var(--gray-500);
            line-height: 1.7;
        }

        /* Beats panel */
        .solucao-beats {
            border: 1px solid var(--gray-200);
            border-radius: var(--radius-xl);
            overflow: hidden;
        }

        .solucao-beat {
            display: grid;
            grid-template-columns: 1fr 1fr;
            align-items: stretch;
            min-height: 340px;
        }

        .solucao-beat + .solucao-beat {
            border-top: 1px solid var(--gray-200);
        }

        .beat-content {
            padding: 3.5rem;
            position: relative;
            overflow: hidden;
        }

        .beat-watermark {
            position: absolute;
            top: 0.5rem;
            right: 1.5rem;
            font-size: clamp(5rem, 9vw, 8rem);
            font-weight: 900;
            color: var(--gray-100);
            line-height: 1;
            letter-spacing: -0.06em;
            pointer-events: none;
            user-select: none;
            z-index: 0;
        }

        .beat-tag {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--primario-hover);
            margin-bottom: 1rem;
            position: relative;
            z-index: 1;
        }

        .beat-tag::before {
            content: '';
            width: 20px;
            height: 2px;
            background: var(--primario-hover);
            flex-shrink: 0;
        }

        .beat-h3 {
            font-size: clamp(1.15rem, 2vw, 1.5rem);
            font-weight: 800;
            line-height: 1.25;
            letter-spacing: -0.025em;
            color: var(--primario-500);
            margin-bottom: 0.75rem;
            position: relative;
            z-index: 1;
        }

        .beat-body {
            font-size: 0.9375rem;
            color: var(--gray-600);
            line-height: 1.75;
            position: relative;
            z-index: 1;
        }

        .beat-body strong {
            color: var(--gray-800);
            font-weight: 600;
        }

        .solucao-img-placeholder {
            width: 100%;
            height: 100%;
            min-height: 320px;
            background: var(--gray-100);
            border-left: 1px solid var(--gray-200);
            object-fit: cover;
            object-position: center;
            display: block;
        }

        /* Beat 02: image on left, text on right */
        .beat-02 .beat-img-col {
            order: -1;
        }

        .beat-02 .solucao-img-placeholder {
            border-left: none;
            border-right: 1px solid var(--gray-200);
        }

        /* Bridge closer */
        .solucao-bridge {
            margin-top: 1.5rem;
            padding: 3rem 3.5rem;
            background: linear-gradient(135deg, var(--accent), var(--primario-hover));
            border-radius: var(--radius-xl);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 3rem;
        }

        .bridge-label {
            display: block;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.6);
            margin-bottom: 0.6rem;
        }

        .bridge-statement {
            font-size: clamp(1.05rem, 1.8vw, 1.25rem);
            font-weight: 400;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.82);
        }

        .bridge-statement strong {
            color: var(--bg-white);
            font-weight: 700;
        }

        @media (max-width: 900px) {
            .solucao-beat { grid-template-columns: 1fr; min-height: auto; }
            .beat-02 .beat-img-col { order: 0; }
            .solucao-img-placeholder { border-left: none; border-top: 1px solid var(--gray-200); min-height: 220px; }
            .beat-02 .solucao-img-placeholder { border-right: none; border-top: none; border-bottom: 1px solid var(--gray-200); }
            .solucao-bridge { flex-direction: column; align-items: flex-start; gap: 1.5rem; padding: 2.5rem; }
        }

        @media (max-width: 768px) {
            .solucao { padding: 5rem 0; }
            .beat-content { padding: 2rem 1.5rem; }
        }

        /* =============================================
           PROVA SOCIAL — logo carousel
           ============================================= */
        .prova-social {
            padding: 4.8rem 0 0;
            position: relative;
            z-index: 1;
        }

        .prova-social-box {
            background: #ffffff;
            border: 1px solid rgba(0, 8, 20, 0.09);
            border-radius: 20px;
            box-shadow: 0 4px 24px rgba(0, 12, 29, 0.07);
            overflow: hidden;
            padding: 2.5rem 0 2rem;
        }

        .prova-social-title {
            text-align: center;
            font-size: clamp(0.78rem, 1vw, 0.9rem);
            font-weight: 400;
            line-height: 1.7;
            color: rgba(0, 8, 20, 0.45);
            margin: 0 auto 2rem;
            padding: 0 3rem;
            letter-spacing: 0.01em;
            max-width: 600px;
        }

        .prova-logos-track {
            position: relative;
            overflow: hidden;
        }

        .prova-logos-track::before,
        .prova-logos-track::after {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            width: 14%;
            z-index: 2;
            pointer-events: none;
        }

        .prova-logos-track::before {
            left: 0;
            background: linear-gradient(to right, #ffffff, transparent);
        }

        .prova-logos-track::after {
            right: 0;
            background: linear-gradient(to left, #ffffff, transparent);
        }

        .prova-logos-inner {
            display: flex;
            align-items: center;
            gap: 2.5rem;
            width: max-content;
            animation: logos-scroll 30s linear infinite;
            padding: 0.25rem 0;
        }

        .prova-logos-inner:hover {
            animation-play-state: paused;
        }

        @keyframes logos-scroll {
            0%   { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .brand-logo {
            height: 72px;
            width: auto;
            max-width: 260px;
            min-width: 120px;
            flex-shrink: 0;
            object-fit: contain;
            opacity: 0.7;
        }

        /* =============================================
           SERVIÇOS — intro "Serviços dedicados ao crescimento"
           ============================================= */
        .servicos-intro {
            padding: 6rem 0 5rem;
            background: var(--surface-light);
        }

        .servicos-intro-layout {
            display: grid;
            grid-template-columns: 1fr 1.6fr;
            gap: 4rem;
            align-items: stretch;
        }

        .servicos-intro-header {
            position: sticky;
            top: calc(var(--nav-height) + 2rem);
        }

        .servicos-intro-h2 {
            font-size: clamp(2rem, 4vw, 3.2rem);
            font-weight: 900;
            line-height: 1.08;
            letter-spacing: -0.04em;
            color: var(--primario-500);
            margin: 1rem 0 0;
        }

        .servicos-intro-h2 em {
            font-style: normal;
            color: var(--primario-hover);
        }

        /* Two service image cards */
        .servicos-img-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
            align-items: stretch;
            height: 100%;
        }

        .servico-img-card {
            position: relative;
            border-radius: var(--radius-lg);
            overflow: hidden;
            border: 1px solid var(--gray-200);
            display: flex;
            flex-direction: column;
            text-decoration: none;
            cursor: pointer;
            transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
        }

        .servico-img-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-lg);
            border-color: var(--primario-hover);
        }

        .servico-img-card:hover .servico-img-badge {
            background: var(--primario-hover);
        }

        .servico-img-placeholder {
            width: 100%;
            flex: 1;
            min-height: 300px;
            background: var(--gray-100);
            display: block;
        }

        .servico-img-badge {
            position: absolute;
            top: 1rem;
            left: 1rem;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.3rem 0.75rem;
            border-radius: var(--radius-full);
            background: var(--primario-500);
            color: var(--bg-white);
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }

        .servico-img-badge .material-symbols-outlined {
            font-size: 0.8rem;
        }

        @media (max-width: 900px) {
            .servicos-intro-layout { grid-template-columns: 1fr; gap: 2.5rem; }
            .servicos-intro-header { position: static; }
        }

        @media (max-width: 600px) {
            .servicos-img-grid { grid-template-columns: 1fr; }
            .servico-img-placeholder { min-height: 0; aspect-ratio: 1 / 1; }
        }

        /* =============================================
           OFERTA / INÍCIO — "Como começamos"
           ============================================= */
        .inicio {
            padding: 7rem 0;
            background: var(--surface-light);
            position: relative;
        }

        .inicio-bg-grid {
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(65, 31, 200, 0.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(65, 31, 200, 0.05) 1px, transparent 1px);
            background-size: 60px 60px;
            pointer-events: none;
        }

        .inicio-intro {
            text-align: center;
            max-width: 680px;
            margin: 0 auto 3rem;
            position: relative;
            z-index: 1;
        }

        .inicio-intro .section-eyebrow {
            justify-content: center;
        }

        .inicio-h2 {
            font-size: clamp(2rem, 3.8vw, 2.9rem);
            font-weight: 900;
            line-height: 1.1;
            letter-spacing: -0.035em;
            color: var(--primario-500);
            margin: 1rem 0;
        }

        .inicio-lead {
            font-size: 1rem;
            color: var(--gray-500);
            line-height: 1.7;
        }

        /* Featured card */
        .inicio-card {
            background: var(--bg-white);
            border: 1px solid var(--gray-200);
            border-radius: var(--radius-xl);
            box-shadow: var(--shadow-lg);
            overflow: hidden;
            display: grid;
            grid-template-columns: 1fr 1.15fr;
            position: relative;
            z-index: 1;
        }

        .inicio-card-form {
            background: #f7f8fc;
            border-left: 1px solid var(--gray-200);
            position: relative;
            overflow: hidden;
        }

        .inicio-form-header {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.875rem 1.25rem;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            color: var(--gray-500);
            background: var(--bg-white);
            border-bottom: 1px solid var(--gray-200);
        }

        .inicio-form-scroll {
            position: absolute;
            top: 44px; /* altura do header */
            left: 0;
            right: 0;
            bottom: 0;
            overflow-y: auto;
            scrollbar-width: thin;
            scrollbar-color: var(--primario) transparent;
        }

        .inicio-form-scroll::-webkit-scrollbar {
            width: 3px;
        }

        .inicio-form-scroll::-webkit-scrollbar-track {
            background: transparent;
        }

        .inicio-form-scroll::-webkit-scrollbar-thumb {
            background: var(--primario);
            border-radius: 99px;
        }

        .inicio-form-scroll iframe {
            display: block;
            width: 100%;
            height: 2832px;
            border: none;
        }

        .inicio-form-fade {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 56px;
            background: linear-gradient(to top, #f7f8fc 0%, transparent 100%);
            pointer-events: none;
            z-index: 2;
        }

        .inicio-card-content {
            padding: 3rem;
            display: flex;
            flex-direction: column;
        }

        .inicio-content-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: var(--primario-hover);
            margin-bottom: 0.75rem;
            display: flex;
            align-items: center;
            gap: 0.4rem;
        }

        .inicio-content-label::before {
            content: '';
            width: 16px;
            height: 2px;
            background: var(--primario-hover);
        }

        .inicio-content-intro {
            font-size: 0.9375rem;
            color: var(--gray-600);
            line-height: 1.75;
            margin-bottom: 1.5rem;
        }

        .inicio-checklist {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 0.7rem;
            margin-bottom: 1.5rem;
        }

        .inicio-check-item {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            font-size: 0.9375rem;
            color: var(--gray-700);
            line-height: 1.55;
        }

        .inicio-check-icon {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: rgba(var(--primario-hover-rgb), 0.1);
            color: var(--primario-hover);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 0.1rem;
        }

        .inicio-check-icon .material-symbols-outlined {
            font-size: 0.85rem;
        }

        .inicio-clareza {
            font-size: 0.9375rem;
            font-weight: 600;
            color: var(--primario-500);
            padding: 1rem 1.25rem;
            background: rgba(var(--primario-hover-rgb), 0.06);
            border-radius: var(--radius-md);
            border-left: 3px solid var(--primario-hover);
            line-height: 1.55;
            margin-bottom: 1.75rem;
        }

        .inicio-divider {
            height: 1px;
            background: var(--gray-100);
            margin: 1.5rem 0;
        }

        .inicio-subsection {
            margin-bottom: 0;
        }

        .inicio-subsection-label {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--gray-500);
            margin-bottom: 0.4rem;
        }

        .inicio-subsection-body {
            font-size: 0.9rem;
            color: var(--gray-600);
            line-height: 1.75;
        }

        .inicio-card-footer {
            padding: 1.75rem 3rem;
            border-top: 1px solid var(--gray-100);
            background: var(--gray-100);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
        }

        .inicio-footer-copy {
            font-size: 0.875rem;
            color: var(--gray-500);
            line-height: 1.5;
        }

        .inicio-footer-copy strong {
            display: block;
            color: var(--gray-800);
            font-size: 0.9375rem;
            margin-bottom: 0.2rem;
        }

        @media (max-width: 960px) {
            .inicio-card { grid-template-columns: 1fr; }
            .inicio-card-form { border-left: none; border-top: 1px solid var(--gray-200); height: 1200px; }
            .inicio-card-footer { flex-direction: column; align-items: flex-start; }
        }

        @media (max-width: 768px) {
            .inicio { padding: 5rem 0; }
            .inicio-card-content { padding: 2rem 1.5rem; }
            .inicio-card-footer { padding: 1.5rem; }
        }

        /* =============================================
           FAQ — "Perguntas frequentes"
           ============================================= */
        .faq {
            padding: 7rem 0;
            background: var(--primario-500);
            position: relative;
        }

        .faq-grid {
            display: grid;
            grid-template-columns: 1fr 1.65fr;
            gap: 5rem;
            align-items: start;
        }

        .faq-header {
            position: sticky;
            top: calc(var(--nav-height) + 2rem);
        }

        .faq-header .section-eyebrow {
            color: var(--primario-hover);
        }

        .faq-h2 {
            font-size: clamp(1.75rem, 3vw, 2.5rem);
            font-weight: 900;
            line-height: 1.1;
            letter-spacing: -0.035em;
            color: var(--bg-white);
            margin: 1rem 0 1rem;
        }

        .faq-desc {
            font-size: 0.9375rem;
            color: rgba(255, 255, 255, 0.45);
            line-height: 1.75;
        }

        /* Accordion via <details> nativo */
        .faq-list {
            display: flex;
            flex-direction: column;
        }

        .faq-item {
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
        }

        .faq-item:first-child {
            border-top: 1px solid rgba(255, 255, 255, 0.07);
        }

        .faq-question {
            list-style: none;
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1.5rem;
            padding: 1.5rem 0;
            cursor: pointer;
            font-family: 'Epilogue', sans-serif;
            font-size: 1rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.85);
            line-height: 1.45;
            transition: color var(--transition-fast);
            user-select: none;
        }

        .faq-question::-webkit-details-marker { display: none; }

        .faq-item:hover .faq-question,
        .faq-item[open] .faq-question {
            color: var(--bg-white);
        }

        .faq-toggle {
            flex-shrink: 0;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            border: 1.5px solid rgba(255, 255, 255, 0.18);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            line-height: 1;
            color: var(--primario-hover);
            transition: all var(--transition-base);
            font-style: normal;
            font-weight: 400;
        }

        .faq-item[open] .faq-toggle {
            background: rgba(var(--primario-hover-rgb), 0.15);
            border-color: rgba(var(--primario-hover-rgb), 0.5);
            transform: rotate(45deg);
        }

        .faq-item[open] .faq-question {
            color: var(--primario-hover);
        }

        .faq-answer {
            padding: 0 3rem 1.5rem 0;
            font-size: 0.9375rem;
            color: rgba(255, 255, 255, 0.55);
            line-height: 1.8;
        }

        @media (max-width: 900px) {
            .faq-grid { grid-template-columns: 1fr; gap: 3rem; }
            .faq-header { position: static; }
        }

        @media (max-width: 768px) {
            .faq { padding: 5rem 0; }
            .faq-answer { padding-right: 1rem; }
        }


        /* =============================================
           FOOTER
           ============================================= */
        .site-footer {
            background: var(--primario-600);
            border-top: 1px solid rgba(255, 255, 255, 0.08);
        }

        .footer-main {
            display: grid;
            grid-template-columns: 1.8fr 1fr 1fr;
            gap: 3.5rem;
            padding: 4rem 0 3rem;
        }

        /* Brand column */
        .footer-logo {
            font-family: 'Epilogue', sans-serif;
            font-weight: 800;
            font-size: 1.25rem;
            color: var(--bg-white);
            letter-spacing: -0.03em;
            text-decoration: none;
            display: inline-block;
            margin-bottom: 1.25rem;
            transition: opacity var(--transition-fast);
        }

        .footer-logo:hover { opacity: 0.8; }

        .footer-logo .dot { color: var(--primario-hover); }

        .footer-tagline {
            font-size: 0.875rem;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.38);
            max-width: 220px;
        }

        .footer-social {
            display: flex;
            gap: 0.75rem;
            margin-top: 1.75rem;
        }

        .footer-social-link {
            width: 36px;
            height: 36px;
            border-radius: var(--radius-md);
            border: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgba(255, 255, 255, 0.45);
            text-decoration: none;
            font-size: 0.8rem;
            font-family: 'Epilogue', sans-serif;
            font-weight: 700;
            transition: border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);
        }

        .footer-social-link:hover {
            border-color: var(--primario-hover);
            color: var(--primario-hover);
            background: rgba(var(--primario-hover-rgb), 0.08);
        }

        /* Nav columns */
        .footer-col-label {
            font-size: 0.68rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.28);
            margin-bottom: 1.25rem;
            display: block;
        }

        .footer-nav-list {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 0.7rem;
        }

        .footer-nav-list a {
            font-size: 0.875rem;
            color: rgba(255, 255, 255, 0.5);
            text-decoration: none;
            transition: color var(--transition-fast);
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
        }

        .footer-nav-list a::before {
            content: '';
            width: 0;
            height: 1px;
            background: var(--primario-hover);
            transition: width var(--transition-fast);
            flex-shrink: 0;
        }

        .footer-nav-list a:hover {
            color: var(--bg-white);
        }

        .footer-nav-list a:hover::before {
            width: 10px;
        }

        .footer-cta {
            margin-top: 2rem;
        }

        /* Bottom bar */
        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            padding: 1.5rem 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
        }

        .footer-copy {
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.25);
            letter-spacing: 0.01em;
        }

        .footer-legal {
            display: flex;
            gap: 1.5rem;
        }

        .footer-legal a {
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.25);
            text-decoration: none;
            transition: color var(--transition-fast);
        }

        .footer-legal a:hover { color: rgba(255, 255, 255, 0.55); }

        /* Responsive */
        @media (max-width: 900px) {
            .footer-main {
                grid-template-columns: 1fr 1fr;
                gap: 2.5rem;
            }
            .footer-brand { grid-column: 1 / -1; }
            .footer-tagline { max-width: 100%; }
        }

        /* =============================================
           CONTATO
           ============================================= */
        .contato {
            padding: 7rem 0;
            background: linear-gradient(135deg, #060817 0%, #0a0f2e 100%);
            border-top: 1px solid rgba(105, 102, 253, 0.15);
        }

        .contato-inner {
            max-width: 680px;
            margin: 0 auto;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2.5rem;
        }

        .contato-header {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1rem;
        }

        .contato-h2 {
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 800;
            color: #ffffff;
            line-height: 1.15;
            letter-spacing: -0.03em;
        }

        .contato-desc {
            font-size: 1.1rem;
            color: rgba(255, 255, 255, 0.6);
            line-height: 1.7;
            max-width: 520px;
        }

        .contato-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            justify-content: center;
        }

        .contato-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.875rem 1.75rem;
            font-size: 1rem;
        }

        .contato-guarantee {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.85rem;
            color: rgba(255, 255, 255, 0.4);
            letter-spacing: 0.01em;
        }

        @media (max-width: 640px) {
            .contato { padding: 5rem 0; }
            .contato-actions { flex-direction: column; width: 100%; }
            .contato-btn { justify-content: center; width: 100%; }
        }

        @media (max-width: 560px) {
            .footer-main {
                grid-template-columns: 1fr;
                padding: 3rem 0 2rem;
            }
            .footer-bottom {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.75rem;
            }
        }

        /* =============================================
           PÁGINAS SECUNDÁRIAS — nav simples + utility
           ============================================= */

        .page-nav {
            position: sticky;
            top: 0;
            z-index: 100;
            background: rgba(0, 12, 29, 0.92);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .page-nav .container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 64px;
        }

        .page-nav-logo {
            font-family: 'Epilogue', sans-serif;
            font-weight: 900;
            font-size: 1.2rem;
            color: var(--bg-white);
            text-decoration: none;
            letter-spacing: -0.02em;
        }

        .page-nav-logo .dot { color: var(--primario-hover); }

        /* Footer mínimo — legal, 404, obrigado */
        .page-footer-min {
            border-top: 1px solid var(--gray-100);
            padding: 2rem 0;
        }

        .page-footer-min .container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
        }

        .page-footer-min .footer-logo {
            font-family: 'Epilogue', sans-serif;
            font-weight: 900;
            font-size: 1.1rem;
            color: var(--gray-900);
            text-decoration: none;
            letter-spacing: -0.02em;
        }

        .page-footer-min .footer-logo .dot { color: var(--primario-hover); }

        .page-footer-min .footer-back {
            font-size: 0.875rem;
            color: var(--gray-500);
            text-decoration: none;
            transition: color 150ms;
        }

        .page-footer-min .footer-back:hover { color: var(--gray-900); }

        @media (max-width: 480px) {
            .page-footer-min .container {
                flex-direction: column;
                gap: 0.75rem;
                text-align: center;
            }
        }

        /* Utility page — 404, obrigado, etc. */
        .utility-page {
            min-height: 60vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 6rem 1.5rem;
            gap: 1.25rem;
        }

        .utility-code {
            font-size: clamp(5rem, 18vw, 9rem);
            font-weight: 900;
            color: var(--gray-100);
            line-height: 1;
            letter-spacing: -0.05em;
            margin-bottom: 0.5rem;
        }

        .utility-icon {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: rgba(105, 102, 253, 0.08);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6rem;
            margin-bottom: 0.5rem;
        }

        .utility-h1 {
            font-size: clamp(1.4rem, 4vw, 2rem);
            font-weight: 800;
            color: var(--gray-900);
            letter-spacing: -0.02em;
            margin: 0;
        }

        .utility-desc {
            font-size: 1rem;
            color: var(--gray-500);
            line-height: 1.7;
            max-width: 420px;
            margin: 0;
        }

        /* Legal pages — política de privacidade, termos de uso */
        .legal-page {
            max-width: 760px;
            margin: 0 auto;
            padding: 6rem 1.5rem 6rem;
        }

        .legal-page h1 {
            font-size: clamp(1.75rem, 4vw, 2.25rem);
            font-weight: 800;
            color: var(--gray-900);
            letter-spacing: -0.02em;
            margin-bottom: 0.5rem;
        }

        .legal-page .legal-updated {
            font-size: 0.875rem;
            color: var(--gray-400);
            margin-bottom: 3rem;
            display: block;
        }

        .legal-page h2 {
            font-size: 1.125rem;
            font-weight: 700;
            color: var(--gray-800);
            margin: 2.5rem 0 0.75rem;
        }

        .legal-page p {
            font-size: 1rem;
            line-height: 1.8;
            color: var(--gray-600);
            margin-bottom: 0.75rem;
        }

        .legal-page ul {
            padding-left: 1.5rem;
            margin-bottom: 0.75rem;
        }

        .legal-page li {
            font-size: 1rem;
            line-height: 1.8;
            color: var(--gray-600);
            margin-bottom: 0.25rem;
        }

        .legal-page a {
            color: var(--primario-hover);
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        /* =============================================
           MOBILE STICKY CTA BAR
           ============================================= */
        .mobile-sticky-cta {
            display: none;
        }

        @media (max-width: 768px) {
            .mobile-sticky-cta {
                display: block;
                position: fixed;
                bottom: 0;
                left: 0;
                right: 0;
                z-index: 90;
                padding: 0.75rem 1rem;
                padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
                background: rgba(0, 12, 29, 0.92);
                backdrop-filter: blur(20px);
                -webkit-backdrop-filter: blur(20px);
                border-top: 1px solid rgba(255, 255, 255, 0.08);
            }

            .mobile-sticky-btn {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 0.5rem;
                width: 100%;
                height: 3rem;
                font-family: 'Epilogue', sans-serif;
                font-size: 0.95rem;
                font-weight: 700;
                color: var(--bg-white);
                background: var(--secondary);
                border: none;
                border-radius: var(--radius-full);
                cursor: pointer;
                text-decoration: none;
                transition: all var(--transition-fast);
                box-shadow: 0 0 24px rgba(var(--secondary-rgb), 0.25);
            }

            .mobile-sticky-btn:hover,
            .mobile-sticky-btn:active {
                background: #15a07a;
                box-shadow: 0 0 32px rgba(var(--secondary-rgb), 0.4);
                transform: translateY(-1px);
            }

            /* Give footer extra bottom padding so sticky bar doesn't overlap */
            .site-footer {
                padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0px));
            }
        }
