/* =====================================================================
   Tampinhas que Transformam Vidas 2026 — styles.css
   Direção: institucional terroso (creme + verde-musgo + ocre), serifa Fraunces.
   Derivado da identidade do Cartório de Colmeia-TO. Premium, mobile-first.
   ===================================================================== */

/* ---------- Tokens ---------- */
:root {
  /* Superfícies quentes */
  --cream:#f4efe3;     /* fundo da página */
  --paper:#fbf7ee;     /* cards / superfícies elevadas */
  --sand:#ece4d3;      /* seções alternadas */

  /* Verde-musgo institucional */
  --green-900:#243024; /* footer / CTA profundo */
  --green-800:#2e3f2d;
  --green-700:#3e5a3c; /* primária */
  --green-600:#4f6e48;
  --green-300:#9cb38c;
  --green-100:#e3ebd9;

  /* Ocre / dourado — credibilidade, selos, fé pública */
  --gold-700:#8a6420;
  --gold-600:#a67c2e;
  --gold-500:#c29a4b;
  --gold-200:#e7d4a8;
  --gold-100:#f1e6c8;

  /* Tinta */
  --bark:#2c2a22;      /* títulos */
  --ink:#5c564a;       /* corpo secundário */
  --line:#ddd3bf;      /* divisores sutis */

  /* Confete de tampinhas (uso pontual — o lado colorido da campanha) */
  --cap-red:#d9544a; --cap-blue:#3e83c2; --cap-yellow:#e6ad2e;
  --cap-green:#5fa05a; --cap-orange:#e08a3c;

  --danger:#b4453b;

  /* Tokens semânticos */
  --brand-primary: var(--green-700);
  --brand-deep: var(--green-900);
  --brand-secondary: var(--gold-600);
  --surface-page: var(--cream);
  --surface-card: var(--paper);
  --text-primary: var(--bark);
  --text-secondary: var(--ink);
  --border-subtle: var(--line);

  /* Elevação — soft, tom quente */
  --elevation-1: 0 1px 2px rgba(44,42,34,.05), 0 2px 6px rgba(44,42,34,.05);
  --elevation-2: 0 6px 18px -6px rgba(44,42,34,.14), 0 3px 8px -4px rgba(44,42,34,.08);
  --elevation-3: 0 18px 40px -12px rgba(44,42,34,.20), 0 8px 16px -8px rgba(44,42,34,.10);

  /* Radius — cantos suaves, ligeiramente orgânicos */
  --radius-sm:8px; --radius-md:14px; --radius-lg:22px; --radius-pill:999px;

  /* Espaçamento base 4px */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-6:24px; --space-8:32px; --space-12:48px;
  --space-16:64px; --space-24:96px; --space-32:128px;

  /* Tipografia */
  --font-display:"Fraunces", "Georgia", "Times New Roman", serif;
  --font-sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-display:clamp(2.3rem, 8vw, 5.4rem);
  --fs-h2:clamp(1.9rem, 3.4vw, 2.9rem);
  --fs-h3:1.3rem;
  --fs-body:1.0625rem;
  --fs-small:0.875rem;
  --fs-eyebrow:0.78rem;

  /* Motion */
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --ease-in-out:cubic-bezier(0.4,0,0.2,1);
  --dur-fast:160ms; --dur-base:280ms; --dur-slow:640ms;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
html, body { overflow-x:clip; }  /* clip não cria scroll-container — preserva position:sticky do menu */
body {
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  line-height:1.65;
  color:var(--text-primary);
  background:var(--surface-page);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul { margin:0; padding:0; list-style:none; }
h1,h2,h3,p { margin:0; }
address { font-style:normal; }

.container { width:100%; max-width:1180px; margin-inline:auto; padding-inline:var(--space-6); }
.container.narrow { max-width:780px; }
/* evita overflow horizontal por filhos de grid/flex com conteúdo largo */
.resultado__grid > *, .duo > *, .destino > *, .cards > *, .steps > *,
.materiais__grid > *, .gallery > *, .footer__grid > *, .partners__inner > * { min-width:0; }

.icon { width:24px; height:24px; display:inline-block; fill:none; }
.icon--sm { width:18px; height:18px; }

/* Foco / skip link */
.skip-link {
  position:absolute; left:var(--space-4); top:-60px; z-index:200;
  background:var(--green-800); color:#fff; padding:var(--space-3) var(--space-4);
  border-radius:var(--radius-sm); transition:top var(--dur-base) var(--ease-out);
}
.skip-link:focus { top:var(--space-4); }
:focus-visible { outline:3px solid var(--gold-600); outline-offset:3px; border-radius:var(--radius-sm); }

/* ---------- Tipografia utilitária ---------- */
.eyebrow {
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2);
  font-size:var(--fs-eyebrow); font-weight:700; text-transform:uppercase;
  letter-spacing:.16em; color:var(--gold-700); max-width:100%;
}
.eyebrow::before {
  content:""; width:22px; height:1.5px; background:var(--gold-500); flex-shrink:0;
}
.eyebrow--center { justify-content:center; }

/* ---------- Botões ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  font-family:var(--font-sans); font-weight:700; font-size:var(--fs-body);
  letter-spacing:.01em; padding:16px 30px; min-height:52px;
  border:1.5px solid transparent; border-radius:var(--radius-pill); cursor:pointer;
  transition:transform var(--dur-base) var(--ease-out),
             box-shadow var(--dur-base) var(--ease-out),
             background-color var(--dur-base) var(--ease-out),
             color var(--dur-base) var(--ease-out),
             border-color var(--dur-base) var(--ease-out);
}
.btn--sm { padding:11px 20px; min-height:42px; font-size:var(--fs-small); }
.btn--lg { padding:19px 38px; min-height:58px; font-size:1.1rem; }
.btn--primary { background:var(--green-700); color:#fbf7ee; box-shadow:var(--elevation-1); }
.btn--primary:hover { background:var(--green-800); transform:translateY(-2px); box-shadow:var(--elevation-2); }
.btn--primary:active { transform:translateY(0); }
.btn--secondary { background:transparent; color:var(--green-800); border-color:var(--green-600); }
.btn--secondary:hover { background:var(--green-100); transform:translateY(-2px); }
.btn--secondary:active { transform:translateY(0); }

.iconbtn {
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:var(--radius-pill);
  color:var(--green-800); background:rgba(62,90,60,.08);
  transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.iconbtn:hover { background:var(--green-700); color:var(--paper); transform:translateY(-2px); }

/* ---------- Tampinha: motivo / signature ---------- */
.cap {
  display:inline-block; width:28px; height:28px; color:var(--gold-600);
}
.cap--lg { width:40px; height:40px; }
.title-cap { display:flex; flex-direction:column; align-items:center; gap:var(--space-3); }
/* fileira de confetes de tampinhas (divisor) */
.cap-row { display:flex; gap:10px; justify-content:center; align-items:center; padding:var(--space-8) 0 0; }
.cap-row span { width:14px; height:14px; border-radius:var(--radius-pill); position:relative; box-shadow:inset 0 0 0 3px rgba(255,255,255,.55); }
.cap-row span:nth-child(1){ background:var(--cap-red); }
.cap-row span:nth-child(2){ background:var(--cap-yellow); }
.cap-row span:nth-child(3){ background:var(--cap-green); }
.cap-row span:nth-child(4){ background:var(--cap-blue); }
.cap-row span:nth-child(5){ background:var(--cap-orange); }

/* ---------- Topbar / Nav ---------- */
.topbar {
  position:sticky; top:0; z-index:100;
  background:rgba(244,239,227,.82); backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--line);
  transition:box-shadow var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);
}
.topbar.is-scrolled { box-shadow:var(--elevation-1); background:rgba(244,239,227,.94); }
.topbar__inner { display:flex; align-items:center; gap:var(--space-4); min-height:68px; }
.topbar__brand { display:flex; align-items:center; gap:var(--space-3); min-width:0; margin-right:auto; }
.topbar__logo { height:48px; width:auto; }
.topbar__name { font-size:.72rem; font-weight:600; color:var(--ink); line-height:1.22; max-width:38ch; display:none; }

