/* ==========================================================================
   Mirela Contadora — Landing (CSS v3 • premium clean + CTA aqua)
   Ajustado para:
   - CTA principal "Abrir meu CNPJ agora" em verde água chamativo
   - Hero direito preparado para FOTO em vez de métricas
   - Bloco de benefícios do processo mais forte e escaneável
   - FAQ e prova social prontos para os novos textos
   ========================================================================== */

/* -----------------------------
   0) Fonts
------------------------------ */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap");

/* -----------------------------
   1) Tokens / Theme
------------------------------ */
:root{
    /* Base */
    --bg: #f6f7f9;
    --bg-2: #eceff3;
    --surface: rgba(255,255,255,.78);
    --surface-2: rgba(255,255,255,.92);

    /* Texto */
    --text: #0b1220;
    --muted: rgba(11, 18, 32, .68);
    --muted-2: rgba(11, 18, 32, .52);

    /* Neutros */
    --primary: #111827;
    --primary-2: #374151;
    --primary-3: #6b7280;
    --primary-soft: rgba(17,24,39,.10);
    --primary-soft-2: rgba(17,24,39,.14);

    /* Accent aqua */
    --accent: #10cfc9;
    --accent-2: #0ab8b2;
    --accent-3: #0e938f;
    --accent-deep: #0b6f6b;
    --accent-soft: rgba(16,207,201,.12);
    --accent-soft-2: rgba(16,207,201,.18);
    --accent-ring: 0 0 0 4px rgba(16,207,201,.18);
    --accent-shadow: 0 18px 48px rgba(10,184,178,.24);

    /* Borders / shadows */
    --border: rgba(11, 18, 32, .10);
    --border-2: rgba(11, 18, 32, .14);
    --shadow-sm: 0 10px 22px rgba(2, 8, 23, .06);
    --shadow-md: 0 18px 50px rgba(2, 8, 23, .10);
    --shadow-lg: 0 24px 70px rgba(2, 8, 23, .14);

    /* Radius / spacing */
    --r-sm: 12px;
    --r-md: 18px;
    --r-lg: 26px;
    --r-xl: 34px;
    --r-2xl: 42px;

    --container: 1180px;
    --gutter: 18px;

    /* Typography */
    --font-sans: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;

    /* Motion */
    --ease: cubic-bezier(.2,.9,.2,1);
    --ease-soft: cubic-bezier(.2,.8,.2,1);
    --dur-1: 180ms;
    --dur-2: 320ms;
    --dur-3: 520ms;

    /* Header / app-nav heights */
    --header-h: 74px;
    --appnav-h: 76px;

    /* Focus ring */
    --ring: 0 0 0 4px rgba(17,24,39,.16);

    /* Stars */
    --star: #d1b45a;
    --star-soft: rgba(209,180,90,.22);
}

@media (prefers-contrast: more){
    :root{
        --border: rgba(11,18,32,.18);
        --muted: rgba(11,18,32,.76);
    }
}

@media (prefers-reduced-motion: reduce){
    *{
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
        scroll-behavior: auto !important;
    }
}

/* -----------------------------
   2) Reset / Base
------------------------------ */
*,
*::before,
*::after{ box-sizing: border-box; }

html{
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-h) + 18px);
}

body{
    margin: 0;
    font-family: var(--font-sans);
    color: var(--text);
    background:
        radial-gradient(1200px 680px at 18% 0%, rgba(17,24,39,.06), transparent 55%),
        radial-gradient(980px 560px at 92% 20%, rgba(11,18,32,.05), transparent 55%),
        linear-gradient(180deg, var(--bg), var(--bg-2));
    min-height: 100dvh;
    overflow-x: hidden;
}

img, svg, video{
    display: block;
    max-width: 100%;
    height: auto;
}

a{ color: inherit; text-decoration: none; }
button, input, textarea, select{ font: inherit; color: inherit; }

::selection{ background: rgba(17,24,39,.16); }

/* Scrollbar */
::-webkit-scrollbar{ width: 12px; }
::-webkit-scrollbar-track{ background: rgba(11,18,32,.06); }
::-webkit-scrollbar-thumb{
    background: rgba(11,18,32,.16);
    border-radius: 999px;
    border: 3px solid rgba(255,255,255,.6);
}
::-webkit-scrollbar-thumb:hover{ background: rgba(11,18,32,.22); }

/* -----------------------------
   3) Layout helpers
------------------------------ */
.container{
    width: min(var(--container), calc(100% - (var(--gutter) * 2)));
    margin-inline: auto;
}

