/* Abundelo — Home page overrides
   Everything shared (kicker, field-section, text-link, etc.) now lives in
   styles.css. This file only holds the handful of things unique to the
   homepage: a larger display size for the masthead, and the photo/partner
   layout quirks specific to this page. */

.hero-intro h1 { font-size: clamp(44px, 8vw, 92px); line-height: 0.95; }
.hero-intro .sub { max-width: 560px; }

/* Full-bleed hero with stats layered on top — a stronger opening screen */
.field-hero {
  position: relative;
  height: clamp(560px, 92vh, 880px);
  background-size: cover;
  background-position: center 30%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.field-hero::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(18,22,15,0.08) 0%, rgba(18,22,15,0.18) 40%, rgba(18,22,15,0.88) 88%, rgba(18,22,15,0.97) 100%);
}
.field-hero-copy { position: relative; z-index: 2; padding: 0 28px 40px; }
.field-hero-copy .kicker { margin-bottom: 18px; }
.field-hero-copy h1 {
  font-size: clamp(48px, 10vw, 120px);
  line-height: 0.92;
  margin: 0 0 16px;
}
.field-hero-copy .sub {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: clamp(16px, 2vw, 20px);
  color: var(--ink-dim);
  max-width: 560px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.hero-stats {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  background: rgba(13, 16, 10, 0.55);
}
.hero-stats .stat { padding: 20px 24px; border-right: 1px solid var(--line); min-width: 0; }
.hero-stats .stat:last-child { border-right: none; }
.hero-stats .num {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-size: clamp(26px, 3.2vw, 46px);
  color: var(--ink);
  line-height: 1;
  white-space: nowrap;
}
.hero-stats .label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-dim);
  margin-top: 6px;
}
@media (max-width: 560px) {
  .hero-stats .stat { padding: 14px 10px; }
  .hero-stats .num { font-size: 22px; }
  .hero-stats .label { font-size: 8.5px; letter-spacing: 0.08em; }
}

.map-frame-home {
  background: var(--bg-darker);
  border: 1px solid var(--line);
  padding: 18px;
}
.map-frame-home img { box-shadow: none; }

.partner-strip { text-align: center; }
.partner-strip .kicker { justify-content: center; margin: 0 auto 40px; }
.partner-strip .partner-row { padding-bottom: 8px; }
