:root{
  --navy:#0B2A3F;
  --ocean:#145D78;
  --teal:#2F7C7A;
  --off:#F5F7F5;
  --white:#FFFFFF;
  --graphite:#1F2B33;
  --muted:#66757F;
  --sand:#DDD7CC;
  --sos:#C73535;
  --shadow:0 18px 55px rgba(11,42,63,.10);
  --radius:24px;
  --container:1180px;
}


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--graphite);
  background:var(--off);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;background:#fff;padding:12px;z-index:9999}


.site-header{
  position:sticky;
  top:0;
  background:rgba(245,247,245,.94);
  backdrop-filter:blur(14px);
  z-index:100;
  border-bottom:1px solid rgba(11,42,63,.08);
}
.header-inner{height:86px;display:flex;align-items:center;gap:28px}
.brand{width:160px;flex:0 0 auto}
.brand img{height:60px;width:auto;object-fit:contain}
.main-nav{display:flex;gap:23px;align-items:center;margin-left:auto}
.main-nav a{text-decoration:none;font-weight:650;font-size:.94rem}
.main-nav a:hover,.main-nav a:focus-visible{color:var(--ocean)}
.nav-sos{color:var(--sos)!important}
.header-cta{margin-left:10px}
.menu-toggle{display:none}


.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border-radius:14px;
  text-decoration:none;
  font-weight:750;
  border:1px solid transparent;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--ocean);color:#fff;box-shadow:0 12px 28px rgba(20,93,120,.22)}
.btn-secondary{background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy)}
.btn-ghost{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.08)}
.btn-lg{min-height:56px;padding:15px 28px}


.hero{
  position:relative;
  min-height:740px;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}
