/* Shared styles for index.html and espanol.html. */
@layer reset, base, layout;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  body, h1, p { margin: 0; }
}

@layer base {
  :root {
    --navy: #315571;
    --gold: #806324;
    --gold-dark: #624b1d;
    --ink: #282b30;
    --surface: #f4f6f8;
  }

  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    background: var(--surface, #f4f6f8);
    color: var(--ink, #282b30);
    font-family: 'Sitka Text', 'Sitka', Georgia, 'Times New Roman', serif;
    font-size: 1.25rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }

  h1 {
    margin-block-end: 1rem;
    color: var(--navy, #315571);
    font-family: 'Sitka Heading', 'Sitka Display', 'Sitka', Georgia, 'Times New Roman', serif;
    font-size: clamp(2.25rem, 6vw, 4rem);
    line-height: 1.2;
    text-wrap: balance;
  }

  p { text-wrap: pretty; }
  p + p { margin-block-start: 1.25em; }
  p:lang(es) { text-align: justify; hyphens: auto; }

  a {
    color: var(--gold, #806324);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  a:hover { color: var(--gold-dark, #624b1d); }

  a:focus-visible {
    outline: 3px solid var(--navy, #315571);
    outline-offset: 3px;
    border-radius: 3px;
  }

  ::selection { background: #d2dbe1; color: var(--ink, #282b30); }
}

@layer layout {
  body { padding: 3rem 1.25rem; }

  main {
    max-inline-size: 68ch;
    overflow-wrap: break-word;
  }

  .photo-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin-block: 1.5rem 2rem;
  }

  .photo-panel img {
    display: block;
    inline-size: 100%;
    block-size: auto;
    max-block-size: 300px;
    aspect-ratio: 1;
    border: 1px solid rgb(49 85 113 / .16);
    border-radius: .5rem;
    box-shadow: 0 2px 8px rgb(32 56 77 / .1);
  }

  footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1.5rem;
    margin-block-start: 2rem;
    font-size: 1rem;
    line-height: 1.5;
  }

  footer a,
  .coord-pin {
    display: inline-flex;
    align-items: center;
    min-block-size: 2.75rem;
  }

  .coord-pin {
    gap: .375rem;
    min-inline-size: 0;
    max-inline-size: 100%;
    color: #69707d;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: .875rem;
  }

  .pin-icon {
    display: block;
    flex: 0 0 1rem;
    inline-size: 1rem;
    block-size: 1rem;
  }

  .coord-text { font-variant-numeric: tabular-nums; }

  @media (min-width: 60rem) {
    body { padding-inline-start: 20%; }
  }
}
