/* Media — follows the existing Presence typography and monochrome palette. */
.press-lightbox { z-index: 100010; }
.press-section { background: var(--paper); color: var(--ink); padding: clamp(80px,10vw,150px) 3.2vw; position: relative; z-index: 2; scroll-margin-top: 90px; }
.press-heading { display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: end; padding-bottom: 44px; border-bottom: 1px solid var(--line); }
.press-kicker { grid-column: 1 / -1; font: 700 10px/1.5 var(--sans); letter-spacing: .18em; text-transform: uppercase; margin: 0; }
.press-heading h2 { color: inherit; font: 400 clamp(88px,14vw,220px)/.9 var(--serif); letter-spacing: -.025em; text-transform: uppercase; margin: 0; }
.press-heading > p:last-child { max-width: 290px; margin: 0; font: 400 14px/1.6 var(--sans); color: #b6b4b0; }
.press-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(28px,5vw,80px); align-items: center; padding: 48px 0; border-bottom: 1px solid var(--line); }
.press-feature__image { display: block; overflow: hidden; background: #171717; }
.press-feature__image img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; filter: grayscale(1); transition: filter .35s; }
.press-feature__image:hover img { filter: grayscale(0); }
.press-meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; color: #b6b4b0; font: 600 10px/1.5 var(--sans); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 24px; }
.press-meta span:first-child { color: var(--ink); border: 1px solid var(--line); padding: 7px 10px; }
.press-feature h3 { color: inherit; font: 400 clamp(36px,4.4vw,72px)/1.06 var(--serif); text-transform: uppercase; letter-spacing: -.015em; margin: 0 0 24px; }
.press-person { color: #b6b4b0; font: 400 15px/1.5 var(--sans); margin: 0 0 30px; }
.press-actions { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.press-actions a { display: inline-flex; gap: 32px; align-items: center; color: var(--ink); padding: 12px 0; border-bottom: 1px solid var(--ink); font: 600 11px/1.4 var(--sans); text-transform: uppercase; letter-spacing: .1em; text-decoration: none; }
.press-actions a:hover { opacity: .65; }
.press-actions span { font-size: 22px; }
.press-archive-label { display: flex; justify-content: space-between; gap: 20px; margin: 42px 0 28px; color: #b6b4b0; font: 600 10px/1.5 var(--sans); letter-spacing: .15em; text-transform: uppercase; }
.press-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(18px,2.4vw,38px); }
.press-item { min-width: 0; }
.press-item a { color: inherit; text-decoration: none; display: block; }
.press-cover { display: grid; place-items: center; aspect-ratio: 3/4; background: #171717; padding: clamp(12px,1.5vw,24px); overflow: hidden; margin: 0 0 22px; }
.press-cover img { width: 100%; height: 100%; min-height: 0; object-fit: contain; filter: grayscale(1); transition: filter .35s,transform .35s; }
.press-item a:hover img, .press-item a:focus-visible img { filter: grayscale(0); transform: scale(1.025); }
.press-item h3 { color: inherit; display: flex; justify-content: space-between; gap: 12px; font: 400 clamp(24px,2.5vw,38px)/1.1 var(--serif); text-transform: uppercase; margin: 0 0 10px; }
.press-item h3 span { font-family: var(--sans); font-size: 24px; }
.press-item p { color: #b6b4b0; font: 400 13px/1.5 var(--sans); margin: 0; }
.press-item small { display: block; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); color: #b6b4b0; font: 600 10px/1.5 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
@media (min-width:981px) { .presence-theme .editorial-nav { gap: clamp(14px,1.7vw,30px); } }
@media (min-width:981px) and (max-width:1200px) { .presence-theme .editorial-header::after { display:none; } }
@media (max-width:980px) { .press-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 22px; } .presence-theme .editorial-nav { max-height: calc(100dvh - 72px); overflow-y: auto; gap: 16px; } }
@media (max-width:600px) { .press-section { padding: 80px 18px; scroll-margin-top:72px; } .press-heading, .press-feature { grid-template-columns: 1fr; } .press-heading { gap: 24px; padding-bottom:30px; } .press-feature { padding:30px 0; } .press-heading > p:last-child { max-width: 320px; } .press-grid { gap:32px 14px; } .press-cover { padding:10px; margin-bottom:16px; } .press-item h3 { font-size:24px; } .press-item small { font-size:9px; } .press-archive-label { letter-spacing:.08em; } }