.row{ display:flex; gap:14px; flex-wrap:wrap; }
.stack{ display:grid; gap:18px; }
.stack-lg{ display:grid; gap:26px; }

.sep{
    height: 1px;
    background: linear-gradient(90deg, rgba(11,18,32,.08), rgba(11,18,32,.02), rgba(11,18,32,.08));
    width: 100%;
}

.sr-only{
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}

.text-italic{ font-style: italic; }
.text-accent{ color: var(--accent-deep); }

/* -----------------------------
   4) Header
------------------------------ */
.header{
    position: sticky;
    top: 0;
    z-index: 50;
    height: var(--header-h);
    display: flex;
    align-items: center;
    background: rgba(246,247,249,.62);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(11,18,32,.08);
    will-change: transform;
}

.header__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 14px;
    width: 100%;
}

.brand{
    display:flex;
    align-items:center;
    gap: 12px;
    min-width: 240px;
}

.brand__mark{
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(255,255,255,.70);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 10px 28px rgba(2,8,23,.08);
    overflow: hidden;
    display: grid;
    place-items: center;
}

.brand__logo-img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
    filter: saturate(.95) contrast(1.02);
}

.brand__name{ display:grid; line-height: 1.1; }
.brand__title{
    font-family: var(--font-serif);
    font-weight: 600;
    letter-spacing: .2px;
    font-size: 1.06rem;
}
.brand__subtitle{
    font-size: .86rem;
    color: var(--muted);
}

.nav{ display:flex; align-items:center; gap: 10px; }

.nav__link{
    position: relative;
    display:inline-flex;
    align-items:center;
    height: 40px;
    padding: 0 12px;
    border-radius: 999px;
    color: rgba(11,18,32,.72);
    transition:
        background var(--dur-2) var(--ease),
        color var(--dur-2) var(--ease),
        transform var(--dur-2) var(--ease);
}

.nav__link:hover{
    background: rgba(255,255,255,.72);
    color: rgba(11,18,32,.92);
    transform: translateY(-1px);
}

.nav__link.is-active{
    background: rgba(17,24,39,.08);
    color: rgba(11,18,32,.92);
    box-shadow: inset 0 0 0 1px rgba(17,24,39,.14);
}

.nav__link.is-active::after{
    content:"";
    position:absolute;
    left: 12px;
    right: 12px;
    bottom: 7px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(17,24,39,.65), rgba(17,24,39,.15));
    opacity: .9;
}

.header__actions{ display:flex; align-items:center; gap: 10px; }

.btn-wa {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    border: 1px solid rgba(37, 211, 102, 0.2); /* Borda esverdeada sutil */
    background: #25d366; /* Cor do WhatsApp */
    display: grid;
    place-items: center;
    box-shadow: 0 10px 26px rgba(2,8,23,.08);
    transition:
        transform var(--dur-2) var(--ease),
        box-shadow var(--dur-2) var(--ease),
        background var(--dur-2) var(--ease);
    cursor: pointer;
}

.btn-wa:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 44px rgba(2,8,23,.12);
    background: #20bd5c; /* Verde levemente mais escuro para o hover */
}

.btn-wa:active { 
    transform: translateY(0) scale(.98); 
}

.btn-wa:focus-visible { 
    outline: none; 
    box-shadow: var(--shadow-sm), var(--ring); 
}

.btn-wa i, .btn-wa svg {
    font-size: 18px;
    color: #ffffff; /* Ícone branco para dar contraste com o verde */
}
/* -----------------------------
   5) Hero
------------------------------ */
.hero{
    position: relative;
    padding: 52px 0 26px;
}

.hero::before{
    content:"";
    position:absolute;
    inset: 0;
    pointer-events:none;
    background:
        radial-gradient(900px 520px at 18% 30%, rgba(17,24,39,.07), transparent 60%),
        radial-gradient(980px 560px at 92% 12%, rgba(11,18,32,.05), transparent 62%);
    opacity: .95;
}

.hero__grid{
    position: relative;
    display:grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 28px;
    align-items:center;
}

.kicker{
    display:inline-flex;
    align-items:center;
    gap: 10px;
    font-size: .9rem;
    color: rgba(11,18,32,.72);
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(11,18,32,.10);
    background: rgba(255,255,255,.62);
    box-shadow: 0 10px 22px rgba(2,8,23,.06);
}

.kicker__dot{
    width: 8px; height: 8px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(55,65,81,.80));
    box-shadow: 0 0 0 4px rgba(17,24,39,.08);
}

.hero__title{
    margin: 14px 0 10px;
    font-family: var(--font-serif);
    font-weight: 600;
    letter-spacing: .2px;
    font-size: clamp(1.9rem, 2.8vw, 3.15rem);
    line-height: 1.08;
}

