/* Gimnasio Fierro: negro de piso de hule, blanco de cal, un naranja quemado. Bebas Neue + Karla. */
@font-face { font-family: 'Bebas Neue'; src: url('../_shared/fonts/bebas-neue-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Karla'; src: url('../_shared/fonts/karla-latin-wght-normal.woff2') format('woff2-variations'); font-weight: 200 800; font-display: swap; }
:root {
  --bg: #0c0b0a;
  --fg: #f3efe6;
  --muted: #8c867c;
  --line: rgba(243, 239, 230, 0.14);
  --surface: #18150f;
  --accent: #ca4a1c;
  --accent-fg: #f3efe6;
  --font-display: 'Bebas Neue', Impact, 'Arial Narrow', sans-serif;
  --font-body: 'Karla', system-ui, sans-serif;
  --display-weight: 400;
  --display-tracking: -0.01em;
  --radius: 0px;
  --radius-lg: 0px;
  --btn-radius: 0px;
  --step-4: clamp(2.75rem, 1.7rem + 4.4vw, 5.8rem);
  --step-5: clamp(4.25rem, 1.5rem + 11vw, 10rem);
}
/* Nada redondo: el gimnasio no suaviza esquinas. */
.skip-link { border-radius: 0; }

.brand { column-gap: 0.6rem; }
.brand-mark { border-radius: 0; background: var(--accent); color: var(--accent-fg); font-size: 1.25rem; }
.header-cta { background: var(--accent); }

.hero h1 { line-height: 0.88; }
.hero h1 span { color: var(--accent); }
.hero-media img { filter: contrast(1.08) brightness(0.96); }

/* Franja de datos retirada: los números viven en el texto, no en una barra de color. */

/* Zonas: la rejilla borde-cero de la base, sin precio ni enlace por tarjeta. */

/* Ledger de membresías: precios en cifras grandes, sin adornos. */
.ledger .price { color: var(--accent); font-size: var(--step-3); }
.ledger-note { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: var(--step-0); color: var(--fg-soft); }
.ledger-note a { color: var(--fg); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--line); }
.ledger-note a:hover { text-decoration-color: var(--accent); }

/* Horario semanal: la firma de la página. Tabla real, borde grueso, hoy marcado en vivo. */
.sched-frame { border-top: 3px solid var(--fg); border-bottom: 3px solid var(--fg); }
.sched-frame .table { font-size: var(--step-0); }
.sched-frame .table thead th { font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--step-1); letter-spacing: var(--display-tracking); color: var(--fg); border-bottom-width: 2px; }
.sched-frame .table th[scope='row'] { font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--step-2); letter-spacing: var(--display-tracking); color: var(--fg); font-variant-numeric: tabular-nums; }
.sched-frame .table td { font-variant-numeric: tabular-nums; }
.sched-frame .table td[data-empty] { color: var(--fg-mute); }
.sched-frame [data-day].is-today { color: var(--accent); }
.sched-frame td[data-day].is-today { background: rgba(202, 74, 28, 0.07); }
.sched-frame td.is-now { background: var(--accent); color: var(--accent-fg); font-weight: 700; }
.sched-legend { margin-top: 1rem; color: var(--muted); font-size: var(--step--1); }

/* Por qué Fierro: reutiliza el split de la base, sin más ajuste que el color del numeral. */
.reasons .num { color: var(--accent); }

/* Banda de cita: veta de grano sobre toda la franja, no solo la foto. */
.band { isolation: isolate; }
.band blockquote p { max-width: 22ch; }

/* Testimonios y preguntas: comilla y signo en el naranja. */
.quotes blockquote::before { color: var(--accent); }
.faq summary::after { color: var(--accent); }

/* Contacto: la foto es un rincón, no un mapa. */
.contact address strong { font-size: var(--step-2); }
