.content-main { --reading-saffron: #a95228; --reading-saffron-soft: #f0cfb4; --reading-saffron-pale: #fff1e5; min-height: 70vh; background: var(--paper); }
.page-hero { padding: 11vh 8vw 8vh; border-bottom: 1px solid rgba(23,19,15,.45); background: var(--reading-saffron-soft); position: relative; overflow: hidden; }
.page-hero::after { content: ""; width: 34vw; aspect-ratio: 1; border: 1px solid rgba(23,19,15,.3); border-radius: 50%; position: absolute; right: -8vw; top: -14vw; box-shadow: 0 0 0 4vw rgba(255,248,235,.12), 0 0 0 8vw rgba(255,248,235,.08); }
.page-hero .overline { color: var(--ink); position: relative; z-index: 1; }
.page-hero h1 { max-width: 980px; margin: 0; font: 900 clamp(58px, 8vw, 124px)/.86 Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; text-transform: uppercase; letter-spacing: -.035em; position: relative; z-index: 1; }
.page-hero h1 em { color: var(--reading-saffron); font-family: Georgia, serif; font-weight: 400; text-transform: none; }
.page-hero > p:last-child { max-width: 680px; margin: 36px 0 0; font: 20px/1.55 Georgia, serif; position: relative; z-index: 1; }
.content-wrap { width: min(1180px, calc(100% - 44px)); margin: 0 auto; padding: 76px 0 110px; }
.toolbar { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line); margin-bottom: 34px; }
.toolbar h2 { margin: 0; font: 400 clamp(28px, 4vw, 48px)/1 Georgia, serif; }
.toolbar p { margin: 0; color: #6a5f56; }
.post-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.post-preview { border: 1px solid var(--ink); background: var(--white); display: flex; flex-direction: column; min-height: 450px; transition: transform .2s, box-shadow .2s; }
.post-preview:hover { transform: translateY(-5px); box-shadow: 7px 7px 0 var(--reading-saffron-soft); }
.post-preview-image { aspect-ratio: 16/9; overflow: hidden; background: var(--reading-saffron-soft); border-bottom: 1px solid var(--ink); }
.post-preview-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-preview-placeholder { height: 100%; display: grid; place-items: center; font: 900 80px/1 Impact, sans-serif; color: var(--reading-saffron); }
.post-preview-copy { padding: 26px; flex: 1; display: flex; flex-direction: column; }
.post-preview-meta { color: var(--reading-saffron); font: 800 9px/1.4 var(--font-geist-mono); letter-spacing: .1em; text-transform: uppercase; }
.post-preview h2 { margin: 16px 0 14px; font: 400 28px/1.08 Georgia, serif; }
.post-preview p { color: #5b534b; font-size: 14px; line-height: 1.6; }
.post-preview-link { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); font: 800 10px/1 var(--font-geist-mono); text-transform: uppercase; letter-spacing: .08em; display: flex; justify-content: space-between; }
.empty-state { border: 1px dashed var(--ink); padding: 70px 30px; text-align: center; background: rgba(255,255,255,.35); }
.empty-state strong { display: block; font: 400 34px/1.1 Georgia, serif; margin-bottom: 12px; }
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 45px; }
.pagination a, .pagination span { min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--ink); font: 800 11px/1 var(--font-geist-mono); }
.pagination .current { background: var(--ink); color: var(--paper); }
.social-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.social-card { border: 1px solid var(--ink); background: var(--white); padding: 28px; min-height: 290px; display: flex; flex-direction: column; }
.social-card.is-featured { box-shadow: inset 0 5px 0 var(--saffron); }
.social-top { display: flex; gap: 18px; align-items: center; }
.social-avatar { width: 64px; height: 64px; border-radius: 50%; background: var(--ink); color: var(--paper); overflow: hidden; display: grid; place-items: center; font: 900 20px/1 Impact, sans-serif; }
.social-avatar img { width: 100%; height: 100%; object-fit: cover; }
.platform-label { font: 800 9px/1.4 var(--font-geist-mono); letter-spacing: .11em; color: var(--saffron-deep); text-transform: uppercase; }
.social-card h2 { font: 400 25px/1.1 Georgia, serif; margin: 5px 0; }
.social-handle { margin: 0; color: #6a5f56; font-size: 13px; }
.social-description { line-height: 1.6; color: #514940; }
.social-visit { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; font: 800 10px/1 var(--font-geist-mono); text-transform: uppercase; }
.article-header { padding: 10vh 8vw 7vh; border-bottom: 1px solid var(--ink); background: var(--paper); }
.article-header h1 { max-width: 1050px; margin: 20px 0 26px; font: 400 clamp(48px, 7vw, 102px)/.95 Georgia, serif; letter-spacing: -.045em; }
.article-deck { max-width: 760px; font: 20px/1.55 Georgia, serif; color: #514940; }
.article-meta { display: flex; gap: 18px; font: 800 9px/1 var(--font-geist-mono); letter-spacing: .1em; text-transform: uppercase; }
.article-featured { width: min(1180px, calc(100% - 44px)); margin: 55px auto 0; }
.article-featured img { width: 100%; max-height: 680px; object-fit: cover; display: block; border: 1px solid var(--ink); }
.article-body { width: min(760px, calc(100% - 44px)); margin: 0 auto; padding: 70px 0 120px; }
.article-prose { font: 19px/1.8 Georgia, serif; margin: 0 0 30px; white-space: normal; }
.article-subheading { margin: 60px 0 22px; font: 400 38px/1.1 Georgia, serif; }
.article-body blockquote { margin: 50px -70px; padding: 30px 50px; border-left: 5px solid var(--reading-saffron); background: var(--reading-saffron-pale); font: italic 28px/1.35 Georgia, serif; }
.article-media { margin: 50px -90px; }
.article-media img, .article-media video { width: 100%; display: block; border: 1px solid var(--ink); }
.article-media figcaption { margin-top: 10px; color: #6a5f56; font-size: 12px; line-height: 1.5; }
.video-frame { position: relative; aspect-ratio: 16/9; background: #000; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.external-card { border: 1px solid var(--ink); padding: 20px; display: flex; justify-content: space-between; align-items: center; gap: 20px; background: var(--white); margin: 36px 0; }
.external-card strong { display: block; font-family: Georgia, serif; font-size: 21px; }.external-card small { display: block; margin-top: 7px; color: #6a5f56; }
.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.gallery-card { border:1px solid rgba(23,19,15,.35); background:var(--white); overflow:hidden; }
.gallery-media { min-height:260px; background:#eee5d9; display:grid; place-items:center; }
.gallery-media img,.gallery-media video,.gallery-media iframe { display:block; width:100%; border:0; }
.gallery-media img { height:auto; max-height:680px; object-fit:contain; }
.gallery-media video { max-height:680px; background:#111; }
.gallery-media iframe { aspect-ratio:16/9; }
.gallery-media .instagram-frame { min-height:560px; aspect-ratio:auto; background:#fff; }
.gallery-unavailable { color:#766b61; padding:80px 20px; }
.gallery-copy { padding:22px 24px; border-top:1px solid var(--line); }
.gallery-copy h2 { margin:0 0 8px; font:400 25px/1.15 Georgia,serif; }
.gallery-copy p { margin:0; color:#5b534b; line-height:1.6; }

@media (max-width: 900px) {
  .page-hero { padding: 80px 22px 60px; }.page-hero h1 { font-size: 15vw; }
  .post-list, .social-grid, .gallery-grid { grid-template-columns: 1fr; }
  .article-header { padding: 70px 22px 55px; }
  .article-body blockquote, .article-media { margin-left: 0; margin-right: 0; }
}