.hero__title .hero__title-soft{
    color: rgba(11,18,32,.78);
    font-weight: 500;
}

.hero__subtitle{
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 1.02rem;
    line-height: 1.6;
    max-width: 56ch;
}

.hero__cta{
    display:flex;
    align-items:center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.hero__trust{
    margin-top: 16px;
    display:flex;
    gap: 14px;
    flex-wrap: wrap;
    color: var(--muted-2);
    font-size: .92rem;
}

.trust-pill{
    display:inline-flex;
    align-items:center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(11,18,32,.10);
}

.trust-pill i, .trust-pill svg{ color: rgba(11,18,32,.88); }

/* Buttons */
.btn{
    border: 0;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.btn-primary{
    height: 46px;
    padding: 0 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(17,24,39,.96), rgba(55,65,81,.92));
    color: white;
    box-shadow: 0 14px 40px rgba(2,8,23,.18);
    display:inline-flex;
    align-items:center;
    gap: 10px;
    transition:
        transform var(--dur-2) var(--ease),
        box-shadow var(--dur-2) var(--ease),
        filter var(--dur-2) var(--ease);
}

.btn-primary:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 52px rgba(2,8,23,.22);
    filter: saturate(1.03);
}

.btn-primary:active{ transform: translateY(0) scale(.99); }
.btn-primary:focus-visible{
    outline:none;
    box-shadow: var(--ring), 0 18px 52px rgba(2,8,23,.22);
}

/* CTA verde água principal */
.btn-hero,
.btn-cta-aqua {
    background: #25d366;
    color: #062b29; 
    box-shadow: var(--accent-shadow);
    font-weight: 700;
    border: 1px solid rgba(37, 211, 102, 0.2); /* Borda ajustada para o novo tom de verde */
}

.btn-hero i,
.btn-cta-aqua i,
.btn-hero svg,
.btn-cta-aqua svg{
    color: #062b29;
}

.btn-hero:hover,
.btn-cta-aqua:hover{
    transform: translateY(-2px);
    box-shadow: 0 22px 58px rgba(10,184,178,.30);
    filter: saturate(1.06) brightness(1.02);
}

.btn-hero:focus-visible,
.btn-cta-aqua:focus-visible{
    outline: none;
    box-shadow: var(--accent-ring), 0 22px 58px rgba(10,184,178,.30);
}

.btn-ghost{
    height: 46px;
    padding: 0 16px;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(11,18,32,.10);
    color: rgba(11,18,32,.82);
    box-shadow: 0 10px 26px rgba(2,8,23,.08);
    display:inline-flex;
    align-items:center;
    gap: 10px;
    transition:
        transform var(--dur-2) var(--ease),
        background var(--dur-2) var(--ease);
}

.btn-ghost:hover{
    transform: translateY(-2px);
    background: rgba(255,255,255,.88);
}
.btn-ghost:active{ transform: translateY(0) scale(.99); }
.btn-ghost:focus-visible{ outline:none; box-shadow: var(--shadow-sm), var(--ring); }

/* Hero card / foto */
.hero-card{
    border-radius: var(--r-xl);
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    position: relative;
}

.hero-card::before{
    content:"";
    position:absolute;
    inset: 0;
    background:
        radial-gradient(700px 340px at 20% 0%, rgba(17,24,39,.08), transparent 56%),
        radial-gradient(760px 420px at 100% 40%, rgba(11,18,32,.05), transparent 60%);
    opacity: .95;
    pointer-events:none;
}

.hero-card__body{
    position: relative;
    padding: 22px 22px 18px;
    display:grid;
    gap: 14px;
}

/* NOVO: hero com foto grande do plantão */
.hero-card--photo{
    padding: 12px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: var(--shadow-lg);
}

.hero-card--photo::before{
    background:
        radial-gradient(500px 260px at 18% 0%, rgba(16,207,201,.14), transparent 58%),
        radial-gradient(620px 360px at 100% 24%, rgba(11,18,32,.06), transparent 60%);
}

.hero-photo{
    position: relative;
    min-height: 100%;
    border-radius: 28px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,.08));
    border: 1px solid rgba(255,255,255,.48);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.55),
        0 22px 52px rgba(2,8,23,.12);
}

.hero-photo__img{
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
    object-position: center;
    filter: saturate(.98) contrast(1.02);
}

.hero-photo__overlay{
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(8,14,24,.06) 0%, rgba(8,14,24,.12) 35%, rgba(8,14,24,.30) 100%);
    pointer-events: none;
}

