.elementor-1598 .elementor-element.elementor-element-b422e2f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:150px;--padding-bottom:130px;--padding-left:48px;--padding-right:48px;}.elementor-1598 .elementor-element.elementor-element-792445a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:26px 0px;--row-gap:26px;--column-gap:0px;}.elementor-1598 .elementor-element.elementor-element-469d230 .elementor-icon-list-icon i{color:#C9A24B;transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-469d230 .elementor-icon-list-icon svg{fill:#C9A24B;transition:fill 0.3s;}.elementor-1598 .elementor-element.elementor-element-469d230{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-1598 .elementor-element.elementor-element-469d230 .elementor-icon-list-icon{padding-inline-end:12px;}.elementor-1598 .elementor-element.elementor-element-469d230 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1598 .elementor-element.elementor-element-469d230 .elementor-icon-list-item > a{font-family:"Bebas Neue", Sans-serif;font-size:12.5px;font-weight:400;text-transform:uppercase;letter-spacing:0.3em;}.elementor-1598 .elementor-element.elementor-element-469d230 .elementor-icon-list-text{color:#A79D8A;transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-0be4869 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:147px;font-weight:400;text-transform:uppercase;line-height:0.96em;letter-spacing:0.015em;color:#EDE6D6;}.elementor-1598 .elementor-element.elementor-element-ebf3264 .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:38px;font-weight:500;font-style:italic;line-height:1.25em;color:#E3C368;}.elementor-1598 .elementor-element.elementor-element-80cac6f{font-family:"Jost", Sans-serif;font-size:16.5px;font-weight:300;line-height:1.7em;color:#A79D8A;}.elementor-1598 .elementor-element.elementor-element-2e6785b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:wrap;}.elementor-1598 .elementor-element.elementor-element-6bd55e4 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1598 .elementor-element.elementor-element-6bd55e4 .elementor-button{font-family:"Bebas Neue", Sans-serif;font-size:14.5px;font-weight:400;text-transform:uppercase;letter-spacing:0.2em;}.elementor-1598 .elementor-element.elementor-element-32faadc .elementor-button-content-wrapper{flex-direction:row;}.elementor-1598 .elementor-element.elementor-element-32faadc .elementor-button{font-family:"Bebas Neue", Sans-serif;font-size:14.5px;font-weight:400;text-transform:uppercase;letter-spacing:0.2em;}.elementor-1598 .elementor-element.elementor-element-2fe6e42{--display:flex;}.elementor-1598 .elementor-element.elementor-element-099b8f4{--display:flex;}.elementor-1598 .elementor-element.elementor-element-e6afb96{--display:flex;}.elementor-1598 .elementor-element.elementor-element-c80fe97{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:8px 0px;--row-gap:8px;--column-gap:0px;}.elementor-1598 .elementor-element.elementor-element-1b25bf8 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:84px;font-weight:400;line-height:1em;color:#C9A24B;}.elementor-1598 .elementor-element.elementor-element-d37e1c8 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:0.42em;color:#A79D8A;}.elementor-1598 .elementor-element.elementor-element-060ba39 .elementor-icon-wrapper{text-align:center;}.elementor-1598 .elementor-element.elementor-element-bac71be{--display:flex;}.elementor-1598 .elementor-element.elementor-element-6185a22{--display:flex;}.elementor-1598 .elementor-element.elementor-element-1c20ace{--display:flex;}.elementor-1598 .elementor-element.elementor-element-126897f{--display:flex;}.elementor-1598 .elementor-element.elementor-element-c35bd5a{--display:flex;}.elementor-1598 .elementor-element.elementor-element-3f9ca94{--display:flex;}.elementor-1598 .elementor-element.elementor-element-cc57dcb{--display:flex;}.elementor-1598 .elementor-element.elementor-element-b2707e6{--display:flex;}.elementor-1598 .elementor-element.elementor-element-cb731ff{--display:flex;}.elementor-1598 .elementor-element.elementor-element-83c1d71{--display:flex;}.elementor-1598 .elementor-element.elementor-element-1fe15fa{--display:flex;}.elementor-1598 .elementor-element.elementor-element-5fcdde9{--display:flex;}.elementor-1598 .elementor-element.elementor-element-6532335{--display:flex;}.elementor-1598 .elementor-element.elementor-element-a60bcff{--display:flex;}.elementor-1598 .elementor-element.elementor-element-b5face4{--display:flex;}.elementor-1598 .elementor-element.elementor-element-6bb090a{--display:flex;}.elementor-1598 .elementor-element.elementor-element-b72f370{--display:flex;}.elementor-1598 .elementor-element.elementor-element-381785e{--display:flex;}.elementor-1598 .elementor-element.elementor-element-e92a0e7{--display:flex;}.elementor-1598 .elementor-element.elementor-element-6091feb{--display:flex;}.elementor-1598 .elementor-element.elementor-element-4fe3847{--display:flex;}.elementor-1598 .elementor-element.elementor-element-594e00f{--display:flex;}.elementor-1598 .elementor-element.elementor-element-4a99d19{--display:flex;}.elementor-1598 .elementor-element.elementor-element-59574c7{--display:flex;}.elementor-1598 .elementor-element.elementor-element-3c6650b{--display:flex;}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-24px/2);}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-24px/2);}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-1598 .elementor-element.elementor-element-c43aacc{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-icon{padding-inline-end:12px;}.elementor-1598 .elementor-element.elementor-element-c43aacc .elementor-icon-list-text{transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-14bd3c0{--display:flex;}.elementor-1598 .elementor-element.elementor-element-047c0a3{--display:flex;}.elementor-1598 .elementor-element.elementor-element-1d663b4{--display:flex;}.elementor-1598 .elementor-element.elementor-element-685dbc7{--display:flex;}.elementor-1598 .elementor-element.elementor-element-74dc121 .elementor-icon-box-wrapper{gap:15px;}.elementor-1598 .elementor-element.elementor-element-91a2b77 .elementor-icon-box-wrapper{gap:15px;}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-24px/2);}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-24px/2);}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-1598 .elementor-element.elementor-element-a8c6ed7{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-icon{padding-inline-end:12px;}.elementor-1598 .elementor-element.elementor-element-a8c6ed7 .elementor-icon-list-text{transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-4571eea{--display:flex;}.elementor-1598 .elementor-element.elementor-element-d4222bc{--display:flex;}.elementor-1598 .elementor-element.elementor-element-44dcf43 .elementor-icon-wrapper{text-align:center;}.elementor-1598 .elementor-element.elementor-element-a9bb48c{--display:flex;}.elementor-1598 .elementor-element.elementor-element-5fc1eae .elementor-icon-wrapper{text-align:center;}.elementor-1598 .elementor-element.elementor-element-3d47562{--display:flex;}.elementor-1598 .elementor-element.elementor-element-8b0a2f5 .elementor-icon-wrapper{text-align:center;}.elementor-1598 .elementor-element.elementor-element-5c5cd55{--display:flex;}.elementor-1598 .elementor-element.elementor-element-d65cfbe .elementor-icon-wrapper{text-align:center;}.elementor-1598 .elementor-element.elementor-element-42012c1{--display:flex;}.elementor-1598 .elementor-element.elementor-element-2b7c893{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-1598 .elementor-element.elementor-element-2b7c893 .elementor-divider-separator{width:100%;}.elementor-1598 .elementor-element.elementor-element-2b7c893 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1598 .elementor-element.elementor-element-76b1396{--display:flex;}.elementor-1598 .elementor-element.elementor-element-2359b82{--display:flex;}.elementor-1598 .elementor-element.elementor-element-2aa5420{--display:flex;}.elementor-1598 .elementor-element.elementor-element-2a9c32c .elementor-icon-box-wrapper{gap:15px;}.elementor-1598 .elementor-element.elementor-element-fc642a7 .elementor-icon-box-wrapper{gap:15px;}.elementor-1598 .elementor-element.elementor-element-a758ae3 .elementor-icon-box-wrapper{gap:15px;}.elementor-1598 .elementor-element.elementor-element-c79ae4e .elementor-icon-box-wrapper{gap:15px;}.elementor-1598 .elementor-element.elementor-element-ed4c223{--display:flex;}.elementor-1598 .elementor-element.elementor-element-eda1dfd{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-1598 .elementor-element.elementor-element-eda1dfd .elementor-divider-separator{width:100%;}.elementor-1598 .elementor-element.elementor-element-eda1dfd .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1598 .elementor-element.elementor-element-ee3d6f7{--display:flex;}.elementor-1598 .elementor-element.elementor-element-943b647 .elementor-icon-wrapper{text-align:center;}.elementor-1598 .elementor-element.elementor-element-df1b34d{--display:flex;}.elementor-1598 .elementor-element.elementor-element-8bfa164{text-align:center;}.elementor-1598 .elementor-element.elementor-element-4e2f3b9{text-align:center;}.elementor-1598 .elementor-element.elementor-element-a0ed914{text-align:center;}.elementor-1598 .elementor-element.elementor-element-5d610c4{text-align:center;}.elementor-1598 .elementor-element.elementor-element-b1345e7{--display:flex;}.elementor-1598 .elementor-element.elementor-element-ef9c9c9 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1598 .elementor-element.elementor-element-d14ffc9 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1598 .elementor-element.elementor-element-601c3c7{text-align:center;}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-24px/2);}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-24px/2);}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-1598 .elementor-element.elementor-element-ee91ce9{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-icon{padding-inline-end:12px;}.elementor-1598 .elementor-element.elementor-element-ee91ce9 .elementor-icon-list-text{transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(24px/2);}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-24px/2);}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-24px/2);}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-1598 .elementor-element.elementor-element-ae50ed8{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-icon{padding-inline-end:12px;}.elementor-1598 .elementor-element.elementor-element-ae50ed8 .elementor-icon-list-text{transition:color 0.3s;}@media(max-width:1024px){.elementor-1598 .elementor-element.elementor-element-0be4869 .elementor-heading-title{font-size:96px;}.elementor-1598 .elementor-element.elementor-element-ebf3264 .elementor-heading-title{font-size:30px;}}@media(max-width:767px){.elementor-1598 .elementor-element.elementor-element-0be4869 .elementor-heading-title{font-size:64px;}.elementor-1598 .elementor-element.elementor-element-ebf3264 .elementor-heading-title{font-size:24px;}}/* Start custom CSS *//* ==========================================================================
   SOBRE MÍ — sistema de diseño (ida y vuelta con home)
   Solo widgets nativos + este CSS. Sin HTML incrustado, sin JS propio.
   Los efectos de aparición usan animaciones nativas de Elementor (_animation).
   ========================================================================== */

/* ---------- normalización: los contenedores Elementor traen gaps y
   padding por defecto; aquí todo el ritmo lo mandan nuestros márgenes. ---------- */
.lz-c.lz-c{ --gap:0; --row-gap:0; --column-gap:0; --widgets-spacing:0px;
  --widgets-spacing-row:0px; --widgets-spacing-column:0px;
  --content-width:100%; --width:100%;
  --padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0;
  --margin-top:0; --margin-right:0; --margin-bottom:0; --margin-left:0 }
.lz-c.lz-c > .elementor-element{ max-width:100% }

/* La hoja base atómica llega tarde y fuerza display:flex/min-height:0/padding:10px. */
.lz-c.lz-c.lz-c{ display:flex; flex-direction:column; min-height:0; padding:0 }
.lz-c.lz-c.lz-c.lz-nav{ display:flex; flex-direction:row; align-items:center;
  justify-content:space-between; padding:18px 48px }
.lz-c.lz-c.lz-c.lz-container{ padding:0; margin-inline:auto;
  width:min(1160px, calc(100% - 48px)); max-width:100% }
.lz-c.lz-c.lz-c.lz-sec{ padding:clamp(96px,11vw,150px) 0 }
.lz-c.lz-c.lz-c.lz-hero{ min-height:100vh; align-items:center; padding:150px 0 130px }
.lz-c.lz-c.lz-c.lz-hero-inner{ max-width:760px }
.lz-c.lz-c.lz-c.lz-mv{ display:flex; flex-direction:column }
.lz-c.lz-c.lz-c.lz-item{ display:flex; flex-direction:row }
.lz-c.lz-c.lz-c.lz-mile{ display:flex; flex-direction:column }
.lz-c.lz-c.lz-c.lz-cta{ padding:clamp(110px,13vw,170px) 0 }
.lz-c.lz-c.lz-c.lz-foot{ padding:72px 0 0 }
.lz-c.lz-c.lz-c.lz-footgrid{ flex-direction:row; flex-wrap:wrap;
  gap:clamp(32px,5vw,64px); padding-bottom:64px }
.lz-c.lz-c.lz-c.lz-footbar{ flex-direction:row; flex-wrap:wrap; align-items:center;
  justify-content:space-between; gap:16px; padding:24px 0 28px }
.lz-c.lz-c.lz-c.lz-actions,.lz-c.lz-c.lz-c.lz-cta-actions{ flex-direction:row; flex-wrap:wrap }
.lz-c.lz-c.lz-c.lz-cta-actions{ justify-content:center }

/* Widgets clásicos dentro de contenedores: que no roben el posicionamiento. */
.lz-c .elementor-element.elementor-widget,
.lz-c .elementor-widget-container{ position:static }

/* ---------- tokens ---------- */
:root{
  --bg:#0B0A08; --bg-soft:#0E0C09; --skin:#15120C; --ink:#EDE6D6; --muted:#A79D8A;
  --gold:#C9A24B; --gold-hi:#E3C368; --red:#B03A30; --blue:#2E4C74;
  --red-deep:#5E241D; --red-soft:#6A2A22;
  --hairline:rgba(237,230,214,.09); --goldline:rgba(201,162,75,.30);
  --ease:cubic-bezier(.22,1,.36,1);
  --disp:'Bebas Neue','Arial Narrow',sans-serif;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',Verdana,sans-serif;
}
body{ background:var(--bg); color:var(--ink);
  font:300 16px/1.6 var(--sans); overflow-x:hidden }
.elementor-widget-text-editor{ color:inherit; font:300 16px/1.6 var(--sans) }
.elementor-widget-text-editor p{ margin:0 }
a{ color:inherit }
::selection{ background:var(--gold); color:#141008 }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{
  outline:1px solid var(--gold); outline-offset:4px }
section[id]{ scroll-margin-top:86px }
.lz-bt{ border-top:1px solid var(--hairline) }

/* ---------- nav fija ---------- */
.lz-nav{ position:fixed; inset:0 0 auto 0; z-index:700;
  border-bottom:1px solid transparent;
  transition:background .35s, border-color .35s, padding .35s }
.lz-nav.is-scrolled{ background:rgba(11,10,8,.82);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom-color:var(--hairline); padding-block:11px }
.lz-nav .elementor-widget-heading .elementor-heading-title{ margin:0 }
.lz-brandmark{ width:40px; height:40px; border:1px solid var(--goldline); border-radius:50%;
  display:grid; place-items:center; font:400 18px/1 var(--disp); letter-spacing:.04em;
  color:var(--gold); flex:none }
.lz-navlinks .elementor-icon-list-item{ margin:0; padding:0 }
.lz-navlinks .elementor-icon-list-item a{ text-decoration:none; padding:6px 2px }

/* ---------- banda tricolor ---------- */
.lz-triband{ height:3px; border:0; width:100%;
  background:linear-gradient(90deg,var(--red) 0 33.4%, #EDE6D6 33.4% 66.7%, var(--blue) 66.7% 100%) }

/* ---------- botones ---------- */
.btnw{ display:inline-flex }
.btnw .elementor-button{ position:relative; overflow:hidden; display:inline-flex; align-items:center;
  gap:12px; padding:19px 36px; border-radius:2px; text-decoration:none;
  font:400 14.5px var(--disp); letter-spacing:.2em; text-transform:uppercase;
  transition:background .35s, color .35s, border-color .35s }
.btnw.btn-sm .elementor-button{ padding:14px 26px; font-size:12.5px; letter-spacing:.18em }
.btnw .elementor-button-content-wrapper{ display:inline-flex; align-items:center; gap:12px; flex-direction:row }
.btnw .elementor-button-icon{ display:inline-flex; align-items:center; flex:none; line-height:1 }
.btnw .elementor-button-icon svg{ width:17px; height:17px; fill:currentColor; display:block }
.btnw.btn-gold .elementor-button{ background:var(--gold); color:#161208 }
.btnw.btn-gold .elementor-button:hover{ background:var(--gold-hi) }
.btnw.btn-ghost .elementor-button{ border:1px solid rgba(201,162,75,.4); color:var(--ink) }
.btnw.btn-ghost .elementor-button:hover{ border-color:var(--gold); background:rgba(201,162,75,.07) }

/* ---------- medallón (CSS puro, sustituye al SVG giratorio) ---------- */
.lz-med{ position:absolute; right:clamp(24px,7vw,110px); top:50%; transform:translateY(-50%) }
.lz-med-ring{ position:relative; width:clamp(232px,23vw,292px); aspect-ratio:1;
  display:grid; place-items:center }
.lz-med-ring::before,.lz-med-ring::after{ content:""; position:absolute; border-radius:50% }
.lz-med-ring::before{ inset:0; border:1px solid var(--goldline) }
.lz-med-ring::after{ inset:28px; border:1px solid var(--hairline) }
.lz-med-spin{ position:absolute; inset:9px; border:1px dashed rgba(201,162,75,.22);
  border-radius:50%; animation:lzspin 26s linear infinite }
@keyframes lzspin{ to{ transform:rotate(360deg) } }
.lz-med-v{ position:absolute; inset:0; display:grid; place-content:center; gap:8px;
  justify-items:center; text-align:center }

/* ---------- firma (imagen SVG autoanimada, vía widget Image nativo) ---------- */
.lz-firma img{ width:min(230px,58vw); height:auto; display:block }
.lz-firma{ align-self:flex-start }

/* ---------- tipografía de sección ---------- */
.lz-h1 .elementor-heading-title{ font:400 clamp(4rem,10.5vw,9.2rem)/.96 var(--disp);
  letter-spacing:.015em; text-transform:uppercase; color:var(--ink); margin:26px 0 10px }
.lz-h2 .elementor-heading-title{ font:400 clamp(2.8rem,5.8vw,4.9rem)/1.02 var(--disp);
  letter-spacing:.015em; text-transform:uppercase; color:var(--ink); margin:20px 0 0 }
.lz-it .elementor-heading-title{ font:500 italic .98em/1.05 var(--serif);
  letter-spacing:0; text-transform:none; color:var(--gold-hi); margin:0 }
.lz-kicker .elementor-heading-title{ font:400 12.5px var(--disp); letter-spacing:.3em;
  text-transform:uppercase; color:var(--muted); margin:0 }
.lz-sub{ max-width:52ch; color:var(--muted); font:300 16.5px/1.7 var(--sans) }

/* ---------- 01 timeline ---------- */
.lz-timeline{ position:relative; margin-top:72px; display:flex; flex-direction:column }
.lz-timeline::before{ content:""; position:absolute; left:19px; top:8px; bottom:8px; width:2px;
  background:linear-gradient(var(--gold),var(--gold) 62%,var(--hairline) 62%) }
.lz-item{ display:grid; grid-template-columns:40px 132px 1fr; gap:2px 28px; padding:36px 0;
  align-items:start }
.lz-item:first-child{ padding-top:8px }
.lz-item:last-child{ padding-bottom:8px }
.lz-dot{ width:12px; height:12px; border-radius:50%; margin:9px 0 0 14px; flex:none;
  background:var(--bg); border:1px solid var(--gold);
  box-shadow:0 0 0 7px rgba(201,162,75,.14) }
.lz-year{ font:400 1.9rem/1 var(--disp); letter-spacing:.06em; color:var(--gold-hi) }
.lz-tyear .elementor-heading-title{ font:400 1.9rem/1 var(--disp); letter-spacing:.06em;
  color:var(--gold-hi); margin:0 }
.lz-tbody{ max-width:52ch }
.lz-tbody .elementor-widget-heading .elementor-heading-title{ font:400 1.5rem var(--disp);
  letter-spacing:.04em; text-transform:uppercase; color:var(--ink); margin:0 }
.lz-tbody .elementor-widget-text-editor{ font:300 15px/1.7 var(--sans); color:var(--muted);
  margin-top:8px }

/* ---------- 02 split con columna pegajosa ---------- */
.lz-split{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(44px,6vw,96px); align-items:start }
.lz-col-left{ position:sticky; top:110px }
.lz-body p,.lz-body .elementor-widget-text-editor{ font:300 16px/1.8 var(--sans);
  color:var(--muted); max-width:60ch }
.lz-body .elementor-widget-text-editor + .elementor-widget-text-editor{ margin-top:22px }
.lz-aval{ display:flex; gap:16px; align-items:flex-start; margin-top:44px;
  padding:20px 24px; border:1px solid var(--goldline); background:rgba(201,162,75,.04) }
.lz-aval .elementor-icon-list-icon svg{ width:22px; height:22px; fill:var(--gold) }
.lz-aval .elementor-icon-list-text{ font:300 13.5px/1.7 var(--sans); color:var(--muted) }
.lz-quote{ margin-top:48px; padding-left:28px; border-left:2px solid var(--gold) }
.lz-quote .elementor-heading-title{ font:400 clamp(1.9rem,3.4vw,3rem)/1.12 var(--disp);
  letter-spacing:.03em; text-transform:uppercase; color:var(--ink); margin:0 }
.lz-qsrc .elementor-heading-title{ font:500 italic 1.25rem var(--serif);
  text-transform:none; letter-spacing:0; color:var(--gold-hi); margin:14px 0 0 }
.lz-qnote .elementor-heading-title{ font:400 10px var(--sans); font-style:normal;
  letter-spacing:.3em; text-transform:uppercase; color:var(--muted); margin:6px 0 0 }

/* ---------- 03 brújula ---------- */
.lz-mvgrid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:56px }
.lz-mv{ position:relative; overflow:hidden; border:1px solid var(--hairline); background:#12100B;
  padding:38px 34px 36px; transition:transform .45s var(--ease), border-color .35s }
.lz-mv:hover{ transform:translateY(-5px); border-color:var(--goldline) }
.lz-mv .elementor-icon{ width:46px; height:46px; border:1px solid var(--goldline);
  border-radius:50%; display:grid; place-items:center; background:none; padding:0;
  color:var(--gold); transition:transform .45s var(--ease) }
.lz-mv .elementor-icon svg{ width:21px; height:21px; fill:currentColor; display:block }
.lz-mv:hover .elementor-icon{ transform:rotate(-12deg) scale(1.06) }
.lz-mv .elementor-icon-box-title{ margin-top:22px }
.lz-mv .elementor-icon-box-title a,.lz-mv .elementor-icon-box-title span{
  font:400 2rem var(--disp); letter-spacing:.04em; text-transform:uppercase; color:var(--ink) }
.lz-mv .elementor-icon-box-description{ margin-top:12px; font:300 15px/1.75 var(--sans);
  color:var(--muted); max-width:44ch }
.lz-list-h .elementor-heading-title{ display:flex; align-items:center; gap:12px;
  font:400 12.5px var(--disp); letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold); margin:72px 0 0 }
.lz-valores{ list-style:none; margin-top:20px; border-top:1px solid var(--hairline) }
.lz-val{ display:grid; grid-template-columns:60px 1fr 42px; align-items:baseline;
  padding:22px 0 20px; border-bottom:1px solid var(--hairline); cursor:pointer }
.lz-val-i{ font:500 italic 1.1rem var(--serif); color:var(--gold) }
.lz-val-n{ font:400 clamp(1.4rem,2.3vw,1.8rem)/1.1 var(--disp); letter-spacing:.05em;
  text-transform:uppercase; color:var(--ink); transition:color .35s, transform .45s var(--ease) }
.lz-val-d{ grid-column:2; max-height:0; opacity:0; overflow:hidden;
  font:300 14.5px/1.65 var(--sans); color:var(--muted);
  transition:max-height .55s var(--ease), opacity .4s ease, margin-top .55s var(--ease) }
.lz-val-a{ font-size:18px; color:var(--gold); opacity:0; transform:translateX(-10px);
  transition:opacity .35s, transform .45s var(--ease) }
.lz-val-a svg{ width:18px; height:18px; fill:currentColor; display:block }
.lz-val:focus-within .lz-val-n,.lz-val:hover .lz-val-n{ color:var(--gold-hi); transform:translateX(6px) }
.lz-val:focus-within .lz-val-d,.lz-val:hover .lz-val-d{ max-height:90px; opacity:1; margin-top:10px }
.lz-val:focus-within .lz-val-a,.lz-val:hover .lz-val-a{ opacity:1; transform:none }

/* ---------- 04 bloque rojo ---------- */
.lz-sec-red{ background:var(--red-deep); overflow:hidden }
.lz-sec-red .lz-muted{ color:#D9BFB6 }
.lz-ghost{ position:absolute; right:clamp(8px,3vw,56px); top:clamp(40px,7vw,96px);
  font:400 clamp(10rem,26vw,22rem)/1 var(--disp); color:rgba(237,230,214,.05);
  pointer-events:none; user-select:none }
.lz-milegrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:56px }
.lz-mile{ position:relative; overflow:hidden; border:1px solid var(--hairline);
  background:rgba(0,0,0,.16); padding:30px 28px;
  transition:transform .45s var(--ease), border-color .35s, background .35s }
.lz-mile .elementor-icon svg{ width:24px; height:24px; fill:var(--gold) }
.lz-mile .elementor-icon-box-title{ margin-top:16px }
.lz-mile .elementor-icon-box-title a,.lz-mile .elementor-icon-box-title span{
  font:400 1.7rem var(--disp); letter-spacing:.04em; text-transform:uppercase; color:var(--ink) }
.lz-mile .elementor-icon-box-description{ margin-top:10px; font:300 14.5px/1.65 var(--sans);
  color:#D9BFB6 }
.lz-mile:hover{ transform:translateY(-6px) rotate(-.5deg);
  border-color:rgba(201,162,75,.5); background:rgba(0,0,0,.26) }

/* ---------- cierre ---------- */
.lz-cta{ position:relative; text-align:center; overflow:hidden }
.lz-cta::before{ content:""; position:absolute; inset:3px 1.6% 3px; pointer-events:none;
  border:1px solid rgba(201,162,75,.5) }
.lz-seal{ position:absolute; top:0; left:50%; transform:translate(-50%,-50%);
  width:48px; height:48px; border-radius:50%; background:var(--bg);
  border:1px solid var(--goldline); display:grid; place-items:center; color:var(--gold) }
.lz-seal svg{ width:20px; height:20px; fill:currentColor }
.lz-cta-title .elementor-heading-title{ font:400 clamp(3.2rem,9.5vw,8.6rem)/.98 var(--disp);
  letter-spacing:.015em; text-transform:uppercase; color:var(--ink); margin:22px 0 12px }
.lz-cta-it .elementor-heading-title{ font:500 italic clamp(1.5rem,3.2vw,2.4rem)/1.25 var(--serif);
  color:var(--gold-hi); margin:0 0 26px }
.lz-cta-sub{ max-width:52ch; margin:0 auto; font:300 15.5px/1.7 var(--sans); color:var(--muted) }
.lz-cta-note{ margin-top:18px; font:300 italic 13px var(--sans); color:var(--muted) }
.lz-cta-meta .elementor-icon-list-text{ font:300 13px var(--sans); color:var(--muted) }
.lz-cta-meta .elementor-icon-list-icon svg{ width:16px; height:16px; fill:var(--gold) }
.lz-soc .elementor-icon-list-icon svg{ width:19px; height:19px; fill:var(--muted) }

/* ---------- pie ---------- */
.lz-foot{ border-top:1px solid var(--hairline) }
.lz-foot .elementor-widget-heading .elementor-heading-title{ font:400 11.5px var(--disp);
  letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin:0 0 20px }
.lz-fnav .elementor-icon-list-item,.lz-fcontact .elementor-icon-list-item{ padding:7px 0 }
.lz-fnav .elementor-icon-list-item a,.lz-fnav .elementor-icon-list-text{
  font:300 14px var(--sans); color:var(--muted); text-decoration:none }
.lz-fnav .elementor-icon-list-item:hover .elementor-icon-list-text{ color:var(--ink) }
.lz-fcontact .elementor-icon-list-text{ font:300 13.5px/1.7 var(--sans); color:var(--muted) }
.lz-fcontact .elementor-icon-list-icon svg{ width:16px; height:16px; fill:var(--gold) }
.lz-footbar{ border-top:1px solid var(--hairline); font:300 12px var(--sans); color:var(--muted) }
.lz-totop .elementor-button{ width:44px; height:44px; padding:0; border:1px solid var(--goldline);
  border-radius:50%; background:none; color:var(--gold); display:grid; place-items:center }
.lz-totop .elementor-button-content-wrapper{ display:grid; place-items:center }
.lz-totop .elementor-button-icon svg{ width:18px; height:18px; fill:currentColor }
.lz-totop .elementor-button:hover{ background:var(--gold); color:#161208 }

/* ---------- responsive ---------- */
@media (max-width:1000px){ .lz-med{ display:none } }
@media (max-width:960px){
  .lz-split{ grid-template-columns:1fr }
  .lz-col-left{ position:static }
  .lz-mvgrid,.lz-milegrid{ grid-template-columns:1fr }
  .lz-footgrid{ grid-template-columns:1fr 1fr }
  .lz-item{ grid-template-columns:40px 1fr }
}
@media (max-width:900px){
  .lz-navlinks{ display:none }
  .lz-hero{ min-height:0; padding:130px 0 90px }
}
@media (max-width:640px){
  .lz-nav .btnw.btn-sm{ display:none }
  .lz-footgrid{ grid-template-columns:1fr }
  .lz-ghost{ font-size:clamp(5rem,24vw,8rem); top:auto; bottom:24px }
  .lz-mv{ padding:30px 24px 28px }
}

/* ---------- movimiento reducido: sin spin ni draw ---------- */
@media (prefers-reduced-motion:reduce){
  .lz-med-spin{ animation:none }
  html{ scroll-behavior:auto }
  .lz-firma path{ animation:none; stroke-dashoffset:0 }
}
/* Bumps de especificidad y ajustes para el build nativo de Sobre mí */

/* --- grids nativos (la hoja base del contenedor impone display:flex) --- */
.lz-c.lz-c.lz-c.lz-item{ display:grid; grid-template-columns:40px 132px 1fr; gap:2px 28px; align-items:start }
.lz-c.lz-c.lz-c.lz-split{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(44px,6vw,96px); align-items:start }
.lz-c.lz-c.lz-c.lz-mvgrid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:56px }
.lz-c.lz-c.lz-c.lz-milegrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:56px }
.lz-c.lz-c.lz-c.lz-footgrid{ display:grid; grid-template-columns:1.6fr 1fr 1.2fr auto;
  gap:clamp(32px,5vw,64px); padding-bottom:64px }
.lz-c.lz-c.lz-c.lz-val{ display:grid; grid-template-columns:60px 1fr; gap:2px 18px; align-items:baseline;
  padding:22px 0 20px; border-bottom:1px solid var(--hairline) }
.lz-c.lz-c.lz-c.lz-valores{ display:flex; flex-direction:column; border-top:1px solid var(--hairline) }
.lz-c.lz-c.lz-c.lz-timeline{ display:flex; flex-direction:column; position:relative; margin-top:72px }
.lz-c.lz-c.lz-c.lz-quote{ display:flex; flex-direction:column; margin-top:48px;
  padding-left:28px; border-left:2px solid var(--gold) }
.lz-c.lz-c.lz-c.lz-body{ display:flex; flex-direction:column; gap:22px }
.lz-c.lz-c.lz-c.lz-tbody{ display:flex; flex-direction:column; max-width:52ch }

/* --- geometría del punto del timeline (gana a la normalización del contenedor) --- */
.lz-c.lz-c.lz-dot{ width:12px; height:12px; min-height:0; margin:9px 0 0 14px; flex:none;
  padding:0; background:var(--bg); border:1px solid var(--gold); border-radius:50%;
  box-shadow:0 0 0 7px rgba(201,162,75,.14) }

/* --- medallón --- */
.lz-c.lz-c.lz-c.lz-med{ position:absolute; right:clamp(24px,7vw,110px); top:50%;
  transform:translateY(-50%); padding:0; min-height:0 }
.lz-c.lz-c.lz-c.lz-hero{ position:relative }
.lz-c.lz-c.lz-med-ring{ position:relative; width:clamp(232px,23vw,292px); min-height:clamp(232px,23vw,292px);
  aspect-ratio:1; display:grid; place-items:center; border-radius:50% }
.lz-c.lz-c.lz-med-ring::before,.lz-c.lz-c.lz-med-ring::after{ content:""; position:absolute;
  border-radius:50%; pointer-events:none }
.lz-c.lz-c.lz-med-ring::before{ inset:0; border:1px solid var(--goldline) }
.lz-c.lz-c.lz-med-ring::after{ inset:28px; border:1px solid var(--hairline) }
.lz-c.lz-c.lz-med-spin{ position:absolute !important; inset:9px; min-height:0; padding:0;
  border:1px dashed rgba(201,162,75,.22); border-radius:50%; animation:lzspin 26s linear infinite }
.lz-c.lz-c.lz-med-v{ position:absolute; inset:0; display:grid; place-content:center;
  justify-items:center; gap:8px; min-height:0; padding:0; text-align:center }
@keyframes lzspin{ to{ transform:rotate(360deg) } }

/* --- fantasma "V" en la banda roja --- */
.lz-c.lz-c.lz-c.lz-sec-red{ position:relative }
.lz-ghost.elementor-heading-title{ position:absolute; right:clamp(8px,3vw,56px);
  top:clamp(40px,7vw,96px); font:400 clamp(10rem,26vw,22rem)/1 var(--disp);
  color:rgba(237,230,214,.05); margin:0; pointer-events:none; user-select:none }

/* --- valores: siempre visibles en pantallas táctiles --- */
@media (hover:none){
  .lz-c.lz-c .lz-val-d{ max-height:none; opacity:1; margin-top:8px }
  .lz-val .lz-val-a{ opacity:1; transform:none }
}
.lz-val .elementor-widget-heading .elementor-heading-title,.lz-val .elementor-widget-text-editor{ margin:0 }
.lz-val .elementor-widget-icon{ grid-column:2; justify-self:end }

/* --- nav fija: deja sitio al contenido --- */
body.elementor-page-1598 > .elementor > .elementor-element:first-child{ }
.e-con.lz-nav{ position:fixed; inset:0 0 auto 0; z-index:700 }
.lz-hero{ padding-top:150px }

/* --- icon-box: quita el wrapper de texto por defecto y unifica voces --- */
.lz-mv .elementor-icon-box-content,.lz-mile .elementor-icon-box-content{ display:flex;
  flex-direction:column }
.lz-mile .elementor-icon-box-title a,.lz-mile .elementor-icon-box-title > span,
.lz-mv .elementor-icon-box-title a,.lz-mv .elementor-icon-box-title > span{ text-decoration:none }
.lz-sec-red .elementor-icon-box-description{ color:#D9BFB6 }

/* --- seal del cierre --- */
.lz-seal{ position:absolute; top:0; left:50%; transform:translate(-50%,-50%);
  width:48px; height:48px; border-radius:50%; background:var(--bg);
  border:1px solid var(--goldline); display:grid; place-items:center; color:var(--gold) }
.lz-seal .elementor-icon{ background:none; border:0; padding:0; line-height:1 }
.lz-seal svg{ width:20px; height:20px; fill:currentColor }

/* --- meta y redes del cierre/pie: iconos del tamaño correcto --- */
.lz-cta-meta .elementor-icon-list-icon svg,.lz-fcontact .elementor-icon-list-icon svg{
  width:16px; height:16px; fill:var(--gold) }
.lz-soc .elementor-icon-list-icon svg{ width:19px; height:19px; fill:var(--muted) }
.lz-soc .elementor-icon-list-item:hover .elementor-icon-list-icon svg{ fill:var(--gold-hi) }
.lz-soc .elementor-icon-list-text{ font-size:0 }

/* --- footer --- */
.lz-foot .elementor-icon-list-text,.lz-fnav .elementor-icon-list-text{ font:300 14px var(--sans) }
.lz-footbar .elementor-widget-text-editor{ font:300 12px var(--sans); color:var(--muted) }

@media (max-width:960px){
  .lz-c.lz-c.lz-c.lz-item{ grid-template-columns:40px 1fr }
  .lz-c.lz-c.lz-c.lz-footgrid{ grid-template-columns:1fr 1fr }
  .lz-ghost.elementor-heading-title{ font-size:clamp(5rem,24vw,8rem); top:auto; bottom:24px }
}
@media (max-width:900px){ .lz-c.lz-c.lz-c.lz-med{ display:none } }
@media (max-width:640px){
  .lz-c.lz-c.lz-c.lz-footgrid{ grid-template-columns:1fr }
  .lz-c.lz-c.lz-c.lz-mv{ padding:30px 24px 28px }
}
@media (prefers-reduced-motion:reduce){ .lz-c.lz-c.lz-med-spin{ animation:none } }
/* --- tri-band nativo (divider) + ajustes finales --- */
.lz-c.lz-c .lz-triband{ padding:0; min-height:0 }
.lz-c.lz-c .lz-triband .elementor-divider{ padding:0 }
.lz-c.lz-c .lz-triband .elementor-divider-separator{ display:block; border:0; height:3px; width:100%;
  background:linear-gradient(90deg,var(--red) 0 33.4%, #EDE6D6 33.4% 66.7%, var(--blue) 66.7% 100%) }

/* --- kicker/h2/títulos: garantizar la tipografía de diseño --- */
.lz-c.lz-c .lz-kicker .elementor-heading-title{ font:400 12.5px var(--disp) !important;
  letter-spacing:.32em; text-transform:uppercase; color:var(--muted); margin:0 }
.lz-c.lz-c .lz-h2 .elementor-heading-title{ font:400 clamp(2.8rem,5.8vw,4.9rem)/1.02 var(--disp) !important;
  letter-spacing:.015em; text-transform:uppercase; color:var(--ink); margin:20px 0 0 }
.lz-c.lz-c .lz-h1 .elementor-heading-title{ font:400 clamp(4rem,10.5vw,9.2rem)/.96 var(--disp) !important;
  letter-spacing:.015em; text-transform:uppercase; color:var(--ink); margin:26px 0 10px }
.lz-c.lz-c .lz-it .elementor-heading-title{ font:500 italic clamp(1.5rem,3.2vw,2.4rem)/1.25 var(--serif) !important;
  letter-spacing:0; text-transform:none; color:var(--gold-hi); margin:0 0 26px }
.lz-c.lz-c .lz-cta-title .elementor-heading-title{ font:400 clamp(3.2rem,9.5vw,8.6rem)/.98 var(--disp) !important;
  letter-spacing:.015em; text-transform:uppercase; color:var(--ink); margin:22px 0 12px }
.lz-c.lz-c .lz-cta-it .elementor-heading-title{ font:500 italic clamp(1.5rem,3.2vw,2.4rem)/1.25 var(--serif) !important;
  letter-spacing:0; text-transform:none; color:var(--gold-hi); margin:0 0 26px }
.lz-c.lz-c .lz-tyear .elementor-heading-title{ font:400 1.9rem/1 var(--disp) !important;
  letter-spacing:.06em; color:var(--gold-hi); margin:0 }
.lz-c.lz-c .lz-tbody .elementor-widget-heading .elementor-heading-title{
  font:400 1.5rem var(--disp) !important; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink); margin:0 }
.lz-c.lz-c .lz-tbody .elementor-widget-text-editor{ font:300 15px/1.7 var(--sans);
  color:var(--muted); margin-top:8px; max-width:52ch }
.lz-c.lz-c .lz-val-i .elementor-heading-title{ font:500 italic 1.1rem var(--serif) !important;
  color:var(--gold); margin:0 }
.lz-c.lz-c .lz-val-n .elementor-heading-title{ font:400 clamp(1.4rem,2.3vw,1.8rem)/1.1 var(--disp) !important;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink); margin:0 }
.lz-c.lz-c .lz-val-d{ font:300 14.5px/1.65 var(--sans); color:var(--muted); grid-column:2;
  max-height:0; opacity:0; overflow:hidden; margin-top:0;
  transition:max-height .55s var(--ease), opacity .4s ease, margin-top .55s var(--ease) }
.lz-c.lz-c .lz-val:hover .lz-val-d,.lz-c.lz-c .lz-val:focus-within .lz-val-d{
  max-height:90px; opacity:1; margin-top:8px }
.lz-c.lz-c .lz-val-a .elementor-icon{ background:none; border:0; padding:0; color:var(--gold) }
.lz-c.lz-c .lz-val-a{ opacity:0; transform:translateX(-10px); transition:opacity .35s, transform .45s var(--ease) }
.lz-c.lz-c .lz-val:hover .lz-val-a,.lz-c.lz-c .lz-val:focus-within .lz-val-a{ opacity:1; transform:none }
.lz-c.lz-c .lz-list-h .elementor-icon-list-text{ font:400 12.5px var(--disp); letter-spacing:.32em;
  text-transform:uppercase; color:var(--gold) }
.lz-c.lz-c .lz-list-h{ margin-top:72px }
.lz-c.lz-c .lz-list-h .elementor-icon-list-icon svg{ width:19px; height:19px; fill:var(--gold) }
.lz-c.lz-c .lz-aval .elementor-icon-list-text{ font:300 13.5px/1.7 var(--sans); color:var(--muted) }
.lz-c.lz-c .lz-aval .elementor-icon-list-icon svg{ width:22px; height:22px; fill:var(--gold) }
.lz-c.lz-c .lz-aval{ display:flex; gap:16px; align-items:flex-start; margin-top:44px; padding:20px 24px;
  border:1px solid var(--goldline); background:rgba(201,162,75,.04) }
.lz-c.lz-c .lz-qsrc .elementor-heading-title{ font:500 italic 1.25rem var(--serif) !important;
  text-transform:none; letter-spacing:0; color:var(--gold-hi); margin:14px 0 0 }
.lz-c.lz-c .lz-qnote .elementor-heading-title{ font:400 10px var(--sans) !important; font-style:normal;
  letter-spacing:.3em; text-transform:uppercase; color:var(--muted); margin:6px 0 0 }
.lz-c.lz-c .lz-quote .elementor-heading-title{ font:400 clamp(1.9rem,3.4vw,3rem)/1.12 var(--disp) !important;
  letter-spacing:.03em; text-transform:uppercase; color:var(--ink); margin:0 }
.lz-c.lz-c .lz-body .elementor-widget-text-editor{ font:300 16px/1.8 var(--sans); color:var(--muted);
  max-width:60ch }
.lz-c.lz-c .lz-firma img{ width:min(230px,58vw); height:auto; display:block }
.lz-c.lz-c .lz-firma{ align-self:flex-start }
body.elementor-page-1598{ background:#0B0A08 }
.lz-c.lz-c .lz-soc .elementor-icon-list-text{ font-size:0; line-height:0 }
/* --- marca del nav agrupada (marca + wordmark) --- */
.lz-c.lz-c.lz-c.lz-brand{ display:flex; flex-direction:row; align-items:center; gap:14px; padding:0 }
.lz-c.lz-c.lz-brand .elementor-widget-heading .elementor-heading-title{ margin:0 }
/* --- botones: el brillo no debe pintarse en el wrapper --- */
.btnw::after{ display:none }
/* --- contadores/estáticos --- */
.lz-c.lz-c.lz-c.lz-sec > .elementor-element:first-child{ margin-top:0 }

/* --- correctivo: la marca y los enlaces no deben estirarse --- */
.lz-c.lz-c.lz-nav .lz-brand{ flex:0 0 auto }
.lz-c.lz-c.lz-nav .lz-navlinks{ flex:0 0 auto }
.lz-c.lz-c.lz-nav .lz-navlinks .elementor-icon-list-items{ flex-wrap:nowrap }
/* --- correctivo: el botón fantasma hereda el gris por defecto de Elementor --- */
.btnw.btn-ghost .elementor-button{ background:none }
.btnw.btn-ghost .elementor-button:hover{ background:rgba(201,162,75,.07) }
/* --- correctivo: el medallón debe ajustarse a su contenido, no medir 1440 --- */
.lz-c.lz-c.lz-c.lz-med{ --width:auto; width:auto }
.lz-c.lz-c.lz-nav .lz-brand{ --width:auto; width:auto }
.lz-c.lz-c.lz-nav .lz-navlinks{ --width:auto; width:auto }

/* ============================================================
   Animaciones de entrada
   El módulo "Animated" de Elementor está desactivado en este sitio,
   así que `elementor-invisible` (visibility:hidden) nunca se retira y
   ocultaba el timeline. Se neutraliza y el efecto de aparición se
   reproduce con animaciones dirigidas por scroll, en CSS puro.
   ============================================================ */
.elementor-invisible{ visibility:visible !important; opacity:1 !important; animation:none !important }

@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .lz-c.lz-item,
    .lz-c.lz-mv,
    .lz-c.lz-mile,
    .lz-h2 .elementor-heading-title,
    .lz-cta-title .elementor-heading-title,
    .lz-cta-it .elementor-heading-title,
    .lz-triband,
    .lz-c.lz-val,
    .lz-c.lz-container.lz-split{
      animation: lzRise linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 28%;
    }
  }
}
@keyframes lzRise{
  from{ opacity:0; transform: translateY(28px) }
  to{ opacity:1; transform: none }
}
/* el tri-band debe dibujarse de izquierda a derecha, no subir */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .lz-triband{ animation-name: lzDraw; transform-origin: left }
    .lz-triband .elementor-divider-separator{ animation: lzFade linear both; animation-timeline: view();
      animation-range: entry 0% cover 20% }
  }
}
@keyframes lzDraw{ from{ transform: scaleX(0) } to{ transform: scaleX(1) } }
@keyframes lzFade{ from{ opacity:0 } to{ opacity:1 } }
/* correctivo: la regla del quote pisaba la fuente de la cita y la nota */
.lz-c.lz-c .lz-quote .lz-qsrc .elementor-heading-title{ font:500 italic 1.25rem var(--serif) !important;
  text-transform:none; letter-spacing:0; color:var(--gold-hi); margin:14px 0 0 }
