/* =========================================================
   INCOMAF — Design System 2026 · "Editorial de Ofício"
   ========================================================= */

/* ---------- Newsreader (fonte variável local) ---------- */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/assets/fonts/Newsreader/Newsreader-VariableFont_opsz,wght.ttf') format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url('/assets/fonts/Newsreader/Newsreader-Italic-VariableFont_opsz,wght.ttf') format('truetype');
}

/* ---------- Mulish ---------- */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/mulish-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/mulish-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Space Mono ---------- */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/spacemono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/spacemono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/spacemono-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Tokens ---------- */
:root {
  --indigo: #302484;
  --indigo-700: #271D6B;
  --indigo-900: #1B1448;
  --indigo-tint: #ECEBF6;
  --azul: #0084C0;
  --azul-600: #006CA8;
  --azul-tint: #E4F2F9;
  --vermelho: #D42A28;
  --amarelo: #F4C400;
  --madeira: #D8C078;
  --madeira-claro: #F0D8B4;
  --madeira-700: #B58E52;
  --madeira-900: #6E4F28;
  --ouro: #B8924A;
  --ouro-claro: #C9A85E;
  --ouro-linha: rgba(184, 146, 74, .42);
  --ouro-linha-luz: rgba(201, 168, 94, .55);
  --tinta: #18181F;
  --c700: #45454F;
  --c600: #5C5C66;
  --c500: #76767F;
  --c400: #9A9AA3;
  --c300: #CBCBD2;
  --c200: #E6E6EB;
  --c100: #F1F1F4;
  --papel: #FBFAF6;
  --creme: #F5F0E6;
  --creme-fundo: #EFE7D6;
  --branco: #FFFFFF;
  --f-display: 'Newsreader', Georgia, 'Times New Roman', serif;
  --f-corpo: 'Mulish', system-ui, sans-serif;
  --f-mono: 'Space Mono', ui-monospace, monospace;
  --container: 1120px;
  --hairline: 1px solid #E7E0D0;
  --raio-s: 8px;
  --raio-m: 14px;
  --raio-l: 22px;
  --raio-xl: 30px;
  --sombra-s: 0 1px 2px rgba(24, 24, 31, .05), 0 2px 8px rgba(110, 79, 40, .06);
  --sombra-m: 0 12px 34px rgba(110, 79, 40, .10), 0 3px 10px rgba(27, 20, 72, .05);
  --sombra-l: 0 30px 76px rgba(27, 20, 72, .18), 0 12px 28px rgba(110, 79, 40, .10);
  --header-h: 78px;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
ul, ol { list-style: none; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: var(--f-corpo);
  color: var(--tinta);
  background: var(--papel);
  line-height: 1.62;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
@media (min-width: 920px) {
  html { zoom: 0.90; }
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--madeira-claro); color: var(--indigo-900); }
[id] { scroll-margin-top: calc(var(--header-h) + 18px); }
.container { width: min(var(--container), 92vw); margin-inline: auto; }
@media (max-width:559px){ .container{width:min(var(--container), 88vw);} }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--azul);
  outline-offset: 3px;
  border-radius: 6px;
}
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 200;
  background: var(--indigo);
  color: #fff;
  font-family: var(--f-display);
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 0 0 var(--raio-s) 0;
}
.skip-link:focus { left: 0; }

/* ---------- Tipografia ---------- */
.kicker {
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ouro);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.kicker::before {
  content: "";
  width: 26px;
  height: 1px;
  background: var(--ouro-linha);
  flex: none;
}
.kicker--luz { color: var(--ouro-claro); }
.kicker--luz::before { background: var(--ouro-linha-luz); }
.kicker--so-texto::before { display: none; }
@media (max-width:559px){
  .kicker{font-size:10px;letter-spacing:.15em;gap:8px;}
  .kicker::before{width:18px;}
}

