:root{
    --bg-dark:#0a1628;
    --bg-card-dark:#0d1b2a;
    --bg-light:#ffffff;
    --bg-alt:#f5f7fa;
    --text-dark:#0a1628;
    --text-light:#ffffff;
    --muted:#5b6472;
    --muted-light:#c7cdd9;
    --purple:#735f97;
    --blue:#4459a0;
    --cyan:#0eb0cc;
    --border-light:#e9ecf1;
    --border-dark:rgba(255,255,255,.09);
    --grad:linear-gradient(90deg,var(--purple),var(--blue),var(--cyan));
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html,body{height:100%;overflow:hidden;}
  body{
    font-family:'Montserrat',sans-serif;
    background:var(--bg-dark);
    color:var(--text-dark);
    -webkit-font-smoothing:antialiased;
  }

  .deck{position:relative;width:100vw;height:100vh;}

  .slide{
    position:absolute;
    top:0;left:0;width:100%;height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transform:translateY(28px);
    transition:opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1), visibility 0s linear .55s;
    padding:6.5vh 8vw;
    overflow:hidden;
  }
  .slide.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    transition:opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1), visibility 0s linear 0s;
  }
  .slide.leaving{transform:translateY(-28px);}

  .slide.dark{background:var(--bg-dark);color:var(--text-light);}
  .slide.light{background:var(--bg-light);color:var(--text-dark);}
  .slide.alt{background:var(--bg-alt);color:var(--text-dark);}

  /* decorative blobs */
  .blob{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;z-index:0;}
  .blob-purple{background:radial-gradient(circle at 30% 30%, var(--purple), transparent 70%);}
  .blob-cyan{background:radial-gradient(circle at 30% 30%, var(--cyan), transparent 70%);}

  /* subtle grid, hero-style */
  .grid-bg{
    position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:56px 56px;
    -webkit-mask-image:radial-gradient(ellipse 70% 60% at 30% 40%, black 40%, transparent 80%);
            mask-image:radial-gradient(ellipse 70% 60% at 30% 40%, black 40%, transparent 80%);
  }

  .content{position:relative;z-index:1;max-width:1180px;width:100%;margin:0 auto;}

  .eyebrow{
    font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:lowercase;
    color:var(--cyan);margin-bottom:1.1rem;
  }
  .slide.light .eyebrow, .slide.alt .eyebrow{color:var(--purple);}

  h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;line-height:1.12;letter-spacing:-.01em;}
  h2{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:800;line-height:1.16;letter-spacing:-.01em;margin-bottom:.6rem;}
  .subtitle{font-size:1.05rem;color:var(--muted-light);margin-top:1rem;max-width:640px;}
  .slide.light .subtitle, .slide.alt .subtitle{color:var(--muted);}

  .grad-text{
    background:var(--grad);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
  }

  .pill{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.7rem 1.6rem;border-radius:999px;
    background:var(--grad);color:#fff;font-weight:700;font-size:.85rem;
    box-shadow:0 12px 28px -10px rgba(68,89,160,.55);
  }

  .tag-label{
    display:inline-flex;align-items:center;
    font-weight:600;font-size:.85rem;letter-spacing:.03em;color:var(--muted-light);
  }
  .tag-label::before{
    content:"";width:8px;height:8px;border-radius:50%;background:var(--grad);flex:0 0 auto;
    margin-right:.6rem;
  }
  .slide.light .tag-label, .slide.alt .tag-label{color:var(--muted);}

  .footer-tag{
    position:absolute;left:8vw;bottom:5vh;font-size:.72rem;color:#6b7690;z-index:1;
  }
  .slide.light .footer-tag, .slide.alt .footer-tag{color:#9aa3b4;}

  /* ---- slide 1 & 8: cover / closing ---- */
  .cover-head{font-size:clamp(2.5rem,5.2vw,4rem);font-weight:800;line-height:1.08;margin:1.1rem 0 1.3rem;}

  /* ---- agenda list ---- */
  .agenda-list{margin-top:2.4rem;display:flex;flex-direction:column;gap:1rem;}
  .agenda-item{
    display:flex;align-items:center;
    background:#fff;border:1px solid var(--border-light);border-radius:16px;
    padding:1.15rem 1.6rem;
    box-shadow:0 10px 30px -18px rgba(10,22,40,.18);
  }
  .badge{
    flex:0 0 auto;width:52px;height:52px;border-radius:50%;
    background:var(--grad);color:#fff;font-weight:700;font-size:1.05rem;
    display:flex;align-items:center;justify-content:center;
  }
  .agenda-item .txt{margin-left:1.4rem;}
  .agenda-item h3{font-size:1.05rem;font-weight:700;margin-bottom:.15rem;}
  .agenda-item p{font-size:.85rem;color:var(--muted);}
  .agenda-item.c1{background:#f1eef7;border-color:#e3daf0;}
  .agenda-item.c2{background:#ecf0f8;border-color:#d9e2f3;}
  .agenda-item.c3{background:#e9f8fb;border-color:#cdf0f6;}

  /* ---- comparison ---- */
  .compare-title{margin:1.4rem 0 2.2rem;}
  .compare-grid{display:flex;gap:1.4rem;}
  .compare-grid > *{flex:1 1 0;min-width:0;}
  .compare-card{border-radius:18px;padding:1.7rem 1.8rem;}
  .compare-card.plain{background:var(--bg-card-dark);}
  .compare-card.highlight{
    position:relative;background:var(--grad);padding:2px;
  }
  .compare-card.highlight .inner{
    background:var(--bg-dark);border-radius:16px;height:100%;padding:1.55rem 1.7rem;
  }
  .compare-card h4{font-size:1rem;font-weight:700;margin-bottom:1.1rem;color:#9aa3b4;}
  .compare-card.highlight h4{color:#fff;}
  .compare-card ul{list-style:none;display:flex;flex-direction:column;gap:.65rem;}
  .compare-card li{font-size:.92rem;color:var(--muted-light);padding-left:1.2rem;position:relative;}
  .compare-card li::before{
    content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;
    background:var(--cyan);
  }
  .compare-card.highlight li{color:#e6eff0;}

  /* ---- slide 3: about + stats ---- */
  .about-text{max-width:820px;font-size:1rem;color:var(--muted-light);line-height:1.65;margin:1.3rem 0 2.3rem;}
  .stats-row{display:flex;gap:1.2rem;}
  .stats-row > *{flex:1 1 0;min-width:0;}
  .stat-card{
    border-radius:16px;padding:1.5rem 1.4rem;
    background:var(--bg-card-dark);border:1px solid var(--border-dark);
  }
  .stat-num{font-size:2.6rem;font-weight:800;line-height:1;margin-bottom:.6rem;}
  .stat-label{font-size:.88rem;color:#cbd2df;line-height:1.4;margin-bottom:.7rem;}
  .stat-source{font-size:.68rem;color:#6b7690;}

  /* ---- process steps ---- */
  .steps{margin-top:2.4rem;display:flex;gap:1.1rem;position:relative;}
  .steps > *{flex:1 1 0;min-width:0;}
  .step-card{
    background:#fff;border:1px solid var(--border-light);border-radius:16px;
    padding:1.6rem 1.1rem;text-align:center;
    box-shadow:0 10px 30px -18px rgba(10,22,40,.18);
    position:relative;
  }
  .step-card.final{background:var(--grad);padding:2px;box-shadow:0 14px 34px -14px rgba(14,176,204,.45);}
  .step-card.final .inner{background:var(--bg-dark);border-radius:14px;height:100%;padding:1.5rem 1rem;}
  .step-num{
    width:56px;height:56px;border-radius:50%;background:var(--grad);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;
    margin:0 auto .9rem;
  }
  .step-card h4{font-size:1rem;font-weight:700;margin-bottom:.5rem;}
  .step-card.final h4, .step-card.final p{color:#fff;}
  .step-card p{font-size:.8rem;color:var(--muted);line-height:1.4;}
  .step-arrow{
    position:absolute;top:50%;right:-1rem;transform:translateY(-50%);
    color:var(--purple);font-size:1.2rem;z-index:2;
  }

  /* ---- prazo ---- */
  .prazo-grid{display:flex;gap:1.4rem;margin-top:2.2rem;}
  .prazo-grid > *{flex:1 1 0;min-width:0;}
  .prazo-card{
    background:#fff;border:1px solid var(--border-light);border-radius:18px;
    padding:2.4rem 2rem;text-align:center;
    box-shadow:0 14px 34px -18px rgba(10,22,40,.2);
  }
  .prazo-logo{font-size:2.1rem;font-weight:800;margin-bottom:.6rem;}
  .prazo-days{font-size:1.15rem;font-weight:700;margin-top:.3rem;}
  .prazo-note{font-size:.82rem;color:var(--muted);font-style:italic;margin-top:.4rem;}
  .tip-card{
    background:var(--bg-dark);border-radius:18px;padding:2.1rem 2rem;color:#fff;
    display:flex;flex-direction:column;justify-content:center;
  }
  .tip-card h4{color:var(--cyan);font-size:1.02rem;margin-bottom:.9rem;}
  .tip-card p{font-size:.93rem;color:#d7dce5;line-height:1.6;}

  /* ---- questions ---- */
  .q-list{margin-top:2.2rem;display:flex;flex-direction:column;gap:1.1rem;}
  .q-item{
    display:flex;align-items:center;
    background:#fff;border:1px solid var(--border-light);border-radius:16px;
    padding:1.35rem 1.7rem;
    box-shadow:0 10px 30px -18px rgba(10,22,40,.18);
  }
  .q-num{
    flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:700;
  }
  .q-item p{font-size:1.05rem;font-weight:500;margin-left:1.4rem;}
  .q-item.on-dark{
    background:var(--grad);padding:2px;box-shadow:none;border:none;
  }
  .q-item.on-dark .q-inner{
    display:flex;align-items:center;background:var(--bg-dark);border-radius:14px;
    padding:1.3rem 1.65rem;width:100%;
  }
  .q-item.on-dark p{color:#e9ecf5;margin-left:1.4rem;}

  /* ---- next steps ---- */
  .next-grid{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:1.1rem;}
  .next-grid > *{flex:1 1 calc(50% - .55rem);min-width:280px;}
  .next-card{
    background:#fff;border:1px solid var(--border-light);border-radius:16px;
    padding:1.3rem 1.5rem;display:flex;align-items:flex-start;
    box-shadow:0 10px 30px -18px rgba(10,22,40,.18);
  }
  .check{
    flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--grad);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;
  }
  .next-card .txt{margin-left:1rem;}
  .next-card h4{font-size:.98rem;font-weight:700;margin-bottom:.3rem;}
  .next-card p{font-size:.82rem;color:var(--muted);line-height:1.4;}

  /* ---- nav controls ---- */
  .nav{
    position:fixed;bottom:4vh;left:50%;transform:translateX(-50%);
    display:flex;align-items:center;gap:1.1rem;z-index:50;
  }
  .nav button{
    width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;
    background:rgba(10,22,40,.65);color:#fff;font-size:1.1rem;
    display:flex;align-items:center;justify-content:center;
    transition:background .2s ease, transform .2s ease;
    backdrop-filter:blur(6px);
  }
  .nav button:hover{background:var(--purple);transform:scale(1.06);}
  .nav button:disabled{opacity:.3;cursor:default;}
  .nav button:disabled:hover{background:rgba(10,22,40,.65);transform:none;}
  .dots{display:flex;gap:.45rem;}
  .dot{
    width:8px;height:8px;border-radius:50%;background:rgba(10,22,40,.22);cursor:pointer;
    transition:transform .2s ease, background .2s ease;
  }
  .dot.on{background:var(--grad);transform:scale(1.3);}

  .counter{
    position:fixed;top:4.5vh;right:5vw;z-index:50;
    font-size:.78rem;color:#9aa3b4;font-weight:600;letter-spacing:.05em;
  }

  @media (max-width:900px){
    .compare-grid,.prazo-grid,.stats-row{flex-direction:column;}
    .steps{flex-wrap:wrap;}
    .steps > *{flex:1 1 calc(50% - .55rem);min-width:200px;}
    .step-arrow{display:none;}
  }
