@font-face{font-family:Instrument;src:url('assets/fonts/instrument-serif.ttf')}@font-face{font-family:Geist;src:url('assets/fonts/geist-mono.ttf');font-weight:100 900}
:root{--paper:#f3f0e9;--ink:#242723;--petrol:#395b5f;--muted:#5d625a;--line:#d6d4cb}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--paper);color:var(--ink);font:10px/1.5 Geist,monospace}button,a{color:inherit}button{font:inherit;cursor:pointer;border:0;background:none;padding:10px 0;min-height:44px}button:focus-visible,a:focus-visible{outline:2px solid var(--petrol);outline-offset:6px}[hidden]{display:none!important}#atlas,section{position:absolute;inset:0}.product-header{position:absolute;z-index:30;top:23px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.product-header nav{pointer-events:auto}.breadcrumbs,.collection-nav{display:flex;gap:22px;align-items:center}.breadcrumbs span{color:#9a9e93}.breadcrumbs button:first-child{color:var(--muted)}.collection-nav{gap:28px}.collection-nav button[aria-pressed=true]{text-decoration:underline;text-underline-offset:8px}body[data-stage=countries] .breadcrumbs,body[data-stage=countries] #terrain-tab,body[data-stage=countries] #photos-tab{display:none}body[data-stage=countries] .collection-nav{margin-left:auto}body[data-stage=country] .region-crumb{display:none}body[data-stage=grid] .region-crumb{display:none}body[data-stage=photo] .region-crumb{display:none}#geography{position:absolute;inset:0;transition:opacity .5s}#map{position:absolute;inset:0;width:100%;height:100%;touch-action:none}#map-labels{position:absolute;inset:0;pointer-events:none}.map-fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,var(--paper),transparent 21%,transparent 84%,var(--paper))}body[data-stage=countries] #geography{left:38%;right:-4%;top:7%;bottom:5%;opacity:.85}body[data-stage=countries] .map-fade{background:radial-gradient(ellipse at center,transparent 35%,var(--paper) 76%)}#countries{pointer-events:none}#country-list{position:absolute;inset:0;width:50%;pointer-events:auto}.country-name{position:absolute;top:50%;left:36px;line-height:.92;letter-spacing:-.035em;font:clamp(60px,7.4vw,112px)/.92 Instrument,serif;color:var(--muted);white-space:nowrap;transition:transform .6s,opacity .5s,color .4s}.country-name.focused{color:var(--ink)}.country-name .mark{font:20px Geist,monospace;display:inline-block;margin-left:28px;vertical-align:middle;color:var(--petrol);opacity:0}.country-name.focused .mark{opacity:1}.preview-label{position:absolute;left:60%;bottom:15%;display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:9px;letter-spacing:.02em}.small-label{font-size:9px;letter-spacing:.11em;color:var(--muted)}.map-label{position:absolute;pointer-events:auto;display:flex;align-items:center;gap:15px;padding:13px;transform:translate(-13px,-50%);white-space:nowrap;transition:opacity .4s}.map-label .point{width:7px;height:7px;display:block;border-radius:50%;background:var(--petrol);position:relative}.map-label .point:after{content:'';position:absolute;inset:-8px;border:1px solid #395b5f55;border-radius:50%;transition:transform .3s}.map-label:hover .point:after{transform:scale(1.45)}.map-label .label{font:clamp(25px,2.8vw,38px)/1 Instrument,serif;letter-spacing:-.025em}.map-label .count{font-size:9px;color:var(--muted);align-self:flex-start;margin-top:-2px}.map-place{position:absolute;transform:translate(-50%,-50%);font-size:9px;letter-spacing:.12em;color:var(--petrol);opacity:.65;white-space:nowrap;pointer-events:none}.place-caption{position:absolute;left:50px;bottom:55px;pointer-events:none}.place-caption button{pointer-events:auto;color:var(--muted);font-size:9px}.place-caption h1{font:clamp(54px,6.7vw,90px)/.93 Instrument,serif;letter-spacing:-.035em;margin:17px 0 0}.place-detail{display:block;margin-top:14px;color:var(--muted);font-size:9px}#country,#region{pointer-events:none}#unplaced{position:absolute;right:40px;bottom:52px;pointer-events:auto;color:var(--muted);font-size:9px}#unplaced span{margin:0 10px}.map-attribution{position:absolute;left:50px;bottom:19px;font-size:8px;color:var(--muted)}.map-instruction{position:absolute;bottom:26px;right:36px;font-size:8px;color:var(--muted)}#photo-anchor{position:absolute;z-index:10;transform:translate(-50%,-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center}.photo-point{width:8px;height:8px;background:var(--petrol);border-radius:50%;box-shadow:0 0 0 9px #f3f0e9cc,0 0 0 10px #395b5f55}.anchor-number{position:absolute;left:40px;top:15px;font-size:8px;color:var(--petrol)}.photo-preview{position:absolute;width:148px;bottom:57px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;transition:opacity .3s,transform .4s;box-shadow:0 8px 26px #24272315;background:var(--paper)}.photo-preview img{width:100%;height:178px;object-fit:cover;display:block}.photo-preview>span{display:block;padding:10px 8px;font-size:8px;text-align:left}#photo-anchor:hover .photo-preview,#photo-anchor:focus-visible .photo-preview{opacity:1;transform:translate(-50%,0)}#perspective{perspective:1100px;pointer-events:none}.perspective-heading{position:absolute;left:50px;bottom:58px}.perspective-heading button{pointer-events:auto;color:var(--muted)}.perspective-heading h1{font:70px/.95 Instrument,serif;letter-spacing:-.03em;margin:15px 0}.perspective-heading>span{font-size:9px;color:var(--muted)}#spatial-photo{position:absolute;height:58%;aspect-ratio:2/3;left:56%;top:17%;transform:translateX(-50%) rotateY(-19deg) rotateX(5deg) rotateZ(2deg);transform-style:preserve-3d;box-shadow:20px 25px 35px #24272322;pointer-events:auto;cursor:pointer;transition:transform 1s}#spatial-photo:after{content:'';position:absolute;top:100%;left:50%;height:72px;border-left:1px solid #395b5f77;transform:rotate(-10deg);transform-origin:top}#spatial-photo img{width:100%;height:100%;display:block;object-fit:contain;background:var(--paper)}#spatial-photo>span{position:absolute;right:0;top:calc(100% + 12px);font-size:8px;color:var(--petrol)}.perspective-actions{position:absolute;bottom:35px;right:38px;display:flex;gap:35px;align-items:center;pointer-events:auto}.perspective-actions>span{font-size:8px;color:var(--muted)}.perspective-actions button{font-size:10px;color:var(--petrol)}body[data-stage=perspective] #geography{opacity:.68}body[data-stage=photo] #geography,body[data-stage=grid] #geography{opacity:0;pointer-events:none}#photo{background:var(--paper);z-index:20}#photo-return{position:absolute;top:92px;left:40px;z-index:2;color:var(--muted)}#photo figure{position:absolute;inset:89px 130px 87px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}#original{max-height:calc(100% - 33px);max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 15px 50px #0000000b}#photo figcaption{display:flex;gap:35px;align-items:center;justify-content:space-between;font-size:8px;color:var(--muted);min-width:200px}.photo-actions{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:65px;white-space:nowrap}.photo-actions #view-in-place{font-size:9px;color:var(--petrol)}#grid{padding:112px 45px 60px;overflow:auto;background:var(--paper)}.grid-heading{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-bottom:45px}#photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 50px;align-items:center}#photo-grid button{display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center}#photo-grid img{width:100%;height:180px;object-fit:contain}#photo-grid span{font-size:8px;color:var(--muted)}#entry{position:absolute;inset:0;background:var(--paper);z-index:100;overflow:hidden}#typed-grid{position:absolute;inset:0;display:grid;grid-auto-rows:42px;align-content:center;padding:0 12px;font:16px/1 Geist,monospace}#typed-grid span{text-align:center;opacity:0}dialog{border:0;max-width:560px;padding:42px;background:var(--paper);color:var(--ink);font:11px/1.8 Geist,monospace}dialog::backdrop{background:#24272355}dialog>button{display:block;margin-left:auto}dialog h1{font:54px/.97 Instrument,serif;letter-spacing:-.03em}#notice{position:absolute;z-index:90;bottom:35px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:var(--paper);font-size:10px;white-space:nowrap}body[data-direction=viewpoint] #spatial-photo{transform:translateX(-50%) rotateY(-25deg) rotateX(9deg) rotateZ(3deg)}@media(max-width:760px){.product-header{top:17px;left:22px;right:22px;align-items:flex-start}.breadcrumbs{gap:11px;font-size:8px}.collection-nav{gap:17px;font-size:8px}.collection-nav #terrain-tab,.collection-nav #photos-tab{display:block;position:absolute;top:42px}.collection-nav #terrain-tab{left:0}.collection-nav #photos-tab{left:75px}body[data-stage=countries] #geography,body[data-stage=countries] .preview-label{display:none}#country-list{width:100%}.country-name{left:18px;font-size:clamp(57px,15.5vw,88px)}.country-name .mark{font-size:15px;margin-left:18px}.place-caption{left:26px;bottom:65px}.place-caption h1{font-size:58px}.place-caption .small-label{font-size:8px}.map-label{gap:11px}.map-label .label{font-size:26px}.map-label .count{font-size:8px}.map-attribution{left:26px;font-size:7px}.map-instruction{right:22px;bottom:21px;font-size:7px}#unplaced{right:23px;bottom:39px;font-size:8px}.perspective-heading{left:26px;bottom:76px}.perspective-heading h1{font-size:52px}.perspective-heading>span{font-size:8px}.perspective-actions{bottom:20px;left:26px;right:26px;justify-content:space-between;gap:10px}.perspective-actions>span{font-size:7px;max-width:145px}.perspective-actions button{font-size:9px}#spatial-photo{top:17%;height:46%;left:55%}#spatial-photo:after{height:45px}#photo-return{top:106px;left:22px;font-size:9px}#photo figure{inset:155px 22px 115px}#photo figcaption{font-size:8px;gap:20px}.photo-actions{gap:50px;bottom:32px}#grid{padding:105px 25px 45px}#photo-grid{grid-template-columns:repeat(2,1fr);gap:25px 20px}#photo-grid img{height:160px}#typed-grid{font-size:13px;grid-auto-rows:36px}.photo-preview{display:none}dialog{margin:20px;padding:25px}dialog h1{font-size:46px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
