:root {
	--jrp-blue: #095da6;
	--jrp-blue-dark: #063b68;
	--jrp-blue-deep: #062c4d;
	--jrp-cyan: #42a8c7;
	--jrp-gold: #bb8b55;
	--jrp-ink: #142331;
	--jrp-muted: #5d6b76;
	--jrp-soft: #f2f7f9;
	--jrp-line: #dce7ec;
	--jrp-white: #fff;
	--jrp-radius: 1.5rem;
	--jrp-shadow: 0 1.25rem 3.5rem rgba(10, 54, 82, .1);
	--bs-primary: var(--jrp-blue);
	--bs-primary-rgb: 9, 93, 166;
	--bs-body-color: var(--jrp-ink);
	--bs-body-font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; }
body { color: var(--jrp-ink); font-size: 1rem; line-height: 1.7; max-width: 100%; overflow-x: clip; }
body.admin-bar .sticky-top { top: 32px; }
#main-content { scroll-margin-top: 9rem; }
a { color: var(--jrp-blue); text-decoration: none; transition: color .2s ease, opacity .2s ease, transform .2s ease; }
a:hover { color: var(--jrp-blue-dark); }
img { height: auto; max-width: 100%; }
iframe, video, svg { max-width: 100%; }
.container, .container-fluid, .row > *, .d-flex > * { min-width: 0; }
.entry-content { overflow-wrap: anywhere; }
.entry-content table { display: block; max-width: 100%; overflow-x: auto; width: 100%; }
h1, h2, h3, h4, h5, h6, .brand-name, .footer-brand { font-family: Georgia, "Times New Roman", serif; color: var(--jrp-blue-deep); font-weight: 500; letter-spacing: -.025em; }
p:last-child { margin-bottom: 0; }
::selection { background: rgba(66, 168, 199, .28); }

.btn { font-weight: 650; letter-spacing: .005em; padding-block: .72rem; }
.btn-primary { --bs-btn-bg: var(--jrp-blue); --bs-btn-border-color: var(--jrp-blue); --bs-btn-hover-bg: var(--jrp-blue-dark); --bs-btn-hover-border-color: var(--jrp-blue-dark); box-shadow: 0 .55rem 1.25rem rgba(9, 93, 166, .18); }
.btn-outline-primary { --bs-btn-color: var(--jrp-blue); --bs-btn-border-color: rgba(9, 93, 166, .4); --bs-btn-hover-bg: var(--jrp-blue); --bs-btn-hover-border-color: var(--jrp-blue); }
.text-white-75 { color: rgba(255, 255, 255, .75); }
.bg-soft { background: var(--jrp-soft); }

