/* ═══════════════════════════════════════════════════════════════
   EQUIPE NADA+ — Landing v3 · Ocean Dark · Mobile-First
   Design System: UI/UX Pro Max (Hero-Centric + Soft UI Evolution)
   Tokens auditados para WCAG AA. Animações com reduced-motion.
   v9 — 2026-05-29
   ═══════════════════════════════════════════════════════════════ */
:root{
    /* ── Paleta Oceano Profundo ── */
    --bg:   #030c18; --bg2:  #061525; --bg3:  #0a1e35;
    --card: #0d2040; --card2:#112548;
    --bor:  rgba(255,255,255,.07);
    --bor-a:rgba(33,150,243,.24);
    --blue: #2196f3; --blue-l:#64b5f6;
    --teal: #0dcfb0; --green: #22c55e;
    --coral:#FF6B6B; --gold: #F59E0B;
    /* ── Texto — contrastes WCAG ── */
    --t1:#f0f6ff; /* 15:1 sobre --bg ✅ AAA */
    --t2:#8fafc8; /* 5.5:1 sobre --bg ✅ AA  */
    --t3:#3d566e; /* apenas ícones/labels   */
    /* ── Gradientes ── */
    --gc:  linear-gradient(135deg,#1565c0 0%,#0097c4 55%,#0dcfb0 100%);
    --gt:  linear-gradient(135deg,#2196f3 0%,#0dcfb0 100%);
    --gcard:linear-gradient(160deg,#0d2040 0%,#112548 100%);
    /* ── Sombras ── */
    --sh-b:0 8px 32px rgba(33,150,243,.32);
    --sh-card:0 4px 16px rgba(0,0,0,.25);
    /* ── Radii ── */
    --r:16px; --rsm:10px; --rlg:24px;
    /* ── Navegação ── */
    --nav-h:60px;
    --safe-top:  env(safe-area-inset-top, 0px);
    --nav-total: calc(var(--nav-h) + env(safe-area-inset-top, 0px));
    /* ── Font stack ── */
    --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
/* ═══ RESET & BASE ═══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
    scroll-behavior:smooth;
    scroll-padding-top:var(--nav-total);
    scroll-padding-bottom:80px;
    overflow-x:hidden;width:100%;
    /* ── UX #1: Smooth scroll + UX #9: Reduced motion ── */
    text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}
/* ── UX #72: Line height para legibilidade ── */
body{
    background:var(--bg); color:var(--t1);
    font-family:var(--font-sans);
    line-height:1.6; -webkit-font-smoothing:antialiased;
    overflow-x:hidden; width:100%; position:relative;
    /* UX #67: Mínimo 16px body text */
    font-size:16px;
}
/* ── UX #38: Skip-to-content (teclado) ── */
.skip-to-content{
    position:absolute;top:-100%;left:16px;
    background:var(--blue);color:#fff;padding:12px 20px;
    border-radius:0 0 8px 8px;z-index:9999;
    font-weight:700;font-size:14px;text-decoration:none;
    transition:top .2s;
}
.skip-to-content:focus{top:0}
/* ── Seleção de texto ── */
::selection{background:rgba(33,150,243,.35);color:#fff}
/* ── UX #28: Focus visible global ── */
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
/* ── UX #46: Lazy loading placeholder ── */
img[loading=lazy]{background:var(--bg2)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
/* ── UX #22: Touch target mínimo 44px ── */
button,a:not(.nav-link):not(.skip-to-content),input[type=submit],.btn-ghost,.btn-plan{
    min-height:44px;min-width:44px;
}

/* Wrapper */
.c{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}
@media(max-width:480px){.c{padding:0 16px}}

/* Utilitários */
.tg{background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sec-lbl{
    display:inline-flex;align-items:center;gap:8px;
    font-size:11px;font-weight:700;letter-spacing:.13em;
    text-transform:uppercase;color:var(--teal);margin-bottom:10px;
}
.sec-lbl::before{content:'';width:22px;height:2px;background:var(--gt);border-radius:2px;flex-shrink:0}

/* Scroll animations */
.fi{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fi.vis{opacity:1;transform:none}
.fi.d1{transition-delay:.07s}.fi.d2{transition-delay:.14s}.fi.d3{transition-delay:.21s}
.fi.d4{transition-delay:.28s}.fi.d5{transition-delay:.35s}.fi.d6{transition-delay:.42s}
@media(prefers-reduced-motion:reduce){.fi{opacity:1;transform:none;transition:none}}

/* ═══ NAV ═══════════════════════════════════════════════════ */
#nav{
    position:fixed;top:0;left:0;right:0;z-index:1100;
    /* Altura total = altura base + safe-area do topo (Dynamic Island / notch iOS) */
    height:var(--nav-total);
    padding-top:var(--safe-top);
    display:flex;align-items:center;
    transition:background .3s,backdrop-filter .3s,box-shadow .3s;
}
#nav.scrolled{
    background:rgba(3,12,24,.93);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    box-shadow:0 1px 0 var(--bor);
}
.nav-in{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    width:100%;max-width:1100px;margin:0 auto;padding:0 20px;flex-wrap:nowrap;
}
@media(max-width:480px){.nav-in{padding:0 16px}}
.nav-logo{
    font-size:16px;font-weight:900;color:var(--t1);
    letter-spacing:-.02em;display:flex;align-items:center;gap:7px;
    flex-shrink:0;
}
.nav-logo-icon{font-size:20px;line-height:1}
.nav-logo-img{height:30px;width:30px;border-radius:50%;object-fit:cover;display:block;background:var(--card)}
.nav-right { display:flex; align-items:center; gap:20px; margin-left:auto; flex-wrap:nowrap; flex-shrink:0; }
.nav-links { display:flex; align-items:center; gap:4px; flex-wrap:nowrap; }
.header-actions { display:flex; align-items:center; gap:12px; }
.hamburger-menu {
    background:transparent; border:none; font-size:24px;
    color:var(--t1); cursor:pointer; display:none; padding:6px; line-height:1;
    border-radius:8px; transition:background .15s, transform .2s;
    align-items:center; justify-content:center;
    min-width:44px; min-height:44px;
}
.hamburger-menu:hover { background:rgba(255,255,255,.07); }
.mobile-menu-header,
.mobile-menu-close,
.mobile-menu-context,
.nav-menu-footer { display:none; }
.mobile-menu-scroll { display:contents; }
.mobile-menu-section-list { display:flex; align-items:center; gap:4px; flex-wrap:nowrap; }
@media (max-width:900px) {
    .hamburger-menu {
        background:rgba(255,255,255,.07)!important;
        color:var(--t1)!important;
        box-shadow:0 2px 8px rgba(33,150,243,.08);
    }
    .hamburger-menu i {
        color:var(--t1)!important;
        opacity:1!important;
        transition:color .18s;
    }
}
.hamburger-menu:active { transform:scale(0.90); }
@media(max-width:900px){
    .nav-overlay {
        position:fixed;inset:0;background:rgba(0,0,0,0.68);
        z-index:1090;opacity:0;pointer-events:none;
        transition:opacity 0.26s cubic-bezier(0.4, 0, 0.2, 1);
        backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    }
    .nav-overlay.open { opacity:1;pointer-events:all; }
    .nav-links{
        display:flex; position:fixed; inset:0 auto 0 0; width:min(92vw,360px); max-width:360px; height:100vh; height:100dvh;
        background:linear-gradient(180deg,rgba(6,21,37,.985) 0%,rgba(3,12,24,.965) 100%);
        backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);
        border-right:1px solid rgba(33,150,243,.12);
        padding:0;
        flex-direction:column; align-items:stretch; gap:0;
        transform:translateX(-104%);
        transition:transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
        z-index:1101;
        overflow:hidden;
        overscroll-behavior:contain;
        box-shadow:24px 0 100px rgba(0,0,0,.9),4px 0 24px rgba(13,207,176,.08);
        will-change:transform;
    }
    .nav-links.open { transform:translateX(0); }
    /* Animação escalonada de entrada dos itens */
    .nav-links.open a.nav-link {
        opacity:0;
        animation:navItemIn .26s ease forwards;
    }
    .nav-links.open a.nav-link:nth-of-type(1) { animation-delay:.04s }
    .nav-links.open a.nav-link:nth-of-type(2) { animation-delay:.08s }
    .nav-links.open a.nav-link:nth-of-type(3) { animation-delay:.12s }
    .nav-links.open a.nav-link:nth-of-type(4) { animation-delay:.16s }
    .nav-links.open a.nav-link:nth-of-type(5) { animation-delay:.20s }
    .nav-links.open a.nav-link:nth-of-type(6) { animation-delay:.24s }
    .nav-links.open a.nav-link:nth-of-type(7) { animation-delay:.28s }
    .nav-links.open a.nav-link:nth-of-type(8) { animation-delay:.32s }
    .nav-links.open a.nav-link:nth-of-type(9) { animation-delay:.36s }
    @keyframes navItemIn {
        from { opacity:0; transform:translateX(-18px); }
        to   { opacity:1; transform:translateX(0); }
    }
    .mobile-menu-header {
        display: flex; align-items: center;
        font-size: 16px; font-weight: 900; color: var(--t1);
        padding:20px 64px 16px 18px;
        min-height:72px;
        width: 100%; letter-spacing: -.01em; gap: 10px;
        border-bottom:1px solid rgba(255,255,255,.08);
        box-shadow:0 1px 0 rgba(13,207,176,.08);
    }
    .mobile-menu-header .nav-logo-icon { font-size: 24px; line-height:1; filter:drop-shadow(0 0 14px rgba(33,150,243,.5)); }
    .mobile-menu-header .nav-logo-img{ height:32px;width:32px;border-radius:50%;object-fit:cover;flex-shrink:0 }
    .mobile-menu-close {
        display:flex;align-items:center;justify-content:center;
        position:absolute;top:13px;right:13px;
        width:46px;height:46px;border-radius:12px;
        border:1px solid rgba(255,255,255,.10);
        background:rgba(255,255,255,.06);
        color:var(--t1);font-size:18px;cursor:pointer;
        transition:background .18s,border-color .18s,transform .18s;
    }
    .mobile-menu-close:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.18)}
    .mobile-menu-close:active{transform:scale(.94)}
    .mobile-menu-scroll{
        display:block;flex:1 1 auto;min-height:0;width:100%;
        overflow-y:auto;overscroll-behavior:contain;
        padding:16px 14px 14px;
    }
    .mobile-menu-context{
        display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
        padding:5px 4px 12px;margin-bottom:12px;
        border-bottom:1px solid rgba(255,255,255,.08);
    }
    .mobile-menu-context-kicker{
        font-size:10px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;
        color:rgba(143,175,200,.74);white-space:nowrap;
    }
    .mobile-menu-context strong{
        font-size:14px;line-height:1.2;color:#e8fffb;font-weight:850;text-align:right;
    }
    .mobile-menu-section-list{
        display:flex;flex-direction:column;gap:8px;width:100%;
    }
    .nav-links .nav-link { 
        display:flex;align-items:center;
        width:100%; min-height:52px; padding:13px 13px; font-size:16px; font-weight:750; color:var(--t2);
        background:rgba(255,255,255,.032); border-radius:13px; border:1px solid transparent; 
        transition:color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
        position:relative; overflow:hidden;
    }
    .nav-links .nav-link::before {
        content:''; position:absolute; top:8px; left:0; bottom:8px; width:3px;
        background:var(--gt); opacity:0; transition:opacity .2s ease; border-radius:0 3px 3px 0;
    }
    .nav-links .nav-link:hover { color:var(--t1); background:rgba(33,150,243,.06); border-color:rgba(33,150,243,.12); transform:translateX(3px); }
    .nav-links .nav-link:hover::before { opacity:1; }
    .nav-links .nav-link.nav-link-current,
    .nav-links .nav-link[aria-current="location"] {
        color:var(--t1);
        background:linear-gradient(135deg,rgba(33,150,243,.12),rgba(13,207,176,.08));
        border-color:rgba(13,207,176,.24);
        box-shadow:0 6px 18px rgba(0,0,0,.18);
    }
    .nav-links .nav-link.nav-link-current::before,
    .nav-links .nav-link[aria-current="location"]::before { opacity:1; }
    .nav-links .nav-link.nav-link-current i,
    .nav-links .nav-link[aria-current="location"] i { opacity:1;color:#fff; }
    .nav-links .nav-link:active { transform:scale(0.98) translateX(0); background:rgba(33,150,243,.1); }
    .nav-links .nav-link i { width:25px;font-size:20px; color:var(--teal); margin-right:11px; vertical-align:-2px; opacity:0.9; transition:transform .2s, opacity .2s, color .2s; }
    .nav-links .nav-link:hover i { transform:scale(1.12); opacity:1; color:#fff; }
    /* ── hamburger ── */
    .hamburger-menu { display:flex; position:relative; }
    body.menu-open .hamburger-menu {
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:scale(.92);
    }
    .nav-cta { display:none; }
    .nav-cta-mobile { display:none; }
    .nav-links { flex-wrap:nowrap; }
}
.nav-link{
    color:var(--t2);font-size:13px;font-weight:500;
    padding:6px 10px;border-radius:8px;
    transition:color .15s,background .15s;
}
.nav-link:hover{color:var(--t1);background:rgba(255,255,255,.06)}
.nav-link i{font-size:11px;opacity:.65;vertical-align:-1px;margin-right:3px}
@media (min-width: 901px) {
    .mobile-menu-header,
    .mobile-menu-close,
    .mobile-menu-context { display: none; }
    .mobile-menu-scroll { display: contents; }
    .mobile-menu-section-list { display:flex; align-items:center; gap:4px; flex-wrap:nowrap; }
    .nav-menu-footer { display: none; }
    .nav-link[aria-current="location"] {
        color:var(--t1);
        background:rgba(255,255,255,.07);
    }
}
/* ═══ MOBILE MENU EXTRAS ════════════════════════════════════ */
@media(max-width:900px){
    .nav-menu-footer{
        display:block;margin-top:auto;width:100%;flex-shrink:0;
        padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px));
        border-top:1px solid rgba(255,255,255,.08);
        background:linear-gradient(180deg,rgba(3,12,24,.78),rgba(3,12,24,.98));
        box-shadow:0 -16px 34px rgba(0,0,0,.30);
    }
    .nav-ag-strip{
        display:flex;align-items:center;gap:12px;
        min-height:46px;padding:0 14px;border-radius:12px;
        border:1px solid rgba(255,255,255,.09);
        font-size:14px;font-weight:760;color:#dffcff;
        transition:background .25s,border-color .25s,transform .2s,box-shadow .25s;
        width:100%;
        -webkit-tap-highlight-color:transparent;
    }
    .nav-ag-strip:hover{color:#fff;transform:translateY(-1px)}
    .nav-ag-strip:active{transform:scale(.98)}
    .nav-ag-strip i{font-size:18px;line-height:1;flex-shrink:0}
    .nav-menu-primary{
        min-height:54px;height:54px;justify-content:center;
        background:linear-gradient(135deg,rgba(33,150,243,.92),rgba(13,207,176,.82));
        border-color:rgba(255,255,255,.18);
        color:#fff;font-size:15px;font-weight:850;
        box-shadow:0 12px 34px rgba(13,207,176,.18),0 2px 10px rgba(33,150,243,.16);
    }
    .nav-menu-primary i{font-size:20px;filter:drop-shadow(0 0 7px rgba(255,255,255,.24))}
    .nav-menu-primary:hover{box-shadow:0 14px 38px rgba(13,207,176,.24),0 2px 12px rgba(33,150,243,.18)}
    .nav-menu-secondary-grid{
        display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
        margin-top:9px;
    }
    .nav-menu-secondary{
        justify-content:flex-start;gap:9px;
        background:rgba(255,255,255,.045);
        color:rgba(240,246,255,.88);
    }
    .nav-menu-secondary:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.14)}
    .nav-menu-secondary-avulso i{color:#fbbf24}
    .nav-menu-secondary-agenda i{color:#93c5fd}
    .nav-menu-secondary-cadastro i{color:#f9a8d4}
    .nav-menu-secondary-turista i{color:#6ee7b7}

}
/* Acessibilidade: focus-visible herdado do reset global no topo */


/* ═══ HERO ═══════════════════════════════════════════════════ */
#hero{
    position:relative;overflow:hidden;
    min-height:100svh;display:flex;align-items:center;justify-content:center;
    text-align:center;padding:calc(var(--nav-total) + 28px) 20px calc(80px + env(safe-area-inset-bottom, 0px));
    background:linear-gradient(160deg,#030c18 0%,#061525 50%,#091d38 100%);
}
/* Dot grid */
#hero::before{
    content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
    background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);
    background-size:40px 40px;
}
/* Overlay duplo: horizontal (legibilidade) + vertical (topo/base) */
#hero.has-banner::after{
    content:'';position:absolute;inset:0;pointer-events:none;z-index:2;
    background:
        linear-gradient(to right,
            rgba(3,12,24,.48) 0%,
            rgba(3,12,24,.28) 50%,
            rgba(3,12,24,.38) 100%
        ),
        linear-gradient(to bottom,
            rgba(3,12,24,.18) 0%,
            transparent 20%,
            transparent 78%,
            rgba(3,12,24,.28) 100%
        );
}
#hero.has-banner .orb{opacity:.25}
#hero.has-banner .hero-c{z-index:3}
/* ── Hero carrossel ── */
.hero-carousel{position:absolute;inset:0;z-index:0}
.hc-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}
.hc-slide.active{opacity:1}
/* ── Hero YouTube ── */
.hero-yt-wrap{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-yt-wrap iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:177.78vh;height:100vh;min-width:100%;min-height:56.25vw;border:0;pointer-events:none}
.hero-yt-overlay{position:absolute;inset:0;
    background:linear-gradient(to right,rgba(3,12,24,.68) 0%,rgba(3,12,24,.32) 50%,rgba(3,12,24,.42) 100%),
               linear-gradient(to bottom,rgba(3,12,24,.32) 0%,transparent 22%,transparent 70%,rgba(3,12,24,.42) 100%)}
/* Orbs */
.orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
.o1{width:70vmax;height:70vmax;top:-25vmax;left:-20vmax;
    background:radial-gradient(circle,rgba(33,150,243,.16) 0%,transparent 65%);
    animation:orbF 16s ease-in-out infinite}
.o2{width:55vmax;height:55vmax;bottom:-18vmax;right:-15vmax;
    background:radial-gradient(circle,rgba(13,207,176,.12) 0%,transparent 65%);
    animation:orbF 20s ease-in-out infinite reverse;animation-delay:-8s}
.o3{width:40vmax;height:40vmax;top:35%;left:50%;
    background:radial-gradient(circle,rgba(21,101,192,.11) 0%,transparent 65%);
    animation:orbF 13s ease-in-out infinite;animation-delay:-4s}
@keyframes orbF{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(30px,-24px) scale(1.07)}
    66%{transform:translate(-20px,20px) scale(.94)}
}
.hero-c{position:relative;z-index:2;max-width:480px;width:100%}
/* Mobile: colunas empilhadas */
.hero-col-left,.hero-col-right{width:100%}

