

:root {
    /* Color Palette */
    --bg-primary: #0A0F1A;
    --bg-secondary: #121A2F;
    --bg-tertiary: #1A243D;
    
    --accent-green: #00FF88;
    --accent-green-glow: rgba(0, 255, 136, 0.2);
    --accent-green-hover: #00E67A;
    
    --accent-cyan: #00E5FF;
    --accent-cyan-glow: rgba(0, 229, 255, 0.2);
    
    --text-primary: #FFFFFF;
    --text-secondary: #A0AEC0;
    --text-muted: #718096;
    
    --border-color: rgba(255, 255, 255, 0.08);
    
    /* Typography */
    --font-sans: 'Futura Bk', 'Jost', 'Futura', sans-serif;
    
    /* Layout */
    --container-max: 1450px;
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-sans);
    background-color: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    /* overflow-x: hidden removido para evitar quebra do sticky */
    /* zoom removido a favor do novo sistema transform */
    
    /* Subtle Grid Background Pattern for Tech Vibe */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 50px 50px;
    background-position: center top;
}

/* Base Utilities */
.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 40px;
    margin: 0 auto;
    padding: 0 24px;
}

.text-highlight {
    color: var(--accent-green);
}

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

/* Typography Scale (Swiss Style) */
h1, h2, h3, h4 {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.section-title {
    font-size: 2.5rem;
    margin-bottom: 3rem;
    position: relative;
    display: inline-block;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--accent-cyan);
}

.section-title.text-center::after {
    left: 50%;
    transform: translateX(-50%);
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 4px; /* Precise, slightly rounded */
    text-decoration: none;
    transition: var(--transition-smooth);
    cursor: pointer;
    letter-spacing: 0.01em;
}

.btn-primary {
    background-color: var(--accent-green);
    color: #000;
    box-shadow: 0 0 20px var(--accent-green-glow);
}

.btn-primary:hover {
    background-color: var(--accent-green-hover);
    box-shadow: 0 0 30px rgba(0, 255, 136, 0.4);
    transform: translateY(-2px);
}

.btn-outline {
    background-color: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.btn-outline:hover {
    border-color: var(--text-primary);
    background-color: rgba(255, 255, 255, 0.05);
    transform: translateY(-2px);
}

/* Header & Navigation */
.relative { position: relative; }
.premium-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px; /* Barra substancialmente mais alta */
    padding: 0 5%;
    z-index: 99999;
    background: rgba(7, 11, 25, 0.35); /* Muito mais translúcida */
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05); /* Linha divisória quase invisível */
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.4s ease;
}
.premium-header.scrolled {
    background: rgba(7, 11, 25, 0.85); /* fallback in case user wants less transparency on scroll, though I'll keep the height 100px */
}

.header-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* NEW LOGO STYLES */
.logo-wrapper { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; text-decoration: none; width: 450px; min-width: 450px; max-width: 450px; flex-shrink: 0; overflow: hidden; }
.logo-main { font-size: 32px; line-height: 1; letter-spacing: -0.5px; display: flex; align-items: baseline; white-space: nowrap; }
.ahurabi-text { font-family: 'Futura Bk', 'Jost', 'Futura', sans-serif; font-weight: 400; color: #FFFFFF; }
.bi-text { font-family: 'Futura Bk', 'Jost', 'Futura', sans-serif; font-weight: 400; color: rgb(0, 255, 136); }
.logo-slogan { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 300; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); white-space: nowrap; margin-left: 0; display: block; }

/* NEW NAV STYLES */
.premium-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 40px;
    align-items: center;
}

.premium-nav ul li a {
    font-family: 'Futura Bk', 'Jost', 'Futura', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #FFFFFF;
    letter-spacing: 1px;
    padding: 10px 0;
    position: relative;
    transition: color 0.3s ease;
    text-decoration: none;
    text-transform: uppercase;
}

.premium-nav ul li a::after { 
    content: ''; 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    width: 0%; 
    height: 2px; 
    background-color: rgb(0, 255, 136); 
    transition: width 0.3s cubic-bezier(0.25, 1, 0.5, 1); 
    box-shadow: 0 0 10px rgba(0, 255, 136, 0.5); 
}

.premium-nav ul li a:hover,
.premium-nav ul li a.active { 
    color: rgb(0, 255, 136); 
}

.premium-nav ul li a:hover::after,
.premium-nav ul li a.active::after { 
    width: 100%; 
}

.btn-outline-cyan {
    font-family: 'Futura Bk', 'Jost', 'Futura', sans-serif;
    background-color: transparent;
    color: var(--text-primary);
    border: 1px solid var(--accent-cyan);
    padding: 10px 24px;
    border-radius: 0;
    transition: all 0.2s ease;
}
.btn-outline-cyan:hover {
    background-color: rgba(0, 229, 255, 0.1);
    box-shadow: 0 0 15px rgba(0, 229, 255, 0.2);
    border-color: var(--accent-cyan);
    transform: translateY(0);
}

/* Hero Section */
.premium-hero {
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    background-image: url('img/hero_home.webp');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 160px 0 100px;
    overflow: hidden;
}

.hero-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to right, rgba(7, 11, 25, 0.95) 0%, rgba(7, 11, 25, 0.7) 100%);
    z-index: 1;
}

.vertical-text-hero {
    position: absolute;
    left: -20px;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: left center;
    color: rgba(255, 255, 255, 0.05);
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 1em;
    white-space: nowrap;
    z-index: 2;
    pointer-events: none;
}


    .premium-hero {
        align-items: flex-start !important;
        height: auto !important;
        padding-top: 180px !important;
        padding-bottom: 60px !important;
    }

    .hero-container {
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr 400px auto; /* More space for the right typographical block */
    gap: 16px; /* Block effect with minimal gap */
    align-items: stretch;
    width: 100%;
}

.hero-content-left {
    max-width: 800px;
}

.hero-label-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.hero-label {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 4px;
    color: var(--accent-cyan);
    text-transform: uppercase;
}

.hero-label-line {
    height: 1px;
    width: 60px;
    background: var(--accent-cyan);
}

.hero-title-mass {
      font-size: clamp(4rem, 8vw, 7rem);
      font-weight: 900;
    line-height: 1;
    margin-bottom: 32px;
    letter-spacing: -0.04em;
}

.text-highlight-green {
    color: var(--accent-green);
    position: relative;
    display: inline-block;
}
.text-highlight-green::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 8px;
    background: var(--accent-green);
    opacity: 0.3;
}

.hero-desc-premium {
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 800px;
    margin-bottom: 48px;
    line-height: 1.8;
    font-weight: 300;
}

.hero-actions-premium {
    display: flex;
    gap: 24px;
    align-items: center;
}

.btn-industrial-green {
    background: var(--accent-green);
    color: #000;
    border: 2px solid var(--accent-green);
    border-radius: 0;
    padding: 16px 32px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
}
.btn-industrial-green:hover {
    background: transparent;
    color: var(--accent-green);
    box-shadow: 0 0 20px rgba(0, 255, 136, 0.2);
}

.btn-text-arrow {
    color: #FFF;
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.1rem;
    transition: all 0.2s ease;
}
.btn-text-arrow i {
    transition: transform 0.2s ease;
}
.btn-text-arrow:hover i {
    transform: translateX(5px);
    color: var(--accent-cyan);
}

/* Hero Proof Column */
.hero-proof-cards {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}

.proof-card {
    background: rgba(7, 11, 25, 0.4);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 40px; /* Increased from 32px */
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.proof-card-green { border-left: 2px solid var(--accent-green); }
.proof-card-cyan { border-left: 2px solid var(--accent-cyan); }
.proof-card-white { border-left: 2px solid #FFFFFF; }

.hero-proof-column::selection,
.proof-card::selection {
    background: transparent !important;
    color: inherit !important;
}

.proof-card .proof-desc::selection,
.proof-card .proof-label::selection,
.proof-card .proof-value::selection,
.proof-card .proof-value *::selection {
    background: rgba(34, 211, 238, 0.3) !important;
    color: inherit !important;
}

.proof-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    margin-bottom: 8px;
}

.proof-value {
    font-size: 3.5rem; /* Increased from 3rem */
    font-weight: 800;
    line-height: 1;
    margin-bottom: 12px;
}

.proof-desc {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.625;
}

/* NOVO BLOCO PROVA */
.hero-proof-title {
    display: flex;
    gap: 20px;
    align-items: stretch;
}

.proof-vertical {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    font-size: clamp(2rem, 3.5vw, 4.5rem);
    font-weight: 900;
    color: #FFFFFF;
    text-align: center;
    line-height: 1;
}
.proof-vertical span {
    display: block;
}

.proof-horizontal {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    font-size: clamp(3.5rem, 6vw, 6rem);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.04em;
    color: var(--accent-cyan);
    text-align: left;
}
.proof-horizontal span {
    display: block;
}

.text-white { color: #FFFFFF; }
.text-cyan { color: var(--accent-cyan); }

.proof-desc {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}

/* Services Section */
.services {
    padding: 100px 0 60px 0;
    position: relative;
}

/* Pseudo-elementos luminosos removidos */

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

@media (min-width: 768px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px;
    }
}

.services-title {
    font-size: 3.5rem;
    text-align: center;
    font-family: 'Futura Bk', 'Jost', sans-serif;
    font-weight: 700;
    background: linear-gradient(to right, var(--accent-cyan), var(--accent-green));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 4rem;
}

.service-card {
    flex: 1 1 320px;
    max-width: 400px;
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 40px 32px;
    border-radius: 4px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    zoom: 1.2;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 40px rgba(0, 229, 255, 0.1);
    border-color: var(--accent-cyan);
}

.highlight-card:hover {
    box-shadow: 0 10px 40px rgba(0, 255, 136, 0.1);
    border-color: var(--accent-green);
}

.card-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.card-icon {
    font-size: 2rem;
    color: var(--accent-green);
}

.icon-cyan {
    color: var(--accent-cyan);
}

.card-title {
    font-size: 1.3rem;
    font-weight: 700;
}

.card-price {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}

.setup {
    display: block;
    font-size: 0.85rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.monthly {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
}

.card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #FFFFFF;
}

.card-text {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
}

.glass-box {
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 24px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Authority Section */
.authority {
    padding: 100px 0;
    background: var(--bg-secondary);
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}

.authority-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: 48px;
    margin-top: 64px;
}

.authority-item {
    text-align: center;
}

.icon-wrapper {
    width: 64px;
    height: 64px;
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    font-size: 2rem;
    color: var(--text-primary);
    transition: var(--transition-smooth);
}

.authority-item:hover .icon-wrapper {
    background: var(--bg-tertiary);
    border-color: rgba(255,255,255,0.2);
    color: var(--accent-cyan);
    transform: scale(1.05);
}

.authority-item h4 {
    font-size: 1.1rem;
    margin-bottom: 16px;
}

.authority-item p {
    color: var(--text-secondary);
    font-size: 0.9rem;
    font-weight: 300;
}

/* Footer */
.footer {
    padding: 60px 0;
}

.footer-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}

.footer-logo {
    font-weight: 800;
    font-size: 1.2rem;
}

.footer-info {
    text-align: right;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.location {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}
/* CFO Premium Section - Editorial Tech */
.cfo-premium {
    position: relative;
    margin-top: -20px; /* Corta ~0.5cm sobrepondo a tarja de cima */
    z-index: 10;
    padding: 150px 5%;
    /* Imagem renovada: Negócios, Contratos, Escritório Corporativo e Análise de Dados */
    background-image: url('img/bg_reuniao.webp');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    overflow: hidden;
    color: var(--text-primary);
}

.cfo-premium-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(7, 11, 25, 0.85); /* #070B19 at 85% */
    z-index: 1;
}

.vertical-text {
    position: absolute;
    top: 50%;
    left: -20px;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: left center;
    font-size: clamp(4rem, 15vw, 12rem);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.02);
    z-index: 2;
    letter-spacing: 0.1em;
    pointer-events: none;
    white-space: nowrap;
}

.cfo-premium-container {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    max-width: 1400px;
}

/* Esquerda */
.cfo-left {
    padding-left: 60px; /* Space for vertical text */
}

.cfo-title {
    font-size: clamp(3rem, 5vw, 5rem);
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 32px;
    letter-spacing: -0.03em;
}

.cyan-text {
    color: var(--accent-cyan);
}

.green-text {
    color: var(--accent-green);
}

