/* V3.6. Loaded only by selected inner pages; existing global CSS is untouched. */
.sf-medical-hero{position:relative;isolation:isolate;min-height:690px;padding:0 0 70px;overflow:hidden;background:#f2f7fa}
.sf-medical-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(245,249,251,.97) 0%,rgba(245,249,251,.95) 33%,rgba(245,249,251,.72) 48%,rgba(245,249,251,.05) 75%);pointer-events:none}
.sf-medical-hero .sf-medical-hero-figure{position:absolute;inset:0;z-index:-2;margin:0}
.sf-medical-hero .sf-medical-hero-figure picture,.sf-medical-hero .sf-medical-hero-figure img{display:block;width:100%;height:100%}
.sf-medical-hero .sf-medical-hero-figure img{object-fit:cover;object-position:60% 50%;max-height:none;border-radius:0}
.sf-medical-hero .sf-medical-hero-figure figcaption{position:absolute;bottom:17px;right:30px;max-width:calc(100% - 40px);padding:5px 10px;background:rgba(249,251,252,.95);color:#405768;font-size:11px;border-radius:3px}
.sf-medical-hero .breadcrumb-trail{padding:27px 0}
.sf-medical-hero .sf-medical-hero-copy{max-width:610px;padding:46px 0 25px}
.sf-medical-hero h1{font-size:clamp(33px,3.5vw,49px);line-height:1.55;letter-spacing:.01em}
.sf-medical-hero .intro{font-size:16px;line-height:2;max-width:570px;margin-top:24px;color:#40586a}
.sf-medical-hero .button-row{margin-top:30px}
.sf-appointment{background:#102435;color:#f1f6fa;padding:78px 0 84px;isolation:isolate}
.sf-appointment .sf-appointment-heading{max-width:900px;margin:0 auto 42px;text-align:center}
.sf-appointment .eyebrow{color:#aac4d5}
.sf-appointment h2{font-size:clamp(28px,2.8vw,38px);color:#fff;line-height:1.5;margin:16px 0 17px}
.sf-appointment .sf-appointment-heading>p{color:#b8cbd7;font-size:15px;line-height:1.95;margin-bottom:0}
.sf-appointment .sf-appointment-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:24px;align-items:start}
.sf-appointment .sf-appointment-topics{background:#152e42;border:1px solid #294253;border-radius:9px;padding:10px;min-width:0}
.sf-appointment .sf-appointment-tab{display:flex;align-items:center;gap:11px;text-align:left;padding:18px 13px;border-left:3px solid transparent;color:#d7e2ea;font-size:14px;line-height:1.6;font-weight:600;border-radius:3px;min-height:66px;overflow-wrap:anywhere}
.sf-appointment .sf-appointment-tab .icon{flex:0 0 22px;width:22px;height:22px;stroke:currentColor}
.sf-appointment .sf-appointment-tab-arrow{display:none;margin-left:auto;font-size:19px}
.sf-appointment .sf-appointment-tab:hover,.sf-appointment .sf-appointment-tab[aria-selected="true"]{background:#203f57;border-left-color:#66acd2;color:#e0f3ff}
.sf-appointment .sf-appointment-side-note{color:#a9becc;font-size:12px;line-height:1.9;padding:18px 15px 8px;margin:0}
.sf-appointment .sf-appointment-panels{min-width:0}
.sf-appointment .sf-appointment-panel{position:relative;isolation:isolate;min-height:570px;border:1px solid #3b5364;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:55px 32px 64px;background:#213d50}
.sf-appointment .sf-appointment-panel+.sf-appointment-panel{margin-top:24px}
.sf-appointment .sf-appointment-panels[data-enhanced="true"] .sf-appointment-panel{margin-top:0}
.sf-appointment [hidden]{display:none!important}
.sf-appointment .sf-appointment-preview{position:absolute;inset:0;z-index:-3;pointer-events:none}
.sf-appointment .sf-appointment-preview img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.sf-appointment .sf-appointment-panel-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(12,28,42,.10),rgba(10,22,34,.20));pointer-events:none}
.sf-appointment .sf-appointment-card{width:min(100%,605px);text-align:center;padding:33px 36px 24px;border:1px solid #496273;border-radius:9px;background:rgba(12,28,42,.96);box-shadow:0 15px 55px rgba(0,0,0,.16)}
.sf-appointment .sf-appointment-lock{width:38px;height:38px;display:block;margin:0 auto 10px;color:#b2d2e5}
.sf-appointment .sf-appointment-lock svg{width:100%;height:100%}
.sf-appointment .sf-appointment-label{display:block;font-size:11px;color:#acc9da;letter-spacing:.15em}
.sf-appointment .sf-appointment-card h3{font-size:24px;line-height:1.6;color:#e5f4ff;margin:12px 0 14px}
.sf-appointment .sf-appointment-card>p{font-size:14px;line-height:1.95;color:#c9d9e4;margin-bottom:24px}
.sf-appointment .sf-appointment-card .btn-primary{background:#e1f0fa;color:#183b54;border:1px solid #e1f0fa;padding:12px 24px;font-size:14px;min-height:47px;white-space:normal}
.sf-appointment .sf-appointment-card .btn-primary:hover{background:#fff;border-color:#fff;color:#102c41}
.sf-appointment .sf-appointment-card .sf-appointment-card-note{color:#acc1d0;font-size:11px;margin:15px 0 0}
.sf-appointment .sf-appointment-preview-note{position:absolute;bottom:17px;left:20px;right:20px;margin:0;text-align:center;font-size:11px;color:#e1eaf1;line-height:1.8}
.sf-appointment a:focus-visible{outline:3px solid #a8daf5;outline-offset:4px}
@media(max-width:1050px){.sf-appointment .sf-appointment-layout{grid-template-columns:225px minmax(0,1fr);gap:18px}.sf-appointment .sf-appointment-card{padding:27px 23px}.sf-appointment .sf-appointment-panel{padding:42px 24px 60px}.sf-medical-hero .sf-medical-hero-copy{max-width:535px}.sf-medical-hero .intro{max-width:500px}}
@media(max-width:767px){
 .sf-medical-hero{min-height:820px;padding-bottom:310px}
 .sf-medical-hero::before{background:linear-gradient(180deg,rgba(242,247,250,.6) 0%,rgba(242,247,250,.5) 41%,rgba(242,247,250,.08) 65%,transparent 75%)}
 .sf-medical-hero .sf-medical-hero-figure img{object-position:55% 100%}
 .sf-medical-hero .sf-medical-hero-copy{max-width:100%;padding:20px 0 18px}
 .sf-medical-hero .breadcrumb-trail{font-size:10px;padding:20px 0;line-height:1.8}
 .sf-medical-hero h1{font-size:32px;line-height:1.52}
 .sf-medical-hero .intro{font-size:14px;line-height:1.95;margin-top:20px;max-width:100%}
 .sf-medical-hero .button-row{gap:13px;margin-top:23px}
 .sf-medical-hero .sf-medical-hero-figure figcaption{font-size:9px;right:15px;bottom:13px}
 .sf-appointment{padding:54px 0}
 .sf-appointment .sf-appointment-heading{margin-bottom:26px;text-align:left}
 .sf-appointment h2{font-size:28px;margin:14px 0;line-height:1.5}
 .sf-appointment .sf-appointment-heading>p{font-size:13px}
 .sf-appointment .sf-appointment-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .sf-appointment .sf-appointment-topics{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:7px}
 .sf-appointment .sf-appointment-single .sf-appointment-topics{grid-template-columns:1fr}
 .sf-appointment .sf-appointment-tab{padding:13px 10px;min-height:62px;font-size:12px;gap:8px}
 .sf-appointment .sf-appointment-tab .icon{width:18px;height:18px;flex-basis:18px}
 .sf-appointment .sf-appointment-tab-arrow{display:none}
 .sf-appointment .sf-appointment-side-note{display:none}
 .sf-appointment .sf-appointment-panel{min-height:465px;padding:30px 16px 52px;border-radius:8px}
 .sf-appointment .sf-appointment-card{padding:24px 18px 20px}
 .sf-appointment .sf-appointment-card h3{font-size:21px;line-height:1.6;margin-top:11px}
 .sf-appointment .sf-appointment-card>p{font-size:13px;line-height:1.9;margin-bottom:22px}
 .sf-appointment .sf-appointment-card .btn-primary{width:100%;font-size:13px;padding:12px 13px}
 .sf-appointment .sf-appointment-card .sf-appointment-card-note,.sf-appointment .sf-appointment-preview-note{font-size:10px}
}
@media(max-width:374px){.sf-medical-hero h1{font-size:29px}.sf-appointment h2{font-size:26px}.sf-appointment .sf-appointment-card h3{font-size:19px}.sf-appointment .sf-appointment-tab{padding:10px 7px;font-size:11px}}
@media print{.sf-appointment{background:#fff!important;color:#111!important}.sf-appointment h2,.sf-appointment h3,.sf-appointment p{color:#111!important}.sf-appointment .sf-appointment-layout{display:block}.sf-appointment .sf-appointment-topics,.sf-appointment .sf-appointment-preview,.sf-appointment .sf-appointment-panel-shade{display:none!important}.sf-appointment .sf-appointment-panel{min-height:0;padding:20px;border:1px solid #aaa}.sf-appointment .sf-appointment-card{background:#fff;border:0;color:#111;box-shadow:none}.sf-medical-hero{min-height:0;padding:20px 0}.sf-medical-hero .sf-medical-hero-figure{display:none}}

/* V4.2 photo heroes on pages without a private demonstration: longer headings get a wider, slightly smaller column. */
.sf-photo-hero .sf-medical-hero-copy{max-width:700px}
.sf-photo-hero h1{font-size:clamp(30px,3vw,44px)}
@media(max-width:767px){.sf-photo-hero h1{font-size:28px}}

/* V4.2 second scene figure on photo-hero pages without a private demonstration */
.sf-photo-figure .sf-photo-figure-frame{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#eef4f8;box-shadow:0 22px 56px rgba(13,34,51,.13)}
.sf-photo-figure .sf-photo-figure-frame img{display:block;width:100%;height:auto;max-height:none;border-radius:0}
.sf-photo-figure .sf-photo-figure-frame figcaption{position:absolute;bottom:14px;right:16px;max-width:calc(100% - 32px);padding:5px 10px;background:rgba(249,251,252,.95);color:#405768;font-size:11px;border-radius:3px}
@media(max-width:767px){.sf-photo-figure .sf-photo-figure-frame{border-radius:10px}.sf-photo-figure .sf-photo-figure-frame figcaption{font-size:9px;right:10px;bottom:9px}}
@media print{.sf-photo-figure .sf-photo-figure-frame{box-shadow:none}}
