.photo-page main { padding-top: 42px; }
.photo-page .container { width:min(1480px,calc(100% - 80px)); margin-inline:auto; }
.photo-page .btn,.photo-page .text-link { gap:8px; justify-content:flex-start; }
.photo-page .header .text-link { min-height:44px; align-items:center; }
.photo-back { display: inline-flex; margin-bottom: 30px; }
.photo-detail { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: clamp(30px,5vw,80px); align-items: start; }
.photo-detail figure { margin: 0; border-radius: 22px; overflow: hidden; background: #0b1728; }
.photo-detail figure img { display: block; width: 100%; height: auto; max-height: 82vh; object-fit: contain; }
.photo-detail-copy { position: sticky; top: 112px; min-width:0; }
.photo-detail-copy h1 { margin: 12px 0 22px; font-size: clamp(42px,6vw,78px); line-height: .98; letter-spacing: -.04em; overflow-wrap:anywhere; }
.photo-detail-copy > p { color: var(--muted); line-height: 1.8; }
.photo-facts { margin: 34px 0; border-block: 1px solid var(--line); }
.photo-facts div { display: grid; grid-template-columns: 110px 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.photo-facts div:last-child { border-bottom: 0; }
.photo-facts dt { color: var(--muted); }
.photo-facts dd { margin: 0; }
.photo-related { padding-block: 100px 70px; }
.photo-related h2 { font-size: clamp(34px,5vw,62px); }
.photo-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 30px; }
.photo-related-grid a { display: grid; gap: 12px; color: inherit; text-decoration: none; }
.photo-related-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 15px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .photo-related-grid img { transition:transform .25s ease,box-shadow .25s ease; }
  .photo-related-grid a:is(:hover,:focus-visible) img { transform:translateY(-3px); box-shadow:0 12px 28px #0004; }
}
@media(max-width:760px){.photo-page .container{width:calc(100% - 40px)}}
@media(max-width:760px){.photo-detail{grid-template-columns:1fr}.photo-detail-copy{position:static}.photo-page main{padding-top:24px}.photo-related{padding-top:70px}.photo-related-grid{grid-template-columns:1fr}.photo-detail-copy h1{font-size:44px}}
