*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#FAFCFA;--bg-alt:#F0F5F1;--bg-card:#FFFFFF;--bg-dark:#0B1410;
  --primary:#15A34A;--primary-light:#3AD86A;--primary-dark:#0A6E33;--primary-deep:#063D1C;
  --accent:#E45A2B;--accent-hover:#C8451D;--accent-soft:#FFF1EA;
  --text:#0F1714;--text-light:#48564E;--text-muted:#7C8B82;
  --border:#DCE5DE;--border-light:#EBF0EC;--white:#FFFFFF;
  --shadow-sm:0 1px 2px rgba(10,110,51,.05),0 1px 3px rgba(10,110,51,.04);
  --shadow-md:0 4px 16px rgba(10,110,51,.07),0 2px 6px rgba(10,110,51,.04);
  --shadow-lg:0 12px 36px rgba(10,110,51,.10),0 4px 12px rgba(10,110,51,.05);
  --shadow-cta:0 10px 28px rgba(228,90,43,.28);
  --font:'Inter','Segoe UI','-apple-system','BlinkMacSystemFont',sans-serif;
  --section-y:clamp(3rem,6vw,5rem);--px:clamp(1.25rem,5vw,2.5rem);
  --max:1120px;--narrow:760px;
  --ease:cubic-bezier(.25,.46,.45,.94);--dur:.3s;
}
html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--primary-dark);text-decoration:none;transition:color var(--dur) var(--ease)}
a:hover{color:var(--primary)}
h1,h2,h3,h4,h5{font-family:var(--font);font-weight:700;line-height:1.25;color:var(--text);letter-spacing:-.02em}
p{margin:0 0 1rem}p:last-child{margin-bottom:0}
img{max-width:100%;height:auto;display:block}
svg{display:inline-block;vertical-align:middle}
.c{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--px)}
.c--narrow{max-width:var(--narrow)}

/* Buttons */
.b{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font);font-size:.9375rem;font-weight:600;line-height:1;padding:.875rem 1.5rem;border:none;border-radius:10px;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);text-decoration:none;white-space:nowrap}
.bp{background:var(--accent);color:var(--white);box-shadow:var(--shadow-cta)}
.bp:hover{background:var(--accent-hover);color:var(--white);transform:translateY(-1px);box-shadow:0 14px 32px rgba(228,90,43,.36)}
.bs{background:var(--white);color:var(--primary-dark);border:1.5px solid var(--border)}
.bs:hover{border-color:var(--primary);color:var(--primary-dark)}
.bg{background:var(--primary-dark);color:var(--white)}
.bg:hover{background:var(--primary-deep);color:var(--white);transform:translateY(-1px)}
.bl{font-size:1rem;padding:1.05rem 1.85rem;border-radius:12px}

/* Header */
.hdr{position:sticky;top:0;z-index:100;background:rgba(250,252,250,.86);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.hdr--scrolled{border-bottom-color:var(--border-light);box-shadow:var(--shadow-sm)}
.hdr__i{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:.65rem;font-weight:800;font-size:1.05rem;color:var(--text);letter-spacing:-.02em}
.logo img{height:34px;width:auto}
.logo span b{color:var(--primary-dark)}
.nav{display:flex;align-items:center;gap:1.75rem}
.nav a{font-size:.9375rem;font-weight:500;color:var(--text-light)}
.nav a:hover{color:var(--text)}
.nav .b{font-size:.875rem;padding:.625rem 1.1rem}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text)}.menu-toggle svg{width:24px;height:24px}

/* Breadcrumb */
.breadcrumb{padding:1.25rem 0 0;font-size:.875rem;color:var(--text-muted)}
.breadcrumb a{color:var(--text-muted)}
.breadcrumb a:hover{color:var(--primary-dark)}
.breadcrumb .sep{margin:0 .5rem;opacity:.5}
.breadcrumb .current{color:var(--text)}

