/* HOME — composiciones propias (sistema en css/core.css) */

/* ---- HERO ---- */
.home-hero__eyebrow { margin-bottom: clamp(1rem, 3vh, 2rem); }

.home-hero__title { display: flex; flex-direction: column; margin-left: -0.06em; }
.home-hero__line { display: block; }
.home-hero__line--whisper em {
  font-size: 0.92em;
  letter-spacing: -0.01em;
  text-transform: none;
}

.home-hero__base {
  display: grid;
  gap: var(--s-8);
  margin-top: clamp(1.5rem, 4vh, 3rem);
  padding-top: var(--s-6);
  border-top: 1px solid var(--line);
}
@media (min-width: 900px) {
  .home-hero__base { grid-template-columns: minmax(0, 56ch) auto; align-items: end; justify-content: space-between; }
}
.home-hero__subtitle { color: var(--ink-2); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--s-3); }

.home-hero__ring {
  position: absolute;
  top: calc(var(--header-h) + clamp(1rem, 4vh, 3rem));
  right: clamp(1rem, 4vw, 4rem);
  z-index: 2;
  display: none;
}
@media (min-width: 1024px) { .home-hero__ring { display: block; } }

.home-hero__scrollcue {
  position: absolute;
  left: var(--pad);
  bottom: var(--s-4);
  z-index: 2;
  display: none;
}
@media (min-width: 1024px) { .home-hero__scrollcue { display: block; } }

.hero.frame-marks::before { top: calc(var(--header-h) + 14px); left: 14px; }
.hero.frame-marks::after { bottom: 14px; right: 14px; }

/* ---- 01 · DECLARACIÓN ---- */
.home-decl { padding-block: var(--sec); }
.home-decl__wall { display: flex; flex-direction: column; }
.home-decl__row {
  display: block;
  padding-block: clamp(1rem, 3vw, 2.5rem);
  border-bottom: 1px solid var(--line);
}
.home-decl__row:first-child { border-top: 1px solid var(--line-strong); }
.home-decl__row--gold { color: var(--gold); }

/* ---- 02 · PACKS ---- */
.home-packs__intro { margin-bottom: clamp(2.5rem, 6vw, 5rem); align-items: end; }

.ledger__head { text-decoration: none; transition: background var(--snap), color var(--snap); }
.ledger__head:hover { background: var(--gold); }
.ledger__head:hover .ledger__name,
.ledger__head:hover .ledger__price,
.ledger__head:hover .ledger__index,
.ledger__head:hover .ledger__price small { color: var(--on-gold); }
.ledger__head:hover { padding-left: var(--s-4); padding-right: var(--s-4); margin-inline: calc(-1 * var(--s-4)); }

.home-packs__featured { background: var(--bg1); }
.home-packs__featured .ledger__head,
.home-packs__featured .ledger__body { padding-inline: clamp(1rem, 3vw, 2.5rem); }
.home-packs__featured .ledger__head:hover { margin-inline: 0; }
.home-packs__featured .ledger__name { color: var(--gold-bright); }

.home-packs__ideal {
  margin-top: var(--s-6);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.1875rem;
  color: var(--ink-3);
}
.home-packs__alacarte {
  margin-top: clamp(2rem, 5vw, 3.5rem);
  padding-top: var(--s-6);
  border-top: 1px solid var(--line);
  color: var(--ink-3);
  font-size: 0.9375rem;
  max-width: none;
}

/* ---- 03 · EL OFICIO ---- */
.home-craft { position: relative; }
.home-craft__media { aspect-ratio: 21 / 9; min-height: 360px; }
.home-craft__media img { width: 100%; height: 100%; object-fit: cover; }
.home-craft__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: clamp(2rem, 6vh, 4rem);
  background: linear-gradient(to top, rgba(10, 10, 15, 0.82), transparent 55%);
}
.home-craft__overlay .whisper { font-size: clamp(2rem, 5vw, 4rem); }

/* ---- 04 · POR QUÉ ---- */
.home-why__list { counter-reset: why; border-top: 1px solid var(--line-strong); }
.home-why__item {
  display: grid;
  gap: var(--s-4);
  padding-block: clamp(1.75rem, 4vw, 3rem);
  border-bottom: 1px solid var(--line);
}
@media (min-width: 900px) {
  .home-why__item { grid-template-columns: 6rem minmax(0, 1fr) 16rem; gap: var(--s-8); align-items: start; }
}
.home-why__item h3 { margin-bottom: var(--s-2); text-transform: uppercase; }
.home-why__datum { display: flex; flex-direction: column; gap: var(--s-1); }
@media (min-width: 900px) { .home-why__datum { text-align: right; align-items: flex-end; } }
.home-why__figure {
  font-family: var(--font-mono);
  font-weight: 300;
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1;
  color: var(--gold-bright);
  font-variant-numeric: tabular-nums;
}

/* ---- 07 · CTA FINAL ---- */
.home-cta__title { font-size: clamp(2.75rem, 8vw, 7rem); max-width: 14ch; }
.home-cta__actions { margin-top: clamp(2rem, 5vw, 3.5rem); }
.home-cta__bar {
  margin-top: clamp(3rem, 8vw, 6rem);
  padding-top: var(--s-8);
  border-top: 1px solid var(--line-strong);
  display: grid;
  gap: var(--s-6);
}
@media (min-width: 900px) { .home-cta__bar { grid-template-columns: auto 1fr; align-items: baseline; gap: var(--s-12); } }
.home-cta__tel {
  font-family: var(--font-mono);
  font-weight: 300;
  font-size: clamp(2rem, 6vw, 4.5rem);
  letter-spacing: 0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  transition: color var(--snap);
}
.home-cta__tel:hover { color: var(--gold-bright); }
.home-cta__channels { display: flex; flex-wrap: wrap; gap: var(--s-6); align-items: baseline; }
@media (min-width: 900px) { .home-cta__channels { justify-content: flex-end; } }