.white-text {
    color: #FFF;
}

.cfo-desc {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.8;
    margin-bottom: 48px;
    font-weight: 300;
    max-width: 600px;
}

.btn-industrial {
    background: transparent;
    color: #FFF;
    border: 2px solid var(--accent-green);
    border-radius: 0; /* Straight edges */
    padding: 18px 40px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    transition: var(--transition-smooth);
    z-index: 1;
}

.btn-industrial::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background: var(--accent-green);
    transition: var(--transition-smooth);
    z-index: -1;
}

.btn-industrial:hover {
    box-shadow: 0 0 30px rgba(0, 255, 136, 0.4);
}

.mockup-dashboard {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 50px rgba(0, 229, 255, 0.1);
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.mockup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 16px;
}

.mockup-title {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.live-indicator {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--accent-green);
    font-weight: 600;
}

.live-dot {
    width: 8px;
    height: 8px;
    background-color: var(--accent-green);
    border-radius: 50%;
    animation: pulse-green 1.5s infinite;
}

@keyframes pulse-green {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 255, 136, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(0, 255, 136, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 255, 136, 0); }
}

.mockup-main-value {
    display: flex;
    align-items: baseline;
    gap: 16px;
}

.mockup-value {
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1;
}

.mockup-percent {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--accent-green);
}

.mockup-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 8px;
}

.mockup-chart {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    height: 120px;
    margin-top: 8px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

@keyframes growBar {
    from { height: 0; }
}

.chart-bar {
    flex: 1;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px 4px 0 0;
    animation: growBar 1.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.chart-bar.cyan { background: var(--accent-cyan); }
.chart-bar.green { background: var(--accent-green); }

.mockup-progress-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.progress-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
}

.progress-bar-bg {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    overflow: hidden;
}

.progress-bar-fill { height: 100%; border-radius: 3px; animation: growWidth 1.5s ease forwards; }
@keyframes growWidth { from { width: 0; } }

.progress-bar-fill.red { background: #FF4757; opacity: 0.8; }
.progress-bar-fill.green { background: var(--accent-green); box-shadow: 0 0 10px var(--accent-green); }

/* Mockup Carousel Styles */
.mockup-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 280px; /* Evita pulos de altura */
}

.mockup-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, transform 0.5s ease;
    transform: translateX(20px);
}

.mockup-slide.active {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.mockup-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mockup-paginator {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
    padding-bottom: 8px;
}

.mockup-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    cursor: pointer;
    transition: all 0.3s ease;
}

.mockup-dot.active {
    background: #22c55e;
    box-shadow: 0 0 10px #22c55e;
    transform: scale(1.2);
}

.mockup-dot:nth-child(2).active, .mockup-dot:nth-child(4).active, .mockup-dot:nth-child(5).active {
    background: #22d3ee;
    box-shadow: 0 0 10px #22d3ee;
}

/* Chart Headers */
.mockup-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mockup-chart-title {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
}
.mockup-kpi {
    font-size: 15px;
    font-weight: 700;
}
.text-cyan { color: var(--accent-cyan); }
.text-green { color: var(--accent-green); }

.btn-industrial:hover::before {
    width: 100%;
}
.btn-industrial:hover {
    color: #000;
}

/* Direita - Glassmorphism */
.glass-panel {
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-left: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    padding: 64px 48px;
}

.stat-block {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 48px;
    margin-bottom: 48px;
}

