/* Shared editorial components, September 2026. No transforms on reading cards. */
.tool-privacy { padding:22px 26px; background:#fcf1f3; border-inline-start:4px solid #922b42; border-radius:14px; margin-bottom:32px; }
.tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tools-grid h2 { font-size:1.4rem; }
.tool-panel { max-width:900px; margin:30px auto; padding:32px; border:1px solid #e8dcdf; border-radius:24px; background:#fff; }
.tool-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-block:26px; }
.health-tool-form input:not([type=checkbox]),.health-tool-form select,.health-tool-form textarea { display:block; width:100%; min-height:48px; border:1px solid #ba9ba3; border-radius:10px; padding:10px 14px; font:inherit; color:#48232d; background:#fff; }
.health-tool-form input:not([type=checkbox]) { direction:ltr; text-align:start; }
.health-tool-form input[type=checkbox] { min-width:22px; min-height:22px; accent-color:#922b42; }
.tool-notes { display:block; margin-top:24px; }
.tool-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.tool-result { background:#fcf1f3; border:1px solid #e2bbc4; border-radius:16px; margin-top:24px; padding:24px; font-weight:650; }
.tool-result.is-error { background:#fff2ef; border-color:#c3767e; color:#772136; }
.tool-source { font-size:.87rem; margin-top:28px; color:#66565b; }
.tool-source a { text-decoration:underline; }
.bp-days>details { border:1px solid #e8dcdf; border-radius:12px; margin:12px 0; padding:16px; }
.bp-days summary { min-height:44px; font-weight:700; }
.bp-readings { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.bp-readings fieldset { border:1px solid #e8dcdf; border-radius:12px; min-width:0; }
.bp-readings label { display:block; margin:10px 0; }
.bp-chart { overflow-x:auto; }
.bp-chart table { border-collapse:collapse; width:100%; margin-top:24px; }
.bp-chart td,.bp-chart th { border:1px solid #e8dcdf; padding:8px; text-align:center; }
.tool-warning { background:#faf1e9; border-radius:12px; padding:16px; }
.knowledge-featured__media img { object-fit:contain; background:#f7f3f4; }
.care-list li::after { content:none; }
@media(max-width:650px) { .tool-fields,.tools-grid,.bp-readings { grid-template-columns:1fr; } .tool-panel { padding:20px; } }
@media print { .header,.care-ribbon,.footer,.chat-widget,.motion-control,.tool-actions,.skip { display:none!important; } .tool-panel { border:0; padding:0; max-width:none; } .health-tools { padding:0; } .tool-privacy { background:none; } .bp-days details:not([open]) { display:none; } .tool-result { border:1px solid #666; } .bp-chart { overflow:visible; } }
:root { --clinic-teal:#922b42; --clinic-wine:#922b42; --clinic-paper:#fcfaf7; }
.header .identity { gap:10px; min-width:0; }
.header .identity>img { width:44px; height:44px; flex:none; }
.header .identity-copy { display:block; min-width:0; }
.header .identity-copy strong { white-space:nowrap; font-size:1.05rem; line-height:1.7; }
.header .identity-copy small { font-size:.72rem; }
.languages a { width:44px; height:44px; display:grid; place-items:center; }
.mobile-toggle { min-width:44px; min-height:44px; }
.home-hero-copy h1 { font-size:clamp(2rem,3.2vw,3.2rem); line-height:1.6; max-width:none; }
.home-hero .home-media { width:100%; height:auto; min-height:0; aspect-ratio:3/2; align-self:center; border-radius:28px; background:#f8f2f3; box-shadow:0 18px 48px #42172214; }
.home-media .portrait-slide { object-fit:contain; object-position:center; width:100%; height:100%; inset:0; transform:none; }
.home-media:before,.home-media:after { display:none; }
.home-pulse { pointer-events:none; opacity:.7; }
.home-hero+.trust-rail { background:var(--clinic-teal); }
.trust-grid span { color:#f8e9ed; }
.button-dark { background:var(--clinic-teal); color:#fff; }
.safety-band { background:#fbf5f6; color:#48232d; border-block:1px solid #eddee2; }
.safety-band h2 { color:#48232d; }
.safety-band p { color:#66565b; }
.safety-icon { color:var(--clinic-wine); border-color:#c87e8e; }
.services-grid,.service-guide-intro+.cardio-signature+.services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.service-card,.home-services .service-card { overflow:hidden; background:#fff; border:1px solid #e9dfe2; border-radius:22px; box-shadow:0 8px 28px #642b3b09; }
.service-card:before,.home-services .service-card:before { display:none; }
.service-card:hover,.home-services .service-card:hover { transform:none; box-shadow:0 12px 36px #642b3b18; }
.service-card>a { display:flex; flex-direction:column; }
.service-card .service-art,.home-services .service-art { background:#f9f5f6; border-radius:0; min-height:0; aspect-ratio:3/2; }
.service-card .service-art img,.home-services .service-art img { width:100%; height:100%; aspect-ratio:3/2; object-fit:contain; object-position:center; opacity:1; mix-blend-mode:normal; filter:none; transform:none; }
.service-card:hover .service-art img { transform:none; }
.service-card .card-body { padding:24px; display:flex; flex-direction:column; flex:1; }
.service-card .card-body h3 { min-height:3.2em; margin-bottom:12px; font-size:1.15rem; }
.service-card .card-body p,.home-services .service-card .card-body p { min-height:0; flex:1; display:block; overflow:visible; -webkit-line-clamp:unset; line-height:1.95; margin-bottom:22px; }
.service-card .text-link { align-self:flex-start; }
.service-number { width:34px; height:34px; font-size:.85rem; border-radius:50%; background:#fff; color:var(--clinic-teal); }
.doctor-portrait { border-radius:28px; background:#f9f5f6; overflow:visible; box-shadow:0 18px 48px #642b3b10; }
.doctor-portrait img { aspect-ratio:auto; height:auto; max-height:620px; object-fit:contain; border-radius:28px; margin:auto; }
.doctor-portrait span { position:static; display:block; text-align:center; margin:12px 0 0; background:transparent; }
.care-list li::marker { content:''; }
.doctor-ecg { opacity:.055; }
.article-heading--editorial h1 { font-size:clamp(1.8rem,3.3vw,3rem); line-height:1.65; }
.article-visual { background:#f9f5f6; border-radius:22px; }
.article-visual .article-cover { aspect-ratio:auto; width:100%; height:auto; max-height:640px; object-fit:contain; border-radius:22px; }
.article-visual figcaption { position:static; color:#66565b; background:transparent; padding:12px 20px; }
.prose--encyclopedia { font-size:1.075rem; line-height:2; }
.prose--encyclopedia img { aspect-ratio:auto; height:auto; width:auto; max-width:100%; max-height:740px; object-fit:contain; margin-inline:auto; background:#faf5f6; }
.prose--encyclopedia h2 { font-size:1.65rem; line-height:1.7; }
.reading-author img { object-fit:cover; object-position:center 25%; }
.article-card:hover,.article-card:hover .article-card__media img { transform:none; }
.article-card__media { background:#f7f3f4; }
.article-card .article-card__media img { object-fit:contain; }
.article-card__body p { font-size:1rem; }
.article-card__body h3 { font-size:1.16rem; }
.encyclopedia-hero h1 { font-size:clamp(2rem,4vw,3.25rem); }
.featured-guide { min-height:0; }
.featured-guide__media { background:#f7f3f4; min-height:0; }
.featured-guide__media img { object-fit:contain; aspect-ratio:3/2; min-height:0; }
.featured-guide:hover .featured-guide__media img { transform:none; }
.home-location-map { background:#f8eff2; }
.home-location-map iframe { opacity:1; filter:none; position:relative; z-index:1; width:100%; height:100%; min-height:0; border:0; }
.map-fallback { display:none; }
.map-help { display:block; margin-top:12px; font-size:.88rem; color:#66565b; }
.footer { background:radial-gradient(ellipse at 90% 0,#8c3a5055,transparent 50%),#421722; border-top:3px solid #ad6373; color:#fff9fb; }
.footer .identity { gap:12px; align-items:center; }
.footer .identity>img { width:48px; height:48px; padding:6px; }
.footer .identity strong { display:block; color:#fff; line-height:1.8; }
.footer h2 { color:#e6c6cc; }
.footer-grid { grid-template-columns:1.15fr .8fr 1fr 1.15fr; gap:34px; }
.footer section>a:not(.identity) { padding-block:4px; }
.footer p { color:#f0dce2; }
.footer-bottom { grid-template-columns:1fr 1fr; padding-bottom:24px; }
.footer-bottom .credit { color:#e6c6cc; text-align:end; }
.doctor-photo-grid,.doctor-photo-grid--large { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.doctor-photo-grid figure { background:#f7f3f4; border-radius:20px; border:1px solid #eddee2; }
.doctor-photo-grid img { aspect-ratio:3/4; object-fit:contain; transform:none; }
.doctor-photo-grid figure:hover img { transform:none; }
.doctor-photo-grid figcaption { position:static; background:white; color:#66565b; }
.gallery-zoom { display:block; width:100%; padding:0; background:transparent; }
.gallery-zoom:focus-visible { outline-offset:-5px; }
.media-dialog { border:0; border-radius:20px; padding:18px; width:min(900px,94vw); background:#fcfaf7; }
.media-dialog::backdrop { background:#271017db; }
.media-dialog img { width:100%; height:76vh; object-fit:contain; }
.media-dialog button { min-height:44px; padding:8px 18px; color:#fff; background:var(--clinic-teal); border-radius:12px; }
.watch-layout { max-width:980px; }
.watch-layout video { display:block; width:100%; max-height:70vh; object-fit:contain; background:#271017; margin:0 auto 30px; }
.video-card__play { position:absolute; inset:0; display:grid; place-items:center; color:white; font-size:2rem; text-shadow:0 2px 12px #000; pointer-events:none; }
.motion-control { position:static; width:fit-content; min-height:44px; background:#fff; border:1px solid #e1cbd2; border-radius:24px; padding:8px 14px; color:#733146; font:inherit; font-size:.78rem; }
.footer { position:relative; isolation:isolate; overflow:hidden; }
.footer-heart { position:absolute; width:380px; height:380px; inset-inline-end:-40px; bottom:15px; opacity:.035; z-index:-1; fill:none; stroke:#fff; stroke-width:2; }
.home-tools { border:1px solid #eddee2; border-radius:24px; padding:32px; margin-block:20px 60px; background:linear-gradient(130deg,#fcf0f3,#fcfaf7); }
.home-tools .actions { gap:18px; }
html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after { animation-play-state:paused!important; }
@media(max-width:1160px) { .header .nav-row { grid-template-columns:minmax(0,1fr) auto auto; } .header .identity-copy strong { font-size:1rem; } .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:850px) { .services-grid,.service-guide-intro+.cardio-signature+.services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .doctor-photo-grid,.doctor-photo-grid--large { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-location-map iframe { min-height:340px; } .home-media { aspect-ratio:4/5; max-height:620px; } }
@media(max-width:540px) { .header .identity>img { display:none; } .header .identity-copy strong { font-size:.9rem; } .header .identity-copy small { font-size:.65rem; max-width:none; } .header .nav-row { column-gap:4px; } .languages { gap:0; } .services-grid,.service-guide-intro+.cardio-signature+.services-grid { grid-template-columns:1fr; } .footer-grid { grid-template-columns:1fr; } .footer-bottom { grid-template-columns:1fr; } .footer-bottom .credit { text-align:start; } .doctor-photo-grid,.doctor-photo-grid--large { gap:12px; } .prose--encyclopedia { font-size:1.0625rem; } .motion-control { bottom:12px; left:12px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
/* Monochrome red direction; natural photographs retain their original colors. */
:root { --teal:#922b42; --teal-dark:#5a2030; --clinic-teal:#922b42; }
.page-heading { background:linear-gradient(120deg,#fffaf9,#f8e9ed); }
.home-hero { background:linear-gradient(135deg,#fffdfc,#fff4f5); border-color:#eadce0; }
.home-pulse { background:#86283de8; box-shadow:0 12px 35px #42172220; }
.home-hero .home-media { padding-bottom:64px; aspect-ratio:auto; display:grid; grid-template-columns:minmax(0,1fr); }
.home-media .portrait-slide { position:relative; grid-area:1/1; width:100%; height:auto; aspect-ratio:1672/941; object-fit:contain; align-self:center; transition:opacity .8s ease; }
.home-media .slider-controls { bottom:10px; }
.home-media .slider-controls button { width:44px; height:44px; }
.home-media .home-pulse { bottom:10px; height:44px; box-shadow:none; }
.home-media .home-pulse span { height:30px; width:30px; flex-basis:30px; }
.home-location,.home-videos { background:#fcf5f6; }
.testimonial-clinic-card { background:linear-gradient(145deg,#fff,#fff6f7); border-color:#eddee2; }
.home-video-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.home-video-card { border:1px solid #eadde1; border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 12px 36px #642b3b0a; }
.home-video-card video { display:block; width:100%; aspect-ratio:3/2; object-fit:contain; background:#241017; }
.home-video-card .card-body { padding:24px; }
.home-video-card h3 { font-size:1.15rem; line-height:1.8; }
.home-video-card p { color:#66565b; font-size:.95rem; }
.mobile-toggle::before { content:none; }
.header .mobile-toggle { font-size:0; }
.header .mobile-toggle::before { content:'☰'; font-size:1.15rem; color:#692237; }
@media(max-width:700px) { .home-video-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:no-preference) {
  .home-media { animation:frame-arrive .65s ease-out both; }
  .home-video-card { transition:box-shadow .25s ease; }
  .home-video-card:hover { box-shadow:0 16px 44px #642b3b18; }
  .footer-heart { animation:footer-heart-once 2s ease-out 2; }
}
@keyframes frame-arrive { from { opacity:.2; } to { opacity:1; } }
@keyframes footer-heart-once { 0%,100% { opacity:.035; } 40% { opacity:.065; } }
/* One full-surface play target, with the visible control outside the portrait. */
.video-card { display:flex; flex-direction:column; }
.video-card .article-card__body { display:flex; flex-direction:column; flex:1; }
.video-card .article-card__body p { flex:1; }
.video-card .article-card__footer { min-height:44px; }
.clinic-video-player,.video-card__external { position:relative; display:block; width:100%; aspect-ratio:1672/941; overflow:hidden; background:#241017; isolation:isolate; }
.clinic-video-player video,.watch-layout .clinic-video-player video { display:block; width:100%; height:100%; aspect-ratio:1672/941; object-fit:contain; max-height:none; margin:0; border-radius:0; }
.video-card__external img { display:block; width:100%; height:100%; object-fit:contain; }
.clinic-video-player .video-cover-trigger { position:absolute; inset:0; z-index:2; width:100%; height:100%; margin:0; padding:0; border:0; border-radius:0; background:transparent; cursor:pointer; font:inherit; color:white; text-align:start; }
.clinic-video-player .video-cover-trigger[hidden] { display:none; }
.clinic-video-player .video-cover-trigger img { width:100%; height:100%; max-height:none; object-fit:contain; margin:0; display:block; }
.video-play-badge { position:absolute; bottom:14px; left:14px; display:flex; align-items:center; gap:9px; min-height:44px; padding:7px 14px; border-radius:999px; background:#84253a; color:#fff; box-shadow:0 4px 16px #42172225; font-size:.88rem; font-weight:750; pointer-events:none; }
.video-play-icon { display:grid; place-items:center; direction:ltr; width:28px; height:28px; border-radius:50%; background:#fff; color:#84253a; font-size:.8rem; padding-left:2px; }
.video-cover-trigger:focus-visible { outline:3px solid #fff; outline-offset:-5px; box-shadow:inset 0 0 0 8px #84253a; }
.video-cover-trigger:hover .video-play-badge { background:#651a2b; box-shadow:0 6px 24px #42172235; }
.video-player-status { position:absolute; inset:auto 8px 8px; z-index:3; margin:0; padding:9px 12px; background:#fff; color:#651a2b; border-radius:8px; font-size:.85rem; line-height:1.7; }
.video-player-status[hidden] { display:none; }
.watch-layout .clinic-video-player { border-radius:20px; margin-bottom:30px; }
@media(max-width:540px) { .video-play-badge { bottom:10px; left:10px; padding:6px 12px; font-size:.8rem; } }
.home-tools--compact { padding:22px 26px; margin-block:40px 8px; }
.home-tools--compact .section-title { margin-bottom:16px; align-items:center; }
.home-tools--compact h2 { margin:0; font-size:1.3rem; }
.home-tool-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.home-tool-link { display:flex; align-items:center; gap:10px; min-height:70px; padding:14px; border:1px solid #eddee2; border-radius:14px; background:#fff; color:#552331; font-size:.88rem; line-height:1.8; }
.home-tool-link svg { flex:0 0 26px; width:26px; height:26px; color:#922b42; }
.home-tool-arrow { margin-inline-start:auto; color:#922b42; }
.home-tool-link:hover { background:#fff5f7; border-color:#bd6e82; }
.testimonials-carousel .testimonial-clinic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.testimonial-clinic-card { display:flex; flex-direction:column; min-width:0; }
.testimonial-clinic-card p { flex:1; }
.testimonials-carousel.is-enhanced .testimonial-clinic-card p { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; line-height:1.95; height:7.8em; min-height:7.8em; flex:none; }
.testimonials-carousel.is-enhanced .testimonial-clinic-card.is-expanded p { -webkit-line-clamp:unset; height:auto; }
.testimonial-clinic-card footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; min-height:44px; }
.testimonial-origin { color:#74545e; font-size:.75rem; }
.testimonial-source { min-height:34px; font-size:.75rem; }
.testimonial-source a { color:#922b42; display:inline-flex; align-items:center; min-height:34px; text-decoration:underline; text-underline-offset:4px; }
.testimonial-clinic-card footer b { overflow-wrap:anywhere; }
.testimonial-author { display:flex; align-items:center; gap:10px; min-width:0; }
.testimonial-avatar { position:relative; display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border-radius:50%; background:#f9e5e9; color:#81243a; overflow:hidden; font-weight:700; }
.testimonial-avatar img { position:absolute; inset:0; width:44px; height:44px; object-fit:cover; border-radius:50%; }
.testimonial-clinic-card[hidden],.testimonial-controls[hidden],[data-read-comment][hidden] { display:none!important; }
.testimonial-clinic-card [data-read-comment] { background:none; border:none; color:#922b42; font:inherit; font-size:.8rem; padding:10px 0; cursor:pointer; }
.testimonial-controls { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:20px; }
.testimonial-controls button,.testimonial-dialog button { min-width:44px; min-height:44px; border:1px solid #dfbec8; background:#fff; color:#75253b; border-radius:12px; padding:8px 14px; font:inherit; cursor:pointer; }
.testimonial-controls [data-testimonial-pause] { font-size:.82rem; }
.testimonial-controls button:hover,.testimonial-dialog button:hover { background:#fbedf1; }
.testimonial-dialog { width:min(540px,92vw); max-height:85vh; padding:28px; border:1px solid #dfbec8; border-radius:20px; background:#fffafc; color:#472b33; font:inherit; }
.testimonial-dialog::backdrop { background:#211018aa; }
.testimonial-dialog h2 { font-size:1.2rem; }
.testimonial-dialog p { line-height:2; white-space:pre-line; }
.home-tool-link:focus-visible,.testimonial-controls button:focus-visible,[data-read-comment]:focus-visible { outline:3px solid #922b42; outline-offset:3px; }
@media(max-width:1000px) { .home-tool-links { grid-template-columns:repeat(2,minmax(0,1fr)); } .testimonials-carousel .testimonial-clinic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .home-tools--compact { padding:18px; } .home-tools--compact h2 { font-size:1.1rem; } .home-tool-link { font-size:.8rem; padding:10px; gap:7px; } .home-tool-link svg { flex-basis:22px; width:22px; } .home-tool-arrow { display:none; } .testimonials-carousel .testimonial-clinic-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:no-preference) { .testimonials-carousel.is-enhanced .testimonial-clinic-card:not([hidden]) { animation:review-appear .35s ease-out; } }
@keyframes review-appear { from { opacity:.3; } to { opacity:1; } }
@media(prefers-reduced-motion:no-preference) { .video-play-badge { transition:background .2s,box-shadow .2s; } }
