.updates-page, .post-page { --updates-night: #0b0a08; --updates-gold: #e1c782; --updates-paper: #f3efe4; --updates-ink: #17150f; background: var(--updates-paper); }
.updates-header { color: var(--updates-paper); background: rgba(11, 10, 8, .95); }
.updates-header .wordmark, .updates-header nav a { color: var(--updates-paper); }
.updates-header .wordmark strong { border-color: var(--updates-gold); color: var(--updates-gold); }
.updates-header .language-switch { border-color: rgba(225,199,130,.45); }
.updates-header .language-switch button { color: rgba(243,239,228,.58); }
.updates-header .language-switch button[aria-pressed="true"] { color: var(--updates-night); background: var(--updates-gold); }
.updates-header .mobile-nav-toggle span { background: var(--updates-paper); }

.updates-hero { display: flex; min-height: 70vh; flex-direction: column; justify-content: flex-end; padding-top: 120px; overflow: hidden; color: var(--updates-paper); background: radial-gradient(circle at 82% 18%, rgba(225,199,130,.12), transparent 27%), repeating-linear-gradient(90deg, transparent 0 9.9%, rgba(225,199,130,.035) 10%), var(--updates-night); }
.updates-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .34fr); align-items: end; gap: 8vw; padding-bottom: 74px; }
.updates-hero .eyebrow { color: var(--updates-gold); }
.updates-hero h1 { max-width: 15ch; margin: 24px 0 0; font-family: var(--serif); font-size: clamp(48px, 7.2vw, 104px); font-weight: 600; line-height: 1.13; }
.updates-hero-grid > p { max-width: 33ch; margin: 0 0 10px; color: rgba(243,239,228,.62); font-size: 13px; line-height: 1.9; }
.updates-hero-line { display: flex; height: 54px; align-items: center; gap: 16px; padding: 0 4vw; border-top: 1px solid rgba(225,199,130,.2); color: rgba(243,239,228,.44); font-size: 8px; font-weight: 700; letter-spacing: 1.4px; }
.updates-hero-line i { width: 4px; height: 4px; border-radius: 50%; background: var(--updates-gold); }