.hero-photo__badge{
    position: absolute;
    left: 18px;
    top: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.56);
    color: rgba(11,18,32,.88);
    box-shadow: 0 12px 26px rgba(2,8,23,.14);
    font-size: .88rem;
    font-weight: 600;
}

.hero-photo__badge i{
    color: var(--accent-deep);
}

.hero-photo__caption{
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 2;
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: 0 14px 34px rgba(2,8,23,.14);
}

.hero-photo__caption-title{
    margin: 0;
    font-family: var(--font-serif);
    font-size: 1.1rem;
    line-height: 1.15;
    color: #fff;
}

.hero-photo__caption-text{
    margin: 0;
    font-size: .92rem;
    line-height: 1.55;
    color: rgba(255,255,255,.84);
}

/* métricas mantidas caso queira reaproveitar */
.metric{
    display:grid;
    gap: 6px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(11,18,32,.10);
}

.metric__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 12px;
}

.metric__label{ font-size: .9rem; color: rgba(11,18,32,.68); }
.metric__value{
    font-family: var(--font-serif);
    font-weight: 600;
    letter-spacing: .2px;
    font-size: 1.45rem;
    line-height: 1.1;
}
.metric__hint{
    font-size: .88rem;
    color: rgba(11,18,32,.58);
    line-height: 1.35;
}

.badge-soft{
    display:inline-flex;
    align-items:center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(17,24,39,.08);
    color: rgba(11,18,32,.86);
    border: 1px solid rgba(17,24,39,.12);
    font-size: .88rem;
}

/* -----------------------------
   6) Sections
------------------------------ */
.section{ padding: 44px 0; position: relative; }

.section__head{
    display:grid;
    gap: 10px;
    margin-bottom: 18px;
}

.section__kicker{
    font-size: .9rem;
    color: rgba(11,18,32,.70);
    display:inline-flex;
    align-items:center;
    gap: 10px;
}

.section__kicker::before{
    content:"";
    width: 18px;
    height: 1px;
    background: linear-gradient(90deg, rgba(17,24,39,.55), rgba(17,24,39,0));
    border-radius: 999px;
}

.section__title{
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 600;
    letter-spacing: .2px;
    font-size: clamp(1.55rem, 2.2vw, 2.25rem);
    line-height: 1.15;
}

.section__lead{
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
    max-width: 72ch;
}

.section--soft{
    background: rgba(255,255,255,.42);
    border-top: 1px solid rgba(11,18,32,.06);
    border-bottom: 1px solid rgba(11,18,32,.06);
}

/* -----------------------------
   7) Cards / Grids
------------------------------ */
.grid-3{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.grid-2{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.card{
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.70);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 14px 40px rgba(2,8,23,.08);
    overflow: hidden;
}

.card__pad{ padding: 18px; }
.card__title{
    margin: 0 0 8px;
    font-weight: 700;
    letter-spacing: .1px;
    font-size: 1.02rem;
}
.card__text{
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
    font-size: .98rem;
}

.card__eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--accent-deep);
}

.card__icon{
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display:grid;
    place-items:center;
    background: rgba(17,24,39,.08);
    border: 1px solid rgba(17,24,39,.12);
    margin-bottom: 12px;
}
.card__icon i, .card__icon svg{ color: rgba(11,18,32,.92); font-size: 18px; }

.card--hover{
    transition:
        transform var(--dur-2) var(--ease),
        box-shadow var(--dur-2) var(--ease),
        background var(--dur-2) var(--ease);
}
.card--hover:hover{
    transform: translateY(-3px);
    box-shadow: 0 20px 60px rgba(2,8,23,.12);
    background: rgba(255,255,255,.82);
}

