/* =========================================================
   Santos & Portela Licitações — estilos globais
   Paleta e tipografia extraídas da apresentação institucional
   ========================================================= */
:root {
  --navy-900: #050F20;
  --navy-800: #071A33;
  --navy-700: #0E2747;
  --navy-600: #1A3557;
  --slate-400: #8D9AAE;
  --gray-200: #C9CCD2;
  --paper: #F7F7F8;
  --white: #FFFFFF;
  --gold: #B07A3C;
  --gold-light: #C9975E;
  --gold-soft: #D9B98F;
  --ink: #0B1626;

  --f-display: "Cinzel", Georgia, serif;
  --f-head: "League Spartan", "Montserrat", system-ui, sans-serif;
  --f-body: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;

  --container: 1200px;
  --gutter: clamp(20px, 4vw, 40px);
  --nav-h: 84px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--nav-h); -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }

.skip {
  position: absolute; left: 16px; top: -60px; z-index: 200;
  background: var(--gold); color: var(--white); padding: 10px 16px; border-radius: 4px;
}
.skip:focus { top: 16px; }

:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }

/* ---------- Botões ---------- */
.btn {
  --pad-y: 16px; --pad-x: 28px;
  display: inline-flex; align-items: center; gap: 12px;
  padding: var(--pad-y) var(--pad-x);
  font-family: var(--f-body); font-weight: 600; font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none; border-radius: 2px; border: 1px solid transparent;
  transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
  white-space: nowrap;
}
.btn svg { width: 18px; height: 18px; transition: transform .3s var(--ease); }
.btn:hover svg { transform: translateX(4px); }
.btn--sm { --pad-y: 11px; --pad-x: 20px; font-size: 12px; }
.btn--gold { background: var(--gold); color: var(--white); }
.btn--gold:hover { background: var(--gold-light); }
.btn--ghost { color: var(--white); border-color: rgba(255,255,255,.28); }
.btn--ghost:hover { border-color: var(--gold-light); color: var(--gold-soft); }

/* ---------- Marca ---------- */
.brand { display: inline-flex; flex-direction: column; text-decoration: none; color: var(--white); line-height: 1; }
.brand__name {
  font-family: var(--f-display); font-weight: 700; font-size: 21px; letter-spacing: .02em; line-height: .9;
}
.brand__tag {
  font-family: var(--f-body); font-weight: 600; font-size: 8.5px; color: var(--gold-light);
  letter-spacing: .62em; text-transform: uppercase; margin-top: 6px; padding-left: 2px;
}

/* =========================================================
   1. MENU
   ========================================================= */
.nav {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  height: var(--nav-h);
  transition: background .4s var(--ease), box-shadow .4s var(--ease), height .4s var(--ease);
}
.nav.is-solid {
  --nav-h: 72px;
  background: rgba(7, 26, 51, .94);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 rgba(255,255,255,.06), 0 10px 30px rgba(0,0,0,.18);
}
.nav__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.nav__menu { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 36px); }
.nav__menu a:not(.btn) {
  position: relative; text-decoration: none; color: rgba(255,255,255,.82);
  font-size: 13px; font-weight: 500; letter-spacing: .04em; padding: 6px 0;
  transition: color .25s;
}
.nav__menu a:not(.btn)::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--gold-light);
  transition: right .35s var(--ease);
}
.nav__menu a:not(.btn):hover, .nav__menu a.is-active { color: var(--white); }
.nav__menu a:not(.btn):hover::after, .nav__menu a.is-active::after { right: 0; }
.nav__cta-mobile { display: none; }

.nav__toggle {
  display: none; width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer;
  position: relative;
}
.nav__toggle span {
  position: absolute; left: 11px; right: 11px; height: 1.5px; background: var(--white);
  transition: transform .35s var(--ease), opacity .2s;
}
.nav__toggle span:nth-child(1) { top: 15px; }
.nav__toggle span:nth-child(2) { top: 21px; }
.nav__toggle span:nth-child(3) { top: 27px; }
.nav.is-open .nav__toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav.is-open .nav__toggle span:nth-child(2) { opacity: 0; }
.nav.is-open .nav__toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1180px) {
  .nav__cta { display: none; }
}
@media (max-width: 960px) {
  .nav__toggle { display: block; z-index: 2; }
  .nav__menu {
    position: fixed; inset: 0; z-index: 1;
    flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px;
    padding: 100px var(--gutter) 40px;
    background: var(--navy-800);
    opacity: 0; visibility: hidden; transition: opacity .35s var(--ease), visibility .35s;
  }
  .nav.is-open .nav__menu { opacity: 1; visibility: visible; }
  .nav__menu a:not(.btn) { font-family: var(--f-head); font-size: 30px; font-weight: 600; letter-spacing: 0; color: var(--white); }
  .nav__menu a:not(.btn)::after { display: none; }
  .nav__cta-mobile { display: inline-flex; margin-top: 28px; }
  .brand { position: relative; z-index: 2; }
}

/* =========================================================
   2. HERO
   ========================================================= */
.hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 100vh; min-height: 100svh;
  display: flex; align-items: center;
  padding: calc(var(--nav-h) + 32px) 0 88px;
  background:
    radial-gradient(1200px 700px at 85% 40%, rgba(26,53,87,.55), transparent 60%),
    linear-gradient(180deg, var(--navy-800) 0%, var(--navy-900) 100%);
  color: var(--white);
}
/* textura sutil de grade */
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 55%);
  -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 55%);
}

.hero__arcs {
  position: absolute; z-index: -1; top: 0; right: 0; height: 100%; width: auto;
  max-width: 48vw;
}
.hero__arcs .arc { fill: var(--navy-600); opacity: 0; transform: translateY(24px); }
.hero__arcs .arc.gold { fill: var(--gold); }
.hero.is-in .hero__arcs .arc { animation: arcIn 1.2s var(--ease) forwards; }
.hero.is-in .a1 { animation-delay: .15s !important; }
.hero.is-in .a2 { animation-delay: .3s !important; }
.hero.is-in .a3 { animation-delay: .45s !important; }
.hero.is-in .a4 { animation-delay: .6s !important; }
.hero.is-in .a5 { animation-delay: .75s !important; }
.hero.is-in .a6 { animation-delay: .9s !important; }
@keyframes arcIn { to { opacity: 1; transform: none; } }
.hero__arcs .arc:not(.gold) { --o: .9; }

.hero__inner { position: relative; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 14px; margin: 0 0 28px;
  font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-light);
}
.eyebrow::before { content: ""; width: 40px; height: 1px; background: var(--gold); }

.hero__title {
  margin: 0; max-width: 780px;
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(31px, 4.8vw, 62px); line-height: 1.1; letter-spacing: -.005em;
}
.hero__title em { font-style: normal; color: var(--gold-light); }

.hero__lead {
  margin: 28px 0 0; max-width: 54ch;
  font-size: clamp(16px, 1.35vw, 18px); line-height: 1.75; color: rgba(255,255,255,.74);
}
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 40px; }

.hero__proof {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 48px);
  margin: 64px 0 0; padding: clamp(28px, 3vw, 40px) clamp(24px, 3.4vw, 48px);
  background: rgba(5, 15, 32, .62);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 30px 60px rgba(0,0,0,.25);
  border-radius: 4px;
}
.hero__proof dt {
  display: flex; align-items: baseline; gap: 4px; white-space: nowrap;
  font-family: var(--f-head); font-weight: 700; line-height: .9; letter-spacing: -.02em;
  font-size: clamp(40px, 4.6vw, 68px); color: var(--white);
}
.hero__proof dt small { font-size: .42em; font-weight: 600; letter-spacing: 0; color: var(--gold-light); }
.hero__proof dt small:first-child { margin-right: 4px; }
.hero__proof dt b { font-weight: 600; color: var(--gold-light); margin-left: -2px; }
.hero__proof dd {
  margin: 14px 0 0; white-space: nowrap;
  font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.62);
}

.hero__scroll {
  position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%);
  width: 22px; height: 36px; border: 1px solid rgba(255,255,255,.3); border-radius: 12px;
}
.hero__scroll span {
  position: absolute; left: 50%; top: 7px; width: 2px; height: 7px; margin-left: -1px; border-radius: 2px;
  background: var(--gold-light); animation: scrollDot 2s ease-in-out infinite;
}
@keyframes scrollDot { 0%{opacity:0;transform:translateY(0)} 30%{opacity:1} 100%{opacity:0;transform:translateY(12px)} }

/* revelação em cascata */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.is-in .reveal, .reveal.is-in { opacity: 1; transform: none; }
.hero.is-in .reveal:nth-child(1) { transition-delay: .05s; }
.hero.is-in .reveal:nth-child(2) { transition-delay: .15s; }
.hero.is-in .reveal:nth-child(3) { transition-delay: .3s; }
.hero.is-in .reveal:nth-child(4) { transition-delay: .45s; }
.hero.is-in .reveal:nth-child(5) { transition-delay: .6s; }

