/* ============================================
   AERA — Sistema de Design v2.0
   Redesign Premium | 2026
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ---- Tokens de Design ---- */
:root {
    --blue-500: #3B82F6;
    --blue-600: #1877F2;
    --blue-700: #1462CC;
    --blue-800: #0F4EA3;
    --blue-900: #0A3A7A;
    --navy:     #0A1628;
    --navy-mid: #0F2244;
    --green-500: #22C55E;
    --green-600: #16A34A;

    --white:    #FFFFFF;
    --gray-50:  #F8FAFE;
    --gray-100: #F0F4FB;
    --gray-200: #E2E8F0;
    --gray-300: #CBD5E1;
    --gray-400: #94A3B8;
    --gray-600: #475569;
    --gray-700: #334155;
    --gray-800: #1E293B;
    --gray-900: #0F172A;

    --color-primary:      var(--blue-600);
    --color-primary-dark: var(--blue-700);
    --color-accent:       var(--green-500);
    --color-bg:           var(--gray-50);
    --color-text:         var(--gray-900);
    --color-text-sec:     var(--gray-600);
    --color-border:       var(--gray-200);

    --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --section-py:    100px;
    --section-py-sm: 64px;

    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;

    --shadow-sm: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);
    --shadow-md: 0 4px 8px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.04);
    --shadow-lg: 0 10px 28px rgba(0,0,0,.08), 0 4px 10px rgba(0,0,0,.04);
    --shadow-xl: 0 20px 48px rgba(0,0,0,.10), 0 8px 20px rgba(0,0,0,.05);
}

/* ---- Reset ---- */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:var(--font); background:var(--color-bg); color:var(--color-text); line-height:1.6; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:var(--color-primary); transition:all .2s ease; }

/* ---- Container ---- */
.container { max-width:1200px; margin:0 auto; padding:0 24px; }

/* ==============================================
   CABEÇALHO
   ============================================== */
.site-header {
    background:var(--white);
    border-bottom:1px solid var(--color-border);
    position:sticky; top:0; z-index:1000;
    transition:box-shadow .3s;
}
.site-header.scrolled { box-shadow:0 2px 24px rgba(0,0,0,.07); }

.header-inner {
    display:flex; align-items:center; justify-content:space-between;
    height:72px; gap:24px;
}