/* Blog index */
.blog-hero{padding:3rem 0 2.5rem;text-align:center;position:relative;overflow:hidden}
.blog-hero::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:900px;height:700px;background:radial-gradient(ellipse at center,rgba(58,216,106,.08) 0%,transparent 60%);pointer-events:none}
.blog-hero__c{position:relative;max-width:680px;margin:0 auto}
.blog-hero h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1rem}
.blog-hero h1 em{font-style:normal;color:var(--primary-dark);background:linear-gradient(180deg,transparent 65%,rgba(58,216,106,.32) 65%);padding:0 .15em}
.blog-hero p{font-size:1.125rem;color:var(--text-light);line-height:1.65;max-width:560px;margin:0 auto}

/* Category filters */
.cats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1.5rem 0 2.5rem;margin:0;list-style:none}
.cats__btn{font-family:inherit;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;border-radius:99px;background:var(--white);border:1.5px solid var(--border-light);color:var(--text-light);cursor:pointer;transition:all .2s;text-decoration:none}
.cats__btn:hover{border-color:var(--primary);color:var(--primary-dark)}
.cats__btn.is-active{background:var(--primary-dark);color:var(--white);border-color:var(--primary-dark)}

/* Featured card */
.featured{margin-bottom:3rem}
.featured__card{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--bg-card);border:1px solid var(--border-light);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-md);transition:transform var(--dur),box-shadow var(--dur)}
.featured__card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.featured__visual{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-deep) 100%);min-height:280px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.featured__visual::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(58,216,106,.25) 0%,transparent 50%)}
.featured__visual svg{position:relative;width:55%;opacity:.85}
.featured__visual .feat-tag{position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .85rem;border-radius:99px;border:1px solid rgba(255,255,255,.2)}
.featured__body{padding:2rem 2.25rem;display:flex;flex-direction:column;justify-content:center;color:inherit}
.featured__card .blog-card__tag{margin-bottom:1rem}
.featured__body h2{font-size:clamp(1.35rem,2.5vw,1.75rem);margin-bottom:.75rem;line-height:1.25}
.featured__body p{color:var(--text-light);font-size:.9375rem;margin-bottom:1.25rem}
.featured__body .more{color:var(--primary-dark);font-weight:600;font-size:.9375rem;display:inline-flex;align-items:center;gap:.4rem}

