/* Near-black gallery, snow white type, a little champagne and glacial blue. */
:root{
 --ink:#08090a;
 --panel:#121416;
 --text:#f2f2ef;
 --muted:#a3a6aa;
 --line:rgba(232,237,240,.14);
 --accent:#b9cbd6;
 --warm:#bfb08d;
 --silver:#d9dfe3;
 --glass:rgba(8,9,10,.96);
}
body{background:var(--ink);color:var(--text)}
::selection{background:var(--accent);color:#08090a}
.site-header.scrolled,.mobile-menu,.route-top,.collection-top{background:var(--glass);border-color:var(--line)}
.wordmark,.small-wordmark,.home-profile h2,.section-heading h2{color:var(--text)}
.site-header .wordmark-signature,.site-header .wordmark-en-signature{color:var(--warm)}
.menu-toggle span{background:var(--text)}
.language-switch .language-toggle{color:#e7e9eb;border-color:rgba(235,239,242,.28);background:rgba(8,9,10,.06)}
.language-switch .language-toggle:hover{border-color:var(--accent);color:#fff;background:rgba(185,203,214,.08)}
.mobile-menu a{color:var(--text);border-color:var(--line)}
.mobile-menu a:hover,.mobile-menu a:focus-visible{color:var(--warm);border-color:var(--warm)}

/* Let the photograph provide the colour; keep the interface neutral. */
.hero{background:#16191c}
.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.06) 28%,transparent 48%,rgba(0,0,0,.6))}
.site-header .wordmark>span{text-shadow:0 1px 10px rgba(0,0,0,.45)}
.hero-slide img,.photo-wrap img,.work-card:hover .photo-wrap img,.collection-photo:hover img{filter:none}
.hero h1::before{content:"";display:block;width:32px;height:1px;margin-bottom:20px;background:var(--warm)}
.hero-link{border-color:rgba(191,176,141,.65);color:var(--text)}
.hero-link:hover{border-color:var(--warm)}
.hero-caption a,.hero-caption .coordinate{color:var(--silver)}
.photo-wrap,.series-image{background:var(--panel)}
.series-image img{filter:none}
.series-image:after{background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.78))}
.series-label small,.series-number{color:var(--silver)}
.series-label h3{color:#fff}
.text-link{border-color:#555b62}
.text-link:hover{color:var(--accent);border-color:var(--accent)}
.country-filters button.active{color:var(--warm)}
.country-filters button.active:after{background:var(--warm)}
.orientation-filter select{background:transparent;color:var(--text)}
.orientation-filter select:disabled,.exif-preview dt,.exif-panel p.exif-status{color:#90959c}
.exif-preview dd{color:var(--silver)}

/* A borderless atlas in basalt and glacier tones. */
.map-legend-inline{color:var(--muted)}
.map-legend-inline i{background:var(--silver);box-shadow:0 0 8px #c6d9e026}
.places .map-land{fill:#16191c;stroke:#2e3338}
.places .map-region.visited .map-land{fill:#343e47;stroke:#758693}
.places .map-region.visited[aria-pressed="true"] .map-land{fill:#435462;stroke:#b3c7d4}
.places .map-region.visited:hover .map-land,.places .map-region.visited:focus-visible .map-land{fill:#526775;stroke:#eef3f5}
.places .map-pin .pin-center{fill:#dce7ed;stroke:var(--ink)}
.places .map-pin .pin-ring{stroke:#b9cbd636}
.places .map-pin.active .pin-ring{fill:#b9cbd60a;stroke:#b9cbd694}
.places .map-pin.active .pin-center{fill:#fff}
.places .map-controls button{color:#b1bdc7}
.places .map-tabs button{color:var(--muted)}
.places .map-tabs button.active{color:var(--warm)}
.places .map-tabs button::after{background:var(--warm)}
.places .place-status{color:#949ba2}
.places .place-detail .text-link{border-color:#555b62}

.home-profile{background:var(--ink)}
.home-profile h2 span,.profile-location{color:var(--silver)}
.profile-role,.site-footer p{color:var(--muted)}
.profile-social a,.profile-social button,.social-names a{color:var(--text);border-color:#555b62}
.profile-social>span{color:#747b82}
.profile-social a:hover,.profile-social button:hover,.social-names a:hover{color:var(--warm);border-color:var(--warm)}
dialog::backdrop{background:rgba(0,0,0,.9)}
.lightbox{background:#050607}
.lightbox-arrow,.lightbox-meta a{color:var(--silver)}
.lightbox-strip{border-color:var(--line)}
.lightbox-strip button.active{border-color:var(--accent)}
.collection-empty>span{color:var(--accent)}
.outlined-button{border-color:#727c84}
.toast{background:#dce5eb;color:#101315}
@media(prefers-reduced-motion:no-preference){
 .route-dialog[open],.collection-dialog[open]{animation:gallery-enter .45s cubic-bezier(.2,.65,.3,1) both}
 @keyframes gallery-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
}
@media(max-width:560px){
 .hero h1::before{width:26px;margin-bottom:16px}
 .lightbox-arrow{background:rgba(5,6,7,.7)}
}
