.blog-teaser{padding:105px clamp(20px,7vw,120px);display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:center;background:white}
.blog-teaser h2,.blog-page h1,.article-page h1{font:600 clamp(42px,5vw,68px)/1 Fraunces,serif;color:var(--navy);margin:14px 0 22px}
.blog-teaser-head>p:not(.eyebrow){max-width:520px;margin-bottom:28px}
.blog-card{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--ice);box-shadow:20px 20px 0 var(--yellow)}
.blog-card img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover}
.blog-card>div{padding:42px}
.blog-card small{color:#657587;font-weight:600}
.blog-card h3{font:600 34px/1.08 Fraunces,serif;margin:16px 0}
.blog-card h3 a,.text-link{color:var(--navy);text-decoration:none}
.text-link{font-weight:700}
.blog-page,.article-page{max-width:1180px;margin:auto;padding:70px 24px 110px}
.blog-page .blog-card{margin-top:50px}
.article-page{max-width:900px}
.article-lead{font-size:20px;color:#47586a}
.article-image{width:100%;max-height:520px;object-fit:cover;margin:36px 0}
.article-page h2{font:600 34px/1.1 Fraunces,serif;color:var(--navy);margin-top:44px}
.article-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.secondary-button{background:var(--navy)!important;color:white!important;border:2px solid var(--navy)}.full-article h2{font:600 34px/1.1 Fraunces,serif;color:var(--navy);margin-top:44px}.full-article .intro{font-size:21px;font-weight:600;color:var(--navy)}
.article-note{background:var(--ice);border-left:6px solid var(--yellow);padding:24px 28px;margin:36px 0}
.source{font-size:14px;color:#657587}
.source a{color:var(--blue)}
.personal-gallery figure{display:flex;flex-direction:column}
.gallery-open{border:0;padding:0;background:#eef3f6;cursor:zoom-in;display:grid;place-items:center;min-height:280px}
.gallery-open img{width:100%;height:310px;object-fit:contain;display:block}
.lightbox[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:50;background:#08111de8;display:grid;place-items:center;padding:55px 24px}
.lightbox img{max-width:min(1200px,95vw);max-height:88vh;object-fit:contain}
.lightbox-close{position:fixed;top:18px;right:24px;width:48px;height:48px;border:0;border-radius:50%;background:white;color:var(--navy);font-size:32px;cursor:pointer}
.lightbox-active{overflow:hidden}
@media(max-width:760px){.blog-teaser,.blog-card{grid-template-columns:1fr}
.blog-card img{min-height:240px;height:260px}
.blog-card>div{padding:28px}
.gallery-open{min-height:220px}
.gallery-open img{height:280px}
}
