/* Lucio Banner + Menú: estilos limitados a este widget */
.lucio-banner{box-sizing:border-box;position:relative;isolation:isolate;min-height:760px;background:#101417;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;color:#fff;padding:0;font-family:Arial,sans-serif}
.lucio-banner *{box-sizing:border-box}
.lucio-banner:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(2,4,5,var(--lc-overlay-left,.93)) 0%,rgba(2,4,5,.75) 28%,rgba(2,4,5,.35) 60%,rgba(2,4,5,var(--lc-overlay-right,.08)) 100%),linear-gradient(180deg,rgba(0,0,0,.35),transparent 30%,rgba(0,0,0,.43)),var(--lc-photo);background-size:cover;background-position:center,center,var(--lc-photo-x,60%) var(--lc-photo-y,50%);z-index:-1;pointer-events:none}
.lucio-banner .lucio-header{position:relative;z-index:5;min-height:110px;flex-shrink:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:16px clamp(22px,6vw,105px);background:transparent!important;border-bottom:1px solid #ffffff2b;color:#fff}
.lucio-banner .lucio-logo{display:block;flex-shrink:0;color:#fff;text-decoration:none}.lucio-banner .lucio-logo img{display:block;width:190px;max-width:100%;height:auto;max-height:72px;object-fit:contain;object-position:left center}
.lucio-banner .lucio-nav{display:flex;align-items:center;gap:clamp(13px,2.3vw,38px)}.lucio-banner .lucio-nav a{font-size:12px;font-weight:700;letter-spacing:.07em;color:#fff;text-decoration:none;white-space:nowrap;text-transform:uppercase}.lucio-banner .lucio-nav a:hover{color:var(--lc-accent)}
.lucio-banner .lucio-nav .lucio-contact{background:var(--lc-button)!important;color:#101010!important;padding:14px 20px;border-radius:2px}.lucio-banner .lucio-nav .lucio-contact:hover{filter:brightness(.93)}
.lucio-banner .lucio-menu-toggle{display:none;border:1px solid #ffffff66;background:transparent;color:#fff;font-size:23px;padding:7px 13px;cursor:pointer}
.lucio-banner .lucio-banner-content{position:relative;z-index:1;max-width:min(720px,calc(100% - var(--lc-content-left,110px) - 24px));width:100%;min-width:0;padding:85px 0 85px;margin-left:var(--lc-content-left,110px)!important;margin-right:0!important;align-self:flex-start!important;flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start!important;justify-content:center;text-align:left!important}
.lucio-banner .lucio-eyebrow{font-size:11px;letter-spacing:.23em;font-weight:800;display:flex;gap:13px;align-items:center}.lucio-banner .lucio-eyebrow:before{content:"";display:block;background:var(--lc-accent);width:30px;height:3px;flex-shrink:0}
.lucio-banner h1{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:900;font-size:clamp(56px,6.5vw,106px);line-height:.9;letter-spacing:-.02em;color:#fff;text-transform:uppercase;margin:22px 0 20px}.lucio-banner h1 span{color:var(--lc-accent)}
.lucio-banner .lucio-description{white-space:normal;color:#e6e6e6;font-size:16px;line-height:1.65;margin:0 0 16px;max-width:450px}.lucio-banner .lucio-location{font-size:11px;letter-spacing:.17em;font-weight:800;color:#f5f5f5;display:flex;gap:10px;align-items:center;margin:0 0 28px}.lucio-banner .lucio-location i{width:6px;height:6px;display:block;background:var(--lc-accent);border-radius:50%}
.lucio-banner .lucio-cta{display:inline-flex;align-items:center;gap:32px;background:var(--lc-banner-button)!important;color:#111!important;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.05em;padding:19px 24px;border-radius:1px}.lucio-banner .lucio-cta:hover{filter:brightness(.93)}.lucio-banner .lucio-cta span{font-size:20px}
@media(max-width:900px){.lucio-banner .lucio-header{min-height:84px}.lucio-banner .lucio-menu-toggle{display:block}.lucio-banner .lucio-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:24px;background:#111;flex-direction:column;align-items:flex-start;gap:22px;z-index:30}.lucio-banner .lucio-nav.lucio-open{display:flex}.lucio-banner .lucio-banner-content{padding-top:95px}.lucio-banner h1{font-size:clamp(54px,10vw,86px)}}
@media(max-width:600px){.lucio-banner{min-height:700px}.lucio-banner .lucio-header{padding:14px 22px}.lucio-banner .lucio-logo img{max-height:55px}.lucio-banner .lucio-banner-content{margin-left:var(--lc-content-left,24px)!important;margin-right:0!important;width:calc(100% - var(--lc-content-left,24px) - 24px);max-width:calc(100% - var(--lc-content-left,24px) - 24px);padding:70px 0 75px}.lucio-banner:before{background-image:linear-gradient(90deg,rgba(0,0,0,var(--lc-overlay-left,.93)),rgba(0,0,0,.52)),var(--lc-photo);background-position:center,var(--lc-photo-x,57%) var(--lc-photo-y,50%)}.lucio-banner h1{font-size:clamp(46px,12vw,70px)}.lucio-banner .lucio-eyebrow{font-size:10px;letter-spacing:.12em}.lucio-banner .lucio-description{white-space:normal;font-size:14px}.lucio-banner .lucio-location{font-size:10px;letter-spacing:.10em}.lucio-banner .lucio-cta{font-size:11px;gap:14px;padding:17px 19px}}

/* Lucio v1.1: el bloque de texto conserva su posición aunque el tema aplique alineaciones de Elementor. */
.lucio-banner{--lc-content-left:clamp(24px,6vw,110px);width:100%;max-width:none!important}
.lucio-banner .lucio-banner-content{margin-left:var(--lc-content-left)!important;margin-right:0!important;align-self:flex-start!important;transform:none!important;left:auto!important;right:auto!important}
.lucio-banner .lucio-banner-content>*{align-self:flex-start;max-width:100%}
.lucio-banner .lucio-banner-content h1{max-width:100%;overflow-wrap:normal}
.lucio-banner .lucio-logo .lucio-logo-fallback{display:block;font-weight:900;font-size:19px;letter-spacing:.035em;line-height:1.08;color:#fff;text-transform:uppercase}
@media(max-width:900px){.lucio-banner{--lc-content-left:36px}}
@media(max-width:600px){.lucio-banner{--lc-content-left:24px}.lucio-banner .lucio-banner-content{margin-left:var(--lc-content-left)!important;max-width:calc(100% - var(--lc-content-left) - 24px)}}

/* v1.2: bloque ANCLADO AL BORDE IZQUIERDO, sin centrado del contenedor del tema. */
.lucio-banner{--lc-content-left:40px;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important}
.lucio-banner .lucio-banner-content{
  box-sizing:border-box!important;
  position:relative!important;
  align-self:flex-start!important;
  flex:1 0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:min(690px,calc(100% - var(--lc-content-left) - 24px))!important;
  max-width:calc(100% - var(--lc-content-left) - 24px)!important;
  margin:0 0 0 var(--lc-content-left)!important;
  left:0!important;
  right:auto!important;
  transform:none!important;
  text-align:left!important;
  padding:50px 0 70px!important;
}
.lucio-banner .lucio-banner-content>*{align-self:flex-start!important;text-align:left!important;margin-left:0!important;margin-right:0!important}
.lucio-banner .lucio-banner-content h1{font-size:clamp(54px,6.2vw,100px);line-height:.9;margin-top:22px!important;margin-bottom:22px!important}
.lucio-banner .lucio-banner-content .lucio-description{margin-bottom:16px!important}
.lucio-banner .lucio-banner-content .lucio-location{margin-bottom:28px!important}
@media(max-width:900px){.lucio-banner{--lc-content-left:30px}.lucio-banner .lucio-banner-content{padding-top:50px!important;padding-bottom:65px!important}}
@media(max-width:600px){.lucio-banner{--lc-content-left:22px}.lucio-banner .lucio-banner-content{width:calc(100% - var(--lc-content-left) - 20px)!important;max-width:calc(100% - var(--lc-content-left) - 20px)!important;padding:35px 0 60px!important}.lucio-banner .lucio-banner-content h1{font-size:clamp(45px,11vw,68px)}}
