
.hero-signature{
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-4);
  width:100%; padding-bottom:var(--space-6); margin-bottom:var(--space-7);
  border-bottom:1px solid var(--border);
}
.hero-signature img{
  width:min(320px, 58vw); height:auto; object-fit:contain; object-position:left center;
}
.hero-signature span{
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-300); white-space:nowrap;
}
@media (max-width:600px){
  .hero-signature{align-items:flex-start; flex-direction:column;}
  .hero-signature span{white-space:normal;}
}
/* ============================================================
   HOME — específico de la portada (no se reutiliza en 02-10)
   ============================================================ */

.home-hero{
  padding:var(--space-9) 0 var(--space-7);
  min-height:86vh;
  display:flex; flex-direction:column; justify-content:center;
}
.home-hero .hero-headline{max-width:20ch; font-size:var(--fs-display-xl);}
.home-hero-visual{
  width:100%; height:min(64vh, 620px); border-radius:var(--radius-l);
  margin-top:var(--space-8);
}
.scroll-cue{
  display:flex; align-items:center; gap:8px; margin-top:var(--space-6);
  font-size:12px; color:var(--ink-300); font-weight:600; letter-spacing:.04em;
}
.scroll-cue .arrow{animation:bob 1.8s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);} 50%{transform:translateY(5px);}}

/* ---------- North star statement ---------- */
.northstar{
  padding:var(--space-10) 0;
  border-top:1px solid var(--border);
  text-align:center;
}
.northstar-eyebrow{
  font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-300); margin-bottom:var(--space-6);
}
.northstar-statement{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(1.8rem, 3.4vw, 3.1rem); line-height:1.2;
  color:var(--ink-900); max-width:20ch; margin:0 auto;
  letter-spacing:-.01em;
}
.northstar-statement em{
  font-style:normal; color:var(--action);
}

/* ---------- Module grid (exploración) ---------- */
.explore{
  padding:var(--space-9) 0 var(--space-10);
  border-top:1px solid var(--border);
}
.explore-head{
  display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:var(--space-7);
  gap:var(--space-5);
}
.explore-head h2{
  font-family:var(--font-display); font-weight:700; font-size:var(--fs-display-m);
  margin:0; color:var(--ink-900);
}
.explore-head p{margin:6px 0 0; color:var(--ink-500); font-size:var(--fs-body);}

.module-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-5);
}
.module-card{
  border-radius:var(--radius-l); overflow:hidden; text-decoration:none; color:var(--ink-900);
  background:var(--surface-1);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease);
  position:relative;
}
.module-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-card-hover);}
.module-card .thumb{width:100%; height:220px;}
.module-card .body{padding:var(--space-5);}
.module-card .n{
  font-family:var(--font-mono); font-size:11px; color:var(--ink-300); display:block; margin-bottom:6px;
}
.module-card h3{margin:0 0 4px; font-size:1.05rem; font-weight:700;}
.module-card p{margin:0; font-size:var(--fs-body-s); color:var(--ink-500);}
.module-card .soon-badge{
  position:absolute; top:14px; right:14px; background:rgba(255,255,255,.92); backdrop-filter:blur(4px);
  font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink-500); padding:4px 9px; border-radius:20px;
}
.module-card.is-soon{opacity:.72; cursor:default;}
.module-card.is-soon:hover{transform:none; box-shadow:none;}

@media (max-width: 960px){
  .module-grid{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width: 600px){
  .module-grid{grid-template-columns:1fr;}
  .home-hero{min-height:auto;}
}
