/* aparición sin parpadeo: el estado inicial existe desde el primer pintado */
.jsr .rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.jsr .rv.in{opacity:1;transform:none}
.jsr .rv.d1{transition-delay:.08s}.jsr .rv.d2{transition-delay:.16s}.jsr .rv.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.jsr .rv{opacity:1;transform:none;transition:none}}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
[id]{scroll-margin-top:96px}
/* menús desplegables del header */
.dd{position:relative;display:inline-flex;align-items:center}
.dd::after{pointer-events:none;content:"";display:inline-block;width:5px;height:5px;margin-left:8px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.7}
.dd-m{position:absolute;top:100%;left:-18px;padding-top:14px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility 0s .2s;z-index:80}
.dd:hover .dd-m,.dd:focus-within .dd-m,.dd.open .dd-m{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
.dd-m ul{list-style:none;margin:0;padding:8px 0;min-width:240px;background:rgba(14,15,15,.96);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.dd-m ul{display:block!important;gap:0!important}
.dd-m li{margin:0;padding:0;display:block!important}
.dd-m li::before{display:none}
.dd-m a,.fbar nav .dd-m a,.nav .dd-m a{display:block!important;padding:10px 18px!important;font-family:'Space Grotesk',system-ui,sans-serif!important;font-size:14px!important;letter-spacing:0!important;text-transform:none!important;color:#EAFBF4!important;opacity:.82!important;border:0!important;background:none!important;white-space:nowrap}
.dd-m a:hover,.dd-m a[aria-current]{opacity:1!important;background:rgba(95,227,180,.1)!important;color:#5FE3B4!important}
.dd-m a::after{display:none!important}
.fbar.lt .dd-m ul{background:rgba(250,250,246,.98);border-color:#DDE3DF;box-shadow:0 18px 40px rgba(14,15,15,.12)}
.fbar.lt .dd-m a{color:#1E211F!important}
.fbar.lt .dd-m a:hover,.fbar.lt .dd-m a[aria-current]{color:#0E7F62!important;background:rgba(14,127,98,.07)!important}
.ctab{flex-wrap:wrap;column-gap:16px;row-gap:6px}.ctab .lbl{white-space:nowrap;flex:none}.ctab .yr{margin-left:auto;text-align:right}
/* hover visible en el header oscuro y claro, menús incluidos */
.fbar nav .dd-m a:hover,.nav .dd-m a:hover,.fbar nav .dd-m a:focus-visible,.nav .dd-m a:focus-visible{opacity:1!important;color:#5FE3B4!important;background:rgba(95,227,180,.1)!important}
.fbar.lt nav .dd-m a:hover,.fbar.lt nav .dd-m a:focus-visible{color:#0E7F62!important;background:rgba(14,127,98,.07)!important}
.fbar nav a:not(.fb-cv):hover,.fbar nav .dd:hover>a,.nav ul a:not(.btn):hover,.nav .dd:hover>a{color:#5FE3B4!important;opacity:1!important;transition:color .2s,opacity .2s}
.fbar.lt nav a:not(.fb-cv):hover,.fbar.lt nav .dd:hover>a{color:#0E7F62!important}
.fbar nav .dd:hover::after,.nav .dd:hover::after{color:#5FE3B4;opacity:1}
.fbar.lt nav .dd:hover::after{color:#0E7F62}
/* selector de idioma: texto discreto, subrayado que se desliza */
a.lsw{--k:#5FE3B4;--on:#EAFBF4;--mt:#93B5A9;position:relative;display:inline-grid!important;grid-template-columns:1fr 1fr;align-items:center;height:32px;border:0;border-radius:0;padding:0;background:none!important;font-family:'Space Mono',ui-monospace,monospace;font-size:11px;font-weight:400;letter-spacing:.14em;line-height:1;text-transform:uppercase;text-decoration:none;cursor:pointer;user-select:none;-webkit-user-select:none;flex:none;opacity:1!important;color:var(--mt)!important}
a.lsw::after{display:none!important}
a.lsw span{position:relative;padding:0 9px 0 10px;color:var(--mt);transition:color .25s}
a.lsw .l-en::before{content:"";position:absolute;left:0;top:50%;height:12px;margin-top:-6px;width:1px;background:currentColor;opacity:.35}
a.lsw span::after{content:"";position:absolute;left:10px;right:9px;bottom:-7px;height:2px;background:var(--k);opacity:.45;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
a.lsw i{position:absolute;bottom:3px;left:10px;width:calc(50% - 19px);height:2px;background:var(--k);transition:transform .42s cubic-bezier(.65,0,.35,1)}
html[lang="es"] a.lsw .l-es,html[lang="en"] a.lsw .l-en{color:var(--on)}
html[lang="en"] a.lsw i{transform:translateX(calc(100% + 19px))}
html[lang="es"] a.lsw:hover .l-en,html[lang="en"] a.lsw:hover .l-es{color:var(--k)}
html[lang="es"] a.lsw:hover .l-en::after,html[lang="en"] a.lsw:hover .l-es::after{transform:scaleX(1)}
a.lsw:focus-visible{outline:2px solid var(--k);outline-offset:4px}
html[lang="es"] a.lsw.go i{transform:translateX(calc(100% + 19px))}
html[lang="en"] a.lsw.go i{transform:none}
a.lsw.go span::after{transform:scaleX(0)!important}
html[lang="es"] a.lsw.go .l-es,html[lang="en"] a.lsw.go .l-en{color:var(--mt)}
html[lang="es"] a.lsw.go .l-en,html[lang="en"] a.lsw.go .l-es{color:var(--on)}
.fbar.lt a.lsw{--k:#0E7F62;--on:#1E211F;--mt:#6B7A73}
.fbar nav a.lsw{margin-right:-4px}
.nav-r{display:flex;align-items:center;gap:28px}
.nav ul li.lsw-li{display:flex!important;align-items:center}
footer#contacto{scroll-margin-top:0}
@media (min-width:641px){footer#contacto{min-height:100vh;box-sizing:border-box}}
body{transition:opacity .3s ease}
html.lsw-in body{opacity:0;transition:none}
html.lsw-out body{opacity:0;transition:opacity .2s ease .12s}
@media (prefers-reduced-motion:reduce){a.lsw i,a.lsw span,a.lsw span::after{transition:none}html.lsw-out body{transition:none}}
.nav .who,.nav-r .back{white-space:nowrap}

/* menú móvil */
.mnu{display:none}
.mnu-p{display:none}
@media (max-width:640px){
  .fbar nav>*:not(.lsw){display:none!important}
  .fbar nav{gap:0;margin-left:auto}
  .nav ul li:not(.lsw-li):not(.mnu-li){display:none!important}
  .nav ul li.mnu-li{display:flex!important}
  .nav ul{gap:18px}
  .nav-r .back,.nav-r .dd{display:none!important}
  .nav-r{gap:18px}
  .fbar .fin{gap:14px}
  .fbar .fb-who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mnu{display:inline-flex;align-items:center;gap:10px;height:32px;padding:0 0 0 4px;background:none;border:0;border-radius:0;color:inherit;font-family:'Space Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
  .nav .mnu{color:#EAFBF4}
  .mnu b{position:relative;display:block;width:18px;height:10px}
  .mnu b::before,.mnu b::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .35s cubic-bezier(.65,0,.35,1),top .35s cubic-bezier(.65,0,.35,1)}
  .mnu b::before{top:0}.mnu b::after{top:8.5px}
  .mnu[aria-expanded="true"] b::before{top:4.25px;transform:rotate(45deg)}
  .mnu[aria-expanded="true"] b::after{top:4.25px;transform:rotate(-45deg)}
  .mnu-p{display:block;position:fixed;left:0;right:0;z-index:70;background:#0E0F0F;color:#EAFBF4;border-bottom:1px solid #2A302D;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .45s cubic-bezier(.65,0,.35,1),visibility 0s .45s}
  .mnu-p.open{visibility:visible;overflow-y:auto;overscroll-behavior:contain;transition:max-height .5s cubic-bezier(.65,0,.35,1)}
  .mnu-p ul{list-style:none;margin:0;padding:8px 20px 28px}
  .mnu-p>ul>li{border-top:1px solid #2A302D;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.2,1)}
  .mnu-p.open>ul>li{opacity:1;transform:none}
  .mnu-p.open>ul>li:nth-child(2){transition-delay:.04s}.mnu-p.open>ul>li:nth-child(3){transition-delay:.08s}.mnu-p.open>ul>li:nth-child(4){transition-delay:.12s}
  .mnu-p>ul>li:first-child{border-top:0}
  .mnu-p a{display:block;color:inherit;text-decoration:none}
  .mnu-p>ul>li>a{padding:18px 0;font-family:'Space Grotesk',system-ui,sans-serif;font-size:24px;font-weight:600}
  .mnu-p>ul>li>a.cta{color:#5FE3B4}
  .mnu-p ul ul{padding:0 0 16px}
  .mnu-p ul ul a{padding:9px 0;font-family:'Space Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#93B5A9}
  .mnu-p a:hover,.mnu-p a:active,.mnu-p a[aria-current]{color:#5FE3B4}
}

html.pre body{opacity:0!important;transition:none!important}
/* selector de idioma: sin subrayado, el idioma activo se pinta */
a.lsw i,a.lsw span::after{display:none!important}
html[lang="es"] a.lsw .l-es,html[lang="en"] a.lsw .l-en{color:var(--k)}
html[lang="es"] a.lsw:hover .l-en,html[lang="en"] a.lsw:hover .l-es{color:var(--on)}
html[lang="es"] a.lsw.go .l-es,html[lang="en"] a.lsw.go .l-en{color:var(--mt)}
html[lang="es"] a.lsw.go .l-en,html[lang="en"] a.lsw.go .l-es{color:var(--k)}
/* Contacto activo: se pinta en vez de subrayarse */
.fbar nav a.fb-cv.on::after{display:none!important}
.fbar nav a.fb-cv.on{background:#5FE3B4;border-color:#5FE3B4;color:#0E0F0F!important}
.fbar.lt nav a.fb-cv.on,.fbar.lt nav a.fb-cv:hover{background:#0E7F62;border-color:#0E7F62;color:#fff!important}
html[lang="es"] a.lsw .l-es,html[lang="en"] a.lsw .l-en{font-weight:700}
html[lang="es"] a.lsw.go .l-es,html[lang="en"] a.lsw.go .l-en{font-weight:400}
html[lang="es"] a.lsw.go .l-en,html[lang="en"] a.lsw.go .l-es{font-weight:700}
/* flechas de botones: en hover solo crecen un poco, sin desplazarse */
.btn svg{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.btn:hover svg{transform:scale(1.2)!important}
.cvrow .wa,.btn:hover .wa{transform:none!important}
