:root {
    --blue: #005bd8;
    --blue-2: #0787c9;
    --teal: #52c0c2;
    --dark: #07152f;
    --text: #162033;
    --muted: #5e6b80;
    --line: #e5ecf6;
    --bg: #f5f9ff;
    --white: #ffffff;
    --shadow: 0 18px 50px rgba(9, 38, 83, .12);
    --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Inter', Arial, sans-serif;
    color: var(--text);
    background: var(--white);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.86);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line);
}
.nav {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.brand img { width: 180px; }
.menu { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 700; }
.menu a:hover { color: var(--blue); }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 28px; color: var(--dark); }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    transition: .2s ease;
    border: 1px solid transparent;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--blue), var(--blue-2)); color: #fff; box-shadow: 0 12px 25px rgba(0,91,216,.22); }
.btn-secondary { background: #fff; color: var(--blue); border-color: rgba(0,91,216,.25); }
.btn-white { background: #fff; color: var(--blue); }

.section, .hero { padding: 96px 0; }
.section-light { background: radial-gradient(circle at top right, #e9f5ff 0, #fff 45%, #f7fbff 100%); }
.section-soft { background: var(--bg); }
.eyebrow { display: inline-flex; color: var(--blue); font-weight: 900; letter-spacing: .04em; text-transform: uppercase; font-size: 12px; margin-bottom: 14px; }
.eyebrow.light { color: #b7f8ff; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(42px, 6vw, 72px); line-height: .98; letter-spacing: -0.06em; margin-bottom: 24px; color: var(--dark); }
h2 { font-size: clamp(30px, 4vw, 46px); line-height: 1.05; letter-spacing: -0.04em; margin-bottom: 16px; color: var(--dark); }
h2 span, h1 span { color: var(--blue); }
p { color: var(--muted); line-height: 1.7; font-size: 17px; }

.hero-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 64px; align-items: center; }
.hero-content p { max-width: 620px; font-size: 20px; }
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; margin: 34px 0; }
.trust-row { display: flex; gap: 22px; flex-wrap: wrap; color: #40506a; font-size: 14px; font-weight: 700; }

.hero-visual { position: relative; min-height: 530px; }
.notebook {
    background: #101828;
    border-radius: 28px;
    padding: 14px 14px 26px;
    box-shadow: var(--shadow);
    transform: perspective(1200px) rotateY(-5deg) rotateX(2deg);
}
.notebook-bar { display: flex; gap: 8px; padding: 5px 0 12px; }
.notebook-bar span { width: 10px; height: 10px; border-radius: 50%; background: #d7e1ef; }
.notebook img { border-radius: 16px; height: 430px; width: 100%; object-fit: cover; object-position: top; }
.floating-card {
    position: absolute;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px;
    box-shadow: var(--shadow);
}
.card-funnel { left: -20px; bottom: 36px; width: 250px; }
.card-funnel div { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #edf2f7; color: var(--muted); }
.card-funnel b { color: var(--blue); }
.card-goal { right: -12px; bottom: 88px; width: 220px; text-align: center; }
.card-goal b { display: block; font-size: 52px; color: var(--blue); margin: 8px 0; }
.card-goal small { color: var(--muted); }

.about-grid { display: grid; grid-template-columns: 340px 1fr; gap: 70px; align-items: center; }
.founder-card { padding: 36px; background: linear-gradient(180deg, #eef7ff, #fff); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.founder-avatar { width: 150px; height: 150px; border-radius: 32px; display: grid; place-items: center; background: linear-gradient(135deg, var(--teal), var(--blue)); color: white; font-size: 48px; font-weight: 900; margin-bottom: 24px; }
.founder-card h3 { margin-bottom: 6px; color: var(--blue); }
.founder-card p { font-size: 15px; margin-bottom: 8px; }
.quote-box { margin: 22px 0; padding: 18px 20px; background: #eef6ff; border-left: 4px solid var(--blue); border-radius: 12px; font-weight: 800; color: #16325c; }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.stats-grid div { padding: 18px; border-radius: 16px; border: 1px solid var(--line); background: #fff; }
.stats-grid b { display: block; color: var(--blue); font-size: 22px; }
.stats-grid span { display: block; color: var(--muted); font-size: 13px; line-height: 1.45; margin-top: 6px; }

.section-title { text-align: center; max-width: 760px; margin: 0 auto 46px; }
.modules-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.module-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 26px; box-shadow: 0 12px 35px rgba(9,38,83,.08); position: relative; overflow: hidden; }
.module-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 7px; background: var(--blue); }
.module-card.green::before { background: #13a66b; }
.module-card.orange::before { background: #ff7b22; }
.module-card.purple::before { background: #7b4de3; }
.module-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; background: #eef6ff; font-size: 24px; margin-bottom: 18px; }
.module-card h3 { font-size: 24px; margin-bottom: 8px; }
.module-card p { font-size: 14px; min-height: 48px; }
ul { padding-left: 18px; color: var(--muted); line-height: 1.9; }

.journey-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 50px; align-items: center; }
.check-list { list-style: none; padding: 0; }
.check-list li { margin: 10px 0; color: var(--text); font-weight: 700; }
.check-list li::before { content: '✓'; color: #13a66b; margin-right: 10px; }
.journey-flow { display: flex; align-items: center; gap: 10px; justify-content: space-between; padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.step { width: 112px; height: 112px; display: grid; place-items: center; text-align: center; border-radius: 50%; background: #f0f7ff; border: 1px solid #d5e8ff; }
.step span { color: var(--blue); font-weight: 900; }
.step b { font-size: 13px; }
.arrow { color: var(--blue); font-weight: 900; }

.dashboard-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 44px; align-items: center; }
.feature-list { display: grid; gap: 14px; margin-top: 28px; }
.feature-list div { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.feature-list b { display: block; margin-bottom: 4px; }
.feature-list span { color: var(--muted); font-size: 14px; }
.dashboard-card { background: #fff; padding: 22px; border-radius: var(--radius); border: 1px solid var(--line); box-shadow: var(--shadow); }
.dashboard-card img { width: 100%; border-radius: 16px; }

.benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.benefit { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 10px 30px rgba(9,38,83,.06); font-weight: 800; }

.cta-section { padding: 40px 0 90px; }
.cta-card { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 44px; border-radius: 28px; color: #fff; background: linear-gradient(135deg, #0046b8, #008ecf 55%, #18c7af); box-shadow: var(--shadow); }
.cta-card h2, .cta-card p { color: #fff; }
.cta-card p { opacity: .88; margin-bottom: 0; }

.footer { background: #061229; color: #dce9ff; padding: 54px 0; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 34px; }
.footer-logo { width: 160px; filter: brightness(1.1); margin-bottom: 14px; }
.footer p { font-size: 14px; color: #a8b8d6; }
.footer h4 { color: #fff; margin: 0 0 14px; }
.footer a { display: block; color: #a8b8d6; margin: 8px 0; font-size: 14px; }
.footer a:hover { color: #fff; }
.whatsapp-float { position: fixed; right: 22px; bottom: 22px; width: 58px; height: 58px; border-radius: 50%; background: #16c784; color: #fff; display: grid; place-items: center; font-size: 26px; box-shadow: 0 12px 24px rgba(22,199,132,.35); z-index: 40; }

.reveal { opacity: 0; transform: translateY(24px); transition: .75s ease; }
.reveal.active { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: .12s; }
.delay-2 { transition-delay: .22s; }
.delay-3 { transition-delay: .32s; }

@media (max-width: 980px) {
    .btn-nav { display: none; }
    .menu-toggle { display: block; }
    .menu { position: absolute; top: 84px; left: 20px; right: 20px; padding: 20px; border-radius: 18px; background: #fff; box-shadow: var(--shadow); flex-direction: column; align-items: flex-start; display: none; }
    .menu.open { display: flex; }
    .hero-grid, .about-grid, .journey-grid, .dashboard-grid { grid-template-columns: 1fr; }
    .hero-visual { min-height: auto; }
    .floating-card { display: none; }
    .modules-grid, .benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .journey-flow { flex-wrap: wrap; justify-content: center; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .container { width: min(100% - 28px, 1180px); }
    .section, .hero { padding: 64px 0; }
    .nav { min-height: 72px; }
    .brand img { width: 145px; }
    h1 { font-size: 42px; }
    .hero-actions { flex-direction: column; }
    .btn { width: 100%; }
    .trust-row { flex-direction: column; gap: 10px; }
    .notebook { transform: none; border-radius: 18px; padding: 10px; }
    .notebook img { height: 330px; }
    .stats-grid, .modules-grid, .benefits-grid, .footer-grid { grid-template-columns: 1fr; }
    .journey-flow { padding: 20px; }
    .arrow { display: none; }
    .cta-card { flex-direction: column; align-items: flex-start; padding: 30px; }
    .whatsapp-float { width: 52px; height: 52px; }
}

/* Ajuste da seção "Criado por um dono de escola" */
.founder-section {
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    padding-bottom: 72px;
}
.founder-layout {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 78px;
    align-items: center;
}
.founder-photo-block {
    position: relative;
    padding-left: 34px;
}
.photo-bg {
    position: absolute;
    left: 0;
    top: -28px;
    width: 225px;
    height: 560px;
    border-radius: 38px;
    background: linear-gradient(180deg, #005bd8, #0077ff);
    z-index: 0;
}
.founder-photo {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 560px;
    border-radius: 26px;
    display: block;
    box-shadow: 0 24px 55px rgba(9,38,83,.14);
    object-fit: cover;
}
.founder-name {
    margin: 22px 0 0 34px;
}
.founder-name h3 {
    color: var(--blue);
    font-size: 28px;
    margin-bottom: 6px;
}
.founder-name p {
    margin-bottom: 4px;
    font-size: 16px;
    color: var(--dark);
}
.founder-name strong { color: var(--dark); }
.founder-text .line::after {
    content: '';
    width: 72px;
    height: 1px;
    background: #b6c7e6;
    display: inline-block;
    margin-left: 18px;
    vertical-align: middle;
}
.founder-text h2 {
    font-size: clamp(42px, 5vw, 72px);
    max-width: 720px;
}
.founder-text p {
    font-size: 19px;
    max-width: 780px;
}
.founder-text p strong { color: var(--dark); }
.founder-highlight {
    margin-top: 36px;
    display: flex;
    align-items: center;
    gap: 22px;
    background: #eef6ff;
    border: 1px solid #dbeafe;
    border-radius: 20px;
    padding: 24px 28px;
    max-width: 760px;
}
.highlight-icon {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue), var(--blue-2));
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 28px;
    flex: 0 0 58px;
}
.founder-highlight p {
    margin: 0;
    font-size: 17px;
    line-height: 1.55;
    color: var(--dark);
}
.founder-highlight strong { color: var(--blue); }
.proof-bar {
    margin-top: 64px;
    background: linear-gradient(135deg, #05152f, #002b66);
    color: #fff;
    border-radius: 28px;
    padding: 38px 48px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    box-shadow: 0 24px 50px rgba(9,38,83,.18);
}
.proof-item {
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 16px;
    align-items: center;
    border-right: 1px solid rgba(255,255,255,.22);
    padding-right: 20px;
}
.proof-item:last-child { border-right: 0; }
.proof-item span {
    grid-row: span 2;
    font-size: 42px;
    color: #0d6efd;
}
.proof-item b {
    color: #0d6efd;
    font-size: 26px;
    line-height: 1;
}
.proof-item p {
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    margin: 8px 0 0;
}

@media (max-width: 980px) {
    .founder-layout { grid-template-columns: 1fr; gap: 46px; }
    .photo-bg { height: 460px; }
    .proof-bar { grid-template-columns: repeat(2, 1fr); }
    .proof-item:nth-child(2) { border-right: 0; }
}

@media (max-width: 640px) {
    .founder-photo-block { padding-left: 16px; }
    .photo-bg { width: 150px; height: 360px; border-radius: 28px; top: -16px; }
    .founder-name { margin-left: 14px; }
    .founder-text h2 { font-size: 40px; }
    .founder-highlight { align-items: flex-start; padding: 20px; }
    .proof-bar { grid-template-columns: 1fr; padding: 28px; }
    .proof-item { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); padding: 0 0 20px; }
    .proof-item:last-child { border-bottom: 0; padding-bottom: 0; }
}


/* =======================================
   AJUSTES FINAIS - JORNADA DO ALUNO
======================================= */

.jornada-grid{
    display:grid;
    grid-template-columns:360px 1fr;
    gap:50px;
    align-items:center;
}

.jornada-text h2{
    font-size:56px;
    line-height:1;
    margin-bottom:20px;
}

.jornada-text p{
    font-size:20px;
    max-width:320px;
}

.jornada-list{
    margin-top:25px;
    display:grid;
    gap:14px;
}

.jornada-list span{
    font-weight:700;
    color:var(--dark);
}

.jornada-flow{
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:35px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    box-shadow:var(--shadow);
    overflow-x:auto;
}

.flow-item{
    width:110px;
    height:110px;
    border-radius:50%;
    background:#eef6ff;
    border:1px solid #dbeafe;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    flex-shrink:0;
}

.flow-item strong{
    color:var(--blue);
    font-size:18px;
    margin-bottom:10px;
}

.flow-item span{
    font-size:14px;
    font-weight:700;
    color:var(--dark);
}

.flow-arrow{
    color:var(--blue);
    font-size:20px;
    font-weight:900;
    flex-shrink:0;
}

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

    .jornada-text h2{
        font-size:42px;
    }

    .jornada-text p{
        max-width:100%;
    }

    .jornada-flow{
        justify-content:flex-start;
    }
}

@media(max-width:640px){
    .jornada-text h2{
        font-size:38px;
    }

    .jornada-flow{
        padding:22px;
    }
}

/* =======================================
   WHATSAPP FLUTUANTE OFICIAL
======================================= */

.whatsapp-float{
    position:fixed;
    right:24px;
    bottom:24px;
    width:64px;
    height:64px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 15px 35px rgba(37,211,102,.35);
    z-index:9999;
    transition:.3s ease;
}

.whatsapp-float:hover{
    transform:scale(1.08);
}

.whatsapp-float svg{
    display:block;
}


/* =======================================
   JORNADA DO ALUNO COM ÍCONES
   Atualização visual para parecer SaaS premium
======================================= */

.jornada-flow{
    position:relative;
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border:1px solid #dbeafe;
    border-radius:28px;
    padding:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    box-shadow:0 22px 60px rgba(9,38,83,.10);
    overflow-x:auto;
}

.flow-item{
    position:relative;
    width:122px;
    height:122px;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    flex-shrink:0;
    cursor:default;
    transition:.25s ease;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

.flow-item:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 28px rgba(9,38,83,.10);
}

.flow-number{
    position:absolute;
    top:14px;
    right:18px;
    font-size:12px;
    font-weight:900;
    color:rgba(0,91,216,.75);
}

.flow-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
    margin-bottom:9px;
    background:rgba(255,255,255,.72);
    box-shadow:0 8px 20px rgba(9,38,83,.08);
}

.flow-item span{
    font-size:13px;
    font-weight:800;
    color:var(--dark);
}

.flow-arrow{
    color:#005bd8;
    font-size:22px;
    font-weight:900;
    flex-shrink:0;
    opacity:.9;
}

.flow-item.lead{
    background:#eff6ff;
    border:2px solid #bfdbfe;
}

.flow-item.atendimento{
    background:#eefdf6;
    border:2px solid #bbf7d0;
}

.flow-item.matricula{
    background:#fff7ed;
    border:2px solid #fed7aa;
}

.flow-item.financeiro{
    background:#fefce8;
    border:2px solid #fde047;
}

.flow-item.turma{
    background:#f5f3ff;
    border:2px solid #c4b5fd;
}

.flow-item.certificado{
    background:#ecfeff;
    border:2px solid #a5f3fc;
}

.journey-highlight{
    grid-column:2 / -1;
    margin-top:-18px;
    background:linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
    border:1px solid #dbeafe;
    border-radius:20px;
    padding:24px 30px;
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:28px;
    align-items:center;
    box-shadow:0 16px 38px rgba(9,38,83,.07);
}

.journey-highlight h3{
    margin:0;
    color:var(--blue);
    font-size:25px;
    line-height:1.15;
    letter-spacing:-.03em;
}

.journey-highlight p{
    margin:4px 0;
    font-size:15px;
    line-height:1.45;
    color:var(--muted);
}

.journey-highlight strong{
    color:var(--blue);
}

@media(max-width:980px){
    .journey-highlight{
        grid-column:1 / -1;
        margin-top:0;
    }
}

@media(max-width:640px){
    .jornada-flow{
        padding:24px;
        justify-content:flex-start;
    }

    .flow-item{
        width:112px;
        height:112px;
    }

    .flow-icon{
        width:38px;
        height:38px;
        font-size:22px;
    }

    .journey-highlight{
        grid-template-columns:1fr;
        padding:24px;
    }

    .journey-highlight h3{
        font-size:23px;
    }
}