.lz-c.lz-c .lz-quote .lz-qnote .elementor-heading-title{ font:400 10px var(--sans) !important;
  font-style:normal; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); margin:6px 0 0 }
.lz-c.lz-c .lz-quote > .elementor-element:first-child .elementor-heading-title{
  font:400 clamp(1.9rem,3.4vw,3rem)/1.12 var(--disp) !important; letter-spacing:.03em;
  text-transform:uppercase; color:var(--ink) }
/* correctivo: la descripción de cada valor es el último hijo del item;
   se coloca en la columna 2 y se revela al pasar el cursor o enfocar */
.lz-c.lz-c .lz-val > .elementor-element:last-child{ grid-column:2; max-height:0; opacity:0;
  overflow:hidden; margin-top:0; font:300 14.5px/1.65 var(--sans); color:var(--muted);
  transition:max-height .55s var(--ease), opacity .4s ease, margin-top .55s var(--ease) }
.lz-c.lz-c .lz-val:hover > .elementor-element:last-child,
.lz-c.lz-c .lz-val:focus-within > .elementor-element:last-child{ max-height:90px; opacity:1; margin-top:8px }
@media (hover:none){
  .lz-c.lz-c .lz-val > .elementor-element:last-child{ max-height:none; opacity:1; margin-top:8px }
}
/* las tarjetas de misión/visión: contenido a la izquierda */
.lz-c.lz-c .lz-mv .elementor-icon-box-wrapper{ text-align:left }
.lz-c.lz-c .lz-mv .elementor-icon-box-description{ text-align:left }
/* correctivo: el reseteo `position:static` de los widgets ganaba a estas
   reglas de clase, así que el fantasma y el sello caían al flujo normal */
