/* Ajustes de cabecera solicitados: logo y navegación más visibles. */
@media (min-width: 1001px) {
  .site-header {
    height: 148px;
    padding-left: clamp(38px, 5vw, 82px);
    padding-right: clamp(38px, 5vw, 82px);
  }

  .site-header.scrolled { height: 104px; }

  .brand {
    width: clamp(235px, 17vw, 285px);
    flex: 0 0 auto;
  }

  .site-header nav {
    gap: clamp(15px, 1.55vw, 27px);
  }

  .site-header nav a {
    font-size: clamp(16px, 1.08vw, 19px);
  }
}

.fair-rates {
  position: relative;
  overflow: hidden;
  background: var(--ink);
  color: white;
}

.fair-rates::before {
  content: "FERIA";
  position: absolute;
  right: -25px;
  top: -80px;
  color: rgba(255, 255, 255, .025);
  font: 600 clamp(170px, 25vw, 390px)/1 var(--display);
}

.fair-shell {
  position: relative;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(55px, 7vw, 105px);
  align-items: center;
}

.fair-intro h2 {
  margin: 0 0 28px;
  font: 500 clamp(48px, 5vw, 75px)/.92 var(--display);
}

.fair-intro h2 em {
  color: var(--gold);
  font-weight: 500;
}

.fair-intro > p:not(.kicker) {
  max-width: 480px;
  margin-bottom: 34px;
  color: #d4d4d8;
}

.fair-button { background: var(--gold); }

.fair-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.rate-card {
  min-height: 260px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .055);
}

.rate-card.featured {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--ink);
}

.rate-label {
  min-height: 45px;
  margin: 0 0 20px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .15em;
}

.price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
}

.price small { width: 100%; color: #bfc0c5; }
.featured .price small { color: var(--ink); }
.price strong { font: 600 54px/1 var(--display); }
.price span { font-size: 13px; }
.rate-card > p:not(.rate-label, .total) { margin: 18px 0 0; font-size: 14px; }
.total { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid rgba(63, 65, 78, .25); font-size: 14px; }

.fair-conditions {
  grid-column: 1 / -1;
  padding: 28px 32px;
  border-left: 3px solid var(--gold);
  background: rgba(255, 255, 255, .04);
}

.fair-conditions h3 { margin: 0 0 10px; font: 600 27px var(--display); }
.fair-conditions ul { margin: 0; padding-left: 20px; color: #d4d4d8; font-size: 14px; }
.fair-conditions > p { margin: 18px 0 0; color: var(--gold); font-weight: 600; }

@media (max-width: 1000px) {
  .fair-shell { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .fair-content { grid-template-columns: 1fr; }
  .rate-card { min-height: auto; padding: 25px; }
  .fair-conditions { padding: 24px; }
}