.site-header { box-shadow: 0 .35rem 1.8rem rgba(4, 42, 70, .07); z-index: 1030; }
.site-header.sticky-top { position: sticky !important; top: 0; }
.clinic-banner { height: clamp(360px, 58vh, 620px); background: var(--jrp-blue-deep); }
.clinic-banner__photo { object-position: 58% 48%; }
.clinic-banner__shade { background: linear-gradient(90deg, rgba(6,44,77,.25), rgba(6,44,77,.32) 50%, rgba(6,44,77,.55)); }
.clinic-banner__page { max-width: min(50%, 650px); text-shadow: 0 .2rem 1rem rgba(0, 0, 0, .35); }
.clinic-banner__eyebrow { font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.clinic-banner__title { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.25rem, 4.2vw, 4.75rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; }
.clinic-banner__watermark { opacity: .65; }
.clinic-banner__symbol { width: clamp(100px, 13vw, 180px); filter: brightness(0) invert(1); }
.clinic-banner__scroll { bottom: 1.35rem; font-size: .78rem; font-weight: 700; letter-spacing: .06em; line-height: 1.3; text-shadow: 0 .15rem .65rem rgba(0, 0, 0, .5); text-transform: uppercase; z-index: 2; }
.clinic-banner__scroll:hover, .clinic-banner__scroll:focus { color: #fff; }
.clinic-banner__scroll i { animation: jrp-banner-scroll 1.6s ease-in-out infinite; font-size: 1.35rem; }
@keyframes jrp-banner-scroll { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(.4rem); } }
.clinic-topbar { background: var(--jrp-blue-deep); color: rgba(255, 255, 255, .78); }
.clinic-topbar a { color: rgba(255, 255, 255, .9); }
.navbar-brand { margin-right: 2rem; }
.brand-mark { object-fit: contain; }
.brand-logo { height: 76px; object-fit: contain; width: auto; }
.custom-logo { height: 58px; width: auto; }
.brand-name { color: var(--jrp-blue); font-size: 1.35rem; line-height: 1; }
.brand-name small { color: var(--jrp-muted); font-family: var(--bs-body-font-family); font-size: .61rem; font-weight: 600; letter-spacing: .08em; margin-top: .42rem; text-transform: uppercase; }
.navbar-nav .nav-link { color: var(--jrp-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.04rem; font-weight: 600; letter-spacing: .025em; padding: .65rem .7rem !important; }
.navbar-nav .nav-link:hover, .navbar-nav .current-menu-item > .nav-link, .navbar-nav .current_page_item > .nav-link { color: var(--jrp-blue); }
.site-header .navbar .dropdown-menu { border: 1px solid var(--jrp-line); border-radius: 1rem; box-shadow: 0 1rem 2.5rem rgba(6, 44, 77, .14); min-width: 16rem; padding: .55rem; }
.site-header .navbar .dropdown-item { border-radius: .65rem; color: var(--jrp-ink); font-size: .94rem; font-weight: 600; padding: .65rem .8rem; white-space: normal; }
.site-header .navbar .dropdown-item:hover, .site-header .navbar .dropdown-item:focus, .site-header .navbar .current-menu-item > .dropdown-item, .site-header .navbar .current_page_item > .dropdown-item { background: var(--jrp-soft); color: var(--jrp-blue); }
.offcanvas { --bs-offcanvas-width: min(88vw, 390px); }
.offcanvas .nav-link { border-bottom: 1px solid var(--jrp-line); font-size: 1.05rem; padding: .8rem 0 !important; }
.offcanvas .dropdown-menu { background: var(--jrp-soft); border: 0; border-radius: .85rem; box-shadow: none; margin: .25rem 0 .5rem; padding: .35rem; position: static !important; transform: none !important; width: 100%; }
.offcanvas .dropdown-item { border-radius: .65rem; color: var(--jrp-ink); font-size: .96rem; padding: .65rem .8rem; white-space: normal; }
.offcanvas .dropdown-item:hover, .offcanvas .dropdown-item:focus, .offcanvas .current-menu-item > .dropdown-item, .offcanvas .current_page_item > .dropdown-item { background: #fff; color: var(--jrp-blue); }

.section-kicker { color: var(--jrp-blue); display: inline-block; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.section-kicker--light { color: #9bd7e9; }
.page-hero, .service-hero { background: linear-gradient(135deg, #eef7fa 0%, #fff 65%); border-bottom: 1px solid var(--jrp-line); }
.breadcrumb { --bs-breadcrumb-divider-color: #91a3ad; --bs-breadcrumb-item-active-color: var(--jrp-muted); }
.breadcrumb a { color: var(--jrp-muted); }

.hero-clinic { background: radial-gradient(circle at 8% 10%, rgba(66, 168, 199, .16), transparent 30%), linear-gradient(135deg, #f7fbfc 0%, #fff 72%); }
.hero-clinic::after { background-image: radial-gradient(rgba(9, 93, 166, .15) 1px, transparent 1px); background-size: 18px 18px; content: ""; height: 180px; opacity: .35; position: absolute; right: 2%; top: 8%; width: 180px; }
.hero-clinic h1 { font-size: clamp(3rem, 5.4vw, 5.4rem); line-height: .99; }
.hero-media { padding: 0 0 2rem 2rem; }
.hero-media::before { border: 1px solid rgba(9, 93, 166, .3); border-radius: 45% 45% 1rem 45%; bottom: 0; content: ""; left: 0; position: absolute; right: 2rem; top: 2rem; }
.hero-media > img { aspect-ratio: 4 / 5; border-radius: 45% 45% 1rem 45%; box-shadow: var(--jrp-shadow); object-fit: cover; position: relative; }
.hero-badge { border-radius: 1rem; bottom: 0; left: 0; max-width: 250px; }
.icon-circle, .service-icon { align-items: center; background: rgba(9, 93, 166, .1); border-radius: 50%; color: var(--jrp-blue); display: inline-flex; flex: 0 0 auto; font-size: 1.2rem; height: 2.75rem; justify-content: center; width: 2.75rem; }
.service-icon { font-size: 1.45rem; height: 3.25rem; width: 3.25rem; }
.trust-strip { background: var(--jrp-blue-deep); border-color: rgba(255, 255, 255, .08) !important; color: rgba(255, 255, 255, .86); font-size: .93rem; font-weight: 650; }
.trust-strip i { color: #83cde3; font-size: 1.45rem; }

.service-card, .authority-card, .team-card, .value-card, .contact-card, .location-card, .appointment-card, .contact-info, .empty-state { background: var(--jrp-white); border-radius: var(--jrp-radius); box-shadow: 0 .6rem 2rem rgba(9, 52, 78, .055); overflow: hidden; transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease; }
.service-card:hover, .authority-card:hover, .team-card:hover, .value-card:hover, .contact-card:hover { border-color: rgba(9, 93, 166, .28) !important; box-shadow: var(--jrp-shadow); transform: translateY(-5px); }
.service-filter-panel { background: #fff; border: 1px solid var(--jrp-line); border-radius: var(--jrp-radius); box-shadow: 0 .55rem 1.8rem rgba(9, 52, 78, .055); }
.service-filter-panel .input-group-text, .service-filter-panel .form-control { border-color: var(--jrp-line); }
.service-filter-panel .form-control:focus { border-color: rgba(9, 93, 166, .45); box-shadow: none; }
.service-group-panel { background: linear-gradient(145deg, #fff, #f7fbfc); border: 1px solid var(--jrp-line); border-radius: var(--jrp-radius); box-shadow: 0 .8rem 2.5rem rgba(9, 52, 78, .07); }
.service-group-panel__links a { border-bottom: 1px solid var(--jrp-line); color: var(--jrp-blue-deep); font-weight: 650; padding: .75rem 0; }
.service-group-panel__links a:last-child { border-bottom: 0; }
.service-group-panel__links a:hover { color: var(--jrp-blue); padding-left: .35rem; }
.service-card .card-img-top { aspect-ratio: 3 / 2; object-fit: cover; }
.service-card h3 a, .service-card h2 a { color: var(--jrp-blue-deep); }
.link-arrow { align-items: center; display: inline-flex; font-weight: 750; gap: .65rem; }
.link-arrow i { transition: transform .2s ease; }
.link-arrow:hover i { transform: translateX(4px); }

.about-media { padding: 2rem 2rem 0 0; }
.about-media > img, .content-image, .structure-image, .service-featured { border-radius: var(--jrp-radius); box-shadow: var(--jrp-shadow); object-fit: cover; }
.clinic-gallery { border: 1px solid var(--jrp-line); border-radius: var(--jrp-radius); box-shadow: var(--jrp-shadow); overflow: hidden; }
.clinic-gallery .carousel-item { aspect-ratio: 16 / 10; background: var(--jrp-soft); }
.clinic-gallery .carousel-item img { object-fit: cover; }
.clinic-gallery .carousel-control-prev, .clinic-gallery .carousel-control-next { background: rgba(5, 42, 65, .62); border-radius: 50%; bottom: auto; height: 3rem; opacity: 1; top: 50%; transform: translateY(-50%); width: 3rem; }
.clinic-gallery .carousel-control-prev { left: 1rem; }
.clinic-gallery .carousel-control-next { right: 1rem; }
.clinic-gallery .carousel-indicators { margin-bottom: 1rem; }
.clinic-gallery .carousel-indicators [data-bs-target] { border: 0; border-radius: 999px; height: .45rem; opacity: .65; width: .45rem; }
.clinic-gallery .carousel-indicators .active { opacity: 1; width: 1.5rem; }
.about-media > img { aspect-ratio: 4 / 3; }
.about-media::before { background: var(--jrp-blue); border-radius: var(--jrp-radius); content: ""; inset: 0 0 2rem 2rem; opacity: .1; position: absolute; }
.about-detail { border-radius: 1rem; bottom: 0; right: 0; }
.authority-section { background: linear-gradient(180deg, #fff 0%, #f8fbfc 100%); }
.authority-card { border-top: 4px solid var(--jrp-blue) !important; }
.authority-card p { color: var(--jrp-muted); }
.structure-image { aspect-ratio: 16 / 10; object-fit: cover; }
.location-card { background: linear-gradient(135deg, #f7fbfc, #fff); }

.cta-panel { background: linear-gradient(135deg, var(--jrp-blue-deep), var(--jrp-blue)); border-radius: calc(var(--jrp-radius) + .5rem); box-shadow: 0 1.5rem 4rem rgba(6, 44, 77, .22); }
.cta-panel::after { border: 1px solid rgba(255,255,255,.15); border-radius: 50%; content: ""; height: 320px; position: absolute; right: -100px; top: -170px; width: 320px; }
.team-avatar { background: linear-gradient(135deg, #e8f4f8, #d7eaf1); border-radius: 50%; color: var(--jrp-blue); font-size: 2rem; height: 4rem; width: 4rem; }
.team-specialty { color: var(--jrp-blue); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-card { color: var(--jrp-ink); }
.contact-card h2 { color: var(--jrp-blue-deep); }
.map-frame { border-radius: var(--jrp-radius); box-shadow: var(--jrp-shadow); overflow: hidden; }
.appointment-card.sticky-lg-top { top: 9.5rem; }
.service-visual { aspect-ratio: 4 / 3; background: linear-gradient(135deg, #dceff5, #f6fbfc); border-radius: var(--jrp-radius); color: var(--jrp-blue); font-size: 7rem; }
.medical-note { background: #eef7fa; border-left: 4px solid var(--jrp-cyan); border-radius: .75rem; color: #304b5a; }
.medical-note i { color: var(--jrp-blue); }

.entry-content { color: #263946; }
.entry-content > * { max-width: 820px; }
.entry-content > .alignwide { max-width: 1100px; }
.entry-content > .alignfull { max-width: none; }
.entry-content h2 { font-size: clamp(1.8rem, 3vw, 2.45rem); margin-bottom: 1rem; margin-top: 2.75rem; }
.entry-content h3 { font-size: 1.4rem; margin-bottom: .65rem; margin-top: 2rem; }
.entry-content p, .entry-content li { color: #405360; }
.entry-content a { text-decoration: underline; text-underline-offset: .2em; }
.entry-content blockquote { background: var(--jrp-soft); border-left: 4px solid var(--jrp-blue); border-radius: 0 1rem 1rem 0; font-family: Georgia, serif; font-size: 1.25rem; margin: 2rem 0; padding: 1.5rem; }
.entry-content img { border-radius: 1rem; }
.entry-header .eyebrow { color: var(--jrp-blue); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.entry-title { font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: 1.03; margin-bottom: 1.5rem; }
.entry-meta { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.entry-thumbnail { margin: 2rem 0; }
.entry-thumbnail img { border-radius: var(--jrp-radius); width: 100%; }
.post-share { border-top: 1px solid var(--jrp-line); margin-top: 2.5rem; padding-top: 1.5rem; }
.post-share__title { font-family: var(--bs-body-font-family); font-size: .9rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.post-share__links { display: flex; flex-wrap: wrap; gap: .5rem; }
.post-share__link { background: var(--jrp-soft); border-radius: 999px; color: var(--jrp-blue); font-size: .85rem; font-weight: 700; padding: .45rem .8rem; }
.entry-taxonomy { border-top: 1px solid var(--jrp-line); display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; padding-top: 1.5rem; }
.entry-taxonomy a { background: var(--jrp-soft); border-radius: 999px; color: var(--jrp-ink); font-size: .85rem; padding: .35rem .7rem; }

.entry-card { background: #fff; border: 1px solid var(--jrp-line); border-radius: var(--jrp-radius); box-shadow: 0 .5rem 1.8rem rgba(9,52,78,.06); overflow: hidden; }
.entry-card__media img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.entry-card__body { padding: 1.5rem; }
.entry-card__meta, .entry-meta { color: var(--jrp-muted); font-size: .9rem; }
.entry-card__title a { color: var(--jrp-blue-deep); }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #fff; border-radius: .5rem; box-shadow: var(--jrp-shadow); clip: auto !important; clip-path: none; color: var(--jrp-ink); display: block; height: auto; left: 1rem; padding: 1rem; top: 1rem; width: auto; z-index: 100000; }
.navigation.pagination { border-top: 1px solid var(--jrp-line); margin-top: 3rem; padding-top: 2rem; }
.navigation.pagination .nav-links { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.navigation.pagination .page-numbers { align-items: center; background: #fff; border: 1px solid var(--jrp-line); border-radius: .8rem; color: var(--jrp-ink); display: inline-flex; font-size: .9rem; font-weight: 750; height: 2.85rem; justify-content: center; margin: 0; min-width: 2.85rem; padding: 0 .75rem; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease; }
.navigation.pagination a.page-numbers:hover { background: var(--jrp-soft); border-color: rgba(9, 93, 166, .35); color: var(--jrp-blue); box-shadow: 0 .4rem 1rem rgba(9, 52, 78, .08); transform: translateY(-2px); }
.navigation.pagination a.page-numbers:focus-visible { outline: 3px solid rgba(66, 168, 199, .35); outline-offset: 2px; }
.navigation.pagination .page-numbers.current { background: var(--jrp-blue); border-color: var(--jrp-blue); box-shadow: 0 .55rem 1.25rem rgba(9, 93, 166, .2); color: #fff; }
.navigation.pagination .page-numbers.dots { background: transparent; border-color: transparent; min-width: 1.5rem; padding-inline: .25rem; }
.navigation.pagination .prev, .navigation.pagination .next { gap: .5rem; padding-inline: 1rem; }

/* Blog listings */
.post-list-card { background: #fff; border: 1px solid var(--jrp-line) !important; border-radius: var(--jrp-radius); box-shadow: 0 .65rem 2rem rgba(9, 52, 78, .065); transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.post-list-card:hover { border-color: rgba(9, 93, 166, .3) !important; box-shadow: var(--jrp-shadow); transform: translateY(-4px); }
.post-list-card__media { min-height: 245px; overflow: hidden; position: relative; }
.post-list-card__media img { object-fit: cover; transition: transform .5s ease; }
.post-list-card__media--vertical { min-height: 0; }
.post-list-card__media--vertical img, .post-list-card__media--vertical .post-list-card__placeholder { inset: 0; min-height: 0; object-fit: cover; position: absolute; }
.post-list-card:hover .post-list-card__media img { transform: scale(1.035); }
.post-list-card__placeholder { background: linear-gradient(135deg, #e5f3f7, #f7fbfc); color: var(--jrp-blue); font-size: 4rem; min-height: 245px; }
.post-list-card__title { line-height: 1.17; }
.post-list-card__title a { color: var(--jrp-blue-deep); }
.post-type-badge { background: rgba(9, 93, 166, .09); border-radius: 999px; color: var(--jrp-blue); font-size: .7rem; font-weight: 800; letter-spacing: .1em; padding: .35rem .7rem; text-transform: uppercase; }
.post-list-card__meta { border-top: 1px solid var(--jrp-line); padding-top: .9rem; width: 100%; }

/* Standard sidebar */
.clinic-sidebar.sticky-lg-top { top: 9.5rem; }
.sidebar-panel, .sidebar-widgets .widget { background: #fff; border: 1px solid var(--jrp-line); border-radius: var(--jrp-radius); box-shadow: 0 .55rem 1.8rem rgba(9, 52, 78, .055); }
.sidebar-icon { align-items: center; background: var(--jrp-soft); border-radius: 50%; color: var(--jrp-blue); display: inline-flex; flex: 0 0 auto; height: 2.5rem; justify-content: center; width: 2.5rem; }
.sidebar-link-list li + li { border-top: 1px solid var(--jrp-line); }
.sidebar-link-list a { color: var(--jrp-ink); font-size: .94rem; font-weight: 650; }
.sidebar-link-list a i { color: var(--jrp-blue); font-size: .8rem; opacity: 0; transform: translate(-4px, 4px); transition: opacity .2s ease, transform .2s ease; }
.sidebar-link-list a:hover { color: var(--jrp-blue); }
.sidebar-link-list a:hover i { opacity: 1; transform: none; }
.sidebar-cta { background: linear-gradient(145deg, var(--jrp-blue-deep), var(--jrp-blue)); border-radius: var(--jrp-radius); box-shadow: 0 1rem 2.8rem rgba(6, 44, 77, .2); overflow: hidden; position: relative; }
.sidebar-cta::after { border: 1px solid rgba(255, 255, 255, .16); border-radius: 50%; content: ""; height: 190px; position: absolute; right: -80px; top: -90px; width: 190px; }
.sidebar-cta > * { position: relative; z-index: 1; }
.sidebar-cta__icon { background: rgba(255, 255, 255, .13); border-radius: 50%; color: #fff; font-size: 1.4rem; height: 3.25rem; width: 3.25rem; }
.sidebar-post + .sidebar-post { border-top: 1px solid var(--jrp-line); padding-top: 1rem; }
.sidebar-post h3 { font-family: var(--bs-body-font-family); letter-spacing: 0; line-height: 1.4; }
.sidebar-post h3 a { color: var(--jrp-ink); }
.sidebar-post h3 a:hover { color: var(--jrp-blue); }
.sidebar-panel ul, .sidebar-widgets ul { list-style: none; margin: 0; padding: 0; }
.sidebar-panel .search-form__inner, .sidebar-widgets .search-form__inner { flex-wrap: nowrap; }
.search-field { border-color: var(--jrp-line); min-width: 0; padding: .75rem .9rem; }
.search-form__inner .btn { border-radius: 0 .75rem .75rem 0; padding-inline: 1rem; }
.search-form__inner .form-control { border-radius: .75rem 0 0 .75rem; }
.search-highlight { background: var(--jrp-soft); border: 1px solid var(--jrp-line); border-radius: var(--jrp-radius); }

/* Empty and error states */
.empty-state__icon { align-items: center; background: rgba(9, 93, 166, .09); border-radius: 50%; color: var(--jrp-blue); display: inline-flex; font-size: 2rem; height: 4.5rem; justify-content: center; width: 4.5rem; }
.empty-state > p { max-width: 560px; }
.error-page { background: radial-gradient(circle at 10% 15%, rgba(66, 168, 199, .16), transparent 28%), linear-gradient(135deg, #f7fbfc, #fff); min-height: 68vh; }
.error-page::after { color: rgba(9, 93, 166, .025); content: "404"; font-family: Georgia, serif; font-size: 38vw; line-height: .7; pointer-events: none; position: absolute; right: -5vw; top: 5%; }
.error-code { color: var(--jrp-blue); font-family: Georgia, serif; font-size: clamp(5rem, 10vw, 8rem); line-height: .9; }
.error-search-card { background: rgba(255, 255, 255, .93); border: 1px solid var(--jrp-line); border-radius: calc(var(--jrp-radius) + .25rem); box-shadow: var(--jrp-shadow); position: relative; }

/* Clinical team */
.team-hero, .doctor-profile-hero { background: radial-gradient(circle at 10% 15%, rgba(66, 168, 199, .15), transparent 28%), linear-gradient(135deg, #f3fafc, #fff); border-bottom: 1px solid var(--jrp-line); }
.team-hero-card, .profile-section-card, .profile-site-link { background: #fff; border: 1px solid var(--jrp-line); border-radius: var(--jrp-radius); box-shadow: var(--jrp-shadow); }
.team-stat { align-items: baseline; color: var(--jrp-muted); display: inline-flex; gap: .45rem; }
.team-stat strong { color: var(--jrp-blue); font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.team-specialty-nav { background: #f8fbfc; }
.team-specialty-nav__panel { background: #fff; border: 1px solid var(--jrp-line); border-radius: var(--jrp-radius); box-shadow: 0 .55rem 1.8rem rgba(9, 52, 78, .07); }
.team-specialty-nav__panel .btn-light { background: rgba(9, 93, 166, .08); border-color: transparent !important; color: var(--jrp-blue-deep); padding: .5rem .85rem; white-space: normal; }
.team-specialty-nav__panel .btn-light:hover, .team-specialty-nav__panel .btn-light:focus { background: var(--jrp-blue); color: #fff; }
.team-specialty-group { scroll-margin-top: 8rem; }
.doctor-card { background: #fff; border: 1px solid var(--jrp-line) !important; border-radius: var(--jrp-radius); box-shadow: 0 .65rem 2rem rgba(9, 52, 78, .065); transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.doctor-card:hover { border-color: rgba(9, 93, 166, .3) !important; box-shadow: var(--jrp-shadow); transform: translateY(-5px); }
.doctor-card__media { aspect-ratio: 4 / 4.3; background: linear-gradient(145deg, #e5f3f7, #f8fbfc); display: block; overflow: hidden; }
.doctor-card__media img { object-fit: cover; object-position: center top; transition: transform .5s ease; }
.doctor-card:hover .doctor-card__media img { transform: scale(1.035); }
.doctor-card__placeholder { color: rgba(9, 93, 166, .25); font-size: 10rem; }
.doctor-card h3 a { color: var(--jrp-blue-deep); }
.doctor-profile-photo { aspect-ratio: 4 / 5; background: linear-gradient(145deg, #e5f3f7, #f8fbfc); border: 1px solid var(--jrp-line); border-radius: 45% 45% var(--jrp-radius) var(--jrp-radius); box-shadow: var(--jrp-shadow); overflow: hidden; }
.doctor-profile-photo img { object-fit: cover; object-position: center top; }
.doctor-profile-placeholder { color: rgba(9, 93, 166, .22); font-size: 14rem; }
.profile-link-card { background: var(--jrp-soft); border: 1px solid var(--jrp-line); border-radius: 1rem; color: var(--jrp-ink); font-weight: 650; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
a.profile-link-card:hover { background: #fff; border-color: rgba(9, 93, 166, .3); color: var(--jrp-blue); transform: translateY(-2px); }
.profile-site-link { color: var(--jrp-ink); }
.profile-site-link:hover { border-color: rgba(9, 93, 166, .3); color: var(--jrp-blue); transform: translateY(-2px); }
.profile-sidebar.sticky-lg-top { top: 9.5rem; }
.profile-sidebar .sidebar-link-list > a + a { border-top: 1px solid var(--jrp-line); }

.site-footer { background: var(--jrp-blue-deep); color: rgba(255,255,255,.72); }
.footer-brand { color: #fff; font-size: 1.55rem; }
.footer-brand:hover { color: #fff; }
.footer-logo-wrap { background: #fff; border-radius: 1rem; }
.footer-brand .footer-logo { filter: none; height: auto; object-fit: contain; width: 180px; }
.footer-links a, .footer-contact a { color: rgba(255,255,255,.62); }
.footer-links a:hover, .footer-contact a:hover { color: #fff; }
.footer-contact i { color: #83cde3; }
.footer-links a, .footer-contact a, .site-footer p { overflow-wrap: anywhere; }
.floating-whatsapp { background: #25d366; border: 3px solid #fff; border-radius: 50%; bottom: 1.25rem; box-shadow: 0 .7rem 2rem rgba(0,0,0,.22); color: #fff; font-size: 1.65rem; height: 3.75rem; position: fixed; right: 1.25rem; width: 3.75rem; z-index: 1020; }
.floating-whatsapp:hover { color: #fff; transform: translateY(-3px); }

[data-reveal].reveal-pending { opacity: 0; transform: translateY(32px); }
[data-reveal].is-visible { animation: jrp-scroll-reveal .8s cubic-bezier(.2,.65,.3,1) var(--reveal-delay, 0ms) both; }
@keyframes jrp-scroll-reveal {
	from { opacity: 0; transform: translateY(32px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } [data-reveal].reveal-pending, [data-reveal].is-visible { opacity: 1; transform: none; animation: none; transition: none; } * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

@media (max-width: 991.98px) {
	body.admin-bar .sticky-top { top: 46px; }
	.hero-clinic h1 { font-size: clamp(2.8rem, 9vw, 4.3rem); }
	.hero-media { margin-inline: auto; max-width: 680px; }
	.appointment-card.sticky-lg-top { top: auto; }
	.clinic-sidebar.sticky-lg-top { position: static !important; }
	.profile-sidebar.sticky-lg-top { position: static !important; }
}
@media (min-width: 992px) {
	.site-header .navbar .dropdown:hover > .dropdown-menu, .site-header .navbar .dropdown:focus-within > .dropdown-menu { display: block; margin-top: 0; }
}
@media (max-width: 767.98px) {
	body.admin-bar .sticky-top { top: 0; }
	#main-content { scroll-margin-top: 6rem; }
	.clinic-banner { height: clamp(310px, 50vh, 440px); }
	.clinic-banner__page { max-width: 68%; }
	.clinic-banner__title { font-size: clamp(1.8rem, 8vw, 2.65rem); }
	.clinic-banner__watermark { opacity: .45; }
	.clinic-banner__symbol { width: clamp(80px, 22vw, 115px); }
	.clinic-banner__watermark .fs-4 { font-size: .9rem !important; }
	.clinic-banner__scroll { bottom: .75rem; font-size: .65rem; width: 100%; }
	.display-3 { font-size: 2.6rem; }
	.display-4, .display-5 { font-size: 2.15rem; }
	.navbar-brand { margin-right: 0; }
	.brand-logo { height: 58px; max-width: 100%; }
	.navbar-toggler { flex: 0 0 auto; }
	.brand-name small { display: none !important; }
	.hero-media { padding: 0 0 1.25rem 1.25rem; }
	.hero-badge { max-width: 210px; padding: .75rem !important; }
	.trust-strip .col > div { align-items: flex-start !important; flex-direction: column; gap: .25rem !important; }
	.about-media { padding: 1.25rem 1.25rem 0 0; }
	.about-detail { max-width: 80%; padding: 1rem !important; }
	.floating-whatsapp { bottom: 1rem; right: 1rem; }
	.post-list-card__media, .post-list-card__placeholder { min-height: 220px; }
	.post-list-card__media img { aspect-ratio: 16 / 10; }
}
@media (max-width: 575.98px) {
	.hero-clinic .container { padding-bottom: 2rem !important; padding-top: 2rem !important; }
	.hero-clinic .col-lg-6.py-4 { padding-bottom: 1rem !important; padding-top: 1rem !important; }
	.hero-clinic h1 { font-size: clamp(2.3rem, 11.5vw, 2.75rem); line-height: 1.04; }
	.page-hero .display-3, .team-hero .display-3, .doctor-profile-hero .display-3, .service-hero .display-3 { font-size: clamp(2.2rem, 10.5vw, 2.6rem); line-height: 1.08; }
	.section-kicker { line-height: 1.55; }
	.btn-lg { font-size: 1rem; }
	.site-footer .footer-logo { width: 150px; }
	.site-footer .footer-links { row-gap: .55rem !important; }
	.site-footer .border-top { overflow-wrap: anywhere; }
	.navigation.pagination .prev span, .navigation.pagination .next span { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
	.navigation.pagination .prev, .navigation.pagination .next { padding-inline: .75rem; }
}