.h1 {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(46px, 6.6vw, 104px);
  line-height: 1.0;
  letter-spacing: -.02em;
  color: var(--indigo-900);
  margin: 0;
  text-wrap: balance;
}
.h2 {
  font-family: var(--f-display);
  font-weight: 500;
  color: var(--indigo-900);
  font-size: clamp(33px, 4.1vw, 60px);
  line-height: 1.04;
  letter-spacing: -.015em;
  margin: 0;
  text-wrap: balance;
}
.h3 {
  font-family: var(--f-display);
  font-weight: 600;
  color: var(--indigo);
  font-size: clamp(21px, 2.3vw, 30px);
  line-height: 1.14;
  letter-spacing: -.01em;
  margin: 0;
}
.h1 em, .h2 em, .h3 em, .serif-em {
  font-style: italic;
  font-weight: 500;
  color: var(--ouro);
}
.lead {
  font-family: var(--f-corpo);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.55;
  color: var(--c700);
  max-width: 56ch;
  margin: 0;
  text-wrap: pretty;
}
.apoio {
  font-size: 17px;
  line-height: 1.68;
  color: var(--c700);
  max-width: 64ch;
  text-wrap: pretty;
}
.mono { font-family: var(--f-mono); }

/* fio dourado decorativo */
.fio { height: 1px; width: 100%; border: 0; background: linear-gradient(90deg, var(--ouro-linha), transparent); }
.fio--centro { background: linear-gradient(90deg, transparent, var(--ouro-linha), transparent); }

/* ---------- Botões ---------- */
.btn {
  font-family: var(--f-corpo);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: .005em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 28px;
  border-radius: 99px;
  border: 1.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s, transform .08s, box-shadow .25s;
}
.btn:active { transform: translateY(1px); }
.btn svg { flex: none; }
.btn--lg { min-height: 58px; padding: 17px 34px; font-size: 16px; }
.btn--indigo { background: var(--indigo); color: #fff; }
.btn--indigo:hover { background: var(--indigo-700); box-shadow: 0 14px 30px rgba(48, 36, 132, .28); }
.btn--madeira { background: var(--madeira-700); color: #fff; }
.btn--madeira:hover { background: var(--madeira-900); box-shadow: 0 14px 30px rgba(110, 79, 40, .30); }
.btn--linha { background: transparent; color: var(--indigo); border-color: var(--c300); }
.btn--linha:hover { border-color: var(--ouro); color: var(--indigo-900); background: rgba(184, 146, 74, .06); }
.btn--luz { background: rgba(255, 255, 255, .12); color: #fff; border-color: rgba(255, 255, 255, .42); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.btn--luz:hover { background: rgba(255, 255, 255, .22); border-color: var(--ouro-claro); }
.btn--acao { background: var(--amarelo); color: var(--indigo-900); }
.btn--acao:hover { background: #FFD21A; box-shadow: 0 14px 30px rgba(244, 196, 0, .34); transform: translateY(-1px); }
.btn--dourado {
  background: linear-gradient(135deg, #C9A85E 0%, #B8924A 60%, #A67E3C 100%);
  color: var(--indigo-900);
  box-shadow: 0 8px 22px rgba(184, 146, 74, .28);
}
.btn--dourado:hover {
  background: linear-gradient(135deg, #D4B673 0%, #C29A52 60%, #B58E44 100%);
  box-shadow: 0 16px 34px rgba(184, 146, 74, .4);
  transform: translateY(-1px);
}
@media (max-width:559px){
  .btn{min-height:46px;padding:11px 20px;font-size:14.5px;}
  .btn--lg{min-height:48px;padding:12px 24px;font-size:15px;}
}

/* link com seta */
.link-seta {
  font-family: var(--f-corpo);
  font-weight: 800;
  font-size: 15px;
  color: var(--indigo);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
}
.link-seta .seta { transition: transform .22s; color: var(--ouro); }
.link-seta:hover { color: var(--indigo-900); }
.link-seta:hover .seta { transform: translateX(7px); }

/* ---------- Glassmorphism ---------- */
.glass {
  background: rgba(255, 255, 255, .62);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, .6);
  box-shadow: 0 16px 50px rgba(27, 20, 72, .18);
}
.glass-dark {
  position: relative;
  background: rgba(22, 16, 52, .46);
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .34);
  color: #fff;
}
.glass-dark::before {
  content: "";
  position: absolute;
  left: clamp(28px, 3.4vw, 48px);
  right: clamp(28px, 3.4vw, 48px);
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ouro-linha-luz) 30%, var(--ouro-linha-luz) 70%, transparent);
}
.glass-chip {
  background: rgba(255, 255, 255, .13);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, .26);
  color: #fff;
  border-radius: 99px;
  padding: 9px 16px;
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: .08em;
}

/* ---------- Texturas ---------- */
.tex-grao {
  background-color: var(--creme);
  background-image:
    repeating-linear-gradient(91deg, rgba(110, 79, 40, .035) 0 1px, rgba(110, 79, 40, 0) 1px 6px),
    repeating-linear-gradient(91deg, rgba(110, 79, 40, .045) 0 1px, rgba(110, 79, 40, 0) 1px 38px),
    radial-gradient(120% 80% at 50% -10%, rgba(255, 255, 255, .5), transparent 60%);
}
.tex-grao-papel {
  background-color: var(--papel);
  background-image:
    repeating-linear-gradient(91deg, rgba(110, 79, 40, .025) 0 1px, rgba(110, 79, 40, 0) 1px 7px),
    repeating-linear-gradient(91deg, rgba(110, 79, 40, .03) 0 1px, rgba(110, 79, 40, 0) 1px 41px);
}
.tex-madeira-escura {
  background-color: var(--madeira-900);
  background-image:
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .10) 0 2px, rgba(0, 0, 0, 0) 2px 8px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .04) 0 1px, rgba(255, 255, 255, 0) 1px 26px);
  color: #fff;
}
.tex-grao-escuro {
  background-color: var(--indigo-900);
  background-image:
    repeating-linear-gradient(91deg, rgba(184, 146, 74, .05) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(91deg, rgba(184, 146, 74, .06) 0 1px, transparent 1px 40px),
    radial-gradient(120% 90% at 50% -12%, rgba(48, 36, 132, .55), transparent 62%);
  color: #fff;
}

/* ---------- Índice dourado ---------- */
.indice { font-family: var(--f-mono); font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--ouro); }

