.photo-hero { padding: clamp(52px, 7vw, 100px) 0 76px; }
.photo-hero-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(36px, 6vw, 92px); align-items: center; }
.photo-hero-copy { display: grid; gap: 22px; align-content: center; }
.photo-hero-copy h1 { font-size: clamp(3.3rem, 6vw, 6.5rem); }
.photo-hero-copy .lede { max-width: 600px; }
.photo-hero-copy .button-row { margin-top: 10px; }
.photo-hero-media, .photo-scene, .photo-gallery-card { margin: 0; }
.photo-hero-media { padding: 10px; border: 1px solid var(--line); background: var(--panel); }
.photo-hero-media img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.photo-hero-media figcaption { padding: 13px 3px 3px; color: var(--muted); font-size: .78rem; }
.photo-meta { color: var(--gold-soft); font-size: .74rem; font-weight: 760; letter-spacing: .15em; text-transform: uppercase; }
.photo-story-intro { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: clamp(30px, 6vw, 100px); }
.photo-story-intro h2, .photo-section-head h2 { margin: 12px 0 24px; }
.photo-story-intro p + p { margin-top: 18px; }
.photo-proof { align-self: start; padding: 24px 26px; border-left: 2px solid var(--gold); background: var(--panel); }
.photo-proof strong { display: block; margin-bottom: 12px; color: var(--paper); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.photo-proof p { color: var(--muted); font-size: .92rem; }
.photo-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.photo-section-head > div { max-width: 750px; }
.photo-section-head p { max-width: 580px; }
.photo-scene-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.photo-scene { border: 1px solid var(--line); background: var(--panel); }
.photo-scene img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.photo-scene figcaption { display: grid; gap: 8px; padding: 18px 20px 22px; }
.photo-scene figcaption span { color: var(--gold-soft); font-size: .7rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.photo-scene figcaption strong { color: var(--paper); font-size: 1.04rem; font-weight: 600; }
.photo-scene figcaption p { color: var(--muted); font-size: .88rem; }
.photo-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.photo-next a { display: grid; gap: 11px; min-height: 148px; padding: 25px; border: 1px solid var(--line); background: var(--panel); text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.photo-next a:hover { border-color: var(--gold); transform: translateY(-2px); }
.photo-next span { color: var(--gold-soft); font-size: .7rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.photo-next strong { color: var(--paper); font-family: Georgia, serif; font-size: 1.55rem; font-weight: 500; }
.photo-next small { color: var(--muted); font-size: .85rem; }
.photo-gallery-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
.photo-gallery-nav a { padding: 8px 14px; border: 1px solid var(--line); color: var(--paper); text-decoration: none; font-size: .78rem; font-weight: 690; }
.photo-gallery-nav a:hover { border-color: var(--gold); color: var(--gold-soft); }
.photo-gallery-section { padding: 90px 0; border-top: 1px solid var(--line); }
.photo-gallery-section[id] { scroll-margin-top: 100px; }
.photo-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.photo-gallery-card { min-width: 0; border: 1px solid var(--line); background: var(--panel); }
.photo-gallery-card a { display: block; overflow: hidden; }
.photo-gallery-card a:focus-visible, .photo-next a:focus-visible, .photo-gallery-nav a:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 3px; }
.photo-gallery-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .25s ease; }
.photo-gallery-card a:hover img { transform: scale(1.025); }
.photo-gallery-card figcaption { display: grid; gap: 7px; padding: 17px 18px 20px; }
.photo-gallery-card figcaption span { color: var(--gold-soft); font-size: .68rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.photo-gallery-card figcaption strong { color: var(--paper); font-size: .98rem; font-weight: 620; }
.photo-gallery-card figcaption p { color: var(--muted); font-size: .83rem; line-height: 1.5; }
.photo-spotlight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
.photo-spotlight { border: 1px solid var(--line); background: var(--panel); }
.photo-spotlight img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.photo-spotlight-copy { display: grid; gap: 16px; padding: clamp(24px, 3vw, 36px); }
.photo-spotlight h3 { font-size: clamp(1.8rem, 2.6vw, 2.8rem); }
.photo-spotlight .button { justify-self: start; }
.photo-spotlight p { color: var(--muted); }
@media (max-width: 950px) { .photo-hero-grid, .photo-story-intro { grid-template-columns: 1fr; } .photo-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .photo-hero { padding-top: 48px; } .photo-scene-grid, .photo-next, .photo-gallery-grid, .photo-spotlight-grid { grid-template-columns: 1fr; } .photo-section-head { display: block; } .photo-gallery-section { padding: 62px 0; } }
