/* A identidade oficial combina o dourado da logo com preto e tons claros. */
:root { --brand-content-width: 1152px; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; line-height: 1; }
.brand img { display: block; width: 120px; height: auto; object-fit: contain; }
.announcement { background: var(--brand-dark); color: var(--gold-soft); border-bottom: 1px solid #e4b41f26; }
.header {
  max-width: none; background: var(--brand-dark); color: var(--cream);
  padding: 12px max(36px, calc((100vw - var(--brand-content-width)) / 2));
  border-bottom: 1px solid #e4b41f42;
}
.navigation { font-size: 12px; }
.navigation a:hover, .nav-visit { color: var(--gold-soft); }
.nav-visit { border-left-color: #e4b41f42; }
.header :focus-visible, .footer :focus-visible, .visit :focus-visible { outline-color: var(--gold); }
.button-dark, .mobile-contact-primary {
  background: var(--gold); color: var(--brand-dark); border-color: var(--gold); font-weight: 600;
}
.button-dark:hover, .mobile-contact-primary:hover { background: var(--gold-soft); color: var(--brand-dark); border-color: var(--gold-soft); }
.publication-modes button[aria-selected="true"] { background: var(--gold); color: var(--brand-dark); border-color: var(--gold); font-weight: 600; }
.visit { background: var(--brand-dark); color: var(--cream); border-block: 1px solid #e4b41f42; }
.visit .eyebrow, .visit h2 em { color: var(--gold-soft); }
.visit-inner > p:not(.eyebrow), .contact-information, .contact-pending { color: #e2dccd; }
.visit-points span + span:before { color: var(--gold-soft); }
.button-light { background: var(--gold); color: var(--brand-dark); font-weight: 600; }
.button-light:hover { background: var(--gold-soft); }
.button-outline { border-color: #b79a52; color: var(--cream); }
.button-outline:hover { background: #e4b41f12; border-color: var(--gold); }
.footer.container {
  max-width: none; background: var(--brand-dark); color: var(--cream); border-top: 1px solid #e4b41f42;
  padding-inline: max(36px, calc((100vw - var(--brand-content-width)) / 2));
  gap: 32px;
}
.footer .brand img { width: 128px; }
.footer > div p, .copyright { color: #c5bda9; }
.footer nav a:hover { color: var(--gold-soft); }
@media (min-width: 1500px) { :root { --brand-content-width: 1252px; } }
@media (max-width: 820px), (hover: none) and (pointer: coarse) and (max-width: 1024px) {
  .header { display: grid; grid-template-columns: minmax(48px, 1fr) auto minmax(48px, 1fr); background: var(--brand-dark); min-height: 64px; padding: 8px clamp(20px, 5vw, 32px); }
  .header > .brand { grid-column: 2; grid-row: 1; justify-self: center; }
  .header > a.brand img { transform-origin: center; }
  .header .brand img { width: 88px; }
  .header > .menu-toggle { grid-column: 3; grid-row: 1; justify-self: end; }
  .menu-toggle span { background: var(--gold-soft); }
  .navigation { background: var(--brand-dark); border-bottom: 1px solid #e4b41f42; }
  .nav-visit { border-top-color: #e4b41f42; }
  .footer.container { padding-inline: clamp(20px, 5vw, 32px); }
  .footer .brand img { width: 104px; }
}
@media (max-width: 360px) { .header .brand img { width: 80px; } }
