.culture-page { min-height: 100vh; background: #050505; }
.culture-back { color: #bdbdb8; font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.culture-back:hover, .culture-back:focus-visible { color: #fff; }
.culture-main { padding-top: 72px; }
.culture-hero { min-height: 76vh; display: grid; grid-template-columns: .75fr 1.6fr 1fr; align-items: end; gap: 5vw; padding: 90px 6vw 70px; border-bottom: 1px solid #333; }
.culture-hero h1 { font-size: clamp(4.5rem, 11vw, 11rem); }
.culture-hero > div { padding-bottom: 15px; }
.culture-hero > div p { max-width: 440px; margin: 0 0 20px; color: #b0b0ab; font-size: 1.05rem; line-height: 1.65; }
.culture-hero time { color: #666; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.video-section, .news-section { padding: 100px 6vw; }
.video-section { scroll-margin-top: 82px; }
.culture-section-heading { display: grid; grid-template-columns: .75fr 2.6fr; gap: 5vw; align-items: end; margin-bottom: 45px; }
.culture-section-heading h2 { font-size: clamp(3rem, 7vw, 7rem); }
.video-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 36px 24px; }
.video-lead { grid-row: span 2; }
.video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid #333; background: #111; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-meta { margin: 18px 0 7px; color: #777; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.video-card h3 { max-width: 800px; margin: 0; font: 400 clamp(1.25rem, 2.3vw, 2.5rem)/1.08 Archivo Black, sans-serif; text-transform: uppercase; }
.news-section { background: #e9e9e5; color: #050505; }
.news-section .eyebrow { color: #666; }
.feed-lanes { display: flex; gap: 8px; overflow-x: auto; margin: -15px 0 30px; padding-bottom: 5px; scrollbar-width: none; }
.feed-lanes::-webkit-scrollbar { display: none; }
.feed-filter { flex: 0 0 auto; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; border: 1px solid #a5a59f; border-radius: 999px; background: transparent; color: #050505; font: 800 .68rem/1 Inter, sans-serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; cursor: pointer; touch-action: manipulation; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.feed-filter:hover { border-color: #050505; transform: translateY(-1px); }
.feed-filter:focus-visible { outline: 3px solid #7a7a76; outline-offset: 3px; }
.feed-filter.is-active { background: #050505; color: #fff; border-color: #050505; }
.feed-filter.share-filter { background: #050505; color: #fff; border-color: #050505; }
.feed-filter.share-filter:disabled { cursor: wait; opacity: .65; }
.share-status { min-height: 1.3em; margin: -18px 0 24px; color: #555550; font-size: .72rem; font-weight: 700; line-height: 1.45; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #bcbcb6; }
.news-grid.is-filtered { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.news-card[hidden] { display: none; }
.news-card { min-height: 420px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid #bcbcb6; border-bottom: 1px solid #bcbcb6; color: #050505; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.news-card:nth-child(3n) { border-right: 0; }
.news-card:nth-last-child(-n+3) { border-bottom: 0; }
.news-card:hover, .news-card:focus-visible { z-index: 1; transform: translateY(-6px); background: #fff; }
.news-card.inverse { background: #050505; color: #fff; }
.news-card.inverse:hover, .news-card.inverse:focus-visible { background: #1a1a1a; }
.news-source { color: #777; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.story-tag { align-self: flex-start; margin-bottom: 14px; padding: 6px 9px; border: 1px solid currentColor; border-radius: 999px; color: #454541; font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.news-card.inverse .story-tag { color: #d7d7d2; }
.story-tag.good { color: #08783c; }
.story-tag.funny { color: #b02f7d; }
.story-tag.numbers { color: #38c8ff; }
.story-tag.culture { color: #9347e8; }
.story-tag.developing { color: #ff6a4e; }
.news-card h3 { margin: 44px 0 20px; font: 400 clamp(1.35rem, 2.2vw, 2.35rem)/1.05 Archivo Black, sans-serif; text-transform: uppercase; }
.news-card p { color: #5c5c57; line-height: 1.6; }
.news-card.inverse p { color: #aaa; }
.read-link { margin-top: auto; padding-top: 25px; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.source-note { max-width: 700px; margin: 28px 0 0 auto; color: #666; font-size: .78rem; line-height: 1.6; }
.source-note a { color: #050505; font-weight: 700; text-underline-offset: 3px; }
.culture-close { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 70px 6vw; }
.culture-close p { margin: 0; color: #777; }
.culture-close a { font: 400 clamp(1.8rem, 4vw, 4rem)/1 Archivo Black, sans-serif; text-align: right; text-decoration: none; text-transform: uppercase; }

@media (max-width: 820px) {
  .culture-hero { min-height: auto; grid-template-columns: 1fr; gap: 12px; padding: 80px 24px 60px; }
  .culture-hero h1 { font-size: clamp(4rem, 22vw, 7rem); }
  .culture-hero > div { margin-top: 18px; }
  .video-section, .news-section { padding: 75px 24px; }
  .culture-section-heading { grid-template-columns: 1fr; gap: 10px; }
  .video-grid, .news-grid { grid-template-columns: 1fr; }
  .news-grid.is-filtered { grid-template-columns: 1fr; }
  .video-lead { grid-row: auto; }
  .news-card { min-height: 350px; border-right: 0; border-bottom: 1px solid #bcbcb6; }
  .news-card:nth-child(3n) { border-right: 0; }
  .news-card:nth-last-child(-n+3) { border-bottom: 1px solid #bcbcb6; }
  .news-card:last-child { border-bottom: 0; }
  .news-card:hover, .news-card:focus-visible { transform: none; }
  .culture-close { align-items: flex-start; flex-direction: column; padding: 55px 24px; }
  .culture-close a { text-align: left; }
}

@media (min-width: 821px) and (max-width: 1100px) {
  .news-grid { grid-template-columns: repeat(2, 1fr); }
  .news-card:nth-child(3n) { border-right: 1px solid #bcbcb6; }
  .news-card:nth-child(2n) { border-right: 0; }
  .news-card:nth-last-child(-n+3) { border-bottom: 1px solid #bcbcb6; }
  .news-card:nth-last-child(-n+2) { border-bottom: 0; }
}
