:root{
    --verde-principal:#0f766e;
    --verde-secundario:#14b8a6;
    --verde-escuro:#064e3b;
    --verde-muito-escuro:#052e2b;
    --verde-hover:#0b5e58;

    --branco:#ffffff;
    --cinza-claro:#f8fafc;
    --cinza-claro-2:#eef4f6;
    --cinza-medio:#e2e8f0;
    --cinza-texto:#334155;
    --cinza-texto-escuro:#0f172a;

    --sombra-suave:0 10px 30px rgba(15, 23, 42, 0.08);
    --sombra-media:0 18px 45px rgba(15, 23, 42, 0.12);
    --borda-radius:18px;
    --borda-radius-sm:12px;

    --mission-card:#0f2329;
    --mission-text:#e6f1f3;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:'Inter', Arial, sans-serif;
    background:var(--cinza-claro);
    color:var(--cinza-texto);
    line-height:1.6;

    min-height:100vh;
    display:flex;
    flex-direction:column;
}

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

img{
    max-width:100%;
    display:block;
}

.container{
    width:1200px;
    max-width:94%;
    margin:0 auto;
}

.narrow{
    width:820px;
    max-width:94%;
    margin:0 auto;
}

/* HEADER */
.header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(6, 78, 59, 0.88);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    color:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,0.12);
    border-bottom:1px solid rgba(255,255,255,0.08);
}

.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 0;
}

.logo-wrap{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo-img{
    width:42px;
    height:42px;
    border-radius:10px;
    background:rgba(255,255,255,0.08);
    object-fit:cover;
}

.logo-text{
    font-size:1.3rem;
    font-weight:700;
    letter-spacing:-0.3px;
    color:#ffffff;
}

.menu{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:nowrap;
    margin-left:auto;
}

.menu a{
    color:rgba(255,255,255,0.95);
    font-weight:600;
    font-size:.95rem;
    white-space:nowrap;
    padding:8px 10px;
    border-radius:999px;
    transition:opacity .2s ease, color .2s ease, background .2s ease;
}

.menu a:hover{
    opacity:1;
    color:#ffffff;
    background:rgba(255,255,255,0.08);
}

.menu .whats{
    background:#25D366;
    color:#fff;
    padding:10px 16px;
    border-radius:999px;
    font-weight:700;
    box-shadow:0 10px 22px rgba(37,211,102,0.25);
}

.admin-link{
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,0.25);
}

/* HERO */
.hero{
    position:relative;
    background:
        linear-gradient(135deg, rgba(6,78,59,0.82), rgba(15,118,110,0.78)),
        radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 35%);
    color:var(--branco);
    padding:84px 0;
    overflow:hidden;
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(135deg, rgba(2,6,23,0.28), rgba(2,6,23,0.42)),
        url("../img/bg-hero.webp") center center / cover no-repeat;
    opacity:.56;
    pointer-events:none;
}

.hero::after{
    content:"";
    position:absolute;
    inset:auto -10% -120px auto;
    width:420px;
    height:420px;
    background:radial-gradient(circle, rgba(20,184,166,0.22), transparent 70%);
    filter:blur(10px);
    pointer-events:none;
}

.hero-startup .hero-grid{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:36px;
    align-items:center;
}

.badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,0.12);
    color:#d1fae5;
    border:1px solid rgba(255,255,255,0.18);
    padding:10px 16px;
    border-radius:999px;
    margin-bottom:18px;
    font-weight:600;
    backdrop-filter:blur(8px);
}

.hero h1{
    font-size:3.35rem;
    line-height:1.08;
    font-weight:800;
    margin:0 0 18px;
    letter-spacing:-1.2px;
    max-width:760px;
    color:#f8fafc;
}

.hero p{
    font-size:1.15rem;
    line-height:1.75;
    margin:0;
    max-width:700px;
    color:rgba(255,255,255,0.92);
}

.hero-search{
    display:flex;
    gap:12px;
    margin:22px 0 8px;
    flex-wrap:wrap;
}

.hero-search input{
    flex:1 1 320px;
    padding:14px 16px;
    border:none;
    border-radius:12px;
    outline:none;
    background:#ffffff;
    color:#0f172a;
    font-size:1rem;
}

.hero-search button{
    min-width:170px;
}

.mini-stats{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:22px;
}

.mini-stats span,
.tag{
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.14);
    color:#f8fafc;
    padding:10px 14px;
    border-radius:999px;
    font-size:.95rem;
    backdrop-filter:blur(8px);
}

/* SECTIONS */
.section{
    padding:72px 0;
}

.alt{
    background:var(--cinza-claro-2);
}

.center{
    text-align:center;
}

