body:has(.cm-specialties-page) { background: #fff; color: #234d88; font-family: "Inter", "Segoe UI", sans-serif; }
.cm-specialties-page { overflow: hidden; }
.cm-specialties-page h1, .cm-specialties-page h2, .cm-specialties-page h3 { color: #123a74; letter-spacing: -.045em; }
.cm-sp-hero { min-height: 700px; padding: 176px 0 88px; background: radial-gradient(circle at 76% 28%, rgba(51,132,208,.22), transparent 28%), linear-gradient(116deg,#eff7ff 0%,#fff 58%,#eaf4ff 100%); }
.cm-sp-hero-grid { display:grid; grid-template-columns: 1.02fr .98fr; align-items:center; gap:70px; }
.cm-sp-hero-copy { max-width: 600px; }
.cm-sp-hero h1 { margin:0 0 24px; font-size:clamp(3rem,5.4vw,5.1rem); line-height:.98; }
.cm-sp-hero h1 em { color:#0464a8; font-style:normal; }
.cm-sp-hero-copy > p:not(.cm-eyebrow) { max-width:540px; margin-bottom:30px; font-size:1.1rem; line-height:1.7; }
.cm-sp-hero-visual { position:relative; min-height:440px; }
.cm-sp-hero-visual:before { position:absolute; inset:32px 0 0 34px; border-radius:32px; background:#0464a8; content:""; transform:rotate(4deg); }
.cm-sp-hero-visual img { position:relative; width:100%; min-height:440px; border-radius:32px; object-fit:cover; object-position:center; box-shadow:0 25px 70px rgba(7,33,71,.2); }
.cm-sp-trust-card { position:absolute; z-index:1; right:-22px; bottom:26px; display:grid; gap:3px; max-width:230px; padding:19px 22px; border:1px solid rgba(255,255,255,.72); border-radius:16px; background:rgba(255,255,255,.93); box-shadow:0 15px 36px rgba(7,33,71,.16); backdrop-filter:blur(8px); }
.cm-sp-trust-card strong { color:#123a74; font-size:.92rem; }.cm-sp-trust-card span { font-size:.76rem; line-height:1.45; }
.cm-sp-directory { padding:110px 0 120px; }.cm-sp-directory-head { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:34px; }.cm-sp-directory h2,.cm-sp-featured h2 { margin:0; font-size:clamp(2.25rem,3.5vw,3.4rem); line-height:1.05; }
.cm-sp-search { width:min(100%,430px); position:relative; }.cm-sp-search:before { position:absolute; top:50%; left:18px; width:13px; height:13px; border:2px solid #0464a8; border-radius:50%; content:""; transform:translateY(-58%); }.cm-sp-search:after { position:absolute; top:56%; left:31px; width:7px; height:2px; background:#0464a8; content:""; transform:rotate(45deg); }.cm-sp-search input { width:100%; padding:15px 18px 15px 44px; border:1px solid #d5e3f0; border-radius:12px; outline:none; color:#123a74; font:inherit; font-size:.84rem; }.cm-sp-search input:focus { border-color:#0464a8; box-shadow:0 0 0 4px rgba(4,100,168,.11); }
.cm-sp-filters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:36px; }.cm-sp-filters button { padding:9px 15px; border:1px solid #dce7f1; border-radius:999px; background:#fff; color:#416a9f; cursor:pointer; font:600 .78rem inherit; transition:.2s; }.cm-sp-filters button:hover,.cm-sp-filters button.is-active { border-color:#0464a8; background:#0464a8; color:#fff; }
.cm-sp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.cm-sp-card { display:flex; min-height:345px; flex-direction:column; padding:29px; border:1px solid #e0eaf3; border-radius:20px; background:#fff; box-shadow:0 10px 30px rgba(18,58,116,.045); transition:transform .22s,box-shadow .22s,border-color .22s; }.cm-sp-card:hover { border-color:#bed9ee; box-shadow:0 18px 44px rgba(18,58,116,.12); transform:translateY(-5px); }.cm-sp-card[hidden]{display:none}.cm-sp-card-icon { display:grid; width:44px; height:44px; margin-bottom:22px; place-items:center; border-radius:12px; background:#eaf4fc; color:#0464a8; }.cm-sp-card-icon .cm-icon { width:23px; height:23px; }.cm-sp-card h3 { margin:0 0 10px; font-size:1.2rem; }.cm-sp-card p { margin:0 0 16px; font-size:.84rem; line-height:1.6; }.cm-sp-card ul { display:grid; gap:6px; margin:0 0 20px; padding:0; list-style:none; color:#476fa3; font-size:.76rem; }.cm-sp-card li:before { margin-right:7px; color:#eb7624; content:"•"; }.cm-sp-card a { display:inline-flex; align-items:center; gap:7px; margin-top:auto; color:#0464a8; font-size:.8rem; font-weight:700; text-decoration:none; }.cm-sp-card a .cm-icon { width:16px; height:16px; }.cm-sp-empty { padding:28px; text-align:center; }
.cm-sp-featured { padding:85px 0; background:#092c5d; color:#dcecff; }.cm-sp-featured h2 { color:#fff; max-width:630px; }.cm-sp-featured p:not(.cm-eyebrow) { max-width:570px; margin:20px 0 28px; color:#d4e4f9; }.cm-sp-featured-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }.cm-sp-featured .cm-eyebrow { color:#8ecbff; }.cm-sp-featured-mark { display:grid; width:180px; height:180px; flex:0 0 auto; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; color:#9fdaff; box-shadow:inset 0 0 0 25px rgba(255,255,255,.04); }.cm-sp-featured-mark .cm-icon { width:73px; height:73px; }
@media (max-width: 960px) { .cm-sp-hero { padding-top:145px; }.cm-sp-hero-grid { gap:38px; }.cm-sp-grid { grid-template-columns:repeat(2,1fr); }.cm-sp-directory-head { align-items:start; flex-direction:column; }.cm-sp-search { width:100%; }.cm-sp-hero-visual { min-height:360px; }.cm-sp-hero-visual img { min-height:360px; } }
@media (max-width: 640px) { .cm-sp-hero { min-height:auto; padding:130px 0 68px; }.cm-sp-hero-grid,.cm-sp-grid { grid-template-columns:1fr; }.cm-sp-hero-visual { min-height:300px; }.cm-sp-hero-visual img { min-height:300px; }.cm-sp-trust-card { right:8px; bottom:-14px; }.cm-sp-directory { padding:80px 0; }.cm-sp-card { min-height:0; }.cm-sp-featured { padding:65px 0; }.cm-sp-featured-inner { align-items:flex-start; flex-direction:column; }.cm-sp-featured-mark { width:105px; height:105px; }.cm-sp-featured-mark .cm-icon { width:45px; height:45px; } }

/* Orientation callout: a calm white surface with Medi as the approachable guide. */
body.cm-modern-home .cm-specialties-page .cm-sp-featured { position:relative; overflow:hidden; padding:78px 0; border-top:1px solid #e4edf5; border-bottom:1px solid #e4edf5; background:linear-gradient(112deg,#fff 0%,#f5faff 100%); color:#315d94; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured:before { position:absolute; top:-210px; right:8%; width:460px; height:460px; border:1px solid rgba(4,100,168,.12); border-radius:50%; box-shadow:inset 0 0 0 38px rgba(4,100,168,.025); content:""; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured h2 { color:#123a74 !important; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured .cm-eyebrow { color:#0464a8; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured p:not(.cm-eyebrow) { color:#3d6394; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured-inner { position:relative; min-height:266px; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi { display:flex; width:285px; height:280px; flex:0 0 285px; align-items:flex-end; justify-content:center; overflow:hidden; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi img { width:100%; max-width:none; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 18px 15px rgba(7,33,71,.16)); transform:translateY(9px); }
@media (max-width:640px) { body.cm-modern-home .cm-specialties-page .cm-sp-featured { padding:60px 0 0; } body.cm-modern-home .cm-specialties-page .cm-sp-featured-inner { min-height:0; } body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi { align-self:center; width:220px; height:260px; margin:0 auto; flex-basis:260px; } }

body.cm-modern-home .cm-specialties-page .cm-sp-featured { overflow:visible; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi { width:365px; height:355px; flex-basis:365px; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi img { transform:translateY(-68px); }
@media (max-width:640px) { body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi { width:250px; height:280px; flex-basis:280px; } body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi img { transform:translateY(-24px); } }

/* Medi intentionally breaks the upper edge of the orientation section. */
body.cm-modern-home .cm-specialties-page .cm-sp-featured-inner { min-height:320px; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi { position:relative; width:380px; height:340px; flex:0 0 380px; align-self:stretch; overflow:visible; }
body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi::after { position:absolute; z-index:0; right:24px; bottom:-23px; width:238px; height:30px; border-radius:50%; background:rgba(7,33,71,.22); content:""; filter:blur(14px); transform:scaleX(.9); }
body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi img { position:absolute; z-index:1; right:0; bottom:-20px; width:300px; max-width:none; height:auto; object-fit:initial; object-position:initial; filter:drop-shadow(0 15px 9px rgba(7,33,71,.13)); transform:none; }
@media (max-width:640px) { body.cm-modern-home .cm-specialties-page .cm-sp-featured { padding-top:70px; } body.cm-modern-home .cm-specialties-page .cm-sp-featured-inner { min-height:0; } body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi { width:250px; height:310px; min-height:310px; margin:0 auto; flex:0 0 310px; } body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi img { right:0; bottom:-12px; width:228px; transform:none; } body.cm-modern-home .cm-specialties-page .cm-sp-featured-medi::after { right:4px; bottom:-13px; width:190px; } }

.cm-sp-hero-visual{isolation:isolate}.cm-sp-hero-visual .cm-visual-slide{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;opacity:0;transition:opacity 900ms ease,transform 1200ms ease;transform:scale(1.025)}.cm-sp-hero-visual .cm-visual-slide.is-active{opacity:1;transform:scale(1)}.cm-sp-trust-card{z-index:2}

/* Branded annotation over the internal hero image. */
body.cm-modern-home .cm-sp-trust-card{border-color:rgba(255,255,255,.38);background:#eb7624;color:#fff;box-shadow:0 16px 34px rgba(160,67,13,.27)}
body.cm-modern-home .cm-sp-trust-card strong,body.cm-modern-home .cm-sp-trust-card span{color:#fff}

/* Shared closing call to action, matching the premium Nosotros view. */
.cm-specialties-page .cm-ab-cta { padding:105px 0; background:#f4f9fd; }
.cm-specialties-page .cm-ab-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:55px; }
.cm-specialties-page .cm-ab-cta h2 { margin:0; color:#123a74; font-size:clamp(2.25rem,3.75vw,3.7rem); line-height:1.06; }
.cm-specialties-page .cm-ab-cta-inner>div:last-child { max-width:345px; }
.cm-specialties-page .cm-ab-cta-inner>div:last-child>p { margin:0 0 21px; color:#3d6394; font-size:.92rem; line-height:1.7; }
@media (max-width:640px) { .cm-specialties-page .cm-ab-cta { padding:79px 0; } .cm-specialties-page .cm-ab-cta-inner { align-items:flex-start; flex-direction:column; gap:25px; } }

/* Acento editorial compartido en los títulos de hero internos. */
.cm-sp-hero h1 em { color:#eb7624; }

/* Agenda con el mismo gesto ligero de las tarjetas de Atención integral. */
body.cm-modern-home .cm-specialties-page .cm-sp-card a { transition:color .2s ease; }
body.cm-modern-home .cm-specialties-page .cm-sp-card a .cm-icon { transition:transform .2s ease; }
body.cm-modern-home .cm-specialties-page .cm-sp-card:hover > a,
body.cm-modern-home .cm-specialties-page .cm-sp-card:focus-within > a { color:#eb7624; }
body.cm-modern-home .cm-specialties-page .cm-sp-card a:hover .cm-icon,
body.cm-modern-home .cm-specialties-page .cm-sp-card a:focus-visible .cm-icon { transform:translateX(4px); }
