/* ===========================================================
   BUROFÁCIL — apresentação institucional (32 slides)
   1920×1080 · usa tokens do design system principal
   =========================================================== */

:root{
  --paper:     #fbf8f4;
  --paper-2:   #f3ede4;
  --paper-3:   #fef7f0;
  --ink:       #1a1612;
  --ink-2:     #4a423a;
  --ink-3:     #7a6f63;
  --line:      #e7dfd2;
  --line-2:    #d9cfbd;
  --orange:    #ef5722;
  --orange-2:  #d94817;
  --orange-3:  #f4a07a;
  --orange-soft:#fcebe1;
  --green:     #2f7a3e;
  --green-soft:#dff0d8;
  --yellow:    #e0a712;
  --yellow-soft:#fbf2d0;
  --red:       #c63327;
  --red-soft:  #fbe1de;

  --serif: "Newsreader", ui-serif, Georgia, serif;
  --sans:  "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --mono:  "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

*{box-sizing:border-box}

deck-stage:not(:defined){visibility:hidden}

body{
  margin:0;
  background:#0a0805;
  font-family:var(--sans);
  color:var(--ink);
}

/* -----------------------------------------------------------
   SLIDE BASE
   ----------------------------------------------------------- */
.slide{
  position:relative;
  width:1920px;
  height:1080px;
  background:var(--paper);
  overflow:hidden;
  padding:80px 100px 70px;
  font-family:var(--sans);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}

/* Left orange bar accent (on most slides) */
.slide.has-bar::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:14px;
  background:var(--orange);
}

/* Logo top-left */
.s-logo{
  position:absolute;
  top:64px;
  left:100px;
  height:48px;
  width:auto;
  z-index:5;
}
.s-logo--right{
  left:auto;
  right:100px;
}

/* Footer pagination */
.s-foot{
  position:absolute;
  bottom:48px;
  left:100px;
  font-family:var(--mono);
  font-size:14px;
  font-weight:500;
  letter-spacing:0.2em;
  color:var(--ink-3);
  display:flex;
  gap:14px;
  align-items:center;
  z-index:5;
  white-space:nowrap;
}
.s-foot--right{
  left:auto;
  right:100px;
}
.s-foot--center{
  left:50%;
  right:auto;
  transform:translateX(-50%);
}

/* Bottom-right page number variant */
.s-foot__sep{color:var(--ink-3); opacity:.6}
.s-pages{color:var(--ink-3)}

/* Eyebrow (orange tracked label) */
.s-eyebrow{
  font-family:var(--mono);
  font-size:20px;
  font-weight:500;
  letter-spacing:0.22em;
  color:var(--orange);
  text-transform:uppercase;
  margin:0 0 36px;
  line-height:1;
  white-space:nowrap;
}
.s-eyebrow--center{text-align:center}

/* Title (serif) */
.s-title{
  font-family:var(--serif);
  font-weight:500;
  font-size:96px;
  line-height:1.02;
  letter-spacing:-0.025em;
  color:var(--ink);
  margin:0;
  text-wrap:pretty;
}
.s-title--xl{font-size:120px}
.s-title--m { font-size:80px}
.s-title--sm{ font-size:64px}

.s-rule{
  display:block;
  width:120px;
  height:4px;
  background:var(--orange);
  border:0;
  margin:36px 0;
}
.s-rule--center{margin-left:auto; margin-right:auto}
.s-rule--sm{width:80px; height:3px}

.s-sub{
  font-family:var(--sans);
  font-size:26px;
  line-height:1.45;
  color:var(--ink-2);
  margin:0;
  font-weight:400;
}
.s-sub--big{font-size:30px}
.s-sub strong{font-weight:600; color:var(--ink)}