.center-row{
    justify-content:center;
}

/* TYPOGRAPHY */
h1,h2,h3,h4{
    color:var(--cinza-texto-escuro);
    margin-top:0;
    line-height:1.25;
}

h2{
    font-size:2.2rem;
    margin-bottom:22px;
    letter-spacing:-0.8px;
}

h3{
    font-size:1.25rem;
    margin-bottom:10px;
}

p{
    margin-top:0;
}

.muted{
    color:#64748b;
    opacity:1;
}

/* BUTTONS */
.button,
button{
    appearance:none;
    border:none;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:linear-gradient(135deg, var(--verde-secundario), var(--verde-principal));
    color:#fff;
    padding:14px 24px;
    border-radius:12px;
    font-weight:700;
    font-size:1rem;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    box-shadow:0 12px 24px rgba(15,118,110,0.22);
}

.button:hover,
button:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 28px rgba(15,118,110,0.28);
}

.button.outline{
    background:transparent;
    color:#ffffff;
    border:2px solid rgba(255,255,255,0.45);
    box-shadow:none;
}

.button.outline:hover{
    background:rgba(255,255,255,0.08);
}

.section .button.outline,
.alt .button.outline,
.card .button.outline,
.admin-shell .button.outline{
    color:var(--verde-principal);
    border-color:rgba(15,118,110,0.45);
}

.section .button.outline:hover,
.alt .button.outline:hover,
.card .button.outline:hover,
.admin-shell .button.outline:hover{
    background:rgba(15,118,110,0.06);
}

.button.outline.light{
    color:#fff;
    border-color:rgba(255,255,255,0.45);
}

.button.full{
    width:100%;
}

.cta-row{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:24px;
}

/* CARD */
.card{
    background:var(--branco);
    border-radius:var(--borda-radius);
    padding:28px;
    box-shadow:var(--sombra-suave);
    border:1px solid rgba(226,232,240,0.7);
}

.form-card{
    background:rgba(255,255,255,0.98);
    color:var(--cinza-texto);
    box-shadow:var(--sombra-media);
}

.quick-choices{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
}

.quick-choices .tag{
    background:#eff6f6;
    color:var(--verde-escuro);
    border:none;
}

.trust-row{
    color:#1e293b;
    font-weight:500;
    line-height:1.9;
    margin:18px 0 0;
}

/* GRID CARDS */
.cards{
    display:grid;
    gap:22px;
}

.cards-3{
    grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
}

.cards-4{
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
}

.cards-5{
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
}

/* FORMS */
.form{
    display:grid;
    gap:14px;
}

.form input,
.form select,
.form textarea{
    width:100%;
    padding:14px 16px;
    border:1px solid #dbe5ea;
    border-radius:12px;
    background:#fff;
    font-size:1rem;
    color:var(--cinza-texto-escuro);
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.form input:focus,
.form select:focus,
.form textarea:focus{
    border-color:var(--verde-secundario);
    box-shadow:0 0 0 4px rgba(20,184,166,0.12);
}

/* TABLES */
.table-wrap{
    overflow:auto;
    border-radius:18px;
    box-shadow:var(--sombra-suave);
}

.table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    overflow:hidden;
}

.table th,
.table td{
    padding:16px;
    text-align:left;
    border-bottom:1px solid #e8eef2;
}

.table thead th{
    background:#f2f8f8;
    color:#0f172a;
    font-size:.98rem;
    font-weight:700;
}

.table tbody tr:hover{
    background:#f8fbfb;
}

/* NOTICE / AVAILABILITY */
.notice{
    background:#fff8e7;
    border:1px solid #f3d48d;
    color:#8a5a00;
    padding:14px 16px;
    border-radius:14px;
    margin:18px 0 22px;
    font-weight:600;
}

.availability{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#e9fbf5;
    color:#0f766e;
    padding:8px 14px;
    border-radius:999px;
    font-size:.92rem;
    font-weight:700;
    margin-bottom:12px;
}

/* RELATED LINKS */
.related-links{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.related-links a{
    background:#f1f7f7;
    color:var(--verde-escuro);
    padding:11px 14px;
    border-radius:12px;
    font-weight:600;
    transition:background .2s ease, transform .2s ease;
}

.related-links a:hover{
    background:#e2f4f2;
    transform:translateY(-1px);
}

/* STEPS */
.steps{
    padding-left:20px;
    line-height:2;
    color:#334155;
}

/* TWO COL */
.two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:start;
}

