:root{--lf-sidebar:80px;--lf-line:#ded5c5;--lf-ink:#181817;--lf-gold:#b38c2e;--lf-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--lf-sans:"Montserrat",Arial,sans-serif}
body.lf-shell-open{overflow:hidden!important}
.lf-side-rail{position:fixed;inset:0 auto 0 0;width:var(--lf-sidebar);z-index:1000;background:#fff;border-right:1px solid var(--lf-line);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:30px 0 28px;color:var(--lf-ink)}
.lf-rail-button,.lf-rail-brand{appearance:none;border:0;background:transparent;color:var(--lf-ink);padding:0;letter-spacing:.03em;cursor:pointer}.lf-rail-button{font:500 14px/1 var(--lf-sans);writing-mode:vertical-rl;transform:rotate(180deg)}.lf-rail-brand{font:400 21px/1 var(--lf-serif);white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.04em}
.lf-mobile-header{display:none}
.lf-menu-backdrop{position:fixed;z-index:1200;inset:0;background:rgba(10,10,9,.2);opacity:0;visibility:hidden;transition:.35s ease}
.lf-menu-drawer{position:fixed;z-index:1201;left:0;top:0;height:100vh;width:min(560px,100vw);background:#eee7d9;color:var(--lf-ink);padding:28px 34px 32px;transform:translateX(calc(-100% - 2px));visibility:hidden;transition:transform .52s cubic-bezier(.2,.75,.25,1),visibility 0s linear .52s;display:flex;flex-direction:column;box-shadow:18px 0 45px rgba(18,16,12,.08)}
body.lf-shell-open .lf-menu-backdrop{opacity:1;visibility:visible}body.lf-shell-open .lf-menu-drawer{transform:none;visibility:visible;transition-delay:0s}
.lf-menu-head{display:flex;justify-content:space-between;align-items:center;font:500 11px/1 var(--lf-sans);letter-spacing:.14em}.lf-menu-close{appearance:none;border:0;background:transparent;font:300 34px/1 var(--lf-serif);padding:0 4px;color:var(--lf-ink);cursor:pointer}
.lf-menu-nav{display:flex;flex-direction:column;margin-top:46px}.lf-menu-link{appearance:none;border:0;background:transparent;display:flex;align-items:flex-start;width:max-content;max-width:100%;padding:8px 0;color:var(--lf-ink);position:relative;cursor:pointer}.lf-menu-link span{font:400 clamp(31px,3.05vw,48px)/1.05 var(--lf-serif);border-bottom:1px solid rgba(24,24,23,.25)}.lf-menu-link sup{font:400 12px/1 var(--lf-sans);margin:5px 0 0 8px;color:#6e675d}.lf-menu-link:hover span{border-color:var(--lf-ink)}
.lf-menu-bottom{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.lf-menu-signature{font:400 24px/1.03 var(--lf-serif)}.lf-menu-socials{display:flex;flex-direction:column;gap:9px;font:400 12px/1.3 var(--lf-sans)}.lf-menu-socials span{margin-bottom:8px;color:#26231f}.lf-menu-socials a{color:#6f685f;text-decoration:none}.lf-menu-socials a:hover{color:#000}

/* Keep the original Nosotros composition intact inside the usable viewport left by the shared rail. */
@media (min-width:1025px){body{padding-left:var(--lf-sidebar)}.team-story,.team-sticky{width:calc(100vw - var(--lf-sidebar))}.panel{flex-basis:calc(100vw - var(--lf-sidebar));width:calc(100vw - var(--lf-sidebar))}}

/* Main-site footer, namespaced to avoid touching the Nosotros design. */
.lf-footer{min-height:100vh;background:#020202;color:#ffffff;padding:28px clamp(34px,4vw,76px) 24px;display:flex;align-items:center;font-family:var(--lf-sans)}
.lf-footer-inner{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:clamp(46px,7vh,112px);margin:auto}
.lf-footer-top{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(32px,5vw,76px);align-items:start;width:100%}
.lf-footer-newsletter p{margin:0 0 18px;color:#ffffff;font-size:16px;line-height:1.5;font-weight:400}.lf-footer-form{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:12px;align-items:center;width:100%}.lf-footer-form input{width:100%;height:52px;border:1px solid rgba(214,189,129,.4);background:#020202;color:#fff;border-radius:14px;padding:0 18px;font:400 14px var(--lf-sans);outline:none}.lf-footer-form input::placeholder{color:rgba(255,255,255,.72)}.lf-footer-form button{width:52px;height:52px;border:0;border-radius:12px;background:#ffffff;color:#050505;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer}
.lf-footer-navwrap{display:grid;grid-template-columns:minmax(120px,1fr) minmax(105px,.7fr);gap:clamp(26px,3.8vw,58px);position:relative;padding-left:clamp(0px,1vw,18px)}.lf-footer-navwrap::before{content:"";position:absolute;left:calc(50% - clamp(13px,1.9vw,28px));top:0;bottom:0;width:1px;background:rgba(255,255,255,.22)}.lf-footer-nav,.lf-footer-socials{display:flex;flex-direction:column;gap:14px}.lf-footer-nav button,.lf-footer-socials a{appearance:none;border:0;background:transparent;text-align:left;padding:0;color:#ffffff;text-decoration:none;font:500 clamp(13px,1.05vw,16px)/1.4 var(--lf-sans);cursor:pointer}.lf-footer-nav button:hover,.lf-footer-socials a:hover{color:#d6bd81}
.lf-footer-brand{width:100%;margin:0 auto;text-align:center;font:400 clamp(96px,10.25vw,190px)/.86 var(--lf-sans);letter-spacing:-.035em;color:#ffffff;white-space:nowrap;text-transform:uppercase}.lf-footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-top:16px;border-top:1px solid rgba(214,189,129,.45);font-size:13px;color:#dfd6c7}

@media (min-width:1025px) and (max-width:1450px){.lf-footer{padding-top:24px;padding-bottom:20px}.lf-footer-inner{gap:clamp(38px,5.4vh,72px)}.lf-footer-top{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:34px}.lf-footer-newsletter p{font-size:14px;margin-bottom:14px}.lf-footer-form{grid-template-columns:minmax(0,1fr) 50px;gap:10px}.lf-footer-form input{height:48px;font-size:13px}.lf-footer-form button{width:48px;height:48px;font-size:24px}.lf-footer-navwrap{gap:28px;padding-left:0}.lf-footer-nav,.lf-footer-socials{gap:10px}.lf-footer-nav button,.lf-footer-socials a{font-size:14px}.lf-footer-brand{font-size:clamp(92px,9.65vw,140px)}}
@media (min-width:1025px) and (max-width:1180px){.lf-footer-top{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:26px}.lf-footer-navwrap{grid-template-columns:1fr 1fr;gap:22px}.lf-footer-brand{font-size:clamp(78px,8.7vw,103px)}}

@media (max-width:1024px){
 body{padding-top:58px}
 .lf-side-rail{display:none}.lf-mobile-header{position:fixed;z-index:1100;left:0;right:0;top:0;height:58px;background:#fff;border-bottom:1px solid var(--lf-line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;color:var(--lf-ink)}.lf-mobile-header button{appearance:none;border:0;background:transparent;font:500 10px/1 var(--lf-sans);letter-spacing:.07em;color:var(--lf-ink);cursor:pointer}.lf-mobile-menu{text-align:left}.lf-mobile-contact{text-align:right}.lf-mobile-logo{width:165px;height:auto}.lf-menu-drawer{left:0;top:58px;height:calc(100dvh - 58px);width:min(520px,100vw);padding:30px 24px}.lf-menu-backdrop{top:58px}
 .lf-footer{min-height:0;padding:70px 28px 22px}.lf-footer-inner{gap:56px}.lf-footer-top{grid-template-columns:1fr;gap:36px}.lf-footer-navwrap{padding-left:0;grid-template-columns:1fr 1fr;gap:36px}.lf-footer-navwrap::before{display:none}.lf-footer-brand{font-size:clamp(64px,11.5vw,108px);white-space:nowrap}.lf-footer-bottom{font-size:12px}
}
@media (min-width:821px) and (max-width:1024px){.team-sticky{top:58px;height:calc(100dvh - 58px)}.panel{height:calc(100dvh - 58px)}}
@media (max-width:820px){.panel{height:calc(100dvh - 58px);min-height:520px}}
@media (max-width:700px){.lf-mobile-header{padding:0 14px}.lf-mobile-logo{width:130px}.lf-menu-link span{font-size:38px}.lf-menu-bottom{grid-template-columns:1fr}.lf-menu-signature{display:none}.lf-footer{padding:56px 18px 18px}.lf-footer-newsletter p{font-size:14px}.lf-footer-form{grid-template-columns:1fr 50px;gap:10px}.lf-footer-form input{height:48px;border-radius:12px}.lf-footer-form button{width:48px;height:48px;border-radius:10px;font-size:24px}.lf-footer-navwrap{grid-template-columns:1fr 1fr;gap:28px}.lf-footer-nav button,.lf-footer-socials a{font-size:15px}.lf-footer-brand{font-size:clamp(42px,10.6vw,72px);letter-spacing:-.04em}.lf-footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.lf-footer-bottom span:last-child{text-align:left}}

/* V32 — logo vectorial oficial en el header de Nosotros */
.lf-rail-brand{
  width:var(--lf-sidebar)!important;
  height:124px!important;
  display:grid!important;
  place-items:center!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
  overflow:visible!important;
}
.lf-rail-brand-logo{
  display:block;
  width:112px;
  height:auto;
  max-width:none;
  transform:rotate(-90deg);
  transform-origin:center;
}
.lf-mobile-logo{
  width:148px!important;
  max-height:48px;
  object-fit:contain;
}
@media(max-width:700px){.lf-mobile-logo{width:126px!important;max-height:42px}}

/* V33 — logo contenido dentro del rail de Nosotros */
.lf-rail-brand{
  overflow:hidden!important;
}
.lf-rail-brand-logo{
  width:92px!important;
  max-width:92px!important;
  height:auto!important;
}

/* V35 — Azul institucional solicitado (#000000) */
.lf-menu-drawer{
  background:#000000 !important;
  color:#fff !important;
  box-shadow:18px 0 45px rgba(0,0,0,.18) !important;
}
.lf-menu-head,.lf-menu-close,.lf-menu-signature{color:#fff !important}
.lf-menu-link{color:#fff !important}
.lf-menu-link span{border-bottom-color:rgba(255,255,255,.28) !important}
.lf-menu-link sup{color:rgba(255,255,255,.58) !important}
.lf-menu-link:hover span{border-color:#fff !important}
.lf-menu-socials span{color:#fff !important}
.lf-menu-socials a{color:rgba(255,255,255,.68) !important}
.lf-menu-socials a:hover{color:#fff !important}

.lf-footer{background:#000000 !important}
.lf-footer-form input{background:#000000 !important;color:#fff !important}


/* V36 — acentos sutiles compartidos en Nosotros */
:root{--lf-gold-bright:#D1BC8D;--lf-gold-mid:#B49558}
.lf-menu-link:hover span{border-color:var(--lf-gold-bright)!important}
.lf-menu-socials a:hover{color:var(--lf-gold-bright)!important}
.lf-footer-form button{
  background:linear-gradient(135deg,#FFF0A8 0%,#F2D36E 28%,#D8AA32 56%,#F7DD82 80%,#FFF1B0 100%)!important;
  color:#000000!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 22px rgba(216,170,50,.14);
}
.lf-footer-form input{border-color:rgba(240,214,117,.35)!important}
.lf-footer-bottom{border-top-color:rgba(240,214,117,.42)!important}
.member-action span{background:linear-gradient(135deg,#FFF0A8,#D8AA32,#F7DD82)!important;color:#000000!important}


/* V68 — footer logo reduced so it no longer looks like the original giant text */
.lf-footer-brand{display:flex !important;justify-content:center !important;align-items:center !important;text-align:center !important;}
.lf-footer-brand img{display:block !important;width:clamp(240px,28vw,430px) !important;max-width:92% !important;height:auto !important;margin:0 auto !important;}
@media (max-width:1024px){.lf-footer-brand img{width:clamp(220px,34vw,360px) !important;}}
@media (max-width:700px){.lf-footer-brand img{width:clamp(180px,52vw,280px) !important;}}


/* V70 — footer logo blanco en Nosotros */
.lf-footer-brand img{display:block !important;width:clamp(240px,28vw,430px) !important;max-width:92% !important;height:auto !important;margin:0 auto !important;}


/* V77 — Nosotros: fotos más pequeñas, uniformes y simétricas */
@media (min-width:1025px){
  .member .panel-inner{
    grid-template-columns:minmax(360px,.74fr) minmax(460px,.96fr) !important;
    gap:clamp(42px,4vw,72px) !important;
    align-items:center !important;
  }
  .member-copy{
    align-self:center !important;
    max-width:620px !important;
  }
  .member-photo{
    width:min(100%,780px) !important;
    max-width:780px !important;
    aspect-ratio:4 / 5 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 auto !important;
    align-self:center !important;
    justify-self:center !important;
    border-radius:10px !important;
  }
  .member-photo img{
    object-position:center top !important;
  }
  .member-photo .photo-index{
    font-size:92px !important;
    top:18px !important;
    right:18px !important;
  }
  .member-photo .photo-line{
    left:18px !important;
    right:18px !important;
    bottom:16px !important;
  }
}

@media (min-width:821px) and (max-width:1024px){
  .member .panel-inner{
    grid-template-columns:minmax(300px,.86fr) minmax(320px,1fr) !important;
    gap:28px !important;
    align-items:center !important;
  }
  .member-photo{
    width:min(100%,520px) !important;
    aspect-ratio:4 / 5 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 auto !important;
    align-self:center !important;
    justify-self:center !important;
  }
  .member-photo .photo-index{
    font-size:76px !important;
  }
}


/* V78 — Nosotros: fotos más pequeñas de forma proporcional, sin ocupar casi toda la pantalla */
@media (min-width:1025px){
  .member .panel-inner{
    grid-template-columns:minmax(360px,.82fr) minmax(0,1.08fr) !important;
    gap:clamp(54px,5.5vw,96px) !important;
    align-items:center !important;
  }
  .member-photo{
    width:min(100%,620px) !important;
    max-width:620px !important;
    aspect-ratio:1397 / 1126 !important;
    height:auto !important;
    max-height:68vh !important;
    min-height:0 !important;
    margin:0 auto !important;
    align-self:center !important;
    justify-self:center !important;
    border-radius:10px !important;
  }
  .member-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
  .member-photo .photo-index{
    font-size:84px !important;
    top:18px !important;
    right:18px !important;
  }
}

@media (min-width:821px) and (max-width:1024px){
  .member .panel-inner{
    grid-template-columns:minmax(300px,.9fr) minmax(0,1fr) !important;
    gap:24px !important;
    align-items:center !important;
  }
  .member-photo{
    width:min(100%,430px) !important;
    max-width:430px !important;
    aspect-ratio:1397 / 1126 !important;
    height:auto !important;
    max-height:56vh !important;
    min-height:0 !important;
    margin:0 auto !important;
    align-self:center !important;
    justify-self:center !important;
  }
  .member-photo .photo-index{
    font-size:70px !important;
  }
}


/* V79 — Nosotros: reducir el vacío entre texto y foto sin alterar proporciones */
@media (min-width:1280px){
  .member .panel-inner{
    grid-template-columns:minmax(360px,520px) minmax(0,620px) !important;
    gap:clamp(28px,2.5vw,40px) !important;
    justify-content:start !important;
    align-items:center !important;
  }
  .member-copy{
    width:100% !important;
    max-width:520px !important;
  }
  .member-photo{
    width:min(100%,620px) !important;
    max-width:620px !important;
    justify-self:start !important;
    margin:0 !important;
  }
}

@media (min-width:1025px) and (max-width:1279px){
  .member .panel-inner{
    grid-template-columns:minmax(320px,440px) minmax(0,500px) !important;
    gap:24px !important;
    justify-content:start !important;
    align-items:center !important;
  }
  .member-copy{
    width:100% !important;
    max-width:440px !important;
  }
  .member-photo{
    width:min(100%,500px) !important;
    max-width:500px !important;
    justify-self:start !important;
    margin:0 !important;
  }
}


/* V80 — Nosotros: eliminar el hueco excesivo entre paneles sin agrandar fotos */
@media (min-width:1280px){
  .member .panel-inner{
    padding-left:48px !important;
    padding-right:48px !important;
    grid-template-columns:minmax(380px,1fr) auto !important;
    gap:22px !important;
    justify-content:space-between !important;
    align-items:center !important;
  }
  .member-copy{
    padding-left:0 !important;
    max-width:560px !important;
    width:100% !important;
  }
  .member-photo{
    width:min(100%,620px) !important;
    max-width:620px !important;
    margin-left:auto !important;
    margin-right:0 !important;
    justify-self:end !important;
  }
}

@media (min-width:1025px) and (max-width:1279px){
  .member .panel-inner{
    padding-left:40px !important;
    padding-right:40px !important;
    grid-template-columns:minmax(320px,1fr) auto !important;
    gap:18px !important;
    justify-content:space-between !important;
    align-items:center !important;
  }
  .member-copy{
    padding-left:0 !important;
    max-width:480px !important;
    width:100% !important;
  }
  .member-photo{
    width:min(100%,500px) !important;
    max-width:500px !important;
    margin-left:auto !important;
    margin-right:0 !important;
    justify-self:end !important;
  }
}


/* V81 — Nosotros: eliminar el espacio visible entre un panel y otro */
@media (min-width:821px){
  .member .panel-inner{
    height:100dvh !important;
    padding:18px 18px 6px 18px !important;
    grid-template-columns:minmax(360px, 44%) minmax(460px, 580px) !important;
    gap:clamp(12px, 1.2vw, 18px) !important;
    column-gap:clamp(12px, 1.2vw, 18px) !important;
    row-gap:0 !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  .member::before{
    left:18px !important;
    right:18px !important;
    top:6px !important;
    bottom:6px !important;
    border-radius:17px !important;
  }
  .member-copy{
    padding-left:0 !important;
    padding-right:10px !important;
    max-width:520px !important;
    width:100% !important;
    align-self:center !important;
    justify-self:start !important;
  }
  .member-photo{
    width:min(100%,580px) !important;
    max-width:580px !important;
    aspect-ratio:1397 / 1126 !important;
    height:auto !important;
    max-height:64vh !important;
    min-height:0 !important;
    margin:0 !important;
    align-self:center !important;
    justify-self:end !important;
    border-radius:10px !important;
  }
  .member-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
}

@media (min-width:821px) and (max-width:1279px){
  .member .panel-inner{
    grid-template-columns:minmax(300px, 1fr) minmax(380px, 480px) !important;
    padding-left:16px !important;
    padding-right:16px !important;
    gap:14px !important;
  }
  .member::before{left:16px !important; right:16px !important;}
  .member-copy{max-width:460px !important;}
  .member-photo{width:min(100%,480px) !important; max-width:480px !important; max-height:58vh !important;}
}


/* V82 — Nosotros: composición limpia, sin huecos grandes y sin marco dorado */
@media (min-width:821px){
  .member::before{
    display:none !important;
  }

  .member .panel-inner{
    width:min(1180px, calc(100vw - var(--lf-sidebar) - 56px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:18px 0 8px 0 !important;
    grid-template-columns:minmax(320px, 470px) minmax(420px, 560px) !important;
    justify-content:center !important;
    align-items:center !important;
    gap:clamp(18px, 2vw, 28px) !important;
    column-gap:clamp(18px, 2vw, 28px) !important;
    row-gap:0 !important;
  }

  .member-copy{
    width:100% !important;
    max-width:470px !important;
    padding:0 !important;
    margin:0 !important;
    justify-self:start !important;
    align-self:center !important;
  }

  .member-photo{
    width:min(100%, 560px) !important;
    max-width:560px !important;
    aspect-ratio:1397 / 1126 !important;
    height:auto !important;
    max-height:62vh !important;
    min-height:0 !important;
    margin:0 !important;
    justify-self:start !important;
    align-self:center !important;
    border-radius:10px !important;
  }

  .member-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
}

@media (min-width:821px) and (max-width:1180px){
  .member .panel-inner{
    width:min(100%, calc(100vw - var(--lf-sidebar) - 32px)) !important;
    grid-template-columns:minmax(280px, 1fr) minmax(340px, 460px) !important;
    gap:16px !important;
    column-gap:16px !important;
  }

  .member-copy{
    max-width:420px !important;
  }

  .member-photo{
    width:min(100%, 460px) !important;
    max-width:460px !important;
    max-height:56vh !important;
  }
}


/* V83 — Nosotros: reducir el ancho real de cada directivo para eliminar el vacío ENTRE directivos */
@media (min-width:1280px){
  .team-track > .member{
    flex:0 0 1120px !important;
    width:1120px !important;
  }
  .member .panel-inner{
    width:1120px !important;
    max-width:1120px !important;
    margin:0 !important;
    padding:18px 28px 8px 28px !important;
    grid-template-columns:470px 560px !important;
    gap:24px !important;
    column-gap:24px !important;
    justify-content:start !important;
    align-items:center !important;
  }
  .member-copy{
    width:470px !important;
    max-width:470px !important;
    padding:0 !important;
    margin:0 !important;
  }
  .member-photo{
    width:560px !important;
    max-width:560px !important;
    margin:0 !important;
    justify-self:start !important;
  }
}

@media (min-width:1025px) and (max-width:1279px){
  .team-track > .member{
    flex:0 0 930px !important;
    width:930px !important;
  }
  .member .panel-inner{
    width:930px !important;
    max-width:930px !important;
    margin:0 !important;
    padding:16px 22px 8px 22px !important;
    grid-template-columns:390px 478px !important;
    gap:18px !important;
    column-gap:18px !important;
    justify-content:start !important;
    align-items:center !important;
  }
  .member-copy{
    width:390px !important;
    max-width:390px !important;
    padding:0 !important;
    margin:0 !important;
  }
  .member-photo{
    width:478px !important;
    max-width:478px !important;
    margin:0 !important;
    justify-self:start !important;
  }
}