.lz-c.lz-c.lz-c.lz-ghost{ position:absolute; right:clamp(8px,3vw,56px); top:clamp(40px,7vw,96px);
  left:auto; width:auto; --width:auto; max-width:none; padding:0 }
.lz-c.lz-c.lz-c.lz-ghost .elementor-heading-title{ font:400 clamp(10rem,26vw,22rem)/1 var(--disp) !important;
  color:rgba(237,230,214,.05); margin:0; white-space:nowrap }
.lz-c.lz-c.lz-c.lz-seal{ position:absolute; top:0; left:50%; right:auto;
  transform:translate(-50%,-50%); width:48px; height:48px; border-radius:50%;
  background:var(--bg); border:1px solid var(--goldline); display:grid; place-items:center;
  color:var(--gold); padding:0 }
/* las tarjetas de la banda roja también a la izquierda */
.lz-c.lz-c .lz-mile .elementor-icon-box-wrapper,.lz-c.lz-c .lz-mile .elementor-icon-box-description{
  text-align:left }
.lz-c.lz-c .lz-cta{ text-align:center }
/* el fantasma y el sello son WIDGETS (sin lz-c): se ancla con el contenedor padre */
.lz-c .elementor-element.lz-ghost{ position:absolute; right:clamp(8px,3vw,56px); top:clamp(40px,7vw,96px);
  left:auto; width:auto; max-width:none; padding:0; --width:auto }
