/* Blog landing page; shared branding and navigation live in styles.css. */
.blogs-page { background:#f6f8fa; }
.blog-hero { padding:170px 0 0; background:#edf2f5; }
.blog-hero__layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding-bottom:64px; }
.blog-hero h1 { margin:24px 0; font:700 clamp(72px,7.8vw,118px)/.9 var(--display); letter-spacing:-.035em; text-transform:uppercase; }
.blog-hero h1 em { color:var(--red); font-style:normal; }
.blog-hero__lead { color:#4d6071; font-size:17px; line-height:1.8; }
.blog-hero__link { display:inline-flex; align-items:center; gap:40px; margin-top:22px; padding-bottom:12px; border-bottom:1px solid #bac6d0; font-size:13px; font-weight:700; }
.blog-hero__link span { color:var(--red); font-size:22px; }
.blog-hero__image { margin:0; position:relative; }
.blog-hero__image img { width:100%; height:420px; object-fit:cover; object-position:62% center; }
.blog-hero__image::before { content:""; position:absolute; top:-12px; right:-12px; width:64px; height:64px; border-top:2px solid var(--red); border-right:2px solid var(--red); }
.blog-hero__image figcaption { display:flex; justify-content:space-between; gap:16px; padding:18px 20px; color:#fff; background:var(--navy-900); font:500 10px var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.blog-hero__rail { display:flex; justify-content:space-between; gap:20px; padding:22px 0; border-top:1px solid var(--line); color:#526575; font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.blog-latest { padding:88px 0; scroll-margin-top:100px; }
.blog-section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:32px; }
.blog-section-heading h2,.blog-cta h2 { margin:0; font:700 clamp(34px,4vw,52px)/1.05 var(--display); text-transform:uppercase; letter-spacing:-.02em; }
.blog-section-heading .kicker { font-size:10px; margin-bottom:12px; }
.blog-section-heading>span { color:#5b6b7b; font:400 10px/1.6 var(--mono); }
.blog-empty { display:grid; grid-template-columns:120px minmax(0,650px); gap:40px; align-items:center; padding:58px; border:1px solid #d7e0e6; background:white; }
.blog-empty__mark { width:112px; height:112px; display:grid; place-items:center; background:#eff3f6; color:var(--red); }
.blog-empty__mark svg { width:64px; height:64px; }
.blog-label { font:500 10px/1.6 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:#687786; }
.blog-empty .blog-label { color:var(--red); margin:0 0 12px; }
.blog-empty h3 { margin:0 0 12px; font:700 clamp(26px,3vw,36px)/1.1 var(--display); text-transform:uppercase; }
.blog-empty p:not(.blog-label),.blog-resource p { color:#526575; font-size:14px; line-height:1.8; }
.blog-text-link { display:inline-flex; gap:24px; margin-top:15px; font-size:12px; font-weight:700; border-bottom:1px solid var(--red); padding-bottom:8px; }
.blog-text-link span { color:var(--red); }
.blog-resources { padding:0 0 88px; }
.blog-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ccd7df; border-bottom:1px solid #ccd7df; }
.blog-resource { display:flex; flex-direction:column; padding:36px 32px; border-right:1px solid #ccd7df; transition:background .2s; }
.blog-resource:first-child { padding-left:0; }
.blog-resource:last-child { border-right:0; }
.blog-resource:hover { background:#eaf0f4; }
.blog-resource h3 { margin:24px 0 4px; font:700 34px/1.1 var(--display); text-transform:uppercase; }
.blog-resource__action { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:auto; padding-top:25px; font-size:12px; font-weight:700; }
.blog-resource__action b { color:var(--red); font-size:22px; }
.blog-cta { padding:64px 0; background:var(--navy-900); color:#fff; }
.blog-cta>.container { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.blog-cta p:not(.kicker) { color:#bdcbd7; font-size:14px; line-height:1.7; }
.blog-cta .kicker { color:#ff6978; font-size:10px; }
.blogs-page a:focus-visible { outline:3px solid var(--red); outline-offset:5px; }
@media(min-width:981px) and (max-width:1150px) { .blogs-page .main-nav { gap:14px; } }
@media(max-width:980px) {
 .blog-hero { padding-top:126px; }
 .blog-hero__layout { gap:30px; }
 .blog-hero h1 { font-size:clamp(64px,8vw,84px); }
 .blog-hero__image img { height:350px; }
 .blog-empty { padding:36px; gap:28px; }
 .blog-resource { padding:28px 22px; }
 .blog-resource h3 { font-size:28px; }
}
@media(max-width:640px) {
 .blog-hero { padding-top:112px; }
 .blog-hero__layout { grid-template-columns:1fr; gap:40px; padding-bottom:30px; }
 .blog-hero h1 { font-size:clamp(62px,15vw,88px); }
 .blog-hero__lead { font-size:15px; }
 .blog-hero__image img { height:260px; }
 .blog-hero__image::before { right:-5px; top:-5px; }
 .blog-hero__rail { font-size:8px; letter-spacing:0; }
 .blog-hero__image figcaption { font-size:8px; padding:16px; }
 .blog-latest { padding:58px 0; }
 .blog-section-heading { align-items:start; flex-direction:column; gap:15px; }
 .blog-empty { grid-template-columns:1fr; padding:28px 24px; gap:24px; }
 .blog-empty__mark { width:72px; height:72px; }
 .blog-empty__mark svg { width:44px; height:44px; }
 .blog-resource-grid { grid-template-columns:1fr; }
 .blog-resource,.blog-resource:first-child { padding:30px 16px; border-right:0; border-bottom:1px solid #ccd7df; }
 .blog-resource:last-child { border-bottom:0; }
 .blog-resource h3 { font-size:32px; }
 .blog-resources { padding-bottom:58px; }
 .blog-cta>.container { align-items:start; flex-direction:column; gap:20px; }
}
@media(prefers-reduced-motion:reduce) { .blog-resource { transition:none; } }
