/* Generated concept backgrounds: keep the text readable at every breakpoint. */
.scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.scene-caption{position:absolute;right:20px;bottom:18px;z-index:2;padding:6px 10px;border-radius:20px;background:rgba(255,255,255,.86);color:#425d71;font-size:10px;line-height:1.5}
.hero-with-background{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:0;margin-top:24px;padding:0;min-height:630px;overflow:hidden;border-radius:30px;background:#eef5f9}
.hero-with-background .hero-copy{position:relative;z-index:1;align-self:flex-start;width:63%;max-width:800px;padding:62px 48px 44px;margin:0;background:linear-gradient(90deg,rgba(246,250,253,.82),rgba(246,250,253,.55) 72%,transparent)}
.hero-with-background h1{font-size:clamp(45px,4.3vw,64px)}
.hero-with-background .hero-lead{color:#475f70}
.hero-with-background .hero-note{margin-top:36px;color:#475f70}
.hero-with-background .hero-bottom{position:relative;z-index:1;margin-top:auto;padding:18px 36px;background:rgba(255,255,255,.83);border:0;border-top:1px solid rgba(190,207,220,.55);gap:28px;color:#465f72}
.hero-with-background .hero-bottom>span+span:before{margin-right:28px}
.hero-scene-caption{bottom:98px}
.services-with-background{position:relative;isolation:isolate;display:block;overflow:hidden;min-height:380px;padding:48px;border-radius:26px;background:#eff6fb}
.services-cover-copy{position:relative;z-index:1;width:65%}
.services-cover-copy .section-intro{margin-top:24px;color:#475f70}
.services-with-background .scene-image{left:auto;width:60%;object-fit:contain;object-position:right center}
.visit-with-background{position:relative;isolation:isolate;overflow:hidden;background:#163b58}
.visit-with-background::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(14,42,63,.97) 0%,rgba(14,42,63,.91) 40%,rgba(14,42,63,.7) 100%);pointer-events:none}
.visit-with-background>.container{position:relative;z-index:1}
.visit-with-background .scene-image{object-position:center 40%}
.visit-with-background .steps p{color:#e1ecf4}
.visit-with-background .steps article{border-color:#91aabd}
.contact-with-background{position:relative;isolation:isolate;min-height:410px;background:#f2f7fb}
.contact-with-background .contact-copy,.contact-with-background .contact-aside{position:relative;z-index:1}
.contact-with-background .contact-copy>p:not(.eyebrow){color:#475f70}
.contact-with-background .contact-aside{justify-content:flex-end;align-items:flex-end;text-align:left}
.contact-with-background .large-smile{display:none}
.contact-with-background .contact-aside>div{padding:20px 24px;border-radius:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px)}
.contact-with-background .contact-aside>div>p{color:#475f70}
@media(max-width:1190px){
  .hero-with-background{min-height:580px}
  .hero-with-background .hero-copy{padding:48px 36px;width:68%}
  .hero-with-background h1{font-size:clamp(42px,4.3vw,56px)}
  .hero-with-background .hero-actions{gap:18px}
  .hero-with-background .hero-bottom{font-size:9px;gap:20px;padding-inline:28px}
  .hero-with-background .hero-bottom>span+span:before{margin-right:20px}
  .services-with-background{padding:38px}
}
@media(max-width:960px){
  .hero-with-background .hero-copy{width:78%;padding:42px 30px;background:linear-gradient(90deg,rgba(246,250,253,.94),rgba(246,250,253,.79) 72%,transparent)}
  .hero-with-background h1{font-size:45px}
  .hero-scene-caption{bottom:91px;font-size:9px}
  .services-with-background{min-height:370px;padding:32px}
  .services-cover-copy{width:68%}
  .services-cover-copy h2{font-size:42px}
  .services-cover-copy .section-intro{font-size:14px}
  .contact-with-background .contact-copy{padding-right:10px}
}
@media(max-width:680px){
  .hero-with-background{display:flex;min-height:0;margin-top:18px;border-radius:22px;gap:0}
  .hero-with-background .hero-copy{order:1;width:100%;max-width:none;padding:30px 24px 26px;background:linear-gradient(145deg,#f5f9fc,#eef6fb)}
  .hero-with-background h1{font-size:clamp(30px,8vw,46px);margin-bottom:20px}
  .hero-with-background .hero-lead{font-size:14px;line-height:1.75}
  .hero-with-background .hero-note{font-size:11px;margin-top:22px}
  .hero-with-background .hero-actions{margin-top:24px;gap:18px}
  .hero-with-background .hero-actions .button{padding:16px 18px;min-height:52px;font-size:13px;gap:16px}
  .hero-with-background .hero-actions .text-link{font-size:12px}
  .hero-with-background .hero-scene{position:relative;order:2;inset:auto;width:175%;max-width:none;height:250px;left:-75%;object-position:right center}
  .hero-with-background .hero-bottom{order:3;flex-wrap:wrap;padding:18px 18px 20px;gap:10px;min-height:54px;font-size:7px;line-height:1.6;background:#f6fafc}
  .hero-with-background .hero-bottom>span+span:before{margin-right:10px}
  .hero-with-background .hero-bottom>a{display:none}
  .hero-scene-caption{bottom:96px;right:12px;font-size:8px}
  .services-with-background{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0;min-height:0;border-radius:22px}
  .services-cover-copy{order:1;width:100%;padding:28px 24px 22px;background:linear-gradient(145deg,#f5f9fc,#edf5fb)}
  .services-cover-copy h2{font-size:35px}
  .services-cover-copy .section-intro{margin-top:18px;max-width:100%;font-size:14px}
  .services-with-background .implant-scene{position:relative;order:2;inset:auto;width:150%;height:230px;max-width:none;left:-50%;object-position:right center}
  .services-with-background .scene-caption{position:relative;order:3;align-self:stretch;bottom:auto;right:auto;padding:9px 14px;border-radius:0;background:#edf5fb;font-size:8px;text-align:right}
  .visit-with-background{padding-top:240px}
  .visit-with-background .consultation-scene{height:300px;inset:0 0 auto auto;width:180%;max-width:none;object-position:right center}
  .visit-with-background::after{background:linear-gradient(180deg,rgba(14,42,63,.02) 0px,rgba(14,42,63,.06) 150px,#163b58 300px)}
  .contact-with-background{padding:32px 24px 26px;background:#f4f8fb}
  .contact-with-background .abstract-scene{width:165%;height:290px;inset:auto 0 0 auto;max-width:none;object-position:right bottom;opacity:.86}
  .contact-with-background .contact-copy{padding:0}
  .contact-with-background .contact-copy h2{font-size:35px}
  .contact-with-background .contact-aside{min-height:240px;padding-top:90px;justify-content:flex-start;align-items:flex-end}
  .contact-with-background .contact-aside>div{padding:15px 18px;background:rgba(255,255,255,.91)}
}
@media(max-width:360px){
  .hero-with-background .hero-copy,.services-cover-copy{padding-inline:20px}
  .hero-with-background h1{font-size:30px}
  .hero-with-background .hero-actions .button{padding-inline:15px;font-size:12px}
  .hero-with-background .hero-bottom{font-size:7px;gap:8px}
  .hero-with-background .hero-bottom>span+span:before{margin-right:8px}
  .services-cover-copy h2{font-size:30px}
  .contact-with-background .contact-copy h2{font-size:31px}
}
@media print{.hero-with-background,.services-with-background,.visit-with-background,.contact-with-background{break-inside:avoid}}

/* Approved second image set. Keep subjects in frame when photographs are cropped. */
.hero-with-background .hero-scene{object-position:76% center}
.interior-photo img{object-position:77% center}
.consult-photo img{object-position:79% center}
.service-photo{position:relative;overflow:hidden;width:100%;height:185px;flex-shrink:0;border-radius:12px;margin:0 0 23px;background:#eaf1f6}
.service-photo img{height:100%;width:100%;object-fit:cover}
.service-photo figcaption{position:absolute;bottom:8px;right:8px;background:#ffffffdb;color:#476274;font-size:9px;padding:4px 7px;border-radius:5px;line-height:1.5}
.implant-grid .service-card{min-height:470px}
.implant-grid .service-card .card-top{margin-bottom:20px}
.visit-with-background .scene-image{object-position:75% center}
.visit-with-background::after{background:linear-gradient(90deg,rgba(14,42,63,.94),rgba(14,42,63,.85) 50%,rgba(14,42,63,.71))}
.contact-with-background .abstract-scene{object-position:75% center}
@media(max-width:960px){.service-photo{height:165px}.implant-grid .service-card{min-height:440px}}
@media(max-width:680px){
  .hero-with-background .hero-scene{width:100%;left:auto;height:260px;object-position:78% center}
  .hero-scene-caption{bottom:88px}
  .interior-photo{height:300px}.interior-photo img{object-position:79% center}
  .consult-photo{height:265px}.consult-photo img{object-position:79% center}
  .service-photo{height:190px;margin-bottom:20px}
  .implant-grid .service-card{min-height:0}
  .visit-with-background .consultation-scene{width:100%;height:300px;object-position:75% center}
  .visit-with-background::after{background:linear-gradient(180deg,rgba(14,42,63,.05),rgba(14,42,63,.15) 150px,#163b58 300px)}
}
