@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  * { margin: 0; }
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-block-start: calc(var(--header-h) + var(--s-5)); }
  img, picture, svg, video, iframe { display: block; max-inline-size: 100%; }
  img { block-size: auto; }
  button, input { font: inherit; color: inherit; }
  ul[class], ol[class] { list-style: none; padding: 0; }
  a { color: inherit; }
  table { border-collapse: collapse; }
}

@layer base {
  html { background: var(--black); }
  body {
    min-block-size: 100svh;
    background: var(--black);
    color: var(--gray-1);
    font: 400 var(--t-md)/1.75 var(--f-sans);
    letter-spacing: 0;
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  body.menu-open { overflow: hidden; }
  ::selection { background: var(--gold); color: var(--black); }

  h1, h2, h3, h4 { color: var(--white); font-weight: 700; letter-spacing: -.03em; line-height: 1.04; text-wrap: balance; }
  h1 { font-size: var(--t-3xl); letter-spacing: -.03em; }
  h2 { font-size: var(--t-2xl); }
  h3 { font-size: var(--t-lg); letter-spacing: -.02em; line-height: 1.15; }
  /* destaque dourado, peso fino: o contraste fino/grosso e a assinatura tipografica */
  h1 em, h2 em, h3 em { font-style: normal; font-weight: 300; color: var(--gold-hi); }
  p { text-wrap: pretty; }
  strong, b { font-weight: 600; color: var(--white); }
  address { font-style: normal; }

  a { text-decoration-color: var(--line-gold); text-underline-offset: .22em; transition: color .3s var(--ease); }
  a:hover { color: var(--gold-hi); }
  :where(a, button, summary, input, [tabindex]):focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 2px; }

  .eyebrow {
    display: inline-flex; align-items: center; gap: var(--s-4);
    font: 500 var(--t-xs)/1.4 var(--f-mono); letter-spacing: .22em; text-transform: uppercase; color: var(--gold);
  }
  .eyebrow::before { content: ""; inline-size: var(--s-6); block-size: 1px; background: currentColor; flex: none; }
  .lead { font-size: var(--t-lg); line-height: 1.55; color: var(--gray-1); max-inline-size: 46ch; font-weight: 300; }
  .sr-only { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .mt-13 { margin-block-start: var(--s-5); }
  .mt-21 { margin-block-start: var(--s-6); }
  .center { text-align: center; }
  [hidden] { display: none !important; }
  .ux-404 { min-block-size: 100svh; display: grid; align-content: center; padding: calc(var(--header-h) + var(--s-7)) var(--gutter) var(--s-8); }
  .ux-404 b { display: block; font: 300 clamp(7rem, 3rem + 28vw, 26rem)/.8 var(--f-sans); letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1px var(--gold); }
  .ux-404 h1 { font-size: var(--t-2xl); margin-block-start: var(--s-6); max-inline-size: 14ch; }
  .ux-404 .links { display: flex; flex-wrap: wrap; gap: var(--s-4) var(--s-6); margin-block-start: var(--s-6); align-items: center; }
}