/* Checklist */
.checklist{
    display:grid;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.checklist li{
    display:grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    align-items:start;
    color: rgba(11,18,32,.78);
    line-height: 1.55;
}

.checklist li::before{
    content:"";
    width: 18px;
    height: 18px;
    border-radius: 8px;
    margin-top: 2px;
    background:
        radial-gradient(120% 120% at 30% 30%, rgba(255,255,255,.85), rgba(255,255,255,.18)),
        linear-gradient(135deg, rgba(17,24,39,.28), rgba(107,114,128,.16));
    border: 1px solid rgba(17,24,39,.16);
    box-shadow: 0 8px 18px rgba(2,8,23,.10);
}

.checklist__text{
    grid-column: 2;
    min-width: 0;
    display: block;
    width: 100%;
}

.checklist__text strong{
    font-weight: 700;
}

.checklist__text em,
.checklist em{
    font-style: italic;
    color: rgba(11,18,32,.74);
}

/* bloco premium */
.checklist--benefits{
    gap: 14px;
}

.checklist--benefits > li{
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(11,18,32,.06);
}

.checklist--benefits > li:last-child{
    border-bottom: 0;
    padding-bottom: 0;
}

.checklist--benefits > li::before{
    width: 22px;
    height: 22px;
    border-radius: 9px;
    background:
        radial-gradient(120% 120% at 30% 30%, rgba(255,255,255,.80), rgba(255,255,255,.14)),
        linear-gradient(135deg, rgba(16,207,201,.34), rgba(14,147,143,.18));
    border: 1px solid rgba(16,207,201,.22);
    box-shadow: 0 10px 18px rgba(10,184,178,.14);
}

/* sublista interna */
.benefit-sublist{
    grid-column: 2;
    display: grid;
    gap: 10px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    width: 100%;
}

.benefit-sublist li{
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    position: relative;
    padding-left: 18px !important;
    color: rgba(11,18,32,.72);
    line-height: 1.6;
    font-size: .95rem;
    width: 100%;
}

.benefit-sublist li::before{
    content: "•" !important;
    position: absolute;
    left: 0;
    top: 0;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    color: var(--accent-deep);
    font-weight: 700;
    font-size: 1rem;
}

.benefit-sublist strong{
    display: inline;
    font-weight: 700;
    color: rgba(11,18,32,.90);
}
/* -----------------------------
   8) Highlight (Oferta)
------------------------------ */
.highlight{
    border-radius: var(--r-xl);
    background:
        radial-gradient(900px 420px at 20% 0%, rgba(17,24,39,.06), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.60));
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 18px 55px rgba(2,8,23,.10);
    overflow: hidden;
    position: relative;
}

.highlight::after{
    content:"";
    position:absolute;
    inset: -2px;
    border-radius: var(--r-xl);
    pointer-events:none;
    background: linear-gradient(135deg, rgba(17,24,39,.18), rgba(17,24,39,0), rgba(17,24,39,.10));
    opacity: .70;
    mask: linear-gradient(#000, transparent 65%);
}

.highlight__inner{
    padding: 22px;
    display:grid;
    gap: 14px;
}

.highlight__cta{
    display:flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items:center;
}

/* -----------------------------
   9) Steps / Processo
------------------------------ */
.steps{ display:grid; gap: 14px; }

.step{
    display:grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    padding: 16px;
    border-radius: 22px;
    background: rgba(255,255,255,.70);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 12px 36px rgba(2,8,23,.08);
}

.step__n{
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display:grid;
    place-items:center;
    font-weight: 700;
    color: rgba(11,18,32,.92);
    background: rgba(17,24,39,.08);
    border: 1px solid rgba(17,24,39,.14);
}

.step__title{
    margin: 0 0 6px;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.step__text{
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
    font-size: .96rem;
}

.process-card{
    position: relative;
    overflow: hidden;
}

.process-card::before{
    content:"";
    position:absolute;
    inset: 0;
    pointer-events:none;
    background:
        radial-gradient(520px 220px at 0% 0%, rgba(16,207,201,.10), transparent 60%);
    opacity: .95;
}

.process-card .card__pad{
    position: relative;
}

.benefits-title{
    margin: 0 0 8px;
    font-family: var(--font-serif);
    font-size: clamp(1.18rem, 1.8vw, 1.42rem);
    line-height: 1.2;
}

.benefits-subtitle{
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
    font-size: .96rem;
}

/* -----------------------------
   10) Carrossel
------------------------------ */
.carousel{
    border-radius: var(--r-xl);
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 18px 55px rgba(2,8,23,.10);
    overflow: hidden;
    position: relative;
}

.carousel__track{
    display: flex;
    gap: 0;
    will-change: transform;
    transition: transform var(--dur-3) var(--ease);
    align-items: stretch;
}

.carousel__slide{
    min-width: 100%;
    position: relative;
}

.carousel__btn{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    cursor: pointer;
    z-index: 6;
    transition: transform var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
}

.carousel__dots{
    position: absolute;
    left: 0; right: 0;
    bottom: 12px;
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    z-index: 6;
}

.carousel__dot{
    width: 8px;
    height: 8px;
    border-radius: 999px;
    cursor: pointer;
    transition: transform var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
}

/* Galeria */
.carousel--gallery .carousel__slide{
    aspect-ratio: 16 / 10;
    background: rgba(11,18,32,.06);
}

.carousel--gallery .carousel__img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.95) contrast(1.03);
    transform: scale(1.02);
}

.carousel--gallery .carousel__overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(11,18,32,.10), rgba(11,18,32,.30));
    pointer-events: none;
}