.nav { display:none; }
.nav__list { display:flex; align-items:center; gap:var(--space-6); }
.nav__list a { position:relative; font-size:.92rem; font-weight:600; color:var(--ink); padding:6px 2px; transition:color var(--dur-base) var(--ease-out); }
.nav__list a::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--gold-500); transform:scaleX(0); transform-origin:left; transition:transform var(--dur-base) var(--ease-out); }
.nav__list a:hover, .nav__list a:focus-visible { color:var(--green-800); }
.nav__list a:hover::after, .nav__list a:focus-visible::after { transform:scaleX(1); }

.topbar__actions { display:flex; align-items:center; gap:var(--space-2); flex-shrink:0; }
.topbar__cta { display:none; }
.nav-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:none; background:transparent; color:var(--green-800); cursor:pointer; border-radius:var(--radius-sm); }
.nav-toggle:hover { background:rgba(62,90,60,.08); }
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { content:""; display:block; width:22px; height:2px; background:currentColor; border-radius:2px; transition:transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out); }
.nav-toggle__bars::before { transform:translateY(-7px); }
.nav-toggle__bars::after { transform:translateY(5px); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background:transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { transform:rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { transform:rotate(-45deg); }

/* menu mobile (dropdown) */
.nav-mobile { position:fixed; inset:68px 0 auto 0; z-index:99; background:var(--cream); border-bottom:1px solid var(--line); box-shadow:var(--elevation-2); transform:translateY(-12px); opacity:0; visibility:hidden; transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility var(--dur-base); }
.nav-mobile.is-open { transform:translateY(0); opacity:1; visibility:visible; }
.nav-mobile ul { display:flex; flex-direction:column; padding:var(--space-4) var(--space-6); }
.nav-mobile a { display:block; padding:14px 4px; font-weight:600; color:var(--bark); border-bottom:1px solid var(--line); }
.nav-mobile a:last-child { border-bottom:none; }
.nav-mobile .btn { margin-top:var(--space-4); }

@media (min-width:600px){ .topbar__name { display:block; } .topbar__cta { display:inline-flex; } }
@media (min-width:1024px){
  .nav { display:block; margin-inline:var(--space-6); }
  .nav-toggle { display:none; }
}

/* ---------- Marquee (faixa de valores da campanha) ---------- */
.marquee { background:var(--green-800); color:var(--paper); overflow:hidden; border-block:1px solid rgba(251,247,238,.08); }
.marquee__track { display:flex; gap:0; width:max-content; animation:marquee 32s linear infinite; }
.marquee__group { display:flex; align-items:center; gap:var(--space-8); padding:14px var(--space-8); flex-shrink:0; }
.marquee__group span { display:inline-flex; align-items:center; gap:var(--space-3); font-family:var(--font-display); font-weight:500; font-style:italic; font-size:1.05rem; color:rgba(251,247,238,.92); white-space:nowrap; }
.marquee__group .cap { color:var(--gold-500); width:18px; height:18px; }
@keyframes marquee { to { transform:translateX(-50%); } }
.marquee:hover .marquee__track { animation-play-state:paused; }

/* ---------- Seções ---------- */
.section { padding-block:clamp(64px, 9vw, 120px); }
.section--paper { background:var(--paper); }
.section--sand { background:var(--sand); }
.section--pine { background:var(--green-800); color:var(--paper); }

.section__head { max-width:680px; margin:0 auto var(--space-12); text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--space-3); }
.section__title {
  font-family:var(--font-display); font-optical-sizing:auto;
  font-weight:600; font-size:var(--fs-h2); line-height:1.08;
  letter-spacing:-0.01em; color:var(--bark);
}
.section--pine .section__title { color:var(--paper); }
.section__lead { color:var(--text-secondary); max-width:60ch; line-height:1.7; }
.section--pine .section__lead { color:rgba(251,247,238,.8); }
.section__text > p { margin-bottom:var(--space-4); line-height:1.75; }
.section__text > p:last-child { margin-bottom:0; }
.measure { max-width:680px; margin-inline:auto; }

/* ---------- Hero ---------- */
.hero { position:relative; overflow:hidden; background:
  radial-gradient(1100px 520px at 88% -8%, var(--gold-100), transparent 60%),
  radial-gradient(900px 480px at -5% 110%, var(--green-100), transparent 55%),
  var(--cream);
}
.hero__bg { position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(62,90,60,.05) 1px, transparent 0);
  background-size:26px 26px; will-change:transform; }
.hero__inner { position:relative; z-index:1; display:grid; gap:var(--space-12); align-items:center;
  padding-block:clamp(56px, 9vw, 104px); }
