:root{
  /* --- tokens -------------------------------------------------- */
  --blue:#0018FF;
  --blue-soft:#3049FF;
  --blue-dim:#000EB8;
  --offwhite:#F1F1F1;
  --paper:#FAFAFA;
  --ink:#08080D;
  --ink-soft:#131318;
  --ink-raise:#1C1C24;
  --gray:#8C8C9A;
  --gray-dim:#54545F;
  --line-on-dark:rgba(241,241,245,0.10);
  --line-on-dark-strong:rgba(241,241,245,0.18);
  --line-on-light:rgba(8,8,13,0.09);
  --line-on-light-strong:rgba(8,8,13,0.16);
  --success:#17C787;
  --font-display:'Cal Sans','Outfit',ui-sans-serif,system-ui,sans-serif;
  --font-body:'Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;

  --fs-mega:clamp(3.6rem,10.5vw,8.8rem);
  --fs-hero:clamp(2.1rem,4.6vw,4.6rem);
  --fs-xl:clamp(1.6rem,3.1vw,2.9rem);
  --fs-lg:clamp(1.15rem,1.9vw,1.6rem);
  --fs-body:clamp(0.92rem,1.05vw,1.1rem);
  --fs-sm:clamp(0.8rem,0.9vw,0.94rem);
  --fs-label:clamp(0.62rem,0.72vw,0.72rem);

  --pad:clamp(24px,4.4vw,76px);
  --pad-top:clamp(22px,4vw,56px);
  --radius-lg:28px;
  --radius-md:18px;
  --radius-sm:11px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-soft:cubic-bezier(.33,1,.68,1);

  color-scheme: dark;
}

*{box-sizing:border-box;}
html,body{height:100%;}
html{overflow:hidden;}
body{
  margin:0;
  background:var(--ink);
  color:var(--offwhite);
  font-family:var(--font-body);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--blue);color:#fff;}
h1,h2,h3,p{margin:0;}
button{font-family:inherit;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

@font-face{
  font-family:'Cal Sans';
  font-style:normal;
  font-display:swap;
  font-weight:400 700;
  src:url("cal-sans.woff2") format('woff2');
}

/* ================= DECK SHELL ================= */
/* Carrossel: rolagem horizontal nativa com "snap" — arrastar no celular
   (e no trackpad) passa de slide; cada slide rola na vertical quando o
   conteúdo não cabe na altura da tela, então nada fica cortado. */
#deck{
  position:relative;
  width:100%;
  height:100vh;
  height:100dvh;
  background:var(--ink);
  display:flex;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
#deck::-webkit-scrollbar{display:none;}
#deck.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none;-webkit-user-select:none;}

.slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:var(--pad-top) var(--pad) calc(var(--pad) + 52px);
  scroll-snap-align:start;
  scroll-snap-stop:always;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
}
.slide > *{flex-shrink:0;}
.slide--dark{background:var(--ink);color:var(--offwhite);}
.slide--light{background:var(--offwhite);color:var(--ink);}
.slide--blue{background:linear-gradient(165deg,var(--blue) 0%,var(--blue-dim) 100%);color:#fff;}

.slide__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;}
.slide > *:not(.slide__bg){position:relative;z-index:1;}

.mesh-dark{
  background:
    radial-gradient(42% 46% at 14% 8%, rgba(48,73,255,.22) 0%, transparent 70%),
    radial-gradient(38% 42% at 92% 86%, rgba(48,73,255,.14) 0%, transparent 72%);
}
.mesh-light{
  background:
    radial-gradient(36% 40% at 88% 6%, rgba(0,24,255,.07) 0%, transparent 70%),
    radial-gradient(30% 34% at 6% 94%, rgba(0,24,255,.05) 0%, transparent 72%);
}
.mesh-blue{
  background:
    radial-gradient(42% 46% at 14% 8%, rgba(255,255,255,.12) 0%, transparent 70%),
    radial-gradient(38% 42% at 92% 86%, rgba(255,255,255,.08) 0%, transparent 72%);
}
.grid-overlay{
  background-image:linear-gradient(var(--line-on-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-on-dark) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(60% 60% at 50% 40%, #000 0%, transparent 78%);
  opacity:.5;
}
.slide--light .grid-overlay{
  background-image:linear-gradient(var(--line-on-light) 1px, transparent 1px), linear-gradient(90deg, var(--line-on-light) 1px, transparent 1px);
}

/* ================= TOP BAR ================= */
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:clamp(18px,3vw,40px);
  flex:0 0 auto;
}
.brand-mark{display:flex;align-items:center;gap:10px;opacity:.92;}
.brand-mark img{height:clamp(18px,2vw,26px);width:auto;display:block;}
.eyebrow{
  font-family:var(--font-body);
  font-size:var(--fs-label);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--gray);
}
.slide--light .eyebrow{color:var(--gray-dim);}
.slide--blue .eyebrow{color:rgba(255,255,255,.72);}

