/* ============ Variables ============ */
:root{
  --blue-strong:#0E00DE;
  --blue-medium:#3838E8;
  --blue-light:#80C5FF;
  --green:#2BC141;
  --green-dark:#006B1A;
  --offwhite:#FDFDFD;
  --gray-light:#F6F8FA;
  --dark-text:#2E2E2E;
  --navy:#0B2545;
  --white:#FFFFFF;
  --radius:14px;
  --max-width:1140px;
  --font: 'Lexend', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--dark-text);
  line-height:1.6;
  background:var(--offwhite);
}
img{max-width:100%;display:block;border-radius:var(--radius);}
a{text-decoration:none;color:inherit;}
h1,h2,h3,h4,h5,h6{color:var(--blue-strong);margin:0 0 16px;line-height:1.25;font-weight:700;}
h1{font-size:2.75rem;}
h2{font-size:2rem;text-align:center;}
h3{font-size:1.3rem;}
h6{font-size:1rem;color:var(--green);}
.contact-label{font-size:.95rem;color:var(--green);margin-bottom:6px;}
p{margin:0 0 16px;}
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px;}
.section-intro{text-align:center;max-width:640px;margin:0 auto 32px;}

/* ============ Buttons (all animated the same way) ============ */
.btn{
  display:inline-block;
  padding:14px 28px;
  border-radius:999px;
  font-weight:600;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--blue-strong);color:var(--white);box-shadow:0 6px 16px rgba(14,0,222,.25);}
.btn-primary:hover{box-shadow:0 10px 22px rgba(14,0,222,.32);}
.btn-green{background:var(--green);color:var(--white);box-shadow:0 6px 16px rgba(43,193,65,.25);}
.btn-green:hover{box-shadow:0 10px 22px rgba(43,193,65,.32);}
.btn-medium{background:var(--blue-medium);color:var(--white);box-shadow:0 6px 16px rgba(56,56,232,.25);}
.btn-medium:hover{box-shadow:0 10px 22px rgba(56,56,232,.32);}
.btn-outline{border:2px solid var(--blue-strong);color:var(--blue-strong);padding:10px 22px;}
.btn-outline:hover{background:var(--blue-strong);color:var(--white);}
.btn-outline-white{border:2px solid var(--white);color:var(--white);padding:10px 22px;}
.btn-outline-white:hover{background:var(--white);color:var(--blue-medium);}

/* ============ Header ============ */
.site-header{position:sticky;top:0;z-index:50;background:var(--offwhite);box-shadow:0 2px 10px rgba(0,0,0,.06);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;}
.logo img{height:48px;width:auto;border-radius:0;}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;}
.menu-toggle span{width:26px;height:3px;background:var(--blue-strong);border-radius:2px;}

/* ============ Hero ============ */
.hero{padding:64px 0;background:#EAF2FF;}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.hero-text p{font-size:1.05rem;}
.hero-text p.eyebrow{font-size:.95rem;font-weight:700;color:var(--green);margin:0 0 12px;}
.hero-text p.fine-print{font-size:.78rem;font-weight:400;color:#6b6b6b;line-height:1.5;margin:18px 0 0;}
.hero-image img{border-radius:20px;box-shadow:0 20px 40px rgba(14,0,222,.12);}

/* ============ Mosaic (resonancia + servicios) ============ */
.mosaic-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:0;padding:0;max-width:var(--max-width);margin:0 auto;}
.mosaic-photo{position:relative;min-height:420px;}
.mosaic-photo img{width:100%;height:100%;object-fit:cover;border-radius:0;position:absolute;inset:0;}
.mosaic-float-card{position:absolute;left:20px;bottom:20px;right:20px;background:var(--green);color:var(--white);border-radius:var(--radius);padding:20px;max-width:320px;}
.mosaic-float-card h3, .mosaic-float-card p{color:var(--white);}
.mosaic-float-card p{margin:0;font-size:.9rem;}
.mosaic-right{display:grid;grid-template-rows:auto auto;}
.mosaic-top{display:grid;grid-template-columns:1fr 1fr;}
.mosaic-card{padding:28px 24px;}
.mosaic-card-light{background:var(--offwhite);}
.mosaic-card-green{background:var(--green);}
.mosaic-card-green h3, .mosaic-card-green p{color:var(--white);}
.agenda-box{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;background:var(--blue-medium);color:var(--white);padding:28px 24px;}
.agenda-box h3, .agenda-box p{color:var(--white);}
.agenda-phone{display:flex;align-items:center;gap:16px;}
.agenda-phone img{height:56px;width:56px;border-radius:50%;}
.agenda-phone .label{display:block;font-size:.85rem;opacity:.85;color:var(--white);}
.agenda-phone strong{font-size:1.3rem;color:var(--white);}

/* ============ Banner feature ============ */
.banner-feature{background-size:cover;background-position:center;padding:96px 0;position:relative;color:var(--white);}
.banner-feature::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,37,69,.75),rgba(11,37,69,.92));}
.banner-inner{position:relative;z-index:1;max-width:720px;}
.banner-feature h2{color:var(--white);text-align:left;}
.banner-feature .lead{font-size:1.2rem;opacity:.9;}
.banner-desc{margin-top:28px;max-width:560px;}
.check-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px;}
.check-list li{padding-left:28px;position:relative;}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:bold;}

