.blog-hero { padding-block: clamp(70px, 9vw, 126px) clamp(68px, 8vw, 108px); }
.blog-eyebrow, .blog-kicker { display: block; color: var(--slate); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.blog-hero h1 { max-width: 890px; margin: 24px 0; font-size: clamp(52px, 7vw, 104px); font-weight: 600; line-height: 1.02; letter-spacing: -.065em; }
.blog-hero h1 em, .blog-section h2 em, .blog-cta h2 em, .blog-article h1 em { color: var(--steel); }
.blog-hero p { max-width: 680px; margin: 0; color: var(--slate); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.55; }
.blog-section { padding-bottom: clamp(86px, 9vw, 130px); }
.blog-section .section-label { margin-bottom: 28px; }
.blog-feature { display: grid; grid-template-columns: 1.15fr .85fr; overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: var(--mist); }
.blog-feature img { display: block; width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.blog-feature-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(32px, 5vw, 72px); }
.blog-feature-copy h2 { margin: 20px 0 16px; font-size: clamp(34px, 3.8vw, 56px); font-weight: 600; line-height: 1.07; letter-spacing: -.05em; }
.blog-feature-copy p { margin: 0 0 28px; color: var(--slate); font-size: 16px; line-height: 1.6; }
.blog-meta { display: flex; flex-wrap: wrap; gap: 9px 18px; color: var(--steel); font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.blog-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.blog-topic { display: flex; flex-direction: column; min-height: 210px; padding: 24px; border: 1px solid var(--line); border-radius: 22px; transition: border-color .2s ease, transform .2s ease; }
.blog-topic:hover { border-color: var(--blue); transform: translateY(-2px); }
.blog-topic > span { color: var(--steel); font-size: 10px; font-weight: 600; letter-spacing: .09em; }
.blog-topic h3 { margin: 32px 0 10px; font-size: 25px; font-weight: 600; letter-spacing: -.035em; }
.blog-topic p { margin: 0; color: var(--slate); font-size: 13px; line-height: 1.5; }
.blog-topic small { margin-top: auto; padding-top: 24px; color: var(--link); font-size: 11px; font-weight: 600; }
.blog-cta { padding-block: clamp(74px, 8vw, 110px); background: var(--mist); text-align: center; }
.blog-cta h2 { margin: 0 auto 20px; font-size: clamp(40px, 5vw, 70px); font-weight: 600; letter-spacing: -.055em; }
.blog-cta p { max-width: 560px; margin: 0 auto 24px; color: var(--slate); font-size: 16px; line-height: 1.55; }
.blog-article { padding-bottom: 110px; }
.blog-breadcrumb { display: flex; gap: 10px; align-items: center; padding-top: 28px; color: var(--steel); font-size: 12px; }
.blog-breadcrumb a { color: var(--link); }
.blog-article-header { max-width: 920px; padding-block: clamp(68px, 8vw, 115px) 48px; }
.blog-article h1 { margin: 22px 0 25px; font-size: clamp(47px, 6vw, 84px); font-weight: 600; line-height: 1.06; letter-spacing: -.058em; }
.blog-deck { max-width: 720px; margin: 0 0 24px; color: var(--slate); font-size: clamp(18px, 1.8vw, 22px); line-height: 1.55; }
.blog-cover { width: 100%; max-height: 580px; aspect-ratio: 2.05; border-radius: 26px; object-fit: cover; }
.blog-article-layout { display: grid; grid-template-columns: minmax(0, 740px) 1fr; gap: clamp(40px, 6vw, 90px); margin-top: 66px; }
.blog-prose { color: #3b3b40; font-size: 17px; line-height: 1.75; }
.blog-prose p { margin: 0 0 25px; }
.blog-prose h2 { margin: 52px 0 16px; color: var(--ink); font-size: clamp(29px, 3vw, 39px); font-weight: 600; line-height: 1.15; letter-spacing: -.04em; }
.blog-prose a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.blog-prose ul { padding-left: 24px; margin: 0 0 25px; }
.blog-prose li { padding-left: 4px; margin: 9px 0; }
.blog-aside { align-self: start; position: sticky; top: 94px; padding: 25px; border: 1px solid var(--line); border-radius: 22px; background: var(--mist); }
.blog-aside span { color: var(--steel); font-size: 10px; font-weight: 600; letter-spacing: .08em; }
.blog-aside h2 { margin: 18px 0 12px; font-size: 24px; font-weight: 600; letter-spacing: -.035em; }
.blog-aside p { margin: 0 0 19px; color: var(--slate); font-size: 13px; line-height: 1.55; }
.blog-article-end { max-width: 740px; margin-top: 55px; padding-top: 25px; border-top: 1px solid var(--line); color: var(--slate); font-size: 13px; }
.blog-article-end a { color: var(--link); }
@media (max-width: 900px) {
  .blog-feature, .blog-article-layout { grid-template-columns: 1fr; }
  .blog-feature img { min-height: 0; max-height: 470px; aspect-ratio: 1.8; }
  .blog-aside { position: static; }
}
@media (max-width: 700px) {
  .blog-hero { padding-top: 55px; }
  .blog-feature-copy { padding: 29px; }
  .blog-feature img { aspect-ratio: 1.35; }
  .blog-topics { grid-template-columns: 1fr; }
  .blog-topic { min-height: 175px; }
  .blog-topic h3 { margin-top: 24px; }
  .blog-article { padding-bottom: 75px; }
  .blog-article-header { padding-block: 62px 36px; }
  .blog-cover { aspect-ratio: 1.35; }
  .blog-article-layout { margin-top: 45px; }
  .blog-prose { font-size: 16px; }
}
