:root{--ink:#171716;--paper:#f7f6f2;--white:#fff;--muted:#777;--serif:'Cormorant Garamond',serif;--sans:'Inter',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.intro{position:fixed;inset:0;background:#f8f7f3;z-index:9999;display:grid;place-items:center;animation:intro 2.7s forwards}.intro div{text-align:center;opacity:0;animation:reveal 1.8s .25s forwards}.intro span{display:block;font:500 clamp(1.4rem,4vw,3.2rem)/1 var(--serif);letter-spacing:.12em}.intro em{display:block;margin-top:12px;font:300 .65rem/1 var(--sans);letter-spacing:.25em;text-transform:uppercase}@keyframes reveal{to{opacity:1}}@keyframes intro{0%,75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 3vw;color:#fff;mix-blend-mode:difference}.brand span{display:block;font:500 1.22rem/1 var(--serif);letter-spacing:.04em}.brand small{display:block;margin-top:5px;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase}.site-header nav{display:flex;gap:28px;align-items:center;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.languages{display:flex;gap:7px;align-items:center}.languages button{border:0;background:none;color:inherit;font:inherit;opacity:.42;padding:0;cursor:pointer}.languages button.active{opacity:1}.languages i{font-style:normal;opacity:.35}.menu-button{display:none;border:0;background:none;width:32px;height:25px}.menu-button span{display:block;height:1px;background:currentColor;margin:7px 0}
.hero{height:100svh;position:relative;overflow:hidden;color:#fff}.hero>img{width:100%;height:100%;object-fit:cover;filter:contrast(.98) saturate(.85);animation:zoom 14s ease-out both}@keyframes zoom{from{transform:scale(1.035)}to{transform:scale(1)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.04) 46%,rgba(0,0,0,.38))}.hero-copy{position:absolute;left:7vw;bottom:13vh}.hero-copy p{font-size:.6rem;letter-spacing:.21em;text-transform:uppercase}.hero-copy h1{margin:17px 0 17px;font:400 clamp(4.2rem,10vw,9.2rem)/.73 var(--serif);letter-spacing:-.035em}.hero-copy>span{font:400 clamp(1rem,1.5vw,1.35rem)/1.4 var(--serif);font-style:italic}.scroll{position:absolute;right:4vw;bottom:5vh;display:flex;gap:14px;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase}.scroll b{font-size:1rem;font-weight:300}
.statement{padding:18vh 10vw 20vh;background:#f1f0eb}.statement>p{max-width:1100px;margin:0;font:400 clamp(2.8rem,6vw,6.4rem)/.95 var(--serif);letter-spacing:-.025em}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:12vh}.statement-grid p:first-child{font:300 clamp(1rem,1.5vw,1.35rem)/1.75 var(--sans);max-width:620px}.signature{font:italic 1.4rem var(--serif);align-self:end;text-align:right}
.work{padding:14vh 4vw}.section-heading{display:flex;align-items:baseline;gap:22px;border-top:1px solid #bbb;padding-top:17px;margin-bottom:14vh}.section-heading span{font-size:.62rem;letter-spacing:.14em}.section-heading h2{margin:0;font:400 clamp(2.4rem,4.8vw,5rem)/1 var(--serif)}.chapter{margin-bottom:24vh}.chapter-title{display:grid;grid-template-columns:80px 1fr 1fr;align-items:end;margin:0 4vw 9vh}.chapter-title>span{font:italic 1.3rem var(--serif)}.chapter-title h3{margin:0;font:400 clamp(3rem,7vw,7rem)/.85 var(--serif)}.chapter-title p{margin:0 0 .7rem;font:italic 1.15rem var(--serif);text-align:right}.gallery figure{margin:0;cursor:zoom-in}.gallery figure img{width:100%;height:100%;object-fit:cover;transition:filter .45s,transform .7s}.gallery figure:hover img{transform:scale(1.008);filter:brightness(.94)}figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:12px;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase}figcaption b{font-weight:500}figcaption span{color:#777;text-align:right}.editorial{display:grid;grid-template-columns:repeat(12,1fr);gap:8vh 3vw;align-items:start}.editorial .wide{grid-column:span 7}.editorial .portrait{grid-column:span 4}.editorial .offset{margin-top:20vh}.editorial figure:nth-child(3){grid-column-start:7}.editorial figure:nth-child(4){grid-column-start:2}.editorial.reverse figure:nth-child(1){grid-column-start:2}.editorial.reverse figure:nth-child(2){grid-column-start:7}.editorial.reverse figure:nth-child(3){grid-column-start:5}.editorial.reverse figure:nth-child(4){grid-column-start:1}.masonry{columns:3;column-gap:3vw}.masonry figure{break-inside:avoid;margin-bottom:10vh}.dark-chapter{background:#191918;color:#efeee9;margin-left:-4vw;margin-right:-4vw;padding:14vh 4vw}.dark-chapter .chapter-title p{color:#aaa}.dark-chapter figcaption span{color:#aaa}
.about{background:#1b1b1a;color:#f2f1ec;padding:15vh 7vw}.section-heading.light{border-color:#555}.about-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12vw;padding:7vh 4vw 5vh}.about-grid h3{margin:0;font:400 clamp(3rem,6vw,6rem)/.92 var(--serif);letter-spacing:-.02em}.about-grid p{font-size:.92rem;line-height:1.9;margin:0 0 2rem}.contact{padding:16vh 8vw 20vh}.contact .section-heading{margin-bottom:9vh}.contact p{font:italic clamp(1.5rem,3vw,3rem) var(--serif);margin-bottom:7vh}.contact>a{font:400 clamp(1.5rem,4.5vw,4.8rem)/1.1 var(--serif);border-bottom:1px solid}footer{padding:28px 4vw;border-top:1px solid #ccc;display:flex;justify-content:space-between;font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;color:#666}
.lightbox{border:0;padding:0;width:100vw;max-width:none;height:100vh;background:#111;color:white}.lightbox::backdrop{background:#111}.lightbox img{width:100%;height:calc(100% - 70px);object-fit:contain;padding:3vh 4vw 0}.lightbox button{position:absolute;right:26px;top:17px;border:0;background:none;color:#fff;font:300 2rem var(--sans);cursor:pointer}.lightbox div{height:70px;padding:16px 4vw;display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.lightbox div b{font-weight:500}.lightbox div span{color:#aaa}
@media(max-width:760px){.site-header{padding:20px}.site-header nav{position:fixed;inset:0;background:#f5f4ef;color:#111;mix-blend-mode:normal;flex-direction:column;justify-content:center;font-size:1rem;transform:translateY(-100%);transition:.45s}.site-header nav.open{transform:none}.menu-button{display:block;color:inherit;z-index:2}.hero-copy{left:7vw;bottom:16vh}.hero-copy h1{font-size:19vw}.statement{padding:15vh 7vw}.statement-grid{grid-template-columns:1fr;margin-top:8vh}.signature{text-align:left}.work{padding:10vh 5vw}.section-heading{margin-bottom:10vh}.chapter{margin-bottom:18vh}.chapter-title{grid-template-columns:40px 1fr;margin:0 0 7vh}.chapter-title p{grid-column:2;text-align:left;margin-top:12px}.editorial{display:block}.editorial figure,.editorial .wide,.editorial .portrait{margin:0 0 10vh!important}.masonry{columns:1}.dark-chapter{margin-left:-5vw;margin-right:-5vw;padding:12vh 5vw}.about{padding:12vh 6vw}.about-grid{grid-template-columns:1fr;gap:8vh;padding:4vh 0}.contact{padding:12vh 6vw}.contact>a{font-size:7.3vw}footer{gap:20px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.intro{display:none}.hero>img{animation:none}}

/* V3 curatorial refinements */
.editorial .portrait{grid-column:span 5}
.editorial .offset{margin-top:11vh}
.editorial .feature-intimacy{grid-column:3 / span 8;margin-top:2vh}
.editorial .feature-gaze{grid-column:5 / span 7;margin-top:3vh}
.editorial.reverse .feature-pearls{grid-column:6 / span 7;margin-top:0}
.monochrome img{filter:grayscale(1) contrast(1.04)}
.monochrome:hover img{filter:grayscale(1) contrast(1.04) brightness(.94)}
@media(max-width:760px){.editorial .feature-intimacy,.editorial .feature-gaze,.editorial.reverse .feature-pearls{margin:0 0 10vh!important}.languages{gap:5px}.languages button{font-size:.72rem}}

/* V4 — immersive exhibition treatment */
:root{--scroll-progress:0%}
body{overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9000;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.scroll-progress{position:fixed;z-index:1000;left:0;top:0;width:var(--scroll-progress);height:2px;background:currentColor;color:#fff;mix-blend-mode:difference;pointer-events:none}
.hero-copy h1{text-wrap:balance}
.statement>p,.about-grid h3{text-wrap:balance}
.statement-grid p:first-child{text-wrap:pretty}
.gallery figure{position:relative}
.gallery figure img{height:auto;aspect-ratio:auto;will-change:transform}
.gallery figure::after{content:"";position:absolute;inset:0 0 28px;background:linear-gradient(125deg,transparent 52%,rgba(255,255,255,.12));opacity:0;transition:opacity .55s;pointer-events:none}
.gallery figure:hover::after{opacity:1}
.gallery figcaption{transition:transform .45s,opacity .45s}
.gallery figure:hover figcaption{transform:translateY(3px)}

/* Silence is composed as a dialogue between distance and intimacy. */
.editorial .silence-opener{grid-column:1 / span 9;margin-bottom:4vh}
.editorial .feature-intimacy{grid-column:1 / span 8;margin-top:0}
.editorial .reader-companion{grid-column:9 / span 4;margin-top:12vh}
.editorial .window-ending{grid-column:3 / span 5;margin-top:7vh}
.feature-intimacy img{filter:none!important}
.feature-intimacy:hover img{filter:brightness(.94)!important}

/* Stronger photographic hierarchy without turning the work into a mosaic. */
.editorial .feature-gaze{grid-column:4 / span 8;margin-top:1vh}
.editorial.reverse .feature-pearls{grid-column:5 / span 8;margin-top:0}
.editorial .feature-intimacy img,.editorial .feature-gaze img,.editorial.reverse .feature-pearls img{width:100%}
.dark-chapter{position:relative;isolation:isolate}
.dark-chapter::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(255,255,255,.055),transparent 34%);z-index:-1}

/* Reveal motion resembles a print being uncovered rather than a web animation. */
.reveal-item{opacity:0;transform:translateY(42px);clip-path:inset(0 0 13% 0);transition:opacity .9s ease var(--reveal-delay),transform 1s cubic-bezier(.2,.72,.2,1) var(--reveal-delay),clip-path 1.1s cubic-bezier(.2,.72,.2,1) var(--reveal-delay)}
.reveal-item.is-visible{opacity:1;transform:none;clip-path:inset(0)}
.view-cursor{position:fixed;left:-34px;top:-34px;width:68px;height:68px;border-radius:50%;background:rgba(245,244,239,.92);color:#181817;display:grid;place-items:center;z-index:1200;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);transition:opacity .2s;mix-blend-mode:normal}
.view-cursor span{font-size:.52rem;letter-spacing:.18em;margin-left:.18em}
.view-cursor.visible{opacity:1}

/* Make the first French colon inseparable from its preceding phrase. */
html[lang="fr"] .statement-grid p{text-wrap:pretty}

@media (hover:none),(pointer:coarse){.view-cursor{display:none}}
@media(max-width:760px){
  body::before{opacity:.025}
  .scroll-progress{height:1px}
  .editorial .silence-opener,.editorial .feature-intimacy,.editorial .reader-companion,.editorial .window-ending,.editorial .feature-gaze,.editorial.reverse .feature-pearls{margin:0 0 10vh!important}
  .hero-copy>span{display:block;max-width:82vw}
  .reveal-item{transform:translateY(24px)}
}
@media(prefers-reduced-motion:reduce){.reveal-item{opacity:1;transform:none;clip-path:none}.view-cursor,.scroll-progress{display:none}}

/* V5 — clearer image interaction + geographic archive */
.gallery figure .open-cue{position:absolute;right:14px;top:14px;z-index:3;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid rgba(255,255,255,.48);background:rgba(15,15,14,.34);backdrop-filter:blur(10px);color:#fff;font-size:.54rem;letter-spacing:.15em;text-transform:uppercase;opacity:.92;transition:background .35s,transform .35s,opacity .35s;pointer-events:none}
.gallery figure .open-cue::after{content:'↗';font-size:.8rem;line-height:1}
.gallery figure:hover .open-cue{background:rgba(15,15,14,.72);transform:translateY(-2px);opacity:1}
.gallery figure.has-series .open-cue::before{content:attr(data-series-count);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:#111;font-weight:500;letter-spacing:0}
.gallery figure.has-series::before{content:'';position:absolute;z-index:-1;inset:14px -14px -14px 14px;border:1px solid rgba(20,20,20,.22);background:#eceae3;transition:transform .45s;pointer-events:none}
.dark-chapter .gallery figure.has-series::before{border-color:rgba(255,255,255,.2);background:#2a2a28}
.gallery figure.has-series:hover::before{transform:translate(4px,4px)}

.lightbox .lb-nav{position:absolute;inset:50% 0 auto;transform:translateY(-50%);height:auto;padding:0 22px;display:flex;justify-content:space-between;pointer-events:none}
.lightbox .lb-nav button{position:static;width:52px;height:52px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.24);font-size:1.4rem;pointer-events:auto;transition:.25s}
.lightbox .lb-nav button:hover{background:#fff;color:#111}
.lightbox .lb-meta{height:70px;padding:16px 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}
.lightbox .lb-meta span{text-align:right}.lightbox .lb-count{color:#aaa;text-align:center}

.map-section{position:relative;overflow:hidden;background:#e9e7df;padding:15vh 5vw 16vh;color:#171716}
.map-section .section-heading{margin-bottom:7vh}
.map-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:12vw;margin:0 4vw 9vh;align-items:end}
.map-intro h3{margin:0;font:400 clamp(3rem,6.5vw,7rem)/.86 var(--serif);letter-spacing:-.03em}
.map-intro p{margin:0;max-width:520px;font-size:.92rem;line-height:1.8;color:#4f4e49}
.world-map{position:relative;max-width:1320px;margin:auto;aspect-ratio:2/1;border-top:1px solid rgba(0,0,0,.18);border-bottom:1px solid rgba(0,0,0,.18)}
.world-map svg{width:100%;height:100%;display:block}
.world-map .land{fill:#d0cdc2;stroke:#b9b5a9;stroke-width:.8}
.map-marker{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;color:#111;padding:0;z-index:2}
.map-marker::before{content:'';display:block;width:12px;height:12px;border-radius:50%;background:#111;border:3px solid #e9e7df;box-shadow:0 0 0 1px #111;transition:.3s}
.map-marker::after{content:attr(data-label);position:absolute;left:50%;top:20px;transform:translateX(-50%);white-space:nowrap;font-size:.52rem;letter-spacing:.13em;text-transform:uppercase;opacity:.7;transition:.3s}
.map-marker:hover::before,.map-marker:focus-visible::before{transform:scale(1.45);background:#a52e28}
.map-marker:hover::after,.map-marker:focus-visible::after{opacity:1;transform:translateX(-50%) translateY(3px)}
.map-note{margin:4vh 4vw 0;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#777}

.country-modal{border:0;padding:0;width:min(1180px,94vw);max-width:none;max-height:90vh;background:#f3f1ea;color:#111}
.country-modal::backdrop{background:rgba(10,10,9,.82);backdrop-filter:blur(5px)}
.country-modal .country-close{position:absolute;right:24px;top:18px;z-index:3;border:0;background:none;font:300 2rem var(--sans);cursor:pointer}
.country-head{padding:5vh 5vw 3vh;border-bottom:1px solid #ccc;display:flex;justify-content:space-between;align-items:end;gap:24px}
.country-head h3{margin:0;font:400 clamp(2.5rem,5vw,5.5rem)/.9 var(--serif)}
.country-head span{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#666}
.country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;padding:5vh 5vw 7vh;max-height:68vh;overflow:auto}
.country-grid figure{margin:0;cursor:zoom-in}.country-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.country-grid figcaption{padding-top:10px}

@media(max-width:760px){
  .gallery figure .open-cue{right:10px;top:10px;padding:7px 9px;font-size:.48rem}
  .gallery figure.has-series::before{inset:9px -9px -9px 9px}
  .map-section{padding:12vh 5vw}.map-intro{grid-template-columns:1fr;gap:4vh;margin:0 0 7vh}.world-map{aspect-ratio:1.35/1;overflow:hidden}.world-map svg{transform:scale(1.35)}
  .map-marker::after{display:none}.map-marker::before{width:10px;height:10px}
  .country-head{align-items:start;flex-direction:column;padding:4vh 6vw 2.5vh}.country-grid{grid-template-columns:1fr 1fr;gap:6vw 4vw;padding:4vh 6vw 6vh}.country-grid img{aspect-ratio:3/4}
  .lightbox .lb-nav{padding:0 10px}.lightbox .lb-nav button{width:42px;height:42px}
}

/* V6 — clearer, quieter interaction and a more editorial world archive */
.editorial .feature-intimacy{grid-column:1 / -1;margin-top:0}
.editorial .feature-intimacy img{width:100%;max-height:82vh;object-fit:cover}
.editorial .reader-companion{grid-column:2 / span 5;margin-top:8vh}
.editorial .window-ending{grid-column:8 / span 4;margin-top:18vh}

.gallery figure .open-cue{right:16px;top:auto;bottom:48px;width:40px;height:40px;padding:0;border-radius:50%;justify-content:center;border:1px solid rgba(255,255,255,.62);background:rgba(18,18,17,.24);backdrop-filter:blur(8px);font-size:0;opacity:0;transform:translateY(5px)}
.gallery figure .open-cue::after{content:'+';font:300 1.25rem/1 var(--sans)}
.gallery figure:hover .open-cue,.gallery figure:focus-within .open-cue{opacity:1;transform:none;background:rgba(18,18,17,.58)}
.gallery figure.has-series .open-cue::before{content:attr(data-series-count);position:absolute;right:-7px;top:-7px;width:20px;height:20px;border-radius:50%;background:#fff;color:#111;font-size:.52rem;display:grid;place-items:center;letter-spacing:0}
.gallery figure.has-series::before{inset:10px -10px -10px 10px;background:transparent;border:1px solid rgba(20,20,20,.2)}
.dark-chapter .gallery figure.has-series::before{background:transparent}
.gallery figure.has-series::after{content:attr(data-open-photos);position:absolute;right:64px;bottom:59px;inset:auto 64px 59px auto;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .35s;pointer-events:none;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.gallery figure.has-series:hover::after{opacity:.9}

.map-section{background:#f2f1ed}
.map-intro{align-items:center}
.map-copy{max-width:560px}
.map-copy p{margin:0}
.be-curious{margin-top:2rem!important;font:italic 1.35rem/1.4 var(--serif)!important;color:#171716!important}
.world-map{border:0;aspect-ratio:2.08/1;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0));}
.world-map::before,.world-map::after{content:'';position:absolute;left:0;right:0;height:1px;background:rgba(0,0,0,.12);z-index:1}.world-map::before{top:0}.world-map::after{bottom:0}
.world-map svg{filter:grayscale(1)}
.world-map .land{fill:#171716;stroke:none;opacity:.92}
.world-map .map-grid path{fill:none;stroke:#171716;stroke-width:.55;opacity:.08}
.world-map .route-line{fill:none;stroke:#171716;stroke-width:1;stroke-dasharray:3 9;opacity:.18}
.map-marker::before{width:10px;height:10px;background:#f2f1ed;border:2px solid #171716;box-shadow:0 0 0 5px rgba(242,241,237,.75)}
.map-marker::after{top:18px;font-size:.48rem;opacity:.62;background:#f2f1ed;padding:3px 5px}
.map-marker:hover::before,.map-marker:focus-visible::before{background:#171716;transform:scale(1.25)}
.map-note{text-align:center;margin-top:5vh;color:#4d4c48}

@media(max-width:760px){
  .editorial .feature-intimacy,.editorial .reader-companion,.editorial .window-ending{margin:0 0 10vh!important}
  .gallery figure .open-cue{opacity:.88;bottom:46px;right:10px;width:36px;height:36px}
  .gallery figure.has-series::after{display:none}
  .world-map{aspect-ratio:1.35/1}
  .be-curious{font-size:1.15rem!important}
}

/* V7 — exhibition first, journey second */
.editorial .feature-intimacy{
  grid-column:1 / -1;
  width:100%;
  margin:2vh 0 16vh;
}
.editorial .feature-intimacy img{
  width:100%;
  height:min(86vh,920px);
  max-height:none;
  object-fit:cover;
}

/* The map becomes the dramatic closing room of the exhibition. */
.map-section{
  background:#0c0c0b;
  color:#f4f2eb;
  padding-top:18vh;
  padding-bottom:18vh;
}
.map-section .section-heading span,
.map-section .map-note{color:#918f88}
.map-section .section-heading h2{color:#f4f2eb}
.map-intro p{color:#aaa79f}
.be-curious{color:#f4f2eb!important;font-size:clamp(1.4rem,2.2vw,2.15rem)!important}
.world-map{
  background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.07),transparent 62%);
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.world-map::before,.world-map::after{display:none}
.world-map .land{fill:#f0eee7;opacity:.94}
.world-map .map-grid path{stroke:#fff;opacity:.055}
.world-map .route-line{stroke:#fff;opacity:.18}
.map-marker{color:#f4f2eb}
.map-marker::before{
  background:#0c0c0b;
  border-color:#f4f2eb;
  box-shadow:0 0 0 5px rgba(12,12,11,.8),0 0 0 6px rgba(244,242,235,.17);
}
.map-marker::after{background:#0c0c0b;color:#f4f2eb;opacity:.72}
.map-marker:hover::before,.map-marker:focus-visible::before{background:#f4f2eb;box-shadow:0 0 0 8px rgba(244,242,235,.12)}
.map-note{color:#aaa79f!important}

/* Country chapters feel like small photographic books, not thumbnail archives. */
.country-modal{
  width:min(1440px,96vw);
  max-height:94vh;
  background:#f5f3ed;
}
.country-head{padding:7vh 6vw 5vh;align-items:flex-end}
.country-head>div{max-width:780px}
.country-kicker{margin:0 0 1.4rem;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:#777}
.country-head h3{font-size:clamp(3.5rem,8vw,8.5rem);letter-spacing:-.04em}
.country-intro{margin:2rem 0 0;max-width:620px;font:400 clamp(1.2rem,2vw,1.8rem)/1.45 var(--serif);color:#4f4d48}
.country-grid{
  grid-template-columns:repeat(12,1fr);
  gap:12vh 3vw;
  padding:8vh 6vw 12vh;
  max-height:67vh;
  scroll-behavior:smooth;
}
.country-grid figure{grid-column:span 7;margin:0;cursor:zoom-in}
.country-grid figure:nth-child(even){grid-column:6 / span 7}
.country-grid figure:nth-child(3n){grid-column:2 / span 8}
.country-grid img{width:100%;height:auto;max-height:75vh;aspect-ratio:auto;object-fit:contain;background:#ebe8df}
.country-grid figcaption{padding-top:12px;text-align:right}
.country-grid figcaption span{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:#777}

@media(max-width:760px){
  .editorial .feature-intimacy{margin-bottom:10vh!important}
  .editorial .feature-intimacy img{height:auto;max-height:none}
  .map-section{padding-top:13vh;padding-bottom:13vh}
  .country-head{padding:5vh 6vw 3.5vh}
  .country-head h3{font-size:clamp(3rem,16vw,5rem)}
  .country-intro{margin-top:1.2rem;font-size:1.2rem}
  .country-grid{display:block;padding:5vh 6vw 10vh;max-height:68vh}
  .country-grid figure{margin-bottom:9vh}
  .country-grid img{max-height:none;width:100%}
}

/* V8 — tactile titles, faithful framing and clear return navigation */
.gallery figure img{
  transition:filter .8s ease, transform 2.4s cubic-bezier(.18,.72,.22,1);
  transform-origin:center center;
}
@media (hover:hover) and (pointer:fine){
  .gallery figure:hover img,
  .gallery figure:has(figcaption:hover) img{
    transform:scale(1.035);
    filter:brightness(.96);
  }
  .gallery figcaption{cursor:default}
  .gallery figcaption b{position:relative}
  .gallery figcaption b::after{
    content:"";
    position:absolute;
    left:0;right:100%;bottom:-4px;
    height:1px;background:currentColor;
    transition:right .7s cubic-bezier(.18,.72,.22,1);
  }
  .gallery figure:hover figcaption b::after,
  .gallery figure:has(figcaption:hover) figcaption b::after{right:0}
}

/* Reflections of Intimacy remains monumental but keeps the original portrait frame. */
.editorial .feature-intimacy{
  grid-column:2 / span 10;
  width:100%;
  max-width:min(78vw,1080px);
  justify-self:center;
  margin:2vh auto 16vh;
}
.editorial .feature-intimacy img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}

.country-back{
  position:sticky;
  left:22px;
  top:18px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:18px 0 -50px 24px;
  padding:10px 14px;
  border:1px solid rgba(17,17,17,.28);
  border-radius:999px;
  background:rgba(245,243,237,.9);
  backdrop-filter:blur(10px);
  color:#111;
  font:400 .58rem/1 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .25s,color .25s,border-color .25s,transform .25s;
}
.country-back:hover,.country-back:focus-visible{
  background:#111;color:#fff;border-color:#111;transform:translateX(-2px)
}
.country-modal .country-close{position:sticky;float:right;margin:14px 18px -52px 0;top:12px}

@media(max-width:760px){
  .editorial .feature-intimacy{grid-column:auto;max-width:none;width:100%;margin:0 0 10vh!important}
  .country-back{left:10px;top:10px;margin:10px 0 -42px 10px;padding:9px 11px;font-size:.5rem}
  .country-modal .country-close{margin:7px 8px -45px 0;top:7px}
}
@media(prefers-reduced-motion:reduce){.gallery figure img{transition:none!important}.gallery figure:hover img{transform:none!important}}

/* V9 — calmer rhythm, balanced image/text composition and title previews */
.chapter{margin-bottom:18vh}
.chapter-title{margin-bottom:6vh}
.editorial{gap:6vh 2.5vw}
.editorial .offset{margin-top:8vh}

/* Silence: Reflections remains a leading image, but no longer overwhelms the room. */
.editorial .silence-opener{
  grid-column:1 / span 4;
  margin:7vh 0 0;
}
.editorial .feature-intimacy{
  grid-column:5 / -1;
  width:100%;
  max-width:920px;
  justify-self:end;
  margin:0 0 8vh;
}
.editorial .feature-intimacy img{
  width:100%;
  height:auto;
  max-height:76vh;
  object-fit:contain;
}
.editorial .reader-companion{
  grid-column:2 / span 5;
  margin-top:2vh;
}
.editorial .window-ending{
  grid-column:8 / span 4;
  margin-top:10vh;
}

/* Keep every chapter visually present soon after its heading. */
.dark-chapter{padding-top:11vh;padding-bottom:12vh}
.dark-chapter .chapter-title{margin-bottom:6vh}
.editorial .feature-gaze{grid-column:5 / span 8;margin-top:0}
.editorial.reverse .feature-pearls{grid-column:5 / span 8;margin-top:0}

/* Dignity becomes an ordered editorial grid instead of a loose column flow. */
.gallery.masonry{
  columns:auto;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:7vh 2.5vw;
}
.gallery.masonry figure{margin:0;grid-column:span 4}
.gallery.masonry figure:nth-child(2),
.gallery.masonry figure:nth-child(5){margin-top:7vh}
.gallery.masonry figure:nth-child(4){grid-column:2 / span 4}
.gallery.masonry figure:nth-child(5){grid-column:6 / span 4}
.gallery.masonry figure:nth-child(6){grid-column:10 / span 3}

/* A small photographic preview follows the cursor when hovering a title. */
.title-preview{
  position:fixed;
  z-index:1300;
  left:0;
  top:0;
  width:clamp(170px,20vw,290px);
  max-height:38vh;
  padding:7px;
  background:rgba(247,246,242,.96);
  border:1px solid rgba(23,23,22,.14);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translate3d(-999px,-999px,0) scale(.96);
  transition:opacity .22s ease,visibility .22s ease,transform .32s cubic-bezier(.2,.72,.2,1);
}
.title-preview.visible{opacity:1;visibility:visible}
.title-preview img{display:block;width:100%;height:auto;max-height:35vh;object-fit:contain}
.gallery figcaption b{cursor:crosshair}

@media(max-width:900px){
  .gallery.masonry{grid-template-columns:repeat(2,1fr)}
  .gallery.masonry figure,
  .gallery.masonry figure:nth-child(4),
  .gallery.masonry figure:nth-child(5),
  .gallery.masonry figure:nth-child(6){grid-column:auto;margin-top:0}
}

@media(max-width:760px){
  .chapter-title{margin-bottom:5vh}
  .editorial .silence-opener,
  .editorial .feature-intimacy,
  .editorial .reader-companion,
  .editorial .window-ending{width:100%;max-width:none;margin:0 0 8vh!important}
  .editorial .feature-intimacy img{max-height:none}
  .gallery.masonry{display:block}
  .gallery.masonry figure{margin-bottom:8vh!important}
  .title-preview{display:none}
}

/* V10 — cleaner curation, a more composed Silence chapter and reliable hover previews. */
.silence-gallery{
  grid-template-rows:auto auto;
  align-items:start;
}
.silence-gallery .silence-opener{
  grid-column:1 / span 7;
  margin:0;
}
.silence-gallery .reader-companion{
  grid-column:9 / span 3;
  margin:10vh 0 0;
}
.silence-gallery .feature-intimacy{
  grid-column:3 / span 8;
  width:100%;
  max-width:860px;
  justify-self:center;
  margin:5vh 0 2vh;
}
.silence-gallery .window-ending{
  grid-column:9 / span 3;
  margin:18vh 0 0;
}
.dignity-coda{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  margin-top:10vh;
}
.dignity-coda .feature-gaze{
  grid-column:3 / span 8;
  margin:0;
}
.dark-chapter .editorial{
  grid-template-columns:repeat(12,1fr);
}
.dark-chapter .editorial .portrait{grid-column:2 / span 4}
.dark-chapter .editorial .wide{grid-column:7 / span 5;margin-top:12vh}
.editorial.reverse .feature-pearls{grid-column:6 / span 7}
.editorial.reverse figure:last-child{grid-column:2 / span 4;margin-top:7vh}

/* The reveal is decorative only: content remains visible if JS or the observer stalls. */
.reveal-item.is-visible{opacity:1;visibility:visible}
.gallery figure img{backface-visibility:hidden}
.title-preview{will-change:transform,opacity}
.gallery figcaption{cursor:crosshair}

@media(max-width:760px){
  .silence-gallery .silence-opener,
  .silence-gallery .reader-companion,
  .silence-gallery .feature-intimacy,
  .silence-gallery .window-ending,
  .dignity-coda .feature-gaze{grid-column:auto;margin:0 0 8vh!important;max-width:none}
  .dignity-coda{display:block;margin-top:2vh}
  .dark-chapter .editorial .portrait,
  .dark-chapter .editorial .wide,
  .editorial.reverse .feature-pearls,
  .editorial.reverse figure:last-child{grid-column:auto;margin:0 0 8vh!important}
}


/* V11 — slightly larger opening images and a standalone Shared Gaze interlude. */
.silence-gallery .silence-opener{
  grid-column:1 / span 8;
}
.silence-gallery .reader-companion{
  grid-column:10 / span 3;
}
.silence-gallery .feature-intimacy{
  grid-column:2 / span 10;
  max-width:980px;
}
.shared-gaze-interlude{
  width:min(100%,1120px);
  margin:-2vh auto 20vh;
  display:grid;
  grid-template-columns:repeat(12,1fr);
}
.shared-gaze-interlude .feature-gaze{
  grid-column:3 / span 8;
  margin:0;
}
.shared-gaze-interlude img{
  width:100%;
  display:block;
}
.shared-gaze-interlude figcaption{
  margin-top:14px;
}
.shared-gaze-interlude figcaption b,
.shared-gaze-interlude figcaption span{
  display:block;
}
.shared-gaze-interlude figcaption b{
  font:400 clamp(1.35rem,2vw,2rem)/1.15 var(--serif);
}
.shared-gaze-interlude figcaption span{
  margin-top:6px;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .shared-gaze-interlude{display:block;margin:0 0 14vh}
  .shared-gaze-interlude .feature-gaze{margin:0}
}

/* V12 — Shared Gaze as a full-width black interlude within the site. */
.shared-gaze-interlude{
  width:auto;
  max-width:none;
  margin:-4vh -4vw 20vh;
  padding:14vh 4vw;
  background:#090909;
  color:#f3f1eb;
  grid-template-columns:repeat(12,1fr);
}
.shared-gaze-interlude .feature-gaze{
  grid-column:3 / span 8;
}
.shared-gaze-interlude figcaption span{
  color:#aaa;
}
.shared-gaze-interlude .feature-gaze img{
  transition:transform .8s ease, filter .5s ease;
}
.shared-gaze-interlude .feature-gaze:hover img{
  transform:scale(1.008);
  filter:brightness(.96);
}
@media(max-width:760px){
  .shared-gaze-interlude{
    margin:0 -5vw 14vh;
    padding:11vh 5vw;
  }
}

/* V13 — bring At the Window closer to Reflections of Intimacy. */
.silence-gallery .window-ending{
  margin:7vh 0 0;
  transform:translateY(-4vh);
}
@media(max-width:760px){
  .silence-gallery .window-ending{
    transform:none;
    margin:0 0 8vh!important;
  }
}


/* V14 — At the Window rises into the visual conversation; Dignity prioritises direct gazes. */
.silence-gallery .window-ending{
  margin:0;
  transform:translateY(-16vh);
}

.gallery.masonry.dignity-gallery{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:3vw;
  row-gap:11vh;
  align-items:start;
  columns:auto;
}
.gallery.masonry.dignity-gallery figure{margin:0}
.dignity-gallery .dignity-market{
  grid-column:4 / span 6;
}
.dignity-gallery .dignity-elders{
  grid-column:1 / span 4;
  margin-top:5vh;
}
.dignity-gallery .dignity-gardener{
  grid-column:9 / span 3;
  margin-top:12vh;
}
.dignity-gallery .dignity-stillness{
  grid-column:3 / span 5;
  margin-top:-2vh;
}
.dignity-gallery .dignity-market img,
.dignity-gallery .dignity-elders img,
.dignity-gallery .dignity-gardener img{
  object-position:center center;
}

@media(max-width:760px){
  .silence-gallery .window-ending{
    transform:none;
    margin:-3vh 0 8vh!important;
  }
  .gallery.masonry.dignity-gallery{display:block}
  .gallery.masonry.dignity-gallery figure,
  .dignity-gallery .dignity-market,
  .dignity-gallery .dignity-elders,
  .dignity-gallery .dignity-gardener,
  .dignity-gallery .dignity-stillness{
    margin:0 0 8vh!important;
  }
}

/* V15 — Director's Cut: a quieter, silk-like editorial rhythm. */
:root{
  --silk-ease:cubic-bezier(.22,.61,.36,1);
  --silk-slow:1100ms;
}

/* Photographs must never depend on a click or a stalled observer to appear. */
.gallery figure.reveal-item,
.shared-gaze-interlude figure.reveal-item{
  opacity:1;
  visibility:visible;
  transform:none;
  clip-path:none;
}

.gallery figure{
  overflow:visible;
}
.gallery figure img{
  transition:transform var(--silk-slow) var(--silk-ease),
             filter 850ms var(--silk-ease),
             opacity 850ms var(--silk-ease);
  transform-origin:center center;
}
.gallery figure:hover img{
  transform:scale(1.014);
  filter:brightness(.965) saturate(.96);
}
figcaption{
  transition:transform 700ms var(--silk-ease),opacity 700ms var(--silk-ease);
}
.gallery figure:hover figcaption{
  transform:translateY(3px);
}

/* Silence: the four images overlap visually without feeling crowded. */
.silence-gallery{
  row-gap:3vh;
}
.silence-gallery .silence-opener{
  grid-column:1 / span 8;
  margin:0;
}
.silence-gallery .reader-companion{
  grid-column:10 / span 3;
  margin:8vh 0 0;
}
.silence-gallery .feature-intimacy{
  grid-column:2 / span 10;
  max-width:980px;
  margin:3vh 0 0;
  justify-self:center;
}
.silence-gallery .window-ending{
  grid-column:9 / span 3;
  margin:0;
  transform:translateY(-25vh);
  z-index:2;
}

/* Dignity: balanced pairs, recurring sight-lines and equal visual breathing room. */
.gallery.masonry.dignity-gallery{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:4vw;
  row-gap:12vh;
  align-items:start;
  columns:auto;
  max-width:1240px;
  margin-inline:auto;
}
.gallery.masonry.dignity-gallery figure{
  margin:0!important;
}
.dignity-gallery .dignity-market{
  grid-column:1 / span 5;
}
.dignity-gallery .dignity-elders{
  grid-column:7 / span 6;
  margin-top:8vh!important;
}
.dignity-gallery .dignity-stillness{
  grid-column:2 / span 5;
  margin-top:0!important;
}
.dignity-gallery .dignity-gardener{
  grid-column:8 / span 4;
  margin-top:9vh!important;
}
.dignity-gallery img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.dignity-gallery .dignity-market figcaption,
.dignity-gallery .dignity-stillness figcaption{
  padding-right:5%;
}

/* Shared Gaze remains a tactile black pause rather than another grid item. */
.shared-gaze-interlude{
  margin:-2vh -4vw 22vh;
  padding:15vh 4vw 16vh;
  background:#080808;
}
.shared-gaze-interlude .feature-gaze{
  grid-column:3 / span 8;
  max-width:900px;
  justify-self:center;
}
.shared-gaze-interlude .feature-gaze img{
  transition:transform 1300ms var(--silk-ease),filter 1000ms var(--silk-ease);
}
.shared-gaze-interlude .feature-gaze:hover img{
  transform:scale(1.012);
  filter:brightness(.97);
}

/* Slightly softer chapter spacing, like turning pages rather than jumping panels. */
.chapter{
  margin-bottom:20vh;
}
.chapter-title{
  margin-bottom:7vh;
}

@media(max-width:900px) and (min-width:761px){
  .silence-gallery .window-ending{transform:translateY(-17vh)}
  .gallery.masonry.dignity-gallery{column-gap:3vw;row-gap:9vh}
  .dignity-gallery .dignity-market{grid-column:1 / span 6}
  .dignity-gallery .dignity-elders{grid-column:7 / span 6;margin-top:5vh!important}
  .dignity-gallery .dignity-stillness{grid-column:1 / span 5}
  .dignity-gallery .dignity-gardener{grid-column:8 / span 5;margin-top:6vh!important}
}

@media(max-width:760px){
  .silence-gallery .window-ending{
    transform:none;
    margin:-4vh 0 8vh!important;
  }
  .gallery.masonry.dignity-gallery{
    display:block;
  }
  .gallery.masonry.dignity-gallery figure{
    margin:0 0 9vh!important;
  }
  .shared-gaze-interlude{
    margin:0 -5vw 15vh;
    padding:11vh 5vw 12vh;
  }
}

@media(prefers-reduced-motion:reduce){
  .gallery figure img,
  figcaption,
  .shared-gaze-interlude .feature-gaze img{
    transition:none!important;
  }
}


/* V16 — Silk Edition: fewer images, greater conviction. */
body[data-edition="v18-silk-final"] .chapter:has(.dignity-duet){
  margin-bottom:24vh;
}

body[data-edition="v18-silk-final"] .dignity-duet{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:3.5vw;
  row-gap:0;
  max-width:1320px;
  margin:0 auto;
  padding-top:2vh;
  align-items:start;
}

/* The Bolivian woman becomes the emotional centre of the room. */
body[data-edition="v18-silk-final"] .dignity-duet .dignity-stillness{
  grid-column:4 / span 9;
  grid-row:1;
  margin:0!important;
  z-index:1;
}
body[data-edition="v18-silk-final"] .dignity-duet .dignity-stillness img{
  width:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
  object-position:center 44%;
}
body[data-edition="v18-silk-final"] .dignity-duet .dignity-stillness figcaption{
  width:max-content;
  margin-left:auto;
  padding-top:16px;
  text-align:right;
}

/* Three Elders arrives later, like a second quiet sentence. */
body[data-edition="v18-silk-final"] .dignity-duet .dignity-elders{
  grid-column:1 / span 4;
  grid-row:2;
  margin:-10vh 0 0!important;
  z-index:2;
}
body[data-edition="v18-silk-final"] .dignity-duet .dignity-elders img{
  width:100%;
  aspect-ratio:2 / 3;
  object-fit:cover;
  object-position:center center;
}
body[data-edition="v18-silk-final"] .dignity-duet .dignity-elders figcaption{
  padding-top:14px;
}

/* Preserve the pause between Dignity and the black room. */
body[data-edition="v18-silk-final"] .shared-gaze-interlude{
  margin-top:2vh;
  padding-top:17vh;
  padding-bottom:18vh;
}
body[data-edition="v18-silk-final"] .shared-gaze-interlude .feature-gaze{
  grid-column:4 / span 6;
  max-width:760px;
}
body[data-edition="v18-silk-final"] .shared-gaze-interlude figcaption{
  margin-top:18px;
}

@media(max-width:900px) and (min-width:761px){
  body[data-edition="v18-silk-final"] .dignity-duet .dignity-stillness{grid-column:3 / span 10}
  body[data-edition="v18-silk-final"] .dignity-duet .dignity-elders{grid-column:1 / span 5;margin:-6vh 0 0!important}
  body[data-edition="v18-silk-final"] .shared-gaze-interlude .feature-gaze{grid-column:3 / span 8}
}

@media(max-width:760px){
  body[data-edition="v18-silk-final"] .chapter:has(.dignity-duet){margin-bottom:14vh}
  body[data-edition="v18-silk-final"] .dignity-duet{display:flex;flex-direction:column;padding-top:0}
  body[data-edition="v18-silk-final"] .dignity-duet .dignity-stillness{order:1;margin:0 0 11vh!important}
  body[data-edition="v18-silk-final"] .dignity-duet .dignity-stillness img{aspect-ratio:3 / 2}
  body[data-edition="v18-silk-final"] .dignity-duet .dignity-stillness figcaption{margin-left:0;text-align:left}
  body[data-edition="v18-silk-final"] .dignity-duet .dignity-elders{order:2;width:72%;align-self:flex-end;margin:0!important}
  body[data-edition="v18-silk-final"] .shared-gaze-interlude{padding-top:13vh;padding-bottom:14vh}
  body[data-edition="v18-silk-final"] .shared-gaze-interlude .feature-gaze{max-width:none}
}


/* V17 — final curatorial refinements. */
/* A touch more presence, without disturbing the editorial rhythm. */
.silence-gallery .window-ending{
  transform:translateY(-25vh) scale(1.16);
  transform-origin:center center;
}
.editorial.reverse .sacred-pause{
  width:120%;
  max-width:none;
  justify-self:center;
  transform-origin:center center;
}

/* Shared Gaze remains completely uncaptioned by interface language. */
.shared-gaze-interlude .open-cue,
.shared-gaze-interlude figure::after{
  display:none!important;
}

@media(max-width:900px) and (min-width:761px){
  .silence-gallery .window-ending{transform:translateY(-17vh) scale(1.12)}
  .editorial.reverse .sacred-pause{width:114%}
}

@media(max-width:760px){
  .silence-gallery .window-ending{
    transform:none;
    width:100%;
  }
  .editorial.reverse .sacred-pause{
    width:100%;
    transform:none;
  }
}


/* V18 — Silk Final: optical polish and slightly more generous key images. */
.chapter-title h2,
.section-heading h2{
  text-wrap:balance;
}
.gallery figcaption{
  padding-top:14px;
}
.map-copy p{
  max-width:58ch;
}
@media(max-width:760px){
  .chapter{margin-bottom:15vh;}
  .chapter-title{margin-bottom:6vh;}
  .gallery figcaption{padding-top:12px;}
}

/* V19 — Enchanted Demo: stronger scale, quieter confidence. */
body[data-edition="v19-enchanted-demo"] .silence-gallery .window-ending{
  grid-column:7 / span 5;
  width:100%;
  transform:translateY(-28vh) scale(1.22);
  transform-origin:center center;
  z-index:2;
}

/* Sacred Pause is treated as an artwork, not a supporting image. */
body[data-edition="v19-enchanted-demo"] .editorial.reverse{
  row-gap:12vh;
}
body[data-edition="v19-enchanted-demo"] .editorial.reverse .sacred-pause{
  grid-column:1 / span 7;
  width:100%;
  max-width:none;
  justify-self:start;
  transform:none;
  margin-top:0;
}
body[data-edition="v19-enchanted-demo"] .editorial.reverse .sacred-pause img{
  width:100%;
  height:auto;
}
body[data-edition="v19-enchanted-demo"] .editorial.reverse .feature-pearls{
  grid-column:7 / span 6;
  margin-top:18vh;
}
body[data-edition="v19-enchanted-demo"] .editorial.reverse figure:nth-child(3){
  grid-column:5 / span 4;
  margin-top:0;
}

/* The motion is almost imperceptible: silk rather than interface. */
body[data-edition="v19-enchanted-demo"] .gallery figure img{
  transition:filter .65s ease,transform 1.15s cubic-bezier(.2,.72,.2,1);
}
body[data-edition="v19-enchanted-demo"] .gallery figure:hover img{
  transform:scale(1.004);
}

@media(max-width:900px) and (min-width:761px){
  body[data-edition="v19-enchanted-demo"] .silence-gallery .window-ending{
    grid-column:7 / span 6;
    transform:translateY(-18vh) scale(1.12);
  }
  body[data-edition="v19-enchanted-demo"] .editorial.reverse .sacred-pause{
    grid-column:1 / span 8;
  }
  body[data-edition="v19-enchanted-demo"] .editorial.reverse .feature-pearls{
    grid-column:7 / span 6;
    margin-top:14vh;
  }
}

@media(max-width:760px){
  body[data-edition="v19-enchanted-demo"] .silence-gallery .window-ending{
    width:calc(100% + 10vw);
    max-width:none;
    margin-left:-5vw!important;
    transform:none;
  }
  body[data-edition="v19-enchanted-demo"] .editorial.reverse .sacred-pause{
    width:calc(100% + 10vw);
    max-width:none;
    margin-left:-5vw!important;
    transform:none;
  }
  body[data-edition="v19-enchanted-demo"] .editorial.reverse .feature-pearls,
  body[data-edition="v19-enchanted-demo"] .editorial.reverse figure:nth-child(3){
    margin-top:0!important;
  }
}


/* V20 — Curatorial Balance: corrected scale and restored Dignity composition. */
body[data-edition="v20-curatorial-balance"] .silence-gallery .window-ending{
  grid-column:8 / span 4;
  width:100%;
  transform:translateY(-13vh) scale(1.03);
  transform-origin:center center;
  z-index:1;
}

/* Preserve Sacred Pause as a major work. */
body[data-edition="v20-curatorial-balance"] .editorial.reverse{
  row-gap:12vh;
}
body[data-edition="v20-curatorial-balance"] .editorial.reverse .sacred-pause{
  grid-column:1 / span 7;
  width:100%;
  max-width:none;
  justify-self:start;
  transform:none;
  margin-top:0;
}
body[data-edition="v20-curatorial-balance"] .editorial.reverse .sacred-pause img{
  width:100%;
  height:auto;
}
body[data-edition="v20-curatorial-balance"] .editorial.reverse .feature-pearls{
  grid-column:7 / span 6;
  margin-top:18vh;
}
body[data-edition="v20-curatorial-balance"] .editorial.reverse figure:nth-child(3){
  grid-column:5 / span 4;
  margin-top:0;
}

/* Restore the earlier Dignity room: Stillness dominates, Three Elders follows quietly. */
body[data-edition="v20-curatorial-balance"] .chapter:has(.dignity-duet){
  margin-bottom:24vh;
}
body[data-edition="v20-curatorial-balance"] .dignity-duet{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:3.5vw;
  row-gap:0;
  max-width:1320px;
  margin:0 auto;
  padding-top:2vh;
  align-items:start;
}
body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-stillness{
  grid-column:4 / span 9;
  grid-row:1;
  margin:0!important;
  z-index:1;
}
body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-stillness img{
  width:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
  object-position:center 44%;
}
body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-stillness figcaption{
  width:max-content;
  margin-left:auto;
  padding-top:16px;
  text-align:right;
}
body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-elders{
  grid-column:1 / span 4;
  grid-row:2;
  margin:-10vh 0 0!important;
  z-index:2;
}
body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-elders img{
  width:100%;
  aspect-ratio:2 / 3;
  object-fit:cover;
  object-position:center center;
}
body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-elders figcaption{
  padding-top:14px;
}

/* Keep the black Shared Gaze room unchanged. */
body[data-edition="v20-curatorial-balance"] .shared-gaze-interlude{
  margin-top:2vh;
  padding-top:17vh;
  padding-bottom:18vh;
}
body[data-edition="v20-curatorial-balance"] .shared-gaze-interlude .feature-gaze{
  grid-column:4 / span 6;
  max-width:760px;
}
body[data-edition="v20-curatorial-balance"] .shared-gaze-interlude figcaption{
  margin-top:18px;
}

body[data-edition="v20-curatorial-balance"] .gallery figure img{
  transition:filter .65s ease,transform 1.15s cubic-bezier(.2,.72,.2,1);
}
body[data-edition="v20-curatorial-balance"] .gallery figure:hover img{
  transform:scale(1.004);
}

@media(max-width:900px) and (min-width:761px){
  body[data-edition="v20-curatorial-balance"] .silence-gallery .window-ending{
    grid-column:8 / span 5;
    transform:translateY(-10vh) scale(1.01);
  }
  body[data-edition="v20-curatorial-balance"] .editorial.reverse .sacred-pause{grid-column:1 / span 8;}
  body[data-edition="v20-curatorial-balance"] .editorial.reverse .feature-pearls{grid-column:7 / span 6;margin-top:14vh;}
  body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-stillness{grid-column:3 / span 10;}
  body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-elders{grid-column:1 / span 5;margin:-6vh 0 0!important;}
  body[data-edition="v20-curatorial-balance"] .shared-gaze-interlude .feature-gaze{grid-column:3 / span 8;}
}

@media(max-width:760px){
  body[data-edition="v20-curatorial-balance"] .silence-gallery .window-ending{
    width:88%;
    max-width:none;
    margin-left:auto!important;
    transform:none;
  }
  body[data-edition="v20-curatorial-balance"] .editorial.reverse .sacred-pause{
    width:calc(100% + 10vw);
    max-width:none;
    margin-left:-5vw!important;
    transform:none;
  }
  body[data-edition="v20-curatorial-balance"] .editorial.reverse .feature-pearls,
  body[data-edition="v20-curatorial-balance"] .editorial.reverse figure:nth-child(3){margin-top:0!important;}
  body[data-edition="v20-curatorial-balance"] .chapter:has(.dignity-duet){margin-bottom:14vh;}
  body[data-edition="v20-curatorial-balance"] .dignity-duet{display:flex;flex-direction:column;padding-top:0;}
  body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-stillness{order:1;margin:0 0 11vh!important;}
  body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-stillness img{aspect-ratio:3 / 2;}
  body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-stillness figcaption{margin-left:0;text-align:left;}
  body[data-edition="v20-curatorial-balance"] .dignity-duet .dignity-elders{order:2;width:72%;align-self:flex-end;margin:0!important;}
  body[data-edition="v20-curatorial-balance"] .shared-gaze-interlude{padding-top:13vh;padding-bottom:14vh;}
  body[data-edition="v20-curatorial-balance"] .shared-gaze-interlude .feature-gaze{max-width:none;}
}


/* V22 — At the Window moves to the left and enters at the lower two-thirds of Reflections of Intimacy.
   Dignity and Ritual & Grace intentionally inherit the approved V20 composition. */
body[data-edition="v22-window-left"] .silence-gallery .window-ending{
  grid-column:1 / span 4;
  width:100%;
  justify-self:start;
  margin:0!important;
  transform:translateY(-22vh) scale(1.03);
  transform-origin:center center;
  z-index:1;
}

/* Keep the approved V20 Ritual & Grace composition. */
body[data-edition="v22-window-left"] .editorial.reverse{
  row-gap:12vh;
}
body[data-edition="v22-window-left"] .editorial.reverse .sacred-pause{
  grid-column:1 / span 7;
  width:100%;
  max-width:none;
  justify-self:start;
  transform:none;
  margin-top:0;
}
body[data-edition="v22-window-left"] .editorial.reverse .sacred-pause img{width:100%;height:auto;}
body[data-edition="v22-window-left"] .editorial.reverse .feature-pearls{grid-column:7 / span 6;margin-top:18vh;}
body[data-edition="v22-window-left"] .editorial.reverse figure:nth-child(3){grid-column:5 / span 4;margin-top:0;}

/* Keep the approved V20 Dignity composition. */
body[data-edition="v22-window-left"] .chapter:has(.dignity-duet){margin-bottom:24vh;}
body[data-edition="v22-window-left"] .dignity-duet{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:3.5vw;row-gap:0;
  max-width:1320px;margin:0 auto;padding-top:2vh;align-items:start;
}
body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness{grid-column:4 / span 9;grid-row:1;margin:0!important;z-index:1;}
body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness img{width:100%;aspect-ratio:3 / 2;object-fit:cover;object-position:center 44%;}
body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness figcaption{width:max-content;margin-left:auto;padding-top:16px;text-align:right;}
body[data-edition="v22-window-left"] .dignity-duet .dignity-elders{grid-column:1 / span 4;grid-row:2;margin:-10vh 0 0!important;z-index:2;}
body[data-edition="v22-window-left"] .dignity-duet .dignity-elders img{width:100%;aspect-ratio:2 / 3;object-fit:cover;object-position:center center;}
body[data-edition="v22-window-left"] .dignity-duet .dignity-elders figcaption{padding-top:14px;}

body[data-edition="v22-window-left"] .shared-gaze-interlude{margin-top:2vh;padding-top:17vh;padding-bottom:18vh;}
body[data-edition="v22-window-left"] .shared-gaze-interlude .feature-gaze{grid-column:4 / span 6;max-width:760px;}
body[data-edition="v22-window-left"] .shared-gaze-interlude figcaption{margin-top:18px;}
body[data-edition="v22-window-left"] .gallery figure img{transition:filter .65s ease,transform 1.15s cubic-bezier(.2,.72,.2,1);}
body[data-edition="v22-window-left"] .gallery figure:hover img{transform:scale(1.004);}

@media(max-width:900px) and (min-width:761px){
  body[data-edition="v22-window-left"] .silence-gallery .window-ending{grid-column:1 / span 5;transform:translateY(-16vh) scale(1.01);}
  body[data-edition="v22-window-left"] .editorial.reverse .sacred-pause{grid-column:1 / span 8;}
  body[data-edition="v22-window-left"] .editorial.reverse .feature-pearls{grid-column:7 / span 6;margin-top:14vh;}
  body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness{grid-column:3 / span 10;}
  body[data-edition="v22-window-left"] .dignity-duet .dignity-elders{grid-column:1 / span 5;margin:-6vh 0 0!important;}
  body[data-edition="v22-window-left"] .shared-gaze-interlude .feature-gaze{grid-column:3 / span 8;}
}

@media(max-width:760px){
  body[data-edition="v22-window-left"] .silence-gallery .window-ending{width:88%;max-width:none;margin-right:auto!important;margin-left:0!important;transform:none;}
  body[data-edition="v22-window-left"] .editorial.reverse .sacred-pause{width:calc(100% + 10vw);max-width:none;margin-left:-5vw!important;transform:none;}
  body[data-edition="v22-window-left"] .editorial.reverse .feature-pearls,
  body[data-edition="v22-window-left"] .editorial.reverse figure:nth-child(3){margin-top:0!important;}
  body[data-edition="v22-window-left"] .chapter:has(.dignity-duet){margin-bottom:14vh;}
  body[data-edition="v22-window-left"] .dignity-duet{display:flex;flex-direction:column;padding-top:0;}
  body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness{order:1;margin:0 0 11vh!important;}
  body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness img{aspect-ratio:3 / 2;}
  body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness figcaption{margin-left:0;text-align:left;}
  body[data-edition="v22-window-left"] .dignity-duet .dignity-elders{order:2;width:72%;align-self:flex-end;margin:0!important;}
  body[data-edition="v22-window-left"] .shared-gaze-interlude{padding-top:13vh;padding-bottom:14vh;}
  body[data-edition="v22-window-left"] .shared-gaze-interlude .feature-gaze{max-width:none;}
}


/* Gallery Edition — presentation and casual-download deterrence */
img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;user-select:none}
.gallery figure,.shared-gaze-interlude figure,.country-grid figure{-webkit-user-select:none;user-select:none}
footer a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
footer a:hover{opacity:.6}

/* V28 — Mobile Exhibition Edition
   A mobile-specific curatorial rhythm. Desktop and tablet compositions remain unchanged. */
@media(max-width:760px){
  body[data-edition="v22-window-left"] .work{padding:13vh 0 8vh;overflow:hidden;}
  body[data-edition="v22-window-left"] .work>.section-heading,
  body[data-edition="v22-window-left"] .chapter>.chapter-title{margin-left:7vw;margin-right:7vw;}
  body[data-edition="v22-window-left"] .section-heading{margin-bottom:13vh;}
  body[data-edition="v22-window-left"] .chapter{margin-bottom:24vh;}
  body[data-edition="v22-window-left"] .chapter-title{grid-template-columns:28px 1fr;margin-bottom:10vh;}
  body[data-edition="v22-window-left"] .chapter-title h3{font-size:clamp(3.2rem,17vw,5.2rem);line-height:.82;}
  body[data-edition="v22-window-left"] .chapter-title p{max-width:68%;font-size:.72rem;line-height:1.6;}
  body[data-edition="v22-window-left"] .gallery{padding:0 7vw;}
  body[data-edition="v22-window-left"] .gallery figure figcaption{padding-top:12px;}
  body[data-edition="v22-window-left"] .gallery figure figcaption b{font-size:.74rem;}
  body[data-edition="v22-window-left"] .gallery figure figcaption span{font-size:.61rem;}

  /* Silence: full / intimate / full / quiet left — not a uniform feed. */
  body[data-edition="v22-window-left"] .silence-gallery{display:flex;flex-direction:column;padding:0;}
  body[data-edition="v22-window-left"] .silence-gallery .silence-opener{
    width:100%;margin:0 0 17vh!important;
  }
  body[data-edition="v22-window-left"] .silence-gallery .silence-opener figcaption{padding-left:7vw;padding-right:7vw;}
  body[data-edition="v22-window-left"] .silence-gallery .reader-companion{
    width:67%;align-self:flex-end;margin:0 7vw 19vh 0!important;
  }
  body[data-edition="v22-window-left"] .silence-gallery .feature-intimacy{
    width:100%;margin:0 0 14vh!important;
  }
  body[data-edition="v22-window-left"] .silence-gallery .feature-intimacy figcaption{padding-left:7vw;padding-right:7vw;}
  body[data-edition="v22-window-left"] .silence-gallery .window-ending{
    width:59%;align-self:flex-start;margin:0 0 0 7vw!important;
  }

  /* Dignity: monument first, a smaller echo after a long pause. */
  body[data-edition="v22-window-left"] .chapter:has(.dignity-duet){margin-bottom:23vh;}
  body[data-edition="v22-window-left"] .dignity-duet{padding:0;}
  body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness{
    width:100%;margin:0 0 18vh!important;
  }
  body[data-edition="v22-window-left"] .dignity-duet .dignity-stillness figcaption{padding-left:7vw;padding-right:7vw;text-align:left;margin-left:0;}
  body[data-edition="v22-window-left"] .dignity-duet .dignity-elders{
    width:58%;align-self:flex-end;margin-right:7vw!important;
  }

  /* Wonder: retain darkness and an asymmetrical reveal. */
  body[data-edition="v22-window-left"] .dark-chapter{
    margin-left:0;margin-right:0;padding:15vh 0 17vh;
  }
  body[data-edition="v22-window-left"] .dark-chapter>.chapter-title{margin-left:7vw;margin-right:7vw;}
  body[data-edition="v22-window-left"] .dark-chapter .gallery{padding:0;}
  body[data-edition="v22-window-left"] .dark-chapter .portrait{
    width:68%;margin:0 0 18vh 7vw!important;
  }
  body[data-edition="v22-window-left"] .dark-chapter .wide{
    width:100%;margin:0!important;
  }
  body[data-edition="v22-window-left"] .dark-chapter .wide figcaption{padding-left:7vw;padding-right:7vw;}

  /* Shared Gaze becomes a cinematic interruption. */
  body[data-edition="v22-window-left"] .shared-gaze-interlude{
    margin:0 0 24vh;padding:18vh 0 19vh;
  }
  body[data-edition="v22-window-left"] .shared-gaze-interlude .feature-gaze{width:100%;max-width:none;}
  body[data-edition="v22-window-left"] .shared-gaze-interlude figcaption{margin:14px 7vw 0;}

  /* Ritual: Sacred Pause is immersive; companions retreat. */
  body[data-edition="v22-window-left"] .editorial.reverse{display:flex;flex-direction:column;padding:0;}
  body[data-edition="v22-window-left"] .editorial.reverse .sacred-pause{
    width:100%;margin:0 0 18vh!important;
  }
  body[data-edition="v22-window-left"] .editorial.reverse .sacred-pause figcaption{padding-left:7vw;padding-right:7vw;}
  body[data-edition="v22-window-left"] .editorial.reverse .feature-pearls{
    width:72%;align-self:flex-end;margin:0 7vw 17vh 0!important;
  }
  body[data-edition="v22-window-left"] .editorial.reverse figure:nth-child(3){
    width:55%;align-self:flex-start;margin:0 0 0 7vw!important;
  }

  /* Contrasts: one broad statement, one small visual afterthought. */
  body[data-edition="v22-window-left"] .chapter:last-of-type .editorial{display:flex;flex-direction:column;padding:0;}
  body[data-edition="v22-window-left"] .chapter:last-of-type .editorial .wide{
    width:100%;margin:0 0 18vh!important;
  }
  body[data-edition="v22-window-left"] .chapter:last-of-type .editorial .wide figcaption{padding-left:7vw;padding-right:7vw;}
  body[data-edition="v22-window-left"] .chapter:last-of-type .editorial .portrait{
    width:61%;align-self:flex-end;margin:0 7vw 0 0!important;
  }

  /* Mobile breathing room after the exhibition. */
  body[data-edition="v22-window-left"] .map-section{padding-top:17vh;}
  body[data-edition="v22-window-left"] .map-intro h3{font-size:15vw;line-height:.88;}
}

/* V29 — Mobile navigation legibility and iOS/Android compositing fix */
@media(max-width:760px){
  html,body{
    background:#f8f7f3;
    -webkit-tap-highlight-color:transparent;
    overscroll-behavior-y:none;
  }

  /* Avoid the fluorescent/inverted flash produced by fixed blend layers while scrolling. */
  .site-header{
    mix-blend-mode:normal;
    color:#171716;
    background:rgba(248,247,243,.94);
    border-bottom:1px solid rgba(20,20,18,.12);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    padding:15px 20px;
    transform:translateZ(0);
    isolation:isolate;
  }
  .scroll-progress{
    mix-blend-mode:normal;
    color:#171716;
    background:#171716;
    z-index:1001;
  }
  body::before{display:none;}

  .brand span{font-size:1.05rem;letter-spacing:.035em;}
  .brand small{font-size:.47rem;letter-spacing:.15em;color:#555;}
  .menu-button{color:#171716;padding:0;}

  .site-header nav{
    background:#f8f7f3;
    color:#171716;
    gap:0;
    padding:104px 9vw 46px;
    justify-content:flex-start;
    align-items:flex-start;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .site-header nav>a{
    width:100%;
    padding:17px 0;
    border-bottom:1px solid rgba(20,20,18,.16);
    font:400 clamp(2rem,10vw,3.15rem)/1 var(--serif);
    letter-spacing:-.015em;
    text-transform:none;
  }
  .site-header nav>a:first-child{border-top:1px solid rgba(20,20,18,.16);}
  .languages{
    width:100%;
    margin-top:34px;
    gap:11px;
    font-size:.78rem;
    letter-spacing:.12em;
  }
  .languages button{
    opacity:.55;
    min-width:30px;
    min-height:38px;
  }
  .languages button.active{
    opacity:1;
    font-weight:600;
    border-bottom:1px solid currentColor;
  }
  .languages i{opacity:.22;}

  /* The fixed pale header requires a little more room above the hero copy. */
  .hero{padding-top:64px;background:#171716;}
  .hero>img{height:calc(100% - 64px);margin-top:0;}
  .hero-shade{top:64px;}

  /* Prevent browser selection/active-state flashes on interactive elements. */
  a,button,img,figure{
    -webkit-tap-highlight-color:transparent;
  }
  a:focus-visible,button:focus-visible{
    outline:1px solid currentColor;
    outline-offset:5px;
  }
}

/* V30 — Mobile menu: immediate, viewport-locked, no internal scrolling */
@media(max-width:760px){
  body.menu-open{
    overflow:hidden;
    position:fixed;
    width:100%;
    touch-action:none;
  }

  .site-header nav{
    top:0;
    right:0;
    bottom:auto;
    left:0;
    width:100%;
    height:100vh;
    height:100dvh;
    min-height:100dvh;
    max-height:100dvh;
    padding:88px 9vw max(24px,env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    gap:0;
    overflow:hidden;
    overscroll-behavior:none;
    -webkit-overflow-scrolling:auto;
  }

  .site-header nav>a{
    flex:0 0 auto;
    padding:14px 0;
    font-size:clamp(1.72rem,8.4vw,2.45rem);
    line-height:1;
  }

  .site-header nav .languages{
    flex:0 0 auto;
    margin-top:24px;
    padding-bottom:env(safe-area-inset-bottom);
  }

  /* Turn the hamburger into a close icon while the menu is open. */
  .menu-button span{
    transition:transform .28s ease,opacity .2s ease;
    transform-origin:center;
  }
  .menu-button[aria-expanded="true"] span:first-child{
    transform:translateY(4px) rotate(45deg);
  }
  .menu-button[aria-expanded="true"] span:last-child{
    transform:translateY(-4px) rotate(-45deg);
  }

  @media(max-height:650px){
    .site-header nav{padding-top:72px;padding-bottom:16px;}
    .site-header nav>a{padding:10px 0;font-size:1.55rem;}
    .site-header nav .languages{margin-top:16px;}
  }
}

/* V35 — feedback refinements: seamless Shared Gaze, clearer map, readable navigation */
@media(min-width:761px){
  .site-header{
    mix-blend-mode:normal;
    color:#f7f6f2;
    background:rgba(17,17,16,.88);
    border-bottom:1px solid rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    padding-top:18px;
    padding-bottom:18px;
    isolation:isolate;
  }
  .site-header nav{gap:clamp(14px,2vw,28px);font-size:.7rem;font-weight:500;white-space:nowrap}
  .site-header nav>a,.languages button{text-shadow:0 1px 8px rgba(0,0,0,.3)}
  .brand{flex:0 1 auto;min-width:0}
  .brand span,.brand small{white-space:nowrap}
}
@media(min-width:761px) and (max-width:1080px){
  .site-header{padding-left:2vw;padding-right:2vw}
  .site-header nav{gap:12px;font-size:.6rem;letter-spacing:.1em}
  .brand span{font-size:1.02rem}.brand small{font-size:.44rem}
}

/* A more cartographic, less diagrammatic map treatment. */
.world-map{
  border-radius:2px;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.96),rgba(226,231,228,.74) 62%,rgba(205,214,211,.62)),
    #e6ebe8;
  box-shadow:inset 0 0 0 1px rgba(18,28,25,.1),0 20px 60px rgba(35,43,40,.08);
}
.world-map::before,.world-map::after{display:none}
.world-map svg{filter:none}
.world-map .land{fill:#c2c9c2;stroke:#6f7c74;stroke-width:1.25;opacity:1;vector-effect:non-scaling-stroke}
.world-map .map-grid path{stroke:#53645c;stroke-width:.55;opacity:.13}
.world-map .route-line{stroke:#7a463d;stroke-width:1.35;stroke-dasharray:4 10;opacity:.48}
.map-marker::before{background:#7a463d;border:2px solid #f5f4ef;box-shadow:0 0 0 1px #7a463d,0 3px 10px rgba(0,0,0,.2)}
.map-marker::after{background:rgba(247,246,242,.94);border:1px solid rgba(20,20,18,.12);padding:4px 7px;opacity:0;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.map-marker:hover::after,.map-marker:focus-visible::after{opacity:1}
.map-marker:hover::before,.map-marker:focus-visible::before{background:#171716}
.country-directory{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;margin:4vh auto 0;max-width:1100px}
.country-directory button{border:1px solid rgba(23,23,22,.23);background:rgba(255,255,255,.42);padding:9px 13px;font:500 .58rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#242421;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.country-directory button:hover,.country-directory button:focus-visible{background:#171716;color:#f5f4ef;border-color:#171716}

@media(max-width:760px){
  /* Remove the pale interval between Wonder and Shared Gaze. */
  body[data-edition="v22-window-left"] .dark-chapter{margin-bottom:0!important;padding-bottom:13vh}
  body[data-edition="v22-window-left"] .shared-gaze-interlude{margin-top:0!important;border-top:0;padding-top:12vh}

  /* Keep the map proportionate; use a clean country index instead of colliding labels. */
  .world-map{aspect-ratio:1.65/1!important;overflow:hidden!important;margin-left:-1vw;margin-right:-1vw}
  .world-map svg{transform:none!important;width:100%!important;height:100%!important}
  .map-marker::after{display:none!important}
  .map-marker::before{width:9px;height:9px;box-shadow:0 0 0 1px #7a463d,0 2px 8px rgba(0,0,0,.18)}
  .country-directory{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:3.5vh}
  .country-directory button{min-height:42px;padding:10px 8px;font-size:.55rem;background:rgba(255,255,255,.58)}
  .map-note{margin-top:3vh}
}


/* V36 — final requested refinements only: no numbering, seamless black transition, clearer map. */
.chapter-title{grid-template-columns:1fr 1fr!important}
.chapter-title>span,.section-heading>span{display:none!important}

/* Keep Wonder and Shared Gaze inside one uninterrupted black exhibition room. */
body[data-edition="v22-window-left"] .dark-chapter{
  margin-bottom:0!important;
  padding-bottom:17vh;
}
body[data-edition="v22-window-left"] .dark-chapter + .shared-gaze-interlude{
  margin-top:0!important;
  border-top:0!important;
}

/* More recognisable monochrome cartography without changing the site's palette. */
.world-map{
  aspect-ratio:2/1;
  background:#11110f!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 24px 70px rgba(0,0,0,.18)!important;
  overflow:hidden;
}
.world-map .land{
  fill:#d8d6cf!important;
  stroke:#77756f!important;
  stroke-width:.55!important;
  opacity:.96!important;
  vector-effect:non-scaling-stroke;
}
.world-map .map-grid path{
  stroke:#fff!important;
  stroke-width:.45!important;
  opacity:.065!important;
}
.map-marker::before{
  background:#f1efe8!important;
  border:2px solid #11110f!important;
  box-shadow:0 0 0 1px rgba(241,239,232,.9),0 2px 10px rgba(0,0,0,.4)!important;
}
.map-marker::after{
  color:#f4f2eb!important;
  background:rgba(12,12,11,.92)!important;
  border-color:rgba(255,255,255,.15)!important;
}

@media(max-width:760px){
  .chapter-title{grid-template-columns:1fr!important}
  body[data-edition="v22-window-left"] .dark-chapter{padding-bottom:13vh!important}
  body[data-edition="v22-window-left"] .dark-chapter + .shared-gaze-interlude{padding-top:12vh!important}
  .world-map{
    aspect-ratio:1.5/1!important;
    margin-left:0!important;
    margin-right:0!important;
    border-radius:0;
  }
  .world-map svg{
    width:100%!important;
    height:100%!important;
    transform:none!important;
  }
  .map-marker::before{width:11px!important;height:11px!important}
  .country-directory{grid-template-columns:1fr 1fr!important}
}

/* V37 — editorial black atlas and new country chapters only. */
.world-map{
  background:#050505!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 24px 70px rgba(0,0,0,.22)!important;
}
.world-map .land{
  fill:#242422!important;
  stroke:#343432!important;
  stroke-width:.42!important;
  opacity:1!important;
}
.world-map .map-grid path{
  stroke:#d9d4c8!important;
  stroke-width:.35!important;
  opacity:.025!important;
}
.world-map .route-line{
  stroke:#d8c6a7!important;
  opacity:.12!important;
}
.map-marker::before{
  width:9px!important;
  height:9px!important;
  background:#e7d7b8!important;
  border:2px solid #090909!important;
  box-shadow:0 0 0 1px rgba(231,215,184,.82),0 0 12px rgba(231,215,184,.18)!important;
}
.map-marker::after{
  color:#eeeae1!important;
  background:rgba(5,5,5,.92)!important;
  border-color:rgba(255,255,255,.09)!important;
}
@media(max-width:760px){
  .world-map{aspect-ratio:1.55/1!important}
  .map-marker::before{width:10px!important;height:10px!important}
}

/* V38 — feedback refinements only: portrait, contact form, map/mobile reliability. */
.country-directory{display:none!important}
.about-copy::after{content:"";display:block;clear:both}
.about-portrait{float:right;width:min(44%,360px);margin:0 0 2.2rem 3vw;aspect-ratio:3/4;object-fit:cover;object-position:center 28%}
.gallery figure.has-series::after{content:attr(data-open-photos)!important}

.contact-form{max-width:920px;margin-top:5vh}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:3vw}
.contact-form label{display:block;margin-bottom:2.2rem}
.contact-form label>span{display:block;margin-bottom:.75rem;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#666}
.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #777;border-radius:0;background:transparent;padding:12px 0;color:#171716;font:300 1rem/1.5 var(--sans);outline:none}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus,.contact-form textarea:focus{border-color:#171716}
.contact-form button{border:1px solid #171716;background:#171716;color:#f5f4ef;padding:14px 22px;font:500 .6rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form .form-status{display:none;margin:2rem 0 0;font:italic 1.1rem/1.4 var(--serif)}
.contact-form .form-status.visible{display:block}

.world-map svg{pointer-events:none}
.map-marker{width:44px;height:44px;display:grid;place-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto}
.map-marker::before{grid-area:1/1}
.map-marker::after{grid-area:1/1;top:31px}

@media(max-width:760px){
  html{scroll-padding-top:72px}
  body.menu-open{position:static!important;width:auto!important;touch-action:auto!important;overflow:hidden!important}
  .site-header nav{transform:translateY(-105%);visibility:hidden;pointer-events:none;transition:transform .32s ease,visibility 0s linear .32s}
  .site-header nav.open{transform:none;visibility:visible;pointer-events:auto;transition:transform .32s ease}
  .about-portrait{float:none;width:100%;max-width:520px;margin:0 0 5vh;aspect-ratio:4/5;object-position:center 25%}
  .contact-form .form-row{grid-template-columns:1fr;gap:0}
  .contact-form{margin-top:4vh}
  .map-marker{width:48px;height:48px}
  .map-marker::before{width:11px!important;height:11px!important}
  .reveal-item{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .hero>img{animation:none!important}
  .country-modal,.lightbox{-webkit-overflow-scrolling:touch}
}


/* V39 — two final refinements only: a discreet print note and a slightly larger Reflections of Intimacy. */
.contact .print-availability{
  max-width:760px;
  margin:-3.5vh 0 6vh;
  color:#666;
  font:italic clamp(1rem,1.35vw,1.25rem)/1.6 var(--serif);
}
@media(min-width:761px){
  body[data-edition="v22-window-left"] .silence-gallery .feature-intimacy{
    width:calc(100% + min(8vw,96px));
    align-self:center;
  }
}
@media(max-width:760px){
  .contact .print-availability{margin:-4vh 0 5vh;font-size:1rem;line-height:1.55}
}

/* V43 — country chapters: one scroll surface, fast touch targets, no nested-scroll traps. */
.country-closing{margin:0;padding:0 6vw 9vh;max-width:760px;font:400 clamp(1rem,1.5vw,1.25rem)/1.6 var(--serif);color:#66635d}
.map-marker,.menu-button,.country-back,.country-close,.lb-close,.lb-prev,.lb-next{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.country-modal{overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.country-grid{max-height:none;overflow:visible;scroll-behavior:auto}
@media(max-width:760px){
  html{scroll-behavior:auto}
  .site-header nav{transition:transform .28s ease}
  .country-modal{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;inset:0;border-radius:0;backdrop-filter:none}
  .country-modal::backdrop{backdrop-filter:none;background:rgba(10,10,9,.78)}
  .country-grid{display:block;max-height:none;overflow:visible;padding:4vh 5vw 4vh}
  .country-grid figure{margin:0 0 7vh}
  .country-grid img{width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}
  .country-closing{padding:0 6vw 10vh;font-size:1.05rem}
  .map-marker{min-width:28px;min-height:28px}
}
