body.page-template-page-photography { background: #0a0a0a; color: #fff; }
.photo-page { min-height: 100svh; }
.photo-topbar { min-height: 72px; padding: 0 28px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.28); font: 700 11px/1 "Courier New", monospace; }
.photo-brand { justify-self: start; font: 900 24px/1 Arial, sans-serif; }
.photo-brand b { color: #ff3b24; }
.photo-topbar > span { opacity: .62; }
.photo-home { justify-self: end; display: flex; align-items: center; gap: 12px; }
.photo-home i { position: relative; display: block; width: 18px; height: 18px; flex: 0 0 18px; overflow: hidden; font-size: 0; transition: transform .2s ease; }
.photo-home i::before { content: ""; position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; border-top: 2px solid currentColor; border-left: 2px solid currentColor; }
.photo-home i::after { content: ""; position: absolute; top: 8px; left: 1px; width: 15px; height: 2px; background: currentColor; transform: rotate(45deg); transform-origin: center; }
.photo-home:hover i { transform: translate(-3px, -3px); }
.photo-hero { min-height: 70svh; padding: 72px 28px 34px; display: grid; grid-template-rows: auto 1fr auto; border-bottom: 1px solid rgba(255,255,255,.28); }
.photo-hero > p { margin: 0; color: #ff3b24; font: 700 12px/1 "Courier New", monospace; }
.photo-hero h1 { align-self: center; margin: 0; font-size: 180px; line-height: .86; letter-spacing: 0; }
.photo-hero-foot { display: flex; justify-content: space-between; font: 700 11px/1 "Courier New", monospace; }
.photo-hero-foot span:last-child { opacity: .55; }
.photo-archive { padding: 0 28px; background: #f4f4f1; color: #0a0a0a; }
.photo-page-intro { max-width: 720px; margin-left: auto; padding: 100px 0 20px; font-size: 24px; line-height: 1.7; }
.photo-work { min-height: 88svh; padding: 110px 0; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 7vw; align-items: center; border-bottom: 1px solid #b9b9b4; }
.photo-work.is-reversed { grid-template-columns: minmax(280px, .75fr) minmax(0, 1.65fr); }
.photo-work.is-reversed .photo-work-image { grid-column: 2; }
.photo-work.is-reversed .photo-work-note { grid-column: 1; grid-row: 1; }
.photo-work-image { width: 100%; min-height: 420px; height: 68svh; padding: 0; border: 0; background: #deded9; cursor: zoom-in; overflow: hidden; }
.photo-work-image img { width: 100%; height: 100%; display: block; object-fit: contain; }
.photo-work-note { align-self: stretch; padding: 8px 0; display: flex; flex-direction: column; justify-content: space-between; }
.photo-work-meta { display: flex; justify-content: space-between; color: #ff3b24; font: 700 12px/1 "Courier New", monospace; }
.photo-work-note h2 { margin: auto 0 0; padding-top: 80px; font-size: 48px; line-height: 1.05; letter-spacing: 0; }
.photo-work-copy { margin-top: 40px; max-width: 460px; font-size: 16px; line-height: 1.9; }
.photo-work-copy > *:first-child { margin-top: 0; }
.photo-work-copy > *:last-child { margin-bottom: 0; }
.photo-work-copy blockquote { margin: 30px 0 0; padding-left: 18px; border-left: 3px solid #ff3b24; }
.photo-footer { min-height: 118px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; font: 700 11px/1 "Courier New", monospace; }
.photo-footer a:hover { text-decoration: underline; }
.photo-lightbox { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; background: rgba(0,0,0,.98); }
.photo-lightbox > img { max-width: calc(100vw - 160px); max-height: calc(100svh - 120px); display: block; }
.photo-lightbox-meta { position: absolute; right: 24px; bottom: 20px; left: 24px; display: flex; justify-content: space-between; font: 700 12px/1 "Courier New", monospace; }
.photo-lightbox button { position: absolute; width: 52px; height: 52px; padding: 0; border: 1px solid #fff; background: #000; color: #fff; font-size: 0; cursor: pointer; }
.photo-lightbox button::before, .photo-lightbox button::after { content: ""; position: absolute; top: 50%; left: 50%; background: currentColor; transform-origin: center; }
.photo-lightbox-close::before, .photo-lightbox-close::after { width: 22px; height: 2px; }
.photo-lightbox-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.photo-lightbox-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.photo-lightbox-prev::before, .photo-lightbox-next::before { width: 12px; height: 12px; background: transparent !important; border-top: 2px solid currentColor; border-left: 2px solid currentColor; }
.photo-lightbox-prev::after, .photo-lightbox-next::after { width: 22px; height: 2px; }
.photo-lightbox-prev::before { transform: translate(-60%, -50%) rotate(-45deg); }
.photo-lightbox-prev::after { transform: translate(-45%, -50%); }
.photo-lightbox-next::before { transform: translate(-40%, -50%) rotate(135deg); }
.photo-lightbox-next::after { transform: translate(-55%, -50%); }
.photo-lightbox button:hover:not(:disabled) { border-color: #ff3b24; background: #ff3b24; }
.photo-lightbox button:disabled { opacity: .2; cursor: default; }
.photo-lightbox-close { top: 20px; right: 24px; background: #fff !important; color: #000 !important; }
.photo-lightbox-prev { top: calc(50% - 26px); left: 24px; }
.photo-lightbox-next { top: calc(50% - 26px); right: 24px; }

@media (max-width: 760px) {
  .photo-topbar { min-height: 60px; padding: 0 16px; grid-template-columns: 1fr auto; }
  .photo-brand { font-size: 20px; }
  .photo-topbar > span { display: none; }
  .photo-hero { min-height: 58svh; padding: 46px 16px 24px; }
  .photo-hero h1 { font-size: 92px; }
  .photo-hero-foot span:last-child { display: none; }
  .photo-archive { padding: 0 16px; }
  .photo-page-intro { padding: 72px 0 0; font-size: 19px; }
  .photo-work, .photo-work.is-reversed { min-height: 0; padding: 72px 0; grid-template-columns: 1fr; gap: 32px; }
  .photo-work.is-reversed .photo-work-image, .photo-work.is-reversed .photo-work-note { grid-column: 1; grid-row: auto; }
  .photo-work-image { min-height: 280px; height: 62svh; }
  .photo-work-note { min-height: 260px; }
  .photo-work-note h2 { padding-top: 64px; font-size: 38px; }
  .photo-work-copy { margin-top: 30px; font-size: 16px; }
  .photo-footer { min-height: 136px; padding: 28px 16px; flex-wrap: wrap; gap: 20px; }
  .photo-footer > a:not(.photo-to-top) { width: 100%; order: 3; }
  .photo-lightbox > img { max-width: 100vw; max-height: calc(100svh - 150px); }
  .photo-lightbox-prev, .photo-lightbox-next { top: auto; bottom: 52px; }
  .photo-lightbox-prev { left: 16px; }
  .photo-lightbox-next { right: 16px; }
  .photo-lightbox-close { top: 14px; right: 16px; }
  .photo-lightbox-meta { right: 16px; bottom: 22px; left: 16px; }
}