/* ═══ H1 com spans (sem <br> forçados) ═══ */
.hero-h1{
    font-size:clamp(40px,10.5vw,56px);font-weight:800;
    line-height:1.08;letter-spacing:-.035em;color:var(--t1);
    margin-bottom:14px;
    text-shadow:0 2px 20px rgba(3,12,24,.5);
    display:flex;flex-direction:column;gap:3px;
}
.hero-h1 .h1-line{display:block}
/* Destaque gradiente com glow — domina a hierarquia */
.hero-h1 .hl{
    background:var(--gt);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-clip:text;
    filter:drop-shadow(0 0 18px rgba(13,207,176,.35));
}

/* ═══ Tablet: hero-c mais largo ═══ */
@media(min-width:600px){
    .hero-c{max-width:560px}
}

/* ═══ Desktop 2 colunas a partir de 900px ═══ */
@media(min-width:900px){
    #hero{
        text-align:left;
        min-height:100svh;
        padding:calc(var(--nav-total) + 64px) 5vw calc(80px + 60px);
    }
    .hero-c{
        display:grid;
        grid-template-columns:1fr minmax(320px,400px);
        gap:clamp(32px,5vw,72px);
        align-items:center;
        max-width:1100px;
    }
    .hero-col-left{
        display:flex;flex-direction:column;
        align-items:flex-start;justify-content:center;
    }
    .hero-h1{
        font-size:clamp(40px,4.5vw,64px);
        line-height:1.08;
    }
    .hero-sub{margin-left:0;margin-right:0;max-width:420px}
    .hero-trust{justify-content:flex-start}
    .hero-form-wrap{margin-top:0;max-width:none;margin-left:0;margin-right:0}
}

