
:root{
  --azul:#073f78; --azul2:#0d67a8; --celeste:#eaf6fb; --verde:#2f8f66;
  --texto:#1f2b38; --gris:#667481; --blanco:#fff; --borde:#d9e7ee;
  --sombra:0 14px 34px rgba(7,63,120,.12);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--texto);background:#f7fafc;line-height:1.5}
a{text-decoration:none;color:inherit}
.container{width:min(1120px,92%);margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--borde);backdrop-filter:blur(10px)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--azul)}
.brand img{width:58px;height:58px;object-fit:contain}
.menu{display:flex;gap:18px;align-items:center;font-weight:700;color:#33495d}
.menu a:hover{color:var(--azul2)}
.menu-toggle{display:none;border:0;background:#eaf3f8;padding:10px 13px;border-radius:10px;font-size:22px}
.hero{min-height:620px;display:grid;place-items:center;background:
linear-gradient(90deg,rgba(4,37,70,.82),rgba(4,37,70,.35)),
url('assets/hero-collage.jpg') center/cover no-repeat;color:white}
.hero-inner{padding:70px 0;max-width:760px}
.badge{display:inline-flex;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);padding:8px 14px;border-radius:999px;font-weight:700}
h1{font-size:clamp(2.3rem,6vw,4.6rem);line-height:1.04;margin:20px 0 16px}
.hero p{font-size:clamp(1.05rem,2.3vw,1.35rem);max-width:650px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:12px;font-weight:800;border:2px solid transparent}
.btn-primary{background:#24a468;color:white}.btn-light{background:white;color:var(--azul)}
.section{padding:72px 0}.section.alt{background:white}
.section-title{text-align:center;margin-bottom:34px}
.section-title h2{font-size:clamp(1.8rem,4vw,2.8rem);color:var(--azul);margin:0 0 10px}
.section-title p{color:var(--gris);max-width:720px;margin:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:white;border:1px solid var(--borde);border-radius:18px;padding:24px;box-shadow:var(--sombra);transition:.2s}
.card:hover{transform:translateY(-4px)}
.icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--celeste);font-size:28px;margin-bottom:14px}
.card h3{margin:0 0 8px;color:var(--azul);font-size:1.25rem}.card p{color:var(--gris);margin:0 0 16px}
.link{font-weight:800;color:var(--azul2)}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center}
.split img{width:100%;border-radius:20px;box-shadow:var(--sombra);max-height:430px;object-fit:cover}
.checks{display:grid;gap:12px;margin-top:18px}.check{background:#f4fbff;border-left:5px solid var(--azul2);padding:12px 14px;border-radius:8px}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:210px;gap:12px}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.gallery img:first-child{grid-row:span 2}
.cta{background:linear-gradient(135deg,var(--azul),var(--azul2));color:white;border-radius:22px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:20px}
footer{background:#062f59;color:#dbeaf4;padding:42px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}.footer-grid h4{color:white}.small{font-size:.92rem;color:#a9c7da}
.page-hero{padding:70px 0;background:linear-gradient(135deg,#eaf6fb,#fff)}
.page-hero h1{color:var(--azul);font-size:clamp(2.2rem,5vw,3.6rem);margin:0}
.content-card{background:white;border:1px solid var(--borde);border-radius:18px;padding:26px;box-shadow:var(--sombra);margin-bottom:18px}
.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.profile{display:flex;gap:18px;align-items:flex-start}
.profile .avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:30px;background:var(--celeste)}
.notice{background:#fff8df;border-left:5px solid #e0a500;padding:16px;border-radius:10px}
.floating-wa{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:white;font-size:28px;box-shadow:0 10px 25px rgba(0,0,0,.2);z-index:30}
@media(max-width:820px){
 .menu-toggle{display:block}.menu{display:none;position:absolute;top:76px;left:0;right:0;background:white;flex-direction:column;padding:20px;border-bottom:1px solid var(--borde)}
 .menu.open{display:flex}.cards{grid-template-columns:1fr 1fr}.split,.footer-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{grid-row:auto;grid-column:span 2}.profile-grid{grid-template-columns:1fr}
}
@media(max-width:560px){.cards{grid-template-columns:1fr}.hero{min-height:560px}.gallery{grid-template-columns:1fr}.gallery img:first-child{grid-column:auto}.cta{flex-direction:column;align-items:flex-start}}


/* Preparación de estudios cardiológicos */
.cardiology-prep{padding:32px;background:linear-gradient(145deg,#ffffff,#f3f9fd);border-top:5px solid #d64045}
.prep-heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:24px}
.prep-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:#ffe9eb;font-size:31px;flex:0 0 auto}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:800;color:#b12e35;margin:0 0 4px}
.prep-heading h2{margin:0 0 8px;color:var(--azul);font-size:clamp(1.7rem,3vw,2.3rem)}
.prep-heading p{margin:0;color:var(--gris)}
.study-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.study-card{background:white;border:1px solid var(--borde);border-radius:16px;padding:22px;box-shadow:0 8px 22px rgba(7,63,120,.08)}
.study-title{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--borde);padding-bottom:12px;margin-bottom:14px}
.study-title span{font-size:27px}.study-title h3{margin:0;color:var(--azul);font-size:1.2rem}
.study-list{margin:0;padding-left:22px}.study-list li{margin:10px 0}
.prep-note{margin-top:18px;padding:14px 16px;border-radius:10px;background:#fff8df;border-left:5px solid #e0a500}
.consultorios-showcase img{max-height:520px;object-fit:cover}
@media(max-width:700px){.study-grid{grid-template-columns:1fr}.prep-heading{flex-direction:column}.cardiology-prep{padding:22px}}


/* Slider de promociones */
.promo-slider{position:relative;max-width:760px;margin:0 auto}
.promo-track{position:relative;overflow:hidden;border-radius:20px;box-shadow:var(--sombra);background:#fff}
.promo-slide{display:none}
.promo-slide.active{display:block;animation:promoFade .7s ease}
.promo-slide img{display:block;width:100%;height:auto}
.promo-prev,.promo-next{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:44px;border-radius:50%;border:0;background:rgba(7,63,120,.9);color:#fff;font-size:30px;cursor:pointer}
.promo-prev{left:-22px}.promo-next{right:-22px}
.promo-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.promo-dot{width:10px;height:10px;border-radius:50%;border:0;background:#bfd2de;cursor:pointer}
.promo-dot.active{background:#0d67a8}
@keyframes promoFade{from{opacity:.15}to{opacity:1}}
@media(max-width:600px){.promo-prev{left:8px}.promo-next{right:8px}.promo-prev,.promo-next{width:38px;height:38px;font-size:25px}}


/* Laboratorio y tecnología V3.1 */
.lab-hero{padding:58px 0 54px}
.lab-kicker{display:inline-block;font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--azul2);margin-bottom:10px}
.lab-hero p{max-width:760px;color:#40566b;font-size:1.08rem}
.lab-tech-section{padding-top:48px}

.equipment-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-bottom:24px;
}
.equipment-card{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--borde);
  border-radius:22px;
  box-shadow:var(--sombra);
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.equipment-media{
  aspect-ratio:16/9;
  overflow:hidden;
  background:#eef5f8;
}
.equipment-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .25s ease;
}
.equipment-card:hover .equipment-media img{transform:scale(1.02)}
.equipment-body{padding:24px 26px 26px}
.equipment-label{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:var(--celeste);
  color:var(--azul);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.equipment-body h2,.process-copy h2,.water-card h2{
  margin:10px 0 10px;
  color:var(--azul);
  font-size:clamp(1.45rem,2.5vw,2rem);
  line-height:1.1;
}
.equipment-body p,.process-copy p,.water-card p{
  margin:0;
  color:#4d6273;
}
.equipment-points{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  gap:9px;
}
.equipment-points li{
  position:relative;
  padding-left:25px;
  color:#2f4355;
}
.equipment-points li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#25a36a;
  font-weight:900;
}

.process-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:center;
  background:#fff;
  border:1px solid var(--borde);
  border-radius:22px;
  padding:28px;
  box-shadow:var(--sombra);
  margin-bottom:24px;
}
.process-features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:20px;
}
.process-features div{
  background:#f4fbff;
  border-radius:14px;
  padding:14px;
  min-height:104px;
}
.process-features strong{
  display:block;
  color:var(--azul2);
  font-size:1.2rem;
  margin-bottom:5px;
}
.process-features span{
  display:block;
  color:#334b5e;
  font-size:.94rem;
}
.process-media img{
  width:100%;
  height:330px;
  object-fit:cover;
  border-radius:16px;
  display:block;
}

.water-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:linear-gradient(135deg,#ffffff,#eef8fc);
  border:1px solid var(--borde);
  border-radius:22px;
  padding:26px 28px;
  box-shadow:0 10px 28px rgba(7,63,120,.08);
}
.water-card>div{max-width:760px}

@media(max-width:820px){
  .equipment-grid{grid-template-columns:1fr}
  .process-card{grid-template-columns:1fr}
  .process-media{order:-1}
  .process-media img{height:280px}
  .process-features{grid-template-columns:1fr}
}
@media(max-width:560px){
  .lab-hero{padding:42px 0 38px}
  .lab-tech-section{padding-top:34px}
  .equipment-body{padding:20px}
  .process-card{padding:20px}
  .water-card{flex-direction:column;align-items:flex-start;padding:22px}
  .equipment-media{aspect-ratio:4/3}
}
.privacy-policy{max-width:900px;margin:0 auto}
.privacy-policy h2{margin-top:1.8rem;margin-bottom:.55rem}
.privacy-policy p{line-height:1.75}