.hero__inner > * { min-width:0; max-width:100%; }
.hero__content, .hero__title, .hero__text, .hero__eyebrow { max-width:100%; overflow-wrap:break-word; }
@media (max-width:879px){ .hero__inner { display:block; } .hero__art { margin-top:var(--space-12); } }
.hero__eyebrow { margin-bottom:var(--space-6); }
.hero__title {
  font-family:var(--font-display); font-optical-sizing:auto; font-weight:600;
  font-size:var(--fs-display); line-height:1.02; letter-spacing:-0.025em;
  color:var(--green-900); margin-bottom:var(--space-6); text-wrap:balance; hyphens:auto;
}
.hero__title em { font-style:italic; color:var(--gold-600); font-weight:500; }
.hero__text { font-size:1.16rem; line-height:1.7; color:var(--text-secondary); max-width:52ch; margin-bottom:var(--space-8); }
.hero__actions { display:flex; flex-wrap:wrap; gap:var(--space-4); }

/* faixa de prova rápida */
.hero__proof { display:grid; grid-template-columns:1fr; gap:var(--space-3); margin-top:var(--space-12); }
@media (min-width:520px){ .hero__proof { grid-template-columns:repeat(3,1fr); gap:var(--space-4); } }

/* Selo de proof (badge de credibilidade no hero) */
.proof-badge {
  display:flex; align-items:center; gap:var(--space-3);
  padding:var(--space-3) var(--space-4);
  background:rgba(251,247,238,.72);
  backdrop-filter:blur(6px);
  border:1px solid var(--line); border-radius:var(--radius-md);
  box-shadow:var(--elevation-1);
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}
.proof-badge:hover {
  transform:translateY(-3px);
  box-shadow:var(--elevation-2);
}
.proof-badge__icon {
  flex-shrink:0; width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25), inset 0 -2px 4px rgba(0,0,0,.08);
}
.proof-badge__icon .icon { width:20px; height:20px; }

.proof-badge--green .proof-badge__icon { background:linear-gradient(140deg, var(--green-300), var(--green-600)); color:var(--paper); }
.proof-badge--green:hover { border-color:var(--green-300); }

.proof-badge--gold .proof-badge__icon { background:linear-gradient(140deg, var(--gold-200), var(--gold-600)); color:var(--paper); }
.proof-badge--gold:hover { border-color:var(--gold-200); }

.proof-badge--pine .proof-badge__icon { background:linear-gradient(140deg, var(--green-700), var(--green-900)); color:var(--gold-200); }
.proof-badge--pine:hover { border-color:var(--green-300); }

.proof-badge__body { display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.proof-badge__body strong { font-family:var(--font-display); font-weight:600; font-size:1rem; color:var(--bark); }
.proof-badge__body span { font-size:.78rem; color:var(--text-secondary); }

/* ---------- Barra de parceiros ---------- */
/* ---------- Corrente do bem (parceiros) ---------- */
.partners {
  background:
    linear-gradient(180deg, var(--paper) 0%, var(--cream) 100%);
  border-block:1px solid var(--line);
  position:relative; overflow:hidden;
}
.partners::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.36 0 0 0 0 0.26 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
.partners__inner {
  display:flex; flex-direction:column; align-items:center;
  gap:var(--space-8); padding-block:clamp(48px, 7vw, 88px);
  position:relative; z-index:1;
}
.partners__label {
  font-size:var(--fs-eyebrow); font-weight:700; text-transform:uppercase;
  letter-spacing:.18em; color:var(--gold-700); text-align:center;
  display:flex; align-items:center; gap:var(--space-3);
}
.partners__label::before, .partners__label::after {
  content:""; width:34px; height:1.5px; background:linear-gradient(90deg, transparent, var(--gold-500));
}
.partners__label::after { background:linear-gradient(90deg, var(--gold-500), transparent); }

.partners__chain {
  display:grid; grid-template-columns:1fr; gap:var(--space-12);
  width:100%; max-width:980px; margin:0 auto;
  list-style:none; padding:0;
}
@media (min-width:860px){
  .partners__chain { grid-template-columns:repeat(3, 1fr); gap:var(--space-6); align-items:start; }
}

/* Elo da corrente */
.partner-node {
  display:flex; flex-direction:column; align-items:center; text-align:center;
  position:relative; padding:var(--space-4) var(--space-6);
  transition:transform var(--dur-base) var(--ease-out);
}
.partner-node:hover { transform:translateY(-4px); }

/* Medalha (elo) */
.partner-node__medal {
  position:relative; width:108px; height:108px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.4), transparent 55%),
    linear-gradient(150deg, var(--paper), var(--sand));
  box-shadow:
    inset 0 0 0 1px rgba(166,124,46,.22),
    inset 0 -4px 12px rgba(44,42,34,.06),
    var(--elevation-2);
  margin-bottom:var(--space-6);
  transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.partner-node:hover .partner-node__medal {
  box-shadow:
    inset 0 0 0 1px var(--gold-500),
    0 0 32px rgba(194,154,75,.32),
    var(--elevation-3);
  transform:scale(1.04);
}

/* Anel dourado decorativo (segundo círculo, órbita) */
.partner-node__ring {
  position:absolute; inset:-8px; border-radius:50%;
  border:1.5px dashed var(--gold-500); opacity:.4;
  transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-slow) var(--ease-out);
  pointer-events:none;
}
.partner-node:hover .partner-node__ring { opacity:.85; transform:rotate(60deg); }

.partner-node__icon {
  width:48px; height:48px; color:var(--green-700);
  transition:color var(--dur-base) var(--ease-out);
}
.partner-node:hover .partner-node__icon { color:var(--gold-700); }

.partner-node__logo { width:120px; height:auto; filter:saturate(.92) brightness(1.02); }

/* Papel (role) — eyebrow dourado */
.partner-node__role {
  font-size:var(--fs-eyebrow); font-weight:700; text-transform:uppercase;
  letter-spacing:.18em; color:var(--gold-700); margin-bottom:var(--space-2);
}
.partner-node__name {
  font-family:var(--font-display); font-weight:600; font-size:1.18rem;
  color:var(--bark); line-height:1.2; margin-bottom:var(--space-2);
  transition:color var(--dur-base) var(--ease-out);
}
.partner-node:hover .partner-node__name { color:var(--green-800); }
.partner-node__sub {
  font-size:var(--fs-small); color:var(--text-secondary); line-height:1.55;
  max-width:28ch;
}