/* ═══ Tablet intermediário (600-899px): centralizado, mais espaçoso ═══ */
@media(min-width:600px) and (max-width:899px){
    #hero{padding:calc(var(--nav-total) + 48px) 32px calc(100px + env(safe-area-inset-bottom, 0px))}
    .hero-h1{font-size:clamp(40px,7vw,60px)}
    .hero-sub{max-width:480px;margin-left:auto;margin-right:auto}
    .hero-trust{justify-content:center}
}

.hero-badge{
    display:inline-flex;align-items:center;gap:5px;
    background:rgba(33,150,243,.08);border:1px solid rgba(33,150,243,.18);
    color:var(--blue-l);font-size:12px;font-weight:600;
    padding:5px 12px;border-radius:50px;margin-bottom:20px;letter-spacing:.04em;
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    text-shadow:none;text-decoration:none;
    transition:background .18s,border-color .18s;
}
.hero-badge:hover{
    background:rgba(33,150,243,.16);border-color:rgba(33,150,243,.35);
}

/* H1 herdado (fallback para páginas sem .h1-line) */
@media(min-width:900px){.hero-h1{font-size:clamp(40px,4.5vw,64px)}}
.hero-sub{
    font-size:clamp(15px,2.5vw,18px);color:rgba(240,246,255,.88);
    max-width:520px;margin:0 auto 20px;line-height:1.75;
    text-shadow:0 1px 8px rgba(3,12,24,.6);
    overflow-wrap:anywhere;word-break:break-word;
}
@keyframes pulseGlow{
    0%,100%{filter:drop-shadow(0 0 14px rgba(33,150,243,.22))}
    50%{filter:drop-shadow(0 0 26px rgba(13,207,176,.38))}
}

