/* ============================================================
   VÉU & VERSO — Design System  ·  MOBILE-FIRST
   "Minimal Sereno" · alinhado ao Manual de Marca (ed. 2026)
   Estilo base = celular. Media queries (min-width) escalam pra
   cima. Fonte única de estilo. No WordPress vai em:
   Customizar > CSS Adicional (ou style.css do tema-filho).
   Breakpoints: sm 600 · md 900 · lg 1100
   ============================================================ */

/* ---------- 1. Tokens da marca ---------- */
:root {
  --vv-carvao:      #3A3833;
  --vv-oliva:       #69744F;
  --vv-oliva-200:   #7D8A61;
  --vv-oliva-100:   #AAB389;
  --vv-oliva-050:   #ECEFDF;
  --vv-greige:      #EFEAE2;
  --vv-creme:       #F7F4EE;
  --vv-areia:       #DDD5C8;
  --vv-pedra:       #C9BFB2;
  --vv-texto:       #3A3833;
  --vv-texto-suave: #6B655B;
  --vv-linha:       #DDD5C8;

  --vv-bg:          var(--vv-greige);
  --vv-surface:     var(--vv-creme);
  --vv-ink:         var(--vv-texto);
  --vv-accent:      var(--vv-oliva);

  --vv-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --vv-label: "Jost", "Helvetica Neue", Arial, sans-serif;
  --vv-corpo: "Hanken Grotesk", system-ui, -apple-system, sans-serif;

  --fs-display: clamp(2.5rem, 1.5rem + 4.6vw, 5rem);
  --fs-h1:      clamp(2rem, 1.4rem + 3vw, 3.6rem);
  --fs-h2:      clamp(1.6rem, 1.2rem + 2vw, 2.6rem);
  --fs-h3:      clamp(1.25rem, 1.05rem + 1vw, 1.6rem);
  --fs-corpo:   1.0625rem;
  --fs-pequeno: 0.875rem;
  --fs-label:   0.78rem;

  --sp-1: 0.5rem;  --sp-2: 1rem;   --sp-3: 1.5rem;  --sp-4: 2rem;
  --sp-5: 3rem;    --sp-6: 4.5rem;  --sp-7: 6.5rem;

  --vv-max:   1180px;
  --vv-prosa: 720px;
  --vv-radius: 4px;
  --vv-radius-lg: 8px;
  --vv-linha-fina: 1px solid var(--vv-linha);
  --vv-sombra: 0 1px 2px rgba(58,56,51,.04), 0 8px 30px rgba(58,56,51,.06);
  --vv-trans: 220ms cubic-bezier(.2,.6,.2,1);
}

/* ---------- 2. Reset enxuto ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { overflow-x: hidden; }
img, svg, picture { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
input { font: inherit; }
:focus-visible { outline: 2px solid var(--vv-oliva); outline-offset: 2px; border-radius: 2px; }

body {
  font-family: var(--vv-corpo);
  font-size: var(--fs-corpo);
  line-height: 1.7;
  color: var(--vv-ink);
  background: var(--vv-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ---------- 3. Tipografia ---------- */
h1, h2, h3, h4 { font-family: var(--vv-serif); font-weight: 500; line-height: 1.1; letter-spacing: -0.01em; color: var(--vv-carvao); }
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
p  { max-width: 64ch; }

.vv-kicker {
  font-family: var(--vv-label);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vv-oliva);
  max-width: none;
}
.vv-kicker--claro { color: var(--vv-oliva-100); }
.vv-amp { font-family: var(--vv-serif); font-style: italic; color: var(--vv-oliva-200); }

/* ---------- 4. Acessibilidade: skip-link ---------- */
.vv-skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--vv-carvao); color: var(--vv-creme);
  padding: .7rem 1.1rem; border-radius: 0 0 var(--vv-radius) 0;
  font-family: var(--vv-label); font-size: var(--fs-label); letter-spacing: .12em; text-transform: uppercase;
}
.vv-skip:focus { left: 0; }

/* ---------- 5. Layout ---------- */
.vv-wrap { width: 100%; max-width: var(--vv-max); margin-inline: auto; padding-inline: clamp(1.15rem, 4vw, 2.5rem); }
.vv-section { padding-block: var(--sp-5); }
.vv-center { text-align: center; }
.vv-stack > * + * { margin-top: var(--sp-3); }