.carousel--gallery .carousel__caption{
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    color: rgba(255,255,255,.92);
    display: grid;
    gap: 6px;
}

.carousel--gallery .carousel__caption h3{
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 600;
    letter-spacing: .2px;
    font-size: 1.2rem;
}

.carousel--gallery .carousel__caption p{
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.5;
    font-size: .94rem;
    max-width: 62ch;
}

.carousel--gallery .carousel__btn{
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: rgba(255,255,255,.92);
}

.carousel--gallery .carousel__btn:hover{
    transform: translateY(-50%) scale(1.03);
    background: rgba(255,255,255,.26);
}

.carousel--gallery .carousel__btn:active{
    transform: translateY(-50%) scale(.98);
}

.carousel--gallery .carousel__btn--prev{ left: 12px; }
.carousel--gallery .carousel__btn--next{ right: 12px; }

.carousel--gallery .carousel__dot{
    background: rgba(255,255,255,.40);
    border: 1px solid rgba(255,255,255,.18);
}
.carousel--gallery .carousel__dot.is-active{
    background: rgba(255,255,255,.85);
    transform: scale(1.25);
}

/* Depoimentos */
.carousel--testimonials{
    background: rgba(255,255,255,.66);
}

.carousel--testimonials .carousel__slide{
    background: transparent;
    padding: 18px 74px 64px;
}

.carousel--testimonials .t-card{
    width: 100%;
    margin: 0;
}

.carousel--testimonials .carousel__btn{
    border: 1px solid rgba(11,18,32,.10);
    background: rgba(255,255,255,.82);
    color: rgba(11,18,32,.92);
    box-shadow: 0 14px 40px rgba(2,8,23,.10);
}

.carousel--testimonials .carousel__btn:hover{
    transform: translateY(-50%) scale(1.03);
    background: rgba(255,255,255,.92);
}

.carousel--testimonials .carousel__btn:active{
    transform: translateY(-50%) scale(.98);
}

.carousel--testimonials .carousel__btn--prev{ left: 14px; }
.carousel--testimonials .carousel__btn--next{ right: 14px; }

.carousel--testimonials .carousel__dots{
    bottom: 18px;
}

.carousel--testimonials .carousel__dot{
    background: rgba(11,18,32,.18);
    border: 1px solid rgba(11,18,32,.10);
}
.carousel--testimonials .carousel__dot.is-active{
    background: rgba(11,18,32,.72);
    transform: scale(1.25);
}

/* -----------------------------
   11) Depoimentos
------------------------------ */
.testimonials{
    display: grid;
    gap: 16px;
}

.t-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.t-card{
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.70);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 14px 40px rgba(2,8,23,.08);
    padding: 18px;
    display: grid;
    gap: 12px;
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}

.t-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 20px 60px rgba(2,8,23,.12);
}

.t-top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.t-stars{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(209,180,90,.10);
    border: 1px solid rgba(209,180,90,.18);
}

.t-stars i{
    color: var(--star);
    font-size: 12px;
    filter: drop-shadow(0 6px 12px rgba(2,8,23,.12));
}

.t-badge{
    font-size: .86rem;
    color: rgba(11,18,32,.72);
    background: rgba(17,24,39,.06);
    border: 1px solid rgba(17,24,39,.10);
    padding: 8px 10px;
    border-radius: 999px;
}

.t-quote{
    margin: 0;
    color: rgba(11,18,32,.76);
    line-height: 1.7;
    font-size: .98rem;
    position: relative;
}

.t-quote::before{
    content: "“";
    font-family: var(--font-serif);
    font-size: 2.2rem;
    line-height: 1;
    color: rgba(11,18,32,.22);
    margin-right: 6px;
}

.t-name{
    font-weight: 700;
    letter-spacing: .1px;
    color: rgba(11,18,32,.92);
    margin: 0;
    font-size: .98rem;
}

.t-role{
    margin: 0;
    color: rgba(11,18,32,.60);
    font-size: .88rem;
    line-height: 1.2;
}

.social-proof-title{
    margin: 0;
    font-family: var(--font-serif);
    font-size: clamp(1.4rem, 2vw, 2rem);
    line-height: 1.15;
}

.social-proof-subtitle{
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}

/* -----------------------------
   12) FAQ
------------------------------ */
.faq{ display:grid; gap: 12px; }

.faq details{
    border-radius: 22px;
    background: rgba(255,255,255,.70);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 12px 34px rgba(2,8,23,.08);
    overflow: hidden;
    transition: transform var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
}

.faq details:hover{
    transform: translateY(-2px);
    background: rgba(255,255,255,.82);
}

