:root{
  --brand-navy:#080C41;
  --brand-blue:#3499CC;
  --brand-petrol:#154772;
  --brand-green:#1D5949;
  --brand-lime:#C7F547;
  --brand-sky:#359ACC;
  --brand-white:#FBFEFF;
  --brand-gray:#BEBEBE;
  --warn:#E8871E;
  --navy:var(--brand-navy);
  --navy-deep:var(--brand-navy);
  --teal:var(--brand-petrol);
  --teal-light:var(--brand-sky);
  --amber:var(--brand-lime);
  --mist:var(--brand-white);
  --steel:#5C6B73;
  --ink:#0D1B24;
  --white:#FFFFFF;
  --line:#DCE4E6;
  --radius:14px;
  --flow-gradient:linear-gradient(90deg,var(--navy) 0%, var(--teal) 55%, var(--amber) 100%);
  --shadow-soft:0 10px 30px -12px rgba(8,12,65,.25);
  --route-navy:var(--brand-navy);
  --route-blue:var(--brand-petrol);
  --route-green:var(--brand-green);
  --route-lime:var(--brand-lime);
  --route-sky:var(--brand-sky);
  --route-white-neg:var(--brand-white);
  --route-gray-neg:var(--brand-gray);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
#servicios, #productos, #innovacion, #noticias, #nosotros{
  scroll-margin-top:35vh;
}
body{
  margin:0; font-family:'Poppins',system-ui,sans-serif; font-weight:400; color:var(--ink);
  background:var(--white); line-height:1.55; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Poppins',sans-serif; margin:0;}
h1{font-weight:700; letter-spacing:-0.02em;}
h2{font-weight:700; letter-spacing:-0.015em;}
h3{font-weight:600; letter-spacing:-0.01em;}
h4{font-weight:600; letter-spacing:-0.005em;}
p{margin:0;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
.mono{font-family:'Poppins',sans-serif; font-weight:600; letter-spacing:.03em;}
.eyebrow{
  font-family:'Poppins',sans-serif; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--teal); font-weight:600;
}
.container{max-width:1200px; margin:0 auto; padding:0 32px;}
.skip-link{
  position:absolute; left:-999px; top:0; background:var(--navy); color:#fff; padding:10px 16px; z-index:999;
  border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}
.visually-hidden{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}
:focus-visible{outline:3px solid var(--amber); outline-offset:2px;}
.btn-primary{
  background:var(--amber); color:#0D1B24; padding:14px 26px; border-radius:30px; font-weight:700; font-size:.94rem;
  display:inline-flex; align-items:center; gap:8px; transition:transform .18s ease, background .2s ease; border:none;
}
.btn-primary:hover{background:#fff; transform:translateY(-2px);}
.btn-outline{
  border:1.5px solid rgba(255,255,255,.65); color:#fff; padding:14px 26px; border-radius:30px; font-weight:600; font-size:.94rem;
  display:inline-flex; align-items:center; gap:8px; transition:.2s ease;
}
.btn-outline.dark{border-color:var(--navy); color:var(--navy);}
.btn-outline.dark:hover{background:var(--navy); color:#fff;}
.btn-outline:hover{background:#fff; color:var(--navy);}
@keyframes pillarFloat{0%,100%{transform:translateY(0);} 50%{transform:translateY(-9px);}}
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
}
.reveal.in{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}
.prose > p, .ra-block > p, .sgi-block > p, .pd-block > p, .prose .pd-notice p, .prose .pd-callout p, .prose .pd-channels > p, .prose .sgi-scope p, .ra-cert-body p, .iso-row p, .page-hero p, .about-text p, .ally-lead, .inno-desc, .horizons-desc, .prod-intro-text p, .prod-sectors-head p, .qs-essence-card p, .qs-vision-text p, .cs-face p, .cs-pillar p, .cs-card p, .leader-card:first-child .leader-bio-short, .leader-modal-bio p, .pds-emblem p, .pds-quote p, .fp-prose > p, .fp-emblem-why p, .fp-quote p, .pq-faq-list details p, .inst-prose > p{
  text-align:justify;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  hyphens:auto;
  hyphenate-limit-chars:6 3 3;
}