/* ---------- Reveal + parallax ---------- */
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); }
  .reveal.in { opacity: 1; transform: none; }
  .reveal[data-delay="1"] { transition-delay: .10s; }
  .reveal[data-delay="2"] { transition-delay: .20s; }
  .reveal[data-delay="3"] { transition-delay: .30s; }
  .reveal[data-delay="4"] { transition-delay: .40s; }
  .reveal[data-delay="5"] { transition-delay: .50s; }
  [data-parallax] { will-change: transform; }
}

/* ---------- Shimmer btn--dourado ---------- */
.btn--dourado { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .btn--dourado::after {
    content: "";
    position: absolute;
    top: 0; left: -70%;
    width: 50%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
    transform: skewX(-18deg);
    opacity: 0;
    transition: opacity .1s;
  }
  .btn--dourado:hover::after {
    opacity: 1;
    animation: shimmerBtn .55s ease forwards;
  }
  @keyframes shimmerBtn {
    from { left: -70%; }
    to   { left: 130%; }
  }
}
.btn { position: relative; }

/* ---------- Header ---------- */
.topo {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  background: rgba(251, 250, 246, .9);
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  border-bottom: 1px solid var(--ouro-linha);
  box-shadow: 0 6px 22px rgba(110, 79, 40, .06);
  transition: background .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.topo.is-stuck { background: rgba(251, 250, 246, .94); }
.topo.is-over-hero { background: transparent; border-bottom-color: transparent; box-shadow: none; }
.topo.is-over-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(14, 9, 38, .46), rgba(14, 9, 38, 0));
  pointer-events: none;
}
.topo.is-over-hero .brand img { filter: brightness(0) invert(1); }
.topo.is-over-hero .nav-burger { color: #fff; border-color: rgba(255, 255, 255, .5); }
.topo.is-over-hero .nav-burger:hover { background: rgba(255, 255, 255, .14); }
@media (min-width: 920px) {
  .topo.is-over-hero .topo-nav a:not(.btn),
  .topo.is-over-hero .navlink { color: rgba(255, 255, 255, .92); }
  .topo.is-over-hero .topo-nav a:not(.btn):hover,
  .topo.is-over-hero .navlink:hover { background: rgba(255, 255, 255, .14); color: #fff; }
  .topo.is-over-hero .topo-nav .btn--indigo {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .55);
    color: #fff;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .topo.is-over-hero .topo-nav .btn--indigo:hover { background: rgba(255, 255, 255, .22); border-color: #fff; box-shadow: none; }
  .topo.is-over-hero .drop a:not(.btn) { color: var(--c700); }
  .topo.is-over-hero .drop a:not(.btn):hover { background: var(--creme); color: var(--indigo); }
}
.topo-row { display: flex; align-items: center; gap: 24px; min-height: var(--header-h); }
.topo-row .brand { display: flex; align-items: center; min-height: 44px; }
.topo-row .brand img { height: 36px; width: auto; }
.topo-nav { margin-left: auto; display: flex; align-items: center; gap: 2px; }
.topo-nav a:not(.btn),
.topo-nav button.navlink {
  font-family: var(--f-corpo);
  font-weight: 700;
  font-size: 14.5px;
  color: var(--c700);
  padding: 12px 14px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 99px;
  background: none;
  border: 0;
  cursor: pointer;
  transition: background .16s, color .16s;
}
.topo-nav a:not(.btn):hover,
.topo-nav button.navlink:hover { background: var(--creme); color: var(--indigo); }
.topo-nav .btn { min-height: 46px; padding: 11px 22px; margin-left: 10px; }
.has-drop { position: relative; }
.has-drop .caret { transition: transform .18s; }
.has-drop.open .caret { transform: rotate(180deg); }
.drop {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 300px;
  background: var(--branco);
  border: var(--hairline);
  border-radius: var(--raio-m);
  box-shadow: var(--sombra-l);
  padding: 8px;
  display: none;
}
.has-drop.open .drop { display: block; }
.drop ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.drop a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: var(--raio-s);
  font-size: 14.5px;
  font-weight: 600;
  color: var(--c700);
  transition: background .16s, color .16s;
}
.drop a:hover { background: var(--creme); color: var(--indigo); padding-left: 18px; }
.nav-burger {
  display: none;
  margin-left: auto;
  background: none;
  border: 1.5px solid var(--c300);
  border-radius: 99px;
  min-width: 46px;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--indigo);
}
.nav-burger:hover { border-color: var(--ouro); background: var(--creme); }
@media (max-width: 919px) {
  .nav-burger { display: inline-flex; }
  .nav-wrap {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--branco);
    border-bottom: var(--hairline);
    box-shadow: var(--sombra-l);
    display: none;
    max-height: calc(100vh - var(--header-h));
    overflow: auto;
  }
  .topo.menu-open .nav-wrap { display: block; }
  .topo-nav { flex-direction: column; align-items: stretch; gap: 0; padding: 14px 4vw 24px; }
  .topo-nav a:not(.btn),
  .topo-nav button.navlink { width: 100%; justify-content: space-between; font-size: 16px; }
  .drop { position: static; display: none; box-shadow: none; border: 0; border-left: 2px solid var(--ouro-linha); border-radius: 0; margin: 0 0 8px 12px; padding: 0; min-width: 0; }
  .has-drop.open .drop { display: block; }
  .topo-nav .btn { margin: 12px 0 0; width: 100%; }
}

