/* Final responsive framing and editorial contrast — 29 October 2026. */
.hero-home .hero-visual{left:3%;right:-3%}
#ortodontia .ortho-backdrop{left:41%;right:-3%}
.service-grid .text-link{background:#b99a5b;color:#191914;border-color:#9a7c42}
.service-grid .text-link>span:last-child{font-weight:700;font-size:13px;line-height:1.55}
.service-grid .text-link:hover,.service-grid .text-link:focus-visible{background:#d1b77f;color:#161610}
.internal-page h2 .heading-accent{color:#89672d;font-style:italic}
.internal-page .section-charcoal{background:#25251f;color:#fbf7ed}
.internal-page .section-charcoal h2,.internal-page .section-charcoal h3{color:#fbf7ed}
.internal-page .section-charcoal h2 .heading-accent{color:#e2c986}
.internal-page .section-charcoal p,.internal-page .section-charcoal .narrow>p{color:#e0ddd1}
.internal-page .section-charcoal .guidance-card{background:#302f28;border-color:#776741;border-top-color:#c6a865}
.internal-page .section-charcoal .guidance-icon{background:#e9e1d0;color:#665027}
.internal-page .section-charcoal .line-icon{color:#d3b777}
.internal-page .section-charcoal .guidance-icon .line-icon{color:#665027}
.internal-page .section-charcoal .section-heading:before{background:#d3b777}
.internal-page .section-charcoal h2 em{color:#e2c986}
#privacidade{max-width:620px;max-height:85dvh;overflow-y:auto}
#privacidade h2{font-size:30px;padding-right:25px}
#privacidade p{font-size:14px;line-height:1.8}
@media(min-width:769px){
 .hero-child-ortho .hero-visual{top:24px;bottom:-24px}
 .hero-child-ortho .hero-visual img{object-position:center top;transform:none}
}
@media(max-width:768px){
 .internal-page .hero{display:flex;flex-direction:column;min-height:0}
 .internal-page .hero .hero-inner{order:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:24px;padding-top:38px;padding-bottom:28px}
 .internal-page .hero .hero-copy{width:100%;max-width:none}
 .internal-page .hero .hero-copy>p:not(.eyebrow){max-width:none;font-size:14px}
 .internal-page .hero .hero-copy h1{font-size:clamp(32px,6.5vw,45px)}
 .internal-page .hero-prevention .prevention-title{white-space:normal}
 .internal-page .hero .hero-visual{position:relative;inset:auto;order:1;z-index:0;width:100%;height:auto;aspect-ratio:3/2;min-height:0;margin:0;opacity:1}
 .internal-page .hero .hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none;filter:none}
 .internal-page .hero .hero-visual:after{background:linear-gradient(180deg,#f1ecdf 0%,#f1ecdf55 7%,transparent 20%)}
 .internal-page .hero-home .hero-visual:after{background:linear-gradient(180deg,#f3eee2 0%,#f3eee255 7%,transparent 20%)}
 .internal-page .hero .hero-doctor{position:relative;inset:auto;align-self:flex-start;flex:none;width:270px;max-width:100%;height:auto;margin:0}
}
@media(max-width:640px){
 /* The banner photo sits below the CTA, with a short edge fade like the reference. */
 #ortodontia.ortho-reference{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:48px 0 0;background:#25251f}
 #ortodontia.ortho-reference>.wrap{order:0}
 #ortodontia.ortho-reference .ortho-copy{width:100%;max-width:none}
 #ortodontia.ortho-reference .ortho-copy h2{font-size:clamp(30px,8vw,36px)}
 #ortodontia.ortho-reference .ortho-copy h2 .ortho-title-line{white-space:normal}
 #ortodontia.ortho-reference .ortho-copy .button{width:100%}
 #ortodontia .ortho-backdrop{position:relative;inset:auto;order:1;z-index:0;width:100%;height:auto;margin:22px 0 0;overflow:hidden}
 #ortodontia .ortho-backdrop img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;transform:translateX(6px)}
 #ortodontia .ortho-backdrop:after{background:linear-gradient(180deg,#25251f 0%,#25251f44 6%,transparent 18%,transparent 88%,#25251f66 100%)}
 body:not(.internal-page) .hero-home .hero-visual{left:3%;right:-3%}
}

/* Regional homes share the principal home's sections and visual system. */
.clinic-showcase .clinic-main .clinic-gallery-photo:nth-child(3),
.clinic-showcase .clinic-main .clinic-gallery-photo:nth-child(4){object-fit:cover;object-position:center}
.clinic-showcase .clinic-thumbs{width:100%}
.clinic-showcase .clinic-thumb{width:auto;flex:1 1 0;height:auto;aspect-ratio:1.6}
@media(min-width:993px){
 .clinic-story .location-grid{grid-template-columns:.85fr 1.15fr;gap:60px}
}
@media(max-width:640px){
 .clinic-mobile-order,.doctor-mobile-order{row-gap:24px}
 .clinic-mobile-order>div,.doctor-mobile-order>div{display:contents}
 .clinic-mobile-order>div>*,.doctor-mobile-order>div>*{order:0}
 .clinic-mobile-order>figure,.doctor-mobile-order>figure{order:1;margin:0;justify-self:stretch}
 .clinic-mobile-order>div>.button,.doctor-mobile-order>div>.button{order:2;justify-self:start;margin-top:4px}
 .clinic-mobile-order>div>h2,.clinic-mobile-order>div>p,.doctor-mobile-order .doctor-heading,.doctor-mobile-order>div>p{margin-bottom:0}
 .clinic-story .clinic-showcase .clinic-main{aspect-ratio:1.5}
 .clinic-showcase .clinic-thumbs{gap:7px}
 .clinic-showcase .clinic-thumb{aspect-ratio:1.4}
}

@media (min-width: 641px) {
  #ortodontia .ortho-backdrop img[src$="/ortodontia-clinica-reali.webp"] { object-position: center 25%; }
}

.internal-page .hero.hero-service-full { position: relative; isolation: isolate; overflow: hidden; }
.internal-page .hero.hero-service-full .hero-inner { position: relative; z-index: 1; }
.internal-page .hero.hero-service-full .hero-visual { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; aspect-ratio: auto; margin: 0; opacity: 1; overflow: hidden; }
.internal-page .hero.hero-service-full .hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: none; filter: none; }
.internal-page .hero.hero-banner-odontopediatria .hero-visual img { transform: scale(1.065); }
.internal-page .hero.hero-service-full .hero-visual::after { background: linear-gradient(90deg,#f1ecdf 0%,#f1ecdfed 27%,#f1ecdf8c 47%,transparent 76%); }
@media (min-width: 769px) {
  .internal-page .hero.hero-service-full:is(.hero-prevention,.hero-child-ortho) .hero-copy {
    width: 30%;
    max-width: 430px;
  }
  .internal-page .hero.hero-service-full:is(.hero-prevention,.hero-child-ortho) .hero-visual img {
    object-position: 47% center;
  }
  .internal-page .hero.hero-service-full:is(.hero-prevention,.hero-child-ortho) .hero-visual::after {
    background: linear-gradient(90deg,#f1ecdf 0%,#f1ecdfed 23%,#f1ecdf99 31%,transparent 42%);
  }
  .internal-page .hero.hero-service-full:is(.hero-prevention,.hero-child-ortho) .hero-inner {
    min-height: max(590px, 33.333vw);
    padding-block: 48px;
  }
}
@media (max-width: 768px) {
  .internal-page .hero.hero-service-full { display: flex; flex-direction: column; }
  .internal-page .hero.hero-service-full .hero-inner { order: 0; min-height: 0; padding-bottom: 16px; }
  .internal-page .hero.hero-service-full .hero-visual { position: relative; inset: auto; order: 1; width: 100%; height: auto; aspect-ratio: 1.7; }
  .internal-page .hero.hero-service-full .hero-visual img { object-position: 32% center; }
  .internal-page .hero.hero-banner-odontopediatria .hero-visual img { object-position: center; }
  .internal-page .hero.hero-service-full:is(.hero-prevention,.hero-child-ortho) .hero-visual img { object-position: 66% center; }
  .internal-page .hero.hero-service-full .hero-visual::after { background: linear-gradient(180deg,#f1ecdf 0%,#f1ecdf66 7%,transparent 22%); }
}

.internal-page .hero.hero-service-full:is(.hero-prevention,.hero-child-ortho) h1 .child-service-title,
.internal-page .hero.hero-service-full:is(.hero-prevention,.hero-child-ortho) h1 em {
  display: block;
  white-space: nowrap;
}
