/* =====================================================================
   SERVICIOS WEB MORELOS — Hoja de estilo de los artículos del blog
   Mismos tokens que index.html. Autónoma: no depende de la landing.
   ===================================================================== */

:root{
  --navy-900:#08203b;
  --navy-800:#0b2a4a;
  --blue-600:#1b6fd6;
  --sky-400:#38bdf8;
  --cta:#f97316;
  --wa:#25d366;
  --ink:#0c2340;
  --slate-600:#475569;
  --slate-400:#94a3b8;
  --bg-soft:#eaf2fe;
  --line:#e2e8f0;
  --grad-brand:linear-gradient(135deg,#1b6fd6 0%,#0b2a4a 100%);
  --grad-sky:linear-gradient(135deg,#38bdf8 0%,#1b6fd6 100%);
  --shadow-sm:0 4px 14px rgba(11,42,74,.08);
  --shadow-md:0 18px 40px -12px rgba(11,42,74,.22);
  --radius:18px;
  --radius-lg:26px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

.wrap{max-width:760px;margin:0 auto;padding:0 24px}

/* ---------- Barra superior ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.topbar .wrap{
  max-width:1200px;height:70px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.topbar .brand img{height:36px;width:auto}
.topbar .back{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:.9rem;color:var(--slate-600);
  transition:color .2s;
}
.topbar .back:hover{color:var(--blue-600)}
.topbar .back svg{width:17px;height:17px}

/* ---------- Cabecera del artículo ---------- */
.hero{padding:56px 0 40px;background:linear-gradient(180deg,var(--bg-soft) 0%,#fff 100%)}
.crumbs{font-size:.82rem;color:var(--slate-400);margin-bottom:22px}
.crumbs a{color:var(--blue-600);font-weight:600}
.crumbs span{margin:0 7px}
.cat{
  display:inline-block;padding:6px 14px;border-radius:999px;
  background:var(--grad-sky);color:#fff;
  font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:20px;
}
.hero h1{
  font-size:clamp(1.9rem,4.6vw,2.9rem);line-height:1.12;
  letter-spacing:-.02em;font-weight:800;margin-bottom:20px;
}
.hero .sub{font-size:1.1rem;color:var(--slate-600);margin-bottom:26px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:.86rem;color:var(--slate-400)}
.meta .dot{width:4px;height:4px;border-radius:50%;background:var(--slate-400)}

.cover{margin:36px 0 0}
.cover img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}

/* ---------- Cuerpo ---------- */
.post{padding:44px 0 60px}
.post h2{
  font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:800;letter-spacing:-.015em;
  margin:44px 0 16px;line-height:1.2;
}
.post h3{font-size:1.15rem;font-weight:800;margin:30px 0 12px}
.post p{margin-bottom:20px;color:#1e3a5f}
.post strong{font-weight:700;color:var(--ink)}
.post a:not(.btn){color:var(--blue-600);font-weight:600;border-bottom:1.5px solid rgba(27,111,214,.3)}
.post a:not(.btn):hover{border-bottom-color:var(--blue-600)}

.post ul.check{margin:0 0 24px}
.post ul.check li{
  position:relative;padding-left:32px;margin-bottom:12px;color:#1e3a5f;
}
.post ul.check li::before{
  content:"";position:absolute;left:0;top:9px;
  width:18px;height:18px;border-radius:50%;
  background:var(--grad-sky);
}
.post ul.check li::after{
  content:"";position:absolute;left:5px;top:14px;
  width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}

.post ol.steps{counter-reset:paso;margin:0 0 24px}
.post ol.steps li{
  counter-increment:paso;position:relative;padding-left:44px;margin-bottom:18px;color:#1e3a5f;
}
.post ol.steps li::before{
  content:counter(paso);position:absolute;left:0;top:2px;
  width:30px;height:30px;border-radius:9px;
  background:var(--grad-brand);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.9rem;
}

.callout{
  border-left:4px solid var(--blue-600);
  background:var(--bg-soft);
  border-radius:0 var(--radius) var(--radius) 0;
  padding:22px 26px;margin:30px 0;
}
.callout p{margin:0;font-size:.98rem}
.callout p + p{margin-top:12px}

/* ---------- Cierre / CTA ---------- */
.cta-card{
  background:var(--grad-brand);color:#fff;
  border-radius:var(--radius-lg);padding:40px 34px;margin:52px 0 0;
  text-align:center;box-shadow:var(--shadow-md);
}
.cta-card h2{color:#fff;font-size:clamp(1.4rem,3vw,1.9rem);margin:0 0 14px}
.cta-card p{color:rgba(255,255,255,.86);margin-bottom:26px}
.btn-wa{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--wa);color:#fff;font-weight:800;
  padding:15px 30px;border-radius:999px;font-size:1rem;
  transition:transform .25s var(--ease),box-shadow .25s;
}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(37,211,102,.6)}
.btn-wa svg{width:21px;height:21px}

/* ---------- Otros artículos ---------- */
.more{padding:56px 0;background:var(--bg-soft)}
.more .wrap{max-width:1200px}
.more h2{font-size:1.5rem;font-weight:800;margin-bottom:26px;text-align:center}
.more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.more-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease),box-shadow .3s;
}
.more-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.more-card span{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-600)}
.more-card h3{font-size:1.06rem;font-weight:800;margin:10px 0 8px;line-height:1.3}
.more-card p{font-size:.9rem;color:var(--slate-600)}

/* ---------- Pie ---------- */
.foot{background:var(--navy-900);color:rgba(255,255,255,.72);padding:40px 0;text-align:center;font-size:.88rem}
.foot .wrap{max-width:1200px}
.foot a{color:var(--sky-400);font-weight:600}
.foot .links{margin-bottom:14px;display:flex;flex-wrap:wrap;gap:18px;justify-content:center}

@media(max-width:880px){
  .more-grid{grid-template-columns:1fr}
  .hero{padding:40px 0 30px}
  .topbar .brand img{height:30px}
}