/* ================= TEXT ================= */
.headline{
  font-family:var(--font-display);
  font-weight:600;
  font-size:var(--fs-hero);
  line-height:1.05;
  letter-spacing:-.01em;
  text-wrap:balance;
}
.headline .accent{color:var(--blue-soft);}
.slide--light .headline .accent{color:var(--blue);}
.slide--blue .headline{color:#fff;}

.sub{
  font-size:var(--fs-lg);
  line-height:1.5;
  color:var(--gray);
  max-width:46ch;
  margin-top:clamp(10px,1.6vw,18px);
}
.slide--light .sub{color:var(--gray-dim);}
.slide--blue .sub{color:rgba(255,255,255,.82);}

.closing{
  font-family:var(--font-display);
  font-weight:600;
  font-size:var(--fs-xl);
  line-height:1.15;
  letter-spacing:-.01em;
}

/* word/line reveal */
.reveal-word{display:inline-block;overflow:hidden;vertical-align:top;}
.reveal-word > span{display:inline-block;transform:translateY(110%);transition:transform .72s var(--ease);}
.is-active .reveal-word > span{transform:translateY(0);}

.stagger > *{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease-soft), transform .5s var(--ease-soft);}
.is-active .stagger > *{opacity:1;transform:translateY(0);}
.stagger > *:nth-child(1){transition-delay:.05s;}
.stagger > *:nth-child(2){transition-delay:.12s;}
.stagger > *:nth-child(3){transition-delay:.19s;}
.stagger > *:nth-child(4){transition-delay:.26s;}
.stagger > *:nth-child(5){transition-delay:.33s;}
.stagger > *:nth-child(6){transition-delay:.40s;}
.stagger > *:nth-child(7){transition-delay:.47s;}
.stagger > *:nth-child(8){transition-delay:.54s;}
.stagger > *:nth-child(9){transition-delay:.61s;}

/* ================= BODY AREA ================= */
.slide__body{
  flex:1 0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:clamp(18px,2.6vw,34px);
}
.slide__row{display:flex;gap:clamp(20px,3vw,48px);align-items:center;min-height:0;}
.slide__row > *{min-width:0;}
.col{display:flex;flex-direction:column;gap:clamp(10px,1.4vw,18px);min-width:0;}

/* ================= CARDS ================= */
.card{
  border-radius:var(--radius-md);
  border:1px solid var(--line-on-dark);
  background:var(--ink-raise);
  padding:clamp(14px,1.6vw,22px);
}
.slide--light .card{
  background:#fff;
  border-color:var(--line-on-light);
  box-shadow:0 1px 2px rgba(8,8,13,.04), 0 16px 32px -20px rgba(8,8,13,.18);
}

.metric-card{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:clamp(14px,1.6vw,20px) clamp(16px,1.9vw,22px);
  border-radius:var(--radius-sm);
  border:1px solid var(--line-on-dark);
  background:var(--ink-raise);
}
.slide--light .metric-card{background:#fff;border-color:var(--line-on-light);}
.metric-card .num{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,2.4vw,2.3rem);letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
.metric-card .lbl{font-size:var(--fs-sm);color:var(--gray);}
.slide--light .metric-card .lbl{color:var(--gray-dim);}

.feature-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:clamp(16px,1.8vw,22px);
  border-radius:var(--radius-sm);
  border:1px solid var(--line-on-dark-strong);
  background:linear-gradient(165deg, var(--ink-raise) 0%, var(--ink-soft) 100%);
}
.feature-card .ic{
  width:34px;height:34px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(48,73,255,.16);
  color:var(--blue-soft);
  font-size:16px;
}
.feature-card .ti{font-weight:600;font-size:var(--fs-body);}
.feature-card .tx{font-size:var(--fs-sm);color:var(--gray);line-height:1.4;}

.chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 13px;border-radius:999px;
  border:1px solid var(--line-on-dark-strong);
  background:var(--ink-raise);
  font-size:var(--fs-sm);
  font-weight:500;
  white-space:nowrap;
}
.slide--light .chip{background:#fff;border-color:var(--line-on-light-strong);}

.badge-ok{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px 5px 8px;border-radius:999px;
  background:rgba(23,199,135,.14);
  color:var(--success);
  font-size:var(--fs-sm);
  font-weight:600;
}
.badge-ok svg{width:13px;height:13px;flex:none;}

/* ================= FLOW STEPS ================= */
.flow{display:flex;align-items:stretch;gap:0;width:100%;}
.flow-step{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  flex:1 1 0;min-width:0;
  text-align:center;
}
.flow-step .dot{
  width:11px;height:11px;border-radius:50%;
  background:var(--blue-soft);
  box-shadow:0 0 0 5px rgba(48,73,255,.16);
  flex:none;
}
.flow-step .tx{font-size:var(--fs-sm);font-weight:600;line-height:1.25;}
.flow-connector{flex:0 0 auto;align-self:flex-start;margin-top:5px;height:1px;width:100%;position:relative;top:0;}
.flow-line-wrap{display:flex;align-items:center;width:100%;position:relative;}
.flow-track{position:absolute;left:5.5%;right:5.5%;top:5px;height:1px;background:var(--line-on-dark-strong);}
.slide--light .flow-track{background:var(--line-on-light-strong);}
.flow-fill{position:absolute;left:5.5%;top:5px;height:1px;width:0;background:var(--blue-soft);transition:width 1.5s var(--ease) .25s;}
.is-active .flow-fill{width:89%;}

/* ================= NAV ================= */
.progressbar{
  position:fixed;top:0;left:0;height:3px;
  background:var(--blue-soft);
  box-shadow:0 1px 2px rgba(255,255,255,.35);
  z-index:40;
  transition:width .55s var(--ease);
  width:0%;
}
.navbar{
  position:fixed;left:0;right:0;bottom:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(18px,3vw,40px) clamp(14px,2.2vw,26px);
  z-index:30;
  pointer-events:none;
}
.navbar > *{pointer-events:auto;}
.nav-left{
  display:flex;align-items:center;gap:14px;
  padding:9px 16px 9px 18px;border-radius:999px;
  background:rgba(20,20,26,.55);
  backdrop-filter:blur(8px);
  border:1px solid rgba(241,241,245,.14);
}
.counter{
  white-space:nowrap;
  font-size:var(--fs-sm);
  font-variant-numeric:tabular-nums;
  color:rgba(241,241,245,.56);
  letter-spacing:.02em;
}
.dots{display:flex;align-items:center;gap:7px;}
.dot-btn{
  width:7px;height:7px;border-radius:50%;
  background:rgba(241,241,245,.28);
  border:none;cursor:pointer;padding:0;
  transition:background .3s var(--ease), width .3s var(--ease), border-radius .3s var(--ease);
}
.dot-btn.active{width:20px;border-radius:5px;background:var(--blue-soft);}
.dot-btn:hover{background:rgba(241,241,245,.5);}

.nav-right{display:flex;align-items:center;gap:10px;}
.nav-btn{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(241,241,245,.18);
  background:rgba(20,20,26,.55);
  backdrop-filter:blur(8px);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:background .25s var(--ease), border-color .25s var(--ease), transform .2s var(--ease);
}
.nav-btn:hover{background:rgba(48,73,255,.35);border-color:rgba(48,73,255,.5);}
.nav-btn:active{transform:scale(.92);}
.nav-btn:disabled{opacity:.25;cursor:default;}
.nav-btn:disabled:hover{background:rgba(20,20,26,.55);border-color:rgba(241,241,245,.18);}
.nav-btn svg{width:17px;height:17px;}

.fs-btn[hidden]{display:none;}

/* Dica "arraste para o lado" — sempre visível na barra inferior. */
.nav-hint{
  display:flex;align-items:center;justify-content:center;gap:9px;
  min-width:0;
  padding:9px 16px;border-radius:999px;
  background:rgba(20,20,26,.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(241,241,245,.14);
  color:#fff;
  font-size:var(--fs-sm);
  font-weight:600;
  line-height:1.2;
  text-align:center;
  pointer-events:none !important;
}
.nav-hint .hand{display:inline-flex;flex:none;animation:hintSwipe 1.8s var(--ease) infinite;}
.nav-hint .hand svg{width:18px;height:18px;display:block;}
.nav-hint.is-end .hand{animation:none;}
@keyframes hintSwipe{
  0%,100%{transform:translateX(4px);}
  50%{transform:translateX(-5px);}
}
/* Empurrãozinho do carrossel na primeira visita (mostra que tem mais slides). */
#deck.nudge .slide:first-child{animation:deckNudge 1.4s var(--ease) 1;}
@keyframes deckNudge{
  0%,100%{transform:translateX(0);}
  40%{transform:translateX(-46px);}
}

/* ============ SLIDE 1 ============ */
.s1-top{display:flex;justify-content:space-between;align-items:flex-start;}
.s1-stage{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px;position:relative;}
.s1-headline-wrap{position:relative;display:grid;}
.s1-h{
  position:relative;grid-area:1 / 1;width:100%;
  font-family:var(--font-display);font-weight:600;
  font-size:var(--fs-hero);line-height:1.08;letter-spacing:-.01em;
  opacity:0;transform:translateY(14px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.s1-h.show{opacity:1;transform:translateY(0);}
.s1-h .accent{color:var(--blue-soft);}

.s1-flow{position:relative;height:clamp(60px,9vw,108px);width:min(560px,86%);overflow:visible;}
.s1-track{position:absolute;left:0;right:76px;top:50%;height:1px;background:var(--line-on-dark);}
.s1-node{position:absolute;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--gray-dim);opacity:0;}
.s1-node.good{background:var(--success);}
.s1-end{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:14px;
  background:rgba(48,73,255,.16);border:1px solid rgba(48,73,255,.4);
  display:flex;align-items:center;justify-content:center;
  font-size:19px;
}
.slide > .s1-splash{
  position:absolute;inset:0;z-index:6;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(165deg,var(--blue) 0%,var(--blue-dim) 100%);
  opacity:0;visibility:hidden;
  transition:opacity .7s var(--ease), visibility 0s linear .7s;
}
.slide > .s1-splash.in{
  opacity:1;visibility:visible;
  transition:opacity .45s var(--ease), visibility 0s linear 0s;
}
.s1-splash-badge{
  background:#fff;border-radius:28px;
  padding:clamp(22px,3.2vw,38px) clamp(34px,4.8vw,60px);
  box-shadow:0 34px 80px -26px rgba(0,0,0,.45);
  display:inline-flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.86);
  transition:opacity .5s var(--ease), transform .6s var(--ease);
}
.s1-splash.in .s1-splash-badge{
  opacity:1;transform:scale(1);
  transition:opacity .6s var(--ease) .12s, transform .7s var(--ease) .12s;
}
.s1-splash-badge img{height:clamp(50px,6.6vw,88px);width:auto;display:block;}
.slide--blue .s1-h .accent{
  color:#fff;background:rgba(255,255,255,.18);
  padding:.02em .16em;border-radius:.22em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
}
.slide--blue .s1-track{background:rgba(255,255,255,.26);}
.slide--blue .s1-node{background:rgba(255,255,255,.4);}
.slide--blue .s1-node.good{background:var(--success);}
.slide--blue .s1-end{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4);}

/* ============ SLIDE 2 ============ */
.s2-wrap{display:flex;gap:clamp(24px,4vw,64px);flex:1;min-height:0;align-items:center;}
.s2-left{flex:1.05;display:flex;flex-direction:column;gap:9px;min-width:0;}
.s2-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:10px;
  background:rgba(8,8,13,.035);
  border:1px solid var(--line-on-light);
  font-size:var(--fs-sm);
  color:var(--gray-dim);
}
.s2-item .n{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;width:1.6em;flex:none;}
.s2-arrow-col{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;color:var(--line-on-light-strong);}
.s2-right{flex:0 0 auto;width:min(300px,34%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.s2-badge{
  font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);
  letter-spacing:.04em;
  padding:9px 18px;border-radius:999px;
  background:var(--ink);color:#fff;
}
.s2-arrow-big{color:var(--blue);font-size:22px;}
.s2-result{
  padding:22px 20px;border-radius:var(--radius-md);
  background:#fff;border:1px solid var(--line-on-light);
  box-shadow:0 20px 44px -26px rgba(0,24,255,.28);
  display:flex;flex-direction:column;gap:6px;align-items:center;
}
.s2-result .big{font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,3.6vw,3.4rem);color:var(--blue);line-height:1;}
.s2-result .lbl{font-size:var(--fs-sm);color:var(--gray-dim);max-width:16ch;}