/* Generic image placeholder via image-slot */
.s-photo,
image-slot.s01__photo,
image-slot.s02__photo,
image-slot.pc__photo,
image-slot.cta__photo,
image-slot.empl__photo,
image-slot.ppl__photo,
image-slot.brk__photo,
image-slot.sub__photo,
image-slot.rec27__photo,
image-slot.s32__photo{
  width:100%;
  display:block;
  border:1px solid var(--line);
  background:var(--paper-2);
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.s-photo--bordered{
  outline:1px solid var(--line);
  outline-offset:-12px;
}

/* Card base */
.s-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:32px;
}
.s-card--soft{ background:var(--paper-3); border-color:transparent}
.s-card--orange{ background:var(--orange); color:#fff; border-color:transparent}
.s-card--ink{ background:var(--ink); color:#fff; border-color:transparent}

.s-pill{
  display:inline-flex;
  align-items:center;
  font-family:var(--mono);
  font-size:14px;
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
  padding:8px 14px;
  border-radius:8px;
  background:var(--orange-soft);
  color:var(--orange-2);
  border:1px solid #f1d4be;
}
.s-pill--ghost{background:transparent; border-color:rgba(255,255,255,.4); color:#fff}

/* =====================================================
   SLIDE 01 — CAPA (FULL-BLEED HERO)
   ===================================================== */
.s01{ padding:0; background:var(--ink) }
.s01__bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  z-index:0;
}
.s01__bg::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,
      rgba(8,6,4,.98) 0%,
      rgba(8,6,4,.95) 22%,
      rgba(8,6,4,.85) 38%,
      rgba(8,6,4,.65) 50%,
      rgba(8,6,4,.35) 62%,
      rgba(8,6,4,.1) 74%,
      rgba(8,6,4,0) 86%);
}
.s01__bar{position:absolute; left:0; top:0; bottom:0; width:14px; background:var(--orange); z-index:5}
.s01__inner{
  position:relative; z-index:2;
  height:100%;
  padding:90px 120px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
  max-width:1320px;
}
.s01__brand img{height:54px; width:auto; filter:brightness(0) invert(1)}
.s01__eyebrow{
  font-family:var(--mono);
  font-size:20px;
  font-weight:500;
  letter-spacing:0.24em;
  color:#fff;
  text-transform:uppercase;
  margin:0 0 32px;
  display:flex; align-items:center; gap:18px;
}
.s01__eyebrow::before{
  content:"";
  width:60px; height:3px;
  background:var(--orange);
}
.s01__title{
  font-family:var(--serif);
  font-size:96px;
  font-weight:500;
  line-height:.98;
  letter-spacing:-0.03em;
  margin:0 0 32px;
  color:#fff;
  max-width:1100px;
  text-wrap:balance;
}
.s01__lede{
  max-width:760px;
  font-size:30px;
  line-height:1.45;
  color:rgba(255,255,255,.92);
  margin:0;
}
.s01__stats{
  display:flex;
  align-items:baseline;
  gap:54px;
  padding-top:36px;
  border-top:1px solid rgba(255,255,255,.25);
  max-width:1320px;
}
.s01__stat{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.s01__stat-num{
  font-family:var(--serif);
  font-size:64px;
  font-weight:500;
  color:var(--orange-3);
  letter-spacing:-0.02em;
  line-height:1;
}
.s01__stat-lbl{
  font-family:var(--mono);
  font-size:14px;
  font-weight:500;
  letter-spacing:0.22em;
  color:rgba(255,255,255,.7);
  text-transform:uppercase;
}
.s01__foot{
  position:absolute;
  bottom:50px; left:120px;
  font-family:var(--mono);
  font-size:13px;
  font-weight:500;
  letter-spacing:0.22em;
  color:rgba(255,255,255,.55);
  white-space:nowrap;
  z-index:3;
}
.s01__foot--right{
  left:auto; right:120px;
}

/* =====================================================
   SLIDE 02 — QUEM SOMOS (full-bleed photo right)
   ===================================================== */
.slide--s02{ padding:0 }
.s02__grid{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  height:100%;
  align-items:stretch;
}
.s02__copy{
  padding:90px 80px 90px 130px;
  display:flex; flex-direction:column;
  justify-content:center;
  gap:24px;
}
.s02__photo{
  position:relative;
  background:var(--paper-2);
  height:100%;
  width:100%;
  border-radius:0;
}
.s02__photo image-slot,
.s02__photo img{
  width:100%; height:100%; display:block;
}
.s02__title{
  font-family:var(--serif);
  font-size:92px;
  font-weight:500;
  line-height:.98;
  letter-spacing:-0.03em;
  margin:0;
}
.s02__lede{
  font-size:26px;
  line-height:1.5;
  color:var(--ink-2);
  margin:0;
  max-width:640px;
}
.s02__stats{
  margin-top:8px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px 48px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.s02__stat{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.s02__stat-num{
  font-family:var(--serif);
  font-weight:500;
  font-size:48px;
  color:var(--orange);
  letter-spacing:-0.02em;
  line-height:1;
}
.s02__stat-lbl{
  font-family:var(--mono);
  font-size:14px;
  font-weight:500;
  letter-spacing:0.2em;
  color:var(--ink-2);
  text-transform:uppercase;
}

/* =====================================================
   SLIDE 03 — PORTFÓLIO (4 produtos)
   ===================================================== */
.s03__head{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:80px;
  align-items:end;
  margin-bottom:50px;
}
.s03__title{
  font-family:var(--serif);
  font-size:88px;
  font-weight:500;
  line-height:1.04;
  letter-spacing:-0.025em;
  margin:24px 0 0;
}
.s03__note{
  font-size:22px;
  color:var(--ink-2);
  line-height:1.5;
  margin:0;
}
.s03__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  height:560px;
}
.s03__card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:48px 36px;
  display:flex;
  flex-direction:column;
  gap:24px;
}
.s03__card--accent{
  background:var(--orange);
  border-color:transparent;
  color:#fff;
}
.s03__card-icon{
  width:84px; height:84px;
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
}
.s03__card--accent .s03__card-icon{color:#fff}
.s03__card-pill{
  display:inline-block;
  font-family:var(--mono);
  font-size:14px;
  letter-spacing:0.22em;
  font-weight:500;
  text-transform:uppercase;
  padding:8px 16px;
  border:1px solid var(--orange);
  color:var(--orange-2);
  border-radius:999px;
  width:fit-content;
}
.s03__card--accent .s03__card-pill{
  border-color:rgba(255,255,255,.5);
  color:#fff;
}
.s03__card-title{
  font-family:var(--serif);
  font-weight:500;
  font-size:44px;
  line-height:1.05;
  letter-spacing:-0.015em;
  margin:auto 0 0;
}
.s03__card-rule{
  width:60px; height:3px;
  background:var(--orange);
  border:0;
  margin:0;
}
.s03__card--accent .s03__card-rule{background:rgba(255,255,255,.55)}
.s03__card-desc{
  font-size:20px;
  line-height:1.4;
  color:var(--ink-2);
  margin:0;
}
.s03__card--accent .s03__card-desc{color:rgba(255,255,255,.92)}

/* =====================================================
   PRODUCT COVER (4, 10, 16) — full-bleed photo half
   ===================================================== */
.slide--pc{ padding:0 }
.pc{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  height:100%;
  align-items:stretch;
}
.pc--reverse{grid-template-columns:1.05fr 1fr}
.pc--reverse .pc__copy{order:2}
.pc__copy{
  padding:110px 80px 110px 130px;
  display:flex; flex-direction:column;
  justify-content:center;
  gap:24px;
}
.pc--reverse .pc__copy{padding:110px 130px 110px 80px}
.pc__name{
  font-family:var(--serif);
  font-size:130px;
  font-weight:500;
  letter-spacing:-0.03em;
  line-height:.92;
  margin:0;
}
.pc__sub{
  font-size:34px;
  color:var(--ink-2);
  font-weight:400;
  margin:0;
  font-family:var(--serif);
  font-style:italic;
}
.pc__lede{
  font-size:24px;
  line-height:1.5;
  color:var(--ink-2);
  margin:0;
  max-width:560px;
}
.pc__lede strong{font-weight:600; color:var(--ink)}
.pc__photo{
  position:relative;
  height:100%; width:100%;
  background:var(--paper-2);
  border-radius:0;
}
.pc__photo image-slot,
.pc__photo img{
  width:100%; height:100%; display:block;
}
.pc__stats{
  margin-top:20px;
  padding-top:32px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.pc__stat{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pc__stat-num{
  font-family:var(--serif);
  font-weight:500;
  font-size:54px;
  color:var(--orange);
  letter-spacing:-0.01em;
  line-height:1;
}
.pc__stat-lbl{
  font-family:var(--mono);
  font-size:14px;
  font-weight:500;
  letter-spacing:0.2em;
  color:var(--ink-2);
  text-transform:uppercase;
}

/* =====================================================
   "O QUE É" slides (5, 11) — title + stacked metric cards
   ===================================================== */
.oque{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:80px;
  height:100%;
  padding-top:80px;
  align-items:center;
}
.oque__copy{display:flex; flex-direction:column; gap:28px}
.oque__h{
  font-family:var(--serif);
  font-size:88px;
  font-weight:500;
  letter-spacing:-0.025em;
  line-height:1.02;
  margin:0;
}
.oque__p{
  font-size:24px;
  line-height:1.55;
  color:var(--ink-2);
  margin:0;
  max-width:560px;
}
.oque__stack{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.oque__cell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:36px 44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  min-height:140px;
}
.oque__num{
  font-family:var(--mono);
  font-size:88px;
  font-weight:500;
  color:var(--orange);
  letter-spacing:-0.02em;
  line-height:1;
}
.oque__num small{font-size:.55em; font-weight:500}
.oque__lbl{
  font-family:var(--mono);
  font-size:18px;
  font-weight:500;
  letter-spacing:0.22em;
  color:var(--ink-2);
  text-transform:uppercase;
  line-height:1.4;
  max-width:280px;
  text-align:right;
}
.oque__connector{
  width:2px; height:18px;
  background:var(--orange);
  margin:-12px auto;
  position:relative;
  z-index:1;
}

/* row layout (11) — 3 cards side by side */
.oque--row .oque__stack{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.oque--row .oque__cell{
  flex-direction:column;
  align-items:flex-start;
  gap:24px;
  padding:36px 28px 28px;
  justify-content:flex-start;
}
.oque--row .oque__num{font-size:84px}
.oque--row .oque__lbl{
  text-align:left;
  font-size:16px;
}
.oque--row .oque__icon{
  margin-top:auto;
  width:64px; height:64px;
  border-radius:50%;
  background:var(--orange-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
}

.oque__note{
  margin-top:24px;
  background:var(--orange-soft);
  border-radius:10px;
  padding:18px 24px;
  display:flex; align-items:center; gap:14px;
  font-size:20px;
  color:var(--ink-2);
}
.oque__note svg{flex:none; color:var(--orange)}

/* =====================================================
   COMPARING (6, 12) — bars
   ===================================================== */
.cmp__title{
  font-family:var(--serif);
  font-size:80px;
  font-weight:500;
  line-height:1.04;
  letter-spacing:-0.025em;
  margin:0 0 16px;
}
.cmp__sub{
  font-size:24px;
  color:var(--ink-2);
  margin:0 0 44px;
}
.cmp__panel{
  display:grid;
  grid-template-columns:1fr 240px;
  gap:48px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:48px 56px;
}
.cmp__rows{display:flex; flex-direction:column; gap:30px}
.cmp__row{
  display:grid;
  grid-template-columns:240px 1fr;
  align-items:center;
  gap:36px;
  position:relative;
}
.cmp__row--win{
  background:var(--orange-soft);
  margin:-12px -20px;
  padding:14px 20px;
  border-radius:10px;
}
.cmp__row-label{
  display:flex; align-items:center; gap:16px;
  font-size:20px;
  font-weight:600;
  color:var(--ink);
  line-height:1.2;
}
.cmp__row-icon{
  width:52px; height:52px;
  border-radius:50%;
  background:var(--red-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--red);
  flex:none;
}
.cmp__row-icon--yellow{background:var(--yellow-soft); color:var(--yellow)}
.cmp__row-icon--green{background:var(--green-soft); color:var(--green)}
.cmp__bar-wrap{
  display:flex;
  align-items:center;
  gap:24px;
}
.cmp__bar{
  height:32px;
  border-radius:4px;
  background:var(--red);
}
.cmp__bar--yellow{background:var(--yellow)}
.cmp__bar--green{background:var(--green)}
.cmp__bar-val{
  font-family:var(--sans);
  font-size:26px;
  font-weight:600;
  color:var(--red);
  line-height:1;
  white-space:nowrap;
}
.cmp__bar-val small{font-size:.6em; font-weight:500; color:var(--ink-3); margin-left:2px}
.cmp__bar-val--yellow{color:var(--yellow)}
.cmp__bar-val--green{color:var(--green); font-size:32px}
.cmp__aside{
  border-left:1px solid var(--line);
  padding-left:36px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.cmp__aside-rule{width:40px; height:3px; background:var(--orange); border:0; margin:0}
.cmp__aside-h{
  font-family:var(--serif);
  font-size:28px;
  font-weight:500;
  color:var(--orange-2);
  margin:0;
}
.cmp__aside-p{
  font-size:18px;
  color:var(--ink-2);
  line-height:1.45;
  margin:0;
}
.cmp__aside-num{
  font-family:var(--serif);
  font-size:48px;
  color:var(--orange);
  font-weight:500;
  line-height:1;
  margin-top:8px;
}
.cmp__aside-num small{display:block; font-size:.4em; color:var(--ink-2); font-weight:400; margin-top:6px}

/* =====================================================
   PROCESS STEPS (7, 13, 17, 24, 29) — 5 cards
   ===================================================== */
.steps{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:30px;
}
.steps__eyebrow{
  font-family:var(--mono);
  font-size:20px;
  font-weight:500;
  letter-spacing:0.22em;
  color:var(--orange);
  text-transform:uppercase;
  margin:0 0 24px;
  white-space:nowrap;
}
.steps__title{
  font-family:var(--serif);
  font-size:80px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:0 0 14px;
  text-align:center;
}
.steps__sub{
  font-size:24px;
  color:var(--ink-2);
  margin:0 0 60px;
  text-align:center;
}
.steps__grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  width:100%;
  position:relative;
}
.steps__cell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:440px;
  text-align:center;
  margin:0 12px;
  position:relative;
  z-index:2;
}
.steps__connector{
  position:absolute;
  top:50%;
  height:2px;
  background:var(--orange);
  z-index:0;
}
.steps__num{
  font-family:var(--mono);
  font-size:42px;
  font-weight:500;
  color:var(--orange);
  text-align:left;
  line-height:1;
}
.steps__icon{
  height:130px;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink);
  margin:8px 0;
}
.steps__icon svg{height:90px; width:auto}
.steps__name{
  font-family:var(--serif);
  font-size:36px;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
}
.steps__desc{
  font-size:18px;
  color:var(--ink-2);
  line-height:1.4;
  margin:0;
}
.steps__time{
  font-family:var(--mono);
  font-size:16px;
  font-weight:500;
  letter-spacing:0.22em;
  color:var(--orange);
  text-transform:uppercase;
  padding-top:16px;
  border-top:1px solid var(--line);
  margin-top:auto;
}
/* connector line behind grid */
.steps__line{
  position:absolute;
  left:8%; right:8%;
  top:50%;
  height:2px;
  background:var(--orange);
  z-index:0;
}

/* =====================================================
   PERSONAS (8, 14) — 4 person cards
   ===================================================== */
.ppl{
  display:flex; flex-direction:column;
  padding-top:30px;
}
.ppl__head{text-align:center; margin-bottom:48px}
.ppl__title{
  font-family:var(--serif);
  font-size:80px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:14px 0;
}
.ppl__sub{
  font-size:24px;
  color:var(--ink-2);
  margin:0;
}
.ppl__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.ppl__card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  display:flex; flex-direction:column;
  gap:18px;
}
.ppl__card--accent{border:2px solid var(--orange)}
.ppl__photo{
  height:280px;
  border-radius:4px;
}
.ppl__num{
  font-family:var(--mono);
  font-size:26px;
  font-weight:500;
  color:var(--orange);
  letter-spacing:0.06em;
  display:flex; align-items:center; gap:14px;
}
.ppl__num::after{
  content:"";
  flex:1;
  height:2px;
  background:var(--orange);
  max-width:40px;
}
.ppl__name{
  font-family:var(--serif);
  font-size:30px;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
}
.ppl__desc{
  font-size:18px;
  line-height:1.45;
  color:var(--ink-2);
  margin:0;
}

/* =====================================================
   CTA (9, 15) — copy + full-height photo
   ===================================================== */
.slide--cta{ padding:0 }
.cta{
  display:grid;
  grid-template-columns:1fr 1fr;
  height:100%;
  align-items:stretch;
}
.cta__copy{
  padding:110px 80px 110px 130px;
  display:flex; flex-direction:column;
  justify-content:center;
  gap:24px;
}
.cta__h{
  font-family:var(--serif);
  font-size:116px;
  font-weight:500;
  letter-spacing:-0.03em;
  line-height:.95;
  margin:0;
}
.cta__p{
  font-size:26px;
  line-height:1.5;
  color:var(--ink-2);
  margin:0;
  max-width:540px;
}
.cta__contacts{
  display:flex;
  flex-direction:column;
  margin-top:16px;
}
.cta__contact{
  display:flex; align-items:center; gap:24px;
  padding:22px 0;
  border-bottom:1px solid var(--orange-soft);
  font-size:24px;
  color:var(--ink);
}
.cta__contact:last-child{border-bottom:0}
.cta__contact-icon{
  width:54px; height:54px;
  border-radius:50%;
  background:var(--orange-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
  flex:none;
}
.cta__photo{
  position:relative;
  height:100%; width:100%;
  background:var(--paper-2);
  border-radius:0;
}
.cta__photo image-slot,
.cta__photo img{
  width:100%; height:100%; display:block;
}
.cta__photo-wrap{position:relative; height:100%}
.cta__badge{
  margin-top:8px;
  background:var(--orange-soft);
  border-radius:10px;
  padding:18px 24px;
  display:flex; align-items:center; gap:14px;
  font-size:18px;
  color:var(--ink-2);
}
.cta__badge svg{color:var(--orange); flex:none}
.cta__badge span{color:var(--ink); font-weight:500}
.cta__badge em{font-style:normal; color:var(--ink-2)}

/* =====================================================
   FLOW DIAGRAM (17) — 3 actors
   ===================================================== */
.flow{
  display:flex; flex-direction:column;
  padding-top:30px;
}
.flow__head{text-align:center; margin-bottom:60px}
.flow__title{
  font-family:var(--serif);
  font-size:88px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:14px 0;
}
.flow__sub{
  font-size:24px;
  color:var(--ink-2);
  margin:0;
}
.flow__grid{
  display:grid;
  grid-template-columns:1fr auto 1.2fr auto 1fr;
  align-items:center;
  gap:24px;
}
.flow__node{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:36px;
  text-align:center;
  display:flex; flex-direction:column;
  gap:18px;
  align-items:center;
  min-height:380px;
  justify-content:space-between;
}
.flow__node--center{
  border:2px solid var(--orange);
}
.flow__node-icon{
  height:140px;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink);
}
.flow__node-icon svg{height:120px; width:auto}
.flow__node-name{
  font-family:var(--mono);
  font-size:18px;
  letter-spacing:0.18em;
  color:var(--ink);
  font-weight:600;
  text-transform:uppercase;
  margin:0;
  white-space:nowrap;
}
.flow__node-name::after{
  content:"";
  display:block;
  width:50px; height:2px;
  background:var(--orange);
  margin:14px auto 0;
}
.flow__node-desc{
  font-size:18px;
  color:var(--ink-2);
  line-height:1.45;
  margin:0;
}
.flow__edge{
  display:flex; flex-direction:column;
  gap:14px;
  font-family:var(--sans);
  font-size:18px;
  color:var(--ink-2);
}
.flow__edge-row{display:flex; align-items:center; gap:8px}
.flow__edge svg{color:var(--orange); flex:none}
.flow__cap{
  margin-top:32px;
  background:var(--orange-soft);
  border-radius:10px;
  padding:18px 28px;
  display:flex; align-items:center; gap:14px;
  font-size:22px;
  color:var(--ink-2);
}
.flow__cap svg{color:var(--orange); flex:none}

/* =====================================================
   3-CARD GRID (18 motivos, 31 modelo) + supplemental
   ===================================================== */
.g3{
  padding-top:40px;
  display:flex; flex-direction:column;
}
.g3__head{margin-bottom:48px}
.g3__title{
  font-family:var(--serif);
  font-size:88px;
  font-weight:500;
  letter-spacing:-0.025em;
  line-height:1.02;
  margin:16px 0;
}
.g3__title--center{text-align:center}
.g3__sub{
  font-size:24px;
  color:var(--ink-2);
  margin:0;
}
.g3__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.g3__cell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:40px 36px;
  display:flex; flex-direction:column;
  gap:24px;
  min-height:380px;
}
.g3__icon{
  width:72px; height:72px;
  color:var(--orange);
  display:flex; align-items:center; justify-content:center;
}
.g3__name{
  font-family:var(--serif);
  font-size:36px;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
}
.g3__rule{
  width:60px; height:3px;
  background:var(--orange);
  border:0; margin:0;
}
.g3__desc{
  font-size:19px;
  line-height:1.5;
  color:var(--ink-2);
  margin:0;
}
.g3__aside{
  margin-top:36px;
  background:var(--orange-soft);
  border-radius:14px;
  padding:24px 32px;
  display:flex; align-items:center; gap:24px;
}
.g3__aside-icon{
  width:56px; height:56px;
  border-radius:50%;
  border:1.5px solid var(--orange);
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
  flex:none;
}
.g3__aside-text{display:flex; flex-direction:column; gap:4px; font-size:20px}
.g3__aside-text strong{color:var(--orange-2); font-weight:600}
.g3__aside-text span{color:var(--ink-2)}

/* =====================================================
   SLIDE 19 — EMPREGADO (photo + 3 features)
   ===================================================== */
.empl{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:80px;
  height:100%;
  padding-top:80px;
  align-items:center;
}
.empl__photo-wrap{
  position:relative;
  padding-left:18px;
}
.empl__photo-wrap::before{
  content:""; position:absolute; left:0; top:24px; bottom:24px; width:10px;
  background:var(--orange);
}
.empl__photo{
  height:780px;
  border-radius:6px;
}
.empl__copy{display:flex; flex-direction:column; gap:24px}
.empl__h{
  font-family:var(--serif);
  font-size:86px;
  font-weight:500;
  letter-spacing:-0.025em;
  line-height:1.02;
  margin:0;
}
.empl__items{display:flex; flex-direction:column}
.empl__item{
  display:flex; gap:24px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.empl__item:last-child{border-bottom:0}
.empl__item-icon{
  width:64px; height:64px;
  border-radius:12px;
  background:var(--orange-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
  flex:none;
}
.empl__item-body h4{
  font-family:var(--serif);
  font-size:30px;
  font-weight:500;
  margin:0 0 6px;
  letter-spacing:-0.01em;
}
.empl__item-body p{
  font-size:20px;
  color:var(--ink-2);
  margin:0;
  line-height:1.45;
}
.empl__note{
  background:var(--orange-soft);
  border-radius:12px;
  padding:18px 24px;
  display:flex; align-items:center; gap:16px;
  font-size:20px;
  color:var(--ink-2);
}
.empl__note svg{color:var(--orange); flex:none}

/* =====================================================
   SLIDE 20 — COMPARATIVE TABLE
   ===================================================== */
.tbl{
  padding-top:30px;
}
.tbl__head{text-align:center; margin-bottom:50px}
.tbl__title{
  font-family:var(--serif);
  font-size:88px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:14px 0;
}
.tbl__sub{font-size:24px; color:var(--ink-2); margin:0; max-width:1100px; margin-inline:auto}
.tbl__panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
}
.tbl__row{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:0;
  align-items:center;
  padding:24px 36px;
  border-bottom:1px solid var(--line);
}
.tbl__row:last-child{border-bottom:0}
.tbl__row--head{
  background:#fff;
}
.tbl__row--win{
  background:var(--orange-soft);
}
.tbl__cell{
  font-size:22px;
  color:var(--ink);
  display:flex; align-items:center; gap:18px;
}
.tbl__cell--mono{font-family:var(--mono); font-size:20px}
.tbl__row--head .tbl__cell{
  font-family:var(--mono);
  font-size:16px;
  font-weight:500;
  letter-spacing:0.22em;
  color:var(--orange-2);
  text-transform:uppercase;
}
.tbl__row-icon{
  width:48px; height:48px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  flex:none;
  background:var(--paper-2);
  color:var(--ink-2);
}
.tbl__row--win .tbl__row-icon{
  background:var(--orange);
  color:#fff;
}
.tbl__row strong{font-family:var(--serif); font-weight:500; font-size:26px}
.tbl__footnote{
  margin-top:24px;
  background:var(--paper-3);
  border-radius:10px;
  padding:18px 24px;
  display:flex; align-items:center; gap:14px;
  font-size:20px;
  color:var(--ink-2);
}
.tbl__footnote svg{color:var(--orange); flex:none}

/* =====================================================
   SLIDE 21 — DUAL CTA + contact strip
   ===================================================== */
.dual{
  padding-top:30px;
  display:flex; flex-direction:column; height:100%;
}
.dual__head{text-align:center; margin-bottom:36px}
.dual__title{
  font-family:var(--serif);
  font-size:96px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:14px 0;
}
.dual__sub{font-size:24px; color:var(--ink-2); margin:0}
.dual__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.dual__card{
  background:#fff;
  border:2px solid var(--orange);
  border-radius:20px;
  padding:48px 56px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  align-items:center;
  min-height:280px;
}
.dual__card--filled{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
}
.dual__card-h{
  font-family:var(--serif);
  font-size:60px;
  font-weight:500;
  letter-spacing:-0.02em;
  line-height:1;
  margin:0 0 14px;
}
.dual__card-p{
  font-size:20px;
  line-height:1.45;
  margin:0 0 28px;
  color:var(--ink-2);
}
.dual__card--filled .dual__card-p{color:rgba(255,255,255,.95)}
.dual__btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:18px 32px;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:22px;
  font-weight:500;
  border:0;
  font-family:var(--sans);
}
.dual__card:not(.dual__card--filled) .dual__btn{
  background:transparent;
  color:var(--orange-2);
  border:1.5px solid var(--orange);
}
.dual__card-icon{
  color:var(--orange);
  width:140px; height:140px;
  display:flex; align-items:center; justify-content:center;
}
.dual__card--filled .dual__card-icon{color:#fff}
.dual__strip{
  margin-top:auto;
  padding-top:32px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.dual__contact{
  display:flex; align-items:center; gap:16px;
  font-size:22px;
  color:var(--ink);
  justify-content:center;
}
.dual__contact:not(:last-child){border-right:1px solid var(--line); padding-right:32px}
.dual__contact-icon{
  width:48px; height:48px;
  border-radius:50%;
  background:var(--orange-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
  flex:none;
}

/* =====================================================
   SLIDE 22 — ORANGE FULL-BLEED SECTION BREAK
   ===================================================== */
.slide--brk{ padding:0; background:var(--orange) }
.brk{
  position:relative;
  height:100%;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  align-items:stretch;
  color:#fff;
}
.brk__copy{
  padding:120px 80px 120px 140px;
  display:flex; flex-direction:column;
  justify-content:center;
  gap:24px;
}
.brk__eb{
  font-family:var(--mono);
  font-size:20px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  font-weight:500;
  color:#fff;
  margin:0 0 12px;
  display:flex; align-items:center; gap:18px;
}
.brk__eb::before{
  content:"";
  width:60px; height:3px;
  background:#fff;
}
.brk__h{
  font-family:var(--serif);
  font-size:128px;
  font-weight:500;
  letter-spacing:-0.03em;
  line-height:.94;
  margin:0;
  color:#fff;
}
.brk__p{
  font-size:28px;
  line-height:1.45;
  margin:0;
  color:rgba(255,255,255,.95);
  max-width:680px;
}
.brk__p em{
  display:block;
  margin-top:22px;
  font-style:italic;
  font-family:var(--serif);
  font-size:32px;
  color:#fff;
  font-weight:400;
}
.brk__photo{
  position:relative;
  height:100%; width:100%;
  background:rgba(0,0,0,.2);
}
.brk__photo image-slot,
.brk__photo img{width:100%; height:100%; display:block}
.brk__photo::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(239,87,34,.1) 0%, rgba(239,87,34,.5) 100%);
  pointer-events:none;
  mix-blend-mode:multiply;
}
.brk__foot{
  position:absolute;
  bottom:48px; left:140px;
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:0.22em;
  color:rgba(255,255,255,.7);
  white-space:nowrap;
  z-index:3;
}
.brk__brand{
  position:absolute;
  top:64px; left:140px;
  z-index:3;
}
.brk__brand img{height:42px; filter:brightness(0) invert(1)}

/* =====================================================
   SLIDE 23 — SUBSEÇÃO CAPA (antecipação licitações)
   ===================================================== */
.sub{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:80px;
  height:100%;
  padding-top:80px;
  align-items:center;
}
.sub__copy{display:flex; flex-direction:column; gap:24px}
.sub__h{
  font-family:var(--serif);
  font-size:104px;
  font-weight:500;
  letter-spacing:-0.025em;
  line-height:.98;
  margin:8px 0;
}
.sub__pitch{
  font-family:var(--sans);
  font-weight:600;
  font-size:26px;
  color:var(--ink);
  margin:0;
}
.sub__p{
  font-size:22px;
  line-height:1.55;
  color:var(--ink-2);
  margin:0;
  max-width:520px;
}
.sub__photo{
  height:640px;
  border-radius:4px;
  position:relative;
}
.sub__photo::before{
  content:"";
  position:absolute;
  top:-12px; left:0; right:0;
  height:4px;
  background:var(--orange);
}
.sub__mini{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px;
}
.sub__mini-cell{
  display:flex; flex-direction:column;
  align-items:center; gap:10px;
  padding:8px;
  text-align:center;
  border-right:1px solid var(--line);
}
.sub__mini-cell:last-child{border-right:0}
.sub__mini-cell svg{color:var(--orange)}
.sub__mini-cell span{font-size:18px; color:var(--ink-2)}

/* =====================================================
   SLIDE 25 — SETORES + FAIXAS
   ===================================================== */
.sec{
  padding-top:30px;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:48px;
}
.sec__left{display:flex; flex-direction:column; gap:30px}
.sec__title{
  font-family:var(--serif);
  font-size:80px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:8px 0 4px;
  line-height:1.02;
}
.sec__sub{font-size:22px; color:var(--ink-2); margin:0 0 16px}
.sec__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.sec__cell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:28px 22px;
  text-align:center;
  display:flex; flex-direction:column;
  align-items:center; gap:14px;
  min-height:220px;
}
.sec__cell svg{color:var(--orange); width:60px; height:60px}
.sec__cell h4{
  font-family:var(--serif);
  font-size:24px;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
}
.sec__cell p{
  font-size:16px;
  color:var(--ink-2);
  line-height:1.4;
  margin:0;
}
.sec__panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:36px 40px;
  display:flex; flex-direction:column;
  gap:24px;
}
.sec__panel h3{
  font-family:var(--serif);
  font-size:38px;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
}
.sec__panel hr{
  border:0; height:1px; background:var(--line); margin:0;
}
.sec__rows{display:flex; flex-direction:column; gap:18px}
.sec__row{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:24px;
  padding:6px 0;
}
.sec__row-name{font-size:22px; color:var(--ink); font-weight:500}
.sec__row-val{
  font-family:var(--mono);
  font-size:24px;
  font-weight:500;
  color:var(--orange);
  letter-spacing:0.02em;
}
.sec__note{
  font-size:16px;
  color:var(--ink-3);
  display:flex; align-items:center; gap:10px;
  margin:0;
}
.sec__note svg{color:var(--orange); flex:none}

/* =====================================================
   SLIDE 26 — CASO PRÁTICO (SEM/COM)
   ===================================================== */
.case{
  padding-top:30px;
  display:flex; flex-direction:column;
  gap:32px;
}
.case__head{text-align:center}
.case__title{
  font-family:var(--serif);
  font-size:88px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:14px 0;
}
.case__sub{font-size:24px; color:var(--ink-2); margin:0}
.case__panels{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:32px;
  align-items:center;
}
.case__panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:36px 44px;
  min-height:340px;
  display:flex; flex-direction:column;
  gap:20px;
}
.case__panel--win{
  background:var(--orange-soft);
  border:2px solid var(--orange);
}
.case__panel-tag{
  font-family:var(--mono);
  font-size:16px;
  font-weight:500;
  letter-spacing:0.22em;
  color:var(--ink-2);
  text-transform:uppercase;
  text-align:center;
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
}
.case__panel--win .case__panel-tag{color:var(--orange-2); border-color:rgba(217,72,23,.3)}
.case__panel-h{
  font-family:var(--serif);
  font-size:54px;
  font-weight:500;
  letter-spacing:-0.02em;
  text-align:center;
  margin:0;
}
.case__panel--win .case__panel-h{color:var(--orange-2)}
.case__panel-rows{display:flex; flex-direction:column; gap:14px}
.case__panel-row{
  display:flex; align-items:center; gap:18px;
  font-size:22px;
  white-space:nowrap;
}
.case__panel-row svg{color:var(--orange); flex:none}
.case__panel-row span{flex:1; color:var(--ink-2)}
.case__panel-row strong{font-weight:600; color:var(--ink); white-space:nowrap; flex:none}
.case__panel--win .case__panel-row strong{color:var(--orange-2)}
.case__arrow{
  width:80px; height:80px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
}
.case__timeline{
  position:relative;
  margin:8px 24px 0;
  padding:24px 0 0;
}
.case__line{
  position:relative;
  height:4px;
  background:var(--line);
  border-radius:4px;
}
.case__line-fill{
  position:absolute; left:6%; top:0; bottom:0;
  width:88%;
  background:repeating-linear-gradient(90deg, var(--green) 0 14px, transparent 14px 22px);
  border-radius:4px;
}
.case__dot{
  position:absolute;
  top:-10px;
  width:24px; height:24px;
  border-radius:50%;
  background:var(--ink-3);
  display:flex; align-items:center; justify-content:center;
}
.case__dot--orange{background:#fff; border:4px solid var(--orange); width:32px; height:32px; top:-14px}
.case__dot-lbl{
  position:absolute; top:34px;
  font-size:18px;
  display:flex; flex-direction:column; gap:4px;
  text-align:center;
  transform:translateX(-50%);
  left:0;
  white-space:nowrap;
}
.case__dot-lbl b{
  font-family:var(--mono);
  font-size:14px;
  letter-spacing:0.22em;
  color:var(--ink-3);
  font-weight:500;
}
.case__dot-lbl span{color:var(--ink-2); font-size:16px}
.case__dot-lbl--orange b{color:var(--orange-2)}
.case__line-cap{
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  font-family:var(--mono);
  font-size:18px;
  letter-spacing:0.22em;
  color:var(--green);
  font-weight:600;
  white-space:nowrap;
}

/* =====================================================
   SLIDE 27 — RECUP RECEITAS HERO
   ===================================================== */
.rec27{
  padding-top:30px;
  display:flex; flex-direction:column;
}
.rec27__head{text-align:center; margin-bottom:36px}
.rec27__eb{
  font-family:var(--mono);
  font-size:18px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--orange);
  margin:0 0 18px;
}
.rec27__h{
  font-family:var(--serif);
  font-size:128px;
  font-weight:500;
  letter-spacing:-0.03em;
  margin:0 0 18px;
  line-height:.98;
}
.rec27__p{
  font-size:24px;
  color:var(--ink-2);
  margin:0 auto;
  max-width:900px;
  line-height:1.45;
}
.rec27__rule{
  display:block;
  width:80px; height:3px;
  background:var(--orange);
  margin:24px auto 0;
}
.rec27__body{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:60px;
  margin-top:36px;
  align-items:center;
}
.rec27__stat{
  display:flex; flex-direction:column;
  gap:18px;
}
.rec27__stat-num{
  font-family:var(--mono);
  font-size:140px;
  color:var(--orange);
  font-weight:500;
  letter-spacing:-0.02em;
  line-height:1;
  margin:0;
}
.rec27__stat-lbl{
  font-family:var(--mono);
  font-size:18px;
  letter-spacing:0.22em;
  color:var(--ink-2);
  text-transform:uppercase;
  margin:0;
}
.rec27__chips{
  display:flex; gap:36px; margin-top:24px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.rec27__chip{
  flex:1; text-align:center;
  display:flex; flex-direction:column;
  gap:8px;
  align-items:center;
}
.rec27__chip svg{color:var(--orange); width:36px; height:36px}
.rec27__chip span{font-size:17px; color:var(--ink-2); line-height:1.35}
.rec27__photo{
  height:520px;
  border-radius:4px;
  outline:1px solid var(--line-2);
  outline-offset:-12px;
}

/* =====================================================
   SLIDE 28 — 4 VERBAS (2x2)
   ===================================================== */
.verb{
  padding-top:30px;
  display:flex; flex-direction:column;
}
.verb__head{text-align:center; margin-bottom:36px}
.verb__title{
  font-family:var(--serif);
  font-size:88px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:14px 0;
}
.verb__sub{font-size:22px; color:var(--ink-2); margin:0}
.verb__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.verb__cell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:32px 36px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:28px;
  align-items:start;
}
.verb__icon{
  width:88px; height:88px;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink);
}
.verb__body{display:flex; flex-direction:column; gap:10px}
.verb__pill{
  display:inline-flex;
  align-items:center;
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:0.22em;
  font-weight:500;
  color:var(--orange-2);
  background:var(--orange-soft);
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:6px;
  width:fit-content;
}
.verb__name{
  font-family:var(--serif);
  font-size:32px;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
}
.verb__desc{
  font-size:18px;
  color:var(--ink-2);
  line-height:1.45;
  margin:0;
}
.verb__rate{
  display:flex; align-items:center; gap:10px;
  margin-top:8px;
}
.verb__rate svg{color:var(--orange)}
.verb__rate b{
  font-family:var(--sans);
  font-size:28px;
  color:var(--orange);
  font-weight:700;
}
.verb__rate span{font-size:18px; color:var(--ink-2)}