/* ============ Tech grid ============ */
.tech-grid{padding:64px 0;background:var(--blue-strong);}
.on-blue{color:var(--white);}
.on-blue-muted{color:rgba(255,255,255,.85);}
.tech-items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tech-item{text-align:left;background:var(--offwhite);border-radius:var(--radius);padding:16px;}
.tech-item h6{color:var(--dark-text);font-weight:700;margin:10px 0 6px;}
.tech-item p{color:#5b5b5b;font-size:.9rem;margin:0;}
.tech-item img{aspect-ratio:4/3;object-fit:cover;margin-bottom:0;}

/* ============ Advanced cards (all identical) ============ */
.advanced-grid{padding:64px 0;background:var(--gray-light);}
.advanced-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.advanced-card{background:var(--white);border-radius:var(--radius);padding:20px;box-shadow:0 6px 20px rgba(14,0,222,.06);display:flex;flex-direction:column;}
.advanced-card img{aspect-ratio:3/4;object-fit:cover;margin-bottom:14px;}
.advanced-card h6{color:var(--green);font-weight:700;}
.advanced-card p{color:#5b5b5b;font-size:.92rem;flex:1;}
.advanced-card .btn{align-self:flex-start;}
.plain-list{list-style:none;padding:0;margin:0 0 16px;}
.plain-list li{padding:4px 0;border-bottom:1px solid #E6EAF0;color:#5b5b5b;font-size:.92rem;}

/* ============ Doctor section ============ */
.doctor-section{padding:64px 0;background:var(--blue-light);}
.doctor-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;}
.doctor-text h2, .doctor-text p, .doctor-text .section-intro{color:var(--white);}
.doctor-text h2{text-align:left;}
.doctor-text .section-intro{text-align:left;margin:0 0 20px;font-weight:400;font-size:.95rem;}
.doctor-text p{font-weight:400;font-size:.92rem;}
.doctor-text .check-list{margin-top:0;}
.doctor-text .check-list li{font-weight:400;font-size:.92rem;color:var(--white);}
.doctor-text .check-list li::before{color:var(--white);}
.doctor-image{position:relative;}
.doctor-name-card{
  position:absolute;left:20px;bottom:20px;
  background:var(--white);border-radius:10px;
  padding:14px 18px;box-shadow:0 8px 20px rgba(11,37,69,.2);
  display:flex;flex-direction:column;gap:2px;
}
.doctor-name-card strong{color:var(--dark-text);font-size:1.05rem;}
.doctor-name-card span{color:#5b5b5b;font-size:.85rem;}

/* ============ Testimonials ============ */
.testimonials{background-size:cover;background-position:center;padding:80px 0;position:relative;}
.testimonials::before{content:"";position:absolute;inset:0;background:rgba(11,37,69,.88);}
.testimonials-inner{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.testimonial-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);padding:28px;color:var(--white);}
.testimonial-card p{color:var(--white);opacity:.9;}
.stars{color:#FFC94A;display:block;margin-bottom:12px;letter-spacing:2px;}

/* ============ Contact ============ */
.contact-section{padding:64px 0;background:var(--offwhite);}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.contact-text h2{text-align:left;}
.contact-email a{color:var(--dark-text);font-weight:700;}
.contact-phones{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}
.whatsapp-number{font-size:1.3rem;font-weight:700;margin:0;}
.social-row{display:flex;gap:14px;}
.social-row a{width:38px;height:38px;border-radius:50%;background:var(--dark-text);color:var(--white);display:flex;align-items:center;justify-content:center;transition:transform .15s ease, background-color .15s ease;}
.social-row a:hover{transform:translateY(-2px);background:var(--blue-strong);}
.contact-map{min-height:420px;border-radius:var(--radius);overflow:hidden;border:1px solid #E6EAF0;}
.contact-map iframe{width:100%;height:100%;min-height:420px;display:block;}

/* ============ Footer ============ */
.site-footer{background:var(--dark-text);color:var(--white);padding:40px 0;}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.footer-logo{height:40px;width:auto;filter:brightness(0) invert(1);}
.footer-social{display:flex;gap:18px;}
.footer-social a{opacity:.85;transition:opacity .15s ease, transform .15s ease;}
.footer-social a:hover{opacity:1;transform:translateY(-2px);}
.footer-copy{width:100%;text-align:center;opacity:.6;font-size:.85rem;margin:20px 0 0;}

/* ============ Responsive ============ */
@media (max-width:900px){
  .hero-inner, .doctor-inner, .contact-inner{grid-template-columns:1fr;}
  .mosaic-inner, .mosaic-top{grid-template-columns:1fr;}
  .tech-items{grid-template-columns:repeat(2,1fr);}
  .advanced-cards{grid-template-columns:repeat(2,1fr);}
  .testimonials-inner{grid-template-columns:1fr;}
  .mosaic-photo{min-height:280px;}
  h1{font-size:1.9rem;}
}
@media (max-width:600px){
  .menu-toggle{display:flex;}
  .header-cta{display:none;}
  .tech-items, .advanced-cards, .contact-phones{grid-template-columns:1fr;}
  .agenda-box{flex-direction:column;align-items:flex-start;}
}