/* Trust pills — flex inline no mobile (não compete com H1) */
.hero-trust{
    display:flex;flex-wrap:wrap;
    align-items:center;justify-content:center;gap:6px;
}
/* Mobile muito estreito: 2 colunas para não quebrar palavra */
@media(max-width:380px){
    .hero-trust{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:6px;
    }
    .hero-trust .tpill:last-child:nth-child(odd){
        grid-column:1 / -1;
    }
}
.tpill{
    display:inline-flex;align-items:center;justify-content:center;gap:5px;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
    padding:7px 12px;border-radius:50px;font-size:12px;font-weight:500;
    color:rgba(240,246,255,.78);
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    text-shadow:0 1px 4px rgba(3,12,24,.4);
    white-space:nowrap;
}
.tpill i{color:var(--teal);font-size:11px;flex-shrink:0;opacity:.8}
/* Desktop: alinhado à esquerda */
@media(min-width:900px){
    .hero-trust{justify-content:flex-start}
}

/* Wave bottom */
.hero-wave{position:absolute;bottom:-2px;left:0;right:0;line-height:0;z-index:3;pointer-events:none}
.hero-wave svg{display:block;width:100%;height:60px}

/* ── Scroll indicator (seta pulsante) ── */
.hero-scroll-indicator{
    position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
    z-index:4;color:rgba(255,255,255,.5);
    font-size:22px;animation:scrollBounce 2s ease-in-out infinite;
    pointer-events:none;
}
@keyframes scrollBounce{
    0%,100%{transform:translateX(-50%) translateY(0);opacity:.4}
    50%{transform:translateX(-50%) translateY(8px);opacity:.9}
}