/* Linha conectora entre elos (a "corrente") — só desktop */
.partner-node__link {
  position:absolute; top:54px; right:calc(var(--space-6) * -1);
  width:calc(var(--space-6) * 2); height:2px; display:none;
  background:
    repeating-linear-gradient(90deg,
      var(--gold-500) 0 8px, transparent 8px 16px);
  opacity:.55; z-index:2;
}
.partner-node__link::before, .partner-node__link::after {
  content:""; position:absolute; top:50%; width:8px; height:8px; border-radius:50%;
  background:var(--gold-500); transform:translateY(-50%);
  box-shadow:0 0 0 2px var(--paper);
}
.partner-node__link::before { left:-4px; }
.partner-node__link::after { right:-4px; }
@media (min-width:860px){ .partner-node__link { display:block; } }

/* No mobile, liga verticalmente com uma linha central */
@media (max-width:859px){
  .partner-node:not(:last-child)::after {
    content:""; position:absolute; left:50%; bottom:calc(var(--space-12) * -1);
    width:2px; height:var(--space-12); transform:translateX(-50%);
    background:repeating-linear-gradient(180deg,
      var(--gold-500) 0 8px, transparent 8px 16px);
    opacity:.5;
  }
  .partner-node:not(:last-child)::before {
    content:""; position:absolute; left:50%; bottom:calc(var(--space-12) * -1 - 4px);
    width:8px; height:8px; border-radius:50%; background:var(--gold-500);
    transform:translateX(-50%); box-shadow:0 0 0 2px var(--paper); z-index:3;
  }
}

/* Stagger reveal */
.partners__chain .partner-node:nth-child(2) { transition-delay:140ms; }
.partners__chain .partner-node:nth-child(3) { transition-delay:280ms; }

/* arte do flyer emoldurada */
.hero__art { position:relative; margin:0; justify-self:center; max-width:440px; width:100%; }
.hero__frame {
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--elevation-3); border:1px solid var(--line);
  background:var(--paper); rotate:1.4deg;
  transition:rotate var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
}
.hero__art:hover .hero__frame { rotate:0deg; transform:translateY(-4px); }
.hero__frame img { width:100%; display:block; }
.hero__badge {
  position:absolute; right:-14px; bottom:-14px; z-index:2;
  width:92px; height:92px; border-radius:var(--radius-pill);
  background:var(--gold-500); color:var(--green-900);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; line-height:1.05; box-shadow:var(--elevation-2);
  font-family:var(--font-display); font-weight:600; transform:rotate(-8deg);
}
.hero__badge strong { font-size:1.5rem; }
.hero__badge span { font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; font-family:var(--font-sans); font-weight:700; }
@media (min-width:880px){
  .hero__inner { grid-template-columns:1.05fr .95fr; }
  .hero__art { justify-self:end; max-width:460px; }
}

/* ---------- Sobre ---------- */
.about__lead {
  font-family:var(--font-display); font-weight:500; font-style:italic;
  font-size:clamp(1.3rem, 2.6vw, 1.85rem); line-height:1.4;
  color:var(--green-800); text-align:center;
  max-width:42ch; margin:0 auto var(--space-12);
  position:relative; padding-inline:var(--space-6);
}
.about__lead strong { font-weight:600; font-style:normal; color:var(--bark); }
.about__lead::before, .about__lead::after {
  content:""; position:absolute; top:50%; width:28px; height:1.5px;
  background:linear-gradient(90deg, transparent, var(--gold-500));
  transform:translateY(-50%);
}
.about__lead::before { left:-8px; background:linear-gradient(90deg, var(--gold-500), transparent); }
.about__lead::after { right:-8px; }

.about__grid { display:grid; gap:var(--space-12); align-items:start; }
@media (min-width:860px){
  .about__grid { grid-template-columns:1.4fr 1fr; gap:var(--space-12); align-items:start; }
}

.about__body .section__text > p { margin-bottom:var(--space-6); }
.about__body .section__text > p:last-child { margin-bottom:0; }
.about__body .section__text > p:first-child::first-letter {
  font-family:var(--font-display); font-weight:600;
  font-size:3.2em; line-height:0.85; float:left;
  color:var(--gold-600); padding-right:var(--space-2); padding-top:var(--space-1);
}

/* Pilares (mini-cards laterais) */
.about__pillars {
  display:flex; flex-direction:column; gap:var(--space-4);
  list-style:none; padding:0; margin:0;
}
.pillar {
  display:flex; align-items:flex-start; gap:var(--space-4);
  padding:var(--space-6); background:var(--paper);
  border:1px solid var(--line); border-radius:var(--radius-md);
  box-shadow:var(--elevation-1);
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}
.pillar:hover { transform:translateX(4px); box-shadow:var(--elevation-2); border-color:var(--gold-200); }

