/* Opt-in cardiology skin: shared service blocks, isolated rhythm/echo visuals. */
.seo-cardiology { --cv-line: #77c9e632; --cv-accent: #e16e7f; }
.seo-cardiology .cv-hero { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); align-items: center; gap: 46px; padding: 32px 0 24px; }
.seo-cardiology .cv-hero-copy { min-width: 0; padding: 22px 0; }
.seo-cardiology .cv-hero h1 { font-size: clamp(36px,4vw,57px); letter-spacing: -1.9px; line-height: 1.08; text-wrap: balance; margin: 20px 0 24px; }
.seo-cardiology .cv-hero .lead { font-size: 18px; max-width: 630px; }
.seo-cardiology .cv-visual { position: relative; margin: 0; min-width: 0; height: 490px; display: flex; flex-direction: column; justify-content: flex-end; background: radial-gradient(ellipse at 50% 38%,#10436166,transparent 64%); }
.seo-cardiology .cv-field { position: absolute; inset: 0 0 95px; overflow: hidden; mask-image: linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent); }
.seo-cardiology .cv-grid { position: absolute; inset: 20px 0; background-image: linear-gradient(#92d0f00a 1px,transparent 1px),linear-gradient(90deg,#92d0f00a 1px,transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(ellipse,#000,transparent 72%); }
.seo-cardiology .cv-orbit { position: absolute; left: 50%; top: 48%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%,-50%); border: 1px solid #65c6ea25; }
.seo-cardiology .cv-orbit-outer { width: 88%; border-style: dashed; border-color: #66c2e02c; }
.seo-cardiology .cv-orbit-middle { width: 68%; border-color: #53c6f24a; box-shadow: 0 0 48px #23668816,inset 0 0 40px #17538314; }
.seo-cardiology .cv-orbit-inner { width: 47%; border-color: #de6a7e2a; }
.seo-cardiology .cv-rhythm { position: absolute; width: 100%; height: 100%; inset: 0; overflow: visible; }
.seo-cardiology .cv-trace { stroke: #b2f1ff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; animation: cv-draw 2.8s ease-out both; }
.seo-cardiology .cv-trace-soft { stroke: #37c8ee; stroke-width: 8; filter: blur(8px); opacity: .65; }
.seo-cardiology .cv-marker { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #96e8ff; box-shadow: 0 0 22px #42d5ff8a; }
.seo-cardiology .cv-marker-one { left: 26%; top: 18%; }
.seo-cardiology .cv-marker-two { right: 20%; bottom: 21%; width: 5px; height: 5px; background: #df8391; box-shadow: 0 0 18px #d46b8566; }
.seo-cardiology .cv-visual figcaption { position: relative; border-top: 1px solid var(--cv-line); padding: 22px 0 0 24px; margin-left: 20px; }
.seo-cardiology .cv-visual figcaption::before { content: ''; width: 32px; height: 2px; background: var(--cv-accent); position: absolute; top: -1px; left: 0; }
.seo-cardiology .cv-caption-label { display: block; font-size: 18px; color: #d5f1fd; line-height: 1.5; }
.seo-cardiology .cv-visual figcaption p { font-size: 14px; line-height: 1.6; margin: 9px 0 0; color: #97b9cd; }
.seo-cardiology .sr-hero-tags { flex-wrap: wrap; gap: 16px 32px; padding: 25px 0; }
.seo-cardiology .sr-hero-tags li:first-child::before { background: var(--cv-accent); }
.seo-cardiology .sr-page-nav { border-color: var(--cv-line); }
.seo-cardiology .sr-section { margin-top: 82px; }
.seo-cardiology .sr-section-heading { position: relative; padding-top: 20px; }
.seo-cardiology .sr-section-heading::before { content: ''; position: absolute; top: 0; left: 0; width: 62px; height: 1px; background: linear-gradient(90deg,var(--cv-accent) 0 14px,#65caec77 14px); }
.seo-cardiology .sr-card { border-radius: 16px; background: linear-gradient(150deg,#0c2636bd,#06121d); border-color: var(--cv-line); }
.seo-cardiology .sr-card h3 { color: #e2f3fa; }
.seo-cardiology .sr-step-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.seo-cardiology .sr-step-number { color: #83cbdf; }
.seo-cardiology .sr-note.sr-section { background: linear-gradient(115deg,#0e2b3b8c,#071422); border: 1px solid var(--cv-line); border-radius: 16px; padding: 35px 40px; }
.seo-cardiology .sr-note.sr-section .sr-section-heading { margin-bottom: 0; }
.seo-cardiology .sr-note.sr-section p:last-child { margin-bottom: 0; }
.seo-cardiology .sr-comparison { padding: 38px; border: 1px solid var(--cv-line); border-radius: 20px; background: radial-gradient(ellipse at 90% 30%,#15517033,transparent 65%); }
.seo-cardiology .sr-comparison .sr-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.seo-cardiology .sr-comparison .sr-card { border: 0; border-top: 2px solid #51b4d280; border-radius: 0 0 16px 16px; }
.seo-cardiology .sr-comparison .sr-card:nth-child(2) { border-top-color: #d9798b80; }
.seo-cardiology .sr-scene { border-radius: 22px; background: radial-gradient(ellipse at 82% 60%,#13537145,transparent 62%),linear-gradient(120deg,#081928,#071420); }
.seo-cardiology .sr-assessment { background: none; }
.seo-cardiology .sr-assessment ol::before { background: linear-gradient(#4dc3e9,#d5788855); }
.seo-cardiology .sr-assessment-dot { box-shadow: 0 0 16px #5bcff638; }
.seo-cardiology .catalog-room { margin-top: 80px; padding: 28px 32px; border: 1px solid var(--cv-line); border-radius: 18px; background: #081a28; }
.seo-cardiology .catalog-room h2 { font-size: 30px; }
.seo-cardiology .catalog-details { grid-template-columns: minmax(0,1fr); }
.seo-cardiology .catalog-detail { min-width: 0; }
.seo-cardiology .sr-price { margin-top: 36px; border-radius: 18px; background: linear-gradient(110deg,#102a3e,#091725); }
.seo-cardiology .sr-price h2 { font-size: clamp(28px,3vw,38px); }
.seo-cardiology .sr-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.seo-cardiology .sr-contact { border-color: var(--cv-line); }
/* Echo motif is an abstract wave field, never a patient's ultrasound image. */
.seo-cardiology.cv-echo .cv-visual { background: radial-gradient(ellipse at 50% 46%,#114c6466,transparent 63%); }
.seo-cardiology.cv-echo .cv-orbit { top: 51%; }
.seo-cardiology.cv-echo .cv-orbit-outer { width: 81%; opacity: .6; }
.seo-cardiology.cv-echo .cv-orbit-middle { width: 60%; border-style: dashed; opacity: .65; }
.seo-cardiology.cv-echo .cv-orbit-inner { display: none; }
.seo-cardiology .cv-scan-fan { position: absolute; inset: 12% 12% 0; clip-path: polygon(50% 10%,98% 88%,84% 98%,16% 98%,2% 88%); background: radial-gradient(ellipse at 50% 8%,#91ecff1c,transparent 76%); }
.seo-cardiology .cv-echo { position: absolute; width: 100%; height: 100%; inset: 0; stroke: #7bd4ef85; stroke-width: 1.2; }
.seo-cardiology .cv-echo path:first-child { animation: cv-echo-arrive 3.6s ease-out both; }
.seo-cardiology .cv-echo-axis { stroke: #63b4d042; stroke-dasharray: 3 6; }
.seo-cardiology .cv-echo-measure { stroke: #e894a2a0; }
.seo-cardiology .cv-echo-origin { position: absolute; left: calc(50% - 3px); top: 20%; width: 6px; height: 6px; border-radius: 50%; background: #b9edff; box-shadow: 0 0 25px #59cfff; }
@keyframes cv-draw { from { stroke-dashoffset: 1; opacity: .3; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes cv-echo-arrive { from { opacity: .15; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@media (hover:hover) and (pointer:fine) { .seo-cardiology .sr-card:hover { border-color: #7bcfe85c; } }
@media (min-width:761px) and (max-width:1000px) { .seo-cardiology .cv-hero { gap: 24px; } .seo-cardiology .cv-hero h1 { font-size: 36px; letter-spacing: -1.1px; } .seo-cardiology .cv-visual { height: 410px; } .seo-cardiology .cv-caption-label { font-size: 16px; } }
@media (max-width:760px) {
 .seo-cardiology .cv-hero { grid-template-columns: minmax(0,1fr); gap: 10px; padding: 18px 0; }
 .seo-cardiology .cv-hero-copy { padding: 4px 0 12px; }
 .seo-cardiology .cv-hero h1 { font-size: 34px; letter-spacing: -1px; line-height: 1.12; margin: 18px 0 24px; }
 .seo-cardiology .cv-hero .lead { font-size: 17px; }
 .seo-cardiology .cv-hero .catalog-actions { display: grid; grid-template-columns: 1fr 1fr; }
 .seo-cardiology .cv-hero .catalog-actions a { min-width: 0; padding: 14px 10px; }
 .seo-cardiology .cv-visual { height: 370px; }
 .seo-cardiology .cv-field { inset: 0 0 102px; }
 .seo-cardiology .cv-visual figcaption { margin-left: 0; padding: 20px 12px 0; }
 .seo-cardiology .cv-caption-label { font-size: 17px; }
 .seo-cardiology .sr-section { margin-top: 58px; }
 .seo-cardiology .sr-note.sr-section,.seo-cardiology .sr-comparison { padding: 24px 20px; }
 .seo-cardiology .sr-comparison .sr-card-grid,.seo-cardiology .sr-step-grid,.seo-cardiology .sr-related-grid { grid-template-columns: minmax(0,1fr); }
 .seo-cardiology .catalog-room { margin-top: 56px; padding: 24px 18px; }
 .seo-cardiology .sr-price { margin-top: 24px; }
}
@media (max-width:360px) { .seo-cardiology .cv-hero h1 { font-size: 30px; letter-spacing: -.9px; overflow-wrap: anywhere; } .seo-cardiology .cv-visual { height: 340px; } .seo-cardiology .cv-caption-label { font-size: 15px; } }
@media (prefers-reduced-motion:reduce) { .seo-cardiology .cv-field *, .seo-cardiology .cv-field { animation: none !important; transition: none !important; } }
