.elementor-kit-6{--e-global-color-primary:#1E1E1E;--e-global-color-secondary:#F2F0EB;--e-global-color-text:#1E1E1ECC;--e-global-color-accent:#F2F0EB;--e-global-color-54bd19d:#FFFFFF;--e-global-typography-primary-font-family:"Instrument Serif";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-family:"Instrument Serif";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-line-height:1.05em;--e-global-typography-secondary-letter-spacing:-5px;--e-global-typography-text-font-family:"Instrument Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"JetBrains Mono";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.4em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* MIGUEL FRÍAS · CORRECCIÓN DE MENÚ V3 — CSS GLOBAL (NO PEGAR EN POPUP)
   Compatible con clases mf2-menu-* (V2) y mf-menu-* (V1).
   Solo afecta a los popups que contienen esas clases.
   Si un widget no lleva esas clases, esta hoja NO lo modificará.
*/
:root { --mf-menu-paper:#F3F0EA; --mf-menu-ink:#292824; --mf-menu-accent:#8C6B55; }

/* 1. Ventana de Elementor Pro realmente a pantalla completa. */
.elementor-popup-modal:has(.mf2-menu-stage) .dialog-widget-content,
.elementor-popup-modal:has(.mf-menu-stage) .dialog-widget-content {
  width:100vw !important; max-width:100vw !important;
  height:100dvh !important; max-height:100dvh !important;
  padding:0 !important; margin:0 !important; border:0 !important;
  border-radius:0 !important; overflow:hidden !important;
}
.elementor-popup-modal:has(.mf2-menu-stage) .dialog-message,
.elementor-popup-modal:has(.mf-menu-stage) .dialog-message {
  width:100% !important; height:100% !important;
  max-height:none !important; padding:0 !important;
  overflow:hidden !important;
}
.elementor-popup-modal:has(.mf2-menu-stage) .dialog-close-button,
.elementor-popup-modal:has(.mf-menu-stage) .dialog-close-button {
  z-index:999 !important; top:23px !important; right:25px !important;
  font-size:21px !important; line-height:1 !important;
  color:var(--mf-menu-ink) !important;
}
/* 2. Contenedor principal: una fila real, sin mínimo fijo de 900 px. */
:is(.mf2-menu-stage,.mf-menu-stage) {
  box-sizing:border-box !important;
  display:flex !important; flex-direction:row !important;
  align-items:stretch !important; flex-wrap:nowrap !important;
  gap:0 !important; margin:0 !important; padding:0 !important;
  width:100% !important; max-width:100% !important;
  min-width:0 !important; min-height:100dvh !important;
  overflow:hidden !important; background:var(--mf-menu-paper) !important;
}
:is(.mf2-menu-stage,.mf-menu-stage),
:is(.mf2-menu-stage,.mf-menu-stage) * { box-sizing:border-box; }

/* 3. FOTOS: superponer los SEIS widgets Image, no apilarlos. */
:is(.mf2-menu-visual,.mf-menu-visual) {
  position:relative !important; display:block !important;
  flex:0 0 42% !important; width:42% !important; max-width:42% !important;
  height:100dvh !important; min-height:100dvh !important;
  min-width:0 !important; margin:0 !important; padding:0 !important;
  overflow:hidden !important; isolation:isolate;
  background:#151515 !important;
}
:is(.mf2-menu-visual,.mf-menu-visual) > .e-con-inner {
  position:static !important; margin:0 !important; padding:0 !important;
  width:100% !important; height:100% !important;
}
:is(.mf2-menu-visual,.mf-menu-visual) :is(.mf2-menu-photo,.mf-menu-photo) {
  position:absolute !important; inset:0 !important;
  top:0 !important; right:0 !important; bottom:0 !important; left:0 !important;
  width:100% !important; max-width:100% !important;
  height:100% !important; min-height:100% !important;
  margin:0 !important; padding:0 !important;
  display:block !important; opacity:0 !important;
  visibility:hidden !important;
  z-index:1 !important; pointer-events:none !important;
  transform:scale(1.035);
  transition:opacity .45s ease, transform .8s cubic-bezier(.2,.7,.2,1),visibility .45s linear;
}
:is(.mf2-menu-visual,.mf-menu-visual) :is(.mf2-menu-photo,.mf-menu-photo) .elementor-widget-container,
:is(.mf2-menu-visual,.mf-menu-visual) :is(.mf2-menu-photo,.mf-menu-photo) img {
  display:block !important; width:100% !important; height:100% !important;
  max-width:none !important; margin:0 !important; padding:0 !important;
}
:is(.mf2-menu-visual,.mf-menu-visual) :is(.mf2-menu-photo,.mf-menu-photo) img {
  object-fit:cover !important; object-position:center center !important;
}
/* Inicio se muestra por defecto. */
:is(.mf2-menu-visual,.mf-menu-visual) :is(.mf2-menu-photo--inicio,.mf-menu-photo--inicio) {
  opacity:1 !important; visibility:visible !important; z-index:2 !important;
  transform:scale(1) !important;
}
/* Al entrar en un enlace, ocultamos la imagen de inicio. */
.mf2-menu-stage:has(.mf2-menu-navitem:is(:hover,:focus-within)) .mf2-menu-photo--inicio,
.mf-menu-stage:has(.mf-menu-navitem:is(:hover,:focus-within)) .mf-menu-photo--inicio {
  opacity:0 !important; visibility:hidden !important; z-index:1 !important;
}

.mf2-menu-stage:has(.mf2-nav--inicio:is(:hover,:focus-within)) .mf2-menu-photo--inicio {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf2-menu-stage:has(.mf2-nav--bodas:is(:hover,:focus-within)) .mf2-menu-photo--bodas {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf2-menu-stage:has(.mf2-nav--historias:is(:hover,:focus-within)) .mf2-menu-photo--historias {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf2-menu-stage:has(.mf2-nav--sobre-mi:is(:hover,:focus-within)) .mf2-menu-photo--sobre-mi {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf2-menu-stage:has(.mf2-nav--estudio:is(:hover,:focus-within)) .mf2-menu-photo--estudio {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf2-menu-stage:has(.mf2-nav--contacto:is(:hover,:focus-within)) .mf2-menu-photo--contacto {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf-menu-stage:has(.mf-nav--inicio:is(:hover,:focus-within)) .mf-menu-photo--inicio {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf-menu-stage:has(.mf-nav--bodas:is(:hover,:focus-within)) .mf-menu-photo--bodas {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf-menu-stage:has(.mf-nav--historias:is(:hover,:focus-within)) .mf-menu-photo--historias {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf-menu-stage:has(.mf-nav--sobre-mi:is(:hover,:focus-within)) .mf-menu-photo--sobre-mi {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf-menu-stage:has(.mf-nav--estudio:is(:hover,:focus-within)) .mf-menu-photo--estudio {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

.mf-menu-stage:has(.mf-nav--contacto:is(:hover,:focus-within)) .mf-menu-photo--contacto {
  opacity:1 !important; visibility:visible !important; z-index:3 !important;
  transform:scale(1) !important;
}

/* 4. Panel derecho: distribución contenida y tipografía de Miguel Frías. */
:is(.mf2-menu-panel,.mf-menu-panel) {
  display:flex !important; flex-direction:column !important;
  justify-content:space-between !important; align-items:stretch !important;
  flex:1 1 58% !important; width:58% !important; max-width:58% !important;
  min-width:0 !important; min-height:100dvh !important; height:100dvh !important;
  overflow-x:hidden !important; overflow-y:auto !important;
  padding:clamp(58px,6.5vh,96px) clamp(52px,5vw,96px) 40px !important;
  background:var(--mf-menu-paper) !important;
  gap:clamp(28px,4vh,56px) !important;
  scrollbar-width:thin;
}
:is(.mf2-menu-navgrid,.mf-menu-navgrid) {
  display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:clamp(24px,3vw,60px) !important;
  width:100% !important; min-width:0 !important;
  align-items:start !important;
}
:is(.mf2-menu-navcolumn,.mf-menu-navcolumn) {
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
  width:auto !important; min-width:0 !important;
  gap:clamp(12px,2vh,22px) !important;
}
:is(.mf2-menu-navitem,.mf-menu-navitem) {
  width:100% !important; min-width:0 !important; margin:0 !important; padding:0 !important;
}
:is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button {
  display:inline-flex !important; align-items:center !important;
  width:auto !important; max-width:100% !important;
  color:var(--mf-menu-ink) !important; background:transparent !important;
  padding:0 !important; margin:0 !important; border:0 !important; border-radius:0 !important;
  text-align:left !important; text-decoration:none !important;
  font-family:'Instrument Serif',Georgia,serif !important;
  font-size:clamp(32px,2.5vw,38px) !important;
  font-weight:400 !important; letter-spacing:-.3px !important;
  line-height:1.22 !important;
  transition:color .25s ease,transform .25s ease !important;
}
:is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:hover,
:is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:focus-visible {
  color:var(--mf-menu-accent) !important; transform:translateX(8px);
}
:is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:focus-visible {
  outline:1px solid var(--mf-menu-accent) !important; outline-offset:4px !important;
}
:is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:after {
  content:'↗'; position:relative; flex:0 0 auto;
  display:inline-block; margin-left:10px;
  font:16px 'JetBrains Mono',monospace;
  opacity:0; transform:translate(-3px,3px);
  transition:opacity .2s ease,transform .2s ease;
}
:is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:hover:after,
:is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:focus-visible:after {
  opacity:1; transform:translate(0,0);
}
:is(.mf2-menu-eyebrow,.mf-menu-eyebrow,.mf2-menu-label,.mf-menu-label,.mf2-menu-location,.mf-menu-location,.mf2-menu-firm,.mf-menu-firm) {
  font-family:'JetBrains Mono',monospace !important;
  font-size:11px !important; font-weight:400 !important;
  letter-spacing:.6px !important; line-height:1.5 !important;
  color:#77766F !important;
}
:is(.mf2-menu-eyebrow,.mf-menu-eyebrow,.mf2-menu-label,.mf-menu-label,.mf2-menu-location,.mf-menu-location,.mf2-menu-firm,.mf-menu-firm) .elementor-heading-title {
  font-family:inherit !important; font-size:inherit !important; font-weight:inherit !important;
  letter-spacing:inherit !important; line-height:inherit !important; color:inherit !important;
}
:is(.mf2-menu-bottom,.mf-menu-bottom) {
  display:grid !important; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) !important;
  gap:24px !important; width:100% !important;
  padding-top:24px !important;
  border-top:1px solid rgba(41,40,36,.16) !important;
  align-items:start !important;
}
:is(.mf2-menu-contact,.mf-menu-contact,.mf2-menu-socials,.mf-menu-socials) {
  width:auto !important; min-width:0 !important;
}
:is(.mf2-menu-contact-cta,.mf-menu-contact-cta) .elementor-button {
  font:400 22px/1.3 'Instrument Serif',Georgia,serif !important;
  text-align:left !important; color:var(--mf-menu-ink) !important;
  background:transparent !important; border:0 !important; padding:0 !important;
}
:is(.mf2-menu-social,.mf-menu-social) .elementor-button {
  font:400 16px/1.4 'Instrument Sans','Inter',Arial,sans-serif !important;
  color:var(--mf-menu-ink) !important; text-align:left !important;
  background:transparent !important; border:0 !important; padding:0 !important;
}
:is(.mf2-menu-contact-cta,.mf-menu-contact-cta,.mf2-menu-social,.mf-menu-social) .elementor-button:hover {
  color:var(--mf-menu-accent) !important;
}
/* Asegurar que el contenido y las firmas nunca heredan una anchura ridícula. */
:is(.mf2-menu-firm,.mf-menu-firm) { margin:0 !important; align-self:flex-start !important; }

/* 5. Animación discreta escalonada. */
@keyframes mf3-enter { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
:is(.mf2-menu-navitem,.mf-menu-navitem) {animation:mf3-enter .55s ease-out both}

.mf2-nav--inicio,.mf-nav--inicio { animation-delay:0.070s !important; }

.mf2-nav--bodas,.mf-nav--bodas { animation-delay:0.125s !important; }

.mf2-nav--historias,.mf-nav--historias { animation-delay:0.180s !important; }

.mf2-nav--sobre-mi,.mf-nav--sobre-mi { animation-delay:0.235s !important; }

.mf2-nav--estudio,.mf-nav--estudio { animation-delay:0.290s !important; }

.mf2-nav--contacto,.mf-nav--contacto { animation-delay:0.345s !important; }

/* 6. TABLET: menos padding, dos columnas solo cuando caben. */
@media (min-width:768px) and (max-width:1100px) {
  :is(.mf2-menu-visual,.mf-menu-visual){flex-basis:40% !important;width:40% !important;max-width:40% !important}
  :is(.mf2-menu-panel,.mf-menu-panel){flex-basis:60% !important;width:60% !important;max-width:60% !important;padding:66px 38px 36px !important;gap:24px !important}
  :is(.mf2-menu-navgrid,.mf-menu-navgrid){gap:16px !important}
  :is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button{font-size:clamp(25px,2.8vw,32px) !important}
}

/* 7. MÓVIL: reproducir la lógica de la referencia: filas + líneas + flechas. */
@media (max-width:767px) {
  .elementor-popup-modal:has(.mf2-menu-stage) .dialog-widget-content,
  .elementor-popup-modal:has(.mf-menu-stage) .dialog-widget-content {
    width:100vw !important; max-width:100vw !important;
    height:100dvh !important; min-height:0 !important;
  }
  .elementor-popup-modal:has(.mf2-menu-stage) .dialog-message,
  .elementor-popup-modal:has(.mf-menu-stage) .dialog-message {
    overflow-y:auto !important; overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
  }
  .elementor-popup-modal:has(.mf2-menu-stage) .dialog-close-button,
  .elementor-popup-modal:has(.mf-menu-stage) .dialog-close-button {
    top:18px !important; right:18px !important;
    font-size:24px !important;
  }
  :is(.mf2-menu-stage,.mf-menu-stage) {
    display:block !important; width:100% !important;
    min-height:100dvh !important; height:auto !important;
    overflow:visible !important; padding:0 !important;
  }
  :is(.mf2-menu-visual,.mf-menu-visual) { display:none !important; }
  :is(.mf2-menu-panel,.mf-menu-panel) {
    display:flex !important; flex-direction:column !important;
    justify-content:flex-start !important; align-items:stretch !important;
    flex:none !important; width:100% !important; max-width:100% !important;
    min-height:100dvh !important; height:auto !important; max-height:none !important;
    overflow:visible !important; gap:0 !important;
    padding:106px 18px 42px !important;
    background:#F0EEE6 !important;
  }
  :is(.mf2-menu-eyebrow,.mf-menu-eyebrow) {
    display:block !important; width:100% !important;
    margin:0 0 24px !important;
    font:400 14px/1.4 'Instrument Sans','Inter',Arial,sans-serif !important;
    letter-spacing:0 !important; color:#83877A !important;
  }
  :is(.mf2-menu-eyebrow,.mf-menu-eyebrow) .elementor-heading-title {
    font:inherit !important; color:inherit !important;
  }
  :is(.mf2-menu-navgrid,.mf-menu-navgrid) {
    display:flex !important; flex-direction:column !important;
    width:100% !important; min-width:0 !important; gap:0 !important;
  }
  :is(.mf2-menu-navcolumn,.mf-menu-navcolumn) {
    display:flex !important; flex-direction:column !important;
    gap:0 !important; width:100% !important; min-width:0 !important;
  }
  :is(.mf2-menu-navitem,.mf-menu-navitem) {
    display:block !important; width:100% !important;
    padding:0 !important; margin:0 !important;
    border-bottom:1px solid #A6A99B !important;
  }
  :is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button {
    display:flex !important; width:100% !important; min-height:49px !important;
    align-items:center !important; justify-content:space-between !important;
    font-family:'Instrument Sans','Inter',Arial,sans-serif !important;
    font-size:23px !important; font-weight:400 !important; line-height:1.2 !important;
    letter-spacing:-.4px !important;
    padding:8px 0 !important; text-align:left !important; transform:none !important;
  }
  :is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:after {
    content:'↗' !important; opacity:1 !important; transform:none !important;
    margin-left:auto !important; padding-left:15px !important;
    font:400 21px/1 'Instrument Sans','Inter',sans-serif !important;
  }
  :is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:hover,
  :is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button:focus-visible {
    transform:none !important; color:var(--mf-menu-accent) !important;
  }
  :is(.mf2-menu-bottom,.mf-menu-bottom) {
    display:flex !important; flex-direction:column !important;
    width:100% !important; border:0 !important;
    padding:0 !important; margin:43px 0 0 !important; gap:36px !important;
  }
  :is(.mf2-menu-contact,.mf-menu-contact,.mf2-menu-socials,.mf-menu-socials){width:100% !important;gap:12px !important}
  :is(.mf2-menu-label,.mf-menu-label) {
    font:400 15px/1.3 'Instrument Sans','Inter',Arial,sans-serif !important;
    color:#83877A !important; letter-spacing:0 !important;
  }
  :is(.mf2-menu-label,.mf-menu-label) .elementor-heading-title{font:inherit !important;color:inherit !important}
  :is(.mf2-menu-contact-cta,.mf-menu-contact-cta) .elementor-button {
    font:400 21px/1.4 'Instrument Sans','Inter',Arial,sans-serif !important;
  }
  :is(.mf2-menu-social,.mf-menu-social) .elementor-button {
    font:400 18px/1.4 'Instrument Sans','Inter',Arial,sans-serif !important;
  }
  :is(.mf2-menu-firm,.mf-menu-firm){margin-top:35px !important;font-size:10px !important}
}
@media (max-width:350px) {
  :is(.mf2-menu-panel,.mf-menu-panel){padding-left:15px !important;padding-right:15px !important}
  :is(.mf2-menu-navitem,.mf-menu-navitem) .elementor-button{font-size:21px !important;min-height:46px !important}
}
@media (prefers-reduced-motion:reduce){
  :is(.mf2-menu-stage,.mf-menu-stage) *,
  :is(.mf2-menu-stage,.mf-menu-stage) *:before,
  :is(.mf2-menu-stage,.mf-menu-stage) *:after {
    animation:none !important; transition:none !important; transform:none !important;
  }
}


/* GAUSSIAN BLUR GLOBAL · MIGUEL FRÍAS */

body::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: clamp(80px, 19vh, 80px);
  z-index: 900;
  pointer-events: none;

  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(44px);

  background: linear-gradient(
    to top,
    rgba(248,247,243,.20),
    transparent
  );

  -webkit-mask-image: linear-gradient(
    to top,
    black 0%,
    black 28%,
    transparent 100%
  );

  mask-image: linear-gradient(
    to top,
    black 0%,
    black 28%,
    transparent 100%
  );
}

@media (max-width: 767px) {
  body::after {
    height: 125px;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }
}/* End custom CSS */