/* Grid de cards */
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.5rem;margin-bottom:3rem}
.post-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:14px;padding:1.5rem;color:inherit;transition:transform var(--dur),box-shadow var(--dur);display:flex;flex-direction:column;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:inherit}
.post-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-light);opacity:0;transition:opacity .2s}
.post-card:hover::before{opacity:1}
.blog-card__tag,.post-card__tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;padding:.3rem .7rem;border-radius:99px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.85rem;width:fit-content}
.tag-recursos{background:rgba(21,163,74,.1);color:var(--primary-dark)}
.tag-emocional{background:rgba(228,90,43,.1);color:var(--accent)}
.tag-precios{background:#E8EEFF;color:#3A5BB8}
.tag-tech{background:#E9F4FF;color:#1F6BAA}
.tag-medico{background:#FFF1F1;color:#B53A3A}
.tag-familia{background:#F5EBFF;color:#7838B8}
.post-card h3{font-size:1.05rem;margin-bottom:.6rem;line-height:1.35}
.post-card p{color:var(--text-light);font-size:.875rem;line-height:1.55;margin-bottom:1rem;flex-grow:1}
.post-card__foot{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--text-muted);padding-top:.75rem;border-top:1px solid var(--border-light)}
.post-card__more{color:var(--primary-dark);font-weight:600;display:inline-flex;align-items:center;gap:.35rem}
.post-card__more svg{transition:transform .2s}
.post-card:hover .post-card__more svg{transform:translateX(3px)}

/* Newsletter / final CTA */
.blog-cta{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-deep) 100%);color:var(--white);padding:3rem 2rem;border-radius:18px;text-align:center;margin:3rem 0;position:relative;overflow:hidden}
.blog-cta::before{content:'';position:absolute;top:-50%;right:-15%;width:500px;height:500px;background:radial-gradient(circle,rgba(58,216,106,.18) 0%,transparent 60%);pointer-events:none}
.blog-cta__i{position:relative;max-width:560px;margin:0 auto;z-index:1}
.blog-cta h2{color:#fff;font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.75rem}
.blog-cta p{color:rgba(255,255,255,.85);font-size:1rem;line-height:1.6;margin-bottom:1.5rem}
.blog-cta .b.bp{background:#fff;color:var(--primary-deep);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.blog-cta .b.bp:hover{background:#F0F5F1;color:var(--primary-deep)}

/* Post (article view) */
.post{padding:1rem 0 4rem}
.post__header{padding:2rem 0 2.5rem;border-bottom:1px solid var(--border-light);margin-bottom:2.5rem}
.post__header h1{font-size:clamp(1.85rem,4.5vw,2.85rem);font-weight:800;letter-spacing:-.02em;margin:.75rem 0 1rem;line-height:1.2}
.post__lead{font-size:1.125rem;line-height:1.6;color:var(--text-light);margin-bottom:1.25rem}
.post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:.8125rem;color:var(--text-muted)}
.post__author{display:flex;align-items:center;gap:.4rem;font-weight:600;color:var(--text)}
.post__author img{border-radius:50%}
.post__date::before,.post__read::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--border);margin-right:.6rem;vertical-align:middle}

/* Article content typography */
.post__content{font-size:1.0625rem;line-height:1.75;color:var(--text)}
.post__content h2{font-size:clamp(1.45rem,3vw,1.85rem);font-weight:700;margin:2.5rem 0 1rem;letter-spacing:-.02em;color:var(--text)}
.post__content h3{font-size:clamp(1.2rem,2.4vw,1.45rem);font-weight:700;margin:2rem 0 .75rem;color:var(--text)}
.post__content h4{font-size:1.0625rem;font-weight:700;margin:1.5rem 0 .5rem;color:var(--text)}
.post__content p{margin:0 0 1.15rem;color:var(--text)}
.post__content p:has(+ ul),.post__content p:has(+ ol){margin-bottom:.5rem}
.post__content ul,.post__content ol{margin:0 0 1.25rem 1.5rem;color:var(--text)}
.post__content li{margin-bottom:.5rem;line-height:1.65}
.post__content li::marker{color:var(--primary-dark)}
.post__content strong{font-weight:700;color:var(--text)}
.post__content em{font-style:italic}
.post__content blockquote{margin:1.5rem 0;padding:1.25rem 1.5rem;background:rgba(21,163,74,.05);border-left:3px solid var(--primary);border-radius:0 8px 8px 0;font-style:italic;color:var(--primary-deep)}
.post__content blockquote p{margin-bottom:.5rem}
.post__content blockquote p:last-child{margin-bottom:0}
.post__content a{color:var(--primary-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:rgba(21,163,74,.4)}
.post__content a:hover{text-decoration-color:var(--primary)}
.post__content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9375rem;border:1px solid var(--border-light);border-radius:10px;overflow:hidden}
.post__content th,.post__content td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}
.post__content th{background:var(--bg-alt);font-weight:700;color:var(--text)}
.post__content tr:last-child td{border-bottom:none}
.post__content code{font-family:'SF Mono','Monaco','Consolas',monospace;font-size:.875em;background:var(--bg-alt);padding:.15em .4em;border-radius:4px;color:var(--primary-deep)}
.post__content hr{border:none;height:1px;background:var(--border-light);margin:2rem 0}
.post__content figure{margin:1.5rem 0}
.post__content img{border-radius:10px;margin:0 auto}
.post__content figcaption{font-size:.875rem;color:var(--text-muted);text-align:center;margin-top:.5rem}

