/* Dorado del logo oficial: #F7CE76. Fondo oscuro para que el logo luzca y se lea. */
:root {
  --fondo: #15120e;
  --fondo-luz: #241e16;
  --tinta: #f4ede3;
  --tenue: #b3a797;
  --oro: #f7ce76;
  --oro-linea: rgba(247, 206, 118, .45);
  --serif: "Palatino Linotype", Palatino, "Book Antiqua", "Iowan Old Style", "URW Palladio L", Georgia, serif;
  --sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  background: var(--fondo);
  color-scheme: dark;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(ellipse 80% 60% at 50% 35%, var(--fondo-luz) 0%, rgba(36, 30, 22, 0) 70%),
    var(--fondo);
  color: var(--tinta);
  font-family: var(--sans);
  text-align: center;
}

.portada {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(2.5rem, 8vw, 5rem) 1.5rem 2rem;
}

.logo {
  display: block;
  width: clamp(9.5rem, 40vw, 14rem);
  height: auto;
}

.filete {
  position: relative;
  width: 7rem;
  height: 1px;
  margin: clamp(2rem, 6vw, 2.75rem) 0;
  background: linear-gradient(90deg, transparent, var(--oro-linea) 30%, var(--oro-linea) 70%, transparent);
}

.filete::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  background: var(--fondo);
  border: 1px solid var(--oro-linea);
  transform: translate(-50%, -50%) rotate(45deg);
}

h1 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(2.1rem, 7vw, 3.6rem);
  line-height: 1.12;
  letter-spacing: .01em;
  text-wrap: balance;
}

.subtitulo {
  margin: 1.25rem 0 0;
  font-size: clamp(1rem, 2.6vw, 1.12rem);
  text-wrap: balance;
}

.subtitulo.en {
  margin-top: .35rem;
  font-size: clamp(.9rem, 2.3vw, .98rem);
  font-style: italic;
  color: var(--tenue);
}

.pronto {
  margin: clamp(2.5rem, 8vw, 3.5rem) 0 0;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .32em;
  margin-right: -.32em; /* compensa el espaciado final para centrar */
  text-transform: uppercase;
  color: var(--oro);
}

.pronto span { font-weight: 400; }

.contacto {
  display: inline-flex;
  flex-direction: column;
  gap: .2rem;
  margin-top: clamp(2.5rem, 8vw, 3.5rem);
  padding: .9rem 1.4rem;
  border: 1px solid rgba(247, 206, 118, .35);
  border-radius: 999px;
  color: var(--tinta);
  font-size: .92rem;
  text-decoration: none;
  transition: border-color .2s, background-color .2s;
}

.contacto .en {
  font-size: .8rem;
  font-style: italic;
  color: var(--tenue);
}

.contacto:hover,
.contacto:focus-visible {
  border-color: var(--oro);
  background: rgba(247, 206, 118, .06);
}

.contacto:focus-visible {
  outline: 2px solid var(--oro);
  outline-offset: 3px;
}

.pie {
  padding: 1.5rem;
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--tenue);
}