/* PROGRESS */
.progress-bar{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.progress-bar span{
    background:#ecf4f4;
    color:#475569;
    padding:10px 14px;
    border-radius:999px;
    font-weight:600;
}

.progress-bar .active{
    background:linear-gradient(135deg, var(--verde-secundario), var(--verde-principal));
    color:#fff;
}

/* ARTICLE */
.article{
    line-height:1.9;
    font-size:1.04rem;
}

/* DEPOIMENTOS */
.depoimento-card{
    position:relative;
    min-height:150px;
}

.depoimento-card::before{
    content:"“";
    position:absolute;
    top:14px;
    left:18px;
    font-size:3rem;
    color:rgba(15,118,110,0.12);
    font-weight:800;
}

/* FOOTER */
.footer{
    background:linear-gradient(135deg, var(--verde-escuro), var(--verde-muito-escuro));
    color:#fff;
    padding:34px 0;
    margin-top:auto;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:24px;
}

.footer a{
    color:#d1fae5;
}

.footer p{
    margin-bottom:8px;
}

/* OBRIGADO */
.obrigado-section{
    padding-top:64px;
    padding-bottom:64px;
}

.obrigado-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:28px;
    align-items:start;
}

.obrigado-card,
.qr-card{
    height:100%;
}

.obrigado-badge{
    margin-bottom:16px;
}

.obrigado-left h1{
    font-size:2.5rem;
    margin-bottom:16px;
    letter-spacing:-0.8px;
}

.obrigado-texto{
    font-size:1.08rem;
    color:#475569;
    margin-bottom:20px;
    line-height:1.8;
}

.obrigado-valor-box{
    background:linear-gradient(135deg, #ecfdf5, #f0fdfa);
    border:1px solid #ccefe7;
    border-radius:16px;
    padding:18px 20px;
    margin:22px 0;
}

.obrigado-valor-box .label{
    display:block;
    font-size:.95rem;
    color:#0f766e;
    margin-bottom:6px;
    font-weight:600;
}

.obrigado-valor-box strong{
    font-size:2rem;
    color:#064e3b;
    letter-spacing:-0.5px;
}

.obrigado-passos{
    margin:24px 0;
}

.obrigado-passos h3{
    margin-bottom:12px;
}

.obrigado-passos ol{
    margin:0;
    padding-left:20px;
    color:#334155;
    line-height:2;
}

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

.qr-box{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px;
    margin:10px auto 18px;
}

.qr-pix-img{
    width:260px;
    max-width:100%;
    border-radius:16px;
    background:#fff;
    padding:12px;
    box-shadow:0 12px 28px rgba(15, 23, 42, 0.08);
}

.obrigado-divider{
    border:none;
    border-top:1px solid #e2e8f0;
    margin:28px 0;
}

.social-links{
    display:grid;
    gap:12px;
}

.obrigado-card .cta-row{
    margin-top:24px;
}

.obrigado-card .cta-row .button{
    flex:1 1 220px;
}

.status-bar{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin:22px 0 8px;
    padding:16px;
    border-radius:16px;
    background:#f8fbfc;
    border:1px solid #e5eef2;
}

.status-item{
    display:flex;
    align-items:center;
    gap:8px;
    color:#64748b;
    font-weight:600;
}

.status-item.done{
    color:#0f766e;
}

.status-item.current{
    color:#0f172a;
}

.status-icon{
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#e2f4f2;
    font-size:.9rem;
}

.status-item.current .status-icon{
    background:#fff3cd;
}

.status-line{
    width:24px;
    height:2px;
    background:#cbd5e1;
}

/* ADMIN */
.admin-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:22px;
}

.alert{
    padding:14px 16px;
    border-radius:12px;
    margin:14px 0;
}

.alert.error{
    background:#fdeaea;
    color:#8a1f1f;
}

.result-card{
    margin-top:22px;
}

/* ADMIN SHELL */
.admin-shell-body{
    background:#f4f8fa;
    font-family:'Inter', Arial, sans-serif;
}

.admin-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:280px 1fr;
}

.admin-sidebar{
    background:linear-gradient(180deg, #073b33, #0b5d52);
    color:#fff;
    padding:28px 22px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:24px;
}

.admin-brand-title{
    font-size:1.5rem;
    font-weight:800;
    margin-bottom:4px;
}

.admin-brand-subtitle{
    color:rgba(255,255,255,0.75);
    font-size:.95rem;
}

.admin-menu{
    display:grid;
    gap:10px;
}

.admin-menu a{
    display:block;
    padding:12px 14px;
    border-radius:12px;
    color:#ffffff;
    font-weight:600;
    transition:background .2s ease, transform .2s ease;
}

.admin-menu a:hover{
    background:rgba(255,255,255,0.08);
    transform:translateX(2px);
}

.admin-menu a.active{
    background:rgba(255,255,255,0.14);
}

.admin-sidebar-footer .button.outline{
    color:#fff;
    border-color:rgba(255,255,255,0.35);
}

.admin-main{
    padding:34px;
}

.admin-main-top{
    margin-bottom:24px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
}

.admin-main-top h1{
    margin-bottom:6px;
}

.admin-kpi-label{
    font-size:.95rem;
    color:#64748b;
    font-weight:600;
    margin-bottom:8px;
}

.admin-kpi-value{
    font-size:2.4rem;
    margin:0 0 6px;
    color:#0f172a;
}

.admin-panel-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin-top:24px;
}