.pillar__icon {
  flex-shrink:0; width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25), inset 0 -2px 4px rgba(0,0,0,.08);
}
.pillar__icon .icon { width:22px; height:22px; }
.pillar__icon--green { background:linear-gradient(140deg, var(--green-300), var(--green-600)); color:var(--paper); }
.pillar__icon--red { background:linear-gradient(140deg, #e89b8e, var(--cap-red)); color:var(--paper); }
.pillar__icon--gold { background:linear-gradient(140deg, var(--gold-200), var(--gold-600)); color:var(--paper); }

.pillar__body { display:flex; flex-direction:column; gap:2px; min-width:0; }
.pillar__body strong { font-family:var(--font-display); font-weight:600; font-size:1.05rem; color:var(--bark); }
.pillar__body span { font-size:var(--fs-small); color:var(--text-secondary); line-height:1.55; }

/* Pull quote ampliado */
.about__pull {
  margin:var(--space-16) auto 0; max-width:680px;
  text-align:center; position:relative;
  padding:var(--space-12) var(--space-8);
  background:linear-gradient(160deg, var(--paper), var(--cream));
  border:1px solid var(--gold-200); border-radius:var(--radius-lg);
  box-shadow:var(--elevation-2);
}
.about__pull::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.36 0 0 0 0 0.26 0 0 0 0.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.05;
}
.about__pull-mark {
  position:absolute; top:-24px; left:50%; transform:translateX(-50%);
  font-family:var(--font-display); font-weight:600; font-size:4.5rem;
  line-height:1; color:var(--gold-500);
  background:var(--cream); padding:0 var(--space-4);
  text-shadow:0 2px 8px rgba(166,124,46,.15);
}
.about__pull p {
  font-family:var(--font-display); font-weight:500; font-style:italic;
  font-size:clamp(1.5rem, 3vw, 2.1rem); line-height:1.3;
  color:var(--green-800); margin-bottom:var(--space-4);
  position:relative; z-index:1;
}
.about__pull figcaption {
  display:flex; flex-direction:column; align-items:center; gap:2px;
  position:relative; z-index:1;
}
.about__pull figcaption::before {
  content:""; display:block; width:40px; height:1.5px;
  background:var(--gold-500); margin:0 auto var(--space-3);
}
.about__pull figcaption strong {
  font-family:var(--font-display); font-weight:600;
  font-size:1rem; color:var(--bark); letter-spacing:0;
}
.about__pull figcaption span {
  font-size:.78rem; font-weight:500; color:var(--text-secondary);
  letter-spacing:.04em; text-transform:none;
}

/* ---------- Resultado ---------- */
.resultado__grid { display:grid; gap:var(--space-12); align-items:center; }
.resultado__body .section__title { text-align:left; }
@media (min-width:820px){ .resultado__grid { grid-template-columns:1fr 1.05fr; } }

/* Card moderno da foto (edição anterior) */
.photo-card { position:relative; margin:0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--elevation-3); isolation:isolate; }
.photo-card__media { overflow:hidden; }
.photo-card__media img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .65s var(--ease-out); }
.photo-card:hover .photo-card__media img { transform:scale(1.06); }
.photo-card::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(to top, rgba(36,48,36,.78), rgba(36,48,36,.12) 42%, transparent 62%); }
.photo-card__badge { position:absolute; top:16px; left:16px; z-index:2; display:inline-flex; align-items:center; gap:7px; background:var(--gold-500); color:var(--green-900); font-weight:700; font-size:.76rem; letter-spacing:.02em; padding:8px 15px; border-radius:var(--radius-pill); box-shadow:var(--elevation-2); }
.photo-card__badge .cap { width:16px; height:16px; }
.photo-card__caption { position:absolute; left:0; right:0; bottom:0; z-index:2; display:flex; flex-direction:column; gap:3px; padding:clamp(18px,3vw,28px); color:#fff; }
.photo-card__caption strong { font-family:var(--font-display); font-weight:600; font-size:clamp(1.2rem,2vw,1.6rem); line-height:1.15; }
.photo-card__caption span { font-size:.85rem; color:rgba(251,247,238,.85); }

/* ---------- Cards (como participar / valores) ---------- */
.cards { display:grid; gap:var(--space-6); }
.cards--3, .cards--4 { grid-template-columns:1fr; }
@media (min-width:640px){ .cards--3,.cards--4 { grid-template-columns:1fr 1fr; } }
@media (min-width:1000px){
  .cards--3 { grid-template-columns:repeat(3,1fr); }
  .cards--4 { grid-template-columns:repeat(4,1fr); }
}
.card {
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:var(--space-8); box-shadow:var(--elevation-1);
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}
.card:hover { transform:translateY(-5px); box-shadow:var(--elevation-3); border-color:var(--gold-200); }
.card__icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:58px; height:58px; border-radius:var(--radius-md);
  background:var(--green-100); color:var(--green-700); margin-bottom:var(--space-4);
}
.card__title { font-family:var(--font-display); font-weight:600; font-size:var(--fs-h3); margin-bottom:var(--space-2); color:var(--bark); }
.card__text { color:var(--text-secondary); line-height:1.65; }
.card--value .card__icon { background:var(--gold-100); color:var(--gold-700); }

/* ---------- Como participar (3 passos: jornada da tampinha) ---------- */
.steps { display:grid; gap:var(--space-6); grid-template-columns:1fr; margin-top:var(--space-12); position:relative; }
@media (min-width:680px){ .steps { grid-template-columns:repeat(3,1fr); gap:var(--space-8); } }

.step-card {
  position:relative; border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:var(--space-12) var(--space-8) var(--space-8);
  box-shadow:var(--elevation-1); overflow:hidden;
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}

/* Superfícies progressivas: areia (matéria-prima) → papel (em trânsito) → verde profundo (transformação) */
.step-card--1 { background:var(--sand); }
.step-card--2 { background:var(--paper); }
.step-card--3 {
  background:linear-gradient(155deg, var(--green-900), var(--green-800) 70%, var(--green-700));
  color:var(--paper); border-color:rgba(166,124,46,.32);
}

.step-card:hover { transform:translateY(-6px); box-shadow:var(--elevation-3); border-color:var(--gold-200); }
.step-card--3:hover {
  border-color:var(--gold-500);
  box-shadow:0 24px 50px -14px rgba(36,48,36,.5), 0 0 0 1px rgba(194,154,75,.35), 0 8px 18px -8px rgba(44,42,34,.18);
}

/* Selo de número (carimbo/stamp circular) */
.step-card__num {
  position:absolute; top:var(--space-6); left:var(--space-8);
  width:48px; height:48px; border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.25), transparent 55%),
    linear-gradient(140deg, var(--gold-500), var(--gold-700));
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.2),
    inset 0 -3px 6px rgba(0,0,0,.2),
    var(--elevation-2);
  display:flex; align-items:center; justify-content:center;
  z-index:2;
}
.step-card__num b { font-family:var(--font-display); font-weight:600; font-size:1.2rem; color:var(--paper); line-height:1; }
.step-card--3 .step-card__num {
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.35), transparent 55%),
    linear-gradient(140deg, var(--gold-500), var(--gold-600));
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.32),
    0 0 26px rgba(194,154,75,.45),
    var(--elevation-2);
}

/* Ícone do passo (grande, full color, canto superior direito) */
.step-card__icon {
  position:absolute; top:var(--space-6); right:var(--space-6);
  width:46px; height:46px; color:var(--green-700); z-index:1;
  transition:transform var(--dur-base) var(--ease-out);
}
.step-card:hover .step-card__icon { transform:scale(1.08); }
.step-card--3 .step-card__icon {
  color:var(--gold-500);
  filter:drop-shadow(0 0 14px rgba(194,154,75,.4));
}

/* Título + texto */
.step-card__title {
  font-family:var(--font-display); font-weight:600; font-size:1.5rem;
  color:var(--bark); margin:var(--space-12) 0 var(--space-3); line-height:1.15;
  position:relative; z-index:1;
}
.step-card--3 .step-card__title { color:var(--gold-200); font-style:italic; }
.step-card__text { color:var(--text-secondary); line-height:1.65; position:relative; z-index:1; }
.step-card--3 .step-card__text { color:rgba(251,247,238,.88); }

/* Confete de tampinhas no card 1 (matéria-prima colorida chegando) */
.step-card__confetti {
  position:absolute; bottom:var(--space-6); right:var(--space-6);
  width:10px; height:10px; border-radius:50%; background:var(--cap-red);
  box-shadow:
    16px 6px 0 var(--cap-blue),
    6px 20px 0 var(--cap-yellow),
    22px 24px 0 var(--cap-green),
    30px 10px 0 var(--cap-orange);
  z-index:0; opacity:.88;
}

