/* Sistema visual compartido: portada, blog y páginas de servicio. */
:root { --sinbio-page-ink:#082d4d; --sinbio-page-muted:#3c6076; --sinbio-page-line:rgba(0,126,174,.18); --sinbio-page-cyan:#23c6d0; --sinbio-page-green:#47cf96; }

/* El encabezado conserva exactamente la misma escala y respuesta en cada ruta. */
html .site-header.site-header { border-bottom:1px solid rgba(0,78,173,.14)!important; background-color:rgba(255,255,255,.94)!important; background-image:linear-gradient(90deg,#0068b8,#18bdd0,#47c985)!important; background-repeat:no-repeat!important; background-size:100% 2px!important; background-position:left bottom!important; box-shadow:0 4px 18px rgba(6,57,87,.05)!important; }
html .site-header.site-header .nav { width:min(1500px,calc(100% - 80px))!important; min-height:82px!important; gap:24px!important; }
html .site-header.site-header .brand img { width:172px!important; }
html .site-header.site-header nav { gap:24px!important; }
html .site-header.site-header nav a { color:#29475a!important; font-size:.9rem!important; font-weight:800!important; }
html .site-header.site-header nav a:hover,html .site-header.site-header nav a[aria-current="page"] { color:#006cba!important; background:rgba(0,169,214,.09)!important; }
html .site-header.site-header .nav-cta { min-height:46px!important; padding:12px 20px!important; border-radius:9px!important; font-size:.9rem!important; }
html .site-header.site-header .theme-toggle { width:44px!important; height:44px!important; flex-basis:44px!important; border-radius:50%!important; }
html[data-theme="dark"] .site-header.site-header { border-bottom-color:rgba(108,226,234,.25)!important; background-color:rgba(3,27,48,.94)!important; box-shadow:0 5px 20px rgba(0,0,0,.18)!important; }
html[data-theme="dark"] .site-header.site-header nav a { color:#d9eff6!important; }
html[data-theme="dark"] .site-header.site-header nav a:hover,html[data-theme="dark"] .site-header.site-header nav a[aria-current="page"] { color:#8fe9ed!important; background:rgba(101,220,237,.12)!important; }
/* El selector circular de la portada se replica completo: no se conserva el
   desplazamiento del interruptor horizontal original, que lo sacaba del aro. */
html .site-header.site-header .brand { margin-right:auto!important; }
html .site-header.site-header nav { margin-left:auto!important; margin-right:0!important; justify-content:center!important; }
html .site-header.site-header .theme-toggle { display:grid!important; place-items:center!important; min-height:44px!important; padding:0!important; border:1px solid #c5deeb!important; background:#eef8fd!important; box-shadow:none!important; flex:0 0 44px!important; overflow:hidden!important; }
html .site-header.site-header .theme-toggle-track { position:static!important; display:grid!important; place-items:center!important; width:100%!important; height:100%!important; inset:auto!important; background:transparent!important; border:0!important; box-shadow:none!important; }
html .site-header.site-header .theme-toggle-thumb { position:static!important; display:grid!important; place-items:center!important; width:28px!important; height:28px!important; transform:none!important; background:transparent!important; box-shadow:none!important; }
html .site-header.site-header .theme-icon { position:static!important; transform:none!important; color:#0073b8!important; font-size:22px!important; }
html .site-header.site-header .theme-icon-dark { display:none!important; }
html[data-theme="dark"] .site-header.site-header .theme-toggle { background:#103d56!important; border-color:#2b617a!important; }
html[data-theme="dark"] .site-header.site-header .theme-icon-light { display:none!important; }
html[data-theme="dark"] .site-header.site-header .theme-icon-dark { display:block!important; opacity:1!important; color:#b8e7fa!important; }
html .site-header.site-header .theme-toggle:focus-visible { outline:3px solid #21b5d0!important; outline-offset:3px!important; }
@media(max-width:1240px) { html .site-header.site-header .nav { width:calc(100% - 36px)!important; min-height:70px!important; gap:14px!important; } html .site-header.site-header .brand img { width:140px!important; } }

/* Blog: misma atmósfera de la portada, sin convertir una lectura editorial en una landing. */
.blog { isolation:isolate; background:radial-gradient(circle at 88% 4%,rgba(29,203,210,.17),transparent 26rem),linear-gradient(180deg,#edfaff 0%,#f8fcfe 46%,#edf8fb 100%)!important; }
.blog::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.66; background-image:linear-gradient(90deg,rgba(0,116,174,.035) 1px,transparent 1px),linear-gradient(rgba(0,116,174,.035) 1px,transparent 1px); background-size:76px 76px; }
.blog .blog-head { padding-left:clamp(18px,3vw,38px)!important; border-left:4px solid var(--sinbio-page-cyan)!important; }
.blog .blog-head h1,.blog-listing-head h2,.blog-topic-section h3 { color:var(--sinbio-page-ink)!important; }
.blog .blog-head > p:not(.eyebrow) { color:var(--sinbio-page-muted)!important; }
.blog-featured,.blog-topic-section .post { border-color:var(--sinbio-page-line)!important; box-shadow:0 18px 42px rgba(7,58,88,.11)!important; }
.blog-featured { border-top:3px solid var(--sinbio-page-cyan)!important; }
.blog-topic-section { border-top-color:rgba(0,129,177,.2)!important; }
.blog-topic-section > header > span { color:#006fa1!important; background:#e0f8fa!important; }
html[data-theme="dark"] .blog { background:radial-gradient(circle at 86% 2%,rgba(53,211,207,.13),transparent 27rem),linear-gradient(180deg,#041a2d,#062842 56%,#041c31)!important; }
html[data-theme="dark"] .blog::after { background-image:linear-gradient(90deg,rgba(115,226,231,.045) 1px,transparent 1px),linear-gradient(rgba(115,226,231,.045) 1px,transparent 1px); }
html[data-theme="dark"] .blog .blog-head { border-left-color:#63dfe2!important; }
html[data-theme="dark"] .blog .blog-head h1,html[data-theme="dark"] .blog-listing-head h2,html[data-theme="dark"] .blog-topic-section h3 { color:#f1fcff!important; }
html[data-theme="dark"] .blog-topic-section > header > span { color:#a0eff0!important; background:rgba(84,215,214,.13)!important; }
html[data-theme="dark"] .blog .blog-head > p:not(.eyebrow),html[data-theme="dark"] .blog .post p,html[data-theme="dark"] .blog-topic-section > header > div > p:not(.eyebrow) { color:#c1dce8!important; }
html[data-theme="dark"] .blog .post small,html[data-theme="dark"] .blog .post em { color:#91e7ea!important; }

/* Las notas mantienen el formato de artículo, con la misma retícula y transición de la portada. */
.article-wrap { position:relative; isolation:isolate; background:radial-gradient(circle at 86% 2%,rgba(32,200,209,.15),transparent 25rem),linear-gradient(180deg,#edfaff,#f9fdff 56%,#eaf7fa)!important; }
.article-wrap::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background-image:linear-gradient(90deg,rgba(0,116,174,.035) 1px,transparent 1px),linear-gradient(rgba(0,116,174,.035) 1px,transparent 1px); background-size:76px 76px; }
body .article-wrap .article { border-color:rgba(0,120,175,.16)!important; box-shadow:0 20px 48px rgba(7,58,88,.1)!important; }
.article-header { border-top:3px solid var(--sinbio-page-cyan)!important; }
html[data-theme="dark"] .article-wrap { background:radial-gradient(circle at 86% 2%,rgba(34,200,208,.12),transparent 25rem),linear-gradient(180deg,#041a2d,#062842 56%,#041c31)!important; }
html[data-theme="dark"] .article-wrap::before { background-image:linear-gradient(90deg,rgba(115,226,231,.045) 1px,transparent 1px),linear-gradient(rgba(115,226,231,.045) 1px,transparent 1px); }

/* Contraste editorial: la tarjeta de siguiente paso siempre usa tipografía
   clara sobre su fondo azul; las tarjetas y el contenido secundario respetan
   el contraste en ambos temas. */
.article-wrap .article-cta { background:linear-gradient(135deg,#06476d,#086f91)!important; border:1px solid rgba(102,228,235,.28)!important; box-shadow:0 18px 36px rgba(4,42,70,.16)!important; }
.article-wrap .article-cta h2 { color:#f4feff!important; }
.article-wrap .article-cta > p:not(.eyebrow) { color:#d8eff5!important; }
.article-wrap .article-cta .eyebrow { color:#86edf0!important; }
.article-wrap .article-cta .btn { color:#fff!important; background:#0879db!important; border-color:#31c8d8!important; }
html:not([data-theme="dark"]) .blog .post p,html:not([data-theme="dark"]) .article-wrap .article-body p,html:not([data-theme="dark"]) .article-wrap .article-body li { color:#244f6a!important; }
html[data-theme="dark"] .article-wrap .article-body p,html[data-theme="dark"] .article-wrap .article-body li,html[data-theme="dark"] .article-wrap .article .dek { color:#c8e1ea!important; }
html[data-theme="dark"] .article-wrap .article h1,html[data-theme="dark"] .article-wrap .article h2,html[data-theme="dark"] .article-wrap .article h3 { color:#f3fcff!important; }

/* Servicios: el recorrido operativo conserva su estructura, pero adquiere el ritmo de secciones de la portada. */
.service-hero { position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid rgba(68,209,207,.24); background:radial-gradient(circle at 83% 12%,rgba(0,169,214,.24),transparent 25rem),linear-gradient(135deg,#04243e,#073f60 58%,#07566a)!important; }
.service-hero::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.8; background-image:linear-gradient(90deg,rgba(139,237,236,.07) 1px,transparent 1px),linear-gradient(rgba(139,237,236,.07) 1px,transparent 1px); background-size:76px 76px; }
.service-hero-copy .back-link { color:#8ce9ea!important; }
.service-hero-copy h1 { color:#f4feff!important; letter-spacing:-.042em!important; }
.service-hero-copy > p:not(.eyebrow) { color:#c8e5ed!important; }
.service-hero-media { border:1px solid rgba(133,235,231,.34)!important; box-shadow:0 24px 52px rgba(0,20,38,.28)!important; }
.service-section,.service-faq,.related { position:relative; background:linear-gradient(180deg,#f4fbfd,#edf8fb)!important; }
.service-process { position:relative; background:radial-gradient(circle at 88% 15%,rgba(0,169,214,.14),transparent 24rem),linear-gradient(180deg,#effaff,#e8f6fa)!important; }
.service-faq { border-top:1px solid rgba(0,122,174,.14); }
.service-section .section-head,.service-process .section-head,.service-faq .section-head { padding-bottom:clamp(20px,3vw,30px); border-bottom:1px solid rgba(0,126,174,.2); }
.service-section .section-head h2,.service-process .section-head h2,.service-faq .section-head h2 { color:var(--sinbio-page-ink)!important; }
html:not([data-theme="dark"]) .service-section .section-head > p:not(.eyebrow),html:not([data-theme="dark"]) .service-process .section-head > p:not(.eyebrow),html:not([data-theme="dark"]) .service-faq .section-head > p:not(.eyebrow) { color:var(--sinbio-page-muted)!important; }
/* El tema claro conserva legibilidad, pero no debe borrar la apertura azul de los servicios. */
html:not([data-theme="dark"]) .service-hero { color:#effcff!important; background:radial-gradient(circle at 83% 12%,rgba(0,169,214,.24),transparent 25rem),linear-gradient(135deg,#04243e,#073f60 58%,#07566a)!important; }
html:not([data-theme="dark"]) .service-hero .service-hero-copy[class] .back-link { color:#8ce9ea!important; }
html:not([data-theme="dark"]) .service-hero .service-hero-copy[class] h1 { color:#f4feff!important; }
html:not([data-theme="dark"]) .service-hero .service-hero-copy[class] > p:not(.eyebrow) { color:#c8e5ed!important; }
html:not([data-theme="dark"]) .service-hero-media { border-color:rgba(133,235,231,.34)!important; box-shadow:0 24px 52px rgba(0,20,38,.28)!important; }
html[data-theme="dark"] .service-section,html[data-theme="dark"] .service-faq,html[data-theme="dark"] .related { background:linear-gradient(180deg,#061d32,#082b44)!important; }
html[data-theme="dark"] .service-process { background:radial-gradient(circle at 88% 15%,rgba(71,211,206,.12),transparent 24rem),linear-gradient(180deg,#04192b,#06263d)!important; }
html[data-theme="dark"] .service-section .section-head,html[data-theme="dark"] .service-process .section-head,html[data-theme="dark"] .service-faq .section-head { border-bottom-color:rgba(110,224,226,.22); }

@media(max-width:760px) { .blog .blog-head { padding-left:18px!important; border-left-width:3px!important; } .service-hero::before,.blog::after,.article-wrap::before { background-size:54px 54px; } .service-section .section-head,.service-process .section-head,.service-faq .section-head { padding-bottom:18px; } }