.article-shell{
max-width:860px;
margin:0 auto;
}

.article-block{
padding:3rem 0;
border-bottom:1px solid #eef2f7;
}

.article-block.alt{
background:#f8fafc;
padding:3rem;
border-radius:24px;
margin:2rem 0;
border:none;
}

.article-page h2{
font-size:2rem;
line-height:1.2;
margin-bottom:1rem;
color:#0f172a;
}

.article-page p,
.article-page li{
font-size:1.08rem;
line-height:1.95;
color:#334155;
}

.article-figure{
margin:2rem 0 3rem;
}

.article-figure img{
width:100%;
border-radius:22px;
box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.article-figure figcaption{
margin-top:.8rem;
font-size:.92rem;
color:#64748b;
text-align:center;
}

.mini-cta{
background:linear-gradient(135deg,#0f172a,#1e293b);
color:#fff;
padding:3rem;
border-radius:24px;
margin:4rem 0;
text-align:center;
}

.references{
background:#f8fafc;
padding:2rem;
border-radius:24px;
margin-top:4rem;
}

.hero-img{
width:100%;
border-radius:24px;
box-shadow:0 20px 60px rgba(0,0,0,.12);
}
.article-hero .btn-primary,


.mini-cta .btn-primary:hover{

filter:brightness(1.05);

color:#ffffff !important;

}
justify-content:center;
gap:1rem;
margin-bottom:1.4rem;
}

.cta-clean{
font-size:1rem;
opacity:.78;
margin-top:1rem;
}

/* HOTFIX HERO CTA CLEAN */

.service-hero.article-hero .btn-primary{
background:#2563eb !important;
color:#ffffff !important;
border:none !important;
text-shadow:none !important;
}

.service-hero.article-hero .btn-primary:hover{
background:#1d4ed8 !important;
color:#ffffff !important;
}

.article-outline{
background:#ffffff !important;
color:#0f172a !important;
border:2px solid rgba(255,255,255,.35) !important;
font-weight:700;
}

.article-outline:hover{
border-color:#ffffff !important;
transform:translateY(-1px);
}

.final-cta{
padding:5rem 0 !important;
text-align:center !important;
}

.final-cta .service-actions{
justify-content:center !important;
gap:1rem !important;
margin-top:2rem !important;
}

.cta-note{
opacity:.8;
margin-top:1rem;
}

.hero-link{
margin-top:1rem;
font-size:.98rem;
opacity:.85;
}

.hero-link a{
font-weight:700;
text-decoration:none;
}


/* ===== PREMIUM FINAL UI ===== */

.hero-dark-btn{
background:linear-gradient(135deg,#0f172a,#1e293b) !important;
color:#ffffff !important;
border:1px solid rgba(255,255,255,.18) !important;
margin-top:1rem;
font-weight:700;
}

.hero-dark-btn:hover{
color:#ffffff !important;
transform:translateY(-1px);
}

.mini-cta h2,
.mini-cta p{
color:#ffffff !important;
}

.badge-btn{
background:rgba(255,255,255,.08) !important;
color:#ffffff !important;
border:1px solid rgba(255,255,255,.18) !important;
backdrop-filter:blur(8px);
font-weight:700;
margin-bottom:1rem;
}

.badge-btn:hover{
color:#ffffff !important;
border-color:rgba(255,255,255,.35) !important;
}

.final-cta .service-badge-dot{
display:none !important;
}

/* CTA PILL CLEAN */

.cta-pill{
display:inline-flex;
align-items:center;
justify-content:center;
padding:.72rem 1.15rem;
border-radius:999px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.14);
color:#ffffff !important;
font-size:.92rem;
font-weight:700;
letter-spacing:.01em;
text-decoration:none;
margin-bottom:1rem;
}

.cta-pill:hover{
color:#ffffff !important;
border-color:rgba(255,255,255,.28);
transform:translateY(-1px);
}

/* HERO OVERLAP FIX DEFINITIVO */

.service-hero.article-hero{
padding-top:5.5rem !important;
padding-bottom:4rem !important;
}

.service-hero.article-hero .container{
display:block !important;
}

.service-hero.article-hero .service-badge,
.service-hero.article-hero .cta-pill{
display:inline-flex !important;
position:relative !important;
z-index:2 !important;
margin-bottom:1.4rem !important;
}

.service-hero.article-hero h1{
display:block !important;
position:relative !important;
z-index:1 !important;
margin-top:0 !important;
font-size:clamp(2.4rem,7vw,4.8rem) !important;
line-height:1.02 !important;
letter-spacing:-0.03em !important;
max-width:900px !important;
}

.service-hero.article-hero .service-sub,
.service-hero.article-hero p{
margin-top:1.2rem !important;
}

@media (max-width:768px){

.service-hero.article-hero{
padding-top:4.2rem !important;
}

.service-hero.article-hero h1{
font-size:clamp(2.2rem,11vw,3.6rem) !important;
line-height:1.04 !important;
}

.service-hero.article-hero .service-badge,
.service-hero.article-hero .cta-pill{
margin-bottom:1rem !important;
}

}


/* CTA PILL HARD RESET */

.service-hero.article-hero .cta-pill,
.final-cta .cta-pill{
display:inline-flex !important;
width:auto !important;
inline-size:auto !important;
height:auto !important;
block-size:auto !important;
min-width:unset !important;
max-width:none !important;

padding:10px 18px !important;
line-height:1 !important;

white-space:nowrap !important;
word-break:normal !important;

font-size:13px !important;
font-weight:700 !important;
letter-spacing:.02em !important;

border-radius:999px !important;

background:rgba(255,255,255,.08) !important;
border:1px solid rgba(255,255,255,.14) !important;
color:#ffffff !important;
text-decoration:none !important;

margin:0 0 16px 0 !important;
}

/* SERVICE BADGE HARD OVERRIDE */

.service-hero.article-hero .service-badge{
all: unset !important;

display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

width:auto !important;
height:auto !important;
min-width:0 !important;
max-width:none !important;

padding:10px 18px !important;
margin:0 0 18px 0 !important;

background:rgba(255,255,255,.08) !important;
border:1px solid rgba(255,255,255,.14) !important;
border-radius:999px !important;

font-family:Inter,sans-serif !important;
font-size:13px !important;
font-weight:700 !important;
line-height:1 !important;
letter-spacing:.02em !important;

color:#ffffff !important;
white-space:nowrap !important;
text-decoration:none !important;
box-sizing:border-box !important;
}

.service-hero.article-hero .service-badge *{
all: unset !important;
display:inline !important;
color:#ffffff !important;
}


/* ===============================
   FINAL CTA PREMIUM REDESIGN
   =============================== */

.final-cta{
background:linear-gradient(180deg,#f8fafc 0%, #ffffff 100%) !important;
padding:72px 24px !important;
text-align:center !important;
border-top:1px solid rgba(15,23,42,.06);
}

.final-cta .container.narrow{
max-width:920px !important;
margin:0 auto !important;
}

.final-cta .cta-pill,
.final-cta .service-badge{
all:unset !important;
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
padding:10px 18px !important;
margin:0 0 18px 0 !important;
border-radius:999px !important;
background:#eef2ff !important;
border:1px solid #dbeafe !important;
color:#1e3a8a !important;
font-size:14px !important;
font-weight:700 !important;
line-height:1 !important;
}

.final-cta h2{
font-size:clamp(2rem,5vw,3.6rem) !important;
line-height:1.05 !important;
letter-spacing:-0.03em !important;
font-weight:800 !important;
color:#0f172a !important;
max-width:760px !important;
margin:0 auto 18px auto !important;
}

.final-cta .service-sub{
font-size:1.28rem !important;
line-height:1.55 !important;
color:#475569 !important;
max-width:760px !important;
margin:0 auto 34px auto !important;
}

.final-cta .service-actions{
display:flex !important;
justify-content:center !important;
align-items:stretch !important;
gap:18px !important;
flex-wrap:wrap !important;
margin:0 auto 28px auto !important;
}

.final-cta .btn{
min-width:280px !important;
min-height:64px !important;
padding:18px 28px !important;
border-radius:16px !important;
font-size:1.08rem !important;
font-weight:700 !important;
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
transition:all .25s ease !important;
text-decoration:none !important;
}

.final-cta .btn-primary{
background:linear-gradient(135deg,#2563eb,#1d4ed8) !important;
color:#ffffff !important;
border:none !important;
box-shadow:0 14px 30px rgba(37,99,235,.18) !important;
}

.final-cta .btn-primary:hover{
transform:translateY(-2px);
}

.final-cta .article-outline{
background:#ffffff !important;
color:#0f172a !important;
border:1px solid rgba(15,23,42,.14) !important;
box-shadow:0 10px 24px rgba(15,23,42,.06);
}

.final-cta .article-outline:hover{
transform:translateY(-2px);
}

.final-cta p:last-child{
font-size:1.22rem !important;
color:#334155 !important;
margin-top:8px !important;
font-weight:500 !important;
}

@media (max-width:768px){

.final-cta{
padding:56px 18px !important;
}

.final-cta .btn{
width:100% !important;
min-width:0 !important;
}

.final-cta .service-actions{
gap:14px !important;
}

.final-cta h2{
font-size:2.2rem !important;
}

.final-cta .service-sub{
font-size:1.08rem !important;
}

}


/* ==================================
   CTA FINAL MICRO-POLISH DEFINITIVO
   ================================== */

.final-cta{
padding:64px 28px !important;
}

.final-cta .container.narrow{
max-width:980px !important;
}

.final-cta .cta-pill{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:0 !important;
padding:0 !important;
min-width:36px !important;
width:36px !important;
height:20px !important;
border-radius:999px !important;
background:#e7efff !important;
border:1px solid #d7e4ff !important;
font-size:0 !important;
color:transparent !important;
margin:0 auto 14px auto !important;
overflow:hidden !important;
}

.final-cta .cta-pill::after{
content:"Acompañamiento profesional";
display:block;
position:absolute;
transform:translateY(38px);
font-size:15px;
font-weight:600;
color:#475569;
white-space:nowrap;
}

.final-cta h2{
font-size:clamp(2.4rem,5vw,4.6rem) !important;
line-height:.96 !important;
letter-spacing:-0.045em !important;
max-width:840px !important;
margin:0 auto 22px auto !important;
text-wrap:balance;
}

.final-cta .service-sub{
font-size:1.22rem !important;
max-width:760px !important;
margin:0 auto 36px auto !important;
line-height:1.55 !important;
}

.final-cta .service-actions{
gap:16px !important;
margin-bottom:28px !important;
}

.final-cta .btn{
min-width:330px !important;
min-height:66px !important;
border-radius:18px !important;
font-size:1.02rem !important;
font-weight:700 !important;
padding:18px 26px !important;
}

.final-cta .btn-primary{
box-shadow:0 18px 38px rgba(37,99,235,.16) !important;
}

.final-cta .article-outline{
background:#ffffff !important;
border:1px solid rgba(15,23,42,.10) !important;
}

.final-cta .cta-clean{
font-size:1.18rem !important;
font-weight:500 !important;
color:#334155 !important;
margin-top:4px !important;
}

@media (max-width:768px){

.final-cta{
padding:52px 18px !important;
}

.final-cta .btn{
min-width:0 !important;
width:100% !important;
}

.final-cta h2{
font-size:2.5rem !important;
line-height:1.0 !important;
}

.final-cta .service-sub{
font-size:1.05rem !important;
}

}


/* =====================================
   CTA FINAL CLEAN FIX (SIN PSEUDO BUGS)
   ===================================== */

.final-cta .cta-pill,
.final-cta .cta-pill::before,
.final-cta .cta-pill::after{
content:none !important;
}

.final-cta .cta-pill{
all:unset !important;
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
padding:10px 18px !important;
margin:0 auto 18px auto !important;
border-radius:999px !important;
background:#eef2ff !important;
border:1px solid #dbeafe !important;
color:#1e3a8a !important;
font-size:14px !important;
font-weight:700 !important;
line-height:1 !important;
white-space:nowrap !important;
text-decoration:none !important;
position:relative !important;
}

.final-cta h2{
font-size:clamp(2.4rem,5vw,4.2rem) !important;
line-height:1.02 !important;
letter-spacing:-0.04em !important;
max-width:820px !important;
margin:0 auto 20px auto !important;
text-wrap:balance;
}

.final-cta .service-sub{
margin:0 auto 34px auto !important;
max-width:760px !important;
}

.final-cta .service-actions{
gap:16px !important;
}

.final-cta .btn{
min-width:320px !important;
min-height:66px !important;
}

@media (max-width:768px){

.final-cta .btn{
width:100% !important;
min-width:0 !important;
}

.final-cta h2{
font-size:2.5rem !important;
}

}


/* ===============================
   SOLO ACOPLAR PILL + TEXTO
   =============================== */

.final-cta .cta-pill{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:10px !important;
padding:0 !important;
margin:0 auto 18px auto !important;
background:transparent !important;
border:none !important;
border-radius:0 !important;
width:auto !important;
height:auto !important;
min-width:0 !important;
box-shadow:none !important;
font-size:15px !important;
font-weight:600 !important;
line-height:1.2 !important;
color:#475569 !important;
white-space:nowrap !important;
}

.final-cta .cta-pill::before{
content:"";
display:inline-block;
width:36px;
height:20px;
border-radius:999px;
background:#eef2ff;
border:1px solid #dbeafe;
flex:0 0 auto;
}

.final-cta .cta-pill::after{
content:none !important;
}


/* ===============================
   VIÑETAS REALES EN LISTAS
   =============================== */

.article-page ul,
.article-shell ul,
.article-block ul{
list-style:disc !important;
list-style-position:outside !important;
padding-left:1.35rem !important;
margin:1rem 0 1.25rem 0 !important;
}

.article-page ul li,
.article-shell ul li,
.article-block ul li{
display:list-item !important;
margin:0 0 .7rem 0 !important;
padding-left:.15rem !important;
line-height:1.65 !important;
}

.article-page ol,
.article-shell ol,
.article-block ol{
list-style:decimal !important;
list-style-position:outside !important;
padding-left:1.45rem !important;
margin:1rem 0 1.25rem 0 !important;
}

.article-page ol li,
.article-shell ol li,
.article-block ol li{
display:list-item !important;
margin:0 0 .85rem 0 !important;
line-height:1.65 !important;
}

@media (max-width:768px){

.article-page ul,
.article-shell ul,
.article-block ul,
.article-page ol,
.article-shell ol,
.article-block ol{
padding-left:1.15rem !important;
}

}

p {
    text-align: justify;
}
li {
    text-align: justify;
}
/* FOOTNOTE RETRO NAV */
.references li{scroll-margin-top:120px;}
.references sup a{
text-decoration:none;
font-weight:700;
}
.fn-back{
margin-left:.45rem;
text-decoration:none;
font-weight:700;
opacity:.72;
}
.fn-back:hover{opacity:1;}


/* BACKLINK FOOTNOTES */
.fn-back{
margin-left:.45rem;
text-decoration:none;
font-weight:700;
opacity:.72;
}
.fn-back:hover{opacity:1;}
