/* Blog styles — DMD Natural Medicine. Uses the site's existing design tokens. */
.blogwrap{max-width:1120px;margin:0 auto;padding:46px 22px 64px}
.blogwrap .sec-label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--lilac,#69699B);margin:0 0 14px}
.backlink{color:var(--lilac,#69699B);text-decoration:none}
.backlink:hover{text-decoration:underline}
.blogwrap h1{font-family:Faustina,'Iowan Old Style',Georgia,serif;font-size:40px;font-weight:600;
  line-height:1.12;letter-spacing:-.015em;color:var(--ink,#232621);margin:0 0 12px;max-width:21ch}
.blogwrap .sub{font-family:Karla,system-ui,sans-serif;font-size:17px;line-height:1.6;
  color:var(--ink-soft,#5B5F58);margin:0 0 30px;max-width:62ch}
.blogwrap .sub a{color:var(--forest,#405A2A)}

/* ---------- single post ---------- */
.post{max-width:none}
.postmeta{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-mute,#8B8F89);margin:0 0 30px;
  padding-bottom:18px;border-bottom:1px solid var(--rule,#D9DAD5)}
.postbody{font-family:Karla,system-ui,sans-serif;font-size:17.5px;line-height:1.72;
  color:var(--ink,#232621);max-width:68ch}
.postbody p{margin:0 0 20px}
.postbody h2{font-family:Faustina,'Iowan Old Style',Georgia,serif;font-size:27px;font-weight:600;
  line-height:1.2;color:var(--ink,#232621);margin:38px 0 13px}
.postbody h3{font-family:Faustina,'Iowan Old Style',Georgia,serif;font-size:21.5px;font-weight:600;
  color:var(--ink,#232621);margin:30px 0 10px}
.postbody h4,.postbody h5{font-family:Karla,system-ui,sans-serif;font-size:17px;font-weight:700;
  color:var(--ink,#232621);margin:26px 0 8px}
.postbody ul,.postbody ol{margin:0 0 20px;padding-left:24px}
.postbody li{margin-bottom:9px}
.postbody a{color:var(--forest,#405A2A)}
.postbody img{max-width:100%;height:auto;display:block;margin:26px 0;
  border:1px solid var(--rule-soft,#E7E8E3)}
.postbody blockquote{margin:26px 0;padding:4px 0 4px 20px;
  border-left:3px solid var(--sage,#90C068);color:var(--ink-soft,#5B5F58);font-style:italic}
.postbody table{border-collapse:collapse;width:100%;margin:24px 0;font-size:15.5px}
.postbody td,.postbody th{border:1px solid var(--rule,#D9DAD5);padding:9px 11px;text-align:left}
.postbody iframe{max-width:100%}
.postbody font,.postbody span{font-size:inherit !important;color:inherit !important;
  font-family:inherit !important}

/* ---------- index grid ---------- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(304px,1fr));gap:20px;margin-bottom:12px}
.pcard{display:block;text-decoration:none;background:var(--surface,#fff);
  border:1px solid var(--rule,#D9DAD5);padding:24px 24px 26px;transition:border-color .15s}
.pcard:hover{border-color:var(--forest,#405A2A)}
.pdate{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-mute,#8B8F89);margin:0 0 9px}
.pcard h3{font-family:Faustina,'Iowan Old Style',Georgia,serif;font-size:20.5px;font-weight:600;
  line-height:1.26;color:var(--ink,#232621);margin:0 0 10px}
.pex{font-family:Karla,system-ui,sans-serif;font-size:14.6px;line-height:1.56;
  color:var(--ink-soft,#5B5F58);margin:0}

/* ---------- video library ---------- */
.vidgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:30px 24px}
.vidframe{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;
  background:var(--surface-2,#E9EAE5);border:1px solid var(--rule,#D9DAD5)}
.vidframe iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.vid h3{font-family:Faustina,'Iowan Old Style',Georgia,serif;font-size:18.5px;font-weight:600;
  line-height:1.3;color:var(--ink,#232621);margin:13px 0 5px}
.vdate{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-mute,#8B8F89);margin:0}

/* ---------- shared CTA ---------- */
.postcta{margin:52px 0 0;padding:34px 36px;background:var(--forest-soft,#E5EEDA);
  border:1px solid var(--rule-soft,#E7E8E3)}
.postcta h2{font-family:Faustina,'Iowan Old Style',Georgia,serif;font-size:25px;font-weight:600;
  color:var(--ink,#232621);margin:0 0 9px}
.postcta p{font-family:Karla,system-ui,sans-serif;font-size:16.4px;line-height:1.6;
  color:var(--ink-soft,#5B5F58);margin:0 0 20px;max-width:58ch}
.ctarow{display:flex;gap:12px;flex-wrap:wrap}
.ctarow .btn{display:inline-block;font-family:Karla,system-ui,sans-serif;font-size:15.6px;
  font-weight:700;padding:14px 26px;background:var(--forest,#405A2A);color:#fff;text-decoration:none}
.ctarow .btn:hover{background:#34491f}
.ctarow .btn2{background:transparent;color:var(--forest,#405A2A);
  border:1px solid var(--forest,#405A2A)}
.ctarow .btn2:hover{background:var(--forest,#405A2A);color:#fff}
.postdisc{font-family:Karla,system-ui,sans-serif;font-size:12.6px;line-height:1.55;
  color:var(--ink-mute,#8B8F89);margin:30px 0 0;padding-top:17px;
  border-top:1px solid var(--rule-soft,#E7E8E3);max-width:72ch}

@media (max-width:720px){
  .blogwrap{padding:32px 16px 48px}
  .blogwrap h1{font-size:30px}
  .postbody{font-size:16.8px}
  .postcta{padding:26px 22px}
}
