/* Valor Digital · estilos das páginas autorais (início, contato, 404, design system, privacidade).
 * Só composição específica destas páginas. Componentes genéricos vivem no Design System
 * (/assets/vd/vd.<hash>.css); aqui não se redefine nenhuma classe .vd-*. */

.site-list-reset { margin: 0; padding: 0; list-style: none; }

/* =========================================================
   Início
   ========================================================= */
.home-hero,
.nf-hero { border-bottom: var(--vd-rule) solid var(--vd-border-default); }
.home-hero__grid {
  display: grid;
  gap: clamp(32px, 2rem + 3vw, 72px);
  align-items: end;
}
@media (min-width: 64rem) {
  .home-hero__grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.9fr); }
}
.home-scope { gap: var(--vd-space-4); box-shadow: var(--vd-shadow-sm); }
.home-scope .vd-card__title { font-size: 1.3125rem; }
.home-scope__note {
  padding-top: var(--vd-space-3);
  border-top: var(--vd-rule) solid var(--vd-border-subtle);
  color: var(--vd-text-secondary);
  font-size: var(--vd-text-body-sm);
  font-weight: var(--vd-weight-semibold);
}

.home-service { gap: var(--vd-space-4); }
.home-service__index { color: var(--vd-text-caption); }
.home-service .vd-card__title { font-size: 1.3125rem; }

.home-segment { height: 100%; gap: var(--vd-space-2); }
.home-segment .vd-card__text { font-size: var(--vd-text-body-sm); line-height: 1.5; }
.home-more { margin-top: var(--vd-space-6); }

.home-client {
  display: grid;
  gap: var(--vd-space-6);
  align-items: end;
}
@media (min-width: 60rem) {
  .home-client { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
}
.home-client .vd-eyebrow { margin-bottom: var(--vd-space-3); }
.home-client__text {
  max-width: 40rem;
  color: var(--vd-text-primary);
  font-size: clamp(1.25rem, 1.05rem + 0.9vw, 1.75rem);
  font-weight: var(--vd-weight-semibold);
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.home-product__head { margin-bottom: 0; }
.home-product__card { gap: var(--vd-space-4); align-self: center; max-width: 28rem; }
@media (min-width: 60rem) {
  .home-product__card { justify-self: end; width: 100%; }
}
.home-product__symbol {
  width: 88px;
  height: 88px;
  border-radius: var(--vd-radius-squircle);
  box-shadow: 0 0 0 1px var(--vd-border-default);
}
.home-product__url { color: var(--vd-text-secondary); }

.home-tools { display: grid; gap: var(--vd-space-6); }
@media (min-width: 64rem) {
  .home-tools { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
}
.home-geo {
  gap: var(--vd-space-4);
  padding: clamp(24px, 1.25rem + 1.5vw, 40px);
  border-color: transparent;
  background: var(--vd-surface-callout);
}
.home-geo__title { font-size: var(--vd-text-display-2); letter-spacing: -0.035em; line-height: 1.1; }
.home-geo .vd-card__text { color: var(--vd-text-primary); font-size: var(--vd-text-body-lg); }
.home-geo .vd-card__meta { color: var(--vd-text-secondary); }
.home-tools__list {
  display: grid;
  gap: var(--vd-space-6);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}
.home-tools__more { grid-column: 1 / -1; }
.home-tools__link { color: inherit; text-decoration: none; }
.home-tools__link::after { content: " →"; color: var(--vd-text-accent); }
.home-tools__link:hover { color: var(--vd-text-link); }
.home-tools__items { gap: var(--vd-space-2); }
@media (min-width: 40rem) {
  .home-tools__items { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--vd-space-6); }
}

.home-cta__actions { justify-items: start; }
@media (min-width: 60rem) {
  .home-cta__actions { justify-items: end; text-align: right; }
}
.home-cta__alt {
  display: flex;
  flex-wrap: wrap;
  gap: var(--vd-space-2) var(--vd-space-5);
  font-size: 0.9375rem;
}
@media (min-width: 60rem) {
  .home-cta__alt { justify-content: flex-end; }
}
.home-cta__alt a { color: var(--vd-text-secondary); }
.home-cta__alt a:hover { color: var(--vd-text-primary); }

/* =========================================================
   Contato
   ========================================================= */
.contact-grid {
  display: grid;
  gap: clamp(32px, 2rem + 2vw, 64px);
  align-items: start;
}
@media (min-width: 64rem) {
  .contact-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
}
.contact-card { gap: var(--vd-space-4); padding: clamp(24px, 1.25rem + 1.5vw, 40px); }
.contact-card .vd-form { margin-top: var(--vd-space-2); }
.contact-form__row { display: grid; gap: var(--vd-space-5); }
@media (min-width: 40rem) {
  .contact-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.contact-aside { display: grid; gap: var(--vd-space-6); align-content: start; }
@media (min-width: 64rem) {
  .contact-aside { position: sticky; top: calc(var(--vd-header-h) + var(--vd-space-6)); }
}
.contact-aside__title { font-size: 1.3125rem; }
.contact-channels dd a { color: var(--vd-text-primary); font-weight: var(--vd-weight-semibold); }

/* =========================================================
   404
   ========================================================= */
.nf-hero__inner { max-width: 50rem; }
.nf-links__title { margin-bottom: var(--vd-space-6); font-size: var(--vd-text-h2); }
.nf-list { gap: var(--vd-space-2); font-size: 0.9375rem; }
.nf-direct { margin-top: var(--vd-space-8); color: var(--vd-text-secondary); }

/* =========================================================
   Documento com índice lateral (privacidade, design system)
   ========================================================= */
.site-doc { display: grid; gap: var(--vd-space-10); align-items: start; }
.site-doc__body { min-width: 0; }
@media (min-width: 64rem) {
  .site-doc { grid-template-columns: 15rem minmax(0, 1fr); gap: var(--vd-space-16); }
  .site-toc {
    position: sticky;
    top: calc(var(--vd-header-h) + var(--vd-space-6));
    max-height: calc(100vh - var(--vd-header-h) - var(--vd-space-12));
    overflow-y: auto;
  }
}
.site-toc {
  padding: var(--vd-space-4);
  border: var(--vd-rule) solid var(--vd-border-default);
  border-radius: var(--vd-radius-lg);
  background: var(--vd-surface-card);
}
.site-toc__title {
  margin: 0 0 var(--vd-space-2) var(--vd-space-2);
  color: var(--vd-text-caption);
  font-family: var(--vd-font-mono);
  font-size: 0.6875rem;
  font-weight: var(--vd-weight-semibold);
  letter-spacing: var(--vd-tracking-caps);
  text-transform: uppercase;
}
.site-toc__list { display: grid; gap: 2px; }
.site-toc__list a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 6px 8px;
  border-radius: var(--vd-radius-md);
  color: var(--vd-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.35;
  text-decoration: none;
}
.site-toc__list a:hover { background: var(--vd-surface-muted); color: var(--vd-text-primary); }
.site-toc__num { color: var(--vd-text-caption); font-family: var(--vd-font-mono); font-size: 0.75rem; }
.vd-prose.site-doc__body > h2:first-child { margin-top: 0; }
.legal-updated { color: var(--vd-text-caption); }
