/* Identidade DuarteLab (Entrega 2): preto, prata, champanhe e off-white; Montserrat.
   Camada carregada por último. Para reverter a identidade, basta remover este arquivo da fila (inc/brand.php). */
:root {
  --dl-ink: #0b0b0b;
  --dl-graphite: #1c1d1f;
  --dl-ivory: #f5f5f5;
  --dl-paper: #ffffff;
  --dl-silver: #c5c9cd;
  --dl-champagne: #d4c2a5;
  --dl-gold: #77633f;            /* champanhe escurecido: texto sobre fundos claros (contraste ≥ 4.5:1) */
  --dl-muted: #5e6166;
  --dl-line: #dadcdf;
  --dl-body-font: "Montserrat", Arial, sans-serif;
  --dl-heading-font: "Montserrat", Arial, sans-serif;
}
/* Superfícies escuras usam o champanhe da paleta. */
body.home .dl-header, .dl-hero, .dl-nav, .dl-materials, .dl-process, .dl-footer, .dl-time-grid .is-speed { --dl-gold: var(--dl-champagne); }

/* Tipografia */
h1, h2, h3 { font-weight: 400 !important; }
.dl-intro h2, .dl-section-heading h2, .dl-material-copy h2, .dl-process-content h2, .dl-contact h2 { font-size: clamp(30px, 3.6vw, 52px); line-height: 1.15; letter-spacing: -.025em; }
.dl-founder h2 { font-size: clamp(36px, 4.6vw, 64px); letter-spacing: -.03em; }
.dl-material-list h3 { font-size: clamp(22px, 2.4vw, 32px); letter-spacing: -.02em; }
.dl-time-value { font-weight: 300; letter-spacing: -.02em; }
.dl-region strong { font-family: inherit; }
.dl-kicker { font-weight: 600; letter-spacing: .2em; }

