/* ==========================================================================
   Barbearia Lumberjack — style.css
   Design system baseado no site aprovado (dark + dourado, Playfair + Sora).
   HTML/CSS/JS puro, sem framework.
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root {
  --cor-preto: #0E0E0E;        /* fundo dark */
  --cor-carvao: #171614;       /* superfícies sobre o preto */
  --cor-dourado: #DEAB61;      /* dourado exato do design aprovado */
  --cor-dourado-escuro: #A9761F; /* variação escura p/ texto sobre fundo claro (contraste AA) */
  --cor-off-white: #F4F1EC;    /* fundo light e texto sobre dark */
  --cor-grafite: #2B2B2B;      /* texto sobre light */
  --cor-whatsapp: #25D366;     /* botão WhatsApp */
  --cor-app: #1B2A4A;          /* botão de agendamento por app (navy, como no site atual) */
  --fonte-titulo: "Playfair Display", Georgia, serif;
  --fonte-corpo: "Sora", system-ui, sans-serif;
  --raio: 20px;
  --raio-botao: 10px;
  --sombra: 0 12px 34px rgba(0,0,0,.35);
  --largura-max: 1200px;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--fonte-corpo);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--cor-off-white);
  background: var(--cor-preto);
  -webkit-font-smoothing: antialiased;
}
img, video { max-width: 100%; height: auto; display: block; }
h1, h2, h3 { font-family: var(--fonte-titulo); line-height: 1.15; margin: 0 0 .5em; font-weight: 600; }
h1 { font-size: clamp(2rem, 4.5vw, 3.1rem); }
h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.45rem); }
p { margin: 0 0 1em; }
a { color: inherit; }
ul { padding-left: 1.2em; }
table { border-collapse: collapse; width: 100%; }

/* ---------- Utilitários ---------- */
.container { max-width: var(--largura-max); margin-inline: auto; padding-inline: 22px; }
.section { padding-block: clamp(56px, 9vw, 116px); position: relative; }
section[id], [id].hero { scroll-margin-top: 84px; }
.section--dark { background: var(--cor-preto); color: var(--cor-off-white); }
.section--light { background: var(--cor-off-white); color: var(--cor-grafite); }
.section--gold {
  background: linear-gradient(180deg, #E0AC68 0%, var(--cor-dourado) 100%);
  color: #1a1206;
}
.section__lead { max-width: 660px; }
.center { text-align: center; }
.center.section__lead, .center .section__lead, .cta-final .section__lead { margin-inline: auto; }
.eyebrow {
  font-family: var(--fonte-corpo);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--cor-dourado);
  margin-bottom: 1rem;
}
.section--gold .eyebrow, .section--light .eyebrow { color: var(--cor-dourado-escuro); }

/* Marcador de dado pendente — visível de propósito */
.confirmar {
  background: #ffe08a;
  color: #5c4400;
  padding: 0 .35em;
  border-radius: 4px;
  font-weight: 600;
  font-size: .9em;
}