/* ---------- Nav: item ativo ---------- */
.topo-nav a.is-active:not(.btn), .topo-nav .navlink.is-active { color: var(--indigo); }

/* ---------- Footer ---------- */
.pe {
  border-top: 1px solid var(--ouro-linha);
  padding: clamp(56px, 6vw, 96px) 0 40px;
  background: var(--creme);
}
.pe-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 40px; }
.pe h2 {
  font-family: var(--f-mono);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ouro);
  margin: 0 0 18px;
}
.pe p { margin: 0 0 10px; font-size: 14.5px; color: var(--c700); }
.pe a { display: inline-flex; align-items: center; gap: 9px; min-height: 36px; font-size: 14.5px; color: var(--c700); transition: color .16s; }
.pe a:hover { color: var(--indigo); }
.pe a svg, .pe p svg { flex: none; color: var(--ouro); }
.pe-logo { height: 50px; width: auto; }
.pe-base {
  margin-top: clamp(40px, 5vw, 64px);
  padding-top: 26px;
  border-top: 1px solid var(--ouro-linha);
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--c500);
  align-items: center;
}
@media (max-width: 919px) { .pe-grid { grid-template-columns: 1fr 1fr; } }

/* Footer accordion (details/summary) */
.pe-section{margin:0;padding:0;}
.pe-section > summary{list-style:none;cursor:default;}
.pe-section > summary::-webkit-details-marker{display:none;}
.pe-section > summary::marker{content:none;}
@media (min-width:560px){
  .pe-section > summary{pointer-events:none;}
  .pe-section > summary::after{display:none;}
  .pe-section > .pe-content{display:block !important;}
}
@media (max-width:559px){
  .pe{padding:clamp(36px,5vw,56px) 0 32px;}
  .pe-grid{grid-template-columns:1fr;gap:0;}
  .pe-grid > div:first-child{padding-bottom:18px;margin-bottom:4px;border-bottom:1px solid var(--ouro-linha);}
  .pe-section{border-bottom:1px solid var(--ouro-linha);}
  .pe-section > summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 0;
  }
  .pe-section > summary::after{
    content:"";
    width:8px;height:8px;
    border-right:2px solid var(--ouro);
    border-bottom:2px solid var(--ouro);
    transform:rotate(45deg);
    transition:transform .3s;
    flex:none;
  }
  .pe-section[open] > summary::after{transform:rotate(-135deg);}
  .pe-section > summary h2{margin:0;}
  .pe-section .pe-content{padding:0 0 16px;}
  .pe p{font-size:13.5px;}
  .pe a{font-size:13.5px;}
  .pe-base{flex-direction:column;text-align:center;gap:8px;margin-top:24px;padding-top:20px;border-top:0;}
}

