:root {
  color-scheme: dark;
  --ink: #1A1A1A;
  --panel: #222321;
  --panel-2: #292a27;
  --paper: #F5F5F5;
  --muted: #BDB9B1;
  --dim: #858179;
  --rule: rgba(245, 245, 245, .18);
  --accent: #C4A484;
  --serif: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  --sans: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ui: "Poppins", "Satoshi", Arial, sans-serif;
  --accent-copper: #C2883E;
  --accent-teal: #00C4C4;
  --fog: #F5F5F5;
  --gutter: clamp(1.2rem, 5.3vw, 6rem);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); scroll-padding-top: 5.25rem; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: 15px; line-height: 1.65; font-weight: 400; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
button { font: inherit; }
::selection { background: #d7dfd2; color: #101411; }
.skip-link { position: fixed; z-index: 300; top: .75rem; left: .75rem; padding: .65rem .9rem; color: #111; background: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.site-header { height: 82px; padding: 0 var(--gutter); display: flex; align-items: center; justify-content: space-between; position: fixed; inset: 0 0 auto; z-index: 100; transition: background .35s ease, border-color .35s ease; border-bottom: 1px solid transparent; }
.site-header.scrolled { background: rgba(8, 10, 9, .92); backdrop-filter: blur(14px); border-color: var(--rule); }
.wordmark { display: inline-flex; flex-direction: column; gap: .18rem; line-height: 1.05; white-space: nowrap; }
.wordmark span { font-size: .96rem; letter-spacing: .21em; font-weight: 500; }
.wordmark small { font-size: .58rem; letter-spacing: .32em; color: #c0c5be; }
.primary-nav { display: flex; align-items: center; gap: clamp(1.1rem, 2.5vw, 2.65rem); }
.primary-nav a, .footer-links a { font-size: .71rem; letter-spacing: .10em; text-transform: uppercase; color: #e1e3dc; position: relative; }
.primary-nav a::after, .footer-links a::after { content: ""; position: absolute; left: 0; bottom: -.5rem; width: 100%; height: 1px; background: var(--paper); transform: scaleX(0); transform-origin: right; transition: transform .3s ease; }
.primary-nav a:hover::after, .footer-links a:hover::after, .primary-nav a:focus-visible::after, .footer-links a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; }
.hero { min-height: min(900px, 100svh); height: 100svh; position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; background: #111613; }
.hero-image { position: absolute; z-index: -3; inset: 0; object-position: center 46%; animation: hero-arrive 1.3s cubic-bezier(.2,.7,.2,1) both; }
.hero-vignette { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(5,8,7,.83) 0%, rgba(5,8,7,.48) 33%, rgba(5,8,7,.05) 72%), linear-gradient(0deg, rgba(5,8,7,.62), transparent 32%, rgba(5,8,7,.18)); }
.hero-copy { width: min(690px, 68vw); margin-left: calc(var(--gutter) + clamp(1rem, 4vw, 4.2rem)); padding-top: 3.2rem; animation: copy-arrive .85s .15s ease both; }
.eyebrow { margin: 0 0 1.25rem; font-size: .64rem; line-height: 1.6; letter-spacing: .2em; font-weight: 600; color: #c1c9c0; text-transform: uppercase; }
h1, h2, h3, p, figure, blockquote { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; }
h1 { max-width: 880px; margin-bottom: 1.45rem; font-size: clamp(3.2rem, 7.1vw, 7.8rem); line-height: .91; }
h1 em, h2 em, h3 em { font-weight: 400; }
h1 em { color: #c4d0c4; }
.hero-deck { max-width: 430px; margin-bottom: 1.6rem; color: rgba(242,243,236,.86); font-size: clamp(.9rem, 1.2vw, 1.05rem); line-height: 1.7; }
.text-link { display: inline-flex; align-items: center; gap: 1.35rem; padding: .25rem 0 .45rem; border-bottom: 1px solid rgba(12,17,13,.45); font-size: .63rem; letter-spacing: .15em; text-transform: uppercase; color: var(--paper); transition: gap .25s ease, border-color .25s ease; }
.text-link b { font-size: 1rem; line-height: 1; font-weight: 400; }
.text-link:hover { gap: 1.8rem; }
.text-link-light { border-color: rgba(238,241,235,.58); }
.section-pad { padding-left: var(--gutter); padding-right: var(--gutter); }
.work-section { background: #0b0e0c; }
/* Each chapter shifts only a few tones, so the page is easier to scan without losing its quiet, cohesive palette. */
.section-heading { padding-top: 2rem; padding-bottom: 2.8rem; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.section-heading .eyebrow { margin-bottom: .7rem; }
.section-heading h2 { font-size: clamp(2.8rem, 4.6vw, 4.9rem); }
.heading-side-note { font-size: .78rem; line-height: 1.75; color: var(--muted); margin: 0 0 .35rem; }
.feature { position: relative; background: #0b0e0c; }
.feature-image-wrap { position: relative; height: clamp(500px, 72vw, 870px); max-height: 880px; overflow: hidden; background: #171b18; }
.feature-image-wrap img { transition: transform 1.1s cubic-bezier(.2,.65,.2,1); }
.feature:hover .feature-image-wrap img { transform: scale(1.025); }
.feature-bird .feature-image-wrap img { object-position: center 48%; }
.feature-caption-below { display: flex; justify-content: space-between; align-items: end; gap: 2rem; padding: 1rem var(--gutter) clamp(3rem, 6vw, 6rem); }
.feature-caption-below .caption-title { display: block; margin: 0; font-family: var(--serif); font-size: clamp(1.3rem, 2.1vw, 2rem); line-height: 1.15; }
.feature-caption-copy .caption-place { display: block; padding-top: .45rem; }
.feature-caption-below .text-link { flex: 0 0 auto; margin-bottom: .15rem; }
.image-index { font-size: .55rem; letter-spacing: .17em; text-transform: uppercase; color: #d5ddd4; margin-bottom: 1rem; }
.landscape-feature { margin: 0; }
.landscape-feature-image { height: clamp(500px, 72vw, 870px); max-height: 880px; overflow: hidden; background: #171b18; }
.landscape-feature-image img { transition: transform 1.1s cubic-bezier(.2,.65,.2,1); }
.landscape-feature-image:hover img { transform: scale(1.025); }
.landscape-feature-caption { padding: 1rem var(--gutter) clamp(3rem, 6vw, 6rem); }
.landscape-feature-caption .caption-title { display: block; font-family: var(--serif); font-size: clamp(1.3rem, 2.1vw, 2rem); line-height: 1.15; }
.duo-grid { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(1.2rem, 4vw, 4.2rem); align-items: start; padding: clamp(4rem, 8vw, 8rem) var(--gutter); }
.image-note { min-width: 0; }
.image-note-tall { width: 83%; }
.image-note-low { margin-top: clamp(5rem, 12vw, 12rem); width: 100%; }
.image-frame { overflow: hidden; background: var(--panel); aspect-ratio: 4 / 5; }
.image-note-low .image-frame { aspect-ratio: 1.22 / 1; }
.image-frame img { transition: transform .8s ease; }
.image-note:hover .image-frame img { transform: scale(1.025); }
.image-note figcaption { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; padding-top: 1rem; }
.caption-title { font-family: var(--serif); font-size: clamp(1.3rem, 2.1vw, 2rem); line-height: 1.15; }
.caption-place { font-size: .62rem; color: #9ba39b; letter-spacing: .04em; }
.photo-print-link { display: inline-block; margin: .65rem 0 0; color: #aebaae; font-size: .55rem; text-transform: uppercase; letter-spacing: .12em; border-bottom: 1px solid #465147; padding-bottom: .2rem; }
.photo-print-link:hover { color: #f0f0e9; border-color: #f0f0e9; }
.archive-link-row { padding-top: 3.5rem; padding-bottom: 5.5rem; display: grid; grid-template-columns: minmax(220px, .65fr) 1.35fr; gap: 4rem; border-top: 1px solid var(--rule); }
.archive-link-row > p { max-width: 320px; color: #b5bdb5; font-family: var(--serif); font-size: 1.5rem; line-height: 1.3; }
.archive-links { display: flex; flex-wrap: wrap; align-content: start; gap: .85rem 1.7rem; }
.archive-links a { color: #c3cac2; font-size: .65rem; border-bottom: 1px solid rgba(236,240,233,.22); padding-bottom: .25rem; letter-spacing: .04em; }
.archive-links a:hover { color: white; border-color: white; }
.stories-section { padding-top: clamp(5rem, 9vw, 9rem); padding-bottom: clamp(5.5rem, 10vw, 10rem); background: #101612; border-top: 1px solid #283029; }
.section-heading-stories { padding: 0 0 clamp(3.2rem, 6vw, 6rem); }
.essay { display: grid; grid-template-columns: 1.28fr .72fr; gap: clamp(2.5rem, 7vw, 7.2rem); align-items: center; margin-bottom: clamp(5rem, 10vw, 10rem); }
.essay:last-child { margin-bottom: 0; }
.essay-terns { grid-template-columns: .9fr 1.1fr; }
.essay-image { min-width: 0; display: block; position: relative; overflow: hidden; background: #151a16; }
.essay-hampi .essay-image { aspect-ratio: 1.16 / 1; }
.essay-terns .essay-image { aspect-ratio: 1.05 / 1; }
.essay-image img { transition: transform 1.1s cubic-bezier(.2,.65,.2,1); }
.essay-image:hover img { transform: scale(1.035); }
.essay-open { position: absolute; right: 1.25rem; bottom: 1.25rem; display: grid; place-items: center; width: 44px; height: 44px; background: rgba(8,11,9,.7); border: 1px solid rgba(245,246,240,.45); border-radius: 50%; font-size: 1rem; transition: color .2s ease, background .2s ease; }
.essay-image:hover .essay-open { color: #111; background: #f0f0e9; }
.essay-copy { max-width: 450px; }
.essay-copy .eyebrow { color: #96a197; margin-bottom: 1rem; }
.essay-copy h3 { margin-bottom: 1.35rem; font-size: clamp(2.25rem, 4.1vw, 4.2rem); line-height: 1; }
.essay-copy h3 em { color: #aebaae; }
.essay-copy > p:not(.eyebrow) { margin-bottom: 1.6rem; font-size: .88rem; line-height: 1.85; color: #b9c0b8; }
.interlude { position: relative; height: clamp(480px, 61vw, 720px); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem var(--gutter); overflow: hidden; isolation: isolate; text-align: center; }
.interlude > img { position: absolute; z-index: -3; inset: 0; object-position: center 54%; }
.interlude-shade { position: absolute; z-index: -2; inset: 0; background: rgba(5,8,6,.52); }
.interlude blockquote { max-width: 850px; margin: 0 auto 1.5rem; font-family: var(--serif); font-size: clamp(2.2rem, 4.8vw, 5rem); line-height: 1.12; }
.interlude .eyebrow { margin: 0; letter-spacing: .28em; }
.about-section { padding-top: clamp(5.5rem, 9vw, 9rem); padding-bottom: clamp(6rem, 10vw, 10rem); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(240px, .78fr); grid-template-areas: "title portrait" "copy portrait"; gap: clamp(1.5rem, 4vw, 4rem) clamp(2.5rem, 8vw, 8rem); align-items: start; background: #171c17; border-top: 1px solid #303830; }
.about-portrait { grid-area: portrait; margin: clamp(2rem, 5.5vw, 5rem) auto 0; max-width: 330px; width: 100%; }
.about-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 36%; background: #171d18; }
.about-portrait figcaption { padding-top: .65rem; color: #a5aea4; font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.about-title { grid-area: title; max-width: 680px; }
.about-title h2 { font-size: clamp(2.55rem, 4.8vw, 4.8rem); }
.about-title h2 em { color: #aebaae; }
.about-copy { grid-area: copy; max-width: 620px; padding-top: .25rem; }
.about-copy p { color: #c0c5be; line-height: 1.9; font-size: .9rem; margin-bottom: 1.25rem; }
.about-copy .text-link { margin-top: .75rem; }
.recognition-section { padding: clamp(5rem, 8.5vw, 8.5rem) 0 0; background: #0b0e0c; border-top: 1px solid #283029; }
.recognition-intro { display: flex; align-items: end; justify-content: space-between; gap: 3rem; padding-bottom: 3.5rem; }
.recognition-intro h2 { font-size: clamp(2.7rem, 4.6vw, 4.75rem); }
.recognition-intro h2 em { color: #aebaae; }
.recognition-intro > p { color: #aab2aa; max-width: 260px; font-size: .8rem; margin: 0 0 .55rem; }
.recognition-list { border-top: 1px solid var(--rule); }
.recognition-item { display: grid; grid-template-columns: .3fr 1.1fr .7fr; align-items: baseline; gap: 2rem; padding: 1.35rem 0; border-bottom: 1px solid var(--rule); }
.recognition-item span { color: #949e95; font-size: .67rem; letter-spacing: .14em; }
.recognition-item p { font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.8rem); margin: 0; }
.recognition-item small { color: #a7afa6; font-size: .75rem; letter-spacing: .03em; }
.recognition-item small a { border-bottom: 1px solid rgba(237,240,233,.22); transition: color .2s ease, border-color .2s ease; }
.recognition-item small a:hover { color: #f0f0e9; border-color: #f0f0e9; }
.recognition-more { padding-top: 2rem; padding-bottom: clamp(4.5rem, 8vw, 8rem); display: flex; justify-content: flex-end; }
.contact-section { position: relative; min-height: 750px; overflow: hidden; isolation: isolate; background: #111512; display: flex; flex-direction: column; justify-content: space-between; }
.contact-section > img { position: absolute; z-index: -3; inset: 0; object-position: center 53%; }
.contact-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(5,7,5,.68), rgba(5,7,5,.12)), linear-gradient(0deg, rgba(5,7,5,.9), transparent 30%); }
.contact-copy { padding-top: clamp(7rem, 15vh, 12rem); padding-bottom: 8rem; max-width: 800px; }
.contact-copy h2 { font-size: clamp(4rem, 8vw, 8rem); margin-bottom: 1.2rem; }
.contact-copy h2 em { color: #c0cabf; }
.contact-copy > p:not(.eyebrow) { max-width: 420px; color: rgba(241,243,235,.85); font-size: .92rem; line-height: 1.8; margin-bottom: 2rem; }
.contact-button { display: inline-flex; align-items: center; gap: 2.3rem; padding: 1rem 1.25rem; border: 1px solid rgba(242,244,237,.72); text-transform: uppercase; font-size: .7rem; letter-spacing: .12em; transition: background .2s ease, color .2s ease; }
.contact-button span { font-size: 1rem; }

.contact-button:hover { color: #101410; background: var(--paper); }
.contact-actions { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }
.contact-prints-link { font-size: .68rem; }
.site-footer { padding-top: 2rem; padding-bottom: 1.8rem; display: grid; grid-template-columns: 1.1fr .8fr 1.3fr auto; align-items: end; gap: 1.5rem; background: rgba(7,9,8,.45); border-top: 1px solid rgba(240,241,235,.24); }
.wordmark-footer span { font-size: .75rem; }
.site-footer > p { color: #afb6ae; font-family: var(--serif); font-size: 1.1rem; margin: 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.footer-links a { font-size: .63rem; }
.copyright { color: #9aa198; font-size: .55rem; white-space: nowrap; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
:focus-visible { outline: 2px solid #dce7d9; outline-offset: 4px; }
@keyframes hero-arrive { from { transform: scale(1.04); opacity: .65; } to { transform: scale(1); opacity: 1; } }
@keyframes copy-arrive { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (min-width: 1500px) { .hero { max-height: 1100px; } .hero-copy { margin-left: calc(var(--gutter) + 5rem); } }
@media (max-width: 900px) {
  :root { --gutter: clamp(1.2rem, 4.4vw, 2.8rem); }
  .site-header { height: 72px; }
  .primary-nav { gap: 1.25rem; }
  .primary-nav a { font-size: .68rem; }
  .hero-copy { margin-left: calc(var(--gutter) + 1rem); width: min(620px, 76vw); }
    .archive-link-row { gap: 2.5rem; }
  .essay { gap: 3.5rem; }
  .about-section { grid-template-columns: minmax(0, 1.1fr) minmax(220px, .8fr); grid-template-areas: "title portrait" "copy portrait"; gap: 1.5rem 2.2rem; }
  .about-portrait { grid-area: portrait; margin-top: 3rem; }
  .about-title { grid-area: title; }
  .about-copy { grid-area: copy; padding-top: 0; }
  .site-footer { grid-template-columns: 1fr 1fr; align-items: center; }
  .site-footer > p { justify-self: end; }
  .copyright { justify-self: end; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 4.5rem; }
  .site-header { height: 68px; }
  .wordmark span { font-size: .80rem; letter-spacing: .17em; }
  .wordmark small { font-size: .50rem; letter-spacing: .30em; }
  .menu-toggle { border: 0; display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 42px; height: 42px; padding: 8px 5px; background: transparent; color: white; cursor: pointer; }
  .menu-toggle span { display: block; height: 1px; width: 27px; background: #f1f1e9; transition: transform .25s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { position: fixed; inset: 68px 0 auto; height: calc(100svh - 68px); overflow-y: auto; background: rgba(8,10,9,.98); padding: 5rem var(--gutter); display: flex; flex-direction: column; align-items: flex-start; gap: 1.7rem; opacity: 0; pointer-events: none; transform: translateY(-10px); transition: opacity .25s ease, transform .25s ease; }
  .primary-nav.open { opacity: 1; pointer-events: auto; transform: none; }
  .primary-nav a { font-family: var(--serif); text-transform: none; font-size: 2.4rem; letter-spacing: 0; }
  .hero { min-height: 740px; height: 94svh; max-height: 900px; align-items: end; }
  .hero-image { object-position: 57% center; }
  .hero-vignette { background: linear-gradient(0deg, rgba(4,7,5,.86) 0%, rgba(4,7,5,.32) 58%, rgba(4,7,5,.12)), linear-gradient(90deg, rgba(4,7,5,.24), transparent); }
  .hero-copy { width: auto; margin: 0 var(--gutter) 8rem; padding: 0; }
  h1 { font-size: clamp(3.1rem, 13.5vw, 5.3rem); max-width: 480px; margin-bottom: 1.25rem; }
  .hero-deck { max-width: 370px; font-size: .83rem; margin-bottom: 1.5rem; }
        h2 { font-size: clamp(2.8rem, 12vw, 4.2rem); }
  .section-heading { padding-top: .4rem; padding-bottom: 2rem; display: block; }
  .section-heading h2 { font-size: 3.4rem; }
  .heading-side-note { margin-top: 1rem; }
  .feature-image-wrap { height: clamp(430px, 120vw, 620px); max-height: none; }
  .feature-caption-below { align-items: flex-start; flex-direction: column; gap: .9rem; padding-top: .75rem; padding-bottom: 3.5rem; }
  .feature-caption-below .caption-title { font-size: 1.65rem; }
  .feature-caption-below .text-link { margin-bottom: 0; }
  .landscape-feature-image { height: clamp(430px, 120vw, 620px); }
  .landscape-feature-caption { padding-top: .75rem; padding-bottom: 3.5rem; }
  .feature-bird .feature-image-wrap img { object-position: 57% center; }
  .duo-grid { grid-template-columns: 1fr; padding-top: 3rem; padding-bottom: 3.5rem; gap: 3.5rem; }
  .image-note-tall { width: 90%; }
  .image-note-low { margin: 0 0 0 auto; width: 88%; }
  .image-frame { aspect-ratio: 4 / 4.5; }
  .image-note-low .image-frame { aspect-ratio: 1.1 / 1; }
  .caption-title { font-size: 1.65rem; }
  .archive-link-row { grid-template-columns: 1fr; gap: .8rem; padding-top: 2.8rem; padding-bottom: 4rem; }
  .archive-link-row > p { font-size: 1.45rem; max-width: 380px; margin-bottom: 1rem; }
  .archive-links { gap: .85rem 1.1rem; }
  .archive-links a { font-size: .62rem; }
  .stories-section { padding-top: 4.8rem; padding-bottom: 5rem; }
  .section-heading-stories { padding-bottom: 2.7rem; }
  .essay, .essay-terns { display: flex; flex-direction: column; align-items: stretch; gap: 1.7rem; margin-bottom: 4.5rem; }
  .essay-terns .essay-image { order: 0; }
  .essay-terns .essay-copy { order: 1; }
  .essay-hampi .essay-image, .essay-terns .essay-image { aspect-ratio: 1 / 1.02; }
  .essay-copy h3 { font-size: 3rem; }
  .essay-copy > p:not(.eyebrow) { font-size: .83rem; }
  .interlude { height: 560px; }
  .interlude blockquote { font-size: 2.5rem; }
  .about-section { grid-template-columns: 1fr; grid-template-areas: "title" "portrait" "copy"; gap: 1.5rem; padding-top: 4.7rem; padding-bottom: 5rem; }
  .about-title { grid-area: title; }
  .about-portrait { grid-area: portrait; width: min(75%, 300px); margin: .75rem auto 1rem; }
  .about-title h2 { font-size: 3.25rem; }
  .about-copy { padding-top: 0; }
  .recognition-section { padding-top: 4.7rem; }
  .recognition-intro { display: block; padding-bottom: 2rem; }
  .recognition-intro h2 { font-size: 3.2rem; }
  .recognition-intro > p { margin-top: 1rem; }
  .recognition-item { grid-template-columns: 48px 1fr; gap: .25rem 1rem; padding: 1.2rem 0; }
  .recognition-item span { grid-row: span 2; padding-top: .25rem; }
  .recognition-item p { font-size: 1.45rem; }
  .recognition-item small { grid-column: 2; font-size: .69rem; line-height: 1.6; }
  .recognition-more { justify-content: flex-start; padding-top: 1.4rem; padding-bottom: 4.3rem; }
  .contact-section { min-height: 760px; }
  .contact-copy { padding-top: 6rem; padding-bottom: 6.5rem; }
  .contact-copy h2 { font-size: 5rem; }
  .contact-copy > p:not(.eyebrow) { font-size: .84rem; }
  .site-footer { grid-template-columns: 1fr; gap: 1.3rem; align-items: start; padding-top: 1.6rem; padding-bottom: 1.7rem; }
  .site-footer > p, .copyright { justify-self: start; }
  .footer-links { gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Additional selected photographs: a calm, aligned two-by-two grid. */
.sequence-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2.5rem);
  padding-top: clamp(1rem, 3vw, 3rem);
  padding-bottom: clamp(4.5rem, 8vw, 8rem);
}
.sequence-item { min-width: 0; margin: 0; }
.sequence-frame { overflow: hidden; aspect-ratio: 4 / 3; background: #161b17; }
.sequence-frame img { transition: transform .85s cubic-bezier(.2,.65,.2,1); }
.sequence-item:hover .sequence-frame img { transform: scale(1.035); }
.sequence-item figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; padding-top: .75rem; }
.sequence-item figcaption span { font-family: var(--serif); font-size: clamp(1rem, 1.5vw, 1.35rem); line-height: 1.2; }
.sequence-item figcaption a { flex: 0 0 auto; color: #aeb8ae; font-size: .52rem; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid rgba(236,240,233,.25); padding-bottom: .2rem; }
.sequence-item figcaption a:hover { color: #fff; border-color: #fff; }
.sequence-water, .sequence-waterfall, .sequence-bridge, .sequence-human-moment { grid-column: span 1; }

/* Print enquiries are visible, but not falsely represented as an online shop. */
.prints-section { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; padding-top: clamp(5rem, 9vw, 9rem); padding-bottom: clamp(5rem, 9vw, 9rem); background: #111613; border-top: 1px solid #2a322b; }
.prints-copy { max-width: 520px; }
.prints-copy h2 { font-size: clamp(2.8rem, 5.2vw, 5.4rem); margin-bottom: 1.5rem; }
.prints-copy h2 em { color: #b6c1b4; }
.prints-copy > p:not(.eyebrow) { color: #c0c6bf; font-size: .9rem; line-height: 1.85; margin-bottom: 1.5rem; }
.prints-copy .contact-button { margin-top: .4rem; }
.prints-copy .prints-note { color: #89938a; font-size: .69rem; line-height: 1.7; margin-top: 1.3rem; }
.prints-images { display: grid; grid-template-columns: 1.1fr .8fr; grid-template-rows: auto auto; align-items: start; gap: 1rem; }
.prints-images figure { margin: 0; min-width: 0; }
.prints-images figure:first-child { grid-row: span 2; }
.prints-images figure:first-child img { aspect-ratio: 3 / 4.4; }
.prints-images figure:nth-child(2) img, .prints-images figure:nth-child(3) img { aspect-ratio: 1.2 / 1; }
.prints-images img { object-fit: cover; background: #171c18; }
.prints-images figcaption { padding-top: .6rem; color: #aab3a9; font-size: .57rem; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 900px) {
  .prints-section { grid-template-columns: 1fr; }
  .prints-copy { max-width: 680px; }
  .prints-images { max-width: 800px; width: 100%; }
}
@media (max-width: 640px) {
  .sequence-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem .85rem; padding-top: 1rem; padding-bottom: 4rem; }
  .sequence-frame { aspect-ratio: 4 / 3; }
  .sequence-item figcaption { display: block; padding-top: .55rem; }
  .sequence-item figcaption span { display: block; font-size: 1.05rem; margin-bottom: .3rem; }
  .sequence-item figcaption a { font-size: .48rem; }
  .prints-section { padding-top: 4.8rem; padding-bottom: 4.8rem; gap: 2.5rem; }
  .prints-copy h2 { font-size: 3.3rem; }
  .prints-images { gap: .7rem; }
  .prints-images figure:first-child img { aspect-ratio: 3 / 4; }
}


/* Clear distinction between individual frames, photo essays and the archive. */
.heading-side-note { max-width: 360px; line-height: 1.65; }
.stories-section { background: #101612; border-top: 1px solid #283029; padding-top: clamp(5rem, 8vw, 8rem); }
.section-heading-stories .heading-side-note { max-width: 320px; }
.essay { padding-top: clamp(1.6rem, 3.5vw, 3.5rem); border-top: 1px solid #303831; }
.essay + .essay { margin-top: clamp(3rem, 6vw, 6rem); }
.essay-sequence { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; padding-top: 1.25rem; }
.essay-sequence figure { margin: 0; min-width: 0; }
.essay-sequence img { display: block; width: 100%; aspect-ratio: 1.35 / 1; object-fit: cover; background: #171c18; transition: opacity .25s ease; }
.essay-sequence a:hover img { opacity: .86; }
.essay-sequence figcaption { margin-top: .5rem; color: #a4aea3; text-transform: uppercase; font-size: .62rem; letter-spacing: .075em; line-height: 1.45; }
.essay-copy h3 { max-width: 540px; }
.themes-section { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; padding-top: clamp(5rem, 8.5vw, 8.5rem); padding-bottom: clamp(5rem, 8.5vw, 8.5rem); background: #151b16; border-top: 1px solid #303831; border-bottom: 1px solid #303831; }
.themes-intro { max-width: 500px; }
.themes-intro h2 { font-size: clamp(2.5rem, 4.4vw, 4.6rem); margin: .5rem 0 1rem; }
.themes-intro > p:not(.eyebrow) { color: #b1bbb1; max-width: 350px; font-size: .86rem; line-height: 1.7; }
.theme-links { border-top: 1px solid #3a443b; }
.theme-links a { display: grid; grid-template-columns: 2.4rem 1fr 1rem; gap: .7rem; align-items: center; padding: 1.05rem .1rem; border-bottom: 1px solid #3a443b; }
.theme-links a > span { color: #87958a; font-size: .58rem; letter-spacing: .12em; }
.theme-links a strong { font-family: var(--serif); font-weight: 400; font-size: clamp(1.12rem, 1.7vw, 1.55rem); }
.theme-links a b { color: #aebaae; font-size: .9rem; font-weight: 400; transition: transform .2s ease; }
.theme-links a:hover b { transform: translate(3px, -2px); }
.footer-social { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.social-icon { display: inline-flex; width: 29px; height: 29px; align-items: center; justify-content: center; border: 1px solid rgba(240,241,235,.28); border-radius: 50%; color: #d8ded5; opacity: .9; }
.social-icon svg { display: block; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.social-icon .social-fill { fill: currentColor; stroke: none; }
.social-note { margin-left: .3rem; color: #8f998e; font-size: .48rem; letter-spacing: .03em; }
.site-footer { grid-template-columns: 1fr .65fr 1.25fr auto; }
@media (max-width: 900px) {
  .themes-section { grid-template-columns: 1fr; gap: 2rem; }
  .site-footer { grid-template-columns: 1fr 1fr; }
    }
@media (max-width: 640px) {
    .essay-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
  .essay-sequence img { aspect-ratio: 1.15 / 1; }
  .themes-section { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .theme-links a { grid-template-columns: 2rem 1fr 1rem; padding: .9rem 0; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-social { grid-row: auto; }
  .social-note { display: block; width: 100%; margin: .25rem 0 0; }
}


/* Standalone Prints enquiry page. */
.nav-current { color: #fff !important; }
.prints-page-hero { padding-top: clamp(7rem, 13vw, 12rem); padding-bottom: clamp(4.5rem, 7vw, 7rem); background: #101411; border-bottom: 1px solid #2c332d; }
.prints-page-hero h1, .edit-hero h1 { font-size: clamp(3.5rem, 8.5vw, 8rem); line-height: .96; margin: 1.2rem 0 1.5rem; max-width: 1050px; }
.prints-page-hero h1 em, .edit-hero h1 em { color: #b4c1b3; }
.prints-page-hero > p:not(.eyebrow):not(.prints-note) { max-width: 600px; color: #c1c8c0; font-size: 1rem; line-height: 1.8; }
.print-page-actions { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; margin-top: 1.5rem; }
.prints-page-hero .prints-note { margin-top: 1.6rem; max-width: 650px; color: #8f9a90; font-size: .75rem; line-height: 1.7; }
.print-catalogue { padding-top: clamp(4.5rem, 7.5vw, 7.5rem); padding-bottom: clamp(5rem, 8vw, 8rem); }
.print-catalogue .section-heading { padding-left: 0; padding-right: 0; }
.print-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(2rem, 4vw, 4rem) clamp(1rem, 2.2vw, 2.2rem); }
.print-card { min-width: 0; }
.print-card-image { display: block; overflow: hidden; background: #171c18; }
.print-card-image img { display: block; width: 100%; aspect-ratio: 1.34 / 1; object-fit: cover; transition: transform .8s cubic-bezier(.2,.65,.2,1); }
.print-card-image:hover img { transform: scale(1.025); }
.print-card-caption { display: flex; justify-content: space-between; gap: 1rem; align-items: end; padding-top: .9rem; }
.print-theme { display: block; color: #a3afa2; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .3rem; }
.print-card-caption h2 { font-family: var(--serif); font-size: clamp(1.4rem, 2.5vw, 2.5rem); line-height: 1.1; font-weight: 400; margin: 0; }
.print-card-caption > a { flex: 0 0 auto; color: #e6e9e1; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid #657267; padding-bottom: .25rem; }
.print-faq { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2.5rem, 7vw, 7rem); background: #171d18; padding-top: 5rem; padding-bottom: 5rem; border-top: 1px solid #303831; }
.print-faq h2 { font-size: clamp(2.8rem, 5vw, 5rem); }
.print-faq h2 em { color: #b4c1b3; }
.print-faq-copy { max-width: 560px; }
.print-faq-copy p { color: #bdc5bc; line-height: 1.8; font-size: .9rem; }
.print-faq-copy .contact-button { margin-top: .7rem; }
.prints-footer { background: #090b0a; }

/* Working photo-selection board, intentionally separate from the portfolio's public-facing narrative. */
.photo-edit-page .edit-hero { padding-top: clamp(6.5rem, 11vw, 10rem); padding-bottom: 2rem; }
.edit-hero h1 { margin-bottom: 1rem; }
.edit-intro { max-width: 760px; color: #c3cbc2; font-size: .96rem; line-height: 1.8; }
.edit-roles { display: flex; flex-wrap: wrap; gap: 1rem 1.8rem; margin-top: 1.8rem; color: #b3bcb2; font-size: .7rem; }
.edit-roles span { display: inline-flex; align-items: center; gap: .55rem; }
.role-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.role-keep { background: #cadcca; } .role-maybe { background: #b6bca7; } .role-omit { background: #7d827d; }
.edit-controls { display: flex; justify-content: space-between; align-items: center; gap: 1.2rem; flex-wrap: wrap; margin-top: 2.2rem; padding: 1rem 0; border-top: 1px solid #303831; border-bottom: 1px solid #303831; }
.edit-counts { display: flex; gap: 1.1rem; flex-wrap: wrap; color: #9fa99f; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.edit-counts b { color: #f2f2ec; font-size: .85rem; margin-right: .25rem; }
.edit-actions { display: flex; gap: .7rem; align-items: center; }
.edit-actions .contact-button { cursor: pointer; background: transparent; color: var(--paper); font: inherit; font-size: .58rem; padding: .8rem .9rem; }
.reset-edit { background: none; color: #a6afa5; border: 1px solid #394139; padding: .8rem .9rem; font: inherit; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.edit-feedback { color: #8f9a90; font-size: .68rem; line-height: 1.6; margin-top: .85rem; }
.candidate-board { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(1.5rem, 2.6vw, 2.6rem) 1rem; padding-top: 2rem; padding-bottom: clamp(5rem, 9vw, 9rem); }
.candidate-card { border-top: 1px solid #3a423a; padding-top: .8rem; min-width: 0; }
.candidate-image { position: relative; overflow: hidden; background: #171c18; }
.candidate-image img { display: block; width: 100%; aspect-ratio: 1.15 / 1; object-fit: cover; }
.candidate-id, .candidate-status { position: absolute; top: .7rem; padding: .35rem .45rem; background: rgba(7,10,8,.83); color: #f0f2eb; font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; }
.candidate-id { left: .7rem; }
.candidate-status { right: .7rem; color: #c0c9bd; }
.candidate-card[data-choice="keep"] .candidate-status { color: #e4f2e0; border: 1px solid #748a74; }
.candidate-card[data-choice="maybe"] .candidate-status { color: #e9e8cd; border: 1px solid #8c8a64; }
.candidate-card[data-choice="omit"] .candidate-status { color: #b8bcb7; border: 1px solid #6a706a; }
.candidate-details { padding-top: .8rem; }
.candidate-source { color: #98a498; font-size: .52rem; letter-spacing: .09em; text-transform: uppercase; line-height: 1.5; }
.candidate-source span { color: #778378; }
.candidate-details h2 { font-family: var(--serif); font-size: clamp(1.25rem, 1.8vw, 1.8rem); line-height: 1.15; font-weight: 400; margin: .45rem 0 .5rem; }
.candidate-details > p:not(.candidate-source) { color: #9fa99f; font-size: .7rem; line-height: 1.65; margin-bottom: .8rem; min-height: 2.2em; }
.candidate-vote { margin: .6rem 0 .75rem; padding: .55rem 0 .65rem; border: 0; border-top: 1px solid #303831; display: flex; flex-wrap: wrap; gap: .45rem; }
.candidate-vote legend { color: #8b968c; font-size: .49rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .55rem; }
.candidate-vote label { position: relative; cursor: pointer; }
.candidate-vote input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.candidate-vote label span { display: inline-block; color: #9ca69c; border: 1px solid #414a41; padding: .46rem .52rem; font-size: .53rem; transition: all .18s ease; }
.candidate-vote label input:checked + span { color: #f3f5ee; background: #344136; border-color: #9aaa98; }
.candidate-vote label input:focus-visible + span { outline: 2px solid #dce7d9; outline-offset: 3px; }
.candidate-source-link { color: #879488; font-size: .53rem; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid #3b453c; padding-bottom: .2rem; }
.edit-next { display: grid; grid-template-columns: .8fr 1.2fr auto; align-items: center; gap: 2rem; background: #171d18; padding-top: 3.5rem; padding-bottom: 3.5rem; }
.edit-next h2 { font-size: clamp(1.8rem, 3.5vw, 3.5rem); margin: 0; }
.edit-next h2 em { color: #b4c1b3; }
.edit-next > p:not(.eyebrow) { color: #aeb8ad; max-width: 560px; font-size: .78rem; line-height: 1.8; }
.edit-next .contact-button { white-space: nowrap; }
@media (max-width: 900px) {
  .print-faq { grid-template-columns: 1fr; }
  .candidate-board { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .edit-next { grid-template-columns: 1fr 1fr; }
  .edit-next .contact-button { justify-self: start; }
}
@media (max-width: 640px) {
  .print-catalogue .section-heading { padding-left: 0; padding-right: 0; }
  .print-card-grid { grid-template-columns: 1fr; }
  .print-card-caption h2 { font-size: 1.65rem; }
  .print-page-actions { align-items: flex-start; flex-direction: column; gap: 1.3rem; }
  .candidate-board { grid-template-columns: 1fr; gap: 2.1rem; }
  .candidate-image img { aspect-ratio: 1.15 / 1; }
  .candidate-details h2 { font-size: 1.65rem; }
  .candidate-details > p:not(.candidate-source) { min-height: 0; }
  .edit-next { grid-template-columns: 1fr; gap: .8rem; }
  .edit-next .contact-button { margin-top: .8rem; }
  .edit-counts { gap: .75rem; }
}


/* Dedicated photo-essay pages: quiet captions below images, with the photograph leading. */
.story-page-hero { padding-top: 82px; background: #0b0e0c; }
.story-page-hero-image { width: 100%; height: min(78vh, 860px); min-height: 430px; overflow: hidden; background: #151a16; }
.story-page-hero-image img { object-position: center; }
.story-page-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; padding-top: clamp(2rem, 4vw, 4rem); padding-bottom: clamp(3rem, 6vw, 6rem); border-bottom: 1px solid var(--rule); }
.story-page-intro h1 { max-width: 850px; margin: 0; font-size: clamp(3rem, 7vw, 7rem); line-height: .94; }
.story-page-intro h1 em { color: #b6c4b4; }
.story-page-intro .story-summary { margin: 0; max-width: 470px; color: #b9c0b8; font-size: .92rem; line-height: 1.85; }
.story-page-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 2rem); padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: clamp(4rem, 8vw, 8rem); }
.story-page-photo { margin: 0; min-width: 0; }
.story-page-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.18 / 1; object-fit: cover; background: #151a16; }
.story-page-photo figcaption { padding-top: .7rem; color: #a9b2a8; font-family: var(--serif); font-size: clamp(1rem, 1.5vw, 1.35rem); }
.story-page-photo.photo-wide { grid-column: span 8; }
.story-page-photo.photo-wide img { aspect-ratio: 1.5 / 1; }
.story-page-photo.photo-narrow { grid-column: span 4; margin-top: 3rem; }
.story-page-photo.photo-half { grid-column: span 6; }
.story-page-photo.photo-half img { aspect-ratio: 1.15 / 1; }
.story-page-note { padding-top: 2rem; padding-bottom: 2rem; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); color: #aeb7ad; max-width: 850px; margin: 0 auto; font-family: var(--serif); font-size: clamp(1.4rem, 2.5vw, 2.4rem); line-height: 1.35; text-align: center; }
.story-page-end { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; justify-content: space-between; align-items: center; padding-top: 2.5rem; padding-bottom: 4rem; background: #101612; }
.story-page-end p { margin: 0; color: #9ba69b; font-size: .75rem; }
@media (max-width: 700px) {
  .story-page-hero { padding-top: 68px; }
  .story-page-hero-image { min-height: 340px; height: 58vh; }
  .story-page-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .story-page-intro h1 { font-size: clamp(3rem, 13vw, 5rem); }
  .story-page-photo.photo-wide, .story-page-photo.photo-narrow, .story-page-photo.photo-half { grid-column: span 12; margin-top: 0; }
  .story-page-photo img, .story-page-photo.photo-wide img, .story-page-photo.photo-half img { aspect-ratio: 1.12 / 1; }
  .story-page-gallery { gap: 1.8rem; padding-top: 2rem; }
  .story-page-end { align-items: flex-start; flex-direction: column; }
}

/* Final production polish: readable utility text and a quiet footer on essay pages. */
.story-footer { background: #090b0a; border-top: 1px solid var(--rule); }
.theme-links a { min-height: 58px; }
.print-card-caption > a { padding: .35rem 0; }
@media (max-width: 640px) {
  .recognition-item small { font-size: .72rem; }
  .print-card-caption { align-items: flex-start; }
  .print-card-caption > a { padding: .5rem 0; }
  .primary-nav a { font-size: 2.25rem; }
}

/* Five-image print edit: centre the final card rather than leaving an accidental empty half-row. */
@media (min-width: 641px) {
  .print-card:last-child:nth-child(odd) { grid-column: 1 / -1; width: calc(50% - clamp(.5rem, 1.1vw, 1.1rem)); justify-self: center; }
}
@media (max-width: 640px) {
  .print-card:last-child:nth-child(odd) { grid-column: auto; width: 100%; }
}


/* Simple next/previous navigation for the three photo essays. */
.story-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; }
.story-pager .text-link { margin: 0; }
@media (max-width: 640px) {
  .story-pager { align-items: flex-start; flex-direction: column; gap: 1rem; }
}


/* Self-contained subject galleries and legacy destination pages */
.gallery-page-body { background: #0b0e0c; }
.gallery-page-hero { padding-top: clamp(8rem, 14vw, 12rem); padding-bottom: clamp(3rem, 7vw, 6rem); border-bottom: 1px solid var(--rule); }
.gallery-back-link { display: inline-block; margin-bottom: 2.4rem; color: #b5c0b5; font-size: .76rem; letter-spacing: .05em; text-decoration: none; }
.gallery-back-link:hover { color: #f1f2eb; }
.gallery-page-hero h1, .about-page-intro h1, .recognition-page-intro h1, .inquiry-page h1 { max-width: 1000px; margin: 0; font-size: clamp(3.2rem, 8.5vw, 8rem); line-height: .94; font-weight: 400; }
.gallery-page-hero h1 em, .about-page-intro h1 em, .recognition-page-intro h1 em, .inquiry-page h1 em { color: #b6c4b4; }
.gallery-page-deck { max-width: 650px; color: #b7c0b6; font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.85; margin: 2rem 0 0; }
.gallery-page-grid { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.1rem, 2.4vw, 2.4rem); padding-top: clamp(2.5rem, 5vw, 5rem); padding-bottom: clamp(3.5rem, 7vw, 7rem); }
.gallery-photo { margin: 0; min-width: 0; }
.gallery-photo-frame { overflow: hidden; background: #151a16; }
.gallery-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease; }
.gallery-photo-wide { grid-column: span 2; }
.gallery-photo-wide img { aspect-ratio: 1.64 / 1; }
.gallery-photo-tall img { aspect-ratio: 3 / 4; }
.gallery-photo figcaption { padding-top: .65rem; color: #b6beb4; font-family: var(--serif); font-size: clamp(.95rem, 1.2vw, 1.2rem); line-height: 1.3; }
.gallery-photo:hover img { transform: scale(1.015); }
.gallery-page-end { background: #171c17; border-top: 1px solid #303830; display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-top: 3rem; padding-bottom: 3.5rem; }
.gallery-page-end h2 { margin: .5rem 0 0; font-size: clamp(2.2rem, 4vw, 4.3rem); line-height: 1; font-weight: 400; }
.gallery-page-end h2 em { color: #b6c4b4; }
.gallery-page-actions, .about-page-actions { display: flex; flex-direction: column; gap: 1rem; }
.about-page { padding-top: 8rem; padding-bottom: 7rem; }
.about-page-grid { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); grid-template-areas: "portrait intro" "portrait body"; gap: 0 clamp(2.5rem, 7vw, 7rem); align-items: start; }
.about-page-portrait { grid-area: portrait; margin: clamp(4rem, 8vw, 7rem) 0 0; position: relative; top: auto; max-width: 440px; width: 100%; justify-self: start; }
.about-page-portrait img { display: block; width: 100%; max-height: 75vh; object-fit: cover; object-position: center; }
.about-page-portrait figcaption { margin-top: .7rem; color: #b6beb4; font-family: var(--serif); font-size: 1.1rem; }
.about-page-intro { grid-area: intro; }
.about-page-intro .eyebrow { margin-top: .2rem; }
.about-page-body { grid-area: body; max-width: 720px; }
.about-recognition-shortcut { margin: -1rem 0 2rem; font-size: .82rem; }
.about-recognition-shortcut a { color: #b7c7b5; text-underline-offset: 4px; }
.about-page-intro h1 { font-size: clamp(3rem, 6vw, 6.3rem); margin-bottom: 2rem; }
.about-page-body > p { max-width: 720px; color: #bbc3b9; line-height: 1.9; font-size: 1rem; }
.about-page-actions { align-items: flex-start; margin-top: 2.5rem; }
.recognition-page { padding-top: 8rem; padding-bottom: 6rem; }
.recognition-page-intro { max-width: 900px; margin-bottom: 3.5rem; }
.recognition-page-intro > p:last-child { max-width: 690px; color: #bbc3b9; line-height: 1.8; margin-top: 1.7rem; }
.recognition-archive-list { border-top: 1px solid var(--rule); }
.recognition-archive-item { display: grid; grid-template-columns: 6rem 1fr; gap: 1.5rem; padding: 1.35rem 0; border-bottom: 1px solid var(--rule); }
.recognition-year { color: #a2b1a0; letter-spacing: .08em; font-size: .75rem; padding-top: .5rem; }
.recognition-archive-item h2 { margin: 0 0 .35rem; font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 400; }
.recognition-archive-item p { margin: 0; color: #9fa99f; font-size: .86rem; line-height: 1.6; }
.recognition-archive-item a { color: #bdc9bc; text-decoration-color: #4d5a4d; text-underline-offset: 3px; }
.recognition-archive-note { color: #8f9a8e; font-size: .85rem; line-height: 1.7; max-width: 760px; margin-top: 2rem; }
.inquiry-page { padding-top: 8rem; padding-bottom: 7rem; }
.inquiry-page h1 { margin-bottom: 1.7rem; }
.inquiry-lead { max-width: 680px; color: #bac2b9; font-size: 1.08rem; line-height: 1.8; }
.inquiry-options { margin-top: 3rem; border-top: 1px solid var(--rule); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.inquiry-option { display: block; padding: 1.5rem 1.2rem 1.6rem 0; text-decoration: none; border-bottom: 1px solid var(--rule); color: inherit; }
.inquiry-option > span { color: #8f9f8e; font-size: .65rem; letter-spacing: .13em; }
.inquiry-option h2 { font-family: var(--serif); font-size: clamp(1.4rem, 2vw, 2rem); font-weight: 400; margin: 1rem 0 .8rem; }
.inquiry-option p { color: #aeb8ae; line-height: 1.75; font-size: .88rem; min-height: 5.4rem; }
.inquiry-option b { display: inline-block; color: #d7dfd4; font-weight: 500; font-size: .78rem; margin-top: .8rem; }
.inquiry-option:hover b { text-decoration: underline; text-underline-offset: 4px; }
.inquiry-note { color: #839083; font-size: .82rem; line-height: 1.7; max-width: 780px; margin-top: 2.2rem; }
@media (max-width: 900px) { .gallery-page-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .about-page-grid { grid-template-columns: minmax(190px, .72fr) minmax(0, 1.28fr); grid-template-areas: "portrait intro" "portrait body"; gap: 0 2rem; } .about-page-portrait { margin-top: 4.5rem; } .inquiry-options { grid-template-columns: 1fr; gap: 0; } .inquiry-option p { min-height: 0; } }
@media (max-width: 640px) { .gallery-page-hero { padding-top: 6.7rem; } .gallery-page-hero h1, .recognition-page-intro h1, .inquiry-page h1 { font-size: clamp(3rem, 14vw, 5rem); } .gallery-page-grid { grid-template-columns: 1fr; gap: 1.8rem; } .gallery-photo-wide { grid-column: span 1; } .gallery-photo-wide img, .gallery-photo img, .gallery-photo-tall img { aspect-ratio: 1.12 / 1; } .gallery-page-end { align-items: flex-start; flex-direction: column; } .about-page { padding-top: 6.5rem; } .about-page-grid { grid-template-columns: 1fr; grid-template-areas: "intro" "portrait" "body"; gap: 2rem; } .about-page-portrait { position: static; top: auto; max-width: 420px; margin: 0 auto; } .about-page-intro h1 { font-size: clamp(2.8rem, 13vw, 4.6rem); } .recognition-page, .inquiry-page { padding-top: 6.5rem; } .recognition-archive-item { grid-template-columns: 3.5rem 1fr; gap: 1rem; } }


/* Dedicated Photo Essays index */
.photo-essays-intro { padding-top: clamp(8.3rem, 14vw, 12rem); padding-bottom: clamp(3.3rem, 6vw, 5.5rem); background: #0b0e0c; }
.photo-essays-intro .eyebrow { margin-bottom: 1.15rem; }
.photo-essays-intro h1 { max-width: 1000px; margin-bottom: 1.45rem; font-size: clamp(3.5rem, 8vw, 8.3rem); }
.photo-essays-intro h1 em { color: #b6c4b4; }
.photo-essays-intro > p:last-child { max-width: 680px; margin-bottom: 0; color: #b9c0b8; font-size: .95rem; line-height: 1.9; }
.photo-essays-index { padding-top: clamp(2rem, 4vw, 4rem); }
.photo-essays-index .section-heading { padding-top: 0; }
.essay-index-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid #303831; padding-top: 1.4rem; margin-top: -2rem; }
.essay-index-cta p { color: #b4beb4; font-family: var(--serif); font-size: clamp(1.4rem, 2.6vw, 2.2rem); margin: 0; }
.essay-index-cta-bottom { margin-top: 4rem; }

/* Recognition: image-led awards with organiser identities */
.recognition-featured { margin: 0 0 clamp(4.5rem, 7vw, 7rem); }
.recognition-featured-heading { margin-bottom: 2rem; }
.recognition-featured-heading .eyebrow { margin-bottom: .65rem; }
.recognition-featured-heading h2, .recognition-archive-subheading h2 { margin: 0 0 .9rem; font-size: clamp(2.35rem, 4.6vw, 4.4rem); line-height: 1.04; }
.recognition-featured-heading h2 em, .recognition-archive-subheading h2 em { color: #b6c4b4; }
.recognition-featured-heading > p:last-child { margin: 0; max-width: 650px; color: #aeb8ae; font-size: .88rem; line-height: 1.8; }
.recognition-featured-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; }
.recognition-featured-card { min-width: 0; border: 1px solid #2b342d; background: #101512; display: flex; flex-direction: column; }
.recognition-featured-photo { position: relative; overflow: hidden; background: #171e19; aspect-ratio: 1.52 / 1; }
.recognition-featured-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.65,.2,1); }
.recognition-featured-card:hover .recognition-featured-photo img { transform: scale(1.025); }
.recognition-card-type { position: absolute; left: 1rem; bottom: 1rem; padding: .4rem .6rem; background: rgba(7,10,8,.84); border: 1px solid rgba(230,235,227,.35); color: #e8ece5; font-size: .55rem; letter-spacing: .16em; text-transform: uppercase; }
.recognition-featured-copy { padding: 1.2rem 1.3rem 1.5rem; display: flex; flex-direction: column; align-items: flex-start; height: 100%; }
.organizer-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; margin-bottom: 1.2rem; }
.organizer-mark { display: inline-flex; align-items: center; gap: .65rem; min-height: 35px; color: #e6e9e2; }
.organizer-symbol { display: inline-block; flex: 0 0 auto; width: 28px; height: 28px; position: relative; }
.organizer-wordmark { display: flex; flex-direction: column; line-height: 1.02; }
.organizer-wordmark strong { font-family: var(--sans); font-weight: 700; font-size: .74rem; letter-spacing: .06em; }
.organizer-wordmark small { margin-top: .25rem; color: #aab3aa; font-size: .46rem; letter-spacing: .09em; line-height: 1.25; }
.award-kicker { max-width: 48%; color: #99a699; font-size: .54rem; line-height: 1.5; letter-spacing: .11em; text-align: right; text-transform: uppercase; }
.mark-natgeo .organizer-symbol { width: 20px; height: 28px; border: 3px solid #f8d10d; }
.mark-natgeo .organizer-wordmark strong { font-size: .65rem; letter-spacing: .08em; }
.mark-smithsonian .organizer-symbol { width: 27px; height: 27px; border: 1px solid #b9c4b7; border-radius: 50%; }
.mark-smithsonian .organizer-symbol::before { content: 'S'; font-family: var(--serif); font-size: 1.3rem; position: absolute; left: 7px; top: -1px; color: #e8ece5; }
.mark-hsbc .organizer-symbol { background: #db1e2a; clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.mark-hsbc .organizer-symbol::before, .mark-hsbc .organizer-symbol::after { content: ''; position: absolute; background: #f0f0e9; top: 0; height: 100%; width: 2px; left: 50%; transform: translateX(-50%); }
.mark-hsbc .organizer-symbol::after { height: 2px; width: 100%; top: 50%; left: 0; transform: translateY(-50%); }
.mark-bifa .organizer-symbol { width: 34px; height: 27px; }
.mark-bifa .organizer-symbol::before { content: 'B'; position: absolute; top: -4px; left: 0; font-family: var(--serif); font-size: 2rem; color: #b6c4b4; }
.mark-bifa .organizer-wordmark strong { font-size: .8rem; letter-spacing: .19em; }
.mark-ipa .organizer-symbol { width: 31px; height: 27px; }
.mark-ipa .organizer-symbol::before { content: 'IPA'; position: absolute; top: 0; left: 0; font-size: .85rem; font-family: var(--serif); letter-spacing: -.06em; }
.mark-gh5050 .organizer-symbol { border: 1px solid #d8a8c2; border-radius: 50%; }
.mark-gh5050 .organizer-symbol::before { content: '50'; position: absolute; inset: 0; display: grid; place-items: center; font-size: .55rem; color: #f0dce6; }
.mark-siena .organizer-symbol::before { content: 'S'; font-family: var(--serif); font-size: 1.4rem; color: #d3bd8c; }
.mark-sittp .organizer-symbol::before { content: 'U'; font-size: 1.2rem; color: #b6c4b4; }
.mark-cewe .organizer-symbol::before { content: 'CE'; font-size: .9rem; color: #b6c4b4; }
.mark-chromatic .organizer-symbol::before { content: 'C'; font-size: 1.25rem; color: #b6c4b4; }
.recognition-featured-card h3 { margin: 0 0 .75rem; font-size: clamp(1.55rem, 2.3vw, 2.2rem); line-height: 1.08; }
.recognition-featured-card p { margin: 0 0 1rem; color: #aeb8ae; font-size: .82rem; line-height: 1.75; }
.award-result-link { display: inline-flex; align-items: center; gap: .5rem; margin-top: auto; padding-top: .5rem; color: #d4ddd2; border-bottom: 1px solid #546252; padding-bottom: .3rem; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.award-result-link:hover { color: #fff; border-color: #d4ddd2; }
.recognition-archive-subheading { margin: 0 0 1.5rem; padding-top: 1rem; }
.recognition-archive-subheading .eyebrow { margin-bottom: .6rem; }
.recognition-archive-item { grid-template-columns: 4.3rem minmax(0, 1fr) auto; align-items: center; }
.archive-organizer-mark { align-self: center; display: inline-flex; align-items: center; gap: .35rem; max-width: 155px; color: #9da99d; font-size: .48rem; letter-spacing: .1em; line-height: 1.4; text-align: right; }
.archive-organizer-mark .organizer-symbol { width: 20px; height: 20px; }
.archive-organizer-mark .organizer-symbol::before { font-size: .85rem; }
.archive-organizer-mark.mark-natgeo .organizer-symbol { width: 13px; height: 20px; border-width: 2px; }
.archive-organizer-mark.mark-hsbc .organizer-symbol { width: 20px; height: 20px; }
.archive-organizer-mark.mark-bifa .organizer-symbol::before { top: -3px; font-size: 1.4rem; }
.archive-organizer-mark.mark-gh5050 .organizer-symbol::before { font-size: .4rem; }
.recognition-archive-note { padding-top: .5rem; border-top: 1px solid var(--rule); }
@media (max-width: 900px) {
  .recognition-featured-grid { grid-template-columns: 1fr 1fr; gap: .9rem; }
  .recognition-featured-copy { padding: 1rem; }
  .organizer-row { align-items: flex-start; flex-direction: column; }
  .award-kicker { max-width: 100%; text-align: left; }
  .recognition-archive-item { grid-template-columns: 3.6rem minmax(0,1fr) auto; }
}
@media (max-width: 640px) {
  .photo-essays-intro { padding-top: 7rem; }
  .photo-essays-intro h1 { font-size: clamp(3.05rem, 13.6vw, 5rem); }
  .essay-index-cta { align-items: flex-start; flex-direction: column; gap: .9rem; margin-top: 0; }
  .recognition-featured-grid { grid-template-columns: 1fr; gap: 1rem; }
  .recognition-featured-photo { aspect-ratio: 1.28 / 1; }
  .recognition-featured-copy { padding: 1rem 1.1rem 1.25rem; }
  .organizer-row { align-items: center; flex-direction: row; }
  .award-kicker { max-width: 45%; text-align: right; }
  .recognition-archive-item { grid-template-columns: 3.1rem minmax(0,1fr); gap: .7rem; }
  .archive-organizer-mark { grid-column: 2; justify-self: start; margin-top: .55rem; max-width: none; }
}

.organizer-favicon { display: inline-block; flex: 0 0 auto; width: 28px; height: 28px; object-fit: contain; padding: 3px; background: #eceee8; border-radius: 2px; }
.archive-organizer-favicon { width: 20px; height: 20px; padding: 2px; }
.mark-natgeo .organizer-favicon { background: #fff; padding: 3px; }


/* Photo essay index: compact swim lanes with optional extra frames. */
.photo-essays-index .essay { grid-template-columns: minmax(160px, .56fr) minmax(230px, .92fr) minmax(260px, 1.12fr); gap: clamp(1rem, 2.2vw, 2rem); align-items: center; padding-top: 1.5rem; padding-bottom: 1.5rem; margin: 0; }
.photo-essays-index .essay + .essay { margin-top: 0; }
.photo-essays-index .essay-image { aspect-ratio: 4 / 3; align-self: stretch; }
.photo-essays-index .essay-copy { max-width: none; }
.photo-essays-index .essay-copy .eyebrow { margin-bottom: .6rem; font-size: .55rem; }
.photo-essays-index .essay-copy h3 { font-size: clamp(1.55rem, 2.1vw, 2.3rem); line-height: 1.04; margin-bottom: .75rem; }
.photo-essays-index .essay-copy > p:not(.eyebrow) { font-size: .76rem; line-height: 1.7; margin-bottom: .75rem; }
.photo-essays-index .essay-copy .text-link { font-size: .58rem; }
.photo-essays-index .essay-sequence { grid-column: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; padding-top: 0; align-self: center; }
.photo-essays-index .essay-sequence img { aspect-ratio: 1.15 / 1; }
.photo-essays-index .essay-sequence figcaption { font-size: .51rem; margin-top: .3rem; letter-spacing: .045em; }
.essay-more-frames { grid-column: 1 / -1; min-width: 0; padding-top: .4rem; }
.essay-more-frames > summary { display: inline-flex; align-items: center; gap: .65rem; cursor: pointer; list-style: none; color: #c3cdc2; font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; border-bottom: 1px solid #475548; padding: .35rem 0; }
.essay-more-frames > summary::-webkit-details-marker { display: none; }
.essay-more-frames > summary::after { content: '+'; font-size: 1rem; line-height: 1; color: #d7e0d5; }
.essay-more-frames[open] > summary::after { content: '−'; }
.essay-more-frames .show-less-label { display: none; }
.essay-more-frames[open] .show-more-label { display: none; }
.essay-more-frames[open] .show-less-label { display: inline; }
.essay-more-frames .essay-sequence { margin-top: .8rem; }
.essay-more-frames .essay-sequence img { aspect-ratio: 1.35 / 1; }
.stories-section:not(.photo-essays-index) .essay-more-frames { margin-top: -.1rem; }
.stories-section:not(.photo-essays-index) .essay-more-frames .essay-sequence { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.story-page-narrative { text-align: left; max-width: 900px; font-family: var(--sans); font-size: clamp(.98rem, 1.35vw, 1.15rem); line-height: 1.9; }
.story-page-narrative p { margin: 0; }

/* Contest and publication marks: 64px on desktop, 44px on mobile. */
.recognition-featured-card .organizer-mark { min-height: 64px; align-items: center; gap: .75rem; }
.recognition-featured-card .organizer-favicon { display: block; width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; }
.recognition-featured-card .organizer-wordmark strong { font-size: .78rem; line-height: 1.15; }
.recognition-featured-card .organizer-wordmark small { font-size: .49rem; }
@media (max-width: 900px) {
  .photo-essays-index .essay { grid-template-columns: minmax(130px, .58fr) minmax(0, 1fr); }
  .photo-essays-index .essay-sequence { grid-column: 1 / -1; }
  .photo-essays-index .essay-copy h3 { font-size: clamp(1.6rem, 3.4vw, 2.3rem); }
}
@media (max-width: 640px) {
  .photo-essays-index .essay { display: grid; grid-template-columns: 1fr; gap: 1rem; padding-top: 1.2rem; padding-bottom: 1.5rem; }
  .photo-essays-index .essay-image { aspect-ratio: 1.35 / 1; }
  .photo-essays-index .essay-copy h3 { font-size: 2rem; }
  .photo-essays-index .essay-copy > p:not(.eyebrow) { font-size: .82rem; }
  .photo-essays-index .essay-sequence { grid-column: 1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .photo-essays-index .essay-sequence img { aspect-ratio: .95 / 1; }
  .photo-essays-index .essay-sequence figcaption { font-size: .48rem; }
  .stories-section:not(.photo-essays-index) .essay-more-frames .essay-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recognition-featured-card .organizer-mark { min-height: 44px; gap: .55rem; }
  .recognition-featured-card .organizer-favicon { width: 44px; height: 44px; flex-basis: 44px; }
  .recognition-featured-card .organizer-wordmark strong { font-size: .68rem; }
}


/* Photo essay index: aligned two-column story rows with all frames visible on scroll. */
.photo-essays-index { width: 100%; max-width: 100%; overflow-x: clip; }
.photo-essays-index .essay-index-row {
  display: grid;
  width: 100%; min-width: 0;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  column-gap: clamp(1.35rem, 3.2vw, 3.25rem);
  row-gap: clamp(1.15rem, 2vw, 1.8rem);
  align-items: center;
  padding-top: clamp(1.6rem, 3vw, 2.5rem);
  padding-bottom: clamp(1.8rem, 3.5vw, 2.8rem);
  margin: 0;
}
.photo-essays-index .essay-index-row + .essay-index-row { margin-top: 0; }
.photo-essays-index .essay-index-row > .essay-image {
  grid-column: 1; grid-row: 1; display: block; width: 100%; min-width: 0;
  aspect-ratio: 1.28 / 1; align-self: center; overflow: hidden;
}
.photo-essays-index .essay-index-row > .essay-image img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.photo-essays-index .essay-index-row > .essay-copy {
  grid-column: 2; grid-row: 1; width: 100%; max-width: 720px; min-width: 0;
  align-self: center; margin: 0;
}
.photo-essays-index .essay-copy .eyebrow { margin-bottom: .65rem; font-size: .58rem; }
.photo-essays-index .essay-copy h3 {
  max-width: 680px; margin-bottom: .85rem;
  font-size: clamp(1.8rem, 2.6vw, 3.05rem); line-height: 1.04;
  overflow-wrap: normal; word-break: normal;
}
.photo-essays-index .essay-copy > p:not(.eyebrow) {
  max-width: 670px; margin-bottom: .8rem;
  font-size: clamp(.78rem, .95vw, .91rem); line-height: 1.75;
}
.photo-essays-index .essay-copy .text-link { font-size: .6rem; }
.photo-essays-index .essay-index-row > .essay-sequence {
  grid-column: 1 / -1; grid-row: 2; display: grid; width: 100%; min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.55rem, 1vw, .9rem);
  align-self: start; margin: 0; padding: 0;
}
.photo-essays-index .essay-sequence figure { min-width: 0; width: 100%; margin: 0; }
.photo-essays-index .essay-sequence figure a {
  display: block; width: 100%; aspect-ratio: 1.28 / 1; overflow: hidden; background: #171c18;
}
.photo-essays-index .essay-sequence img {
  display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover;
}
.photo-essays-index .essay-sequence figcaption {
  margin-top: .4rem; color: #a4aea3; font-size: .58rem; letter-spacing: .055em;
  line-height: 1.45; text-transform: uppercase; overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .photo-essays-index .essay-index-row { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); column-gap: 1.2rem; }
  .photo-essays-index .essay-copy h3 { font-size: clamp(1.65rem, 3.4vw, 2.35rem); }
  .photo-essays-index .essay-index-row > .essay-sequence { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .photo-essays-index .essay-index-row {
    grid-template-columns: minmax(0, 1fr); row-gap: 1rem;
    padding-top: 1.35rem; padding-bottom: 1.6rem;
  }
  .photo-essays-index .essay-index-row > .essay-image { grid-column: 1; grid-row: 1; aspect-ratio: 1.32 / 1; }
  .photo-essays-index .essay-index-row > .essay-copy { grid-column: 1; grid-row: 2; }
  .photo-essays-index .essay-copy h3 { font-size: clamp(1.9rem, 8.5vw, 2.5rem); }
  .photo-essays-index .essay-copy > p:not(.eyebrow) { font-size: .84rem; }
  .photo-essays-index .essay-index-row > .essay-sequence {
    grid-column: 1; grid-row: 3; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem;
  }
  .photo-essays-index .essay-sequence figure a { aspect-ratio: 1.18 / 1; }
  .photo-essays-index .essay-sequence figcaption { font-size: .55rem; }
}


/* Review pass: four aligned previews beneath each essay lead, no orphaned third-column thumbnails. */
.photo-essays-index .essay-index-row {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  column-gap: clamp(1.35rem, 3.2vw, 3.25rem);
}
.photo-essays-index .essay-index-row > .essay-sequence {
  grid-column: 1 / -1;
  grid-row: 2;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}
.photo-essays-index .essay-more-frames { display: none !important; }

/* Complete recognition archive: organiser identity and associated frame are visible in the same row. */
.recognition-archive-item.has-photo {
  grid-template-columns: 3.3rem minmax(7.5rem, 8.8rem) minmax(9rem, 12rem) minmax(0, 1fr);
  gap: clamp(.8rem, 1.8vw, 1.5rem);
  align-items: center;
  padding: 1.5rem 0;
}
.recognition-archive-item.no-photo {
  grid-template-columns: 3.3rem minmax(7.5rem, 8.8rem) minmax(0, 1fr);
  gap: clamp(.8rem, 1.8vw, 1.5rem);
  align-items: center;
  padding: 1.5rem 0;
}
.archive-organizer-mark {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  max-width: none;
  width: 100%;
  text-align: center;
  font-size: .55rem;
  letter-spacing: .075em;
  line-height: 1.35;
}
.archive-organizer-favicon {
  width: 64px !important;
  height: 64px !important;
  flex-basis: 64px !important;
  padding: 4px;
  object-fit: contain;
  background: #f0f1ec;
  border-radius: 2px;
}
.recognition-archive-photo {
  display: block;
  width: 100%;
  height: 110px;
  object-fit: cover;
  background: #151a16;
}
.recognition-archive-content { min-width: 0; }
.recognition-archive-item h2 { margin-bottom: .45rem; }
.recognition-archive-item p { max-width: 760px; margin-bottom: .55rem; line-height: 1.7; }
.recognition-archive-content > a {
  display: inline-block;
  margin-top: .25rem;
  color: #c4d1c2;
  font-size: .66rem;
  letter-spacing: .06em;
  text-decoration: underline;
  text-decoration-color: #4d5a4d;
  text-underline-offset: 3px;
}
.recognition-archive-note { margin-bottom: 1.4rem; }
@media (max-width: 900px) {
  .recognition-archive-item.has-photo {
    grid-template-columns: 2.7rem minmax(5.2rem, 6.5rem) minmax(7.5rem, 9rem) minmax(0, 1fr);
    gap: .7rem;
  }
  .recognition-archive-item.no-photo {
    grid-template-columns: 2.7rem minmax(5.2rem, 6.5rem) minmax(0, 1fr);
    gap: .7rem;
  }
  .archive-organizer-favicon { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
  .recognition-archive-photo { height: 95px; }
}
@media (max-width: 640px) {
  .photo-essays-index .essay-index-row > .essay-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recognition-archive-item.has-photo,
  .recognition-archive-item.no-photo {
    grid-template-columns: 3.2rem minmax(0, 1fr);
    gap: .6rem .9rem;
    align-items: start;
  }
  .recognition-archive-item .recognition-year { grid-column: 1; grid-row: 1; }
  .recognition-archive-item .archive-organizer-mark { grid-column: 1; grid-row: 2; }
  .recognition-archive-item .recognition-archive-content { grid-column: 2; grid-row: 1 / span 2; }
  .recognition-archive-item .recognition-archive-photo { grid-column: 1 / -1; grid-row: 3; width: 100%; height: auto; max-height: 260px; aspect-ratio: 16 / 9; }
  .archive-organizer-favicon { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
  .archive-organizer-mark { font-size: .47rem; }
  .recognition-archive-item h2 { font-size: 1.25rem; }
  .recognition-archive-item p { font-size: .8rem; }
}


/* Home as a curated gateway: short destination lanes rather than duplicate full pages. */
.home-essays-section, .home-galleries-section { background: #101612; border-top: 1px solid #283029; padding-top: clamp(3.8rem, 6vw, 6rem); padding-bottom: clamp(3.8rem, 6vw, 6rem); }
.home-lane-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.home-lane-heading h2 { font-size: clamp(2.45rem, 4.5vw, 4.5rem); margin: .45rem 0 0; line-height: 1; }
.home-lane-heading h2 em { color: #aebaae; }
.home-lane-heading > p { max-width: 390px; margin: 0 0 .25rem; color: #aeb8ae; font-size: .82rem; line-height: 1.75; }
.home-essays-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(.85rem, 1.7vw, 1.7rem); }
.home-essay-card { min-width: 0; border-top: 1px solid #394238; padding-top: .8rem; }
.home-essay-image { position: relative; display: block; overflow: hidden; background: #171c18; aspect-ratio: 1.48 / 1; }
.home-essay-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s ease, opacity .3s ease; }
.home-essay-image:hover img { transform: scale(1.025); opacity: .9; }
.home-essay-image > span { position: absolute; right: .75rem; bottom: .75rem; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(240,243,235,.5); background: rgba(7,10,8,.72); }
.home-essay-copy { padding-top: .9rem; }
.home-essay-copy .eyebrow { color: #8f9c90; font-size: .53rem; margin-bottom: .5rem; }
.home-essay-copy h3 { margin: 0 0 .55rem; font-family: var(--serif); font-size: clamp(1.45rem, 2.1vw, 2.15rem); font-weight: 400; line-height: 1.05; }
.home-essay-copy h3 em { color: #aebaae; }
.home-essay-copy > p:last-child { margin: 0; color: #aeb8ae; font-size: .74rem; line-height: 1.7; max-width: 460px; }
.home-lane-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.6rem; padding-top: 1rem; border-top: 1px solid #303831; }
.home-lane-cta > span { color: #879387; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.home-galleries-section { background: #151b16; }
.home-gallery-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: .75rem; }
.home-gallery-card { min-width: 0; display: flex; flex-direction: column; border-top: 1px solid #3a443b; padding-top: .75rem; }
.home-gallery-card img { display: block; width: 100%; aspect-ratio: 1.28 / 1; object-fit: cover; background: #171c18; transition: opacity .3s ease; }
.home-gallery-card:hover img { opacity: .82; }
.home-gallery-card > span { margin-top: .8rem; color: #87958a; font-size: .55rem; letter-spacing: .12em; }
.home-gallery-card strong { min-height: 2.8em; padding-top: .35rem; font-family: var(--serif); font-weight: 400; font-size: clamp(1.02rem, 1.35vw, 1.38rem); line-height: 1.1; }
.home-gallery-card b { margin-top: .3rem; color: #b2beb1; font-size: .8rem; font-weight: 400; }
.home-prints-lane { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 2.3rem; padding-bottom: 2.3rem; background: #0d110e; border-block: 1px solid #2b332c; }
.home-prints-lane > div { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: baseline; gap: .5rem 1.4rem; }
.home-prints-lane .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.home-prints-lane h2 { margin: 0; font-size: clamp(1.75rem, 3.1vw, 3rem); line-height: 1.05; }
.home-prints-lane h2 em { color: #aebaae; }
.home-prints-lane p:not(.eyebrow) { margin: 0; max-width: 480px; color: #aeb8ae; font-size: .77rem; line-height: 1.65; }
.home-recognition-section { padding-top: clamp(3.8rem, 6vw, 6rem); padding-bottom: clamp(3.8rem, 6vw, 6rem); background: #0b0e0c; border-top: 1px solid #283029; }
.home-recognition-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.home-recognition-grid article { display: flex; align-items: flex-start; gap: .8rem; min-width: 0; border-top: 1px solid #343d35; padding-top: .9rem; }
.home-recognition-mark { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; color: #f0f1eb; border: 1px solid #465145; background: #111713; font-size: .72rem; letter-spacing: -.03em; }
.home-recognition-mark.mark-ipa { font-family: var(--serif); font-size: .9rem; }
.home-recognition-mark.mark-hsbc { color: #f0f1eb; background: #a61923; border-color: #a61923; font-size: .57rem; }
.home-recognition-mark.mark-natgeo { color: #f2cd19; border: 3px solid #f2cd19; font-size: .57rem; }
.home-recognition-mark.mark-smithsonian { border-radius: 50%; font-family: var(--serif); font-size: 1.15rem; }
.home-recognition-grid .eyebrow { color: #899789; margin-bottom: .35rem; font-size: .48rem; }
.home-recognition-grid h3 { margin: 0 0 .3rem; font-family: var(--serif); font-weight: 400; font-size: clamp(1.1rem, 1.4vw, 1.4rem); line-height: 1.1; }
.home-recognition-grid article p:last-child { margin: 0; color: #9fa99f; font-size: .65rem; line-height: 1.5; }
/* Standalone Gallery index page */
.gallery-index-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(2rem, 4.5vw, 4.5rem) clamp(1.2rem, 2.5vw, 2.5rem); padding-top: clamp(2rem, 4vw, 4rem); padding-bottom: clamp(4rem, 8vw, 8rem); }
.gallery-index-card { min-width: 0; display: block; border-top: 1px solid #303831; padding-top: .9rem; }
.gallery-index-image { position: relative; overflow: hidden; aspect-ratio: 1.45 / 1; background: #171c18; }
.gallery-index-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease, opacity .3s ease; }
.gallery-index-card:hover .gallery-index-image img { transform: scale(1.025); opacity: .88; }
.gallery-index-image > span { position: absolute; left: .9rem; top: .8rem; color: #fff; font-size: .6rem; letter-spacing: .14em; text-shadow: 0 1px 8px rgba(0,0,0,.7); }
.gallery-index-copy { padding: 1rem 0 0; }
.gallery-index-copy h2 { margin: 0 0 .45rem; font-size: clamp(1.9rem, 3vw, 3rem); font-weight: 400; line-height: 1.02; }
.gallery-index-copy h2 em { color: #aebaae; }
.gallery-index-copy p { max-width: 500px; margin: 0 0 .8rem; color: #aeb8ae; font-size: .82rem; line-height: 1.75; }
.gallery-index-copy .text-link { display: inline-flex; gap: .45rem; align-items: center; border-bottom: 1px solid #465346; padding-bottom: .3rem; color: #c8d2c5; font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 900px) {
  .home-gallery-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .home-recognition-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-prints-lane { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
  .home-lane-heading { align-items: flex-start; flex-direction: column; gap: .7rem; margin-bottom: 1.25rem; }
  .home-essays-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .home-essay-card { display: grid; grid-template-columns: minmax(110px,.8fr) minmax(0,1.2fr); gap: .9rem; align-items: start; }
  .home-essay-image { aspect-ratio: 1 / 1.1; }
  .home-essay-image > span { right: .45rem; bottom: .45rem; width: 28px; height: 28px; }
  .home-essay-copy { padding-top: .1rem; }
  .home-essay-copy h3 { font-size: 1.38rem; }
  .home-essay-copy > p:last-child { font-size: .68rem; }
  .home-lane-cta { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .home-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem .75rem; }
  .home-gallery-card strong { min-height: 0; font-size: 1.12rem; }
  .home-prints-lane > div { grid-template-columns: 1fr; gap: .7rem; }
  .home-recognition-grid { grid-template-columns: 1fr; gap: .9rem; }
  .home-recognition-grid article { padding-top: .75rem; }
  .gallery-index-grid { grid-template-columns: 1fr; gap: 2rem; }
}


/* Image-level print enquiries: an actionable alternative to repeating a print catalogue. */
.gallery-photo-frame, .story-page-hero-image, .story-page-photo,
.feature-image-wrap, .image-frame, .landscape-feature-image, .sequence-frame { position: relative; }
.photo-print-action {
  position: absolute; z-index: 5; top: .65rem; right: .65rem;
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  color: #f0f1eb; background: rgba(7,10,8,.78);
  border: 1px solid rgba(230,235,227,.58); text-decoration: none;
  backdrop-filter: blur(5px); transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.photo-print-action svg { width: 17px; height: 17px; display: block; }
.photo-print-action:hover, .photo-print-action:focus-visible { background: #b7c7b5; color: #0b0e0c; border-color: #b7c7b5; transform: translateY(-1px); outline-offset: 3px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Essay titles use one consistent type treatment; the deck copy carries the subtitle. */
.story-page-intro h1 em, .essay-copy h3 em, .home-essay-copy h3 em { font-style: normal; color: inherit; }
.home-essay-copy h3 { font-size: clamp(1.25rem, 1.75vw, 1.8rem); line-height: 1.12; overflow-wrap: anywhere; }
.photo-essays-index .essay-copy h3 { font-size: clamp(1.55rem, 2.25vw, 2.65rem); line-height: 1.08; }
.photo-essays-intro h1 em { font-style: normal; color: inherit; }

/* Prints page is an enquiry guide; each actual photograph offers its own enquiry action. */
.print-heading-sub { color: #b4c1b3; font-family: var(--serif); font-weight: 400; }
.print-process { padding-top: clamp(3.5rem, 6vw, 6rem); padding-bottom: clamp(4rem, 7vw, 7rem); }
.print-process .section-heading { align-items: start; }
.print-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); margin: 2rem 0 2.2rem; }
.print-process-grid article { border-top: 1px solid #465046; padding-top: 1rem; }
.print-process-grid article > span { font-size: .62rem; letter-spacing: .12em; color: #a8b6a7; }
.print-process-grid h3 { margin: .85rem 0 .55rem; font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 400; }
.print-process-grid p { margin: 0; color: #aeb8ae; font-size: .84rem; line-height: 1.75; }
.print-process .prints-note { max-width: 760px; margin: 1.5rem 0; color: #8f9a90; font-size: .78rem; line-height: 1.7; }
@media (max-width: 700px) { .print-process-grid { grid-template-columns: 1fr; gap: 1.4rem; } .photo-print-action { width: 34px; height: 34px; top: .45rem; right: .45rem; } .photo-print-action svg { width: 15px; height: 15px; } }

/* Recognition is grouped by original photograph: each frame appears once with all recorded outcomes. */
.recognition-page-intro h1 { margin: .5rem 0 1.1rem; font-size: clamp(3.2rem, 7.2vw, 6.5rem); line-height: .98; font-weight: 400; }
.recognition-title-plain { color: #b6c4b4; font-style: normal; }
.recognition-page-intro > p:last-child { max-width: 760px; color: #aeb8ae; line-height: 1.8; }
.recognition-photo-groups { border-top: 1px solid var(--rule); margin-top: clamp(2rem, 4vw, 3.5rem); }
.recognition-photo-group { display: grid; grid-template-columns: minmax(230px, .78fr) minmax(0, 1.22fr); align-items: start; gap: clamp(1.5rem, 3.2vw, 3.25rem); padding: clamp(1.6rem, 3vw, 2.5rem) 0; border-bottom: 1px solid var(--rule); }
.recognition-photo-group-image { position: sticky; top: 6.5rem; margin: 0; min-width: 0; }
.recognition-photo-group-image img { display: block; width: 100%; max-height: 440px; aspect-ratio: 4 / 3; object-fit: contain; background: #141916; }
.recognition-photo-group-image figcaption { margin-top: .5rem; color: #879387; font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.recognition-photo-group-copy { min-width: 0; }
.recognition-photo-group-copy > .eyebrow { margin: .1rem 0 .6rem; color: #8f9c90; font-size: .56rem; }
.recognition-photo-group h2 { margin: 0 0 .65rem; font-family: var(--serif); font-size: clamp(1.65rem, 2.6vw, 2.6rem); font-weight: 400; line-height: 1.07; }
.recognition-group-summary { max-width: 720px; margin: 0 0 1rem; color: #aeb8ae; font-size: .82rem; line-height: 1.72; }
.recognition-award-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #2c342e; }
.recognition-award-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) 20px; align-items: center; gap: .75rem; padding: .55rem 0; border-bottom: 1px solid #252d27; }
.recognition-award-icon-link { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: #f0f1ec; border-radius: 2px; padding: 3px; }
.recognition-award-icon { width: 100%; height: 100%; object-fit: contain; }
.recognition-award-detail { min-width: 0; display: flex; flex-direction: column; gap: .12rem; }
.recognition-award-year { color: #8f9c90; font-size: .57rem; letter-spacing: .1em; text-transform: uppercase; }
.recognition-award-detail strong { color: #e5e9e0; font-size: .8rem; font-weight: 500; line-height: 1.35; }
.recognition-award-detail small { color: #8f9a90; font-size: .68rem; line-height: 1.35; }
.recognition-award-out { display: grid; place-items: center; color: #aeb8ae; font-size: 1.1rem; text-decoration: none; }
.recognition-award-out:hover { color: #fff; }
.recognition-archive-note { border-top: 1px solid var(--rule); padding-top: 1.2rem; max-width: 850px; margin-top: 2rem; color: #8f9a90; font-size: .78rem; line-height: 1.75; }
@media (max-width: 760px) {
  .recognition-photo-group { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .recognition-photo-group-image { position: relative; top: auto; width: min(100%, 560px); }
  .recognition-photo-group-image img { aspect-ratio: 16 / 10; max-height: 300px; }
  .recognition-award-row { grid-template-columns: 34px minmax(0,1fr) 18px; gap: .6rem; }
  .recognition-award-icon-link { width: 34px; height: 34px; }
  .recognition-award-detail strong { font-size: .76rem; }
  .recognition-award-detail small { font-size: .65rem; }
}


/* Compact, hover-revealed image actions: like, comment, and print enquiry. */
.has-photo-actions { position: relative; }
.photo-action-image { position: relative; min-width: 0; }
.photo-action-image > a { display: block; }
.photo-action-image > a img { display: block; width: 100%; }
.photo-actions {
  position: absolute; z-index: 9; right: .65rem; bottom: .65rem;
  display: flex; align-items: center; gap: .35rem;
  opacity: 0; transform: translateY(4px); pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.has-photo-actions:hover > .photo-actions,
.has-photo-actions:focus-within > .photo-actions,
.photo-action-image:hover > .photo-actions,
.photo-action-image:focus-within > .photo-actions { opacity: 1; transform: none; pointer-events: auto; }
.photo-action {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; flex: 0 0 34px; padding: 0;
  border-radius: 50%; color: rgba(231,237,227,.82);
  background: rgba(8,12,9,.66); border: 1px solid rgba(196,211,195,.42);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  text-decoration: none; cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.photo-action svg { width: 16px; height: 16px; display: block; }
.photo-action:hover, .photo-action:focus-visible { color: #eef2e9; background: rgba(49,66,51,.94); border-color: rgba(202,220,198,.82); transform: translateY(-1px); outline: 1px solid rgba(211,226,207,.55); outline-offset: 2px; }
.photo-like[aria-pressed="true"] { color: #d8e6d2; border-color: #a1b59c; background: rgba(72,94,70,.88); }
.photo-like[aria-pressed="true"] svg path { fill: rgba(180,204,174,.3); }
.hero-photo-host > .photo-actions { top: 1rem; bottom: auto; right: 1rem; }

/* Floating contact bubbles remain secondary to the photographs. */
.site-float-dock { position: fixed; z-index: 1000; right: 1.1rem; bottom: 1.1rem; display: flex; flex-direction: column; align-items: flex-end; gap: .55rem; }
.site-float-bubble { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #e8eee4; border: 1px solid rgba(196,211,195,.42); background: rgba(13,18,14,.94); box-shadow: 0 8px 28px rgba(0,0,0,.28); text-decoration: none; cursor: pointer; backdrop-filter: blur(12px); transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.site-float-bubble svg { width: 21px; height: 21px; display: block; }
.site-float-bubble:hover, .site-float-bubble:focus-visible { transform: translateY(-2px); border-color: #a8bca5; background: #1c281e; outline-offset: 3px; }
.site-float-whatsapp { color: #c7d9c3; }
.site-float-guide { color: #d9dfd3; }
.site-guide-panel { position: absolute; right: 0; bottom: 112px; width: min(350px, calc(100vw - 2rem)); max-height: min(560px, calc(100vh - 150px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(172,190,169,.33); border-radius: 14px; background: rgba(12,17,13,.98); color: #e4e9e0; box-shadow: 0 18px 60px rgba(0,0,0,.38); }
.site-guide-panel[hidden] { display: none; }
.site-guide-header { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: 1rem 1rem .8rem; border-bottom: 1px solid #2c362d; }
.site-guide-header .eyebrow { margin: 0 0 .2rem; font-size: .55rem; letter-spacing: .14em; color: #a9b9a5; }
.site-guide-header h2 { margin: 0; font-family: var(--serif); font-weight: 400; font-size: 1.55rem; }
.site-guide-close { border: 0; color: #cbd4c6; background: transparent; font-size: 1.5rem; cursor: pointer; }
.site-guide-transcript { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; padding: .9rem 1rem; overflow-y: auto; min-height: 104px; }
.site-guide-message { max-width: 94%; padding: .7rem .8rem; border-radius: 10px; color: #c1cbc0; background: #1b231c; font-size: .79rem; line-height: 1.6; overflow-wrap: anywhere; }
.site-guide-message a { color: #dae5d4; text-decoration: underline; text-underline-offset: 3px; }
.site-guide-message.user { align-self: flex-end; background: #263329; color: #e2e9df; }
.site-guide-suggestions { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0 1rem .85rem; }
.site-guide-suggestions button { border: 1px solid #465447; color: #cad6c6; background: transparent; border-radius: 999px; padding: .42rem .58rem; font-size: .68rem; cursor: pointer; }
.site-guide-suggestions button:hover, .site-guide-suggestions button:focus-visible { border-color: #a9bca6; color: #eef3e9; }
.site-guide-form { display: flex; gap: .45rem; padding: .7rem; border-top: 1px solid #2c362d; }
.site-guide-form input { min-width: 0; flex: 1; border: 1px solid #384438; border-radius: 8px; padding: .65rem .7rem; color: #e9eee6; background: #111712; font: inherit; font-size: .78rem; }
.site-guide-form button { border: 1px solid #70846e; border-radius: 8px; padding: 0 .8rem; color: #0e130e; background: #b4c5af; cursor: pointer; font-size: .75rem; }
.site-guide-footnote { padding: 0 .9rem .75rem; margin: 0; color: #7f8a80; font-size: .58rem; line-height: 1.4; }

/* Form layout matches the site's editorial typography. */
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(210px, .7fr); gap: clamp(2rem, 5vw, 5.5rem); margin-top: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.contact-form-column { min-width: 0; border-top: 1px solid var(--rule); padding-top: 1.2rem; }
.contact-aside { border-top: 1px solid var(--rule); padding-top: 1.2rem; }
.contact-aside h2 { margin: .4rem 0 .65rem; font-family: var(--serif); font-weight: 400; font-size: clamp(1.5rem, 2vw, 2rem); }
.contact-aside > p:not(.eyebrow) { color: #aeb8ae; font-size: .82rem; line-height: 1.75; }
.contact-aside-link { display: block; width: fit-content; max-width: 100%; margin-top: .8rem; color: #d8e2d4; border-bottom: 1px solid #536452; padding-bottom: .25rem; font-size: .75rem; text-decoration: none; overflow-wrap: anywhere; }
.contact-aside-link:hover { color: #fff; border-color: #b2c6ad; }
.wix-enquiry-form { min-height: 180px; }
.form-loading, .enquiry-load-error { color: #aeb8ae; font-size: .85rem; line-height: 1.7; }
.general-enquiry-form { width: 100%; }
.enquiry-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem 1.1rem; }
.enquiry-field { min-width: 0; }
.enquiry-field:has(textarea), .enquiry-field:has(select), .enquiry-field[data-enquiry-field="email_address_vkp3"], .enquiry-field[data-enquiry-field="photo_reference_vkp5"] { grid-column: 1 / -1; }
.enquiry-field label { display: block; margin: 0 0 .42rem; color: #cbd5c8; font-size: .72rem; letter-spacing: .025em; }
.form-required { color: #b9cbb3; margin-left: .12rem; }
.enquiry-field input, .enquiry-field select, .enquiry-field textarea { display: block; width: 100%; box-sizing: border-box; border: 1px solid #394539; border-radius: 3px; background: #101511; color: #e8eee5; font: inherit; font-size: .86rem; padding: .82rem .88rem; outline: none; transition: border-color .18s ease, background .18s ease; }
.enquiry-field textarea { resize: vertical; min-height: 150px; line-height: 1.65; }
.enquiry-field input:focus, .enquiry-field select:focus, .enquiry-field textarea:focus { border-color: #a1b79b; background: #131a14; }
.enquiry-field [aria-invalid="true"] { border-color: #b99186; }
.enquiry-field-error { min-height: 0; margin: .32rem 0 0; color: #d4a99c; font-size: .68rem; }
.enquiry-form-submit-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.3rem; }
.enquiry-form-required-note { color: #879287; font-size: .65rem; }
.enquiry-submit { border: 1px solid #8fa38a; cursor: pointer; }
.enquiry-submit:disabled { opacity: .55; cursor: wait; }
.enquiry-form-privacy { margin: .95rem 0 0; color: #7f8b80; font-size: .64rem; line-height: 1.6; }
.enquiry-form-error { margin: .75rem 0 0; color: #dfb2a5; font-size: .75rem; line-height: 1.6; }
.enquiry-load-error { padding: 1rem; border: 1px solid #50433d; }
.enquiry-load-error a { color: #d9e3d5; }
.enquiry-success { padding: 1.2rem 0; }
.enquiry-success .eyebrow { color: #aec3a7; font-size: .6rem; letter-spacing: .13em; }
.enquiry-success h2 { margin: .6rem 0; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.75rem); line-height: 1.1; font-weight: 400; }
.enquiry-success p { color: #aeb8ae; font-size: .85rem; line-height: 1.75; }
.enquiry-success a { color: #d8e2d4; }
@media (hover:none) { .photo-actions { opacity: .74; transform: none; pointer-events: auto; } }
@media (max-width: 760px) {
  .photo-actions { right: .45rem; bottom: .45rem; gap: .28rem; }
  .photo-action { width: 31px; height: 31px; flex-basis: 31px; }
  .photo-action svg { width: 15px; height: 15px; }
  .hero-photo-host > .photo-actions { top: .65rem; right: .65rem; bottom: auto; }
  .site-float-dock { right: .7rem; bottom: .7rem; gap: .45rem; }
  .site-float-bubble { width: 44px; height: 44px; }
  .site-guide-panel { bottom: 102px; }
  .contact-grid { grid-template-columns: 1fr; gap: 2rem; }
  .contact-aside { max-width: 100%; }
}
@media (max-width: 480px) {
  .enquiry-form-grid { grid-template-columns: 1fr; }
  .enquiry-field, .enquiry-field:has(textarea), .enquiry-field:has(select), .enquiry-field[data-enquiry-field="email_address_vkp3"], .enquiry-field[data-enquiry-field="photo_reference_vkp5"] { grid-column: 1; }
  .enquiry-form-submit-row { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { .photo-actions, .photo-action, .site-float-bubble { transition: none; } }

/* Image actions on essay leads and gallery-index tiles live outside navigation anchors. */
.photo-essays-index .essay-index-row { position: relative; }
.photo-essays-index .photo-actions-essay-lead { top: calc(clamp(1.6rem, 3vw, 2.5rem) + .65rem); left: .65rem; right: auto; bottom: auto; }
.photo-essays-index .essay-index-row > .essay-image:hover + .photo-actions-essay-lead,
.photo-essays-index .essay-index-row > .essay-image:focus-visible + .photo-actions-essay-lead { opacity: 1; transform: none; pointer-events: auto; }
.gallery-index-card-wrap { min-width: 0; position: relative; }
.gallery-index-card-wrap > .photo-actions-gallery-card { top: 1.7rem; right: .65rem; bottom: auto; }
.gallery-index-card-wrap:has(.gallery-index-image:hover) > .photo-actions-gallery-card,
.gallery-index-card-wrap .gallery-index-card:focus-visible ~ .photo-actions-gallery-card { opacity: 1; transform: none; pointer-events: auto; }
@media (max-width: 640px) {
  .photo-essays-index .photo-actions-essay-lead { top: 2rem; left: .45rem; }
  .gallery-index-card-wrap > .photo-actions-gallery-card { top: 1.55rem; right: .45rem; }
}
@media (max-width: 900px) {
}
@media (max-width: 640px) {
}
@media (max-width: 900px) {
}
@media (max-width: 640px) {
}


/* Editorial homepage refinement — a consistent dark canvas around photographs, not a heavy global filter. */
.hero-copy { width: min(760px, 70vw); }
.hero-eyebrow { margin-bottom: 1.35rem; color: rgba(242,243,236,.78); }
.hero h1 { max-width: 740px; font-size: clamp(3.7rem, 7vw, 7.2rem); line-height: .94; }
.hero h1 em { color: #e1e4dc; font-style: normal; }
.hero-vignette { background: linear-gradient(90deg, rgba(5,8,7,.78) 0%, rgba(5,8,7,.49) 31%, rgba(5,8,7,.06) 70%), linear-gradient(0deg, rgba(5,8,7,.55), transparent 31%, rgba(5,8,7,.15)); }
.hero-location { position: absolute; right: var(--gutter); bottom: 1.8rem; margin: 0; color: rgba(244,245,239,.78); font-size: .57rem; letter-spacing: .18em; text-transform: uppercase; }
.hero-location span { color: rgba(244,245,239,.48); padding: 0 .35rem; }
.selected-work-heading { padding-top: clamp(4rem, 7vw, 7rem); padding-bottom: 2.4rem; }
.selected-work-heading .section-heading h2 { margin-bottom: 0; }
.selected-work-heading .heading-side-note { max-width: 340px; }
.selected-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.2rem, 4.6vw, 4.5rem) clamp(1.1rem, 3vw, 3rem); }
.selected-work-card { min-width: 0; margin: 0; }
.selected-work-image-wrap { position: relative; overflow: hidden; aspect-ratio: 1.36 / 1; background: #171c18; }
.selected-work-image-wrap > img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.2,.65,.2,1), opacity .3s ease; }
.selected-work-card:hover .selected-work-image-wrap > img { transform: scale(1.018); }
.selected-work-caption { padding-top: .9rem; }
.selected-work-caption .eyebrow { color: #849084; margin-bottom: .45rem; font-size: .54rem; }
.selected-work-caption .eyebrow span { padding: 0 .3rem; color: #5f6c60; }
.selected-work-caption h3 { margin: 0; font-size: clamp(1.5rem, 2.3vw, 2.35rem); line-height: 1.06; }
.selected-work-caption .caption-place { display: block; padding-top: .4rem; font-size: .66rem; color: #9ca69a; }
.selected-work-footer { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin-top: clamp(3rem, 6vw, 6rem); padding: 1.25rem 0 4rem; border-top: 1px solid var(--rule); }
.selected-work-footer p { margin: 0; color: #9ca69a; font-size: .77rem; }
.home-essays-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.4rem, 3vw, 3rem); align-items: start; }
.home-essay-card { min-width: 0; border-top: 1px solid #394238; padding-top: .9rem; }
.home-essay-media { display: grid; grid-template-columns: 1.5fr 1fr; grid-template-rows: 1fr 1fr; gap: .4rem; aspect-ratio: 1.5 / 1; }
.home-essay-thumb-wrap { position: relative; min-width: 0; min-height: 0; overflow: hidden; background: #171c18; }
.home-essay-thumb-wrap:first-child { grid-row: 1 / span 2; }
.home-essay-thumb { display: block; width: 100%; height: 100%; overflow: hidden; }
.home-essay-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .75s cubic-bezier(.2,.65,.2,1), opacity .3s ease; }
.home-essay-thumb:hover img { transform: scale(1.025); opacity: .92; }
.home-essay-thumb-wrap .photo-actions { right: .45rem; bottom: .45rem; gap: .25rem; }
.home-essay-thumb-wrap .photo-action { width: 29px; height: 29px; flex-basis: 29px; }
.home-essay-thumb-wrap .photo-action svg { width: 14px; height: 14px; }
.home-essay-copy .eyebrow { color: #8f9c90; font-size: .54rem; margin-bottom: .55rem; }
.home-essay-copy h3 { margin: 0 0 .7rem; font-size: clamp(1.7rem, 2.8vw, 2.8rem); line-height: 1.04; }
.home-essay-copy > p:not(.eyebrow) { margin: 0 0 .95rem; max-width: 470px; color: #aeb8ae; font-size: .78rem; line-height: 1.75; }
.home-essay-copy .text-link { margin-top: .15rem; }
.home-prints-lane .text-link { flex: 0 0 auto; }
@media (max-width: 900px) {
  .selected-work-heading { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .selected-work-grid { gap: 2.4rem 1.2rem; }
  .home-essays-grid { grid-template-columns: 1fr; gap: 2.8rem; }
  .home-essay-media { aspect-ratio: 1.78 / 1; }
}
@media (max-width: 640px) {
  .hero-copy { width: auto; margin: 0 var(--gutter) 4.5rem; padding: 0; }
  .hero h1 { font-size: clamp(3.35rem, 13vw, 5.4rem); line-height: .95; }
  .hero-deck { max-width: 340px; font-size: .86rem; }
  .hero-location { left: var(--gutter); right: auto; bottom: 1.25rem; font-size: .52rem; }
  .selected-work-heading { padding-top: 3.5rem; padding-bottom: 1.5rem; }
  .selected-work-grid { grid-template-columns: 1fr; gap: 2.6rem; }
  .selected-work-image-wrap { aspect-ratio: 1.35 / 1; }
  .selected-work-caption h3 { font-size: 1.75rem; }
  .selected-work-footer { align-items: flex-start; flex-direction: column; gap: .8rem; padding-bottom: 3.5rem; }
  .home-essay-media { aspect-ratio: 1.32 / 1; }
  .home-essay-media { grid-template-columns: 1.25fr 1fr; }
  .home-essay-copy h3 { font-size: 1.8rem; }
  .home-essay-thumb-wrap .photo-actions { right: .25rem; bottom: .25rem; gap: .16rem; }
  .home-essay-thumb-wrap .photo-action { width: 25px; height: 25px; flex-basis: 25px; }
  .home-essay-thumb-wrap .photo-action svg { width: 12px; height: 12px; }
}


/* CINEMATIC SIGNATURE PASS · Oct 2026
   One restrained depth language: staggered editorial photographs and two layered essay triptychs.
   The photographs remain authentic; no global colour filter is applied. */
:root { --warm-paper: #ede9df; --soft-line: rgba(237,233,223,.17); --depth-curve: cubic-bezier(.2,.7,.2,1); }
html { scroll-padding-top: 5.5rem; }
.site-header { border-bottom-color: rgba(237,233,223,.08); }
.site-header.scrolled { background: rgba(8,10,9,.82); backdrop-filter: blur(18px) saturate(125%); }
.reading-progress { position: fixed; z-index: 250; top: 0; left: 0; height: 2px; width: 100%; transform: scaleX(0); transform-origin: left center; background: #d5c3a2; pointer-events: none; will-change: transform; }
.hero { height: min(100svh, 1080px); min-height: min(760px, 94svh); }
.hero-image { transform: translate3d(0,var(--scroll-drift,0px),0) scale(1.06); will-change: transform; }
.hero::after { content:""; position:absolute; inset: auto 0 0; height: 22%; z-index:-1; background: linear-gradient(0deg, rgba(5,7,6,.3), transparent); pointer-events:none; }
.hero-copy { max-width: 760px; }
.hero h1 { text-wrap: balance; }
.hero-deck { text-wrap: pretty; }
.work-section { position: relative; isolation: isolate; overflow: clip; background: radial-gradient(ellipse at 85% 12%, rgba(85,99,83,.12), transparent 38%), #0b0e0c; }
.work-section::before { content:""; position:absolute; z-index:-1; top:10rem; right:-14rem; width:34rem; height:34rem; border:1px solid rgba(237,233,223,.07); border-radius:50%; box-shadow: 0 0 0 4rem rgba(237,233,223,.014), 0 0 0 8rem rgba(237,233,223,.012); pointer-events:none; }
.selected-work-heading { padding-top: clamp(5.5rem, 9vw, 9rem); padding-bottom: clamp(2.5rem, 4vw, 4rem); border-bottom:1px solid var(--soft-line); margin-bottom: clamp(2.7rem, 4.7vw, 4.7rem); }
.selected-work-heading .eyebrow { font-size:.6rem; letter-spacing:.24em; }
.selected-work-heading h2 { font-size:clamp(3.2rem, 5.7vw, 6.5rem); line-height:.93; margin:0; }
.selected-work-heading .heading-side-note { max-width: 325px; font-size:.84rem; color:#bac0b5; }
.selected-work-grid { grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:clamp(1rem,2.4vw,2.4rem); row-gap:clamp(3.8rem,7vw,7rem); align-items:start; }
.selected-work-card { grid-column:span 7; position:relative; transition:opacity .8s ease; min-width:0; }
.selected-work-card:nth-child(even) { grid-column:span 5; margin-top:clamp(3rem,8vw,8rem); }
.selected-work-card:nth-child(3), .selected-work-card:nth-child(6) { grid-column:span 5; }
.selected-work-card:nth-child(4), .selected-work-card:nth-child(5) { grid-column:span 7; }
.selected-work-image-wrap { aspect-ratio:1.22 / 1; overflow:hidden; background:#141815; box-shadow:0 25px 70px rgba(0,0,0,.22); transform:translateZ(0); }
.selected-work-image-wrap[data-ratio="portrait"] { aspect-ratio: .94 / 1; }
.selected-work-image-wrap[data-ratio="wide"] { aspect-ratio: 1.26 / 1; }
.selected-work-image-wrap > img { position:absolute; inset:-16px 0 auto; width:100%; height:calc(100% + 32px); object-fit:cover; transform:translate3d(0,var(--scroll-drift,0px),0) scale(1.035); transition:transform .75s var(--depth-curve), filter .45s ease; will-change:transform; }
.selected-work-card:hover .selected-work-image-wrap > img { transform:translate3d(0,var(--scroll-drift,0px),0) scale(1.065); filter:saturate(1.035); }
.selected-work-card::after { content:""; position:absolute; left:0; top:0; width:2.2rem; height:1px; background:#d3c5a8; opacity:.8; transform:translateY(-.65rem); }
.selected-work-caption { padding-top:1rem; display:grid; grid-template-columns:1fr auto; grid-template-areas:"index index" "title context"; gap:.4rem 1rem; align-items:baseline; }
.selected-work-caption .eyebrow { grid-area:index; margin:0; color:#8f9a8d; letter-spacing:.21em; font-size:.55rem; }
.selected-work-caption h3 { grid-area:title; font-size:clamp(1.8rem,3.2vw,3.35rem); letter-spacing:-.035em; line-height:1.02; }
.selected-work-caption .caption-place { grid-area:context; text-align:right; padding:0; max-width:11rem; font-size:.63rem; letter-spacing:.035em; color:#9ba59a; }
.selected-work-footer { margin-top:clamp(5rem,9vw,9rem); padding-top:1.4rem; padding-bottom:clamp(4rem,7vw,7rem); }
.selected-work-footer p { font-family:var(--serif); font-size:clamp(1.25rem,2.1vw,1.8rem); color:#d8d9d0; }
.home-essays-section { position:relative; isolation:isolate; overflow:clip; padding-top:clamp(5.5rem,9vw,9rem); padding-bottom:clamp(5rem,8vw,8rem); background:radial-gradient(ellipse at 12% 42%,rgba(92,111,91,.14),transparent 38%),#101612; }
.home-essays-section::before { content:""; position:absolute; z-index:-1; width:1px; height:60%; left:var(--gutter); top:20%; background:linear-gradient(transparent,rgba(237,233,223,.16),transparent); }
.home-lane-heading { margin-bottom:clamp(2.3rem,4.5vw,4.5rem); }
.home-lane-heading h2 { font-size:clamp(3rem,5.5vw,6rem); line-height:.94; }
.home-lane-heading > p { max-width:350px; font-size:.86rem; line-height:1.8; }
.home-essays-grid { gap:clamp(2.6rem,5vw,5rem); align-items:start; }
.home-essay-card { border-top:1px solid rgba(237,233,223,.26); padding-top:1rem; min-width:0; }
.home-essay-media { position:relative; display:block; overflow:visible; isolation:isolate; aspect-ratio:1.36 / 1; margin:0 .2rem 0 0; perspective:1200px; }
.home-essay-thumb-wrap { position:absolute; overflow:hidden; min-width:0; min-height:0; background:#151a16; }
.home-essay-thumb-wrap:first-child { inset:0; width:100%; height:100%; z-index:0; box-shadow:0 28px 65px rgba(0,0,0,.24); }
.home-essay-thumb-wrap:first-child .home-essay-thumb img { transform:translate3d(0,var(--scroll-drift,0px),0) scale(1.06); filter:brightness(.72) saturate(.88); }
.home-essay-thumb-wrap:first-child::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(4,8,6,.08),transparent 45%),linear-gradient(0deg,rgba(4,8,6,.22),transparent 45%); }
.home-essay-thumb-wrap:nth-child(2) { top:5%; right:-.8rem; width:34%; height:43%; z-index:2; border:5px solid #101612; box-shadow:0 20px 48px rgba(0,0,0,.48); transform:translate3d(0,var(--scroll-drift,0px),0) rotate(2.5deg); }
.home-essay-thumb-wrap:nth-child(3) { bottom:3%; right:4%; width:39%; height:43%; z-index:3; border:5px solid #101612; box-shadow:0 25px 52px rgba(0,0,0,.55); transform:translate3d(0,var(--scroll-drift,0px),0) rotate(-2deg); }
.home-essay-thumb { display:block; width:100%; height:100%; overflow:hidden; }
.home-essay-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--depth-curve), opacity .3s ease; }
.home-essay-thumb-wrap:not(:first-child):hover { z-index:4; }
.home-essay-thumb-wrap:nth-child(2):hover, .home-essay-thumb-wrap:nth-child(3):hover { transform:translate3d(0,var(--scroll-drift,0px),0) rotate(0deg) scale(1.035); }
.home-essay-copy { padding-top:1.8rem; }
.home-essay-copy .eyebrow { font-size:.57rem; letter-spacing:.22em; }
.home-essay-copy h3 { font-size:clamp(2rem,3.6vw,3.8rem); line-height:.99; max-width:550px; text-wrap:balance; }
.home-essay-copy > p:not(.eyebrow) { font-size:.87rem; max-width:400px; color:#b7c0b7; }
.home-lane-cta { margin-top:clamp(3rem,6vw,6rem); padding-top:1.1rem; border-top:1px solid var(--soft-line); }
.home-prints-lane { position:relative; overflow:hidden; display:flex; justify-content:space-between; align-items:center; gap:3rem; padding-top:clamp(4rem,7vw,7rem); padding-bottom:clamp(4rem,7vw,7rem); background:linear-gradient(115deg,#171c17 0%,#111512 66%,#141813 100%); }
.home-prints-lane::after { content:"PRINTS"; position:absolute; right:2vw; bottom:-.4em; font:clamp(6rem,17vw,18rem)/.8 var(--serif); letter-spacing:-.05em; color:rgba(237,233,223,.025); pointer-events:none; }
.home-prints-lane > div, .home-prints-lane > a { position:relative; z-index:1; }
.home-prints-lane h2 { font-size:clamp(3rem,5.5vw,5.8rem); }
.home-prints-lane > div > p:not(.eyebrow) { max-width:560px; color:#b6beb5; font-size:.87rem; }
.about-section { position:relative; }
.about-title h2 { font-size:clamp(3rem,5vw,5.7rem); }
.home-recognition-section { background:linear-gradient(180deg,#0d100e,#101511); }
.home-recognition-grid article { border-top:1px solid var(--soft-line); padding-top:1.2rem; }
.contact-section { margin-top:0; }
.contact-section > img { transform:translate3d(0,var(--scroll-drift,0px),0) scale(1.045); }
/* Scroll-reveal is only progressive enhancement: content stays visible if JS or motion features are unavailable. */
[data-reveal].is-reveal-ready { opacity:0; transform:translateY(25px); transition:opacity .75s ease, transform .75s var(--depth-curve); }
[data-reveal].is-reveal-ready.is-visible { opacity:1; transform:translateY(0); }
[data-reveal="work"] { transition-delay:calc(var(--reveal-order, 0) * 65ms); }
[data-reveal="essay"] { transition-delay:calc(var(--reveal-order, 0) * 100ms); }
@media (max-width: 1000px) {
  .selected-work-grid { grid-template-columns:repeat(6,minmax(0,1fr)); row-gap:3.4rem; }
  .selected-work-card, .selected-work-card:nth-child(even), .selected-work-card:nth-child(3), .selected-work-card:nth-child(4), .selected-work-card:nth-child(5), .selected-work-card:nth-child(6) { grid-column:span 3; margin-top:0; }
  .selected-work-card:nth-child(odd) { margin-top:2.5rem; }
  .selected-work-caption { grid-template-columns:1fr; grid-template-areas:"index" "title" "context"; }
  .selected-work-caption .caption-place { text-align:left; max-width:none; }
  .home-essays-grid { grid-template-columns:1fr; max-width:850px; margin:0 auto; gap:4.5rem; }
  .home-essay-media { aspect-ratio:1.55 / 1; }
  .home-essay-copy { padding-top:1.6rem; }
}
@media (max-width: 640px) {
  .hero { min-height:100svh; height:100svh; }
  .hero-image { transform:translate3d(0,var(--scroll-drift,0px),0) scale(1.04); }
  .selected-work-heading { padding-top:4.3rem; }
  .selected-work-heading h2 { font-size:clamp(3rem,13vw,4.6rem); }
  .selected-work-grid { grid-template-columns:minmax(0,1fr); row-gap:3.2rem; }
  .selected-work-card, .selected-work-card:nth-child(even), .selected-work-card:nth-child(3), .selected-work-card:nth-child(4), .selected-work-card:nth-child(5), .selected-work-card:nth-child(6) { grid-column:1; margin-top:0; }
  .selected-work-image-wrap, .selected-work-image-wrap[data-ratio="portrait"], .selected-work-image-wrap[data-ratio="wide"] { aspect-ratio:1.17 / 1; }
  .selected-work-caption h3 { font-size:clamp(1.7rem,7vw,2.2rem); }
  .home-essays-section { padding-top:4.3rem; }
  .home-lane-heading h2 { font-size:clamp(2.8rem,12vw,4.2rem); }
  .home-essay-media { aspect-ratio:1.2 / 1; margin-right:.25rem; }
  .home-essay-thumb-wrap:nth-child(2) { right:-.25rem; width:38%; height:41%; border-width:4px; top:4%; }
  .home-essay-thumb-wrap:nth-child(3) { right:3%; width:42%; height:39%; border-width:4px; bottom:3%; }
  .home-essay-copy h3 { font-size:clamp(2rem,8.5vw,2.7rem); }
  .home-prints-lane { display:block; }
  .home-prints-lane > a { margin-top:1.1rem; }
  .home-prints-lane::after { font-size:31vw; right:-.05em; }
  .reading-progress { height:2px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-image, .selected-work-image-wrap > img, .home-essay-thumb-wrap, .home-essay-thumb img, .contact-section > img { transform:none !important; }
  .selected-work-card { transform:none !important; }
  [data-reveal].is-reveal-ready { opacity:1 !important; transform:none !important; transition:none !important; }
  .reading-progress { display:none; }
}


/* Editorial correction: keep the essay previews photographic, not collage-like. */
.home-essay-media {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(.35rem, .8vw, .65rem);
  position: relative;
  overflow: hidden;
  isolation: auto;
  aspect-ratio: 1.5 / 1;
  margin: 0;
  perspective: none;
}
.home-essay-thumb-wrap {
  position: relative;
  inset: auto;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  z-index: auto;
  border: 0;
  box-shadow: none;
  transform: none;
  background: #151a16;
}
.home-essay-thumb-wrap:first-child {
  grid-row: 1 / span 2;
  inset: auto;
  width: auto;
  height: auto;
  box-shadow: none;
}
.home-essay-thumb-wrap:nth-child(2),
.home-essay-thumb-wrap:nth-child(3) {
  top: auto;
  right: auto;
  bottom: auto;
  width: auto;
  height: auto;
  border: 0;
  box-shadow: none;
  transform: none;
}
.home-essay-thumb-wrap:first-child .home-essay-thumb img {
  transform: none;
  filter: none;
}
.home-essay-thumb-wrap:first-child::after { display: none; }
.home-essay-thumb-wrap:nth-child(2):hover,
.home-essay-thumb-wrap:nth-child(3):hover { transform: none; }
.home-essay-thumb { position: relative; }
.home-essay-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
  filter: none;
  transition: transform .6s ease, opacity .25s ease;
}
.home-essay-thumb:hover img { transform: scale(1.025); opacity: .94; }
.home-essay-copy { padding-top: 1.1rem; }
.home-essay-copy h3 { font-size: clamp(1.8rem, 2.9vw, 2.8rem); line-height: 1.05; }

/* Give the homepage print invitation real photographs, without fake framed mockups. */
.home-prints-lane {
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}
.home-prints-lane::after { content: none; }
.home-prints-copy { max-width: 560px; }
.home-prints-copy > p:not(.eyebrow) {
  max-width: 540px;
  color: #b6beb5;
  font-size: .87rem;
  line-height: 1.8;
  margin-bottom: 1.35rem;
}
.home-prints-copy .text-link { margin-top: .25rem; }
.home-prints-secondary-link {
  display: inline-flex;
  gap: .5rem;
  align-items: center;
  margin: 1.1rem 0 0 1.4rem;
  color: #9ba69a;
  font-size: .65rem;
  letter-spacing: .035em;
  border-bottom: 1px solid rgba(236,240,233,.2);
  padding-bottom: .2rem;
}
.home-print-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.55rem, 1.2vw, 1rem);
  min-width: 0;
}
.home-print-card { margin: 0; min-width: 0; }
.home-print-card > a {
  display: block;
  overflow: hidden;
  background: #171c18;
  border: 1px solid rgba(237,233,223,.12);
}
.home-print-card img {
  display: block;
  width: 100%;
  aspect-ratio: .82 / 1;
  object-fit: cover;
  transition: transform .6s ease, opacity .25s ease;
}
.home-print-card > a:hover img { transform: scale(1.025); opacity: .95; }
.home-print-card figcaption { display: flex; flex-direction: column; gap: .25rem; padding-top: .65rem; }
.home-print-card figcaption strong { color: #dfe3da; font-family: var(--serif); font-weight: 400; font-size: clamp(.85rem, 1.2vw, 1.1rem); line-height: 1.2; }
.home-print-card figcaption span { color: #929e91; text-transform: uppercase; letter-spacing: .1em; font-size: .52rem; }
@media (max-width: 1000px) {
  .home-prints-lane { grid-template-columns: 1fr; gap: 2.2rem; }
  .home-prints-copy { max-width: 680px; }
  .home-print-gallery { gap: .85rem; }
  .home-print-card img { aspect-ratio: 1 / 1.08; }
}
@media (max-width: 640px) {
  .home-essay-media { aspect-ratio: 1.28 / 1; }
  .home-essay-copy { padding-top: 1rem; }
  .home-essay-copy h3 { font-size: clamp(1.75rem, 7vw, 2.25rem); }
  .home-prints-lane { display: grid; padding-top: 4.5rem; padding-bottom: 4.5rem; gap: 2rem; }
  .home-prints-copy h2 { font-size: clamp(2.8rem, 11vw, 3.6rem); }
  .home-prints-secondary-link { margin-left: .8rem; }
  .home-print-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
  .home-print-card:last-child { grid-column: 1 / -1; }
  .home-print-card img { aspect-ratio: .95 / 1; }
  .home-print-card:last-child img { aspect-ratio: 1.6 / 1; }
}


/* Homepage rhythm correction: tighter transition from essays into print enquiries. */
.home-essays-section { padding-bottom: clamp(1.5rem, 2.5vw, 2.5rem); }
.home-lane-cta { margin-top: clamp(1.75rem, 3vw, 2.5rem); }
.home-prints-lane { padding-top: clamp(1.5rem, 2.5vw, 2.5rem); }
/* Keep the landscape print photograph in a landscape crop on desktop and mobile. */
.home-print-card-landscape img { aspect-ratio: 1.45 / 1; object-fit: cover; }
@media (max-width: 640px) {
  .home-essays-section { padding-bottom: 1.75rem; }
  .home-lane-cta { margin-top: 1.75rem; }
  .home-prints-lane { padding-top: 2rem; padding-bottom: 3rem; }
  .home-print-card-landscape img { aspect-ratio: 1.35 / 1; }
}


/* Final, cache-busted homepage corrections: tighter vertical rhythm and clear hero controls. */
.home-essays-section.section-pad {
  padding-bottom: clamp(1.1rem, 1.8vw, 1.8rem);
}
.home-essays-section .home-lane-cta {
  margin-top: clamp(1.25rem, 2vw, 1.9rem);
}
.home-prints-lane.section-pad {
  padding-top: clamp(1.25rem, 2vw, 2rem);
  padding-bottom: clamp(2rem, 3vw, 3rem);
}
.home-print-card-landscape img {
  aspect-ratio: 1.55 / 1;
  object-fit: cover;
  object-position: center;
}
/* Keep the hero photograph's controls at the lower-left, away from the fixed navigation. */
.hero-photo-host > .photo-actions {
  left: var(--gutter);
  right: auto;
  bottom: 1.35rem;
  top: auto;
}
@media (max-width: 760px) {
  .home-essays-section.section-pad { padding-bottom: 1.25rem; }
  .home-essays-section .home-lane-cta { margin-top: 1.25rem; }
  .home-prints-lane.section-pad { padding-top: 1.25rem; padding-bottom: 2rem; }
  .hero-photo-host > .photo-actions {
    left: var(--gutter);
    right: auto;
    bottom: 1.05rem;
    top: auto;
  }
}


/* v6: authoritative homepage rhythm fixes; prior deployment reused an old CSS cache key. */
.home-essays-section.section-pad {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.home-essays-section .home-lane-cta {
  margin-top: .65rem !important;
  margin-bottom: 0 !important;
  padding-top: .65rem !important;
}
.home-prints-lane.section-pad {
  padding-top: .65rem !important;
  padding-bottom: 2.25rem !important;
  margin-top: 0 !important;
  align-items: start !important;
}
.home-print-card-landscape img {
  display: block;
  width: 100%;
  aspect-ratio: 1.6 / 1 !important;
  height: auto;
  object-fit: cover;
  object-position: center;
}
.hero-photo-host > .photo-actions {
  top: auto !important;
  right: auto !important;
  bottom: 1.35rem !important;
  left: var(--gutter) !important;
}
@media (max-width: 760px) {
  .home-essays-section.section-pad { padding-bottom: 0 !important; }
  .home-essays-section .home-lane-cta { margin-top: .5rem !important; padding-top: .5rem !important; }
  .home-prints-lane.section-pad { padding-top: .5rem !important; padding-bottom: 1.75rem !important; }
  .home-print-card-landscape img { aspect-ratio: 1.5 / 1 !important; }
  .hero-photo-host > .photo-actions { bottom: 1.05rem !important; left: var(--gutter) !important; }
}


/* v7: consistent navigation is authored identically on every page. */
.primary-nav a[aria-current="page"] { color: #fff; }

/* v7: fix inherited two-column grid rules which caused the print description to collapse
   into a very narrow column and overrode the three-photograph gallery layout. */
.home-prints-lane > .home-prints-copy {
  display: block !important;
  width: 100%;
  min-width: 0;
  max-width: 560px;
  grid-template-columns: none !important;
  align-self: start;
}
.home-prints-lane > .home-prints-copy > p:not(.eyebrow) {
  display: block;
  width: 100%;
  max-width: 540px;
  margin: 1rem 0 1.25rem;
  line-height: 1.75;
}
.home-prints-lane > .home-print-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start;
  width: 100%;
  min-width: 0;
  gap: clamp(.55rem, 1.2vw, 1rem);
}
@media (max-width: 1000px) {
  .home-prints-lane > .home-print-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .home-prints-lane > .home-prints-copy > h2 {
    max-width: 11ch;
  }
}


/* v8: consistent section rhythm and a stable two-column print feature.
   Keep actual whitespace in the layout; do not collapse the essay/print transition. */
.home-essays-section.section-pad {
  padding-top: clamp(4rem, 6vw, 6rem) !important;
  padding-bottom: clamp(3rem, 4.2vw, 4rem) !important;
  margin-bottom: 0 !important;
}
.home-essays-section .home-lane-cta {
  margin-top: clamp(2rem, 3.4vw, 3.25rem) !important;
  margin-bottom: 0 !important;
  padding-top: 1.2rem !important;
  padding-bottom: 0 !important;
}
.home-prints-lane.section-pad {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  align-items: start !important;
  gap: clamp(2rem, 4.5vw, 4.5rem) !important;
  margin-top: 0 !important;
  padding-top: clamp(3rem, 4.2vw, 4rem) !important;
  padding-bottom: clamp(3.5rem, 5vw, 5rem) !important;
}
.home-prints-lane > .home-prints-copy {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  align-self: start !important;
}
.home-prints-lane > .home-prints-copy > .eyebrow,
.home-prints-lane > .home-prints-copy > h2,
.home-prints-lane > .home-prints-copy > p,
.home-prints-lane > .home-prints-copy > a {
  max-width: 100%;
}
.home-prints-lane > .home-prints-copy > p:not(.eyebrow) {
  display: block !important;
  width: 100% !important;
  max-width: 34rem !important;
  margin: 1.25rem 0 1.4rem !important;
  line-height: 1.75 !important;
}
.home-prints-lane > .home-print-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: clamp(.55rem, 1.2vw, 1rem) !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.home-print-card { min-width: 0; }
.home-print-card img { display: block; width: 100%; height: auto; object-fit: cover; }
.home-print-card-landscape img { aspect-ratio: 1.6 / 1 !important; object-fit: cover; object-position: center; }
@media (max-width: 900px) {
  .home-essays-section.section-pad {
    padding-top: 3.75rem !important;
    padding-bottom: 2.75rem !important;
  }
  .home-essays-section .home-lane-cta {
    margin-top: 2rem !important;
    padding-top: 1rem !important;
  }
  .home-prints-lane.section-pad {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2rem !important;
    padding-top: 2.75rem !important;
    padding-bottom: 3rem !important;
  }
  .home-prints-lane > .home-prints-copy { max-width: 42rem !important; }
  .home-prints-lane > .home-print-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .home-essays-section.section-pad {
    padding-top: 3.2rem !important;
    padding-bottom: 2.25rem !important;
  }
  .home-essays-section .home-lane-cta {
    margin-top: 1.65rem !important;
    padding-top: .9rem !important;
    gap: .9rem !important;
  }
  .home-prints-lane.section-pad {
    gap: 1.5rem !important;
    padding-top: 2.25rem !important;
    padding-bottom: 2.75rem !important;
  }
  .home-prints-lane > .home-print-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .home-prints-lane > .home-print-gallery > .home-print-card:last-child { grid-column: 1 / -1; }
  .home-print-card-landscape img { aspect-ratio: 1.55 / 1 !important; }
}


/* v16 editorial refinements: brighter controls, photo-led essays, cleaner recognition. */
:root {
  --ink: #0c100d;
  --panel: #151b16;
  --panel-2: #1d241e;
  --muted: #b4bdb3;
  --dim: #808b81;
}
.site-header.scrolled { background: rgba(12, 16, 13, .94); }
.home-essay-media--single { display:block !important; aspect-ratio: 1.5 / 1; }
.home-essay-media--single .home-essay-thumb-wrap { display:block; width:100%; height:100%; grid-row:auto !important; }
.home-recognition-grid article { display:block; }
.home-recognition-grid article > div:last-child { max-width: 320px; }
.home-recognition-grid article p:last-child { font-size:.72rem; }
.recognition-award-row { grid-template-columns: minmax(0,1fr) 20px; }
@media (max-width:760px) { .recognition-award-row { grid-template-columns:minmax(0,1fr) 18px; } }
.enquiry-field label { color:#e0e6dc; }
.enquiry-field input, .enquiry-field select, .enquiry-field textarea {
  border-color:#647163; background:#202820; color:#f3f4ed; min-height: 3rem;
}
.enquiry-field input::placeholder, .enquiry-field textarea::placeholder { color:#abb6aa; opacity:1; }
.enquiry-field input:focus, .enquiry-field select:focus, .enquiry-field textarea:focus {
  border-color:#c1d1bc; background:#29342a; box-shadow:0 0 0 2px rgba(193,209,188,.13);
}
.enquiry-field select option { background:#202820; color:#f3f4ed; }

/* One photograph at a time, with a compact, accessible selection rail. */
.essay-viewer { padding-top:clamp(2rem,4vw,4rem); padding-bottom:clamp(3rem,6vw,6rem); }
.essay-viewer-layout { display:grid; grid-template-columns:minmax(0,1fr) 92px; gap:clamp(1rem,2vw,1.8rem); align-items:start; max-width:1500px; margin:0 auto; }
.essay-viewer-main { min-width:0; }
.essay-viewer-stage { min-width:0; outline:none; }
.essay-slide { margin:0; min-width:0; }
.essay-slide[hidden] { display:none !important; }
.essay-viewer-photo { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:min(68svh,790px); min-height:340px; overflow:hidden; background:#151b16; border:1px solid rgba(229,235,226,.09); }
.essay-viewer-photo img { display:block; width:100%; height:100%; max-height:100%; object-fit:contain; background:#151b16; }
.essay-slide-caption { margin-top:.75rem; min-height:1.6rem; color:#b6c0b5; font-family:var(--serif); font-size:clamp(1.05rem,1.55vw,1.4rem); line-height:1.25; }
.essay-viewer-controls { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1rem; border-top:1px solid var(--rule); margin-top:.9rem; }
.essay-viewer-control { appearance:none; border:1px solid #465246; color:#eff2e9; background:#171e18; padding:.58rem .75rem; font-size:.68rem; letter-spacing:.05em; cursor:pointer; }
.essay-viewer-control:hover:not(:disabled), .essay-viewer-control:focus-visible { border-color:#afc0aa; background:#202a21; }
.essay-viewer-control:disabled { opacity:.38; cursor:default; }
.essay-viewer-counter { color:#b5c0b4; font-size:.66rem; letter-spacing:.12em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.essay-viewer-rail { display:flex; flex-direction:column; gap:.6rem; max-height:min(68svh,790px); overflow-y:auto; overscroll-behavior:contain; padding:.15rem .2rem .35rem; scrollbar-width:thin; scrollbar-color:#586557 transparent; }
.essay-viewer-thumb { position:relative; flex:0 0 auto; width:100%; aspect-ratio:1.35 / 1; padding:0; border:1px solid transparent; background:#151b16; cursor:pointer; opacity:.66; overflow:hidden; transition:opacity .18s ease,border-color .18s ease; }
.essay-viewer-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.essay-viewer-thumb:hover { opacity:.9; }
.essay-viewer-thumb.is-active { opacity:1; border-color:#d7e2d0; box-shadow:0 0 0 1px rgba(215,226,208,.22); }
.essay-viewer-thumb-number { position:absolute; right:.25rem; bottom:.2rem; background:rgba(8,12,9,.8); color:#f0f2ea; padding:.05rem .2rem; font-size:.53rem; line-height:1.4; }
.essay-viewer-hint { margin:.8rem 0 0; color:#869286; font-size:.64rem; }
.story-page-hero { padding-top:82px; }
.story-page-hero .story-page-intro { padding-bottom:clamp(1.2rem,2.5vw,2.4rem); }
.photo-essays-index .essay-index-row > .essay-sequence { display:none !important; }
@media (max-width:700px) {
  .essay-viewer { padding-top:1.4rem; }
  .essay-viewer-layout { grid-template-columns:minmax(0,1fr); gap:.9rem; }
  .essay-viewer-photo { height:min(58svh,620px); min-height:260px; }
  .essay-viewer-rail { order:2; flex-direction:row; max-height:none; overflow-x:auto; overflow-y:hidden; gap:.5rem; padding:.15rem .1rem .4rem; }
  .essay-viewer-thumb { width:82px; flex:0 0 82px; aspect-ratio:1.18 / 1; }
  .essay-viewer-controls { margin-top:.7rem; padding-top:.7rem; }
  .essay-viewer-control { padding:.5rem .62rem; }
  .story-page-hero { padding-top:68px; }
  .essay-viewer-hint { margin-top:.45rem; }
}
@media (prefers-reduced-motion: reduce) {
  .essay-viewer-thumb { transition:none; }
}

/* Version 17 review pass: a more consistent type scale, larger photographs, and one deliberate image at a time. */
:root {
  --ink: #0e1210;
  --panel: #171d19;
  --panel-2: #222923;
  --paper: #f1f1e9;
  --muted: #b5beb4;
  --dim: #828c82;
  --rule: rgba(237,240,233,.19);
  --accent: #b6c5b3;
  --type-xs: .68rem;
  --type-sm: .82rem;
  --type-body: 1rem;
  --type-title: clamp(1.5rem,2.35vw,2.25rem);
  --type-section: clamp(2.5rem,4.7vw,4.5rem);
  --type-page: clamp(3.3rem,6.6vw,6.4rem);
}
body { font-size:16px; line-height:1.7; }
.eyebrow { font-size:var(--type-xs); }
.primary-nav a, .footer-links a { font-size:.7rem; }
h1 { font-size:var(--type-page); }
.section-heading h2, .home-lane-heading h2, .about-title h2 { font-size:var(--type-section); }
.essay-copy h3, .home-essay-copy h3, .selected-work-caption h3 { font-size:var(--type-title); line-height:1.08; }
.heading-side-note, .essay-copy > p:not(.eyebrow), .home-essay-copy > p:not(.eyebrow) { font-size:.92rem; line-height:1.72; }

/* The Work index is a calm two-column gallery: no twelve-column masonry and no tiny tiles. */
.selected-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; column-gap:clamp(1.5rem,3.8vw,3.8rem); row-gap:clamp(3rem,6vw,5.5rem); }
.selected-work-card, .selected-work-card:nth-child(even), .selected-work-card:nth-child(3), .selected-work-card:nth-child(4), .selected-work-card:nth-child(5), .selected-work-card:nth-child(6) { grid-column:auto !important; margin-top:0 !important; }
.selected-work-image-wrap, .selected-work-image-wrap[data-ratio="portrait"], .selected-work-image-wrap[data-ratio="wide"] { aspect-ratio:1.32 / 1; }
.selected-work-image-wrap > img { inset:0; height:100%; transform:scale(1.001); }
.selected-work-card:hover .selected-work-image-wrap > img { transform:scale(1.025); }
.selected-work-caption { grid-template-columns:1fr; grid-template-areas:"index" "title" "context"; gap:.4rem; }
.selected-work-caption .caption-place { text-align:left; max-width:none; }
.gallery-page-grid, .gallery-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-auto-flow:row; gap:clamp(1.5rem,3vw,3rem); }
.gallery-photo-wide { grid-column:auto; }
.gallery-photo img, .gallery-photo-wide img, .gallery-photo-tall img { aspect-ratio:1.25 / 1; }
.gallery-index-card { padding-top:1rem; }
.gallery-index-image { aspect-ratio:1.3 / 1; }

/* Featured stories: one large lead frame and three honest previews, not overlapping collage cards. */
.home-essay-media { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto auto; gap:.6rem; aspect-ratio:auto; margin:0; perspective:none; overflow:visible; }
.home-essay-thumb-wrap, .home-essay-thumb-wrap:first-child, .home-essay-thumb-wrap:nth-child(2), .home-essay-thumb-wrap:nth-child(3), .home-essay-thumb-wrap.home-essay-mini {
  position:relative; inset:auto; width:auto; height:auto; min-width:0; min-height:0; border:0; box-shadow:none; transform:none; overflow:hidden; background:#171d19;
}
.home-essay-thumb-wrap:first-child { grid-column:1 / -1; aspect-ratio:1.48 / 1; }
.home-essay-thumb-wrap:first-child .home-essay-thumb img { filter:none; transform:none; }
.home-essay-thumb-wrap:first-child::after { background:linear-gradient(0deg,rgba(4,8,6,.12),transparent 45%); }
.home-essay-thumb-wrap.home-essay-mini { aspect-ratio:1.4 / 1; opacity:.83; }
.home-essay-thumb-wrap.home-essay-mini:hover { opacity:1; }
.home-essay-thumb-wrap.home-essay-mini .home-essay-thumb img { transform:none; }
.home-essay-thumb-wrap.home-essay-mini .photo-actions { display:none; }
.home-essay-copy { padding-top:1.25rem; }
.home-essay-copy h3 { max-width:600px; }

/* Essay index: each story has a lead photo and a consistent strip of three supporting frames. */
.essay-index-media { min-width:0; position:relative; display:flex; flex-direction:column; gap:.55rem; }
.photo-essays-index .essay-index-row > .essay-index-media { grid-column:1; grid-row:1 / span 2; }
.photo-essays-index .essay-index-row > .essay-copy { grid-column:2; grid-row:1 / span 2; align-self:center; }
.photo-essays-index .essay-image { display:block; width:100%; aspect-ratio:1.38 / 1; overflow:hidden; }
.photo-essays-index .essay-image img { width:100%; height:100%; object-fit:cover; }
.photo-essays-index .essay-preview-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; }
.essay-preview-thumb { appearance:none; display:block; min-width:0; padding:0; border:1px solid rgba(237,240,233,.08); background:#202722; aspect-ratio:1.35 / 1; overflow:hidden; cursor:zoom-in; }
.essay-preview-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:opacity .2s ease; }
.essay-preview-thumb:hover img { opacity:.78; }
.photo-essays-index .photo-actions-essay-lead { top:.65rem; left:.65rem; right:auto; bottom:auto; }
.photo-essays-index .essay-copy h3 { font-size:clamp(1.9rem,3.1vw,3.1rem); line-height:1.04; }
.photo-essays-index .essay-copy > p:not(.eyebrow) { max-width:34rem; font-size:.93rem; }
.photo-essays-index .essay { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.photo-essays-index .essay-index-row { margin-bottom:clamp(4.5rem,8vw,7.5rem); }

/* Captions keep the evocative title and the real location distinct and consistent. */
.essay-slide-caption { display:flex; flex-direction:column; align-items:flex-start; gap:.25rem; min-height:2.5rem; }
.essay-slide-caption .caption-title { font-family:var(--serif); font-size:clamp(1.15rem,1.65vw,1.45rem); line-height:1.2; }
.essay-slide-caption .caption-place { font-family:var(--sans); color:#9eaa9e; font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; }
.caption-title { letter-spacing:-.015em; }

/* The full-screen viewer works across the portfolio, with an inset photograph and dark-grey surround. */
.photo-lightbox { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:clamp(.7rem,2.4vw,2rem); background:rgba(31,36,32,.975); backdrop-filter:blur(16px); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease; }
.photo-lightbox.is-open { opacity:1; visibility:visible; }
.photo-lightbox-dialog { position:relative; width:min(100%,1500px); height:min(100%,1000px); display:grid; grid-template-rows:minmax(0,1fr) auto; align-items:center; gap:.8rem; outline:none; }
.photo-lightbox-image-wrap { position:relative; display:grid; grid-template-columns:52px minmax(0,1fr) 52px; align-items:center; min-height:0; height:100%; }
.photo-lightbox-image { display:block; width:100%; height:100%; max-height:calc(100svh - 145px); object-fit:contain; background:transparent; cursor:zoom-out; }
.photo-lightbox-close, .photo-lightbox-step { appearance:none; display:grid; place-items:center; width:44px; height:44px; color:#f2f1e9; border:1px solid rgba(241,241,233,.25); border-radius:50%; background:rgba(8,12,9,.32); cursor:pointer; font:inherit; font-size:1.35rem; }
.photo-lightbox-close { position:absolute; z-index:3; top:.1rem; right:.1rem; }
.photo-lightbox-step:disabled { opacity:.22; cursor:default; }
.photo-lightbox-close:hover, .photo-lightbox-step:hover:not(:disabled), .photo-lightbox-close:focus-visible, .photo-lightbox-step:focus-visible { background:rgba(245,245,237,.12); border-color:rgba(241,241,233,.7); }
.photo-lightbox-meta { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; padding:.75rem .25rem 0; border-top:1px solid rgba(241,241,233,.16); }
.photo-lightbox-caption { min-width:0; }
.photo-lightbox-caption strong { display:block; color:#f1f1e9; font-family:var(--serif); font-weight:400; font-size:clamp(1.1rem,2vw,1.55rem); line-height:1.18; }
.photo-lightbox-caption small { display:block; margin-top:.25rem; color:#bbc4b9; font-size:.72rem; }
.photo-lightbox-add { flex:0 0 auto; appearance:none; border:1px solid #829380; color:#f1f1e9; background:#29332b; padding:.7rem .95rem; font:inherit; font-size:.75rem; cursor:pointer; }
.photo-lightbox-add.is-selected { color:#101510; background:#c7d4c3; border-color:#c7d4c3; }
.photo-lightbox-add:hover { border-color:#e2eadc; }
.photo-basket { position:fixed; z-index:450; left:clamp(.8rem,2vw,1.5rem); bottom:1.25rem; display:none; align-items:center; gap:.7rem; padding:.8rem 1rem; border:1px solid rgba(226,235,221,.42); background:rgba(31,40,32,.97); color:#f3f3ec; box-shadow:0 10px 34px rgba(0,0,0,.24); font-size:.74rem; letter-spacing:.03em; }
.photo-basket.is-visible { display:flex; }
.photo-basket strong { display:inline-grid; min-width:1.4rem; height:1.4rem; place-items:center; border-radius:50%; color:#101510; background:#c7d4c3; font-size:.7rem; }
.photo-basket:hover { background:#3a463b; }
.lightbox-open-image { cursor:zoom-in !important; }

/* Print enquiry is a basket: selecting a second photograph does not discard the first. */
.photo-action.photo-buy[aria-pressed="true"] { color:#101510; background:#c7d4c3; border-color:#c7d4c3; }

/* Recognition marks use legible, recognizable brand cues instead of generic/favicon placeholders. */
.home-recognition-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem); }
.home-recognition-grid article { display:grid; grid-template-columns:70px minmax(0,1fr); align-items:start; gap:.9rem; }
.recognition-mark { width:64px; min-height:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.1rem; color:#edece4; }
.recognition-mark small { font:500 .43rem/1.25 var(--sans); letter-spacing:.09em; text-align:center; }
.recognition-mark-ipa { height:46px; border:1px solid rgba(237,233,223,.55); outline:1px solid rgba(237,233,223,.18); outline-offset:3px; }
.recognition-mark-ipa b { font:600 1.25rem/1 var(--sans); letter-spacing:.09em; }
.recognition-mark-ipa small { color:#d5a5a1; }
.recognition-mark-hsbc { gap:.12rem; }
.recognition-mark-hsbc svg { width:36px; height:28px; }
.recognition-mark-hsbc b { color:#f4f2e9; font:600 .72rem/1 var(--sans); letter-spacing:.07em; }
.recognition-mark-natgeo { flex-direction:row; gap:.38rem; justify-content:flex-start; align-items:center; }
.natgeo-frame { width:17px; height:29px; flex:0 0 17px; border:3px solid #ffcc00; }
.recognition-mark-natgeo small { color:#f3f0e7; font-size:.42rem; text-align:left; letter-spacing:.03em; }
.recognition-mark-smithsonian { border-top:1px solid rgba(237,233,223,.68); border-bottom:1px solid rgba(237,233,223,.68); padding:.35rem .1rem; }
.recognition-mark-smithsonian b { font:500 .49rem/1.2 var(--sans); letter-spacing:.05em; }
.recognition-mark-smithsonian small { font-size:.43rem; letter-spacing:.16em; }
.home-recognition-grid article > div:last-child { max-width:none; }
.home-recognition-grid h3 { font-size:clamp(1.15rem,1.6vw,1.45rem); }
.home-recognition-grid article p:last-child { font-size:.78rem; }

/* About portrait fills its editorial column and aligns with the copy. */
.about-page-portrait { margin-top:0; align-self:stretch; display:flex; flex-direction:column; min-height:650px; }
.about-page-portrait img { flex:1 1 auto; height:100%; min-height:650px; max-height:none; object-fit:cover; object-position:center 28%; }
.about-page-portrait figcaption { flex:0 0 auto; }

/* A shorter Prints page and higher-contrast form controls. */
.prints-page-hero { padding-top:clamp(7.5rem,11vw,9rem); padding-bottom:clamp(3rem,5vw,4.5rem); }
.prints-page-hero h1 { max-width:900px; font-size:var(--type-page); line-height:.98; margin:1rem 0; }
.prints-page-hero > p:not(.eyebrow) { max-width:660px; font-size:1rem; margin-bottom:1.5rem; }
.prints-page-hero > .contact-button { margin-top:.2rem; }
.print-process { padding-top:clamp(3rem,5vw,5rem); padding-bottom:clamp(4rem,7vw,7rem); }
.print-process-heading { margin-bottom:2rem; }
.print-process-heading h2 { font-size:var(--type-section); margin:0; }
.print-process-grid { gap:clamp(1rem,2.4vw,2rem); }
.print-process-grid article { border-top:1px solid var(--rule); padding-top:1rem; }
.print-process-grid article > span { color:#b5c5b2; font-size:.68rem; letter-spacing:.1em; }
.print-process-grid article h3 { font-size:clamp(1.35rem,2vw,1.75rem); margin:.8rem 0 .5rem; }
.print-process-grid article p { color:#b4bdb3; font-size:.9rem; line-height:1.7; }
.enquiry-field label { color:#f0f3eb; font-size:.84rem; }
.enquiry-field input, .enquiry-field select, .enquiry-field textarea { border-color:#829080; background:#29332c; color:#fbfcf8; min-height:3.1rem; font-size:.95rem; }
.enquiry-field input::placeholder, .enquiry-field textarea::placeholder { color:#c4cec2; }
.enquiry-field input:focus, .enquiry-field select:focus, .enquiry-field textarea:focus { border-color:#d7e4d2; background:#313e33; box-shadow:0 0 0 2px rgba(215,228,210,.18); }
.contact-social-note { margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--rule); color:#a8b3a7; font-size:.8rem; line-height:1.6; }

@media (max-width:1000px) {
  .selected-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .home-recognition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-page-portrait, .about-page-portrait img { min-height:580px; }
}
@media (max-width:760px) {
  .photo-essays-index .essay { grid-template-columns:minmax(0,1fr); gap:1.3rem; }
  .photo-essays-index .essay-index-row > .essay-index-media, .photo-essays-index .essay-index-row > .essay-copy { grid-column:1; grid-row:auto; }
  .photo-essays-index .essay-copy { max-width:none; }
  .photo-lightbox { padding:.5rem; }
  .photo-lightbox-dialog { gap:.5rem; }
  .photo-lightbox-image-wrap { grid-template-columns:38px minmax(0,1fr) 38px; }
  .photo-lightbox-image { max-height:calc(100svh - 170px); }
  .photo-lightbox-step, .photo-lightbox-close { width:34px; height:34px; font-size:1.1rem; }
  .photo-lightbox-meta { align-items:flex-start; flex-direction:column; gap:.7rem; padding-top:.65rem; }
  .photo-lightbox-add { width:100%; }
  .photo-basket { left:.6rem; bottom:.6rem; padding:.7rem .8rem; }
  .about-page-portrait, .about-page-portrait img { min-height:480px; }
}
@media (max-width:640px) {
  .selected-work-grid, .gallery-page-grid, .gallery-index-grid { grid-template-columns:minmax(0,1fr) !important; }
  .home-essay-media { gap:.42rem; }
  .home-essay-thumb-wrap:first-child { aspect-ratio:1.16 / 1; }
  .home-essay-thumb-wrap.home-essay-mini { aspect-ratio:1.2 / 1; }
  .home-recognition-grid { grid-template-columns:1fr; }
  .home-recognition-grid article { grid-template-columns:64px minmax(0,1fr); }
  .about-page-portrait, .about-page-portrait img { min-height:400px; }
}
body.lightbox-open { overflow:hidden; }
.image-unavailable { opacity:0 !important; }
.image-asset-unavailable { position:relative; background:#1b221d !important; }
.image-asset-unavailable::after { content:"Photograph temporarily unavailable"; position:absolute; inset:0; display:grid; place-items:center; padding:1rem; color:#aab5a8; background:#1b221d; font: .75rem/1.5 var(--sans); text-align:center; }


/* V18 review fixes: fewer competing images, dependable full-screen viewing, and brand marks. */
.portfolio-review-v50 .home-essay-media.home-essay-media--single {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto auto;
  gap:.5rem; aspect-ratio:auto !important; margin:0; perspective:none; overflow:visible;
}
.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap:first-child {
  grid-column:1 / -1; grid-row:1; display:block; position:relative; width:100%; height:auto; aspect-ratio:1.55 / 1; min-height:0;
}
.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap.home-essay-mini {
  grid-row:2; display:block; position:relative; width:100%; height:auto; aspect-ratio:1.35 / 1; opacity:.9;
}
.portfolio-review-v50 .home-essay-media.home-essay-media--single .home-essay-thumb { display:block; width:100%; height:100%; min-height:0; }
.portfolio-review-v50 .home-essay-media.home-essay-media--single .home-essay-thumb img { display:block; width:100%; height:100%; object-fit:cover; transform:none; }
.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap.home-essay-mini .photo-actions { display:none; }

/* Full-screen image viewer keeps the photograph, filmstrip and controls in separate grid rows. */
.portfolio-review-v50 .photo-lightbox { padding:clamp(.55rem,1.6vw,1.4rem); background:rgba(31,36,32,.985); }
.portfolio-review-v50 .photo-lightbox-dialog {
  width:min(100%,1500px); height:calc(100svh - 2rem); max-height:1000px;
  grid-template-rows:minmax(0,1fr) auto auto; gap:.65rem; align-items:stretch;
}
.portfolio-review-v50 .photo-lightbox-image-wrap {
  height:100%; min-height:0; max-height:none; grid-template-columns:48px minmax(0,1fr) 48px;
}
.portfolio-review-v50 .photo-lightbox-image { width:100%; height:100%; max-height:none; min-height:0; object-fit:contain; opacity:1; transition:opacity .12s ease; }
.portfolio-review-v50 .photo-lightbox-image.is-loading { opacity:.72; }
.portfolio-review-v50 .photo-lightbox-filmstrip {
  display:flex; gap:.45rem; width:100%; min-width:0; overflow-x:auto; overflow-y:hidden; padding:.45rem .2rem .55rem;
  border-top:1px solid rgba(241,241,233,.12); border-bottom:1px solid rgba(241,241,233,.12);
  scrollbar-width:thin; scrollbar-color:#647063 transparent; overscroll-behavior-x:contain;
}
.portfolio-review-v50 .photo-lightbox-thumb {
  flex:0 0 clamp(72px,7.3vw,112px); width:clamp(72px,7.3vw,112px); aspect-ratio:1.38 / 1; padding:0;
  border:1px solid rgba(242,243,235,.16); background:#171c18; opacity:.62; cursor:pointer; overflow:hidden;
}
.portfolio-review-v50 .photo-lightbox-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.portfolio-review-v50 .photo-lightbox-thumb.is-active { border:2px solid #dbe4d6; opacity:1; }
.portfolio-review-v50 .photo-lightbox-thumb:focus-visible { outline:2px solid #dbe4d6; outline-offset:2px; }
.portfolio-review-v50 .photo-lightbox-meta { min-height:4rem; gap:1rem; padding:.65rem .25rem 0; border-top:0; }
.portfolio-review-v50 .photo-lightbox-caption { flex:1; }
.portfolio-review-v50 .photo-lightbox-caption strong { font-size:clamp(1rem,1.75vw,1.4rem); }
.portfolio-review-v50 .photo-lightbox-caption small { font-size:.68rem; }
.portfolio-review-v50 .photo-lightbox-add { white-space:nowrap; }

/* Story index uses alternating image/text sides on desktop, with the preview frames grouped under the lead. */
.portfolio-review-v50.photo-essays-index .essay-index-row:nth-of-type(even) > .essay-index-media { grid-column:2; grid-row:1 / span 2; }
.portfolio-review-v50.photo-essays-index .essay-index-row:nth-of-type(even) > .essay-copy { grid-column:1; grid-row:1 / span 2; }
.portfolio-review-v50 .photo-essays-index .essay-preview-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.portfolio-review-v50 .photo-essays-index .essay-preview-thumb { aspect-ratio:1.4 / 1; }

/* Reduce the number of simultaneous photos on category/work grids. */
.portfolio-review-v50 .gallery-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.2rem,2.6vw,2.6rem); }
.portfolio-review-v50 .gallery-photo img,
.portfolio-review-v50 .gallery-photo-frame img { max-width:100%; }

/* Official organization marks are given clear space and contrast on the dark palette. */
.portfolio-review-v50 .recognition-brand-logo { display:block; width:100%; height:auto; max-height:42px; object-fit:contain; }
.portfolio-review-v50 .recognition-mark-hsbc { flex:0 0 76px; width:76px; min-width:76px; height:34px; min-height:34px; padding:.3rem; background:#f5f4ed; border:1px solid #f5f4ed; display:flex; align-items:center; justify-content:center; }
.portfolio-review-v50 .recognition-mark-natgeo { flex:0 0 88px; width:88px; min-width:88px; min-height:34px; height:34px; padding:.25rem; background:#f5f4ed; border:1px solid #f5f4ed; display:flex; align-items:center; justify-content:center; }
.portfolio-review-v50 .recognition-brand-logo-natgeo { max-height:30px; }
.portfolio-review-v50 .recognition-award-row { grid-template-columns:42px minmax(0,1fr) 20px; gap:.75rem; }
.portfolio-review-v50 .recognition-award-icon-link { display:flex; align-items:center; justify-content:center; width:42px; height:42px; min-width:42px; padding:3px; background:#f3f2eb; border:1px solid rgba(255,255,255,.12); border-radius:2px; text-decoration:none; overflow:hidden; }
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc { background:#f5f4ed; }
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo { background:#f5f4ed; padding:5px; }
.portfolio-review-v50 .recognition-award-icon { display:block; width:100%; height:100%; object-fit:contain; }
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo .recognition-award-logo-wide { max-width:36px; max-height:14px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc .recognition-award-logo-wide { max-width:36px; max-height:17px; }
.portfolio-review-v50 .recognition-award-monogram { color:#20261f; background:#e9ece4; }
.portfolio-review-v50 .recognition-award-icon-badge { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#273127; font:600 .52rem/1.15 var(--sans); letter-spacing:.02em; text-align:center; overflow-wrap:anywhere; }
.portfolio-review-v50 .recognition-award-icon-link.mark-ipa { outline:1px solid #c2c8bc; outline-offset:-4px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-bifa { background:#e7e9e4; }

/* The About portrait gets more width without crowding the text column. */
.portfolio-review-v50 .about-page-grid { grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr); gap:0 clamp(2.5rem,5.5vw,5.5rem); }
.portfolio-review-v50 .about-page-portrait { max-width:500px; width:100%; justify-self:stretch; margin-top:0; }
.portfolio-review-v50 .about-page-portrait img { width:100%; max-width:none; object-position:center 28%; }

/* The print-selection CTA appears at the end of the print process once images are selected. */
.portfolio-review-v50 .print-process-cta-row { display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; margin-top:2rem; padding-top:1.4rem; border-top:1px solid var(--rule); }
.portfolio-review-v50 .print-process-review-link[hidden] { display:none !important; }
.portfolio-review-v50 .print-process-review-link { margin:0; display:inline-flex; gap:.35rem; align-items:center; }
.portfolio-review-v50 .print-process-review-link strong { display:inline-grid; place-items:center; min-width:1.45rem; height:1.45rem; padding:0 .25rem; border-radius:50%; color:#101510; background:#c7d4c3; font-size:.72rem; }
.portfolio-review-v50 .print-process-selection-note { margin:0; color:#9da89c; max-width:520px; font-size:.76rem; line-height:1.6; }

@media (max-width:900px) {
  .portfolio-review-v50 .about-page-grid { grid-template-columns:minmax(230px,.84fr) minmax(0,1.16fr); gap:0 2rem; }
  .portfolio-review-v50 .recognition-mark-hsbc { flex-basis:70px; width:70px; min-width:70px; }
}
@media (max-width:760px) {
  .portfolio-review-v50 .photo-lightbox-dialog { height:calc(100svh - 1rem); gap:.45rem; }
  .portfolio-review-v50 .photo-lightbox-image-wrap { grid-template-columns:34px minmax(0,1fr) 34px; }
  .portfolio-review-v50 .photo-lightbox-filmstrip { gap:.35rem; padding:.3rem .1rem .4rem; }
  .portfolio-review-v50 .photo-lightbox-thumb { flex-basis:68px; width:68px; }
  .portfolio-review-v50 .photo-lightbox-meta { align-items:flex-start; flex-direction:column; gap:.55rem; min-height:0; padding-top:.4rem; }
  .portfolio-review-v50 .photo-lightbox-add { width:100%; }
  .portfolio-review-v50 .recognition-award-row { grid-template-columns:36px minmax(0,1fr) 18px; gap:.55rem; }
  .portfolio-review-v50 .recognition-award-icon-link { width:36px; height:36px; min-width:36px; }
  .portfolio-review-v50 .about-page-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"intro" "portrait" "body"; gap:1.5rem; }
  .portfolio-review-v50 .about-page-portrait { max-width:500px; width:100%; margin:0; }
}
@media (max-width:640px) {
  .portfolio-review-v50 .home-essay-media.home-essay-media--single { gap:.35rem; }
  .portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap:first-child { aspect-ratio:1.22 / 1; }
  .portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap.home-essay-mini { aspect-ratio:1.25 / 1; }
  .portfolio-review-v50 .photo-essays-index .essay-index-row:nth-of-type(even) > .essay-index-media,
  .portfolio-review-v50.photo-essays-index .essay-index-row:nth-of-type(even) > .essay-index-media { grid-column:1; grid-row:1; }
  .portfolio-review-v50 .photo-essays-index .essay-index-row:nth-of-type(even) > .essay-copy,
  .portfolio-review-v50.photo-essays-index .essay-index-row:nth-of-type(even) > .essay-copy { grid-column:1; grid-row:2; }
  .portfolio-review-v50 .gallery-page-grid { grid-template-columns:1fr; }
  .portfolio-review-v50 .print-process-cta-row { align-items:flex-start; flex-direction:column; gap:.75rem; }
}

/* Correct grid row placement over legacy `!important` story-layer rules. */
.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap:first-child { grid-row:1 !important; grid-column:1 / -1 !important; }
.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap.home-essay-mini { grid-row:2 !important; grid-column:auto !important; }
@media (min-width:761px) {
  .portfolio-review-v50 .photo-lightbox-dialog { height:calc(100svh - 4rem); }
}


/* Version 19 — paced horizontal work story, clear icons and consistent print cards. */
.portfolio-review-v50 .featured-work-scroll { position:relative; height:auto; }
.portfolio-review-v50 .featured-work-sticky {
  position:sticky; top:68px; height:calc(100svh - 5.8rem); min-height:530px; max-height:900px;
  display:flex; align-items:center; overflow:hidden; width:calc(100% + 2 * var(--gutter));
  margin-left:calc(-1 * var(--gutter)); padding:0 var(--gutter);
}
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
  display:flex !important; flex-wrap:nowrap; align-items:center; gap:clamp(1.1rem,2.25vw,2.4rem);
  width:max-content; min-width:max-content; transform:translate3d(var(--horizontal-work-shift,0px),0,0);
  will-change:transform; padding:1.5rem 0 2rem; grid-template-columns:none !important;
}
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
  flex:0 0 clamp(420px,58vw,760px); width:clamp(420px,58vw,760px); grid-column:auto !important; margin:0 !important;
}
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap { height:clamp(260px,52svh,570px); aspect-ratio:auto; overflow:hidden; }
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img { width:100%; height:100%; object-fit:cover; cursor:zoom-in; }
.portfolio-review-v50 .featured-work-scroll-indicator {
  position:absolute; left:var(--gutter); right:var(--gutter); bottom:.7rem; display:grid;
  grid-template-columns:auto 1fr; align-items:center; gap:.5rem 1rem; pointer-events:none;
}
.portfolio-review-v50 .featured-work-counter { color:#c8d0c5; font-size:.58rem; letter-spacing:.13em; font-variant-numeric:tabular-nums; }
.portfolio-review-v50 .featured-work-scroll-hint { justify-self:end; color:#8f9c90; font-size:.52rem; letter-spacing:.15em; }
.portfolio-review-v50 .featured-work-progress { grid-column:1/-1; display:block; width:100%; height:1px; background:rgba(202,213,199,.22); overflow:hidden; }
.portfolio-review-v50 .featured-work-progress > span { display:block; width:100%; height:100%; background:#d1d8ca; transform:scaleX(0); transform-origin:left center; }

/* The homepage print selection shows three images on a shared baseline and height. */
.portfolio-review-v50 .home-print-card img,
.portfolio-review-v50 .home-print-card-landscape img,
.portfolio-review-v50 .home-print-card:not(.home-print-card-landscape) img {
  display:block; width:100% !important; height:clamp(175px,19vw,265px) !important;
  aspect-ratio:auto !important; object-fit:cover; object-position:center;
}
@media(max-width:900px) {
  .portfolio-review-v50 .home-print-card img,
  .portfolio-review-v50 .home-print-card-landscape img,
  .portfolio-review-v50 .home-print-card:not(.home-print-card-landscape) img { height:clamp(155px,26vw,225px) !important; }
}
@media(max-width:640px) {
  .portfolio-review-v50 .home-print-card img,
  .portfolio-review-v50 .home-print-card-landscape img,
  .portfolio-review-v50 .home-print-card:not(.home-print-card-landscape) img { height:clamp(125px,37vw,190px) !important; }
}

/* Compact, consistently aligned organiser marks: never allow the logo to overlap award copy. */
.portfolio-review-v50 .home-recognition-grid article { display:grid; grid-template-columns:60px minmax(0,1fr); align-items:start; gap:.7rem; min-width:0; }
.portfolio-review-v50 .home-recognition-grid article > span.recognition-mark { box-sizing:border-box; flex:none; width:54px; min-width:54px; max-width:54px; height:36px; min-height:36px; max-height:36px; padding:.18rem; overflow:hidden; }
.portfolio-review-v50 .recognition-mark-hsbc { flex:none !important; width:54px !important; min-width:54px !important; max-width:54px !important; height:36px !important; min-height:36px !important; max-height:36px !important; padding:.25rem !important; }
.portfolio-review-v50 .recognition-mark-natgeo { flex:none !important; width:54px !important; min-width:54px !important; max-width:54px !important; height:36px !important; min-height:36px !important; max-height:36px !important; padding:.22rem !important; }
.portfolio-review-v50 .recognition-brand-logo { width:100%; max-width:100%; max-height:100%; object-fit:contain; }
.portfolio-review-v50 .recognition-brand-logo-hsbc { max-height:22px; }
.portfolio-review-v50 .recognition-brand-logo-natgeo { max-height:29px; }
.portfolio-review-v50 .home-recognition-grid article > div:last-child { min-width:0; max-width:none; }
.portfolio-review-v50 .home-recognition-grid h3 { overflow-wrap:normal; }

/* The modal reads as image -> caption and print action -> generous gap -> selectable thumbnails. */
.portfolio-review-v50 .photo-lightbox-dialog { grid-template-rows:minmax(0,1fr) auto auto; gap:.8rem; }
.portfolio-review-v50 .photo-lightbox-meta { order:2; margin-top:.1rem; padding:.1rem .25rem .45rem; min-height:3.7rem; }
.portfolio-review-v50 .photo-lightbox-filmstrip { order:3; margin-top:.35rem; padding:.65rem .2rem .7rem; }
.portfolio-review-v50 .photo-lightbox-image-wrap { position:relative; }
.portfolio-review-v50 .photo-lightbox-zoom {
  position:absolute; right:60px; top:12px; z-index:5; width:36px; height:36px; border:1px solid rgba(240,244,235,.45);
  border-radius:50%; color:#f5f5ed; background:rgba(12,16,13,.72); font-size:1.15rem; line-height:1; cursor:pointer;
}
.portfolio-review-v50 .photo-lightbox-zoom:hover { background:rgba(45,54,46,.92); border-color:#d5dfd0; }
.portfolio-review-v50 .photo-lightbox-image { cursor:zoom-in; transform:scale(1); transform-origin:center center; transition:transform .16s ease,opacity .12s ease; }
.portfolio-review-v50 .photo-lightbox-image.is-zoomed { transform:scale(1.55); cursor:zoom-out; }
.portfolio-review-v50 .photo-lightbox-image-wrap.is-zoomed { overflow:hidden; cursor:zoom-out; }
.portfolio-review-v50 img { -webkit-user-drag:none; user-select:none; }
.portfolio-review-v50 .gallery-index-card, .portfolio-review-v50 .gallery-index-card img { cursor:pointer; }

/* The category cover matches the first image visitors see after opening that category. */
.portfolio-review-v50 .gallery-page-grid { grid-auto-flow:row; }
.portfolio-review-v50 .gallery-photo img, .portfolio-review-v50 .gallery-photo-frame img { cursor:zoom-in; }

/* About page uses more of the available left column while keeping clear space before the copy. */
.portfolio-review-v50 .about-page-grid { grid-template-columns:minmax(340px,.96fr) minmax(0,1.04fr); gap:0 clamp(2.8rem,5vw,5rem); }
.portfolio-review-v50 .about-page-portrait { max-width:580px; width:100%; }
.portfolio-review-v50 .about-page-portrait img { width:100%; max-width:none; max-height:82vh; object-fit:cover; object-position:center 28%; }

/* The footer complements (rather than duplicates) the top navigation. */
.portfolio-review-v50 .site-footer { grid-template-columns:1fr .8fr auto auto; align-items:center; gap:clamp(.8rem,2vw,2rem); padding-top:1.7rem; padding-bottom:1.7rem; }
.portfolio-review-v50 .footer-tagline { justify-self:start; }
.portfolio-review-v50 .footer-connect { display:flex; align-items:center; justify-content:flex-end; gap:.6rem; }
.portfolio-review-v50 .footer-icon-link { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:38px; padding:.45rem .65rem; border:1px solid #39443a; color:#cbd4c7; text-decoration:none; font-size:.62rem; letter-spacing:.03em; }
.portfolio-review-v50 .footer-icon-link:hover { border-color:#a5b4a1; color:#fff; }
.portfolio-review-v50 .footer-icon-link svg { width:16px; height:16px; flex:none; }
.portfolio-review-v50 .copyright { white-space:nowrap; }
@media(max-width:900px) {
  .portfolio-review-v50 .featured-work-sticky { min-height:480px; height:calc(100svh - 5.5rem); }
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) { flex-basis:68vw; width:68vw; }
  .portfolio-review-v50 .home-recognition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-review-v50 .about-page-grid { grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:0 2rem; }
  .portfolio-review-v50 .site-footer { grid-template-columns:1fr 1fr; align-items:center; }
  .portfolio-review-v50 .footer-connect { justify-content:flex-start; }
  .portfolio-review-v50 .copyright { justify-self:end; }
}
@media(max-width:760px), (prefers-reduced-motion:reduce) {
  .portfolio-review-v50 .featured-work-scroll { height:auto !important; }
  .portfolio-review-v50 .featured-work-sticky { position:relative; top:auto; height:auto; min-height:0; max-height:none; overflow:visible; width:auto; margin:0; padding:0; display:block; }
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; min-width:0; width:auto; gap:2rem 1rem; padding:0; transform:none !important; }
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) { grid-column:auto !important; width:auto; flex:auto; }
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap { height:auto; aspect-ratio:1.15 / 1; }
  .portfolio-review-v50 .featured-work-scroll-indicator { display:none; }
}
@media(max-width:640px) {
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] { grid-template-columns:1fr !important; }
  .portfolio-review-v50 .footer-tagline { display:none; }
  .portfolio-review-v50 .site-footer { grid-template-columns:1fr; align-items:start; }
  .portfolio-review-v50 .footer-connect { justify-content:flex-start; }
  .portfolio-review-v50 .copyright { justify-self:start; }
  .portfolio-review-v50 .photo-lightbox-zoom { right:42px; width:32px; height:32px; }
  .portfolio-review-v50 .photo-lightbox-meta { order:2; }
  .portfolio-review-v50 .photo-lightbox-filmstrip { order:3; }
}


/* VERSION 20 REVIEW — deliberate image emphasis, framed print previews, real organiser assets and compact social footer. */
.portfolio-review-v50 .featured-work-sticky { overflow:hidden; }
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
  padding-left:calc((100vw - min(76vw, 1100px))/2) !important;
  padding-right:calc((100vw - min(76vw, 1100px))/2) !important;
  gap:clamp(1.2rem,2vw,2rem) !important;
}
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
  flex:0 0 clamp(700px,76vw,1100px) !important; width:clamp(700px,76vw,1100px) !important;
  opacity:.58; filter:grayscale(.78) brightness(.62); transform:scale(.9); transform-origin:center center;
  transition:opacity .32s ease,filter .32s ease,transform .42s cubic-bezier(.2,.7,.2,1);
}
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card.is-active {
  opacity:1; filter:none; transform:scale(1.015); z-index:2;
}
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap { height:clamp(390px,62svh,690px) !important; }
.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img { cursor:zoom-in; }
@media(max-width:760px), (prefers-reduced-motion:reduce) {
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] { padding:0 !important; }
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  .portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) { opacity:1; filter:none; transform:none; }
}

/* Six print previews are presented as small framed editions, not a second generic photo grid. */
.portfolio-review-v50 .home-prints-lane { align-items:center; }
.portfolio-review-v50 .home-prints-copy { align-self:center; }
.portfolio-review-v50 .home-print-gallery-framed-v20 {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch; gap:clamp(.6rem,1.3vw,1.2rem) !important; align-self:center; width:100%;
}
.portfolio-review-v50 .home-print-card-framed {
  min-width:0; margin:0; padding:clamp(.38rem,.7vw,.62rem); background:#e6e3d9;
  color:#20231f; border:1px solid rgba(255,255,255,.52); box-shadow:0 7px 22px rgba(0,0,0,.14);
  display:flex; flex-direction:column; gap:.45rem; height:100%;
}
.portfolio-review-v50 .home-print-card-framed > a { display:block; aspect-ratio:3 / 4; overflow:hidden; background:#d4d1c7; }
.portfolio-review-v50 .home-print-card-framed img,
.portfolio-review-v50 .home-print-card-framed.home-print-card-landscape img,
.portfolio-review-v50 .home-print-card-framed.home-print-card:not(.home-print-card-landscape) img {
  width:100% !important; height:100% !important; aspect-ratio:auto !important; object-fit:cover; object-position:center;
  transition:transform .45s ease; cursor:zoom-in;
}
.portfolio-review-v50 .home-print-card-framed:hover img { transform:scale(1.025); }
.portfolio-review-v50 .home-print-card-framed figcaption { display:flex; flex-direction:column; gap:.1rem; padding:.1rem .08rem .12rem; min-width:0; }
.portfolio-review-v50 .home-print-card-framed figcaption strong { color:#252922; font-family:var(--serif); font-size:clamp(.92rem,1.1vw,1.16rem); font-weight:400; line-height:1.1; }
.portfolio-review-v50 .home-print-card-framed figcaption span { color:#62695e; font-size:.53rem; letter-spacing:.08em; text-transform:uppercase; }
@media(max-width:1100px) {
  .portfolio-review-v50 .home-prints-lane { grid-template-columns:minmax(0,1fr) !important; gap:1.3rem !important; }
  .portfolio-review-v50 .home-print-gallery-framed-v20 { max-width:850px; }
}
@media(max-width:640px) {
  .portfolio-review-v50 .home-print-gallery-framed-v20 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:.7rem !important; }
  .portfolio-review-v50 .home-print-card-framed { padding:.4rem; }
  .portfolio-review-v50 .home-print-card-framed > a { aspect-ratio:3 / 4; }
  .portfolio-review-v50 .home-print-card-framed figcaption strong { font-size:1rem; }
}

/* Full-screen essay viewing keeps captions beneath the photograph and thumbnails on the right. */
.portfolio-review-v50 .photo-lightbox-zoom { display:none !important; }
.portfolio-review-v50 .photo-lightbox-image { cursor:default !important; transform:none !important; }
.portfolio-review-v50 .photo-lightbox-image.is-zoomed,
.portfolio-review-v50 .photo-lightbox-image-wrap.is-zoomed { transform:none !important; overflow:visible; cursor:default; }
.portfolio-review-v50 .photo-lightbox-dialog { gap:1rem; }
.portfolio-review-v50 .photo-lightbox-filmstrip { align-items:center; }
.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-dialog {
  width:min(100%,1700px); height:calc(100svh - 2rem); grid-template-columns:minmax(0,1fr) 88px;
  grid-template-rows:minmax(0,1fr) auto; align-items:stretch; gap:1rem;
}

.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-meta { grid-column:1; grid-row:2; align-self:start; margin:0; padding:.2rem .25rem .25rem; }
.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-filmstrip {
  grid-column:2; grid-row:1 / span 2; order:0; display:flex; flex-direction:column; align-items:stretch;
  overflow-y:auto; overflow-x:hidden; max-height:100%; max-width:none; min-height:0; gap:.55rem; margin:0; padding:2.8rem .25rem .5rem;
  border-left:1px solid rgba(231,237,225,.13); scrollbar-width:thin; scrollbar-color:#596457 transparent;
}
.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-thumb { flex:0 0 auto; width:100%; }
.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-add { white-space:nowrap; }
@media(max-width:700px) {
  
  .portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-image-wrap { grid-column:1; grid-row:1; }
  .portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-meta { grid-column:1; grid-row:2; }
  .portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-filmstrip { grid-column:1; grid-row:3; flex-direction:row; overflow-x:auto; overflow-y:hidden; padding:.5rem .1rem; border-left:0; border-top:1px solid rgba(231,237,225,.13); }
  .portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-thumb { flex:0 0 76px; width:76px; }
}

/* Story counts describe the full sequence; the small preview strip is deliberately only a teaser. */
.portfolio-review-v50 .essay-photo-count { margin:.4rem 0 .75rem !important; color:#a5b1a5 !important; font-size:.61rem !important; line-height:1.5 !important; letter-spacing:.12em; text-transform:uppercase; }
.portfolio-review-v50 .essay-viewer-total { color:#9da99d; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; margin-left:auto; margin-right:auto; white-space:nowrap; }
.portfolio-review-v50 .essay-viewer-controls { gap:.7rem; }
@media(max-width:520px) { .portfolio-review-v50 .essay-viewer-total { display:none; } }

/* Real logo assets only. Where an official mark wasn't provided, show the organiser's name as text. */
.portfolio-review-v50 .recognition-mark-official { background:#f6f5f0 !important; border:1px solid rgba(0,0,0,.12); padding:2px !important; }
.portfolio-review-v50 .recognition-mark-official img { width:100%; height:100%; object-fit:contain; }
.portfolio-review-v50 .recognition-mark-empty { visibility:hidden; background:transparent !important; border:0 !important; }
.portfolio-review-v50 .recognition-award-icon-link { box-sizing:border-box; width:56px; min-width:56px; height:40px; padding:3px; overflow:hidden; background:#f5f4ed; border:1px solid rgba(0,0,0,.13); border-radius:1px; }

.portfolio-review-v50 .recognition-award-icon-link.mark-ipa { padding:2px; background:#fff; }
.portfolio-review-v50 .recognition-award-icon-link.mark-bifa { padding:0; background:#e8ce78; }
.portfolio-review-v50 .recognition-award-icon-link.mark-siena { padding:2px; background:#fff; }
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc img { object-fit:contain; }
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo img { max-width:100%; }
.portfolio-review-v50 .recognition-award-organiser { display:flex; align-items:center; justify-content:flex-start; width:100px; min-width:0; color:#b8c2b7; font-size:.59rem; line-height:1.35; overflow-wrap:anywhere; }
.portfolio-review-v50 .recognition-award-row { grid-template-columns:100px minmax(0,1fr) 24px; gap:.8rem; }
.portfolio-review-v50 .recognition-award-detail { min-width:0; }
@media(max-width:640px) {
  .portfolio-review-v50 .recognition-award-row { grid-template-columns:72px minmax(0,1fr) 18px; gap:.55rem; }
  .portfolio-review-v50 .recognition-award-icon-link { width:68px; min-width:68px; height:36px; }
  .portfolio-review-v50 .recognition-award-organiser { width:68px; font-size:.52rem; }
}
.portfolio-review-v50 .home-recognition-grid article > span.recognition-mark-official { width:66px; min-width:66px; max-width:66px; height:36px; padding:1px; background:#fff !important; }
.portfolio-review-v50 .home-recognition-grid article > span.recognition-mark-empty { background:transparent !important; border-color:transparent !important; }

/* Wider About portrait with the subject shifted slightly left within the crop and centred against the copy. */
.portfolio-review-v50 .about-page-grid { grid-template-columns:minmax(360px,.98fr) minmax(0,1.02fr); gap:0 clamp(2rem,3.8vw,3.8rem); align-items:stretch; }
.portfolio-review-v50 .about-page-portrait { max-width:none; width:100%; min-width:0; margin:0; align-self:center; justify-self:stretch; }
.portfolio-review-v50 .about-page-portrait img { width:100%; max-width:none; max-height:78vh; min-height:650px; height:100%; object-fit:cover; object-position:58% 30%; }
@media(max-width:900px) {
  .portfolio-review-v50 .about-page-grid { grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr); gap:0 1.7rem; }
  .portfolio-review-v50 .about-page-portrait img { min-height:550px; max-height:78vh; }
}
@media(max-width:640px) {
  .portfolio-review-v50 .about-page-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"intro" "portrait" "body"; gap:1.5rem; }
  .portfolio-review-v50 .about-page-portrait { max-width:100%; }
  .portfolio-review-v50 .about-page-portrait img { min-height:0; height:auto; max-height:none; aspect-ratio:4 / 5; object-position:58% 30%; }
}

/* Footer icons carry contact/social actions; navigation already lives in the header. */
.portfolio-review-v50 .site-footer.portfolio-footer-v20 { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,auto); grid-template-areas:"brand tagline socials" "copyright copyright copyright"; align-items:center; gap:.8rem clamp(1rem,2.5vw,2.5rem); }
.portfolio-review-v50 .portfolio-footer-v20 > .wordmark-footer { grid-area:brand; justify-self:start; }
.portfolio-review-v50 .portfolio-footer-v20 > .footer-tagline { grid-area:tagline; justify-self:center; margin:0; white-space:nowrap; }
.portfolio-review-v50 .portfolio-footer-v20 > .footer-connect { grid-area:socials; display:flex; align-items:center; justify-content:flex-end; gap:.4rem; flex-wrap:wrap; }
.portfolio-review-v50 .portfolio-footer-v20 .footer-icon-link { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; min-height:34px; padding:0; border:1px solid rgba(192,205,190,.32); color:#c2ccc0; background:transparent; border-radius:50%; transition:color .2s ease,border-color .2s ease,background .2s ease; }
.portfolio-review-v50 .portfolio-footer-v20 .footer-icon-link:hover,
.portfolio-review-v50 .portfolio-footer-v20 .footer-icon-link:focus-visible { color:#f4f4ed; border-color:#d3dfce; background:rgba(199,214,194,.09); outline-offset:3px; }
.portfolio-review-v50 .portfolio-footer-v20 .footer-icon-link svg { width:17px; height:17px; }
.portfolio-review-v50 .portfolio-footer-v20 .copyright { grid-area:copyright; justify-self:end; color:#778278; font-size:.58rem; letter-spacing:.06em; }
@media(max-width:900px) {
  .portfolio-review-v50 .site-footer.portfolio-footer-v20 { grid-template-columns:1fr auto; grid-template-areas:"brand socials" "tagline tagline" "copyright copyright"; }
  .portfolio-review-v50 .portfolio-footer-v20 > .footer-tagline { justify-self:start; }
}
@media(max-width:640px) {
  .portfolio-review-v50 .site-footer.portfolio-footer-v20 { grid-template-columns:1fr; grid-template-areas:"brand" "socials" "copyright"; gap:1rem; }
  .portfolio-review-v50 .portfolio-footer-v20 > .footer-tagline { display:none; }
  .portfolio-review-v50 .portfolio-footer-v20 > .footer-connect { justify-content:flex-start; gap:.55rem; }
  .portfolio-review-v50 .portfolio-footer-v20 .copyright { justify-self:start; }
}

/* Final v20 alignment corrections. */
.portfolio-review-v50 .featured-work-sticky { padding-left:0 !important; padding-right:0 !important; }
.portfolio-review-v50 .recognition-award-icon-link.mark-ipa { outline:none !important; }
.portfolio-review-v50 .home-recognition-grid article > span.recognition-mark-text {
  width:66px; min-width:66px; max-width:66px; height:auto; min-height:0; max-height:none; overflow:visible;
  background:transparent !important; border:0 !important; padding:0 !important; color:#c1c9c0;
  font:600 .48rem/1.35 var(--sans); letter-spacing:.08em; text-transform:uppercase; align-self:center;
}
.portfolio-review-v50 .home-essay-card .essay-photo-count { margin-top:.35rem !important; }


/* VERSION 21 REVIEW — real organiser marks, removable print selection, aligned About header and a fuller photo stage. */
.portfolio-review-v50 .recognition-award-icon-link { width:64px; min-width:64px; height:44px; padding:3px; background:#fff; border:1px solid rgba(255,255,255,.16); }

.portfolio-review-v50 .recognition-award-icon-link.mark-chromatic { background:#fff; padding:2px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-cewe { background:#fff; padding:2px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-35awards { background:#fff; padding:3px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-canon { background:#fff; padding:3px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-norton { background:#fff; padding:3px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-norton img { transform:scale(1.06); }
.portfolio-review-v50 .recognition-award-row { grid-template-columns:112px minmax(0,1fr) 24px; gap:.8rem; }
.portfolio-review-v50 .recognition-award-icon-link { justify-self:start; }
@media(max-width:640px) {
  .portfolio-review-v50 .recognition-award-row { grid-template-columns:76px minmax(0,1fr) 18px; gap:.55rem; }
  .portfolio-review-v50 .recognition-award-icon-link { width:72px; min-width:72px; height:38px; }
}

/* About title is now a shared full-width header above the portrait and body copy. */
.portfolio-review-v50 .about-page-grid { display:block; }
.portfolio-review-v50 .about-page-heading { max-width:1320px; margin:0 0 clamp(2.5rem,4.5vw,4.5rem); }
.portfolio-review-v50 .about-page-heading h1 { max-width:1200px; font-size:clamp(3.4rem,6.6vw,7rem); line-height:.94; margin-bottom:1.2rem; }
.portfolio-review-v50 .about-page-heading .about-recognition-shortcut { margin-top:1rem; }
.portfolio-review-v50 .about-page-content-grid { display:grid; grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr); align-items:start; gap:clamp(2rem,5.2vw,5.2rem); }
.portfolio-review-v50 .about-page-portrait { width:100%; min-width:0; max-width:none; margin:0; align-self:start; }
.portfolio-review-v50 .about-page-portrait img { display:block; width:100%; height:clamp(620px,78svh,1050px); min-height:0; max-height:none; object-fit:cover; object-position:48% 28%; }
.portfolio-review-v50 .about-page-body { max-width:800px; min-width:0; }
.portfolio-review-v50 .about-page-body > p { max-width:100%; }
@media(max-width:850px) {
  .portfolio-review-v50 .about-page-content-grid { grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr); gap:1.5rem; }
  .portfolio-review-v50 .about-page-portrait img { height:clamp(520px,70svh,850px); }
}
@media(max-width:640px) {
  .portfolio-review-v50 .about-page-heading h1 { font-size:clamp(3rem,13vw,4.7rem); }
  .portfolio-review-v50 .about-page-content-grid { grid-template-columns:1fr; gap:1.5rem; }
  .portfolio-review-v50 .about-page-portrait img { height:auto; aspect-ratio:4 / 5; object-position:48% 28%; }
}

/* Print-selection review: keep each selected photograph visible with an explicit remove control. */
.portfolio-review-v50 .enquiry-selection-review { margin:0 0 clamp(1.6rem,3vw,3rem); padding:clamp(1rem,2vw,1.7rem); border:1px solid rgba(191,207,187,.28); background:rgba(191,207,187,.045); }
.portfolio-review-v50 .enquiry-selection-review-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1.2rem; margin-bottom:1rem; }
.portfolio-review-v50 .enquiry-selection-review-heading .eyebrow { margin:0 0 .4rem; }
.portfolio-review-v50 .enquiry-selection-review-heading h2 { margin:0; font:400 clamp(1.7rem,3vw,2.5rem)/1.05 var(--serif); }
.portfolio-review-v50 .enquiry-selection-count { margin:.4rem 0 0; color:#abb5a8; font-size:.82rem; }
.portfolio-review-v50 .enquiry-selection-add { color:#d3decf; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid rgba(211,222,207,.38); padding-bottom:.3rem; white-space:nowrap; }
.portfolio-review-v50 .enquiry-selection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.portfolio-review-v50 .enquiry-selection-card { min-width:0; display:grid; grid-template-columns:84px minmax(0,1fr) 32px; align-items:center; gap:.8rem; padding:.55rem; border:1px solid rgba(190,204,186,.16); background:rgba(0,0,0,.16); }
.portfolio-review-v50 .enquiry-selection-card > img { width:84px; height:64px; display:block; object-fit:cover; background:#222a23; }
.portfolio-review-v50 .enquiry-selection-card-copy { min-width:0; display:flex; flex-direction:column; gap:.3rem; }
.portfolio-review-v50 .enquiry-selection-card-copy strong { color:#eeefe8; font:400 1.05rem/1.18 var(--serif); overflow-wrap:anywhere; }
.portfolio-review-v50 .enquiry-selection-card-copy small { color:#8d9a8c; font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; overflow-wrap:anywhere; }
.portfolio-review-v50 .enquiry-selection-remove { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid rgba(220,230,215,.34); border-radius:50%; background:transparent; color:#f2f3eb; font:400 1.2rem/1 var(--sans); cursor:pointer; }
.portfolio-review-v50 .enquiry-selection-remove:hover,.portfolio-review-v50 .enquiry-selection-remove:focus-visible { border-color:#e7c7b6; background:rgba(231,199,182,.12); outline-offset:3px; }
.portfolio-review-v50 .enquiry-selection-empty { padding:1rem 0 .2rem; border-top:1px solid rgba(190,204,186,.16); color:#adb7aa; }
.portfolio-review-v50 .enquiry-selection-empty p { margin:0 0 .8rem; }
@media(max-width:720px) {
  .portfolio-review-v50 .enquiry-selection-review-heading { align-items:flex-start; flex-direction:column; gap:.75rem; }
  .portfolio-review-v50 .enquiry-selection-grid { grid-template-columns:1fr; }
}
@media(max-width:420px) {
  .portfolio-review-v50 .enquiry-selection-card { grid-template-columns:68px minmax(0,1fr) 30px; gap:.55rem; }
  .portfolio-review-v50 .enquiry-selection-card > img { width:68px; height:58px; }
  .portfolio-review-v50 .enquiry-selection-card-copy strong { font-size:.97rem; }
}

/* Use the available vertical space for the photograph; keep its native ratio rather than filling space with filler content. */
.portfolio-review-v50 .photo-lightbox-dialog { width:min(100%,1760px); height:calc(100svh - 1.2rem); max-height:calc(100svh - 1.2rem); grid-template-rows:minmax(0,1fr) auto auto; gap:.55rem; }
.portfolio-review-v50 .photo-lightbox-image-wrap { min-height:0; height:100%; align-self:stretch; }
.portfolio-review-v50 .photo-lightbox-image { width:100%; height:100%; max-height:none; object-fit:contain; object-position:center; }
.portfolio-review-v50 .photo-lightbox-meta { margin:0; padding:.25rem .2rem .15rem; align-items:center; }
.portfolio-review-v50 .photo-lightbox-filmstrip { margin:0; padding:.3rem .1rem .15rem; gap:.5rem; max-height:clamp(64px,10svh,104px); overflow-x:auto; }
.portfolio-review-v50 .photo-lightbox-thumb { flex:0 0 clamp(82px,8vw,120px); height:clamp(55px,7.5svh,82px); }
.portfolio-review-v50 .photo-lightbox-thumb img { width:100%; height:100%; object-fit:cover; }
.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-dialog { width:min(100%,1780px); height:calc(100svh - 1.2rem); max-height:calc(100svh - 1.2rem); grid-template-columns:minmax(0,1fr) 82px; grid-template-rows:minmax(0,1fr) auto; gap:.75rem; }
.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-filmstrip { padding:2.3rem .2rem .35rem; gap:.5rem; }
.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-image-wrap { grid-column:1; grid-row:1; min-height:0; }
.portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-meta { grid-column:1; grid-row:2; }
@media(max-width:700px) {
  .portfolio-review-v50 .photo-lightbox-dialog { height:calc(100svh - 1rem); max-height:calc(100svh - 1rem); }
  .portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-dialog { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto auto; height:calc(100svh - 1rem); }
  .portfolio-review-v50 .photo-lightbox.essay-lightbox .photo-lightbox-filmstrip { grid-column:1; grid-row:3; flex-direction:row; max-height:none; padding:.45rem 0 .2rem; border-left:0; border-top:1px solid rgba(231,237,225,.13); }
}

.portfolio-review-v50 .recognition-award-icon-link .recognition-logo-text-fallback { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:.1rem; color:#252821; background:#f6f5f0; font:600 .49rem/1.25 var(--sans); letter-spacing:.035em; text-align:center; overflow-wrap:anywhere; }


/* V22: readable display typography and a corrected About layout.  The V21 nested grid
   accidentally inherited grid-area names from the old page grid, placing the biography
   outside the visible columns. Reset those inherited grid placements explicitly. */
.portfolio-review-v50 h1,
.portfolio-review-v50 h2,
.portfolio-review-v50 h3,
.portfolio-review-v50 .caption-title,
.portfolio-review-v50 .print-card-caption h2,
.portfolio-review-v50 .home-print-card figcaption strong {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.018em;
}
.portfolio-review-v50 .about-page-heading {
  max-width: 1160px;
  margin: 0 0 clamp(1.6rem, 2.7vw, 2.7rem);
}
.portfolio-review-v50 .about-page-heading h1 {
  max-width: 1120px;
  font-size: clamp(3.05rem, 5.35vw, 5.9rem);
  line-height: 1.01;
  letter-spacing: -.022em;
  margin-bottom: .9rem;
}
.portfolio-review-v50 .about-page-content-grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
  gap: clamp(1.6rem, 3.6vw, 3.6rem);
  align-items: start;
}
.portfolio-review-v50 .about-page-content-grid > .about-page-portrait,
.portfolio-review-v50 .about-page-content-grid > .about-page-body {
  grid-area: auto !important;
  position: relative;
  inset: auto;
  min-width: 0;
  align-self: start;
  justify-self: stretch;
}
.portfolio-review-v50 .about-page-portrait {
  width: 100%;
  max-width: none;
  margin: 0;
}
.portfolio-review-v50 .about-page-portrait img {
  display: block;
  width: 100%;
  height: clamp(560px, 74svh, 900px);
  min-height: 0;
  max-height: none;
  object-fit: cover;
  object-position: 48% 28%;
}
.portfolio-review-v50 .about-page-body {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: none;
  overflow-wrap: anywhere;
  padding-top: .05rem;
}
.portfolio-review-v50 .about-page-body > p {
  max-width: 100%;
  color: #c0c8be;
  font-size: .98rem;
  line-height: 1.82;
  letter-spacing: 0;
  margin-bottom: 1.1rem;
}
.portfolio-review-v50 .about-page-actions { margin-top: 1.4rem; }

/* Authentic supplied/linked logos remain image assets. If an external logo host blocks
   hotlinking, show a quiet organiser wordmark instead of a fabricated initials badge. */
.portfolio-review-v50 .recognition-award-icon-link.recognition-logo-fallback {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 2rem;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  justify-content: flex-start !important;
  align-items: center;
}
.portfolio-review-v50 .recognition-logo-text-fallback {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  max-width: 108px;
  padding: 0 !important;
  color: #c3ccc0 !important;
  background: transparent !important;
  font: 500 .64rem/1.3 var(--sans) !important;
  letter-spacing: .015em !important;
  text-align: left !important;
  text-transform: none;
  overflow-wrap: anywhere;
}
.portfolio-review-v50 .recognition-award-row { grid-template-columns: 112px minmax(0,1fr) 24px; gap: .8rem; }
.portfolio-review-v50 .recognition-award-organiser {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100px;
  min-width: 0;
  min-height: 2rem;
  color: #c3ccc0;
  font-family: var(--sans);
  font-size: .64rem;
  line-height: 1.3;
  letter-spacing: .015em;
  overflow-wrap: anywhere;
}
.portfolio-review-v50 .recognition-award-icon-link { background: #f6f5f0; }
.portfolio-review-v50 .recognition-award-icon-link.mark-chromatic,
.portfolio-review-v50 .recognition-award-icon-link.mark-cewe,
.portfolio-review-v50 .recognition-award-icon-link.mark-35awards,
.portfolio-review-v50 .recognition-award-icon-link.mark-canon,
.portfolio-review-v50 .recognition-award-icon-link.mark-norton { padding: 3px; background: #fff; }
.portfolio-review-v50 .recognition-award-icon-link.mark-35awards img { object-position: center; }
.portfolio-review-v50 .recognition-award-icon-link.mark-canon img { object-fit: contain; }
.portfolio-review-v50 .recognition-award-icon-link.mark-norton img { object-fit: contain; }

@media (max-width: 900px) {
  .portfolio-review-v50 .about-page-content-grid { grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); gap: 1.4rem; }
  .portfolio-review-v50 .about-page-portrait img { height: clamp(520px, 68svh, 820px); }
  .portfolio-review-v50 .recognition-award-row { grid-template-columns: 82px minmax(0,1fr) 18px; gap: .55rem; }
  .portfolio-review-v50 .recognition-award-organiser { width: 76px; }
}
@media (max-width: 640px) {
  .portfolio-review-v50 .about-page-heading h1 { font-size: clamp(2.8rem, 12vw, 4.35rem); line-height: 1.03; }
  .portfolio-review-v50 .about-page-content-grid { grid-template-columns: minmax(0,1fr); gap: 1.35rem; }
  .portfolio-review-v50 .about-page-content-grid > .about-page-portrait { grid-row: 1; }
  .portfolio-review-v50 .about-page-content-grid > .about-page-body { grid-row: 2; }
  .portfolio-review-v50 .about-page-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-position: 48% 28%; }
  .portfolio-review-v50 .recognition-award-row { grid-template-columns: 76px minmax(0,1fr) 18px; gap: .5rem; }
  .portfolio-review-v50 .recognition-award-icon-link { max-width: 76px; }
  .portfolio-review-v50 .recognition-award-organiser { width: 72px; font-size: .59rem; }
}

/* Home-page official marks use the same honest fallback if a source host becomes unavailable. */
.portfolio-review-v50 .recognition-mark-official.recognition-logo-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  width: auto !important;
  min-width: 0 !important;
  max-width: 108px;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #c3ccc0 !important;
  font: 500 .64rem/1.3 var(--sans) !important;
  letter-spacing: .015em !important;
  text-align: left;
  overflow-wrap: anywhere;
}
.portfolio-review-v50 .home-print-card figcaption strong {
  font-size: clamp(.96rem, 1.25vw, 1.16rem);
  line-height: 1.24;
}
.portfolio-review-v50 .home-print-card figcaption span {
  font-size: .58rem;
  line-height: 1.45;
  letter-spacing: .085em;
}


/* VERSION 23 BRAND SYSTEM — graphite, warm beige, copper and restrained teal.
   Satoshi carries headings/body; Poppins is reserved for navigation and actions. */
.portfolio-review-v50 { color-scheme: dark; }
body.portfolio-review-v50 { background:#1A1A1A; color:#F5F5F5; font-family:var(--sans); font-size:16px; }
.portfolio-review-v50 .site-header.scrolled { background:rgba(26,26,26,.94) !important; border-color:rgba(245,245,245,.16) !important; }
.portfolio-review-v50 h1,
.portfolio-review-v50 h2,
.portfolio-review-v50 h3,
.portfolio-review-v50 h4,
.portfolio-review-v50 .caption-title,
.portfolio-review-v50 .home-print-card figcaption strong,
.portfolio-review-v50 .home-print-card-framed figcaption strong,
.portfolio-review-v50 .print-card-caption h2,
.portfolio-review-v50 .photo-lightbox-meta h2,
.portfolio-review-v50 .recognition-page-intro h1,
.portfolio-review-v50 .about-page-heading h1 {
  font-family:"Satoshi",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-weight:500; letter-spacing:-.035em;
}
.portfolio-review-v50 h1 em,
.portfolio-review-v50 h2 em,
.portfolio-review-v50 h3 em,
.portfolio-review-v50 .prints-copy h2 em,
.portfolio-review-v50 .about-page-heading h1 em { color:#C4A484 !important; }
.portfolio-review-v50 p,
.portfolio-review-v50 li,
.portfolio-review-v50 figcaption,
.portfolio-review-v50 .about-page-body,
.portfolio-review-v50 .recognition-award-detail { font-family:"Satoshi",system-ui,-apple-system,"Segoe UI",sans-serif; }
.portfolio-review-v50 .eyebrow,
.portfolio-review-v50 .primary-nav a,
.portfolio-review-v50 .footer-links a,
.portfolio-review-v50 .text-link,
.portfolio-review-v50 .contact-button,
.portfolio-review-v50 .photo-action,
.portfolio-review-v50 .footer-icon-link,
.portfolio-review-v50 .inquiry-submit,
.portfolio-review-v50 button,
.portfolio-review-v50 .button { font-family:"Poppins", "Satoshi", Arial, sans-serif; }
.portfolio-review-v50 .text-link,
.portfolio-review-v50 .home-lane-cta .text-link,
.portfolio-review-v50 .contact-prints-link { border-color:rgba(196,164,132,.62); }
.portfolio-review-v50 .text-link:hover,
.portfolio-review-v50 .primary-nav a:hover,
.portfolio-review-v50 .footer-links a:hover { color:#C2883E; }
.portfolio-review-v50 .contact-button,
.portfolio-review-v50 .inquiry-submit,
.portfolio-review-v50 .button-primary { background:#C2883E; color:#1A1A1A; border-color:#C2883E; }
.portfolio-review-v50 .contact-button:hover,
.portfolio-review-v50 .inquiry-submit:hover,
.portfolio-review-v50 .button-primary:hover { background:#D3A36B; color:#1A1A1A; }
.portfolio-review-v50 :focus-visible { outline-color:#00C4C4; }
.portfolio-review-v50 .work-section,
.portfolio-review-v50 .feature,
.portfolio-review-v50 .home-essays-section,
.portfolio-review-v50 .recognition-section { background-color:#1A1A1A; }
.portfolio-review-v50 .home-prints-lane,
.portfolio-review-v50 .prints-section,
.portfolio-review-v50 .about-section { background-color:#20211F !important; }
.portfolio-review-v50 .home-prints-lane { border-top:1px solid #3B3832; border-bottom:1px solid #3B3832; }
.portfolio-review-v50 .home-print-card-framed {
  background:#F5F5F5 !important; color:#1A1A1A !important;
  border:1px solid #625344 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.24) !important;
}
.portfolio-review-v50 .home-print-card-framed > a { background:#D9D5CB !important; }
.portfolio-review-v50 .home-print-card-framed figcaption strong { color:#282723 !important; }
.portfolio-review-v50 .home-print-card-framed figcaption span { color:#73634F !important; }

/* Real organiser marks: larger, consistently framed, with source-name fallback on image failure. */
.portfolio-review-v50 .recognition-award-row { grid-template-columns:164px minmax(0,1fr) 24px !important; gap:.95rem !important; }
.portfolio-review-v50 .recognition-award-icon-link {
  display:flex; align-items:center; justify-content:center;
  width:156px !important; min-width:156px !important; height:64px !important;
  padding:4px !important; box-sizing:border-box; overflow:hidden;
  background:#F5F5F5 !important; border:1px solid rgba(196,164,132,.36) !important;
  border-radius:2px !important; box-shadow:none !important;
}
.portfolio-review-v50 .recognition-award-icon-link img { display:block; width:100%; height:100%; object-fit:contain; }
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc img { max-width:146px; max-height:58px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo img { max-width:150px; max-height:58px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-canon img { max-width:150px; max-height:58px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-ipa img,
.portfolio-review-v50 .recognition-award-icon-link.mark-bifa img,
.portfolio-review-v50 .recognition-award-icon-link.mark-siena img,
.portfolio-review-v50 .recognition-award-icon-link.mark-chromatic img,
.portfolio-review-v50 .recognition-award-icon-link.mark-cewe img,
.portfolio-review-v50 .recognition-award-icon-link.mark-35awards img,
.portfolio-review-v50 .recognition-award-icon-link.mark-norton img { max-width:150px; max-height:58px; }
.portfolio-review-v50 .recognition-award-icon-link.mark-sittp img,
.portfolio-review-v50 .recognition-award-icon-link.mark-gh5050 img,
.portfolio-review-v50 .recognition-award-icon-link.mark-yps img,
.portfolio-review-v50 .recognition-award-icon-link.mark-smithsonian img,
.portfolio-review-v50 .recognition-award-icon-link.mark-oradfame img,
.portfolio-review-v50 .recognition-award-icon-link.mark-world-economic-forum img { width:48px; height:48px; }
.portfolio-review-v50 .recognition-award-icon-link.recognition-logo-fallback {
  width:auto !important; min-width:0 !important; height:auto !important; min-height:2rem;
  padding:0 !important; border:0 !important; background:transparent !important;
  justify-content:flex-start !important; box-shadow:none !important; overflow:visible !important;
}
.portfolio-review-v50 .recognition-logo-text-fallback {
  display:inline !important; max-width:150px; width:auto !important; height:auto !important;
  padding:0 !important; color:#C4A484 !important; background:transparent !important;
  font:500 .76rem/1.35 "Satoshi",system-ui,sans-serif !important; text-align:left !important;
  letter-spacing:.01em !important; overflow-wrap:anywhere;
}
.portfolio-review-v50 .recognition-award-organiser { width:156px; min-height:2.4rem; color:#C4A484; font-family:var(--sans); font-size:.72rem; line-height:1.3; }
.portfolio-review-v50 .recognition-award-detail strong { font-family:var(--sans); font-size:.87rem; font-weight:600; line-height:1.45; }
.portfolio-review-v50 .recognition-award-detail small { color:#BDB9B1; font-size:.73rem; line-height:1.4; }
.portfolio-review-v50 .recognition-award-out { color:#C4A484; }
.portfolio-review-v50 .recognition-award-out:hover { color:#00C4C4; }

/* The home-page organiser marks get enough room to read at a glance. */
.portfolio-review-v50 .home-recognition-grid article { grid-template-columns:108px minmax(0,1fr); gap:1rem; }
.portfolio-review-v50 .home-recognition-grid article > .recognition-mark-official,
.portfolio-review-v50 .home-recognition-grid article > span.recognition-mark-official {
  width:104px !important; min-width:104px !important; max-width:104px !important; height:58px !important;
  padding:3px !important; border:1px solid rgba(196,164,132,.32) !important;
  background:#F5F5F5 !important; border-radius:2px !important;
}
.portfolio-review-v50 .home-recognition-grid .recognition-brand-logo,
.portfolio-review-v50 .home-recognition-grid .recognition-mark-official img { width:100% !important; height:100% !important; object-fit:contain; }
.portfolio-review-v50 .home-recognition-grid .recognition-mark-official.recognition-mark-smithsonian img { width:44px !important; height:44px !important; }
.portfolio-review-v50 .home-recognition-grid article > .recognition-mark-official.recognition-logo-fallback { background:transparent !important; border:0 !important; }

/* Always anchor image actions at the lower-right edge, including Work cards and essay covers. */
.portfolio-review-v50 .photo-action-image > .photo-actions,
.portfolio-review-v50 .gallery-index-card-wrap > .photo-actions-gallery-card,
.portfolio-review-v50 .photo-essays-index .photo-actions-essay-lead,
.portfolio-review-v50 .home-essay-thumb-wrap .photo-actions,
.portfolio-review-v50 .selected-work-card .photo-actions,
.portfolio-review-v50 .gallery-page-grid .photo-actions {
  top:auto !important; right:.65rem !important; bottom:.65rem !important; left:auto !important;
}
.portfolio-review-v50 .hero-photo-host > .photo-actions { top:auto !important; right:1rem !important; bottom:1rem !important; left:auto !important; }
.portfolio-review-v50 .photo-action { color:#F5F5F5; background:rgba(26,26,26,.86); border-color:rgba(196,164,132,.72); }
.portfolio-review-v50 .photo-action:hover,
.portfolio-review-v50 .photo-action:focus-visible { color:#00C4C4; background:rgba(26,26,26,.96); border-color:#00C4C4; }
.portfolio-review-v50 .photo-like[aria-pressed="true"] { color:#C2883E; border-color:#C2883E; background:rgba(194,136,62,.18); }

/* Keep the actual social-service colours in the footer; the ring and focus state stay subtle. */
.portfolio-review-v50 .portfolio-footer-v20 .footer-icon-link { border-color:rgba(245,245,245,.22); background:rgba(245,245,245,.015); }
.portfolio-review-v50 .footer-whatsapp { color:#25D366 !important; border-color:rgba(37,211,102,.46) !important; }
.portfolio-review-v50 .footer-call { color:#C2883E !important; border-color:rgba(194,136,62,.42) !important; }
.portfolio-review-v50 .footer-email { color:#C4A484 !important; border-color:rgba(196,164,132,.42) !important; }
.portfolio-review-v50 .footer-instagram { color:#E1306C !important; border-color:rgba(225,48,108,.5) !important; }
.portfolio-review-v50 .footer-youtube { color:#FF0033 !important; border-color:rgba(255,0,51,.5) !important; }
.portfolio-review-v50 .footer-facebook { color:#1877F2 !important; border-color:rgba(24,119,242,.5) !important; }
.portfolio-review-v50 .portfolio-footer-v20 .footer-icon-link:hover,
.portfolio-review-v50 .portfolio-footer-v20 .footer-icon-link:focus-visible { color:inherit; border-color:currentColor; background:rgba(245,245,245,.06); outline-offset:3px; }
.portfolio-review-v50 .portfolio-footer-v20 .footer-icon-link svg { width:19px; height:19px; }

@media(max-width:900px) {
  .portfolio-review-v50 .recognition-award-row { grid-template-columns:94px minmax(0,1fr) 18px !important; gap:.65rem !important; }
  .portfolio-review-v50 .recognition-award-icon-link { width:90px !important; min-width:90px !important; height:50px !important; }
  .portfolio-review-v50 .recognition-award-icon-link.mark-sittp img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-gh5050 img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-yps img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-smithsonian img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-oradfame img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-world-economic-forum img { width:40px; height:40px; }
  .portfolio-review-v50 .recognition-award-organiser { width:90px; }
  .portfolio-review-v50 .home-recognition-grid article { grid-template-columns:88px minmax(0,1fr); gap:.7rem; }
  .portfolio-review-v50 .home-recognition-grid article > .recognition-mark-official,
  .portfolio-review-v50 .home-recognition-grid article > span.recognition-mark-official { width:84px !important; min-width:84px !important; max-width:84px !important; height:48px !important; }
}
@media(max-width:640px) {
  .portfolio-review-v50 .recognition-award-row { grid-template-columns:74px minmax(0,1fr) 18px !important; gap:.5rem !important; }
  .portfolio-review-v50 .recognition-award-icon-link { width:70px !important; min-width:70px !important; height:42px !important; }
  .portfolio-review-v50 .recognition-award-icon-link.mark-sittp img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-gh5050 img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-yps img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-smithsonian img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-oradfame img,
  .portfolio-review-v50 .recognition-award-icon-link.mark-world-economic-forum img { width:34px; height:34px; }
  .portfolio-review-v50 .recognition-award-organiser { width:70px; font-size:.61rem; }
  .portfolio-review-v50 .recognition-award-detail strong { font-size:.75rem; }
  .portfolio-review-v50 .recognition-award-detail small { font-size:.62rem; }
  .portfolio-review-v50 .home-recognition-grid article { grid-template-columns:76px minmax(0,1fr); }
  .portfolio-review-v50 .home-recognition-grid article > .recognition-mark-official,
  .portfolio-review-v50 .home-recognition-grid article > span.recognition-mark-official { width:72px !important; min-width:72px !important; max-width:72px !important; height:42px !important; }
}


/* VERSION 24 REVIEW — restore the previous editorial serif while keeping body copy legible. */
body.portfolio-review-v50 {
  --serif: "DM Serif Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --ui: "Poppins", "DM Sans", Arial, sans-serif;
  font-family: var(--sans) !important;
}
.portfolio-review-v50 h1,
.portfolio-review-v50 h2,
.portfolio-review-v50 h3,
.portfolio-review-v50 h4,
.portfolio-review-v50 .caption-title,
.portfolio-review-v50 .home-print-card figcaption strong,
.portfolio-review-v50 .home-print-card-framed figcaption strong,
.portfolio-review-v50 .print-card-caption h2,
.portfolio-review-v50 .photo-lightbox-meta h2,
.portfolio-review-v50 .photo-lightbox-caption strong,
.portfolio-review-v50 .recognition-page-intro h1,
.portfolio-review-v50 .about-page-heading h1 {
  font-family: "DM Serif Display", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -.02em !important;
}
.portfolio-review-v50 h1 em,
.portfolio-review-v50 h2 em,
.portfolio-review-v50 h3 em,
.portfolio-review-v50 .prints-copy h2 em,
.portfolio-review-v50 .about-page-heading h1 em { color: #C4A484 !important; }
.portfolio-review-v50 p,
.portfolio-review-v50 li,
.portfolio-review-v50 figcaption,
.portfolio-review-v50 .about-page-body,
.portfolio-review-v50 .recognition-award-detail,
.portfolio-review-v50 .home-print-card figcaption span { font-family: "DM Sans", Arial, sans-serif !important; }
.portfolio-review-v50 .eyebrow,
.portfolio-review-v50 .primary-nav a,
.portfolio-review-v50 .footer-links a,
.portfolio-review-v50 .text-link,
.portfolio-review-v50 .contact-button,
.portfolio-review-v50 .photo-action,
.portfolio-review-v50 .footer-icon-link,
.portfolio-review-v50 .inquiry-submit,
.portfolio-review-v50 button,
.portfolio-review-v50 .button { font-family: "Poppins", "DM Sans", Arial, sans-serif; }

/* Give each print frame a clearer, darker edge without changing the warm mount. */
.portfolio-review-v50 .home-print-card-framed {
  border: 2px solid #433B32 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.3), inset 0 0 0 1px rgba(67,59,50,.22) !important;
}
.portfolio-review-v50 .home-prints-lane { border-top-color:#474239 !important; border-bottom-color:#474239 !important; }

/* The same three photograph actions appear over every full-screen image, at its lower-right. */
.portfolio-review-v50 .photo-lightbox-image-wrap { grid-template-columns:52px minmax(0,1fr) 52px; }
.portfolio-review-v50 .photo-lightbox-image-stage {
  position:relative; display:flex; align-items:center; justify-content:center;
  height:100%; width:100%; min-width:0; min-height:0; overflow:hidden;
}
.portfolio-review-v50 .photo-lightbox-image-stage > .photo-lightbox-image { flex:0 1 auto; min-width:0; min-height:0; }
.portfolio-review-v50 .photo-lightbox-actions {
  position:absolute; z-index:5; right:.9rem; bottom:.9rem;
  display:flex; align-items:center; justify-content:flex-end; gap:.45rem;
  opacity:1; pointer-events:auto;
}
.portfolio-review-v50 .photo-lightbox-actions .photo-action {
  width:42px; height:42px; flex:0 0 42px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:#F5F5F5; background:rgba(26,26,26,.88);
  border:1px solid rgba(245,245,245,.72); backdrop-filter:blur(8px);
  box-shadow:0 3px 14px rgba(0,0,0,.25);
}
.portfolio-review-v50 .photo-lightbox-actions .photo-action svg { width:18px; height:18px; }
.portfolio-review-v50 .photo-lightbox-actions .photo-action:hover,
.portfolio-review-v50 .photo-lightbox-actions .photo-action:focus-visible { color:#00C4C4; border-color:#00C4C4; background:rgba(26,26,26,.97); }
.portfolio-review-v50 .photo-lightbox-actions .photo-like[aria-pressed="true"] { color:#C2883E; border-color:#C2883E; background:rgba(26,26,26,.96); }
.portfolio-review-v50 .photo-lightbox-actions .photo-buy[aria-pressed="true"] { color:#C2883E; border-color:#C2883E; background:rgba(26,26,26,.96); }
@media(max-width:760px) {
  .portfolio-review-v50 .photo-lightbox-image-wrap { grid-template-columns:36px minmax(0,1fr) 36px; }
  .portfolio-review-v50 .photo-lightbox-actions { right:.35rem; bottom:.35rem; gap:.3rem; }
  .portfolio-review-v50 .photo-lightbox-actions .photo-action { width:36px; height:36px; flex-basis:36px; }
}


/* VERSION 25 — quieter hierarchy, darker print mounts, and one image-bound rule for every action group. */
body.portfolio-review-v50 { font-weight:400; }
.portfolio-review-v50 h1,
.portfolio-review-v50 h2,
.portfolio-review-v50 h3,
.portfolio-review-v50 h4,
.portfolio-review-v50 .caption-title,
.portfolio-review-v50 .home-print-card figcaption strong,
.portfolio-review-v50 .home-print-card-framed figcaption strong,
.portfolio-review-v50 .print-card-caption h2,
.portfolio-review-v50 .photo-lightbox-caption strong,
.portfolio-review-v50 .recognition-page-intro h1,
.portfolio-review-v50 .about-page-heading h1 {
  font-weight:400 !important;
  letter-spacing:-.018em !important;
}
.portfolio-review-v50 p,
.portfolio-review-v50 li,
.portfolio-review-v50 figcaption,
.portfolio-review-v50 .about-page-body,
.portfolio-review-v50 .recognition-award-detail { font-weight:400; }
.portfolio-review-v50 p strong,
.portfolio-review-v50 li strong,
.portfolio-review-v50 .recognition-award-detail strong,
.portfolio-review-v50 .photo-lightbox-caption strong { font-weight:500 !important; }
.portfolio-review-v50 .primary-nav a,
.portfolio-review-v50 .footer-links a,
.portfolio-review-v50 .text-link,
.portfolio-review-v50 .contact-button,
.portfolio-review-v50 .inquiry-submit,
.portfolio-review-v50 .button,
.portfolio-review-v50 .photo-action { font-weight:400 !important; }

/* Replace the pale mount on the home print cards with a subtle dark frame. */
.portfolio-review-v50 .home-print-card-framed {
  position:relative;
  background:#282A25 !important;
  color:#EFEEE6 !important;
  border:1px solid #41433A !important;
  box-shadow:0 7px 18px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.018) !important;
}
.portfolio-review-v50 .home-print-card-framed > a { background:#1E211C !important; }
.portfolio-review-v50 .home-print-card-framed figcaption strong { color:#EEEDE5 !important; }
.portfolio-review-v50 .home-print-card-framed figcaption span { color:#A7AB9E !important; }

/* The action group is positioned against the actual image viewport by script, not the whole card or caption. */
.portfolio-review-v50 .photo-actions:not(.photo-lightbox-actions) {
  top:var(--photo-action-y,auto) !important;
  left:var(--photo-action-x,auto) !important;
  right:auto !important;
  bottom:auto !important;
  z-index:12;
}
.portfolio-review-v50 .photo-essays-index .photo-actions-essay-lead,
.portfolio-review-v50 .gallery-index-card-wrap > .photo-actions-gallery-card { top:var(--photo-action-y,auto) !important; left:var(--photo-action-x,auto) !important; right:auto !important; bottom:auto !important; }
.portfolio-review-v50 .hero-photo-host > .photo-actions { top:var(--photo-action-y,auto) !important; left:var(--photo-action-x,auto) !important; right:auto !important; bottom:auto !important; }
/* Mini essay and print preview cards also get the same actions, sized to fit their image frame. */
.portfolio-review-v50 .home-essay-thumb-wrap.home-essay-mini .photo-actions { display:flex !important; gap:.22rem; }
.portfolio-review-v50 .home-essay-thumb-wrap.home-essay-mini .photo-action { width:25px; height:25px; flex-basis:25px; }
.portfolio-review-v50 .home-essay-thumb-wrap.home-essay-mini .photo-action svg { width:12px; height:12px; }
.portfolio-review-v50 .home-print-card-framed > .photo-actions { gap:.25rem; }
.portfolio-review-v50 .home-print-card-framed > .photo-actions .photo-action { width:30px; height:30px; flex-basis:30px; }
.portfolio-review-v50 .home-print-card-framed > .photo-actions .photo-action svg { width:14px; height:14px; }

/* Lightbox actions sit inside the visible pixels of the image, even when object-fit leaves a letterbox. */
.portfolio-review-v50 .photo-lightbox-image-stage { position:relative; }
.portfolio-review-v50 .photo-lightbox-actions {
  top:var(--photo-action-y,auto) !important;
  left:var(--photo-action-x,auto) !important;
  right:auto !important;
  bottom:auto !important;
}


/* VERSION 26 — quieter type, restrained calls to action, and image-first controls. */
body.portfolio-review-v50 {
  --serif: "Italiana", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --ui: "Poppins", "DM Sans", Arial, sans-serif;
  font-family: var(--sans) !important;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
.portfolio-review-v50 h1,
.portfolio-review-v50 h2,
.portfolio-review-v50 h3,
.portfolio-review-v50 h4,
.portfolio-review-v50 .caption-title,
.portfolio-review-v50 .home-print-card figcaption strong,
.portfolio-review-v50 .home-print-card-framed figcaption strong,
.portfolio-review-v50 .print-card-caption h2,
.portfolio-review-v50 .photo-lightbox-caption strong,
.portfolio-review-v50 .recognition-page-intro h1,
.portfolio-review-v50 .about-page-heading h1,
.portfolio-review-v50 .essay-copy h3,
.portfolio-review-v50 .recognition-photo-group h2 {
  font-family: "Italiana", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -.012em !important;
  font-synthesis: none;
}
.portfolio-review-v50 p,
.portfolio-review-v50 li,
.portfolio-review-v50 figcaption,
.portfolio-review-v50 .about-page-body,
.portfolio-review-v50 .recognition-award-detail,
.portfolio-review-v50 .recognition-group-summary,
.portfolio-review-v50 .essay-copy > p:not(.eyebrow),
.portfolio-review-v50 .photo-lightbox-caption small {
  font-family: "DM Sans", Arial, sans-serif !important;
  font-weight: 400 !important;
}
.portfolio-review-v50 p strong,
.portfolio-review-v50 li strong,
.portfolio-review-v50 .recognition-award-detail strong,
.portfolio-review-v50 .home-recognition-grid h3,
.portfolio-review-v50 .photo-lightbox-caption strong {
  font-weight: 400 !important;
}
.portfolio-review-v50 .eyebrow,
.portfolio-review-v50 .primary-nav a,
.portfolio-review-v50 .footer-links a,
.portfolio-review-v50 .text-link,
.portfolio-review-v50 .contact-button,
.portfolio-review-v50 .photo-action,
.portfolio-review-v50 .footer-icon-link,
.portfolio-review-v50 .inquiry-submit,
.portfolio-review-v50 button,
.portfolio-review-v50 .button {
  font-family: "Poppins", "DM Sans", Arial, sans-serif !important;
  font-weight: 400 !important;
}

/* CTAs are links, not hero elements: unfill them and reduce their visual weight. */
.portfolio-review-v50 .contact-button,
.portfolio-review-v50 .inquiry-submit,
.portfolio-review-v50 .button-primary,
.portfolio-review-v50 .print-process-review-link {
  background: rgba(196,164,132,.035) !important;
  color: #D9D0C2 !important;
  border: 1px solid rgba(196,164,132,.38) !important;
  padding: .66rem .82rem !important;
  gap: .9rem !important;
  font-size: .59rem !important;
  letter-spacing: .075em !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}
.portfolio-review-v50 .contact-button:hover,
.portfolio-review-v50 .inquiry-submit:hover,
.portfolio-review-v50 .button-primary:hover,
.portfolio-review-v50 .print-process-review-link:hover {
  background: rgba(196,164,132,.11) !important;
  color: #F0EADF !important;
  border-color: rgba(196,164,132,.62) !important;
}
.portfolio-review-v50 .prints-page-hero > .contact-button { margin-top: .15rem; }
.portfolio-review-v50 .print-process-review-link strong {
  min-width: 1.2rem !important; height: 1.2rem !important;
  font-size: .62rem !important; font-weight: 400 !important;
}
.portfolio-review-v50 .home-lane-cta .text-link,
.portfolio-review-v50 .contact-prints-link { border-color: rgba(196,164,132,.34) !important; }

/* Quiet graphite frame around prints: no pale mount that competes with the photographs. */
.portfolio-review-v50 .home-print-card-framed {
  padding: .24rem !important;
  background: #242722 !important;
  color: #EDEBE3 !important;
  border: 1px solid #363A32 !important;
  box-shadow: 0 5px 15px rgba(0,0,0,.18) !important;
}
.portfolio-review-v50 .home-print-card-framed > a,
.portfolio-review-v50 .home-print-card-framed > a img {
  background: #191C18 !important;
}
.portfolio-review-v50 .home-print-card-framed figcaption { padding: .1rem .08rem .12rem !important; }
.portfolio-review-v50 .home-print-card-framed figcaption strong { color: #E3E0D6 !important; }
.portfolio-review-v50 .home-print-card-framed figcaption span { color: #92988D !important; }

/* Photo actions are consistently overlaid on the image itself; translucent by default, clearer on hover. */
.portfolio-review-v50 .photo-actions:not(.photo-lightbox-actions) {
  opacity: .66 !important;
  transform: none !important;
  pointer-events: auto !important;
  z-index: 14 !important;
  gap: .28rem !important;
}
.portfolio-review-v50 .has-photo-actions:hover > .photo-actions,
.portfolio-review-v50 .has-photo-actions:focus-within > .photo-actions,
.portfolio-review-v50 .photo-action-image:hover > .photo-actions,
.portfolio-review-v50 .photo-action-image:focus-within > .photo-actions,
.portfolio-review-v50 .photo-actions:hover,
.portfolio-review-v50 .photo-actions:focus-within {
  opacity: .98 !important;
}
.portfolio-review-v50 .photo-action {
  width: 30px !important; height: 30px !important; flex: 0 0 30px !important;
  color: rgba(245,245,238,.91) !important;
  background: rgba(16,19,16,.42) !important;
  border: 1px solid rgba(245,245,238,.30) !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.13) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}
.portfolio-review-v50 .photo-action svg { width: 14px !important; height: 14px !important; }
.portfolio-review-v50 .photo-action:hover,
.portfolio-review-v50 .photo-action:focus-visible {
  color: #F8F7F1 !important;
  background: rgba(13,16,13,.78) !important;
  border-color: rgba(245,245,238,.58) !important;
  outline: 1px solid rgba(245,245,238,.24) !important;
  outline-offset: 1px !important;
  transform: none !important;
}
.portfolio-review-v50 .photo-like[aria-pressed="true"],
.portfolio-review-v50 .photo-buy[aria-pressed="true"] {
  color: #F2D8AD !important;
  background: rgba(43,38,30,.72) !important;
  border-color: rgba(194,136,62,.78) !important;
}
.portfolio-review-v50 .photo-actions .photo-action { opacity: inherit; }
.portfolio-review-v50 .photo-lightbox-actions {
  opacity: .68 !important;
  transform: none !important;
  pointer-events: auto !important;
  gap: .32rem !important;
}
.portfolio-review-v50 .photo-lightbox-actions:hover,
.portfolio-review-v50 .photo-lightbox-actions:focus-within { opacity: .98 !important; }
.portfolio-review-v50 .photo-lightbox-actions .photo-action {
  width: 32px !important; height: 32px !important; flex-basis: 32px !important;
  background: rgba(16,19,16,.42) !important;
  border-color: rgba(245,245,238,.32) !important;
}

/* Give each essay photograph more horizontal room while retaining the right-side thumbnail rail. */
.portfolio-review-v50 .essay-viewer.section-pad {
  padding-left: clamp(.8rem, 2.7vw, 2.8rem) !important;
  padding-right: clamp(.8rem, 2.7vw, 2.8rem) !important;
}
.portfolio-review-v50 .essay-viewer-layout {
  width: 100% !important;
  max-width: 1720px !important;
  grid-template-columns: minmax(0,1fr) 106px !important;
  gap: clamp(.8rem,1.5vw,1.45rem) !important;
}
.portfolio-review-v50 .essay-viewer-photo {
  height: min(72svh, 850px) !important;
  min-height: 360px !important;
}
.portfolio-review-v50 .essay-viewer-rail { max-height: min(72svh,850px) !important; }

/* Make the home recognition marks read at a glance. */
.portfolio-review-v50 .home-recognition-grid article { grid-template-columns: 88px minmax(0,1fr) !important; gap: .8rem !important; }
.portfolio-review-v50 .home-recognition-grid article > .recognition-mark-official,
.portfolio-review-v50 .home-recognition-grid article > span.recognition-mark-official,
.portfolio-review-v50 .home-recognition-grid .recognition-mark {
  width: 84px !important; min-width: 84px !important; max-width: 84px !important;
  height: 48px !important; min-height: 48px !important;
}
.portfolio-review-v50 .home-recognition-grid .recognition-brand-logo-hsbc,
.portfolio-review-v50 .home-recognition-grid .recognition-brand-logo-natgeo { transform: scale(1.42); }
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc img { transform: scale(1.38); }
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo img { transform: scale(1.48); }
@media (max-width: 900px) {
  .portfolio-review-v50 .essay-viewer.section-pad { padding-left: 1rem !important; padding-right: 1rem !important; }
  .portfolio-review-v50 .essay-viewer-layout { grid-template-columns:minmax(0,1fr) !important; }
  .portfolio-review-v50 .essay-viewer-photo { height:min(66svh,760px) !important; min-height:300px !important; }
  .portfolio-review-v50 .essay-viewer-rail { max-height:none !important; }
  .portfolio-review-v50 .home-recognition-grid article { grid-template-columns:74px minmax(0,1fr) !important; }
  .portfolio-review-v50 .home-recognition-grid article > .recognition-mark-official,
  .portfolio-review-v50 .home-recognition-grid article > span.recognition-mark-official,
  .portfolio-review-v50 .home-recognition-grid .recognition-mark { width:70px !important; min-width:70px !important; max-width:70px !important; height:42px !important; min-height:42px !important; }
}
@media (max-width: 640px) {
  .portfolio-review-v50 .photo-action { width: 28px !important; height: 28px !important; flex-basis: 28px !important; }
  .portfolio-review-v50 .photo-action svg { width: 13px !important; height: 13px !important; }
  .portfolio-review-v50 .home-print-card-framed { padding: .18rem !important; }
  .portfolio-review-v50 .contact-button,
  .portfolio-review-v50 .inquiry-submit,
  .portfolio-review-v50 .button-primary,
  .portfolio-review-v50 .print-process-review-link { padding: .62rem .72rem !important; }
}


/* VERSION 27 — reliable sticky navigation, uncropped organiser marks, wheelable photo sequences, simplified footer. */
.portfolio-review-v50 .site-header {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 1400 !important;
  isolation: isolate !important;
  transform: none !important;
}
.portfolio-review-v50 .featured-work-scroll { position: relative !important; z-index: 1 !important; }
.portfolio-review-v50 .featured-work-sticky { z-index: 2 !important; }
.portfolio-review-v50 .photo-lightbox { z-index: 2200 !important; }

/* Do not scale wide marks beyond their containers: make the actual logo frame larger and keep the full artwork visible. */
.portfolio-review-v50 .home-recognition-grid article {
  grid-template-columns: 112px minmax(0,1fr) !important;
  gap: .9rem !important;
}
.portfolio-review-v50 .home-recognition-grid article > .recognition-mark-hsbc,
.portfolio-review-v50 .home-recognition-grid article > .recognition-mark-natgeo {
  display: flex !important;
  box-sizing: border-box !important;
  width: 104px !important; min-width: 104px !important; max-width: 104px !important;
  height: 58px !important; min-height: 58px !important; max-height: 58px !important;
  padding: 5px !important;
  overflow: visible !important;
  align-items: center !important; justify-content: center !important;
  background: #F5F4ED !important;
  border: 1px solid rgba(0,0,0,.15) !important;
}
.portfolio-review-v50 .home-recognition-grid .recognition-brand-logo-hsbc,
.portfolio-review-v50 .home-recognition-grid .recognition-brand-logo-natgeo {
  display: block !important;
  width: 100% !important; height: 100% !important;
  max-width: 100% !important; max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  overflow: visible !important;
}

/* The awards archive uses wider image boxes and never crops the HSBC or National Geographic wordmarks. */
.portfolio-review-v50 .recognition-award-row {
  grid-template-columns: 124px minmax(0,1fr) 24px !important;
  gap: .8rem !important;
}
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc,
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo {
  box-sizing: border-box !important;
  flex: 0 0 116px !important;
  width: 116px !important; min-width: 116px !important; max-width: 116px !important;
  height: 54px !important; min-height: 54px !important; max-height: 54px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 5px !important;
  overflow: visible !important;
  background: #F5F4ED !important;
}
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc img,
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo img,
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc .recognition-award-logo-wide,
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo .recognition-award-logo-wide {
  display: block !important;
  width: 100% !important; height: 100% !important;
  max-width: 100% !important; max-height: 100% !important;
  object-fit: contain !important; object-position: center !important;
  transform: none !important;
}
.portfolio-review-v50 .recognition-award-icon-link.mark-natgeo .recognition-award-logo-wide,
.portfolio-review-v50 .recognition-award-icon-link.mark-hsbc .recognition-award-logo-wide { padding: 0 !important; }

/* The essay viewer retains the thumbnail rail at the right on desktop; wheel over image/rail moves to the next or previous frame. */
@media (min-width: 901px) {
  .portfolio-review-v50 .essay-viewer-layout { grid-template-columns: minmax(0,1fr) 118px !important; }
  .portfolio-review-v50 .essay-viewer-rail { grid-column: 2 !important; grid-row: 1 / span 2 !important; }
}
.portfolio-review-v50 .photo-lightbox-image-wrap,
.portfolio-review-v50 .photo-lightbox-filmstrip { overscroll-behavior: contain; }
.portfolio-review-v50 .photo-lightbox-filmstrip { scrollbar-width: thin; }

/* Header already carries the wordmark. Keep the footer focused on social/contact links and the short tagline. */
.portfolio-review-v50 .portfolio-footer-v20 > .wordmark-footer { display: none !important; }
.portfolio-review-v50 .site-footer.portfolio-footer-v20 {
  grid-template-columns: minmax(0,1fr) auto !important;
  grid-template-areas: "tagline socials" "copyright copyright" !important;
}
.portfolio-review-v50 .portfolio-footer-v20 > .footer-tagline { grid-area: tagline !important; justify-self: start !important; }
.portfolio-review-v50 .portfolio-footer-v20 > .footer-connect { grid-area: socials !important; justify-self: end !important; }
.portfolio-review-v50 .portfolio-footer-v20 > .copyright { grid-area: copyright !important; }
@media (max-width: 640px) {
  .portfolio-review-v50 .home-recognition-grid article { grid-template-columns: 94px minmax(0,1fr) !important; }
  .portfolio-review-v50 .home-recognition-grid article > .recognition-mark-hsbc,
  .portfolio-review-v50 .home-recognition-grid article > .recognition-mark-natgeo {
    width: 88px !important; min-width: 88px !important; max-width: 88px !important;
    height: 50px !important; min-height: 50px !important; max-height: 50px !important;
  }
  .portfolio-review-v50 .recognition-award-row { grid-template-columns: 96px minmax(0,1fr) 18px !important; gap: .5rem !important; }
  .portfolio-review-v50 .recognition-award-icon-link.mark-hsbc,
  .portfolio-review-v50 .recognition-award-icon-link.mark-natgeo { flex-basis: 90px !important; width:90px !important; min-width:90px !important; max-width:90px !important; height:46px !important; }
  .portfolio-review-v50 .portfolio-footer-v20 > .footer-connect { justify-self: start !important; }
  .portfolio-review-v50 .site-footer.portfolio-footer-v20 { grid-template-columns:1fr !important; grid-template-areas:"tagline" "socials" "copyright" !important; }
}


/* VERSION 28 — give text a little more air and separate organiser marks from their descriptions. */
.portfolio-review-v50 h1,
.portfolio-review-v50 h2,
.portfolio-review-v50 h3,
.portfolio-review-v50 h4,
.portfolio-review-v50 .featured-work-title,
.portfolio-review-v50 .essay-card-title,
.portfolio-review-v50 .photo-caption-title,
.portfolio-review-v50 .recognition-photo-group-copy h2 {
  letter-spacing: .016em !important;
  font-weight: 400 !important;
}
.portfolio-review-v50 p,
.portfolio-review-v50 li,
.portfolio-review-v50 .recognition-award-detail strong,
.portfolio-review-v50 .recognition-award-detail small,
.portfolio-review-v50 .recognition-group-summary {
  letter-spacing: .009em !important;
}
.portfolio-review-v50 .recognition-award-row {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}
.portfolio-review-v50 .recognition-award-icon-link {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 124px !important;
  width: 124px !important;
  min-width: 124px !important;
  max-width: 124px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 5px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.portfolio-review-v50 .recognition-award-icon-link img,
.portfolio-review-v50 .recognition-award-icon-link .recognition-award-logo-wide {
  display: block !important;
  flex: 0 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  margin: 0 !important;
}
.portfolio-review-v50 .recognition-award-detail {
  position: relative !important;
  inset: auto !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: anywhere !important;
}
.portfolio-review-v50 .recognition-award-year {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  margin: 0 0 .16rem !important;
  transform: none !important;
  letter-spacing: .13em !important;
}
.portfolio-review-v50 .recognition-award-detail strong {
  display: block !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: .012em !important;
  overflow-wrap: anywhere !important;
}
.portfolio-review-v50 .recognition-award-detail small {
  display: block !important;
  line-height: 1.45 !important;
  letter-spacing: .008em !important;
  overflow-wrap: anywhere !important;
}
.portfolio-review-v50 .recognition-award-out {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  margin: 0 0 0 auto !important;
  align-self: center !important;
}
@media (max-width: 900px) {
  .portfolio-review-v50 .recognition-award-row { gap: .75rem !important; }
  .portfolio-review-v50 .recognition-award-icon-link {
    flex-basis: 96px !important;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
  }
  .portfolio-review-v50 .recognition-award-out { flex-basis: 20px !important; width:20px !important; min-width:20px !important; }
}
@media (max-width: 640px) {
  .portfolio-review-v50 h1,
  .portfolio-review-v50 h2,
  .portfolio-review-v50 h3,
  .portfolio-review-v50 .recognition-photo-group-copy h2 { letter-spacing: .01em !important; }
  .portfolio-review-v50 .recognition-award-row { gap: .58rem !important; }
  .portfolio-review-v50 .recognition-award-icon-link {
    flex-basis: 74px !important;
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 3px !important;
  }
  .portfolio-review-v50 .recognition-award-detail strong { font-size: .73rem !important; }
  .portfolio-review-v50 .recognition-award-detail small { font-size: .62rem !important; }
  .portfolio-review-v50 .recognition-award-year { font-size: .53rem !important; }
  .portfolio-review-v50 .recognition-award-out { flex-basis: 16px !important; width:16px !important; min-width:16px !important; }
}


/* VERSION 29 — readable type scale, restrained glass and purposeful motion.
   These floors intentionally override legacy micro-type rules across the site. */
body.portfolio-review-v50 {
  font-size: 16px !important;
  line-height: 1.68 !important;
}
.portfolio-review-v50 h1,
.portfolio-review-v50 h2,
.portfolio-review-v50 h3,
.portfolio-review-v50 h4,
.portfolio-review-v50 .featured-work-title,
.portfolio-review-v50 .essay-card-title,
.portfolio-review-v50 .photo-caption-title {
  font-weight: 400 !important;
  letter-spacing: .01em !important;
}
/* Utility labels remain understated, but should never collapse to tiny lettering. */
.portfolio-review-v50 .eyebrow,
.portfolio-review-v50 .selected-work-caption .eyebrow,
.portfolio-review-v50 .home-essay-copy .eyebrow,
.portfolio-review-v50 .home-gallery-card > span,
.portfolio-review-v50 .home-prints-copy > .eyebrow,
.portfolio-review-v50 .home-recognition-grid .eyebrow,
.portfolio-review-v50 .photo-essays-index .essay-copy .eyebrow,
.portfolio-review-v50 .recognition-photo-group-copy > .eyebrow,
.portfolio-review-v50 .recognition-award-year,
.portfolio-review-v50 .featured-work-counter,
.portfolio-review-v50 .featured-work-scroll-hint,
.portfolio-review-v50 .essay-photo-count,
.portfolio-review-v50 .essay-viewer-total,
.portfolio-review-v50 .print-process-grid article > span,
.portfolio-review-v50 .home-print-card-framed figcaption span,
.portfolio-review-v50 .photo-caption-place,
.portfolio-review-v50 .portfolio-footer-v20 .copyright {
  font-size: 11.5px !important;
  line-height: 1.5 !important;
  letter-spacing: .11em !important;
}
.portfolio-review-v50 .primary-nav a,
.portfolio-review-v50 .footer-links a,
.portfolio-review-v50 .footer-icon-link,
.portfolio-review-v50 .essay-viewer-control,
.portfolio-review-v50 .photo-lightbox-caption small,
.portfolio-review-v50 .photo-lightbox-add,
.portfolio-review-v50 .photo-basket,
.portfolio-review-v50 .photo-basket strong,
.portfolio-review-v50 .print-process-review-link,
.portfolio-review-v50 .home-essay-copy .text-link,
.portfolio-review-v50 .home-prints-copy .text-link,
.portfolio-review-v50 .contact-social-note,
.portfolio-review-v50 .essay-viewer-hint,
.portfolio-review-v50 .essay-viewer-thumb-number {
  font-size: 12px !important;
  line-height: 1.5 !important;
}
/* Actual reading copy: comfortably readable desktop and mobile sizes. */
.portfolio-review-v50 .heading-side-note,
.portfolio-review-v50 .essay-copy > p:not(.eyebrow),
.portfolio-review-v50 .home-essay-copy > p:not(.eyebrow),
.portfolio-review-v50 .home-prints-copy > p:not(.eyebrow),
.portfolio-review-v50 .home-prints-lane p:not(.eyebrow),
.portfolio-review-v50 .photo-essays-index .essay-copy > p:not(.eyebrow),
.portfolio-review-v50 .recognition-group-summary,
.portfolio-review-v50 .recognition-photo-group-copy > p:not(.eyebrow),
.portfolio-review-v50 .prints-page-hero > p:not(.eyebrow),
.portfolio-review-v50 .print-process-grid article p,
.portfolio-review-v50 .about-page-body p,
.portfolio-review-v50 .contact-copy > p:not(.eyebrow),
.portfolio-review-v50 .contact-aside > p:not(.eyebrow),
.portfolio-review-v50 .home-gallery-card b {
  font-size: 15px !important;
  line-height: 1.72 !important;
}
.portfolio-review-v50 .recognition-award-detail strong {
  font-size: 14px !important;
  line-height: 1.5 !important;
  letter-spacing: .005em !important;
}
.portfolio-review-v50 .recognition-award-detail small {
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  letter-spacing: .005em !important;
}
.portfolio-review-v50 .enquiry-field label { font-size: 14px !important; }
.portfolio-review-v50 .enquiry-field input,
.portfolio-review-v50 .enquiry-field select,
.portfolio-review-v50 .enquiry-field textarea { font-size: 16px !important; }
.portfolio-review-v50 .home-print-card-framed figcaption strong { font-size: 16px !important; line-height: 1.25 !important; }
.portfolio-review-v50 .home-recognition-grid article p:last-child { font-size: 13px !important; line-height: 1.5 !important; }
.portfolio-review-v50 .photo-lightbox-caption strong { font-size: clamp(1.2rem, 1.8vw, 1.6rem) !important; }
.portfolio-review-v50 .photo-action { min-width: 34px !important; min-height: 34px !important; }

/* Restrained glass: apply to navigation and controls, never over the photograph itself. */
.portfolio-review-v50 .site-header.scrolled {
  background: rgba(26, 26, 26, .76) !important;
  border-bottom: 1px solid rgba(196, 164, 132, .18) !important;
  backdrop-filter: blur(16px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(118%) !important;
  box-shadow: 0 5px 24px rgba(0,0,0,.08) !important;
}
.portfolio-review-v50 .photo-actions:not(.photo-lightbox-actions) .photo-action,
.portfolio-review-v50 .photo-lightbox-actions .photo-action,
.portfolio-review-v50 .photo-lightbox-close,
.portfolio-review-v50 .photo-lightbox-step {
  background: rgba(24, 28, 24, .40) !important;
  border-color: rgba(245, 245, 239, .22) !important;
  backdrop-filter: blur(8px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(118%) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.12) !important;
}
.portfolio-review-v50 .photo-actions:not(.photo-lightbox-actions) .photo-action:hover,
.portfolio-review-v50 .photo-actions:not(.photo-lightbox-actions) .photo-action:focus-visible,
.portfolio-review-v50 .photo-lightbox-actions .photo-action:hover,
.portfolio-review-v50 .photo-lightbox-actions .photo-action:focus-visible,
.portfolio-review-v50 .photo-lightbox-close:hover,
.portfolio-review-v50 .photo-lightbox-step:hover {
  background: rgba(24, 28, 24, .78) !important;
  border-color: rgba(196, 164, 132, .72) !important;
}
.portfolio-review-v50 .photo-lightbox-filmstrip,
.portfolio-review-v50 .photo-lightbox-meta {
  background: rgba(26, 26, 26, .72) !important;
  backdrop-filter: blur(12px) saturate(112%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(112%) !important;
}

/* Quiet image feedback: micro-scale only, with native page scroll unchanged. */
@media (hover: hover) and (pointer: fine) {
  .portfolio-review-v50 .home-gallery-card img,
  .portfolio-review-v50 .home-print-card-framed > a img,
  .portfolio-review-v50 .gallery-index-card .gallery-index-image,
  .portfolio-review-v50 .photo-essays-index .essay-image img {
    transition: transform .55s cubic-bezier(.2,.65,.25,1), filter .55s ease !important;
  }
  .portfolio-review-v50 .home-gallery-card:hover img,
  .portfolio-review-v50 .home-print-card-framed:hover > a img,
  .portfolio-review-v50 .gallery-index-card:hover .gallery-index-image,
  .portfolio-review-v50 .photo-essays-index .essay-index-row:hover .essay-image img {
    transform: scale(1.012) !important;
  }
}
@supports not ((backdrop-filter: blur(2px))) {
  .portfolio-review-v50 .site-header.scrolled { background: rgba(26,26,26,.96) !important; }
  .portfolio-review-v50 .photo-actions .photo-action,
  .portfolio-review-v50 .photo-lightbox-actions .photo-action,
  .portfolio-review-v50 .photo-lightbox-close,
  .portfolio-review-v50 .photo-lightbox-step,
  .portfolio-review-v50 .photo-lightbox-filmstrip,
  .portfolio-review-v50 .photo-lightbox-meta { background: rgba(26,26,26,.94) !important; }
}
@media (max-width: 640px) {
  .portfolio-review-v50 .eyebrow,
  .portfolio-review-v50 .selected-work-caption .eyebrow,
  .portfolio-review-v50 .home-essay-copy .eyebrow,
  .portfolio-review-v50 .home-gallery-card > span,
  .portfolio-review-v50 .home-prints-copy > .eyebrow,
  .portfolio-review-v50 .home-recognition-grid .eyebrow,
  .portfolio-review-v50 .photo-essays-index .essay-copy .eyebrow,
  .portfolio-review-v50 .recognition-photo-group-copy > .eyebrow,
  .portfolio-review-v50 .recognition-award-year,
  .portfolio-review-v50 .featured-work-counter,
  .portfolio-review-v50 .featured-work-scroll-hint,
  .portfolio-review-v50 .essay-photo-count,
  .portfolio-review-v50 .essay-viewer-total,
  .portfolio-review-v50 .home-print-card-framed figcaption span,
  .portfolio-review-v50 .portfolio-footer-v20 .copyright { font-size: 11px !important; }
  .portfolio-review-v50 .heading-side-note,
  .portfolio-review-v50 .essay-copy > p:not(.eyebrow),
  .portfolio-review-v50 .home-essay-copy > p:not(.eyebrow),
  .portfolio-review-v50 .home-prints-copy > p:not(.eyebrow),
  .portfolio-review-v50 .home-prints-lane p:not(.eyebrow),
  .portfolio-review-v50 .photo-essays-index .essay-copy > p:not(.eyebrow),
  .portfolio-review-v50 .recognition-group-summary,
  .portfolio-review-v50 .recognition-photo-group-copy > p:not(.eyebrow),
  .portfolio-review-v50 .prints-page-hero > p:not(.eyebrow),
  .portfolio-review-v50 .print-process-grid article p,
  .portfolio-review-v50 .about-page-body p,
  .portfolio-review-v50 .contact-copy > p:not(.eyebrow),
  .portfolio-review-v50 .contact-aside > p:not(.eyebrow),
  .portfolio-review-v50 .home-gallery-card b { font-size: 14px !important; line-height: 1.7 !important; }
  .portfolio-review-v50 .recognition-award-detail strong { font-size: 13.5px !important; }
  .portfolio-review-v50 .recognition-award-detail small { font-size: 12px !important; }
  .portfolio-review-v50 .photo-lightbox-caption small { font-size: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .portfolio-review-v50 .home-gallery-card img,
  .portfolio-review-v50 .home-print-card-framed > a img,
  .portfolio-review-v50 .gallery-index-card .gallery-index-image,
  .portfolio-review-v50 .photo-essays-index .essay-image img { transition: none !important; }
}


/* Version 30 — raise small metadata labels to a genuinely readable size. */
body.portfolio-review-v50 .eyebrow,
body.portfolio-review-v50 .selected-work-caption .eyebrow,
body.portfolio-review-v50 .home-essay-copy .eyebrow,
body.portfolio-review-v50 .home-gallery-card > span,
body.portfolio-review-v50 .home-prints-copy > .eyebrow,
body.portfolio-review-v50 .home-recognition-grid .eyebrow,
body.portfolio-review-v50 .photo-essays-index .essay-copy .eyebrow,
body.portfolio-review-v50 .recognition-photo-group-copy > .eyebrow,
body.portfolio-review-v50 .recognition-award-year,
body.portfolio-review-v50 .featured-work-counter,
body.portfolio-review-v50 .featured-work-scroll-hint,
body.portfolio-review-v50 .essay-photo-count,
body.portfolio-review-v50 .essay-viewer-total,
body.portfolio-review-v50 .home-lane-cta > span,
body.portfolio-review-v50 .photo-caption-place,
body.portfolio-review-v50 .caption-place,
body.portfolio-review-v50 .hero-location,
body.portfolio-review-v50 .print-process-grid article > span,
body.portfolio-review-v50 .home-print-card-framed figcaption span,
body.portfolio-review-v50 .portfolio-footer-v20 .copyright,
body.portfolio-review-v50 .gallery-index-card .gallery-index-category,
body.portfolio-review-v50 .gallery-index-card .gallery-index-meta,
body.portfolio-review-v50 .essay-viewer-hint,
body.portfolio-review-v50 .essay-viewer-thumb-number {
  font-size: 13px !important;
  line-height: 1.55 !important;
  letter-spacing: .065em !important;
}
body.portfolio-review-v50 .selected-work-caption .caption-place,
body.portfolio-review-v50 .photo-caption-place,
body.portfolio-review-v50 .home-print-card-framed figcaption strong {
  font-size: 14px !important;
  line-height: 1.45 !important;
  letter-spacing: .015em !important;
}
body.portfolio-review-v50 .essay-photo-count,
body.portfolio-review-v50 .home-essay-copy .essay-photo-count,
body.portfolio-review-v50 .photo-essays-index .essay-copy .essay-photo-count,
body.portfolio-review-v50 .home-lane-cta > span {
  font-size: 13px !important;
  line-height: 1.6 !important;
  letter-spacing: .025em !important;
  color: #b6b8af !important;
}
body.portfolio-review-v50 .recognition-award-detail small,
body.portfolio-review-v50 .home-recognition-grid article p:last-child,
body.portfolio-review-v50 .photo-lightbox-caption small,
body.portfolio-review-v50 .home-print-card-framed figcaption span,
body.portfolio-review-v50 .home-gallery-card b {
  font-size: 13px !important;
  line-height: 1.55 !important;
  letter-spacing: .015em !important;
}
body.portfolio-review-v50 .home-essay-copy .text-link,
body.portfolio-review-v50 .photo-essays-index .essay-copy .text-link,
body.portfolio-review-v50 .print-process-review-link,
body.portfolio-review-v50 .primary-nav a,
body.portfolio-review-v50 .footer-links a {
  font-size: 12.5px !important;
  letter-spacing: .075em !important;
}
@media (max-width: 640px) {
  body.portfolio-review-v50 .eyebrow,
  body.portfolio-review-v50 .selected-work-caption .eyebrow,
  body.portfolio-review-v50 .home-essay-copy .eyebrow,
  body.portfolio-review-v50 .home-gallery-card > span,
  body.portfolio-review-v50 .home-prints-copy > .eyebrow,
  body.portfolio-review-v50 .home-recognition-grid .eyebrow,
  body.portfolio-review-v50 .photo-essays-index .essay-copy .eyebrow,
  body.portfolio-review-v50 .recognition-photo-group-copy > .eyebrow,
  body.portfolio-review-v50 .recognition-award-year,
  body.portfolio-review-v50 .featured-work-counter,
  body.portfolio-review-v50 .featured-work-scroll-hint,
  body.portfolio-review-v50 .essay-photo-count,
  body.portfolio-review-v50 .essay-viewer-total,
  body.portfolio-review-v50 .home-lane-cta > span,
  body.portfolio-review-v50 .photo-caption-place,
  body.portfolio-review-v50 .caption-place,
  body.portfolio-review-v50 .hero-location,
  body.portfolio-review-v50 .print-process-grid article > span,
  body.portfolio-review-v50 .home-print-card-framed figcaption span,
  body.portfolio-review-v50 .portfolio-footer-v20 .copyright,
  body.portfolio-review-v50 .gallery-index-card .gallery-index-category,
  body.portfolio-review-v50 .gallery-index-card .gallery-index-meta,
  body.portfolio-review-v50 .essay-viewer-hint,
  body.portfolio-review-v50 .essay-viewer-thumb-number {
    font-size: 12px !important;
    line-height: 1.55 !important;
    letter-spacing: .04em !important;
  }
  body.portfolio-review-v50 .selected-work-caption .caption-place,
  body.portfolio-review-v50 .photo-caption-place,
  body.portfolio-review-v50 .home-print-card-framed figcaption strong,
  body.portfolio-review-v50 .recognition-award-detail small,
  body.portfolio-review-v50 .home-recognition-grid article p:last-child,
  body.portfolio-review-v50 .photo-lightbox-caption small,
  body.portfolio-review-v50 .home-gallery-card b {
    font-size: 13px !important;
  }
  body.portfolio-review-v50 .home-essay-copy > p:not(.eyebrow),
  body.portfolio-review-v50 .photo-essays-index .essay-copy > p:not(.eyebrow) {
    font-size: 15px !important;
  }
}


/* VERSION 31 — three restrained effects: frosted UI glass, scroll-led featured work, and quiet reveals. */
body.portfolio-review-v50 .site-header {
  transition: background-color .32s ease, border-color .32s ease, box-shadow .32s ease, backdrop-filter .32s ease !important;
}
body.portfolio-review-v50 .site-header.scrolled {
  background: rgba(26, 26, 26, .70) !important;
  border-bottom-color: rgba(196, 164, 132, .20) !important;
  backdrop-filter: blur(18px) saturate(128%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(128%) !important;
  box-shadow: 0 6px 26px rgba(0,0,0,.12) !important;
}
body.portfolio-review-v50 .primary-nav.open {
  background: rgba(26, 26, 26, .91) !important;
  backdrop-filter: blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
}
body.portfolio-review-v50 .photo-actions:not(.photo-lightbox-actions) .photo-action,
body.portfolio-review-v50 .photo-lightbox-actions .photo-action,
body.portfolio-review-v50 .photo-lightbox-close,
body.portfolio-review-v50 .photo-lightbox-step {
  background: rgba(26, 26, 26, .36) !important;
  border-color: rgba(245, 245, 239, .26) !important;
  backdrop-filter: blur(9px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(9px) saturate(120%) !important;
  transition: background-color .24s ease, border-color .24s ease, opacity .24s ease, transform .24s ease !important;
}
body.portfolio-review-v50 .photo-actions:not(.photo-lightbox-actions) .photo-action:hover,
body.portfolio-review-v50 .photo-actions:not(.photo-lightbox-actions) .photo-action:focus-visible,
body.portfolio-review-v50 .photo-lightbox-actions .photo-action:hover,
body.portfolio-review-v50 .photo-lightbox-actions .photo-action:focus-visible,
body.portfolio-review-v50 .photo-lightbox-close:hover,
body.portfolio-review-v50 .photo-lightbox-step:hover:not(:disabled) {
  background: rgba(26, 26, 26, .78) !important;
  border-color: rgba(196, 164, 132, .78) !important;
  transform: translateY(-1px) !important;
}
body.portfolio-review-v50 .photo-lightbox-filmstrip,
body.portfolio-review-v50 .photo-lightbox-meta {
  background: rgba(26, 26, 26, .66) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
}
@supports not ((backdrop-filter: blur(2px))) {
  body.portfolio-review-v50 .site-header.scrolled,
  body.portfolio-review-v50 .primary-nav.open,
  body.portfolio-review-v50 .photo-actions .photo-action,
  body.portfolio-review-v50 .photo-lightbox-actions .photo-action,
  body.portfolio-review-v50 .photo-lightbox-close,
  body.portfolio-review-v50 .photo-lightbox-step,
  body.portfolio-review-v50 .photo-lightbox-filmstrip,
  body.portfolio-review-v50 .photo-lightbox-meta { background-color: rgba(26,26,26,.96) !important; }
}

/* The horizontal rail follows native vertical scrolling; the centered card receives focus without hiding its neighbours. */
body.portfolio-review-v50 .featured-work-sticky { isolation: isolate; }
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
  perspective: 1200px;
  transform: translate3d(var(--horizontal-work-shift, 0px), 0, 0);
}
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card {
  opacity: .52 !important;
  filter: grayscale(.66) brightness(.67) !important;
  transform: scale(.91) !important;
  transform-origin: center center;
  transition: opacity .38s ease, filter .42s ease, transform .46s cubic-bezier(.2,.7,.2,1) !important;
  will-change: opacity, filter, transform;
}
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card.is-active {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1.025) !important;
  z-index: 3 !important;
}
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img {
  transition: transform .42s cubic-bezier(.2,.7,.2,1), filter .42s ease !important;
}
@media (hover: hover) and (pointer: fine) {
  body.portfolio-review-v50 .selected-work-card:hover .selected-work-image-wrap > img,
  body.portfolio-review-v50 .selected-work-card:focus-within .selected-work-image-wrap > img {
    transform: translate3d(0, var(--scroll-drift, 0px), 0) scale(1.028) !important;
    filter: saturate(1.025) !important;
  }
}

/* Section reveals are short, low-distance and progressive; visible content is never dependent on motion support. */
body.portfolio-review-v50 [data-reveal].is-reveal-ready {
  transform: translate3d(0, 15px, 0) !important;
  transition: opacity .58s ease, transform .58s cubic-bezier(.2,.65,.25,1) !important;
}
body.portfolio-review-v50 [data-reveal="work"] { transition-delay: calc(var(--reveal-order, 0) * 45ms) !important; }
body.portfolio-review-v50 [data-reveal="essay"] { transition-delay: calc(var(--reveal-order, 0) * 70ms) !important; }
body.portfolio-review-v50 [data-reveal].is-reveal-ready.is-visible { transform: translate3d(0,0,0) !important; }
@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .site-header,
  body.portfolio-review-v50 .photo-actions .photo-action,
  body.portfolio-review-v50 .photo-lightbox-actions .photo-action,
  body.portfolio-review-v50 .photo-lightbox-close,
  body.portfolio-review-v50 .photo-lightbox-step,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img,
  body.portfolio-review-v50 [data-reveal].is-reveal-ready {
    transition: none !important;
    transform: none !important;
  }
  
}


/* VERSION 32 — clearer glass, balanced Featured Work proportions, and more perceptible but quiet reveals. */
body.portfolio-review-v50 .site-header {
  background: rgba(26, 26, 26, .22) !important;
  border-bottom-color: rgba(196, 164, 132, .20) !important;
  backdrop-filter: blur(12px) saturate(128%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(128%) !important;
  transition: background .32s ease, border-color .32s ease, box-shadow .32s ease, backdrop-filter .32s ease !important;
}
body.portfolio-review-v50 .site-header.scrolled {
  background: linear-gradient(180deg, rgba(245, 245, 239, .085) 0%, rgba(26, 26, 26, .58) 100%) !important;
  border-bottom-color: rgba(196, 164, 132, .34) !important;
  backdrop-filter: blur(24px) saturate(142%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(142%) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .17), inset 0 1px 0 rgba(245, 245, 239, .055) !important;
}

/* On desktop, make the horizontal sequence editorial rather than panoramic. Keep each image uncropped. */
@media (min-width: 761px) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
    flex: 0 0 clamp(500px, 58vw, 900px) !important;
    width: clamp(500px, 58vw, 900px) !important;
    max-width: 900px !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
    padding-left: max(0px, calc((100vw - clamp(500px, 58vw, 900px)) / 2 - var(--gutter))) !important;
    padding-right: max(0px, calc((100vw - clamp(500px, 58vw, 900px)) / 2 - var(--gutter))) !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap {
    height: auto !important;
    max-height: min(58svh, 560px) !important;
    aspect-ratio: 1.58 / 1 !important;
    background: #151815 !important;
    overflow: hidden !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #151815 !important;
    transform: none !important;
    transition: transform .32s ease, filter .32s ease !important;
  }
  @media (hover: hover) and (pointer: fine) {
    body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:hover .selected-work-image-wrap > img,
    body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:focus-within .selected-work-image-wrap > img {
      transform: scale(1.012) !important;
    }
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
    flex-basis: min(66vw, 720px) !important;
    width: min(66vw, 720px) !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap {
    max-height: 52svh !important;
  }
}

@media (max-width: 760px) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }
}

/* Keep the section reveal easy to perceive, but limited to the first entrance into view. */
body.portfolio-review-v50 [data-reveal].is-reveal-ready {
  transform: translate3d(0, 22px, 0) !important;
  transition: opacity .68s ease, transform .68s cubic-bezier(.2, .65, .25, 1) !important;
}
body.portfolio-review-v50 [data-reveal].is-reveal-ready.is-visible {
  transform: translate3d(0, 0, 0) !important;
}
body.portfolio-review-v50 [data-reveal="work"] { transition-delay: calc(var(--reveal-order, 0) * 55ms) !important; }
body.portfolio-review-v50 [data-reveal="essay"] { transition-delay: calc(var(--reveal-order, 0) * 75ms) !important; }

@supports not ((backdrop-filter: blur(2px))) {
  body.portfolio-review-v50 .site-header { background: rgba(26, 26, 26, .92) !important; }
  body.portfolio-review-v50 .site-header.scrolled { background: rgba(26, 26, 26, .96) !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .site-header,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img,
  body.portfolio-review-v50 [data-reveal].is-reveal-ready {
    transition: none !important;
    transform: none !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card {
    opacity: 1 !important; filter: none !important;
  }
}


/* VERSION 33 — calmer image treatment, tighter Featured Work spacing, compact viewer captions,
   left-side essay thumbnails, and dated recognition entries in source chronology. */
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
  gap: clamp(.7rem, 1.15vw, 1.1rem) !important;
}
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
  transition: opacity .38s ease, filter .42s ease, transform .46s cubic-bezier(.2,.7,.2,1), flex-basis .35s ease !important;
}



/* Full-screen viewer: title and frame count share one clean baseline. */
body.portfolio-review-v50 .photo-lightbox-caption {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: .7rem 1.2rem !important;
  width: 100% !important;
}
body.portfolio-review-v50 .photo-lightbox-caption strong {
  display: block !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
}
body.portfolio-review-v50 .photo-lightbox-caption small {
  display: block !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  margin: 0 !important;
  font-size: 12px !important;
  letter-spacing: .06em !important;
  font-variant-numeric: tabular-nums !important;
  color: #b7bdb3 !important;
}

/* Individual essays use a different composition from Work: thumbnail rail on the left. */
@media (min-width: 761px) {
  body.portfolio-review-v50 .essay-viewer-layout {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: clamp(1.1rem, 2.1vw, 2rem) !important;
    align-items: start !important;
  }
  body.portfolio-review-v50 .essay-viewer-rail {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-height: min(70svh, 840px) !important;
    padding-right: .3rem !important;
  }
  body.portfolio-review-v50 .essay-viewer-main {
    grid-column: 2 !important;
    min-width: 0 !important;
  }
  body.portfolio-review-v50 .essay-viewer-thumb {
    width: 100% !important;
    aspect-ratio: 1.42 / 1 !important;
    transition: opacity .22s ease, border-color .22s ease, transform .22s ease !important;
  }
  body.portfolio-review-v50 .essay-viewer-thumb.is-active {
    transform: translateX(2px) !important;
  }
}
@media (max-width: 760px) {
  body.portfolio-review-v50 .essay-viewer-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.portfolio-review-v50 .essay-viewer-main,
  body.portfolio-review-v50 .essay-viewer-rail {
    grid-column: 1 !important;
  }
  body.portfolio-review-v50 .essay-viewer-rail {
    grid-row: 2 !important;
    flex-direction: row !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
}

/* Chronology on Recognition follows the month/year headings on the original portfolio. */
body.portfolio-review-v50 .recognition-photo-group-copy {
  min-width: 0 !important;
}
body.portfolio-review-v50 .recognition-group-date {
  margin: 0 0 .55rem !important;
  color: #c4a484 !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  letter-spacing: .095em !important;
  text-transform: uppercase !important;
}
body.portfolio-review-v50 .recognition-photo-group-copy > .eyebrow {
  margin-bottom: .35rem !important;
}
@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .essay-viewer-thumb {
    transition: none !important;
    transform: none !important;
  }
}


/* VERSION 34 — unified Work gallery, narrower Featured Work spacing, and photo-aligned viewer captions. */
@media (min-width: 761px) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
    flex: 0 0 clamp(470px, 48vw, 740px) !important;
    width: clamp(470px, 48vw, 740px) !important;
    max-width: 740px !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
    gap: clamp(.2rem, .35vw, .45rem) !important;
    padding-left: max(0px, calc((100vw - clamp(470px, 48vw, 740px)) / 2 - var(--gutter))) !important;
    padding-right: max(0px, calc((100vw - clamp(470px, 48vw, 740px)) / 2 - var(--gutter))) !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap {
    max-height: min(56svh, 520px) !important;
    aspect-ratio: 1.58 / 1 !important;
  }
}

/* Work becomes one curated collection; category chips filter the same image sequence in place. */
body.portfolio-review-v50 .all-work-hero .gallery-page-deck { max-width: 54rem !important; }
body.portfolio-review-v50 .all-work-browser { padding-top: .8rem !important; }
body.portfolio-review-v50 .work-filter-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .5rem !important;
  margin: 0 0 1rem !important;
  padding: 0 0 1rem !important;
  border-bottom: 1px solid rgba(223,229,218,.14) !important;
}
body.portfolio-review-v50 .work-filter-chip {
  appearance: none !important;
  border: 1px solid rgba(223,229,218,.2) !important;
  border-radius: 999px !important;
  background: rgba(26,26,26,.12) !important;
  color: #b9c0b6 !important;
  padding: .58rem .84rem !important;
  font: 400 12px/1.25 "DM Sans", Arial, sans-serif !important;
  letter-spacing: .025em !important;
  cursor: pointer !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease !important;
}
body.portfolio-review-v50 .work-filter-chip:hover,
body.portfolio-review-v50 .work-filter-chip:focus-visible {
  border-color: rgba(196,164,132,.68) !important;
  color: #f0eee7 !important;
  outline: none !important;
}
body.portfolio-review-v50 .work-filter-chip[aria-pressed="true"] {
  background: rgba(196,164,132,.13) !important;
  border-color: rgba(196,164,132,.68) !important;
  color: #e2c6a7 !important;
}
body.portfolio-review-v50 .work-results-count {
  margin: 0 0 1.2rem !important;
  color: #aeb8ad !important;
  font: 400 13px/1.45 "DM Sans", Arial, sans-serif !important;
  letter-spacing: .02em !important;
}
body.portfolio-review-v50 .all-work-grid {
  display: block !important;
  columns: 3 !important;
  column-gap: clamp(.9rem, 1.6vw, 1.55rem) !important;
  width: 100% !important;
  padding: 0 !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo {
  display: inline-block !important;
  width: 100% !important;
  margin: 0 0 clamp(1.1rem, 1.8vw, 1.65rem) !important;
  padding: 0 !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
  vertical-align: top !important;
}

body.portfolio-review-v50 .all-work-grid .gallery-photo-frame {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #171b17 !important;
  border: 1px solid rgba(221,226,215,.11) !important;
}
body.portfolio-review-v50 .all-work-grid .gallery-photo-frame > img {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: saturate(.96) contrast(.97) !important;
  transition: opacity .28s ease, transform .5s cubic-bezier(.2,.7,.2,1) !important;
}
body.portfolio-review-v50 .all-work-grid .gallery-photo-frame:hover > img,
body.portfolio-review-v50 .all-work-grid .gallery-photo-frame:focus-within > img { transform: scale(1.012) !important; }
body.portfolio-review-v50 .all-work-grid .photo-actions { z-index: 2 !important; }
body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .25rem !important;
  padding-top: .55rem !important;
  color: #e8e6de !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption .caption-title {
  color: #e9e7df !important;
  font: 400 clamp(1rem, 1.25vw, 1.23rem)/1.2 "Italiana", Georgia, serif !important;
  letter-spacing: .005em !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption .caption-place {
  color: #aeb8ad !important;
  font: 400 11.5px/1.35 "DM Sans", Arial, sans-serif !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
body.portfolio-review-v50 .all-work-end {
  margin: 2.5rem clamp(1rem, 6.3vw, 6.5rem) 4rem !important;
  padding: 2rem 0 0 !important;
  border-top: 1px solid rgba(223,229,218,.15) !important;
}
body.portfolio-review-v50 .all-work-end h2 {
  margin: .3rem 0 .7rem !important;
  font: 400 clamp(2rem, 4vw, 3.8rem)/1.04 "Italiana", Georgia, serif !important;
}
body.portfolio-review-v50 .all-work-end > p:not(.eyebrow) { max-width: 38rem !important; color: #aeb8ad !important; font-size: 15px !important; line-height: 1.65 !important; }

/* Keep the image count first and the caption second, aligned to the actual image edges. */
body.portfolio-review-v50 .photo-lightbox-meta {
  justify-content: flex-start !important;
  align-items: baseline !important;
  min-width: 0 !important;
  margin-top: 0 !important;
  padding: .5rem 0 .1rem !important;
  border-top: 0 !important;
  gap: 0 !important;
}
body.portfolio-review-v50 .photo-lightbox-caption {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  gap: .7rem !important;
  width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
body.portfolio-review-v50 .photo-lightbox-caption small {
  order: 0 !important;
  flex: 0 0 auto !important;
  display: inline-block !important;
  margin: 0 !important;
  font: 400 12px/1.2 "DM Sans", Arial, sans-serif !important;
  color: #aeb8ad !important;
  letter-spacing: .045em !important;
}
body.portfolio-review-v50 .photo-lightbox-caption strong {
  order: 1 !important;
  display: inline-block !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font: 400 clamp(1rem, 1.55vw, 1.38rem)/1.2 "Italiana", Georgia, serif !important;
  letter-spacing: .005em !important;
}
@media (max-width: 1050px) {
  body.portfolio-review-v50 .all-work-grid { columns: 2 !important; }
}
@media (max-width: 600px) {
  body.portfolio-review-v50 .all-work-grid { columns: 1 !important; }
  body.portfolio-review-v50 .work-filter-bar { gap: .4rem !important; }
  body.portfolio-review-v50 .work-filter-chip { padding: .54rem .68rem !important; font-size: 12px !important; }
  body.portfolio-review-v50 .all-work-end { margin: 2rem 1rem 3rem !important; }
  body.portfolio-review-v50 .photo-lightbox-caption { gap: .5rem !important; }
  body.portfolio-review-v50 .photo-lightbox-caption strong { font-size: 1rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .all-work-grid .gallery-photo-frame > img,
  body.portfolio-review-v50 .work-filter-chip { transition: none !important; transform: none !important; }
}


/* VERSION 35 — quieter two-column editorial gallery and image-aligned lightbox title. */
body.portfolio-review-v50 .all-work-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  columns: auto !important;
  column-count: initial !important;
  column-gap: 0 !important;
  gap: clamp(1.8rem, 3vw, 3rem) clamp(1.1rem, 2.2vw, 2.25rem) !important;
  align-items: start !important;
  grid-auto-flow: row !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  break-inside: auto !important;
  page-break-inside: auto !important;
  align-self: start !important;
  min-width: 0 !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo[hidden] {
  display: none !important;
}
body.portfolio-review-v50 .all-work-grid .gallery-photo-frame {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
}
body.portfolio-review-v50 .all-work-grid .gallery-photo-frame > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption {
  padding-top: .7rem !important;
  gap: .28rem !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption .caption-title {
  font-size: clamp(1.12rem, 1.55vw, 1.48rem) !important;
  line-height: 1.17 !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption .caption-place {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* The count stays at the far left; the title aligns with the visible photo's left edge. */
body.portfolio-review-v50 .photo-lightbox-meta {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  padding: .55rem 0 .2rem !important;
  overflow: hidden !important;
}
body.portfolio-review-v50 .photo-lightbox-caption {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
body.portfolio-review-v50 .photo-lightbox-caption small {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  order: initial !important;
  flex: 0 0 auto !important;
  display: inline-block !important;
  margin: 0 !important;
  font: 400 12px/1.2 "DM Sans", Arial, sans-serif !important;
  color: #aeb8ad !important;
  letter-spacing: .045em !important;
}
body.portfolio-review-v50 .photo-lightbox-caption strong {
  order: initial !important;
  display: inline-block !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 1rem) !important;
  margin-left: var(--photo-caption-image-offset, 0px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font: 400 clamp(1rem, 1.55vw, 1.38rem)/1.2 "Italiana", Georgia, serif !important;
  letter-spacing: .005em !important;
}
@media (max-width: 640px) {
  body.portfolio-review-v50 .all-work-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.9rem !important;
  }
  body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption .caption-title {
    font-size: 1.25rem !important;
  }
  body.portfolio-review-v50 .photo-lightbox-caption strong {
    font-size: clamp(.98rem, 4vw, 1.15rem) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .all-work-grid .gallery-photo-frame > img {
    transition: none !important;
  }
}


/* VERSION 37 — featured essays stacked vertically: larger photo sequence on the left, story copy on the right. */
body.portfolio-review-v50 .home-essays-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(3.25rem, 6.2vw, 5.6rem) !important;
  align-items: stretch !important;
}
body.portfolio-review-v50 .home-essay-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.22fr) minmax(270px, .78fr) !important;
  align-items: center !important;
  gap: clamp(1.8rem, 4.2vw, 4rem) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(1.2rem, 2vw, 1.8rem) 0 0 !important;
  border-top: 1px solid rgba(196,164,132,.24) !important;
}
body.portfolio-review-v50 .home-essay-media.home-essay-media--single {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  align-content: start !important;
  gap: clamp(.4rem, .75vw, .7rem) !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}
body.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap:first-child {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.58 / 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
body.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap.home-essay-mini {
  grid-column: auto !important;
  grid-row: 2 !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.42 / 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
body.portfolio-review-v50 .home-essay-media .home-essay-thumb-wrap .home-essay-thumb {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
body.portfolio-review-v50 .home-essay-media .home-essay-thumb-wrap .home-essay-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .55s cubic-bezier(.2,.65,.2,1), opacity .3s ease !important;
}
body.portfolio-review-v50 .home-essay-media .home-essay-thumb-wrap .home-essay-thumb:hover img,
body.portfolio-review-v50 .home-essay-media .home-essay-thumb-wrap .home-essay-thumb:focus-visible img {
  transform: scale(1.018) !important;
  opacity: .95 !important;
}
body.portfolio-review-v50 .home-essay-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  align-self: center !important;
  width: 100% !important;
  max-width: 32rem !important;
  min-width: 0 !important;
  padding: .25rem 0 !important;
  margin: 0 !important;
}
body.portfolio-review-v50 .home-essay-copy .eyebrow {
  margin: 0 0 .8rem !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  letter-spacing: .13em !important;
}
body.portfolio-review-v50 .home-essay-copy h3 {
  margin: 0 0 .9rem !important;
  font-size: clamp(1.8rem, 2.65vw, 2.9rem) !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  letter-spacing: -.012em !important;
}
body.portfolio-review-v50 .home-essay-copy > p:not(.eyebrow) {
  max-width: 31rem !important;
  margin: 0 0 1rem !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
}
body.portfolio-review-v50 .home-essay-copy .essay-photo-count {
  margin: .1rem 0 1.15rem !important;
  color: #c0c9bd !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
body.portfolio-review-v50 .home-essay-copy .text-link {
  margin-top: .15rem !important;
  font-size: 12px !important;
}
body.portfolio-review-v50 .home-essay-media .photo-actions {
  right: .65rem !important;
  bottom: .65rem !important;
}
@media (max-width: 850px) {
  body.portfolio-review-v50 .home-essay-card {
    grid-template-columns: minmax(0, 1.08fr) minmax(230px, .92fr) !important;
    gap: 1.5rem !important;
  }
  body.portfolio-review-v50 .home-essay-copy h3 {
    font-size: clamp(1.6rem, 3.2vw, 2.3rem) !important;
  }
}
@media (max-width: 700px) {
  body.portfolio-review-v50 .home-essays-grid {
    gap: 2.7rem !important;
  }
  body.portfolio-review-v50 .home-essay-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1.1rem !important;
    padding-top: 1.05rem !important;
  }
  body.portfolio-review-v50 .home-essay-media.home-essay-media--single {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .35rem !important;
  }
  body.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap:first-child {
    aspect-ratio: 1.34 / 1 !important;
  }
  body.portfolio-review-v50 .home-essay-media.home-essay-media--single > .home-essay-thumb-wrap.home-essay-mini {
    aspect-ratio: 1.2 / 1 !important;
  }
  body.portfolio-review-v50 .home-essay-copy {
    max-width: none !important;
    padding: .15rem 0 0 !important;
  }
  body.portfolio-review-v50 .home-essay-copy h3 {
    font-size: clamp(1.65rem, 6vw, 2.15rem) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .home-essay-media .home-essay-thumb-wrap .home-essay-thumb img {
    transition: none !important;
    transform: none !important;
  }
}


/* VERSION 38 — larger, gallery-scale Featured Work images with responsive dimensions. */
@media (min-width: 1200px) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
    flex: 0 0 clamp(560px, 62vw, 920px) !important;
    width: clamp(560px, 62vw, 920px) !important;
    max-width: 920px !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
    gap: clamp(.45rem, .8vw, .9rem) !important;
    padding-left: max(0px, calc((100vw - clamp(560px, 62vw, 920px)) / 2 - var(--gutter))) !important;
    padding-right: max(0px, calc((100vw - clamp(560px, 62vw, 920px)) / 2 - var(--gutter))) !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap {
    height: clamp(400px, 60svh, 620px) !important;
    max-height: min(66svh, 620px) !important;
    aspect-ratio: auto !important;
  }
}
@media (min-width: 761px) and (max-width: 1199px) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(even),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6) {
    flex: 0 0 clamp(470px, 55vw, 680px) !important;
    width: clamp(470px, 55vw, 680px) !important;
    max-width: 680px !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
    gap: clamp(.35rem, .7vw, .75rem) !important;
    padding-left: max(0px, calc((100vw - clamp(470px, 55vw, 680px)) / 2 - var(--gutter))) !important;
    padding-right: max(0px, calc((100vw - clamp(470px, 55vw, 680px)) / 2 - var(--gutter))) !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap {
    height: clamp(310px, 50svh, 480px) !important;
    max-height: min(58svh, 480px) !important;
    aspect-ratio: auto !important;
  }
}


/* VERSION 39 — matched eight-photo Featured Work: equal frames, zero card margins, uniform spacing. */
@media (min-width: 1200px) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] {
    display: flex !important; align-items: stretch !important; gap: clamp(16px, 1.4vw, 24px) !important;
    padding-left: max(0px, calc((100vw - clamp(560px, 62vw, 920px)) / 2 - var(--gutter))) !important;
    padding-right: max(0px, calc((100vw - clamp(560px, 62vw, 920px)) / 2 - var(--gutter))) !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(2),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(7),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(8) {
    box-sizing: border-box !important; flex: 0 0 clamp(560px, 62vw, 920px) !important; width: clamp(560px, 62vw, 920px) !important; max-width: 920px !important;
    min-width: 0 !important; margin: 0 !important; padding: 0 !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap {
    display: block !important; box-sizing: border-box !important; width: 100% !important; height: clamp(400px, 60svh, 620px) !important;
    max-height: min(66svh, 620px) !important; aspect-ratio: auto !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important;
  }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
}
@media (min-width: 761px) and (max-width: 1199px) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] { display: flex !important; align-items: stretch !important; gap: clamp(16px, 1.4vw, 20px) !important;
    padding-left: max(0px, calc((100vw - clamp(470px, 55vw, 680px)) / 2 - var(--gutter)) ) !important; padding-right: max(0px, calc((100vw - clamp(470px, 55vw, 680px)) / 2 - var(--gutter)) ) !important; }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(2),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(7),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(8) { box-sizing: border-box !important; flex: 0 0 clamp(470px, 55vw, 680px) !important; width: clamp(470px, 55vw, 680px) !important; max-width: 680px !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap { display: block !important; box-sizing: border-box !important; width: 100% !important; height: clamp(310px, 50svh, 480px) !important; max-height: min(58svh, 480px) !important; aspect-ratio: auto !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
}
@media (max-width: 760px), (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; width: 100% !important; min-width: 0 !important; padding: 0 !important; align-items: start !important; transform: none !important; }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(2),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(3),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(4),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(5),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(6),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(7),
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-card:nth-child(8) { box-sizing: border-box !important; width: 100% !important; max-width: none !important; min-width: 0 !important; flex: initial !important; margin: 0 !important; padding: 0 !important; opacity: 1 !important; filter: none !important; transform: none !important; }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap { display: block !important; box-sizing: border-box !important; width: 100% !important; height: clamp(150px, 40vw, 240px) !important; max-height: none !important; aspect-ratio: auto !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }
  body.portfolio-review-v50 .selected-work-grid[data-horizontal-work-track] .selected-work-image-wrap > img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
  body.portfolio-review-v50 .featured-work-scroll-indicator { display: none !important; }
}


/* VERSION 40 — stronger wordmark, readable secondary links, restrained print-card reveals and consistent editorial typography. */
body.portfolio-review-v50 .wordmark span { font-size: 1.04rem !important; letter-spacing: .16em !important; font-weight: 600 !important; }
body.portfolio-review-v50 .wordmark small { font-size: .62rem !important; letter-spacing: .25em !important; }
body.portfolio-review-v50 .home-prints-secondary-link, body.portfolio-review-v50 .contact-prints-link { font-size: .75rem !important; line-height: 1.5 !important; }
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"].is-reveal-ready { transform: translate3d(0, 18px, 0) scale(.985) !important; transition: opacity .56s ease, transform .56s cubic-bezier(.2,.65,.25,1) !important; transition-delay: calc(var(--reveal-order, 0) * 80ms) !important; }
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"].is-reveal-ready.is-visible { opacity: 1 !important; transform: translate3d(0,0,0) scale(1) !important; }
body.portfolio-review-v50 .home-print-card-framed figcaption span { font-size: .62rem !important; line-height: 1.5 !important; letter-spacing: .07em !important; }
body.portfolio-review-v50 .home-print-card-framed figcaption strong { font-size: clamp(1rem,1.15vw,1.2rem) !important; }
body.portfolio-review-v50 .selected-work-caption .caption-place, body.portfolio-review-v50 .caption-place { font-size: 13px !important; }
@media (max-width: 640px) { body.portfolio-review-v50 .wordmark span { font-size: .9rem !important; letter-spacing: .14em !important; } body.portfolio-review-v50 .wordmark small { font-size: .55rem !important; letter-spacing: .24em !important; } body.portfolio-review-v50 .home-prints-lane p:not(.eyebrow), body.portfolio-review-v50 .about-page-body p, body.portfolio-review-v50 .photo-essays-intro > p:not(.eyebrow), body.portfolio-review-v50 .prints-page-hero > p:not(.eyebrow), body.portfolio-review-v50 .gallery-page-deck { font-size: 15px !important; line-height: 1.72 !important; } body.portfolio-review-v50 .home-prints-secondary-link, body.portfolio-review-v50 .contact-prints-link { font-size: .78rem !important; } }
@media (prefers-reduced-motion: reduce) { body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"].is-reveal-ready, body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"].is-reveal-ready.is-visible { opacity: 1 !important; transform: none !important; transition: none !important; } }


/* VERSION 41 — subtle alternating section rhythm across the public portfolio.
   Base sections use the site charcoal; alternate sections lift slightly to #20211F.
   Hairline separators mark transitions without turning sections into cards. */
body.portfolio-review-v50 .work-section {
  background: radial-gradient(ellipse at 85% 12%, rgba(85,99,83,.055), transparent 38%), #1A1A1A !important;
}
body.portfolio-review-v50 .home-essays-section {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.075) !important;
  border-bottom: 1px solid rgba(245,245,245,.055) !important;
}
body.portfolio-review-v50 .home-prints-lane {
  background: linear-gradient(115deg, #1C1D1B 0%, #1A1A1A 66%, #1B1D1A 100%) !important;
  border-block: 1px solid rgba(245,245,245,.07) !important;
}
body.portfolio-review-v50 .about-section {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.075) !important;
}
body.portfolio-review-v50 .home-recognition-section {
  background: #1A1A1A !important;
  border-top: 1px solid rgba(245,245,245,.065) !important;
}
body.portfolio-review-v50 .contact-section {
  border-top: 1px solid rgba(245,245,245,.075) !important;
}

/* Work index and subject galleries: intro A, browsing/grid B or A, ending reverses. */
body.portfolio-review-v50.gallery-page-body .gallery-page-hero {
  background: #1A1A1A !important;
}
body.portfolio-review-v50.gallery-page-body .gallery-page-grid:not(.all-work-grid) {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.065) !important;
}
body.portfolio-review-v50.gallery-page-body .gallery-page-end:not(.all-work-end) {
  background: #1A1A1A !important;
  border-top: 1px solid rgba(245,245,245,.065) !important;
}
body.portfolio-review-v50 .all-work-browser {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.07) !important;
  border-bottom: 1px solid rgba(245,245,245,.055) !important;
}
body.portfolio-review-v50 .all-work-grid {
  background: #1A1A1A !important;
}
body.portfolio-review-v50 .all-work-end {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.065) !important;
}

/* Photo Essays index: the story listing gets the alternate charcoal. */
body.portfolio-review-v50 .photo-essays-intro {
  background: #1A1A1A !important;
}
body.portfolio-review-v50 .stories-section {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.065) !important;
}

/* Prints page: distinct but quiet process section. */
body.portfolio-review-v50 .prints-page-hero {
  background: #1A1A1A !important;
}
body.portfolio-review-v50 .print-process {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.065) !important;
}

/* Individual photo essays: leave image-led hero intact; alternate the viewer,
   narrative and closing section to create a clearer reading rhythm. */
body.portfolio-review-v50 .essay-viewer {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.055) !important;
}
body.portfolio-review-v50 .story-page-narrative {
  background: #1A1A1A !important;
}
body.portfolio-review-v50 .story-page-end {
  background: #20211F !important;
  border-top: 1px solid rgba(245,245,245,.065) !important;
}

@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .work-section,
  body.portfolio-review-v50 .home-essays-section,
  body.portfolio-review-v50 .home-prints-lane,
  body.portfolio-review-v50 .about-section,
  body.portfolio-review-v50 .home-recognition-section,
  body.portfolio-review-v50 .gallery-page-grid,
  body.portfolio-review-v50 .stories-section,
  body.portfolio-review-v50 .print-process,
  body.portfolio-review-v50 .essay-viewer,
  body.portfolio-review-v50 .story-page-end {
    transition: none !important;
  }
}


/* VERSION 42 — image fidelity and luxury editorial refinement.
   Photograph fidelity is the default: no global saturation/contrast filters and no
   hover dimming. Motion and overlays are reserved for navigation and text clarity. */
body.portfolio-review-v50 .hero-image,
body.portfolio-review-v50 .selected-work-image-wrap > img,
body.portfolio-review-v50 .home-essay-thumb img,
body.portfolio-review-v50 .home-essay-image img,
body.portfolio-review-v50 .home-print-card img,
body.portfolio-review-v50 .home-print-card-framed img,
body.portfolio-review-v50 .home-gallery-card img,
body.portfolio-review-v50 .gallery-photo img,
body.portfolio-review-v50 .gallery-photo-frame > img,
body.portfolio-review-v50 .gallery-index-image img,
body.portfolio-review-v50 .essay-viewer-photo > img,
body.portfolio-review-v50 .recognition-photo-group-image img,
body.portfolio-review-v50 .photo-lightbox-image,
body.portfolio-review-v50 .story-page-hero-image img,
body.portfolio-review-v50 .story-page-photo img,
body.portfolio-review-v50 .essay-slide img,
body.portfolio-review-v50 .feature-image-wrap img,
body.portfolio-review-v50 .landscape-feature-image img,
body.portfolio-review-v50 .image-frame img,
body.portfolio-review-v50 .about-page-portrait img,
body.portfolio-review-v50 .about-portrait img {
  filter: none !important;
  opacity: 1 !important;
}

/* Image-led interactions: preserve colour and use only a small, deliberate zoom. */
body.portfolio-review-v50 .selected-work-image-wrap > img,
body.portfolio-review-v50 .gallery-photo-frame > img,
body.portfolio-review-v50 .gallery-index-image img,
body.portfolio-review-v50 .home-essay-image img,
body.portfolio-review-v50 .home-gallery-card img,
body.portfolio-review-v50 .home-print-card-framed img,
body.portfolio-review-v50 .essay-preview-thumb img {
  transition: transform .65s cubic-bezier(.2,.65,.2,1), opacity .25s ease !important;
}
body.portfolio-review-v50 .selected-work-card:hover .selected-work-image-wrap > img,
body.portfolio-review-v50 .selected-work-card:focus-within .selected-work-image-wrap > img {
  transform: scale(1.025) !important;
  filter: none !important;
  opacity: 1 !important;
}
body.portfolio-review-v50 .gallery-photo-frame:hover > img,
body.portfolio-review-v50 .gallery-photo-frame:focus-within > img {
  transform: scale(1.018) !important;
  filter: none !important;
  opacity: 1 !important;
}
body.portfolio-review-v50 .gallery-index-card:hover .gallery-index-image img,
body.portfolio-review-v50 .gallery-index-card:focus-within .gallery-index-image img,
body.portfolio-review-v50 .home-essay-image:hover img,
body.portfolio-review-v50 .home-essay-image:focus-within img,
body.portfolio-review-v50 .home-gallery-card:hover img,
body.portfolio-review-v50 .home-gallery-card:focus-within img,
body.portfolio-review-v50 .home-print-card-framed:hover > a img,
body.portfolio-review-v50 .home-print-card-framed:focus-within > a img,
body.portfolio-review-v50 .essay-preview-thumb:hover img,
body.portfolio-review-v50 .essay-preview-thumb:focus-visible img {
  transform: scale(1.018) !important;
  filter: none !important;
  opacity: 1 !important;
}
body.portfolio-review-v50 .home-essay-thumb:hover img,
body.portfolio-review-v50 .home-essay-thumb:focus-visible img,
body.portfolio-review-v50 .photo-essays-index .essay-index-row:hover .essay-image img {
  filter: none !important;
  opacity: 1 !important;
}

/* Keep the Hampi hero legible without washing a dark veil over the whole image. */
body.portfolio-review-v50 .hero-vignette {
  background:
    linear-gradient(90deg, rgba(5,8,7,.66) 0%, rgba(5,8,7,.36) 32%, rgba(5,8,7,.025) 72%),
    linear-gradient(0deg, rgba(5,8,7,.38), transparent 38%, rgba(5,8,7,.055)) !important;
}
body.portfolio-review-v50 .hero-copy {
  max-width: 700px;
}
body.portfolio-review-v50 .hero-deck {
  max-width: 460px;
  color: rgba(248,248,242,.92) !important;
  text-shadow: 0 1px 18px rgba(0,0,0,.12);
}
body.portfolio-review-v50 .hero .text-link-light {
  border-bottom-color: rgba(245,245,238,.74) !important;
}

/* Editorial hierarchy: measured display scale, balanced line lengths and quiet navigation. */
body.portfolio-review-v50 h1,
body.portfolio-review-v50 h2,
body.portfolio-review-v50 h3 {
  text-wrap: balance;
}
body.portfolio-review-v50 .gallery-page-hero h1,
body.portfolio-review-v50 .photo-essays-intro h1,
body.portfolio-review-v50 .prints-page-hero h1,
body.portfolio-review-v50 .recognition-page-intro h1,
body.portfolio-review-v50 .inquiry-page h1 {
  letter-spacing: -.035em;
}
body.portfolio-review-v50 .gallery-page-deck,
body.portfolio-review-v50 .photo-essays-intro > p:not(.eyebrow),
body.portfolio-review-v50 .prints-page-hero > p:not(.eyebrow):not(.prints-note),
body.portfolio-review-v50 .about-page-body p {
  max-width: 62ch;
  line-height: 1.78;
}
body.portfolio-review-v50 .site-header {
  -webkit-backdrop-filter: blur(15px) saturate(115%);
}
body.portfolio-review-v50 .site-header.scrolled {
  background: rgba(18,19,18,.91) !important;
  backdrop-filter: blur(18px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(118%) !important;
  border-bottom-color: rgba(245,245,245,.14) !important;
}
body.portfolio-review-v50 .primary-nav .nav-current::after,
body.portfolio-review-v50 .primary-nav a[aria-current="page"]::after {
  background: rgba(196,164,132,.82) !important;
  transform: scaleX(.72) !important;
  transform-origin: left !important;
}
body.portfolio-review-v50 .primary-nav a:hover::after,
body.portfolio-review-v50 .primary-nav a:focus-visible::after {
  background: rgba(196,164,132,.82) !important;
}

/* Fine-art grid finish: no dark hover state; quiet image edges and considered captions. */
body.portfolio-review-v50 .all-work-grid .gallery-photo-frame,
body.portfolio-review-v50 .gallery-photo-frame {
  border-color: rgba(238,235,226,.10) !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption .caption-title,
body.portfolio-review-v50 .gallery-photo figcaption {
  color: #e7e3db !important;
}
body.portfolio-review-v50 .all-work-grid .all-work-photo figcaption .caption-place {
  color: #a9a69e !important;
}

/* Full-size viewing: generous image area, restrained controls, clear caption hierarchy. */
body.portfolio-review-v50 .photo-lightbox {
  background: rgba(19,20,19,.985) !important;
  backdrop-filter: blur(18px) !important;
}
body.portfolio-review-v50 .photo-lightbox-dialog {
  width: min(100%, 1640px) !important;
  height: min(100%, 1100px) !important;
  gap: .9rem !important;
}
body.portfolio-review-v50 .photo-lightbox-image-stage {
  background: transparent !important;
}
body.portfolio-review-v50 .photo-lightbox-image {
  object-fit: contain !important;
  background: transparent !important;
  max-height: calc(100svh - 132px) !important;
}
body.portfolio-review-v50 .photo-lightbox-close,
body.portfolio-review-v50 .photo-lightbox-step {
  border-color: rgba(245,245,238,.32) !important;
  background: rgba(19,20,19,.58) !important;
}
body.portfolio-review-v50 .photo-lightbox-close:hover,
body.portfolio-review-v50 .photo-lightbox-step:hover:not(:disabled) {
  border-color: rgba(196,164,132,.8) !important;
  background: rgba(196,164,132,.13) !important;
}
body.portfolio-review-v50 .photo-lightbox-caption strong {
  color: #f3f0e8 !important;
}
body.portfolio-review-v50 .photo-lightbox-caption small {
  color: #bdb8af !important;
}

/* Fine-art print enquiry: a curated image-led introduction before the practical steps. */
body.portfolio-review-v50 .prints-page-hero {
  background: #1A1A1A !important;
  border-bottom: 1px solid rgba(245,245,245,.075) !important;
}
body.portfolio-review-v50 .print-showcase {
  padding-top: clamp(3.3rem, 6vw, 6rem);
  padding-bottom: clamp(3.8rem, 7vw, 7rem);
  background: #20211F !important;
  border-bottom: 1px solid rgba(245,245,245,.065);
}
body.portfolio-review-v50 .print-showcase-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(1.7rem, 3vw, 2.8rem);
}
body.portfolio-review-v50 .print-showcase-header h2 {
  margin: 0;
  font-size: clamp(2.4rem, 4.2vw, 4.5rem);
  line-height: .98;
}
body.portfolio-review-v50 .print-showcase-header p:not(.eyebrow) {
  max-width: 36ch;
  margin: 0;
  color: #bdb9b1;
  font-size: .9rem;
  line-height: 1.7;
}
body.portfolio-review-v50 .print-showcase-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(1rem, 2vw, 1.7rem);
}
body.portfolio-review-v50 .print-showcase-card {
  min-width: 0;
  margin: 0;
}
body.portfolio-review-v50 .print-showcase-image {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.22 / 1;
  background: #191a18;
  border: 1px solid rgba(245,245,238,.11);
}
body.portfolio-review-v50 .print-showcase-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.2,.65,.2,1);
}
body.portfolio-review-v50 .print-showcase-card:hover .print-showcase-image img,
body.portfolio-review-v50 .print-showcase-card:focus-within .print-showcase-image img {
  transform: scale(1.025);
}
body.portfolio-review-v50 .print-showcase-card figcaption {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: .8rem;
  padding-top: .8rem;
}
body.portfolio-review-v50 .print-showcase-title {
  margin: 0;
  color: #ece8df;
  font: 400 clamp(1.15rem, 1.5vw, 1.55rem)/1.2 var(--serif);
}
body.portfolio-review-v50 .print-showcase-category {
  margin: .3rem 0 0;
  color: #a7a39b;
  font-size: .63rem;
  letter-spacing: .10em;
  text-transform: uppercase;
}
body.portfolio-review-v50 .print-showcase-link {
  flex: 0 0 auto;
  padding: .2rem 0 .28rem;
  color: #d4c0a5;
  border-bottom: 1px solid rgba(196,164,132,.45);
  font-size: .68rem;
  letter-spacing: .035em;
  text-decoration: none;
}
body.portfolio-review-v50 .print-showcase-link:hover,
body.portfolio-review-v50 .print-showcase-link:focus-visible {
  color: #fbf6ec;
  border-bottom-color: #fbf6ec;
}
body.portfolio-review-v50 .print-process {
  background: #1A1A1A !important;
  border-top: 1px solid rgba(245,245,245,.07) !important;
}
body.portfolio-review-v50 .print-process-grid article {
  border-top-color: rgba(196,164,132,.44) !important;
}
body.portfolio-review-v50 .print-process-grid article > span {
  color: #d0b697 !important;
}

/* Quiet focus states and usable touch targets. */
body.portfolio-review-v50 a:focus-visible,
body.portfolio-review-v50 button:focus-visible {
  outline: 2px solid rgba(196,164,132,.9);
  outline-offset: 4px;
}
body.portfolio-review-v50 .photo-action:focus-visible {
  outline-offset: 3px;
}
@media (max-width: 900px) {
  body.portfolio-review-v50 .print-showcase-header {
    align-items: start;
    flex-direction: column;
    gap: .8rem;
  }
  body.portfolio-review-v50 .print-showcase-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1.2rem;
  }
}
@media (max-width: 640px) {
  body.portfolio-review-v50 .hero-vignette {
    background:
      linear-gradient(90deg, rgba(5,8,7,.62) 0%, rgba(5,8,7,.30) 70%, rgba(5,8,7,.13) 100%),
      linear-gradient(0deg, rgba(5,8,7,.46), transparent 52%) !important;
  }
  body.portfolio-review-v50 .hero-copy {
    width: calc(100% - 2 * var(--gutter));
    max-width: none;
    margin-left: var(--gutter);
  }
  body.portfolio-review-v50 .print-showcase-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 1.9rem;
  }
  body.portfolio-review-v50 .print-showcase-image {
    aspect-ratio: 1.22 / 1;
  }
  body.portfolio-review-v50 .print-showcase-card figcaption {
    gap: .55rem;
  }
  body.portfolio-review-v50 .print-showcase-link {
    font-size: .66rem;
  }
  body.portfolio-review-v50 .photo-lightbox-image {
    max-height: calc(100svh - 150px) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .selected-work-image-wrap > img,
  body.portfolio-review-v50 .gallery-photo-frame > img,
  body.portfolio-review-v50 .gallery-index-image img,
  body.portfolio-review-v50 .home-essay-image img,
  body.portfolio-review-v50 .home-gallery-card img,
  body.portfolio-review-v50 .home-print-card-framed img,
  body.portfolio-review-v50 .essay-preview-thumb img,
  body.portfolio-review-v50 .print-showcase-image img {
    transition: none !important;
    transform: none !important;
  }
}


/* VERSION 43 — single-image lightbox and composed print reveals. */
body.portfolio-review-v50 .photo-lightbox-filmstrip[hidden] {
  display: none !important;
}

/* Motion remains editorial rather than random: a small alternating lateral offset
   gives each print a little individuality while the shared timing keeps the row calm. */
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"].is-reveal-ready {
  transform: translate3d(0, 14px, 0) scale(.99) !important;
  transition: opacity .56s ease, transform .56s cubic-bezier(.2,.65,.25,1) !important;
  transition-delay: calc(var(--reveal-order, 0) * 80ms) !important;
}
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-print-index="0"].is-reveal-ready,
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-print-index="2"].is-reveal-ready,
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-print-index="4"].is-reveal-ready {
  transform: translate3d(-6px, 14px, 0) scale(.99) !important;
}
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-print-index="1"].is-reveal-ready,
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-print-index="3"].is-reveal-ready,
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-print-index="5"].is-reveal-ready {
  transform: translate3d(6px, 14px, 0) scale(.99) !important;
}
body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"].is-reveal-ready.is-visible {
  opacity: 1 !important;
  transform: translate3d(0,0,0) scale(1) !important;
}
@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"].is-reveal-ready,
  body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"].is-reveal-ready.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* VERSION 49 — canonical page class; legacy cascade order preserved. */



/* CONSOLIDATED LAYOUT PASS — 2026-10-21 */

/* Form geometry: consistent controls and deliberate desktop ordering. */
body.portfolio-review-v50 .enquiry-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-areas:
    "first last"
    "email email"
    "type reference"
    "message message" !important;
  gap: 1.1rem 1rem !important;
  align-items: start !important;
}

body.portfolio-review-v50 .enquiry-field[data-enquiry-field="first_name"] {
  grid-area: first !important;
}

body.portfolio-review-v50 .enquiry-field[data-enquiry-field="last_name"] {
  grid-area: last !important;
}

body.portfolio-review-v50 .enquiry-field[data-enquiry-field="email"] {
  grid-area: email !important;
}

body.portfolio-review-v50 .enquiry-field[data-enquiry-field="vk_enquiry_type"] {
  grid-area: type !important;
}

body.portfolio-review-v50 .enquiry-field[data-enquiry-field="vk_photo_reference"] {
  grid-area: reference !important;
  min-width: 0 !important;
}

body.portfolio-review-v50 .enquiry-field[data-enquiry-field="long_answer"] {
  grid-area: message !important;
}

body.portfolio-review-v50 .enquiry-field input,
body.portfolio-review-v50 .enquiry-field select {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  max-width: 100% !important;
  line-height: 1.35 !important;
}

body.portfolio-review-v50 .enquiry-field textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 136px !important;
}

body.portfolio-review-v50 .enquiry-field label {
  display: block !important;
  margin-bottom: .45rem !important;
}

body.portfolio-review-v50 .form-optional {
  margin-left: .35rem;
  font-size: .75em;
  opacity: .72;
  white-space: nowrap;
}

/* Photo viewer: use more of the available mobile width and separate caption elements. */
@media (max-width: 640px) {
  body.portfolio-review-v50 .photo-lightbox-image-stage {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    height: 68dvh !important;
    max-height: 68dvh !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: .8rem !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    position: relative !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption small,
  body.portfolio-review-v50 .photo-lightbox-meta {
    position: static !important;
    transform: none !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption strong {
    min-width: 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip {
    max-height: 88px !important;
    gap: .45rem !important;
    padding-block: .4rem !important;
    overflow-x: auto !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip img,
  body.portfolio-review-v50 .photo-lightbox-filmstrip button {
    flex-shrink: 0 !important;
  }

  /* Selected Work: preserve two columns but make the image lead. */
  body.portfolio-review-v50 .selected-work-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.15rem .8rem !important;
  }

  body.portfolio-review-v50 .selected-work-card {
    min-width: 0 !important;
  }

  body.portfolio-review-v50 .selected-work-image-wrap {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .selected-work-image-wrap > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.portfolio-review-v50 .selected-work-caption {
    padding-top: .6rem !important;
    gap: .25rem !important;
  }

  body.portfolio-review-v50 .selected-work-caption .eyebrow,
  body.portfolio-review-v50 .selected-work-caption p {
    font-size: .7rem !important;
    line-height: 1.4 !important;
  }

  body.portfolio-review-v50 .selected-work-caption h3 {
    font-size: clamp(1.05rem, 4.1vw, 1.3rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em !important;
    overflow-wrap: anywhere !important;
    margin-block: .25rem !important;
  }

  /* Recognition: one legible column, no squeezed award descriptions. */
  body.portfolio-review-v50 .home-recognition-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  body.portfolio-review-v50 .home-recognition-grid > article {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-block: 1.1rem !important;
  }

  body.portfolio-review-v50 .home-recognition-grid .recognition-mark {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 76px !important;
    max-width: 76px !important;
    height: 58px !important;
    padding: .3rem !important;
    box-sizing: border-box !important;
  }

  body.portfolio-review-v50 .home-recognition-grid .recognition-mark img {
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  body.portfolio-review-v50 .home-recognition-grid > article > div {
    min-width: 0 !important;
  }

  body.portfolio-review-v50 .home-recognition-grid h3 {
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
    margin-block: .3rem !important;
  }

  body.portfolio-review-v50 .home-recognition-grid p:not(.eyebrow) {
    font-size: .88rem !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
  }

  /* Contact: retain the photograph, reduce the typographic dominance. */
  body.portfolio-review-v50 .contact-copy {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }

  body.portfolio-review-v50 .contact-copy h2 {
    font-size: clamp(3rem, 12vw, 4.2rem) !important;
    line-height: .95 !important;
    letter-spacing: -.035em !important;
    max-width: 100% !important;
  }

  body.portfolio-review-v50 .contact-copy > p:not(.eyebrow) {
    max-width: 34rem !important;
    font-size: .98rem !important;
    line-height: 1.6 !important;
  }

  body.portfolio-review-v50 .contact-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .85rem 1.2rem !important;
  }

  /* Print process: clear hierarchy without oversized headings. */
  body.portfolio-review-v50 .print-process {
    padding-block: 3rem !important;
  }

  body.portfolio-review-v50 .print-process-heading h2 {
    font-size: clamp(2.25rem, 9vw, 3.4rem) !important;
    line-height: 1.04 !important;
  }

  body.portfolio-review-v50 .print-process-grid {
    gap: 0 !important;
  }

  body.portfolio-review-v50 .print-process-grid > article {
    padding-block: 1.25rem !important;
  }

  body.portfolio-review-v50 .print-process-grid > article h3 {
    font-size: 1.35rem !important;
    line-height: 1.2 !important;
    margin-block: .6rem !important;
  }

  body.portfolio-review-v50 .print-process-grid > article p {
    font-size: .94rem !important;
    line-height: 1.6 !important;
  }

  /* Small utility controls should not dominate the photographs. */
  body.portfolio-review-v50 .site-float-bubble {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  body.portfolio-review-v50 .site-float-bubble svg {
    width: 19px !important;
    height: 19px !important;
  }

  /* Keep the enquiry form readable in a single mobile column. */
  body.portfolio-review-v50 .enquiry-form-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: none !important;
    gap: 1rem !important;
  }

  body.portfolio-review-v50 .enquiry-form-grid .enquiry-field {
    grid-area: auto !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    min-width: 0 !important;
  }
}

/* Explicit keyframe reveal for mobile Safari. */
@keyframes vkFeaturedMobileReveal {
  from {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(.975);
    filter: blur(1.5px);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
}

@media (max-width: 640px) and (prefers-reduced-motion: no-preference) {
  body.portfolio-review-v50 .selected-work-card[data-reveal="work"].is-reveal-ready:not(.is-visible) {
    opacity: 0 !important;
    transform: translate3d(0, 28px, 0) scale(.975) !important;
    filter: blur(1.5px) !important;
    transition: none !important;
    animation: none !important;
  }

  body.portfolio-review-v50 .selected-work-card[data-reveal="work"].is-reveal-ready.is-visible {
    animation: vkFeaturedMobileReveal .9s cubic-bezier(.2,.65,.25,1) both !important;
    animation-delay: calc(var(--reveal-order, 0) * 90ms) !important;
    transition: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portfolio-review-v50 .selected-work-card[data-reveal="work"],
  body.portfolio-review-v50 .home-prints-lane .home-print-card[data-reveal="print"] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }
}




/* MOBILE REVIEW PASS 2 — 2026-10-21 */

/* Keep the mobile changes scoped to the portfolio. */
@media (max-width: 760px) {

  /* HOME: bring the Hampi temple into the composition and reduce empty sky. */
  body.portfolio-review-v50 .hero-image {
    object-position: 74% 72% !important;
    transform: none !important;
  }

  /* PHOTO VIEWER: let the photograph keep its natural aspect ratio.
     Do not make the image element itself a tall, empty viewport-sized box. */
  body.portfolio-review-v50 .photo-lightbox-dialog {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: .5rem !important;
    box-sizing: border-box !important;
    height: 100svh !important;
    max-height: 100svh !important;
    padding: 78px 12px 10px !important;
    overflow-y: auto !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-stage {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: calc(100vw - 36px) !important;
    max-height: min(58svh, 620px) !important;
    object-fit: contain !important;
    object-position: center !important;
    margin-inline: auto !important;
  }

  body.portfolio-review-v50 .photo-lightbox-meta {
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    padding-top: .2rem !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip {
    flex: 0 0 auto !important;
    max-height: 76px !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding: .3rem 0 .25rem !important;
    gap: .4rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb {
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 54px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* ALL WORK: remove wide/tall spans that create an irregular mobile grid.
     Each photograph occupies one predictable cell. */
  body.portfolio-review-v50 .all-work-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: .8rem !important;
  }

  body.portfolio-review-v50 .all-work-grid > .all-work-photo,
  body.portfolio-review-v50 .all-work-grid > .gallery-photo,
  body.portfolio-review-v50 .all-work-grid .gallery-photo-wide,
  body.portfolio-review-v50 .all-work-grid .gallery-photo-tall {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: start !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .all-work-grid .gallery-photo-frame {
    height: auto !important;
    min-height: 0 !important;
  }

  body.portfolio-review-v50 .all-work-grid .gallery-photo-frame img,
  body.portfolio-review-v50 .all-work-grid > .all-work-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
  }

  body.portfolio-review-v50 .all-work-grid .gallery-photo figcaption {
    padding-top: .45rem !important;
    font-size: .9rem !important;
    line-height: 1.3 !important;
  }

  /* RECOGNITION ARCHIVE: every logo receives the same box and text start. */
  body.portfolio-review-v50 .recognition-award-row {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) 22px !important;
    column-gap: .85rem !important;
    align-items: center !important;
  }

  body.portfolio-review-v50 .recognition-award-icon-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 56px !important;
    flex: 0 0 76px !important;
    padding: 4px !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .recognition-award-icon-link img,
  body.portfolio-review-v50 .recognition-award-icon-link .recognition-award-icon {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  body.portfolio-review-v50 .recognition-award-detail {
    min-width: 0 !important;
  }

  body.portfolio-review-v50 .recognition-award-detail strong,
  body.portfolio-review-v50 .recognition-award-detail small {
    overflow-wrap: anywhere !important;
    line-height: 1.4 !important;
  }

  body.portfolio-review-v50 .recognition-award-out {
    justify-self: end !important;
  }

  /* Homepage recognition cards also use consistent logo dimensions. */
  body.portfolio-review-v50 .home-recognition-grid .recognition-mark {
    box-sizing: border-box !important;
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 56px !important;
    flex: 0 0 76px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px !important;
  }

  body.portfolio-review-v50 .home-recognition-grid .recognition-mark img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  /* PRINTS: feature one sample on mobile and make the enquiry action visible
     before the visitor has to scroll through the showcase. */
  body.prints-page .print-mobile-enquiry-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 1.25rem !important;
    padding: .85rem 1rem !important;
    border: 1px solid #8c9a8b !important;
    color: #f0f1ec !important;
    text-decoration: none !important;
    font-size: .75rem !important;
    letter-spacing: .1em !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
  }

  body.prints-page .print-showcase-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
  }

  body.prints-page .print-showcase-card:nth-of-type(n + 2) {
    display: none !important;
  }

  body.prints-page .print-showcase-card:first-child {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.prints-page .print-showcase-card:first-child .print-showcase-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
  }

  body.prints-page .print-showcase-card:first-child .print-showcase-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* Hidden on desktop so the approved laptop design stays unchanged. */
body.prints-page .print-mobile-enquiry-cta {
  display: none;
}





/* MOBILE REVIEW PASS 3 — 2026-10-21 */

@media (max-width: 760px) {

  /* Keep all eight Selected Work cards in a consistent two-column grid. */
  body.portfolio-review-v50 .selected-work-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: 1rem .75rem !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
  }

  body.portfolio-review-v50 .selected-work-grid > .selected-work-card,
  body.portfolio-review-v50 .selected-work-grid > figure {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .selected-work-grid .selected-work-image-wrap {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .selected-work-grid .selected-work-image-wrap > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Enlarge the selected photo and remove artificial space around it. */
  body.portfolio-review-v50 .photo-lightbox-dialog {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: .4rem !important;
    height: 100svh !important;
    max-height: 100svh !important;
    padding: 66px 10px 10px !important;
    overflow-y: auto !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-stage {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: calc(100vw - 20px) !important;
    max-height: 70svh !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
  }

  /* Keep navigation available without reserving large side gutters. */
  body.portfolio-review-v50 .photo-lightbox-step {
    position: absolute !important;
    top: 50% !important;
    z-index: 5 !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 [data-lightbox-prev] {
    left: 2px !important;
  }

  body.portfolio-review-v50 [data-lightbox-next] {
    right: 2px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-meta {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding-top: .15rem !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .65rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .2rem 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption small,
  body.portfolio-review-v50 .photo-lightbox-meta {
    white-space: nowrap !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption strong {
    min-width: 0 !important;
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-height: 72px !important;
    min-height: 0 !important;
    gap: .4rem !important;
    margin-top: 0 !important;
    padding: .25rem 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb {
    flex: 0 0 72px !important;
    width: 72px !important;
    height: 54px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Hide the complete print showcase on mobile, not just two of its photos.
     The print enquiry link in the page hero remains visible. */
  body.prints-page .print-showcase {
    display: none !important;
  }
}



/* MOBILE REVIEW PASS 4 — 2026-10-21 */
@media (max-width: 760px) {
  /* The all-work gallery shown in the mobile screenshots: three even columns. */
  body.portfolio-review-v50 .all-work-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: .65rem .45rem !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.portfolio-review-v50 .all-work-grid > *,
  body.portfolio-review-v50 .all-work-grid .gallery-photo-wide,
  body.portfolio-review-v50 .all-work-grid .gallery-photo-tall {
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: start !important;
  }

  body.portfolio-review-v50 .all-work-grid .gallery-photo-frame {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .all-work-grid .gallery-photo-frame img,
  body.portfolio-review-v50 .all-work-grid .gallery-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
  }

  body.portfolio-review-v50 .all-work-grid .gallery-photo figcaption {
    padding-top: .35rem !important;
    font-size: .68rem !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
  }

  /* Use the image stage's full width in the photo viewer. */
  body.portfolio-review-v50 .photo-lightbox-image-wrap,
  body.portfolio-review-v50 .photo-lightbox-image-stage {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    width: 100% !important;
    max-width: calc(100vw - 20px) !important;
    height: auto !important;
    max-height: 70svh !important;
    object-fit: contain !important;
    margin-inline: auto !important;
  }
}


/* MOBILE REVIEW PASS 5 — 2026-10-21 */
@media (max-width: 760px) {
  /* Six homepage print photographs: three columns, two rows. */
  body.portfolio-review-v50 .home-print-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: .65rem .45rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
  }

  body.portfolio-review-v50 .home-print-gallery > .home-print-card,
  body.portfolio-review-v50 .home-print-gallery .home-print-card:last-child {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .home-print-gallery .home-print-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  body.portfolio-review-v50 .home-print-gallery .home-print-card h3 {
    font-size: .85rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  /* Let the lightbox use almost the entire phone width. */
  body.portfolio-review-v50 .photo-lightbox {
    padding: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-dialog {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 58px 4px 8px !important;
    border-radius: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-wrap,
  body.portfolio-review-v50 .photo-lightbox-image-stage {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 70dvh !important;
    object-fit: contain !important;
    margin-inline: auto !important;
  }
}


/* MOBILE REVIEW PASS 6 — 2026-10-21 */
@media (max-width: 760px) {

  /* Viewer: use available phone width and minimise artificial gaps. */
  body.portfolio-review-v50 .photo-lightbox-dialog {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: .45rem !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 54px 4px 10px !important;
    overflow-y: auto !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-wrap {
    position: relative !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-stage {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 74dvh !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    transform: scale(1) !important;
    transform-origin: center center !important;
    transition: transform .22s ease !important;
    cursor: zoom-in !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image.is-zoomed {
    transform: scale(1.2) !important;
    cursor: zoom-out !important;
  }

  body.portfolio-review-v50 .photo-lightbox-meta {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: .15rem 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: .65rem !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption strong {
    min-width: 0 !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-height: 72px !important;
    min-height: 0 !important;
    gap: .4rem !important;
    margin: 0 !important;
    padding: .25rem 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb {
    flex: 0 0 72px !important;
    width: 72px !important;
    height: 54px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Six homepage print cards in three equal columns. */
  body.portfolio-review-v50 .home-prints-lane > .home-print-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: 258px !important;
    align-items: stretch !important;
    gap: .65rem .45rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 258px !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card > a:first-child {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card > a:first-child img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card figcaption {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: .25rem !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: .45rem .1rem !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card figcaption strong {
    display: -webkit-box !important;
    min-height: 2.4em !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: .76rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card figcaption span {
    display: block !important;
    min-height: 2.4em !important;
    font-size: .59rem !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
  }
}

/* Use two columns on exceptionally narrow phones. */
@media (max-width: 380px) {
  body.portfolio-review-v50 .home-prints-lane > .home-print-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card {
    height: auto !important;
    min-height: 240px !important;
  }
}


/* MOBILE REVIEW PASS 7 — SWIPE GALLERY */

/* Keep the instruction hidden on laptop/desktop. */
body.portfolio-review-v50 .home-print-gallery-hint {
  display: none;
}

@media (max-width: 760px) {

  /* A large, swipeable photograph with a glimpse of the next card. */
  body.portfolio-review-v50 .home-prints-lane > .home-print-gallery {
    display: flex !important;
    flex-flow: row nowrap !important;
    grid-template-columns: none !important;
    grid-auto-columns: auto !important;
    grid-auto-rows: auto !important;
    align-items: flex-start !important;
    gap: .8rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 .1rem .85rem 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 0 !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card {
    display: flex !important;
    flex: 0 0 82% !important;
    flex-direction: column !important;
    align-self: flex-start !important;
    box-sizing: border-box !important;
    width: 82% !important;
    min-width: 82% !important;
    max-width: 82% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: normal !important;
  }

  /* Equal photograph frames with no fixed-height space beneath captions. */
  body.portfolio-review-v50 .home-prints-lane .home-print-card > a:first-child {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #111613 !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card > a:first-child img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card figcaption {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .3rem !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: .75rem .1rem .2rem !important;
    overflow: visible !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card figcaption strong {
    display: block !important;
    min-height: 0 !important;
    max-height: none !important;
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-card figcaption span {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    font-size: .68rem !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  body.portfolio-review-v50 .home-print-gallery-hint {
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    grid-column: 1 / -1 !important;
    margin: .35rem 0 .7rem !important;
    padding: 0 !important;
    color: #aeb8ae !important;
    font-size: .7rem !important;
    line-height: 1.5 !important;
    letter-spacing: .04em !important;
  }

  body.portfolio-review-v50 .home-print-gallery-hint span {
    font-size: 1.1rem !important;
  }

  /* Lightbox: start the content near the top rather than vertically centring
     a compact image inside a full-screen black dialog. */
  body.portfolio-review-v50 .photo-lightbox-dialog {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: .45rem !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: max(52px, env(safe-area-inset-top)) 4px 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-wrap,
  body.portfolio-review-v50 .photo-lightbox-image-stage {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 80dvh !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
  }

  body.portfolio-review-v50 .photo-lightbox-meta {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: .1rem 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .55rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption strong {
    min-width: 0 !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-height: 72px !important;
    min-height: 0 !important;
    gap: .4rem !important;
    margin: 0 !important;
    padding: .25rem 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb {
    flex: 0 0 72px !important;
    width: 72px !important;
    height: 54px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.portfolio-review-v50 .photo-lightbox-orientation-hint {
    flex: 0 0 auto !important;
    margin: .05rem 0 .1rem !important;
    padding: .45rem .6rem !important;
    border-left: 2px solid #bda184 !important;
    color: #c9cfc7 !important;
    background: rgba(255,255,255,.035) !important;
    font-size: .7rem !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  body.portfolio-review-v50 .photo-lightbox-orientation-hint[hidden] {
    display: none !important;
  }
}

/* In landscape orientation, spend more of the shorter viewport height on the
   photo. Captions and thumbnails remain reachable by scrolling the dialog. */
@media (max-width: 760px) and (orientation: landscape) {
  body.portfolio-review-v50 .photo-lightbox-dialog {
    padding: max(42px, env(safe-area-inset-top)) 6px 6px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    max-height: 86dvh !important;
  }

  body.portfolio-review-v50 .photo-lightbox-orientation-hint {
    display: none !important;
  }
}


/* MOBILE REVIEW PASS 8 — CENTRED LIGHTBOX */
@media (max-width: 760px) {
  body.portfolio-review-v50 .photo-lightbox-dialog {
    justify-content: center !important;
  }
}


/* MOBILE REVIEW PASS 9 — LANDSCAPE VIEWER FIT */
/* Target short landscape viewports: a rotated phone can exceed 760px wide. */
@media (orientation: landscape) and (max-height: 600px) {
  body.portfolio-review-v50 .photo-lightbox {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 0 !important;
    align-items: stretch !important;
  }

  body.portfolio-review-v50 .photo-lightbox-dialog {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 5px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 42px 10px 5px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-wrap {
    position: relative !important;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - 155px) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-stage {
    position: relative !important;
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
  }

  body.portfolio-review-v50 .photo-lightbox-meta {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption strong {
    min-width: 0 !important;
    font-size: .95rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-height: 44px !important;
    min-height: 0 !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb {
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 38px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.portfolio-review-v50 .photo-lightbox-orientation-hint {
    display: none !important;
  }

  body.portfolio-review-v50 .photo-lightbox-close {
    position: absolute !important;
    top: 4px !important;
    right: 8px !important;
    z-index: 30 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-step {
    z-index: 20 !important;
  }
}


/* MOBILE REVIEW PASS 10 — IMMERSIVE LANDSCAPE VIEWER */
/* Short landscape touchscreens: immerse the image in the full viewport. */
@media (orientation: landscape) and (max-height: 600px) and (pointer: coarse) {
  body.portfolio-review-v50 .photo-lightbox {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #080a09 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-dialog {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #080a09 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-wrap {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-stage {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Use the full available screen height while preserving the entire photo. */
  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    flex: 0 1 auto !important;
    width: auto !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    max-height: 100dvh !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    transform-origin: center center !important;
  }

  body.portfolio-review-v50 .photo-lightbox-close {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    z-index: 40 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-step {
    position: absolute !important;
    top: 50% !important;
    z-index: 35 !important;
    transform: translateY(-50%) !important;
  }

  body.portfolio-review-v50 [data-lightbox-prev] {
    left: 8px !important;
  }

  body.portfolio-review-v50 [data-lightbox-next] {
    right: 8px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-actions {
    position: absolute !important;
    right: 12px !important;
    bottom: 44px !important;
    z-index: 36 !important;
  }

  /* Keep the caption readable over the image without reserving layout height. */
  body.portfolio-review-v50 .photo-lightbox-meta {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 30 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    background: linear-gradient(transparent, rgba(0,0,0,.76)) !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption strong {
    min-width: 0 !important;
    font-size: .95rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  /* Arrows replace the thumbnail rail while the phone is in landscape. */
  body.portfolio-review-v50 .photo-lightbox-filmstrip,
  body.portfolio-review-v50 .photo-lightbox-orientation-hint {
    display: none !important;
  }
}


/* MOBILE REVIEW PASS 11 — RIGHT THUMBNAIL RAIL */
/* Landscape phones: full-height image area with vertically scrolling
   thumbnails on the right. Target by viewport height, not width, since
   a rotated iPhone can exceed the portrait breakpoint width. */
@media (orientation: landscape) and (max-height: 600px) and (pointer: coarse) {
  body.portfolio-review-v50 .photo-lightbox {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #080a09 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-dialog {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #080a09 !important;
  }

  /* Reserve a narrow strip on the right; use the remaining stage for the
     largest complete photograph that fits without cropping. */
  body.portfolio-review-v50 .photo-lightbox-image-wrap {
    position: absolute !important;
    inset: 0 94px 0 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-stage {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
  }

  /* Vertical thumbnail rail. All images remain selectable; scroll for
     any thumbnails that extend below the available screen height. */
  body.portfolio-review-v50 .photo-lightbox-filmstrip:not([hidden]) {
    position: absolute !important;
    inset: 52px 7px 7px auto !important;
    z-index: 45 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    width: 80px !important;
    max-width: 80px !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 2px 0 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin !important;
    background: rgba(8,10,9,.7) !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb {
    display: block !important;
    box-sizing: border-box !important;
    flex: 0 0 52px !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Keep the caption on the image and clear of the rail. */
  body.portfolio-review-v50 .photo-lightbox-meta {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 30 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    background: linear-gradient(transparent, rgba(0,0,0,.8)) !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-caption strong {
    min-width: 0 !important;
    font-size: .95rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  /* Position controls over the photo, not on top of the thumbnail rail. */
  body.portfolio-review-v50 .photo-lightbox-close {
    position: absolute !important;
    top: 5px !important;
    right: 8px !important;
    z-index: 50 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-step {
    position: absolute !important;
    top: 45% !important;
    z-index: 35 !important;
    transform: translateY(-50%) !important;
  }

  body.portfolio-review-v50 [data-lightbox-prev] {
    left: 8px !important;
  }

  body.portfolio-review-v50 [data-lightbox-next] {
    right: 8px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-actions {
    position: absolute !important;
    right: 12px !important;
    bottom: 48px !important;
    z-index: 36 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-orientation-hint {
    display: none !important;
  }
}


/* MOBILE REVIEW PASS 12 — LANDSCAPE IMAGE FILL */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1200px) {
  body.portfolio-review-v50 .photo-lightbox-dialog {
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-wrap {
    position: absolute !important;
    inset: 0 82px 0 0 !important;
    width: auto !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-image-stage {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Wider landscape photos fill the available viewing area. */
  body.portfolio-review-v50 .photo-lightbox-image.is-landscape-photo {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
  }

  /* Preserve portrait images without cropping them. */
  body.portfolio-review-v50 .photo-lightbox-image:not(.is-landscape-photo) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
  }

  /* Vertical thumbnail rail on the right. */
  body.portfolio-review-v50 .photo-lightbox-filmstrip:not([hidden]) {
    position: absolute !important;
    inset: 48px 6px 6px auto !important;
    z-index: 45 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 70px !important;
    max-width: 70px !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 2px 0 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb {
    display: block !important;
    flex: 0 0 48px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.portfolio-review-v50 .photo-lightbox-filmstrip .photo-lightbox-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.portfolio-review-v50 .photo-lightbox-close {
    position: absolute !important;
    top: 4px !important;
    right: 6px !important;
    z-index: 50 !important;
  }

  body.portfolio-review-v50 .photo-lightbox-step {
    z-index: 35 !important;
  }

  body.portfolio-review-v50 [data-lightbox-next] {
    right: 5px !important;
  }

  body.portfolio-review-v50 .photo-lightbox-meta {
    position: absolute !important;
    right: 82px !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    background: linear-gradient(transparent, rgba(0,0,0,.78)) !important;
  }

  body.portfolio-review-v50 .photo-lightbox-orientation-hint {
    display: none !important;
  }
}


/* SITEWIDE OPEN-ARROW STANDARD — 2026-10-21 */
svg.open-arrow {
  display: inline-block !important;
  width: 1.12em !important;
  height: 1.12em !important;
  max-width: none !important;
  margin-inline-start: 0.42em;
  vertical-align: -0.18em;
  color: currentColor;
  flex: 0 0 auto;
  overflow: visible;
}

svg.open-arrow rect,
svg.open-arrow path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* BROWSE WORK CARD — MOBILE VISIBILITY FIX */
body.portfolio-review-v50 .home-prints-lane > .home-print-gallery {
  min-width: 0 !important;
}

body.portfolio-review-v50 .home-prints-lane .home-print-browse-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: auto !important;
  grid-column: auto !important;
  opacity: 1;
  visibility: visible;
}

body.portfolio-review-v50 .home-prints-lane .home-print-browse-link {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  padding: clamp(1rem, 3vw, 1.5rem) !important;
  background: linear-gradient(145deg, #292923, #191c18) !important;
  border: 1px solid #655c4d !important;
  color: #eeeee6 !important;
  text-decoration: none !important;
}

.home-print-browse-kicker {
  color: #bfc4b9;
  font-size: .62rem;
  letter-spacing: .15em;
  line-height: 1.5;
}

.home-print-browse-title {
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(2rem, 8vw, 3rem);
  font-weight: 300;
  letter-spacing: -.045em;
  line-height: .98;
}

.home-print-browse-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  width: 100%;
  padding-top: .8rem;
  border-top: 1px solid rgba(235,231,216,.23);
  color: #c7cabc;
  font-size: .62rem;
  letter-spacing: .06em;
  line-height: 1.5;
  text-transform: uppercase;
}

.home-print-browse-arrow {
  display: block;
  flex: 0 0 1.4rem;
  width: 1.4rem;
  height: 1.4rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-print-browse-caption {
  margin: .65rem 0 0;
  color: #b9bdb3;
  font-size: .72rem;
  line-height: 1.5;
}

@media (max-width: 760px) {
  body.portfolio-review-v50 .home-prints-lane > .home-print-gallery {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .5rem;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-browse-card {
    flex: 0 0 82% !important;
    width: 82% !important;
    scroll-snap-align: start;
  }

  body.portfolio-review-v50 .home-prints-lane .home-print-browse-link {
    aspect-ratio: 4 / 3 !important;
  }
}


/* BROWSE WORK — MATCH PRINT PHOTOGRAPH CARDS */
body.portfolio-review-v50 .home-print-gallery .home-print-browse-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: start !important;
  min-width: 0 !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.portfolio-review-v50 .home-print-gallery .home-print-browse-link {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  margin: 0 !important;
  padding: clamp(1rem, 2.5vw, 1.5rem) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(180deg, rgba(12,14,11,.12), rgba(12,14,11,.78)),
    linear-gradient(135deg, #414238 0%, #252820 48%, #171a16 100%) !important;
  color: #eeeee6 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: background-color .25s ease, color .25s ease;
}

body.portfolio-review-v50 .home-print-browse-kicker {
  margin: 0 !important;
  color: #c5c8bd !important;
  font-size: .62rem !important;
  letter-spacing: .13em !important;
  line-height: 1.5 !important;
}

body.portfolio-review-v50 .home-print-browse-title {
  display: block !important;
  margin: auto 0 !important;
  color: #f0f0e8 !important;
  font-family: var(--font-display, Georgia, serif) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 300 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
}

body.portfolio-review-v50 .home-print-browse-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .65rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: .75rem !important;
  border-top: 1px solid rgba(235,231,216,.3) !important;
  color: #d5d7cd !important;
  font-size: .62rem !important;
  letter-spacing: .06em !important;
  line-height: 1.5 !important;
  text-transform: uppercase;
}

body.portfolio-review-v50 .home-print-browse-arrow {
  display: block !important;
  flex: 0 0 1.25rem !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.portfolio-review-v50 .home-print-gallery .home-print-browse-caption {
  margin: .65rem 0 0 !important;
  padding: 0 !important;
  color: #b9bdb3 !important;
  font-size: .72rem !important;
  line-height: 1.5 !important;
  font-weight: inherit !important;
}

@media (max-width: 760px) {
  body.portfolio-review-v50 .home-print-gallery .home-print-browse-card {
    flex: 0 0 82% !important;
    width: 82% !important;
    scroll-snap-align: start !important;
  }

  body.portfolio-review-v50 .home-print-gallery .home-print-browse-link {
    aspect-ratio: 4 / 3 !important;
  }
}


/* BROWSE WORK — SITE PALETTE ALIGNMENT */
body.portfolio-review-v50 .home-print-gallery .home-print-browse-link {
  background: #20201e !important;
  background-image: none !important;
  border: 1px solid #474239 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #eeeee6 !important;
  text-decoration: none !important;
}

body.portfolio-review-v50 .home-print-gallery .home-print-browse-link:hover {
  background: #252421 !important;
  border-color: #716958 !important;
}

body.portfolio-review-v50 .home-print-gallery .home-print-browse-link:focus-visible {
  outline: 2px solid #c6b99f !important;
  outline-offset: 4px;
}

body.portfolio-review-v50 .home-print-browse-kicker {
  color: #b9bdb3 !important;
}

body.portfolio-review-v50 .home-print-browse-title {
  color: #eeeee6 !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
}

body.portfolio-review-v50 .home-print-browse-foot {
  color: #c7c6bd !important;
  border-top-color: #474239 !important;
}

body.portfolio-review-v50 .home-print-browse-arrow {
  color: #d7d5cc !important;
  stroke: currentColor !important;
}

body.portfolio-review-v50 .home-print-gallery .home-print-browse-caption {
  color: #b9bdb3 !important;
}
