*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;background:#06141b;color:#f5f8f8}a{color:inherit;text-decoration:none}header{height:78px;position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:center;gap:28px;padding:0 5vw;background:#06141be8;backdrop-filter:blur(10px)}.brand{margin-right:auto;font-size:12px;font-weight:700;letter-spacing:1.5px}.brand b{color:#61dcd4;border:1px solid #61dcd4;padding:8px;margin-right:9px}nav{display:flex;gap:22px;font-size:12px}.langs{display:flex;gap:7px;align-items:center}.langs button{border:0;background:none;color:#8da0a5;font-weight:bold;cursor:pointer}.langs button.active{color:#61dcd4}#menu{display:none;background:none;border:0;color:#fff;font-size:23px}.hero{height:100vh;min-height:650px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,#06141bf5,#06141b6a),radial-gradient(circle at 76% 36%,#277985,#07161d 58%);overflow:hidden}.hero:after{content:"";position:absolute;width:50vw;height:50vw;border:1px solid #61dcd426;border-radius:50%;right:-10vw;top:12vh}.heroCopy{position:relative;z-index:2;margin-left:8vw;max-width:930px}.hero small,.dark>small,.media>small,.impact small,.contact small{color:#61dcd4;letter-spacing:3px;font-weight:bold}.hero h1{font-size:clamp(52px,7vw,104px);line-height:.94;letter-spacing:-4px;margin:22px 0}.hero p{max-width:700px;font-size:19px;line-height:1.65;color:#cad8db;margin-bottom:38px}.primary,.secondary{display:inline-block;padding:16px 20px;border:1px solid #61dcd4;font-size:12px;font-weight:bold;margin:0 10px 10px 0}.primary{background:#61dcd4;color:#06141b}.light{background:#f3f6f4;color:#0a252c;padding:105px 8vw}.light>small{color:#087f83;letter-spacing:3px;font-weight:bold}.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.split h2,.dark h2,.media h2,.impact h2,.light h2,.contact h2{font-size:clamp(38px,5vw,68px);line-height:1.03;letter-spacing:-2px;margin:14px 0 40px}.split p{font-size:17px;line-height:1.8;color:#4c6267}.dark,.media{padding:105px 8vw}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #294149;border-top:1px solid #294149}.cards article{padding:34px;min-height:340px;border-right:1px solid #294149;border-bottom:1px solid #294149}.cards i{font-style:normal;color:#61dcd4}.cards h3{font-size:23px;margin-top:20px}.cards p{color:#9eafb4;line-height:1.7}.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:34px 8vw;background:#61dcd4;color:#06141b}.strip div{display:flex;flex-direction:column;gap:7px}.strip b{letter-spacing:2px}.media{background:#091c24}.mediaIntro{color:#aabcc0;margin-top:-25px;margin-bottom:45px}.videoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.videoCard{background:#0e2831;border:1px solid #29454d;overflow:hidden;min-height:390px}.videoCard video{width:100%;height:330px;object-fit:cover;background:#020708;display:block}.videoCard>div:not(.placeholder){padding:20px}.videoCard b{color:#61dcd4;font-size:12px}.videoCard h3{font-size:16px}.placeholder{height:100%;min-height:390px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:60px;color:#294951;background:linear-gradient(135deg,#0c222b,#07171e)}.placeholder span{font-size:10px;letter-spacing:3px;color:#668087;margin-top:15px}.impact{min-height:620px;padding:8vw;display:flex;align-items:flex-end;background:linear-gradient(90deg,#06141bf2,#06141b3d),radial-gradient(circle at 75% 35%,#24717b,#07151b 60%)}.impact div{max-width:720px}.impact p{font-size:18px;line-height:1.7;color:#cad8db}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cbd5d4}.pillars div{background:#f3f6f4;padding:32px}.pillars b{color:#087f83}.contact{padding:115px 8vw;background:#0a2a34}.contacts{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:30px;border-top:1px solid #49636b;padding-top:34px}.contacts label{display:block;color:#61dcd4;font-size:10px;letter-spacing:2px;margin-bottom:12px}.contacts p{margin:0;line-height:1.6}footer{padding:45px 8vw;display:grid;grid-template-columns:1fr 1fr auto;gap:25px;color:#9fafb3}footer small{grid-column:1/-1;border-top:1px solid #263b42;padding-top:25px}@media(max-width:900px){nav{display:none;position:absolute;top:78px;left:0;right:0;background:#06141b;padding:25px 8vw;flex-direction:column}.langs{margin-left:auto}nav.open{display:flex}#menu{display:block;order:4}.split,.contacts{grid-template-columns:1fr}.cards,.videoGrid{grid-template-columns:1fr 1fr}.strip{grid-template-columns:1fr}.pillars{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr}}@media(max-width:560px){.brand span{display:none}.heroCopy{margin:0 7vw}.hero h1{letter-spacing:-2px}.light,.dark,.media,.contact{padding:82px 7vw}.cards,.videoGrid,.pillars{grid-template-columns:1fr}.videoCard video{height:500px}.videoCard{min-height:auto}}
/* V3 — vertical corporate video gallery */
.videoGrid{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:42px !important;
}
.videoCard.live{
  width:min(390px,92vw) !important;
  min-height:auto !important;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.videoCard.live video{
  width:100% !important;
  height:auto !important;
  aspect-ratio:9 / 16 !important;
  object-fit:contain !important;
  background:#000 !important;
  display:block;
}
.videoCard.future{
  width:min(390px,92vw) !important;
  min-height:220px !important;
  border-radius:18px;
}
.videoCard.future .placeholder{
  min-height:220px !important;
}
video::cue{
  font-size:1.05rem;
  line-height:1.25;
  background:rgba(0,0,0,.72);
  color:white;
}
@media(max-width:560px){
  .videoCard.live{width:min(340px,94vw) !important;}
  .videoCard.live video{height:auto !important;aspect-ratio:9/16 !important;}
}

/* V4 — language-specific video display */
.videoGrid{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.lang-video{
  width:min(390px,92vw) !important;
}
.future-hidden{
  display:none !important;
}

/* V5 — definitive language-specific video visibility */
.lang-video{
  display:none !important;
}
html[lang="en"] .lang-video.video-en{
  display:block !important;
}
html[lang="es"] .lang-video.video-es{
  display:block !important;
}
html[lang="en"] .lang-video.video-es,
html[lang="es"] .lang-video.video-en{
  display:none !important;
}

/* Only one active media card should occupy the gallery */
.videoGrid{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.future-hidden{
  display:none !important;
}

/* V8 — Compliance Manuals */
.documents{
  padding:105px 8vw;
  background:#081a22;
}
.documents>small{
  color:#61dcd4;
  letter-spacing:3px;
  font-weight:bold;
}
.documents h2{
  font-size:clamp(38px,5vw,68px);
  line-height:1.03;
  letter-spacing:-2px;
  margin:14px 0 22px;
}
.documentsIntro{
  max-width:760px;
  color:#aabcc0;
  line-height:1.7;
  margin-bottom:42px;
}
.documentCards{
  display:flex;
  justify-content:center;
}
.documentCard{
  width:min(680px,100%);
  padding:34px;
  background:#0e2831;
  border:1px solid #29454d;
  border-radius:16px;
}
.documentCard h3{
  font-size:28px;
  margin:18px 0 12px;
}
.documentCard p{
  color:#aabcc0;
  line-height:1.7;
  margin-bottom:28px;
}
.docTag{
  display:inline-block;
  color:#61dcd4;
  letter-spacing:2px;
  font-size:11px;
  font-weight:bold;
}
.docButton{
  display:inline-block;
  padding:15px 20px;
  background:#61dcd4;
  color:#06141b;
  font-size:12px;
  font-weight:bold;
  border:1px solid #61dcd4;
}
.document-en,
.document-es{
  display:none !important;
}
html[lang="en"] .document-en{
  display:block !important;
}
html[lang="es"] .document-es{
  display:block !important;
}
@media(max-width:560px){
  .documents{padding:82px 7vw;}
  .documentCard{padding:26px;}
}

/* V9 — FAQ page */
.faqSection{
  padding:150px 8vw 105px;
  background:#081a22;
  min-height:100vh;
}
.faqSection>small{
  color:#61dcd4;
  letter-spacing:3px;
  font-weight:bold;
}
.faqSection h1{
  font-size:clamp(38px,5vw,64px);
  line-height:1.03;
  letter-spacing:-2px;
  margin:14px 0 22px;
}
.faqIntro{
  max-width:760px;
  color:#aabcc0;
  line-height:1.7;
  margin-bottom:56px;
  font-size:18px;
}
.faqList{
  max-width:860px;
}
.faqItem{
  border:1px solid #29454d;
  border-radius:12px;
  background:#0e2831;
  margin-bottom:14px;
  overflow:hidden;
}
.faqItem summary{
  padding:24px 28px;
  cursor:pointer;
  font-weight:bold;
  font-size:16px;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#f5f8f8;
}
.faqItem summary::-webkit-details-marker{display:none}
.faqItem summary:after{
  content:"+";
  font-size:22px;
  color:#61dcd4;
  flex-shrink:0;
  transition:transform .25s ease;
}
.faqItem[open] summary:after{
  transform:rotate(45deg);
}
.faqItem .faqAnswer{
  padding:0 28px 26px;
  color:#aabcc0;
  line-height:1.75;
  font-size:15px;
}
.faqCategory{
  color:#61dcd4;
  letter-spacing:2px;
  font-size:11px;
  font-weight:bold;
  margin:46px 0 16px;
}
.faqCategory:first-of-type{
  margin-top:0;
}
.faqCta{
  margin-top:56px;
  padding:36px;
  background:#0e2831;
  border:1px solid #29454d;
  border-radius:16px;
  max-width:860px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.faqCta p{
  margin:0;
  color:#aabcc0;
  line-height:1.6;
  max-width:480px;
}
@media(max-width:700px){
  .faqSection{padding:120px 6vw 76px;}
  .faqItem summary{padding:18px 20px;font-size:15px;}
  .faqItem .faqAnswer{padding:0 20px 20px;}
  .faqCta{flex-direction:column;align-items:flex-start;}
}

/* Shared brand logo sizing (header + footer) — applies to every page */
header .brand.brand-round{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:78px!important;
  height:78px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
header .brand.brand-round img{
  display:block!important;
  width:72px!important;
  height:72px!important;
  max-width:none!important;
  object-fit:contain!important;
  border-radius:50%!important;
}
footer .footer-brand-round{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin-bottom:12px!important;
}
footer .footer-brand-round img{
  display:block!important;
  width:96px!important;
  height:96px!important;
  max-width:none!important;
  object-fit:contain!important;
  border-radius:50%!important;
}
@media(max-width:700px){
  header .brand.brand-round{width:62px!important;height:62px!important}
  header .brand.brand-round img{width:58px!important;height:58px!important}
  footer .footer-brand-round img{width:82px!important;height:82px!important}
}

/* 7th solutions card — full-width closing row, added 2026-09-03 */
.cards article:nth-child(7){
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:34px;
}
.cards article:nth-child(7) i{
  flex-shrink:0;
}
.cards article:nth-child(7) h3{
  margin-top:0;
}
@media(max-width:1050px){
  .cards article:nth-child(7){grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:12px}
}

/* Contact form — added 2026-09-03 */
.contact-form-wrap{
  margin-top:60px;
  padding-top:44px;
  border-top:1px solid rgba(255,255,255,.14);
}
.contact-form-wrap h3{
  font-size:22px;
  margin:0 0 8px;
  color:#fff;
}
.contact-form-wrap p{
  color:#9fb0b6;
  margin:0 0 26px;
  font-size:14px;
}
.mcsForm{
  display:grid;
  gap:18px;
  max-width:660px;
}
.mcsForm .formRow{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.mcsForm label{
  display:block;
  font-size:11px;
  letter-spacing:2px;
  color:#61dcd4;
  margin-bottom:8px;
  font-weight:bold;
}
.mcsForm input,.mcsForm textarea{
  width:100%;
  background:#082a35;
  border:1px solid #2c4a52;
  color:#f5f8f8;
  padding:13px 14px;
  font-family:inherit;
  font-size:14px;
  box-sizing:border-box;
}
.mcsForm input:focus,.mcsForm textarea:focus{
  outline:none;
  border-color:#61dcd4;
}
.mcsForm textarea{
  min-height:130px;
  resize:vertical;
}
.mcsForm button{
  justify-self:start;
  cursor:pointer;
}
.mcsForm .hp{
  position:absolute;
  left:-9999px;
}
@media(max-width:700px){
  .mcsForm .formRow{grid-template-columns:1fr}
}

/* Compliance badges — added 2026-09-03 */
.complianceBadges{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:52px;
}
.complianceBadge{
  background:#fff;
  border:1px solid #dde3e6;
  border-radius:14px;
  padding:28px 22px;
  text-align:center;
  box-shadow:0 12px 30px rgba(10,37,44,.06);
  transition:.25s;
  display:block;
}
.complianceBadge:hover{
  transform:translateY(-4px);
  border-color:#087f83;
  box-shadow:0 16px 40px rgba(10,37,44,.12);
}
.complianceBadge svg{
  width:44px;
  height:44px;
  margin:0 auto 16px;
  display:block;
  color:#087f83;
}
.complianceBadge strong{
  display:block;
  font-size:14px;
  color:#0a252c;
  margin-bottom:6px;
}
.complianceBadge span{
  display:block;
  font-size:12px;
  color:#66777c;
  line-height:1.5;
}
@media(max-width:1050px){
  .complianceBadges{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .complianceBadges{grid-template-columns:1fr}
}

/* WhatsApp floating button — added 2026-09-03 */
.waFloat{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:999;
  width:60px;
  height:60px;
  border-radius:50%;
  background:#25d366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 28px rgba(0,0,0,.32);
  transition:.2s;
}
.waFloat:hover{
  transform:scale(1.08);
  box-shadow:0 14px 34px rgba(0,0,0,.4);
}
.waFloat svg{
  width:30px;
  height:30px;
  fill:#fff;
}
@media(max-width:560px){
  .waFloat{right:16px;bottom:16px;width:54px;height:54px}
  .waFloat svg{width:27px;height:27px}
}