/* ---------- Seções genéricas ---------- */
.sec { padding: clamp(72px, 9vw, 140px) 0; }
.sec--curta { padding: clamp(56px, 7vw, 104px) 0; }
.sec-head { max-width: 860px; }
.sec-head .h2 { margin-top: 18px; }
.sec-head .lead { margin-top: 20px; }

/* ---------- Botão flutuante WhatsApp ---------- */
.wa-fab {
  position: fixed;
  right: clamp(16px, 2.4vw, 30px);
  bottom: clamp(16px, 2.4vw, 30px);
  z-index: 90;
  display: inline-flex;
  align-items: center;
  height: 62px;
  padding: 0 8px 0 0;
  border-radius: 99px;
  background: transparent;
  border: 1px solid transparent;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
  color: #fff;
  overflow: hidden;
  max-width: 62px;
  transition: max-width .42s cubic-bezier(.2, .7, .2, 1), background .25s, border-color .25s, box-shadow .25s, backdrop-filter .25s, transform .12s;
  text-decoration: none;
}
.wa-fab .wa-ico { flex: none; width: 62px; height: 62px; display: grid; place-items: center; color: #fff; }
.wa-fab .wa-disc {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #25D366;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 12px rgba(37, 211, 102, .5);
  transition: width .3s, height .3s;
}
.wa-fab .wa-txt {
  font-family: var(--f-corpo);
  font-weight: 800;
  font-size: 14.5px;
  white-space: nowrap;
  padding-right: 16px;
  opacity: 0;
  transition: opacity .3s ease .06s;
}
.wa-fab:hover,
.wa-fab:focus-visible {
  max-width: 300px;
  background: rgba(18, 12, 48, .62);
  border-color: rgba(255, 255, 255, .34);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  box-shadow: 0 18px 46px rgba(0, 0, 0, .36);
}
.wa-fab:hover .wa-disc, .wa-fab:focus-visible .wa-disc { width: 40px; height: 40px; }
.wa-fab:hover .wa-txt, .wa-fab:focus-visible .wa-txt { opacity: 1; }
.wa-fab:active { transform: translateY(1px); }
@media (prefers-reduced-motion: no-preference) {
  .wa-fab::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 4px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 2px solid rgba(37, 211, 102, .55);
    animation: waPulse 2.6s ease-out infinite;
    pointer-events: none;
  }
}
@keyframes waPulse {
  0% { transform: scale(1); opacity: .7; }
  70% { transform: scale(1.7); opacity: 0; }
  100% { opacity: 0; }
}
@media (max-width: 559px) {
  .wa-fab { height: 56px; max-width: 56px; }
  .wa-fab .wa-ico { width: 56px; height: 56px; }
  .wa-fab .wa-disc { width: 50px; height: 50px; }
  .wa-fab::after { left: 3px; top: 3px; width: 50px; height: 50px; }
}