/* MISSION CONTROL */
.mission-body{
    background:
        radial-gradient(circle at top left, rgba(20,184,166,0.12), transparent 30%),
        linear-gradient(135deg, #041b1a, #081f24 55%, #0b1f28);
    color:var(--mission-text);
}

.mission-section{
    padding:40px 0;
}

.mission-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:24px;
}

.mission-header h1{
    color:#f8fafc;
}

.mission-cards .mission-card{
    background:linear-gradient(180deg, rgba(15,35,41,0.95), rgba(9,22,28,0.95));
    color:var(--mission-text);
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:0 12px 28px rgba(0,0,0,0.22);
}

.mission-card span{
    display:block;
    font-size:.92rem;
    color:#9cc7c5;
    text-transform:uppercase;
    letter-spacing:.6px;
}

.mission-card strong{
    display:block;
    font-size:2.35rem;
    margin:10px 0 6px;
    color:#f8fafc;
}

.mission-card small{
    color:#8fb6b4;
}

.mission-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:22px;
    margin-top:24px;
}

.mission-panel{
    background:linear-gradient(180deg, rgba(15,35,41,0.96), rgba(9,22,28,0.96));
    color:var(--mission-text);
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:0 12px 28px rgba(0,0,0,0.22);
}

.mission-panel h3{
    color:#e6f1f3;
}

.event-feed{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:14px;
}

.event-feed li{
    padding:12px 14px;
    border-radius:12px;
    background:rgba(255,255,255,0.04);
}

/* WHATSAPP FIXO */
.whatsapp-float{
    position:fixed !important;
    right:24px !important;
    bottom:24px !important;
    z-index:999999 !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    padding:14px 22px;
    border-radius:999px;
    background:#22c55e;
    color:#fff !important;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
    transition:all .2s ease;
}

.whatsapp-float:hover{
    transform:translateY(-2px);
    background:#16a34a;
}

/* RESPONSIVO */
@media (max-width: 980px){
    .hero-startup .hero-grid,
    .two-col,
    .mission-grid,
    .footer-grid,
    .obrigado-grid,
    .admin-panel-grid{
        grid-template-columns:1fr;
    }

    .hero h1{
        font-size:2.45rem;
    }

    .obrigado-left h1{
        font-size:2rem;
    }

    .qr-pix-img{
        width:220px;
    }

    .status-bar{
        flex-direction:column;
        align-items:flex-start;
    }

    .status-line{
        width:2px;
        height:18px;
        margin-left:13px;
    }

    .admin-shell{
        grid-template-columns:1fr;
    }

    .admin-sidebar{
        border-radius:0 0 18px 18px;
    }

    .admin-main{
        padding:20px;
    }
}

main{
    flex:1;
}

@media (max-width: 760px){
    .nav{
        flex-direction:column;
        align-items:flex-start;
    }

    .logo-text{
        font-size:1.1rem;
    }

    .menu{
        width:100%;
        gap:12px;
    }

    .menu a{
        font-size:.95rem;
    }

    .hero{
        padding:64px 0;
    }

    .hero::before{
        display:none;
    }

    .hero h1{
        font-size:2rem;
    }

    h2{
        font-size:1.7rem;
    }

    .button,
    button{
        width:100%;
    }

    .cta-row,
    .hero-search{
        flex-direction:column;
    }

    .hero-search button{
        width:100%;
    }

    .whatsapp-float{
        right:16px !important;
        bottom:16px !important;
        padding:14px 20px;
    }
}

.section-kicker{
    display:inline-block;
    margin-bottom:10px;
    color:var(--verde-principal);
    font-size:.9rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.section-heading{
    margin-bottom:28px;
}

.section-heading.center p{
    max-width:720px;
    margin:0 auto;
}

.hero-highlight-card{
    position:relative;
    overflow:hidden;
}

.hero-highlight-card::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:-40px;
    top:-40px;
    background:radial-gradient(circle, rgba(20,184,166,0.18), transparent 70%);
}

.eja-highlight-card{
    border:1px solid rgba(20,184,166,0.18);
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--verde-principal);
    font-weight:800;
    font-size:.88rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:12px;
}

