/* Blog post template, October 2026: summary, figures, tables, FAQ, related service card and author box.
   Loaded only by Markdown posts (src/posts); everything is scoped to .hfp so Webflow posts are untouched.
   Site tokens only: #333 text, #29b955 green, #cdeeef mint, #f7f8fc tint, #e5e5e5 rules. */
.hfp-date { margin:0 0 1em; font-size:16px; color:#333; }
.hfp { color:#333; font-family:Poppins,"Helvetica Neue",Arial,sans-serif; min-width:0; } /* grid item: never wider than its column */
.hfp h2 { margin-top:1.6em; } /* size and weight stay those of existing posts (.blog-rich-text-block h2) */
.hfp img { height:auto; }

/* In short */
.hfp .hfp-summary { background:#cdeeef; color:#333; border-radius:14px; padding:22px 26px 10px; margin:0 0 2em; }
.hfp .hfp-summary-title { font-size:18px; font-weight:700; letter-spacing:.02em; margin:0 0 .5em; }
.hfp .hfp-summary ul { margin:0; padding-left:20px; }
.hfp .hfp-summary li { font-size:17px; line-height:1.6; margin-bottom:.75em; }

/* Figures (inline SVG) */
.hfp .hfp-figure { margin:1.5em 0 2em; max-width:100%; width:100%; display:block; } /* overrides .w-richtext figure (max-width:60%) */
.hfp .hfp-figure svg { display:block; width:100%; max-width:600px; height:auto; }
.hfp .hfp-figure figcaption { color:#333; font-size:15px; line-height:1.5; margin-top:.6em; text-align:left; max-width:600px; }

/* Native tables */
.hfp table { width:100%; border-collapse:collapse; margin:1.5em 0 2em; font-size:15px; line-height:1.5; }
.hfp th, .hfp td { border:1px solid #e5e5e5; padding:10px 12px; text-align:left; vertical-align:top; overflow-wrap:break-word; hyphens:manual; }
.hfp th:first-child, .hfp td:first-child { min-width:96px; }
.hfp th { background:#f7f8fc; font-weight:600; }

/* FAQ: native details rows, closed by default */
.hfp .hfp-faq { margin:2.5em 0 1.5em; }
.hfp .hfp-faq details { border-top:1px solid #e5e5e5; }
.hfp .hfp-faq details:last-of-type { border-bottom:1px solid #e5e5e5; }
.hfp .hfp-faq summary { cursor:pointer; list-style:none; position:relative; padding:16px 36px 16px 0; font-size:18px; font-weight:600; line-height:1.4; }
.hfp .hfp-faq summary::-webkit-details-marker { display:none; }
.hfp .hfp-faq summary::after { content:"+"; position:absolute; right:4px; top:12px; font-size:26px; font-weight:400; color:#333; }
.hfp .hfp-faq details[open] summary::after { content:"\2212"; }
.hfp .hfp-faq details p { font-size:17px; line-height:1.7; margin:0 0 1em; }
.hfp .hfp-faq summary:focus-visible, .hfp a:focus-visible { outline:3px solid #333; outline-offset:3px; }

/* Related service card */
.hfp .hfp-service { border:1px solid #e5e5e5; border-radius:14px; padding:24px 26px; margin:1.5em 0 2.5em; background:#fff; }
.hfp .hfp-service p { margin:0 0 .6em; font-size:17px; line-height:1.6; }
.hfp .hfp-service .hfp-service-title { font-size:20px; font-weight:700; }
.hfp .hfp-service a.hfp-service-button { display:inline-block; background:#29b955; color:#333; font-weight:600; font-size:16px; text-decoration:none; padding:14px 22px; border-radius:8px; margin-top:.4em; }

/* Author box */
.hfp .hfp-author { display:flex; gap:20px; align-items:center; border-top:1px solid #e5e5e5; margin-top:2.5em; padding-top:1.5em; }
.hfp .hfp-author img { width:96px; height:96px; border-radius:50%; object-fit:cover; object-position:center top; flex:none; }
.hfp .hfp-author p { margin:0; font-size:16px; line-height:1.6; }
.hfp .hfp-author .hfp-author-name { font-weight:700; font-size:18px; margin-bottom:.25em; }
@media (max-width:767px) {
  .hfp th, .hfp td { padding:8px 6px; hyphens:auto; overflow-wrap:anywhere; }
}
@media (max-width:479px) {
  .hfp table { font-size:13.5px; }
  .hfp th:first-child, .hfp td:first-child { min-width:72px; }
  .hfp .hfp-author { align-items:flex-start; }
}