@media (max-width: 960px) {
  .hero__proof { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .hero__arcs { max-width: none; opacity: .35; right: -30%; }
}
@media (max-width: 600px) {
  .hero { padding-bottom: 88px; align-items: flex-start; }
  .hero__inner { padding-top: 24px; }
  .eyebrow { font-size: 10.5px; letter-spacing: .16em; margin-bottom: 22px; }
  .eyebrow::before { width: 24px; }
  .hero__actions .btn { width: 100%; justify-content: center; white-space: nowrap; text-align: center; --pad-x: 12px; font-size: 12.5px; letter-spacing: .03em; }
  .hero__actions .btn svg { display: none; }
  .hero__proof { grid-template-columns: 1fr 1fr; gap: 28px 16px; margin: 44px calc(var(--gutter) * -1) 0; padding: 28px var(--gutter); border-radius: 0; }
  .hero__proof dd { font-size: 10.5px; letter-spacing: .1em; white-space: normal; }
  .hero__arcs { right: -55%; opacity: .25; }
  .hero__scroll { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal, .hero__arcs .arc { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }
  .hero__scroll span { animation: none; }
}

/* =========================================================
   3. NÚMEROS DE IMPACTO
   ========================================================= */
.impact {
  position: relative; overflow: hidden;
  padding: clamp(88px, 11vw, 150px) 0;
  background: var(--paper);
}
.impact__arc {
  position: absolute; left: -60px; bottom: -60px; width: clamp(220px, 26vw, 380px);
  fill: #E6E8EC; pointer-events: none;
}
.impact__grid {
  position: relative;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px);
  align-items: stretch;
}
.stat {
  position: relative;
  padding: clamp(32px, 3.4vw, 48px);
  background: var(--white);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(7,26,51,.04), 0 24px 48px -24px rgba(7,26,51,.18);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.stat:hover { z-index: 2; transform: scale(1.1); box-shadow: 0 1px 2px rgba(7,26,51,.04), 0 36px 64px -28px rgba(7,26,51,.28); }
.stat__num {
  margin: 0; display: flex; align-items: baseline; gap: 8px;
  font-family: var(--f-head); font-weight: 700; line-height: .9; letter-spacing: -.02em;
  font-size: clamp(64px, 7vw, 104px); color: var(--navy-800);
}
.stat__num--word { font-size: clamp(44px, 4.2vw, 62px); letter-spacing: -.03em; }
.stat__num--word { flex-direction: column; align-items: flex-start; gap: 10px; }
.stat__num--word small { white-space: nowrap; font-size: .32em; }
.stat__num small { font-size: .3em; font-weight: 600; letter-spacing: 0; color: var(--gold); }
.stat__label {
  margin: 20px 0 0;
  font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold);
}
.stat__text { margin: 16px 0 0; font-size: 15px; line-height: 1.7; color: #4A5568; max-width: 34ch; }

/* card central em destaque */
.stat--feature { background: var(--navy-800); color: var(--white); }
.stat--feature .stat__num { color: var(--white); }
.stat--feature .stat__label { color: var(--gold-light); }
.stat--feature .stat__text { color: rgba(255,255,255,.72); }
.stat__ring {
  position: absolute; top: clamp(28px, 3vw, 40px); right: clamp(28px, 3vw, 40px);
  width: 92px; height: 92px;
}
.stat__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.stat__ring circle { fill: none; stroke-width: 8; }
.stat__ring .ring-bg { stroke: rgba(255,255,255,.1); }
.stat__ring .ring-fg {
  stroke: var(--gold-light); stroke-linecap: round;
  stroke-dasharray: 339.3; stroke-dashoffset: 339.3;
  transition: stroke-dashoffset 1.8s var(--ease) .4s;
}
.stat--feature.is-in .ring-fg { stroke-dashoffset: calc(339.3 * (1 - var(--pct))); }
.stat__ring span {
  position: absolute; inset: 0; display: grid; place-items: center; text-align: center;
  font-size: 9.5px; font-weight: 600; line-height: 1.25; letter-spacing: .02em; text-transform: uppercase;
  color: rgba(255,255,255,.7);
  align-content: center; gap: 2px;
}
.stat__ring span b { display: block; font-family: var(--f-head); font-size: 22px; font-weight: 700; letter-spacing: 0; color: var(--white); }

/* revelação ao rolar */
.reveal-up { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease), transform .9s var(--ease), box-shadow .5s var(--ease); }
.reveal-up.is-in { opacity: 1; transform: none; }
.reveal-up.is-in:hover { transform: scale(1.1); transition-delay: 0s; }
.stat__num { transition: transform .5s var(--ease); transform-origin: left bottom; }
.stat:hover .stat__num { transform: scale(1.08); }
@media (hover: none) { .stat:hover, .reveal-up.is-in:hover { transform: none; } .stat:hover .stat__num { transform: none; } }
.impact__grid .reveal-up:nth-child(2) { transition-delay: .12s; }
.impact__grid .reveal-up:nth-child(3) { transition-delay: .24s; }

@media (max-width: 960px) {
  .impact__grid { grid-template-columns: 1fr; max-width: 560px; }
  .stat__text { max-width: none; }
}
@media (max-width: 600px) {
  .stat__ring { width: 76px; height: 76px; }
  .stat__ring span { font-size: 8px; }
  .stat__ring span b { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-up { opacity: 1 !important; transform: none !important; transition: none !important; }
  .stat__ring .ring-fg { transition: none; }
}

/* =========================================================
   4. QUEM SOMOS
   ========================================================= */
.about {
  position: relative; overflow: hidden;
  padding: clamp(96px, 12vw, 160px) 0;
  background: linear-gradient(180deg, var(--navy-800), var(--navy-900));
  color: var(--white);
}
.about__arc {
  position: absolute; left: -90px; bottom: -90px; width: clamp(260px, 30vw, 440px);
  fill: var(--navy-700); opacity: .6; pointer-events: none;
}
.about__grid {
  position: relative;
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(48px, 7vw, 112px);
  align-items: center;
}
.about__lead {
  margin: 0;
  font-family: var(--f-head); font-weight: 500; letter-spacing: -.01em;
  font-size: clamp(26px, 2.7vw, 38px); line-height: 1.25; color: var(--white);
}
.about__lead em { font-style: normal; color: var(--gold-light); }
.about__text { margin: 28px 0 0; font-size: 16px; line-height: 1.8; color: rgba(255,255,255,.68); max-width: 52ch; }
.about__text + .about__text { margin-top: 18px; color: rgba(255,255,255,.92); font-weight: 500; }

.pillars { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.pillar {
  display: grid; grid-template-columns: clamp(64px, 6.4vw, 96px) 1fr; gap: clamp(16px, 2vw, 28px); align-items: center;
  padding: clamp(26px, 2.8vw, 36px) clamp(26px, 3vw, 40px);
  background: #0B1E3A;
  border-radius: 4px;
  transform-origin: center;
  transition: transform .5s var(--ease), background .4s var(--ease), box-shadow .5s var(--ease), opacity .9s var(--ease);
}
.pillar__num {
  font-family: var(--f-head); font-weight: 700; line-height: 1; letter-spacing: -.02em;
  font-size: clamp(48px, 4.6vw, 68px); color: var(--gold-light);
  transition: transform .5s var(--ease); transform-origin: left center;
}
.pillar__name { margin: 0; font-family: var(--f-head); font-weight: 600; font-size: 22px; letter-spacing: .01em; color: var(--white); }
.pillar__text { margin: 8px 0 0; font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.66); }
.pillars .reveal-up:nth-child(2) { transition-delay: .12s; }
.pillars .reveal-up:nth-child(3) { transition-delay: .24s; }
.pillar.is-in:hover {
  z-index: 2; transform: scale(1.06); transition-delay: 0s;
  background: var(--navy-700); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6);
}
.pillar:hover .pillar__num { transform: scale(1.1); }
@media (hover: none) { .pillar.is-in:hover { transform: none; } .pillar:hover .pillar__num { transform: none; } }

@media (max-width: 960px) {
  .about__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pillar { grid-template-columns: 1fr; gap: 14px; }
}

/* =========================================================
   5. TRAJETÓRIA — cartões metálicos em escada
   ========================================================= */
.timeline { position: relative; overflow: hidden; isolation: isolate; padding: clamp(96px, 12vw, 160px) 0; background: var(--paper); }
.timeline__arc { position: absolute; z-index: -1; fill: #E6E8EC; pointer-events: none; width: clamp(240px, 28vw, 420px); }
.timeline__arc--tr { right: -70px; top: -70px; }
.timeline__arc--bl { left: -70px; bottom: -70px; width: clamp(180px, 20vw, 300px); }
.vault { position: relative; }
.deck {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 22px);
  align-items: end;
  perspective: 1200px;
  --step: clamp(18px, 2.6vw, 38px);
  --gap: clamp(12px, 1.6vw, 22px);
}
/* escada: cada ano sobe um degrau */
.card {
  margin-bottom: calc(var(--i) * var(--step));
  /* estado inicial: todos empilhados no primeiro lugar, como um maço de cartões */
  transform:
    translateX(calc(var(--i) * (-100% - var(--gap))))
    translateY(calc(var(--i) * var(--step)))
    rotate(calc(var(--i) * -2.5deg));
  opacity: 0;
  transition: transform 1.1s cubic-bezier(.2,.8,.2,1), opacity .5s ease;
  transition-delay: calc(var(--i) * 220ms);
}
.deck.is-dealt .card { transform: none; opacity: 1; }
.card__face {
  position: relative; overflow: hidden;
  aspect-ratio: 5 / 8;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: clamp(16px, 1.6vw, 24px);
  border-radius: 14px;
  color: var(--white);
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 3px),
    linear-gradient(145deg, #23344D 0%, #0D182B 48%, #1A2940 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.14) inset,
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 30px 50px -24px rgba(0,0,0,.75);
  transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(var(--s, 1));
  transition: transform .45s var(--ease), box-shadow .45s var(--ease);
  will-change: transform;
}
/* reflexo metálico */
.card__face::before {
  content: ""; position: absolute; inset: -40%;
  background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.14) 48%, transparent 58%);
  transform: translateX(-60%); transition: transform 1.1s var(--ease);
  pointer-events: none;
}
.deck.is-dealt .card__face::before { transform: translateX(60%); transition-delay: calc(var(--i) * 220ms + .6s); }
.card__face:hover::before { transform: translateX(-60%); transition-delay: 0s; }
.card__face:hover { --s: 1.1; z-index: 3; box-shadow: 0 1px 0 rgba(255,255,255,.2) inset, 0 0 0 1px rgba(255,255,255,.1) inset, 0 50px 70px -28px rgba(0,0,0,.85); }
.card { position: relative; }
.card:hover { z-index: 3; }

