:root {
      --gold: #d8c06a;
      --bg-top: #84213f;
      --bg-bottom: #b35b66;
    }

    * {
      box-sizing: border-box;
    }

    html, body {
      height: 100%;
      margin: 0;
      font-family: "Montserrat", system-ui, -apple-system, sans-serif;
    }


body {
  min-height: 100vh;
  margin: 0;
  font-family: "Montserrat", system-ui, -apple-system, sans-serif;

  /* Degradado de fondo */
  background: linear-gradient(to bottom, var(--bg-top) 0%, var(--bg-bottom) 100%);
  background-repeat: no-repeat;   /* que no se repita */
  background-attachment: fixed;   /* fijar respecto al viewport */
  background-size: cover;         /* cubrir toda la pantalla */
color: var(--gold);
}

    .hero {
      min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 40px 5vw 30px;
    }

    .logo-section {
      text-align: center;
      margin-top: 20px;
    }

    .logo-section img {
      max-width: 500px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 25px;
    }

    .brand-name {
      font-size: clamp(2.3rem, 4vw, 3.5rem);
      letter-spacing: 0.65em;
      text-indent: 0.65em; /* para que la primera letra no quede muy separada del borde */
      font-weight: 400;
    }

    .contact-bar {
      width: 100%;
      max-width: 1200px;
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 32px;
      font-size: 1rem;
      flex-wrap: wrap;
    }

    .contact-column {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .contact-item {
      display: flex;
      align-items: center;
      gap: 10px;
      white-space: nowrap;
    }

    .contact-item i {
      font-size: 1.4rem;
    }

    a {
      color: var(--gold);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    /* Iconos de fondo redondo tipo “badge” */
    .icon-circle {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      border: 2px solid var(--gold);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    /* Ajustes responsive */
    @media (max-width: 768px) {
      .hero {
        padding: 30px 7vw 25px;
      }

      .brand-name {
        letter-spacing: 0.45em;
        text-indent: 0.45em;
      }

      .contact-bar {
        flex-direction: column;
        align-items: center;
        text-align: center;
      }

      .contact-column {
        align-items: center;
      }

      .contact-item {
        justify-content: center;
        flex-wrap: wrap;
        white-space: normal;
      }
    }