/* Portadas: tipografía local y medidas comunes tomadas de las referencias. */
@font-face {
  font-family: "LF Cover Reference";
  src: url("../assets/fonts/nanum-myeongjo-latin-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --lf-cover-gold: linear-gradient(100deg, #c3993b 0%, #fbf3b8 37%, #b88c2b 58%, #f5ebb1 81%, #bd933b 100%);
}
html body :is(.about-hero, .services-cover-hero, .contact-reference-hero).lf-reference-cover {
  --lf-cover-size: 64.8px;
  position: relative !important;
  height: 347px !important;
  min-height: 347px !important;
  padding: 0 !important;
  border-top: 0 !important;
}
html body .lf-reference-cover :is(.services-cover-hero__inner, .contact-hero-center) {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
html body :is(.about-hero, .services-cover-hero, .contact-reference-hero).lf-reference-cover h1 {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: calc(50% + 4px) !important;
  bottom: auto !important;
  z-index: 3;
  width: max-content !important;
  max-width: calc(100% - 32px) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  font-family: "LF Cover Reference", "Nanum Myeongjo", serif !important;
  font-size: var(--lf-cover-size) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-wrap: balance;
  color: #c9a84c !important;
  background-image: var(--lf-cover-gold) !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
}
html body .lf-reference-cover .lf-reference-cover__ornament {
  position: absolute !important;
  left: 50% !important;
  top: calc(50% - 74px) !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3;
  display: block !important;
  width: 118px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
}
html body .lf-reference-cover .lf-reference-cover__ornament::before,
html body .lf-reference-cover .lf-reference-cover__ornament::after {
  content: "";
  position: absolute;
  top: 9px;
  width: 50px;
  height: 1px;
  background: #dfdcd6;
}
html body .lf-reference-cover .lf-reference-cover__ornament::before { left: 0; }
html body .lf-reference-cover .lf-reference-cover__ornament::after { right: 0; }
html body .lf-reference-cover .lf-reference-cover__ornament > span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  margin: 0;
  border: 1.5px solid #dfdcd6;
  box-shadow: none;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media (max-width: 980px) {
  html body :is(.about-hero, .services-cover-hero, .contact-reference-hero).lf-reference-cover { --lf-cover-size: 40px; }
}
@media (max-width: 600px) {
  html body :is(.about-hero, .services-cover-hero, .contact-reference-hero).lf-reference-cover { --lf-cover-size: clamp(24px, 7vw, 40px); }
}
@media (max-width: 760px) {
  html body .contact-reference-hero.lf-reference-cover { display: block !important; }
  .mobile-contact-hero { display: none !important; }
}

/* Igualación final de portadas internas: misma altura visual en todas las secciones. */
@media (max-width: 900px) {
  html body :is(.about-hero, .services-cover-hero, .contact-reference-hero).lf-reference-cover {
    height: 300px !important;
    min-height: 300px !important;
  }
}