.vv-section-head { display: flex; flex-direction: column; gap: var(--sp-2); margin-bottom: var(--sp-4); align-items: center; text-align: center; }
.vv-section-head .vv-kicker { margin-bottom: .15rem; }

/* Centralização editorial no mobile: só os títulos curtos.
   Corpo de texto e listas seguem à esquerda (legibilidade). */
.vv-destaque .vv-kicker, .vv-destaque h2 { text-align: center; }
.vv-kit__info .vv-kicker, .vv-kit__info h2 { text-align: center; margin-inline: auto; }

/* ---------- 6. Botões / links ---------- */
.vv-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  font-family: var(--vv-label); font-size: var(--fs-label); font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: .9rem 1.6rem; border-radius: var(--vv-radius);
  transition: var(--vv-trans); text-align: center; min-height: 48px; /* alvo de toque */
}
.vv-btn--primario { background: var(--vv-carvao); color: var(--vv-creme); }
.vv-btn--primario:hover { background: var(--vv-oliva); }
.vv-btn--oliva { background: var(--vv-oliva); color: var(--vv-creme); }
.vv-btn--oliva:hover { background: var(--vv-oliva-200); }
.vv-btn--linha { border: 1px solid var(--vv-carvao); color: var(--vv-carvao); }
.vv-btn--linha:hover { background: var(--vv-carvao); color: var(--vv-creme); }
.vv-link {
  font-family: var(--vv-label); font-size: var(--fs-label); font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--vv-oliva);
  display: inline-flex; align-items: center; gap: .5rem;
}
.vv-link::after { content: "→"; transition: transform var(--vv-trans); }
.vv-link:hover::after { transform: translateX(4px); }

/* ---------- 7. Cabeçalho / navegação (mobile-first) ---------- */
.vv-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--vv-greige) 90%, transparent);
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: var(--vv-linha-fina);
}
.vv-header__bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-2); min-height: 68px; }
.vv-header__logo img { height: 24px; width: auto; }

.vv-burger {
  display: inline-flex; align-items: center; gap: .55rem;
  font-family: var(--vv-label); font-size: var(--fs-label); font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--vv-carvao);
  padding: .6rem .4rem; min-height: 44px;
}
.vv-burger svg { transition: transform var(--vv-trans); }

/* O painel: escondido no celular, abre com .is-open */
.vv-header__menu {
  display: none; flex-basis: 100%; width: 100%;
  flex-direction: column; align-items: stretch; gap: var(--sp-1);
  padding-block: var(--sp-2) var(--sp-3);
  border-top: var(--vv-linha-fina); margin-top: var(--sp-1);
}
.vv-header__menu.is-open { display: flex; }
.vv-header__menu .vv-btn { width: 100%; margin-top: var(--sp-2); }

.vv-nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.vv-nav a {
  font-family: var(--vv-label); font-size: 1rem; font-weight: 400;
  letter-spacing: 0.02em; color: var(--vv-texto);
  padding: .8rem .2rem; border-bottom: 1px solid color-mix(in srgb, var(--vv-areia) 60%, transparent);
}
.vv-nav a:last-child { border-bottom: 0; }
.vv-nav a[aria-current="page"] { color: var(--vv-oliva); }

/* ---------- 8. Hero ---------- */
.vv-hero { padding-block: var(--sp-5) var(--sp-5); text-align: center; }
.vv-hero__tag { margin-bottom: var(--sp-2); }
.vv-hero h1 { font-size: var(--fs-display); max-width: 16ch; margin-inline: auto; }
.vv-hero h1 em { font-style: italic; color: var(--vv-oliva); }
.vv-hero__lead { font-size: 1.12rem; color: var(--vv-texto-suave); max-width: 46ch; margin: var(--sp-3) auto var(--sp-4); }
.vv-hero__actions { display: flex; flex-direction: column; gap: var(--sp-2); align-items: stretch; }
.vv-rule { width: 56px; height: 1px; background: var(--vv-pedra); margin: var(--sp-4) auto 0; }

/* ---------- 9. Cartões (casamentos reais / posts) ---------- */
.vv-grid { display: grid; gap: var(--sp-4); grid-template-columns: 1fr; }

