/* Home — hero, régua da reta, próxima reunião overlap. Moved from the approved mockup. */

.hero { position: relative; background: var(--color-bg); --regua-h: 128px; }
.hero__media { position: relative; height: clamp(600px, 54vw, 800px); overflow: hidden; background: #cdb9a3; }
.hero__media picture { position: absolute; inset: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }
.hero__plate {
  position: absolute; left: var(--gutter); bottom: calc(var(--regua-h) + 18px);
  width: min(1000px, calc(100% - 2 * var(--gutter)));
  background: var(--color-bg); border-radius: var(--radius-m);
  padding: 20px 28px 18px; border-left: 6px solid var(--color-brand);
}
.hero h1 { font-family: var(--font-display); font-stretch: var(--stretch-head); font-weight: 800; font-size: var(--fs-h1); line-height: .98; letter-spacing: -.02em; }
.hero__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 12px; }
.hero__sub { font-size: var(--fs-lead); font-weight: 600; color: var(--color-ink-2); }
.hero__cta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* régua da reta (signature) */
.regua { position: absolute; left: 0; right: 0; bottom: 0; height: var(--regua-h); background: var(--color-bg); border-top: 1px solid var(--color-line); padding: 0 var(--gutter); }
.regua__in { position: relative; max-width: calc(var(--container) - 2 * var(--gutter)); margin: 0 auto; height: 100%; display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 24px; }
.regua__cap { align-self: start; padding-top: 18px; font-size: var(--fs-label); color: var(--color-ink-2); line-height: 1.35; }
.regua__cap b { display: block; font-family: var(--font-display); font-stretch: 72%; font-weight: 800; font-size: .9375rem; color: var(--color-ink); }
.hero .regua__track { margin-top: 48px; margin-right: 12px; }

/* próxima reunião strip overlaps the ruler */
.reuniao { position: relative; z-index: 4; margin-top: -26px; }

/* the home lanes follow the strip */
.home-lanes { padding-top: var(--space-8); }

/* news / últimas do clube (new) */
.news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.news a { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-m); text-decoration: none; transition: border-color var(--dur-fast), transform var(--dur-base) var(--ease); }
.news a:hover { border-color: var(--color-ink); transform: translateY(-2px); }
.news time { font-family: var(--font-mono); font-size: .8125rem; color: var(--color-ink-2); }
.news b { font-family: var(--font-display); font-stretch: 100%; font-weight: 800; line-height: 1.25; }
.news span { margin-top: auto; font-size: .8125rem; color: var(--color-brand-text); font-weight: 700; display: inline-flex; gap: 6px; align-items: center; }

@media (max-width: 900px) {
  .hero { --regua-h: auto; }
  .hero__media { height: clamp(300px, 62vw, 520px); }
  .hero__media img { object-position: 34% 50%; }
  .hero__plate { position: relative; left: auto; bottom: auto; width: auto; margin: -40px var(--gutter) 0; padding: 20px 20px 20px 18px; }
  .hero__row { flex-direction: column; align-items: flex-start; }
  .regua { position: relative; height: auto; border-top: 0; padding-top: 12px; padding-bottom: 66px; }
  .regua__in { grid-template-columns: 1fr; gap: 0; }
  .regua__cap { padding-top: 10px; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
  .regua__cap b { display: inline; }
  .hero .regua__track { margin-top: 84px; }
  .hero .flag--race { height: calc(24px + 72px); }
  .hero .flag--race .flag__chip, .hero .flag--rec .flag__chip { left: auto; right: -1px; }
  .hero .sweep-clip { top: -84px; }
  .mk--hide-s { display: none; }
  .reuniao { margin-top: -36px; }
  .news { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .hero h1 { font-stretch: 108%; }
  .hero__sub { font-size: 1.0625rem; }
  .hero__cta { width: 100%; }
  .hero__cta .btn--primary { flex: 1 1 100%; }
  .hero__cta .btn--line { flex: 1 1 auto; }
  .hero .flag__chip small { display: none; }
}
