.blog-page { background: #fffaf5; }
.blog-page .site-header { background: #0d1535; position: relative; max-width: none; }
.blog-list-hero, .blog-article-hero { background: #0d1535; color: #fffaf5; }
.blog-list-hero { padding: clamp(4rem,8vw,8rem) 0 clamp(4.5rem,9vw,8rem); overflow: hidden; position: relative; }
.blog-list-hero::after { content: "LPC"; position: absolute; right: -3vw; bottom: -13vw; font: 700 clamp(14rem,32vw,34rem)/1 Georgia,serif; color: rgba(255,255,255,.035); pointer-events: none; }
.blog-list-hero .section-shell, .blog-article-hero .section-shell { position: relative; z-index: 1; }
.blog-list-hero h1, .blog-article-hero h1 { font: 400 clamp(3.2rem,7.7vw,7.2rem)/1.06 var(--serif); letter-spacing: -.055em; max-width: 970px; margin: 1.7rem 0; }
.blog-list-hero h1 em { color: #ffbb78; font-weight: 400; }
.blog-list-hero p:last-child { max-width: 590px; font-size: clamp(1.05rem,1.6vw,1.25rem); color: #e0dfd6; }
.blog-page .breadcrumbs { color: #c6d5c8; }
.blog-page .breadcrumbs a { text-decoration: underline; text-underline-offset: .25em; }
.blog-list-section { padding-top: clamp(3rem,6vw,6rem); padding-bottom: clamp(5rem,8vw,8rem); }
.blog-list-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.blog-list-head h2, .blog-related h2 { font: 400 clamp(2rem,3vw,3.1rem)/1.2 var(--serif); margin: .4rem 0 0; }
.blog-filter { display: flex; background: #fff; border: 1px solid #ded8cb; min-width: min(100%,350px); }
.blog-filter input { min-width: 0; flex: 1; border: 0; padding: .85rem 1rem; font: inherit; outline-color: var(--gold); }
.blog-filter button { border: 0; background: #172653; color: #fff; padding: 0 1.2rem; cursor: pointer; }
.blog-categories { display: flex; flex-wrap: wrap; gap: .55rem; padding-bottom: 2.1rem; }
.blog-categories a { border: 1px solid #cec7b9; border-radius: 99px; padding: .5rem .95rem; font-size: .86rem; }
.blog-categories a[aria-current="page"], .blog-categories a:hover { background: #172653; color: #fff; border-color: #172653; }
.blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,2vw,2rem); }
.blog-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e8e1d5; box-shadow: 0 18px 42px rgba(28,36,27,.045); min-width: 0; }
.blog-card-image { display: block; aspect-ratio: 1.48; overflow: hidden; background: #172653; }
.blog-card-image > img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.blog-card:hover .blog-card-image > img { transform: scale(1.045); }
.blog-card-placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(135deg,#172653,#0d1535); }
.blog-card-placeholder img { width: 25%; border-radius: 50%; }
.blog-card-content { display: flex; flex-direction: column; flex: 1; padding: clamp(1.3rem,2vw,2rem); }
.blog-card-meta { display: flex; justify-content: space-between; gap: .5rem; color: #626779; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.blog-card-meta span { color: #c6643e; font-weight: 700; }
.blog-card h3 { font: 400 clamp(1.3rem,1.6vw,1.75rem)/1.35 var(--serif); margin: 1rem 0 .7rem; }
.blog-card h3 a:hover, .blog-card-read:hover { color: #c6643e; }
.blog-card p { color: #626779; margin: 0 0 1.6rem; }
.blog-card-read { margin-top: auto; border-top: 1px solid #e4e0d7; padding-top: 1rem; font-weight: 700; display: flex; justify-content: space-between; }
.blog-pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 3rem; }
.blog-pagination a { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border: 1px solid #bbc6bc; }
.blog-pagination a[aria-current="page"] { background: #172653; color: #fff; }
.blog-empty { padding: 5rem 2rem; text-align: center; background: #efe8dc; }
.blog-empty h3 { font: 400 2rem var(--serif); }
.blog-empty p { color: #626779; }
.blog-empty a { text-decoration: underline; text-underline-offset: .3em; }
.blog-empty-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 1.6rem; margin-top: 1.5rem; font-weight: 700; }
.blog-preview-banner { padding: .7rem 1.2rem; background: #d6b765; color: #102a23; text-align: center; font-weight: 700; }
.blog-preview-banner a { text-decoration: underline; }
.blog-article-hero { padding: clamp(3rem,6vw,6rem) 0 clamp(4rem,7vw,7rem); }
.blog-article-hero h1 { max-width: 1000px; font-size: clamp(2.8rem,6vw,5.6rem); }
.blog-standfirst { max-width: 800px; color: #e4e8de; font-size: clamp(1.1rem,2vw,1.42rem); }
.blog-article-meta { display: flex; flex-wrap: wrap; gap: .7rem; color: #ffbb78; margin-top: 2rem; font-size: .9rem; }
.blog-cover-shell { margin-top: -2.8rem; position: relative; }
.blog-cover-shell img { width: 100%; max-height: 640px; object-fit: cover; }
.blog-article-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(210px,1fr); gap: clamp(2rem,6vw,8rem); padding-top: clamp(3rem,6vw,6rem); padding-bottom: clamp(5rem,8vw,8rem); }
.blog-prose { font-size: 1.08rem; line-height: 1.85; color: #303650; overflow-wrap: anywhere; }
.blog-prose p { margin: 0 0 1.55rem; }
.blog-prose h2, .blog-prose h3 { font-family: var(--serif); font-weight: 400; line-height: 1.3; color: #171d34; margin: 2.5rem 0 1rem; }
.blog-prose h2 { font-size: clamp(1.7rem,3vw,2.2rem); }.blog-prose h3 { font-size: 1.4rem; }
.blog-prose ul { padding-left: 1.5rem; margin-bottom: 1.6rem; }.blog-prose li { padding-left: .25rem; margin-bottom: .4rem; }
.blog-prose blockquote { margin: 2rem 0; border-left: 3px solid #e67e4d; padding: 1rem 1.5rem; background: #efe9df; font-family: var(--serif); }
.blog-prose a:not(.button) { color: #8a6020; text-decoration: underline; text-underline-offset: .2em; }
.blog-article-aside { align-self: start; border-top: 2px solid #e67e4d; padding-top: 1.3rem; position: sticky; top: 2rem; }
.blog-article-aside h2 { font: 400 clamp(1.5rem,2vw,2rem)/1.35 var(--serif); }
.blog-article-aside p { color: #626779; }.blog-article-aside a { display: block; padding: .8rem 0; border-top: 1px solid #dcd5c9; font-weight: 700; }
.blog-article-end { border-top: 1px solid #d8d2c6; margin-top: 4rem; padding-top: 2rem; }
.blog-article-end p { font-family: var(--serif); font-size: 1.45rem; }
.blog-related { padding-bottom: 7rem; }.blog-related .section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 2rem; }
@media(max-width:900px) { .blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.blog-article-layout { grid-template-columns: 1fr; }.blog-article-aside { position: static; } }
@media(max-width:650px) { .blog-grid { grid-template-columns: 1fr; }.blog-list-head { display: block; }.blog-filter { margin-top: 1.5rem; }.blog-cover-shell { margin-top: 0; padding: 0; }.blog-list-hero, .blog-article-hero { padding-top: 3.5rem; }.blog-card-image { aspect-ratio: 1.65; } }
