/* ==========================================================================
   Página 404
   --------------------------------------------------------------------------
   Estos estilos estaban dentro de un <style> en línea en 404.html, y el
   navegador los estaba descartando: la CSP del sitio es

       style-src 'self'

   sin 'unsafe-inline', así que un <style> en línea no se aplica. El
   resultado era una 404 sin formato: sin centrado, sin altura mínima, con
   el logo descolocado y el texto en el tamaño por defecto.

   Se mueven a una hoja externa, que 'self' sí permite. De paso se cumple lo
   que el propio comentario del <style> decía querer: la página de error no
   depende de que style.css siga igual.

   Los valores están escritos en hexadecimal y no con var() a propósito: esta
   hoja se carga sin depender de que las variables custom de style.css estén
   definidas primero. Así se ve igual aunque style.css cambie.

   No se redefinen .brand-mark ni .button. Los estilos globales de style.css
   ya los definen bien: .brand-mark es un disco circular de 42 px con la
   imagen al 100% dentro, y el logo de la 404 debe ser ese mismo disco, no
   una variante. Redefinirlo aqui solo creaba un conflicto sin resultado.
   ========================================================================== */

.error-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: #f7f7f4;
  color: #122c42;
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  margin: 0;
}

.error-wrap {
  max-width: 620px;
  padding: 48px 24px;
  text-align: left;
}

.error-brand {
  /* display:flex y NO inline-flex: con inline-flex la marca entra en el
     flujo en línea y el "Error 404" se coloca a su lado en vez de debajo. */
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  margin-bottom: 48px;
}

.error-brand .brand-copy strong,
.error-brand .brand-copy small {
  display: block;
  line-height: 1.15;
}

.error-brand .brand-copy strong {
  font-size: 17px;
  font-weight: 800;
}

.error-brand .brand-copy small {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #267b6b;
}

.error-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #267b6b;
}

.error-page .eyebrow-line {
  width: 28px;
  height: 2px;
  background: #e5b85c;
}

.error-page h1 {
  margin: 0 0 18px;
  font-size: clamp(34px, 7vw, 54px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.error-page h1 em {
  font-style: normal;
  color: #267b6b;
}

.error-lead {
  margin: 0 0 30px;
  font-size: 17px;
  line-height: 1.65;
  color: #536875;
}

.error-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-bottom: 44px;
}

.button {
  display: inline-block;
  padding: 14px 24px;
  border-radius: 999px;
  background: #0b1d2d;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
}

.text-link {
  color: #122c42;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid #e5b85c;
  padding-bottom: 2px;
}

.error-contact {
  border-top: 1px solid #dcdcd4;
  padding-top: 22px;
  font-size: 15px;
}

.error-contact p {
  margin: 0 0 8px;
}

.error-contact ul {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #536875;
}

.error-contact a {
  color: #267b6b;
}