/* Glow radial atrás do ícone do card 3 (energia da transformação) */
.step-card--3::before {
  content:""; position:absolute; top:-46px; right:-46px;
  width:190px; height:190px; border-radius:50%;
  background:radial-gradient(circle, rgba(194,154,75,.2), transparent 62%);
  pointer-events:none; z-index:0;
}

/* Textura sutil de papel (cards 1 e 2) */
.step-card--1::before, .step-card--2::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.36 0 0 0 0 0.26 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.05;
}
.step-card--1::before { opacity:.07; }

/* Glow-card integration (brilho dourado seguindo o cursor) */
.step-card.glow-card::after { z-index:0; }

/* Conector de fluxo (chevron entre cards, só desktop) */
.step-card__flow {
  position:absolute; top:50%; right:calc(var(--space-8) * -1 - 2px);
  transform:translateY(-50%); width:var(--space-8); height:22px; z-index:3;
  pointer-events:none; display:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a67c2e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/18px no-repeat;
  opacity:.55;
}
@media (min-width:680px){ .step-card__flow { display:block; } }

/* Stagger reveal (cascata na entrada) */
.steps .step-card:nth-child(2) { transition-delay:120ms; }
.steps .step-card:nth-child(3) { transition-delay:240ms; }

/* ---------- Leve o material certo (guia de coleta com selos) ---------- */
.matcard { position:relative; max-width:840px; margin:0 auto; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--elevation-2); overflow:hidden; padding:clamp(10px,1.5vw,18px) clamp(24px,4vw,52px); }
/* textura de segurança (selo notarial) no canto */
.matcard::before { content:""; position:absolute; top:-80px; right:-80px; width:280px; height:280px; border-radius:50%; pointer-events:none; z-index:0;
  background:repeating-radial-gradient(circle at center, transparent 0 9px, rgba(166,124,46,.07) 9px 10.5px);
  -webkit-mask:radial-gradient(circle at center, #000 58%, transparent 72%); mask:radial-gradient(circle at center, #000 58%, transparent 72%); }

/* brilho dourado que segue o cursor (genérico) */
.glow-card::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:0; opacity:0; transition:opacity var(--dur-base) var(--ease-out);
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%), rgba(166,124,46,.12), transparent 62%); }
.glow-card:hover::after { opacity:1; }
.glow-card > * { position:relative; z-index:1; }

/* linhas: selo + itens fluindo */
.matrow { position:relative; z-index:1; display:grid; grid-template-columns:auto 1fr; gap:clamp(16px,3vw,32px); align-items:start; padding:clamp(24px,3.4vw,34px) 0; }
.matrow + .matrow { border-top:1px solid var(--line); }
.seal { position:relative; width:90px; height:90px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; border:2px dashed; transform:rotate(-5deg); transition:transform var(--dur-base) var(--ease-out); }
.matrow:hover .seal { transform:rotate(0deg) scale(1.05); }
.seal::before { content:""; position:absolute; inset:8px; border-radius:50%; border:1.5px solid; }
.seal__txt { transform:rotate(-9deg); font-weight:800; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; }
.seal--yes { border-color:var(--green-600); color:var(--green-700); }
.seal--yes::before { border-color:var(--green-300); }
.seal--no { border-color:#cf8a80; color:var(--danger); }
.seal--no::before { border-color:#e3b8b0; }
.matrow__title { font-family:var(--font-sans); font-weight:700; font-size:.82rem; letter-spacing:.09em; text-transform:uppercase; margin-bottom:10px; }
.matrow--yes .matrow__title { color:var(--green-800); }
.matrow--no .matrow__title { color:var(--danger); }
.flowlist { font-size:clamp(1rem,1.4vw,1.12rem); line-height:1.75; color:var(--text-primary); margin:0; padding:0; }
.flowlist li { display:inline; }
.flowlist li::after { content:"  ·  "; color:var(--gold-500); font-weight:800; }
.flowlist li:last-child::after { content:""; }
.matrow__note { margin-top:16px; font-size:.9rem; line-height:1.55; color:var(--green-800); font-weight:600; }
.matrow__note--contact { display:flex; gap:10px; align-items:flex-start; color:var(--text-secondary); font-weight:500; margin-top:16px; }
.matrow__note--contact strong { color:var(--bark); }
.matrow__note--contact .icon { color:var(--danger); flex-shrink:0; margin-top:2px; width:18px; height:18px; }
.matrow__note--contact a { color:var(--green-700); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
@media (max-width:560px){ .matrow { grid-template-columns:1fr; gap:var(--space-4); } .seal { width:74px; height:74px; } }

/* ---------- Onde entregar ---------- */
.onde__inner { text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--space-4); }
.onde__icon { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:var(--radius-pill); background:rgba(251,247,238,.12); color:var(--gold-500); border:1px solid rgba(251,247,238,.2); margin-bottom:var(--space-2); }
.onde__org { font-weight:700; font-size:1.15rem; color:var(--paper); display:inline-block; transition:color var(--dur-base) var(--ease-out); }
a.onde__org:hover { color:var(--gold-200); text-decoration:underline; text-underline-offset:3px; }
.onde__address { color:rgba(251,247,238,.78); }
.onde__actions { display:flex; flex-wrap:wrap; gap:var(--space-4); justify-content:center; margin-top:var(--space-4); }
.onde__map { width:100%; margin-top:var(--space-12); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--elevation-3); border:1px solid rgba(251,247,238,.16); line-height:0; }
.onde__map iframe { display:block; width:100%; height:clamp(280px,38vw,420px); border:0; }
.section--pine .btn--secondary { color:var(--paper); border-color:rgba(251,247,238,.45); }
.section--pine .btn--secondary:hover { background:rgba(251,247,238,.12); }
.section--pine .btn--primary { background:var(--gold-500); color:var(--green-900); }
.section--pine .btn--primary:hover { background:var(--gold-200); }

/* ---------- Período + Transparência (faixa dupla) ---------- */
.duo { display:grid; gap:var(--space-8); align-items:stretch; }
@media (min-width:820px){ .duo { grid-template-columns:1fr 1fr; gap:var(--space-12); } }

.duo__item {
  position:relative; background:var(--paper);
  border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:var(--space-12); box-shadow:var(--elevation-1);
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
  display:flex; flex-direction:column;
}
.duo__item:hover { transform:translateY(-4px); box-shadow:var(--elevation-3); border-color:var(--gold-200); }
.duo__item .eyebrow { margin-bottom:var(--space-3); }
.duo__item .section__title { text-align:left; font-size:clamp(1.5rem,2.4vw,2rem); margin-bottom:var(--space-4); }
.duo__item .section__text { margin-bottom:var(--space-8); }

/* ===== Card Período (timeline 2026) ===== */
.period-card.glow-card::after { z-index:0; }
.period-card > * { position:relative; z-index:1; }

.timeline {
  position:relative; margin-top:auto; padding-top:var(--space-8);
}
.timeline__bar, .timeline__fill {
  position:absolute; left:0; right:0; top:14px; height:10px; border-radius:var(--radius-pill);
}
.timeline__bar { background:var(--sand); box-shadow:inset 0 1px 2px rgba(44,42,34,.08); }
.timeline__fill {
  background:linear-gradient(90deg, var(--green-300), var(--green-600) 60%, var(--gold-500));
  right:0;
  animation:fillTimeline 1.8s var(--ease-out) 0.3s both;
  transform-origin:left center;
}
@keyframes fillTimeline {
  from { transform:scaleX(0); }
  to   { transform:scaleX(1); }
}

.timeline__months {
  display:grid; grid-template-columns:repeat(12, 1fr);
  position:relative; margin-top:32px;
}
.timeline__months li {
  text-align:center; font-size:0.62rem; font-weight:600;
  color:var(--text-secondary); letter-spacing:.04em;
  position:relative;
}
.timeline__months li::before {
  content:""; position:absolute; top:-22px; left:50%; transform:translateX(-50%);
  width:6px; height:6px; border-radius:50%; background:var(--paper);
  border:1.5px solid var(--green-300);
  transition:all var(--dur-base) var(--ease-out);
}
.timeline__months li.timeline__month--milestone {
  color:var(--gold-700); font-weight:800;
}
.timeline__months li.timeline__month--milestone::before {
  background:var(--gold-500); border-color:var(--gold-700);
  width:11px; height:11px; top:-24px;
  box-shadow:0 0 0 4px rgba(194,154,75,.18);
}

/* Marker (selo de entrega) sobre Dezembro */
.timeline__marker {
  position:absolute; right:-6px; top:-46px;
  display:flex; flex-direction:column; align-items:center; gap:4px;
  pointer-events:none;
}
.timeline__marker .icon {
  width:26px; height:26px; color:var(--gold-700);
  background:var(--paper); border-radius:50%;
  padding:4px; box-shadow:var(--elevation-2);
  border:1.5px solid var(--gold-500);
}
.timeline__marker-label {
  font-size:0.6rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--gold-700); white-space:nowrap;
  background:var(--paper); padding:2px 8px; border-radius:var(--radius-pill);
  border:1px solid var(--gold-200);
  box-shadow:var(--elevation-1);
}

