.press { isolation: isolate; background: #ffceab; color: #40291f; --press-entry: 1; }
.press__camera { position: absolute; z-index: -3; inset: -1%; transform: translateY(calc(var(--press-entry) * -14dvh)) scale(calc(1 + var(--press-entry) * .12)); }
.press__camera picture, .press__camera img { display: block; width: 100%; height: 100%; }
.press__camera img { object-fit: cover; animation: press-sky 18s ease-in-out infinite alternate; }
.press__layout { position: relative; height: 100%; width: min(1440px, 88vw); margin: auto; padding: max(34px, 5dvh) 0; display: grid; grid-template-columns: 1.1fr 1fr; grid-template-rows: auto minmax(0, 1fr) auto; gap: 24px 5vw; align-items: center; }
.press__heading { position: relative; z-index: 3; grid-column: 1; grid-row: 1; transform: translateX(calc(var(--press-entry) * -80px)); opacity: calc(1 - var(--press-entry)); }
.press__eyebrow { font: 700 12px/1.3 'Courier New', monospace; letter-spacing: .12em; margin: 0 0 14px; }
.press__heading h2 { margin: 0; font: 400 clamp(64px, 7vw, 112px)/.95 Impact, 'Arial Narrow', sans-serif; letter-spacing: -.02em; text-transform: uppercase; color: #008c89; outline: none; }
.press__heading h2 span { color: #df4329; }
.press__stage { grid-column: 2; grid-row: 1 / 4; position: relative; height: 100%; min-height: 0; pointer-events: none; }
.press__portrait { position: absolute; top: 0; left: -8%; height: 156dvh; aspect-ratio: 941 / 1672; transform: translate(calc(var(--press-entry) * 130px), calc(var(--press-entry) * 80px)); }
.press__portrait img { width: 100%; height: 100%; display: block; object-fit: contain; filter: drop-shadow(-7px 4px 0 #fff0d2); animation: press-portrait-float 9s ease-in-out infinite; }
.press__stamp { position: absolute; left: -8%; bottom: 8%; z-index: 4; width: 150px; height: 150px; border: 2px dashed #086d69; border-radius: 50%; background: #ffedce; color: #086d69; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; rotate: -6deg; animation: press-stamp-float 8s ease-in-out infinite; box-shadow: 3px 5px 0 #41281c20; }
.press__stamp span { font: 800 17px/1.1 Arial, sans-serif; letter-spacing: .06em; }
.press__stamp span:last-child { font-size: 18px; line-height: 1.05; letter-spacing: .02em; }
.press__stamp strong { font: 400 38px/1 Impact, 'Arial Narrow', sans-serif; letter-spacing: -.015em; }
.press__clippings { position: relative; z-index: 4; grid-column: 1; grid-row: 2; min-width: 0; width: 100%; transform: translateY(calc(var(--press-entry) * 60px)); opacity: calc(1 - var(--press-entry)); }
.press__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.press__filters { display: flex; gap: 8px; }
.press__filters button { min-height: 40px; padding: 8px 14px; background: #fff0d8; border: 1px solid #51322255; color: #40291f; font-size: 12px; font-weight: 800; cursor: pointer; }
.press__filters [aria-pressed="true"] { color: #fff3dc; background: #006b69; border-color: #006b69; }
.press__controls { display: flex; align-items: center; gap: 9px; background: #fff0d8; border-radius: 24px; }
.press__controls button { width: 40px; height: 40px; border-radius: 50%; background: #ffefd3; border: 1px solid #51322255; color: #40291f; font-size: 20px; cursor: pointer; }
.press__controls button:disabled { opacity: .35; cursor: default; }
.press__count { min-width: 48px; text-align: center; font: 700 11px 'Courier New', monospace; }
.press-card { padding: 10px; background: #fff2dc; border: 1px solid #fff8ed; box-shadow: 5px 7px 0 #4b2c1c20; }
.press-card[hidden] { display: none; }
.press-card > a { display: grid; grid-template-columns: 44% minmax(0, 1fr); color: inherit; text-decoration: none; min-height: 206px; }
.press-card__photo { position: relative; min-height: 0; overflow: hidden; }
.press-card__photo img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center 35%; transition: transform .5s; }
.press-card__photo span { position: absolute; bottom: 0; left: 0; padding: 4px 6px; background: #2d211da6; color: #fff5e4; font-size: 8px; }
.press-card__photo--radio img { object-position: center 20%; }
.press-card:first-child .press-card__photo img { object-position: center 75%; }
.press-card__copy { padding: 12px 10px 10px 18px; display: flex; flex-direction: column; align-items: flex-start; }
.press-card__source { margin: 0 0 12px; color: #007a76; font-size: 10px; font-weight: 800; letter-spacing: .04em; line-height: 1.5; }
.press-card__source time { display: block; color: #866959; font: 10px 'Courier New', monospace; margin-top: 3px; }
.press-card h3 { font: 700 clamp(18px, 1.55vw, 24px)/1.17 Arial, sans-serif; margin: 0 0 16px; letter-spacing: -.035em; }
.press-card__read { display: flex; align-items: center; gap: 15px; margin-top: auto; font-size: 11px; font-weight: 800; border-bottom: 1px solid #d9442b; padding-bottom: 5px; color: #a43322; }
.press-card__read b { font-size: 17px; }
.press-card a:hover img { transform: scale(1.04); }
.press__booking { position: relative; z-index: 5; grid-column: 1; grid-row: 3; background: #fff0d8; border-top: 6px solid #e04b2f; padding: 20px 24px 16px; box-shadow: 5px 6px 0 #54342222; transform: translateY(calc(var(--press-entry) * 100px)); opacity: calc(1 - var(--press-entry)); animation: press-paper-float 10s ease-in-out infinite; }
.press__booking::before { content: ''; position: absolute; top: -15px; right: 35px; width: 76px; height: 24px; background: #bd8a5666; rotate: 8deg; }
.press__booking-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.press__booking-top p { margin: 0 0 9px; font: 700 10px 'Courier New', monospace; letter-spacing: .07em; }
.press__hire { display: flex; align-items: center; gap: 22px; font: 400 clamp(32px, 3.1vw, 48px)/1 Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; color: #d64227; text-decoration: none; }
.press__hire span { font: 400 42px Arial, sans-serif; transition: translate .2s; }
.press__hire:hover span { translate: 3px -3px; }
.press__booking-badge { border: 1px solid #006b69; color: #006b69; padding: 9px; font: 800 10px/1.4 'Courier New', monospace; rotate: -6deg; }
.press__contacts { display: flex; flex-wrap: wrap; gap: 9px 18px; border-top: 1px dashed #6c3d2b66; margin-top: 15px; padding-top: 12px; }
.press__contacts a { color: #40291f; font-size: 12px; font-weight: 700; text-decoration: none; }
.press__contacts a:hover { text-decoration: underline; }
.press a:focus-visible, .press button:focus-visible { outline: 3px solid #006b69; outline-offset: 3px; }
.press .press__back { left: auto; right: 24px; top: 24px; bottom: auto; width: 40px; height: 40px; transform: none; background: #5e3425bb; }
.press .press__motion { right: 24px; top: 76px; bottom: auto; background: #5e3425bb; }
body[data-active-section="4"] .section-nav span { background: #006b69; }
.album__layout { translate: 0 calc(var(--album-exit, 0) * -8dvh); opacity: calc(1 - var(--album-exit, 0) * .85); }
.album__camera { filter: brightness(calc(1 + var(--album-exit, 0) * .5)); }
.motion-paused .press *, .press:not(.is-current) * { animation-play-state: paused; }
@keyframes press-sky { from { transform: scale(1.01) translateX(-.5%); } to { transform: scale(1.04) translateX(.5%); } }
@keyframes press-portrait-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes press-stamp-float { 0%, 100% { translate: 0 0; rotate: -6deg; } 50% { translate: 0 -5px; rotate: -4deg; } }
@keyframes press-paper-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -3px; } }
@media (max-width: 1000px) and (orientation: portrait) {
  .press__layout { width: 100%; padding: max(20px, env(safe-area-inset-top)) 20px max(18px, env(safe-area-inset-bottom)); grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto auto; gap: 12px; }
  .press__heading { grid-column: 1; grid-row: 1; padding-right: 30px; }
  .press__eyebrow { font-size: 10px; margin-bottom: 8px; }
  .press__heading h2 { font-size: clamp(43px, 12vw, 76px); }
  .press__stage { grid-column: 1; grid-row: 2; height: 100%; min-height: 0; container-type: size; }
  .press__portrait { top: 0; left: 50%; height: max(200cqh, 160vw); transform: translateX(calc(-47% + var(--press-entry) * 100px)) translateY(calc(var(--press-entry) * 80px)); }
  .press__portrait img { filter: drop-shadow(-4px 2px 0 #fff0d2); }
  .press__stamp { left: -3px; bottom: 8%; width: 112px; height: 112px; gap: 4px; }
  .press__stamp span { font-size: 14px; }
  .press__stamp span:last-child { font-size: 15px; }
  .press__stamp strong { font-size: 28px; }
  .press__clippings { grid-column: 1; grid-row: 3; }
  .press__toolbar { margin-bottom: 7px; gap: 8px; }
  .press__filters { gap: 6px; }
  .press__filters button { min-height: 36px; font-size: 11px; padding: 7px 12px; }
  .press__controls { gap: 5px; }
  .press__controls button { width: 36px; height: 36px; }
  .press__count { min-width: 43px; font-size: 10px; }
  .press-card { padding: 6px; box-shadow: 3px 4px 0 #4b2c1c20; }
  .press-card > a { grid-template-columns: 35% minmax(0, 1fr); min-height: 126px; }
  .press-card__copy { padding: 7px 6px 6px 12px; }
  .press-card__source { font-size: 9px; margin-bottom: 6px; }
  .press-card__source time { display: none; }
  .press-card h3 { font-size: clamp(15px, 3.8vw, 21px); line-height: 1.16; margin-bottom: 8px; }
  .press-card__read { font-size: 10px; padding-bottom: 2px; gap: 12px; }
  .press-card__photo span { font-size: 6px; padding: 3px; }
  .press__booking { grid-column: 1; grid-row: 4; border-top-width: 4px; padding: 13px 16px 12px; }
  .press__booking::before { width: 55px; height: 18px; top: -11px; right: 20px; }
  .press__booking-top { gap: 8px; }
  .press__booking-top p { font-size: 8px; margin-bottom: 6px; }
  .press__hire { font-size: clamp(27px, 7.3vw, 40px); gap: 12px; }
  .press__hire span { font-size: 29px; }
  .press__booking-badge { padding: 6px; font-size: 8px; }
  .press__contacts { margin-top: 9px; padding-top: 8px; gap: 5px 12px; }
  .press__contacts a { font-size: 11px; }
  .press .press__motion { top: max(14px, env(safe-area-inset-top)); right: 14px; width: 34px; height: 34px; }
}
@media (max-width: 1000px) and (max-height: 700px) and (orientation: portrait) {
  .press__layout { padding-top: max(14px, env(safe-area-inset-top)); padding-bottom: max(14px, env(safe-area-inset-bottom)); gap: 9px; }
  .press__heading h2 { font-size: 11vw; }
  .press__eyebrow { font-size: 9px; margin-bottom: 5px; }
  .press-card > a { min-height: 112px; }
  .press__booking { padding-top: 10px; padding-bottom: 10px; }
  .press__booking-top p { font-size: 7px; }
  .press__contacts { margin-top: 7px; padding-top: 7px; }
}
@media (max-height: 620px) and (orientation: landscape) {
  .press__layout { padding-top: 18px; padding-bottom: 18px; gap: 12px 5vw; grid-template-columns: 1.3fr 1fr; }
  .press__eyebrow { font-size: 9px; margin-bottom: 5px; }
  .press__heading h2 { font-size: clamp(35px, 5vw, 60px); }
  .press__portrait { height: 170dvh; left: -15%; }
  .press__stamp { width: 104px; height: 104px; bottom: 5%; gap: 4px; }
  .press__stamp span { font-size: 13px; }
  .press__stamp span:last-child { font-size: 14px; }
  .press__stamp strong { font-size: 26px; }
  .press__toolbar { margin-bottom: 5px; }
  .press__filters button { min-height: 30px; font-size: 10px; padding: 5px 10px; }
  .press__controls button { width: 30px; height: 30px; }
  .press-card { padding: 5px; }
  .press-card > a { min-height: 100px; grid-template-columns: 35% 1fr; }
  .press-card__copy { padding: 7px 5px 5px 10px; }
  .press-card__source { font-size: 8px; margin-bottom: 6px; }
  .press-card__source time { display: none; }
  .press-card h3 { font-size: 15px; margin-bottom: 5px; }
  .press-card__read { font-size: 9px; padding-bottom: 2px; }
  .press__booking { padding: 10px 14px; border-top-width: 4px; }
  .press__booking-top p { font-size: 7px; margin-bottom: 5px; }
  .press__hire { font-size: 26px; gap: 10px; }
  .press__hire span { font-size: 26px; }
  .press__booking-badge { font-size: 7px; padding: 6px; }
  .press__contacts { margin-top: 7px; padding-top: 7px; gap: 8px; }
  .press__contacts a { font-size: 10px; }
  .press .press__motion { top: 14px; right: 14px; width: 34px; height: 34px; }
}
@media (prefers-reduced-motion: reduce) { .press *, .press *::before { animation: none !important; transition: none !important; } }
