:root{color-scheme:light dark;--bg:#f6f7fb;--surface:#fff;--ink:#172033;--muted:#566174;--accent:#3b5ccc;--line:#d6dbe6;--focus:#f28c28;font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:var(--accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--surface);padding:.7rem;z-index:5}.skip-link:focus{top:1rem}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);border-bottom:1px solid var(--line);background:var(--surface)}.brand{font-weight:750;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}nav{display:flex;flex-wrap:wrap;gap:1.2rem}nav a{font-size:.94rem}.intro,.gallery-section,.about-section,footer{max-width:1160px;margin:0 auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,2rem)}.intro{max-width:950px}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;font-weight:750;color:var(--accent);margin:0 0 .7rem}h1,h2,p{margin-top:0}h1{font-size:clamp(2.2rem,6vw,4.6rem);line-height:1.05;letter-spacing:-.04em;max-width:15ch;margin-bottom:1.2rem}h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15;letter-spacing:-.025em}.intro>p:not(.eyebrow){color:var(--muted);max-width:65ch;font-size:1.1rem}.source-links{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.7rem}.button{display:inline-flex;padding:.7rem 1rem;background:var(--accent);color:#fff;border-radius:.55rem;text-decoration:none;font-weight:700}.text-link{padding:.5rem}.gallery-section{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.filter-label{display:flex;align-items:center;gap:.5rem;font-weight:650}.filter-label select,button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:.45rem;padding:.55rem}.result-count{color:var(--muted);font-size:.92rem}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}.card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:.8rem;overflow:hidden;box-shadow:0 3px 14px #1c315510}.card button{display:block;width:100%;padding:0;border:0;border-radius:0;text-align:left;cursor:pointer}.card img{display:block;width:100%;height:auto;aspect-ratio:1.47;object-fit:contain;background:#e7eaf1}.card-copy{padding:1rem 1.1rem}.card h3{margin:0 0 .35rem;font-size:1.1rem}.card p{margin:0;color:var(--muted);font-size:.93rem}.card .badge{display:inline-block;color:var(--accent);font-size:.72rem;text-transform:uppercase;font-weight:750;letter-spacing:.08em;margin-bottom:.45rem}.empty-state{padding:1.5rem;color:var(--muted)}.about-section{border-top:1px solid var(--line);max-width:920px}.about-section p:not(.eyebrow){max-width:72ch;color:var(--muted)}footer{border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}dialog{width:min(96vw,1100px);max-height:95vh;padding:1rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:.8rem}dialog::backdrop{background:#111a2fbb}.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dialog-bar h2{font-size:1.2rem;margin:0}.dialog-bar button{cursor:pointer}dialog img{display:block;width:100%;max-height:75vh;object-fit:contain;margin:1rem auto;background:#e7eaf1}dialog p{color:var(--muted);margin-bottom:0}@media(max-width:680px){.site-header{align-items:flex-start;flex-direction:column}nav{gap:.6rem 1rem}.section-heading{align-items:flex-start;flex-direction:column}.image-grid{grid-template-columns:1fr}.intro,.gallery-section,.about-section{padding-top:2.5rem;padding-bottom:2.5rem}}@media(prefers-color-scheme:dark){:root{--bg:#101522;--surface:#191f2d;--ink:#edf1fb;--muted:#b4bfd2;--accent:#aabaff;--line:#333d50}.button{background:#aabaff;color:#151b29}.card img,dialog img{background:#252d3c}.card{box-shadow:none}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.card,button,a{transition:color .15s ease,background-color .15s ease,transform .15s ease}.card:hover{transform:translateY(-2px)}}