.stat-block.border-none {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.stat-label {
    display: block;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600;
}

.stat-number {
    font-size: clamp(5rem, 8vw, 8rem);
    font-weight: 900;
    line-height: 0.9;
    margin-bottom: 16px;
    letter-spacing: -0.04em;
}

.stat-sub {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 300;
}

/* Web & Tráfego Page */
.highlight { color: var(--accent-green); }

/* Configuração do Contentor Principal */
.hero-web {
    width: 100%;
    min-height: 100vh;
    padding-top: 100px; /* Espaço para o header */
    display: flex;
    align-items: center;
    background-image: linear-gradient(90deg, #070B19 0%, rgba(7, 11, 25, 0.85) 40%, rgba(7, 11, 25, 0.6) 100%), url('img/hero_web.webp');
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.hero-grid {
    display: grid;
    grid-template-columns: 80px 1fr 400px; /* Caixas mais finas e puxadas à esquerda */
    gap: 40px;
    width: 100%;
    max-width: 1150px; /* Força o texto a quebrar e as caixas a centralizarem */
    margin: 0 auto;
    align-items: center;
    padding: 0 4%;
}

/* Coluna 1: Âncora Esquerda */
.left-anchor {
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid rgba(255, 255, 255, 0.05); /* Linha editorial arquitetónica */
    overflow: visible;
}

.vertical-label {
    position: absolute;
    left: -10px; /* Empurra para a esquerda para afastar da linha */
    top: 50%;
    transform: translateY(-50%) rotate(-90deg) scale(1.6);
    transform-origin: center;
    color: rgba(0, 229, 255, 0.8);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 6px;
    white-space: nowrap;
}

/* Coluna 2: Título Central */
.massive-title {
    font-size: clamp(5rem, 8vw, 10rem);
    line-height: 1.05;
    font-weight: 900;
    color: #FFFFFF;
    letter-spacing: -3px;
    margin: 0;
}

.highlight-green {
    color: #00FF88;
}

/* Coluna 3: Torre de Cartões */
.right-tower {
    display: flex;
    flex-direction: column;
    gap: 24px; /* Espaçamento entre os quadros */
}

@keyframes premiumReveal {
    0% { opacity: 0; transform: translateY(40px); filter: blur(4px); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

.right-tower .glass-card {
    opacity: 0;
    animation: premiumReveal 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.right-tower .glass-card:nth-child(1) { animation-delay: 0.4s; }
.right-tower .glass-card:nth-child(2) { animation-delay: 0.8s; }
.right-tower .glass-card:nth-child(3) { animation-delay: 1.2s; }

.glass-card {
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 1.25rem 2.5rem;
    border-left: 3px solid #00FF88;
}

.premium-card {
    border-left-color: #00E5FF;
}

.premium-card h3 {
    color: #FFFFFF;
    font-size: 22px;
    margin-bottom: 16px;
    line-height: 1.4;
    letter-spacing: 0.5px;
    font-weight: 800;
}

.premium-card h4 {
    color: #00E5FF;
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 16px;
    font-weight: 800;
}

.glass-card p {
    color: #8E9BAE; /* Cinza azulado */
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.premium-card p {
    font-size: 16px;
}

.card-label {
    display: block;
    font-size: 12px;
    color: #00E5FF;
    letter-spacing: 2px;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.card-value {
    font-size: 64px;
    font-weight: 900;
    color: #FFFFFF;
    margin-bottom: 8px;
    line-height: 1;
}

.btn-industrial-green {
    background: var(--accent-green);
    color: #000;
    border: 2px solid var(--accent-green);
    border-radius: 0;
    padding: 16px 32px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
    display: inline-block;
    text-decoration: none;
    text-align: center;
}

.btn-industrial-green:hover {
    background: transparent;
    color: var(--accent-green);
    box-shadow: 0 0 20px rgba(0, 255, 136, 0.2);
}

.w-100 { width: 100%; }
.mt-4 { margin-top: 1.5rem; }

/* Artillery Section */
.wt-artillery-section {
    position: relative;
    background: 
        linear-gradient(to bottom, #070B19 0%, transparent 150px),
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 100% 100%, 50px 50px, 50px 50px;
    background-color: #070B19;
    padding: 150px 5%;
}

.wt-artillery {
    position: relative;
    z-index: 2;
    max-width: 1600px;
    padding: 0 5%;
    margin: 0 auto;
    zoom: 0.8;
}

.artillery-list {
    width: 100%;
}

.artillery-item {
    display: flex;
    align-items: center;
    padding: 60px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

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

.artillery-item:hover .art-number {
    color: rgba(0, 229, 255, 0.15);
}

.artillery-item:hover .art-title {
    border-left: 3px solid #00FF88;
    padding-left: 20px;
}

.art-number {
    font-size: clamp(5rem, 8vw, 8rem);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.03);
    line-height: 1;
    width: 20%;
    transition: color 0.3s ease;
}

.art-title {
    font-size: 32px;
    font-weight: 700;
    color: #FFF;
    width: 35%;
    transition: all 0.3s ease;
}

.art-desc {
    width: 45%;
    text-align: left;
    font-size: 22.5px;
    color: #8E9BAE;
    line-height: 1.8;
}

.cursor {
    display: inline-block;
    width: 8px;
    background-color: #00E5FF;
    animation: blink 1s step-end infinite;
    color: transparent;
    margin-left: 4px;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* Pricing Section */
.wt-pricing-section {
    position: relative;
    background-color: #070B19;
    background-image: 
        /* Camada 1 (Overlay): Gradiente escuro que derrete o topo e escurece a imagem em 90% para dar contraste ao texto */
        linear-gradient(to bottom, #070B19 0%, rgba(7, 11, 25, 0.88) 15%, rgba(7, 11, 25, 0.95) 100%),
        /* Camada 2 (Fotografia): A imagem do aperto de mão */
        url('img/aperto-mao.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* Mantém a página viva com o efeito Parallax */
    background-attachment: fixed;
    padding: 150px 0 140px;
}

.wt-pricing-section .container {
    position: relative;
    z-index: 2;
}

/* Pricing Switcher */
.pricing-switcher {
    display: flex;
    justify-content: center;
    gap: 0;
    margin-bottom: 40px;
    background: rgba(0,0,0,0.4);
    border-radius: 40px;
    padding: 8px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid rgba(255,255,255,0.1);
    position: relative;
    z-index: 2;
}

.pricing-btn {
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.6);
    padding: 12px 32px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.pricing-btn.active {
    background: var(--accent-green);
    color: #000;
    box-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
}

.wt-pricing-box.annual-active {
    box-shadow: 0 0 40px rgba(0, 255, 136, 0.1);
    border-top: 4px solid var(--accent-green);
}

.pricing-dynamic-content {
    transition: opacity 0.3s ease;
}
.pricing-dynamic-content.fade-out {
    opacity: 0;
}

.wt-pricing-box {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    background: rgba(13, 20, 44, 0.4);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 20px 50px rgba(0,0,0, 0.5);
    border-top: 4px solid var(--accent-green);
    padding: 50px;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    text-align: left;
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.wt-pricing-box:hover {
    box-shadow: 0 10px 40px rgba(0, 255, 136, 0.15);
    border-color: rgba(0, 255, 136, 0.5);
}

.pricing-list-title {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 24px;
    color: #FFF;
}

.pricing-features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pricing-features li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.1rem;
    color: rgba(255,255,255,0.8);
    margin-bottom: 16px;
}

.pricing-features li i {
    font-size: 1.4rem;
}

.pricing-box-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pricing-option {
    background: rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 6px;
    padding: 24px;
    position: relative;
}

.option-label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.option-price {
    font-size: 2.5rem;
    font-weight: 900;
    color: #FFF;
    line-height: 1;
    margin-bottom: 8px;
}

.option-price .period {
    font-size: 1rem;
    color: rgba(255,255,255,0.5);
    font-weight: 400;
}

.option-sub {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.5);
}

.wt-btn-giant {
    background: linear-gradient(135deg, #00FF88 0%, #00B359 100%);
    color: #000;
    font-size: 14px;
    font-weight: 800;
    padding: 16px 36px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    display: inline-block;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0, 255, 136, 0.2);
    border: none;
}

.wt-btn-giant:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 35px rgba(0, 255, 136, 0.4);
    color: #000;
}

/* Animations */
.fade-in-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive */
@media (max-width: 900px) {
    .nav-links, .nav-cta {
        display: none;
    }
    
    .mobile-menu-btn {
        display: block;
    }

    .nav-links.active {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: var(--bg-primary);
        padding: 24px;
        border-bottom: 1px solid var(--border-color);
        box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    }

    .hero-actions-premium {
        flex-direction: column;
        align-items: stretch;
    }

    .btn, .btn-industrial-green, .btn-text-arrow {
        width: 100%;
        justify-content: center;
    }
    
    
    .premium-hero {
        align-items: flex-start !important;
        height: auto !important;
        padding-top: 180px !important;
        padding-bottom: 60px !important;
    }

    .hero-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .vertical-text-hero {
        display: none;
    }
    
    .hero-proof-column {
        width: 100%;
        margin-top: 20px;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .footer-container {
        flex-direction: column;
        text-align: center;
    }
    
    .footer-info {
        text-align: center;
    }
    
    .location {
        justify-content: center;
    }
    
    .cfo-premium-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .vertical-text {
        display: none;
    }
    
    .cfo-left {
        padding-left: 0;
    }
    
    .glass-panel {
        padding: 40px 24px;
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
    }
    
    .wt-page-container {
        grid-template-columns: 1fr;
        gap: 60px;
    }
    
    .wt-page-left, .wt-page-right {
        width: 100%;
    }
    
    .wt-page-right {
        margin-top: 0;
    }
    
    .artillery-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    
    .art-number, .art-title, .art-desc {
        width: 100%;
        text-align: left;
        margin-left: 0;
    }

    .wt-pricing-box {
        grid-template-columns: 1fr;
        padding: 32px 24px;
    }
    
    .option-price {
        font-size: 2rem;
    }

    .wt-btn-giant {
        padding: 16px 32px;
        font-size: 1rem;
    }
}

/* Fix: Esconder botão mobile no desktop */
@media (min-width: 901px) {
    .mobile-menu-btn {
        display: none !important;
    }
}

/* Responsividade Básica (Hero) */
@media (max-width: 1200px) {
    .hero-grid { grid-template-columns: 60px 1fr 350px; }
}
@media (max-width: 992px) {
    .hero-grid { grid-template-columns: 1fr; }
    .left-anchor { display: none; }
}

/* === REGRAS DE FLUIDEZ & IMERSÃO === */

/* FADE-IN SUPERIOR DA SECÇÃO DOS ENTREGÁVEIS */
.seccao-entregaveis { position: relative; }
.seccao-entregaveis::before { 
    content: ''; 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 250px; 
    background: linear-gradient(to bottom, #070B19 0%, transparent 100%); 
    pointer-events: none; 
    z-index: 2; 
}

/* REFINAMENTO DO HOVER DOS PREÇOS */
.pricing-card-container { 
    transition: box-shadow 0.4s ease, border-color 0.4s ease; 
}
.pricing-card-container:hover { 
    box-shadow: 0 10px 40px rgba(0, 255, 136, 0.15); 
    border-color: rgba(0, 255, 136, 0.5); 
}

/* === SPLASH SCREEN (TELA DE ENTRADA) === */
.splash-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 9999999; /* Mais alto que o header (99999) */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* zoom compensado apenas no desktop (ver bloco min-width:1025px) */
}

/* Split Doors */
.splash-door {
    position: absolute;
    left: 0;
    width: 100%;
    height: 51%; /* 51% em vez de 50vh para garantir que se sobrepõem ligeiramente e não deixam falhas matemáticas */
    background-color: #0B0F19; /* Solid deep dark mode */
    transition: transform 1.2s cubic-bezier(0.83, 0, 0.17, 1);
    z-index: 1;
}

.splash-door-top {
    top: 0;
    transform-origin: top;
}

.splash-door-bottom {
    bottom: 0;
    transform-origin: bottom;
}

/* Door Opening Animation classes */
.splash-overlay.open .splash-door-top {
    transform: translateY(-100%);
}

.splash-overlay.open .splash-door-bottom {
    transform: translateY(100%);
}

.splash-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: opacity 0.3s ease-out;
}

.splash-content.fade-out {
    opacity: 0;
}

.splash-logo {
    font-family: 'Futura Bk', 'Jost', sans-serif;
    font-weight: 400;
    
    font-size: 5rem;
      color: #fff;
    line-height: 1;
}

.splash-slogan {
    font-size: 0.875rem;
    letter-spacing: 0.2em;
    color: var(--text-secondary);
    margin-top: 8px;
    font-weight: 300;
}

.splash-text-container {
    margin-top: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.splash-line-1 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 900;
    text-transform: uppercase;
    color: var(--accent-cyan);
    line-height: 1.1;
}

.splash-line-2 {
    font-size: clamp(1.2rem, 3vw, 2rem);
    color: rgba(255, 255, 255, 0.85);
    margin-top: 12px;
}

.btn-splash {
    margin-top: 4rem;
    padding: 16px 48px;
    background: transparent;
    border: 1px solid var(--accent-cyan);
    color: var(--accent-cyan);
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 0;
}

.btn-splash:hover {
    background: var(--accent-cyan);
    color: #000;
}

/* === MEGA FOOTER === */
.mega-footer {
    width: 100%;
    background-color: #0B0F19; /* Solid dark background */
    padding-top: 4rem; /* pt-16 */
    padding-bottom: 2rem; /* pb-8 */
    border-top: 1px solid rgba(255, 255, 255, 0.1); /* border-white/10 */
}

.footer-top-glow {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--accent-cyan), transparent);
    opacity: 0.5;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem; /* gap-12 */
    max-width: 1280px; /* max-w-7xl */
    margin: 0 auto;
    padding: 0 1.5rem; /* px-6 */
}

@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .footer-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.footer-col {
    display: flex;
    flex-direction: column;
}

.footer-logo {
    font-family: 'Futura Bk', 'Jost', sans-serif;
    font-size: 2rem;
    color: #fff;
    font-weight: 400;
}

.footer-mission {
    font-size: 0.875rem; /* text-sm */
    color: #9CA3AF; /* text-gray-400 */
    margin-top: 1rem;
    line-height: 1.625; /* leading-relaxed */
}

.footer-socials {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

.social-icon {
    color: #9CA3AF;
    font-size: 1.5rem;
    transition: color 0.3s ease;
}

.social-icon:hover {
    color: var(--accent-cyan);
}

.footer-col-title {
    color: #fff;
    font-weight: 700;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em; /* tracking-wider */
    font-size: 0.875rem; /* text-sm */
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* gap-3 */
}

.footer-links a {
    font-size: 0.875rem;
    color: #9CA3AF;
    text-decoration: none;
    transition: color 0.3s ease;
    cursor: pointer;
}

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

.footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer-contact-list li {
    font-size: 0.875rem;
    color: #9CA3AF;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.footer-contact-list i {
    font-size: 1.1rem;
    color: var(--accent-cyan);
}

.btn-footer-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--accent-green);
    color: var(--accent-green);
    padding: 0.5rem 1rem; /* px-4 py-2 */
    margin-top: 0.5rem; /* mt-2 */
    font-size: 0.75rem; /* text-xs */
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    align-self: flex-start;
}

.btn-footer-contact:hover {
    background-color: var(--accent-green);
    color: #000;
}

.footer-copyright-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 3rem; /* mt-12 */
    padding-top: 2rem; /* pt-8 */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    font-size: 0.75rem; /* text-xs */
    color: #6B7280; /* text-gray-500 */
    gap: 1rem;
}

@media (min-width: 768px) {
    .footer-copyright-bar {
        flex-direction: row;
    }
}

/* === CONTACT MODAL === */
.modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 99999;
    background-color: rgba(11, 15, 25, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    padding: 16px;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.modal-box {
    width: 100%;
    max-width: 500px;
    background-color: #111827;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 32px;
    position: relative;
    transform: translateY(20px);
    transition: all 0.3s ease;
}

.modal-overlay.active .modal-box {
    transform: translateY(0);
}

.modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: none;
    color: #9CA3AF;
    font-size: 1.5rem;
    cursor: pointer;
    transition: color 0.3s ease;
}

.modal-close:hover {
    color: #fff;
}

.modal-title {
    font-size: 1.5rem;
    color: #fff;
    margin-bottom: 8px;
    font-weight: 700;
}

.modal-desc {
    font-size: 0.875rem;
    color: #9CA3AF;
    margin-bottom: 24px;
}

.form-group {
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-size: 0.875rem;
    color: #E5E7EB;
    margin-bottom: 6px;
}

.form-group input, .form-group textarea {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 12px;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.3s ease;
    font-family: inherit;
}

.form-group input:focus, .form-group textarea:focus {
    border-color: var(--accent-cyan);
}

.checkbox-group {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-top: 8px;
    margin-bottom: 24px;
}

.checkbox-group input {
    margin-top: 2px;
    cursor: pointer;
}

.checkbox-group label {
    font-size: 0.75rem; /* text-xs */
    color: #9CA3AF;
    margin-bottom: 0;
    cursor: pointer;
    line-height: 1.4;
}

.modal-submit {
    width: 100%;
    margin-top: 0;
}

.modal-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 24px 0;
    color: #6B7280;
    font-size: 0.75rem;
    text-transform: uppercase;
}

.modal-divider::before, .modal-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.modal-divider span {
    padding: 0 16px;
}

/* WHATSAPP BUTTONS */
.btn-whatsapp, .btn-footer-wa {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #25D366;
    color: #25D366;
    background: transparent;
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    width: 100%;
}

.btn-whatsapp:hover, .btn-footer-wa:hover {
    background-color: #25D366;
    color: #fff;
}

.btn-footer-wa {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;
    align-self: flex-start;
    margin-top: 0.5rem;
}

.chart-wrapper {
    position: relative;
    width: 100%;
    height: 250px;
}

.service-card:hover {
    transform: translateY(-8px) scale(1.03) !important;
    z-index: 10;
    box-shadow: 0 15px 35px -5px rgba(0, 0, 0, 0.5), 0 0 15px rgba(34, 211, 238, 0.3) !important;
    background: rgba(0, 0, 0, 0.6) !important;
}

/* LEITOR DE PDF NATIVO */
.pdf-reader-ui {
    background: rgba(7, 11, 25, 0.75);
    border: 1px solid rgba(0, 229, 255, 0.2);
    border-radius: 8px;
    box-shadow: 0 40px 100px rgba(0,0,0,0.8);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: 800px;
}

.pdf-toolbar {
    background: rgba(0,0,0,0.5);
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    color: #8E9BAE;
    font-size: 13px;
    font-family: monospace;
}

.pdf-document-body {
    padding: 40px;
    overflow-y: auto;
    color: #E2E8F0;
    font-family: 'Futura Bk', 'Jost', sans-serif;
}

/* Scrollbar fina elegante para o PDF */
.pdf-document-body::-webkit-scrollbar {
    width: 6px;
}
.pdf-document-body::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.2);
}
.pdf-document-body::-webkit-scrollbar-thumb {
    background: rgba(0, 229, 255, 0.2);
    border-radius: 10px;
}
.pdf-document-body::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 229, 255, 0.5);
}

.terminal-buttons {
    display: flex;
    gap: 8px;
    margin-right: 20px;
}

.term-btn {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.term-red { background-color: #FF5F56; }
.term-yellow { background-color: #FFBD2E; }
.term-green { background-color: #27C93F; }

.terminal-title {
    color: #8E9BAE;
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    flex-grow: 1;
    text-align: center;
    margin-right: 44px; /* to offset the buttons width */
}

.terminal-body {
    padding: 30px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 14px;
    line-height: 2;
    color: #A0B2C6;
    min-height: 350px;
}

.term-line {
    opacity: 0;
    transform: translateY(10px);
    margin: 0;
}

.term-line.show-line {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.3s ease-out;
}

/* LIVE DASHBOARD SECTION */
.dashboard-wrapper {
    background: rgba(7, 11, 25, 0.4);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 40px 100px rgba(0,0,0,0.8);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.dash-top-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.dash-bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

@media (max-width: 1024px) {
    .dash-top-grid, .dash-bottom-grid {
        grid-template-columns: 1fr;
    }
}

.dash-card {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 12px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card-cyan { border-top: 3px solid #00E5FF; }
.card-green { border-top: 3px solid #00FF88; }
.card-white { border-top: 3px solid rgba(255,255,255,0.5); }

.dash-label {
    color: #8E9BAE;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.dash-value {
    color: #FFF;
    font-size: 42px;
    font-weight: 900;
    margin-bottom: 24px;
}

.dash-sub-title {
    color: #FFF;
    font-size: 18px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 12px;
}

/* CSS Bar Charts */
.css-bar-chart {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    height: 60px;
    width: 100%;
}

.css-bar-chart span {
    width: 100%;
    border-radius: 2px 2px 0 0;
    opacity: 0.6;
    transition: all 0.3s ease;
}

.css-bar-chart:hover span {
    opacity: 1;
    filter: brightness(1.2);
}

.chart-cyan span { background: #00E5FF; }
.chart-green span { background: #00FF88; }
.chart-white span { background: rgba(255,255,255,0.5); }

/* Horizontal Bars */
.horiz-bar-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.horiz-bar-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.horiz-label {
    width: 90px;
    color: #8E9BAE;
    font-size: 13px;
}

.horiz-pct {
    width: 40px;
    color: #FFF;
    font-size: 13px;
    font-weight: bold;
    text-align: right;
}

.horiz-track {
    flex-grow: 1;
    height: 8px;
    background: rgba(255,255,255,0.05);
    border-radius: 4px;
    overflow: hidden;
}

.horiz-track.micro {
    height: 4px;
}

.horiz-fill {
    height: 100%;
    background: #00E5FF;
    border-radius: 4px;
}

.horiz-fill.green {
    background: #00FF88;
}

/* City Table */
.city-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 12px;
}

.city-table td {
    color: #8E9BAE;
    font-size: 14px;
}

.city-table td:nth-child(1) {
    width: 30px;
    color: #FFF;
    font-weight: bold;
}

.city-table td:nth-child(2) {
    color: #E2E8F0;
}

/* Active Nav State */
.nav-link-effect.active {
    color: #00FF88 !important;
}
.nav-link-effect.active::after {
    width: 100% !important;
}
/* Overlay Escuro com Blur */
.modal-overlay { 
    position: fixed; 
    inset: 0; /* Ensures full viewport coverage */
    background: rgba(4, 7, 16, 0.9); 
    backdrop-filter: blur(16px); 
    -webkit-backdrop-filter: blur(16px); 
    z-index: 99999; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    opacity: 0; 
    visibility: hidden; 
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); 
}
.modal-overlay.active { 
    opacity: 1; 
    visibility: visible; 
}

/* Caixa do Modal - Premium Glassmorphism */
.modal-content { 
    background: linear-gradient(145deg, rgba(13, 20, 44, 0.8) 0%, rgba(8, 12, 26, 0.9) 100%);
    border: 1px solid var(--modal-accent-color, rgba(255, 255, 255, 0.1)) !important;
    border-radius: 0px !important; 
    width: 95%; 
    max-width: 850px; /* Expanded horizontally */
    padding: 35px 40px; /* Reduced vertically */
    box-shadow: 0 40px 100px -10px rgba(0,0,0,0.9), inset 0 1px 0 rgba(255,255,255,0.05); 
    transform: translateY(30px) scale(0.98); 
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    max-height: 95vh;
    overflow-y: auto;
}
.modal-overlay.active .modal-content { 
    transform: translateY(0) scale(1); 
}

/* Scrollbar do Modal */
.modal-content::-webkit-scrollbar { width: 6px; }
.modal-content::-webkit-scrollbar-track { background: transparent; }
.modal-content::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }

/* Tipografia do Header */
.modal-header { margin-bottom: 20px; text-align: left; }
.modal-header h3 { 
    color: #FFFFFF; 
    font-size: 28px; 
    font-weight: 900; 
    margin-bottom: 8px; 
    letter-spacing: -0.5px;
    text-transform: uppercase;
}
.modal-header p { 
    color: rgba(255,255,255,0.7); 
    font-size: 18px; 
    line-height: 1.6; 
}

/* Layout do Formulário */
.modal-form { display: flex; flex-direction: column; gap: 16px; }
.form-row.split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-row.split-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.input-group { display: flex; flex-direction: column; gap: 6px; }
.input-group label { 
    color: #E2E8F0; 
    font-size: 15px; 
    font-weight: 600; 
}

/* Inputs e Textarea */
.modal-form input[type="text"], .modal-form input[type="email"], .modal-form input[type="tel"], .modal-form input[type="date"], .modal-form input[type="time"], .modal-form textarea { 
    background: rgba(0, 0, 0, 0.25); 
    border: 1px solid rgba(255,255,255,0.08); 
    border-radius: 0px !important; 
    padding: 12px 16px; 
    color: #FFFFFF; 
    font-size: 15px; 
    transition: all 0.3s ease; 
    outline: none;
    color-scheme: dark; 
}
.modal-form input::placeholder, .modal-form textarea::placeholder { color: rgba(255,255,255,0.2); }
.modal-form input:focus, .modal-form textarea:focus { 
    border-color: #00FF88; 
    background: rgba(0, 255, 136, 0.03); 
    box-shadow: 0 0 0 4px rgba(0, 255, 136, 0.05); 
}

/* Footer do Formulario */
.form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 5px;
    border-top: 1px solid rgba(255,255,255,0.05); 
    padding-top: 20px;
}

/* Checkbox de Consentimento */
.form-checkbox { display: flex; align-items: center; gap: 12px; flex: 1; margin-right: 20px; }
.form-checkbox input[type="checkbox"] { accent-color: var(--modal-accent-color, #00FF88); cursor: pointer; width: 16px; height: 16px; flex-shrink: 0; border-radius: 0px !important; }
.form-checkbox label { color: rgba(255,255,255,0.6); font-size: 14px; line-height: 1.4; cursor: pointer; transition: color 0.2s; white-space: normal; text-align: justify; }
.form-checkbox label:hover { color: rgba(255,255,255,0.9); }

/* Botões */
.modal-actions { 
    display: flex; 
    justify-content: flex-end; 
    align-items: center;
    gap: 16px; 
    flex-shrink: 0;
}
.btn-cancel { 
    background: transparent; 
    border: none; 
    border-radius: 0px !important;
    color: rgba(255,255,255,0.4); 
    font-weight: 600; 
    font-size: 14px;
    cursor: pointer; 
    transition: color 0.2s; 
    text-transform: uppercase;
    letter-spacing: 1px;
}
.btn-cancel:hover { color: #FFFFFF; }
.btn-submit { 
    background: transparent; 
    color: var(--modal-accent-color, #00FF88); 
    border: 1px solid var(--modal-accent-color, #00FF88); 
    border-radius: 0px !important; 
    padding: 15px 35px; 
    font-weight: 500; 
    font-size: 14px; 
    cursor: pointer; 
    transition: all 0.3s ease; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
}
.btn-submit:hover { 
    background: var(--modal-accent-color, #00FF88); 
    color: #000000;
    transform: translateY(-2px); 
    box-shadow: 0 10px 20px -10px var(--modal-accent-color, rgba(0, 255, 136, 0.5));
}

/* Mobile */
@media (max-width: 768px) { 
    .form-row.split, .form-row.split-3 { grid-template-columns: 1fr; gap: 12px; } 
    .modal-content { padding: 25px 20px; width: 95%; } 
    .form-footer { flex-direction: column; align-items: flex-start; gap: 20px; }
    .form-checkbox { max-width: 100%; }
    .modal-actions { width: 100%; justify-content: flex-end; }
}

/* Ghost Button */
.ghost-btn {
  background: rgba(0, 255, 136, 0.05);
  border: 2px solid #00FF88;
  color: #FFFFFF;
  width: 100%;
  padding: 16px;
  border-radius: 6px;
  font-family: 'Futura Bk', 'Jost', sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  position: relative;
  overflow: hidden;
}

.ghost-btn:hover {
  background: #00FF88;
  color: #070B19;
  box-shadow: 0 0 25px rgba(0, 255, 136, 0.4);
  transform: translateY(-3px);
}


/* =========================================
   COOKIE BANNER RGPD/CNPD
========================================= */
.cookie-banner-overlay {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    background: rgba(13, 20, 44, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    z-index: 999999;
    display: none;
    padding: 20px 5%;
    transition: opacity 0.5s ease;
}

.cookie-banner-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1300px;
    margin: 0 auto;
    gap: 40px;
}

.cookie-text {
    color: #8E9BAE;
    font-size: 13px;
    line-height: 1.6;
    text-align: left;
    margin: 0;
}

.cookie-link {
    color: #00E5FF;
    text-decoration: underline;
}

.cookie-buttons {
    display: flex;
    gap: 12px;
}

.cookie-btn {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #FFFFFF;
    padding: 10px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s;
    border-radius: 0px !important;
}

#cookie-accept-btn:hover {
    border-color: #00FF88;
    color: #00FF88;
}

#cookie-reject-btn:hover {
    border-color: #00E5FF;
    color: #00E5FF;
}

@media (max-width: 768px) {
    .cookie-banner-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .cookie-buttons {
        width: 100%;
        justify-content: space-between;
    }
    .cookie-btn {
        width: 48%;
        text-align: center;
        padding: 12px 0;
    }
}



/* ========================================================
   ADAPTAÇÃO RESPONSIVA: BARRA SUPERIOR E MENU
   ======================================================== */
/* removed relative */
.premium-header .logo-container a > span:first-child { white-space: nowrap !important; }
.premium-header .nav-link-effect { white-space: nowrap !important; }

/* Mobile Layout */
@media (max-width: 1024px) {
    /* Hide desktop nav */
    .premium-header .nav-links,
    .premium-header .nav-cta {
        display: none !important;
    }
    
    /* Show mobile button fixed to top right */
    .premium-header .mobile-menu-btn {
        display: block !important;
        position: absolute !important; 
        right: 20px !important; 
        top: 25px !important; 
        z-index: 999999 !important;
        cursor: pointer;
        font-size: 2rem;
        color: white !important;
        background: transparent !important;
        border: none !important;
    }

    /* Constrain logo width so it doesn't push */
    

    .premium-header .logo-container a > span:first-child {
        font-size: 1.8rem !important; 
        display: inline-block;
        white-space: nowrap !important;
    }

    /* Stacked Menu when Active */
    .premium-header.mobile-active .nav-links {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 1.5rem !important;
        position: fixed !important;
        top: 80px !important; 
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background: rgba(7, 11, 25, 0.98);
        backdrop-filter: blur(20px);
        padding: 2.5rem 5% 10rem 5% !important; /* Extra bottom padding for CTA */
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
        z-index: 99998 !important;
    }


}

@media (max-width: 768px) {
    .premium-header {
        height: 80px !important;
        padding: 0 4%;
    }
    .premium-header .logo-container a > span:first-child { font-size: 1.4rem !important; }
}

@media (max-width: 480px) {
    .premium-header .logo-container a > span:first-child { font-size: 6vw !important; }
    .premium-header .logo-container a > span:last-child {
        font-size: 2.5vw !important;
        letter-spacing: 1px !important;
        margin-top: 2px !important;
    }
    .premium-header .logo-container a > span:last-child > span {
        font-size: inherit !important;
    }
}


/* CTA Toggle Logic */
@media (max-width: 1024px) {
    .desktop-only-cta { display: none !important; }
    .mobile-only-cta { display: inline-block !important; margin-top: 10px; }
}
@media (min-width: 1025px) {
    .desktop-only-cta { display: inline-block !important; }
    .mobile-only-cta { display: none !important; }
}


/* ========================================================
   ADAPTAÇÃO RESPONSIVA: HOME HERO & PROOF SECTION
   ======================================================== */
@media (max-width: 1280px) {
    
    
    .premium-hero {
        align-items: flex-start !important;
        height: auto !important;
        padding-top: 180px !important;
        padding-bottom: 60px !important;
    }

    .hero-container {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }
    
    .hero-content-left {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 2rem !important;
    }

    .hero-proof-column {
        flex-direction: column !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        gap: 3rem !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
    }
    
    .hero-cards-col {
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        gap: 1.5rem !important;
    }
    
    .hero-comprovado-col {
        flex-direction: row !important;
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        font-size: clamp(2.5rem, 8vw, 4.5rem) !important;
        width: 100% !important;
        justify-content: center !important;
        gap: 0.2rem !important;
    }
    
    #typewriter-numeros {
        flex-direction: row !important;
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        font-size: clamp(2rem, 7vw, 4rem) !important;
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        flex-wrap: wrap !important;
        gap: 1rem !important;
    }
}


/* Fix CFO Premium layout for tablet (1024px) */
@media (max-width: 1024px) {
    .cfo-premium-container {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    .cfo-premium .vertical-text {
        display: none !important;
    }
    .cfo-premium .cfo-left {
        padding-left: 0 !important;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .cfo-premium .cfo-title {
        font-size: 3.5rem !important;
        text-align: center;
    }
    .cfo-premium .cfo-desc {
        font-size: 1.15rem !important;
        line-height: 1.8 !important;
        text-align: center;
        border-left: none !important;
        border-top: 2px solid #22d3ee !important;
        max-width: 800px;
    }
}

/* Fix hero-data layout for tablet on web-trafego */
@media (max-width: 1024px) {
    .hero-data {
        grid-template-columns: 1fr !important;
        gap: 46px !important; /* +15% gap */
    }
    .hero-data-left {
        border-left: none !important;
        padding-left: 0 !important;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .hero-data-left > div:first-child {
        display: none !important; /* Hide vertical text MÓDULO 01 */
    }
    .hero-data .massive-title {
        font-size: 4rem !important; /* +14% */
        text-align: center;
    }
    .hero-data .hero-support-text {
        text-align: center;
        margin: 35px auto 0 auto !important;
        font-size: 21px !important; /* 18px + 15% */
        line-height: 1.7 !important;
        max-width: 650px !important; /* scale max-width slightly */
    }
    .hero-data-right .right-tower {
        margin: 0 auto !important;
        gap: 28px !important; /* 24px + 15% */
    }
    
    /* Right Tower 15% Increases */
    .hero-data-right .glass-card {
        padding: 1.45rem 2.85rem !important; /* +15% */
    }
    .hero-data-right .premium-card h3 {
        font-size: 26px !important; /* 22px + ~15% */
        margin-bottom: 18px !important;
    }
    .hero-data-right .premium-card h4 {
        font-size: 1.25rem !important; /* Enlarge inline h4 */
    }
    .hero-data-right .glass-card p {
        font-size: 18px !important; /* 15px + ~15% */
    }
    .hero-data-right .premium-card p {
        font-size: 19px !important; /* 16px + ~15% */
    }
    .hero-data-right .card-label {
        font-size: 14px !important; /* 12px + ~15% */
        margin-bottom: 9px !important;
    }
    .hero-data-right .card-value {
        font-size: 74px !important; /* 64px + ~15% */
        margin-bottom: 9px !important;
    }
}

/* FIX: Prevent logo typewriter from pushing hamburger menu off-screen on tablet/mobile */
@media (max-width: 1024px) {
    .premium-header .header-container {
        max-width: 100% !important;
        box-sizing: border-box;
    }
    
    .premium-header .logo-container a > span:first-child {
        white-space: normal !important; /* Allow wrapping if absolutely necessary, or just shrink */
        word-break: break-word;
    }
    .mobile-menu-btn {
        flex-shrink: 0 !important; /* Never shrink the hamburger menu */
        margin-left: 15px;
    }
}

/* ==========================================================================
   SOLUÇÃO UNIVERSAL E FLUIDA PARA O LOGÓTIPO ANIMADO
   Isto garante que o texto longo NUNCA quebra o layout em NENHUM ecrã.
   ========================================================================== */

/* 1. O Flex Item (Logo Container) tem de poder encolher abaixo do seu "content width" */
.premium-header .logo-container {
    min-width: 0 !important; /* OVERRIDE CRUCIAL: Impede que o flexbox recuse encolher */
    flex-shrink: 1 !important;
    max-width: calc(100% - 60px) !important; /* Deixa sempre espaço para o menu hambúrguer */
}

/* 2. O Texto do Logótipo usa Tipografia Fluida (encolhe de forma orgânica) e Truncamento de Segurança */
.premium-header .logo-container a > span:first-child {
    display: block !important;
    font-size: clamp(1.2rem, 4vw, 2.2rem) !important; /* Encolhe suavemente consoante o ecrã */
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important; /* Se mesmo encolhendo não couber, coloca "..." em vez de quebrar a página */
}

/* 3. O Botão do Menu Hambúrguer é inquebrável e intocável */
.premium-header .mobile-menu-btn {
    flex-shrink: 0 !important; /* NUNCA encolhe */
    margin-left: auto !important; /* Empurra sempre para a direita dentro do flex */
}

/* ==========================================================================
   LAYOUT UNIVERSAL PARA O RELATÓRIO PDF (WEB TRÁFEGO)
   ========================================================================== */
.audit-container {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 60px;
    align-items: start;
    max-width: 1450px;
    margin: 0 auto;
}

@media (max-width: 1024px) {
    .audit-container {
        grid-template-columns: 1fr !important; /* Empilha verticalmente no Tablet/Mobile */
    }
    
    .pdf-reader-ui {
        overflow-x: auto !important; /* Permite scroll horizontal fluido apenas dentro do PDF */
        -webkit-overflow-scrolling: touch; /* Scroll suave nos iPads/iPhones */
        padding-bottom: 10px; /* Espaço para a barra de scroll não sobrepor o conteúdo */
    }
    
    /* Ensure internal grid blocks within the PDF viewer don't break their boundaries */
    .pdf-reader-ui > div {
        min-width: 700px; /* Força o conteúdo a manter o seu formato original e apenas scrollar */
    }
}

.conversion-explanation-grid {
    grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px) {
    .conversion-explanation-grid {
        grid-template-columns: 1fr !important;
    }
}




html { background: #070B19; }

/* Fundo Inquebrável para impedir extremidades cinzentas nulas */
html, body {
    background-color: #070B19 !important;
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

/* Restaurar escala nativa para Desktop */
@media (min-width: 1025px) {
    body {
        zoom: 0.8; /* escala de desenho do PC */
    }
    .splash-overlay {
        zoom: 1.25; /* anula os 0.8 do body no ecra de entrada */
    }
}

/* FIX: Estabilizar o Logo Container para que a animação Typewriter não empurre o Menu Superior */
@media (min-width: 1025px) {
    .premium-header .logo-container {
        min-width: 580px !important;
        width: 580px !important;
        max-width: 580px !important;
        flex-shrink: 0 !important;
        overflow: visible !important;
    }
}





/* =====================================================================
   HOME — SECÇÕES NOVAS (prefixo ax-): pilares, formas de trabalhar,
   setores, como trabalhamos, CTA final. Adaptação a ecrãs em responsive.css
   ===================================================================== */
.ax-wrap { max-width: 1560px; margin: 0 auto; padding: 0 5%; position: relative; z-index: 2; box-sizing: border-box; }
.ax-sec { position: relative; padding: 140px 0; font-family: var(--font-sans); color: #CBD5E1; }
.ax-sec-grid { background: linear-gradient(180deg, #070B16, #0A0F1A); border-top: 1px solid rgba(255,255,255,0.05); }
.ax-sec-grid::before { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(0,229,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(0,229,255,0.045) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000, transparent 80%); mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000, transparent 80%); }
.ax-sec-glow { background: radial-gradient(ellipse 70% 50% at 50% 0%, rgba(0,229,255,0.07), transparent 70%), #080C17; border-top: 1px solid rgba(255,255,255,0.05); }

.ax-eyebrow { display: flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--accent-cyan); margin-bottom: 22px; }
.ax-eyebrow em { font-style: normal; color: #4B5A70; }
.ax-line { width: 44px; height: 2px; background: var(--accent-cyan); box-shadow: 0 0 10px var(--accent-cyan); }
.ax-eyebrow-c { justify-content: center; }
.ax-h2 { color: #FFF; font-size: clamp(2.4rem, 4.2vw, 4rem); font-weight: 800; line-height: 1.08; letter-spacing: -0.01em; margin: 0 0 22px; max-width: 900px; }
.ax-dot { color: var(--accent-green); }
.ax-lead { font-size: 20px; line-height: 1.65; color: #9AA6B8; max-width: 720px; margin: 0 0 60px; }

/* reveal */
.ax-rv { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.ax-rv.in { opacity: 1; transform: none; }

/* botões */
.ax-round { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--accent-cyan); color: #04121A; font-size: 18px; flex-shrink: 0; transition: transform .3s; }
.ax-btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 26px; background: var(--accent-cyan); color: #04121A; font-weight: 800; font-size: 16px; letter-spacing: .04em; text-decoration: none; white-space: nowrap; box-shadow: 0 0 26px rgba(0,229,255,0.35); transition: transform .25s, box-shadow .25s; }
.ax-btn:hover { transform: translateY(-2px); box-shadow: 0 0 40px rgba(0,229,255,0.55); }

/* ---------- PILARES ---------- */
.ax-pilares { position: relative; z-index: 20; padding: 48px 0 64px; background: #070B16; font-family: var(--font-sans); border-top: 1px solid rgba(255,255,255,0.06); }
.ax-pilares .ax-wrap { display: grid; grid-template-columns: minmax(0,1fr) 400px; gap: 18px; align-items: stretch; }
.ax-pil-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.ax-pil { display: flex; gap: 14px; align-items: flex-start; padding: 20px 18px; background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.08); transition: border-color .3s, background .3s; }
.ax-pil:hover { border-color: rgba(0,229,255,0.4); background: rgba(0,229,255,0.04); }
.ax-pil i { font-size: 22px; color: var(--accent-cyan); width: 42px; height: 42px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(0,229,255,0.3); background: rgba(0,229,255,0.06); }
.ax-pil b { display: block; color: #FFF; font-size: 17px; font-weight: 700; margin-bottom: 4px; }
.ax-pil span { display: block; font-size: 15px; line-height: 1.45; color: #8E9BAE; }
.ax-pil-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; text-decoration: none; background: linear-gradient(135deg, rgba(0,229,255,0.14), rgba(0,229,255,0.03)); border: 1px solid rgba(0,229,255,0.35); transition: border-color .3s, box-shadow .3s; }
.ax-pil-cta:hover { border-color: var(--accent-cyan); box-shadow: 0 0 30px rgba(0,229,255,0.2); }
.ax-pil-cta:hover .ax-round { transform: rotate(45deg); }
.ax-pil-cta b { display: block; color: #FFF; font-size: 19px; margin-bottom: 4px; }
.ax-pil-cta span:not(.ax-round) { display: block; color: #9AA6B8; font-size: 15px; line-height: 1.45; }

/* ---------- FORMAS DE TRABALHAR ---------- */
.ax-ways { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.ax-way { position: relative; display: flex; flex-direction: column; padding: 30px 28px 26px; background: linear-gradient(180deg, rgba(18,26,47,0.85), rgba(10,15,26,0.92)); border: 1px solid rgba(255,255,255,0.09); clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%); transition: border-color .35s, transform .35s; }
.ax-way::after { content: ''; position: absolute; top: 0; right: 0; width: 31px; height: 1px; background: rgba(255,255,255,0.18); transform-origin: right; transform: rotate(45deg) translate(4px, 11px); }
.ax-way:hover { border-color: rgba(0,229,255,0.45); transform: translateY(-4px); }
.ax-way-num { font-size: 15px; font-weight: 700; color: var(--accent-cyan); letter-spacing: .15em; margin-bottom: 8px; }
.ax-way h3 { color: #FFF; font-size: 1.6rem; font-weight: 800; margin: 0 0 22px; line-height: 1.2; }
.ax-way ul { list-style: none; padding: 0; margin: 24px 0 26px; }
.ax-way li { display: flex; gap: 12px; align-items: center; font-size: 17px; color: #D1D9E6; padding: 7px 0; }
.ax-way li i { color: var(--accent-cyan); font-size: 19px; }
.ax-way-foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid rgba(255,255,255,0.07); padding-top: 18px; }
.ax-way-foot a { color: var(--accent-cyan); font-weight: 700; font-size: 16px; text-decoration: none; white-space: nowrap; display: inline-flex; gap: 6px; align-items: center; }
.ax-way-foot a:hover i { transform: translateX(4px); }
.ax-way-foot a i { transition: transform .25s; }
.ax-way-foot small { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #6B7A90; text-align: right; }

.ax-viz { position: relative; height: 210px; border: 1px solid rgba(255,255,255,0.06); background: radial-gradient(circle at 50% 50%, rgba(0,229,255,0.08), transparent 70%), rgba(4,8,18,0.6); overflow: hidden; }
.ax-viz::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,0.07) 1px, transparent 1px); background-size: 16px 16px; }
/* agente */
.ax-viz-agent { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 14px; }
.ax-va-col { position: relative; display: flex; flex-direction: column; gap: 8px; }
.ax-va-col span { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: #C7D2E0; padding: 6px 8px; border: 1px solid rgba(255,255,255,0.1); background: rgba(10,15,30,0.9); white-space: nowrap; }
.ax-va-col span i { color: var(--accent-cyan); font-size: 14px; }
.ax-va-out span i { color: var(--accent-green); }
.ax-va-core { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ax-hex { width: 78px; height: 88px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: linear-gradient(160deg, rgba(0,229,255,0.55), rgba(0,90,140,0.5)); display: flex; flex-direction: column; align-items: center; justify-content: center; animation: axPulse 3s ease-in-out infinite; }
.ax-hex b { color: #FFF; font-size: 22px; line-height: 1; }
.ax-hex small { color: #CFFAFE; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.ax-va-core em { font-style: normal; font-size: 10.5px; color: #8E9BAE; display: flex; gap: 4px; align-items: center; white-space: nowrap; }
.ax-va-core::before, .ax-va-core::after { content: ''; position: absolute; top: 44px; width: 16px; height: 1px; background: linear-gradient(90deg, transparent, var(--accent-cyan)); }
.ax-va-core::before { right: 100%; }
.ax-va-core::after { left: 100%; background: linear-gradient(90deg, var(--accent-cyan), transparent); }
@keyframes axPulse { 0%,100% { filter: drop-shadow(0 0 0 rgba(0,229,255,0)); } 50% { filter: drop-shadow(0 0 14px rgba(0,229,255,0.7)); } }
/* web */
.ax-viz-web { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 18px; align-items: center; }
.ax-browser { position: relative; border: 1px solid rgba(255,255,255,0.12); background: #0B1222; }
.ax-bar { display: flex; align-items: center; gap: 4px; padding: 6px 8px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.ax-bar i { width: 6px; height: 6px; border-radius: 50%; background: #2A3550; }
.ax-bar span { margin-left: 6px; font-size: 10px; color: #6B7A90; }
.ax-bw-body { padding: 14px 12px 16px; }
.ax-sk { height: 8px; background: rgba(255,255,255,0.14); margin-bottom: 8px; }
.ax-sk.w70 { width: 75%; height: 11px; background: rgba(255,255,255,0.28); } .ax-sk.w45 { width: 50%; }
.ax-sk-btn { display: inline-block; margin-top: 6px; font-size: 10px; font-weight: 700; padding: 6px 9px; background: var(--accent-green); color: #04140C; }
.ax-funnel { position: relative; display: flex; flex-direction: column; gap: 7px; align-items: center; }
.ax-funnel { width: 100%; }
.ax-funnel div { box-sizing: border-box; min-width: 70px; width: var(--w); height: 26px; background: linear-gradient(90deg, rgba(0,229,255,0.3), rgba(0,229,255,0.12)); border: 1px solid rgba(0,229,255,0.35); display: flex; align-items: center; justify-content: center; }
.ax-funnel div.g { background: linear-gradient(90deg, rgba(0,255,136,0.4), rgba(0,255,136,0.15)); border-color: rgba(0,255,136,0.5); }
.ax-funnel span { font-size: 11px; color: #E2E8F0; white-space: nowrap; }
/* bi */
.ax-viz-bi { padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.ax-kpis { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ax-kpis div { border: 1px solid rgba(255,255,255,0.1); background: rgba(10,15,30,0.9); padding: 8px 10px; }
.ax-kpis small { display: block; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #6B7A90; }
.ax-kpis b { color: var(--accent-green); font-size: 17px; } .ax-kpis b.c { color: var(--accent-cyan); }
.ax-bars { position: relative; flex: 1; display: flex; align-items: flex-end; gap: 7px; padding: 0 2px; border-bottom: 1px solid rgba(255,255,255,0.12); }
.ax-bars i { flex: 1; height: var(--h); background: linear-gradient(180deg, rgba(0,229,255,0.55), rgba(0,229,255,0.1)); transform-origin: bottom; }
.ax-bars i.g { background: linear-gradient(180deg, rgba(0,255,136,0.75), rgba(0,255,136,0.15)); }
.ax-way.in .ax-bars i { animation: axGrow 1s cubic-bezier(.2,.8,.2,1) both; }
.ax-way.in .ax-bars i:nth-child(2) { animation-delay: .06s; } .ax-way.in .ax-bars i:nth-child(3) { animation-delay: .12s; } .ax-way.in .ax-bars i:nth-child(4) { animation-delay: .18s; } .ax-way.in .ax-bars i:nth-child(5) { animation-delay: .24s; } .ax-way.in .ax-bars i:nth-child(6) { animation-delay: .3s; } .ax-way.in .ax-bars i:nth-child(7) { animation-delay: .36s; } .ax-way.in .ax-bars i:nth-child(8) { animation-delay: .42s; }
@keyframes axGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.ax-bars svg { position: absolute; inset: 0 2px 0 2px; width: calc(100% - 4px); height: 100%; overflow: visible; }
.ax-bars polyline { fill: none; stroke: #FFF; stroke-width: 1.5; vector-effect: non-scaling-stroke; opacity: .7; }

.ax-unsure { margin-top: 26px; display: flex; align-items: center; gap: 22px; padding: 26px 30px; border: 1px solid rgba(0,229,255,0.25); background: linear-gradient(90deg, rgba(0,229,255,0.08), rgba(10,15,26,0.6)); }
.ax-unsure > i { font-size: 30px; color: var(--accent-cyan); width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgba(0,229,255,0.35); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ax-unsure div { flex: 1; }
.ax-unsure b { display: block; color: #FFF; font-size: 20px; margin-bottom: 4px; }
.ax-unsure span { color: #9AA6B8; font-size: 17px; line-height: 1.5; }

/* ---------- SETORES ---------- */
.ax-head-split { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: end; margin-bottom: 56px; }
.ax-head-split .ax-lead { margin: 0 0 24px; font-size: 18px; }
.ax-cases { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.ax-case { border: 1px solid rgba(255,255,255,0.09); background: rgba(12,18,34,0.8); transition: border-color .35s, transform .35s; }
.ax-case:hover { border-color: rgba(0,255,136,0.4); transform: translateY(-4px); }
.ax-case-viz { position: relative; height: 236px; padding: 22px; border-bottom: 1px solid rgba(255,255,255,0.07); background: linear-gradient(rgba(0,229,255,0.04) 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(90deg, rgba(0,229,255,0.04) 1px, transparent 1px) 0 0 / 22px 22px, #070C18; overflow: hidden; }
.ax-case-ico { position: absolute; left: 22px; top: 22px; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(0,229,255,0.35); background: rgba(0,229,255,0.07); color: var(--accent-cyan); font-size: 22px; }
.ax-mini { position: absolute; right: 22px; top: 22px; width: 58%; padding: 12px 14px; background: rgba(13,20,40,0.95); border: 1px solid rgba(255,255,255,0.12); box-shadow: 0 12px 30px rgba(0,0,0,0.4); display: flex; flex-direction: column; gap: 5px; }
.ax-mini b { color: #FFF; font-size: 14px; margin-bottom: 3px; }
.ax-mini span { font-size: 13px; color: #C7D2E0; display: flex; gap: 6px; align-items: center; }
.ax-mini span i { color: var(--accent-green); }
.ax-mini small { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #6B7A90; }
.ax-field { font-size: 12.5px; color: #E2E8F0; padding: 4px 7px; border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.03); }
.ax-mini-btn { margin-top: 5px; text-align: center; font-size: 12px; font-weight: 700; padding: 6px; background: var(--accent-cyan); color: #04121A; }
.ax-chat { position: absolute; right: 22px; top: 30px; width: 64%; display: flex; flex-direction: column; gap: 10px; }
.ax-chat div { font-size: 13.5px; line-height: 1.4; padding: 9px 12px; max-width: 92%; }
.ax-chat .in { align-self: flex-start; background: #1B2438; color: #E2E8F0; border-radius: 0 10px 10px 10px; }
.ax-chat .out { align-self: flex-end; background: rgba(0,255,136,0.16); border: 1px solid rgba(0,255,136,0.35); color: #E6FFF3; border-radius: 10px 0 10px 10px; }
.ax-chat .out i { color: var(--accent-cyan); }
.ax-case.in .ax-chat .out { animation: axPop .6s .6s both; }
@keyframes axPop { from { opacity: 0; transform: translateY(8px) scale(.96); } to { opacity: 1; transform: none; } }
.ax-case h3 { color: #FFF; font-size: 1.45rem; font-weight: 800; margin: 26px 26px 14px; }
.ax-case ul { list-style: none; margin: 0; padding: 0 26px 26px; }
.ax-case li { position: relative; padding: 6px 0 6px 26px; font-size: 16.5px; color: #C7D2E0; }
.ax-case li::before { content: '\2713'; position: absolute; left: 0; color: var(--accent-cyan); font-weight: 700; }
.ax-areas { margin-top: 22px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.ax-area { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; row-gap: 4px; align-items: start; padding: 22px 20px; border: 1px solid rgba(255,255,255,0.08); background: rgba(12,18,34,0.6); transition: border-color .3s, background .3s, transform .3s; }
.ax-area:hover { border-color: rgba(0,229,255,0.45); background: rgba(0,229,255,0.04); transform: translateY(-3px); }
.ax-area i { grid-row: span 2; font-size: 22px; color: var(--accent-cyan); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(0,229,255,0.3); background: rgba(0,229,255,0.06); }
.ax-area b { color: #FFF; font-size: 17.5px; font-weight: 700; }
.ax-area span { font-size: 15px; line-height: 1.5; color: #8E9BAE; }
.ax-area-sec i { color: #8FB8FF; border-color: rgba(61,139,255,0.45); background: rgba(61,139,255,0.08); }
.ax-chips-row { margin-top: 44px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,0.07); }
.ax-chips-row > small { display: block; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--accent-cyan); font-weight: 700; margin-bottom: 16px; }
.ax-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ax-chips span, .ax-chips a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid rgba(255,255,255,0.12); border-radius: 999px; font-size: 16px; color: #D1D9E6; background: rgba(255,255,255,0.02); text-decoration: none; }
.ax-chips i { color: var(--accent-cyan); }
.ax-chips a { color: var(--accent-cyan); border-color: rgba(0,229,255,0.45); font-weight: 700; }
.ax-chips a:hover { background: rgba(0,229,255,0.08); }

/* ---------- COMO TRABALHAMOS ---------- */
.ax-proc { display: grid; grid-template-columns: minmax(0,0.9fr) minmax(0,2fr); gap: 60px; align-items: center; }
.ax-proc-head .ax-lead { margin-bottom: 0; font-size: 18px; }
.ax-proc-head .ax-h2 { font-size: clamp(2.2rem, 3.4vw, 3.3rem); }
.ax-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; position: relative; }
.ax-steps::before { content: ''; position: absolute; left: 10%; right: 10%; top: 62px; height: 1px; background-image: linear-gradient(90deg, rgba(0,229,255,0.55) 50%, transparent 50%); background-size: 10px 1px; }
.ax-steps li { position: relative; text-align: center; }
.ax-steps small { display: block; color: var(--accent-cyan); font-size: 13px; font-weight: 700; letter-spacing: .15em; margin-bottom: 10px; }
.ax-circ { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%; background: #0A1324; border: 1px solid rgba(0,229,255,0.5); box-shadow: 0 0 22px rgba(0,229,255,0.25), inset 0 0 14px rgba(0,229,255,0.15); color: var(--accent-cyan); font-size: 26px; transition: transform .3s, box-shadow .3s; }
.ax-steps li:hover .ax-circ { transform: scale(1.08); box-shadow: 0 0 34px rgba(0,229,255,0.5); }
.ax-steps b { display: block; color: #FFF; font-size: 18px; margin-bottom: 8px; }
.ax-steps p { font-size: 15px; line-height: 1.5; color: #8E9BAE; margin: 0; }
.ax-steps li:nth-child(2) { transition-delay: .1s; } .ax-steps li:nth-child(3) { transition-delay: .2s; } .ax-steps li:nth-child(4) { transition-delay: .3s; } .ax-steps li:nth-child(5) { transition-delay: .4s; }

.ax-princ { margin-top: 110px; display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 16px; }
.ax-princ-quote { padding: 30px; border: 1px solid rgba(0,255,136,0.25); background: linear-gradient(135deg, rgba(0,255,136,0.07), rgba(10,15,26,0.7)); }
.ax-princ-quote small { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: #8E9BAE; }
.ax-princ-quote p { color: #FFF; font-size: 22px; font-weight: 700; line-height: 1.4; margin: 12px 0 0; }
.ax-princ-quote span { color: var(--accent-green); }
.ax-princ-item { padding: 28px 24px; border: 1px solid rgba(255,255,255,0.09); background: rgba(12,18,34,0.7); transition: border-color .3s; }
.ax-princ-item:hover { border-color: rgba(0,229,255,0.4); }
.ax-princ-item b { display: block; color: var(--accent-cyan); font-size: 30px; font-weight: 800; line-height: 1; margin-bottom: 14px; }
.ax-princ-item h4 { color: #FFF; font-size: 19px; margin: 0 0 8px; }
.ax-princ-item p { font-size: 15.5px; line-height: 1.55; color: #9AA6B8; margin: 0; }

.ax-facts { margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(255,255,255,0.09); background: rgba(10,15,26,0.6); }
.ax-facts div { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; padding: 22px 26px; }
.ax-facts div + div { border-left: 1px solid rgba(255,255,255,0.07); }
.ax-facts i { grid-row: span 2; font-size: 24px; color: var(--accent-cyan); }
.ax-facts b { color: #FFF; font-size: 28px; font-weight: 800; line-height: 1; }
.ax-facts b span { font-size: 14px; color: var(--accent-cyan); margin-left: 4px; text-transform: uppercase; letter-spacing: .1em; }
.ax-facts small { font-size: 14.5px; color: #8E9BAE; }

.ax-stack { margin-top: 70px; padding: 30px 0; border-top: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); display: flex; align-items: center; gap: 40px; }
.ax-stack > small { font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: #6B7A90; font-weight: 700; white-space: nowrap; }
.ax-stack > div { display: flex; flex-wrap: wrap; gap: 14px 34px; align-items: center; }
.ax-stack span { display: inline-flex; align-items: center; gap: 8px; color: #AEB8C8; font-size: 18px; font-weight: 600; transition: color .3s; }
.ax-stack span:hover { color: #FFF; }
.ax-stack i { font-size: 22px; color: #6B7A90; }

/* ---------- CTA FINAL ---------- */
.ax-final { position: relative; overflow: hidden; padding: 150px 0 260px; background: #050913; font-family: var(--font-sans); text-align: center; }
.ax-horizon { position: absolute; left: -20%; right: -20%; bottom: -10%; height: 42%; perspective: 520px; pointer-events: none; }
.ax-horizon::before { content: ''; position: absolute; inset: 0; transform: rotateX(68deg); transform-origin: 50% 0; background-image: linear-gradient(rgba(0,229,255,0.35) 1px, transparent 1px), linear-gradient(90deg, rgba(0,229,255,0.35) 1px, transparent 1px); background-size: 60px 60px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); animation: axGrid 6s linear infinite; }
.ax-horizon::after { content: ''; position: absolute; left: 10%; right: 10%; top: -40px; height: 80px; background: radial-gradient(ellipse at 50% 50%, rgba(0,229,255,0.55), transparent 70%); filter: blur(8px); }
@keyframes axGrid { from { background-position: 0 0, 0 0; } to { background-position: 0 60px, 0 0; } }
.ax-final-in { position: relative; z-index: 2; }
.ax-final h2 { color: #FFF; font-size: clamp(2.4rem, 4.6vw, 4.4rem); font-weight: 800; line-height: 1.1; margin: 0 auto 24px; max-width: 1000px; }
.ax-final h2 span { color: var(--accent-cyan); }
.ax-final p { font-size: 20px; line-height: 1.6; color: #9AA6B8; max-width: 640px; margin: 0 auto 40px; }
.ax-final-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.ax-btn-white { display: inline-flex; align-items: center; gap: 16px; padding: 10px 10px 10px 28px; background: #FFF; color: #050913; font-weight: 800; font-size: 17px; text-decoration: none; box-shadow: 0 0 40px rgba(0,229,255,0.35); transition: transform .25s; }
.ax-btn-white:hover { transform: translateY(-2px); }
.ax-btn-white:hover .ax-round { transform: rotate(45deg); }
.ax-btn-white .ax-round { background: #050913; color: var(--accent-cyan); }
.ax-btn-ghost { display: inline-flex; align-items: center; padding: 18px 30px; border: 1px solid rgba(255,255,255,0.25); color: #FFF; font-weight: 700; font-size: 17px; text-decoration: none; transition: border-color .25s; }
.ax-btn-ghost:hover { border-color: var(--accent-cyan); }
.ax-final-meta { margin-top: 44px; display: flex; gap: 28px; justify-content: center; flex-wrap: wrap; }
.ax-final-meta span { display: inline-flex; gap: 8px; align-items: center; font-size: 16px; color: #AEB8C8; }
.ax-final-meta i { color: var(--accent-cyan); }

@media (prefers-reduced-motion: reduce) {
    .ax-rv { opacity: 1; transform: none; transition: none; }
    .ax-hex, .ax-horizon::before, .ax-way.in .ax-bars i, .ax-case.in .ax-chat .out { animation: none; }
}
/* Setor Público: variante azulejo do CTA final */
.ax-sp { padding: 110px 0 60px; }
.ax-sp .ax-princ { margin-top: 0; }
.ax-final-sp::after { content: ''; position: absolute; inset: 0; background: var(--sp-azulejo, none) center / 96px 96px; opacity: .05; pointer-events: none; -webkit-mask-image: radial-gradient(ellipse 60% 60% at 50% 35%, #000, transparent 75%); mask-image: radial-gradient(ellipse 60% 60% at 50% 35%, #000, transparent 75%); }


/* =====================================================================
   VARIANTES POR PÁGINA dos blocos ax- (mesma informação, formato próprio)
   axv-web = Web & Tráfego (funil / editorial) · axv-eng = Automação (pipeline / terminal)
   axv-ges = Financeiro (relatório / balancete)
   ===================================================================== */

/* ---------- WEB & TRÁFEGO: editorial, linhas finas, números grandes ---------- */
.axv-web.ax-pilares .ax-wrap { grid-template-columns: 1fr; gap: 0; }
.axv-web .ax-pil-grid { gap: 0; border-top: 1px solid rgba(255,255,255,0.1); border-bottom: 1px solid rgba(255,255,255,0.1); }
.axv-web .ax-pil { flex-direction: column; gap: 14px; background: none; border: 0; border-left: 1px solid rgba(255,255,255,0.08); padding: 30px 26px; }
.axv-web .ax-pil:first-child { border-left: 0; }
.axv-web .ax-pil:hover { background: linear-gradient(180deg, rgba(0,229,255,0.06), transparent); }
.axv-web .ax-pil i { border: 0; background: none; width: auto; height: auto; font-size: 32px; justify-content: flex-start; }
.axv-web .ax-pil b { font-size: 20px; }
.axv-web .ax-pil span { font-size: 16.5px; }
.axv-web .ax-pil-cta { margin-top: 18px; background: linear-gradient(90deg, rgba(0,255,136,0.16), rgba(0,229,255,0.06)); border-color: rgba(0,255,136,0.4); }
.axv-web .ax-pil-cta .ax-round { background: var(--accent-green); }

.axv-web .ax-proc { grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); align-items: start; }
.axv-web .ax-proc-head { position: sticky; top: 140px; }
.axv-web .ax-steps { grid-template-columns: 1fr; gap: 0; }
.axv-web .ax-steps::before { display: none; }
.axv-web .ax-steps li { display: grid; grid-template-columns: 120px 1fr; column-gap: 26px; align-items: baseline; text-align: left; padding: 26px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.axv-web .ax-steps li:first-child { border-top: 1px solid rgba(255,255,255,0.08); }
.axv-web .ax-steps small { grid-row: 1 / span 2; font-size: 64px; line-height: .9; font-weight: 900; letter-spacing: 0; color: transparent; -webkit-text-stroke: 1.5px rgba(0,229,255,0.55); margin: 0; transition: color .3s; }
.axv-web .ax-steps li:hover small { color: rgba(0,229,255,0.25); }
.axv-web .ax-circ { display: none; }
.axv-web .ax-steps b { font-size: 24px; margin-bottom: 6px; }
.axv-web .ax-steps p { font-size: 17.5px; color: #A3AFBF; }

.axv-web .ax-princ { grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
.axv-web .ax-princ-quote { grid-column: 1 / -1; border: 0; background: none; padding: 0 0 50px; text-align: center; }
.axv-web .ax-princ-quote p { font-size: clamp(1.7rem, 2.6vw, 2.5rem); max-width: 980px; margin: 14px auto 0; line-height: 1.3; }
.axv-web .ax-princ-item { background: none; border: 0; border-top: 2px solid var(--accent-cyan); padding: 24px 0 0; }
.axv-web .ax-princ-item b { font-size: 15px; letter-spacing: .2em; }
.axv-web .ax-princ-item h4 { font-size: 22px; }
.axv-web .ax-princ-item p { font-size: 17px; }
.axv-web .ax-facts { margin-top: 60px; background: none; border: 0; gap: 20px; }
.axv-web .ax-facts div { grid-template-columns: 1fr; text-align: center; justify-items: center; border: 1px solid rgba(255,255,255,0.08) !important; padding: 34px 20px; }
.axv-web .ax-facts i { display: none; }
.axv-web .ax-facts b { font-size: 56px; color: var(--accent-green); }
.axv-web .ax-facts small { font-size: 16.5px; margin-top: 8px; }
.axv-web .ax-stack > div span { padding: 10px 18px; border: 1px solid rgba(255,255,255,0.12); border-radius: 999px; font-size: 16.5px; }
.axv-web.ax-final { text-align: left; }
.axv-web.ax-final .ax-final-in { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px 60px; align-items: end; }
.axv-web.ax-final .ax-eyebrow { justify-content: flex-start; grid-column: 1 / -1; }
.axv-web.ax-final h2 { margin: 0; grid-column: 1; }
.axv-web.ax-final p { margin: 0; grid-column: 2; grid-row: 2; }
.axv-web.ax-final .ax-final-btns { grid-column: 1 / -1; justify-content: flex-start; margin-top: 26px; }
.axv-web.ax-final .ax-final-meta { grid-column: 1 / -1; justify-content: flex-start; margin-top: 20px; }

/* ---------- AUTOMAÇÃO: pipeline e terminal ---------- */
.axv-eng { --mono: 'JetBrains Mono', 'Consolas', 'Courier New', monospace; }
.axv-eng.ax-pilares .ax-wrap { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); }
.axv-eng .ax-pil-grid { grid-template-columns: 1fr 1fr; }
.axv-eng .ax-pil { border-color: rgba(0,255,136,0.18); background: rgba(0,255,136,0.025); }
.axv-eng .ax-pil i { color: var(--accent-green); border-color: rgba(0,255,136,0.35); background: rgba(0,255,136,0.06); }
.axv-eng .ax-pil-cta { flex-direction: column; align-items: flex-start; justify-content: center; background: #050A12; border-color: rgba(0,255,136,0.35); font-family: var(--mono); }
.axv-eng .ax-pil-cta b::before { content: '> '; color: var(--accent-green); }
.axv-eng .ax-pil-cta b { font-size: 18px; }
.axv-eng .ax-pil-cta .ax-round { background: var(--accent-green); align-self: flex-end; }

.axv-eng .ax-proc { grid-template-columns: 1fr; gap: 50px; }
.axv-eng .ax-proc-head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0 60px; align-items: end; }
.axv-eng .ax-proc-head .ax-eyebrow { grid-column: 1 / -1; }
.axv-eng .ax-steps { gap: 34px; }
.axv-eng .ax-steps::before { display: none; }
.axv-eng .ax-steps li { text-align: left; padding: 24px 20px 26px; border: 1px solid rgba(0,255,136,0.2); background: linear-gradient(180deg, rgba(0,255,136,0.05), rgba(5,10,18,0.9)); }
.axv-eng .ax-steps li:not(:last-child)::after { content: ''; position: absolute; right: -28px; top: 50%; width: 22px; height: 2px; background: var(--accent-green); box-shadow: 0 0 8px var(--accent-green); }
.axv-eng .ax-steps li:not(:last-child)::before { content: ''; position: absolute; right: -29px; top: calc(50% - 4px); border: 5px solid transparent; border-left: 7px solid var(--accent-green); transform: translateX(6px); }
.axv-eng .ax-steps small { font-family: var(--mono); color: var(--accent-green); letter-spacing: .05em; font-size: 14px; }
.axv-eng .ax-steps small::before { content: 'step_'; color: #5B6B80; }
.axv-eng .ax-circ { width: 46px; height: 46px; border-radius: 0; margin: 0 0 18px; font-size: 22px; color: var(--accent-green); border-color: rgba(0,255,136,0.45); box-shadow: none; background: rgba(0,255,136,0.06); }
.axv-eng .ax-steps b { font-size: 19px; }
.axv-eng .ax-steps p { font-size: 16px; color: #A3AFBF; }

.axv-eng .ax-princ { grid-template-columns: 1fr; gap: 0; border: 1px solid rgba(0,255,136,0.25); background: #050A12; font-family: var(--mono); }
.axv-eng .ax-princ-quote { border: 0; border-bottom: 1px solid rgba(0,255,136,0.15); background: none; padding: 16px 26px; display: flex; gap: 10px; align-items: center; }
.axv-eng .ax-princ-quote::before { content: '● ● ●'; color: #2A3550; letter-spacing: 2px; font-size: 12px; margin-right: 12px; }
.axv-eng .ax-princ-quote small { display: none; }
.axv-eng .ax-princ-quote p { margin: 0; font-size: 18px; font-family: var(--mono); font-weight: 500; }
.axv-eng .ax-princ-quote p::before { content: '$ '; color: var(--accent-green); }
.axv-eng .ax-princ-item { display: grid; grid-template-columns: 70px 280px 1fr; align-items: baseline; border: 0; background: none; padding: 18px 26px; }
.axv-eng .ax-princ-item + .ax-princ-item { border-top: 1px dashed rgba(255,255,255,0.07); }
.axv-eng .ax-princ-item b { font-size: 16px; color: var(--accent-green); margin: 0; }
.axv-eng .ax-princ-item b::before { content: '[✓] '; }
.axv-eng .ax-princ-item b { white-space: nowrap; }
.axv-eng .ax-princ-item h4 { margin: 0; font-family: var(--mono); font-size: 17px; }
.axv-eng .ax-princ-item p { font-size: 16.5px; font-family: var(--font-sans); }
.axv-eng .ax-facts { display: flex; flex-wrap: wrap; gap: 12px; border: 0; background: none; margin-top: 22px; }
.axv-eng .ax-facts div { border: 1px solid rgba(0,255,136,0.25) !important; padding: 12px 18px; display: flex; gap: 10px; align-items: center; font-family: var(--mono); }
.axv-eng .ax-facts i { color: var(--accent-green); font-size: 20px; }
.axv-eng .ax-facts b { font-size: 20px; }
.axv-eng .ax-facts b span { color: var(--accent-green); }
.axv-eng .ax-facts small { font-size: 15.5px; }
.axv-eng .ax-stack > div { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; flex: 1; }
.axv-eng .ax-stack > div span { justify-content: center; padding: 16px 10px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.02); font-size: 16.5px; }
.axv-eng.ax-final .ax-horizon { display: none; }
.axv-eng.ax-final { background: radial-gradient(ellipse 60% 70% at 50% 100%, rgba(0,255,136,0.14), transparent 70%), #040810; padding-bottom: 170px; }
.axv-eng.ax-final::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(0,255,136,0.22) 1.2px, transparent 1.6px); background-size: 28px 28px; -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 60%, #000, transparent 75%); mask-image: radial-gradient(ellipse 70% 60% at 50% 60%, #000, transparent 75%); animation: axDots 8s linear infinite; }
@keyframes axDots { to { background-position: 28px 28px; } }
.axv-eng.ax-final h2 span { color: var(--accent-green); }
.axv-eng.ax-final .ax-eyebrow { font-family: var(--mono); color: var(--accent-green); }

/* ---------- FINANCEIRO: relatório / balancete ---------- */
.axv-ges .ax-pil { flex-direction: column; border-top: 3px solid var(--accent-green); position: relative; padding: 26px 22px 24px; }
.axv-ges .ax-pil i { position: absolute; right: 18px; top: 20px; border: 0; background: none; color: rgba(0,255,136,0.65); font-size: 30px; width: auto; height: auto; }
.axv-ges .ax-pil b { font-size: 19px; padding-right: 36px; }
.axv-ges .ax-pil span { font-size: 16px; }
.axv-ges .ax-pil-cta { background: linear-gradient(135deg, rgba(0,255,136,0.12), rgba(10,15,26,0.6)); border-color: rgba(0,255,136,0.35); }
.axv-ges .ax-pil-cta .ax-round { background: var(--accent-green); }

.axv-ges .ax-proc { grid-template-columns: 1fr; gap: 46px; }
.axv-ges .ax-proc-head { max-width: 860px; }
.axv-ges .ax-steps { grid-template-columns: 1fr; gap: 0; border: 1px solid rgba(255,255,255,0.1); background: rgba(8,12,22,0.8); counter-reset: none; }
.axv-ges .ax-steps::before { content: 'Fase · O que fazemos · Resultado'; position: static; display: block; height: auto; background: rgba(0,255,136,0.06); padding: 14px 26px; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: #8E9BAE; border-bottom: 1px solid rgba(255,255,255,0.1); }
.axv-ges .ax-steps li { display: grid; grid-template-columns: 70px 56px 260px 1fr; align-items: center; column-gap: 18px; text-align: left; padding: 20px 26px; }
.axv-ges .ax-steps li + li { border-top: 1px dashed rgba(255,255,255,0.09); }
.axv-ges .ax-steps li:hover { background: rgba(0,255,136,0.04); }
.axv-ges .ax-steps small { margin: 0; font-size: 22px; color: var(--accent-green); font-weight: 800; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.axv-ges .ax-circ { width: 46px; height: 46px; margin: 0; border-radius: 6px; font-size: 22px; color: var(--accent-green); border-color: rgba(0,255,136,0.4); box-shadow: none; background: rgba(0,255,136,0.05); }
.axv-ges .ax-steps b { margin: 0; font-size: 20px; }
.axv-ges .ax-steps p { font-size: 17px; color: #A3AFBF; }

.axv-ges .ax-princ { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); grid-template-rows: auto auto auto; gap: 0 50px; }
.axv-ges .ax-princ-quote { grid-row: 1 / span 3; border: 0; border-left: 4px solid var(--accent-green); background: none; padding: 10px 0 10px 32px; align-self: center; }
.axv-ges .ax-princ-quote p { font-size: clamp(1.6rem, 2.3vw, 2.2rem); line-height: 1.3; }
.axv-ges .ax-princ-item { display: grid; grid-template-columns: 60px 1fr; column-gap: 16px; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,0.08); padding: 24px 0; }
.axv-ges .ax-princ-item b { grid-row: span 2; color: var(--accent-green); font-size: 34px; margin: 0; }
.axv-ges .ax-princ-item h4 { font-size: 21px; }
.axv-ges .ax-princ-item p { font-size: 17px; }
.axv-ges .ax-facts { margin-top: 50px; grid-template-columns: repeat(3, 1fr); background: #F4F7F5; border: 0; }
.axv-ges .ax-facts div + div { border-left: 1px solid #D5DED8; }
.axv-ges .ax-facts i { color: #0A7A45; }
.axv-ges .ax-facts b { color: #0A1220; font-size: 34px; }
.axv-ges .ax-facts b span { color: #0A7A45; }
.axv-ges .ax-facts small { color: #4A5568; font-size: 16px; }
.axv-ges .ax-stack span i { color: var(--accent-green); }
.axv-ges.ax-final .ax-horizon { display: none; }
.axv-ges.ax-final { padding-bottom: 230px; }
.axv-ges.ax-final::before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 200px; background:
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 4% 100% / 5% 30% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 12% 100% / 5% 42% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 20% 100% / 5% 36% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 28% 100% / 5% 52% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 36% 100% / 5% 47% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 44% 100% / 5% 61% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 52% 100% / 5% 58% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 60% 100% / 5% 70% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 68% 100% / 5% 66% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 76% 100% / 5% 80% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.30), rgba(0,255,136,0.04)) 84% 100% / 5% 76% no-repeat,
    linear-gradient(to top, rgba(0,255,136,0.45), rgba(0,255,136,0.06)) 92% 100% / 5% 94% no-repeat;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); }
.axv-ges.ax-final h2 span { color: var(--accent-green); }

/* ---------- SETOR PÚBLICO: compromissos com azulejo ---------- */
.ax-sp .ax-princ { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ax-sp .ax-princ-quote { grid-column: 1 / -1; position: relative; overflow: hidden; text-align: center; padding: 44px 30px; border-color: rgba(0,229,255,0.3); background: rgba(9,16,34,0.9); }
.ax-sp .ax-princ-quote::before { content: ''; position: absolute; inset: 0; background: var(--sp-azulejo, none) center / 72px 72px; opacity: .08; }
.ax-sp .ax-princ-quote > * { position: relative; }
.ax-sp .ax-princ-quote p { font-size: clamp(1.5rem, 2.2vw, 2.1rem); max-width: 900px; margin: 12px auto 0; }
.ax-sp .ax-princ-quote span { color: var(--accent-cyan); }
.ax-sp .ax-princ-item { position: relative; padding-top: 46px; overflow: hidden; }
.ax-sp .ax-princ-item::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 18px; background: var(--sp-azulejo, none) 0 0 / 36px 36px; opacity: .35; }
.ax-sp .ax-princ-item h4 { font-size: 21px; }
.ax-sp .ax-princ-item p { font-size: 17px; }
.ax-sp .ax-facts { grid-template-columns: repeat(3, 1fr); }

/* ---------- RODAPÉ (ft-) ---------- */
.ft-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.25fr; gap: 48px; max-width: 1450px; margin: 0 auto; padding: 0 1.5rem; }
.ft-logo { font-size: 1.75rem; color: #fff; font-weight: 400; }
.ft-mission { font-size: 17px; color: #9ca3af; line-height: 1.65; margin: 22px 0 0; max-width: 34ch; }
.ft-h { color: #fff; font-weight: 700; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; margin: 6px 0 22px; }
.ft-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.ft-list a, .ft-list span { font-size: 17px; color: #9ca3af; text-decoration: none; transition: color .25s; display: inline-flex; align-items: center; gap: 8px; }
.ft-list a:hover { color: #22c55e; }
.ft-list i { font-size: 20px; }
.ft-soon { font-style: normal; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #22c55e; border: 1px solid rgba(34,197,94,.4); padding: 2px 7px; }
.ft-cta { margin-top: 26px; border: 1px solid #22c55e; color: #22c55e; background: transparent; padding: 10px 24px; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: color .25s, border-color .25s; }
.ft-cta:hover { color: #4ade80; border-color: #4ade80; }

/* ---------- SELETOR DE LÍNGUA ---------- */
.lg-flag { width: 21px; height: 14px; flex-shrink: 0; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.18); display: inline-block; }
.premium-header .lang-btn { gap: 7px; font-size: 16px !important; letter-spacing: .06em; }
.lang-menu { min-width: 200px !important; }
.lang-item { display: flex !important; align-items: center; gap: 12px; }
.lang-item b { font-weight: 600; letter-spacing: .06em; min-width: 24px; }
.lang-item span { color: #8E9BAE; font-size: .92em; }
.lang-item.active span, .lang-item:hover span { color: inherit; }

/* ---------- BOTÃO FLUTUANTE DO CATÁLOGO ---------- */
.cat-fab { position: fixed; left: 22px; bottom: 22px; z-index: 9000; display: inline-flex; align-items: center; gap: 10px;
  padding: 11px 16px 11px 14px; background: rgba(7,11,25,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0,255,136,.45); color: #fff; text-decoration: none; font-family: 'Futura Bk','Jost',sans-serif;
  font-size: 15px; letter-spacing: .04em; box-shadow: 0 10px 30px rgba(0,0,0,.45); transition: border-color .25s, transform .25s, background .25s; }
.cat-fab i { font-size: 20px; color: #00FF88; }
.cat-fab .cat-dl { font-size: 16px; color: #8E9BAE; transition: color .25s, transform .25s; }
.cat-fab:hover { border-color: #00FF88; background: rgba(7,11,25,.98); transform: translateY(-2px); }
.cat-fab:hover .cat-dl { color: #00FF88; transform: translateY(2px); }
.hdr-right { display: flex; align-items: center; gap: 22px; justify-self: end; }
.lang-desk .lang-menu { left: auto !important; right: -10px; transform: translate(0, 10px) !important; }
.lang-desk.open .lang-menu, .lang-desk:hover .lang-menu, .lang-desk:focus-within .lang-menu { transform: translate(0, 0) !important; }
.lang-mobile { display: none !important; }
@media (max-width: 1279px) {
    .lang-desk { display: none !important; }
    .lang-mobile { display: inline-flex !important; }
}