/* ===== Card Transparência (escudo + checks) ===== */
.trust-card {
  background:linear-gradient(160deg, var(--paper) 0%, var(--cream) 100%);
  border-color:rgba(166,124,46,.2);
  overflow:hidden;
}
.trust-card::before {
  content:""; position:absolute; top:-60px; right:-60px;
  width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(194,154,75,.16), transparent 60%);
  pointer-events:none; z-index:0;
}
.trust-card > * { position:relative; z-index:1; }

.trust-list {
  display:flex; flex-direction:column; gap:var(--space-3);
  margin-top:auto; padding-top:var(--space-4);
  border-top:1px dashed var(--line);
}
.trust-item {
  display:flex; align-items:flex-start; gap:var(--space-3);
  font-size:var(--fs-small); color:var(--text-primary); line-height:1.5;
}
.trust-item strong { color:var(--green-800); font-weight:700; }
.trust-item__check {
  flex-shrink:0; width:28px; height:28px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--green-100); color:var(--green-700);
}
.trust-item__check .icon { width:16px; height:16px; stroke-width:2.4; }
.trust-item__check--gold {
  background:var(--gold-100); color:var(--gold-700);
}

/* Selo "Fé pública" no canto */
.trust-card__seal {
  position:absolute; top:var(--space-6); right:var(--space-6);
  display:flex; flex-direction:column; align-items:center; gap:2px;
  padding:8px 10px; border:1.5px dashed var(--gold-500);
  border-radius:var(--radius-md);
  background:rgba(251,247,238,.7); backdrop-filter:blur(2px);
  transform:rotate(8deg);
  font-size:0.6rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.1em; color:var(--gold-700);
  box-shadow:var(--elevation-1);
  pointer-events:none;
}
.trust-card__seal-icon { width:22px; height:22px; color:var(--gold-600); }

@media (prefers-reduced-motion:reduce){
  .timeline__fill { animation:none; transform:none; }
}

/* ---------- Destino (Hospital de Amor) ---------- */
.destino { display:grid; gap:var(--space-8); align-items:center; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--elevation-1); overflow:hidden; }
.destino__media { display:flex; align-items:center; justify-content:center; padding:var(--space-12); background:linear-gradient(160deg, var(--green-100), var(--paper)); }
.destino__media img { max-width:280px; width:100%; height:auto; }
.destino__body { padding:var(--space-8) var(--space-8) var(--space-12); }
.destino__body .section__title { text-align:left; font-size:clamp(1.6rem,2.6vw,2.2rem); margin:var(--space-2) 0 var(--space-4); }
.destino__tag { display:inline-flex; align-items:center; gap:var(--space-2); font-size:var(--fs-small); font-weight:700; color:var(--green-700); background:var(--green-100); border-radius:var(--radius-pill); padding:6px 14px; margin-bottom:var(--space-4); }
.destino__text { color:var(--text-secondary); line-height:1.7; margin-bottom:var(--space-6); }
.destino__actions { display:flex; flex-wrap:wrap; gap:var(--space-3); }
@media (min-width:820px){ .destino { grid-template-columns:.85fr 1.15fr; } .destino__body { padding:var(--space-12) var(--space-12) var(--space-12) 0; } }

/* ---------- Galeria ---------- */
.gallery { display:grid; gap:var(--space-8); grid-template-columns:1fr; align-items:start; max-width:760px; margin-inline:auto; }
@media (min-width:680px){ .gallery { grid-template-columns:1fr 1fr; } }

