@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-400-normal.woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-500-normal.woff2');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-600-normal.woff2');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-700-normal.woff2');font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-800-normal.woff2');font-weight:800;font-display:swap}
*{box-sizing:border-box}html{font-family:Inter,Arial,sans-serif}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus,#df623b);outline-offset:5px}button:disabled{cursor:default;opacity:.4}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:16px;padding:12px 18px;background:white;color:black;z-index:1000}.skip-link:focus{top:12px}
.photo-dialog{padding:0;border:0;width:calc(100vw - 80px);max-width:1420px;height:calc(100dvh - 80px);max-height:100dvh;background:#f3f0e8;color:#222;box-shadow:0 20px 90px #0005;border-radius:0;overflow:hidden}.photo-dialog::backdrop{background:#102024cc;backdrop-filter:blur(14px)}.viewer-head{height:64px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #20202025;gap:14px}.viewer-head h2{font-size:15px;margin:0;font-weight:500}.viewer-head button,.viewer-controls button{border:0;background:none;padding:10px;display:flex;align-items:center;gap:8px;font-size:13px}.viewer-content{height:calc(100% - 64px);display:grid;grid-template-columns:minmax(0,1fr) 320px}.viewer-image{min-width:0;position:relative;background:#e4e5df;display:flex;align-items:center;justify-content:center;padding:32px;overflow:auto}.viewer-image>img{width:100%;height:100%;object-fit:contain}.viewer-image.is-zoomed>img{min-width:150%;min-height:150%;object-fit:contain;max-width:none}.viewer-notes{padding:30px 26px;overflow:auto;border-left:1px solid #20202025}.viewer-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#666}.viewer-notes h3{font-family:var(--serif);font-weight:400;font-size:31px;line-height:1.12;margin:18px 0}.viewer-notes p{font-size:14px;line-height:1.7;color:#555}.viewer-detail{width:100%;aspect-ratio:1.25;background-repeat:no-repeat;background-color:#ddd;margin:18px 0}.viewer-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:25px}.viewer-tabs button{padding:8px 11px;border:1px solid #7777;background:transparent;font-size:11px;text-align:left;line-height:1.45}.viewer-tabs button[aria-pressed=true]{background:#223330;color:#fff}.viewer-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #9995;margin-top:28px;padding-top:18px}.viewer-footnote{font-size:10px!important;margin-top:25px!important;color:#777!important}.dark-viewer .photo-dialog{background:#131d20;color:#f2efe7}.dark-viewer .viewer-head,.dark-viewer .viewer-notes{border-color:#ffffff25}.dark-viewer .viewer-image{background:#0a1316}.dark-viewer .viewer-head button,.dark-viewer .viewer-controls button,.dark-viewer .viewer-tabs button{color:#f2efe7}.dark-viewer .viewer-head .icon,.dark-viewer .viewer-controls .icon{filter:invert(1)}.dark-viewer .viewer-notes p,.dark-viewer .viewer-eyebrow{color:#c4cdc8}.dark-viewer .viewer-tabs button[aria-pressed=true]{background:#edf2df;color:#142126}.viewer-status{font-size:11px;color:#727c78;min-height:16px}
@media(max-width:700px){.photo-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh}.viewer-head{padding:0 16px}.viewer-content{display:block;overflow:auto}.viewer-image{height:44dvh;padding:16px}.viewer-notes{border-left:0;padding:24px 22px}.viewer-detail{max-width:360px}.viewer-head button span{display:none}.viewer-notes h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Selected journey viewer: quiet controls, proportional image zoom, stable detail crops. */
.photo-dialog .viewer-head-actions{display:flex;align-items:center;gap:6px}
.photo-dialog .viewer-head button,.photo-dialog .viewer-controls button{min-width:44px;min-height:44px;justify-content:center}
.photo-dialog .viewer-tabs{gap:8px}
.photo-dialog .viewer-tabs button{min-height:44px;padding:11px 13px;font-size:12px}
.photo-dialog .viewer-image{display:block;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-x pan-y}
.photo-dialog .viewer-image-stage{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.photo-dialog .viewer-image-stage>img{display:block;max-width:none;min-width:0;min-height:0;object-fit:contain;flex-shrink:0}
.photo-dialog .viewer-image.is-zoomed>img{min-width:0;min-height:0}
.photo-dialog .viewer-loading{height:calc(100% - 64px);display:grid;place-items:center;padding:32px;text-align:center;background:#0a1316}
.photo-dialog .viewer-loading .viewer-status{font-size:14px;line-height:1.7;max-width:360px}
.photo-dialog .viewer-status{line-height:1.6;min-height:19px}
.photo-dialog .viewer-retry{display:block;margin:12px auto 0;border:1px solid #8b9b91;background:transparent;color:inherit;min-height:44px;padding:10px 18px;font-size:12px}
.photo-dialog .viewer-notes .viewer-retry{margin-left:0}
.photo-dialog .viewer-author-note{margin-top:25px;padding-top:20px;border-top:1px solid #9995}
.photo-dialog .viewer-author-note h4{font-size:10px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;color:#8b9b91}
.photo-dialog .viewer-author-note p{font-family:var(--serif);font-size:17px;line-height:1.5;margin:0}
.photo-dialog .viewer-author-note>span{display:block;font-size:10px;color:#8b9b91;margin-top:12px}
.dark-viewer .photo-dialog .viewer-retry{color:#f2efe7}
.dark-viewer .photo-dialog .viewer-loading .viewer-status{color:#c4cdc8}
@media(max-width:700px){.photo-dialog .viewer-image{height:44dvh;min-height:230px}.photo-dialog .viewer-controls{gap:12px}.photo-dialog .viewer-tabs button{flex-grow:1}.photo-dialog .viewer-head-actions{gap:3px}.photo-dialog .viewer-image-stage>img{max-width:none}.photo-dialog .viewer-detail{aspect-ratio:1.4}}
