/* ══════════════════════════════════════════════════════════════
   MCF Consultoria · Proposta Técnica e Comercial
   Sistema visual comandado pela marca R3
   ══════════════════════════════════════════════════════════════ */

/* ---------- tokens ---------- */
:root{
  /* base */
  --ink:            #08080A;
  --ink-2:          #0C0C10;
  --platinum:       #F4F1EA;
  --platinum-soft:  #CFCBC3;
  --platinum-mute:  #8C8880;
  --platinum-faint: #5C5952;

  /* marca R3 */
  --r3-violet:      #7042F9;
  --r3-blue:        #2E90FC;
  --r3-grad:        linear-gradient(120deg, var(--r3-violet) 0%, #4E6BFB 50%, var(--r3-blue) 100%);

  /* superfícies */
  --line:           rgba(244,241,234,.10);
  --line-soft:      rgba(244,241,234,.06);
  --surface:        rgba(244,241,234,.025);

  /* tipografia */
  --serif: 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  --sans:  'Jost', 'Futura', 'Century Gothic', -apple-system, 'Segoe UI', sans-serif;

  /* métrica */
  --pad-x: clamp(2rem, 7vw, 9rem);
  --pad-y: clamp(5.5rem, 11vh, 8rem);
  --ease:  cubic-bezier(.65,.02,.09,1);
  --ease-soft: cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html,body{ height:100%; }
html{ -webkit-text-size-adjust:100%; }

body{
  background:var(--ink);
  color:var(--platinum);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.6;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; height:auto; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
::selection{ background:rgba(112,66,249,.35); color:#fff; }

/* ---------- atmosfera ---------- */
.aura{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.aura__blob{
  position:absolute; border-radius:50%; filter:blur(140px);
  will-change:transform;
}
.aura__blob--violet{
  width:52vw; height:52vw; left:-14vw; top:-18vw;
  background:radial-gradient(circle, rgba(112,66,249,.28), rgba(112,66,249,0) 68%);
  animation:drift-a 34s var(--ease-soft) infinite alternate;
}
.aura__blob--blue{
  width:58vw; height:58vw; right:-18vw; bottom:-24vw;
  background:radial-gradient(circle, rgba(46,144,252,.22), rgba(46,144,252,0) 68%);
  animation:drift-b 42s var(--ease-soft) infinite alternate;
}
@keyframes drift-a{ from{ transform:translate3d(0,0,0) scale(1);} to{ transform:translate3d(6vw,5vh,0) scale(1.12);} }
@keyframes drift-b{ from{ transform:translate3d(0,0,0) scale(1.08);} to{ transform:translate3d(-5vw,-4vh,0) scale(1);} }

/* grão fino — textura de impressão */
.grain{
  position:fixed; inset:-50%; z-index:60; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 8s steps(6) infinite;
}
@keyframes grain{
  0%,100%{ transform:translate(0,0);}   20%{ transform:translate(-3%,2%);}
  40%{ transform:translate(2%,-3%);}    60%{ transform:translate(-2%,-2%);}
  80%{ transform:translate(3%,1%);}
}

/* ---------- topo ---------- */
.topbar{
  position:fixed; top:0; left:0; right:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between;
  padding:clamp(1.4rem,3vh,2.4rem) var(--pad-x) 0;
  pointer-events:none;
}
.topbar__mcf{ height:clamp(20px,2.4vh,28px); width:auto; opacity:.9; }
.topbar__meta{ display:flex; align-items:center; gap:1rem; }
.topbar__label{
  font-size:.62rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--platinum-mute); font-weight:400;
}
.topbar__rule{ width:clamp(20px,4vw,54px); height:1px; background:var(--line); }
.topbar__by{ display:flex; align-items:center; gap:.55rem; }
.topbar__r3{ height:clamp(20px,2.4vh,26px); width:auto; }
.topbar__by em{
  font-style:normal; font-size:.78rem; letter-spacing:.1em; font-weight:400;
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------- deck ---------- */
.deck{ position:fixed; inset:0; z-index:10; overflow:hidden; outline:none; }
.track{
  display:flex; height:100%; width:100%;
  transition:transform 1s var(--ease);
  will-change:transform;
}
.slide{
  flex:0 0 100%; width:100%; height:100%;
  display:flex; align-items:center;
  padding:var(--pad-y) var(--pad-x);
  overflow:hidden;
}
.slide__inner{
  width:100%; max-width:64rem; margin-inline:auto;
  max-height:100%; overflow-y:auto; overscroll-behavior:contain;
  scrollbar-width:none; padding-block:.25rem;
}
.slide__inner::-webkit-scrollbar{ width:0; }
.slide__inner--wide{ max-width:76rem; }

/* ---------- tipografia base ---------- */
.eyebrow{
  font-size:.63rem; letter-spacing:.36em; text-transform:uppercase;
  color:var(--platinum-faint); font-weight:400; margin-bottom:clamp(1rem,2.4vh,1.8rem);
}
.title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.3rem,5.4vw,4.4rem); line-height:1.06;
  letter-spacing:-.015em; margin-bottom:clamp(1.2rem,2.6vh,2rem);
}
.title em{
  font-style:italic; font-weight:300;
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.title--sm{ font-size:clamp(1.9rem,3.6vw,3rem); margin-bottom:clamp(1rem,2vh,1.5rem); }
.title__count{
  font-family:var(--sans); font-size:.6rem; letter-spacing:.28em;
  color:var(--platinum-mute); vertical-align:middle; margin-left:1rem;
}
.gradient-text{
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hairline{
  display:block; width:100%; max-width:9rem; height:1px; margin-bottom:clamp(1.4rem,3vh,2.2rem);
  background:linear-gradient(90deg, var(--r3-violet), var(--r3-blue) 55%, transparent);
  transform-origin:left center;
}
.hairline--center{
  margin-inline:auto; transform-origin:center;
  background:linear-gradient(90deg, transparent, var(--r3-violet), var(--r3-blue), transparent);
  max-width:14rem;
}
.lead{
  font-size:clamp(1rem,1.42vw,1.28rem); line-height:1.78;
  color:var(--platinum-soft); max-width:56rem; font-weight:300;
}
.lead--sm{ font-size:clamp(.95rem,1.25vw,1.12rem); }
.footnote{
  margin-top:clamp(1.4rem,3vh,2.2rem); padding-top:1.1rem; border-top:1px solid var(--line-soft);
  font-size:clamp(.74rem,.92vw,.85rem); line-height:1.7; color:var(--platinum-mute); max-width:62rem;
}

/* ---------- capa ---------- */
.cover{ text-align:center; display:flex; flex-direction:column; align-items:center; }
.cover__mark{ height:clamp(46px,7vh,72px); width:auto; margin-bottom:clamp(1.6rem,4vh,2.8rem); }
.cover__mark--sm{ height:clamp(38px,5.5vh,56px); }
.cover__client{
  font-size:.66rem; letter-spacing:.5em; text-transform:uppercase;
  color:var(--platinum-mute); margin-bottom:clamp(1.1rem,2.6vh,1.8rem); padding-left:.5em;
}
.cover__title{ display:flex; flex-direction:column; gap:.5rem; margin-bottom:clamp(2rem,5vh,3.4rem); }
.cover__kicker{
  font-family:var(--sans); font-size:.66rem; font-weight:400;
  letter-spacing:.42em; text-transform:uppercase; color:var(--platinum-faint);
  margin-bottom:clamp(.8rem,2vh,1.4rem); padding-left:.4em;
}
.cover__main{
  font-family:var(--serif); font-weight:300; letter-spacing:-.02em;
  font-size:clamp(2.4rem,6.2vw,5.6rem); line-height:1.02;
}
.cover__sub{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.3rem,3vw,2.6rem); line-height:1.18;
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.cover__credits{
  display:flex; align-items:center; justify-content:center;
  gap:clamp(1.4rem,4vw,3.4rem); flex-wrap:wrap;
  margin-top:clamp(.6rem,2vh,1.4rem);
}
.credit{ display:flex; flex-direction:column; gap:.5rem; }
.credit__label{
  font-size:.58rem; letter-spacing:.3em; text-transform:uppercase; color:var(--platinum-faint);
}
.credit__value{ font-family:var(--serif); font-size:clamp(1rem,1.5vw,1.35rem); color:var(--platinum); }
.credit__value--r3{
  display:flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--sans); letter-spacing:.1em; font-weight:400; font-size:clamp(.95rem,1.3vw,1.15rem);
}
.credit__value--r3 img{ height:1.6em; width:auto; }
/* variantes da marca R3 conforme o fundo (tela escura × impressão clara) */
.mark-onLight{ display:none; }
.credit__divider{ width:1px; height:2.6rem; background:var(--line); }
.cover__date{
  margin-top:clamp(2rem,5vh,3.2rem);
  font-size:.62rem; letter-spacing:.34em; text-transform:uppercase; color:var(--platinum-faint);
}

/* ---------- sumário ---------- */
.toc{ list-style:none; display:flex; flex-direction:column; }
.toc li{
  display:flex; align-items:baseline; gap:clamp(1rem,2.5vw,2.2rem);
  padding:clamp(.45rem,1.05vh,.8rem) 0; border-bottom:1px solid var(--line-soft);
}
.toc li:last-child{ border-bottom:0; }
.toc__n{
  font-size:.66rem; letter-spacing:.2em; color:var(--platinum-mute);
  min-width:2.2rem; font-variant-numeric:tabular-nums;
}
.toc__t{
  font-family:var(--serif); font-size:clamp(1.05rem,1.6vw,1.42rem);
  font-weight:300; color:var(--platinum-soft);
}
.slide--toc .slide__inner{ max-width:58rem; }

/* ---------- pilares ---------- */
.pillars{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));
  gap:1px; background:var(--line-soft);
  margin-top:clamp(1.8rem,4vh,2.8rem); border:1px solid var(--line-soft);
}
.pillar{ background:var(--ink); padding:clamp(1rem,2.4vh,1.6rem) clamp(1rem,2vw,1.5rem); }
.pillar__k{
  display:block; font-size:.58rem; letter-spacing:.28em; text-transform:uppercase;
  margin-bottom:.55rem;
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.pillar__v{ display:block; font-family:var(--serif); font-size:clamp(1rem,1.35vw,1.2rem); color:var(--platinum-soft); }

/* ---------- nota importante ---------- */
.note{
  position:relative; padding:clamp(2rem,5vh,3.4rem) clamp(1.6rem,4vw,3.4rem);
  background:var(--surface); border:1px solid var(--line);
}
.note::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--r3-grad);
}
.note__tag{
  display:inline-block; font-size:.58rem; letter-spacing:.32em; text-transform:uppercase;
  padding:.4rem .9rem; border:1px solid var(--line); margin-bottom:clamp(1.2rem,2.6vh,1.8rem);
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.note__text{
  font-family:var(--serif); font-size:clamp(1.15rem,2vw,1.75rem); line-height:1.55;
  font-weight:300; color:var(--platinum);
}
.note__text strong{ font-weight:500; font-style:italic; }

/* ---------- listas de escopo ---------- */
.check{ list-style:none; display:grid; gap:clamp(.55rem,1.3vh,.95rem); }
/* duas colunas em fluxo vertical: lê-se de cima a baixo, depois a coluna seguinte */
.check--two{
  display:block; columns:2; column-gap:clamp(2rem,4.5vw,4rem); column-fill:balance;
}
.check--two li{ break-inside:avoid; margin-bottom:clamp(.7rem,1.7vh,1.25rem); }
.check--two li:last-child{ margin-bottom:0; }
.check li{
  position:relative; padding-left:1.6rem;
  font-size:clamp(.82rem,1.06vw,.98rem); line-height:1.62; color:var(--platinum-soft);
}
.check li::before{
  content:''; position:absolute; left:0; top:.62em;
  width:7px; height:7px; border-radius:50%; background:var(--r3-grad);
}
.check--out li::before{
  background:none; border:1px solid var(--platinum-faint); width:7px; height:7px;
}
.check--out li{ color:var(--platinum-mute); }

/* ---------- cronograma ---------- */
.bigstat{
  display:flex; align-items:baseline; gap:clamp(.8rem,2vw,1.6rem);
  margin-bottom:clamp(1.4rem,3vh,2.2rem);
}
.bigstat__n{
  font-family:var(--serif); font-weight:300; line-height:.82;
  font-size:clamp(6rem,17vw,15rem); letter-spacing:-.04em;
}
.bigstat__u{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.4rem,3vw,2.6rem); line-height:1.12; color:var(--platinum-soft);
}

.phases{ display:flex; flex-direction:column; margin-top:clamp(.6rem,1.6vh,1.2rem); }
.phases__head,.phase{
  display:grid; grid-template-columns:minmax(11rem,1.05fr) minmax(0,2.5fr) minmax(6.5rem,.5fr);
  gap:clamp(1rem,2.5vw,2.4rem); align-items:baseline;
  padding:clamp(.8rem,1.9vh,1.35rem) 0; border-bottom:1px solid var(--line-soft);
}
.phases__head{
  padding-bottom:.7rem; border-bottom:1px solid var(--line);
  font-size:.58rem; letter-spacing:.3em; text-transform:uppercase; color:var(--platinum-mute);
}
.phase:last-child{ border-bottom:0; }
.phase__name{
  font-family:var(--serif); font-size:clamp(1.05rem,1.6vw,1.42rem); color:var(--platinum);
}
.phase__name em{ font-style:normal; margin-right:.35em; }
.phase__deliv{ font-size:clamp(.78rem,.98vw,.9rem); line-height:1.6; color:var(--platinum-mute); }
.phase__time{
  font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; text-align:right;
  color:var(--platinum-soft); white-space:nowrap; font-variant-numeric:tabular-nums;
}

/* ---------- entregáveis (cards) ---------- */
.cards{
  list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));
  gap:1px; background:var(--line-soft); border:1px solid var(--line-soft);
}
.cards li{
  background:var(--ink); padding:clamp(1.1rem,2.4vh,1.6rem) clamp(1.1rem,2vw,1.6rem);
  font-size:clamp(.82rem,1.02vw,.94rem); line-height:1.62; color:var(--platinum-soft);
  transition:background .5s var(--ease-soft);
}
.cards li:hover{ background:var(--ink-2); }
.cards__n{
  display:block; font-size:.64rem; font-weight:500; letter-spacing:.26em; margin-bottom:.7rem;
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------- investimento ---------- */
.slide--invest .slide__inner{ text-align:center; }
.invest{ display:flex; flex-direction:column; align-items:center; }
.invest .eyebrow{ margin-bottom:clamp(1.4rem,3.4vh,2.4rem); }
.invest__item{
  font-family:var(--serif); font-weight:300; font-size:clamp(1.15rem,2.2vw,1.9rem);
  line-height:1.38; color:var(--platinum-soft); margin-bottom:clamp(1.4rem,3.2vh,2.2rem);
}
.invest__value{
  display:flex; align-items:baseline; justify-content:center;
  margin-top:clamp(1rem,2.6vh,1.8rem);
}
.invest__cur{
  font-family:var(--serif); font-size:clamp(1.5rem,3.4vw,2.8rem); color:var(--platinum-mute);
  align-self:flex-start; margin-top:.85em;
}
.invest__num{
  font-family:var(--serif); font-weight:300; letter-spacing:-.035em; line-height:.9;
  font-size:clamp(4.2rem,14vw,12rem);
}
.invest__cents{
  font-family:var(--serif); font-size:clamp(1.5rem,3.4vw,2.8rem); color:var(--platinum-mute);
  align-self:flex-start; margin-top:.85em;
}
.invest__note{
  margin-top:clamp(1rem,2.4vh,1.6rem);
  font-size:.62rem; letter-spacing:.34em; text-transform:uppercase; color:var(--platinum-faint);
}

/* ---------- pagamento ---------- */
.pay{ display:flex; flex-direction:column; }
.pay__row{
  display:grid; grid-template-columns:minmax(5rem,auto) 1fr minmax(8rem,auto);
  gap:clamp(1rem,3vw,2.6rem); align-items:baseline;
  padding:clamp(1rem,2.4vh,1.7rem) 0; border-bottom:1px solid var(--line-soft);
}
.pay__row:last-child{ border-bottom:0; }
.pay__pct{
  font-family:var(--serif); font-weight:400; font-size:clamp(1.9rem,4vw,3.2rem); line-height:1;
}
.pay__when{ font-size:clamp(.85rem,1.1vw,1rem); color:var(--platinum-soft); }
.pay__val{
  font-family:var(--serif); font-size:clamp(1.1rem,1.8vw,1.6rem); text-align:right;
  color:var(--platinum); white-space:nowrap; font-variant-numeric:tabular-nums;
}

/* ---------- próximos passos ---------- */
.steps{ list-style:none; display:flex; flex-direction:column; margin-top:clamp(.4rem,1.4vh,1rem); }
.steps li{
  display:flex; align-items:baseline; gap:clamp(1.1rem,2.6vw,2.4rem);
  padding:clamp(.75rem,1.8vh,1.3rem) 0; border-bottom:1px solid var(--line-soft);
}
.steps li:last-child{ border-bottom:0; }
.steps__n{
  font-family:var(--serif); font-size:clamp(1.3rem,2.4vw,2rem); line-height:1;
  min-width:2.6rem; font-variant-numeric:tabular-nums;
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.steps__t{ font-size:clamp(.95rem,1.3vw,1.15rem); color:var(--platinum-soft); }

/* ---------- encerramento ---------- */
.end__cta{
  font-family:var(--serif); font-weight:300; line-height:1.16; letter-spacing:-.015em;
  font-size:clamp(1.9rem,4.4vw,3.8rem); margin-bottom:clamp(1.4rem,3.2vh,2.2rem);
}
.end__cta em{
  font-style:italic;
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.end__lead{
  max-width:44rem; font-size:clamp(.92rem,1.2vw,1.08rem); line-height:1.72;
  color:var(--platinum-soft);
}
.end__sign{
  display:flex; align-items:center; gap:1rem; margin-top:clamp(1.8rem,4vh,2.9rem);
}
.end__sign img{ height:clamp(38px,5vh,52px); width:auto; }
.end__sign div{ display:flex; flex-direction:column; align-items:flex-start; gap:.3rem; }
.end__signlabel{ font-size:.56rem; letter-spacing:.3em; text-transform:uppercase; color:var(--platinum-faint); }
.end__signname{
  font-size:1.2rem; letter-spacing:.1em; font-weight:400;
  background:var(--r3-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ══════════ animações de entrada ══════════ */
[data-anim]{
  opacity:0; transform:translateY(16px); filter:blur(5px);
  transition:opacity .9s var(--ease-soft), transform 1.05s var(--ease-soft), filter .9s var(--ease-soft);
  transition-delay:var(--d,0ms);
}
.slide.is-active [data-anim]{ opacity:1; transform:none; filter:blur(0); }
.slide.is-active .hairline{ animation:draw 1.1s var(--ease) both; animation-delay:calc(var(--d,0ms) + 60ms); }
@keyframes draw{ from{ transform:scaleX(0); opacity:0; } to{ transform:scaleX(1); opacity:1; } }

/* ══════════ navegação ══════════ */
.nav{
  position:fixed; z-index:50; bottom:clamp(1.5rem,3.4vh,2.6rem); left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:clamp(.8rem,2vw,1.6rem);
}
.nav__arrow{
  display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:50%;
  border:1px solid var(--line); color:var(--platinum-mute);
  transition:color .45s var(--ease-soft), border-color .45s var(--ease-soft), background .45s var(--ease-soft), transform .45s var(--ease-soft);
}
.nav__arrow svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.nav__arrow:hover:not(:disabled){ color:var(--platinum); border-color:rgba(244,241,234,.28); background:var(--surface); }
.nav__arrow:active:not(:disabled){ transform:scale(.94); }
.nav__arrow:disabled{ opacity:.22; cursor:default; }
.nav__arrow:focus-visible{ outline:1px solid var(--r3-blue); outline-offset:3px; }

.nav__dots{ display:flex; align-items:center; gap:clamp(.42rem,1vw,.66rem); }
.dot{
  position:relative; width:6px; height:6px; border-radius:50%; padding:0;
  background:rgba(244,241,234,.20);
  transition:background .5s var(--ease-soft), transform .5s var(--ease-soft), width .5s var(--ease);
}
.dot:hover{ background:rgba(244,241,234,.5); transform:scale(1.25); }
.dot.is-on{ width:22px; border-radius:3px; background:var(--r3-grad); }
.dot:focus-visible{ outline:1px solid var(--r3-blue); outline-offset:4px; }
.dot::after{
  content:attr(data-label); position:absolute; bottom:calc(100% + 12px); left:50%;
  transform:translateX(-50%) translateY(4px); white-space:nowrap;
  font-size:.56rem; letter-spacing:.22em; text-transform:uppercase; color:var(--platinum-soft);
  background:rgba(10,10,14,.92); border:1px solid var(--line); padding:.4rem .7rem;
  opacity:0; pointer-events:none; transition:opacity .35s var(--ease-soft), transform .35s var(--ease-soft);
}
.dot:hover::after{ opacity:1; transform:translateX(-50%) translateY(0); }

.counter{
  position:fixed; z-index:50; bottom:clamp(1.5rem,3.4vh,2.6rem); left:var(--pad-x);
  display:flex; align-items:baseline; gap:.45rem;
  font-size:.66rem; letter-spacing:.2em; color:var(--platinum-mute); font-variant-numeric:tabular-nums;
}
.counter__sep{ color:var(--platinum-faint); }
#cur{ color:var(--platinum); }

.progress{ position:fixed; z-index:50; bottom:0; left:0; right:0; height:1px; background:var(--line-soft); }
.progress__bar{
  display:block; height:100%; width:0; background:var(--r3-grad);
  transition:width 1s var(--ease);
}

.hint{
  position:fixed; z-index:50; bottom:clamp(1.5rem,3.4vh,2.6rem); right:var(--pad-x);
  font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:var(--platinum-faint);
  transition:opacity .8s var(--ease-soft);
}
.hint.is-gone{ opacity:0; }
.hint kbd{
  font-family:var(--sans); font-size:.62rem; border:1px solid var(--line);
  padding:.05rem .35rem; margin:0 .05rem; border-radius:2px;
}

/* ══════════ responsivo ══════════ */
@media (max-width:900px){
  :root{ --pad-y: clamp(5rem,10vh,7rem); }
  .check--two{ grid-template-columns:1fr; }
  .cards{ grid-template-columns:1fr; }
  .phases__head{ display:none; }
  .phase{ grid-template-columns:1fr; gap:.45rem; padding:1.1rem 0; }
  .phase__time{ text-align:left; }
  .pay__row{ grid-template-columns:auto 1fr; row-gap:.35rem; }
  .pay__val{ grid-column:2; text-align:left; }
  .hint{ display:none; }
  .topbar__label{ display:none; }
  .topbar__rule{ display:none; }
  .credit__divider{ display:none; }
}
@media (max-width:560px){
  .nav__dots{ display:none; }
  .counter{ left:50%; transform:translateX(-50%); }
  .slide__inner{ overflow-y:auto; }
}
/* laptops 768p e afins: recupera altura útil */
@media (max-height:830px){
  :root{ --pad-y: clamp(4.4rem,8.5vh,6rem); }
}
/* janelas baixas (768p com barra do navegador): comprime capa e encerramento */
@media (max-height:780px){
  .cover__mark{ height:clamp(36px,5.4vh,54px); margin-bottom:clamp(.9rem,2.4vh,1.6rem); }
  .cover__client{ margin-bottom:clamp(.8rem,2vh,1.3rem); }
  .cover__kicker{ margin-bottom:clamp(.6rem,1.6vh,1rem); }
  .cover__main{ font-size:clamp(2.1rem,5vw,4.2rem); }
  .cover__sub{ font-size:clamp(1.15rem,2.5vw,2rem); }
  .cover__title{ margin-bottom:clamp(1.2rem,3vh,2.2rem); }
  .cover__date{ margin-top:clamp(1.1rem,3vh,2rem); }
  .end__cta{ font-size:clamp(1.6rem,3.6vw,2.9rem); margin-bottom:clamp(1rem,2.4vh,1.6rem); }
}
@media (max-height:640px){
  :root{ --pad-y: 4rem; }
}

/* ══════════ preferências / impressão ══════════ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  [data-anim]{ opacity:1; transform:none; filter:none; }
}

@media print{
  body{ overflow:visible; background:#fff; color:#111; }
  .grain,.aura,.nav,.counter,.progress,.hint,.topbar{ display:none!important; }
  .deck{ position:static; overflow:visible; }
  .track{ display:block; transform:none!important; }
  .slide{ page-break-after:always; height:auto; min-height:auto; padding:2.5cm 2cm; }
  .slide__inner{ overflow:visible; max-height:none; }
  [data-anim]{ opacity:1!important; transform:none!important; filter:none!important; }
  .gradient-text,.title em,.cover__sub,.pillar__k,.cards__n,.steps__n,.pay__pct,.note__tag,.end__cta em,.end__signname,.topbar__by em{
    -webkit-text-fill-color:#111; color:#111!important; background:none!important;
  }
  .pillar,.cards li{ background:#fff; }
  .lead,.check li,.cards li,.phase__deliv,.pay__when,.steps__t,.toc__t{ color:#333; }
  .cover__mark{ filter:invert(1); }
  .mark-onDark{ display:none; }
  .mark-onLight{ display:block; }
  .hairline{ background:#111; }
  .note::before{ background:#111; }
  .toc__n,.eyebrow,.cover__kicker,.cover__client,.cover__date,.credit__label,
  .phases__head,.phase__time,.invest__note,.end__signlabel,.footnote{ color:#666; }
}