/* =====================================================
   SLIDE 30 — POTENCIAL
   ===================================================== */
.pot{
  padding-top:30px;
  display:flex; flex-direction:column;
}
.pot__head{text-align:center; margin-bottom:36px}
.pot__title{
  font-family:var(--serif);
  font-size:96px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:14px 0;
}
.pot__sub{font-size:22px; color:var(--ink-2); margin:0}
.pot__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.pot__cell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:32px 32px 24px;
  display:flex; flex-direction:column;
  gap:14px;
  min-height:480px;
  position:relative;
  overflow:hidden;
}
.pot__cell--accent{
  background:var(--orange);
  color:#fff;
  border-color:transparent;
}
.pot__cell-head{
  display:flex; align-items:center; gap:14px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.pot__cell--accent .pot__cell-head{border-color:rgba(255,255,255,.3)}
.pot__cell-ico{
  width:56px; height:56px;
  border-radius:50%;
  background:var(--orange-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
  flex:none;
}
.pot__cell--accent .pot__cell-ico{background:rgba(255,255,255,.18); color:#fff}
.pot__cell-tag{
  font-family:var(--mono);
  font-size:16px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:600;
  margin:0;
  line-height:1.2;
}
.pot__cell--accent .pot__cell-tag{color:#fff}
.pot__cell-size{
  font-size:14px;
  color:var(--ink-3);
  margin:0;
}
.pot__cell--accent .pot__cell-size{color:rgba(255,255,255,.8)}
.pot__cell-val{
  font-family:var(--serif);
  font-size:32px;
  color:var(--orange);
  font-weight:500;
}
.pot__cell--accent .pot__cell-val{color:#fff}
.pot__cell-val b{
  display:block;
  font-size:108px;
  letter-spacing:-0.02em;
  line-height:1;
  margin:6px 0;
}
.pot__cell-val small{font-size:.6em; color:var(--ink-2)}
.pot__cell--accent .pot__cell-val small{color:rgba(255,255,255,.85)}
.pot__cell-bg{
  margin-top:auto;
  display:flex; align-items:end; gap:6px;
  height:90px;
  color:var(--orange);
  opacity:.5;
}
.pot__cell--accent .pot__cell-bg{color:rgba(255,255,255,.55); opacity:1}
.pot__foot{
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono);
  font-size:14px;
  letter-spacing:0.22em;
  color:var(--ink-3);
  text-transform:uppercase;
  margin-top:24px;
}
.pot__foot svg{color:var(--orange)}

/* =====================================================
   SLIDE 31 — MODELO ÊXITO (3 cards + ZERO/20%/100% strip)
   ===================================================== */
.mod31{
  padding-top:30px;
  display:flex; flex-direction:column;
  gap:32px;
}
.mod31__head{text-align:center}
.mod31__eb{
  font-family:var(--mono);
  font-size:18px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--orange);
  margin:0 0 14px;
}
.mod31__title{
  font-family:var(--serif);
  font-size:88px;
  font-weight:500;
  letter-spacing:-0.025em;
  margin:0 0 14px;
}
.mod31__sub{font-size:24px; color:var(--ink-2); margin:0}
.mod31__row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.mod31__cell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:36px 36px 32px;
  text-align:center;
  display:flex; flex-direction:column;
  gap:14px;
  align-items:center;
}
.mod31__icon{
  width:96px; height:96px;
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
  margin-bottom:14px;
}
.mod31__name{
  font-family:var(--serif);
  font-size:32px;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
}
.mod31__rule{width:50px; height:3px; background:var(--orange); border:0; margin:0}
.mod31__desc{
  font-size:18px;
  color:var(--ink-2);
  line-height:1.45;
  margin:0;
}
.mod31__strip{
  background:var(--orange-soft);
  border-radius:14px;
  padding:28px 40px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.mod31__strip-cell{
  text-align:center;
  padding:0 16px;
  border-right:1px solid #f1d4be;
}
.mod31__strip-cell:last-child{border-right:0}
.mod31__strip-num{
  font-family:var(--mono);
  font-size:72px;
  font-weight:500;
  color:var(--orange);
  letter-spacing:-0.01em;
  line-height:1;
}
.mod31__strip-lbl{
  font-size:18px;
  color:var(--ink-2);
  margin-top:6px;
}

/* =====================================================
   SLIDE 32 — FECHAMENTO (full-bleed photo + dark scrim)
   ===================================================== */
.slide--s32{padding:0; background:var(--ink)}
.s32__bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
}
.s32__bg::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(95deg, rgba(15,12,9,.85) 0%, rgba(15,12,9,.55) 38%, rgba(15,12,9,.15) 70%, rgba(15,12,9,.45) 100%),
    linear-gradient(180deg, rgba(15,12,9,.55) 0%, rgba(15,12,9,.1) 35%, rgba(15,12,9,.55) 100%);
}
.s32{
  position:relative; z-index:2;
  height:100%;
  padding:120px 130px;
  display:flex; flex-direction:column;
  justify-content:center;
  gap:36px;
  color:#fff;
}
.s32__brand img{height:48px; filter:brightness(0) invert(1)}
.s32__eyebrow{
  font-family:var(--mono);
  font-size:20px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  font-weight:500;
  color:#fff;
  margin:0;
  display:flex; align-items:center; gap:18px;
}
.s32__eyebrow::before{content:""; width:60px; height:3px; background:var(--orange)}
.s32__h{
  font-family:var(--serif);
  font-size:160px;
  font-weight:500;
  letter-spacing:-0.03em;
  line-height:.92;
  margin:0;
  color:#fff;
}
.s32__p{
  font-size:30px;
  line-height:1.45;
  color:rgba(255,255,255,.92);
  margin:0;
  max-width:760px;
}
.s32__chips{
  display:flex; flex-wrap:wrap; gap:16px;
  margin-top:8px;
}
.s32__chip{
  font-family:var(--mono);
  font-size:16px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#fff;
  padding:14px 28px;
  border:1.5px solid rgba(255,255,255,.55);
  border-radius:999px;
  background:transparent;
}
.s32__contacts{
  display:flex; gap:48px;
  margin-top:32px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,.25);
  flex-wrap:wrap;
}
.s32__contact{
  display:flex; align-items:center; gap:14px;
  font-size:24px;
  color:#fff;
}
.s32__contact svg{color:var(--orange-3); flex:none}
.s32__foot{
  position:absolute;
  bottom:50px; left:130px;
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:0.22em;
  color:rgba(255,255,255,.55);
  z-index:3;
}
.s32__foot--right{left:auto; right:130px}
.s32__bar{position:absolute; left:0; top:0; bottom:0; width:14px; background:var(--orange); z-index:5}