.lz-c .elementor-element.lz-seal{ position:absolute; top:0; left:50%; right:auto;
  transform:translate(-50%,-50%); width:48px; height:48px; border-radius:50%; padding:0;
  background:var(--bg); border:1px solid var(--goldline); display:grid; place-items:center;
  color:var(--gold) }
/* correctivo móvil: las listas inline de Elementor usan márgenes negativos
   (space_between/2) y desbordaban 8px el viewport */
@media (max-width:900px){
  .lz-c.lz-c .elementor-icon-list-items.elementor-inline-items{ margin-inline:0 }
  .lz-c.lz-c .lz-cta-meta .elementor-icon-list-items,
  .lz-c.lz-c .lz-soc .elementor-icon-list-items{ justify-content:center; flex-wrap:wrap }
}
/* correctivo: los overrides responsive deben igualar la especificidad de las
   rejillas base, o siguen ganando las de escritorio */
@media (max-width:960px){
  .lz-c.lz-c.lz-c.lz-mvgrid,
  .lz-c.lz-c.lz-c.lz-milegrid,
  .lz-c.lz-c.lz-c.lz-split{ grid-template-columns:1fr }
  .lz-c.lz-c.lz-c.lz-footgrid{ grid-template-columns:1fr 1fr }
}
@media (max-width:640px){
  .lz-c.lz-c.lz-c.lz-footgrid{ grid-template-columns:1fr }
  .lz-c.lz-c .lz-cta-meta{ flex-direction:column; align-items:center }
}

