@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');


:root{
  --blue:#0b62bc;
  --blue-dark:#181e68;
  --purple:#5f5a86;
  --accent:#4842f4;
  --whatsapp:#37C759;
  --whatsapp-hover:#20b94d;
  --text:#34334b;
  --muted:#74738d;
  --soft:#f4f5f8;
  --line:#e5e7ef;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.65;
  font-size:18px;
  font-weight:400;
}
h1,h2,h3,h4,h5,h6,
.title,
.hero h1,
.doctor-info h2,
.bio h1,
.facilities-intro h2,
.cta-inner h2{
  font-family:'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-weight:700;
  letter-spacing:-.035em;
}
.hero h1{
  font-weight:800;
  letter-spacing:-.045em;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
p,li{font-size:1rem}
.container{width:min(1120px,92vw);margin:0 auto}
.section{padding:90px 0}
.section-soft{background:var(--soft)}
.center{text-align:center}
.narrow{max-width:850px;margin-left:auto;margin-right:auto}

.title{
  font-size:clamp(2.25rem,4vw,3.35rem);
  line-height:1.12;
  color:var(--purple);
  margin:0 0 24px;
}
.subtitle{font-size:1.28rem;color:var(--purple);margin:0 0 34px}
.lead{font-size:1.18rem;color:var(--purple);margin-bottom:26px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:15px 34px;
  border-radius:4px;
  text-transform:uppercase;
  font-weight:800;
  font-size:.82rem;
  line-height:1.1;
  letter-spacing:.08em;
  letter-spacing:.09em;
  transition:.2s;
  border:2px solid transparent;
  text-align:center;
  white-space:nowrap;
}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 20px rgba(72,66,244,.2)}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(.96)}
.btn-outline{border-color:var(--accent);color:var(--accent);background:#fff}
.btn-outline:hover{background:var(--accent);color:#fff}
.btn-whatsapp{
  background:var(--whatsapp);
  border-color:var(--whatsapp);
  color:#fff;
  box-shadow:0 10px 20px rgba(55,199,89,.24);
}
.btn-whatsapp:hover{
  background:var(--whatsapp-hover);
  border-color:var(--whatsapp-hover);
  color:#fff;
  font-weight:900;
  transform:translateY(-1px);
}
.wa-svg{width:22px;height:22px;fill:currentColor;flex:0 0 auto}
.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}

.site-header{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px 10px rgba(22,31,84,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:88px}
.logo img{width:280px;max-width:45vw;height:auto}
.main-nav{display:flex;align-items:center;gap:30px;font-size:.92rem;font-weight:700;color:var(--blue-dark);letter-spacing:-.01em}
.main-nav a{opacity:.92}.main-nav a:hover,.main-nav a.active{color:var(--accent);opacity:1}
.lang{display:flex;gap:10px;align-items:center;margin-left:6px}.lang a{padding:2px;border-radius:3px;display:inline-flex}.lang a.active{box-shadow:0 0 0 2px var(--accent)}
.flag-img{width:28px;height:auto;display:block}
.menu-toggle{display:none;border:0;background:#fff;color:var(--blue-dark);font-size:1.8rem;line-height:1;cursor:pointer}

.hero{position:relative;min-height:420px;display:flex;align-items:center;color:#fff;background:center/cover no-repeat}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,74,150,.78),rgba(51,123,204,.52))}
.hero .container{position:relative;z-index:1}
.hero-home{min-height:650px;background-image:url('../images/hero-inicio-2.png');background-position:center}
.hero-home:before{background:linear-gradient(90deg,rgba(29,85,165,.76),rgba(36,102,185,.42))}
.hero-home .hero-inner{max-width:850px;margin:0 auto;text-align:center}
.hero-inner{max-width:760px;padding:100px 0}
.hero h1{font-size:clamp(3.2rem,7vw,6rem);line-height:1.02;margin:0;font-weight:800;letter-spacing:-.045em}
.hero p{font-size:1.16rem;margin:18px 0 0;color:#eef7ff;font-weight:700;letter-spacing:.04em}
.hero-small{min-height:320px;background-image:url('../images/head-endoscopia.png')}
.hero-small h1{font-size:clamp(2.7rem,5vw,4.8rem)}

.doctor-intro{display:grid;grid-template-columns:380px 1fr;gap:78px;align-items:center}
.doctor-intro .doctor-photo{justify-self:center;max-width:360px}
.doctor-info h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.05;color:var(--purple);margin:0 0 22px}
.doctor-info .role{font-weight:700;color:var(--blue-dark);margin-bottom:16px}
.doctor-info p{font-size:1.18rem;color:var(--purple);margin:0 0 10px}
.doctor-info ul{font-size:1.18rem;color:var(--purple);margin:12px 0 28px;padding-left:26px}
.social-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.social-box{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;border:3px solid var(--accent);color:var(--accent);font-weight:900;border-radius:6px;font-size:1.8rem;background:#fff}
.qr{width:150px;min-width:150px;margin-top:18px;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.08)}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.two-col-top{align-items:start}
.text-block h2{font-size:clamp(2.35rem,5vw,4rem);line-height:1.08;color:var(--purple);margin:0 0 24px}
.text-block h3{font-size:1.7rem;color:var(--purple);margin:28px 0 14px}
.text-block p{margin:0 0 18px}
.text-block ul{margin:0 0 22px;padding-left:24px}
.image-soft{border-radius:12px;overflow:hidden}
.image-soft img{border-radius:12px}

.procedure-section{padding:88px 0}
.procedure-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:46px;align-items:start}
.procedure-main .title{text-align:left;margin-bottom:12px}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:26px 0 30px}
.video-grid-large{gap:24px}
.video-box{position:relative;aspect-ratio:16/9;background:#111;border-radius:12px;overflow:hidden;box-shadow:0 16px 34px rgba(0,0,0,.16)}
.video-box iframe{width:100%;height:100%;border:0;display:block}
.video-caption{font-size:.95rem;color:var(--muted);margin-top:8px;text-align:center}
.procedure-side{background:#fff;border-radius:14px;padding:26px;box-shadow:0 18px 36px rgba(29,31,70,.12)}
.procedure-side h3{font-family:'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;color:var(--purple);font-size:1.75rem;margin:0 0 18px;text-align:center}
.home-title-cards{display:grid;grid-template-columns:1fr;gap:16px}
.home-title-cards img{width:100%;height:210px;object-fit:contain;border-radius:12px;box-shadow:0 10px 26px rgba(30,35,86,.13);cursor:pointer;background:#fff}
.license-link{display:flex;align-items:center;justify-content:center;text-align:center;margin-top:20px;padding:14px 18px;border-radius:6px;border:2px solid var(--accent);color:var(--accent);font-weight:800;cursor:pointer}
.license-link:hover{background:var(--accent);color:#fff}
.license-hidden{display:none}

.info-grid{display:grid;grid-template-columns:300px 1fr;gap:48px;border-top:1px solid var(--line);padding-top:56px;margin-top:44px}
.info-grid h3{font-family:'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;font-size:1.62rem;line-height:1.18;color:var(--purple);margin:0}
.info-grid p,.info-grid li{font-size:1rem}
.info-grid ul{padding-left:22px;margin-top:0}

.cta-band{background:#f0f0f3;padding:70px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.cta-inner h2{font-size:clamp(2.2rem,4vw,3.35rem);line-height:1.1;color:var(--blue-dark);margin:0 0 8px}
.cta-inner p{font-size:1.12rem;color:var(--purple);margin:0}

.associations{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;align-items:start;max-width:940px;margin:38px auto 0}
.assoc img{max-height:270px;margin:0 auto;border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,.11);cursor:pointer}

.home-contact{background:#eef6ff}
.contact-summary{display:grid;grid-template-columns:1fr 1.35fr;gap:44px;align-items:center}
.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.contact-card h3{margin:0 0 10px;color:var(--purple);font-size:1.45rem}
.contact-card p{margin:0 0 6px}
.map-wrap{border-radius:6px;overflow:hidden;background:#ddd;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.map-iframe{display:block;width:100%;height:430px}

.profile-section{padding:90px 0}
.profile-grid{display:grid;grid-template-columns:420px 1fr;gap:76px;align-items:start}
.profile-grid .doctor-photo{max-width:390px;margin:auto}
.bio h1{font-size:clamp(2.7rem,5vw,4.8rem);color:var(--purple);margin:0 0 28px;line-height:1.04}
.bio .degrees{font-size:1.25rem;color:var(--purple);margin-bottom:24px}
.bio p{font-family:'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;color:#4a4966}
.membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin-top:30px;color:var(--purple);font-weight:700}
.membership-grid div:before{content:'●';font-size:.72rem;margin-right:10px;color:var(--purple)}
.certs{background:#f6f6f7}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:38px}
.cert-grid.small{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:32px}
.cert-grid img{width:100%;height:380px;object-fit:contain;border-radius:14px;box-shadow:0 16px 36px rgba(30,35,86,.16);cursor:pointer;background:transparent;padding:0}
.cert-grid.small img{height:180px;border-radius:12px}

.specialties{padding:88px 0}
.specialty-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin:68px 0}
.specialty-row:nth-child(even) .specialty-img{order:-1}
.specialty-text h3{font-size:2.05rem;color:var(--purple);margin:0 0 14px}
.specialty-text h4{font-size:1.62rem;color:var(--blue-dark);margin:22px 0 0}
.specialty-text p{font-family:Arial, Helvetica, sans-serif}
.specialty-img img{border-radius:10px}

.facilities-intro{text-align:center}
.facilities-intro h2{max-width:1000px;margin:0 auto 18px;font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.15;color:var(--purple)}
.facade{max-width:900px;margin:60px auto 50px}
.gallery{columns:3 250px;column-gap:22px;max-width:960px;margin:0 auto}
.gallery img{width:100%;margin:0 0 22px;break-inside:avoid;border-radius:8px;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.1)}

.contact-hero-profile{padding:70px 0}
.contact-top{display:grid;grid-template-columns:390px 1fr;gap:74px;align-items:center}
.contact-details-band{background:#f2f2f4;padding:48px 0}
.detail-grid{display:grid;grid-template-columns:1.1fr 1fr 1.2fr 1.1fr;gap:30px}
.detail-grid h3{font-size:1.6rem;color:var(--purple);margin:0 0 12px}
.detail-grid p{margin:0 0 8px;color:var(--purple)}
.contact-form-section{position:relative;background:url('../images/fachada-contacto.jpg') center/cover no-repeat;min-height:760px;display:flex;align-items:center;padding:90px 0}
.contact-form-section:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,150,218,.56),rgba(12,37,71,.34))}
.form-wrap{position:relative;z-index:1;margin-left:auto;max-width:540px;background:#fff;border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,.2);overflow:hidden}
.form-title{padding:28px 42px;border-bottom:1px solid var(--line);font-size:1.55rem;font-weight:800;color:var(--blue);text-align:center;line-height:1.25}
.form{padding:34px 42px 40px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{margin-bottom:18px}.field label{display:block;font-weight:700;color:var(--purple);font-size:.95rem;margin-bottom:8px}
.field input,.field textarea{width:100%;border:1px solid #d8dbe6;border-radius:5px;padding:14px 16px;font:inherit;color:var(--text);background:#fff}
.field textarea{min-height:120px;resize:vertical}.honeypot{position:absolute;left:-9999px;visibility:hidden}

.footer{background:#e9eaf1;color:#787a92;padding:24px 0;font-size:.9rem}
.footer .container{display:flex;align-items:center;justify-content:space-between;gap:16px}
.whatsapp-float{position:fixed;right:20px;bottom:18px;z-index:120;display:flex;align-items:center;gap:10px}
.whatsapp-float span{background:#fff;color:#333;border-radius:4px;padding:9px 11px;box-shadow:0 3px 15px rgba(0,0,0,.16);font-size:.82rem;max-width:210px;text-align:center;line-height:1.2}
.wa-circle{width:58px;height:58px;border-radius:50%;background:var(--whatsapp);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.22)}
.wa-circle:hover{background:var(--whatsapp-hover)}
.wa-circle .wa-svg{width:32px;height:32px}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.84);z-index:200;display:none;align-items:center;justify-content:center;padding:30px}
.lightbox.open{display:flex}.lightbox img{max-height:92vh;max-width:94vw;object-fit:contain}.lightbox button{position:absolute;top:15px;right:20px;background:transparent;color:#fff;font-size:2.4rem;border:0;cursor:pointer}

@media (max-width:900px){
  body{font-size:18px}
  .header-inner{min-height:74px}.logo img{width:210px}.menu-toggle{display:block}
  .main-nav{position:absolute;left:0;right:0;top:74px;background:#fff;display:none;flex-direction:column;align-items:flex-start;padding:18px 6vw 24px;border-top:1px solid var(--line);box-shadow:0 10px 18px rgba(0,0,0,.08);gap:16px}
  .main-nav.open{display:flex}.lang{margin-left:0}
  .hero{min-height:360px}.hero-home{min-height:560px}.hero-inner{padding:76px 0}
  .doctor-intro,.two-col,.profile-grid,.contact-summary,.contact-top,.detail-grid,.info-grid,.procedure-grid{grid-template-columns:1fr;gap:34px}
  .doctor-intro .doctor-photo,.profile-grid .doctor-photo{max-width:290px}
  .cta-inner{flex-direction:column;align-items:flex-start}.associations{grid-template-columns:1fr;gap:30px}
  .membership-grid{grid-template-columns:1fr}.cert-grid,.cert-grid.small{grid-template-columns:1fr 1fr}
  .specialty-row,.specialty-row:nth-child(even){grid-template-columns:1fr}.specialty-row:nth-child(even) .specialty-img{order:0}
  .contact-form-section{min-height:auto;padding:72px 0;background-position:center}.form-wrap{margin:0 auto}
  .footer .container{flex-direction:column;text-align:center}.whatsapp-float span{display:none}
  .procedure-side{max-width:560px;margin:auto}
}
@media (max-width:620px){
  body{font-size:18px}
  .section{padding:64px 0}.hero h1{font-size:2.65rem}.hero-small{min-height:260px}.hero-home{min-height:520px}
  .doctor-info p,.doctor-info ul{font-size:1rem}.video-grid{grid-template-columns:1fr}
  .contact-card{grid-template-columns:1fr}.cert-grid,.cert-grid.small{grid-template-columns:1fr}
  .cert-grid img,.cert-grid.small img{height:auto}.form-row{grid-template-columns:1fr}.form,.form-title{padding-left:24px;padding-right:24px}
  .detail-grid{gap:22px}.gallery{columns:1}.facade{margin:38px auto}.logo img{width:190px}
  .hero-home{background-position:center right}.btn{white-space:normal;width:100%}
  .social-box{width:70px;height:70px}.qr{width:150px}
}
