/* Shared header: extracted from the approved homepage cascade. */
:root{--v543-header-h:80px;--header-h:80px}
body{padding-top:var(--v543-header-h)}
html{scroll-padding-top:calc(var(--v543-header-h) + 18px)}
.header{position:absolute;inset:0 0 auto;z-index:50;padding:22px 0}
.nav{display:flex;align-items:center;gap:24px;min-height:64px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:8px 10px 8px 20px;box-shadow:0 14px 42px rgba(34,18,71,.13)}
html[data-theme="dark"] .nav{border-color:rgba(255,255,255,.1)}
.brand{display:flex;align-items:center;justify-content:flex-start;height:46px;margin-right:auto;text-decoration:none;line-height:0}
.brand img{display:block;width:auto;height:40px;max-width:158px;object-fit:contain;object-position:left center;transform:translateY(-1px)}
.navlinks{display:flex;gap:24px;align-items:center}
.navlinks a{font-size:14px;text-decoration:none;font-weight:690;opacity:.86;position:relative;white-space:nowrap}
.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--pink);transition:.25s}
.navlinks a:hover:after{right:0}
.navtools{display:flex;align-items:center;gap:8px}
.theme-btn{width:42px;padding:0;display:grid;place-items:center}
.hamb{display:none}
.lang-picker{position:relative}
.lang-trigger{height:42px;min-width:88px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:750}
.lang-trigger svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lang-chevron{transition:transform .2s}
.lang-picker.open .lang-chevron{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:50px;width:190px;padding:7px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);display:none}
.lang-picker.open .lang-menu{display:grid}
.lang-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;color:var(--text);border-radius:12px;padding:10px 11px;text-align:left}
.lang-option:hover,.lang-option.active{background:var(--soft)}
.lang-option small{display:block;color:var(--muted);font-weight:500;margin-top:2px}
.lang-check{color:var(--pink);opacity:0}
.lang-option.active .lang-check{opacity:1}
@media(max-width:980px){.navlinks{display:none}
.navlinks.mobile-open{display:flex;position:absolute;top:72px;left:20px;right:20px;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:var(--shadow)}
.navlinks.mobile-open a{padding:13px 14px;border-radius:12px}
.navlinks.mobile-open a:hover{background:var(--soft)}
.hamb{display:grid}
}
@media(max-width:680px){.header{padding:12px 0}
.brand{height:40px}
.brand img{height:34px;max-width:136px}
.nav{gap:10px}
.navtools .cta{display:none}
}
.header-v54{
  position:relative;
  inset:auto;
  z-index:50;
  padding:0;
  background:var(--surface);
  border-bottom:1px solid var(--line);
}
.nav-v54{
  min-height:98px;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
  gap:28px;
}
.brand-v54{
  flex:0 0 220px;
  height:72px;
  margin:0;
  justify-content:flex-start;
}
.brand-v54 img{
  width:188px;
  height:auto;
  max-width:188px;
  object-fit:contain;
  object-position:left center;
  transform:none;
}
.navlinks-v54{
  flex:1;
  justify-content:center;
  gap:28px;
}
.navlinks-v54 a{
  font-size:15px;
  font-weight:600;
  color:var(--text);
  opacity:.9;
  padding:12px 0;
}
.navlinks-v54 a:after{bottom:4px;height:2px}
.navlinks-v54 .has-chevron{display:flex;align-items:center;gap:5px}
.navlinks-v54 .has-chevron svg{
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.navtools-v54{flex:0 0 auto;gap:9px}
.lang-trigger-v54{
  min-width:62px;
  height:44px;
  padding:0 12px;
  border-radius:14px;
  font-weight:650;
}
.lang-trigger-v54 .lang-chevron{width:14px;height:14px}
.theme-btn-v54{
  width:44px;height:44px;padding:0;
  display:grid;place-items:center;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  color:var(--text);
}
.theme-btn-v54 svg{
  width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.theme-moon{display:none}
html[data-theme="dark"] .theme-sun{display:none}
html[data-theme="dark"] .theme-moon{display:block}
.cta-v54{
  min-height:50px;
  padding:0 22px;
  border-radius:18px;
  white-space:nowrap;
}
html[data-theme="dark"] .header-v54{background:#0f0b14;border-color:#302639}
@media(max-width:1080px){.brand-v54{flex-basis:180px}
.brand-v54 img{width:165px}
.navlinks-v54{gap:18px}
.navlinks-v54 a{font-size:14px}
.cta-v54{padding:0 16px}
}
@media(max-width:980px){.header-v54{position:relative}
.nav-v54{min-height:82px}
.brand-v54{flex:1;height:60px}
.brand-v54 img{width:160px;max-width:160px}
.navlinks-v54.mobile-open{
    top:76px;left:20px;right:20px;z-index:80;
    background:var(--surface);
  }
.navtools-v54 .cta-v54{display:none}
}
@media(max-width:680px){.nav-v54{min-height:74px}
.brand-v54 img{width:145px;height:auto;max-width:145px}
.lang-trigger-v54{min-width:56px;height:40px}
.theme-btn-v54{width:40px;height:40px}
}
.hamb.theme-btn-v54{display:none}
@media(max-width:980px){.hamb.theme-btn-v54{display:grid}
}
.header-v54{position:sticky!important;top:0!important;inset:auto!important;z-index:100!important}
@media(max-width:980px){.header-v54{position:sticky!important;top:0!important}
}
.header-v54{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:1000!important;
}
@media(max-width:980px){.header-v54{position:fixed!important}
}
.navlinks-v54{gap:22px}
.navlinks-v54 a{transition:color .22s ease,opacity .22s ease}
.navlinks-v54 a.is-active{color:var(--pink);opacity:1}
.navlinks-v54 a.is-active:after{right:0}
@media(max-width:1180px){.brand-v54{flex-basis:190px}
.brand-v54 img{width:172px}
.navlinks-v54{gap:17px}
.navlinks-v54 a{font-size:13.5px}
.cta-v54{padding:0 17px}
}
.header-v54{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translateZ(0);
}
@media(max-width:980px){.nav-v54{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:var(--surface)!important;
  }
}
.header-v54 .nav-v54{
  width:min(1480px,calc(100% - 56px));
  min-height:88px;
  gap:22px;
}
.header-v54 .brand-v54{flex-basis:180px;height:64px}
.header-v54 .brand-v54 img{width:168px;max-width:168px}
.header-v54 .navlinks-v54{gap:20px}
.header-v54 .navlinks-v54 a{font-size:13px}
.header-v54 .navtools-v54{gap:8px}
.header-v54 .cta-v54{padding-inline:18px}
@media(max-width:1220px){.header-v54 .nav-v54{
    position:relative;
    width:min(100% - 40px,1120px);
  }
.header-v54 .navlinks-v54{display:none!important}
.header-v54 .navlinks-v54.mobile-open{
    display:flex!important;
    position:absolute;
    top:80px;
    left:0;
    right:0;
    z-index:80;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--surface);
    color:var(--text);
    box-shadow:var(--shadow);
  }
.header-v54 .navlinks-v54.mobile-open a{
    padding:13px 14px;
    border-radius:12px;
  }
.header-v54 .navlinks-v54.mobile-open a:hover{background:var(--soft)}
.hamb.theme-btn-v54{display:grid!important}
}
@media(max-width:680px){.header-v54 .nav-v54{width:calc(100% - 26px);min-height:74px}
.header-v54 .brand-v54 img{width:142px;max-width:142px}
}
.header-v54 .nav-v54{
  width:calc(100% - 32px);
  max-width:1540px;
  min-height:80px;
  gap:24px;
}
.header-v54 .brand-v54{flex:0 0 150px;height:56px}
.header-v54 .brand-v54 img{width:150px;max-width:150px}
.header-v54 .navlinks-v54{gap:24px}
.header-v54 .navlinks-v54 a{font-size:14px}
.header-v54 .navtools-v54{gap:8px}
.header-v54 .cta-v54{min-height:46px;padding-inline:14px;font-size:13px}
@media(max-width:1320px){.header-v54 .nav-v54{position:relative;width:calc(100% - 32px)}
.header-v54 .navlinks-v54{display:none!important}
.header-v54 .navlinks-v54.mobile-open{
    display:flex!important;
    position:absolute;
    top:74px;
    left:0;
    right:0;
    z-index:80;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--surface);
    color:var(--text);
    box-shadow:var(--shadow);
  }
.header-v54 .navlinks-v54.mobile-open a{padding:13px 14px;border-radius:12px}
.header-v54 .navlinks-v54.mobile-open a:hover{background:var(--soft)}
.hamb.theme-btn-v54{display:grid!important}
}
@media(max-width:680px){.header-v54 .nav-v54{width:calc(100% - 26px);min-height:74px}
.header-v54 .brand-v54{flex:1;height:54px}
.header-v54 .brand-v54 img{width:142px;max-width:142px}
}
@media(min-width:1321px){.header-v54 .navlinks-v54{
    flex:1 1 auto;
    min-width:0;
    justify-content:space-between;
    gap:0;
  }
.header-v54 .navlinks-v54 a{
    flex:0 0 auto;
    white-space:nowrap;
  }
}
@media(min-width:1321px){.header-v54 .navlinks-v54{
    justify-content:center;
    gap:clamp(24px,calc((100vw - 1170px)/7),55px);
  }
html[lang="es"] .header-v54 .navlinks-v54{
    gap:clamp(20px,calc((100vw - 1220px)/7),55px);
  }
}
.header-v54 .brand-v54{min-width:0;flex:1 1 auto}
.header-v54 .brand-v54 img{max-width:100%;object-fit:contain}
.header-v54 .navtools-v54{flex:0 0 auto;min-width:0}
@media(max-width:1320px){.header-v54 #menuBtn{order:1}
.header-v54 .lang-picker{order:2}
.header-v54 #themeToggle{order:3}
.header-v54 .cta-v54{order:4}
}
@media(max-width:680px){.header-v54 .nav-v54{width:min(100% - 20px,var(--max));gap:6px}
.header-v54 .brand-v54{height:52px}
.header-v54 .brand-v54 img{width:clamp(112px,35vw,136px);height:auto}
.header-v54 .navtools-v54{gap:6px}
.header-v54 .lang-picker{width:54px;height:42px}
.header-v54 .lang-current{height:42px;padding:0 8px;gap:5px}
.header-v54 #menuBtn,.header-v54 #themeToggle{width:42px;height:42px;min-width:42px;min-height:42px}
}
@media(max-width:380px){.header-v54 .brand-v54 img{width:108px}
.header-v54 .navtools-v54{gap:4px}
.header-v54 .lang-picker{width:50px}
.header-v54 .lang-current{padding:0 6px}
.header-v54 #menuBtn,.header-v54 #themeToggle{width:40px;height:40px;min-width:40px;min-height:40px}
}
@media(max-width:340px){.header-v54 .brand-v54 img{width:94px}
.header-v54 .navtools-v54{gap:3px}
.header-v54 .lang-picker{width:47px}
}
@media(max-width:1320px){.header-v54{z-index:1400!important}
.header-v54 .nav-v54{position:relative}
.header-v54 .navlinks-v54.mobile-open{
    display:flex!important;
    position:absolute!important;
    top:calc(100% + 6px)!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:100%!important;
    max-height:calc(100dvh - 96px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    margin:0!important;
    padding:10px!important;
    z-index:1250!important;
    box-sizing:border-box!important;
  }
}
@media(max-width:980px){.header-v54{
    position:sticky!important;
    top:0!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    padding:0!important;
    transform:none!important;
    backface-visibility:visible!important;
    z-index:1400!important;
  }
.header-v54 .nav-v54{
    width:calc(100% - 20px)!important;
    max-width:100%!important;
    min-height:74px!important;
    margin:0 auto!important;
    padding:0!important;
    gap:6px!important;
    box-sizing:border-box!important;
  }
.header-v54 .brand-v54{
    flex:1 1 0!important;
    min-width:0!important;
    height:58px!important;
    overflow:hidden;
  }
.header-v54 .brand-v54 img{
    width:clamp(104px,31vw,132px)!important;
    max-width:100%!important;
    height:auto!important;
  }
.header-v54 .navtools-v54{
    flex:0 0 auto!important;
    min-width:0!important;
    gap:6px!important;
  }
.header-v54 #menuBtn{order:1;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
.header-v54 .lang-picker{order:2;width:54px!important;height:44px!important;flex:0 0 54px!important}
.header-v54 .lang-trigger-v54{
    width:54px!important;
    min-width:54px!important;
    height:44px!important;
    padding:0 7px!important;
    gap:4px!important;
  }
.header-v54 #themeToggle{order:3;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
.header-v54 .cta-v54{display:none!important}
.header-v54 .lang-menu{
    right:0!important;
    left:auto!important;
    top:calc(100% + 7px)!important;
    width:min(190px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 92px)!important;
    overflow-y:auto!important;
    z-index:1300!important;
    box-sizing:border-box!important;
  }
}
@media(max-width:380px){.header-v54 .nav-v54{width:calc(100% - 16px)!important;gap:4px!important}
.header-v54 .brand-v54 img{width:100px!important}
.header-v54 .navtools-v54{gap:4px!important}
.header-v54 #menuBtn,.header-v54 #themeToggle{
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important
  }
.header-v54 .lang-picker{width:50px!important;height:44px!important;flex-basis:50px!important}
.header-v54 .lang-trigger-v54{width:50px!important;min-width:50px!important;height:44px!important;padding:0 5px!important}
}
@media(max-width:330px){.header-v54 .brand-v54 img{width:90px!important}
.header-v54 .navtools-v54{gap:3px!important}
}
/* Isolate the shared shell from differences in page-level typography. */
#header{font-size:16px;line-height:normal;background:var(--surface);border-bottom:1px solid var(--line);padding:0}
#header .brand-v54{margin:0;flex:1 1 auto;min-width:0;height:56px}
#header .brand-v54 img{display:block;width:150px;height:auto;max-width:100%;object-fit:contain;transform:none}
#header .navlinks-v54 a{line-height:normal;font-weight:600;text-wrap:nowrap}
#header .cta-v54{line-height:normal;font-weight:750;font-size:13px;min-height:46px;padding:0 14px;gap:8px;flex-shrink:0}
#header .lang-trigger{font-size:16px;line-height:normal;min-width:62px;height:44px}
#header .lang-option{font-size:14px;line-height:1.35;text-decoration:none}
#header .lang-option small{font-size:11px}
#header .nav-v54{display:flex;align-items:center;min-height:80px;width:calc(100% - 32px);max-width:1540px;margin:auto;gap:24px;padding:0}
#header .navtools-v54{display:flex;align-items:center;gap:8px}
#header .hamb{display:none}
#header .navlinks-v54{display:flex;align-items:center}
#header .theme-btn-v54{width:44px;height:44px;flex-shrink:0}
@media(min-width:1321px){#header .navlinks-v54{justify-content:center;flex:1 1 auto;gap:clamp(24px,calc((100vw - 1170px)/7),55px)}html[lang=es] #header .navlinks-v54{gap:clamp(20px,calc((100vw - 1220px)/7),55px)}}
@media(max-width:1320px){#header .navlinks-v54{display:none}#header .hamb{display:grid}#header .navlinks-v54.mobile-open{display:flex;align-items:stretch}}
@media(max-width:680px){
 :root{--v543-header-h:74px;--header-h:74px}
 #header .nav-v54{min-height:74px;width:calc(100% - 20px);gap:6px}
 #header .brand-v54{height:52px}
 #header .brand-v54 img{width:clamp(112px,35vw,136px)}
 #header .navtools-v54{gap:6px}
 #header .lang-picker{width:54px;height:42px}
 #header .lang-trigger{width:54px;min-width:54px;height:42px;padding:0 8px;font-size:14px;gap:5px}
 #header #menuBtn,#header #themeToggle{width:42px;height:42px;min-width:42px;min-height:42px}
 #header .cta-v54{display:none}
}
@media(max-width:360px){#header .brand-v54 img{width:108px}#header .navtools-v54{gap:4px}#header .lang-picker,#header .lang-trigger{width:50px;min-width:50px}#header #menuBtn,#header #themeToggle{width:40px;height:40px;min-width:40px;min-height:40px}}
@media(max-width:330px){#header .brand-v54 img{width:94px}#header .navtools-v54{gap:3px}#header .lang-picker,#header .lang-trigger{width:47px;min-width:47px}}
/* One compact footer, based on the approved solution-page reference. */
footer.site-footer{background:#0d0714;color:#fff;padding:31px 0 18px;line-height:1.55;font-size:14px}
footer.site-footer>.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
footer.site-footer .footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:26px}
footer.site-footer .footer-about{display:block;grid-column:auto;grid-row:auto;text-align:left}
footer.site-footer .footer-about img{display:block;width:145px;height:auto;max-width:100%;margin:0 0 10px!important}
footer.site-footer .footer-about p{max-width:240px;margin:0;font-size:11px!important;color:#bdb3c3;line-height:1.6;text-wrap:pretty}
footer.site-footer h3{font-size:12px;font-weight:700;line-height:1.3;margin:6px 0 10px;letter-spacing:-.015em;text-wrap:balance}
footer.site-footer .footer-grid a{display:block;width:fit-content;color:#bdb3c3;font-size:11px;line-height:1.55;margin:6px 0;text-decoration:none}
footer.site-footer a:hover{color:#fff}
footer.site-footer .footer-bottom{border-top:1px solid #2d2236;padding:15px 80px 0 0;margin-top:23px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#a299ab}
footer.site-footer .footer-bottom a{font-size:10px;line-height:1.55;color:inherit;text-decoration:none}
footer.site-footer #backToTop{position:static;transform:none;opacity:1;pointer-events:auto;background:none;border:0;padding:0;box-shadow:none;width:auto;height:auto;min-height:0}
footer.site-footer #kol-cookie-settings{font-size:10px}
@media(max-width:900px){footer.site-footer .footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:20px}footer.site-footer .footer-about{grid-row:span 2}}
@media(max-width:700px){footer.site-footer>.wrap{width:calc(100% - 32px)}footer.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}footer.site-footer .footer-about{grid-column:1/-1;grid-row:auto;display:flex;align-items:center;gap:20px}footer.site-footer .footer-about img{width:130px;flex-shrink:0;margin:0!important}footer.site-footer .footer-about p{max-width:300px}footer.site-footer .footer-bottom{padding-right:66px;align-items:center}}
@media(max-width:480px){footer.site-footer .footer-about{align-items:flex-start}footer.site-footer .footer-about img{width:113px}footer.site-footer .footer-about p{font-size:10px!important}}