.vv-card { display: flex; flex-direction: column; }
.vv-card__media { aspect-ratio: 4 / 5; border-radius: var(--vv-radius); overflow: hidden; background: var(--vv-areia); position: relative; }
.vv-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.6,.2,1); }
.vv-card:hover .vv-card__media img { transform: scale(1.04); }
.vv-card__body { padding-top: var(--sp-2); }
.vv-card__meta { font-family: var(--vv-label); font-size: var(--fs-label); letter-spacing: .14em; text-transform: uppercase; color: var(--vv-oliva); }
.vv-card__title { font-size: var(--fs-h3); margin-top: .35rem; }
.vv-card__sub { color: var(--vv-texto-suave); font-size: var(--fs-pequeno); margin-top: .35rem; }

.vv-ph { display: grid; place-items: center; height: 100%; width: 100%; color: var(--vv-creme); }
.vv-ph--oliva { background: linear-gradient(155deg, #9ba67d, var(--vv-oliva) 60%, #586245); }
.vv-ph--carvao { background: linear-gradient(155deg, #4a4842, var(--vv-carvao)); }
.vv-ph--pedra { background: linear-gradient(155deg, #d9cfc0, #b3a895); }
.vv-ph span { font-family: var(--vv-serif); font-style: italic; font-size: 3rem; opacity: .85; }

/* ---------- 10. Pilares ---------- */
.vv-pilar {
  display: flex; flex-direction: column; gap: var(--sp-1);
  padding: var(--sp-3); background: var(--vv-surface);
  border: var(--vv-linha-fina); border-radius: var(--vv-radius);
  transition: var(--vv-trans);
}
.vv-pilar:hover { transform: translateY(-3px); box-shadow: var(--vv-sombra); border-color: var(--vv-oliva-200); }
.vv-pilar__num { font-family: var(--vv-serif); font-style: italic; font-size: 1.5rem; color: var(--vv-oliva-200); }
.vv-pilar__title { font-size: var(--fs-h3); }
.vv-pilar__desc { color: var(--vv-texto-suave); font-size: var(--fs-pequeno); }

/* ---------- 11. Guia em destaque ---------- */
.vv-destaque { display: grid; grid-template-columns: 1fr; gap: var(--sp-4); align-items: center; }
.vv-destaque__media { aspect-ratio: 5 / 4; border-radius: var(--vv-radius); overflow: hidden; }

/* ---------- 12. Formulários ---------- */
.vv-form { display: flex; flex-direction: column; gap: .6rem; max-width: 460px; }
.vv-form input {
  width: 100%; padding: .95rem 1.1rem; border-radius: var(--vv-radius); min-height: 48px;
  border: 1px solid color-mix(in srgb, var(--vv-creme) 30%, transparent);
  background: color-mix(in srgb, var(--vv-creme) 10%, transparent); color: var(--vv-creme);
}
.vv-form input::placeholder { color: var(--vv-oliva-050); opacity: .7; }
.vv-form input:focus { outline: 1px solid var(--vv-oliva-100); }
.vv-form .vv-btn { width: 100%; }

/* ---------- 13. Kit da Noiva (download) ---------- */
.vv-kit {
  background: var(--vv-carvao); color: var(--vv-creme);
  border-radius: var(--vv-radius-lg); padding: clamp(1.6rem, 6vw, var(--sp-6));
  display: grid; grid-template-columns: 1fr; gap: var(--sp-4); align-items: center;
}
.vv-kit h2 { color: var(--vv-creme); max-width: 18ch; }
.vv-kit h2 em { font-style: italic; color: var(--vv-oliva-100); }
.vv-kit__info > p { color: var(--vv-oliva-050); max-width: 42ch; margin-top: var(--sp-2); }
.vv-kit__list { list-style: none; padding: 0; display: grid; gap: .55rem; margin: var(--sp-3) 0; }
.vv-kit__list li { position: relative; padding-left: 1.7rem; color: var(--vv-creme); font-size: var(--fs-pequeno); }
.vv-kit__list li::before {
  content: "✓"; position: absolute; left: 0; top: -1px;
  color: var(--vv-carvao); background: var(--vv-oliva-100);
  width: 1.15rem; height: 1.15rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; font-size: .7rem; font-weight: 700;
}
.vv-kit__note { font-size: .78rem; color: var(--vv-oliva-050); opacity: .65; margin-top: .8rem; }
.vv-kit .vv-form { margin-top: var(--sp-3); }

/* Visual: pilha de "documentos" do kit (sem imagem) */
.vv-kit__visual { position: relative; display: grid; place-items: center; min-height: clamp(240px, 64vw, 300px); order: -1; }
.vv-kit__doc { position: absolute; width: clamp(150px, 42vw, 200px); aspect-ratio: 3 / 4; border-radius: var(--vv-radius); }
.vv-kit__doc--back  { transform: rotate(-9deg); background: var(--vv-oliva-200); }
.vv-kit__doc--mid   { transform: rotate(5deg);  background: var(--vv-pedra); }
.vv-kit__doc--front {
  transform: rotate(-2deg); background: var(--vv-creme); box-shadow: 0 14px 40px rgba(0,0,0,.35);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; padding: 1rem;
  border: 1px solid var(--vv-areia);
}
.vv-kit__doclabel { font-family: var(--vv-label); font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--vv-oliva); }
.vv-kit__docamp { font-family: var(--vv-serif); font-style: italic; font-size: 3.4rem; line-height: 1; color: var(--vv-oliva-200); }
.vv-kit__docsub { font-family: var(--vv-serif); font-style: italic; font-size: .95rem; color: var(--vv-texto-suave); }

/* ---------- 14. Rodapé ---------- */
.vv-footer { background: var(--vv-carvao); color: var(--vv-oliva-050); padding-block: var(--sp-5) var(--sp-4); margin-top: var(--sp-5); }
.vv-footer a { color: var(--vv-oliva-050); }
.vv-footer a:hover { color: var(--vv-creme); }
.vv-footer__grid { display: grid; grid-template-columns: 1fr; gap: var(--sp-4); }
.vv-footer__logo img { height: 28px; margin-bottom: var(--sp-2); }
.vv-footer__tagline { font-family: var(--vv-serif); font-style: italic; font-size: 1.25rem; color: var(--vv-oliva-100); }
.vv-footer h4 { font-family: var(--vv-label); font-size: var(--fs-label); letter-spacing: .18em; text-transform: uppercase; color: var(--vv-oliva-100); margin-bottom: var(--sp-2); font-weight: 500; }
.vv-footer ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: .6rem; font-size: var(--fs-pequeno); }
.vv-footer__base { display: flex; flex-direction: column; gap: var(--sp-2); margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 1px solid color-mix(in srgb, var(--vv-oliva-050) 18%, transparent); font-size: var(--fs-pequeno); }
.vv-footer__b2b { opacity: .75; }

/* ---------- 15. Cabeçalho de página (pilar) + breadcrumb ---------- */
.vv-breadcrumb { font-family: var(--vv-label); font-size: var(--fs-label); letter-spacing: .08em; text-transform: uppercase; color: var(--vv-texto-suave); display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.vv-breadcrumb a { color: var(--vv-oliva); }
.vv-breadcrumb .sep { opacity: .45; }
.vv-breadcrumb [aria-current] { color: var(--vv-texto-suave); }

.vv-pagehead { padding-block: var(--sp-5) var(--sp-4); text-align: center; }
.vv-pagehead .vv-breadcrumb { justify-content: center; margin-bottom: var(--sp-3); }
.vv-pagehead .vv-kicker { display: block; margin-bottom: var(--sp-2); }
.vv-pagehead h1 { font-size: var(--fs-h1); max-width: 20ch; margin-inline: auto; }
.vv-pagehead__lead { color: var(--vv-texto-suave); max-width: 58ch; margin: var(--sp-3) auto 0; font-size: 1.12rem; }

/* ---------- 16. Hub cards + lista de links (clusters) ---------- */
.vv-hubcard { display: flex; flex-direction: column; }
.vv-hubcard__media { aspect-ratio: 3 / 2; border-radius: var(--vv-radius); overflow: hidden; }
.vv-hubcard__media img, .vv-hubcard__media .vv-ph { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.6,.2,1); }
.vv-hubcard:hover .vv-hubcard__media img, .vv-hubcard:hover .vv-hubcard__media .vv-ph { transform: scale(1.04); }
.vv-hubcard__title { font-size: var(--fs-h3); margin-top: var(--sp-2); }
.vv-hubcard__count { font-family: var(--vv-label); font-size: var(--fs-label); letter-spacing: .12em; text-transform: uppercase; color: var(--vv-oliva); margin-top: .3rem; }

.vv-linklist { list-style: none; padding: 0; margin: 0; }
.vv-linklist li { border-bottom: var(--vv-linha-fina); }
.vv-linklist li:first-child { border-top: var(--vv-linha-fina); }
.vv-linklist a { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-2); padding: var(--sp-2) 0; transition: var(--vv-trans); }
.vv-linklist a::after { content: "→"; color: var(--vv-oliva); transition: transform var(--vv-trans); }
.vv-linklist a:hover { color: var(--vv-oliva); }
.vv-linklist a:hover::after { transform: translateX(4px); }

/* ---------- 17. Artigo / post (casamento real, guia) ---------- */
.vv-article { padding-block: var(--sp-4) 0; }
.vv-article__head { text-align: center; max-width: 760px; margin: 0 auto var(--sp-4); }
.vv-article__head h1 { font-size: var(--fs-h1); margin: var(--sp-2) auto var(--sp-3); max-width: 24ch; }
.vv-meta { display: flex; flex-wrap: wrap; gap: .4rem var(--sp-2); justify-content: center; font-family: var(--vv-label); font-size: var(--fs-label); letter-spacing: .1em; text-transform: uppercase; color: var(--vv-texto-suave); }
.vv-article__media { aspect-ratio: 16 / 10; border-radius: var(--vv-radius); overflow: hidden; margin: 0 auto var(--sp-5); }

.vv-prose { max-width: var(--vv-prosa); margin-inline: auto; }
.vv-prose > * + * { margin-top: var(--sp-3); }
.vv-prose p, .vv-prose li { max-width: none; }
.vv-prose h2 { font-size: var(--fs-h2); margin-top: var(--sp-5); }
.vv-prose h3 { font-size: var(--fs-h3); margin-top: var(--sp-4); }
.vv-prose ul, .vv-prose ol { padding-left: 1.3rem; display: grid; gap: .45rem; }
.vv-prose a { color: var(--vv-oliva); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.vv-prose figure { margin-block: var(--sp-4); }
.vv-prose figure > div { aspect-ratio: 3 / 2; border-radius: var(--vv-radius); overflow: hidden; }
.vv-prose figcaption { font-size: var(--fs-pequeno); color: var(--vv-texto-suave); margin-top: .6rem; text-align: center; }

.vv-pullquote { font-family: var(--vv-serif); font-style: italic; font-size: clamp(1.5rem, 1.2rem + 1.6vw, 2.1rem); line-height: 1.25; color: var(--vv-oliva); text-align: center; max-width: 24ch; margin: var(--sp-5) auto !important; }

/* Créditos dos fornecedores — base do diretório (Fase 2) e dos backlinks */
.vv-credits { background: var(--vv-creme); border: var(--vv-linha-fina); border-radius: var(--vv-radius); padding: var(--sp-4); margin: var(--sp-5) auto 0; max-width: var(--vv-prosa); }
.vv-credits h2 { font-size: var(--fs-h3); margin: 0 0 var(--sp-2); }
.vv-credits dl { margin: 0; }
.vv-credits dl > div { display: flex; justify-content: space-between; gap: var(--sp-2); padding: .6rem 0; border-bottom: var(--vv-linha-fina); }
.vv-credits dl > div:last-child { border-bottom: 0; }
.vv-credits dt { color: var(--vv-texto-suave); font-family: var(--vv-label); font-size: var(--fs-label); letter-spacing: .08em; text-transform: uppercase; }
.vv-credits dd { margin: 0; text-align: right; }
.vv-credits dd a { color: var(--vv-oliva); }

.vv-related { border-top: var(--vv-linha-fina); margin-top: var(--sp-6); padding-top: var(--sp-5); }

/* ---------- 18. Lista de espaços (guia / base do diretório) ---------- */
.vv-venuelist { display: grid; gap: var(--sp-4); }
.vv-venue { display: grid; grid-template-columns: 1fr; background: var(--vv-surface); border: var(--vv-linha-fina); border-radius: var(--vv-radius); overflow: hidden; transition: var(--vv-trans); }
.vv-venue:hover { box-shadow: var(--vv-sombra); border-color: var(--vv-oliva-200); }
.vv-venue__media { aspect-ratio: 4 / 3; }
.vv-venue__media .vv-ph { width: 100%; height: 100%; }
.vv-venue__body { padding: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-2); }
.vv-venue__top { display: flex; align-items: baseline; gap: .7rem; }
.vv-venue__num { font-family: var(--vv-serif); font-style: italic; font-size: 1.5rem; color: var(--vv-oliva-200); line-height: 1; }
.vv-venue__name { font-size: var(--fs-h3); }
.vv-venue__specs { display: flex; flex-wrap: wrap; gap: .5rem; }
.vv-venue__spec { font-family: var(--vv-label); font-size: var(--fs-label); letter-spacing: .05em; text-transform: uppercase; color: var(--vv-texto-suave); background: var(--vv-greige); border: var(--vv-linha-fina); border-radius: 100px; padding: .3rem .75rem; }
.vv-venue__desc { color: var(--vv-texto-suave); font-size: var(--fs-pequeno); }
.vv-venue__link { margin-top: .3rem; }

/* ============================================================
   MEDIA QUERIES — escalando do celular pra cima
   ============================================================ */

/* ---- sm: 600px (tablets pequenos) ---- */
@media (min-width: 600px) {
  .vv-grid--3, .vv-grid--4, .vv-grid--2 { grid-template-columns: 1fr 1fr; }
  .vv-footer__grid { grid-template-columns: 1fr 1fr; }
  .vv-hero__actions { flex-direction: row; justify-content: center; flex-wrap: wrap; }
  .vv-hero__actions .vv-btn { flex: 0 1 auto; }
  .vv-form { flex-direction: row; flex-wrap: nowrap; }
  .vv-form input { flex: 1 1 auto; }
  .vv-form .vv-btn { width: auto; flex: 0 0 auto; }
}

/* ---- md: 900px (desktop — nav inline) ---- */
@media (min-width: 900px) {
  .vv-section { padding-block: var(--sp-6); }
  .vv-section-head { margin-bottom: var(--sp-5); align-items: flex-start; text-align: left; }
  .vv-destaque .vv-kicker, .vv-destaque h2 { text-align: left; }
  .vv-kit__info .vv-kicker, .vv-kit__info h2 { text-align: left; margin-inline: 0; }
  .vv-header__bar { flex-wrap: nowrap; min-height: 72px; }
  .vv-header__logo img { height: 26px; }
  .vv-burger { display: none; }

  .vv-header__menu {
    display: flex; flex-basis: auto; width: auto; flex-direction: row; align-items: center;
    gap: clamp(1rem, 2.4vw, 2rem); padding: 0; border-top: 0; margin-top: 0;
  }
  .vv-header__menu .vv-btn { width: auto; margin-top: 0; }
  .vv-nav { flex-direction: row; align-items: center; gap: clamp(1rem, 2.2vw, 2rem); }
  .vv-nav a {
    font-size: .82rem; padding: .4rem 0; border-bottom: 0; position: relative;
  }
  .vv-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--vv-oliva); transition: right var(--vv-trans); }
  .vv-nav a:hover::after { right: 0; }

  .vv-hero { padding-block: var(--sp-7) var(--sp-6); }
  .vv-hero__lead { font-size: 1.2rem; }

  .vv-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .vv-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .vv-pilar { padding: var(--sp-4); min-height: 200px; justify-content: space-between; }

  .vv-section-head--row { flex-direction: row; align-items: end; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
  .vv-destaque { grid-template-columns: 1fr 1fr; gap: var(--sp-5); }
  .vv-pagehead { padding-block: var(--sp-6) var(--sp-5); }
  .vv-linklist { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--sp-5); }
  .vv-linklist li:nth-child(2) { border-top: var(--vv-linha-fina); }
  .vv-credits dl { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--sp-5); }
  .vv-venue { grid-template-columns: 0.82fr 1.18fr; }
  .vv-venue__media { aspect-ratio: auto; min-height: 240px; }

  .vv-kit { grid-template-columns: 1.1fr .9fr; gap: var(--sp-5); padding: var(--sp-6); }
  .vv-kit__visual { order: 0; }

  .vv-footer { padding-block: var(--sp-6) var(--sp-4); margin-top: var(--sp-6); }
  .vv-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
  .vv-footer__base { flex-direction: row; justify-content: space-between; align-items: center; margin-top: var(--sp-5); }
}

/* Acessibilidade: respeita quem prefere menos movimento */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
  .vv-card:hover .vv-card__media img { transform: none; }
}
