.fs-blog {
    max-width: 1410px;
    padding-block: clamp(22px, 3vw, 46px) clamp(54px, 7vw, 100px);
    color: var(--navy);
    overflow-wrap: anywhere;
}
.fs-blog a { color: inherit; }
.fs-blog a:focus-visible, .blog-table:focus-visible { outline: 3px solid var(--orange-dark); outline-offset: 4px; }
.blog-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; color: var(--muted); font-size: .9rem; }
.blog-crumbs a, .blog-link, .blog-reading-links a, .blog-return { text-underline-offset: .23em; text-decoration-thickness: 1px; }
.blog-crumbs a:hover, .blog-link:hover, .blog-contents a:hover, .blog-reading-links a:hover, .blog-return:hover { color: var(--orange-dark); }
.blog-masthead, .blog-article-header { display: grid; gap: clamp(25px, 5vw, 88px); align-items: center; padding-block: clamp(32px, 5vw, 72px); }
.blog-masthead { grid-template-columns: 1.1fr .9fr; border-bottom: 1px solid var(--border); }
.fs-blog h1, .fs-blog h2 { margin: 0; color: var(--navy); text-wrap: pretty; }
.fs-blog h1 { font-size: clamp(2.15rem, 5.4vw, 5.2rem); font-weight: 820; letter-spacing: -.055em; line-height: 1.02; }
.blog-masthead p, .blog-article-header p { max-width: 58ch; margin: 0; font-size: clamp(1.07rem, 1.45vw, 1.38rem); line-height: 1.5; color: #31465c; }
.blog-link, .blog-return { display: inline-flex; align-items: baseline; gap: .45em; font-weight: 700; margin-top: 1em; }
.fs-blog time { display: block; font-size: .86rem; font-weight: 650; color: var(--muted); }
.blog-stories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(24px, 3vw, 44px); padding-block: clamp(24px, 3vw, 44px); }
.blog-story { min-width: 0; border-bottom: 1px solid var(--border); padding-bottom: 20px; }
.blog-story-link { display: flex; flex-direction: column; height: 100%; gap: 1rem; text-decoration: none; }
.blog-story-photo { background: #f2f4f4; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; }
.blog-story-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: contain; transition: transform .24s ease; }
.blog-story-link:hover img { transform: scale(1.02); }
.blog-story-link:hover h2 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .16em; }
.blog-story h2 { margin: .36em 0; font-size: clamp(1.35rem, 1.85vw, 1.85rem); line-height: 1.16; letter-spacing: -.035em; }
.blog-story p { margin: 0; color: #41566a; line-height: 1.55; }
.blog-story-copy { min-width: 0; }
.blog-arrow { display: inline-block; margin-block-start: .55em; color: var(--orange-dark); font-size: 1.5rem; line-height: 1; }
.blog-story:first-child { grid-column: 1/-1; padding-bottom: clamp(24px, 3vw, 44px); }
.blog-story:first-child .blog-story-link { display: grid; grid-template-columns: 1.13fr .87fr; gap: clamp(24px, 4vw, 64px); align-items: center; }
.blog-story:first-child h2 { font-size: clamp(1.7rem, 3.3vw, 3.3rem); }
.blog-story:first-child p { font-size: 1.12rem; }
.blog-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 1.1em; }
.blog-pagination :is(a,span) { font-weight: 650; }
.blog-pagination a { padding-block: .6em; text-underline-offset: .2em; }
.blog-article-header { grid-template-columns: 1.08fr .92fr; align-items: start; }
.blog-article-header h1 { font-size: clamp(2.1rem, 4.1vw, 4rem); margin: .22em 0 .45em; }
.blog-figure { min-width: 0; margin: 0; }
.blog-figure img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; border: 1px solid var(--border); border-radius: 6px; background: #f3f5f5; }
.blog-cover img { aspect-ratio: auto; max-height: 390px; }
.blog-figure figcaption { color: #46596a; font-size: .86rem; line-height: 1.5; margin-top: .6em; }
.blog-credit { display: inline; color: #596a77; font-size: .94em; }
.blog-credit::before { content: ' · '; }
.blog-credit a { text-underline-offset: .16em; }
.blog-reading-layout { display: grid; grid-template-columns: minmax(175px, .36fr) minmax(0, 1fr); gap: clamp(30px, 7vw, 108px); padding-block-start: clamp(22px, 3.5vw, 52px); border-top: 1px solid var(--border); }
.blog-contents { align-self: start; }
.blog-contents summary { width: fit-content; max-width: 100%; padding: .25em 0; cursor: pointer; font-size: 1rem; font-weight: 770; }
.blog-contents summary:focus-visible { outline: 3px solid var(--orange-dark); outline-offset: 3px; }
.blog-contents ol { margin: .8em 0 0; padding-inline-start: 1.35em; }
.blog-contents li { margin-block: .45em; padding-inline-start: .2em; font-size: .95rem; color: #31465c; }
.blog-contents li::marker { color: var(--muted); font-variant-numeric: tabular-nums; }
.blog-contents a { text-decoration: none; }
.blog-contents a:hover { text-decoration: underline; text-underline-offset: .17em; }
.blog-prose { min-width: 0; width: 100%; max-width: 54rem; color: #24394e; }
.blog-prose p { max-width: 69ch; margin: 0 0 1em; font-size: clamp(1.02rem, 1.15vw, 1.16rem); line-height: 1.72; }
.blog-prose h2 { font-size: clamp(1.45rem, 2.35vw, 2.3rem); font-weight: 775; letter-spacing: -.034em; line-height: 1.15; margin: 1.6em 0 .65em; scroll-margin-top: 1rem; }
.blog-table { max-width: 100%; margin-block: 1.5rem; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; }
.blog-table table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.5; overflow-wrap: normal; }
.blog-table caption { padding: .8rem 1rem; font-weight: 730; text-align: start; caption-side: top; }
.blog-table th, .blog-table td { padding: .7em 1em; text-align: start; vertical-align: top; border-top: 1px solid var(--border); }
.blog-table thead { background: #eaf0f3; color: var(--navy); }
.blog-table th { font-weight: 700; }
.blog-table tbody tr:nth-child(even) { background: #f6f8f9; }
.blog-figures { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 1.1rem; margin-block: 1.4rem 2.1rem; }
.blog-figures .blog-figure:only-child { max-width: 40rem; }
.blog-reading-links { margin-block-start: 2.2rem; padding-block-start: 1.1rem; border-top: 1px solid var(--border); }
.blog-reading-links h2 { font-size: 1.35rem; margin: 0; }
.blog-reading-links ul { padding-inline-start: 1.2em; margin-block: .65em 0; }
.blog-reading-links li { margin-block: .5em; }
.blog-return { margin-top: 2rem; }
@media (max-width: 880px) {
    .blog-stories { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .blog-reading-layout { grid-template-columns: minmax(180px,.42fr) minmax(0,1fr); gap: 30px; }
}
@media (max-width: 710px) {
    .blog-masthead, .blog-article-header, .blog-reading-layout, .blog-story:first-child .blog-story-link { grid-template-columns: minmax(0,1fr); }
    .blog-masthead { gap: 16px; }
    .blog-article-header { gap: 20px; }
    .blog-contents { border-bottom: 1px solid var(--border); padding-bottom: 1.25rem; }
    .blog-story:first-child .blog-story-link { gap: 1rem; }
}
@media (max-width: 500px) {
    .blog-stories { grid-template-columns: minmax(0,1fr); }
    .blog-table :is(th,td) { min-width: 6em; padding: .55em .65em; overflow-wrap: anywhere; hyphens: auto; }
}
