/* blog-page.css — extracted from blog/index.html — v20260407 */

.page-blog .section {
                padding: clamp(34px, 5vw, 68px) 0;
            }
            .page-blog .blog-hero {
                padding: clamp(30px, 6vw, 62px) 0 clamp(22px, 4vw, 40px);
            }
            .page-blog .blog-hero::after {
                display: none;
            }
            .page-blog .blog-hero__grid {
                display: grid;
                grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
                gap: clamp(24px, 4vw, 54px);
                align-items: start;
            }
            .page-blog .blog-hero__content {
                max-width: 670px;
            }
            .page-blog .blog-hero__eyebrow {
                display: inline-flex;
                align-items: center;
                margin: 0 0 16px;
                padding: 0.72rem 1.06rem;
                border-radius: 999px;
                background: #e7eef8;
                color: #2d67a1;
                font-size: 0.9rem;
                font-weight: 800;
                letter-spacing: 0.08em;
                text-transform: uppercase;
            }
            .page-blog .blog-hero h1 {
                max-width: 12ch;
                margin: 0 0 16px;
                font-size: clamp(2.15rem, 4.6vw, 4.1rem);
                line-height: 0.98;
                letter-spacing: -0.04em;
            }
            .page-blog .blog-hero .lead {
                margin: 0;
                width: min(100%, 38ch);
                font-size: clamp(1rem, 1.2vw, 1.16rem);
                line-height: 1.66;
            }
            .page-blog .blog-hero__actions {
                display: flex;
                flex-wrap: wrap;
                gap: 0.85rem;
                align-items: center;
                margin-top: 1.55rem;
            }
            .page-blog .blog-hero__trust {
                display: flex;
                flex-wrap: wrap;
                gap: 0.72rem;
                list-style: none;
                margin: 1.35rem 0 0;
                padding: 0;
            }
            .page-blog .blog-hero__trust li {
                padding: 0.68rem 0.9rem;
                border: 1px solid rgba(13, 59, 102, 0.12);
                border-radius: 999px;
                background: rgba(255, 255, 255, 0.92);
                box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
                color: #123a66;
                font-size: 0.9rem;
                font-weight: 700;
                line-height: 1.25;
            }
            .page-blog .blog-feature-card {
                padding: clamp(20px, 2.8vw, 28px);
                border-radius: 28px;
                border: 1px solid rgba(13, 59, 102, 0.1);
                background:
                    radial-gradient(220px 180px at 18% 18%, rgba(47, 190, 114, 0.14), rgba(47, 190, 114, 0) 72%),
                    radial-gradient(300px 240px at 82% 18%, rgba(44, 106, 162, 0.18), rgba(44, 106, 162, 0) 76%),
                    linear-gradient(180deg, #f7fbff 0%, #edf4fc 100%);
                box-shadow: 0 22px 50px rgba(10, 39, 70, 0.12);
            }
            .page-blog .blog-feature-card__eyebrow,
            .page-blog .blog-feature-card__support-label,
            .page-blog .blog-toc__label,
            .page-blog .start-card .eyebrow {
                display: inline-block;
                margin: 0;
                color: #2d67a1;
                font-size: 0.76rem;
                font-weight: 800;
                letter-spacing: 0.08em;
                text-transform: uppercase;
            }
            .page-blog .blog-feature-card h2 {
                margin: 10px 0 0;
                font-size: clamp(1.48rem, 2vw, 1.94rem);
                line-height: 1.14;
            }
            .page-blog .blog-feature-card h2 a,
            .page-blog .post-card .h4 a {
                color: #0d3b66;
                text-decoration: none;
            }
            .page-blog .blog-feature-card h2 a:hover,
            .page-blog .post-card .h4 a:hover {
                text-decoration: underline;
            }
            .page-blog .blog-feature-card p {
                margin: 12px 0 0;
            }
            .page-blog .blog-feature-card__meta {
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
                margin-top: 14px;
            }
            .page-blog .blog-feature-card__meta .chip,
            .page-blog .post-meta .chip {
                background: #eef4ff;
                color: #134278;
                border: 1px solid #d9e8ff;
            }
            .page-blog .blog-feature-card__actions {
                display: flex;
                flex-wrap: wrap;
                gap: 0.8rem;
                align-items: center;
                margin-top: 1rem;
            }
            .page-blog .blog-feature-card__support {
                display: grid;
                gap: 10px;
                margin-top: 18px;
            }
            .page-blog .blog-support-card {
                display: block;
                padding: 14px 15px;
                border-radius: 18px;
                border: 1px solid rgba(13, 59, 102, 0.1);
                background: rgba(255, 255, 255, 0.88);
                box-shadow: 0 10px 24px rgba(13, 59, 102, 0.06);
                text-decoration: none;
                color: inherit;
            }
            .page-blog .blog-support-card strong {
                display: block;
                color: #0d3b66;
                line-height: 1.35;
            }
            .page-blog .blog-support-card span {
                display: block;
                margin-top: 5px;
                color: #56708b;
                font-size: 0.92rem;
            }
            .page-blog .blog-curation {
                padding-top: 6px;
            }
            .page-blog .blog-section-intro,
            .page-blog .blog-posts__header {
                max-width: 780px;
                margin-bottom: 18px;
            }
            .page-blog .blog-curation__grid {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 14px;
            }
            .page-blog .start-card {
                display: block;
                border: 1px solid rgba(13, 59, 102, 0.1);
                border-radius: 18px;
                padding: 18px;
                background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
                box-shadow: 0 12px 28px rgba(13, 59, 102, 0.06);
                text-decoration: none;
                color: inherit;
                transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
            }
            .page-blog .start-card:hover {
                transform: translateY(-2px);
                border-color: #a6c9f8;
                box-shadow: 0 16px 30px rgba(13, 59, 102, 0.08);
            }
            .page-blog .start-card h3 {
                margin: 8px 0 0;
                color: #0d3b66;
                font-size: 1.1rem;
                line-height: 1.28;
            }
            .page-blog .start-card p {
                margin: 8px 0 0;
                color: #4f6782;
            }
            .page-blog .start-card .small {
                display: block;
                margin-top: 10px;
                color: #245a9c;
                font-weight: 700;
            }
            .page-blog .blog-tools-shell {
                display: grid;
                grid-template-columns: minmax(0, 0.76fr) minmax(320px, 1.24fr);
                gap: 18px;
                padding: 22px;
                border-radius: 24px;
                border: 1px solid rgba(13, 59, 102, 0.1);
                background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
                box-shadow: 0 14px 34px rgba(13, 59, 102, 0.08);
            }
            .page-blog .blog-controls {
                margin-top: 0;
                display: grid;
                gap: 12px;
            }
            .page-blog .cats {
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
                margin: 0;
            }
            .page-blog .cats .chip {
                border: 1px solid #cfe0fa;
                background: #fff;
                cursor: pointer;
                font-weight: 700;
            }
            .page-blog .cats .chip.is-active {
                background: #dbeeff;
                border-color: #a9c8f7;
            }
            .page-blog .blog-search {
                display: grid;
                grid-template-columns: minmax(0, 1fr) auto;
                gap: 12px;
                align-items: center;
                background: #fff;
                border: 1px solid var(--border);
                border-radius: 16px;
                padding: 12px;
                box-shadow: var(--shadow);
            }
            .page-blog .blog-search input {
                min-width: 0;
            }
            .page-blog .blog-search__utility {
                display: flex;
                align-items: center;
                gap: 12px;
                flex-wrap: wrap;
                justify-content: flex-end;
            }
            .page-blog .blog-search__utility a {
                white-space: nowrap;
            }
            .page-blog .blog-layout {
                display: grid;
                grid-template-columns: 300px minmax(0, 1fr);
                gap: 24px;
                align-items: start;
            }
            .page-blog .blog-toc {
                position: sticky;
                top: 84px;
                align-self: start;
                background: #fff;
                border: 1px solid rgba(13, 59, 102, 0.1);
                border-radius: 20px;
                padding: 18px;
                box-shadow: 0 12px 28px rgba(13, 59, 102, 0.08);
            }
            .page-blog .blog-toc h3 {
                margin: 0 0 8px;
                font-size: 1rem;
            }
            .page-blog .blog-toc p {
                margin: 0 0 10px;
            }
            .page-blog .blog-toc__group + .blog-toc__group {
                margin-top: 16px;
                padding-top: 14px;
                border-top: 1px solid rgba(13, 59, 102, 0.08);
            }
            .page-blog .blog-toc a {
                display: block;
                padding: 6px 0;
                color: var(--link);
                text-decoration: none;
            }
            .page-blog .blog-toc a:hover {
                text-decoration: underline;
            }
            .page-blog .post-grid {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 16px;
            }
            .page-blog .post-card {
                position: relative;
                background: #fff;
                border: 1px solid rgba(13, 59, 102, 0.1);
                border-radius: 18px;
                padding: 18px;
                box-shadow: 0 12px 26px rgba(13, 59, 102, 0.06);
                display: flex;
                flex-direction: column;
                gap: 12px;
                transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
            }
            .page-blog .post-card::before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                height: 5px;
                border-top-left-radius: 18px;
                border-top-right-radius: 18px;
                background: linear-gradient(90deg, #2d73ba 0%, #6fb2f7 100%);
            }
            .page-blog .post-card:hover {
                transform: translateY(-2px);
                border-color: #afcef8;
                box-shadow: 0 16px 30px rgba(20, 56, 95, 0.1);
            }
            .page-blog .post-card .h4 {
                margin: 0;
                line-height: 1.3;
                font-size: 1.06rem;
            }
            .page-blog .post-meta {
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
            }
            .page-blog .post-foot {
                margin-top: auto;
                display: flex;
                justify-content: space-between;
                align-items: center;
                gap: 10px;
                border-top: 1px dashed #d8e7fc;
                padding-top: 10px;
            }
            .page-blog .post-read {
                font-size: 0.76rem;
                font-weight: 700;
                color: #315f92;
                background: #ecf4ff;
                border: 1px solid #d2e5ff;
                border-radius: 999px;
                padding: 2px 8px;
                white-space: nowrap;
            }
            .page-blog .post-date {
                margin-top: 0;
            }
            .page-blog .local-hubs .hub-grid {
                display: grid;
                grid-template-columns: repeat(4, minmax(0, 1fr));
                gap: 12px;
                margin-top: 0;
            }
            .page-blog .hub-card {
                display: block;
                text-decoration: none;
                color: inherit;
                background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
                border: 1px solid rgba(13, 59, 102, 0.1);
                border-radius: 16px;
                padding: 16px;
                box-shadow: 0 12px 24px rgba(13, 59, 102, 0.06);
            }
            .page-blog .hub-card:hover {
                border-color: #9dc2f6;
            }
            .page-blog .hub-card strong {
                display: block;
                color: #0d3b66;
                font-size: 1.02rem;
            }
            .page-blog .hub-card span {
                display: block;
                margin-top: 5px;
                font-size: 0.9rem;
                color: #55708d;
            }
            .page-blog .blog-request-card {
                padding: clamp(22px, 4vw, 32px);
                border-radius: 24px;
                border: 1px solid rgba(13, 59, 102, 0.1);
                background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
                box-shadow: 0 16px 34px rgba(13, 59, 102, 0.08);
            }
            .page-blog .blog-request-card .btn-row {
                display: flex;
                flex-wrap: wrap;
                gap: 12px;
                justify-content: center;
            }
            @media (max-width: 1100px) {
                .page-blog .blog-hero__grid,
                .page-blog .blog-tools-shell,
                .page-blog .blog-layout {
                    grid-template-columns: 1fr;
                }
                .page-blog .blog-curation__grid,
                .page-blog .local-hubs .hub-grid {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }
                .page-blog .post-grid {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }
                .page-blog .blog-toc {
                    position: static;
                }
            }
            @media (max-width: 760px) {
                .page-blog .cats {
                    flex-wrap: nowrap;
                    overflow-x: auto;
                    padding-bottom: 2px;
                }
                .page-blog .cats .chip {
                    flex: 0 0 auto;
                }
                .page-blog .blog-search {
                    grid-template-columns: 1fr;
                }
                .page-blog .blog-search__utility {
                    justify-content: flex-start;
                }
                .page-blog .blog-hero__trust li {
                    flex: 1 1 calc(50% - 0.36rem);
                    min-width: 0;
                }
            }
            @media (max-width: 640px) {
                .page-blog .blog-hero h1 {
                    max-width: 13ch;
                }
                .page-blog .blog-hero__actions,
                .page-blog .blog-feature-card__actions {
                    flex-direction: column;
                    align-items: stretch;
                }
                .page-blog .blog-hero__actions .btn,
                .page-blog .blog-feature-card__actions .btn {
                    width: 100%;
                    justify-content: center;
                }
                .page-blog .blog-curation__grid,
                .page-blog .post-grid,
                .page-blog .local-hubs .hub-grid {
                    grid-template-columns: 1fr;
                }
            }
            @media (max-width: 390px) {
                .page-blog .blog-hero__trust li {
                    flex-basis: 100%;
                }
            }

            /* FIX-013: Blog card thumbnail + blog post hero image */
            .page-blog .post-card .post-thumb {
                display: block;
                width: calc(100% + 36px);
                margin: -18px -18px 0;
                border-radius: 18px 18px 0 0;
                overflow: hidden;
            }
            .page-blog .post-card .post-thumb img {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 16 / 9;
                object-fit: cover;
            }
            .page-blog .post-card .post-thumb + .h4 {
                margin-top: 4px;
            }

            /* Blog post hero image */
            .blog-post-hero-img {
                margin: 0;
                overflow: hidden;
                border-radius: 18px;
                border: 1px solid rgba(13,59,102,.08);
                box-shadow: 0 8px 24px rgba(13,59,102,.06);
            }
            .blog-post-hero-img img {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 16 / 9;
                object-fit: cover;
            }
            .blog-post-hero-img figcaption {
                padding: .65rem .9rem;
                font-size: .82rem;
                font-weight: 600;
                color: var(--muted);
            }
            @media (max-width: 640px) {
                .page-blog .post-card .post-thumb {
                    width: calc(100% + 28px);
                    margin: -14px -14px 0;
                    border-radius: 14px 14px 0 0;
                }
                .blog-post-hero-img {
                    border-radius: 14px;
                }
            }
