/* Componentes globales KODED */
:root{--koded-ink:#171717;--koded-terra:#B5654A;--koded-line:#ddd9d3}
.top{height:30px;background:#171717;color:#fff;display:flex;align-items:center;justify-content:center;font:400 10px "DM Sans",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.koded-header{height:78px;display:flex;align-items:center;border-bottom:1px solid #eee;position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);z-index:999}
.koded-header .shell,.koded-footer .shell{width:min(1440px,calc(100% - 56px));margin:auto}
.koded-header nav{display:flex;align-items:center;justify-content:space-between;width:100%}
.koded-header .brand{display:inline-flex;align-items:center;line-height:0}.koded-header .logo-mark{display:block;width:132px;height:auto}
.koded-header .links{display:flex;gap:29px;align-items:center;font:400 13px "DM Sans",Arial,sans-serif}
.koded-header .links>a,.koded-header .dropbtn{font:inherit}.koded-header .dropbtn{background:none;border:0;padding:12px 0;cursor:pointer;display:inline-flex;align-items:center;gap:9px;color:#171717}
.koded-header .chevron{display:block;width:8px;height:8px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .22s;flex:0 0 8px}
.koded-header .dropdown:hover .chevron,.koded-header .dropdown:focus-within .chevron,.koded-header .dropdown.open .chevron{transform:translateY(2px) rotate(225deg)}
.koded-header .dropdown{position:relative}
.koded-header .mega{position:absolute;top:45px;right:-220px;width:min(720px,90vw);display:grid;grid-template-columns:1fr 1fr;gap:28px;background:#fff;border:1px solid #e7e3de;padding:30px;border-radius:14px;box-shadow:0 25px 70px rgba(0,0,0,.13);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.koded-header .dropdown:hover .mega,.koded-header .dropdown:focus-within .mega{opacity:1;visibility:visible;transform:none}
.koded-header .mega b{display:block;color:#b5654a;font-size:11px;text-transform:uppercase;letter-spacing:.12em;padding-bottom:12px;border-bottom:1px solid #e5e1dc;margin-bottom:8px}.koded-header .mega a{display:block;padding:8px 0;color:#666}.koded-header .mega a:hover{color:#b5654a}
.koded-header .nav-meeting{display:inline-flex!important;width:auto!important;align-items:center;justify-content:center;background:#171717!important;color:#fff!important;padding:12px 19px!important;border-radius:999px!important;white-space:nowrap}
.koded-header .nav-meeting:hover{background:#B5654A!important}
.koded-header .mobile-toggle{display:none;background:none;border:0;font-size:24px;cursor:pointer}

.koded-footer{background:#171717;color:#fff;padding:72px 0 28px}
.koded-footer .foot{display:grid;grid-template-columns:1.5fr .75fr .75fr 1fr;gap:60px;align-items:start}
.koded-footer .footer-logo{display:block;width:150px;height:auto;margin-bottom:24px}.koded-footer .footer-lead{color:#aaa;max-width:330px;font-size:14px;line-height:1.65;margin:0}
.koded-footer .foot-col{display:flex;flex-direction:column;align-items:flex-start}.koded-footer .foot-col b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:18px}.koded-footer .foot-col a,.koded-footer .foot-col span{display:block;color:#929292;font-size:13px;line-height:1.7;margin:5px 0}.koded-footer .foot-col a:hover{color:#fff}
.koded-footer .footer-bottom{border-top:1px solid #303030;margin-top:52px;padding-top:22px;display:flex;justify-content:space-between;gap:24px;color:#777;font-size:11px}
.whatsapp-float{position:fixed!important;right:22px!important;bottom:22px!important;z-index:99999!important;width:54px!important;height:54px!important;border-radius:50%!important;background:#171717!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;line-height:0!important;box-shadow:0 10px 28px rgba(0,0,0,.22)!important;transition:background .2s ease,transform .2s ease!important}.whatsapp-float svg{width:27px!important;height:27px!important}.whatsapp-float:hover{background:#B5654A!important;transform:translateY(-3px)!important}

@media(max-width:850px){
 .koded-header .shell,.koded-footer .shell{width:calc(100% - 30px)}
 .koded-header .logo-mark{width:122px}.koded-header .mobile-toggle{display:block}
 .koded-header .links{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px 22px 28px;flex-direction:column;align-items:stretch;border-bottom:1px solid #ddd;color:#171717;gap:4px}
 .koded-header .links.open{display:flex}
 .koded-header .links>a:not(.nav-meeting),.koded-header .dropbtn{width:100%;text-align:left;justify-content:flex-start;padding:11px 0}
 .koded-header .dropdown .mega{position:static;width:100%;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:0;padding:12px 0;grid-template-columns:1fr;gap:18px}
 .koded-header .dropdown.open .mega{display:grid}
 /* Botón móvil corregido: compacto y centrado, no barra de ancho completo */
 .koded-header .nav-meeting{align-self:flex-start!important;width:auto!important;max-width:max-content!important;margin-top:12px!important;padding:12px 19px!important;text-align:center!important}
 .koded-footer .foot{grid-template-columns:1fr;gap:34px}.koded-footer .footer-logo{width:140px}.koded-footer .footer-bottom{margin-top:38px;flex-direction:column;gap:8px}
}
@media(max-width:600px){.whatsapp-float{right:16px!important;bottom:16px!important;width:50px!important;height:50px!important}}

/* KODED GLOBAL UNIFICATION — Index is the visual master */
.koded-footer{background:#171717!important;color:#fff!important;padding:72px 0 28px!important}
.koded-footer .shell{width:min(1440px,calc(100% - 56px))!important;margin:auto!important;padding:0!important;max-width:none!important}
.koded-footer .foot{display:grid!important;grid-template-columns:1.5fr .75fr .75fr 1fr!important;gap:60px!important;align-items:start!important;margin:0!important;padding:0!important}
.koded-footer .footer-logo{display:block!important;width:150px!important;height:auto!important;margin:0 0 24px!important}
.koded-footer .footer-lead{color:#aaa!important;max-width:330px!important;font-size:14px!important;line-height:1.65!important;margin:0!important}
.koded-footer .foot-col{display:flex!important;flex-direction:column!important;align-items:flex-start!important;margin:0!important;padding:0!important;gap:0!important}
.koded-footer .foot-col b{display:block!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#fff!important;margin:0 0 18px!important}
.koded-footer .foot-col a,.koded-footer .foot-col span{display:block!important;color:#929292!important;font-size:13px!important;line-height:1.7!important;margin:5px 0!important;padding:0!important}
.koded-footer .foot-contact a{margin:2px 0!important}
.koded-footer .footer-bottom{border-top:1px solid #303030!important;margin:52px 0 0!important;padding:22px 0 0!important;display:flex!important;justify-content:space-between!important;gap:24px!important;color:#777!important;font-size:11px!important}

/* Global mobile menu icon: hamburger -> X */
.koded-header .mobile-toggle{position:relative;width:34px;height:34px;padding:0!important;align-items:center;justify-content:center;font-size:0!important}
.koded-header .mobile-toggle span{position:absolute;left:6px;width:22px;height:1.5px;background:#171717;border-radius:2px;transition:transform .22s ease,opacity .22s ease}
.koded-header .mobile-toggle span:first-child{transform:translateY(-4px)}
.koded-header .mobile-toggle span:last-child{transform:translateY(4px)}
.koded-header .mobile-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.koded-header .mobile-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}

@media(max-width:850px){
 .koded-header .shell,.koded-footer .shell{width:calc(100% - 30px)!important}
 .koded-header .mobile-toggle{display:flex!important}
 .koded-footer{padding:72px 0 28px!important}
 .koded-footer .foot{grid-template-columns:1fr!important;gap:34px!important}
 .koded-footer .footer-logo{width:140px!important}
 .koded-footer .footer-bottom{margin-top:38px!important;flex-direction:column!important;gap:8px!important}
}

/* KODED — hamburger/X negro en móvil */
.koded-header .mobile-toggle,
.koded-header .mobile-toggle:hover,
.koded-header .mobile-toggle:focus,
.koded-header .mobile-toggle:active{
  color:#171717!important;
  background:transparent!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  -webkit-tap-highlight-color:transparent!important;
  outline:none!important;
}
.koded-header .mobile-toggle span,
.koded-header .mobile-toggle:hover span,
.koded-header .mobile-toggle:focus span,
.koded-header .mobile-toggle:active span{
  background:#171717!important;
}


/* FIX DEFINITIVO — hamburguesa móvil visible + animación a X */
@media(max-width:850px){
  .koded-header .mobile-toggle{
    display:block!important;
    position:relative!important;
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:#171717!important;
    cursor:pointer!important;
    z-index:1002!important;
    font-size:0!important;
    line-height:0!important;
  }

  /* No dependemos de estilos heredados de los spans */
  .koded-header .mobile-toggle span{display:none!important}

  .koded-header .mobile-toggle::before,
  .koded-header .mobile-toggle::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:8px!important;
    top:50%!important;
    width:22px!important;
    height:2px!important;
    margin:0!important;
    border:0!important;
    border-radius:2px!important;
    background:#171717!important;
    opacity:1!important;
    visibility:visible!important;
    transform-origin:center!important;
    transition:transform .22s ease!important;
  }

  .koded-header .mobile-toggle::before{
    transform:translateY(-5px)!important;
  }
  .koded-header .mobile-toggle::after{
    transform:translateY(5px)!important;
  }

  .koded-header .mobile-toggle[aria-expanded="true"]::before{
    transform:translateY(0) rotate(45deg)!important;
  }
  .koded-header .mobile-toggle[aria-expanded="true"]::after{
    transform:translateY(0) rotate(-45deg)!important;
  }
}


/* =========================================================
   KODED GLOBAL DEFINITIVO
   Header/footer se renderizan en el HTML: sin fetch ni parpadeo.
   Index es el master visual.
   ========================================================= */
html,body{margin:0!important}
body{padding-top:108px!important}

/* Barra superior + header SIEMPRE presentes desde el primer paint */
body>.top{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  height:30px!important;
  z-index:10010!important;
  background:#171717!important;
  color:#fff!important;
}
body>.koded-header{
  position:fixed!important;
  top:30px!important;left:0!important;right:0!important;
  width:100%!important;
  height:78px!important;
  z-index:10000!important;
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid #eee!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  margin:0!important;
}

/* FOOTER ÚNICO: exactamente las mismas medidas en todas las páginas */
body>.koded-footer{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  background:#171717!important;
  color:#fff!important;
  padding:72px 0 28px!important;
  margin:0!important;
  border:0!important;
}
body>.koded-footer>.shell{
  width:min(1440px,calc(100% - 56px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body>.koded-footer .foot{
  display:grid!important;
  grid-template-columns:1.5fr .75fr .75fr 1fr!important;
  gap:60px!important;
  align-items:start!important;
  margin:0!important;
  padding:0!important;
}
body>.koded-footer .foot-brand,
body>.koded-footer .foot-col{
  margin:0!important;padding:0!important;
}
body>.koded-footer .footer-logo{
  display:block!important;
  width:150px!important;height:auto!important;
  margin:0 0 24px!important;padding:0!important;
}
body>.koded-footer .footer-lead{
  max-width:330px!important;
  margin:0!important;padding:0!important;
  color:#aaa!important;
  font:400 14px/1.65 "DM Sans",Arial,sans-serif!important;
}
body>.koded-footer .foot-col{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
}
body>.koded-footer .foot-col b{
  display:block!important;
  margin:0 0 18px!important;padding:0!important;
  color:#fff!important;
  font:700 11px/1.2 "DM Sans",Arial,sans-serif!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
}
body>.koded-footer .foot-col a,
body>.koded-footer .foot-col span{
  display:block!important;
  margin:5px 0!important;padding:0!important;
  color:#929292!important;
  font:400 13px/1.7 "DM Sans",Arial,sans-serif!important;
  text-decoration:none!important;
}
body>.koded-footer .foot-contact a{margin:2px 0!important}
body>.koded-footer .foot-col a:hover{color:#fff!important}
body>.koded-footer .footer-bottom{
  display:flex!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:52px 0 0!important;
  padding:22px 0 0!important;
  border-top:1px solid #303030!important;
  color:#777!important;
  font:400 11px/1.4 "DM Sans",Arial,sans-serif!important;
}

/* Logo: conservar geometría aprobada */
body>.koded-header .logo-mark text,
body>.koded-footer .footer-logo text{
  font-family:"Poppins",sans-serif!important;
  font-weight:800!important;
}

/* Menú móvil: negro y hamburguesa -> X */
@media(max-width:850px){
  body{padding-top:108px!important}
  body>.koded-header .shell,
  body>.koded-footer>.shell{width:calc(100% - 30px)!important}
  body>.koded-header .mobile-toggle{
    display:block!important;
    position:relative!important;
    width:38px!important;height:38px!important;
    flex:0 0 38px!important;
    padding:0!important;margin:0!important;border:0!important;
    background:transparent!important;color:#171717!important;
    font-size:0!important;line-height:0!important;
  }
  body>.koded-header .mobile-toggle span{display:none!important}
  body>.koded-header .mobile-toggle::before,
  body>.koded-header .mobile-toggle::after{
    content:""!important;
    position:absolute!important;
    left:8px!important;top:50%!important;
    width:22px!important;height:2px!important;
    border-radius:2px!important;
    background:#171717!important;
    transition:transform .22s ease!important;
  }
  body>.koded-header .mobile-toggle::before{transform:translateY(-5px)!important}
  body>.koded-header .mobile-toggle::after{transform:translateY(5px)!important}
  body>.koded-header .mobile-toggle[aria-expanded="true"]::before{transform:translateY(0) rotate(45deg)!important}
  body>.koded-header .mobile-toggle[aria-expanded="true"]::after{transform:translateY(0) rotate(-45deg)!important}

  body>.koded-footer{padding:72px 0 28px!important}
  body>.koded-footer .foot{grid-template-columns:1fr!important;gap:34px!important}
  body>.koded-footer .footer-logo{width:140px!important}
  body>.koded-footer .footer-bottom{
    margin-top:38px!important;
    flex-direction:column!important;
    gap:8px!important;
  }
}


/* KODED — menú móvil unificado */
@media(max-width:850px){
 .koded-header .links{align-items:stretch!important}
 .koded-header .links>a:not(.nav-meeting),.koded-header .dropdown,.koded-header .dropbtn{width:100%!important;margin-left:0!important;margin-right:0!important;text-align:left!important}
 .koded-header .dropbtn{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important}
 .koded-header .dropdown{align-self:stretch!important}
}