/* ============ SLIDE 3 - MATCH ============ */
.s3-stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;position:relative;}
.match-fit{
  position:relative;
  overflow:hidden;
  width:min(440px, 100%, calc(100vh - 250px));
  width:min(440px, 100%, calc(100dvh - 250px));
  min-width:260px;
  aspect-ratio:1 / 1;
  flex:none;
}
.match-ring{
  position:absolute;left:0;top:0;
  width:440px;height:440px;
  transform-origin:0 0;
  transform:scale(var(--ring-s,1));
}
.match-crit{
  position:absolute;top:50%;left:50%;
  width:84px;height:84px;margin:-42px 0 0 -42px;
  border-radius:18px;
  background:var(--ink-raise);
  border:1px solid var(--line-on-dark-strong);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-size:19px;
  opacity:0;transform:scale(.4);
  transition:opacity .55s var(--ease), transform .6s var(--ease);
}
.match-crit{font-size:22px;}
.match-crit .lb{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--gray);text-transform:uppercase;}
.match-line{
  position:absolute;top:50%;left:50%;height:1px;
  background:linear-gradient(90deg, rgba(48,73,255,0) 0%, rgba(48,73,255,.55) 100%);
  transform-origin:left center;
  width:0;opacity:0;
  transition:width .6s var(--ease), opacity .4s var(--ease);
}
.match-core{
  position:absolute;top:50%;left:50%;width:168px;height:168px;margin:-84px 0 0 -84px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, rgba(48,73,255,.9), rgba(0,14,184,.95));
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 0 0 1px rgba(48,73,255,.4), 0 30px 70px -20px rgba(0,24,255,.65);
  transform:scale(.7);opacity:0;
  transition:opacity .6s var(--ease) .3s, transform .7s var(--ease) .3s;
}
.match-core .pct{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,3vw,2.8rem);color:#fff;font-variant-numeric:tabular-nums;line-height:1;}
.match-core .lb{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);font-weight:700;margin-top:3px;}
.match-pulse{
  position:absolute;inset:-14px;border-radius:50%;
  border:1px solid rgba(48,73,255,.45);
  opacity:0;
}
.is-active .match-pulse{animation:matchPulse 2.6s var(--ease) .9s infinite;}
@keyframes matchPulse{
  0%{transform:scale(.86);opacity:.75;}
  100%{transform:scale(1.5);opacity:0;}
}
.s3-side{flex:0 0 auto;width:min(360px,30%);display:flex;flex-direction:column;gap:14px;padding-left:clamp(16px,2.4vw,40px);}
.slide--light .match-crit{
  background:#fff;border-color:var(--line-on-light-strong);
  box-shadow:0 14px 28px -20px rgba(8,8,13,.22);
}
.slide--light .match-crit .lb{color:var(--gray-dim);}
.slide--light .match-line{background:linear-gradient(90deg, rgba(0,24,255,0) 0%, rgba(0,24,255,.5) 100%);}
.slide--light .match-pulse{border-color:rgba(0,24,255,.35);}