/* =====================================================
   CARROSSEL HERO — compartilhado entre Home e páginas
   internas. Suporta <img> e <video>.
   ===================================================== */
.hero-carousel { position: relative; width: 100%; height: 100%; }
.hero-carousel-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.hero-carousel-slide.is-active { opacity: 1; }
.hero-carousel-slide img,
.hero-carousel-slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-carousel-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.hero-carousel-dots button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.4);
  cursor: pointer;
  padding: 0;
  transition: background .3s, transform .3s;
}
.hero-carousel-dots button.is-active {
  background: var(--ouro-claro);
  transform: scale(1.3);
}
/* Ken Burns — apenas em imagens (vídeo já tem movimento próprio) */
@media (prefers-reduced-motion: no-preference) {
  .hero-carousel-slide img { transform-origin: center center; animation: none; }
  .hero-carousel-slide.is-active img { animation: kenBurns 7s ease-out forwards; }
  @keyframes kenBurns {
    from { transform: scale(1); }
    to   { transform: scale(1.08); }
  }
}

/* =====================================================
   MARQUEE DE MARCAS — compartilhado Home + páginas internas
   ===================================================== */
.pm-marquee{margin-top:26px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%);}
.pm-track{display:flex;width:max-content;will-change:transform;animation:pm-scroll var(--pm-dur,42s) linear infinite;}
.pm-marquee:hover .pm-track{animation-play-state:paused;}
.pm-group{display:flex;flex:none;align-items:center;}
@keyframes pm-scroll{from{transform:translateX(0);}to{transform:translateX(var(--pm-shift,-50%));}}
.pm-group img{flex:none;width:clamp(140px,14vw,200px);height:56px;margin-right:clamp(34px,5vw,72px);object-fit:contain;filter:grayscale(1);opacity:.58;transition:filter .3s ease,opacity .3s ease,transform .3s ease;}
.pm-group img:hover{filter:grayscale(0);opacity:1;transform:scale(1.08);}
.pm-brand-text{flex:none;margin-right:clamp(34px,5vw,72px);font-family:var(--f-display);font-weight:600;font-size:clamp(18px,2vw,24px);color:var(--c500);opacity:.52;letter-spacing:.04em;white-space:nowrap;transition:opacity .3s ease,color .3s ease;}
.pm-brand-text:hover{opacity:1;color:var(--indigo-900);}
@media (prefers-reduced-motion:reduce){
  .pm-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;}
  .pm-group--clone{display:none;}
}
