/* Final asset-fit and narrow viewport safeguards. */
html{scroll-behavior:auto}
.digestive-art{inset:4% 9%;overflow:hidden;border-radius:44% 44% 38% 38%}
.digestive-art img{width:100%;height:100%;object-fit:cover;object-position:center 44%;border-radius:inherit}
.liver-stage{overflow:visible}
.liver-stage .liver-glow{background:radial-gradient(circle,rgba(25,166,204,.28),transparent 69%)}
.liver-stage img.liver-large{width:94%;aspect-ratio:3/2;object-fit:cover;border-radius:34px;box-shadow:0 34px 70px rgba(7,57,87,.2);filter:none}
.scope-visual{overflow:hidden;border-radius:30px;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.scope-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}
.why-real-image{width:82%;height:72%;overflow:hidden;border-radius:50%;box-shadow:0 30px 65px rgba(0,0,0,.35);animation:float 6s ease-in-out infinite}
.why-real-image img{width:100%;height:100%;object-fit:cover;object-position:center}

.service-detail-hero{position:relative;padding-top:175px;min-height:760px;overflow:hidden;background:linear-gradient(140deg,#f8fdff,#e7f8fc)}
.service-detail-glow{position:absolute;width:720px;height:720px;right:-120px;top:50px;border-radius:50%;background:radial-gradient(circle,rgba(25,166,204,.26),transparent 68%)}
.service-detail-hero-grid{position:relative;display:grid;grid-template-columns:1fr .9fr;gap:7%;align-items:center}
.service-detail-hero h1{font-size:clamp(3.2rem,5.5vw,5.7rem);margin-bottom:25px}
.service-intro{font-size:1.08rem;max-width:640px}
.local-service-line{font-size:.82rem;color:var(--primary);font-weight:650;max-width:600px}

/* Appointment page: use self-contained contrast panels instead of a diagonal
   page gradient that could cross through and wash out light text. */
.page-appointment .site-header{background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(7,57,87,.08);backdrop-filter:blur(18px)}
.appointment-page{background:linear-gradient(135deg,#eaf8fc,#f8fdff)!important}
.appointment-page:before{content:"";position:absolute;width:520px;height:520px;left:-200px;top:80px;border-radius:50%;background:rgba(25,166,204,.12);filter:blur(10px)}
.appointment-copy{padding:48px;border-radius:32px;background:linear-gradient(145deg,#073957,#064d67);box-shadow:0 30px 80px rgba(7,57,87,.22);color:#c7dce5}
.appointment-copy h1,.appointment-copy h1 span,.appointment-copy .appointment-sub{position:relative;color:#fff}
.appointment-copy h1 span{color:#78d5e9}
.appointment-copy li{color:#d5e6ec}
.appointment-copy .privacy-note{color:#c1d8e2}
.appointment-copy .appointment-doctor{background:rgba(255,255,255,.1)}
.floating-contact a svg{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:0}
.floating-contact a:last-child svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mini-avatar{overflow:hidden}
.mini-avatar img,.doctor-contact>span img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.portrait-frame img,.cta-portrait img{object-position:center 18%}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:42px;font-size:.72rem;color:var(--primary)}
.breadcrumbs span:last-child{color:var(--text)}
.service-detail-image{height:540px;border:10px solid rgba(255,255,255,.72);border-radius:50% 50% 30px 30px;overflow:hidden;box-shadow:0 35px 90px rgba(7,57,87,.2);transform-style:preserve-3d}
.service-detail-image img{width:100%;height:100%;object-fit:cover}
.service-overview{background:#fff}
.symptom-panel{padding:45px;border-radius:28px;background:linear-gradient(145deg,var(--navy),var(--primary));box-shadow:var(--shadow);color:#c7e0e8}
.symptom-panel h3{color:#fff;font-size:1.55rem}
.symptom-panel ul{list-style:none;padding:0;margin:28px 0}
.symptom-panel li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font-size:.85rem}
.symptom-panel li span{color:#75d5e9}
.symptom-panel .text-link{color:#fff}
.care-path{background:var(--light-blue)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-card{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:#fff;transition:.3s}
.related-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.related-card>img{width:100%;height:220px;object-fit:cover}
.related-card>div{padding:22px}
.related-card small{color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.63rem}
.related-card h3{margin:10px 0 20px}
.related-card span{color:var(--accent);font-size:.75rem;font-weight:700}
.service-card-image{padding:0;min-height:390px}
.service-card-image>img{width:100%;height:170px;object-fit:cover}
.service-card-image>div{padding:22px 25px 25px}
.service-card-image .card-icon{position:absolute;top:144px;left:24px;margin:0;background:#fff;box-shadow:0 10px 28px rgba(7,57,87,.14)}
.service-card-image h3{margin-top:25px}
.service-card-image>a{background:#fff}
.service-list-card{padding:0;overflow:hidden;min-height:440px}
.service-list-image{display:block;height:210px;overflow:hidden}
.service-list-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.service-list-card:hover .service-list-image img{transform:scale(1.05)}
.service-list-card>div{padding:22px 26px 28px}
.service-list-card .card-icon{width:42px;height:42px;margin:-44px 0 23px;position:relative;background:#fff;box-shadow:0 10px 28px rgba(7,57,87,.15)}
.service-list-card h3{margin-bottom:12px}
.about-real-visual{isolation:isolate}
.about-real-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,45,69,.78));z-index:1}
.about-real-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 43%;transition:transform .7s ease}
.about-real-visual:hover>img{transform:scale(1.035)}
.about-real-visual .panel-number{z-index:2;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.88)}
.visual-caption{position:absolute;z-index:2;left:35px;right:35px;bottom:32px;color:#fff}
.visual-caption small,.visual-caption strong{display:block}
.visual-caption small{text-transform:uppercase;letter-spacing:.14em;color:#7bd7ea;font-size:.66rem;font-weight:700}
.visual-caption strong{margin-top:6px;font:700 1.35rem Manrope,sans-serif}
.about-focus-gallery{background:linear-gradient(135deg,#052d45,#064d67);color:#bed5df;overflow:hidden}
.about-focus-gallery h2{color:#fff}
.focus-gallery-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:repeat(2,260px);gap:16px}
.focus-image-card{position:relative;overflow:hidden;border-radius:26px;background:#073957}
.focus-image-card.focus-large{grid-row:1/3}
.focus-image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,32,48,.9))}
.focus-image-card>img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.focus-image-card:hover>img{transform:scale(1.045)}
.focus-image-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:#fff}
.focus-image-card small{color:#75d5e9;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:700}
.focus-image-card h3{color:#fff;margin:8px 0;font-size:1.35rem}
.focus-image-card a{font-size:.7rem;font-weight:700;color:#fff}

@media(max-width:768px){
  .service-detail-hero{padding-top:135px;min-height:auto}
  .service-detail-hero-grid{grid-template-columns:1fr;gap:45px}
  .service-detail-image{height:480px;max-width:520px;width:100%;margin:auto}
  .related-grid{grid-template-columns:1fr 1fr}
  .appointment-page{background:linear-gradient(180deg,#eaf8fc,#fff)!important}
  .appointment-copy{padding:38px 30px}
  .focus-gallery-grid{grid-template-columns:1fr;grid-template-rows:420px 280px 280px}
  .focus-image-card.focus-large{grid-row:auto}
}

@media(max-width:520px){
  .hero-grid>*{min-width:0}
  .hero-title{font-size:clamp(2.55rem,12.8vw,3.8rem);overflow-wrap:break-word}
  .button-row{display:grid;grid-template-columns:1fr;width:100%}
  .button-row .btn{width:100%;min-width:0}
  .digestive-art{inset:3% 7%}
  .liver-stage img.liver-large{width:100%;border-radius:22px}
  .scope-visual{border-radius:22px}
  .service-detail-image{height:390px;border-radius:100px 100px 24px 24px}
  .symptom-panel{padding:30px 22px}
  .related-grid{grid-template-columns:1fr}
  .service-card-image{min-height:370px}
  .appointment-copy{padding:32px 22px;border-radius:24px}
  .focus-gallery-grid{grid-template-rows:360px 240px 240px}
}