/* Cores das seções */
.dl-founder, .dl-production { background: #ecedee; }
.dl-founder-facts, .dl-founder-facts li { border-color: #d3d6da; }
.dl-material-copy p:not(.dl-kicker), .dl-process-content > p:not(.dl-kicker), .dl-time-grid .is-speed p:last-child:not(.dl-time-value) { color: var(--dl-silver); }
.dl-contact-links b { color: var(--dl-gold); }
.dl-footer p, .dl-footer a:not(.dl-wordmark) { color: #a9adb2; }
.dl-footer a:not(.dl-wordmark):hover { color: var(--dl-paper); }

/* Rodapé: endereço + rota (ajuste 3) */
.dl-footer-address { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 6px; padding-top: 16px; border-top: 1px solid rgba(197, 201, 205, .14); color: #a9adb2; font-size: 13px; font-style: normal; line-height: 1.7; }
.dl-footer a.dl-footer-route { color: var(--dl-champagne); font-weight: 500; }
.dl-footer a.dl-footer-route:hover { color: var(--dl-paper); }
.dl-footer .dl-footer-route span[aria-hidden] { margin-left: 6px; }

/* Contato sem a lista duplicada (ajuste 2): texto, atalho para o rodapé e foto em faixa horizontal. */
.dl-contact-direct { display: inline-block; margin-top: 4px; }
.dl-contact-photo { max-width: none; margin-top: 40px; }
.dl-contact-photo picture { aspect-ratio: 16 / 10; overflow: hidden; background: var(--dl-graphite); }
.dl-contact-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }

/* Marca: símbolo LD + DuarteLab + PRÓTESE DIGITAL */
.dl-wordmark { display: inline-flex; align-items: center; gap: 12px; font-size: inherit; letter-spacing: 0; text-decoration: none; }
.dl-wordmark .dl-brand-symbol { width: 40px; height: 40px; flex-shrink: 0; }
.dl-wordmark .dl-brand-text { display: flex; flex-direction: column; color: inherit; font-weight: 400; line-height: 1; }
.dl-wordmark .dl-brand-name { color: inherit; font-size: 21px; font-weight: 400; letter-spacing: -.01em; }
.dl-wordmark .dl-brand-name span { color: var(--dl-gold); font-weight: 400; }
.dl-wordmark .dl-brand-tagline { margin-top: 6px; color: var(--dl-silver); font-size: 8px; font-weight: 500; letter-spacing: .38em; text-transform: uppercase; }
body:not(.home) .dl-wordmark .dl-brand-tagline { color: var(--dl-muted); }
/* Símbolo de fundo claro só no cabeçalho claro das páginas internas (fora do menu móvel aberto). */
.dl-wordmark .dl-brand-symbol.is-light-surface { display: none; }
body:not(.home):not(.dl-menu-open) .dl-header .dl-wordmark .dl-brand-symbol { display: none; }
body:not(.home):not(.dl-menu-open) .dl-header .dl-wordmark .dl-brand-symbol.is-light-surface { display: block; }
.dl-menu-open .dl-wordmark .dl-brand-tagline { color: var(--dl-silver); }
.dl-menu-open .dl-wordmark .dl-brand-name span { color: var(--dl-champagne); }
.dl-header-inner { border-bottom-color: rgba(197, 201, 205, .14); }

/* Cabeçalho fixo durante a rolagem. Fundo sólido (sem backdrop-filter, que prenderia o menu móvel em tela cheia). */
html { scroll-padding-top: 100px; }
.dl-header { position: fixed; top: 0; right: 0; left: 0; background: var(--dl-ink); transition: box-shadow .25s ease; }
body:not(.home) .dl-header { position: sticky; background: var(--dl-ivory); }
body.home .dl-header.is-scrolled { box-shadow: 0 1px 0 rgba(197, 201, 205, .12), 0 10px 30px rgba(0, 0, 0, .35); }
body:not(.home) .dl-header.is-scrolled { box-shadow: 0 1px 0 var(--dl-line), 0 8px 24px rgba(0, 0, 0, .06); }
.dl-header-inner { transition: height .25s ease; }
.dl-header.is-scrolled .dl-header-inner { height: 72px; border-bottom-color: transparent; }
.admin-bar .dl-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .dl-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .dl-header { top: 0; } }
@media (max-width: 760px) {
  html { scroll-padding-top: 84px; }
  .dl-header.is-scrolled .dl-header-inner { height: 64px; }
}
@media (prefers-reduced-motion: reduce) { .dl-header, .dl-header-inner { transition: none; } }
.dl-header-cta { border-bottom-color: var(--dl-gold); }

/* Abertura B: texto e prazos à esquerda, fotografia à direita. */
.dl-hero-split { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); min-height: max(720px, 100svh); align-items: stretch; background: var(--dl-ink); }
.dl-hero-split .dl-hero-copy { position: relative; z-index: 2; width: auto; max-width: none; display: flex; flex-direction: column; justify-content: center; padding: 150px clamp(28px, 5vw, 80px) 72px max(calc((100vw - 1440px) / 2), clamp(20px, 4.5vw, 72px)); }
.dl-hero-split h1 { max-width: 640px; margin: 0; font-size: clamp(38px, 4.2vw, 64px); font-weight: 300 !important; line-height: 1.1; letter-spacing: -.025em; }
.dl-hero-split .dl-hero-copy .dl-hero-lead { max-width: 480px; margin: 26px 0 0; color: var(--dl-silver); font-size: clamp(15px, 1.2vw, 17px); line-height: 1.7; }
.dl-hero-split .dl-actions { margin-top: 36px; flex-wrap: wrap; gap: 12px; }
.dl-button.is-champagne { background: var(--dl-champagne); color: var(--dl-ink); }
.dl-button.is-champagne:hover { background: #e2d4bd; }
.dl-button.is-outline { border: 1px solid rgba(197, 201, 205, .45); background: transparent; color: var(--dl-ivory); }
.dl-button.is-outline:hover { border-color: var(--dl-silver); }
.dl-button:focus-visible { outline: 2px solid var(--dl-champagne); outline-offset: 3px; }
.dl-hero-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 640px; margin: 48px 0 0; padding-top: 24px; border-top: 1px solid rgba(197, 201, 205, .18); }
.dl-hero-facts div { display: flex; flex-direction: column-reverse; gap: 6px; min-width: 0; }
.dl-hero-facts dt { color: var(--dl-silver); font-size: 12px; line-height: 1.5; }
.dl-hero-facts dt a { color: inherit; text-decoration: underline; text-decoration-color: rgba(212, 194, 165, .5); text-underline-offset: 4px; }
.dl-hero-facts dt a:hover { color: var(--dl-champagne); }
.dl-hero-facts dd { margin: 0; color: var(--dl-ivory); font-size: clamp(17px, 1.5vw, 21px); font-weight: 400; line-height: 1.3; }
.dl-hero-split .dl-hero-image { position: relative; inset: auto; min-height: 100%; overflow: hidden; }
.dl-hero-split .dl-hero-image picture { position: absolute; inset: 0; height: 100%; }
.dl-hero-split .dl-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% center; }
.dl-hero-split .dl-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--dl-ink) 0%, rgba(11, 11, 11, .35) 22%, transparent 45%); pointer-events: none; }

@media (max-width: 1120px) {
  .dl-nav a { font-weight: 300; font-size: 24px; letter-spacing: -.01em; }
  .dl-hero-split .dl-hero-copy { padding-right: 32px; }
}
@media (max-width: 900px) {
  .dl-hero-split { grid-template-columns: 1fr; min-height: 0; padding-top: 76px; }
  .dl-hero-split .dl-hero-image { order: -1; min-height: 0; aspect-ratio: 4 / 3; }
  .dl-hero-split .dl-hero-image::after { background: linear-gradient(180deg, transparent 60%, var(--dl-ink) 100%); }
  .dl-hero-split .dl-hero-copy { padding: 28px 20px 64px; }
  .dl-hero-split h1 { font-size: clamp(32px, 8.4vw, 46px); }
}
@media (max-width: 760px) {
  .dl-hero-split .dl-actions { flex-direction: column; align-items: stretch; }
  .dl-hero-split .dl-button { justify-content: space-between; }
  .dl-hero-facts { grid-template-columns: 1fr; gap: 0; margin-top: 36px; padding-top: 0; }
  .dl-hero-facts div { flex-direction: row-reverse; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(197, 201, 205, .14); }
  .dl-hero-facts dd { font-size: 17px; white-space: nowrap; }
  .dl-wordmark .dl-brand-symbol { width: 34px; height: 34px; }
  .dl-wordmark .dl-brand-name { font-size: 18px; }
  .dl-wordmark .dl-brand-tagline { font-size: 7px; letter-spacing: .32em; }
}
