.field-section { background: #eee9dd; color: #183023; position: relative; }
.field-section .section-kicker { border-color: #18302333; }
.field-section .eyebrow { color: #56654c; }
.field-heading { display: grid; grid-template-columns: 1.6fr 1fr; align-items: end; gap: 7vw; margin-bottom: 64px; }
.field-heading h2 { font: 500 clamp(44px, 5.6vw, 84px)/1.04 'Fraunces', serif; letter-spacing: -.05em; margin: 0; }
.field-heading h2 em { color: #63704e; font-weight: 500; }
.field-heading > p { max-width: 350px; font-size: 16px; line-height: 1.85; margin-bottom: 6px; }
.field-editorial { display: grid; grid-template-columns: 1.18fr 1fr; gap: 5vw; align-items: stretch; }
.field-cover, .field-feature-film { padding: 0; border: 0; color: #fff8e8; background: #173425; position: relative; overflow: hidden; text-align: left; }
.field-cover { min-height: 640px; }
.field-cover img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.field-cover img, .field-feature-film img, .media-card img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.field-cover:hover img, .field-feature-film:hover img, .media-card:hover img { transform: scale(1.035); }
.field-cover-caption { position: absolute; inset: auto 0 0; padding: 70px 28px 28px; background: linear-gradient(transparent,#07120de6); display: flex; justify-content: space-between; gap: 16px; font: 11px 'DM Mono', monospace; }
.field-cover-caption > span:last-child { font: 25px 'DM Sans', sans-serif; }
.field-side { display: flex; flex-direction: column; justify-content: space-between; gap: 48px; padding-top: 16px; }
.field-note-index { font: 10px 'DM Mono', monospace; letter-spacing: .17em; }
.field-note h3 { font: 500 clamp(38px, 4vw, 58px)/1.1 'Fraunces', serif; letter-spacing: -.035em; margin: 25px 0; }
.field-note h3 em { color: #63704e; }
.field-note p { max-width: 345px; font-size: 15px; line-height: 1.8; }
.field-section .text-link { color: #183023; }
.field-feature-film { width: 100%; height: 280px; }
.field-feature-film img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; opacity: .7; }
.film-play { position: absolute; left: 26px; top: 25px; display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid #fff9; border-radius: 50%; font-size: 15px; backdrop-filter: blur(6px); }
.feature-film-caption { position: absolute; inset: auto 0 0; padding: 45px 26px 24px; background: linear-gradient(transparent,#07120dd9); font: 500 26px 'Fraunces',serif; }
.feature-film-caption small { display: block; font: 9px 'DM Mono',monospace; letter-spacing: .12em; margin-top: 10px; }
.field-collection { padding-top: 96px; scroll-margin-top: 120px; }
.collection-bar { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 32px; }
.collection-bar h3 { font: 500 clamp(30px,3vw,44px) 'Fraunces',serif; margin: 0; letter-spacing: -.03em; }
.media-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.media-filters button { border: 1px solid #18302330; background: transparent; color: #183023; border-radius: 99px; padding: 12px 18px; font-size: 12px; min-height: 44px; }
.media-filters span { font: 9px 'DM Mono',monospace; margin-left: 6px; opacity: .75; }
.media-filters button[aria-pressed=true] { background: #183023; color: #fff8e8; }
.media-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 34px 20px; }
.media-card { display: block; align-self: start; padding: 0; border: 0; background: none; text-align: left; color: #183023; min-width: 0; }
.media-card-visual { display: block; position: relative; overflow: hidden; aspect-ratio: 3 / 4; background: #c9cdbd; }
.media-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.media-card-badge { position: absolute; right: 12px; bottom: 12px; background: #10261fd9; color: #fff8e8; border: 1px solid #fff4; padding: 9px 12px; font: 11px 'DM Mono',monospace; border-radius: 99px; }
.media-card-caption { display: block; padding-top: 16px; }
.media-card-caption small { display: block; font: 9px 'DM Mono',monospace; text-transform: uppercase; color: #59694e; letter-spacing: .09em; margin-bottom: 7px; }
.media-card-caption > span { font: 500 19px/1.25 'Fraunces',serif; }
.collection-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid #18302333; margin-top: 45px; padding-top: 25px; }
.collection-footer > span { font: 10px 'DM Mono',monospace; letter-spacing: .05em; }
.heritage-portrait { margin: 38px 0 0; max-width: 340px; }
.heritage-portrait button { display: block; width: 100%; padding: 0; border: 0; background: transparent; }
.heritage-portrait img { width: 100%; height: auto; display: block; }
.heritage-portrait figcaption { font: 11px/1.7 'DM Mono',monospace; color: #c3cab7; margin-top: 17px; max-width: 290px; }
body.media-open { overflow: hidden; }
.media-dialog { padding: 0; width: min(1080px, calc(100vw - 40px)); max-width: none; max-height: calc(100dvh - 32px); background: #0c1b13; color: #f4ead6; border: 1px solid #fff3; box-shadow: 0 30px 100px #0008; }
.media-dialog::backdrop { background: #030906e8; backdrop-filter: blur(14px); }
.media-dialog-header { display: flex; justify-content: space-between; align-items: center; padding: 10px 24px; border-bottom: 1px solid #fff2; }
.media-dialog-header > span { font: 10px 'DM Mono',monospace; letter-spacing: .1em; }
.media-close { padding: 12px 0 12px 16px; color: #f4ead6; background: none; border: 0; font-size: 12px; min-height: 44px; }
.media-close span { margin-left: 12px; font-size: 23px; vertical-align: middle; }
.media-stage { background: #050c08; height: min(66dvh, 760px); display: grid; place-items: center; }
.media-stage img, .media-stage video { width: 100%; height: 100%; object-fit: contain; min-height: 0; max-height: min(66dvh,760px); }
.media-dialog-footer { padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.media-dialog-footer h2 { font: 500 25px 'Fraunces',serif; margin: 0 0 8px; }
.media-dialog-footer p { color: #b5c0ad; font-size: 12px; line-height: 1.6; max-width: 680px; margin: 0; }
.media-pagination { display: flex; gap: 8px; flex-shrink: 0; }
.media-pagination button { width: 44px; height: 44px; border: 1px solid #fff4; border-radius: 50%; background: transparent; color: #f4ead6; font-size: 20px; }
.media-pagination button:hover { background: #f4ead6; color: #183023; }
.field-section :focus-visible { outline-color: #436946; }
@media (max-width: 1000px) { .field-heading { grid-template-columns: 1.5fr 1fr; gap: 30px; } .media-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .field-cover { min-height: 600px; } }
@media (max-width: 640px) {
  .field-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 34px; }
  .field-heading h2 { font-size: clamp(40px, 10vw, 62px); }
  .field-heading > p { font-size: 14px; }
  .field-editorial { grid-template-columns: 1fr; gap: 32px; }
  .field-cover { min-height: 0; aspect-ratio: 3/4; }
  .field-side { gap: 30px; padding-top: 0; }
  .field-note h3 { font-size: 40px; }
  .field-note p { max-width: none; }
  .field-feature-film { height: 270px; }
  .field-collection { padding-top: 60px; }
  .collection-bar { align-items: start; flex-direction: column; }
  .media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 12px; }
  .media-card-caption > span { font-size: 17px; }
  .media-card-caption small { font-size: 8px; }
  .media-card-badge { bottom: 8px; right: 8px; padding: 7px 9px; }
  .collection-footer { align-items: start; flex-direction: column; }
  .heritage-portrait { max-width: 100%; }
  .heritage-portrait img { max-height: 460px; object-fit: cover; object-position: center 30%; }
  .media-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .media-dialog-header { padding-inline: 16px; }
  .media-dialog-header > span { font-size: 8px; }
  .media-stage, .media-stage img, .media-stage video { height: 55dvh; max-height: 55dvh; }
  .media-dialog-footer { padding: 16px; gap: 12px; }
  .media-dialog-footer h2 { font-size: 21px; }
  .media-dialog-footer p { font-size: 11px; }
  .media-pagination { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { .field-cover img, .field-feature-film img, .media-card img { transition: none; } }
