.section-page .hero{padding:36px 0}.section-page .hero h1{font-size:clamp(34px,5vw,55px)}.section-back{color:var(--bright);font-size:14px}.section-page section{padding:44px 0}.section-page h2{font-size:clamp(27px,3.3vw,38px);line-height:1.35}.section-page .copy{color:var(--muted);font-size:17px;max-width:860px}.section-page .label,.section-page .num{font-size:14px;color:var(--bright);margin-bottom:8px}.section-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-cards .card h2{font-size:25px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:30px}.section-portrait{flex:0 0 160px;margin:0}.section-portrait img{width:160px;height:160px;border-radius:50%;object-fit:cover;object-position:center 22%;border:1px solid var(--line)}.locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.location{border:1px solid var(--line);padding:24px;background:#c9a35f05}.contact-link,.section-page .button,.section-page .lang{display:inline-flex;gap:8px;align-items:center;min-height:44px;border:1px solid var(--line);padding:9px 12px;color:var(--bright);margin:4px}.section-page .booking{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.section-page .split{display:grid;grid-template-columns:1.25fr .75fr;gap:35px}.section-page .feature{border-top:1px solid var(--line);padding:18px 0}.section-page .feature p{color:var(--muted)}.section-page .disclaimer{color:var(--muted);font-size:14px}.affiliations{display:flex;flex-wrap:wrap;gap:12px}.pill{border:1px solid var(--line);padding:12px 16px;font-size:16px}.section-page details{border-bottom:1px solid var(--line);padding:18px 0}.section-page summary{cursor:pointer;font-size:18px;color:var(--bright)}.section-footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.section-page .hospital-note{color:var(--muted)}
@media(max-width:760px){.section-cards,.locations,.section-page .split{grid-template-columns:1fr}.section-page .hero{padding:28px 0}.section-page section{padding:32px 0}.section-title{gap:16px}.section-portrait{flex-basis:86px}.section-portrait img{width:86px;height:86px}.section-page .section-title h1{font-size:32px}.section-page .section-title .lead{font-size:16px}.section-page .location{padding:20px}.section-page header .brand b{display:none}}

/* Keep the entire Heliopolis clinic photograph and logo visible at every width. */
.location .clinic-interior-photo{margin:0 0 24px;overflow:hidden;border:1px solid var(--line)}
.location .clinic-interior-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.locations{align-items:start}

/* Photo banners are limited to the practice and clinic pages. */
.section-page .hero.clinic-photo-banner{position:relative;isolation:isolate;overflow:hidden;min-height:360px;display:flex;align-items:flex-end;padding:48px 0;background:#07090b}
.clinic-photo-banner::before{content:"";position:absolute;z-index:-2;inset:0;background:url('/images/heliopolis-clinic-interior-1536.webp') center top/cover no-repeat;pointer-events:none}
.clinic-photo-banner::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,9,11,.30),rgba(7,9,11,.5)),linear-gradient(0deg,rgba(7,9,11,.97),rgba(7,9,11,.12) 90%);pointer-events:none}
.clinic-photo-banner>.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.clinic-photo-banner h1,.clinic-photo-banner .lead,.clinic-photo-banner .section-back{text-shadow:0 2px 12px #000}
.clinic-photo-banner .lead{color:#f0e9dc}
@media(max-width:760px){
 .section-page .hero.clinic-photo-banner{min-height:0;padding:clamp(190px,52vw,330px) 0 28px}
 .clinic-photo-banner::before{background-image:url('/images/heliopolis-clinic-interior-768.webp');background-size:100% auto;background-position:center top}
 .clinic-photo-banner::after{background:linear-gradient(180deg,rgba(7,9,11,.10),rgba(7,9,11,.06) 22%,rgba(7,9,11,.88) 64%,#07090b 100%)}
}