/* ============ SLIDE 4 ============ */
.agenda-card{width:100%;max-width:420px;}
.agenda-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.agenda-head .day{font-weight:600;font-size:var(--fs-body);}
.agenda-row{
  display:flex;align-items:center;gap:12px;
  padding:9px 0;border-top:1px solid var(--line-on-light);
  opacity:0;transform:translateX(10px);
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.is-active .agenda-row{opacity:1;transform:translateX(0);}
.agenda-row:nth-child(2){transition-delay:.15s;}
.agenda-row:nth-child(3){transition-delay:.32s;}
.agenda-row:nth-child(4){transition-delay:.49s;}
.agenda-row:nth-child(5){transition-delay:.66s;}
.agenda-row .time{font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--fs-sm);color:var(--blue);width:3.6em;flex:none;}
.agenda-row .who{font-size:var(--fs-sm);color:var(--ink);}
.agenda-foot{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--line-on-light);
  opacity:0;transform:translateY(6px);
  transition:opacity .5s var(--ease) .9s, transform .5s var(--ease) .9s;
}
.is-active .agenda-foot{opacity:1;transform:translateY(0);}

/* ============ SLIDE 5 - PLATFORM ============ */
.app-shell{
  display:flex;width:100%;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line-on-dark-strong);
  background:var(--ink-soft);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.6);
}
.app-rail{
  flex:0 0 58px;display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:16px 0;background:var(--ink);border-right:1px solid var(--line-on-dark);
}
.app-rail .rdot{width:9px;height:9px;border-radius:50%;background:var(--line-on-dark-strong);}
.app-rail .rdot.on{background:var(--blue-soft);}
.app-main{flex:1;padding:clamp(18px,2.2vw,30px);min-width:0;}
.module-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
@media (max-width:900px){.module-grid{grid-template-columns:repeat(2,1fr);}}
.slide--light .app-shell{
  background:#fff;border-color:var(--line-on-light-strong);
  box-shadow:0 1px 2px rgba(8,8,13,.04), 0 36px 80px -34px rgba(8,8,13,.22);
}
.slide--light .app-rail{background:var(--offwhite);border-color:var(--line-on-light);}
.slide--light .app-rail .rdot{background:var(--line-on-light-strong);}
.slide--light .app-rail .rdot.on{background:var(--blue-soft);}
.slide--light .feature-card{
  border-color:var(--line-on-light-strong);
  background:linear-gradient(165deg, #fff 0%, var(--offwhite) 100%);
  box-shadow:0 1px 2px rgba(8,8,13,.03);
}
.slide--light .feature-card .ic{background:rgba(0,24,255,.1);color:var(--blue);}
.slide--light .feature-card .tx{color:var(--gray-dim);}

/* ============ SLIDE 6 - PONTO ============ */
.punch-card{width:100%;max-width:400px;}
.punch-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.punch-head .name{font-weight:600;}
.punch-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 0;border-top:1px solid var(--line-on-light);
  font-size:var(--fs-sm);
  opacity:0;transform:translateY(6px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.is-active .punch-row{opacity:1;transform:translateY(0);}
.punch-row:nth-child(2){transition-delay:.1s;}
.punch-row:nth-child(3){transition-delay:.3s;}
.punch-row:nth-child(4){transition-delay:.5s;}
.punch-row:nth-child(5){transition-delay:.7s;}
.punch-row .lb{color:var(--gray-dim);}
.punch-row .val{font-variant-numeric:tabular-nums;font-weight:600;}
.punch-status{
  margin-top:14px;opacity:0;transform:scale(.9);
  transition:opacity .4s var(--ease) .95s, transform .4s var(--ease) .95s;
}
.is-active .punch-status{opacity:1;transform:scale(1);}
.stat-row{display:flex;gap:10px;flex-wrap:wrap;}

/* ============ SLIDE 7 - PAGAMENTO ============ */
.pay-flow{display:flex;align-items:center;justify-content:center;gap:0;width:100%;max-width:720px;}
.s7-row > .pay-flow{flex:1 1 55%;}
.s7-row > .col{flex:1 1 45%;}
.pay-node{
  flex:0 0 auto;width:clamp(92px,11vw,128px);height:clamp(92px,11vw,128px);
  border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  font-size:21px;
}
.pay-node .lb{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.pay-track{flex:1;height:2px;position:relative;margin:0 4px;background:rgba(255,255,255,.14);overflow:hidden;border-radius:2px;}
.pay-dot{position:absolute;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#fff;left:-10%;opacity:0;}
.is-active .pay-dot{animation:payFlow 2.4s var(--ease) infinite;}
.pay-dot.d2{animation-delay:.8s !important;}
.pay-dot.d3{animation-delay:1.6s !important;}
@keyframes payFlow{
  0%{left:-4%;opacity:0;}
  12%{opacity:1;}
  88%{opacity:1;}
  100%{left:104%;opacity:0;}
}

/* ============ SLIDE 8 - TCE ============ */
.doc-card{
  width:100%;max-width:320px;aspect-ratio:3/4;
  border-radius:var(--radius-md);
  background:#fff;border:1px solid var(--line-on-light);
  box-shadow:0 30px 60px -28px rgba(8,8,13,.22);
  padding:22px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;
}
.doc-card .ln{height:7px;border-radius:4px;background:var(--line-on-light-strong);}
.doc-card .ln.w60{width:60%;}
.doc-card .ln.w80{width:80%;}
.doc-card .ln.w40{width:40%;}
.doc-sig{
  margin-top:auto;padding-top:14px;border-top:1px dashed var(--line-on-light-strong);
  display:flex;flex-direction:column;gap:8px;
}
.doc-sig svg path{
  stroke-dasharray:340;stroke-dashoffset:340;
  transition:stroke-dashoffset 1.5s var(--ease) .4s;
}
.is-active .doc-sig svg path{stroke-dashoffset:0;}
.doc-stamp{
  position:absolute;top:18px;right:-34px;
  background:var(--success);color:#fff;
  padding:5px 38px;font-size:10px;font-weight:700;letter-spacing:.08em;
  transform:rotate(32deg) scale(.6);opacity:0;
  transition:opacity .4s var(--ease) 1.7s, transform .4s var(--ease) 1.7s;
}
.is-active .doc-stamp{opacity:1;transform:rotate(32deg) scale(1);}

/* ============ SLIDE 9 - CUSTO ============ */
.s9-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;}
.s9-price{font-family:var(--font-display);font-weight:600;font-size:var(--fs-mega);line-height:1;letter-spacing:-.02em;color:var(--blue);font-variant-numeric:tabular-nums;}
.s9-price-sub{font-size:var(--fs-body);color:var(--gray-dim);}
.s9-check-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:720px;margin-top:8px;}
.s9-bottom{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.4vw,30px);width:100%;margin-top:clamp(18px,2.6vw,30px);flex-wrap:wrap;}
.s9-insure{
  padding:16px 20px;border-radius:var(--radius-sm);
  border:1px solid var(--line-on-light);background:#fff;
  max-width:300px;text-align:left;
}
.s9-insure .lb{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--gray-dim);}
.s9-insure .amt{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin-top:4px;}
.s9-insure .per{font-size:var(--fs-sm);color:var(--gray-dim);}
.s9-plus{font-family:var(--font-display);font-size:1.8rem;color:var(--gray-dim);}
.s9-sum{display:flex;align-items:baseline;gap:14px;}
.s9-sum .amt{font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,2vw,2rem);}

