/* blog.css — estilo de lectura del blog de Mugi. Identidad de la landing (SOLO claro). */
:root{
  --ink:#FDFFFC; --surface:#FFFFFF; --surface-2:#F1F5F9; --surface-3:#E8EEF3;
  --line:#E3E6EA; --line-2:#CBD3DB;
  --text:#17222E; --text-dim:#4A5661; --text-faint:#8794A0;
  --accent:#235789; --accent-deep:#1A4166; --accent-soft:rgba(35,87,137,.08);
  --cta:#ED1C24; --cta-deep:#C8151C; --good:#1E9E5A; --wa:#25D366;
  --f-head:'Bricolage Grotesque',system-ui,sans-serif;
  --f-body:'Inter',system-ui,sans-serif;
  --shadow:0 1px 2px rgba(23,34,46,.05), 0 18px 40px -22px rgba(23,34,46,.20);
  --shadow-sm:0 1px 2px rgba(23,34,46,.04), 0 8px 20px -12px rgba(23,34,46,.14);
  --radius:16px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--f-body);color:var(--text);background:var(--ink);
  line-height:1.7;-webkit-font-smoothing:antialiased;font-size:18px;}
.container{width:100%;max-width:1000px;margin:0 auto;padding:0 22px;}
.reading{max-width:720px;margin:0 auto;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{font-family:var(--f-head);font-weight:700;line-height:1.16;color:var(--text);letter-spacing:-.01em;}
h1{font-size:clamp(2rem,4.8vw,3.1rem);margin:.1em 0 .3em;}
h2{font-size:clamp(1.45rem,3.2vw,2.05rem);margin:1.9em 0 .5em;scroll-margin-top:80px;}
h3{font-size:1.24rem;margin:1.6em 0 .35em;}
p{margin:1em 0;}
ul,ol{margin:1em 0;padding-left:1.3em;}
li{margin:.5em 0;}
strong{color:var(--text);font-weight:600;}
.icon{width:1em;height:1em;display:inline-block;vertical-align:-.13em;}

/* Header */
.nav{position:sticky;top:0;z-index:20;background:rgba(253,255,252,.82);
  backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:62px;}
.brand{display:flex;align-items:center;gap:.55rem;}
.brand__kanji{font-family:'Noto Sans JP',sans-serif;font-size:1.6rem;line-height:1;color:var(--cta);font-weight:700;}
.brand__div{width:2px;height:22px;background:var(--accent);border-radius:2px;}
.brand__word{font-family:var(--f-head);font-weight:700;font-size:1.3rem;color:var(--accent);}
.nav__back{font-size:.93rem;font-weight:600;color:var(--text-dim);display:inline-flex;align-items:center;gap:.35rem;}
.nav__back:hover{color:var(--accent);text-decoration:none;}

/* Cabecera del artículo */
.crumb{font-size:.83rem;color:var(--text-faint);margin:26px 0 0;}
.crumb a{color:var(--text-faint);}
.eyebrow{display:inline-block;font-family:var(--f-head);font-weight:700;font-size:.74rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
  background:var(--accent-soft);padding:.4em .8em;border-radius:99px;margin:18px 0 8px;}
.post__meta{font-size:.85rem;color:var(--text-faint);margin:14px 0 0;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.dot{width:4px;height:4px;border-radius:50%;background:var(--line-2);}
.lede{font-size:1.24rem;line-height:1.6;color:var(--text-dim);margin:.6em 0 0;}

/* Tabla de contenidos */
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 24px;margin:30px 0;box-shadow:var(--shadow-sm);}
.toc h2{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .6em;}
.toc ol{margin:0;padding-left:1.2em;}
.toc li{margin:.3em 0;}
.toc a{color:var(--accent);font-weight:500;}

/* Callout / nota */
.callout{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;
  padding:14px 20px;margin:22px 0;color:var(--text-dim);font-size:.98rem;}
.callout strong{color:var(--accent-deep);}
.callout--cta{background:linear-gradient(160deg,#1A4166,#235789);border:0;color:#fff;border-radius:var(--radius);
  padding:26px 26px;text-align:center;box-shadow:var(--shadow);}
.callout--cta p{color:rgba(255,255,255,.88);margin:.2em 0 16px;}
.callout--cta strong{color:#fff;}

/* Cita destacada */
blockquote{margin:1.4em 0;padding:2px 22px;border-left:3px solid var(--cta);
  font-family:var(--f-head);font-size:1.3rem;line-height:1.4;color:var(--text);}

/* Botón */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-head);font-weight:700;
  font-size:1rem;padding:.85em 1.5em;border-radius:99px;border:0;cursor:pointer;transition:transform .15s;}
.btn--wa{background:var(--wa);color:#08301f;box-shadow:0 10px 24px -10px rgba(37,211,102,.7);}
.btn--wa:hover{transform:translateY(-2px);text-decoration:none;}

/* Tabla dentro de artículos */
.tablewrap{overflow-x:auto;margin:20px 0;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
table{width:100%;border-collapse:collapse;min-width:480px;background:var(--surface);font-size:.96rem;}
thead th{font-family:var(--f-head);font-weight:700;text-align:left;padding:12px 15px;background:var(--surface-3);border-bottom:1px solid var(--line);}
tbody td,tbody th{padding:11px 15px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;}
tbody th{font-weight:600;background:var(--surface-2);}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:none;}

/* Índice del blog (hub de posts) */
.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:26px 0;}
.pcard{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s;}
.pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none;}
.pcard__tag{font-family:var(--f-head);font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.pcard__t{font-family:var(--f-head);font-weight:700;font-size:1.24rem;color:var(--text);margin:.35em 0 .3em;line-height:1.2;}
.pcard__d{color:var(--text-dim);font-size:.97rem;margin:0 0 .6em;}
.pcard__link{font-family:var(--f-head);font-weight:700;font-size:.9rem;color:var(--accent);display:inline-flex;align-items:center;gap:.35rem;}

/* FAQ */
.faq h3{margin-bottom:.1em;}
.faq p{color:var(--text-dim);margin-top:.25em;}

/* Footer */
.footer{background:var(--text);color:#fff;margin-top:52px;padding:40px 0 32px;}
.footer .brand__kanji{color:#fff;}
.footer .brand__div{background:rgba(255,255,255,.55);}
.footer .brand__word{color:#fff;}
.footer p{color:rgba(255,255,255,.62);font-size:.88rem;margin:12px 0 0;}
.footer a{color:#fff;}
.post-nav{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;font-size:.95rem;}
@media(max-width:560px){ body{font-size:17px;} }