.faq summary{
    list-style: none;
    cursor: pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 14px;
    padding: 16px;
    font-weight: 700;
    color: rgba(11,18,32,.92);
}
.faq summary::-webkit-details-marker{ display:none; }

.faq summary .chev{
    width: 36px;
    height: 36px;
    border-radius: 14px;
    display:grid;
    place-items:center;
    background: rgba(17,24,39,.08);
    border: 1px solid rgba(17,24,39,.14);
    transition: transform var(--dur-2) var(--ease);
}
.faq details[open] summary .chev{ transform: rotate(180deg); }

.faq .answer{
    padding: 0 16px 16px;
    color: var(--muted);
    line-height: 1.7;
    font-size: .96rem;
}

.faq .answer strong{
    color: rgba(11,18,32,.92);
}

.faq .answer em{
    font-style: italic;
    color: rgba(11,18,32,.76);
}

/* -----------------------------
   13) Footer
------------------------------ */
.footer{
    padding: 40px 0 calc(40px + var(--appnav-h));
    background:
        radial-gradient(900px 360px at 20% 0%, rgba(11,18,32,.06), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.20));
    border-top: 1px solid rgba(11,18,32,.08);
    color: rgba(11,18,32,.70);
}

.footer__grid{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
    align-items:start;
}

.footer__legal{
    font-size: .92rem;
    line-height: 1.6;
    color: rgba(11,18,32,.62);
}

.footer-links{
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.footer-links a{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(11,18,32,.74);
    padding: 8px 10px;
    border-radius: 14px;
    border: 1px solid rgba(11,18,32,.08);
    background: rgba(255,255,255,.52);
    transition: transform var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
}

.footer-links a:hover{
    transform: translateY(-2px);
    background: rgba(255,255,255,.70);
}

.footer__bottom{
    margin-top: 22px;
    padding-top: 14px;
    border-top: 1px solid rgba(11,18,32,.08);
}

.footer__bottom-inner{
    display:flex;
    gap: 10px;
    align-items:center;
    justify-content:space-between;
    flex-wrap: wrap;
    font-size: .88rem;
    color: rgba(11,18,32,.60);
}

.footer__dev a{
    color: rgba(11,18,32,.78);
    text-decoration: none;
    border-bottom: 1px dashed rgba(11,18,32,.28);
}

.footer__dev a:hover{
    border-bottom-color: rgba(11,18,32,.55);
}

/* -----------------------------
   14) Floating WhatsApp
------------------------------ */
.fab-wa{
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(var(--appnav-h) + 16px + env(safe-area-inset-bottom));
    z-index: 60;

    width: 54px;
    height: 54px;
    border-radius: 20px;
    border: 1px solid rgba(11,18,32,.10);
    background: rgba(255,255,255,.78);
    box-shadow: 0 18px 60px rgba(2,8,23,.14);
    display:grid;
    place-items:center;
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}
.fab-wa:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 70px rgba(2,8,23,.18);
}

.fab-wa:active { transform: translateY(0) scale(.98); }
.fab-wa:focus-visible { outline:none; box-shadow: var(--ring), 0 22px 70px rgba(2,8,23,.18); }

.fab-wa i, .fab-wa svg {
    color: #25d366; /* Cor verde do WhatsApp aplicada ao ícone */
    font-size: 20px;
}
/* -----------------------------
   15) App-like bottom navigation
------------------------------ */
.app-nav{
    position: fixed;
    left: 0; right: 0;
    bottom: 0;
    z-index: 55;

    height: calc(var(--appnav-h) + env(safe-area-inset-bottom));
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: rgba(246,247,249,.70);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-top: 1px solid rgba(11,18,32,.10);

    display: none;
}

.app-nav__inner{
    height: var(--appnav-h);
    border-radius: 22px;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 16px 60px rgba(2,8,23,.12);
    display:grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
}

.app-nav__item{
    position: relative;
    display:grid;
    place-items:center;
    gap: 4px;
    padding: 8px 6px;
    color: rgba(11,18,32,.60);
    transition: color var(--dur-2) var(--ease);
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.app-nav__icon{
    width: 40px;
    height: 36px;
    border-radius: 16px;
    display:grid;
    place-items:center;
    transition:
        background var(--dur-2) var(--ease),
        transform var(--dur-2) var(--ease);
}

.app-nav__item i, .app-nav__item svg{ font-size: 18px; }

.app-nav__label{
    font-size: .72rem;
    letter-spacing: .2px;
    line-height: 1;
}

.app-nav__item.is-active{
    color: rgba(11,18,32,.92);
}

.app-nav__item.is-active .app-nav__icon{
    background: rgba(17,24,39,.10);
    border: 1px solid rgba(17,24,39,.16);
    transform: translateY(-1px) scale(1.06);
    animation: appNavPop 360ms var(--ease) 1;
}

.app-nav__item.is-active::after{
    content:"";
    position:absolute;
    bottom: 6px;
    width: 44px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(17,24,39,.70), rgba(17,24,39,.22));
    opacity: .9;
}