/* ============ SLIDE 10 - TIMELINE ============ */
.s10-flow{width:100%;max-width:1040px;margin:0 auto;}
.s10-flow .flow-step .tx{font-size:clamp(.68rem,.82vw,.84rem);}

/* ============ SLIDE 11 - CTA ============ */
.s11-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,2.6vw,30px);text-align:center;}
.s11-badge{
  background:#fff;border-radius:16px;padding:10px 18px;display:inline-flex;
}
.s11-badge img{height:clamp(20px,2.2vw,28px);display:block;}
.s11-cards{display:flex;gap:clamp(12px,2vw,22px);flex-wrap:wrap;justify-content:center;max-width:780px;}
.s11-card{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:clamp(16px,2vw,24px) clamp(18px,2.4vw,28px);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(6px);
  min-width:168px;
  text-decoration:none;color:#fff;
  transition:background .25s var(--ease), transform .2s var(--ease);
}
.s11-card:hover{background:rgba(255,255,255,.18);transform:translateY(-3px);}
.s11-card .ic{font-size:21px;display:inline-flex;}
.s11-card .ic svg{width:22px;height:22px;display:block;}
.s11-card .lb{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.72);}
.s11-card .vv{font-weight:600;font-size:var(--fs-body);}
.s11-cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;border-radius:999px;
  background:#fff;color:var(--blue);
  font-weight:700;font-size:var(--fs-body);
  text-decoration:none;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);
  box-shadow:0 20px 40px -18px rgba(0,0,0,.4);
}
.s11-cta:hover{transform:translateY(-2px) scale(1.015);}
.s11-cta svg{width:16px;height:16px;}
.s11-qr{
  background:#fff;padding:10px;border-radius:14px;width:116px;height:116px;display:flex;align-items:center;justify-content:center;
}
.s11-qr svg{width:100%;height:100%;display:block;}
.s11-online{display:flex;flex-direction:column;align-items:center;gap:10px;}
.s11-foot{margin-top:clamp(18px,2.6vw,30px);text-align:center;font-size:var(--fs-sm);color:rgba(255,255,255,.7);}
.s11-foot b{color:#fff;font-weight:700;}

/* ============ RESPONSIVE ============ */
/* Notebook com pouca altura: compacta um pouco antes de precisar rolar. */
@media (min-width:861px) and (max-height:820px){
  :root{--pad-top:clamp(18px,3vw,36px);}
  .slide{padding-bottom:96px;}
  .topbar{margin-bottom:clamp(12px,2vw,24px);}
  .headline{font-size:clamp(1.9rem,3.8vw,3.6rem);}
  .s9-price{font-size:clamp(3.4rem,8vw,6.6rem);}
  .doc-card{max-width:270px;}
}

@media (max-width:860px){
  .slide{padding:clamp(18px,5vw,30px) clamp(16px,5vw,22px) 104px;}
  .slide__row{flex-direction:column;align-items:stretch;}
  .s2-wrap{flex-direction:column;align-items:stretch;}
  .s2-arrow-col{transform:rotate(90deg);}
  .s2-right{width:100%;}
  .s3-stage{flex-direction:column;gap:18px;}
  .s3-side{width:100%;padding-left:0;}
  .match-fit{width:min(400px, 100%);min-width:0;}
  .pay-flow{flex-wrap:nowrap;}
  .pay-node{width:clamp(70px,21vw,96px);height:clamp(70px,21vw,96px);font-size:18px;}
  .pay-node .lb{font-size:8.5px;letter-spacing:.04em;}
  .pay-track{min-width:14px;}
  .flow-line-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px;column-gap:8px;}
  .flow-track,.flow-fill{display:none;}
  .app-shell{flex-direction:column;}
  .app-rail{flex-direction:row;justify-content:center;flex:0 0 auto;border-right:none;border-bottom:1px solid var(--line-on-dark);}
  .module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .agenda-card,.punch-card{max-width:none;}
  .doc-card{max-width:250px;}
  .chip{white-space:normal;}
  .s1-h{font-size:clamp(1.9rem,8.4vw,2.8rem);}
  .s11-cards{width:100%;}
  .s11-card{min-width:0;flex:1 1 150px;}
  .navbar{padding:0 12px 12px;gap:8px;}
  .nav-left,.nav-hint,.nav-btn{background:rgba(16,16,22,.86);}
  .nav-left{padding:9px 14px;}
  .nav-hint{flex:1 1 auto;padding:8px 12px;font-size:12px;}
  .nav-right{gap:8px;}
  .nav-btn{width:40px;height:40px;}
  .headline{font-size:clamp(1.7rem,7vw,2.6rem);}
}
@media (max-width:560px){
  .dots{display:none;}
  .nav-left{gap:0;}
  .fs-btn{display:none;}
}
@media (max-width:360px){
  .nav-hint .hand{display:none;}
  .module-grid{grid-template-columns:minmax(0,1fr);}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
