.media-section { padding: 90px 0; border-top: 1px solid var(--border); }
.media-section h2 { margin-bottom: 38px; font-size: clamp(38px, 4vw, 60px); letter-spacing: -.045em; }
.media-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.media-button { padding: 0; overflow: hidden; border: 0; border-radius: var(--radius); background: var(--soft); cursor: zoom-in; }
.media-button img { width: 100%; height: 330px; display: block; object-fit: cover; transition: transform 220ms ease; }
.media-button:hover img, .media-button:focus-visible img { transform: scale(1.025); }
.plan-grid img { height: 440px; object-fit: contain; background: #fff; }
.plan-note { max-width: 760px; color: var(--muted); }
.lightbox { width: min(94vw, 1400px); max-width: none; padding: 0; border: 0; border-radius: 14px; background: #fff; box-shadow: 0 30px 100px rgba(0,0,0,.35); }
.lightbox::backdrop { background: rgba(20,18,16,.82); }
.lightbox img { width: 100%; max-height: 88vh; display: block; object-fit: contain; }
.lightbox button { position: absolute; top: 12px; right: 12px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(30,29,27,.84); color: #fff; font-size: 24px; cursor: pointer; }
@media(max-width:820px){.media-grid{grid-template-columns:1fr}.media-button img,.plan-grid img{height:auto}.media-section{padding:64px 0}}
@media(prefers-reduced-motion:reduce){.media-button img{transition:none}}