/* Placeholder de asset ainda não fornecido */
.ph {
  background: repeating-linear-gradient(45deg, #2a2a2a, #2a2a2a 12px, #262626 12px, #262626 24px);
  border-radius: var(--raio);
  color: #8f8f8f;
  display: grid; place-items: center;
  font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; text-align: center;
  padding: 1rem; min-height: 220px;
}
.section--light .ph { background: repeating-linear-gradient(45deg, #ddd8d0, #ddd8d0 12px, #d3cec5 12px, #d3cec5 24px); color: #8a857c; }
.ph--wide { aspect-ratio: 16 / 9; min-height: 0; }
.ph--portrait { aspect-ratio: 4 / 5; }

/* ---------- Botões / CTA ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55em;
  font-family: var(--fonte-corpo);
  font-weight: 600;
  font-size: 1rem;
  padding: .95em 1.7em;
  border-radius: var(--raio-botao);
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: var(--sombra); }
.btn--whatsapp { background: var(--cor-whatsapp); color: #fff; }
.btn--app { background: var(--cor-app); color: #fff; }
.btn--gold { background: var(--cor-preto); color: var(--cor-off-white); }
.btn--outline { background: transparent; border-color: var(--cor-dourado); color: var(--cor-dourado); }
.btn--outline:hover { background: var(--cor-dourado); color: var(--cor-preto); }
.section--gold .btn--outline, .section--light .btn--outline { border-color: var(--cor-grafite); color: var(--cor-grafite); }
.section--gold .btn--outline:hover, .section--light .btn--outline:hover { background: var(--cor-grafite); color: var(--cor-off-white); }

/* Ícones dos botões via mask (herdam a cor do texto) */
.btn--whatsapp::before, .btn--app::before, .btn--rota::before {
  content: ""; width: 1.15em; height: 1.15em; flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--icone) center / contain no-repeat;
  mask: var(--icone) center / contain no-repeat;
}
.btn--whatsapp {
  --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E");
}
.btn--app {
  --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z'/%3E%3C/svg%3E");
}
.btn--rota { background: var(--cor-dourado); color: var(--cor-preto); --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zM283.3 123.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l25.4 25.4L192 171.3c-53 0-96 43-96 96l0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32c0-17.7 14.3-32 32-32l94.1 0-25.4 25.4c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6l-52.7-52.7z'/%3E%3C/svg%3E"); }
.btn--rota:hover { background: var(--cor-dourado-escuro); color: #fff; }

.cta-group { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.cta-group--center { justify-content: center; }

/* Selo Google */
.selo-google {
  display: inline-flex; align-items: center; gap: .5em;
  font-size: .95rem; text-decoration: none; color: inherit; opacity: .95;
  font-weight: 600;
}
.selo-google .estrela { color: var(--cor-dourado); }
.section--gold .selo-google .estrela { color: #6b4a12; }
.selo-google:hover { opacity: 1; }

/* ---------- Header ---------- */
.header { position: fixed; inset: 0 0 auto 0; z-index: 100; transition: background-color .3s ease, backdrop-filter .3s ease; }
.header.is-scrolled { background: rgba(14,14,14,.82); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.header__inner { max-width: var(--largura-max); margin-inline: auto; padding: 14px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.header__logo { display: inline-flex; align-items: center; gap: 10px; font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.2rem; letter-spacing: .02em; color: #fff; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.header__logo img { height: 40px; width: auto; }
.header__logo span { color: #fff; }
.nav { display: flex; gap: 22px; align-items: center; }
.nav a { color: var(--cor-off-white); text-decoration: none; font-size: .92rem; }
.nav a:hover { color: var(--cor-dourado); }
.header__cta { background: var(--cor-dourado); color: var(--cor-preto); font-weight: 600; padding: .6em 1.2em; border-radius: var(--raio-botao); text-decoration: none; font-size: .92rem; white-space: nowrap; }
.header__cta:hover { background: var(--cor-dourado-escuro); }
.header__toggle { display: none; background: none; border: 0; color: var(--cor-off-white); font-size: 1.6rem; cursor: pointer; padding: .2em .4em; }
.header.on-light:not(.is-scrolled) .header__logo,
.header.on-light:not(.is-scrolled) .nav a,
.header.on-light:not(.is-scrolled) .header__toggle { color: var(--cor-grafite); }

/* ---------- Barra fixa mobile ---------- */
.barra-whatsapp { display: none; position: fixed; inset: auto 0 0 0; z-index: 90; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(14,14,14,.92); backdrop-filter: blur(8px); }
.barra-whatsapp .btn { width: 100%; }

/* ---------- Breadcrumb ---------- */
.breadcrumb { font-size: .85rem; padding-top: 92px; opacity: .85; }
.breadcrumb ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4em; }
.breadcrumb li + li::before { content: "›"; margin-right: .4em; opacity: .6; }
.breadcrumb a { text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }

/* ---------- Hero (home) ---------- */
.hero {
  background:
    radial-gradient(110% 80% at 50% 0%, #221e18 0%, var(--cor-preto) 58%),
    var(--cor-preto);
  color: var(--cor-off-white);
  text-align: center;
  padding: 96px 0 84px;
  overflow: hidden;
}
.hero__logo { width: min(176px, 44vw); margin: 0 auto 22px; filter: drop-shadow(0 8px 24px rgba(0,0,0,.45)); }
/* Slogan-display do site aprovado: linha dourada em caps + linha branca maior */
.hero__display { font-family: var(--fonte-titulo); font-weight: 600; text-transform: uppercase; line-height: 1.08; margin: 0 0 1rem; }
.hero__display .g { display: block; color: var(--cor-dourado); font-size: clamp(1.05rem, 2.3vw, 1.5rem); letter-spacing: .07em; margin-bottom: .18em; }
.hero__display .w { display: block; color: var(--cor-off-white); font-size: clamp(2.3rem, 5.6vw, 3.6rem); letter-spacing: .015em; }
/* H1 de SEO como subtítulo descritivo */
.hero__h1 { font-family: var(--fonte-corpo); font-weight: 400; font-size: clamp(1rem, 1.8vw, 1.18rem); color: rgba(244,241,236,.82); max-width: 44ch; margin: 0 auto 1.4rem; line-height: 1.5; }
/* Selo Google como chip premium na hero */
.hero .selo-google {
  border: 1px solid rgba(217,161,91,.5);
  border-radius: 999px;
  padding: .5em 1.1em;
  background: rgba(217,161,91,.08);
}
.hero .selo-google:hover { background: rgba(217,161,91,.16); }
.hero__videos { display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; margin-top: 44px; }
.video-vert {
  width: min(360px, 45vw);
  aspect-ratio: 565 / 848;
  border-radius: var(--raio);
  object-fit: cover;
  box-shadow: var(--sombra);
  background: var(--cor-carvao);
  border: 1px solid rgba(217,161,91,.22);
}

/* Hero interno (páginas internas) */
.page-hero { padding-top: 40px; }

/* ---------- Faixa de prova social ---------- */
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: center; }
.stats__num { font-family: var(--fonte-titulo); font-size: clamp(2.4rem, 6vw, 4rem); font-weight: 700; display: block; line-height: 1; color: var(--cor-dourado); }
.stats__label { font-size: .95rem; margin-top: .5rem; display: block; opacity: .82; letter-spacing: .02em; }

/* ---------- Manifesto ---------- */
.manifesto { max-width: 860px; margin-inline: auto; font-family: var(--fonte-titulo); font-size: clamp(1.4rem, 3vw, 2.1rem); line-height: 1.5; text-align: center; }
.manifesto .palavra { opacity: .16; transition: opacity .25s ease; }
.manifesto .palavra.is-visible { opacity: 1; }
blockquote.manifesto { font-style: italic; }

/* ---------- Cards ---------- */
.cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 2.5rem; }
.card { background: #fff; border-radius: var(--raio); padding: 26px 24px; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: .45rem; transition: transform .22s ease, box-shadow .22s ease; }
.card:hover, .depoimento:hover, .post-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(0,0,0,.28); }
.depoimento, .post-card { transition: transform .22s ease, box-shadow .22s ease; }
.section--dark .card { background: var(--cor-carvao); color: var(--cor-off-white); border: 1px solid rgba(217,161,91,.16); }
.card .ph, .card img { min-height: 0; margin-bottom: .75rem; border-radius: 14px; }
.card img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.card__preco { font-weight: 600; color: var(--cor-dourado-escuro); }
.section--dark .card__preco { color: var(--cor-dourado); }
.card__link { margin-top: auto; font-weight: 600; color: var(--cor-dourado-escuro); text-decoration: none; }
.section--dark .card__link { color: var(--cor-dourado); }
.card__link:hover { text-decoration: underline; }

/* Refino dos cards da home (#servicos): foto mais rente à borda, preço destacado, alturas e preços alinhados */
#servicos .card img { margin: -13px -12px 1rem; width: calc(100% + 24px); max-width: none; }
#servicos .card__preco { margin-top: auto; padding-top: .5rem; font-family: var(--fonte-titulo); font-size: 1.6rem; font-weight: 600; line-height: 1.1; }
#servicos .card__link { margin-top: 14px; padding: .72em 1em; text-align: center; border: 1px solid var(--cor-dourado-escuro); border-radius: var(--raio-botao); font-weight: 600; transition: background-color .2s, color .2s; }
#servicos .card__link:hover { background: var(--cor-dourado-escuro); color: #fff; text-decoration: none; }

/* ---------- Split 2 colunas ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.split--reverse > :first-child { order: 2; }
.split img { border-radius: var(--raio); width: 100%; object-fit: cover; box-shadow: var(--sombra); }

/* ---------- Galeria carrossel ---------- */
.carrossel { position: relative; margin-top: 2rem; }
.carrossel__track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; scrollbar-width: none; -ms-overflow-style: none; }
.carrossel__track::-webkit-scrollbar { display: none; }
.carrossel__track > * { flex: 0 0 min(300px, 74vw); scroll-snap-align: start; }
.carrossel__track img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--raio); background: var(--cor-carvao); }
.carrossel__nav { display: flex; gap: 10px; margin-top: 14px; }

/* Carrossel full-bleed (portfólio "Trabalho falando por si"): 5 completos em >=1600px, 2 no mobile */
.carrossel--full { --n: 4; --gap: 14px; --edge: 24px; margin-top: 2.2rem; }
.carrossel--full .carrossel__track { padding-inline: var(--edge); gap: var(--gap); scroll-padding-inline: var(--edge); }
.carrossel--full .carrossel__track > * { flex: 0 0 calc((100% - (var(--n) - 1) * var(--gap)) / var(--n)); }
.carrossel--full .carrossel__nav { padding-inline: var(--edge); }
@media (min-width: 1600px) { .carrossel--full { --n: 5; } }   /* 1600px e acima: 5 completos */
@media (max-width: 1199px) { .carrossel--full { --n: 3; } }
@media (max-width: 719px)  { .carrossel--full { --n: 2; --gap: 10px; --edge: 16px; } }
.carrossel__btn { background: var(--cor-carvao); color: var(--cor-off-white); border: 1px solid var(--cor-dourado); border-radius: 50%; width: 46px; height: 46px; font-size: 1.2rem; cursor: pointer; transition: background-color .2s, color .2s; }
.carrossel__btn:hover { background: var(--cor-dourado); color: var(--cor-preto); }
.section--light .carrossel__btn { background: #fff; color: var(--cor-grafite); border-color: var(--cor-dourado-escuro); }

/* ---------- Depoimentos ---------- */
.depoimentos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 2rem; }
.depoimento { background: #fff; border-radius: var(--raio); padding: 28px 24px; box-shadow: var(--sombra); }
.section--dark .depoimento { background: var(--cor-carvao); }
.depoimento__estrelas { color: var(--cor-dourado-escuro); letter-spacing: .15em; margin-bottom: .5rem; }
.depoimento__autor { font-weight: 600; margin-top: .75rem; margin-bottom: .1rem; }
.depoimento__link { font-size: .85rem; }

/* ---------- Mapa (facade branded, sem chamada externa até o clique) ---------- */
.mapa-facade {
  position: relative; border-radius: var(--raio); overflow: hidden; min-height: 340px;
  width: 100%; cursor: pointer; padding: 28px;
  border: 1px solid rgba(217,161,91,.28);
  background: linear-gradient(135deg, #1b1a16, #232019);
  color: var(--cor-off-white);
  display: grid; place-content: center; justify-items: center; gap: 12px; text-align: center;
  box-shadow: var(--sombra);
}
.mapa-facade::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(217,161,91,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217,161,91,.10) 1px, transparent 1px);
  background-size: 40px 40px;
  -webkit-mask: radial-gradient(circle at 50% 45%, #000 40%, transparent 78%);
  mask: radial-gradient(circle at 50% 45%, #000 40%, transparent 78%);
}
.mapa-facade > * { position: relative; }
.mapa-facade__pin { width: 46px; height: 46px; fill: var(--cor-dourado); filter: drop-shadow(0 4px 10px rgba(0,0,0,.4)); }
.mapa-facade__addr { font-weight: 600; max-width: 28ch; }
.mapa-facade__hint { font-size: .85rem; color: var(--cor-dourado); border: 1px solid rgba(217,161,91,.5); border-radius: 999px; padding: .4em 1.1em; }
.mapa-facade:hover { border-color: rgba(217,161,91,.5); }
.mapa-facade:hover .mapa-facade__hint { background: rgba(217,161,91,.16); }
.mapa-embed { width: 100%; min-height: 340px; border: 0; border-radius: var(--raio); }

/* Como chegar: coluna de texto+mapa se estica para a base do mapa alinhar com o vídeo ao lado */
#como-chegar .stagger { display: flex; flex-direction: column; }
#como-chegar .mapa-facade { flex: 1 1 auto; margin-top: 24px; }
#como-chegar .mapa-embed { flex: 1 1 auto; height: 100%; min-height: 340px; }
#como-chegar .video-vert { align-self: start; }
@media (max-width: 960px) { #como-chegar .mapa-facade { flex: 0 0 auto; min-height: 300px; } }

/* ---------- FAQ ---------- */
.faq { max-width: 860px; margin-inline: auto; }
.faq details { border-bottom: 1px solid rgba(43,43,43,.2); padding-block: 4px; }
.section--dark .faq details { border-color: rgba(244,241,236,.15); }
.faq summary { font-weight: 600; padding: 15px 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1em; font-size: 1.02rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.4em; line-height: 1; color: var(--cor-dourado-escuro); }
.section--dark .faq summary::after { color: var(--cor-dourado); }
.faq details[open] summary::after { content: "–"; }
.faq .faq__resposta { padding: 0 0 16px; margin: 0; opacity: .92; }

/* ---------- Tabela de preços ---------- */
.tabela-precos th, .tabela-precos td { padding: 14px 16px; text-align: left; border-bottom: 1px solid rgba(43,43,43,.15); }
.tabela-precos th { font-family: var(--fonte-corpo); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.tabela-precos__nota { font-size: .85rem; opacity: .75; margin-top: 1rem; }
.tabela-precos__grupo { background: rgba(222,171,97,.14); font-family: var(--fonte-titulo); font-weight: 600; font-size: 1.05rem; text-transform: none; letter-spacing: 0; color: var(--cor-grafite); text-align: left; padding-top: 20px; }
.tabela-precos td:nth-child(2), .tabela-precos th:nth-child(2) { white-space: nowrap; opacity: .8; }
.tabela-precos td:last-child, .tabela-precos th:last-child { white-space: nowrap; font-weight: 600; text-align: right; }

/* ---------- Equipe ---------- */
.equipe-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 2rem; }
.equipe-grid .equipe-foto { width: 150px; height: 150px; aspect-ratio: 1 / 1; border-radius: 50%; object-fit: cover; box-shadow: var(--sombra); margin: 0 auto .6rem; }

/* ---------- Formulário ---------- */
.form { display: grid; gap: 16px; max-width: 560px; }
.form label { font-weight: 600; font-size: .9rem; display: grid; gap: 6px; }
.form input, .form textarea { font: inherit; padding: .8em 1em; border: 1px solid rgba(43,43,43,.3); border-radius: var(--raio-botao); background: #fff; width: 100%; color: var(--cor-grafite); }
.form textarea { min-height: 120px; resize: vertical; }

/* ---------- Blog ---------- */
.post-lista { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 2rem; }
.post-card { background: #fff; border-radius: var(--raio); padding: 24px; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: .5rem; }
.post-card a { text-decoration: none; }
.post-card__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; margin-bottom: 4px; }
.post-card time { font-size: .85rem; opacity: .7; }
.artigo { max-width: 760px; margin-inline: auto; }
.artigo h2 { margin-top: 2em; }
.artigo__meta { font-size: .9rem; opacity: .75; margin-bottom: 2rem; }

/* ---------- CTA final ---------- */
.cta-final { text-align: center; }
.cta-final h2 { margin-bottom: .3em; }

/* ---------- Ícones sociais ---------- */
.social-icons { display: flex; gap: 14px; align-items: center; }
.social-icons a { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--cor-dourado); color: var(--cor-dourado); transition: background-color .2s, color .2s; }
.social-icons a:hover { background: var(--cor-dourado); color: var(--cor-preto); }
.social-icons svg { width: 20px; height: 20px; fill: currentColor; }

/* ---------- Footer ---------- */
.footer { background: var(--cor-preto); color: var(--cor-off-white); padding-block: 64px 32px; font-size: .92rem; border-top: 1px solid rgba(217,161,91,.18); }
.footer a { color: var(--cor-off-white); text-decoration: none; }
.footer a:hover { color: var(--cor-dourado); }
.footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap: 40px; margin-bottom: 40px; }
.footer__logo { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.footer__logo img { height: 64px; width: auto; }
.footer__logo span { font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.2rem; line-height: 1.1; }
.footer__logo span b { color: var(--cor-dourado); font-weight: 700; display: block; }
.footer h3 { font-family: var(--fonte-corpo); font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; color: var(--cor-dourado); margin-bottom: .8rem; }
.footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.footer address { font-style: normal; margin-bottom: 14px; }
.footer__legal { border-top: 1px solid rgba(244,241,236,.15); padding-top: 24px; font-size: .8rem; opacity: .7; }

/* ===================================================================
   Componentes dos modelos compartilhados (depoimentos, sobre, footer)
   =================================================================== */

/* Pill eyebrow (rótulo com bolinha dourada) */
.pill-eyebrow { display: inline-flex; align-items: center; gap: .55em; background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 999px; padding: .5em 1.15em; font-family: var(--fonte-corpo); font-weight: 600; font-size: .82rem; box-shadow: 0 4px 16px rgba(0,0,0,.06); margin-bottom: 1.2rem; }
.pill-eyebrow::before { content: ""; width: .5em; height: .5em; border-radius: 50%; background: var(--cor-dourado); flex: 0 0 auto; }
.section--dark .pill-eyebrow { background: rgba(217,161,91,.1); border-color: rgba(217,161,91,.35); color: var(--cor-off-white); box-shadow: none; }

/* Depoimentos v2: carrossel de cards imagem + texto */
.dep-head { text-align: center; max-width: 720px; margin: 0 auto 2.6rem; }
.dep-head h2 { margin: .2em 0 .4em; }
.dep2 { --n: 2; --gap: 24px; }
.dep2 .carrossel__track { gap: var(--gap); padding-bottom: 16px; }
.dep2 .carrossel__track > * { flex: 0 0 calc((100% - (var(--n) - 1) * var(--gap)) / var(--n)); scroll-snap-align: start; }
@media (max-width: 900px) { .dep2 { --n: 1; } }
.dep-card { display: grid; grid-template-columns: 40% 1fr; gap: 28px; background: transparent; box-shadow: none; align-items: center; }
.dep-card__img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; border-radius: var(--raio); box-shadow: var(--sombra); }
.dep-card__body { padding: 6px 0; position: relative; display: flex; flex-direction: column; }
.dep-card__stars { color: var(--cor-dourado); letter-spacing: .12em; margin-bottom: 1rem; }
.dep-card__quote { font-size: 1.02rem; line-height: 1.55; color: #333; margin: 0 0 auto; }
.dep-card__sep { border: 0; border-top: 1px solid rgba(0,0,0,.1); margin: 1.4rem 0 1rem; }
.dep-card__name { font-family: var(--fonte-titulo); font-weight: 600; font-size: 1.2rem; line-height: 1.1; }
.dep-card__role { font-size: .85rem; opacity: .65; }
.dep-card__mark { position: absolute; right: 24px; bottom: 16px; font-family: var(--fonte-titulo); font-size: 4.5rem; line-height: 1; color: rgba(0,0,0,.07); }
@media (max-width: 520px) { .dep-card { grid-template-columns: 1fr; } .dep-card__img { min-height: 210px; } }
.dep-trust { text-align: center; margin-top: 2.6rem; display: grid; justify-items: center; gap: 1rem; }
.dep-trust__stats { font-weight: 600; }
.dep-trust .estrela { color: var(--cor-dourado); letter-spacing: .1em; }

/* Sobre nós (ex-big numbers): imagens sobrepostas + selo girando + features */
.sobre .split { align-items: center; gap: 56px; }
.sobre__media { position: relative; aspect-ratio: 1 / 1; }
.sobre__media .sobre__img1 { position: absolute; top: 0; left: 0; width: 66%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--raio); box-shadow: var(--sombra); }
.sobre__media .sobre__img2 { position: absolute; bottom: 0; right: 0; width: 52%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--raio); border: 6px solid var(--cor-preto); box-shadow: var(--sombra); }
.sobre__feature { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; padding: 14px 0; border-top: 1px solid rgba(244,241,236,.12); }
.sobre__feature:first-of-type { border-top: 0; }
.sobre__feature svg { width: 34px; height: 34px; fill: none; stroke: var(--cor-dourado); stroke-width: 1.6; }
.sobre__feature h3 { margin: 0 0 .2em; font-size: 1.08rem; }
.sobre__feature p { margin: 0; opacity: .8; font-size: .95rem; }
.sobre__cta-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid rgba(244,241,236,.12); }
.sobre__founder { display: flex; align-items: center; gap: 12px; }
.sobre__founder .sobre__avatar { width: 46px; height: 46px; border-radius: 50%; background: var(--cor-carvao); border: 1px solid var(--cor-dourado); display: grid; place-items: center; font-weight: 600; color: var(--cor-dourado); font-family: var(--fonte-titulo); object-fit: cover; flex: 0 0 auto; }
.sobre__founder b { display: block; font-family: var(--fonte-titulo); font-weight: 600; }
.sobre__founder span { font-size: .82rem; opacity: .7; }
.sobre .manifesto { text-align: left; font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin: 0 0 1.2rem; }

/* Selo circular giratório */
.selo-girar { position: absolute; z-index: 4; width: 118px; height: 118px; left: 55%; top: 52%; transform: translate(-50%, -50%); border-radius: 50%; background: rgba(28,25,20,.22); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 8px 26px rgba(0,0,0,.3); }
.selo-girar__rot { width: 100%; height: 100%; animation: girar 22s linear infinite; }
.selo-girar text { fill: var(--cor-dourado); font-family: var(--fonte-corpo); font-size: 9px; font-weight: 600; letter-spacing: 1.4px; }
.selo-girar__emblema { position: absolute; left: 50%; top: 50%; width: 34%; height: 34%; object-fit: contain; transform: translate(-50%, -50%); fill: var(--cor-dourado); filter: drop-shadow(0 1px 3px rgba(0,0,0,.55)); }
@keyframes girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .selo-girar__rot { animation: none; } }
@media (max-width: 720px) { .selo-girar { width: 92px; height: 92px; } }

/* Footer v2: topo centralizado com filetes + colunas + Black Card */
.footer__top { display: flex; align-items: center; gap: 22px; margin-bottom: 46px; }
.footer__top::before, .footer__top::after { content: ""; height: 1px; flex: 1; background: linear-gradient(90deg, transparent, rgba(217,161,91,.45), transparent); }
.footer__brand { display: inline-flex; align-items: center; gap: 20px; }
.footer__brand img { height: 83px; width: auto; }
.footer__brand span { font-family: var(--fonte-titulo); font-weight: 700; font-size: 2.5rem; line-height: 1; color: #fff; text-transform: uppercase; }
.footer__brand span b { color: #fff; }
@media (max-width: 480px) { .footer__brand span { font-size: 1.9rem; } .footer__brand img { height: 66px; } }
.footer__cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.4fr; gap: 40px; margin-bottom: 40px; }
.footer__contato p { margin: 0 0 14px; }
.footer__contato .div { border-top: 1px solid rgba(244,241,236,.12); padding-top: 14px; }
.footer__social { display: flex; align-items: center; gap: 14px; margin-top: 20px; }
.footer__social a { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(244,241,236,.3); color: var(--cor-off-white); }
.footer__social a:hover { background: var(--cor-dourado); border-color: var(--cor-dourado); color: var(--cor-preto); }
.footer__social svg { width: 17px; height: 17px; fill: currentColor; }

/* Black Card (clube Lumberjack) */
.blackcard { width: 100%; max-width: 310px; aspect-ratio: 1.586; border-radius: 16px; padding: 20px; color: #e9e2d2; position: relative; overflow: hidden; background: linear-gradient(135deg, #211e19 0%, #0b0a09 55%, #17140f 100%); border: 1px solid rgba(217,161,91,.32); box-shadow: 0 18px 44px rgba(0,0,0,.55); display: flex; flex-direction: column; justify-content: space-between; }
.blackcard::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(120deg, rgba(255,255,255,.022) 0 2px, transparent 2px 7px); pointer-events: none; }
.blackcard__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.blackcard__brand { display: inline-flex; align-items: center; gap: 8px; font-family: var(--fonte-titulo); font-weight: 600; font-size: .92rem; }
.blackcard__brand img { height: 26px; }
.blackcard__chip { width: 40px; height: 30px; border-radius: 6px; background: linear-gradient(135deg, #e6c07a, #a9761f); position: relative; }
.blackcard__chip::before { content: ""; position: absolute; inset: 6px 8px; border: 1px solid rgba(0,0,0,.25); border-radius: 2px; }
.blackcard__label { font-family: var(--fonte-titulo); letter-spacing: .18em; color: var(--cor-dourado); font-size: 1.35rem; font-weight: 600; }
.blackcard__foot { display: flex; justify-content: space-between; align-items: flex-end; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; opacity: .82; }

/* Black Card: animação contínua + brilho + tilt 3D */
.footer__cardwrap { position: relative; }
.blackcard { transition: transform .55s cubic-bezier(.2,.7,.2,1), box-shadow .55s ease; transform-style: preserve-3d; }
.blackcard > * { position: relative; z-index: 2; }
.blackcard::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(115deg, transparent 34%, rgba(222,171,97,.20) 47%, rgba(255,255,255,.14) 52%, transparent 66%); transform: translateX(-130%); animation: blackcardShine 5.5s ease-in-out infinite; }
.footer__cardwrap:hover .blackcard { transform: perspective(900px) rotate3d(1, -1, 0, 13deg); box-shadow: 0 30px 60px rgba(0,0,0,.6); }
.blackcard__label { animation: labelGlow 3.2s ease-in-out infinite; }
@keyframes blackcardShine { 0% { transform: translateX(-130%); } 55%, 100% { transform: translateX(130%); } }
@keyframes labelGlow { 0%, 100% { text-shadow: 0 0 0 rgba(222,171,97,0); } 50% { text-shadow: 0 0 14px rgba(222,171,91,.55); } }
@media (prefers-reduced-motion: reduce) { .blackcard::before, .blackcard__label { animation: none; } .footer__cardwrap:hover .blackcard { transform: none; } }

/* Botão Black Card: preto com o mesmo brilho do cartão */
.btn--card { background: linear-gradient(135deg, #211e19 0%, #0b0a09 55%, #17140f 100%); color: var(--cor-dourado); border: 1px solid rgba(222,171,97,.4); position: relative; overflow: hidden; }
.btn--card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 34%, rgba(222,171,97,.22) 47%, rgba(255,255,255,.14) 52%, transparent 66%); transform: translateX(-130%); animation: blackcardShine 5.5s ease-in-out infinite; }
.btn--card:hover { border-color: rgba(222,171,97,.75); color: #fff; }

/* Modal glassmorphism (Black Card: vagas preenchidas) */
.bc-modal { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 24px; }
.bc-modal.is-open { display: flex; }
.bc-modal__backdrop { position: absolute; inset: 0; background: rgba(8,8,8,.6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.bc-modal__card { position: relative; z-index: 1; width: min(430px, 100%); border-radius: 22px; padding: 40px 32px 34px; text-align: center; color: var(--cor-off-white); background: rgba(30,27,22,.55); -webkit-backdrop-filter: blur(20px) saturate(130%); backdrop-filter: blur(20px) saturate(130%); border: 1px solid rgba(222,171,97,.35); box-shadow: 0 30px 80px rgba(0,0,0,.55); animation: bcIn .4s cubic-bezier(.2,.8,.2,1) both; }
.bc-modal__close { position: absolute; top: 10px; right: 16px; background: none; border: none; color: var(--cor-off-white); font-size: 1.9rem; line-height: 1; cursor: pointer; opacity: .65; }
.bc-modal__close:hover { opacity: 1; }
.bc-modal__badge { display: inline-block; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cor-dourado); border: 1px solid rgba(222,171,97,.4); border-radius: 999px; padding: .4em 1.1em; margin-bottom: 1.1rem; }
.bc-modal__card h3 { font-family: var(--fonte-titulo); font-size: 1.9rem; margin: 0 0 .6rem; color: #fff; text-transform: uppercase; letter-spacing: .02em; }
.bc-modal__card p { opacity: .9; line-height: 1.55; margin: 0 0 1.6rem; }
.bc-modal__card .btn { width: 100%; }
.bc-modal .btn--whatsapp:hover { color: #fff; }
@keyframes bcIn { from { opacity: 0; transform: translateY(22px) scale(.96); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .btn--card::after { animation: none; } .bc-modal__card { animation: none; } }
.footer__cardwrap h3 { margin-bottom: 14px; }
.footer__cardwrap .btn { margin-top: 16px; }
@media (max-width: 960px) { .footer__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .footer__cols { grid-template-columns: 1fr; } .footer__top { flex-direction: column; } .footer__top::before, .footer__top::after { width: 60%; flex: none; } }

/* ---------- Preloader (aprendido da referência) ---------- */
.preloader { position: fixed; inset: 0; z-index: 9999; background: var(--cor-preto); display: grid; place-items: center; transition: opacity .5s ease, visibility .5s ease; }
.preloader.is-hidden { opacity: 0; visibility: hidden; }
.preloader__inner { text-align: center; }
.preloader__logo { width: 96px; height: auto; margin: 0 auto; animation: preloaderPulse 1.4s ease-in-out infinite; }
.preloader__ring { width: 38px; height: 38px; margin: 20px auto 0; border: 2px solid rgba(217,161,91,.22); border-top-color: var(--cor-dourado); border-radius: 50%; animation: preloaderSpin .9s linear infinite; }
@keyframes preloaderSpin { to { transform: rotate(360deg); } }
@keyframes preloaderPulse { 0%,100% { opacity: .55; transform: scale(.97); } 50% { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .preloader__logo, .preloader__ring { animation: none; } }

/* ---------- Reveal de título palavra a palavra (aprendido da referência: text-anime) ---------- */
.text-anime .w-rev { display: inline-block; opacity: 0; transform: translateY(.5em); transition: opacity .5s ease, transform .55s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.text-anime.is-visible .w-rev { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .text-anime .w-rev { opacity: 1 !important; transform: none !important; transition: none; } }

/* ---------- Reveal de imagem em cortina (gated em .js p/ não sumir sem JS) ---------- */
.js .img-anime { clip-path: inset(0 100% 0 0); transform: scale(1.06); transition: clip-path .9s cubic-bezier(.65,0,.35,1), transform 1.1s cubic-bezier(.65,0,.35,1); }
.js .img-anime.is-visible { clip-path: inset(0 0 0 0); transform: scale(1); }
@media (prefers-reduced-motion: reduce) { .js .img-anime { clip-path: none; transform: none; transition: none; } }

/* ---------- Ticker / marquee de fotos ---------- */
.ticker { overflow: hidden; background: var(--cor-preto); padding: 14px 0; border-block: 1px solid rgba(217,161,91,.15); }
.ticker__track { display: flex; gap: 14px; width: max-content; animation: tickerMove 50s linear infinite; }
.ticker:hover .ticker__track { animation-play-state: paused; }
.ticker__track img { height: 200px; width: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; flex: 0 0 auto; }
@keyframes tickerMove { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ticker__track { animation: none; } }
@media (max-width: 720px) { .ticker__track img { height: 140px; } }

/* Variante retrato: galeria "Trabalho falando por si" com o mesmo efeito marquee.
   Espaçamento por margin-right (nao gap) para o loop translateX(-50%) fechar sem pulo. */
.ticker--portrait { background: transparent; border-block: 0; padding: 0; margin-top: 2.2rem; }
.ticker--portrait .ticker__track { gap: 0; animation-duration: 72s; }
.ticker--portrait .ticker__track img { height: 420px; width: auto; aspect-ratio: 3/4; border-radius: var(--raio); margin-right: 16px; }
@media (max-width: 900px) { .ticker--portrait .ticker__track img { height: 320px; } }
@media (max-width: 560px) { .ticker--portrait .ticker__track img { height: 250px; } }

/* ---------- Por que a Lumberjack (checklist + contato) ---------- */
.porque .split { align-items: center; gap: 52px; }
.porque__lista { list-style: none; padding: 0; margin: 1.6rem 0; display: grid; gap: 13px; }
.porque__lista li { display: flex; align-items: flex-start; gap: 12px; }
.porque__lista li::before { content: ""; flex: 0 0 auto; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; background: var(--cor-dourado) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E0E0E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 62% no-repeat; }
.porque__cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 1.8rem; }
.porque__contato { display: flex; align-items: center; gap: 13px; }
.porque__contato .icon { width: 52px; height: 52px; border-radius: 50%; background: rgba(217,161,91,.12); border: 1px solid rgba(217,161,91,.4); display: grid; place-items: center; flex: 0 0 auto; }
.porque__contato .icon svg { width: 22px; height: 22px; fill: var(--cor-dourado); }
.porque__contato small { display: block; opacity: .7; font-size: .82rem; }
.porque__contato a { font-family: var(--fonte-titulo); font-size: 1.15rem; text-decoration: none; }
.porque__img img { width: 100%; border-radius: var(--raio); box-shadow: var(--sombra); aspect-ratio: 4/5; object-fit: cover; }

/* ---------- Intro video (banda cinematográfica + play) ---------- */
.intro-video { position: relative; min-height: clamp(440px, 58vh, 640px); display: grid; place-items: center; overflow: hidden; text-align: center; color: var(--cor-off-white); padding: 80px 0; }
.intro-video__bg { position: absolute; inset: 0; z-index: 0; }
.intro-video__bg video { width: 100%; height: 100%; object-fit: cover; }
.intro-video::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(rgba(14,14,14,.55), rgba(14,14,14,.72)); }
.intro-video .container { position: relative; z-index: 2; }
.intro-video__play { display: inline-grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: var(--cor-dourado); color: var(--cor-preto); cursor: pointer; border: 0; transition: transform .2s ease, box-shadow .2s ease; box-shadow: 0 0 0 0 rgba(217,161,91,.5); animation: playPulse 2.4s ease-out infinite; }
.intro-video__play:hover { transform: scale(1.06); }
.intro-video__play svg { width: 30px; height: 30px; fill: currentColor; margin-left: 5px; }
.intro-video h2 { margin-top: 24px; }
@keyframes playPulse { 0% { box-shadow: 0 0 0 0 rgba(217,161,91,.45); } 100% { box-shadow: 0 0 0 26px rgba(217,161,91,0); } }
@media (prefers-reduced-motion: reduce) { .intro-video__play { animation: none; } }

/* Lightbox de vídeo */
.video-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(8,8,8,.92); display: none; place-items: center; padding: 24px; }
.video-lightbox.is-open { display: grid; }
.video-lightbox video { width: min(1000px, 92vw); max-height: 84vh; border-radius: var(--raio); background: #000; }
.video-lightbox__close { position: absolute; top: 20px; right: 26px; background: none; border: 0; color: #fff; font-size: 2.4rem; line-height: 1; cursor: pointer; }

/* ---------- Animações de entrada ---------- */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .5s ease, transform .5s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal-zoom { opacity: 0; transform: scale(.94); transition: opacity .6s ease, transform .6s ease; }
.reveal-zoom.is-visible { opacity: 1; transform: none; }
.stagger > .reveal:nth-child(2) { transition-delay: .08s; }
.stagger > .reveal:nth-child(3) { transition-delay: .16s; }
.stagger > .reveal:nth-child(4) { transition-delay: .24s; }
.stagger > .reveal:nth-child(5) { transition-delay: .32s; }
.stagger > .reveal:nth-child(6) { transition-delay: .4s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal, .reveal-zoom { opacity: 1; transform: none; transition: none; }
  .manifesto .palavra { opacity: 1; transition: none; }
  .btn, .header, .card, .depoimento, .post-card { transition: none; }
  .card:hover, .depoimento:hover, .post-card:hover { transform: none; }
}

/* ---------- Responsivo ---------- */
@media (max-width: 960px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
  .depoimentos, .equipe-grid, .post-lista { grid-template-columns: repeat(2, 1fr); }
  .split { grid-template-columns: 1fr; }
  .split--reverse > :first-child { order: 0; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: rgba(14,14,14,.97); flex-direction: column; padding: 20px; gap: 16px; }
  .nav.is-open { display: flex; }
  .nav a { color: var(--cor-off-white) !important; }
  .header__toggle { display: block; }
  .header__cta { display: none; }
  .cards, .depoimentos, .equipe-grid, .post-lista { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr; gap: 32px; }
  .video-vert { width: min(300px, 78vw); }
  .barra-whatsapp { display: block; animation: fadeInUp .4s ease both; }
  body { padding-bottom: 78px; }
  .footer__grid { grid-template-columns: 1fr; gap: 28px; }
}

@keyframes fadeInUp { from { opacity: 0; transform: translateY(100%); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .barra-whatsapp { animation: none; } }