/* ═══ STATS ══════════════════════════════════════════════════ */
#stats{background:var(--bg2);padding:52px 0;border-bottom:1px solid var(--bor)}
.stats-g{
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:1px;background:var(--bor);border-radius:var(--r);overflow:hidden;
}
@media(max-width:560px){.stats-g{grid-template-columns:repeat(2,1fr)}}
.stat-i{background:var(--bg2);padding:28px 16px;text-align:center}
.stat-n{
    display:block;font-size:clamp(32px,6vw,52px);font-weight:900;
    letter-spacing:-.04em;line-height:1;margin-bottom:7px;
    background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stat-l{font-size:13px;color:var(--t2);font-weight:500}

/* ═══ SECTION BASE ═══════════════════════════════════════════ */
.sec{padding:80px 0}
.sec-alt{background:var(--bg2)}
@media(max-width:600px){.sec{padding:60px 0}}

.sec-hdr{margin-bottom:48px}
.sec-hdr.center{text-align:center}
.sec-hdr.center .sec-lbl{justify-content:center}
.sec-title{
    font-size:clamp(24px,4.5vw,40px);font-weight:800;
    letter-spacing:-.03em;color:var(--t1);line-height:1.15;margin-bottom:12px;
}
.sec-desc{font-size:15px;color:var(--t2);line-height:1.8;max-width:540px}
.sec-hdr.center .sec-desc{margin:0 auto}

/* Quebra de linha forçada apenas no mobile (ex.: títulos com duas frases) */
.br-mobile{display:inline}
@media(max-width:600px){.br-mobile{display:block}}

/* ═══ DIFERENCIAIS ══════════════════════════════════════════ */
.feat-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.feat-g{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.feat-g{grid-template-columns:1fr;gap:12px}}
.feat-card{
    background:var(--gcard);border:1px solid var(--bor);
    border-radius:var(--r);padding:26px 22px;
    transition:border-color .3s,transform .3s;cursor:default;
}
@media(max-width:400px){.feat-card{padding:20px 18px}}
.feat-card:hover{border-color:var(--bor-a);transform:translateY(-4px)}
.feat-ico{
    width:50px;height:50px;border-radius:13px;
    display:flex;align-items:center;justify-content:center;
    font-size:21px;margin-bottom:14px;
}
.ib{background:rgba(33,150,243,.13);color:#64b5f6}
.it{background:rgba(13,207,176,.11);color:var(--teal)}
.ig2{background:rgba(34,197,94,.11);color:#4ade80}
.io{background:rgba(245,158,11,.11);color:#fbbf24}
.ip{background:rgba(139,92,246,.11);color:#a78bfa}
.is{background:rgba(14,165,233,.11);color:#7dd3fc}
.feat-t{font-size:16px;font-weight:700;color:var(--t1);margin-bottom:7px}
.feat-d{font-size:13px;color:var(--t2);line-height:1.65}

/* ═══ COMO FUNCIONA ══════════════════════════════════════════ */
.steps-g{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:0;position:relative;
}
.steps-g::before{
    content:'';position:absolute;
    top:27px;left:calc(16.67% + 28px);right:calc(16.67% + 28px);
    height:2px;background:linear-gradient(90deg,var(--blue),var(--teal));opacity:.18;
}
@media(max-width:620px){.steps-g{grid-template-columns:1fr;gap:32px}.steps-g::before{display:none}}
.step-i{text-align:center;padding:0 18px}
@media(max-width:620px){.step-i{padding:0;display:flex;align-items:flex-start;gap:20px;text-align:left}}
.step-num{
    width:54px;height:54px;border-radius:50%;
    background:var(--gc);display:flex;align-items:center;justify-content:center;
    font-size:20px;font-weight:900;color:#fff;
    margin:0 auto 18px;box-shadow:var(--sh-b);position:relative;z-index:1;flex-shrink:0;
}
@media(max-width:620px){.step-num{margin:2px 0 0}}
.step-body{}
.step-t{font-size:16px;font-weight:700;color:var(--t1);margin-bottom:7px}
.step-d{font-size:14px;color:var(--t2);line-height:1.65}

/* ═══ INSTRUTOR ══════════════════════════════════════════════ */
.inst-wrap{
    display:flex;align-items:center;gap:clamp(28px,5vw,64px);
    flex-wrap:wrap;
}
@media(max-width:680px){.inst-wrap{flex-direction:column;align-items:center;text-align:center}}
.inst-photo-ring{
    padding:4px;border-radius:50%;
    background:linear-gradient(135deg,var(--blue) 0%,var(--teal) 100%);
    box-shadow:0 0 56px rgba(33,150,243,.28);
    flex-shrink:0;
}
.inst-photo{
    width:clamp(180px,28vw,280px);height:clamp(180px,28vw,280px);
    border-radius:50%;overflow:hidden;
    border:4px solid var(--bg2);
    background:var(--bg2);
}
.inst-photo img{width:100%;height:100%;object-fit:cover;display:block}
.inst-text{flex:1;min-width:240px}
.inst-nome{
    font-size:clamp(26px,5vw,40px);font-weight:900;
    color:var(--t1);letter-spacing:-.03em;margin:8px 0 6px;
}
.inst-titulo{
    font-size:13px;font-weight:600;color:var(--teal);
    letter-spacing:.04em;margin-bottom:16px;
}
.inst-bio{font-size:15px;color:var(--t2);line-height:1.7;margin-bottom:20px}
.inst-photo-col{flex-shrink:0}
.inst-photo-av{
    display:flex;align-items:center;justify-content:center;
    background:var(--gc);
}
.inst-photo-init{
    font-size:clamp(60px,14vw,100px);font-weight:900;
    color:#fff;line-height:1;user-select:none;
    text-shadow:0 2px 16px rgba(0,0,0,.3);
}
.inst-ig{
    display:inline-flex;align-items:center;gap:7px;
    color:var(--blue-l);font-size:14px;font-weight:600;
    border:1px solid rgba(100,181,246,.3);border-radius:50px;
    padding:7px 16px;transition:all .2s;
}
.inst-ig:hover{background:rgba(100,181,246,.1);color:var(--t1)}

/* ═══ TREINOS ════════════════════════════════════════════════ */
.turmas-g{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}
/* Força 1 coluna no mobile (evita layout 2+1 quebrado com 3 cards);
   a partir de 560px cabem 2 colunas confortáveis e aos 860px 3 colunas */
@media(min-width:560px){
    .turmas-g{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media(min-width:860px){
    .turmas-g{grid-template-columns:repeat(3,1fr);gap:18px}
}

.turma-card{
    background:var(--gcard);
    border:1px solid var(--bor);
    border-radius:var(--r);
    padding:22px 20px 16px;
    position:relative;overflow:hidden;
    transition:border-color .25s,transform .2s,box-shadow .25s;
    cursor:pointer;
    display:flex;flex-direction:column;
}
/* Barra de acento no topo do card — gradiente azul→teal */
.turma-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--gt);
    opacity:.85;
}
/* Efeito hover: borda azul, leve elevação e glow sutil */
.turma-card:hover{
    border-color:var(--bor-a);
    transform:translateY(-3px);
    box-shadow:0 12px 32px rgba(33,150,243,.08);
}
.turma-card:hover::before{opacity:1}
.turma-card.selecionada{
    border-color:var(--blue);
    box-shadow:0 0 0 2px rgba(33,150,243,.22),0 8px 24px rgba(33,150,243,.1);
}
.turma-card-disabled{
    opacity:.62;
    cursor:not-allowed;
}
.turma-card-disabled:hover{
    border-color:var(--bor);
    transform:none;
    box-shadow:none;
}
.turma-card-disabled .turma-cta{
    color:#f87171;
}
.turma-card-disabled .turma-cta i{
    color:#f87171;
}

/* ── Topo: nome da turma + badge de vagas ── */
.turma-top{
    display:flex;align-items:center;justify-content:space-between;
    gap:8px;margin-bottom:12px;flex-wrap:wrap;
}
.turma-nm{
    font-size:11px;font-weight:700;text-transform:uppercase;
    letter-spacing:.09em;color:var(--teal);
    margin-bottom:0;
}
.turma-vagas{
    display:inline-flex;align-items:center;gap:4px;
    font-size:10px;font-weight:700;padding:3px 9px;
    border-radius:50px;white-space:nowrap;line-height:1.3;
}
.vagas-ok   {background:rgba(34,197,94,.1);color:#4ade80;border:1px solid rgba(34,197,94,.18)}
.vagas-warn {background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.22)}
.vagas-full {background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.18)}

/* ── Dias da semana ── */
.turma-days{
    font-size:16px;font-weight:700;color:var(--t1);
    margin-bottom:4px;letter-spacing:-.01em;
}

/* ── Horário grande (elemento de destaque) ── */
.turma-hora{
    font-size:clamp(28px,8vw,36px);font-weight:900;
    line-height:1;letter-spacing:-.04em;
    margin-bottom:4px;
    background:var(--gt);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-clip:text;
}

/* ── Nota extra (ex.: praias variadas) ── */
.turma-nota{
    font-size:12px;color:var(--t3);font-style:italic;
    margin-bottom:10px;line-height:1.5;
}

/* ── Micro-CTA: "Selecionar turma →" ── */
.turma-cta{
    display:flex;align-items:center;gap:6px;
    margin-top:auto;padding-top:10px;
    font-size:12px;font-weight:600;color:var(--t3);
    border-top:1px solid rgba(255,255,255,.04);
    transition:color .2s,gap .2s;
}
.turma-card:hover .turma-cta{color:var(--blue-l);gap:10px}
.turma-card:hover .turma-cta i{color:var(--blue)}
.turma-cta i{font-size:12px;transition:transform .2s,color .2s;color:var(--t3)}
.turma-card:hover .turma-cta i{transform:translateX(2px)}

/* ═══ SCHEDULE INFO BAR ══════════════════════════════════════ */
/* Container leve — no mobile some o fundo e borda, virando só um grupo de texto */
.sched-info-bar{
    display:flex;flex-wrap:wrap;align-items:center;gap:20px;
    margin-top:24px;
    padding:0;
    background:none;
    border:none;
    border-radius:0;
}
.sched-pills{
    display:flex;flex-wrap:wrap;align-items:center;gap:10px;
    flex:1;min-width:0;
}
/* Pills desktop: visual de badge */
.sched-pill{
    display:inline-flex;align-items:center;gap:6px;
    background:rgba(255,255,255,.04);border:1px solid var(--bor);
    border-radius:50px;padding:6px 13px;font-size:12px;color:var(--t2);
    white-space:nowrap;transition:background .15s,border-color .15s;
}
.sched-pill i{color:var(--blue);font-size:12px;flex-shrink:0}
.sched-pill-local{
    background:rgba(33,150,243,.14);border-color:rgba(33,150,243,.32);
    color:var(--blue-l);text-decoration:none;
    transition:background .18s,border-color .18s;
}
.sched-pill-local:hover{background:rgba(33,150,243,.24);border-color:rgba(33,150,243,.55)}

/* ── Mobile ≤ 560px: pills viram ícone+texto clean, sem caixa ── */
@media(max-width:560px){
    .sched-info-bar{flex-direction:column;align-items:flex-start;gap:10px}
    .sched-pills{flex-direction:column;align-items:flex-start;gap:8px;width:100%}
    .sched-pill,
    .sched-pill.sched-pill-local{
        background:none;border:none;border-radius:0;
        padding:0;font-size:12.5px;color:var(--t2);gap:8px;
        white-space:normal;
    }
    .sched-pill i{font-size:13px;color:var(--t3);width:16px;text-align:center}
    .sched-pill-local{color:var(--blue-l);font-weight:500}
    .sched-pill-local i{color:var(--blue)}
    /* Ícone de local com cor de destaque */
    .sched-pill-local:hover{background:none;border-color:none}
}

/* ═══ PLANO / COMPARAÇÃO DE PREÇOS ═══════════════════════════ */
.plan-wrap{max-width:980px;margin:0 auto}
.price-compare-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    align-items:stretch;
}
@media(min-width:768px){
    .price-compare-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:22px;
    }
}
@media(min-width:1040px){
    .price-compare-grid{gap:28px}
}
.plan-card{
    background:var(--gcard);
    border:2px solid rgba(33,150,243,.26);
    border-radius:var(--rlg);padding:38px 32px;
    position:relative;overflow:hidden;
    box-shadow:0 0 0 1px rgba(33,150,243,.07),0 24px 64px rgba(0,0,0,.48);
}
.price-compare-grid .plan-card,
.price-compare-grid .avulso-card{
    display:flex;
    flex-direction:column;
    height:100%;
}
@media(max-width:480px){.plan-card{padding:28px 20px}}
@media(max-width:360px){.plan-card{padding:24px 16px}}
.plan-card::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at top center,rgba(33,150,243,.07) 0%,transparent 60%);
    pointer-events:none;
}
.plan-pill{
    display:inline-flex;align-items:center;gap:6px;
    background:rgba(33,150,243,.12);border:1px solid rgba(33,150,243,.3);
    color:#64b5f6;font-size:11px;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;padding:5px 14px;border-radius:50px;margin-bottom:14px;
}
.plan-name{font-size:26px;font-weight:800;color:var(--t1);letter-spacing:-.025em;margin-bottom:3px}
.plan-sub{font-size:14px;color:var(--t2);margin-bottom:4px}
.plan-price-row{display:flex;align-items:baseline;gap:4px;margin:20px 0}
.plan-cur{font-size:19px;font-weight:700;color:var(--t2);margin-top:4px}
.plan-val{
    font-size:clamp(48px,10vw,62px);font-weight:900;line-height:1;letter-spacing:-.04em;
    background:var(--gt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.plan-per{font-size:14px;color:var(--t2);align-self:flex-end;padding-bottom:6px}
.plan-feats{list-style:none;margin:18px 0;display:flex;flex-direction:column;gap:11px}
.price-compare-grid .plan-feats,
.price-compare-grid .avulso-feats{flex:1}
.plan-feats li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--t2);line-height:1.5}
.plan-feats li i{color:var(--teal);font-size:15px;flex-shrink:0;margin-top:1px}
/* Feature em destaque: admin prefixa com * no campo features (ex.: *Aulas todo dia) */
.plan-feat-high{color:var(--t1);font-weight:600}
.plan-feat-high i{color:#fbbf24 !important}
.plan-free{
    display:flex;align-items:center;justify-content:center;gap:12px;
    background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(16,185,129,.06));
    border:1px solid rgba(34,197,94,.2);
    border-radius:var(--rsm);padding:14px 16px;
    margin:18px 0 26px;font-size:14px;color:#86efac;
    line-height:1.5;text-align:center;
}
.plan-free i{font-size:18px;color:var(--green);flex-shrink:0}
.plan-free strong{color:#fff;font-size:15px;font-weight:700}
/* Letra miúda: disclaimer em tom reduzido */
.plan-free small{font-size:12px;color:rgba(134,239,172,.55);font-weight:400;display:block}
@media(max-width:480px){
    .plan-free{padding:12px 14px;gap:10px;font-size:13.5px}
    .plan-free strong{font-size:14.5px}
}
.btn-plan{
    display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
    background:var(--gc);color:#fff;font-size:16px;font-weight:700;
    padding:17px 24px;border-radius:50px;box-shadow:var(--sh-b);
    transition:transform .2s,box-shadow .2s;
}
.price-compare-grid .btn-plan,
.price-compare-grid .btn-avulso{margin-top:auto}
.btn-plan:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(33,150,243,.48);color:#fff}

/* ═══ DEPOIMENTOS ════════════════════════════════════════════ */
.dep-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.dep-g{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
    .dep-g{
        display:flex; flex-wrap:nowrap; overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scroll-snap-type:x mandatory; scrollbar-width:none;
        padding-bottom:16px; margin:0 -20px; padding:0 20px 16px;
        /* Fade lateral direito: indica visualmente que há mais cards para deslizar */
        -webkit-mask-image:linear-gradient(to right,black 88%,transparent 100%);
        mask-image:linear-gradient(to right,black 88%,transparent 100%);
    }
    .dep-g::-webkit-scrollbar{display:none;}
    .dep-card{flex:0 0 85%; scroll-snap-align:center;}
}
@media(max-width:480px){
    .dep-g{margin:0 -16px; padding:0 16px 16px;}
}

.dep-card{
    background:var(--gcard);border:1px solid var(--bor);
    border-radius:var(--r);padding:24px 20px;
    display:flex;flex-direction:column;gap:14px;
    transition:border-color .3s;
}
.dep-card:hover{border-color:var(--bor-a)}
.dep-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dep-avatar{
    width:42px;height:42px;border-radius:50%;
    background:var(--gc);display:flex;align-items:center;justify-content:center;
    font-size:17px;font-weight:800;color:#fff;flex-shrink:0;
    overflow:hidden;
}
.dep-avatar img{
    width:100%;height:100%;object-fit:cover;display:block;
}
.dep-name{font-size:14px;font-weight:700;color:var(--t1)}
.dep-stars{display:flex;gap:2px;color:#f59e0b;font-size:13px}
.dep-google-badge{
    width:28px;height:28px;
    background:#fff;border-radius:6px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
    box-shadow:0 1px 4px rgba(0,0,0,.18);
}
.dep-verified{
    font-size:10px;color:var(--teal);font-weight:600;margin-top:2px;
    display:flex;align-items:center;gap:3px;
}
.dep-verified i{font-size:9px}
.dep-txt{font-size:13px;color:var(--t2);line-height:1.7;flex:1}

/* ═══ GOOGLE REVIEWS BAND ════════════════════════════════════ */
.grev-band{
    display:flex;align-items:center;justify-content:center;
    flex-wrap:wrap;gap:20px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.07);
    border-radius:16px;padding:16px 28px;
    margin-bottom:40px;
}
@media(max-width:520px){
    .grev-band{flex-direction:column;text-align:center;gap:16px;padding:24px 16px;}
    .grev-sep{display:block;width:80%;height:1px;margin:0 auto;}
}
.grev-glogo{display:block}
.grev-sep{width:1px;height:36px;background:rgba(255,255,255,.1)}
.grev-score-wrap,.grev-total{text-align:center}
.grev-score{
    font-size:30px;font-weight:900;color:var(--t1);
    letter-spacing:-.04em;line-height:1;
}
.grev-num{font-size:22px;font-weight:800;color:var(--t2);letter-spacing:-.02em;line-height:1}
.grev-stars{color:#f59e0b;font-size:15px;letter-spacing:2px;margin:2px 0}
.grev-note{font-size:11px;color:var(--t3);font-weight:500;margin-top:1px}
.grev-btn{
    display:inline-flex;align-items:center;gap:6px;
    font-size:12px;font-weight:600;color:var(--blue-l);
    border:1px solid rgba(100,181,246,.2);border-radius:50px;
    padding:7px 16px;transition:all .2s;
}
.grev-btn:hover{background:rgba(100,181,246,.08);color:var(--t1)}

/* ═══ FAQ ════════════════════════════════════════════════════ */
.faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
details.faq{
    background:var(--gcard);border:1px solid var(--bor);
    border-radius:var(--r);overflow:hidden;transition:border-color .3s,box-shadow .3s;
}
details.faq:hover{border-color:rgba(255,255,255,.1)}
details.faq[open]{
    border-color:var(--bor-a);
    box-shadow:0 0 0 1px rgba(33,150,243,.08),0 8px 32px rgba(0,0,0,.2);
}
details.faq summary{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:17px 20px;font-size:14px;font-weight:600;color:var(--t1);
    cursor:pointer;list-style:none;user-select:none;
    transition:color .2s;
}
details.faq summary:hover{color:#fff}
details.faq summary::-webkit-details-marker{display:none}
/* Texto da pergunta com ícone sutil de + */
.faq-q{flex:1;min-width:0}
.faq-chev{
    width:28px;height:28px;border-radius:8px;
    background:rgba(255,255,255,.06);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;color:var(--t2);font-size:13px;
    transition:transform .35s cubic-bezier(.4,0,.2,1),background .3s,color .3s;
}
details[open] .faq-chev{
    transform:rotate(180deg);
    background:rgba(33,150,243,.14);color:var(--blue);
}
.faq-body{
    padding:0 20px 18px;font-size:13px;color:var(--t2);line-height:1.85;
    animation:faqIn .3s ease;
}
@keyframes faqIn{
    from{opacity:0;transform:translateY(-6px)}
    to{opacity:1;transform:none}
}
/* Link CTA dentro de resposta (ex: turista) */
.faq-cta-link{
    display:inline-flex;align-items:center;gap:6px;
    margin-top:12px;padding:8px 16px;
    font-size:12px;font-weight:700;color:var(--blue-l);
    background:rgba(33,150,243,.1);border:1px solid rgba(33,150,243,.22);
    border-radius:50px;text-decoration:none;
    transition:all .18s;
}
.faq-cta-link:hover{
    background:rgba(33,150,243,.2);
    border-color:rgba(33,150,243,.4);
    color:#fff;
}

.btn-ghost{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    background:rgba(255,255,255,.05);border:1px solid var(--bor);
    color:var(--t2);font-size:14px;font-weight:600;
    padding:13px 24px;border-radius:50px;
    transition:background .2s,border-color .2s;white-space:nowrap;
}
.btn-ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.2);color:var(--t1)}

/* ═══ FOOTER ═══════════════════════════════════════════ */
footer{
    background:var(--bg);border-top:1px solid var(--bor);
    padding:18px 0;
    padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));
    text-align:center;
}
footer p{font-size:12px;color:var(--t3)}