.header-logo {
    display:flex; align-items:center; gap:10px; flex-shrink:0;
    color:var(--gray-800);
}
.header-logo img { height:42px; }
.logo-text { display:flex; flex-direction:column; gap:0; line-height:1.15; }
.logo-brand { font-size:1.125rem; font-weight:800; color:var(--blue-600); letter-spacing:-.01em; }
.logo-sub { font-size:.7375rem; font-weight:500; color:var(--gray-500,#6B7280); }

/* Navegação */
.header-nav { display:flex; align-items:center; }
.nav-list { list-style:none; display:flex; align-items:center; gap:2px; }
.nav-list > li > a {
    display:block; padding:8px 14px;
    font-size:.9375rem; font-weight:500; color:var(--gray-700);
    border-radius:var(--radius-sm); transition:all .2s;
}
.nav-list > li > a:hover { color:var(--color-primary); background:var(--gray-50); }

/* Dropdown */
.nav-dropdown { position:relative; }
.nav-dropdown > a { display:flex; align-items:center; gap:6px; }
.icon-chevron { font-size:.7rem; transition:transform .25s; }
.dropdown-panel {
    display:none;
    position:absolute; top:100%; left:-12px;
    min-width:300px;
    background:var(--white);
    border:1px solid var(--color-border);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-xl);
    padding:8px; padding-top:16px; z-index:200;
    margin-top:0;
}
/* ponte invisível para cobrir o gap entre o link e o painel */
.nav-dropdown::after {
    content:''; position:absolute;
    top:100%; left:0; right:0; height:16px;
    background:transparent;
}
.dropdown-panel a {
    display:flex; align-items:center; gap:12px;
    padding:10px 14px; border-radius:var(--radius-sm);
    color:var(--gray-700); font-size:.9rem; font-weight:400;
}
.dropdown-panel a:hover { background:var(--gray-50); color:var(--color-primary); }
.dp-icon {
    width:34px; height:34px; flex-shrink:0;
    background:var(--gray-100); border-radius:8px;
    display:flex; align-items:center; justify-content:center;
    color:var(--color-primary); font-size:.875rem;
    transition:all .2s;
}
.dropdown-panel a:hover .dp-icon { background:var(--color-primary); color:white; }

@media (min-width:769px) {
    .nav-dropdown:hover .dropdown-panel { display:block; }
    .nav-dropdown:hover .icon-chevron { transform:rotate(180deg); }
}

/* CTAs do header */
.header-cta-group { display:flex; align-items:center; gap:8px; flex-shrink:0; }

/* Hamburger */
.hamburger {
    display:none; background:none; border:1px solid var(--color-border);
    padding:8px; border-radius:var(--radius-sm); cursor:pointer; color:var(--gray-700);
}
.hamburger svg { display:block; width:20px; height:20px; }

/* ==============================================
   SISTEMA DE BOTÕES
   ============================================== */
.btn {
    display:inline-flex; align-items:center; gap:8px;
    padding:10px 20px;
    font-family:var(--font); font-size:.9375rem; font-weight:600;
    border-radius:var(--radius-sm); border:2px solid transparent;
    cursor:pointer; transition:all .2s ease;
    white-space:nowrap; line-height:1.4;
}
.btn--primary { background:var(--color-primary); color:white; border-color:var(--color-primary); }
.btn--primary:hover { background:var(--color-primary-dark); border-color:var(--color-primary-dark); color:white; transform:translateY(-1px); box-shadow:0 4px 14px rgba(24,119,242,.35); }

.btn--outline { background:transparent; color:var(--color-primary); border-color:var(--color-primary); }
.btn--outline:hover { background:var(--color-primary); color:white; transform:translateY(-1px); }

.btn--white { background:white; color:var(--color-primary); border-color:white; }
.btn--white:hover { background:var(--gray-50); color:var(--blue-700); box-shadow:var(--shadow-md); }

.btn--app {
    background:linear-gradient(135deg, var(--blue-600) 0%, var(--blue-800) 100%);
    color:white; border-color:transparent;
    box-shadow:0 2px 8px rgba(24,119,242,.3);
}
.btn--app:hover {
    background:linear-gradient(135deg, var(--blue-700) 0%, var(--blue-900) 100%);
    color:white; transform:translateY(-1px);
    box-shadow:0 5px 18px rgba(24,119,242,.4);
}

.btn--sm  { padding:8px 16px; font-size:.875rem; }
.btn--lg  { padding:15px 32px; font-size:1.0625rem; border-radius:var(--radius-md); }
.btn--xl  { padding:18px 44px; font-size:1.125rem; border-radius:var(--radius-md); }

/* ==============================================
   HERO PRINCIPAL
   ============================================== */
.hero {
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 50%, #0C2A5E 100%);
    min-height:680px; display:flex; align-items:center;
    position:relative; overflow:hidden; padding:80px 0 100px;
}
.hero::before {
    content:'';
    position:absolute; inset:0;
    background:
        radial-gradient(ellipse 70% 60% at 80% 50%, rgba(24,119,242,.18) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 10% 90%, rgba(34,197,94,.07) 0%, transparent 55%);
    pointer-events:none;
}
.hero-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center;
    position:relative; z-index:2;
}
.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(24,119,242,.14); border:1px solid rgba(24,119,242,.3);
    color:#93C5FD; padding:6px 14px; border-radius:50px;
    font-size:.8125rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
    margin-bottom:24px;
}
.hero-badge .dot { width:6px; height:6px; border-radius:50%; background:#22C55E; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }

.hero h1 {
    font-size:clamp(2.2rem, 4vw, 3.75rem);
    font-weight:900; color:white; line-height:1.08;
    margin-bottom:20px; letter-spacing:-.025em;
}
.hero h1 .highlight { color:var(--blue-500); }
.hero-subtitle {
    font-size:1.0625rem; color:#94A3B8; margin-bottom:36px;
    max-width:520px; line-height:1.75;
}
.hero-cta-group { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:48px; }
.hero-stats {
    display:flex; gap:40px;
    padding-top:40px; border-top:1px solid rgba(255,255,255,.08);
}
.hero-stat .value { font-size:1.625rem; font-weight:800; color:white; line-height:1; }
.hero-stat .label { font-size:.8125rem; color:#64748B; margin-top:4px; }

/* Card do app no hero */
.hero-app-card {
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    border-radius:var(--radius-xl);
    padding:36px 32px; text-align:center;
    backdrop-filter:blur(12px);
}
.hero-app-card img {
    width:100px; height:100px; object-fit:contain;
    margin:0 auto 20px; border-radius:22px;
    box-shadow:0 10px 40px rgba(0,0,0,.45);
}
.hero-app-card h3 { color:white; font-size:1.25rem; font-weight:700; margin-bottom:6px; }
.hero-app-card > p { color:#94A3B8; font-size:.875rem; margin-bottom:22px; line-height:1.5; }
.hero-app-feats {
    display:grid; grid-template-columns:1fr 1fr; gap:8px; text-align:left; margin-bottom:22px;
}
.hero-app-feat {
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    border-radius:9px; padding:10px 12px;
    font-size:.8rem; color:#CBD5E1;
    display:flex; align-items:center; gap:8px;
}
.hero-app-feat i { color:#22C55E; font-size:.75rem; flex-shrink:0; }

/* ==============================================
   UTILITÁRIOS DE SEÇÃO
   ============================================== */
.section-label {
    display:inline-flex; align-items:center; gap:8px;
    font-size:.8125rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--color-primary); margin-bottom:14px;
}
.section-label::before { content:''; width:22px; height:2px; background:var(--color-primary); }
.section-label--center { justify-content:center; }
.section-label--center::before { display:none; }
.section-label--light { color:#93C5FD; }
.section-label--light::before { background:#93C5FD; }

h2.section-heading {
    font-size:clamp(1.75rem, 3vw, 2.75rem);
    font-weight:800; color:var(--gray-900);
    line-height:1.15; margin-bottom:16px; letter-spacing:-.02em;
}
h2.section-heading--white { color:white; }
.section-text { font-size:1.0625rem; color:var(--color-text-sec); line-height:1.75; margin-bottom:24px; }
.section-text--muted { color:#94A3B8; }

.section-header-center { text-align:center; max-width:620px; margin:0 auto 64px; }
.section-header-center .section-text { margin:0; }

/* ==============================================
   SOBRE A AERA
   ============================================== */
.about-section { padding:var(--section-py) 0; background:white; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-img-wrap { position:relative; }
.about-img-wrap img { width:100%; border-radius:var(--radius-xl); box-shadow:var(--shadow-xl); }
.about-badge {
    position:absolute; bottom:-18px; right:-18px;
    background:white; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
    padding:14px 22px; text-align:center;
}
.about-badge .num { font-size:1.75rem; font-weight:900; color:var(--color-primary); line-height:1; }
.about-badge .lbl { font-size:.75rem; color:var(--gray-600); margin-top:3px; font-weight:600; }
.about-content .section-text:last-of-type { margin-bottom:28px; }

/* ==============================================
   SEÇÃO AERA APP (destaque)
   ============================================== */
.app-section {
    padding:var(--section-py) 0;
    background:linear-gradient(155deg, var(--navy) 0%, var(--navy-mid) 60%, #0C2A5E 100%);
    position:relative; overflow:hidden;
}
.app-section::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 55% 75% at 90% 50%, rgba(24,119,242,.16) 0%, transparent 60%);
    pointer-events:none;
}
.app-section-inner { position:relative; z-index:2; }
.app-section-header { max-width:600px; margin-bottom:52px; }

.app-access-bar {
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--radius-xl);
    padding:36px 44px;
    display:flex; align-items:center; justify-content:space-between; gap:32px;
    margin-bottom:56px;
    backdrop-filter:blur(10px);
}
.app-access-bar-copy h3 { font-size:1.5rem; font-weight:800; color:white; margin-bottom:6px; }
.app-access-bar-copy p { color:#94A3B8; font-size:1rem; margin:0; }
.app-access-bar-btns { display:flex; gap:12px; flex-shrink:0; }

.app-features-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; }
.app-feature-card {
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.09);
    border-radius:var(--radius-lg); padding:28px 22px;
    transition:all .3s;
}
.app-feature-card:hover {
    background:rgba(255,255,255,.09);
    border-color:rgba(24,119,242,.45);
    transform:translateY(-4px);
}
.app-feat-icon {
    width:48px; height:48px;
    background:rgba(24,119,242,.15);
    border-radius:var(--radius-sm);
    display:flex; align-items:center; justify-content:center;
    color:#60A5FA; font-size:1.25rem; margin-bottom:16px;
}
.app-feature-card h4 { font-size:1rem; font-weight:700; color:white; margin-bottom:8px; }
.app-feature-card p { font-size:.875rem; color:#94A3B8; line-height:1.65; margin:0; }

/* ==============================================
   COMO FUNCIONA
   ============================================== */
.how-section { padding:var(--section-py) 0; background:var(--color-bg); }
.steps-grid {
    display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;
    position:relative;
}
.steps-grid::before {
    content:''; position:absolute; top:44px;
    left:calc(16.6% + 14px); right:calc(16.6% + 14px);
    height:2px;
    background:linear-gradient(to right, var(--color-border), var(--color-primary), var(--color-border));
    z-index:0;
}
.step-card {
    background:white; border:1px solid var(--color-border);
    border-radius:var(--radius-lg); padding:32px 26px;
    text-align:center; position:relative; z-index:1;
    transition:all .3s;
}
.step-card:hover { box-shadow:var(--shadow-lg); border-color:var(--color-primary); transform:translateY(-4px); }
.step-number {
    width:52px; height:52px; border-radius:50%;
    background:var(--color-primary); color:white;
    display:flex; align-items:center; justify-content:center;
    font-size:1.25rem; font-weight:800; margin:0 auto 18px;
    box-shadow:0 4px 16px rgba(24,119,242,.35);
}
.step-card h3 { font-size:1.0625rem; font-weight:700; color:var(--gray-900); margin-bottom:10px; }
.step-card p { font-size:.9375rem; color:var(--gray-600); line-height:1.7; margin:0; }

/* ==============================================
   SOLUÇÕES DE CONSULTORIA
   ============================================== */
.solutions-section { padding:var(--section-py) 0; background:white; }
.solutions-grid-v2 { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.solution-card-v2 {
    border:1px solid var(--color-border);
    border-radius:var(--radius-lg); overflow:hidden;
    background:white; transition:all .3s;
    display:flex; flex-direction:column;
}
.solution-card-v2:hover { box-shadow:var(--shadow-xl); border-color:var(--color-primary); transform:translateY(-4px); }
.sol-card-img { height:155px; overflow:hidden; }
.sol-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.solution-card-v2:hover .sol-card-img img { transform:scale(1.05); }
.sol-card-body { padding:22px; flex:1; display:flex; flex-direction:column; }
.card-icon-v2 {
    width:38px; height:38px; border-radius:8px;
    background:var(--gray-100); color:var(--color-primary);
    display:flex; align-items:center; justify-content:center;
    font-size:.9rem; margin-bottom:12px; transition:all .3s;
}
.solution-card-v2:hover .card-icon-v2 { background:var(--color-primary); color:white; }
.solution-card-v2 h3 { font-size:1rem; font-weight:700; color:var(--gray-900); margin-bottom:8px; }
.solution-card-v2 p { font-size:.9rem; color:var(--gray-600); line-height:1.65; flex:1; margin:0 0 14px; }
.card-link {
    display:inline-flex; align-items:center; gap:6px;
    font-size:.875rem; font-weight:600; color:var(--color-primary);
}
.card-link:hover { gap:10px; }
.card-link i { font-size:.7rem; }

/* ==============================================
   DIFERENCIAIS
   ============================================== */
.differentials-section { padding:var(--section-py) 0; background:var(--color-bg); }
.differentials-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.diff-card {
    background:white; border:1px solid var(--color-border);
    border-radius:var(--radius-lg); padding:30px 26px;
    transition:all .3s;
}
.diff-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); border-color:var(--color-primary); }
.diff-icon {
    width:52px; height:52px; border-radius:var(--radius-md);
    background:linear-gradient(135deg, var(--blue-600), var(--blue-800));
    display:flex; align-items:center; justify-content:center;
    color:white; font-size:1.375rem; margin-bottom:18px;
    box-shadow:0 4px 12px rgba(24,119,242,.25);
}
.diff-card h3 { font-size:1.0625rem; font-weight:700; color:var(--gray-900); margin-bottom:9px; }
.diff-card p { font-size:.9375rem; color:var(--gray-600); line-height:1.7; margin:0; }

/* ==============================================
   CTA FINAL
   ============================================== */
.cta-final {
    padding:var(--section-py) 0;
    background:linear-gradient(135deg, var(--blue-600) 0%, var(--blue-800) 100%);
    position:relative; overflow:hidden;
}
.cta-final::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 55% 80% at 15% 50%, rgba(255,255,255,.05) 0%, transparent 55%);
}
.cta-final-inner {
    position:relative; z-index:2; text-align:center; max-width:720px; margin:0 auto;
}
.cta-final-inner h2 {
    font-size:clamp(1.875rem, 3.5vw, 3rem);
    font-weight:900; color:white; margin-bottom:16px;
    line-height:1.12; letter-spacing:-.025em;
}
.cta-final-inner p { font-size:1.125rem; color:rgba(255,255,255,.8); margin-bottom:38px; line-height:1.65; }
.cta-final-btns { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }

/* ==============================================
   RODAPÉ
   ============================================== */
.site-footer { background:var(--navy); color:#94A3B8; padding:72px 0 32px; }
.footer-grid {
    display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:48px;
    padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.07); margin-bottom:28px;
}
.footer-brand img { height:40px; margin-bottom:14px; background:#fff; padding:5px 8px; border-radius:6px; }
.footer-brand p { font-size:.9rem; line-height:1.7; max-width:280px; }
.footer-socials { display:flex; gap:10px; margin-top:18px; }
.footer-socials a {
    width:34px; height:34px; border-radius:8px;
    background:rgba(255,255,255,.08);
    display:flex; align-items:center; justify-content:center;
    color:#94A3B8; font-size:.875rem; transition:all .2s;
}
.footer-socials a:hover { background:var(--color-primary); color:white; }

.footer-col h4 {
    font-size:.8125rem; font-weight:700; color:white;
    letter-spacing:.06em; text-transform:uppercase; margin-bottom:18px;
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:9px; }
.footer-col ul li a { color:#94A3B8; font-size:.9375rem; transition:color .2s; }
.footer-col ul li a:hover { color:white; }

.contact-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:11px; }
.contact-item i { color:var(--color-primary); margin-top:3px; font-size:.875rem; width:14px; flex-shrink:0; }
.contact-item a { color:#94A3B8; font-size:.9rem; transition:color .2s; }
.contact-item a:hover { color:white; }

.footer-bottom {
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:14px;
}
.footer-bottom p { font-size:.875rem; }
.footer-app-link a {
    display:inline-flex; align-items:center; gap:8px;
    color:#60A5FA; font-size:.875rem; font-weight:600;
}
.footer-app-link a:hover { color:white; }

/* ==============================================
   PÁGINAS DE SERVIÇO (compatibilidade)
   ============================================== */
.service-hero {
    padding:90px 20px 80px;
    text-align:center; position:relative;
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
    color:white;
    background-size:cover; background-position:center;
}
.service-hero::before {
    content:''; position:absolute; inset:0;
    background:rgba(10,22,40,.72);
}
.service-hero .container { position:relative; z-index:2; max-width:780px; }
.service-hero h1 {
    font-size:clamp(1.875rem, 4vw, 3rem);
    font-weight:900; margin-bottom:16px;
    letter-spacing:-.02em; line-height:1.1;
}
.service-hero p { font-size:1.125rem; opacity:.88; line-height:1.65; max-width:720px; margin:0 auto; }

/* Fundos das service pages */
.service-hero.licenciamento  { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('solution-licenciamento.jpg'); }
.service-hero.residuos        { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('solution-residuos.jpg'); }
.service-hero.esg             { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('solution-esg.jpg'); }
.service-hero.captacao        { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('solution-captacao.jpg'); }
.service-hero.franquias       { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('solution-franquias.jpg'); }
.service-hero.socioambiental  { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('solution-socioambiental.jpg'); }
.service-hero.gac             { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('solution-gac.jpg'); }
.service-hero.sobre           { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('why-us-hands.jpg'); }
.service-hero.hidricos        { background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)), url('solution-hidricos.jpg'); }
.service-hero.aera-app-hero   { background-image:linear-gradient(135deg, var(--navy) 0%, #0F2952 100%); }

/* Conteúdo das service pages */
.service-content { padding:var(--section-py) 0; background:white; }
.service-content .container { max-width:820px; }
.service-content h2 {
    font-size:1.75rem; font-weight:800; color:var(--gray-900);
    margin:44px 0 16px; letter-spacing:-.01em;
}
.service-content p, .service-content li {
    font-size:1.0625rem; color:var(--gray-700); line-height:1.8; margin-bottom:16px;
}
.service-content p.lead {
    font-size:1.1875rem; color:var(--gray-800); margin-bottom:32px; line-height:1.75; font-weight:400;
}
.service-content ul { list-style:none; padding:0; margin:0 0 24px; }
.service-content li { padding-left:26px; position:relative; margin-bottom:12px; }
.service-content li::before {
    content:''; position:absolute; left:0; top:9px;
    width:8px; height:8px; background:var(--color-accent); border-radius:50%;
}

.cta-section {
    background:var(--gray-50); border:1px solid var(--color-border);
    border-radius:var(--radius-xl); padding:48px; text-align:center; margin-top:56px;
}
.cta-section h2 { font-size:1.625rem; margin-top:0; margin-bottom:12px; }
.cta-section p { font-size:1rem; margin-bottom:28px; }

/* Botão legado (páginas de serviço ainda usam) */
.cta-button {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--color-primary); color:white;
    padding:13px 28px; font-family:var(--font); font-weight:700;
    border-radius:var(--radius-sm); font-size:1rem;
    border:2px solid var(--color-primary); cursor:pointer;
    transition:all .2s;
}
.cta-button:hover { background:var(--color-primary-dark); border-color:var(--color-primary-dark); color:white; transform:translateY(-1px); box-shadow:0 4px 14px rgba(24,119,242,.35); }
.cta-button.large { padding:16px 36px; font-size:1.0625rem; }
.cta-button.secondary { background:var(--color-accent); border-color:var(--color-accent); }
.cta-button.secondary:hover { background:var(--green-600); border-color:var(--green-600); }

/* ==============================================
   PÁGINA AERA APP (dedicada)
   ============================================== */
.app-page-hero {
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 60%, #0B2650 100%);
    position:relative; overflow:hidden;
    padding:80px 0 0;
}
.app-page-hero::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 65% 70% at 80% 30%, rgba(24,119,242,.22) 0%, transparent 55%);
}
.app-page-hero-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:end;
    position:relative; z-index:2;
}
.app-page-hero-content { padding-bottom:80px; }
.app-page-logo {
    width:76px; border-radius:18px;
    box-shadow:0 8px 32px rgba(0,0,0,.45); margin-bottom:22px;
}
.app-page-hero h1 {
    font-size:clamp(2rem, 3.5vw, 3rem);
    font-weight:900; color:white; line-height:1.1; margin-bottom:16px; letter-spacing:-.025em;
}
.app-page-hero-sub { font-size:1.0625rem; color:#94A3B8; line-height:1.72; margin-bottom:32px; }
.app-access-box {
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.15);
    border-radius:var(--radius-lg); padding:22px 26px; margin-bottom:30px;
}
.app-access-box p { font-size:.875rem; color:#94A3B8; margin:0 0 14px; }
.app-access-btns { display:flex; gap:12px; flex-wrap:wrap; }

.app-page-video {
    width:100%; border-radius:var(--radius-xl) var(--radius-xl) 0 0;
    overflow:hidden; background:#000;
    box-shadow:0 -12px 40px rgba(0,0,0,.35);
}
.app-page-video video { width:100%; height:100%; object-fit:cover; display:block; }

/* Botão play sobreposto */
.has-video { position:relative; }
.bg-video {
    position:absolute; top:50%; left:50%;
    width:100%; height:100%;
    transform:translate(-50%, -50%);
    z-index:1; object-fit:contain; background:#000;
}
.video-overlay-dark {
    position:absolute; inset:0;
    background:rgba(0,0,0,.75); z-index:2; transition:opacity .5s;
}
.hero-content-overlay { position:relative; z-index:3; transition:opacity .5s, transform .5s; }
.is-playing .hero-content-overlay { opacity:0; pointer-events:none; transform:translateY(-20px); }
.is-playing .video-overlay-dark { opacity:0; pointer-events:none; }

/* ==============================================
   MODAL DE CONTATO
   ============================================== */
.modal {
    display:none; position:fixed; z-index:2000;
    inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(4px);
    overflow-y:auto;
}
.modal.active { display:flex; align-items:center; justify-content:center; padding:24px; }
.modal-content {
    background:white; border-radius:var(--radius-xl);
    width:100%; max-width:900px;
    position:relative; overflow:hidden;
    box-shadow:0 24px 72px rgba(0,0,0,.3);
}
.close-button {
    position:absolute; top:14px; right:18px;
    font-size:1.75rem; font-weight:700; cursor:pointer;
    color:#888; z-index:10; line-height:1; transition:color .2s;
}
.close-button:hover { color:var(--gray-900); }
.modal-grid { display:grid; grid-template-columns:1fr 1fr; }
.modal-form-section { padding:40px; }
.modal-form-section h2 { font-size:1.5rem; font-weight:800; color:var(--gray-900); margin-bottom:24px; }
.modal-info-section {
    padding:40px;
    background:linear-gradient(155deg, var(--navy) 0%, var(--navy-mid) 100%);
    color:white;
}
.modal-info-section h2 { color:white; font-size:1.5rem; margin-bottom:22px; }
.info-card { background:rgba(255,255,255,.1); border-radius:var(--radius-md); padding:18px; margin-bottom:14px; }
.info-card i { font-size:1.375rem; color:#60A5FA; margin-bottom:7px; display:block; }
.info-card p { font-size:.8rem; color:rgba(255,255,255,.6); margin:0 0 4px; }
.info-card a { color:white; font-weight:600; font-size:.9375rem; }
.contact-person-card { background:rgba(255,255,255,.08); border-radius:var(--radius-md); padding:16px; margin-top:6px; }
.contact-person-card h3 { color:white; font-size:1rem; font-weight:700; margin-bottom:2px; }
.contact-person-card p { font-size:.85rem; color:rgba(255,255,255,.6); margin:0; }

.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:.875rem; font-weight:600; margin-bottom:5px; color:var(--gray-700); }
.form-group input,
.form-group textarea {
    width:100%; padding:10px 14px; font-family:var(--font);
    border:1px solid var(--color-border); border-radius:var(--radius-sm);
    font-size:.9375rem; outline:none; transition:border-color .2s;
    background:white; color:var(--gray-900);
}
.form-group input:focus,
.form-group textarea:focus {
    border-color:var(--color-primary);
    box-shadow:0 0 0 3px rgba(24,119,242,.1);
}

/* ==============================================
   RESPONSIVIDADE
   ============================================== */
@media (max-width:1100px) {
    .app-features-grid { grid-template-columns:repeat(2, 1fr); }
    .footer-grid { grid-template-columns:1fr 1fr; gap:36px; }
}

@media (max-width:992px) {
    :root { --section-py:72px; }
    .hero-grid { grid-template-columns:1fr; gap:48px; }
    .hero-app-card { max-width:460px; }
    .about-grid { grid-template-columns:1fr; gap:48px; }
    .about-img-wrap { max-width:480px; }
    .app-page-hero-grid { grid-template-columns:1fr; }
    .app-page-video { display:none; }
    .steps-grid { grid-template-columns:1fr; }
    .steps-grid::before { display:none; }
    .solutions-grid-v2 { grid-template-columns:repeat(2, 1fr); }
    .differentials-grid { grid-template-columns:repeat(2, 1fr); }
    .app-access-bar { flex-direction:column; text-align:center; }
    .app-access-bar-btns { justify-content:center; flex-wrap:wrap; }
}

@media (max-width:768px) {
    :root { --section-py:56px; }
    .header-logo span { display:none; }
    .header-nav { display:none; }
    .header-nav.active {
        display:flex; flex-direction:column;
        position:absolute; top:72px; left:0; right:0;
        background:white; border-bottom:1px solid var(--color-border);
        box-shadow:var(--shadow-lg); padding:14px; gap:4px; z-index:999;
    }
    .nav-list { flex-direction:column; width:100%; }
    .nav-list > li > a { display:block; padding:12px 14px; }
    .dropdown-panel { position:static; box-shadow:none; border:none; background:var(--gray-50); padding:4px 0 4px 12px; min-width:auto; }
    .header-cta-group { display:none; }
    .hamburger { display:flex; }

    .hero h1 { font-size:2.1rem; }
    .hero-cta-group { flex-direction:column; align-items:flex-start; }
    .hero-stats { flex-wrap:wrap; gap:24px; }
    .hero-app-card { display:none; }

    .about-badge { display:none; }
    .solutions-grid-v2 { grid-template-columns:1fr; }
    .differentials-grid { grid-template-columns:1fr; }
    .app-features-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; gap:28px; }
    .footer-bottom { flex-direction:column; text-align:center; }
    .cta-final-btns { flex-direction:column; align-items:center; }
    .cta-section { padding:32px 22px; }
    .modal-grid { grid-template-columns:1fr; }
    .modal-info-section { display:none; }
    .modal.active { padding:16px; }
}
