/* A country-centred wallpaper, shared by the home and visitor pages. */
.has-visitor-wallpaper{--map-line:#889587;--map-focus:#926738;--map-fill:#b2916320;--map-wash:#f7f5ef;isolation:isolate}
.has-visitor-wallpaper .site-header,.has-visitor-wallpaper .site-footer{position:relative;z-index:1}
.visitor-wallpaper{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--paper)}
.visitor-wallpaper::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--map-wash) 0%,color-mix(in srgb,var(--map-wash) 92%,transparent) 20%,color-mix(in srgb,var(--map-wash) 28%,transparent) 65%,color-mix(in srgb,var(--map-wash) 10%,transparent)),linear-gradient(0deg,var(--map-wash),transparent 68%)}
.visitor-map{width:100%;height:100%;display:block;opacity:.76}
.country-outlines path{fill:none;stroke:var(--map-line);stroke-width:.65;vector-effect:non-scaling-stroke;transition:stroke .5s,fill .5s}
.country-outlines path[data-you=true]{stroke:var(--map-focus);stroke-width:1.2;fill:var(--map-fill)}
.country-outlines path[data-recent=true]{stroke:var(--map-focus)}
.visitor-pins circle{fill:var(--map-focus);stroke:var(--paper);stroke-width:1;vector-effect:non-scaling-stroke}
.visitor-pins .pin-ring{fill:none;stroke:var(--map-focus);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:visitor-pulse 3s ease-out infinite}
.visitor-experience{padding:58px 0 60px}
.visitor-hero{min-height:330px;padding:0 0 40px;max-width:760px}
.visitor-hero>.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px}
.connection-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.visitor-hero h1{font-size:clamp(64px,7.3vw,104px);line-height:1.02;letter-spacing:-4px;margin:26px 0 22px;max-width:800px}
.visitor-hero h1 em,.visitor-hero h2 em{font-weight:400;color:var(--accent)}
.visitor-greeting{font-size:18px;max-width:430px;margin-bottom:20px;color:var(--muted)}
.visitor-location{display:flex;flex-wrap:wrap;gap:24px;align-items:center;color:var(--muted);font-size:11px}
.visitor-location button{border:0;border-bottom:1px solid var(--line);padding:4px 0;background:none;color:var(--ink);font:inherit;cursor:pointer;display:flex;gap:14px}
.visit-strip{display:grid;grid-template-columns:1.1fr 1.4fr 1fr .9fr;gap:32px;margin:24px 0 0;max-width:920px;border-top:1px solid var(--line);padding-top:26px}
.visit-strip dt{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
.visit-strip dd{font-family:Georgia,serif;font-size:30px;line-height:1.2;letter-spacing:-.7px;margin:0 0 8px;font-variant-numeric:tabular-nums}
.visit-strip>div>span{font-size:10px;color:var(--muted);display:block}
.visit-strip .visit-clock{color:var(--accent)}
.visit-strip [data-last-visit]{font-size:22px;min-height:36px;display:flex;align-items:center}
.visit-journal{max-width:920px;margin-top:45px}
.journal-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.journal-heading h2{font-size:25px;letter-spacing:-.5px;margin:0}
.journal-heading>span{font-size:10px;color:var(--muted)}
.history-note{font-size:11px;color:var(--muted);margin:10px 0 15px}
.visit-history-list{list-style:none;padding:0;margin:0;font-size:12px}
.visit-history-list li{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:20px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}
.visit-history-list .history-date{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.visit-history-list time{color:var(--ink)}
.visit-history-list .history-current{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--accent)}
.visit-history-list .history-duration{font-variant-numeric:tabular-nums;color:var(--ink)}
.visit-history-list .history-pages{text-align:right;color:var(--muted)}
.visitor-privacy{font-size:11px;color:var(--muted);margin-top:28px;max-width:920px}
.visitor-privacy summary{cursor:pointer;display:list-item;padding:12px 0}
.visitor-privacy>div{padding-top:8px;max-width:750px}
.visitor-privacy p{margin-bottom:15px}
.privacy-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.privacy-actions button{border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);padding:7px 0;cursor:pointer;font:inherit}
.visitor-experience :focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.visitor-privacy .map-attribution{margin-top:20px;font-size:10px}
.world-summary{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px;font-size:12px}
.world-summary p{width:100%;margin:0}.world-summary small{color:var(--muted)}
/* Keep visitor details out of the homepage's content flow. */
.visitor-experience--home{height:0}
.visitor-pin-note{position:fixed;z-index:2;width:0;height:0}
.visitor-pin-trigger{position:absolute;left:-22px;top:-22px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--map-focus);cursor:pointer}
.pin-dot{display:block;width:7px;height:7px;border-radius:50%;margin:auto;background:currentColor;box-shadow:0 0 0 5px color-mix(in srgb,var(--map-focus) 12%,transparent)}
.visitor-pin-trigger:hover .pin-dot{box-shadow:0 0 0 8px color-mix(in srgb,var(--map-focus) 16%,transparent)}
.visitor-pin-trigger:focus-visible,.visitor-pin-card a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.visitor-pin-card{position:absolute;bottom:25px;width:244px;padding:18px 20px 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 8px 28px #00000012;color:var(--ink);text-align:left}
.visitor-pin-card::after{content:'';position:absolute;bottom:-5px;left:var(--pin-offset,50%);width:8px;height:8px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.visitor-pin-card .pin-eyebrow{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 3px}
.visitor-pin-card h2{font-size:23px;letter-spacing:-.5px;line-height:1.2;margin:0 0 15px;overflow-wrap:anywhere}
.visitor-pin-card dl{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px;margin:0 0 14px}
.visitor-pin-card .pin-last{grid-column:1/-1}
.visitor-pin-card dt{font-size:10px;color:var(--muted);margin:0 0 2px}
.visitor-pin-card dd{font-size:14px;line-height:1.3;font-variant-numeric:tabular-nums;margin:0}
.visitor-pin-card a{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:11px;font-size:10px;text-decoration:none;color:var(--muted)}
@media(min-width:1000px){.has-visitor-wallpaper:has([data-visitor-home]) .intro{max-width:min(650px,calc(100vw - 460px))}}
.has-visitor-wallpaper .article-card{background:color-mix(in srgb,var(--surface) 92%,transparent)}
@keyframes visitor-pulse{0%{transform:scale(.7);opacity:.8}100%{transform:scale(2.1);opacity:0}}
@media(prefers-color-scheme:dark){.has-visitor-wallpaper{--paper:#17201c;--surface:#202a23;--ink:#f1eee2;--muted:#b0b7a9;--line:#3b473d;--accent:#dec28b;--map-line:#778572;--map-focus:#d1b478;--map-fill:#a58a4920;--map-wash:#17201c}.visitor-map{opacity:.83}}
@media(max-width:650px){.visitor-experience{padding-top:38px}.visitor-hero{min-height:380px;padding-bottom:35px}.visitor-hero h1{font-size:clamp(58px,15vw,84px);letter-spacing:-2.6px;overflow-wrap:anywhere}.visitor-greeting{font-size:16px;max-width:260px}.visitor-location{font-size:10px;gap:12px}.visitor-wallpaper::after{background:linear-gradient(90deg,color-mix(in srgb,var(--map-wash) 90%,transparent),color-mix(in srgb,var(--map-wash) 22%,transparent)),linear-gradient(0deg,var(--map-wash) 0%,color-mix(in srgb,var(--map-wash) 88%,transparent) 28%,transparent 85%)}.visit-strip{grid-template-columns:1fr 1fr;gap:28px 18px;margin-top:0;padding-top:25px}.visit-strip dd{font-size:28px}.visit-strip [data-last-visit]{font-size:19px}.visit-strip>div>span{font-size:10px}.visit-journal{margin-top:35px}.visit-history-list li{grid-template-columns:1.5fr .8fr .7fr;gap:10px;font-size:11px}.visit-history-list .history-date{gap:5px}.has-visitor-wallpaper .intro{padding-bottom:60px}}
@media(prefers-reduced-motion:reduce){.visitor-pins .pin-ring{animation:none}.country-outlines path{transition:none}}
@media print{.visitor-wallpaper,.visitor-experience,.visitor-pin-note{display:none}}