@keyframes appNavPop{
    0%   { transform: translateY(0) scale(.96); }
    55%  { transform: translateY(-2px) scale(1.10); }
    100% { transform: translateY(-1px) scale(1.06); }
}

/* -----------------------------
   16) Reveal animations
------------------------------ */
.reveal{
    opacity: 0;
    transform: translateY(14px);
    filter: blur(6px);
    transition:
        opacity var(--dur-3) var(--ease),
        transform var(--dur-3) var(--ease),
        filter var(--dur-3) var(--ease);
    will-change: opacity, transform, filter;
}

.reveal.is-visible{
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

.reveal--left{ transform: translateX(-18px); }
.reveal--right{ transform: translateX(18px); }
.reveal--scale{ transform: scale(.985); }

.reveal--left.is-visible,
.reveal--right.is-visible{ transform: translateX(0); }
.reveal--scale.is-visible{ transform: scale(1); }

.stagger{ transition-delay: var(--d, 0ms); }

.glow-on{ position: relative; }
.glow-on.is-visible::after{
    content:"";
    position:absolute;
    inset: -12px;
    border-radius: inherit;
    background: radial-gradient(40% 30% at 30% 20%, rgba(17,24,39,.10), transparent 60%);
    opacity: .85;
    pointer-events:none;
    animation: glowPulse 1.4s var(--ease) 1;
}

@keyframes glowPulse{
    from{ opacity: 0; transform: scale(.98); }
    to  { opacity: .85; transform: scale(1); }
}

/* -----------------------------
   17) Responsive
------------------------------ */
@media (max-width: 1024px){
    .hero__grid{ grid-template-columns: 1fr; }
    .brand{ min-width: auto; }
    .footer__grid{ grid-template-columns: 1fr; }
    .t-grid{ grid-template-columns: 1fr; }

    .hero-photo__img{
        min-height: 460px;
    }
}

@media (max-width: 860px){
    :root{ --header-h: 68px; }

    .nav{ display:none; }
    .app-nav{ display:block; }

    .hero{ padding-top: 34px; }
    .grid-3{ grid-template-columns: 1fr; }
    .grid-2{ grid-template-columns: 1fr; }

    .btn-primary, .btn-ghost{
        width: 100%;
        justify-content: center;
    }

    .brand__subtitle{ display:none; }

    .hero-photo__img{
        min-height: 400px;
    }

    .hero-photo__caption{
        left: 14px;
        right: 14px;
        bottom: 14px;
        padding: 14px 16px;
    }
}

@media (max-width: 520px){
    :root{ --gutter: 14px; }

    .hero-card__body{ padding: 18px 16px 16px; }
    .card__pad{ padding: 16px; }
    .kicker{ font-size: .86rem; padding: 9px 12px; }
    .trust-pill{ width: 100%; justify-content: center; }

    .hero-photo__img{
        min-height: 320px;
    }

    .hero-photo__badge{
        left: 12px;
        top: 12px;
        right: 12px;
        padding: 8px 12px;
        font-size: .8rem;
    }

    .carousel--gallery .carousel__slide{
        aspect-ratio: 4 / 3;
    }

    .carousel--testimonials .carousel__slide{
        padding: 14px 56px 58px;
    }

    .carousel--testimonials .carousel__btn{
        width: 40px;
        height: 40px;
        border-radius: 14px;
    }
}

/* -----------------------------
   18) Fine tuning
------------------------------ */
button, a{ touch-action: manipulation; }

/* -----------------------------
   19) Helpers prontos para o HTML novo
------------------------------ */
.hide-desktop{ display: none !important; }
.hide-mobile{ display: block !important; }

.hero-remove-trust .hero__trust{
    display: none !important;
}

.hero-photo-only .metric,
.hero-photo-only .badge-soft,
.hero-photo-only .metric__top,
.hero-photo-only .metric__hint,
.hero-photo-only .metric__value{
    display: none !important;
}

.process-note{
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    background: var(--accent-soft);
    border: 1px solid var(--accent-soft-2);
    color: rgba(11,18,32,.78);
    line-height: 1.6;
    font-size: .94rem;
}

.italic-emphasis{
    display: inline;
    font-style: italic;
    color: rgba(11,18,32,.76);
}