/* Article inline boxes / callouts */
.post__content .callout,
.post__content .info-box,
.post__content .tip,
.post__content .warning,
.post__content .highlight{margin:1.5rem 0;padding:1.25rem 1.5rem;border-radius:12px;background:var(--bg-alt);border-left:3px solid var(--primary);font-size:.9375rem}
.post__content .callout p:last-child,.post__content .info-box p:last-child{margin-bottom:0}

/* Post CTA inline */
.post__cta{margin:3.5rem 0 2rem}
.post__cta-inner{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-deep) 100%);color:#fff;padding:2.25rem 2rem;border-radius:18px;text-align:center;position:relative;overflow:hidden}
.post__cta-inner::before{content:'';position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(58,216,106,.15) 0%,transparent 60%);pointer-events:none}
.post__cta-inner h3{position:relative;color:#fff;font-size:1.35rem;margin-bottom:.5rem}
.post__cta-inner p{position:relative;color:rgba(255,255,255,.88);font-size:.9375rem;margin-bottom:1.5rem;line-height:1.6}
.post__cta-actions{position:relative;display:flex;gap:.65rem;justify-content:center;flex-wrap:wrap}
.post__cta-actions .b.bs{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25);backdrop-filter:blur(6px)}
.post__cta-actions .b.bs:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4);color:#fff}

/* Related */
.post__related{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--border-light)}
.post__related h3{font-size:1.15rem;margin-bottom:1.25rem;color:var(--text)}
.post__related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.related-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;padding:1.15rem 1.25rem;color:inherit;transition:transform var(--dur),box-shadow var(--dur);display:block}
.related-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);color:inherit}
.related-card span.related-card__tag{display:block;font-size:.7rem;font-weight:700;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}
.related-card h4{font-size:.9375rem;line-height:1.4;color:var(--text);font-weight:600}

/* Footer */
.ftr{background:var(--bg-dark);color:rgba(232,240,234,.7);padding:2.5rem 0 2rem;font-size:.875rem;margin-top:3rem}
.ftr__i{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.ftr__brand{display:flex;align-items:center;gap:.6rem}
.ftr__brand img{height:28px}
.ftr__brand span{color:rgba(232,240,234,.95);font-weight:700}
.ftr__l{display:flex;flex-wrap:wrap;gap:1.25rem}
.ftr__l a{color:rgba(232,240,234,.7);font-size:.875rem}
.ftr__l a:hover{color:var(--primary-light)}
.ftr__copy{width:100%;text-align:center;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);font-size:.8125rem}

/* WhatsApp float */
.wa-float{position:fixed;bottom:22px;right:22px;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 20px rgba(37,211,102,.45);z-index:9999;transition:transform .2s,box-shadow .2s}
.wa-float:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(37,211,102,.55)}
.wa-float::before{content:'';position:absolute;inset:-4px;border-radius:50%;background:rgba(37,211,102,.3);z-index:-1;animation:waPulse 2.4s ease-in-out infinite}
@keyframes waPulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.18);opacity:0}}

/* Fade-in */
.fade{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.fade--vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fade,.fade--vis{opacity:1;transform:none;transition:none}.wa-float::before{animation:none}}

/* Responsive */
@media (max-width:820px){
  .featured__card{grid-template-columns:1fr}
  .featured__visual{min-height:200px}
  .post__related-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .nav a:not(.b){display:none}
  .menu-toggle{display:block}
  .nav{gap:.5rem}
  .nav.nav--open{position:absolute;top:68px;left:0;right:0;background:var(--white);flex-direction:column;align-items:stretch;padding:1rem var(--px);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-md);gap:.5rem}
  .nav.nav--open a{display:block;padding:.6rem 0;font-size:1rem}
  .post__header h1{font-size:1.85rem}
  .post__cta-inner{padding:1.75rem 1.25rem}
}