/* ═══ MOBILE OVERRIDES ═══════════════════════════════════════ */
/* Evita texto ultra pequeno em iPhones antigos */
@media(max-width:360px){
    body{font-size:14px}
    .hero-h1{font-size:32px}
    .hero-sub{font-size:14px}
}
/* Touch targets mínimos 44px */
.btn-ghost,.btn-plan{
    min-height:44px;
}

/* ═══ HERO CAPTURE FORM (Two-Step Opt-in) ═══════════════════ */
.hero-form-wrap{
    /* Fundo semi-sólido com blur sutil — legível sobre qualquer background */
    background:rgba(6,21,37,.72);
    border:1px solid rgba(255,255,255,.10);
    border-top:2px solid rgba(13,207,176,.55);
    border-radius:20px;padding:28px 24px;margin-top:32px;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    max-width:480px;margin-left:auto;margin-right:auto;
    box-shadow:0 20px 60px rgba(3,12,24,.45),0 0 0 1px rgba(255,255,255,.04);
}
.hero-form-title{
    font-size:15px;font-weight:700;color:var(--t1);text-align:center;
    margin-bottom:16px;letter-spacing:-.01em;
}
.hero-form-title span{color:var(--teal)}
.hero-form-row{display:flex;flex-direction:column;gap:10px}
.hf-input{
    width:100%;background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);border-radius:12px;
    padding:14px 16px;font-size:16px;color:var(--t1);
    font-family:inherit;outline:none;
    transition:border-color .2s,background .2s;
}
.hf-input::placeholder{color:rgba(143,175,200,.55)}
.hf-input:focus{border-color:rgba(33,150,243,.5);background:rgba(255,255,255,.12)}
.hf-btn{
    width:100%;background:var(--gc);color:#fff;
    border:none;border-radius:50px;
    font-size:15px;font-weight:700;font-family:inherit;
    padding:15px;cursor:pointer;
    box-shadow:var(--sh-b);
    transition:transform .2s,box-shadow .2s,opacity .2s;
    display:flex;align-items:center;justify-content:center;gap:9px;
    min-height:50px;
}
.hf-btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(33,150,243,.48)}
.hf-btn:disabled{opacity:.6;transform:none;cursor:not-allowed}
.hf-note{font-size:12px;color:var(--t2);text-align:center;margin-top:8px;opacity:.7}
.hf-note i{color:var(--green);font-size:10px}
.hf-err{
    display:none;font-size:12px;color:#f87171;
    text-align:center;margin-top:6px;
}
/* Comprime espaçamentos do hero em telas ≤ 480 px */
@media(max-width:480px){
    .hero-form-wrap{padding:22px 16px;margin-top:16px}
    .hero-form-title{margin-bottom:12px;font-size:14px}
    .hf-input{padding:12px 14px;font-size:16px}
}


