/* Travel photographs stay intact; depth and illumination belong to their frames. */
.globe-focus-name{position:absolute;z-index:2;pointer-events:none;max-width:calc(100% - 20px);padding:6px 11px;border:1px solid #a6fff28a;border-radius:20px;background:#071c2ee8;color:#d4fff8;font:500 11px 'IBM Plex Mono',monospace;box-shadow:0 0 22px #71f5dc36;white-space:nowrap}
.globe-focus-name[hidden]{display:none}
.selected-place{width:178px;border-color:#90ede978;box-shadow:0 12px 42px #0005,0 0 28px #75eade14;backdrop-filter:blur(18px)}
.selected-place img{height:112px;object-fit:contain;background:#071824}
.selected-place small{line-height:1.7;color:#94e4df;letter-spacing:.09em}
.selected-place strong{line-height:1.2;text-wrap:balance}
.selected-place a{display:inline-block;padding:7px 0;line-height:1.5;font-size:11px}
.selected-place div{padding:12px}
.selected-place .globe-photo-note{font-size:11px;line-height:1.55;margin:9px 0 0;color:#a1b6c4}
.globe-uk-galleries{display:grid;grid-template-columns:1fr 1fr;gap:0 6px;border-top:1px solid #83d9dc22;margin-top:5px;padding-top:5px}
.globe-uk-galleries a{font-size:9px;color:#b5d9e2}
.globe-canvas:focus-visible{outline:1px solid var(--accent);outline-offset:0;border-radius:50%}
.globe-controls{width:max-content}
.globe-controls button{white-space:nowrap}
body:has(#countryGrid) .guide-trigger{position:static;display:flex;margin:0 auto 24px}
.country-archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}
.country-archive-toolbar .country-count{margin:0 0 8px}
.country-archive-hint{font-size:13px;color:#a6beca;margin:0;line-height:1.5}
#previewMotion{flex:none;padding:10px 14px;border:1px solid #85dbe63b;border-radius:6px;background:#0f2938;color:#c7e8ee;font-size:12px;cursor:pointer}
#previewMotion:hover{border-color:#9aeeeab2}
.photo-archive .country-grid{gap:24px 18px;align-items:stretch}
.photo-archive .country-card{position:relative;display:flex;flex-direction:column;min-width:0;background:linear-gradient(150deg,#16344790,#0c202eee);border:1px solid #93dce535;border-radius:9px;overflow:visible;transition:border-color .3s,box-shadow .3s,transform .3s;isolation:isolate}
.photo-archive .country-card[hidden]{display:none}
.photo-archive .country-card:hover,.photo-archive .country-card:focus-within,.photo-archive .country-card.is-globe-focused{border-color:#8ff6e785;box-shadow:0 0 24px #72e5df14,0 15px 36px #0003;transform:translateY(-3px)}
.country-preview-open{position:relative;display:block;width:100%;aspect-ratio:1.37;padding:16px 16px 5px;border:0;background:transparent;border-radius:9px 9px 0 0;cursor:zoom-in;overflow:hidden}
.country-preview-open::before{content:'';position:absolute;inset:6% 0 0;background:radial-gradient(ellipse at 50% 65%,#7affdc20,transparent 65%);pointer-events:none}
.country-photo-stack{display:block;position:relative;width:100%;height:100%;perspective:900px;transform-style:preserve-3d}
.photo-archive .country-photo-stack img{position:absolute;inset:8% 7% 6%;display:block;width:86%;height:86%;object-fit:contain;border:1px solid #b6f9f279;border-radius:4px;background:#091b29;box-shadow:0 12px 20px #0007;transition:transform .75s cubic-bezier(.2,.7,.3,1),opacity .65s,border-color .4s;transform-origin:50% 95%;pointer-events:none}
.photo-archive .country-photo-stack img[data-slot="0"]{z-index:3;opacity:1;transform:translate3d(0,0,24px) rotateY(-4deg) rotateX(2deg);border-color:#c0fff5c2}
.photo-archive .country-photo-stack img[data-slot="1"]{z-index:2;opacity:.62;transform:translate3d(8%,-9%,-28px) rotateZ(7deg) rotateY(-8deg)}
.photo-archive .country-photo-stack img[data-slot="-1"]{z-index:1;opacity:.5;transform:translate3d(-8%,-12%,-45px) rotateZ(-7deg) rotateY(6deg)}
.photo-archive .country-photo-stack img[data-slot="hidden"]{z-index:0;opacity:0;transform:translateZ(-65px)}
.country-photo-expand{position:absolute;bottom:12px;right:19px;padding:2px 6px;border:1px solid #b1f4ed58;background:#071823db;border-radius:4px;color:#d1fff4;font-size:17px;z-index:4}
.country-preview-controls{display:flex;align-items:center;justify-content:center;gap:5px;padding:1px 12px 9px}
.country-preview-controls button{display:grid;place-items:center;flex:none;min-width:28px;height:28px;border:1px solid transparent;background:transparent;color:#a4dce3;border-radius:4px;cursor:pointer}
.country-preview-controls button:hover{color:#e2fff6;background:#8de8de14}
.country-preview-dots{display:flex;align-items:center;gap:0}
.country-preview-dots button{min-width:19px;width:19px;padding:0}
.country-preview-dots span{width:5px;height:5px;border-radius:50%;background:#547783;transition:background .2s,box-shadow .2s}
.country-preview-dots button[aria-pressed="true"] span{background:#c2fff1;box-shadow:0 0 8px #98ffdb}
.country-preview-count{font:9px 'IBM Plex Mono',monospace;color:#97b4c3;margin:0 2px 0 7px;white-space:nowrap}
.photo-archive .country-card .copy{display:flex;flex-direction:column;flex:1;padding:13px 18px 18px;border-top:1px solid #7bd5df19}
.country-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.photo-archive .country-card .flag{position:static;width:26px;height:19px;object-fit:cover;border-radius:2px;flex:none;box-shadow:0 1px 5px #0005}
.photo-archive .country-card .tag{font-size:8px;line-height:1.7;letter-spacing:.11em}
.photo-archive .country-card h3{font-size:18px;line-height:1.28;letter-spacing:-.015em;margin:0 0 8px;text-wrap:balance}
.photo-archive .country-card h3 a{color:#e1f3f7;text-decoration:none}
.photo-archive .country-card h3 a:hover{color:#a9f3ed}
.photo-archive .country-card p{font-size:12px;line-height:1.6;color:#a9bdc9;margin:0 0 16px;text-align:left}
.country-album-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:auto;padding:0;border:0;background:transparent;color:#97e5e3;font-size:12px;line-height:1.6;cursor:pointer;text-align:left;text-decoration:none}
.country-album-link:hover{color:#d3fff2}
.country-album-link span{font-size:18px}
.country-empty-preview{position:relative;display:block;aspect-ratio:1.23;overflow:hidden;text-decoration:none;color:#9dc0d2}
.photo-archive .country-empty-preview .country-art{height:100%;background:radial-gradient(ellipse at 50% 55%,#25778835,transparent 65%);font-size:58px;letter-spacing:.05em;color:#79bfd254}
.country-empty-preview::after{content:'';position:absolute;inset:16% 20%;border:1px solid #86d2e028;border-radius:50%;transform:rotateX(45deg)}
.country-empty-preview>span{position:absolute;bottom:13px;left:13px;right:13px;font-size:10px;text-align:center;line-height:1.5}
.travel-album{width:min(1260px,calc(100vw - 36px));height:calc(100svh - 40px);max-width:none;max-height:100svh;padding:0;border:1px solid #93ebe671;border-radius:14px;background:radial-gradient(ellipse at 45% 40%,#173c4d,#091d2b 72%);color:#e4f4f7;overflow:hidden;box-shadow:0 25px 100px #000a,0 0 60px #7decda15}
.travel-album[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}
.travel-album::backdrop{background:#030e1beb;backdrop-filter:blur(12px)}
.album-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:20px 28px 12px;border-bottom:1px solid #91dbe623}
.album-heading h2{font-size:clamp(24px,3vw,36px);line-height:1.15;letter-spacing:-.025em;margin:5px 0;text-wrap:balance}
.album-heading p{font-size:12px;line-height:1.5;margin:6px 0 0;color:#a2bfcc}
#closeAlbum{display:grid;place-items:center;flex:none;width:38px;height:38px;font-size:24px;border:1px solid #9adbdf40;border-radius:50%;color:#d3f4f1;background:#123343;cursor:pointer}
.album-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:20px 70px;isolation:isolate;touch-action:pan-y;overflow:hidden}
.album-stage::before{content:'';position:absolute;inset:5% 8%;background:radial-gradient(ellipse at 50% 50%,#7affec15,transparent 65%);pointer-events:none;z-index:-1}
.album-orbit{position:absolute;inset:10% 5%;border:1px solid #81d9df23;border-radius:50%;transform:rotate(-9deg);z-index:-1;pointer-events:none}
.album-stage img{display:block;width:100%;height:100%;object-fit:contain;filter:none;min-height:0;max-height:100%;border:0;transition:opacity .18s}
.album-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:48px;border:1px solid #8adce44f;border-radius:7px;background:#0b2435db;color:#bcfff1;font-size:22px;cursor:pointer;z-index:2}
.album-prev{left:18px}.album-next{right:18px}
.album-arrow:hover{background:#255164}
.album-footer{border-top:1px solid #91dbe623;padding:12px 28px 18px;background:#0a1f2bae}
.album-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px 'IBM Plex Mono',monospace;color:#aed4dc;line-height:1.6}
.album-thumbs{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0}
.album-thumbs button{width:76px;height:57px;padding:0;border:1px solid #91dbe643;border-radius:5px;overflow:hidden;background:#102c3b;cursor:pointer;opacity:.62;transition:opacity .2s,box-shadow .2s}
.album-thumbs button[aria-pressed="true"]{opacity:1;border-color:#bcfff3;box-shadow:0 0 19px #76edce25}
.album-thumbs img{width:100%;height:100%;object-fit:contain}
.album-actions{display:flex;align-items:flex-end;justify-content:center;gap:10px}
.album-actions>div{margin-right:auto;min-width:0;max-width:50%}
.album-actions label{display:block;font:9px 'IBM Plex Mono',monospace;color:#8cafc0;margin-bottom:6px}
.album-actions select{max-width:100%;width:220px;padding:8px 12px;border:1px solid #89d4e339;border-radius:5px;background:#102d3e;color:#dbf4f6;font-size:12px}
.album-actions .btn{padding:10px 15px;margin:0;font-size:11px;white-space:nowrap}
.album-actions .btn::after{content:none}
body:has(#travelAlbum[open]){overflow:hidden}
.motion-paused .country-photo-stack img{transition:none}
@media(min-width:1100px){.photo-archive .country-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.country-preview-open{aspect-ratio:1.4}.photo-archive .country-card h3{font-size:21px}}
@media(min-width:1500px){.photo-archive .country-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-archive .country-card h3{font-size:19px}}
@media(max-width:780px){.selected-place{width:156px}.photo-archive .country-grid{gap:21px 14px}.album-heading{padding:16px 20px 12px}.album-footer{padding:12px 20px 15px}.album-stage{padding:15px 55px}.album-actions select{width:185px}}
@media(max-width:480px){
 .globe-stage{min-height:490px;align-items:flex-start;padding-top:30px}
 .globe-canvas{height:370px}
 .globe-label{top:55px;font-size:8px;left:6%}
 .globe-focus-name{font-size:9px;padding:4px 8px}
 .selected-place{width:120px;right:0;max-width:45%}
 .selected-place img{height:78px}
 .selected-place div{padding:8px}
 .selected-place strong{font-size:13px}
 .selected-place a{font-size:10px;padding:5px 0}
 .selected-place small{font-size:7px}
 .globe-uk-galleries{grid-template-columns:1fr;gap:0}
 .globe-uk-galleries a{font-size:8px;padding:3px 0}
 .globe-controls{bottom:8px}
 .country-archive-toolbar{align-items:flex-start;gap:12px;flex-direction:column}
 .country-archive-hint{font-size:12px}
 #previewMotion{font-size:11px;padding:9px 12px}
 .photo-archive .country-grid{gap:20px 10px}
 .country-preview-open{aspect-ratio:1.16;padding:12px 7px 4px}
 .country-photo-expand{bottom:9px;right:11px;font-size:13px;padding:1px 4px}
 .country-preview-controls{gap:0;padding:0 1px 6px}
 .country-preview-controls button{min-width:25px;width:25px;height:28px;padding:0}
 .country-preview-dots button{min-width:16px;width:16px}
 .country-preview-count{font-size:7px;margin:0 1px 0 2px}
 .photo-archive .country-card .copy{padding:11px 10px 13px}
 .photo-archive .country-card h3{font-size:15px;line-height:1.3}
 .photo-archive .country-card p{font-size:10px;margin-bottom:12px;line-height:1.5}
 .photo-archive .country-card .tag{font-size:6px;letter-spacing:.08em}
 .photo-archive .country-card .flag{width:20px;height:15px}
 .country-card-meta{gap:4px;margin-bottom:8px}
 .country-album-link{font-size:10px;gap:3px}
 .country-album-link span{font-size:14px}
 .country-empty-preview{aspect-ratio:1}
 .country-empty-preview>span{font-size:8px}
 .travel-album{width:calc(100vw - 12px);height:calc(100svh - 12px);border-radius:9px}
 .album-heading{padding:13px 12px 10px}
 .album-heading h2{font-size:24px}
 .album-heading .tag{font-size:8px}
 .album-heading p{font-size:10px}
 #closeAlbum{width:32px;height:32px}
 .album-stage{padding:12px 6px 45px}
 .album-arrow{top:auto;bottom:0;transform:none;width:35px;height:32px;font-size:18px}
 .album-prev{left:12px}.album-next{right:12px}
 .album-footer{padding:12px}
 .album-caption{font-size:8px}
 .album-thumbs{gap:8px;margin:10px 0}
 .album-thumbs button{width:64px;height:48px}
 .album-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
 .album-actions>div{grid-column:1/-1;max-width:none;margin:0;display:flex;align-items:center;gap:10px}
 .album-actions label{flex:1;font-size:8px;margin:0;line-height:1.5}
 .album-actions select{width:160px;font-size:10px;padding:8px;max-width:62%}
 .album-actions .btn{font-size:10px;padding:9px 7px;justify-content:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){.country-photo-stack img,.photo-archive .country-card,.album-stage img{transition:none}}
