.blog-page,.post-page{background:#fff}
.blog-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,#061330 0%,#08245d 66%,#0a47ff 145%)}
.blog-hero:after{content:"";position:absolute;inset:0 0 0 55%;background-image:var(--dot-grid-hero);background-size:.625rem .625rem;opacity:.2;pointer-events:none}
.blog-hero-inner{position:relative;z-index:1;padding-block:5.5rem 5rem;max-width:73.75rem}
.blog-eyebrow{margin:0 0 .9rem;color:#6f9bff;font-size:.75rem;font-weight:750;letter-spacing:.14em}
.blog-hero h1{max-width:53rem;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.02;letter-spacing:-.05em}
.blog-hero p:last-child{max-width:48rem;margin:1.5rem 0 0;color:#dbe5ff;font-size:1.125rem;line-height:1.7}
.blog-listing{padding-block:3.75rem 5.5rem}
.section-label{margin:0 0 1.5rem;color:#52617a;font-size:.75rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.featured-post{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(18rem,.88fr);overflow:hidden;border:1px solid var(--line);border-radius:1.125rem;box-shadow:var(--shadow);background:#fff}
.featured-art,.card-art{display:block;overflow:hidden;background:#edf2ff}
.featured-art{min-height:25rem}
.featured-art>img,.card-art>img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.featured-art:hover>img,.card-art:hover>img{transform:scale(1.015)}
.blog-art-placeholder{width:100%;height:100%;min-height:inherit;display:grid;place-items:center;background:radial-gradient(circle at 30% 10%,#fff 0,#edf2ff 40%,#dbe5ff 100%)}
.blog-art-placeholder img{width:4rem;height:4rem;object-fit:contain}
.featured-copy{display:flex;flex-direction:column;justify-content:center;padding:3rem}
.post-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0;color:#61708a;font-size:.75rem;font-weight:570}
.post-meta a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:.2rem}
.featured-copy h2{margin:.9rem 0 .875rem;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.035em}
.featured-copy h2 a:hover,.post-card h3 a:hover{color:var(--blue)}
.featured-copy>p:not(.post-meta){margin:0;color:var(--muted);font-size:1rem;line-height:1.7}
.text-link{display:inline-flex;align-items:center;gap:.45rem;width:max-content;margin-top:1.5rem;color:var(--blue);font-size:.875rem;font-weight:700}
.text-link:hover{text-decoration:underline;text-underline-offset:.25rem}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
.post-card{overflow:hidden;border:1px solid var(--line);border-radius:.875rem;background:#fff;box-shadow:0 .5rem 1.5rem rgba(14,35,82,.045)}
.card-art{height:13.5rem}
.post-card-body{padding:1.375rem 1.375rem 1.5rem}
.post-card h3{margin:.7rem 0 .6rem;font-size:1.25rem;line-height:1.25;letter-spacing:-.022em}
.post-card-body>p:not(.post-meta){margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
.blog-empty{padding:3.5rem;border:1px solid var(--line);border-radius:1rem;background:#f8faff;text-align:center}
.blog-empty h2{margin:0;font-size:1.6rem}
.blog-empty p{margin:.5rem 0 0;color:var(--muted)}

.post-header{max-width:55rem;padding-block:4.5rem 2.5rem}
.back-to-blog{display:inline-block;margin-bottom:2rem;color:#52617a;font-size:.8125rem;font-weight:650}
.back-to-blog:hover{color:var(--blue)}
.topic-list{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 1.1rem}
.topic-list li{padding:.35rem .7rem;border-radius:99rem;color:#1749bf;background:#edf2ff;font-size:.7rem;font-weight:680}
.post-header h1{max-width:54rem;margin:0;font-size:clamp(2.5rem,5.5vw,4.35rem);line-height:1.04;letter-spacing:-.05em}
.post-dek{max-width:47rem;margin:1.35rem 0 0;color:var(--muted);font-size:1.2rem;line-height:1.68}
.post-byline{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.byline-author{display:flex;align-items:center;gap:.75rem}
.byline-author img{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover}
.byline-author span{display:grid;gap:.08rem}
.byline-author strong{font-size:.82rem}
.byline-author small,.post-byline>time{color:#61708a;font-size:.72rem}
.byline-author:hover strong{color:var(--blue)}
.post-hero{max-width:73.75rem;margin-bottom:3.5rem}
.post-hero img{width:100%;max-height:41rem;object-fit:cover;border-radius:1rem;background:#f4f6fa}
.post-hero figcaption{margin:.65rem .25rem 0;color:#68758b;font-size:.75rem;line-height:1.5}
.post-content{width:min(43.5rem,calc(100% - 3rem));margin:0 auto;color:#15233f;font-size:1.075rem;line-height:1.82}
.post-content>*:first-child{margin-top:0}
.post-content p{margin:0 0 1.45rem}
.post-content h2{margin:3rem 0 1rem;color:var(--ink);font-size:1.8rem;line-height:1.25;letter-spacing:-.025em}
.post-content h3{margin:2.25rem 0 .8rem;color:var(--ink);font-size:1.35rem;line-height:1.3}
.post-content ul,.post-content ol{margin:0 0 1.5rem;padding-left:1.4rem}
.post-content li{margin:.45rem 0;padding-left:.25rem}
.post-content a{color:var(--blue);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.post-content blockquote{margin:2.25rem 0;padding:.25rem 0 .25rem 1.5rem;border-left:.25rem solid var(--blue);color:#334462;font-size:1.18rem;line-height:1.65}
.post-content blockquote p:last-child{margin-bottom:0}
.post-content img{margin:2rem auto;border-radius:.75rem}
.post-content hr{margin:3rem 0;border:0;border-top:1px solid var(--line)}
.post-content code{padding:.12em .32em;border-radius:.25rem;background:#f1f4f9;font-size:.9em}
.post-content pre{overflow:auto;margin:1.75rem 0;padding:1.25rem;border-radius:.7rem;color:#f7f9ff;background:#061330}
.post-content pre code{padding:0;background:none}
.author-box{display:grid;grid-template-columns:5.5rem 1fr;gap:1.5rem;align-items:center;max-width:48rem;margin-top:4rem;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:#f8faff}
.author-box>img{width:5.5rem;height:5.5rem;border-radius:50%;object-fit:cover}
.author-box-label{margin:0 0 .15rem;color:#61708a;font-size:.68rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.author-box h2{margin:0;font-size:1.2rem}
.author-box h2 a:hover{color:var(--blue)}
.author-box div>p:last-child{margin:.5rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.6}
.post-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-block:4rem 5.5rem;padding:2.25rem 2.5rem;border-radius:1rem;color:#fff;background:linear-gradient(110deg,#061330,#08245d)}
.post-cta .blog-eyebrow{margin-bottom:.45rem}
.post-cta h2{max-width:46rem;margin:0;font-size:1.55rem;line-height:1.35}
.post-cta .btn{flex:none}

.author-hero{background:#f6f8fc;border-bottom:1px solid var(--line)}
.author-hero-inner{display:grid;grid-template-columns:10rem minmax(0,42rem);gap:2.5rem;align-items:center;padding-block:4.5rem}
.author-hero-inner>img{width:10rem;height:10rem;border-radius:50%;object-fit:cover}
.author-hero h1{margin:0;font-size:3.2rem}
.author-role{margin:.4rem 0 .9rem;color:var(--blue);font-weight:680}
.author-hero-inner div>p:not(.blog-eyebrow):not(.author-role){margin:0;color:var(--muted);line-height:1.7}
.author-hero .text-link{margin-top:1rem}

.author-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.author-card{display:grid;grid-template-columns:6rem 1fr;gap:1.25rem;align-items:start;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:#fff;text-decoration:none;transition:box-shadow .15s}
.author-card:hover{box-shadow:var(--shadow)}
.author-card img{width:6rem;height:6rem;border-radius:50%;object-fit:cover}
.author-card h3{margin:0;font-size:1.1rem;color:var(--ink)}
.author-card .author-role{margin:.2rem 0 .5rem;color:var(--blue);font-size:.8rem;font-weight:650}
.author-card p:last-child{margin:0;color:var(--muted);font-size:.85rem;line-height:1.6}

.not-found{display:grid;place-items:center;min-height:60vh;text-align:center;padding:4rem 2rem}
.not-found h1{font-size:clamp(3rem,8vw,6rem);margin:0;color:var(--line);font-weight:800}
.not-found p{margin:.75rem 0 2rem;color:var(--muted);font-size:1.1rem}
.not-found .btn{margin-top:1rem}

@media(prefers-reduced-motion:reduce){
  .featured-art>img,.card-art>img{transition:none}
}
@media(max-width:61.25rem){
  .featured-post{grid-template-columns:1fr}
  .featured-art{min-height:21rem}
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-cta{align-items:flex-start;flex-direction:column}
  .author-grid{grid-template-columns:1fr}
}
@media(max-width:40rem){
  .blog-hero-inner{padding-block:4rem 3.75rem}
  .blog-listing{padding-block:2.75rem 4rem}
  .featured-art{min-height:15rem}
  .featured-copy{padding:1.6rem}
  .post-grid{grid-template-columns:1fr}
  .card-art{height:12.5rem}
  .post-header{padding-block:3rem 2rem}
  .post-byline{align-items:flex-start;flex-direction:column}
  .post-hero{width:100%;margin-bottom:2.5rem}
  .post-hero img{border-radius:0}
  .post-hero figcaption{padding-inline:.65rem}
  .post-content{width:min(100% - 1.75rem,43.5rem);font-size:1rem}
  .author-box{grid-template-columns:3.75rem 1fr;width:min(100% - 1.75rem,48rem);padding:1.15rem}
  .author-box>img{width:3.75rem;height:3.75rem}
  .author-box div>p:last-child{grid-column:1/-1}
  .post-cta{width:min(100% - 1.75rem,73.75rem);margin-block:3rem 4rem;padding:1.75rem}
  .post-cta .btn{width:100%}
  .author-hero-inner{grid-template-columns:5.5rem 1fr;gap:1.25rem;padding-block:3rem}
  .author-hero-inner>img{width:5.5rem;height:5.5rem}
  .author-hero h1{font-size:2rem}
  .author-hero .blog-eyebrow{margin-bottom:.4rem}
  .author-card{grid-template-columns:1fr;text-align:center}
  .author-card img{margin-inline:auto}
}