/* ═══ EXIT INTENT MODAL (desktop) ══════════════════════════ */
#exit-overlay{
    display:none;position:fixed;inset:0;z-index:2000;
    background:rgba(3,12,24,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    align-items:center;justify-content:center;padding:20px;
}
#exit-overlay.open{display:flex}
.exit-box{
    background:var(--bg2);border:1px solid var(--bor-a);
    border-radius:24px;padding:36px 32px;max-width:440px;width:100%;
    position:relative;text-align:center;
    box-shadow:0 32px 80px rgba(0,0,0,.5);
    animation:exitIn .3s ease;
}
@keyframes exitIn{from{opacity:0;transform:scale(.94) translateY(16px)}to{opacity:1;transform:none}}
.exit-close{
    position:absolute;top:12px;right:14px;
    background:rgba(255,255,255,.07);border:none;
    width:44px;height:44px;border-radius:50%;
    color:var(--t2);font-size:20px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .15s,color .15s;
}
.exit-close:hover{background:rgba(255,255,255,.14);color:var(--t1)}
.exit-title{font-size:22px;font-weight:800;color:var(--t1);letter-spacing:-.025em;margin-bottom:8px}
.exit-sub{font-size:14px;color:var(--t2);line-height:1.7;margin-bottom:22px}
.exit-form-row{display:flex;flex-direction:column;gap:9px}
.exit-form-row .hf-input{background:rgba(255,255,255,.07)}
.exit-dismiss{
    margin-top:14px;font-size:12px;color:var(--t3);
    background:none;border:none;cursor:pointer;font-family:inherit;
    text-decoration:underline;
}
.exit-dismiss:hover{color:var(--t2)}