.feature-list{
    margin:18px 0 24px;
    padding-left:18px;
    color:#334155;
}

.feature-list.compact{
    margin-bottom:20px;
    line-height:1.9;
}

.category-strip-section{
    padding-top:58px;
}

.category-cards-grid{
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}

.category-card{
    background:#ffffff;
    border:1px solid rgba(15,118,110,0.08);
    border-radius:22px;
    overflow:hidden;
    box-shadow:var(--sombra-suave);
    transition:transform .2s ease, box-shadow .2s ease;
}

.category-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 38px rgba(15,23,42,0.10);
}

.category-card img{
    width:100%;
    height:200px;
    object-fit:cover;
}

.category-card-body{
    padding:22px;
}

.category-card-body p{
    color:#475569;
    min-height:72px;
}

.category-card-body strong{
    color:var(--verde-principal);
}

.category-card-featured{
    background:linear-gradient(180deg, #ffffff, #f3fbf9);
    border-color:rgba(20,184,166,0.35);
}

.pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border-radius:999px;
    background:#eef8f7;
    color:var(--verde-escuro);
    font-size:.86rem;
    font-weight:700;
}

.pill.featured{
    background:linear-gradient(135deg, #ecfdf5, #d1fae5);
    color:#065f46;
}

.service-pills{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.service-pills a{
    background:#ffffff;
    color:#0f172a;
    border:1px solid #d9eaeb;
    padding:12px 16px;
    border-radius:999px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(15,23,42,0.04);
}

.service-pills a:hover{
    border-color:rgba(15,118,110,0.28);
    color:var(--verde-principal);
}

.eja-focus-section{
    background:linear-gradient(180deg, #f7fffd, #eef8f6);
}

.eja-focus-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:24px;
    align-items:center;
}

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

.mini-feature-card{
    background:#ffffff;
    border:1px solid #dcefed;
    border-radius:18px;
    padding:18px;
    box-shadow:0 10px 24px rgba(15,23,42,0.05);
}

.mini-feature-card strong{
    display:block;
    margin-bottom:8px;
    color:#0f172a;
}

.eja-side-card{
    background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,252,249,0.96));
}

.cta-stack{
    display:grid;
    gap:12px;
    margin-top:22px;
}

.alt-soft{
    background:#f5fbfb;
}

.course-showcase-grid{
    align-items:stretch;
}

.showcase-course-card{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.course-meta-line{
    min-height:48px;
}

.course-offer-line{
    margin-bottom:0;
}

.quick-paths-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.path-card{
    height:100%;
}

.dark-card{
    background:linear-gradient(135deg, #083a34, #0f2329);
    color:#ffffff;
}

.dark-card h3,
.dark-card .section-kicker,
.dark-card p{
    color:#ffffff;
}

.dark-card .section-kicker.light{
    color:#99f6e4;
}

.article-card{
    height:100%;
}

.footer .muted{
    color:rgba(255,255,255,0.78);
}

@media (max-width: 980px){
    .eja-focus-grid,
    .quick-paths-grid,
    .feature-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 760px){
    .category-card img{
        height:180px;
    }

    .service-pills{
        flex-direction:column;
    }

    .service-pills a{
        text-align:center;
    }
}


.topbar{
    background:#062f29;
    color:#d1fae5;
    font-size:.92rem;
}

.topbar-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:10px 0;
}

.topbar a{
    color:#ffffff;
    font-weight:700;
}

.logo-subtitle{
    display:block;
    color:rgba(255,255,255,0.72);
    font-size:.78rem;
    margin-top:2px;
}

.hero-stack{
    display:grid;
    gap:18px;
}

.hero-trust-band{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.hero-trust-band > div{
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:18px;
    padding:16px;
    backdrop-filter:blur(10px);
}

.hero-trust-band strong{
    display:block;
    color:#ffffff;
    margin-bottom:4px;
}

.hero-trust-band small{
    color:rgba(255,255,255,0.84);
}

.section-heading-wide p{
    max-width:840px;
}

.section-soft-banner{
    padding-top:18px;
}

.soft-banner-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:24px;
    align-items:center;
    background:linear-gradient(135deg, #ffffff, #eff9f8);
    border:1px solid #dcefed;
    border-radius:28px;
    padding:34px;
    box-shadow:var(--sombra-suave);
}

.soft-banner-actions{
    display:grid;
    gap:12px;
}

.table-wrap-spotlight{
    background:#ffffff;
    border-radius:22px;
    box-shadow:var(--sombra-suave);
    border:1px solid #dcefed;
    overflow:hidden;
}

.section-heading-split{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:16px;
}

.card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:auto;
}

.showcase-course-card{
    min-height:100%;
    border:1px solid #dcefed;
}

.showcase-course-card h3{
    margin-bottom:0;
}

.course-offer-line{
    color:#0f172a;
    font-weight:600;
}

.section-cta-institutional{
    padding-top:12px;
}

.cta-institutional-card{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:24px;
    align-items:center;
    padding:34px;
    border-radius:28px;
    background:linear-gradient(135deg, #082f2a, #0f766e);
    color:#ffffff;
    box-shadow:var(--sombra-media);
}

.cta-institutional-card h2,
.cta-institutional-card .muted,
.cta-institutional-card .section-kicker{
    color:#ffffff;
}

.cta-stack.compact{
    align-content:center;
}

.footer-grid-enhanced{
    grid-template-columns:1.3fr 1fr 1fr 1fr;
    gap:28px;
}

.footer-brand-head{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
}

.footer-logo{
    width:44px;
    height:44px;
    object-fit:contain;
}

.footer-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}

.footer-badges span{
    border:1px solid rgba(255,255,255,0.16);
    border-radius:999px;
    padding:8px 12px;
    color:#ffffff;
    font-size:.86rem;
}

.footer h4{
    margin:0 0 10px;
    color:#ffffff;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    border-top:1px solid rgba(255,255,255,0.12);
    margin-top:26px;
    padding:18px 0 6px;
    color:rgba(255,255,255,0.72);
    font-size:.92rem;
}

@media (max-width: 980px){
    .soft-banner-grid,
    .cta-institutional-card,
    .footer-grid-enhanced,
    .section-heading-split,
    .hero-trust-band{
        grid-template-columns:1fr;
    }

    .section-heading-split{
        align-items:start;
    }
}

@media (max-width: 760px){
    .topbar-inner,
    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }
}