/* ============================================================
   FOTOGRAFÍA REAL + LOGO DE MARCA  (append · post 1598)
   Convención .lz-foto: aspect-ratio fijo + object-fit:cover para
   que 6 orientaciones distintas de origen no rompan la retícula.
   ============================================================ */

/* --- base de la foto --- */
.lz-c .lz-foto img{ display:block; width:100%; height:100%; object-fit:cover;
  filter:saturate(.92) contrast(1.03) }
.lz-c .lz-foto{ border:1px solid var(--goldline); background:var(--bg-soft); overflow:hidden }
.lz-c.lz-c.lz-c.lz-foto{ --width:auto; width:100%; max-width:100%; padding:0; min-height:0 }

/* --- marco con scrim inferior (para pies de foto sobre imagen) --- */
.lz-c .lz-fotoframe{ position:relative; overflow:hidden; border:1px solid var(--goldline);
  background:var(--bg-soft) }
.lz-c .lz-fotoframe::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,rgba(11,10,8,0) 58%,rgba(11,10,8,.62) 100%) }
.lz-c.lz-c.lz-c.lz-fotoframe{ --width:auto; width:100%; max-width:100%; padding:0; min-height:0 }

/* --- enunciados del hero y la historia --- */
.lz-c.lz-c.lz-c.lz-herofoto{ --width:auto }
.lz-c .lz-herofoto, .lz-c .lz-herofoto .elementor-widget-container{ width:100% }
.lz-c .lz-herofoto img{ aspect-ratio:16/10 }
.lz-c .lz-histfoto img{ aspect-ratio:4/5 }