.hero-media{
  position:absolute;
  inset:0;
  background:url("../images/hero-labhor-2026.webp") center/cover no-repeat;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(11,42,63,.96) 0%,rgba(11,42,63,.80) 46%,rgba(11,42,63,.24) 77%,rgba(11,42,63,.12) 100%);
}
.hero-content{position:relative;padding:120px 0 90px}
.eyebrow{
  font-size:.78rem;
  letter-spacing:.16em;
  font-weight:800;
  margin:0 0 16px;
  color:#D7F0EC;
}
.eyebrow.dark{color:var(--teal)}
h1,h2,h3{
  font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing:-.035em;
  margin-top:0;
}
h1{
  font-size:clamp(3rem,6vw,5.4rem);
  line-height:.98;
  max-width:820px;
  margin-bottom:24px;
}
h2{
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1.05;
  margin-bottom:18px;
}
h3{font-size:1.28rem;margin-bottom:8px}
.hero-lead{font-size:1.22rem;max-width:650px;color:#EEF5F6}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.microcopy{font-size:.9rem;opacity:.82;margin-top:17px}


.quote-band{background:#fff;border-bottom:1px solid rgba(11,42,63,.08)}
.quote-grid{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:60px;
  align-items:center;
  padding:52px 0;
}
.quote-grid h2{font-size:2.25rem}
.quote-action{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.quote-action small{color:var(--muted)}


.section{padding:96px 0}
.section-tint{background:#EAF1F0}
.section-dark{background:var(--navy);color:#fff}
.section-heading{max-width:760px;margin:0 auto 48px;text-align:center}
.section-heading.light p{color:#D7E1E6}


.cards{display:grid;gap:20px}
.services{grid-template-columns:repeat(3,1fr)}
.service-card{
  background:#fff;
  border:1px solid rgba(11,42,63,.08);
  padding:30px;
  border-radius:20px;
  box-shadow:0 10px 35px rgba(11,42,63,.05);
}
.icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  background:#E4F0EE;
  color:var(--teal);
  border-radius:12px;
  font-weight:900;
  margin-bottom:18px;
}


.support-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.support-card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.ai-card{display:grid;grid-template-columns:.85fr 1.15fr}
.support-portrait{position:relative;min-height:460px;background:var(--navy)}
.support-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
}
.support-copy{padding:38px}
.ai-badge{
  position:absolute;
  top:18px;
  left:18px;
  background:#D7F0EC;
  color:var(--navy);
  font-size:.74rem;
  font-weight:900;
  padding:7px 10px;
  border-radius:10px;
  letter-spacing:.08em;
}
.support-copy small{display:block;color:var(--muted);margin-top:18px}
.human-card{display:flex;flex-direction:column;justify-content:space-between}
.mini-stack{display:flex;padding:0 34px 34px}
.mini-stack img{
  width:74px;
  height:74px;
  border-radius:50%;
  object-fit:cover;
  border:4px solid #fff;
  margin-right:-14px;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}


.experience{background:var(--sand)}
.experience-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:start;
}
.experience-grid p{font-size:1.08rem}


.team-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.person{position:relative;text-align:center}
.person img{
  width:100%;
  aspect-ratio:1/1.15;
  object-fit:cover;
  object-position:center top;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:15px;
}
.person h3{margin-bottom:1px}
.person p{margin:0;color:#BBC9CF;font-size:.88rem}
.person a{
  display:inline-block;
  margin-top:8px;
  color:#D7F0EC;
  font-size:.85rem;
  font-weight:700;
  text-decoration:none;
}
.ai-person .ai-badge{top:10px;left:10px}


.presencial{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:60px;
  background:#fff;
  border-radius:var(--radius);
  padding:54px;
  box-shadow:var(--shadow);
}


.sos{background:var(--sos);color:#fff;padding:62px 0}
.sos-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:60px;
  align-items:center;
}
.sos h2{font-size:2.5rem}
.sos p{max-width:720px}


.final-cta{background:var(--ocean);color:#fff;text-align:center;padding:88px 0}
.final-cta h2{max-width:850px;margin-left:auto;margin-right:auto}
.centered{justify-content:center}


.site-footer{background:#071E2E;color:#E7EFF2;padding:58px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:60px}
.footer-brand img{
  height:72px;
  width:auto;
  background:#fff;
  border-radius:10px;
  padding:5px;
}
.site-footer h3{font-size:1rem;letter-spacing:.01em}
.site-footer a,.site-footer span{
  display:block;
  text-decoration:none;
  color:#CAD8DE;
  margin:7px 0;
}
.ai-note{font-size:.84rem;color:#9EB0B8}
.footer-bottom{
  margin-top:38px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.09);
  color:#8EA1AA;
  font-size:.85rem;
}


@media(max-width:980px){
  .header-cta{display:none}
  .menu-toggle{
    display:block;
    margin-left:auto;
    background:transparent;
    border:1px solid rgba(11,42,63,.2);
    padding:9px 13px;
    border-radius:10px;
  }
  .main-nav{
    display:none;
    position:absolute;
    top:86px;
    left:0;
    right:0;
    background:#fff;
    padding:20px 24px;
    flex-direction:column;
    align-items:flex-start;
    box-shadow:var(--shadow);
  }
  .main-nav.open{display:flex}
  .hero{min-height:680px}
  .quote-grid,.support-grid,.experience-grid,.presencial,.sos-grid{grid-template-columns:1fr}
  .services{grid-template-columns:repeat(2,1fr)}
  .ai-card{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}


@media(max-width:640px){
  .container{width:min(100% - 28px,var(--container))}
  .header-inner{height:74px}
  .brand{width:130px}
  .brand img{height:48px}
  .main-nav{top:74px}


  .hero{min-height:690px}
  .hero-overlay{
    background:linear-gradient(180deg,rgba(11,42,63,.70),rgba(11,42,63,.94));
  }
  .hero-content{padding:110px 0 64px}
  h1{font-size:2.7rem}
  .hero-lead{font-size:1.05rem}
  .btn-lg{width:100%}


  .quote-grid{padding:38px 0}
  .section{padding:68px 0}
  .services{grid-template-columns:1fr}
  .ai-card{grid-template-columns:1fr}
  .support-portrait{min-height:390px}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .presencial{padding:34px 24px}
  .sos{padding:54px 0}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand img{height:64px}
}


@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}


:focus-visible{
  outline:3px solid #E7B94A;
  outline-offset:3px;
}