/*
  V68 — FINAL RHYTHM AUDIT
  One structural source of truth for the primary page-hero geometry.
  This layer intentionally overrides earlier page-specific rhythm rules
  instead of adding another page-specific patch.
*/
:root{
  --lm-hero-top:168px;
  --lm-hero-top-tablet:148px;
  --lm-hero-top-mobile:112px;
  --lm-kicker-title-gap:24px;
  --lm-subtitle-gap:22px;
  --lm-subtitle-size:clamp(18px,1.45vw,20px);
  --lm-subtitle-line:1.18;
  --lm-subtitle-track:-.025em;
}

/* Primary page heroes: identical header → kicker start. */
.hero,
.works-intro,
.ideas-hero,
.sobre-hero,
.contact-hero,
.project-hero{
  padding-top:var(--lm-hero-top) !important;
}

/* Identical kicker → title rhythm. */
.hero .page-kicker,
.works-intro .page-kicker,
.works-intro .eyebrow,
.ideas-hero .ideas-kicker,
.ideas-hero .page-kicker,
.sobre-hero .sobre-kicker,
.contact-hero .page-kicker,
.contact-hero .project-kicker,
.project-hero .project-kicker{
  margin-top:0 !important;
  margin-bottom:var(--lm-kicker-title-gap) !important;
  text-align:center !important;
  font-size:13px !important;
  line-height:1.2 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

/* One subtitle scale and rhythm across all primary pages. */
.hero .hero-note,
.works-intro .large-statement-subtitle,
.ideas-hero .hero-note,
.sobre-hero__subtitle,
.contact-hero > p:last-child,
.project-hero__intro{
  font-size:var(--lm-subtitle-size) !important;
  line-height:var(--lm-subtitle-line) !important;
  letter-spacing:var(--lm-subtitle-track) !important;
  margin-top:var(--lm-subtitle-gap) !important;
  font-family:inherit !important;
  font-weight:400 !important;
}

/* Contact hero uses the same centered content geometry. */
.contact-hero,
.contact-hero h1,
.contact-hero > p:last-child{
  text-align:center !important;
}

/* Contact kicker: full hero width prevents the generic subtitle max-width from shifting its optical center. */
.contact-hero .project-kicker{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Sobre mí: the portrait reduction is structural, not a visual crop patch. */
.sobre-intro{
  grid-template-columns:minmax(0,1fr) minmax(270px,.70fr) !important;
}
.sobre-intro__portrait{
  width:100% !important;
  max-width:390px !important;
  justify-self:end !important;
}

/* Trabajos: keep the gallery clean while restoring the approved hover payload. */
.works-list .project-overlay{display:block !important;}
.works-list .project-overlay-content{
  display:flex !important;
  position:absolute;
  left:clamp(18px,2.2vw,30px);
  bottom:clamp(18px,2.2vw,30px);
  z-index:5;
  flex-direction:column;
  gap:5px;
  color:var(--white);
  pointer-events:none;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s var(--ease-standard),transform .35s var(--ease-standard);
}
.works-list .project-overlay-content strong{
  font-size:clamp(20px,2vw,30px);
  line-height:1;
  letter-spacing:-.025em;
  font-weight:800;
}
.works-list .project-overlay-content em{
  font-size:16px;
  line-height:1.1;
  letter-spacing:0;
  text-transform:none;
  font-style:normal;
  font-weight:700;
  opacity:1;
  padding:15px 22px;
  border:1px solid var(--orange);
  background:var(--orange);
  color:var(--blue);
}
.works-list .project:hover .project-overlay-content,
.works-list .project:focus-visible .project-overlay-content{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:1100px){
  .hero,
  .works-intro,
  .ideas-hero,
  .sobre-hero,
  .contact-hero,
  .project-hero{padding-top:var(--lm-hero-top-tablet) !important;}
}

@media(max-width:800px){
  .hero,
  .works-intro,
  .ideas-hero,
  .sobre-hero,
  .contact-hero,
  .project-hero{padding-top:var(--lm-hero-top-mobile) !important;}

  .sobre-intro{
    grid-template-columns:1fr !important;
  }
  .sobre-intro__portrait{
    max-width:none !important;
    width:100% !important;
    justify-self:stretch !important;
  }

  .works-list .project-overlay-content{
    left:16px;
    bottom:16px;
  }
}

@media(max-width:560px){
  .sobre-hero__subtitle,
  .contact-hero > p:last-child,
  .ideas-hero .hero-note,
  .works-intro .large-statement-subtitle,
  .hero .hero-note,
  .project-hero__intro{
    font-size:18px !important;
  }
}


/* V75 — Sobre mí: "Mi identidad..." follows the secondary heading hierarchy
   used by project section titles, while keeping the established blue-panel rhythm. */
.sobre-intro__label{
  margin:0 0 clamp(20px,2.2vw,28px) !important;
  font-size:clamp(32px,3.6vw,48px) !important;
  line-height:.96 !important;
  letter-spacing:-.035em !important;
  font-weight:800 !important;
  text-transform:none !important;
}
@media(max-width:800px){
  .sobre-intro__label{
    font-size:clamp(28px,7vw,38px) !important;
    line-height:.98 !important;
    margin-bottom:20px !important;
  }
}