/* --- barbero: par de fotos --- */
.lz-c.lz-c.lz-c.lz-barberogrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px; margin-top:44px; align-items:start }
.lz-c.lz-c.lz-c.lz-barberogrid > .elementor-element{ --width:auto; width:100% }
.lz-c .lz-fotobarbero img{ aspect-ratio:2/3 }
.lz-c .lz-fotobarberosh img{ aspect-ratio:16/9 }
.lz-c.lz-c.lz-c.lz-barberogrid > .elementor-element:last-child{ align-self:end }

/* --- brújula: foto ancha + tarjetas --- */
.lz-c .lz-fotobrujula img{ aspect-ratio:21/9 }
.lz-c.lz-c.lz-c.lz-fotobrujula{ margin-bottom:44px }

/* --- camino: secuencia documental 2015-2016 --- */
.lz-c.lz-c.lz-c.lz-caminogrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px; margin-top:56px; align-items:start }
.lz-c.lz-c.lz-c.lz-caminogrid > .elementor-element{ --width:auto; width:100% }
.lz-c .lz-fotoarch img{ aspect-ratio:3/4;
  filter:grayscale(.85) sepia(.08) contrast(1.02) }
.lz-c .lz-fotoarch:hover img{ filter:none }
.lz-c .lz-fotoarch{ transition:border-color .4s var(--ease) }
.lz-c .lz-fotoarch:hover{ border-color:var(--gold) }
.lz-c .lz-fotoarchalt img{ aspect-ratio:9/16 }

