:root {
  --background: #f6c90e;
  --foreground: #090a0c;
  --muted: #6c6b66;
  --line: rgba(9, 10, 12, 0.22);
  font-family: Arial, Helvetica, sans-serif;
  color: var(--foreground);
  background: var(--background);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body { background: var(--background); }

.landing-shell {
  position: relative;
  display: grid;
  min-height: 100svh;
  place-items: start center;
  overflow: hidden;
  padding: clamp(2rem, 6vw, 5rem) 1.5rem;
  background-color: var(--background);
}

.landing-shell::before {
  position: absolute;
  inset: 1rem;
  border: 1px solid rgba(9, 10, 12, 0.12);
  content: '';
  pointer-events: none;
}

.landing-shell::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url('/fondo-lineas.png');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  content: '';
  pointer-events: none;
}

.hero {
  position: relative;
  z-index: 1;
  width: min(100%, 64rem);
  margin-top: clamp(1.5rem, 3vh, 2.5rem);
  text-align: center;
}
.brand-logo { display: block; width: min(78vw, 42rem); height: auto; margin: 0 auto; }

.rule {
  width: 3.5rem;
  height: 3px;
  margin: clamp(2rem, 5vh, 3.5rem) auto clamp(1.5rem, 3vh, 2.25rem);
  background: var(--foreground);
}

h1 {
  max-width: 52rem;
  margin: 0 auto;
  font-size: clamp(1.5rem, 3vw, 2.65rem);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.contact-intro {
  margin: clamp(1.75rem, 4vh, 2.75rem) auto 0;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  font-weight: 700;
}

.contact-grid {
  display: grid;
  max-width: 46rem;
  margin: 1.25rem auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  text-align: left;
}

.contact-grid label { display: grid; gap: 0.6rem; }
.contact-grid span { font-size: 0.69rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }

.contact-grid input {
  width: 100%;
  height: 3.7rem;
  border: 1px solid var(--line);
  border-radius: 0;
  outline: none;
  background: rgba(255, 255, 255, 0.86);
  padding: 0 1.1rem;
  color: var(--foreground);
  font: inherit;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.contact-grid input::placeholder { color: var(--muted); }
.contact-grid input:focus { border-color: var(--foreground); background: #fff; box-shadow: 5px 5px 0 var(--foreground); }

.signature {
  position: absolute;
  z-index: 1;
  right: clamp(2rem, 5vw, 5rem);
  bottom: clamp(2rem, 4vw, 3rem);
  margin: 0;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.32em;
}

@media (max-width: 640px) {
  .landing-shell { padding-inline: 2rem; }
  .landing-shell::after {
    background-position: top center;
  }
  .landing-shell::before { inset: 0.65rem; }
  .brand-logo { width: min(84vw, 31rem); }
  .hero { margin-top: 1.5rem; }
  .contact-grid { grid-template-columns: 1fr; }
  .signature { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
