/* ===== V3 VISUAL OVERRIDES · vibrante, sem cards brancos ===== */
    :root{
      --bg-page:#eef3ff;
      --hero-deep:#081325;
      --hero-mid:#123ea8;
      --hero-glow:#23c0ff;
      --route-shadow:0 18px 38px rgba(7,18,37,.18);
    }
    body{
      background:linear-gradient(180deg,#edf2ff 0%,#f4f6ff 26%,#eef3ff 100%);
      color:#09172b;
    }
    .topbar{
      background:rgba(8,19,37,.92);
      border-bottom:1px solid rgba(255,255,255,.08);
      box-shadow:0 10px 24px rgba(7,18,37,.18);
    }
    .brand{color:#fff}
    .brand small,.navlinks{color:rgba(255,255,255,.7)}
    .navlinks a:hover{color:#fff}
    .nav-cta{background:linear-gradient(135deg,#34d399,#10b981);color:#062114;box-shadow:0 12px 24px rgba(16,185,129,.25)}
    .menu-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}

    .hero{
      background:
        radial-gradient(circle at 15% 18%, rgba(35,192,255,.28), transparent 20%),
        radial-gradient(circle at 85% 14%, rgba(255,74,143,.22), transparent 24%),
        radial-gradient(circle at 76% 82%, rgba(255,198,76,.18), transparent 18%),
        linear-gradient(135deg,#071224 0%,#0d2c6c 52%,#145cff 100%);
      color:#fff;
      padding:88px 0 58px;
    }
    .hero:before{
      width:700px;height:700px;right:-200px;top:-240px;
      background:radial-gradient(circle,rgba(255,255,255,.10),rgba(255,255,255,0) 68%);
    }
    .hero:after{
      content:"";position:absolute;left:-60px;bottom:-80px;width:420px;height:420px;border-radius:50%;
      background:radial-gradient(circle,rgba(16,185,129,.18),rgba(16,185,129,0) 68%);
      pointer-events:none;
    }
    .eyebrow,.kicker{color:#9cc0ff}
    .eyebrow:before,.kicker:before{background:#8ab4ff}
    h1{max-width:920px}
    .lead{color:rgba(255,255,255,.86)}
    .btn-primary{background:linear-gradient(135deg,#ff5e62,#ff9068);box-shadow:0 12px 30px rgba(255,94,98,.28)}
    .btn-primary:hover{background:linear-gradient(135deg,#ff555c,#ff7f52)}
    .btn-secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22)}
    .btn-secondary:hover{background:rgba(255,255,255,.2)}
    .micro{color:rgba(255,255,255,.78)}
    .micro span:before{color:#5ff0ac}

    .route-preview{
      background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
      color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 50px rgba(2,10,24,.25);
      backdrop-filter:blur(12px);
    }
    .route-preview .badge{background:rgba(255,255,255,.16);color:#fff}
    .route-preview p{color:rgba(255,255,255,.82)}
    .preview-progress{background:rgba(255,255,255,.18)}
    .preview-progress i{background:linear-gradient(90deg,#24d3ee,#5ff0ac,#ffd25f)}
    .today{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
    .today small,.today span{color:rgba(255,255,255,.83)}
    .dots .dot{background:rgba(255,255,255,.14);color:rgba(255,255,255,.82)}
    .dots .dot.done{background:rgba(95,240,172,.18);color:#5ff0ac}
    .dots .dot.now{background:#fff;color:#0a1530}

    section{padding:78px 0}
    .soft{background:linear-gradient(180deg,#edf2ff 0%,#eaf0ff 100%)}
    .section-head h2{color:#09172b}
    .section-head p{color:#4e5d73}

    .finder{
      border:0;
      background:linear-gradient(135deg,#0d1c38 0%,#152c56 46%,#183d91 100%);
      box-shadow:0 22px 50px rgba(7,18,37,.18);
    }
    .finder-form{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border-color:rgba(255,255,255,.10)}
    .finder-result{background:linear-gradient(160deg,rgba(36,211,238,.18),rgba(255,255,255,.06));color:#fff}
    .finder-form .field label,.result-card h3,.result-empty strong{color:#fff}
    .finder-form .field select{
      background:rgba(255,255,255,.12);
      border-color:rgba(255,255,255,.16);
      color:#fff;
    }
    .finder-form .field select:focus{border-color:#8ab4ff;box-shadow:0 0 0 3px rgba(138,180,255,.18)}
    .finder-form .field select option{color:#09172b}
    .finder-note,.result-empty,.result-card>p,.result-why{color:rgba(255,255,255,.78)}
    .pill{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.14)}
    .pill.blue{background:rgba(95,240,172,.17);color:#e9fff5;border-color:rgba(95,240,172,.18)}
    .alt-title{color:#cfe0ff}
    .alt{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);color:#fff}
    .alt:hover{background:rgba(255,255,255,.16)}

    .family{border:0;color:#fff;box-shadow:var(--route-shadow)}
    .family p{color:rgba(255,255,255,.88)}
    .family .f-symbol{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(8px)}
    .family:nth-child(1){background:linear-gradient(135deg,#145cff,#3fa2ff)}
    .family:nth-child(2){background:linear-gradient(135deg,#09b66d,#35d69d)}
    .family:nth-child(3){background:linear-gradient(135deg,#ffb703,#ff8a00)}
    .family:nth-child(4){background:linear-gradient(135deg,#d946ef,#8b5cf6)}
    .family:nth-child(5){background:linear-gradient(135deg,#06b6d4,#0ea5e9)}
    .family:nth-child(6){background:linear-gradient(135deg,#ef4444,#ff7a59)}

    .toolbar .filter{border:0;background:#dfe7ff;color:#173466;box-shadow:0 4px 10px rgba(16,40,80,.08)}
    .toolbar .filter.active{background:linear-gradient(135deg,#09172b,#145cff);color:#fff}

    .route-card{
      border:0;
      color:#fff;
      box-shadow:var(--route-shadow);
      overflow:hidden;
      position:relative;
      min-height:310px;
    }
    .route-card:before{
      content:"";position:absolute;inset:auto -24px -30px auto;width:140px;height:140px;border-radius:50%;
      background:radial-gradient(circle,rgba(255,255,255,.20),rgba(255,255,255,0) 64%);
      pointer-events:none;
    }
    .route-card .route-label,.route-card h3,.route-card p,.route-card .pill{position:relative;z-index:1}
    .route-card .route-label{color:rgba(255,255,255,.88)}
    .route-card p{color:rgba(255,255,255,.88)}
    .route-card .meta-row .pill{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.14)}
    .route-card .meta-row .pill.blue{background:rgba(255,255,255,.22)}
    .route-card button{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#fff}
    .route-card button:hover{background:rgba(255,255,255,.22)}
    .route-card[data-intent="start"]{background:linear-gradient(135deg,#145cff,#47a0ff)}
    .route-card[data-intent="learn"]{background:linear-gradient(135deg,#0dbb76,#36d39d)}
    .route-card[data-intent="recover"]{background:linear-gradient(135deg,#ffb703,#ff8a00)}
    .route-card[data-intent="meaning"]{background:linear-gradient(135deg,#d946ef,#8b5cf6)}
    .route-card[data-intent="routine"]{background:linear-gradient(135deg,#06b6d4,#0ea5e9)}
    .route-card[data-intent="exam"]{background:linear-gradient(135deg,#ef4444,#ff7a59)}
    .route-card[data-intent="future"]{background:linear-gradient(135deg,#6d28d9,#8b5cf6)}

    .logic-step{border:0;color:#fff;box-shadow:var(--route-shadow)}
    .logic-step span{color:rgba(255,255,255,.88)}
    .logic-step b{color:rgba(255,255,255,.82)}
    .logic-step:nth-child(1){background:linear-gradient(135deg,#145cff,#47a0ff)}
    .logic-step:nth-child(2){background:linear-gradient(135deg,#09b66d,#35d69d)}
    .logic-step:nth-child(3){background:linear-gradient(135deg,#ff8a00,#ffb703)}
    .logic-step:nth-child(4){background:linear-gradient(135deg,#d946ef,#8b5cf6)}
    .logic-note{background:linear-gradient(135deg,#09172b,#173b7a);border:0;color:#dce6ff}
    .logic-note strong{color:#fff}

    .role{border:0;color:#fff;box-shadow:0 12px 26px rgba(7,18,37,.10)}
    .role .tag,.role h3,.role a{color:#fff}
    .role p{color:rgba(255,255,255,.86)}
    .role:nth-child(8n+1){background:linear-gradient(135deg,#145cff,#3fa2ff)}
    .role:nth-child(8n+2){background:linear-gradient(135deg,#09b66d,#35d69d)}
    .role:nth-child(8n+3){background:linear-gradient(135deg,#ffb703,#ff8a00)}
    .role:nth-child(8n+4){background:linear-gradient(135deg,#d946ef,#8b5cf6)}
    .role:nth-child(8n+5){background:linear-gradient(135deg,#06b6d4,#0ea5e9)}
    .role:nth-child(8n+6){background:linear-gradient(135deg,#ef4444,#ff7a59)}
    .role:nth-child(8n+7){background:linear-gradient(135deg,#7c3aed,#b5179e)}
    .role:nth-child(8n+8){background:linear-gradient(135deg,#0f766e,#14b8a6)}

    .compare article{border:0;color:#fff;box-shadow:var(--route-shadow)}
    .compare .num,.compare p{color:rgba(255,255,255,.88)}
    .compare article:nth-child(1){background:linear-gradient(135deg,#06b6d4,#0ea5e9)}
    .compare article:nth-child(2){background:linear-gradient(135deg,#0dbb76,#36d39d)}
    .compare article:nth-child(3){background:linear-gradient(135deg,#145cff,#8b5cf6)}

    .cta{background:linear-gradient(135deg,#09172b 0%,#123ea8 100%);box-shadow:0 24px 46px rgba(7,18,37,.18)}
    .cta .btn{background:linear-gradient(135deg,#ff5e62,#ff9068);color:#fff}
    footer{background:#071224;border-top:0;color:#b4c1d7}
    footer a{color:#fff}

    dialog{background:#0d1c38;color:#fff}
    .modal-head{background:linear-gradient(135deg,#09172b,#123ea8);border-bottom:1px solid rgba(255,255,255,.10)}
    .modal-head h2,.modal-head p,.modal-head .kicker{color:#fff}
    .close{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.18)}
    .modal-body{background:linear-gradient(180deg,#102347,#0d1c38)}
    .summary-box,.day,.route-rule{border:0;box-shadow:0 10px 22px rgba(2,10,24,.20)}
    .summary-box{background:linear-gradient(135deg,#145cff,#3fa2ff);color:#fff}
    .summary-box span{color:rgba(255,255,255,.88)}
    .route-progressbar{background:rgba(255,255,255,.16)}
    .day{background:rgba(255,255,255,.08);color:#fff}
    .day-index{background:rgba(255,255,255,.16);color:#fff}
    .day .day-sub,.day-content p{color:rgba(255,255,255,.84)}
    .exp{background:rgba(95,240,172,.18);color:#e9fff5}
    .day-content{background:rgba(255,255,255,.04);border-top:1px solid rgba(255,255,255,.08)}
    .small-btn{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.16)}
    .small-btn.primary{background:linear-gradient(135deg,#ff5e62,#ff9068);border-color:transparent}
    .toggle-day{color:#dce6ff}
    .done-btn.done{background:rgba(95,240,172,.18);color:#5ff0ac;border-color:rgba(95,240,172,.20)}
    .route-rule{background:linear-gradient(135deg,#ffb703,#ff8a00);color:#412300}

    @media(max-width:980px){
      .hero{padding:54px 0 42px}
      .route-card,.family,.role,.logic-step,.compare article{min-height:0}
    }
  

    /* ===== V4 LAYOUT + NAVEGAÇÃO VIVA ===== */
    .hero-signals{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
    .signal-chip{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:13px;font-weight:850;backdrop-filter:blur(8px)}
    .signal-dot{width:11px;height:11px;border-radius:50%}
    .signal-dot.blue{background:#52a7ff;box-shadow:0 0 0 5px rgba(82,167,255,.16)}
    .signal-dot.green{background:#52e39f;box-shadow:0 0 0 5px rgba(82,227,159,.16)}
    .signal-dot.yellow{background:#ffd25f;box-shadow:0 0 0 5px rgba(255,210,95,.16)}
    .signal-dot.red{background:#ff7a59;box-shadow:0 0 0 5px rgba(255,122,89,.16)}
    .pathband-section{padding:0 0 28px;background:transparent;margin-top:-18px}
    .pathband{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:20px;border-radius:26px;background:linear-gradient(135deg,#081325,#123ea8);box-shadow:0 22px 50px rgba(7,18,37,.18)}
    .pathnode{position:relative;padding:18px 16px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);color:#fff;min-height:120px}
    .pathnode:not(:last-child):after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#123ea8;font-weight:1000;box-shadow:0 8px 18px rgba(6,12,24,.18)}
    .pathnode .step-no{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.16);font-size:13px;font-weight:900;margin-bottom:10px}
    .pathnode strong{display:block;font-size:17px;margin-bottom:4px}
    .pathnode p{margin:0;color:rgba(255,255,255,.84);font-size:13px;line-height:1.45}
    .pathnode:nth-child(1){background:linear-gradient(135deg,#145cff,#3fa2ff)}
    .pathnode:nth-child(2){background:linear-gradient(135deg,#0dbb76,#36d39d)}
    .pathnode:nth-child(3){background:linear-gradient(135deg,#ffb703,#ff8a00)}
    .pathnode:nth-child(4){background:linear-gradient(135deg,#d946ef,#8b5cf6)}
    .pathnode:nth-child(5){background:linear-gradient(135deg,#ef4444,#ff7a59)}

    .route-grid{grid-auto-flow:dense;align-items:stretch}
    .route-card.featured{grid-column:span 2;min-height:340px}
    .route-card.tall{min-height:350px}
    .route-card .accent-line{height:6px;width:72px;border-radius:999px;background:rgba(255,255,255,.74);margin-bottom:14px}
    .route-card .route-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
    .route-card .route-kpis span{padding:10px 10px 9px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:800;color:rgba(255,255,255,.9)}
    .route-card .route-kpis b{display:block;font-size:16px;color:#fff;line-height:1;margin-bottom:4px}
    .route-card.featured h3{font-size:26px}
    .route-card.featured p{font-size:15px;max-width:92%}
    .route-card.featured .route-label{font-size:12px}
    .route-card.featured .meta-row{margin-top:0}

    @media(max-width:980px){
      .pathband{grid-template-columns:1fr 1fr}
      .pathnode:nth-child(2):after,.pathnode:nth-child(4):after{display:none}
      .route-card.featured{grid-column:span 1;min-height:320px}
    }
    @media(max-width:680px){
      .hero-signals{display:grid;grid-template-columns:1fr 1fr}
      .pathband{grid-template-columns:1fr;padding:16px}
      .pathnode:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-14px;transform:translateX(-50%)}
      .route-card .route-kpis{grid-template-columns:1fr 1fr 1fr}
    }
    @media(max-width:430px){
      .hero-signals{grid-template-columns:1fr}
      .route-card .route-kpis{grid-template-columns:1fr 1fr}
    }
