.media-hero { min-height: 92svh; padding-block: clamp(190px,18vw,255px) clamp(95px,9vw,135px); display: grid; align-items: center; color: var(--white); background: var(--evergreen); }
.media-hero h1 { max-width: 1320px; margin: 0; font-size: clamp(66px,8.4vw,145px); font-weight: 400; letter-spacing: -.078em; line-height: .89; }
.media-hero h1 span { color: var(--sage); }
.media-hero .partner-shell > p:not(.eyebrow) { max-width: 720px; margin: 38px 0 0; color: var(--light-muted); font-size: clamp(18px,1.5vw,23px); }
.media-hero .button { margin-top: 42px; }
.media-section { padding-block: var(--section-space); }
.media-heading { margin-top: clamp(48px,6vw,82px); display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); gap: clamp(55px,8vw,135px); align-items: end; }
.media-heading h2, .type-layout h2, .media-contact h2 { margin: 0; font-size: clamp(52px,6.7vw,108px); font-weight: 400; letter-spacing: -.07em; line-height: .94; }
.media-heading h2 span, .type-layout h2 span { color: var(--sage-muted); }
.media-heading > p { max-width: 520px; margin: 0; color: var(--grey-green); font-size: clamp(18px,1.4vw,22px); }
.asset-grid { margin-top: clamp(65px,8vw,110px); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.asset-card { border: 1px solid var(--line); background: var(--paper); }
.asset-preview { min-height: 400px; padding: clamp(35px,5vw,80px); display: grid; place-items: center; background: var(--evergreen); }
.asset-light .asset-preview { background: var(--sage-pale); }
.asset-preview img { max-width: min(100%,600px); max-height: 300px; object-fit: contain; }
.asset-preview-square img { max-width: 260px; max-height: 260px; }
.asset-meta { padding: 24px 26px; display: flex; align-items: end; justify-content: space-between; gap: 25px; }
.asset-meta small { color: var(--grey-green); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.asset-meta h3 { margin: 6px 0 0; font-size: clamp(22px,2vw,32px); font-weight: 500; letter-spacing: -.04em; }
.asset-meta a { min-height: 44px; display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; }
.palette-section { background: var(--sage-pale); }
.palette-grid { margin-top: clamp(65px,8vw,105px); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(16,35,30,.2); border-left: 1px solid rgba(16,35,30,.2); }
.colour-card { min-height: 260px; padding: 25px; display: flex; align-items: flex-end; color: var(--swatch-text); background: var(--swatch); border-right: 1px solid rgba(16,35,30,.2); border-bottom: 1px solid rgba(16,35,30,.2); }
.colour-card div { width: 100%; display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.colour-card span { font-size: clamp(22px,2.4vw,37px); letter-spacing: -.04em; }
.colour-card strong { font-size: 12px; letter-spacing: .08em; }
.type-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(480px,1.1fr); gap: clamp(65px,9vw,160px); align-items: center; }
.type-layout h2 { margin-top: 50px; font-size: clamp(48px,5.7vw,92px); }
.type-layout > div:first-child > p:not(.section-label) { max-width: 650px; margin: 35px 0 0; color: var(--grey-green); font-size: 18px; }
.text-download { margin-top: 30px; display: inline-flex; align-items: center; gap: 13px; font-size: 14px; font-weight: 600; }
.type-specimen { min-height: 540px; padding: clamp(30px,4vw,58px); display: flex; flex-direction: column; justify-content: space-between; color: var(--white); background: var(--evergreen); }
.type-specimen > span { font-size: clamp(130px,14vw,250px); font-weight: 400; letter-spacing: -.09em; line-height: .8; }
.type-specimen > p { margin: 45px 0; overflow-wrap: anywhere; color: var(--light-muted); font-size: clamp(16px,1.4vw,21px); line-height: 1.6; letter-spacing: .05em; }
.type-specimen > div { display: flex; flex-wrap: wrap; gap: 14px 28px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); }
.type-specimen strong { font-size: 12px; }
.media-contact { padding-block: clamp(90px,10vw,145px); color: var(--evergreen); background: var(--sage); }
.media-contact p { margin: 0 0 35px; font-size: 12px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.media-contact h2 { max-width: 1200px; }
.media-contact .button { margin-top: 42px; }

@media (max-width: 980px) {
  .media-heading, .type-layout { grid-template-columns: 1fr; }
  .media-heading { gap: 35px; }
  .media-heading > p { max-width: 680px; }
  .type-layout { gap: 65px; }
  .type-specimen { min-height: 480px; }
}

@media (max-width: 700px) {
  .asset-grid, .palette-grid { grid-template-columns: 1fr; }
  .asset-preview { min-height: 300px; }
}

@media (max-width: 620px) {
  .media-hero { min-height: 80svh; padding-block: 145px 88px; }
  .media-hero h1 { font-size: clamp(54px,16vw,76px); }
  .media-hero .button { width: 100%; }
  .asset-preview { min-height: 240px; padding: 30px; }
  .asset-preview-square img { max-width: 180px; }
  .asset-meta { align-items: flex-start; flex-direction: column; }
  .colour-card { min-height: 210px; }
  .type-specimen { min-height: 420px; }
}

@media (max-width: 390px) {
  .media-hero h1 { font-size: clamp(49px,15vw,62px); }
  .media-heading h2, .type-layout h2, .media-contact h2 { font-size: clamp(43px,13vw,58px); }
}

@media (max-height: 600px) and (min-width: 600px) {
  .media-hero { min-height: 0; padding-block: 112px 58px; }
  .media-hero h1 { font-size: clamp(66px,8vw,96px); }
}
