:root {
  --lb-gold: #c8a45c;
  --lb-gold-dark: #765824;
  --lb-cream: #f5f2ec;
  --lb-ink: #191816;
  --lb-muted: #6f6b64;
  --lb-line: #ded8ce;
}

.lb-blog, .lb-article { background: #fff; color: var(--lb-ink); font-family: "Inter", Arial, sans-serif; }
.lb-blog *, .lb-article * { box-sizing: border-box; }
.lb-blog-shell { width: min(1240px, calc(100% - 72px)); margin-inline: auto; }
.lb-eyebrow { margin: 0 0 18px; color: var(--lb-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }

.lb-blog-hero { padding: clamp(86px, 9vw, 136px) 0 clamp(66px, 7vw, 102px); background: var(--lb-cream); text-align: left; }
.lb-blog-hero .lb-blog-shell { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: end; gap: 90px; }
.lb-blog-hero .lb-eyebrow { grid-column: 1 / -1; margin-bottom: -46px; }
.lb-blog-hero h1, .lb-article-header h1 { margin: 0; font-family: "Playfair Display", Georgia, serif; font-weight: 500; letter-spacing: -.045em; line-height: 1; text-wrap: balance; }
.lb-blog-hero h1 { font-size: clamp(52px, 6.2vw, 86px); }
.lb-blog-hero p:last-child { max-width: 640px; margin: 0; color: var(--lb-muted); font-size: 17px; line-height: 1.75; }

.lb-blog-categories { border-top: 1px solid rgba(255,255,255,.1); background: var(--lb-ink); }
.lb-blog-categories .lb-blog-shell { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; }
.lb-blog-categories .lb-blog-shell::-webkit-scrollbar { display: none; }
.lb-blog-categories a { flex: 0 0 auto; padding: 19px 22px; border-bottom: 2px solid transparent; color: rgba(255,255,255,.66); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.lb-blog-categories a:hover, .lb-blog-categories a[aria-current="page"] { border-color: var(--lb-gold); color: #fff; }

.lb-blog-content { padding: clamp(62px, 7vw, 96px) 0 96px; }
.lb-featured-post { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); min-height: 448px; margin-bottom: clamp(58px, 6vw, 84px); background: var(--lb-cream); }
.lb-featured-post__image { display: block; min-height: 448px; overflow: hidden; background: #ded8ce; }
.lb-featured-post__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.lb-featured-post:hover .lb-featured-post__image img { transform: scale(1.02); }
.lb-featured-post__body { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(32px, 4vw, 54px); }
.lb-featured-label { margin: 22px 0 12px; color: var(--lb-gold-dark); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.lb-featured-post h2 { margin: 0 0 16px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(32px, 3.5vw, 46px); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
.lb-featured-post h2 a { color: inherit; text-decoration: none; }
.lb-featured-post__body > p:not(.lb-featured-label) { margin: 0 0 22px; color: var(--lb-muted); font-size: 15px; line-height: 1.7; }

.lb-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 46px 26px; }
.lb-post-card { display: flex; flex-direction: column; background: #fff; }
.lb-post-image, .lb-related-image { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #e9e4db; }
.lb-post-image img, .lb-related-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.lb-post-card:hover img { transform: scale(1.03); }
.lb-image-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--lb-gold-dark); font: 600 10px/1.4 "Inter", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.lb-post-card-body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 23px 0 0; }
.lb-post-meta { display: flex; flex-wrap: wrap; gap: 8px 17px; color: var(--lb-gold-dark); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.lb-post-meta a { color: inherit; text-decoration: none; }
.lb-post-card h2 { min-height: 2.32em; margin: 15px 0 12px; font-family: "Playfair Display", Georgia, serif; font-size: 29px; font-weight: 500; line-height: 1.16; }
.lb-post-card h2 a, .lb-related h3 a { color: inherit; text-decoration: none; }
.lb-post-card-body > p { display: -webkit-box; min-height: 5.1em; margin: 0; overflow: hidden; color: var(--lb-muted); font-size: 14px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.lb-read-more { display: inline-block; margin-top: auto; padding-top: 19px; color: var(--lb-ink); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.lb-read-more span { display: inline-block; margin-left: 6px; transition: transform .18s ease; }
.lb-read-more:hover span { transform: translateX(4px); }

.navigation.pagination { margin-top: 64px; }
.nav-links { display: flex; justify-content: center; gap: 8px; }
.page-numbers { display: grid; min-width: 44px; height: 44px; padding: 0 12px; place-items: center; border: 1px solid var(--lb-line); color: var(--lb-ink); text-decoration: none; }
.page-numbers.current, .page-numbers:hover { border-color: var(--lb-gold); background: var(--lb-gold); color: #111; }
.lb-empty-state { padding: 80px 32px; border: 1px solid var(--lb-line); text-align: center; }
.lb-empty-state h2 { margin: 0 0 14px; font-family: "Playfair Display", Georgia, serif; font-size: 40px; font-weight: 500; }
.lb-empty-state p { color: var(--lb-muted); }

/* Article */
.lb-article-header { padding: clamp(72px, 8vw, 116px) 24px 58px; background: var(--lb-cream); text-align: center; }
.lb-article-narrow { max-width: 980px; margin: auto; }
.lb-article-back { display: inline-block; margin-bottom: 46px; color: var(--lb-muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.lb-article-header .lb-post-meta { justify-content: center; margin-bottom: 24px; }
.lb-article-header h1 { font-size: clamp(46px, 5.9vw, 78px); }
.lb-article-deck { max-width: 780px; margin: 25px auto 0; color: var(--lb-muted); font-size: 18px; line-height: 1.72; }
.lb-article-featured { width: min(1240px, calc(100% - 72px)); margin: 56px auto 0; aspect-ratio: 16 / 8; overflow: hidden; background: var(--lb-cream); }
.lb-article-featured img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lb-article-layout { display: grid; justify-content: center; padding: clamp(64px, 7vw, 96px) 0; }
.lb-article-layout.has-toc { grid-template-columns: 250px minmax(0, 740px); gap: clamp(48px, 7vw, 90px); }
.lb-article-layout.no-toc { grid-template-columns: minmax(0, 740px); }
.lb-toc { position: sticky; top: 110px; padding: 24px; border-left: 2px solid var(--lb-gold); background: var(--lb-cream); }
.lb-toc-title { margin: 0 0 15px; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.lb-toc ol { margin: 0; padding: 0; list-style: none; }
.lb-toc li + li { margin-top: 10px; }
.lb-toc-level-3 { padding-left: 13px; }
.lb-toc a { color: var(--lb-muted); font-size: 12px; line-height: 1.45; text-decoration: none; }
.lb-toc a:hover { color: var(--lb-gold-dark); }
.lb-article-content { color: #2f2e2b; font-family: Georgia, serif; font-size: 18px; line-height: 1.85; }
.lb-article-content > *:first-child { margin-top: 0; }
.lb-article-content h2, .lb-article-content h3 { scroll-margin-top: 120px; color: var(--lb-ink); font-family: "Playfair Display", Georgia, serif; font-weight: 500; line-height: 1.2; }
.lb-article-content h2 { margin: 2.1em 0 .7em; font-size: 38px; }
.lb-article-content h3 { margin: 1.8em 0 .65em; font-size: 28px; }
.lb-article-content ul, .lb-article-content ol { padding-left: 1.2em; }
.lb-article-content li + li { margin-top: .45em; }
.lb-article-content img { max-width: 100%; height: auto; }
.lb-article-content a { color: var(--lb-gold-dark); text-underline-offset: 3px; }

.lb-blog-cta { display: flex; align-items: flex-end; justify-content: space-between; gap: 56px; padding: clamp(66px, 7vw, 104px) max(36px, calc((100vw - 1240px) / 2)); background: var(--lb-ink); color: #fff; }
.lb-blog-cta h2 { max-width: 720px; margin: 0; font-family: "Playfair Display", Georgia, serif; font-size: clamp(36px, 4.3vw, 60px); font-weight: 500; line-height: 1.05; }
.lb-blog-cta > div > p:last-child { max-width: 670px; margin: 22px 0 0; color: rgba(255,255,255,.62); line-height: 1.7; }
.lb-blog-cta .lb-eyebrow { color: var(--lb-gold); }
.lb-cta-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 12px; }
.lb-button { display: inline-flex; min-height: 52px; padding: 0 24px; align-items: center; justify-content: center; border: 1px solid transparent; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.lb-button-gold { background: var(--lb-gold); color: #111; }
.lb-button-gold:hover { background: var(--lb-gold-dark); color: #fff; }
.lb-button-outline { border-color: rgba(255,255,255,.45); }
.lb-button-outline:hover { border-color: #fff; color: #fff; }

.lb-related { padding: 90px 0; }
.lb-related > h2 { margin: 0 0 35px; font-family: "Playfair Display", Georgia, serif; font-size: 42px; font-weight: 500; }
.lb-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.lb-related article > p { margin: 17px 0 8px; color: var(--lb-gold-dark); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.lb-related h3 { margin: 0; font-family: "Playfair Display", Georgia, serif; font-size: 24px; font-weight: 500; }
.lb-related-image { aspect-ratio: 3 / 2; }

.lb-blog a:focus-visible, .lb-article a:focus-visible { outline: 2px solid var(--lb-gold); outline-offset: 4px; }

@media (max-width: 960px) {
  .lb-blog-hero .lb-blog-shell { grid-template-columns: 1fr; gap: 28px; }
  .lb-blog-hero .lb-eyebrow { grid-column: auto; margin-bottom: 0; }
  .lb-featured-post { grid-template-columns: 1fr; min-height: 0; }
  .lb-featured-post__image { min-height: 0; aspect-ratio: 16 / 9; }
  .lb-post-grid { grid-template-columns: repeat(2, 1fr); }
  .lb-article-layout.has-toc { grid-template-columns: 1fr; gap: 30px; }
  .lb-toc { position: static; }
  .lb-blog-cta { align-items: flex-start; flex-direction: column; }
  .lb-related-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .lb-blog-shell, .lb-article-featured { width: min(100% - 32px, 1240px); }
  .lb-blog-hero { padding: 70px 0 58px; }
  .lb-blog-categories .lb-blog-shell { width: 100%; padding-inline: 7px; }
  .lb-blog-content { padding: 48px 0 72px; }
  .lb-featured-post { min-height: 0; margin-bottom: 66px; }
  .lb-featured-post__image { min-height: 0; aspect-ratio: 4 / 3; }
  .lb-featured-post__body { padding: 32px 24px 36px; }
  .lb-post-grid, .lb-related-grid { grid-template-columns: 1fr; }
  .lb-post-card h2 { min-height: 0; }
  .lb-post-card-body > p { min-height: 0; }
  .lb-article-header { padding: 64px 16px 42px; }
  .lb-article-back { margin-bottom: 35px; }
  .lb-article-featured { margin-top: 28px; aspect-ratio: 4 / 3; }
  .lb-article-layout { padding: 42px 0 62px; }
  .lb-article-content { font-size: 17px; }
  .lb-article-content h2 { font-size: 31px; }
  .lb-blog-cta { padding: 56px 20px; }
  .lb-cta-actions, .lb-button { width: 100%; }
  .lb-related { padding: 65px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .lb-blog *, .lb-article * { transition: none !important; scroll-behavior: auto !important; }
}