/* ═══ TURMA: urgency badge ══════════════════════════════════ */
.turma-vagas{
    display:inline-flex;align-items:center;gap:5px;
    font-size:11px;font-weight:700;padding:4px 10px;
    border-radius:50px;margin-top:10px;
}
.vagas-ok   {background:rgba(34,197,94,.1);color:#4ade80;border:1px solid rgba(34,197,94,.18)}
.vagas-warn {background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.22)}
.vagas-full {background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.18)}

/* ═══ IPHONE PRO MAX (~430px) ════════════════════════════════ */
/* Ajustes pontuais para iPhones grandes — hierarquia do H1 já tratada no bloco principal */
@media(max-width:430px){
    .hero-sub{font-size:14px;line-height:1.6}
    .hero-badge{padding:5px 12px;font-size:12px}
}

/* ═══ TELAS MUITO PEQUENAS (≤320px) ═════════════════════════ */
@media(max-width:320px){
    body{font-size:13px}
    .hero-h1{font-size:28px}
    .hero-sub{font-size:13px;line-height:1.55}
    .hero-badge{font-size:12px}
    .tpill{font-size:13px}
    .plan-card{padding:20px 12px}
    .feat-card{padding:16px 14px}
    .dep-card{padding:16px 14px}
}

/* ═══ PERFORMANCE: Content Visibility ════════════════════════ */
/* Adia renderização de seções abaixo da dobra — reduz First Paint */
@media(min-width:768px){
    .sec{content-visibility:auto;contain-intrinsic-size:500px}
    #hero{content-visibility:visible} /* hero sempre visível */
}

/* ═══ SCROLLBAR (Webkit) ═════════════════════════════════════ */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.22)}

/* ═══ PRINT ══════════════════════════════════════════════════ */
@media print{
    body{background:#fff;color:#000;font-size:12pt}
    #nav,.hero-wave,.hero-scroll-indicator,.whatsapp-float,
    #exit-overlay,.pub-fab-bar,.nav-overlay{display:none !important}
    #hero{min-height:auto;padding:2rem 0;background:none !important}
    .hero-h1,.sec-title{color:#000;-webkit-text-fill-color:#000}
    .tg,.plan-val,.stat-n,.turma-hora{
        -webkit-text-fill-color:#000 !important;
        background:none !important;
    }
    .c{max-width:100%}
    a{color:#000;text-decoration:underline}
}

.avulso-card {
    max-width: none;
    margin: 0;
    background: linear-gradient(145deg, #1a1400 0%, #1c1808 50%, #14100a 100%);
    border: 1px solid rgba(251,191,36,.25);
    border-radius: var(--rlg);
    padding: 38px 32px;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(251,191,36,.06), 0 24px 64px rgba(0,0,0,.42);
    scroll-margin-top: calc(var(--nav-total) + 18px);
}
.avulso-card::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(251,191,36,.08) 0%, transparent 60%);
    pointer-events: none;
}
.avulso-pill {
    display: inline-flex; align-items: center; gap: 6px;
    align-self: center;
    background: rgba(251,191,36,.12); border: 1px solid rgba(251,191,36,.3);
    color: #fbbf24; font-size: 11px; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; padding: 5px 14px; border-radius: 50px; margin-bottom: 14px;
}
.avulso-name { font-size: 26px; font-weight: 800; color: var(--t1); margin-bottom: 3px; }
.avulso-sub {
    font-size: 14px; color: #d4a843; line-height: 1.55;
    min-height: 44px; margin-bottom: 4px;
}
.avulso-icon { font-size: 42px; margin-bottom: 12px; }
.avulso-price-row {
    display: flex; align-items: baseline; justify-content: center; gap: 2px;
    margin: 8px 0 20px;
}
.avulso-cur  { font-size: 20px; color: #b8943a; font-weight: 600; }
.avulso-val  { font-size: 48px; color: #fbbf24; font-weight: 800; line-height: 1; }
.avulso-per  { font-size: 16px; color: #b8943a; }
.avulso-feats {
    list-style: none; padding: 0; margin: 0 0 24px;
    text-align: left; display: flex; flex-direction: column; gap: 11px;
}
.avulso-feats li { font-size: 14px; color: #d4a843; padding: 0; line-height: 1.5; }
.avulso-feats li i.bi-check-circle-fill { color: #22c55e; margin-right: 8px; }
.avulso-feats li i.bi-star-fill { color: #fbbf24; margin-right: 8px; }
.btn-avulso {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff; font-weight: 700; font-size: 15px;
    padding: 14px 32px; border-radius: 12px;
    text-decoration: none; transition: transform .15s, box-shadow .15s;
    margin-bottom: 12px;
}
.btn-avulso:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(245,158,11,.35);
    color: #fff;
}
.avulso-note { font-size: 12px; color: #7a6b3a; margin: 0; }
.avulso-note a { color: #b8943a; font-weight: 600; }
.avulso-note a:hover { color: #fbbf24; }

@media (max-width: 500px) {
    .avulso-card { padding: 28px 20px; }
    .avulso-sub { min-height: 0; }
    .avulso-val  { font-size: 40px; }
}