/* Card estilo "post de Instagram" */
.post-card { margin:0; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--elevation-1); display:flex; flex-direction:column; transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.post-card:hover { transform:translateY(-4px); box-shadow:var(--elevation-3); }
.post-card__head { display:flex; align-items:center; gap:10px; padding:12px 14px; }
.post-card__avatar { width:36px; height:36px; border-radius:var(--radius-pill); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg, var(--green-600), var(--green-800)); box-shadow:0 0 0 2px var(--paper), 0 0 0 3.5px var(--gold-500); }
.post-card__avatar .icon { width:20px; height:20px; }
.post-card__id { display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.post-card__id strong { font-size:.86rem; font-weight:700; color:var(--bark); }
.post-card__id span { font-size:.72rem; color:var(--ink); }
.post-card__media { position:relative; overflow:hidden; }
.post-card__media img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform var(--dur-slow) var(--ease-out); }
.post-card:hover .post-card__media img { transform:scale(1.04); }
.post-card__actions { display:flex; align-items:center; gap:14px; padding:12px 14px 2px; color:var(--bark); }
.post-card__actions .icon { width:24px; height:24px; }
.post-card__actions .post-card__save { margin-left:auto; }
.post-card__caption { padding:6px 14px 16px; font-size:.9rem; color:var(--text-secondary); line-height:1.5; }
.post-card__caption strong { color:var(--bark); font-weight:700; margin-right:4px; }

.gallery__placeholder { grid-column:1/-1; text-align:center; padding:var(--space-16) var(--space-6); border:1.5px dashed var(--line); border-radius:var(--radius-lg); color:var(--text-secondary); background:var(--paper); }

/* ---------- Valores ---------- */
.card--value { position:relative; overflow:hidden; }
.card--value::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,var(--gold-500),var(--gold-700)); opacity:0; transition:opacity var(--dur-base) var(--ease-out); }
.card--value:hover::before { opacity:1; }

/* ---------- CTA final ---------- */
.section--cta { background:
  radial-gradient(800px 400px at 50% -20%, rgba(194,154,75,.18), transparent 60%),
  var(--green-900); color:var(--paper); text-align:center; }
.cta__inner { display:flex; flex-direction:column; align-items:center; gap:var(--space-6); }
.cta__title { font-family:var(--font-display); font-weight:600; font-size:clamp(2.1rem,4vw,3.2rem); line-height:1.06; letter-spacing:-0.02em; color:var(--paper); }
.cta__title em { font-style:italic; color:var(--gold-500); }
.cta__text { color:rgba(251,247,238,.82); max-width:50ch; line-height:1.7; }
.cta__actions { display:flex; flex-wrap:wrap; gap:var(--space-4); justify-content:center; }
.section--cta .btn--primary { background:var(--gold-500); color:var(--green-900); border-color:var(--gold-500); }
.section--cta .btn--primary:hover { background:var(--gold-200); border-color:var(--gold-200); }
.section--cta .btn--secondary { color:var(--paper); border-color:rgba(251,247,238,.5); background:transparent; }
.section--cta .btn--secondary:hover { background:rgba(251,247,238,.12); border-color:var(--paper); transform:translateY(-2px); }

/* ---------- Rodapé ---------- */
.footer { background:var(--green-900); color:rgba(251,247,238,.72); padding-block:var(--space-16) var(--space-8); }
.footer__grid { display:grid; gap:var(--space-12); }
@media (min-width:640px){ .footer__grid { grid-template-columns:1fr 1fr; } }
@media (min-width:1000px){ .footer__grid { grid-template-columns:1.8fr 1fr 1fr 1fr; } }
.footer__org { font-family:var(--font-display); font-size:1.1rem; font-weight:600; color:var(--paper); line-height:1.3; margin-bottom:var(--space-4); }
.footer__org a { color:var(--paper); transition:color var(--dur-base) var(--ease-out); }
.footer__org a:hover { color:var(--gold-500); }
.footer__address { color:rgba(251,247,238,.6); margin-bottom:var(--space-3); font-size:var(--fs-small); }
.footer__cns { font-size:var(--fs-small); color:rgba(251,247,238,.55); }
.footer__heading { font-size:var(--fs-eyebrow); font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:var(--gold-500); margin-bottom:var(--space-4); }
.footer__list { display:grid; gap:var(--space-3); font-size:var(--fs-small); }
.footer__list a { display:inline-flex; align-items:center; gap:var(--space-2); color:rgba(251,247,238,.78); transition:color var(--dur-base) var(--ease-out); }
.footer__list a:hover { color:var(--gold-500); }
.footer__list--plain li { display:flex; flex-direction:column; gap:2px; }
.footer__list--plain strong { color:var(--paper); font-weight:600; }
.footer__list--plain span { color:rgba(251,247,238,.55); }
.footer__bottom { margin-top:var(--space-12); padding-top:var(--space-6); border-top:1px solid rgba(251,247,238,.1); }
.footer__bottom p { font-size:var(--fs-small); color:rgba(251,247,238,.5); line-height:1.6; }

/* ---------- Botão flutuante WhatsApp ---------- */
.wa-fab { position:fixed; right:var(--space-6); bottom:var(--space-6); z-index:90; display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px; border-radius:var(--radius-pill); background:#25d366; color:#fff; box-shadow:var(--elevation-3); transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.wa-fab:hover { transform:translateY(-3px) scale(1.05); box-shadow:0 16px 32px -8px rgba(37,211,102,.5); }
.wa-fab .icon { width:30px; height:30px; }

/* ---------- Banner LGPD ---------- */
.cookie { position:fixed; left:var(--space-4); right:var(--space-4); bottom:var(--space-4); z-index:120; max-width:580px; margin-inline:auto; display:flex; flex-direction:column; gap:var(--space-4); background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--elevation-3); padding:var(--space-6); opacity:0; transform:translateY(20px); transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
.cookie[hidden] { display:none; }
.cookie.is-visible { opacity:1; transform:translateY(0); }
.cookie.is-leaving { opacity:0; transform:translateY(20px); transition-duration:var(--dur-base); }
.cookie__text { font-size:var(--fs-small); line-height:1.55; color:var(--text-secondary); }
.cookie__text a { color:var(--green-700); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
@media (min-width:560px){ .cookie { flex-direction:row; align-items:center; } .cookie .btn { flex-shrink:0; } }

/* ---------- Reveal-on-scroll ---------- */
.reveal { opacity:0; transform:translateY(22px); transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
.reveal.is-visible { opacity:1; transform:translateY(0); }

/* ---------- prefers-reduced-motion ---------- */
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; }
  .cookie { opacity:1; transform:none; }
  .hero__bg { transform:none !important; }
  .hero__frame { rotate:0deg; }
  .glow-card::after { display:none !important; }
}