/* F3 visual polish */
.logo-subtitle{color:rgba(255,255,255,0.72);display:block;margin-top:2px;}
.menu .whats{padding:11px 18px;}
.hero-left{position:relative;z-index:2;}
.hero-right{position:relative;z-index:2;}
.hero-stack{display:grid;gap:18px;}
.eja-highlight-card{background:linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.08));border:1px solid rgba(255,255,255,0.16);box-shadow:0 22px 55px rgba(0,0,0,0.22);}
.eja-highlight-card .button.full{background:#f8fafc;color:#0f172a;}
.section-heading-wide{max-width:920px;margin:0 auto 28px;}
.institutional-banner{padding-top:24px;padding-bottom:24px;}
.institutional-banner-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch;}
.institutional-copy{background:linear-gradient(135deg,#082f2d,#0f766e);color:#fff;border-radius:24px;padding:34px;box-shadow:var(--sombra-media);}
.institutional-copy h2{margin:8px 0 12px;color:#fff;font-size:2rem;line-height:1.15;}
.institutional-copy .muted{color:rgba(255,255,255,0.82);}
.institutional-points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.institutional-point{background:#fff;border-radius:22px;padding:24px;box-shadow:var(--sombra-suave);border:1px solid #e5eef0;}
.institutional-point strong{display:block;font-size:1.02rem;color:var(--cinza-texto-escuro);margin-bottom:8px;}
.institutional-point span{display:block;color:var(--cinza-texto);line-height:1.6;}
.feature-grid-highlight{grid-template-columns:repeat(4,1fr);}
.feature-grid-highlight .mini-feature-card{min-height:100%;}
.soft-banner-grid{background:linear-gradient(135deg,#ffffff,#eef7f7);border:1px solid #dbe8ea;border-radius:28px;padding:30px;box-shadow:var(--sombra-suave);}
.showcase-course-card{position:relative;overflow:hidden;}
.showcase-course-card::after{content:"";position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;background:radial-gradient(circle, rgba(20,184,166,0.12), transparent 70%);pointer-events:none;}
.footer{background:linear-gradient(180deg,#0d1f24,#081418);}
.footer-brand-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.footer-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.footer-badges span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);color:#e7f7f3;font-size:.92rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);margin-top:28px;padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:rgba(255,255,255,0.68);}
@media (max-width: 980px){.institutional-banner-grid,.institutional-points,.feature-grid-highlight{grid-template-columns:1fr 1fr;}.institutional-copy{padding:26px;}}
@media (max-width: 720px){.institutional-banner-grid,.institutional-points,.feature-grid-highlight{grid-template-columns:1fr;}.soft-banner-grid{padding:22px;}.institutional-copy h2{font-size:1.6rem;}}


/* F3 next evolution */
.header{position:sticky;top:0;z-index:30;backdrop-filter:blur(12px);}
.header::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:rgba(255,255,255,0.06);}
.menu .menu-eja{color:#ecfeff;background:rgba(20,184,166,0.18);border:1px solid rgba(94,234,212,0.24);padding:10px 14px;border-radius:999px;}
.menu .menu-eja:hover{background:rgba(20,184,166,0.26);}
.category-card-body strong{display:inline-flex;align-items:center;gap:8px;}
.category-card-body strong::after{content:"→";transition:transform .2s ease;}
.category-card:hover .category-card-body strong::after{transform:translateX(4px);}
.process-section{padding-top:10px;}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.process-card{background:#fff;border:1px solid #dbe8ea;border-radius:24px;padding:26px;box-shadow:var(--sombra-suave);position:relative;overflow:hidden;}
.process-card::after{content:"";position:absolute;inset:auto -28px -32px auto;width:110px;height:110px;background:radial-gradient(circle, rgba(20,184,166,0.10), transparent 68%);}
.process-step{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:#082f2d;color:#fff;font-weight:800;margin-bottom:14px;}
.process-card h3{margin-bottom:8px;}
.process-card p{color:var(--cinza-texto);line-height:1.65;margin:0;}
.assurance-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.assurance-strip span{padding:11px 14px;border-radius:999px;background:#f2fbfa;border:1px solid #d9ece9;color:#0f3f3a;font-weight:600;font-size:.94rem;}
.visual-banner-section{padding-top:8px;}
.visual-banner-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch;}
.visual-banner-copy{padding:34px;border-radius:28px;background:linear-gradient(135deg,#f8fffe,#eaf8f5);border:1px solid #d9ece7;box-shadow:var(--sombra-suave);}
.visual-banner-copy h2{margin:8px 0 12px;}
.visual-banner-stack{display:grid;gap:16px;}
.visual-info-card{background:linear-gradient(135deg,#082f2d,#0f766e);color:#fff;border-radius:24px;padding:24px;box-shadow:var(--sombra-media);}
.visual-info-card strong{display:block;font-size:1.02rem;margin-bottom:8px;}
.visual-info-card span{display:block;color:rgba(255,255,255,0.82);line-height:1.6;}
.footer-contact-card{margin-top:18px;padding:16px;border-radius:18px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);}
.footer-contact-card strong{display:block;color:#fff;margin-bottom:6px;}
.footer-contact-card span{display:block;color:rgba(255,255,255,0.72);line-height:1.55;font-size:.92rem;}
@media (max-width: 980px){.process-grid,.visual-banner-grid{grid-template-columns:1fr 1fr;}.menu .menu-eja{order:-1;}}
@media (max-width: 720px){.process-grid,.visual-banner-grid{grid-template-columns:1fr;}.visual-banner-copy{padding:24px;}.assurance-strip span{width:100%;text-align:center;}}


/* F3 header + hero refinement */
.hero-highlight-card{
    border:1px solid rgba(110,231,183,0.28);
    box-shadow:0 26px 60px rgba(2,12,10,0.34);
}

.hero-highlight-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0));
    pointer-events:none;
}

.eja-highlight-card{
    background:linear-gradient(160deg, rgba(3,54,49,0.98), rgba(10,101,90,0.96));
    border:1px solid rgba(153,246,228,0.24);
    box-shadow:0 28px 64px rgba(0,0,0,0.32);
}

.eja-highlight-card .eyebrow,
.eja-highlight-card h3,
.eja-highlight-card p,
.eja-highlight-card .feature-list{
    color:#f8fafc;
    position:relative;
    z-index:1;
}

.eja-highlight-card .eyebrow{
    color:#99f6e4;
}

.eja-highlight-card p{
    color:rgba(248,250,252,0.92);
}

.eja-highlight-card .feature-list li::marker{
    color:#99f6e4;
}

.eja-highlight-card .button.full{
    background:#ffffff;
    color:#0f172a;
    box-shadow:0 16px 30px rgba(255,255,255,0.18);
    position:relative;
    z-index:1;
}

@media (max-width: 1160px){
    .nav{
        gap:14px;
    }

    .menu{
        gap:8px;
    }

    .menu a{
        font-size:.9rem;
        padding:8px 9px;
    }
}

@media (max-width: 980px){
    .nav{
        align-items:flex-start;
        flex-direction:column;
    }

    .menu{
        width:100%;
        flex-wrap:wrap;
        margin-left:0;
    }
}

.mission-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(106,214,255,.25);border-radius:999px;background:rgba(10,21,43,.55);color:#8fe8ff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.muted-light{color:rgba(228,240,255,.78)}
.mission-sound-panel{display:flex;justify-content:space-between;align-items:center;margin:22px 0;border:1px solid rgba(91,195,255,.18);background:linear-gradient(135deg,rgba(7,14,30,.95),rgba(8,26,52,.9))}
.sound-toggle{display:flex;align-items:center;gap:10px;color:#d7e8ff;font-weight:700}
.sound-toggle input{accent-color:#64e6ff;width:18px;height:18px}
.lead-glow{box-shadow:0 0 0 1px rgba(105,243,189,.15),0 18px 40px rgba(46,224,157,.08)}
.mat-glow{box-shadow:0 0 0 1px rgba(110,162,255,.15),0 18px 40px rgba(71,120,255,.12)}
.mission-grid-3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px}
.mission-panel-accent{background:linear-gradient(135deg,rgba(11,24,47,.94),rgba(5,11,24,.98));border:1px solid rgba(112,202,255,.16)}
.mission-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.mission-mini-grid div{padding:14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.mission-mini-grid span{display:block;color:rgba(214,228,255,.7);font-size:12px;margin-bottom:6px}
.mission-mini-grid strong{font-size:18px;color:#fff}
.code-sample{padding:16px;border-radius:16px;background:#0c1530;color:#dce8ff;border:1px solid rgba(118,177,255,.16);font-size:13px;line-height:1.7;overflow:auto}
@media (max-width: 980px){.mission-grid-3{grid-template-columns:1fr}.mission-sound-panel{flex-direction:column;align-items:flex-start;gap:16px}}


.mission-header p{max-width:760px;margin-top:10px}
.mission-panel p{margin:0 0 10px}
.event-feed{max-height:520px;overflow:auto;padding-right:6px}
.event-feed li{border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:12px;margin-bottom:12px}
.event-feed li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}


.form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.lead-interest-form{
    margin-top:18px;
}

.section-spacer{
    height:18px;
}

.section-kicker{
    display:inline-block;
    margin-bottom:10px;
    color:#0f766e;
    font-size:.9rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

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


.interest-chip-row{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.interest-chip{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:#f2f7f7;border:1px solid #d7e7e7;color:#0f4d4a;text-decoration:none;font-weight:700;font-size:.9rem}
.interest-chip:hover{background:#e9f7f6}
.interest-path-grid .lead-path{position:relative;overflow:hidden}
.lead-path::after{content:'';position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;background:radial-gradient(circle,rgba(15,118,110,.10),transparent 68%);pointer-events:none}
.lead-path-eja{border:1px solid rgba(15,118,110,.18);box-shadow:0 18px 40px rgba(15,118,110,.08)}
.lead-path.is-active{border-color:#0f766e;box-shadow:0 14px 32px rgba(15,118,110,.12)}



.footer-bottom-left{
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
}
.footer-slogan{
    color:rgba(255,255,255,0.82);
}
.footer-legal-links{
    display:flex;
    gap:18px;
    align-items:center;
    flex-wrap:wrap;
}
.footer-legal-links a{
    color:rgba(255,255,255,0.82);
    font-weight:600;
}
.footer-legal-links a:hover{
    color:#ffffff;
}

@media (max-width: 760px){
    .footer-bottom-left,
    .footer-legal-links{
        width:100%;
    }
}

.cookie-banner{
    position:fixed;
    left:20px;
    right:20px;
    bottom:20px;
    z-index:9999;
    display:none;
    justify-content:center;
    pointer-events:none;
}

.cookie-banner__content{
    width:min(680px, 100%);
    background:rgba(7, 15, 25, 0.96);
    color:#fff;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:20px;
    padding:18px 20px;
    box-shadow:0 20px 60px rgba(0,0,0,0.35);
    backdrop-filter:blur(10px);
    pointer-events:auto;
}

.cookie-banner__content strong{
    display:block;
    font-size:1rem;
    margin-bottom:8px;
}

.cookie-banner__content p{
    margin:0 0 14px 0;
    color:rgba(255,255,255,0.84);
    line-height:1.5;
}

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

.cookie-banner__actions .button{
    min-height:44px;
}

.cookie-banner__actions .button.outline.light{
    border:1px solid rgba(255,255,255,0.22);
    color:#fff;
    background:transparent;
}

.cookie-banner__actions .button.outline.light:hover{
    background:rgba(255,255,255,0.08);
}

@media (max-width: 640px){
    .cookie-banner{
        left:12px;
        right:12px;
        bottom:12px;
    }

    .cookie-banner__content{
        border-radius:16px;
        padding:16px;
    }

    .cookie-banner__actions{
        flex-direction:column;
    }

    .cookie-banner__actions .button{
        width:100%;
    }
}