.card__top { display: flex; justify-content: space-between; align-items: flex-start; }
.card__year { font-family: var(--f-display); font-weight: 700; font-size: clamp(16px, 1.5vw, 22px); letter-spacing: .08em; color: rgba(255,255,255,.92); }
.card__mark { width: clamp(14px, 1.3vw, 19px); fill: var(--gold-light); opacity: .9; }
.card__value {
  margin: 0; display: flex; align-items: baseline; gap: 3px; white-space: nowrap;
  font-family: var(--f-head); font-weight: 700; line-height: 1; letter-spacing: -.02em;
  font-size: clamp(26px, 2.8vw, 42px);
}
.card__value small { font-size: .4em; font-weight: 600; letter-spacing: 0; color: var(--gold-light); }
.card__value small:first-child { margin-right: 3px; }
.card__value b { font-weight: 600; color: var(--gold-light); margin-left: -1px; }
.card__clients { margin: 10px 0 0; font-size: clamp(10px, .85vw, 12px); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.card__brand {
  position: absolute; left: clamp(16px, 1.6vw, 24px); bottom: clamp(14px, 1.4vw, 20px);
  font-family: var(--f-display); font-size: 8.5px; letter-spacing: .28em; text-transform: uppercase; color: rgba(255,255,255,.28);
}
.card__body { margin-bottom: 26px; }

/* cartão 2026 em ouro */
.card--gold .card__face {
  color: var(--navy-900);
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 3px),
    linear-gradient(145deg, #F3D9AE 0%, #D2A266 30%, #A8743A 62%, #E7C48F 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.6) inset,
    0 0 70px rgba(201,151,94,.35),
    0 34px 60px -24px rgba(0,0,0,.8);
}
.card--gold .card__year { color: var(--navy-900); }
.card--gold .card__mark { fill: var(--navy-900); }
.card--gold .card__value small, .card--gold .card__value b { color: #4A2F12; }
.card--gold .card__clients { color: rgba(5,15,32,.7); }
.card--gold .card__brand { color: rgba(5,15,32,.4); }
.card--gold .card__face:hover { box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 0 100px rgba(201,151,94,.55), 0 50px 70px -28px rgba(0,0,0,.85); }

.vault__note { margin: 40px 0 0; text-align: center; font-size: 12px; letter-spacing: .06em; color: var(--slate-400); }

@media (hover: none) { .card__face:hover { --s: 1; } }

/* celular: carrossel deslizante */
@media (max-width: 760px) {
  .vault { margin: 0 calc(var(--gutter) * -1); }
  .deck {
    display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory;
    padding: 30px 22px 28px; align-items: flex-end; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    --step: 16px;
  }
  .deck::-webkit-scrollbar { display: none; }
  .card { flex: 0 0 62%; scroll-snap-align: center; transform: translateY(40px); }
  .card__value { font-size: 36px; }
  .card__clients { font-size: 11px; }
  .card__year { font-size: 20px; }
  .vault__note { padding: 0 22px; margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .card { transform: none !important; opacity: 1 !important; transition: none !important; }
}

/* =========================================================
   5b. TRAJETÓRIA — moedas de ouro Santos & Portela
   ========================================================= */
.treasury {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 2vw, 32px);
  align-items: end;
  --coin-w: clamp(64px, 9.6vw, 150px);
  --coin-h: calc(var(--coin-w) * .3);
  --step: clamp(8px, .9vw, 12px);
}
.pile { display: flex; flex-direction: column; align-items: center; text-align: center; cursor: default;
  transition: transform .5s var(--ease); transform-origin: center bottom; }
.pile:hover { transform: scale(1.08); }
@media (hover: none) { .pile:hover { transform: none; } }

.pile__label { opacity: 0; transform: translateY(14px); transition: opacity .7s var(--ease), transform .7s var(--ease); margin-bottom: 18px; }
.pile.is-full .pile__label { opacity: 1; transform: none; }
.pile__value {
  margin: 0; display: flex; align-items: baseline; justify-content: center; gap: 3px; white-space: nowrap;
  font-family: var(--f-head); font-weight: 700; line-height: 1; letter-spacing: -.02em;
  font-size: clamp(24px, 2.8vw, 42px); color: var(--navy-800);
}
.pile__value small { font-size: .42em; font-weight: 600; letter-spacing: 0; color: var(--gold); }
.pile__value small:first-child { margin-right: 3px; }
.pile__value b { font-weight: 600; color: var(--gold); margin-left: -1px; }
.pile__clients { margin: 8px 0 0; font-size: clamp(10px, .85vw, 12px); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #5A6578; white-space: nowrap; }

.pile__stack {
  position: relative; width: var(--coin-w);
  height: calc(var(--coin-h) + (var(--n, 1) - 1) * var(--step));
}
/* sombra no chão */
.pile__stack::before {
  content: ""; position: absolute; left: -12%; right: -12%; bottom: calc(var(--coin-h) * -.18); height: calc(var(--coin-h) * .7);
  border-radius: 50%; background: radial-gradient(closest-side, rgba(7,26,51,.28), transparent);
  opacity: 0; transition: opacity .6s;
}
.pile.has-coins .pile__stack::before { opacity: 1; }

.coin {
  position: absolute; left: 0; width: 100%; height: var(--coin-h);
  bottom: calc(var(--k) * var(--step));
  will-change: transform;
}
/* borda serrilhada */
.coin::before {
  content: ""; position: absolute; left: 0; right: 0; top: 18%; bottom: 0; border-radius: 50%;
  background:
    repeating-linear-gradient(90deg, rgba(0,0,0,.18) 0 1.5px, transparent 1.5px 4px),
    linear-gradient(90deg, #7A4E1E 0%, #C08A45 22%, #E9C27F 45%, #B27B3A 70%, #6E451A 100%);
  box-shadow: 0 2px 3px rgba(40,24,6,.35);
}
/* face */
.coin::after {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 82%; border-radius: 50%;
  background:
    radial-gradient(ellipse 46% 40% at 50% 50%, transparent 62%, rgba(110,69,26,.55) 64%, transparent 70%),
    radial-gradient(ellipse at 34% 30%, #FFF0CF 0%, #F0CC8A 18%, #D5A05C 48%, #A9733A 78%, #8A5A27 100%);
  box-shadow: inset 0 0 0 1.5px rgba(255,235,190,.55), inset 0 -2px 3px rgba(80,48,14,.4);
}
/* moeda do topo com o monograma */
.coin__mark {
  position: absolute; z-index: 1; left: 0; right: 0; top: 0; height: 82%;
  display: grid; place-items: center;
  font-family: var(--f-display); font-weight: 700; font-size: calc(var(--coin-w) * .2); letter-spacing: .04em;
  color: rgba(100,62,20,.75); text-shadow: 0 1px 0 rgba(255,240,205,.6);
  transform: scaleY(.62);
}
.pile__year {
  margin: 22px 0 0;
  font-family: var(--f-display); font-weight: 700; font-size: clamp(17px, 1.6vw, 24px); letter-spacing: .06em; color: var(--navy-800);
}
.pile--now .pile__year { color: var(--gold); }
.pile--now .pile__stack { filter: drop-shadow(0 0 26px rgba(201,151,94,.45)); }
.pile--now .pile__stack::after {
  content: ""; position: absolute; inset: -30% -45%; z-index: -1; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(201,151,94,.35), transparent); opacity: 0; transition: opacity 1s;
}
.pile--now.is-full .pile__stack::after { opacity: 1; }

@media (max-width: 760px) {
  .treasury {
    grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px;
    --coin-w: 54px; --step: 7px;
  }
  .pile__value { font-size: 19px; flex-wrap: wrap; gap: 1px; }
  .pile__value small:first-child { flex-basis: 100%; margin: 0 0 3px; text-align: center; }
  .pile__clients { font-size: 8.5px; letter-spacing: .04em; white-space: normal; }
  .pile__year { font-size: 13px; }
}

.treasury { position: relative; }
.treasury__gl {
  position: absolute; z-index: 1; left: -40px; right: -40px; top: -300px; bottom: 0;
  width: calc(100% + 80px); height: calc(100% + 300px); pointer-events: none;
}
.treasury.is-3d .pile__label, .treasury.is-3d .pile__year { position: relative; z-index: 2; }
.treasury.is-3d .pile:hover { transform: none; }
.treasury.is-3d .pile:hover .pile__label { transform: scale(1.08); }
.treasury__foot { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-top: 48px; }
.treasury__foot .vault__note { margin: 0; }
.treasury__replay {
  display: inline-flex; align-items: center; gap: 10px; cursor: pointer;
  padding: 11px 20px; border: 1px solid rgba(176,122,60,.45); border-radius: 999px; background: transparent;
  font: 600 12px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold);
  transition: background .3s var(--ease), color .3s var(--ease), transform .4s var(--ease);
}
.treasury__replay svg { width: 18px; height: 18px; }
.treasury__replay:hover { background: var(--gold); color: var(--white); transform: scale(1.08); }

/* ---------- cartões dos números sobre as pilhas de moedas ---------- */
.pcard {
  width: 100%; max-width: 230px; text-align: left;
  padding: 16px 18px; border-radius: 8px; background: var(--white);
  box-shadow: 0 1px 2px rgba(7,26,51,.05), 0 24px 48px -24px rgba(7,26,51,.28);
  margin-bottom: 26px;
}
.pile.is-full .pcard:hover { transform: scale(1.1); }
.treasury.is-3d .pile:hover .pile__label { transform: none; }
.treasury.is-3d .pile.is-full .pile__label:hover { transform: scale(1.1); }
.pile--now .pcard { box-shadow: 0 0 0 1px rgba(201,151,94,.45), 0 24px 48px -24px rgba(7,26,51,.3), 0 0 40px rgba(201,151,94,.22); }
.mile__year { margin: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-family: var(--f-display); font-weight: 700; font-size: 19px; letter-spacing: .06em; color: var(--navy-800); }
.mile__tag { font-family: var(--f-body); font-size: 9.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); padding: 4px 9px; border-radius: 999px; background: rgba(201,151,94,.14); }
.mile__value {
  margin: 8px 0 0; display: flex; align-items: baseline; gap: 3px; white-space: nowrap;
  font-family: var(--f-head); font-weight: 700; line-height: 1; letter-spacing: -.02em; font-size: clamp(26px, 2.4vw, 36px); color: var(--navy-800);
}
.mile__value small { font-size: .42em; font-weight: 600; letter-spacing: 0; color: var(--gold); }
.mile__value small:first-child { margin-right: 3px; }
.mile__value b { font-weight: 600; color: var(--gold); margin-left: -1px; }
.mile__clients { margin: 8px 0 0; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #5A6578; white-space: nowrap; }

@media (max-width: 760px) {
  .treasury { grid-template-columns: 1fr; gap: 22px; --coin-w: 76px; --step: 8px; }
  .pile { display: grid; grid-template-columns: 96px 1fr; align-items: end; column-gap: 14px; text-align: left; }
  .pile__stack { grid-column: 1; grid-row: 1; justify-self: center; }
  .pcard { grid-column: 2; grid-row: 1; margin: 0; max-width: none; }
  .mile__value { font-size: 28px; }
}

/* borda dourada animada em todos os cartões das moedas */
@property --spin { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.pcard { position: relative; isolation: isolate; }
.pcard::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; z-index: 1; pointer-events: none;
  background: conic-gradient(from var(--spin), rgba(201,151,94,.35) 0deg, #F3D9AE 40deg, #B07A3C 80deg, rgba(201,151,94,.35) 140deg, rgba(201,151,94,.35) 180deg, #F3D9AE 220deg, #B07A3C 260deg, rgba(201,151,94,.35) 320deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: spinBorder 4s linear infinite;
}
.pile .pcard { box-shadow: 0 1px 2px rgba(7,26,51,.05), 0 24px 48px -24px rgba(7,26,51,.28), 0 0 28px rgba(201,151,94,.14); }
.pile--now .pcard { box-shadow: 0 24px 48px -24px rgba(7,26,51,.3), 0 0 40px rgba(201,151,94,.28); }
@keyframes spinBorder { to { --spin: 360deg; } }
@media (prefers-reduced-motion: reduce) { .pcard::before { animation: none; } }

/* =========================================================
   6. ATUAÇÃO — fiel ao slide da apresentação
   ========================================================= */
.acts { position: relative; overflow: hidden; isolation: isolate; padding: clamp(96px, 11vw, 140px) 0; background: var(--paper); }
.acts__arc { position: absolute; z-index: -1; fill: #EFEBE4; pointer-events: none; }
.acts__arc--a { right: -40px; top: -40px; width: clamp(200px, 22vw, 320px); }
.acts__arc--b { left: -60px; bottom: -80px; width: clamp(220px, 24vw, 340px); }
.acts__arc--c { left: 46%; bottom: -120px; width: clamp(200px, 20vw, 300px); }
.acts__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 36px); }
.act { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
/* linha dourada ligando os círculos */
.act:not(:last-child)::after {
  content: ""; position: absolute; top: calc(var(--c) / 2 - 1.5px); left: calc(50% + var(--c) / 2 + 12px);
  width: calc(100% + clamp(16px, 2.4vw, 36px) - var(--c) - 24px); height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, #A8743A, #C9975E);
  transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease);
  transition-delay: calc(var(--i) * 280ms + 450ms);
}
.acts { --c: clamp(120px, 11vw, 158px); }
.act__circle {
  position: relative; display: grid; place-items: center; width: var(--c); height: var(--c); border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #12305A, var(--navy-800) 70%);
  box-shadow: 0 24px 40px -20px rgba(7,26,51,.55);
  transform: scale(.4); opacity: 0;
  transition: transform .7s cubic-bezier(.3,1.5,.5,1), opacity .4s, box-shadow .4s;
  transition-delay: calc(var(--i) * 280ms);
}
.act__circle::before {   /* anel dourado girando */
  content: ""; position: absolute; inset: -5px; border-radius: 50%; padding: 1.5px;
  background: conic-gradient(from var(--spin), transparent 0deg, #F3D9AE 60deg, #B07A3C 120deg, transparent 180deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: spinBorder 5s linear infinite; animation-delay: calc(var(--i) * -1.25s);
}
.act__circle svg { width: 54%; height: 54%; fill: none; stroke: var(--white); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.act__circle svg .fill { fill: var(--white); stroke: none; }
.act__name {
  margin: 30px 0 0; font-family: var(--f-body); font-weight: 600; font-size: clamp(16px, 1.45vw, 20px); color: var(--gold);
  opacity: 0; transform: translateY(12px); transition: opacity .6s var(--ease), transform .6s var(--ease); transition-delay: calc(var(--i) * 280ms + 250ms);
}
.act__text {
  margin: 10px 0 0; max-width: 26ch; font-size: clamp(15px, 1.25vw, 17px); line-height: 1.5; color: var(--navy-800);
  opacity: 0; transform: translateY(12px); transition: opacity .6s var(--ease), transform .6s var(--ease); transition-delay: calc(var(--i) * 280ms + 350ms);
}
.acts.is-in .act__circle { transform: none; opacity: 1; }
.acts.is-in .act__name, .acts.is-in .act__text { opacity: 1; transform: none; }
.acts.is-in .act:not(:last-child)::after { transform: scaleX(1); }
.acts.is-in .act__circle:hover { transform: scale(1.12); transition-delay: 0s; box-shadow: 0 30px 50px -18px rgba(7,26,51,.6), 0 0 0 6px rgba(201,151,94,.15); }
@media (hover: none) { .acts.is-in .act__circle:hover { transform: none; } }
@media (max-width: 900px) {
  .acts__list { grid-template-columns: 1fr 1fr; row-gap: 56px; }
  .act:nth-child(2)::after { display: none; }
}
@media (max-width: 560px) {
  .acts__list { grid-template-columns: 1fr; }
  .act:not(:last-child)::after { display: block; left: calc(50% - 1.5px); top: calc(100% + 12px); width: 3px; height: 32px; transform-origin: top; }
  .acts.is-in .act:not(:last-child)::after { transform: scaleY(1); }
  .act:not(:last-child)::after { transform: scaleY(0); }
}
@media (prefers-reduced-motion: reduce) { .act__circle, .act__name, .act__text { opacity: 1 !important; transform: none !important; } }

/* =========================================================
   7. DO EDITAL AO RESUMO EXECUTIVO — fiel ao slide
   ========================================================= */
.brief { display: grid; grid-template-columns: 57fr 43fr; min-height: 640px; background: var(--paper); overflow: hidden; }
.brief__text { background: var(--navy-800); color: var(--white); display: flex; align-items: center; justify-content: flex-end; padding: clamp(80px, 9vw, 120px) clamp(32px, 5vw, 80px); }
.brief__inner { width: 100%; max-width: 600px; }
.brief__lead { margin: 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(34px, 3.8vw, 54px); line-height: 1.04; letter-spacing: -.01em; color: var(--gold-light); }
.brief__lead em { font-style: normal; }
.brief__intro { margin: 26px 0 0; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; color: rgba(255,255,255,.9); }
.brief__list { list-style: none; margin: 40px 0 0; padding: 0; display: grid; gap: 30px; }
.brief__item {
  position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 6px; align-items: start;
  padding-left: 22px; cursor: default; transition: transform .5s var(--ease), opacity .9s var(--ease);
  transform-origin: left center;
}
/* fio dourado vertical que se completa no hover */
.brief__item::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 2px; background: rgba(201,151,94,.22); }
.brief__item::after {
  content: ""; position: absolute; left: 0; top: 4px; width: 2px; height: calc(100% - 8px);
  background: linear-gradient(180deg, #F3D9AE, #B07A3C); transform: scaleY(.28); transform-origin: top;
  transition: transform .6s var(--ease); box-shadow: 0 0 12px rgba(201,151,94,.5);
}
.brief__item.is-in:hover { transform: translateX(6px); }
.brief__item:hover::after { transform: scaleY(1); }
.brief__no { font-family: var(--f-display); font-weight: 700; font-size: 15px; letter-spacing: .14em; color: rgba(201,151,94,.55); padding-top: 4px; transition: color .4s; }
.brief__item:hover .brief__no { color: var(--gold-light); }
.brief__item b { display: block; font-family: var(--f-display); font-weight: 700; font-size: clamp(17px, 1.45vw, 21px); letter-spacing: .04em; color: var(--white); }
.brief__item span:not(.brief__no) { display: block; margin-top: 8px; font-size: clamp(14.5px, 1.15vw, 16px); line-height: 1.65; color: rgba(255,255,255,.66); max-width: 46ch; transition: color .4s; }
.brief__item:hover span:not(.brief__no) { color: rgba(255,255,255,.9); }
.brief__list .reveal-up:nth-child(2) { transition-delay: .12s; } .brief__list .reveal-up:nth-child(3) { transition-delay: .24s; }
/* destaque no documento correspondente ao item em foco */
.doc [data-g] { transition: background .35s, color .35s, box-shadow .35s; }
.brief[data-on="read"] .doc [data-g="read"], .brief[data-on="decide"] .doc [data-g="decide"], .brief[data-on="trace"] .doc [data-g="trace"] { background: #FBF5EA; color: #8A5A27; box-shadow: inset 2px 0 0 var(--gold); }

.brief__visual { position: relative; display: flex; align-items: center; padding: 48px 0 48px clamp(20px, 3vw, 40px); }
.brief__s { position: absolute; right: -150px; top: 50%; height: 92%; transform: translateY(-50%); fill: rgba(7,26,51,.82); pointer-events: none; z-index: 2; mix-blend-mode: multiply; opacity: .6; }
.doc {
  position: relative; overflow: hidden; width: 100%; max-width: 520px; padding: 18px 20px 22px; background: var(--white); border-radius: 4px;
  box-shadow: 0 40px 80px -40px rgba(7,26,51,.45), 0 0 0 1px rgba(7,26,51,.06);
  font-size: 10px; color: var(--navy-800);
  transform: translateX(40px) rotate(1.5deg); opacity: 0; transition: transform 1s var(--ease), opacity .8s;
}
.brief.is-in .doc { transform: rotate(0); opacity: 1; }
.doc__head { font-weight: 600; letter-spacing: .06em; color: #5A6578; padding-bottom: 10px; }
.doc__brand { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border: 1px solid #D5DAE1; }
.doc__logo { font-family: var(--f-display); font-weight: 700; font-size: 13px; line-height: .95; color: var(--navy-800); }
.doc__tag { font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.doc__table { border: 1px solid #D5DAE1; border-top: 0; }
.doc__row { display: grid; grid-template-columns: 38% 1fr; border-top: 1px solid #E3E7EC; opacity: 0; transform: translateY(6px); transition: opacity .45s, transform .45s, background .3s; transition-delay: calc(.6s + var(--r) * 120ms); }
.brief.is-in .doc__row { opacity: 1; transform: none; }
.doc__k { padding: 6px 8px; font-weight: 700; font-size: 9px; text-transform: uppercase; letter-spacing: .02em; background: #EEF1F5; }
.doc__v { padding: 7px 8px; display: grid; gap: 4px; }
.doc__v i, .doc__para i { display: block; height: 5px; border-radius: 3px; background: #CDD3DB; width: calc(var(--w, 3) * 18%); max-width: 100%; }
.doc__row--hot .doc__k { background: #FBE3E1; color: #B42318; }
.doc__row--hot .doc__v i { background: #F2B8B2; }
.doc__sec { margin-top: 14px; padding: 5px 8px; background: var(--navy-800); color: var(--white); font-weight: 700; font-size: 9px; letter-spacing: .06em; }
.doc__para { padding: 10px 8px 4px; display: grid; gap: 6px; }
.doc__para i { width: 100%; } .doc__para i[style] { width: 60%; }
.doc__link { margin: 12px 8px 0; font-weight: 600; font-size: 10px; color: var(--gold); }
.doc__scan {
  position: absolute; left: 0; right: 0; height: 80px; top: -90px; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(201,151,94,.22), transparent);
}
.brief.is-in .doc__scan { animation: scan 3.6s ease-in-out 2s infinite; }
@keyframes scan { 0% { top: -90px; } 100% { top: 105%; } }
@media (max-width: 900px) {
  .brief { grid-template-columns: 1fr; }
  .brief__text { justify-content: flex-start; padding: 80px var(--gutter) 56px; }
  .brief__visual { padding: 40px var(--gutter) 56px; justify-content: center; }
  .brief__s { display: none; }
}
@media (prefers-reduced-motion: reduce) { .doc, .doc__row { opacity: 1 !important; transform: none !important; } .doc__scan { display: none; } }

/* =========================================================
   8. ESTRUTURA COMPLETA — versão escura do mesmo padrão
   ========================================================= */
.acts--dark {
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(201,151,94,.20), transparent 70%),
    radial-gradient(700px 500px at 100% 100%, rgba(26,53,87,.55), transparent 70%),
    linear-gradient(180deg, #030A16 0%, #06142A 100%);
}
.acts--dark::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.2px); background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, #000, transparent 85%); mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, #000, transparent 85%);
}
.acts--dark .acts__arc { fill: rgba(201,151,94,.07); width: clamp(220px, 24vw, 340px); bottom: -150px; top: auto; }
.acts--dark .acts__arc--b { left: -40px; }
.acts--dark .acts__arc--c { left: 38%; }
.acts--dark .acts__arc--d { right: -40px; }
.acts__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1000px; margin-inline: auto; gap: clamp(24px, 4vw, 64px); }
.acts__list--3 .act:not(:last-child)::after { width: calc(100% + clamp(24px, 4vw, 64px) - var(--c) - 24px); }
.acts--dark .act__circle { background: radial-gradient(circle at 35% 30%, #FFFFFF, #EEF0F3 75%); box-shadow: 0 24px 40px -18px rgba(0,0,0,.6); }
.acts--dark .act__circle svg { stroke: var(--navy-800); }
.acts--dark .act:not(:last-child)::after { background: linear-gradient(90deg, #FFFFFF, #E9E2D6); }
.acts--dark .act__name { color: #F2EBDD; }
.acts--dark .act__text { color: rgba(255,255,255,.85); }
.acts--dark.is-in .act__circle:hover { box-shadow: 0 30px 50px -18px rgba(0,0,0,.7), 0 0 0 6px rgba(201,151,94,.25); }
@media (max-width: 900px) { .acts__list--3 { grid-template-columns: 1fr; } .acts__list--3 .act:not(:last-child)::after { display: block; left: calc(50% - 1.5px); top: calc(100% + 12px); width: 3px; height: 32px; transform-origin: top; transform: scaleY(0); } .acts--dark.is-in .act:not(:last-child)::after { transform: scaleY(1); } .acts__list--3 { row-gap: 56px; } }

.acts--alt { background: #FBF9F5; }
.acts--alt .acts__arc { width: clamp(220px, 24vw, 340px); bottom: -150px; top: auto; }
.acts--alt .acts__arc--b { left: -40px; } .acts--alt .acts__arc--c { left: 38%; } .acts--alt .acts__arc--d { right: -40px; }
@media (max-width: 900px) { .acts--alt.is-in .act:not(:last-child)::after { transform: scaleY(1); } }

/* =========================================================
   9. EQUIPE — versão compacta, em uma única seção
   ========================================================= */
.team2 { position: relative; overflow: hidden; isolation: isolate; padding: clamp(88px, 10vw, 130px) 0 0; background: var(--paper); }
.team2__arc { position: absolute; z-index: -1; fill: #E7E9ED; pointer-events: none; }
.team2__arc--a { right: -50px; top: -50px; width: clamp(200px, 22vw, 320px); }
.team2__arc--b { left: -60px; top: 42%; width: clamp(180px, 20vw, 280px); }
.team2__title { margin: 0 auto clamp(48px, 5vw, 70px); max-width: 24ch; text-align: center; font-family: var(--f-display); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; line-height: 1.15; font-size: clamp(26px, 3vw, 44px); color: var(--navy-800); }
.team2__leads { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 2.4vw, 32px); }
.lead { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(20px, 2.4vw, 32px); align-items: start; padding: clamp(20px, 2vw, 28px); border-radius: 10px; background: var(--white); box-shadow: 0 1px 2px rgba(7,26,51,.05), 0 30px 60px -36px rgba(7,26,51,.35); }
.lead__ph { position: relative; margin: 0; aspect-ratio: 4 / 5; border-radius: 6px; overflow: hidden; background: radial-gradient(circle at 50% 30%, #1A3557, var(--navy-900) 75%); }
.lead__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; transition: transform .8s var(--ease); }
.lead__ph--cut img { object-fit: cover; object-position: center top; height: 135%; }
.lead:hover .lead__ph img { transform: scale(1.04); }
.lead__name { margin: 6px 0 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(24px, 2.1vw, 30px); line-height: 1; color: var(--navy-800); }
.lead__role { margin: 8px 0 0; font-weight: 600; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.lead__bio, .lead__more { margin: 16px 0 0; font-size: 14.5px; line-height: 1.7; color: #3B4658; }
.lead__more { display: grid; grid-template-rows: 0fr; margin: 0; opacity: 0; overflow: hidden; transition: grid-template-rows .5s var(--ease), opacity .4s, margin .4s; }
.lead.is-open .lead__more { opacity: 1; margin-top: 12px; max-height: 600px; }
.lead__more { max-height: 0; transition: max-height .6s var(--ease), opacity .4s, margin .4s; }
.lead__toggle { margin-top: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 0; background: none; border: 0; cursor: pointer; font: 600 12px var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); transition: transform .4s var(--ease); transform-origin: left center; }
.lead__toggle:hover { transform: scale(1.06); }
.lead__toggle svg { width: 16px; height: 16px; transition: transform .4s var(--ease); }
.lead.is-open .lead__toggle svg { transform: rotate(180deg); }

.team2__board { list-style: none; margin: clamp(56px, 6vw, 80px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(14px, 2vw, 32px); text-align: center; }
.member { display: flex; flex-direction: column; align-items: center; transition-delay: calc(var(--i) * 110ms) !important; }
.member__ph { position: relative; display: block; width: clamp(100px, 9.5vw, 132px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 20px 40px -20px rgba(7,26,51,.55); transition: transform .5s var(--ease), box-shadow .5s; }
.member__ph::after { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(201,151,94,0); transition: box-shadow .4s; }
.member__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.member__ph:hover { transform: scale(1.12); }
.member__ph:hover::after { box-shadow: inset 0 0 0 3px var(--gold-light); }
.member__name { margin: 18px 0 0; font-weight: 700; font-size: clamp(15px, 1.25vw, 17px); color: var(--gold); }
.member__role { margin: 4px 0 0; font-weight: 600; font-size: 13px; color: var(--navy-800); }

.team2__crew { position: relative; margin: clamp(40px, 4vw, 56px) auto 0; max-width: 680px; }
.team2__crew img { display: block; width: 100%; height: auto; }
.team2__crew::before { content: ""; position: absolute; left: 6%; right: 6%; bottom: 0; height: 40px; background: radial-gradient(closest-side, rgba(7,26,51,.18), transparent); }
.team2__crew figcaption { position: absolute; left: 50%; bottom: clamp(20px, 3vw, 40px); transform: translateX(-50%); padding: 10px 26px; border-radius: 999px; background: rgba(7,26,51,.92); font-family: var(--f-display); font-weight: 700; font-size: clamp(14px, 1.3vw, 18px); letter-spacing: .08em; color: var(--white); white-space: nowrap; box-shadow: 0 10px 30px -10px rgba(7,26,51,.6); }
@media (hover: none) { .member__ph:hover { transform: none; } }
@media (max-width: 1000px) { .team2__leads { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .lead { grid-template-columns: 1fr; }
  .lead__ph { max-width: 280px; }
  .team2__board { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .team2__board li:last-child { grid-column: 1 / -1; }
}

/* ---------- 9b. EQUIPE em uma única tela ---------- */
.team3 { position: relative; overflow: hidden; isolation: isolate; min-height: 100vh; display: flex; align-items: center; padding: calc(var(--nav-h) + 24px) 0 48px; background: var(--paper); }
.team3 > .container { width: 100%; }
.team3__title { margin: 0 auto clamp(22px, 3vh, 36px); text-align: center; font-family: var(--f-display); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; line-height: 1.15; font-size: clamp(22px, 2.3vw, 34px); color: var(--navy-800); }
.team3__grid { display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: clamp(14px, 1.6vw, 22px); }
.tcard { position: relative; display: flex; flex-direction: column; border-radius: 10px; overflow: hidden; background: var(--white); box-shadow: 0 1px 2px rgba(7,26,51,.05), 0 30px 60px -36px rgba(7,26,51,.4); }
.tcard__ph { margin: 0; height: clamp(220px, 34vh, 330px); overflow: hidden; background: radial-gradient(circle at 50% 30%, #1A3557, var(--navy-900) 75%); }
.tcard__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform .8s var(--ease); }
.tcard__ph--cut img { height: 160%; object-position: center top; }
.tcard__ph--crew { background: linear-gradient(180deg, #FBF9F5, #EEF0F3); display: flex; align-items: flex-end; justify-content: center; padding: 14px 14px 0; }
.tcard__ph--crew img { width: auto; height: 100%; max-width: 100%; object-fit: contain; object-position: center bottom; }
.tcard:hover .tcard__ph img { transform: scale(1.04); }
.tcard__txt { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; }
.tcard__name { margin: 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(19px, 1.6vw, 23px); line-height: 1.05; color: var(--navy-800); }
.tcard__role { margin: 6px 0 0; font-weight: 600; font-size: 11.5px; letter-spacing: .13em; text-transform: uppercase; color: var(--gold); }
.tcard__toggle { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(176,122,60,.45); background: none; color: var(--gold); cursor: pointer; display: grid; place-items: center; transition: transform .4s var(--ease), background .3s, color .3s; }
.tcard__toggle svg { width: 18px; height: 18px; transition: transform .4s var(--ease); }
.tcard__toggle:hover { transform: scale(1.12); background: var(--gold); color: var(--white); }
.tcard.is-open .tcard__toggle svg { transform: rotate(45deg); }
.tcard__bio { position: absolute; left: 0; right: 0; top: 0; height: clamp(220px, 34vh, 330px); padding: 22px; overflow-y: auto; background: rgba(7,26,51,.94); color: rgba(255,255,255,.88); font-size: 13.5px; line-height: 1.65; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .4s, transform .5s var(--ease), visibility .4s; }
.tcard__bio p { margin: 0; }
.tcard.is-open .tcard__bio { opacity: 1; visibility: visible; transform: none; }

.team3__board { list-style: none; margin: clamp(22px, 3.2vh, 40px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 20px); }
.team3__board .member { flex-direction: row; gap: 12px; align-items: center; text-align: left; }
.team3__board .member__ph { width: clamp(58px, 5vw, 72px); flex: none; }
.team3__board .member__name { margin: 0; font-size: clamp(13.5px, 1.05vw, 15px); line-height: 1.2; }
.team3__board .member__role { margin: 3px 0 0; font-size: 12px; line-height: 1.3; }
@media (max-width: 1000px) {
  .team3 { min-height: 0; }
  .team3__grid { grid-template-columns: 1fr 1fr; }
  .tcard--crew { grid-column: 1 / -1; }
  .team3__board { grid-template-columns: 1fr 1fr; row-gap: 18px; }
}
@media (max-width: 600px) {
  .team3__grid { grid-template-columns: 1fr; }
  .tcard__ph, .tcard__bio { height: 320px; }
  .team3__board { grid-template-columns: 1fr; }
}

/* ---------- 9c. Equipe: 2 x 2 com carrossel da diretoria ---------- */
.team3 { padding-top: calc(var(--nav-h) + 16px); padding-bottom: 28px; }
.team3__title { font-size: clamp(20px, 2vw, 30px); margin-bottom: clamp(16px, 2.2vh, 26px); }
.team4 { grid-template-columns: 1fr 1fr; --rowh: clamp(220px, calc((100svh - var(--nav-h) - 190px) / 2), 330px); }
.team4 .tcard { flex-direction: row; height: var(--rowh); }
.team4 .tcard__ph { position: relative; width: 42%; height: 100%; flex: none; }
.team4 .tcard__ph img { position: absolute; inset: 0; width: 100%; height: 100%; }
.team4 .tcard__ph--cut img { height: 165%; object-position: center top; }
.team4 .tcard__txt { flex: 1; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; padding: 20px 24px; }
.team4 .tcard__sum { margin: 12px 0 14px; font-size: 13.5px; line-height: 1.6; color: #4A5568; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.team4 .tcard__bio { width: 42%; height: 100%; font-size: 12.5px; }
.team4 .tcard--crew { flex-direction: column; }
.team4 .tcard--crew .tcard__ph { width: 100%; flex: 1; height: auto; min-height: 0; padding: 0; }
.team4 .tcard--crew .tcard__ph img { inset: 10px 10px 0; width: calc(100% - 20px); height: calc(100% - 10px); object-fit: contain; object-position: center bottom; }
.team4 .tcard--crew .tcard__txt { flex: none; flex-direction: row; justify-content: flex-start; padding: 12px 20px; }
/* carrossel */
.car { flex-direction: column !important; align-items: stretch; background: linear-gradient(150deg, #0E2747, var(--navy-900)); color: var(--white); }
.car__track { position: relative; flex: 1; list-style: none; margin: 0; padding: 0; min-height: 0; }
.car__slide { position: absolute; inset: 0; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 22px; align-content: center; padding: 22px 26px 0; opacity: 0; transform: translateX(30px); transition: opacity .6s var(--ease), transform .7s var(--ease); pointer-events: none; }
.car__slide.is-active { opacity: 1; transform: none; pointer-events: auto; }
.car__slide.is-out { opacity: 0; transform: translateX(-30px); }
.car__ph { grid-row: 1 / 3; width: clamp(110px, 10vw, 150px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 3px rgba(201,151,94,.55), 0 20px 40px -16px rgba(0,0,0,.6); transition: transform .5s var(--ease); }
.car__ph:hover { transform: scale(1.08); }
.car__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.car__name { align-self: end; margin: 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(20px, 1.8vw, 26px); line-height: 1.1; color: var(--white); }
.car__role { align-self: start; margin: 8px 0 0; font-weight: 600; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; color: var(--gold-light); }
.car__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px 18px; }
.car__arrow { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(201,151,94,.5); background: none; color: var(--gold-light); cursor: pointer; display: grid; place-items: center; transition: transform .35s var(--ease), background .3s, color .3s; }
.car__arrow svg { width: 16px; height: 16px; }
.car__arrow:hover { transform: scale(1.12); background: var(--gold); color: var(--white); }
.car__dots { display: flex; gap: 8px; }
.car__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.25); cursor: pointer; transition: width .4s var(--ease), background .3s; }
.car__dot.is-active { width: 26px; background: var(--gold-light); }
.car__prog { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255,255,255,.06); }
.car__prog i { display: block; height: 100%; background: linear-gradient(90deg, #8A5A27, #F3D9AE); transform-origin: left; transform: scaleX(0); }
.car.is-running .car__prog i { animation: frProg 3.5s linear forwards; }
@keyframes frProg { to { transform: scaleX(1); } }
@media (max-width: 760px) {
  .team4 { grid-template-columns: 1fr; }
  .team4 { --rowh: 260px; }
  .team4 .tcard--crew .tcard__ph { flex: 1; }
  .car__track { min-height: 210px; }
}

/* ---------- 9d. Equipe: destaque para Paulo e Norma + carrossel claro ---------- */
.team3__title { margin-bottom: clamp(28px, 4vh, 46px); }
.team4 { --rowh: clamp(260px, calc(100svh - var(--nav-h) - 400px), 400px); }
.car--wide { grid-column: 1 / -1; height: 190px !important; flex-direction: row !important; align-items: center; background: var(--white); color: var(--navy-800); }
.car--wide .car__track { height: 100%; }
.car--wide .car__slide { grid-template-columns: auto 1fr; padding: 0 30px; column-gap: 26px; }
.car--wide .car__ph { width: 138px; box-shadow: 0 0 0 3px rgba(201,151,94,.7), 0 18px 34px -16px rgba(7,26,51,.45); }
.car--wide .car__crew { grid-row: 1 / 3; height: 172px; width: 360px; display: flex; align-items: flex-end; justify-content: center; }
.car--wide .car__crew img { max-height: 100%; max-width: 100%; object-fit: contain; }
.car--wide .car__name { color: var(--navy-800); font-size: clamp(22px, 2vw, 30px); }
.car--wide .car__role { color: var(--gold); }
.car--wide .car__nav { flex: none; flex-direction: row; gap: 14px; padding: 0 30px; }
.car--wide .car__dots { flex-direction: row; }
.car--wide .car__dot { background: rgba(7,26,51,.18); }
.car--wide .car__dot.is-active { width: 22px; background: var(--gold); }
.car--wide .car__arrow { border-color: rgba(176,122,60,.5); color: var(--gold); }
.car--wide .car__prog { background: rgba(7,26,51,.06); }
@media (max-width: 760px) {
  .team4 { --rowh: 280px; }
  .car--wide { height: auto !important; flex-direction: column !important; }
  .car--wide .car__track { height: 300px; width: 100%; }
  .car--wide .car__slide { grid-template-columns: 1fr; justify-items: center; text-align: center; align-content: center; row-gap: 10px; padding: 16px; }
  .car--wide .car__ph, .car--wide .car__crew { grid-row: auto; }
  .car--wide .car__crew { width: 100%; height: 180px; }
  .car--wide .car__nav { flex-direction: row; width: 100%; padding: 12px 20px 18px; }
  .car--wide .car__dots { flex-direction: row; }
  .car--wide .car__dot.is-active { width: 22px; height: 8px; }
}

/* ---------- Pop-up de perfil ---------- */
.tcard__bio[hidden] { display: none !important; }
.pmodal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 20px; }
.pmodal[hidden] { display: none; }
.pmodal__backdrop { position: absolute; inset: 0; background: rgba(3,10,22,.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .35s; }
.pmodal__box {
  position: relative; display: grid; grid-template-columns: 300px 1fr; width: min(940px, 100%); max-height: min(640px, calc(100svh - 40px));
  border-radius: 14px; overflow: hidden; background: var(--white); box-shadow: 0 50px 100px -30px rgba(0,0,0,.6);
  opacity: 0; transform: translateY(24px) scale(.97); transition: opacity .4s var(--ease), transform .5s var(--ease);
}
.pmodal.is-open .pmodal__backdrop { opacity: 1; }
.pmodal.is-open .pmodal__box { opacity: 1; transform: none; }
.pmodal__box::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; z-index: 2; pointer-events: none;
  background: conic-gradient(from var(--spin), rgba(201,151,94,.2) 0deg, #F3D9AE 40deg, #B07A3C 80deg, rgba(201,151,94,.2) 140deg, rgba(201,151,94,.2) 180deg, #F3D9AE 220deg, #B07A3C 260deg, rgba(201,151,94,.2) 320deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: spinBorder 6s linear infinite;
}
.pmodal__ph { margin: 0; background: radial-gradient(circle at 50% 30%, #1A3557, var(--navy-900) 75%); }
.pmodal__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; display: block; }
.pmodal__body { padding: clamp(28px, 4vw, 48px); overflow-y: auto; }
.pmodal__name { margin: 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.05; color: var(--navy-800); }
.pmodal__role { margin: 10px 0 0; font-weight: 600; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.pmodal__bio { margin-top: 22px; padding-top: 22px; border-top: 1px solid #ECEEF2; }
.pmodal__bio p { margin: 0 0 14px; font-size: 15px; line-height: 1.75; color: #3B4658; }
.pmodal__close { position: absolute; z-index: 3; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(176,122,60,.45); background: var(--white); color: var(--gold); cursor: pointer; display: grid; place-items: center; transition: transform .35s var(--ease), background .3s, color .3s; }
.pmodal__close svg { width: 16px; height: 16px; }
.pmodal__close:hover { transform: scale(1.1) rotate(90deg); background: var(--gold); color: var(--white); }
@media (max-width: 700px) {
  .pmodal { padding: 12px; align-items: end; }
  .pmodal__box { grid-template-columns: 1fr; grid-template-rows: 220px 1fr; max-height: calc(100svh - 24px); }
  .pmodal__box { grid-template-rows: 260px 1fr; }
  .pmodal__ph img { object-position: center 0%; }
}
/* ---------- Carrossel: fotos inteiras, sem cortes ---------- */
.car--wide .car__ph { width: auto; height: 150px; aspect-ratio: auto; border-radius: 12px; overflow: visible; box-shadow: none; display: flex; align-items: center; }
.car--wide .car__ph img { width: auto; height: 100%; max-width: 190px; object-fit: contain; border-radius: 12px; box-shadow: 0 0 0 2px rgba(201,151,94,.6), 0 18px 34px -16px rgba(7,26,51,.45); }
@media (max-width: 760px) {
  .team4 .car--wide { height: auto !important; }
  .team4 .car--wide .car__track { height: 330px !important; flex: none !important; }
  .car--wide .car__slide { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 18px 16px 6px; }
  .car--wide .car__ph { flex: none; }
  .car--wide .car__name, .car--wide .car__role { align-self: center; text-align: center; }
  .car--wide .car__name { margin-top: 10px; }
  .car--wide .car__ph { height: 170px; justify-content: center; }
  .car--wide .car__ph img { max-width: 220px; }
  .car--wide .car__crew { height: 190px; }
  .car--wide .car__crew img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
  .car--wide .car__name { font-size: 22px; }
}

/* =========================================================
   10. CREDENCIAMENTOS E CERTIFICAÇÕES — fiel ao slide
   ========================================================= */
.certs { position: relative; overflow: hidden; isolation: isolate; padding: clamp(88px, 10vw, 130px) 0 clamp(96px, 11vw, 150px); background: #FBF9F5; }
.certs__arc { position: absolute; z-index: -1; bottom: -170px; width: clamp(240px, 26vw, 380px); fill: #D9DCE1; opacity: .55; pointer-events: none; }
.certs__arc--a { left: -60px; } .certs__arc--b { left: 36%; } .certs__arc--c { right: -60px; }
.certs__title { margin: 0 0 clamp(40px, 5vw, 64px); font-family: var(--f-head); font-weight: 700; font-size: clamp(36px, 4.4vw, 64px); line-height: 1.02; letter-spacing: -.01em; color: var(--gold); }
.certs__title span { display: block; }
.certs__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); }
.cert {
  position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
  height: clamp(170px, 15vw, 210px); padding: 24px 22px 18px; border-radius: 10px; background: var(--white);
  box-shadow: 0 1px 2px rgba(7,26,51,.05), 0 24px 48px -30px rgba(7,26,51,.35);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), opacity .9s var(--ease); transition-delay: calc(var(--i) * 90ms);
}
.cert--top { grid-column: span 2; }
.cert img { flex: 1; min-height: 0; width: 100%; object-fit: contain; max-height: 140px; transition: transform .5s var(--ease); }
.cert--top img { max-width: 70%; }
.cert__tag { flex: none; font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(7,26,51,.45); transition: color .4s; }
.cert::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none; opacity: 0; transition: opacity .4s;
  background: conic-gradient(from var(--spin), rgba(201,151,94,.2) 0deg, #F3D9AE 40deg, #B07A3C 80deg, rgba(201,151,94,.2) 140deg, rgba(201,151,94,.2) 180deg, #F3D9AE 220deg, #B07A3C 260deg, rgba(201,151,94,.2) 320deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: spinBorder 4s linear infinite;
}
.cert.is-in:hover { transform: scale(1.08); z-index: 2; transition-delay: 0s; box-shadow: 0 30px 60px -26px rgba(7,26,51,.45), 0 0 40px rgba(201,151,94,.18); }
.cert:hover::before { opacity: 1; }
.cert:hover .cert__tag { color: var(--gold); }
@media (hover: none) { .cert.is-in:hover { transform: none; } }
@media (max-width: 760px) {
  .certs__grid { grid-template-columns: 1fr 1fr; }
  .cert { height: 150px; padding: 18px 14px 14px; }
  .cert__tag { font-size: 9px; letter-spacing: .08em; text-align: center; }
  .cert--top img { max-width: 85%; }
  .cert { height: 170px; }
  .iso__ring { width: 84px; }
  .iso__ring strong { font-size: 22px; }
}

/* MCTI é um logo muito horizontal: um pouco maior */
.cert .cert__wide { width: 112%; max-width: none; }
@media (max-width: 760px) { .cert .cert__wide { width: 100%; } }

/* =========================================================
   11. CLIENTES — carrossel de 3 em 3
   ========================================================= */
.clients { position: relative; overflow: hidden; isolation: isolate; padding: clamp(88px, 10vw, 130px) 0; background: var(--white); }
.clients__arc { position: absolute; z-index: -1; fill: var(--navy-700); opacity: .85; pointer-events: none; }
.clients__arc--a { left: -40px; top: 40px; width: clamp(110px, 12vw, 170px); }
.clients__arc--b { right: -50px; bottom: -50px; width: clamp(140px, 14vw, 200px); fill: #5D6B80; }
.clients__head { max-width: 760px; margin: 0 auto clamp(40px, 5vw, 60px); text-align: center; }
.clients__title { margin: 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(30px, 3.4vw, 50px); line-height: 1.05; letter-spacing: -.01em; color: var(--navy-800); }
.clients__sub { margin: 16px 0 0; font-size: clamp(15px, 1.25vw, 17px); color: #4A5568; }
.lc { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(10px, 2vw, 24px); max-width: 1040px; margin: 0 auto; }
.lc__view { overflow: hidden; }
.lc__track { list-style: none; margin: 0; padding: 0; display: flex; transition: transform .8s cubic-bezier(.65,0,.25,1); }
.logo { flex: 0 0 calc(100% / 3); padding: 0 clamp(6px, 1vw, 12px); }
.logo img {
  display: block; width: 100%; height: clamp(90px, 8vw, 110px); object-fit: contain; padding: 0 clamp(18px, 2.6vw, 40px);
  background: none; border-radius: 0; box-shadow: none; mix-blend-mode: multiply;
  filter: grayscale(1) contrast(1.05); opacity: .8; transition: transform .5s var(--ease), filter .4s, opacity .4s;
}
.logo:hover img { transform: scale(1.12); filter: none; opacity: 1; }
.lc__arrow { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(176,122,60,.5); background: var(--white); color: var(--gold); cursor: pointer; display: grid; place-items: center; transition: transform .35s var(--ease), background .3s, color .3s; }
.lc__arrow svg { width: 18px; height: 18px; }
.lc__arrow:hover { transform: scale(1.12); background: var(--gold); color: var(--white); }
.lc__dots { display: flex; justify-content: center; gap: 8px; margin-top: 30px; }
.lc__dots span { width: 8px; height: 8px; border-radius: 999px; background: rgba(7,26,51,.18); transition: width .4s var(--ease), background .3s; }
.lc__dots span.is-active { width: 26px; background: var(--gold); }
@media (max-width: 600px) {
  .lc { grid-template-columns: 1fr; }
  .lc__arrow { display: none; }
  .logo { padding: 0 4px; }
  .logo img { height: 70px; padding: 0 8px; }
  .clients__arc--a { opacity: .25; }
}

/* =========================================================
   12. CONTATO — fiel ao slide 16
   ========================================================= */
.contact { display: grid; grid-template-columns: 42fr 58fr; min-height: 720px; background: #F7F7F8; }
.contact__photo { position: relative; overflow: hidden; }
.contact__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.contact__arcs { position: absolute; right: -2px; bottom: 0; height: 30%; fill: var(--navy-800); opacity: .92; }
.contact__panel { position: relative; overflow: hidden; display: flex; align-items: center; padding: clamp(64px, 7vw, 100px) clamp(28px, 6vw, 100px); }
.contact__inner { position: relative; z-index: 1; width: 100%; max-width: 620px; margin: 0 auto; }
.contact__brand { display: flex; flex-direction: column; align-items: center; color: var(--navy-800); }
.contact__name { font-family: var(--f-display); font-weight: 700; font-size: clamp(40px, 4.4vw, 62px); line-height: .9; text-align: center; }
.contact__tag { margin-top: 12px; font-size: 13px; font-weight: 600; letter-spacing: .62em; padding-left: .62em; text-transform: uppercase; color: var(--gold); }
.contact__lead { margin: 28px 0 0; text-align: center; font-family: var(--f-head); font-weight: 500; font-size: clamp(19px, 1.7vw, 23px); color: var(--navy-800); }
.cform { margin-top: 26px; display: grid; gap: 12px; }
.cform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cform label { display: grid; gap: 6px; }
.cform label span { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #5A6578; }
.cform input, .cform textarea { width: 100%; font: 500 15px var(--f-body); color: var(--navy-800); padding: 13px 14px; border: 1px solid #DDE1E7; border-radius: 6px; background: var(--white); transition: border-color .3s, box-shadow .3s; resize: vertical; }
.cform input:focus, .cform textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,151,94,.18); }
.cform .btn { justify-self: start; margin-top: 4px; }
.cform .btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.cform .btn svg .f { fill: currentColor; stroke: none; }
.cform__err { margin: 0; font-size: 13px; color: #B42318; }
.contact__list { list-style: none; margin: 34px 0 0; padding: 26px 0 0; border-top: 1px solid #E4E7EC; display: grid; gap: 14px; justify-items: center; text-align: center; }
.contact__list li { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; }
.contact__list a { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-size: 15px; color: var(--navy-800); transition: transform .35s var(--ease), color .3s; }
.contact__list a:hover { transform: scale(1.06); color: var(--gold); }
.contact__list svg { flex: none; width: 22px; height: 22px; fill: none; stroke: var(--gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.contact__list svg .f { fill: var(--gold); stroke: none; }
.contact__big a { font-weight: 700; font-size: clamp(18px, 1.6vw, 22px); }
.contact__arc2 { position: absolute; right: -50px; bottom: -50px; width: clamp(150px, 15vw, 220px); fill: #5D6B80; }

/* Rodapé */
.foot { background: var(--navy-900); color: rgba(255,255,255,.6); }
.foot__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 26px; }
.foot__brand .brand__name { font-size: 17px; }
.foot__copy { margin: 0; font-size: 12.5px; text-align: center; }
.foot__top { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(201,151,94,.5); display: grid; place-items: center; color: var(--gold-light); transition: transform .35s var(--ease), background .3s; }
.foot__top svg { width: 16px; height: 16px; }
.foot__top:hover { transform: scale(1.12); background: rgba(201,151,94,.15); }

/* WhatsApp flutuante */
.wa-float { position: fixed; z-index: 90; right: 22px; bottom: 22px; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: var(--white); box-shadow: 0 14px 30px -10px rgba(7,26,51,.55); transition: transform .35s var(--ease), background .3s; opacity: 0; transform: scale(.6); pointer-events: none; }
.wa-float.is-on { opacity: 1; transform: none; pointer-events: auto; }
.wa-float:hover { transform: scale(1.12); background: var(--gold-light); }
.wa-float svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.wa-float svg .f { fill: currentColor; stroke: none; }

@media (max-width: 900px) {
  .contact { grid-template-columns: 1fr; }
  .contact__photo { height: 380px; }
  .contact__photo img { object-position: center 25%; }
  .contact__arcs { height: 45%; }
}
@media (max-width: 560px) {
  .cform__row { grid-template-columns: 1fr; }
  .cform .btn { justify-self: stretch; justify-content: center; }
  .foot__inner { flex-direction: column; text-align: center; }
  .wa-float { right: 16px; bottom: 16px; width: 52px; height: 52px; }
}

/* =========================================================
   12. TOUR PELO ESCRITÓRIO — vídeo
   ========================================================= */
.tour { position: relative; padding: clamp(88px, 10vw, 130px) 0; background: linear-gradient(180deg, #0A0F18, #120E0B); color: var(--white); }
.tour__title { margin: 0 0 clamp(32px, 4vw, 48px); text-align: center; font-family: var(--f-display); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: clamp(24px, 2.6vw, 38px); color: #F2EBDD; }
.tour__frame { position: relative; overflow: hidden; border-radius: 14px; aspect-ratio: 16 / 9; background: #000; box-shadow: 0 60px 120px -50px rgba(0,0,0,.9), 0 0 0 1px rgba(201,151,94,.25); }
.tour__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.tour__caps { list-style: none; margin: 0; padding: 0; position: absolute; left: clamp(20px, 3vw, 40px); bottom: clamp(30px, 4vw, 52px); pointer-events: none; }
.tour__caps li { position: absolute; left: 0; bottom: 0; white-space: nowrap; display: flex; align-items: center; gap: 14px; font-family: var(--f-display); font-weight: 700; font-size: clamp(16px, 1.8vw, 26px); letter-spacing: .08em; text-transform: uppercase; color: var(--white); text-shadow: 0 2px 20px rgba(0,0,0,.7); opacity: 0; transform: translateY(12px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.tour__caps li::before { content: ""; width: 34px; height: 1.5px; background: var(--gold-light); }
.tour__caps li.is-on { opacity: 1; transform: none; }
.tour__play { position: absolute; right: clamp(16px, 2.4vw, 30px); bottom: clamp(24px, 3.4vw, 44px); width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: rgba(0,0,0,.35); backdrop-filter: blur(6px); color: var(--white); cursor: pointer; display: grid; place-items: center; transition: transform .35s var(--ease), background .3s; }
.tour__play:hover { transform: scale(1.1); background: var(--gold); }
.tour__play svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.tour__play .i-play { display: none; fill: currentColor; }
.tour.is-paused .tour__play .i-play { display: block; } .tour.is-paused .tour__play .i-pause { display: none; }
.tour__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.15); }
.tour__prog { position: absolute; inset: 0; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, #8A5A27, #F3D9AE); }
.tour__bar i { position: absolute; top: 0; width: 2px; height: 100%; background: rgba(0,0,0,.6); }
@media (max-width: 600px) { .tour__frame { border-radius: 8px; } .tour__play { width: 38px; height: 38px; } }

/* Tour: vídeo à esquerda + história à direita */
.tour__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 4.5vw, 72px); align-items: center; }
.tour__title { text-align: left; }
.tour__caps li { font-size: clamp(13px, 1.3vw, 19px); }
.tour__lead { margin: 0; font-family: var(--f-head); font-weight: 600; font-size: clamp(24px, 2.3vw, 34px); line-height: 1.2; color: var(--white); }
.tour__lead em { font-style: normal; color: var(--gold-light); }
.tour__text strong { color: var(--white); font-weight: 600; }
.tour__text { margin: 18px 0 0; font-size: 15.5px; line-height: 1.75; color: rgba(255,255,255,.72); }
.offices { list-style: none; margin: 28px 0 0; padding: 0 0 0 4px; position: relative; display: grid; gap: 16px; }
.offices::before { content: ""; position: absolute; left: 10px; top: 10px; bottom: 10px; width: 1.5px; background: linear-gradient(180deg, var(--gold-light), rgba(201,151,94,.15)); }
.office { position: relative; display: grid; grid-template-columns: 14px 1fr; gap: 18px; align-items: start; transform-origin: left center; transition: transform .4s var(--ease); }
.office:hover { transform: translateX(6px); }
.office__dot { margin-top: 5px; width: 14px; height: 14px; border-radius: 50%; background: #120E0B; border: 2px solid var(--gold-light); }
.office--hq .office__dot { background: var(--gold-light); box-shadow: 0 0 0 5px rgba(201,151,94,.18); }
.office b { display: block; font-weight: 700; font-size: 15.5px; color: var(--white); }
.office span:not(.office__dot) { display: block; margin-top: 2px; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-light); }
@media (max-width: 960px) { .tour__grid { grid-template-columns: 1fr; } .tour__title { text-align: center; } }

/* legendas sobre vídeo claro */
.tour__caps li { color: var(--white); text-shadow: none; background: rgba(7,26,51,.72); backdrop-filter: blur(6px); padding: 9px 18px 9px 14px; border-radius: 3px; }
.tour__caps li::before { width: 22px; }

/* =========================================================
   12. NOSSA HISTÓRIA — narrativa
   ========================================================= */
.saga { position: relative; overflow: hidden; isolation: isolate; padding: clamp(96px, 11vw, 150px) 0; background: #FBF9F5; }
.saga__arc { position: absolute; z-index: -1; right: -70px; top: -70px; width: clamp(240px, 26vw, 380px); fill: #EDE6DA; }
.saga__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 110px); align-items: start; }
.saga__head { position: sticky; top: calc(var(--nav-h) + 48px); }
.saga__kicker { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.saga__title { margin: 18px 0 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.12; color: var(--navy-800); }
.saga__title em { font-style: normal; color: var(--gold); }
.saga__intro { margin: 22px 0 0; max-width: 40ch; font-size: 16.5px; line-height: 1.75; color: #4A5568; }
.saga__chapters { list-style: none; margin: 0; padding: 0 0 0 44px; position: relative; display: grid; gap: clamp(44px, 5vw, 64px); }
.saga__chapters::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 1.5px; background: linear-gradient(180deg, rgba(176,122,60,.25), var(--gold)); }
.chap { position: relative; }
.chap__mark { position: absolute; left: -44px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: #FBF9F5; border: 2px solid var(--gold); }
.chap--now .chap__mark { background: var(--gold); box-shadow: 0 0 0 6px rgba(201,151,94,.2); }
.chap__when { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.chap__name { margin: 10px 0 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.1; color: var(--navy-800); }
.chap__text { margin: 14px 0 0; font-size: 16.5px; line-height: 1.85; color: #3B4658; max-width: 60ch; }
.saga__chapters .reveal-up:nth-child(2) { transition-delay: .1s; } .saga__chapters .reveal-up:nth-child(3) { transition-delay: .2s; }
.saga__close { grid-column: 2; padding: 34px 36px; border-radius: 10px; background: var(--white); box-shadow: 0 1px 2px rgba(7,26,51,.05), 0 30px 60px -36px rgba(7,26,51,.35); position: relative; }
.saga__close::before { content: ""; position: absolute; left: 0; top: 28px; bottom: 28px; width: 3px; border-radius: 0 3px 3px 0; background: var(--gold); }
.saga__closing { margin: 0; font-family: var(--f-head); font-weight: 500; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.6; color: var(--navy-800); }
.saga__closing strong { font-weight: 700; color: var(--gold); }
.units { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.unit { padding: 14px 14px; border-radius: 8px; border: 1px solid #ECE6DC; transition: transform .4s var(--ease), border-color .3s, background .3s; }
.unit:hover { transform: scale(1.06); border-color: var(--gold-light); background: #FBF9F5; }
.unit b { display: block; font-size: 14px; line-height: 1.3; color: var(--navy-800); }
.unit span { display: block; margin-top: 6px; font-size: 10.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.unit--hq { background: var(--navy-800); border-color: var(--navy-800); }
.unit--hq b { color: var(--white); } .unit--hq span { color: var(--gold-light); }
.unit--hq:hover { background: var(--navy-700); }
@media (max-width: 960px) {
  .saga__grid { grid-template-columns: 1fr; }
  .saga__head { position: static; }
  .saga__close { grid-column: 1; }
  .units { grid-template-columns: 1fr 1fr; }
}

/* ---------- 12b. Nossa história compacta (uma tela) ---------- */
.saga2 { position: relative; overflow: hidden; isolation: isolate; padding: clamp(72px, 8vw, 110px) 0; background: #FBF9F5; }
.saga2__head { text-align: center; max-width: 820px; margin: 0 auto clamp(40px, 5vw, 60px); }
.saga2__title { margin: 14px 0 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(26px, 2.8vw, 40px); line-height: 1.15; color: var(--navy-800); }
.saga2__title em { font-style: normal; color: var(--gold); }
.saga2__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 44px); position: relative; }
.saga2__steps::before { content: ""; position: absolute; left: 8px; right: 8px; top: 7px; height: 1.5px; background: linear-gradient(90deg, rgba(176,122,60,.25), var(--gold)); }
.step { position: relative; padding-top: 34px; }
.step__dot { position: absolute; left: 0; top: 0; width: 16px; height: 16px; border-radius: 50%; background: #FBF9F5; border: 2px solid var(--gold); }
.step--now .step__dot { background: var(--gold); box-shadow: 0 0 0 6px rgba(201,151,94,.2); }
.step__name { margin: 8px 0 0; font-family: var(--f-head); font-weight: 700; font-size: clamp(20px, 1.8vw, 25px); color: var(--navy-800); }
.step__text { margin: 10px 0 0; font-size: 15px; line-height: 1.7; color: #3B4658; }
.saga2__steps .reveal-up:nth-child(2) { transition-delay: .12s; } .saga2__steps .reveal-up:nth-child(3) { transition-delay: .24s; }
.saga2__close { margin-top: clamp(36px, 4.5vw, 56px); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(20px, 3vw, 40px); align-items: center; padding: 26px 30px; border-radius: 10px; background: var(--white); box-shadow: 0 1px 2px rgba(7,26,51,.05), 0 30px 60px -36px rgba(7,26,51,.35); border-left: 3px solid var(--gold); }
.saga2__closing { margin: 0; font-family: var(--f-head); font-weight: 500; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; color: var(--navy-800); }
.saga2__closing strong { font-weight: 700; color: var(--gold); }
.saga2__close .units { margin: 0; }
@media (max-width: 900px) {
  .saga2__steps { grid-template-columns: 1fr; gap: 26px; padding-left: 34px; }
  .saga2__steps::before { left: 7px; right: auto; top: 8px; bottom: 8px; width: 1.5px; height: auto; background: linear-gradient(180deg, rgba(176,122,60,.25), var(--gold)); }
  .step { padding-top: 0; } .step__dot { left: -34px; top: 2px; }
  .saga2__close { grid-template-columns: 1fr; }
}

/* =========================================================
   13. OPORTUNIDADES AO VIVO (PNCP)
   ========================================================= */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.opp { position: relative; padding: clamp(88px, 10vw, 130px) 0; background: linear-gradient(180deg, var(--navy-800), var(--navy-900)); color: var(--white); }
.opp__head { text-align: center; max-width: 760px; margin: 0 auto; }
.opp__title { margin: 14px 0 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(26px, 2.8vw, 40px); line-height: 1.15; }
.opp__intro { margin: 16px auto 0; font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.7); max-width: 60ch; }
.opp__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 860px; margin: clamp(36px, 4vw, 52px) auto 0; }
.opp__stat { text-align: center; padding: 26px 20px; border-radius: 10px; background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px rgba(201,151,94,.25); }
.opp__num { display: block; font-family: var(--f-head); font-weight: 700; font-size: clamp(40px, 4.6vw, 64px); line-height: 1; color: var(--white); font-variant-numeric: tabular-nums; }
.opp__lbl { display: block; margin-top: 10px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-light); }
.opp__search { position: relative; display: flex; gap: 10px; max-width: 860px; margin: 34px auto 0; }
.opp__search svg { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; fill: none; stroke: #8D9AAE; stroke-width: 2; stroke-linecap: round; }
.opp__search input { flex: 1; min-width: 0; padding: 17px 18px 17px 50px; border-radius: 4px; border: 1px solid rgba(255,255,255,.18); background: var(--white); font: 500 16px var(--f-body); color: var(--navy-800); }
.opp__search input:focus { outline: none; box-shadow: 0 0 0 3px rgba(201,151,94,.45); }
.opp__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 860px; margin: 16px auto 0; }
.opp__chip { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: none; color: rgba(255,255,255,.8); font: 500 13px var(--f-body); cursor: pointer; transition: transform .3s var(--ease), background .3s, border-color .3s; }
.opp__chip:hover, .opp__chip.is-on { transform: scale(1.06); background: var(--gold); border-color: var(--gold); color: var(--white); }
.opp__result { max-width: 860px; margin: 30px auto 0; padding: 28px; border-radius: 12px; background: var(--white); color: var(--navy-800); box-shadow: 0 40px 80px -40px rgba(0,0,0,.7); }
.opp__res-head { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid #ECEEF2; }
.opp__res-num, .opp__res-val { display: block; font-family: var(--f-head); font-weight: 700; font-size: clamp(30px, 3vw, 44px); line-height: 1; color: var(--navy-800); font-variant-numeric: tabular-nums; }
.opp__res-val { color: var(--gold); }
.opp__res-lbl { display: block; margin-top: 8px; font-size: 13px; color: #5A6578; }
.opp__res-lbl b { color: var(--navy-800); }
.opp__list { list-style: none; margin: 8px 0 0; padding: 0; }
.opp__list li { padding: 14px 0; border-bottom: 1px solid #F0F1F4; }
.opp__list a { text-decoration: none; display: block; }
.opp__list .o { font-size: 14.5px; font-weight: 600; line-height: 1.45; color: var(--navy-800); }
.opp__list .m { margin-top: 5px; font-size: 12.5px; color: #5A6578; }
.opp__list .m b { color: var(--gold); font-weight: 700; }
.opp__list a:hover .o { color: var(--gold); }
.opp__res-foot { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center; margin-top: 18px; }
.opp__more { font-size: 13px; font-weight: 600; color: var(--gold); }
.opp__state { max-width: 860px; margin: 26px auto 0; text-align: center; font-size: 14px; color: rgba(255,255,255,.75); }
.opp__state.is-loading::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 10px; vertical-align: -2px; border: 2px solid var(--gold-light); border-right-color: transparent; border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.opp__demo { display: inline-block; margin-bottom: 14px; padding: 4px 10px; border-radius: 4px; background: #FFF3DF; color: #8A5A27; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.opp__source { display: flex; gap: 10px; align-items: flex-start; max-width: 860px; margin: 30px auto 0; font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,.6); }
.opp__source svg { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--gold-light); stroke-width: 1.6; margin-top: 1px; }
.opp__source a { color: var(--gold-light); font-weight: 600; }
@media (max-width: 640px) {
  .opp__stats, .opp__res-head { grid-template-columns: 1fr; }
  .opp__search { flex-direction: column; }
  .opp__search svg { top: 29px; }
  .opp__search .btn { justify-content: center; }
  .opp__result { padding: 20px; }
}

/* =========================================================
   14. CONTATO — encerramento premium
   ========================================================= */
.ct { position: relative; overflow: hidden; isolation: isolate; min-height: 100svh; display: flex; align-items: center; padding: clamp(110px, 12vw, 160px) 0 clamp(80px, 9vw, 120px);
  background: radial-gradient(900px 600px at 78% 30%, rgba(201,151,94,.14), transparent 60%), linear-gradient(160deg, #0A1C36 0%, #040B18 70%); color: var(--white); }
.ct__photo { position: absolute; z-index: -2; left: 0; top: 0; bottom: 0; width: 58%; -webkit-mask-image: linear-gradient(90deg,#000 45%,transparent 100%); mask-image: linear-gradient(90deg,#000 45%,transparent 100%); }
.ct__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; opacity: .55; filter: grayscale(.25) contrast(1.05); }
.ct__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,11,24,.15) 0%, rgba(4,11,24,.55) 55%, #06142A 100%), linear-gradient(0deg, #040B18 0%, transparent 35%); }
.ct__mono { position: absolute; z-index: -1; right: -40px; top: 50%; transform: translateY(-50%); height: 120%; fill: none; stroke: rgba(201,151,94,.12); stroke-width: 1.2; }
.ct__grid { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 12fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.ct__brand { display: inline-flex; flex-direction: column; color: var(--white); }
.ct__brand span { font-family: var(--f-display); font-weight: 700; font-size: clamp(30px, 2.6vw, 40px); line-height: .9; }
.ct__brand small { margin-top: 10px; font-size: 11px; font-weight: 600; letter-spacing: .6em; text-transform: uppercase; color: var(--gold-light); }
.ct__title { margin: clamp(30px, 4vw, 48px) 0 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(34px, 3.8vw, 58px); line-height: 1.08; letter-spacing: -.005em; }
.ct__title em { font-style: normal; color: var(--gold-light); }
.ct__sub { margin: 22px 0 0; max-width: 46ch; font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.72); }
.ct__cta { margin-top: 36px; }
.ct__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(201,151,94,.28); border-radius: 14px; overflow: hidden;
  box-shadow: 0 60px 120px -50px rgba(0,0,0,.8); }
.ct__wide { grid-column: 1 / -1; }
.ct__card { min-width: 0; position: relative; display: flex; flex-direction: column; gap: 12px; height: 100%; padding: clamp(24px, 2.4vw, 34px); text-decoration: none; color: var(--white);
  background: rgba(8,20,40,.92); backdrop-filter: blur(10px); transition: background .4s var(--ease); }
.ct__card::before { content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 0; background: linear-gradient(90deg, #F3D9AE, #B07A3C); transition: width .6s var(--ease); }
.ct__card:hover { background: rgba(14,39,71,.95); }
.ct__card:hover::before { width: 100%; }
.ct__k { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-light); }
.ct__v { white-space: nowrap; font-family: var(--f-head); font-weight: 600; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; letter-spacing: -.01em; }
.ct__v--sm { font-size: clamp(15px, 1.25vw, 18px); white-space: normal; overflow-wrap: anywhere; }
.ct__v--addr { white-space: normal; }
.ct__v--addr { font-size: clamp(18px, 1.6vw, 22px); }
.ct__also { margin-top: 4px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,.55); }
.ct__arrow { position: absolute; right: clamp(20px, 2vw, 28px); top: clamp(22px, 2.2vw, 30px); width: 18px; height: 18px; color: rgba(201,151,94,.6); transition: transform .45s var(--ease), color .3s; }
.ct__card:hover .ct__arrow { transform: translate(4px, -4px); color: var(--gold-light); }
@media (max-width: 960px) {
  .ct { min-height: 0; }
  .ct__grid { grid-template-columns: 1fr; }
  .ct__photo { width: 100%; bottom: auto; height: 520px; -webkit-mask-image: none; mask-image: none; }
  .ct__photo::after { background: linear-gradient(180deg, rgba(4,11,24,.3), #06142A 92%); }
}
@media (max-width: 560px) { .ct__cards { grid-template-columns: 1fr; } }

/* =========================================================
   14b. CONTATO — versão refinada
   ========================================================= */
.cx { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); min-height: 0; height: min(720px, max(600px, calc(100svh - var(--nav-h)))); background: #06142A; color: var(--white); }
.cx__photo { position: relative; margin: 0; overflow: hidden; }
.cx__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transform: scale(1.04); transition: transform 2.4s var(--ease); }
.cx:hover .cx__photo img { transform: scale(1); }
.cx__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 70%, rgba(6,20,42,.9) 100%), linear-gradient(0deg, rgba(6,20,42,.45), transparent 30%); }
.cx__panel { position: relative; display: flex; align-items: center; padding: clamp(40px, 5vw, 64px) clamp(32px, 7vw, 120px);
  background: radial-gradient(700px 500px at 100% 0%, rgba(201,151,94,.12), transparent 60%), #06142A; }
.cx__panel::before { content: ""; position: absolute; left: 0; top: 12%; bottom: 12%; width: 1px; background: linear-gradient(180deg, transparent, rgba(201,151,94,.6), transparent); }
.cx__inner { width: 100%; max-width: 560px; }
.cx__brand { display: inline-flex; flex-direction: column; }
.cx__brand span { font-family: var(--f-display); font-weight: 700; font-size: 26px; line-height: .9; }
.cx__brand small { margin-top: 8px; font-size: 10px; font-weight: 600; letter-spacing: .6em; text-transform: uppercase; color: var(--gold-light); }
.cx__rule { display: block; width: 48px; height: 1px; margin: 0 0 24px; background: var(--gold-light); }
.cx__title { margin: 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(30px, 2.9vw, 44px); line-height: 1.12; }
.cx__title em { font-style: normal; color: var(--gold-light); white-space: nowrap; }
.cx__sub { margin: 18px 0 0; font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.62); }
.cx__list { list-style: none; margin: 28px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.1); }
.cx__row { display: grid; grid-template-columns: 112px minmax(0, 1fr) 20px; align-items: center; gap: 16px; padding: 15px 4px; border-bottom: 1px solid rgba(255,255,255,.1); text-decoration: none; color: var(--white); position: relative; transition: padding .45s var(--ease); }
.cx__row::after { content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 0; background: var(--gold-light); transition: width .6s var(--ease); }
.cx__row:hover { padding-left: 14px; }
.cx__row:hover::after { width: 100%; }
.cx__k { font-size: 10.5px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-light); }
.cx__v { font-size: 16px; font-weight: 500; letter-spacing: .01em; color: rgba(255,255,255,.92); overflow-wrap: anywhere; }
.cx__go { width: 18px; height: 18px; color: rgba(201,151,94,.45); transition: transform .45s var(--ease), color .3s; }
.cx__row:hover .cx__go { transform: translateX(4px); color: var(--gold-light); }
.cx__cta { margin-top: 28px; }
.cx__cta .cx__go { color: currentColor; width: 18px; height: 18px; }
.cx__units { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cx__units li { padding-left: 12px; border-left: 1px solid rgba(201,151,94,.4); }
.cx__units b { display: block; font-size: 12.5px; font-weight: 600; line-height: 1.35; color: rgba(255,255,255,.88); }
.cx__units span { display: block; margin-top: 4px; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-light); }
.cx__units li:first-child { border-left-color: var(--gold-light); }
@media (max-width: 960px) {
  .cx { grid-template-columns: 1fr; min-height: 0; height: auto; }
  .cx__photo { height: 360px !important; }
  .cx__photo { height: 440px; }
  .cx__photo::after { background: linear-gradient(180deg, transparent 55%, #06142A 100%); }
  .cx__panel { padding: 40px var(--gutter) 72px; }
  .cx__panel::before { display: none; }
}
@media (max-width: 560px) {
  .cx__row { grid-template-columns: 1fr 20px; gap: 4px 12px; }
  .cx__k { grid-column: 1 / -1; }
  .cx__cta { width: 100%; justify-content: center; }
  .cx__units { grid-template-columns: 1fr 1fr; }
}

/* Contato claro, sem foto */
.cx--light { position: relative; overflow: hidden; isolation: isolate; display: block; height: auto; background: #FBF9F5; color: var(--navy-800); }
.cx--light .cx__arc { position: absolute; z-index: -1; fill: #EDE6DA; pointer-events: none; }
.cx--light .cx__arc--a { right: -60px; top: -60px; width: clamp(220px, 24vw, 340px); }
.cx--light .cx__arc--b { left: -60px; bottom: -60px; width: clamp(180px, 18vw, 260px); }
.cx--light .cx__panel { background: none; justify-content: center; padding: clamp(88px, 10vw, 130px) var(--gutter); }
.cx--light .cx__panel::before { display: none; }
.cx--light .cx__inner { max-width: 760px; text-align: center; }
.cx--light .cx__rule { margin: 0 auto 26px; background: var(--gold); }
.cx--light .cx__title { color: var(--navy-800); font-size: clamp(32px, 3.4vw, 50px); }
.cx--light .cx__title em { color: var(--gold); }
.cx--light .cx__sub { color: #4A5568; }
.cx--light .cx__list { text-align: left; border-top-color: #E4DED3; margin-top: 40px; }
.cx--light .cx__row { color: var(--navy-800); border-bottom-color: #E4DED3; grid-template-columns: 140px minmax(0, 1fr) 20px; }
.cx--light .cx__row::after { background: var(--gold); }
.cx--light .cx__k { color: var(--gold); }
.cx--light .cx__v { color: var(--navy-800); font-size: 17px; }
.cx--light .cx__go { color: rgba(176,122,60,.55); }
.cx--light .cx__row:hover .cx__go { color: var(--gold); }
.cx--light .cx__cta { margin-top: 36px; }
.cx--light .cx__cta .cx__go { color: currentColor; }
@media (max-width: 560px) { .cx--light .cx__row { grid-template-columns: minmax(0, 1fr) 20px; } .cx--light .cx__v { font-size: 16px; } }

/* =========================================================
   EFEITO PADRÃO: zoom + som em botões e números (classe .fx)
   ========================================================= */
.btn.fx:hover { transform: scale(1.08); }
.hero__proof > .fx { transform-origin: left center; transition: transform .5s var(--ease); }
.hero__proof > .fx:hover { transform: scale(1.12); }
@media (hover: none) { .btn.fx:hover, .hero__proof > .fx:hover { transform: none; } }

/* placeholder temporário */
.placeholder { padding: 120px 0; text-align: center; color: var(--slate-400); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }

/* =========================================================
   AJUSTE FINO DE ALTURAS — ritmo vertical único entre seções
   ========================================================= */
:root { --sec-y: clamp(72px, 7.2vw, 108px); }
.impact, .about, .timeline, .acts, .certs, .clients, .saga2, .opp { padding-top: var(--sec-y); padding-bottom: var(--sec-y); }
.brief { min-height: 0; }
.brief__text { padding-top: var(--sec-y); padding-bottom: var(--sec-y); }
.brief__visual { padding-top: 40px; padding-bottom: 40px; }
.cx--light .cx__panel { padding-top: var(--sec-y); padding-bottom: var(--sec-y); }
.certs__title { margin-bottom: clamp(32px, 3.6vw, 48px); }
.opp__stats { margin-top: clamp(28px, 3vw, 40px); }
.opp__search { margin-top: 26px; }
.opp__source { margin-top: 24px; }
.saga2__head { margin-bottom: clamp(32px, 4vw, 48px); }
.saga2__close { margin-top: clamp(28px, 3.6vw, 44px); }
.clients__head { margin-bottom: clamp(32px, 4vw, 48px); }
@media (max-width: 760px) {
  :root { --sec-y: 64px; }
  .team3 { padding-bottom: 56px; }
  .brief__visual { padding-top: 32px; padding-bottom: 48px; }
}
/* telas baixas (notebooks): abertura cabe inteira */
@media (max-height: 820px) and (min-width: 761px) {
  .hero { padding-top: calc(var(--nav-h) + 20px); padding-bottom: 56px; }
  .hero__lead { margin-top: 20px; }
  .hero__actions { margin-top: 28px; }
  .hero__proof { margin-top: 36px; padding-top: 22px; padding-bottom: 22px; }
  .hero__proof dt { font-size: clamp(36px, 4vw, 56px); }
}
.brief__list { gap: 24px; margin-top: 30px; }
.brief__intro { margin-top: 20px; }