/* --- logo de marca (nav + pie) --- */
.lz-c.lz-c .lz-logow .elementor-widget-container{ display:flex; align-items:center }
.lz-c.lz-c .lz-logow img{ display:block; width:auto; max-width:none; height:40px }
.lz-c.lz-c .lz-logowfoot img{ height:64px }
.lz-c.lz-c.lz-c.lz-logowfoot{ --width:auto; width:auto; margin-bottom:18px }

/* --- nombre textual para lectores de pantalla --- */
.lz-c.lz-c .lz-sr h2,.lz-c.lz-c .lz-sr .elementor-heading-title{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; border:0; padding:0; margin:-1px }

/* --- responsive --- */
@media (max-width:960px){
  .lz-c.lz-c.lz-c.lz-barberogrid{ grid-template-columns:1fr }
  .lz-c.lz-c.lz-c.lz-caminogrid{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .lz-c .lz-herofoto img{ aspect-ratio:4/3 }
}
@media (max-width:640px){
  .lz-c.lz-c.lz-c.lz-caminogrid{ grid-template-columns:1fr }
  .lz-c .lz-histfoto img{ aspect-ratio:3/4 }
  .lz-c.lz-c .lz-logow img{ height:34px }
  .lz-c.lz-c .lz-logowfoot img{ height:56px }
}
@media (prefers-reduced-motion:reduce){
  .lz-c .lz-fotoarch img{ transition:none }
}
/* --- correctivo: la foto del hero debe vivir en la retícula de contenido,
   no a sangre (los contenedores base traen --width:100%) --- */
.lz-c.lz-c.lz-c.lz-hero > .lz-hero-foto{ width:min(1160px,calc(100% - 48px));
  max-width:100%; margin-inline:auto; padding:0; min-height:0; --width:auto }
.lz-c.lz-c .lz-hero-foto{ width:min(1160px,calc(100% - 48px)); margin-inline:auto }
.lz-c.lz-c .lz-hero-foto .elementor-widget-container{ width:100% }
.lz-c.lz-c .lz-herofoto{ --width:auto; width:100% }
.lz-c.lz-c .lz-herofoto img{ aspect-ratio:16/10; height:auto }
/* el hero deja de centrar en vertical: el bloque es alto */
.lz-c.lz-c.lz-c.lz-hero{ align-items:stretch; padding-bottom:64px }
.lz-c.lz-c .lz-hero-foto{ margin-top:26px }
@media (max-width:900px){
  .lz-c.lz-c.lz-c.lz-hero{ align-items:center }
}
/* --- correctivo: las rejillas de fotos deben vivir en la caja de contenido --- */
.lz-c.lz-c.lz-c.lz-histfoto,
.lz-c.lz-c.lz-c.lz-barberogrid,
.lz-c.lz-c.lz-c.lz-fotobrujula,
.lz-c.lz-c.lz-c.lz-caminogrid{ width:min(1160px,calc(100% - 48px)); max-width:100%;
  margin-inline:auto; padding:0; min-height:0; --width:auto }

/* historia: dos afiches lado a lado (son verticales 989x1280) */
.lz-c.lz-c.lz-c.lz-histfoto{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px; margin-top:56px; align-items:start }
.lz-c.lz-c.lz-c.lz-histfoto > .elementor-element{ --width:auto; width:100% }
.lz-c.lz-c .lz-histfoto{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px }
.lz-c .lz-histfoto .lz-foto{ width:100% }

/* barbero y camino: que las cajas no midan 1440 */
.lz-c.lz-c .lz-barberogrid{ width:100% }
.lz-c.lz-c .lz-fotobrujula{ width:100% }
.lz-c.lz-c .lz-caminogrid{ width:100% }
.lz-c.lz-c.lz-c.lz-fotobrujula{ display:block; margin-top:56px }
.lz-c.lz-c .lz-fotobrujula .lz-foto{ width:100% }
.lz-c.lz-c .lz-histfoto .elementor-widget-container{ width:100% }

/* barbero: la foto 552x829 no se estira — se limita a ~1.6x su ancho natural */
.lz-c.lz-c.lz-c.lz-barberogrid{ grid-template-columns:minmax(0,560px) minmax(0,1fr) }
.lz-c .lz-fotobarbero{ max-width:560px }

/* espaciado entre título y rejilla en historia */
.lz-c.lz-c .lz-histfoto{ margin-top:56px }

@media (max-width:960px){
  .lz-c.lz-c.lz-c.lz-barberogrid{ grid-template-columns:1fr }
  .lz-c .lz-fotobarbero{ max-width:100% }
}
@media (max-width:640px){
  .lz-c.lz-c.lz-c.lz-histfoto{ grid-template-columns:1fr }
}
/* --- correctivo: barbero — vertical a la izquierda, apaisada abajo a la derecha --- */
.lz-c.lz-c.lz-c.lz-barberogrid{ grid-template-columns:minmax(0,460px) minmax(0,1fr);
  align-items:start; row-gap:14px }
.lz-c.lz-c.lz-c.lz-barberogrid > .elementor-element:first-child{ grid-row:span 1 }
.lz-c.lz-c.lz-c.lz-barberogrid > .elementor-element:last-child{ align-self:start; grid-column:2;
  margin-top:0 }
/* la apaisada del barbero conserva 16:9 y no arrastra altura */
.lz-c .lz-fotobarbero{ max-width:460px }
.lz-c .lz-fotobarbero img{ aspect-ratio:2/3 }
.lz-c .lz-fotobarberosh img{ aspect-ratio:16/9 }

/* --- correctivo: camino — las cuatro comparten proporción 3:4 (la 1714 no debe
   ser más alta que el resto ni dejar huecos) --- */
.lz-c .lz-fotoarchalt img{ aspect-ratio:3/4 }
.lz-c.lz-c.lz-c.lz-caminogrid{ align-items:start }
.lz-c.lz-c.lz-c.lz-caminogrid > .elementor-element{ align-self:start }

@media (max-width:960px){
  .lz-c.lz-c.lz-c.lz-barberogrid > .elementor-element:last-child{ grid-column:auto }
}
/* --- correctivo final: barbero en dos columnas equilibradas (vertical 2:3 izq,
   apaisada 16:9 der) centradas en vertical para no dejar hueco bajo la apaisada --- */
.lz-c.lz-c.lz-c.lz-barberogrid{ grid-template-columns:minmax(0,460px) minmax(0,1fr);
  align-items:center; row-gap:14px }
.lz-c.lz-c.lz-c.lz-barberogrid > .elementor-element:last-child{ align-self:center; grid-column:2 }
.lz-c .lz-fotobarbero{ max-width:460px }
.lz-c .lz-fotobarberosh img{ aspect-ratio:4/3 }
@media (max-width:960px){
  .lz-c.lz-c.lz-c.lz-barberogrid{ align-items:start }
  .lz-c.lz-c.lz-c.lz-barberogrid > .elementor-element:last-child{ align-self:start }
}
/* --- correctivo móvil (append 2026-09-17): la rejilla del barbero debe caer a 1 columna.
   El correctivo de escritorio (0,3,0) estaba más abajo en el blob y ganaba por orden. --- */
@media (max-width:960px){
  .lz-c.lz-c.lz-c.lz-c.lz-barberogrid{ grid-template-columns:1fr; align-items:start; row-gap:14px }
  .lz-c.lz-c.lz-c.lz-c.lz-barberogrid > .elementor-element:last-child{ grid-column:auto; grid-row:auto; align-self:start }
  .lz-c.lz-c.lz-c.lz-fotobarbero{ max-width:100% }
}
/* --- correctivo (append 2026-09-17 · 2): el hero recupera su columna centrada (max 760px).
   El correctivo de fotos puso align-items:stretch, que estira la columna al ancho del
   viewport: el texto quedaba pegado al borde izquierdo y el icono del kicker recortado. --- */
.lz-c.lz-c.lz-c.lz-hero{ align-items:center }
/* --- correctivo (append 2026-09-17 · 3): el medallón "V GENERACIÓN" vuelve a su sitio.
   El hero creció al añadir la foto y el medallón (top:50%) bajó hasta cruzarse con
   el borde superior de la foto (aro truncado). Se ancla a la columna de texto:
   150px de padding + 366px = centro del bloque tipográfico del hero. --- */
.lz-c.lz-c.lz-c.lz-med{ top:516px; transform:none }/* End custom CSS */