.updates-library { padding-block: 100px 130px; }
.updates-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-bottom: 30px; border-bottom: 1px solid var(--updates-ink); }
.updates-toolbar > div:first-child { display: flex; align-items: baseline; gap: 22px; }
.updates-toolbar > div:first-child span { color: #92733a; font-size: 10px; font-weight: 700; }
.updates-toolbar h2 { margin: 0; color: var(--updates-ink); font-family: var(--serif); font-size: 34px; font-weight: 600; }
.updates-filters { display: flex; border: 1px solid rgba(23,21,15,.28); }
.updates-filters button { min-width: 76px; min-height: 38px; padding: 0 14px; border: 0; border-right: 1px solid rgba(23,21,15,.2); color: rgba(23,21,15,.58); background: transparent; cursor: pointer; font-size: 10px; }
.updates-filters button:last-child { border-right: 0; }
.updates-filters button[aria-pressed="true"] { color: var(--updates-paper); background: var(--updates-ink); }
.updates-feed { min-height: 360px; }
.updates-loading { display: flex; min-height: 360px; align-items: center; justify-content: center; gap: 12px; color: rgba(23,21,15,.48); font-size: 10px; }
.updates-loading span, .post-loading span { width: 17px; height: 17px; border: 1px solid rgba(225,199,130,.3); border-top-color: var(--updates-gold); border-radius: 50%; animation: update-spin .8s linear infinite; }
@keyframes update-spin { to { transform: rotate(360deg); } }
.updates-entry { display: grid; grid-template-columns: minmax(240px, .37fr) minmax(0, .63fr); min-height: 360px; border-bottom: 1px solid rgba(23,21,15,.4); color: var(--updates-ink); text-decoration: none; }
.updates-entry:first-child { min-height: 480px; }
.updates-entry-media { position: relative; min-height: 360px; overflow: hidden; background: #15130f; }
.updates-entry:first-child .updates-entry-media { min-height: 480px; }
.updates-entry-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.05); transition: filter 260ms ease, transform 600ms ease; }
.updates-entry:hover .updates-entry-media img { filter: saturate(.95) contrast(1.02); transform: scale(1.015); }
.updates-entry-placeholder { display: grid; width: 100%; height: 100%; min-height: inherit; place-items: center; background: repeating-linear-gradient(135deg, transparent 0 33px, rgba(225,199,130,.035) 33px 34px), #15130f; }
.updates-entry-placeholder span { color: rgba(225,199,130,.66); font-family: var(--serif); font-size: 76px; }
.updates-entry-count { position: absolute; right: 12px; bottom: 12px; padding: 6px 8px; color: var(--updates-paper); background: rgba(11,10,8,.72); font-size: 8px; }
.updates-entry-copy { display: flex; min-width: 0; flex-direction: column; padding: 38px clamp(26px, 5vw, 70px) 32px; }
.updates-entry-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: rgba(23,21,15,.5); font-size: 9px; }
.updates-entry-meta b { color: #8b6a2f; font-weight: 700; }
.updates-entry h3 { max-width: 22ch; margin: 62px 0 0; font-family: var(--serif); font-size: clamp(29px, 3.5vw, 48px); font-weight: 600; line-height: 1.35; }
.updates-entry p { max-width: 62ch; margin: 20px 0 0; color: rgba(23,21,15,.62); font-size: 13px; line-height: 1.9; }
.updates-entry-read { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 34px; color: #8b6a2f; font-size: 9px; font-weight: 700; }
.updates-empty { padding: 100px 0; color: rgba(23,21,15,.54); text-align: center; }
.updates-empty strong { display: block; font-family: var(--serif); font-size: 28px; font-weight: 600; }
.updates-empty span { display: block; margin-top: 12px; font-size: 10px; }

.post-page { color: var(--updates-ink); }
.post-loading { display: flex; min-height: 100vh; align-items: center; justify-content: center; gap: 12px; color: rgba(243,239,228,.55); background: var(--updates-night); font-size: 10px; }
.post-loading[hidden] { display: none !important; }
.post-masthead { display: grid; min-height: 82vh; grid-template-columns: minmax(0, .56fr) minmax(320px, .44fr); padding-top: 72px; color: var(--updates-paper); background: var(--updates-night); }
.post-masthead-copy { display: flex; max-width: none; flex-direction: column; justify-content: flex-end; margin: 0; padding: 80px clamp(26px, 6vw, 100px) 76px max(4vw, calc((100vw - 1240px) / 2)); }
.post-back { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; color: rgba(243,239,228,.55); font-size: 9px; text-decoration: none; }
.post-back:hover { color: var(--updates-gold); }
.post-meta { display: flex; align-items: center; gap: 18px; margin-top: auto; color: rgba(243,239,228,.48); font-size: 9px; }
.post-meta span { color: var(--updates-gold); font-weight: 700; }
.post-masthead h1 { max-width: 16ch; margin: 28px 0 0; font-family: var(--serif); font-size: clamp(46px, 6.4vw, 92px); font-weight: 600; line-height: 1.16; }
.post-masthead-copy > p { max-width: 48ch; margin: 28px 0 0; color: rgba(243,239,228,.62); font-size: 14px; line-height: 1.9; }
.post-masthead figure { min-height: 100%; margin: 0; overflow: hidden; }
.post-masthead figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.05); }
.post-masthead:not(.has-cover) { grid-template-columns: 1fr; background: radial-gradient(circle at 78% 18%, rgba(225,199,130,.14), transparent 28%), repeating-linear-gradient(90deg, transparent 0 9.9%, rgba(225,199,130,.035) 10%), var(--updates-night); }
.post-masthead:not(.has-cover) .post-masthead-copy { width: min(1240px, 92vw); margin-inline: auto; padding-left: 0; }
.post-reading { display: grid; grid-template-columns: 150px minmax(0, 720px); justify-content: center; gap: 70px; padding-block: 110px 80px; }
.post-aside { padding-top: 9px; color: rgba(23,21,15,.44); font-size: 8px; line-height: 1.8; text-transform: uppercase; }
.post-aside span { display: block; margin-bottom: 16px; color: #8b6a2f; font-family: var(--serif); font-size: 28px; }
.post-aside p { margin: 0; }
.post-prose { min-width: 0; font-family: var(--serif); font-size: 17px; line-height: 2.15; }
.post-prose p { margin: 0 0 1.6em; }
.post-prose p:first-child::first-letter { float: left; margin: .1em .14em 0 0; color: #8b6a2f; font-size: 4.2em; line-height: .82; }
.post-gallery { padding-block: 30px 110px; }
.post-gallery-heading { display: flex; align-items: baseline; gap: 20px; margin-bottom: 34px; padding-bottom: 18px; border-bottom: 1px solid var(--updates-ink); }
.post-gallery-heading span { color: #8b6a2f; font-size: 10px; font-weight: 700; }
.post-gallery-heading h2 { margin: 0; font-family: var(--serif); font-size: 30px; font-weight: 600; }
.post-gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px; }
.post-gallery-grid button { grid-column: span 4; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 0; background: #17150f; cursor: zoom-in; }
.post-gallery-grid button:nth-child(5n + 1), .post-gallery-grid button:nth-child(5n + 2) { grid-column: span 6; }
.post-gallery-grid img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); transition: 220ms ease; }
.post-gallery-grid button:hover img { filter: saturate(1); transform: scale(1.015); }
.post-end { display: flex; align-items: center; justify-content: space-between; margin-bottom: 100px; padding-top: 28px; border-top: 1px solid var(--updates-ink); }
.post-end > span { color: rgba(23,21,15,.42); font-size: 8px; letter-spacing: 1.5px; }
.post-end a { display: flex; align-items: center; gap: 28px; color: var(--updates-ink); font-size: 10px; font-weight: 700; text-decoration: none; }
.post-end i { color: #8b6a2f; font-size: 18px; font-style: normal; }
.post-error { min-height: 82vh; padding-top: 190px; }
.post-error > span { color: #8b6a2f; font-family: var(--serif); font-size: 22px; }
.post-error h1 { max-width: 13ch; margin: 30px 0 38px; font-family: var(--serif); font-size: clamp(42px, 7vw, 86px); font-weight: 600; line-height: 1.2; }
.post-error a { color: var(--updates-ink); font-size: 10px; font-weight: 700; }
.post-lightbox { width: 100vw; max-width: none; height: 100vh; max-height: none; padding: 46px; border: 0; color: var(--updates-paper); background: rgba(8,7,6,.96); }
.post-lightbox::backdrop { background: rgba(8,7,6,.96); }
.post-lightbox img { display: block; width: 100%; height: calc(100vh - 92px); object-fit: contain; }
.post-lightbox button { position: fixed; z-index: 2; top: 18px; right: 20px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(225,199,130,.5); color: var(--updates-paper); background: rgba(11,10,8,.8); cursor: pointer; font-size: 24px; }
.post-lightbox span { position: fixed; bottom: 20px; left: 24px; color: rgba(243,239,228,.5); font-size: 9px; }

@media (max-width: 980px) {
  .updates-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .updates-entry { grid-template-columns: minmax(250px, .44fr) minmax(0, .56fr); }
  .post-masthead { grid-template-columns: 1fr; }
  .post-masthead figure { order: -1; min-height: 48vh; max-height: 620px; }
  .post-masthead-copy { min-height: 560px; margin: 0; padding-left: 5vw; }
}

@media (max-width: 700px) {
  .updates-header nav.is-open { color: var(--updates-paper); background: rgba(11,10,8,.98); border-color: rgba(225,199,130,.22); box-shadow: 0 12px 24px rgba(0,0,0,.28); }
  .updates-header nav.is-open a { border-bottom-color: rgba(225,199,130,.18); }
  .updates-hero { min-height: 73vh; padding-top: 100px; }
  .updates-hero-grid { padding-bottom: 48px; }
  .updates-hero h1 { font-size: 44px; }
  .updates-hero-line { padding-inline: 20px; }
  .updates-library { padding-block: 70px 84px; }
  .updates-toolbar { align-items: stretch; flex-direction: column; }
  .updates-filters { display: grid; grid-template-columns: repeat(3, 1fr); }
  .updates-filters button { min-width: 0; padding-inline: 8px; }
  .updates-entry, .updates-entry:first-child { grid-template-columns: 1fr; min-height: 0; }
  .updates-entry-media, .updates-entry:first-child .updates-entry-media { min-height: 0; aspect-ratio: 4 / 3; }
  .updates-entry-copy { min-height: 350px; padding: 28px 18px; }
  .updates-entry h3 { margin-top: 42px; font-size: 31px; }
  .post-masthead { padding-top: 64px; }
  .post-masthead figure { height: 42vh; min-height: 0; }
  .post-masthead-copy { min-height: 520px; justify-content: flex-start; padding: 46px 20px 54px; }
  .post-meta { margin-top: 64px; }
  .post-masthead h1 { font-size: 43px; }
  .post-masthead-copy > p { font-size: 12px; }
  .post-reading { grid-template-columns: 1fr; gap: 30px; padding-block: 70px 50px; }
  .post-aside { display: flex; align-items: baseline; gap: 16px; padding: 0; }
  .post-aside span { margin: 0; font-size: 22px; }
  .post-prose { font-size: 16px; line-height: 2.08; }
  .post-gallery { padding-bottom: 78px; }
  .post-gallery-grid { grid-template-columns: 1fr; }
  .post-gallery-grid button, .post-gallery-grid button:nth-child(5n + 1), .post-gallery-grid button:nth-child(5n + 2) { grid-column: auto; }
  .post-end { margin-bottom: 70px; }
  .post-lightbox { padding: 26px 10px; }
  .post-lightbox img { height: calc(100vh - 52px); }
}
