/* Revisión del 04/11: se carga después de la base de octubre. */
.header-inner{gap:22px}.header nav{gap:23px;font-size:.79rem}.brand-lockup{width:238px}.header-inner>.button{font-size:.76rem;gap:8px;white-space:nowrap;padding:12px 17px}
.dropdown{width:650px;grid-template-columns:1fr 1fr;gap:3px 16px}.dropdown a{font-size:.79rem;line-height:1.5;min-height:44px}.nav-orthodontics{display:flex;flex-direction:column}.nav-orthodontics>.sub-specialty{font-size:.72rem;padding:9px 20px;min-height:44px;border:0;color:var(--muted)}
@media (min-width: 761px) {
  .dropdown { grid-auto-flow: row dense; }
  .dropdown > a:nth-child(odd) { grid-column: 1; }
  .dropdown > a:nth-child(even),
  .nav-orthodontics > a { grid-column: 2; }
  .nav-orthodontics { display: contents; }
}
@media (max-width: 760px) {
  #atencion-al-paciente .editorial-media img { height: auto; }
}
.reception-awaiting{display:block}.reception-awaiting>div{max-width:850px;margin:auto}.has-reception{grid-template-columns:1fr 1fr;align-items:center;gap:70px}.welcome-photo{height:100%;min-height:420px;overflow:hidden;border-radius:18px 18px 60px 18px}.welcome-photo img{height:100%;width:100%;object-fit:cover}
.team-page{padding-bottom:0}.team-page h1,.ortho-intro h1{font-size:clamp(2.3rem,4vw,4.2rem);line-height:1.12}.team-page+.section .section-heading{display:none}.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}.person{max-width:none;min-width:0}.person .person-photo{aspect-ratio:3/4}.person-label{min-height:0;padding:20px 13px}.person-label h3{font-size:.85rem;line-height:1.5}.person-label p{font-size:.7rem;line-height:1.65}.team-outro{margin-top:32px}
.specialty-visual{display:grid;place-items:center;min-height:320px;background:#edf2f9;padding:30px}.specialty-visual>img{width:auto;height:auto;max-width:100%;max-height:400px;object-fit:contain;border-radius:8px}.page-hero h2{font-size:clamp(2.2rem,3.7vw,4rem);line-height:1.12;margin:0 0 22px}.scanner-diagram{width:100%;text-align:center;color:var(--blue);font-size:.8rem;letter-spacing:.1em}.scanner-diagram svg{width:100%;height:auto}.scanner-diagram span{display:block;margin:0 0 20px}
.insurers{background:#fff;border-top:1px solid #e3e9f1}.insurers h2{font-size:clamp(1.7rem,3vw,2.8rem)}.insurer-logos{list-style:none;padding:0;margin:40px 0 0;display:flex;justify-content:center;flex-wrap:wrap;gap:25px 0}.insurer-logos li{flex:0 0 20%;min-width:0;padding:15px 22px;display:grid;place-items:center}.insurer-logos img{height:56px;width:100%;max-width:170px;object-fit:contain}.partners{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.partner{background:transparent;border:0;border-radius:0;color:#fff}.partner>div{height:75px;display:grid;place-items:center}.partner .image-window{filter:grayscale(1);background:#fff;max-height:75px;max-width:100%;border-radius:4px}.partner span{color:#fff;font-size:.75rem}.privacy-seal{border-top:1px solid #ffffff2e}
.clinic-carousel{position:relative}.clinic-track{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:5px 0 20px;scroll-padding-inline:0}.clinic-track figure{flex:0 0 calc((100% - 24px)/2);min-width:0;scroll-snap-align:start;margin:0}.clinic-track figure>img,.clinic-track button img{height:430px;width:100%;object-fit:contain;background:#e9eef5;border-radius:12px;transition:transform .35s ease,box-shadow .35s ease}.clinic-track button{overflow:hidden;border-radius:12px;background:#e9eef5}.clinic-track button:hover{box-shadow:0 12px 25px #17385b1a}.gallery button:hover img.portrait-full{transform:none}.clinic-track figcaption{padding:12px 0 0;font-size:.82rem}.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}.carousel-controls>button{display:grid;place-items:center;border:1px solid #bccde4;border-radius:50%;width:46px;height:46px;background:#fff;color:var(--blue);flex:none}.carousel-dots{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.carousel-dots button{display:grid;place-items:center;width:32px;height:44px;padding:0;background:none;border:0}.carousel-dots button:before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#b5c8e5;transition:width .2s,background .2s}.carousel-dots button[aria-current="true"]:before{width:24px;border-radius:5px;background:var(--blue)}
.comparison-table{overflow-x:auto;margin:28px 0;border:1px solid #d3deed;border-radius:12px}.comparison-table table{border-collapse:collapse;width:100%;min-width:560px;text-align:left}.comparison-table caption{padding:16px;text-align:left;color:var(--muted);font-size:.8rem}.comparison-table th,.comparison-table td{padding:18px 22px;border-top:1px solid #d3deed;font-size:.85rem;line-height:1.6;vertical-align:top}.comparison-table thead{background:#e8eff9}.comparison-table tbody th{font-weight:650}.block-heading{font-size:clamp(1.5rem,2.8vw,2.3rem);margin-bottom:30px}.benefit-grid h4{font-size:1.1rem;margin:20px 0 12px}.ortho-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0;counter-reset:step}.ortho-steps li{border-top:2px solid #c4d5ec;padding:26px 6px 0 0;counter-increment:step}.ortho-steps li:before{content:'0' counter(step);font-size:2rem;color:#789bc9}.ortho-steps h4{font-size:1rem;line-height:1.5}.ortho-steps p{font-size:.84rem;color:var(--muted);line-height:1.8}.ortho-cta{background:var(--blue);color:#fff;padding:55px 0}.ortho-cta h3{font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 16px}.ortho-cta .clinic-phone{margin:0 15px}.ortho-cta .button{background:#fff;color:var(--blue)}.licensed-medium{max-width:650px;margin:40px auto}.licensed-medium img{max-width:100%;width:auto;height:auto;margin:auto;display:block}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:80px}.hours{border-collapse:collapse;width:100%;font-size:.87rem;margin:25px 0}.hours caption{text-align:left;font-size:.75rem;padding:0 0 12px;color:var(--muted)}.hours th,.hours td{border-bottom:1px solid #d5dfed;padding:14px 0;text-align:left}.hours th{font-weight:600}.hours td{text-align:right}.contact-details p{line-height:1.8;font-size:.9rem}.map-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#e3ebf7;border:1px solid #cad8eb;border-radius:14px;padding:28px;min-height:280px}.map-placeholder iframe{border:0;width:100%;height:330px;border-radius:10px}.map-placeholder:has(iframe){padding:0}.map-actions{display:flex;align-items:center;justify-content:space-between;gap:15px}.map-hide{border:1px solid #bccde4;border-radius:8px;background:white;padding:12px;color:var(--blue);min-height:44px}.facade-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.facade-gallery button img{height:460px;object-fit:contain;background:#edf2f8}.portrait-full{object-fit:contain!important}.invisalign-cases .case-experience{display:flex;flex-direction:column}.invisalign-cases .case-tabs{position:static;display:flex;flex-direction:row;overflow:auto}.case-thumbnail{display:flex;flex-direction:column;gap:9px;padding:12px;min-width:120px}.case-thumbnail img{width:100px;height:65px;object-fit:cover}.invisalign-cases .comparison-pair{height:clamp(220px,42vw,600px)}
.partner-logo {
  width: 90%;
  max-width: 170px;
  height: 59px;
  object-fit: contain;
}
.footer-image-credit {
  margin: 26px 0 14px;
  font-size: .75rem;
  line-height: 1.6;
}
.footer-image-credit a { text-decoration: underline; }
.person .team-window{width:100%;height:100%}.team-intro{margin-bottom:36px}.team-heading{font-size:1.6rem;margin-bottom:22px}
.person--nuria .team-window img { filter: brightness(1.2); }
.person--lianet .team-window img { filter: brightness(1.12); }
.image-credit{font-size:.65rem;color:var(--muted);margin-top:15px;text-align:center}
.provider-credential>.shell{display:flex;gap:30px;align-items:center}.provider-credential img{width:120px;height:120px;object-fit:contain}.provider-credential p{margin-top:15px}
.first-consultation p{color:inherit;margin-top:15px}.consultation-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.first-consultation .clinic-phone{color:inherit}.first-consultation .button{background:white;color:var(--blue)}
.damon-audience{max-width:1000px}.damon-audience.with-photo,.ortho-cta-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center}.damon-audience p{line-height:1.85}.damon-audience .licensed-medium,.ortho-cta-grid .licensed-medium{margin:0;width:100%;max-width:650px}
/* Un panel por posición: la última foto también activa su punto y permite volver a la primera. */
.clinic-track figure{flex-basis:100%}.clinic-track button{padding:14px}.clinic-track figure>img,.clinic-track button img{height:500px}.clinic-track{overflow-y:hidden}
@media(hover:hover) and (pointer:fine){.clinic-track button:hover img.portrait-full{transform:scale(1.05)}}
.invisalign-cases .comparison-handle{width:auto;min-width:108px;padding:0 12px;gap:8px;display:flex;align-items:center;justify-content:center;border-radius:24px}.compare-drag-label{font-size:.72rem;font-weight:700}
.radiology-gallery{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.radiology-gallery button img{object-fit:contain;background:#edf2f8}
.aesthetic-entry .editorial-media{background:#edf2f9;border-radius:14px}.aesthetic-entry .editorial-media img{width:100%;height:auto;max-height:600px;object-fit:contain}
.team-page{padding-top:65px}.team-page+.section{padding-top:45px}.team-intro{max-width:100%;font-size:.94rem}
@media(min-width:761px) and (max-width:1120px){.header-inner{flex-wrap:wrap;gap:10px 20px;padding-block:16px}.header nav{order:3;width:100%;justify-content:center;gap:30px}.header-inner>.button{margin-left:auto}.dropdown{right:-120px!important}.team-grid{gap:12px}.person-label{padding:16px 10px}.person-label h3{font-size:.78rem}.person-label p{font-size:.66rem}}
@media(max-width:900px){.contact-details{gap:35px}.has-reception{gap:35px}.clinic-track button img{height:350px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.insurer-logos li{flex-basis:33.333%;padding:12px 18px}.ortho-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.header-inner{gap:12px;padding-block:16px}.brand-lockup{width:215px}.header nav{font-size:.9rem;gap:0}.header nav.open{max-height:calc(100dvh - var(--header-height));padding-bottom:20px}.header-inner>.button{display:none}.dropdown{width:100%;display:block}.nav-orthodontics{border-bottom:1px solid #e0e8f3}.dropdown a{font-size:.85rem}.dropdown .sub-specialty{padding-left:30px;font-size:.8rem}.has-reception{display:flex;flex-direction:column;gap:30px}.welcome-photo{min-height:0;height:auto;width:100%;order:-1}.welcome-photo img{height:auto;max-height:420px}.reception-awaiting>div{max-width:none}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.person-label{padding:17px 12px}.person-label h3{font-size:.85rem}.person-label p{font-size:.72rem}.team-page{padding-bottom:0}.team-page+.section{padding-top:36px}.specialty-visual{min-height:250px;padding:22px}.specialty-visual>img{height:auto;max-height:320px}.partners{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.insurer-logos img{height:52px}.insurer-logos li{padding:10px 14px}.clinic-track figure{flex-basis:100%}.clinic-track figure>img,.clinic-track button img{height:400px}.carousel-dots{gap:2px}.carousel-dots button{width:23px}.contact-details{grid-template-columns:minmax(0,1fr);gap:50px}.facade-gallery{grid-template-columns:1fr}.facade-gallery button img{height:400px}.ortho-cta .hero-actions{flex-direction:column;align-items:flex-start}.ortho-cta .clinic-phone{margin:12px 0 0}.ortho-steps{gap:25px 18px}}
@media(max-width:370px){.brand-lockup{width:185px}.header-inner{gap:8px}.person-label{padding:14px 9px}.person-label h3{font-size:.77rem}.person-label p{font-size:.66rem}.team-grid{gap:10px}.insurer-logos li{padding:8px}.clinic-track figure>img,.clinic-track button img{height:340px}.ortho-steps{grid-template-columns:1fr}.clinic-phone--card{padding:16px 13px}.clinic-phone--card strong{font-size:1.1rem}.carousel-controls{gap:7px}}
@media(max-width:760px){.damon-audience.with-photo,.ortho-cta-grid{grid-template-columns:1fr;gap:30px}.radiology-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.consultation-actions{margin-top:25px}.clinic-track button{padding:12px}}
@media(prefers-reduced-motion:reduce){.clinic-track{scroll-behavior:auto}.gallery button:hover img{transform:none}.carousel-dots button:before{transition:none}}

.specialty-visual--portrait {
  width: min(100%, 424px);
  justify-self: center;
}
.specialty-visual--portrait,
.specialty-visual--wide {
  min-height: 0;
  padding: clamp(10px, 1.5vw, 20px);
}
.specialty-visual--portrait > img,
.specialty-visual--wide > img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
.clinic-track .clinic-hall-slide button {
  width: min(100%, 460px);
  margin-inline: auto;
}
.clinic-track .clinic-hall-slide > img,
.clinic-track .clinic-hall-slide button img,
.facade-gallery figure > img,
.facade-gallery button img {
  width: 100%;
  height: auto;
}
.clinic-hall-slide > img { max-width: 432px; margin-inline: auto; }
.clinic-hall-slide figcaption { text-align: center; }
.facade-gallery { align-items: start; }
.facade-gallery figure { margin: 0; }

@media (min-width: 761px) and (max-width: 1100px) {
  .header > .header-inner > .button { display: inline-flex; }
}
.invisalign-profile figure {
  max-width: 610px;
  margin: 0 auto 48px;
}
.invisalign-profile img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}
.invisalign-profile figcaption {
  margin-top: 10px;
  color: var(--muted);
  font-size: .85rem;
}
.veneer-layout,
.veneer-comparisons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.veneer-layout {
  align-items: start;
  row-gap: 38px;
}
.veneer-group h3 {
  margin: 0 0 20px;
}
.veneer-group:has(h3) {
  grid-column: 1 / -1;
}
.veneer-comparisons:has(.comparison:only-child) {
  grid-template-columns: minmax(0, 1fr);
}
.veneer-comparisons .comparison {
  margin: 0;
}
.radiology-gallery button img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
}
@media (max-width: 760px) {
  .veneer-layout,
  .veneer-comparisons {
    grid-template-columns: minmax(0, 1fr);
  }
}
