
/* ====== UNIFICACIÓN: nav fijo + responsive + consistencia ====== */
.navbar{position:fixed!important;}
body{--levita-blue:#1f97d5}
/* hamburguesa (oculta en desktop) */
.nav-burger{display:none;width:42px;height:42px;border:none;background:transparent;cursor:pointer;
  flex-direction:column;justify-content:center;gap:5px;padding:9px;z-index:20}
.nav-burger span{height:2px;width:100%;background:#0f172a;border-radius:2px;transition:.3s;display:block}
.navbar:not(.navbar-light) .nav-burger span{background:#fff}
@media(max-width:1199px){
  /* style.css esconde .nav-links en mobile — acá lo restauramos como drawer */
  .nav-links{display:flex!important;position:fixed;inset:70px 0 0 0;background:#fff;flex-direction:column;align-items:flex-start;
    gap:0;padding:10px 28px 40px;overflow-y:auto;transform:translateX(100%);transition:transform .4s cubic-bezier(.7,0,.2,1);
    width:100%;max-width:none;visibility:hidden}
  body.nav-open .nav-links{transform:translateX(0);visibility:visible}
  body.nav-open{overflow:hidden}
  .nav-links .nav-item{width:100%;padding:13px 0;border-bottom:1px solid #eef2f6}
  .nav-links .nav-item>a{color:#0f172a!important;font-size:17px;transform:none!important}
  .dropdown-menu{position:static!important;opacity:1!important;transform:none!important;
    /* visibility NO se fuerza aquí: hereda hidden del drawer cerrado y así los links no reciben foco */
    box-shadow:none!important;border:none!important;padding:8px 0 0 14px!important;min-width:0!important;pointer-events:auto!important}
  body.nav-open .dropdown-menu{visibility:visible!important}
  .nav-burger{display:flex}
  body.nav-open .nav-burger span{background:#0f172a!important}
  body.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .nav-burger span:nth-child(2){opacity:0}
  body.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  /* navbar compacto en mobile. OJO: transform:none y backdrop-filter:none son
     OBLIGATORIOS — ambos convierten al navbar en containing block del drawer
     fixed y lo dejan atrapado/recortado dentro del header */
  .navbar{top:10px!important;left:10px!important;transform:none!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    width:calc(100% - 20px)!important;padding:8px 14px!important;border-radius:10px!important}
  /* sin blur, el vidrio .03 no se lee sobre la foto del hero: fondo oscuro sutil */
  .navbar:not(.navbar-light):not(.navbar-solid){background:rgba(10,17,24,.62)}
  .nav-logo-img{height:34px!important}
  body.nav-open .navbar{background:#fff!important}
  body.nav-open .nav-logo-img.logo-on-dark{opacity:0}
  body.nav-open .nav-logo-img.logo-on-light{opacity:1}
}

/* burger oscuro cuando el nav se solidifica sobre fondos claros */
.navbar.navbar-solid .nav-burger span{background:#0f172a!important}
/* en mobile mantenemos visible el selector de idioma (se oculta solo el CTA) */
@media(max-width:1199px){
  .nav-actions{display:flex!important;align-items:center;margin-right:8px}
  .nav-actions .btn-cta{display:none}
}

/* ===== FIX CONTACT: contenedor centrado (estaba deforme/a la izquierda) ===== */
.section-container{max-width:1180px;margin:0 auto;padding:0 24px;width:100%}
.subpage-section{display:block}

/* ===== PÁGINAS DE CONTENIDO (Company, Careers, Coming Soon) — light, mucho aire ===== */
.page{background:#fff;color:#0c1724;font-family:'Inter',system-ui,sans-serif}
.page-hero{max-width:1180px;margin:0 auto;padding:200px 24px 50px}
.page-eyebrow{display:block;color:var(--levita-blue-text);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px}
.page-title{font-size:clamp(38px,5.5vw,64px);font-weight:700;letter-spacing:-1.5px;line-height:1.08;max-width:18ch;margin:0}
.page-intro{font-size:clamp(16px,1.5vw,18px);color:#475569;line-height:1.75;max-width:62ch;margin-top:24px;font-weight:300}
.page-sec{max-width:1180px;margin:0 auto;padding:64px 24px}
.page-sec h2{font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:-.5px;margin:0 0 18px}
.page-sec p{font-size:16.5px;color:#475569;line-height:1.75;max-width:62ch;font-weight:300}
/* intros cortas que deben quedar en una sola línea en desktop (en mobile fluyen normal) */
.page-sec p.one-line{max-width:none;text-wrap:balance}
.vm-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:36px}
.vm-card{background:#f7fafc;border:1px solid #e6ebf0;border-radius:16px;padding:36px;display:flex;flex-direction:column}
.vm-card h3{color:var(--levita-blue-text);font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 14px}
.vm-card p{font-size:16px;color:#334155;margin:0;line-height:1.65}

/* ===== COMPANY: hero con peso visual a la derecha ===== */
.company-hero{padding:180px 24px 40px;max-width:1180px;margin:0 auto}
.ch-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
.ch-media{position:relative}
/* 25-sep: foto de los cofundadores junto a MARS (vertical). Marco casi cuadrado para que entren
   de la cabeza a los pies sin recortar a nadie. */
.ch-img-main{width:100%;border-radius:20px;object-fit:cover;object-position:50% 50%;aspect-ratio:1/1.05;box-shadow:0 30px 70px rgba(10,17,24,.18)}
.ch-badge{position:absolute;left:-18px;bottom:-24px;background:#fff;border:1px solid #e6ebf0;border-radius:14px;
  padding:20px 26px;box-shadow:0 18px 44px rgba(10,17,24,.14);text-align:center}
.ch-badge img{width:150px;height:auto;display:block;margin:0 auto}
@media(min-width:1024px){ .ch-grid{grid-template-columns:1.02fr .98fr;gap:64px} .company-hero{padding-top:200px} }

/* ===== LEADERSHIP: fotos circulares grandes, formato visual con presencia ===== */
.lead-photo{width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,#3A9BDC,#15558f);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:40px;letter-spacing:1px;
  object-fit:cover;overflow:hidden;flex:0 0 auto;box-shadow:0 14px 38px rgba(10,17,24,.16);
  border:4px solid #fff;outline:1px solid #e6ebf0}
img.lead-photo{background:none}
/* placeholder gris genérico: para miembros sin foto oficial todavía */
.lead-photo.placeholder{background:#e4e9ee;color:#64748b;padding:0}
.lead-photo.placeholder svg{width:56%;height:56%}
.founder-card{display:flex;flex-direction:column;gap:28px;align-items:flex-start;background:#f7fafc;
  border:1px solid #e6ebf0;border-radius:22px;padding:48px;margin-top:48px}
.founder-card .lead-photo{width:200px;height:200px}
.founder-card h3{font-size:27px;font-weight:600;margin:0;letter-spacing:-.4px}
.founder-card .role{color:var(--levita-blue-text);font-size:15.5px;font-weight:600;margin:8px 0 16px;letter-spacing:.3px}
.founder-card p{font-size:16.5px;color:#475569;line-height:1.75;margin:0;max-width:64ch;font-weight:300}
.team-grid{display:grid;grid-template-columns:1fr;gap:52px;margin-top:72px;text-align:center}
.tm .lead-photo{margin:0 auto 22px}
.tm h4{font-size:20px;font-weight:600;margin:0;color:#0c1724;letter-spacing:.2px}
.tm .role{color:var(--levita-blue-text);font-size:15px;font-weight:500;margin-top:6px}
@media(min-width:768px){
  .founder-card{flex-direction:row;gap:44px;align-items:center}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .tm .lead-photo{width:180px;height:180px}
}

/* ===== PASE MOBILE GLOBAL (≤640px): aire justo, sin desbordes, tap-targets ===== */
@media(max-width:640px){
  html,body{overflow-x:hidden}
  /* heros de páginas de contenido: menos clearance bajo el nav compacto */
  .page-hero{padding:120px 20px 36px}
  .company-hero{padding:120px 20px 30px}
  .page-title{font-size:clamp(32px,9vw,40px)}
  .page-intro{font-size:15.5px}
  .page-sec{padding:44px 20px}
  .page-sec h2{font-size:24px}
  .page-sec p{font-size:15.5px}
  .vm-card{padding:26px}
  .ch-badge{left:10px;bottom:-18px;padding:14px 16px;max-width:210px}
  .ch-badge img{width:120px}
  .ch-img-main{aspect-ratio:1/1.05}
  /* leadership en mobile: fotos grandes pero proporcionadas */
  .founder-card{padding:28px;gap:22px;align-items:center;text-align:left}
  .founder-card .lead-photo{width:150px;height:150px;margin:0 auto}
  .founder-card h3{font-size:22px}
  .team-grid{gap:40px;margin-top:52px}
  .tm .lead-photo{width:150px;height:150px}
  .page-cta{padding:64px 20px 80px}
  .page-cta h2{font-size:24px}
  .coming h1{font-size:clamp(34px,12vw,52px)}
  /* careers */
  .role-row{padding:18px 20px}
  .role-row .btn{width:100%;justify-content:center}
  .careers-form{gap:22px}
  /* contact: menos padding vertical del section */
  .contact-section{padding-top:40px!important;padding-bottom:60px!important}
  .contact-headline{font-size:30px!important}
  .contact-subheadline{margin-bottom:32px!important}
  .contact-sidebar-col{gap:28px}
  /* botones a ancho completo cómodo */
  .btn-cta{padding:13px 22px;font-size:15px}
  /* newsroom / press release */
  .press-back{padding:100px 20px 0}
  .press-title{font-size:26px}
  .press-dek{font-size:16px}
  .pub-filters{gap:16px}
  .pub-filter-group select{min-width:140px}
}

/* ===== CAREERS: listado de cargos + postulación ===== */
.role-list{margin-top:32px;border:1px solid #e6ebf0;border-radius:16px;overflow:hidden}
.role-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  padding:24px 28px;background:#fff}
.role-row + .role-row{border-top:1px solid #e6ebf0}
.role-row h3{font-size:17px;font-weight:600;margin:0;color:#0c1724}
.role-loc{display:block;font-size:14px;color:#64748b;margin-top:4px}
.careers-form{margin-top:36px;max-width:640px;display:flex;flex-direction:column;gap:28px}
.cf-row{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:640px){ .cf-row{grid-template-columns:1fr 1fr} }
.cf-group{display:flex;flex-direction:column;gap:6px}
.cf-group label{font-size:13px;font-weight:500;color:#64748b;letter-spacing:.3px}
.cf-group input,.cf-group textarea,.cf-group select{background:transparent;border:none;border-bottom:1.5px solid #cbd5e1;
  padding:8px 0;font:inherit;font-size:16px;color:#0c1724;outline:none;border-radius:0;transition:border-color .2s}
.cf-group input:focus,.cf-group textarea:focus,.cf-group select:focus{border-bottom-color:#1f97d5}
.cf-group textarea{min-height:80px;resize:vertical}
.cf-file{border:1.5px dashed #cbd5e1;border-radius:12px;padding:22px;text-align:center;cursor:pointer;
  color:#64748b;font-size:14.5px;transition:border-color .2s,background .2s;display:block}
.cf-file:hover{border-color:#1f97d5;background:#f5faff}
.cf-file input{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.cf-file strong{color:var(--levita-blue-text);font-weight:600}
.feature-grid{display:grid;grid-template-columns:1fr;gap:1px;background:#e6ebf0;border:1px solid #e6ebf0;border-radius:16px;overflow:hidden;margin-top:36px}
.feature{background:#fff;padding:30px}
.feature h3{font-size:19px;font-weight:600;margin:0 0 8px;color:#0c1724}
.feature p{font-size:15px;color:#475569;line-height:1.55;margin:0}
.page-cta{text-align:center;padding:90px 24px 110px}
.page-cta h2{font-size:clamp(26px,4vw,42px);font-weight:700;letter-spacing:-1px;margin:0 0 22px}
.coming{min-height:78vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:140px 24px 80px}
.coming .tag{color:var(--levita-blue-text);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:13px;margin-bottom:18px}
.coming h1{font-size:clamp(40px,7vw,84px);font-weight:700;letter-spacing:-2px;margin:0}
.coming p{color:#475569;font-size:18px;margin:22px 0 34px;max-width:44ch}
@media(min-width:768px){
  .vm-grid{grid-template-columns:repeat(3,1fr)}
  .lead-grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){ .feature-grid{grid-template-columns:repeat(4,1fr)} .team-grid{grid-template-columns:repeat(4,1fr)} }

/* ===== NEWSROOM: listado de tarjetas ===== */
.newsroom-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:40px}
.news-card{display:block;text-decoration:none;color:inherit;border:1px solid #e6ebf0;border-radius:16px;
  overflow:hidden;transition:box-shadow .25s ease,transform .25s ease;background:#fff}
.news-card:hover{box-shadow:0 20px 44px rgba(10,17,24,.10);transform:translateY(-2px)}
.news-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#eef2f6}
.news-card-body{padding:26px 28px 30px}
.news-card-meta{display:flex;gap:12px;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.6px;
  text-transform:uppercase;color:var(--levita-blue-text);margin-bottom:12px}
.news-card-meta .dot{color:#64748b}
.news-card-meta .date{color:#64748b;font-weight:500;letter-spacing:.2px;text-transform:none}
.news-card h2,.news-card h3{font-size:20px;font-weight:600;letter-spacing:-.3px;margin:0 0 10px;line-height:1.3;color:#0c1724}
.news-card p{font-size:15px;color:#64748b;line-height:1.6;margin:0}
.news-card .read-more{display:inline-block;margin-top:14px;color:var(--levita-blue-text);font-weight:600;font-size:14.5px}
@media(min-width:860px){ .newsroom-grid{grid-template-columns:repeat(2,1fr)} }

/* ===== PRESS RELEASE (nota individual) ===== */
.press-back{max-width:800px;margin:0 auto;padding:150px 24px 0}
.press-back a{color:var(--levita-blue-text);font-size:14.5px;font-weight:600;text-decoration:none}
.press-hero-wrap{max-width:800px;margin:0 auto;padding:20px 24px 0}
.press-meta{display:flex;gap:10px;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.6px;
  text-transform:uppercase;color:var(--levita-blue-text);margin-bottom:18px}
.press-meta .dot{color:#64748b}
.press-meta .date{color:#64748b;font-weight:500;letter-spacing:.2px;text-transform:none}
.press-title{font-size:clamp(26px,4vw,38px);font-weight:700;letter-spacing:-.8px;line-height:1.18;margin:0 0 18px}
.press-dek{font-size:18px;color:#475569;line-height:1.6;font-weight:300;margin:0 0 32px}
.press-hero-img{width:100%;border-radius:16px;object-fit:cover;max-height:460px;margin-bottom:8px}
.press-body{max-width:800px;margin:0 auto;padding:32px 24px 0}
.press-body p{font-size:17px;line-height:1.8;color:#334155;margin:0 0 22px;font-weight:300}
.press-body h2,.press-body h3{font-size:20px;font-weight:600;margin:34px 0 14px;color:#0c1724;letter-spacing:0}
.press-body ul{margin:0 0 22px;padding-left:22px}
.press-body li{font-size:16px;line-height:1.7;color:#334155;margin-bottom:12px;font-weight:300}
.press-body li strong{font-weight:600;color:#0c1724}
.press-body blockquote{margin:28px 0;padding:4px 0 4px 22px;border-left:3px solid #1f97d5;font-style:italic;color:#0c1724}
.press-secondary-img{width:100%;border-radius:14px;object-fit:cover;margin:28px 0}
.press-boilerplate{background:#f7fafc;border-radius:14px;padding:28px 30px;margin-top:36px}
.press-boilerplate h2,.press-boilerplate h4{font-size:13px;text-transform:uppercase;letter-spacing:1.2px;color:var(--levita-blue-text);margin:0 0 10px}
.press-boilerplate p{font-size:15px;color:#475569;margin:0;font-weight:300;line-height:1.7}
.press-contact{margin-top:22px;font-size:14.5px;color:#64748b}
/* contenido bilingüe (sala de prensa): se muestra solo el bloque del idioma elegido */
html:not([data-lang="es"]) .l-es{display:none!important}
html[data-lang="es"] .l-en{display:none!important}
.press-footnote{font-size:13px;color:#64748b;margin-top:26px;line-height:1.6}

/* ===== SCIENTIFIC PUBLICATIONS ===== */
.pub-filters{display:flex;flex-wrap:wrap;gap:24px;margin-top:36px;padding-bottom:28px;border-bottom:1px solid #e6ebf0}
.pub-filter-group{display:flex;flex-direction:column;gap:6px}
.pub-filter-group label{font-size:12.5px;font-weight:600;color:#64748b;letter-spacing:.4px;text-transform:uppercase}
.pub-filter-group select{font:inherit;font-size:15px;color:#0c1724;border:1.5px solid #dbe3ea;border-radius:8px;
  padding:9px 34px 9px 14px;background:#fff;cursor:pointer;min-width:190px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:15px;-webkit-appearance:none;appearance:none}
.footer-isi{border-top:1px solid rgba(255,255,255,.12);padding:26px 0 6px;margin-top:8px;max-width:980px}
.footer-isi p{font-size:13px;line-height:1.7;color:#c3d0dc;margin:0}
.page-notes{background:#fff;padding:26px 20px 34px}
.page-notes-in{max-width:1100px;margin:0 auto;border-top:1px solid #e2e8f0;padding-top:16px}
.page-notes p{font-size:12.5px;line-height:1.6;color:#64748b;margin:0 0 4px}
sup.fn{font-size:.72em;margin-left:2px;vertical-align:super;line-height:0;font-weight:500}
.footer-isi .footer-isi-sub{margin-top:14px;font-weight:600;color:#cbd5e1}
.footer-isi-list{list-style:disc;margin:6px 0 0;padding-left:20px}
.footer-isi-list li{font-size:12.5px;line-height:1.65;color:#c3d0dc;margin:0 0 2px}
/* 10-nov (Jana): footer compacto; con el disclosure y las referencias se veía gigante */
footer.site-footer{padding:44px 20px 22px}
footer.site-footer .footer-top{margin-bottom:24px;gap:28px}
footer.site-footer .footer-logo{height:34px;margin-bottom:12px}
footer.site-footer .footer-desc{font-size:13px;line-height:1.55}
footer.site-footer .footer-links-grid{gap:48px}
footer.site-footer .footer-column{gap:8px}
footer.site-footer .footer-col-title{font-size:13.5px;margin-bottom:2px}
footer.site-footer .footer-column a{font-size:13px}
footer.site-footer .footer-isi{padding:14px 0 2px;margin-top:0;max-width:none}
footer.site-footer .footer-isi p{font-size:11.5px;line-height:1.55}
footer.site-footer .footer-isi .footer-isi-sub{margin-top:8px}
footer.site-footer .footer-isi-list{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:2px 18px}
footer.site-footer .footer-isi-list li{font-size:11px;line-height:1.5;margin:0}
footer.site-footer .footer-bottom{padding-top:14px;margin-top:14px;font-size:12px}
@media(max-width:768px){
  footer.site-footer{padding:32px 20px 20px}
  footer.site-footer .footer-top{margin-bottom:18px;gap:20px}
  footer.site-footer .footer-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;width:100%}
  footer.site-footer .footer-isi-list{display:block}
  footer.site-footer .footer-bottom{gap:10px}
}
.quote-host{position:relative;margin:0;overflow:hidden;border-radius:12px}
.quote-host .alt-img{display:block}
.img-quote{position:absolute;left:0;right:0;bottom:0;margin:0;padding:72px 8% 26px;text-align:center;
  background:linear-gradient(to top,rgba(10,17,24,.82) 0%,rgba(10,17,24,.62) 45%,rgba(10,17,24,0) 100%)}
.img-quote p{margin:0 auto;max-width:46ch;color:#fff;font-size:clamp(15px,1.55vw,20px);line-height:1.55;font-weight:300;
  font-style:italic;letter-spacing:.2px;text-shadow:0 1px 10px rgba(0,0,0,.35)}
@media(max-width:640px){.img-quote{padding:48px 18px 16px}.img-quote p{font-size:14px;line-height:1.5}}
.pub-disclosure{max-width:62ch;margin-top:18px;font-size:14px;line-height:1.65;color:#64748b;border-left:3px solid #cbd5e1;padding-left:14px}
.pub-count{font-size:14px;color:#64748b;margin-top:14px}
.pub-list{display:grid;grid-template-columns:1fr;gap:1px;background:#e6ebf0;border:1px solid #e6ebf0;
  border-radius:16px;overflow:hidden;margin-top:24px}
.pub-card{background:#fff;padding:26px 28px}
.pub-card.is-hidden{display:none}
.pub-card h2,.pub-card h3{font-size:17.5px;font-weight:600;letter-spacing:-.2px;margin:0 0 8px;line-height:1.4;color:#0c1724}
.pub-meta{font-size:13.5px;color:var(--levita-blue-text);font-weight:600;margin-bottom:10px}
.pub-meta .sep{color:#64748b;margin:0 6px}
.pub-card p{font-size:15px;color:#64748b;line-height:1.6;margin:0 0 12px}
.pub-card a{color:var(--levita-blue-text);font-weight:600;font-size:14.5px;text-decoration:none}
.pub-empty{display:none;text-align:center;padding:60px 20px;color:#64748b;font-size:15px}

/* ===== CTA doble (primario + ghost) para páginas de contenido ===== */
.cta-duo{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}
.btn-ghost-lt{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:8px;
  border:1.5px solid #dbe3ea;color:#0c1724;font-weight:600;font-size:15px;text-decoration:none;transition:.25s}
.btn-ghost-lt:hover{border-color:#1f97d5;color:var(--levita-blue-text)}
.page-cta .cta-duo{justify-content:center}

/* ===== TECHNOLOGY: hero cinemático oscuro + secciones editoriales ===== */
.tech-hero{position:relative;background:#0a1118;color:#fff;padding:190px 24px 110px;overflow:hidden}
.tech-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 55% at 50% 40%, rgba(31,151,213,.20) 0%, transparent 65%)}
.tech-hero-inner{position:relative;max-width:880px;margin:0 auto;text-align:center;display:flex;
  flex-direction:column;align-items:center}
.tech-hero .page-eyebrow{color:#6cc4f5}
.mss-figure{margin:44px auto 0;max-width:420px;width:72%}
.mss-figure img{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 40px rgba(0,0,0,.55))}
.mss-figure figcaption{margin-top:14px;font-size:13px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#6cc4f5}
.tech-hero .mars-mini{width:min(52vw,300px);height:auto;margin-bottom:30px;
  filter:drop-shadow(0 0 34px rgba(58,155,220,.45))}
.tech-hero h1{font-size:clamp(32px,4.6vw,54px);font-weight:600;letter-spacing:-1px;line-height:1.1;margin:0 0 22px;color:#fff}
.tech-hero p{font-size:clamp(16px,1.5vw,18px);color:#c3d0dc;line-height:1.75;font-weight:300;max-width:64ch;margin:0}
.tech-hero p.tech-hero-p2{margin-top:14px}
.tech-list{max-width:1080px;margin:0 auto;padding:30px 24px 10px}
.tech-row{display:grid;grid-template-columns:1fr;gap:14px 60px;padding:44px 0;border-bottom:1px solid #eef2f6}
.tech-row:last-child{border-bottom:none}
.tech-row .t-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--levita-blue-text)}
.tech-row h2,.tech-row h3{font-size:clamp(21px,2.4vw,27px);font-weight:600;letter-spacing:-.4px;margin:6px 0 0;line-height:1.25}
.tech-row p{font-size:16px;color:#475569;line-height:1.75;font-weight:300;margin:0}
@media(min-width:900px){ .tech-row{grid-template-columns:1fr 1.15fr;align-items:start} }
.tech-dark{background:#0a1118;color:#fff;padding:90px 24px;text-align:center;position:relative;overflow:hidden}
.tech-dark::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 55% 60% at 50% 50%, rgba(31,151,213,.16) 0%, transparent 65%)}
.tech-dark-inner{position:relative;max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.tech-dark img{width:min(56vw,340px);height:auto;margin-bottom:26px;filter:drop-shadow(0 0 30px rgba(58,155,220,.45))}
.tech-dark h2{font-size:clamp(26px,3.4vw,38px);font-weight:600;letter-spacing:-.6px;margin:0 0 16px;color:#fff}
.tech-dark p{font-size:16.5px;color:#c3d0dc;line-height:1.75;font-weight:300;margin:0}

/* ===== WHY IT MATTERS: bloques por público con imagen + highlights ===== */
.aud-sec{max-width:1180px;margin:0 auto;padding:56px 24px}
.aud-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.aud-media img{width:100%;border-radius:18px;object-fit:cover;aspect-ratio:4/3;box-shadow:0 24px 56px rgba(10,17,24,.12)}
.aud-copy .page-eyebrow{margin-bottom:12px}
.aud-copy h2{font-size:clamp(23px,2.8vw,32px);font-weight:600;letter-spacing:-.5px;margin:0 0 16px;line-height:1.2}
.aud-copy p{font-size:16px;color:#475569;line-height:1.75;font-weight:300;margin:0}
.hl-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:26px}
.hl{background:#f7fafc;border:1px solid #e6ebf0;border-radius:12px;padding:18px 20px}
.hl h3,.hl h4{font-size:15px;font-weight:600;margin:0 0 5px;color:#0c1724}
.hl p{font-size:13.5px;color:#64748b;line-height:1.55;margin:0;font-weight:300}
@media(min-width:640px){ .hl-grid{grid-template-columns:1fr 1fr} }
@media(min-width:980px){
  .aud-grid{grid-template-columns:1fr 1.1fr;gap:64px}
  .aud-sec.flip .aud-grid .aud-media{order:2}
}

/* ===== PROCEDURES: grid de especialidades ===== */
.proc-grid{display:grid;grid-template-columns:1fr;gap:26px;margin-top:44px}
.proc-card{border:1px solid #e6ebf0;border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column;
  transition:box-shadow .25s ease,transform .25s ease}
.proc-card:hover{box-shadow:0 20px 44px rgba(10,17,24,.10);transform:translateY(-2px)}
.proc-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#eef2f6}
.proc-body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.proc-body h3{font-size:20px;font-weight:600;letter-spacing:-.3px;margin:0 0 10px;color:#0c1724}
.proc-body p{font-size:15px;color:#64748b;line-height:1.65;margin:0;font-weight:300}
.proc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.proc-tags span{font-size:12.5px;font-weight:600;color:#15558f;background:#eaf4fb;border-radius:999px;padding:6px 13px}
@media(min-width:760px){ .proc-grid{grid-template-columns:1fr 1fr} }
@media(min-width:1100px){ .proc-grid{grid-template-columns:repeat(3,1fr)} .proc-card.wide{grid-column:span 1} }
.evolve{background:#f7fafc;border-top:1px solid #e6ebf0;border-bottom:1px solid #e6ebf0}

/* ===== CLINICAL EVIDENCE: biblioteca de estudios ===== */
.study-tools{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;margin-top:36px;padding-bottom:26px;border-bottom:1px solid #e6ebf0}
.study-search{display:flex;flex-direction:column;gap:6px;flex:1 1 260px}
.study-search label{font-size:12.5px;font-weight:600;color:#64748b;letter-spacing:.4px;text-transform:uppercase}
.study-search input{font:inherit;font-size:15px;color:#0c1724;border:1.5px solid #dbe3ea;border-radius:8px;
  padding:9px 14px;background:#fff;outline:none;transition:border-color .2s;width:100%}
.study-search input:focus{border-color:#1f97d5}
.reg-block{background:#f7fafc;border:1px solid #e6ebf0;border-radius:18px;padding:38px 40px;margin-top:10px}
.reg-block h3{font-size:20px;font-weight:600;margin:0 0 12px;color:#0c1724}
.reg-block p{font-size:15.5px;color:#475569;line-height:1.75;font-weight:300;margin:0 0 10px}

/* ===== PÁGINAS LEGALES (Terms, Accessibility, Safety Information, Cookies) ===== */
.legal{max-width:800px;margin:0 auto;padding:180px 24px 90px}
.legal .page-eyebrow{margin-bottom:12px}
.legal h1{font-size:clamp(30px,4vw,42px);font-weight:700;letter-spacing:-1px;line-height:1.12;margin:0 0 8px;color:#0c1724}
.legal .updated{color:#64748b;font-size:14px;margin:0 0 40px}
.legal h2{font-size:21px;font-weight:600;letter-spacing:-.3px;margin:40px 0 12px;color:#0c1724}
.legal h3{font-size:17px;font-weight:600;margin:26px 0 10px;color:#0c1724}
.legal p{font-size:15.5px;color:#475569;line-height:1.8;margin:0 0 14px;font-weight:300}
.legal ul{margin:0 0 18px;padding-left:22px}
.legal li{font-size:15px;color:#475569;line-height:1.7;margin-bottom:9px;font-weight:300}
.legal a{color:var(--levita-blue-text);text-decoration:none}
.legal p a,.legal li a{text-decoration:underline;text-underline-offset:3px}
.legal ol{margin:0 0 18px;padding-left:24px}
.legal li ul{margin:10px 0 0}
.legal .warn{background:#fff8f1;border:1px solid #fcd9b6;border-left:3px solid #e8930c;border-radius:10px;
  padding:13px 18px;margin:0 0 12px;font-size:14.5px;color:#7c4a03;line-height:1.65}
.legal .warn strong{color:#9a3412;font-weight:700;letter-spacing:.5px}
.legal .note{background:#f7fafc;border:1px solid #e6ebf0;border-radius:12px;padding:20px 24px;margin:30px 0}
.legal .note p{margin:0 0 8px;font-size:14.5px}
.legal .note p:last-child{margin:0}
@media(max-width:640px){ .legal{padding:120px 20px 60px} }
@media(max-width:640px){
  .tech-hero{padding:130px 20px 70px}
  .tech-row{padding:32px 0}
  .aud-sec{padding:36px 20px}
  .proc-body{padding:20px 22px 24px}
  .reg-block{padding:26px 22px}
}

/* ==================== ACCESIBILIDAD (WCAG 2.1 AA) ==================== */
/* aclaración bajo la foto de la paciente real (pedido de Alberto, 14-sep) */
.img-note{font-size:12.5px;color:#64748b;line-height:1.5;margin:8px 2px 0;font-style:italic}
/* sobre fondos oscuros el azul oscuro no llega a 4.5:1; ahi va el azul claro (9.3:1) */
.hero .eyebrow,.hero-content .eyebrow{color:#6cc4f5}
:root{--levita-blue-text:#1276b0}

/* Solo para lectores de pantalla */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;border:0!important}

/* Saltar al contenido: invisible hasta recibir foco */
.skip-link{position:absolute;left:-9999px;top:0;z-index:3000;background:#0c1724;color:#fff;
  padding:14px 24px;font-size:15px;font-weight:600;text-decoration:none;border-radius:0 0 10px 0}
.skip-link:focus{left:0}
main:focus{outline:none}

/* Anillo de foco visible. El box-shadow blanco rellena el offset para que
   el anillo tambien se vea sobre fondos oscuros (hero, footer, tech-hero). */
:focus-visible{outline:3px solid var(--levita-blue-text)!important;outline-offset:2px!important;
  box-shadow:0 0 0 2px #fff!important}
/* Los campos usan outline:none!important, hay que ganarles en especificidad */
.new-form-grid .form-input:focus-visible,.new-form-grid .form-textarea:focus-visible,
.new-form-grid .form-select:focus-visible,.cf-group input:focus-visible,
.cf-group textarea:focus-visible,.cf-group select:focus-visible,
.study-search input:focus-visible,.pub-filter-group select:focus-visible{
  outline:3px solid var(--levita-blue-text)!important;outline-offset:2px!important}
.cf-file:focus-within{border-color:var(--levita-blue-text);background:#f5faff;
  outline:3px solid var(--levita-blue-text);outline-offset:2px}

/* Submenus tambien accesibles por teclado, no solo por hover */
.nav-item.has-dropdown.dd-closed .dropdown-menu{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.nav-item.has-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0);pointer-events:auto}

/* Campos obligatorios y errores: icono + texto, nunca solo color */
.req-mark{color:#b3261e;margin-left:3px;font-weight:700}
.form-legend{font-size:13px;color:#64748b;margin:0 0 18px}
.field-error{display:none;align-items:center;gap:6px;color:#b3261e;font-size:13px;
  font-weight:500;margin-top:7px;line-height:1.35}
.field-error::before{content:"⚠";font-size:14px;line-height:1}
.field-error.show{display:flex}
[aria-invalid="true"]{border-color:#b3261e!important;border-bottom-color:#b3261e!important}
.form-errors{display:none;border:1.5px solid #b3261e;border-left-width:5px;background:#fff5f5;
  border-radius:10px;padding:14px 18px;margin-bottom:22px;color:#8c1d18;font-size:14.5px}
.form-errors.show{display:block}
.form-errors ul{margin:8px 0 0;padding-left:20px}
.form-errors a{color:#8c1d18;font-weight:600}

/* Pausa de video (SC 2.2.2) */
.media-host{position:relative}
.media-pause{position:absolute;right:14px;bottom:14px;z-index:5;display:inline-flex;
  align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.75);background:rgba(10,17,24,.62);color:#fff;
  cursor:pointer;padding:0;transition:background .2s ease,opacity .2s ease;opacity:.55}
.media-host:hover .media-pause,.media-pause:hover,.media-pause:focus-visible{opacity:1}
.media-pause:hover{background:rgba(10,17,24,.85)}
.media-pause svg{width:16px;height:16px;fill:currentColor;pointer-events:none}
@media(max-width:640px){.media-pause{opacity:1;width:38px;height:38px;right:10px;bottom:10px}}

/* Descripciones de video/foto (pedido Jana 25-sep): visibles al pasar el mouse o con foco de teclado,
   nunca fijas. Siguen en el DOM para lectores de pantalla (SC 1.2.1) y cumplen SC 1.4.13:
   se pueden cerrar con Escape, se pueden sobrevolar y persisten mientras dure el hover. */
/* el video conserva su radio y su sombra (recortarlo con overflow:hidden dejaba el cuadro en blanco en Chrome);
   la descripción redondea sus propias esquinas inferiores para calzar con el video */
.media-wrap{position:relative}
.media-wrap .alt-img{margin:0}
.media-wrap .media-cap{border-radius:0 0 12px 12px}
.media-wrap:not(:has(video)) .media-cap{padding-right:18px}
/* el hover de las filas mueve el envoltorio completo (foto + descripción), no solo la foto */
.alt-row:hover .media-wrap{transform:translateY(-6px);transition:transform .5s cubic-bezier(.25,.8,.25,1)}
.alt-row:hover .media-wrap .alt-img{transform:none}
.media-cap{position:absolute;left:0;right:0;bottom:0;z-index:4;margin:0;padding:40px 76px 16px 18px;
  font-size:13px;line-height:1.5;color:#fff;text-align:left;font-weight:400;letter-spacing:0;
  background:linear-gradient(to top,rgba(10,17,24,.86) 0%,rgba(10,17,24,.86) 55%,rgba(10,17,24,0) 100%);
  opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.media-host:hover .media-cap,.media-host:focus-within .media-cap,.media-host.cap-on .media-cap{opacity:1;transform:none}
.media-host.cap-off .media-cap{opacity:0;transform:translateY(6px)}
/* Hero: discreta (pedido Alan 28-sep). Chica, translúcida y con retardo: solo aparece si el mouse se queda
   sobre el hero, no al pasar de largo. Contraste medido 5.4:1 sobre blanco puro. */
.hero .media-cap{left:auto;right:22px;bottom:18px;max-width:340px;padding:6px 10px;border-radius:8px;font-size:11.5px;line-height:1.45;
  color:#fff;background:rgba(10,17,24,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform:none}
.hero.media-host:hover .media-cap,.hero.media-host:focus-within .media-cap{opacity:.92;transition-delay:1.1s}
.hero.media-host .media-cap{transition:opacity .35s ease}
@media(max-width:640px){.media-cap{font-size:12px;padding:34px 60px 12px 14px} .hero .media-cap{display:none}}
/* footer legal en móvil: 4 documentos, que cada link quede en una línea (antes se partían en 2-3 líneas) */
@media(max-width:640px){.footer-legal{flex-wrap:wrap;gap:10px 22px}}
@media(prefers-reduced-motion:reduce){.media-cap{transition:none;transform:none}}

/* Consentimiento Terms of Use + Privacy Policy en los formularios (correo Jana 24-sep) */
.form-consent{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px}
.new-form-grid .form-group.form-consent{flex-direction:row;align-items:flex-start;gap:12px;margin-top:10px}
.careers-form .cf-group.form-consent{flex-direction:row;align-items:flex-start;gap:12px}
.form-consent input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:#1276b0;cursor:pointer}
.form-consent label{flex:1 1 0;min-width:0;font-size:14px;line-height:1.55;color:#475569;font-weight:400;letter-spacing:0;text-align:left;cursor:pointer;margin:0}
.form-consent label a{color:var(--levita-blue-text);text-decoration:underline;text-underline-offset:3px;font-weight:500}
.form-consent .field-error{flex-basis:100%}

/* Nav de escritorio: nunca partir un link en dos líneas */
@media (min-width:1200px){ .nav-item>a{white-space:nowrap} }
/* Entre 1200 y 1340px el nav quedaba sin aire (a 1280: links pegados al logo y al botón). Versión compacta: 54px de aire a 1280. */
@media (min-width:1200px) and (max-width:1340px){
  .nav-links{gap:14px}
  .nav-item>a{font-size:13px}
  .nav-actions .btn-cta{padding:12px 16px;font-size:14px}
  .lang-switcher{margin-right:8px}
}

/* Preferencia del sistema: menos movimiento */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}
