@font-face{font-family:'Patrick Hand';src:url(assets/patrick-hand.woff2) format('woff2'),url(assets/patrick-hand.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#20211d;--muted:#66685f;--hand:'Patrick Hand','Chalkboard SE',cursive}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font:20px/1.4 var(--hand);-webkit-font-smoothing:antialiased;overflow-x:clip}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{border:0;font:inherit;color:inherit;cursor:pointer;background:none}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,#globe:focus-visible,.photo-track:focus-visible,.reviews:focus-visible{outline:2px solid #ce5136;outline-offset:5px}[hidden]{display:none!important}
h1,h2,h3,p,figure{margin:0}h2,h3,strong{font-weight:400}h2{font-size:38px;line-height:1.1}#place:focus{outline:none}
#stage{min-height:100svh;position:relative;isolation:isolate}.app-nav{height:72px;padding:10px 16px;display:flex;align-items:center;position:relative;z-index:8;pointer-events:none}.wordmark{padding:8px 0;pointer-events:auto}.wordmark img{display:block;width:clamp(170px,16vw,250px);height:auto}
body[data-mode=home] .app-nav{visibility:hidden}
.welcome{position:absolute;top:12svh;left:6%;right:6%;text-align:center;z-index:2;pointer-events:none}.welcome h1{position:relative;width:min(620px,80vw);margin:0 auto;transform:rotate(-2deg)}.landing-credit-arrow{position:absolute;right:-218px;top:52%;width:205px;height:150px;overflow:visible;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;opacity:.42;transform:rotate(-4deg)}.welcome h1 img{display:block;width:100%;height:auto}.welcome-deck{font-size:clamp(22px,2vw,28px);margin:22px auto 0;line-height:1.3}
.start-area{position:absolute;top:83svh;left:0;right:0;text-align:center;z-index:3}
.clay-button{display:inline-flex;gap:24px;align-items:center;justify-content:center;min-width:164px;min-height:58px;padding:12px 28px;background:linear-gradient(165deg,#e97650,#d75136 65%,#c34530);color:#fffaf0;font-size:26px;border-radius:24px 27px 25px 23px;box-shadow:inset 0 3px 3px #ffc39b65,inset 0 -4px 3px #ad352343,0 4px 0 #ad3b2b,0 8px 12px #9a412521;transition:transform .18s,box-shadow .18s}.clay-button:hover:not(:disabled){transform:translateY(-2px) rotate(-1deg)}.clay-button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px 5px #9d34252b,0 2px 0 #a73627}
.small-button,.text-button{padding:8px 10px;min-height:42px;font-size:18px;background:none}.small-button:hover,.text-button:hover{text-decoration:underline}.round-button{height:44px;min-width:44px;display:grid;place-items:center;background:#ede9dc;border-radius:48% 53% 48% 47%;font-size:29px;box-shadow:inset 0 2px 2px #fff9,0 2px 0 #d4cdbd}
/* One canvas from the landing through every flight: framing belongs to the camera. */
#globe-wrap{position:fixed;inset:0;width:100vw;height:100svh;z-index:1;opacity:0;transition:opacity .45s;pointer-events:none}
.globe-ready #globe-wrap{opacity:1;pointer-events:auto}#globe{display:block;width:100%;height:100%;cursor:grab;touch-action:none}#globe:active{cursor:grabbing}
.flag-targets{position:absolute;inset:0;pointer-events:none}.flag-target{position:absolute;width:34px;height:34px;background:transparent;transform:translate(-50%,-50%);border-radius:50%;pointer-events:auto}.flag-check{display:none}.flag-target:hover{outline:2px solid #fff8}
body[data-mode=explore] .welcome,body[data-mode=explore] .start-area,body[data-mode=end] .welcome,body[data-mode=end] .start-area{display:none}
body[data-mode=end] #globe-wrap{opacity:0;pointer-events:none;visibility:hidden}
body.is-traveling #globe-wrap{pointer-events:none}body.is-traveling .scene,body.is-traveling .tour-controls{opacity:0;pointer-events:none}
/* A familiar reading hierarchy, set against the clay world. */
.scene{position:relative;width:100%;z-index:2;pointer-events:none;transition:opacity .22s}
.popup-world{position:relative;width:calc(100% - 180px);max-width:1300px;margin:8px auto 0;padding-bottom:30px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;pointer-events:none;transition:opacity .2s}
.popup-world.is-away{opacity:0;visibility:hidden}.scene button,.scene a{pointer-events:auto}
.place-heading{grid-column:1;grid-row:1;padding:0 12px}.place-heading h2{font-size:clamp(32px,3vw,46px);line-height:1.1}.place-heading p{font-size:20px;color:#626257;margin-top:6px}
/* Complete photographs, fanned around the selected print. */
.photo-gallery{grid-column:1;grid-row:2;min-width:0;--gallery-height:clamp(300px,43svh,540px);pointer-events:auto}
.photo-track{position:relative;height:var(--gallery-height);--fan-step:min(15vw,190px,calc((var(--gallery-height) - 55px)*var(--active-photo-ratio,1.4)*.46));touch-action:pan-y;isolation:isolate;margin:12px 10px 18px}
.gallery-photo{position:absolute;left:50%;top:12px;width:min(65%,calc((var(--gallery-height) - 55px)*var(--photo-ratio,1.4)));aspect-ratio:var(--photo-ratio,1.4);margin:0;transform:translate(calc(-50% + var(--fan-offset)*var(--fan-step)),calc(var(--fan-depth)*15px)) rotate(var(--print-turn)) scale(calc(1 - var(--fan-depth)*.13));transform-origin:50% 75%;transition:transform .48s cubic-bezier(.2,.75,.2,1);pointer-events:auto}
.gallery-photo.is-active{transform:translate(calc(-50% + var(--drag-x,0px)),0) rotate(calc(-2deg + var(--drag-turn,0deg)))}
.photo-track.is-dragging .is-active{transition:none}
.photo-object{display:block;width:100%;height:100%;padding:0;border:6px solid #f3efe4;background:#f3efe4;box-shadow:1px 2px 0 #c6bfae,2px 4px 4px #23321b18;cursor:pointer;border-radius:2px}.photo-object:hover{filter:brightness(1.025)}.photo-object img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.review-stack{grid-column:1;grid-row:3;min-width:0;padding:8px 9px;margin-top:12px;pointer-events:auto}
.reviews{position:relative;width:100%;margin:auto;touch-action:pan-y}

.review-card{display:block;text-decoration:none;color:inherit;position:relative;padding:21px 24px 20px;background:none;isolation:isolate;transform-origin:50% 50%}
.review-card:before{content:'';position:absolute;inset:0;background:url(assets/review-paper.svg) 0 0/100% 100% no-repeat;filter:drop-shadow(1px 2px 0 #c9c0ad) drop-shadow(1px 3px 2px #27301c12);z-index:-1;pointer-events:none}
.review-card blockquote{font-size:clamp(23px,1.8vw,28px);line-height:1.22;margin:0;overflow-wrap:anywhere;text-wrap:pretty}
.stars{display:flex;height:28px;gap:3px;margin:0 0 10px;align-items:center}.stars img{width:27px;height:27px;filter:drop-shadow(1px 2px 1px #99661b25);transform:translate(var(--star-x,0px),var(--star-y,0px)) rotate(var(--star-turn,0deg))}.stars .empty{filter:grayscale(1);opacity:.25;--star-opacity:.25}
.review-byline{font-size:16px;line-height:1.35;color:#64655c}.review-byline a{text-decoration:none}.review-byline a:hover{text-decoration:underline}.review-original{margin:16px 0 0;padding:12px 20px 0 0;border-top:1px solid #d8d3c8;color:#64655c;font-size:15px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.review-card.is-present{animation:notification-arrive .48s both cubic-bezier(.2,.8,.2,1)}
.review-card.is-present .stars img{animation:star-roll .52s both cubic-bezier(.18,.8,.3,1);animation-delay:calc(.16s + var(--star-index)*.085s)}
@keyframes notification-arrive{0%{opacity:0;translate:18px 20px;scale:.94}68%{opacity:1;translate:0 -2px;scale:1.015}100%{opacity:1;translate:0 0;scale:1}}
@keyframes star-roll{0%{opacity:0;transform:translate(25px,-10px) rotate(145deg) scale(.35)}60%{opacity:var(--star-opacity,1);transform:translate(-2px,2px) rotate(-16deg) scale(1.1)}80%{transform:translate(0,-2px) rotate(12deg) scale(.98)}100%{opacity:var(--star-opacity,1);transform:translate(var(--star-x,0px),var(--star-y,0px)) rotate(var(--star-turn,0deg)) scale(1)}}
.photo-state{position:fixed;top:50svh;left:50%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 40px));display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center;color:var(--muted);font-size:22px}.photo-error{display:block;padding:30px;font-size:22px}
.review-unavailable{background:#f4efe3;padding:24px;font-size:21px;border-radius:4px;pointer-events:auto}.review-note{font-size:16px;margin-top:18px;color:var(--muted)}
.arrival-piece{visibility:hidden;opacity:0}.arrival-piece.is-present{visibility:visible;opacity:1}.arrival-piece.is-present:not(.review-card){visibility:visible;opacity:1;animation:paper-arrive .58s both cubic-bezier(.18,.75,.22,1)}
@keyframes paper-arrive{0%{opacity:0;translate:0 25px;scale:.96}65%{opacity:1;translate:0 -3px;scale:1.005}100%{opacity:1;translate:0 0;scale:1}}
.tour-controls{position:fixed;right:3vw;bottom:27svh;z-index:7;opacity:0;transition:opacity .2s}
.tour-back{right:auto;left:3vw}.next-place{display:block;width:clamp(145px,12vw,190px);padding:0;background:none}.next-place-drawing{display:block;width:100%;height:auto;overflow:visible}.next-place-drawing text{font:25px var(--hand);fill:currentColor;letter-spacing:.2px}.next-place-arrow{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:translate .2s}.next-place:hover .next-place-arrow{translate:2px 3px}.tour-controls.on-globe-rim{right:auto;bottom:auto;padding:0;background:none;transform:none}.on-globe-rim .next-place-drawing{height:100%}.on-globe-rim .next-place-drawing text{font-size:23px}
.stop-notes{position:fixed;left:22px;bottom:76px;z-index:9;pointer-events:auto}.more-menu{position:fixed;right:max(18px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));z-index:12;pointer-events:auto}#stop-menu{color:var(--muted)}#stop-menu>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:46px;padding:8px 17px;font-size:22px;color:var(--ink);background:#fffdf6;border:1px solid #d7d0c0;border-radius:9px 11px 9px 10px;box-shadow:1px 3px 0 #d9d3c5;transition:background .16s}#stop-menu>summary:hover,#stop-menu[open]>summary{background:#f0ebdd}#stop-menu>summary span{font-size:26px;line-height:1}#stop-menu>summary::-webkit-details-marker{display:none}.stop-menu-body{position:absolute;top:58px;right:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:248px;max-height:75svh;overflow:auto;padding:16px;background:#fffdf6;border:1px solid #ddd7c9;box-shadow:2px 3px 0 #d9d3c5,0 12px 28px #1d2c1918;border-radius:3px}.stop-menu-body .text-button{display:block;width:100%;text-align:left;font-size:20px;padding:8px;min-height:44px;text-decoration:none}.stop-menu-body .text-button:hover{text-decoration:underline}.stop-menu-body .menu-credit{margin-top:8px;padding-top:14px;border-top:1px solid #ddd7c9;color:var(--muted);font-size:18px}

.ending{position:relative;z-index:2;text-align:center;padding:9svh 24px 50px}.ending>img{filter:drop-shadow(0 6px 3px #9f792222);transform:rotate(-12deg)}.ending h2{font-size:clamp(44px,5vw,76px);margin:25px 0 16px}.ending>p{font-size:24px;color:var(--muted)}#end-saved:empty{display:none}#end-saved{margin-top:12px;font-size:20px}.ending>div{display:flex;justify-content:center;gap:24px;align-items:center;margin-top:36px}
dialog{border:1px solid #ded8cc;border-radius:4px;background:#fffdf6;color:var(--ink);width:min(620px,calc(100vw - 32px));max-height:84svh;padding:30px;box-shadow:3px 4px 0 #d9d1c0,0 20px 80px #21321a30}dialog::backdrop{background:#323a3144;backdrop-filter:blur(5px)}.dialog-heading{display:flex;gap:20px;justify-content:space-between;align-items:start;margin-bottom:24px}.dialog-heading h2{font-size:34px}dialog p{margin:14px 0}dialog .small-button{font-size:20px}.list-tabs{display:flex;gap:12px;margin-bottom:20px}.list-tabs [aria-pressed=true]{text-decoration:underline;text-underline-offset:6px}
#all-places{list-style:none;padding:0;margin:0}#all-places button{display:flex;align-items:center;gap:15px;text-align:left;width:100%;border-bottom:1px solid #e2ddcf;padding:13px 4px}#all-places button:hover,#all-places button[aria-current=location]{background:#f1eedf}#all-places .location-number{font-size:16px;color:var(--muted)}#all-places .location-name{font-size:24px;flex:1}#all-places small{display:block;font-size:17px;color:var(--muted)}.saved-mark{color:#c54f38}
#about p,#story #context-body{font-size:20px;line-height:1.5}.about-credit,.legal-links{font-size:17px!important}.deck{font-size:24px;line-height:1.35}#context-body a{display:block;margin:8px 0}.photo-sources{margin-top:25px;padding-top:15px;border-top:1px solid #ddd7ca}.photo-sources h3{font-size:23px;margin-bottom:10px}.photo-credit{display:flex;flex-wrap:wrap;gap:4px 10px;line-height:1.4;font-size:16px;color:#62645c}.photo-credit a{text-decoration:none}.photo-credit a:hover{text-decoration:underline}#context-body .photo-credit a{display:inline;margin:0}.photo-sources .photo-credit+.photo-credit{margin-top:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.no-script{position:fixed;inset:auto 20px 20px;background:#fff;padding:15px;z-index:20}.no-globe .start-area{top:55svh}
@media(min-width:651px) and (max-width:1050px){.popup-world{width:calc(100% - 80px);margin-top:20px}.review-card{padding:19px 20px}.review-card blockquote{font-size:25px}.place-heading h2{font-size:35px}}
@media(min-width:651px) and (max-width:1050px){.tour-controls{right:18px;bottom:18px;background:#ffffffed;border-radius:4px}.next-place{width:auto;min-height:44px;padding:7px 12px}.next-place-drawing{display:none}.next-place:after{content:attr(aria-label) " →";font-size:23px}}
@media(max-width:650px){
 .app-nav{height:76px;padding:10px 20px}.wordmark img{width:225px}.welcome{top:14svh;left:6%;right:6%}.welcome h1{width:88vw}.landing-credit-arrow{display:none}.welcome-deck{font-size:23px;margin-top:20px}.start-area{top:82svh}.clay-button{font-size:25px;min-height:55px;padding:10px 25px}
 body[data-mode=explore] #stage{padding:0 14px}body[data-mode=explore] .app-nav,body[data-mode=explore] .maker-signature{display:none}body[data-mode=explore]:not(.is-traveling) #globe-wrap{position:fixed}
 .scene{position:relative;inset:auto;height:auto;margin:0 auto;max-width:500px;pointer-events:none}
 .popup-world{position:relative;width:100%;display:flex;flex-direction:column;gap:0;margin:0;padding:8px 0 0;transform:none!important}
 .place-heading{padding:8px 96px 0 4px;width:100%}.place-heading h2{font-size:30px;line-height:1.12}.place-heading p{font-size:19px;margin-top:3px}
 #stop-menu>summary{min-height:40px;padding:6px 12px;font-size:18px}
 .photo-gallery{width:100%;margin-top:8px;--gallery-height:clamp(270px,42svh,400px)}.photo-track{margin:4px 0 0}.gallery-photo{width:min(92%,calc((var(--gallery-height) - 28px)*var(--photo-ratio,1.4)))}
 .scene[data-photos="0"] .photo-gallery{display:none}.photo-state{padding:18px;font-size:21px}
 body[data-mode=explore] .review-stack{
  position:fixed;left:14px;right:14px;bottom:max(84px,calc(env(safe-area-inset-bottom) + 74px));
  width:auto;margin:0;padding:0;z-index:6;touch-action:pan-x
 }
 .review-controls{display:none}
 .review-card{padding:16px 18px 14px}
 .review-card blockquote{font-size:22px;line-height:1.2;margin:0}
 .review-card.is-long blockquote{font-size:18.5px}
 .review-card.is-longer blockquote{font-size:15.5px;line-height:1.18}
 .review-card.is-long .review-original{font-size:15px}
 .review-card.is-longer .review-original{font-size:13.5px}
 .review-card.is-present.is-nudge{animation:notification-arrive .48s both cubic-bezier(.2,.8,.2,1),review-nudge .78s .42s both cubic-bezier(.2,.7,.2,1)}
 .stars{height:26px;margin-bottom:8px}.stars img{width:25px;height:25px}
 .tour-controls,.tour-controls.on-globe-rim{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));left:auto;background:#ffffffed;border-radius:4px;z-index:8}
 .tour-back,.tour-back.on-globe-rim{left:max(10px,env(safe-area-inset-left))!important;right:auto!important}
 .next-place{width:auto;min-height:48px;padding:8px 14px}.next-place-drawing{display:none}
 .tour-back .next-place:after{content:"\2190\00a0 Back"}#tour-controls .next-place:after{content:attr(data-short) " \2192";font-size:21px}
 .stop-notes{left:18px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 64px));background:#ffffffed;border-radius:4px;padding:0 6px}
 .more-menu{right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top))}
 .ending{padding-top:8svh}.ending>div{flex-direction:column;gap:20px}.ending h2{font-size:45px}.ending>p{font-size:23px}dialog{padding:22px;max-height:87svh}.dialog-heading h2{font-size:30px}#lightbox{padding:10px;width:calc(100vw - 16px)}
}
@media(max-height:620px) and (min-width:651px){.welcome{top:8svh}.welcome h1{width:420px}.welcome-deck{font-size:23px;margin-top:12px}.popup-world{margin-top:10px}.review-card{padding:16px 18px}.review-card blockquote{font-size:23px}.photo-gallery{--gallery-height:32svh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Swipe, drag or tap the paper to turn to the next photographs. */
.photo-track.is-dragging{cursor:grabbing;user-select:none}.photo-track.is-dragging .photo-object{cursor:grabbing}
.review-card:focus-visible{outline:2px solid #ce5136;outline-offset:4px}.review-card:hover:before{filter:drop-shadow(1px 2px 0 #c9c0ad) drop-shadow(1px 4px 3px #27301c25)}


.source-arrow{display:inline-block;width:15px;height:15px;vertical-align:baseline;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.6;transition:transform .18s,opacity .18s}.review-card:hover .source-arrow{transform:translate(2px,-2px);opacity:1}.photo-object:disabled{opacity:1;cursor:default}

.photo-source{position:absolute;right:0;top:0;z-index:2;display:block;width:32px;height:32px;color:#646257;text-decoration:none;visibility:hidden}.photo-source:before{content:"";position:absolute;top:0;right:0;width:27px;height:27px;background:#f3efe4;clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none}.photo-source .source-arrow{position:absolute;top:3px;right:3px;width:12px;height:12px;opacity:.45}.photo-gallery.is-present .gallery-photo:not([hidden]) .photo-source{visibility:visible}.photo-source:hover .source-arrow,.photo-source:focus-visible .source-arrow{opacity:1;transform:translate(1px,-1px)}.photo-source:focus-visible{outline:2px solid #ce5136;outline-offset:1px;border-radius:3px}

.place-link{color:inherit;text-decoration:none}.place-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.place-link:focus-visible{outline:2px solid #ce5136;outline-offset:4px}.place-link:hover .source-arrow{opacity:1}

/* One readable card, with separate arrows on either side. */
.review-arrow{display:grid;place-items:center;width:60px;height:44px;padding:4px;pointer-events:auto}
.review-arrow svg{display:block;width:52px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.review-arrow:hover:not(:disabled) svg{transform:translateX(3px)}
#review-prev:hover:not(:disabled) svg{transform:translateX(-3px)}
@media(min-width:651px) and (max-width:850px){
 .review-stack{width:100%;max-width:700px;justify-self:center}
 .photo-track{margin:12px 10px 18px;--fan-step:min(16vw,90px,calc((var(--gallery-height) - 48px)*var(--active-photo-ratio,1.4)*.46))}
 .gallery-photo{width:min(82%,calc((var(--gallery-height) - 48px)*var(--photo-ratio,1.4)))}
 .review-original{font-size:14px;line-height:1.3;margin-top:9px;padding-top:8px}
}
@media(min-width:851px){.review-stack{width:min(100%,740px);justify-self:center}}

.review-source{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:32px;height:32px;text-decoration:none}.review-card .stars{padding-right:32px}.review-source:focus-visible{outline:2px solid #ce5136;outline-offset:4px}.review-flip{display:block;font-size:16px;color:var(--muted);padding:8px 0 0;min-height:32px}.review-card .review-original{border:0;padding:0;margin:0}.review-card:has(.review-source:hover):before{filter:drop-shadow(1px 2px 0 #c9c0ad) drop-shadow(1px 4px 3px #27301c25)}


/* Review arrows stay attached to their card, away from the next-place control. */
.review-stack{position:relative;padding-left:54px;padding-right:54px}
.review-controls{position:absolute;inset:60px 0 auto;display:block;margin:0;pointer-events:none}
.review-arrow{position:absolute;top:-22px;width:44px;height:44px}
.review-arrow svg{width:38px}
#review-prev{left:0}#review-next{right:0}
@media(min-width:651px) and (max-height:850px){
 .app-nav{height:58px}.wordmark img{width:210px}
 .place-heading h2{font-size:34px}.place-heading p{font-size:18px}
 .tour-controls,.tour-controls.on-globe-rim{left:auto!important;top:auto!important;right:16px;bottom:10px;background:#ffffffed;border-radius:4px}
 .next-place,.on-globe-rim .next-place{width:auto!important;height:auto!important;min-height:40px;padding:5px 12px}
 .next-place-drawing{display:none}.next-place:after{content:attr(aria-label) " →";font-size:22px}
}

/* Touch has weight: compress, release, then settle. */
.stop-menu-body .sound-toggle{display:flex;align-items:center;gap:9px;color:var(--ink)}
.sound-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sound-toggle .sound-slash{display:none}.sound-toggle[aria-pressed=false] .sound-waves{display:none}.sound-toggle[aria-pressed=false] .sound-slash{display:block}
button:not(.photo-object):not(.flag-target),summary{transform-origin:50% 65%}
button:not(:disabled):not(.photo-object):not(.flag-target):active,summary:active{scale:1.035 .91}
.clay-button:active:not(:disabled){transform:translateY(3px);border-radius:28px 24px 29px 25px}
.gallery-photo{transition:transform .54s cubic-bezier(.22,.9,.28,1.12)}
.photo-object{transition:box-shadow .2s,scale .2s}.photo-track.is-dragging .is-active{scale:1.025}.photo-track.is-dragging .is-active .photo-object{box-shadow:1px 3px 0 #c6bfae,5px 14px 18px #23321b25}
#save[aria-pressed=true]{color:#cf4f39}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .next-place:hover .next-place-drawing{rotate:3deg;translate:2px 0}
 .next-place-drawing{transition:rotate .28s cubic-bezier(.2,.9,.2,1.4),translate .28s}
 .gallery-photo:hover{translate:0 -3px}.gallery-photo:hover .photo-object{box-shadow:1px 3px 0 #c6bfae,3px 8px 10px #23321b20}
}
@media(prefers-reduced-motion:no-preference){
 dialog[open]{animation:clay-dialog-in .34s cubic-bezier(.2,.8,.2,1) both}
 #stop-menu[open] .stop-menu-body{transform-origin:top right;animation:clay-dialog-in .24s cubic-bezier(.2,.8,.2,1) both}
 .ending:not([hidden])>img{animation:clay-keepsake .72s cubic-bezier(.2,.8,.2,1) both}
}
@keyframes clay-dialog-in{0%{opacity:0;translate:0 14px;scale:.95 .91}65%{opacity:1;translate:0 -2px;scale:1.015 1.025}100%{opacity:1;translate:0;scale:1}}
@keyframes clay-keepsake{0%{translate:0 -32px;rotate:-22deg;scale:.65}48%{translate:0 5px;rotate:9deg;scale:1.14 .83}73%{translate:0 -5px;rotate:-5deg;scale:.94 1.08}100%{translate:0;rotate:0deg;scale:1}}

@media(prefers-reduced-motion:reduce){button:active,summary:active{scale:1!important}}

#about{width:min(460px,calc(100vw - 32px))}#about .dialog-heading{margin-bottom:18px}.about-details{margin-top:24px;color:var(--muted)}.about-details>summary{cursor:pointer;font-size:17px}.about-details p{font-size:17px!important}.about-details .text-button{padding-left:0;font-size:17px}

#submission{width:min(460px,calc(100vw - 32px))}#submission .dialog-heading{margin-bottom:18px}#submission-form{display:grid;gap:10px;margin-top:22px}#submission-form label{font-size:18px}#location-url{width:100%;min-width:0;border:1px solid #cfc8b7;border-radius:4px;background:#fff;padding:12px;font:18px/1.4 var(--hand);color:var(--ink)}#location-url:focus-visible{outline:2px solid #ce5136;outline-offset:3px}#send-submission{justify-self:start;padding-left:0;text-decoration:underline;text-underline-offset:4px}#submission-status{font-size:18px;line-height:1.4}#submission-status:empty{display:none}

/* Reserve the same reading space for every review at a stop. */
.reviews{min-height:var(--review-height,0px)}

.reviews.is-measuring>.review-card{display:block!important;position:absolute;inset:0 0 auto;visibility:hidden!important;min-height:0;animation:none!important}
@media(min-width:851px){.popup-world{width:calc(100% - 110px)}.photo-gallery{--gallery-height:clamp(320px,46svh,580px)}}
.photo-track.is-spread .gallery-photo{left:0;width:var(--spread-width);transform:translate(var(--spread-x),var(--spread-y,0px)) rotate(var(--spread-turn));}
.photo-track.is-spread .gallery-photo.is-active{transform:translate(calc(var(--spread-x) + var(--drag-x,0px)),var(--spread-y,0px)) rotate(calc(var(--spread-turn) + var(--drag-turn,0deg)));}

/* A small voice attached to the turning planet, never another review card. */
.home-chatter{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .38s ease}
.home-chatter.is-speaking{opacity:1}
.home-card{position:absolute;left:0;top:0;width:214px;transform-origin:50% 100%;padding:12px 15px 11px;font-size:17px;line-height:1.2;color:var(--ink);text-decoration:none;pointer-events:auto;will-change:transform}
.home-card .stars{height:18px;gap:2px;margin:0 0 7px;padding:0}.home-card .stars img{width:17px;height:17px}
.home-card blockquote{font-size:17px;line-height:1.2;text-wrap:pretty}
.home-card.is-long{width:248px}.home-card.is-long blockquote{font-size:15.5px;line-height:1.18}
.home-card.is-longer{width:272px}.home-card.is-longer blockquote{font-size:14px;line-height:1.16}
.home-card .review-byline{display:block;margin-top:7px;font-size:13px;line-height:1.2;color:#6c6e63;text-align:right}
.home-card:hover .review-byline{text-decoration:underline}
.home-card.is-present{animation:sign-pop .5s both cubic-bezier(.2,.9,.25,1.15)}.home-card.is-leaving{animation:sign-drop .38s both ease-in}
@keyframes sign-pop{0%{opacity:0;translate:0 18px;scale:.6}70%{opacity:1;translate:0 -4px;scale:1.03}100%{opacity:1;translate:0 0;scale:1}}
@keyframes sign-drop{to{opacity:0;translate:0 10px;scale:.85}}
.home-card:focus-visible{outline:2px solid #ce5136;outline-offset:4px}
@media(max-width:650px){.home-card{width:156px;padding:9px 11px 8px;font-size:14.5px}.home-card.is-long{width:184px}.home-card.is-long blockquote{font-size:13.5px}.home-card.is-longer{width:206px}.home-card.is-longer blockquote{font-size:12.5px}.home-card blockquote{font-size:15px}.home-card .stars{height:15px;margin-bottom:5px}.home-card .stars img{width:14px;height:14px}.home-card .review-byline{font-size:12px}}
body:not([data-mode=home]) .home-chatter{display:none}
@media(prefers-reduced-motion:reduce){.home-chatter{display:none!important}}


/* Small real excerpts beside the existing clay pennants. */

/* Keep the location itself first on compact tour screens. */
/* Below a roomy desktop the place name is the heading; the wordmark steps aside. */
@media(min-width:651px) and (max-width:1280px), (min-width:651px) and (max-height:820px){
 body[data-mode=explore] .app-nav{display:none}
 body[data-mode=explore] .popup-world{margin-top:0;padding-top:18px}
 body[data-mode=explore] .place-heading{padding-top:0}
 body[data-mode=explore] .photo-track{margin-top:6px;margin-bottom:8px}
 body[data-mode=explore] .review-stack{margin-top:4px}
}



.maker-signature{position:fixed;left:max(22px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:9;display:flex;align-items:center;min-height:48px;padding:3px 5px;opacity:.72;transition:opacity .18s}
.maker-signature img{display:block;width:100px;height:auto}
.maker-signature:hover,.maker-signature:focus-visible{opacity:1}

@media(max-width:650px){.maker-signature{left:max(14px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom))}.maker-signature img{width:88px}}

/* The ways onward arrive last, after the place has introduced itself. */
.tour-controls.is-present{opacity:1;animation:ink-arrive .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes ink-arrive{0%{opacity:0;translate:0 10px}100%{opacity:1;translate:0 0}}
body[data-mode=explore] .app-nav{opacity:0;animation:ink-arrive .6s .1s cubic-bezier(.2,.8,.2,1) forwards}
/* "previous place" mirrors "next place" on the left shoulder of the globe. */
.tour-back .next-place:hover .next-place-arrow{translate:-2px 3px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.tour-back .next-place:hover .next-place-drawing{rotate:-3deg;translate:-2px 0}}
/* Compact layouts (phones, tablets, short windows): both drawings become text buttons in the bottom corners, the back one beside the maker signature. */
@media(min-width:651px) and (max-width:1050px),(min-width:651px) and (max-height:850px){
 .tour-back .next-place:after{content:"\2190\00a0" attr(aria-label)}
 .tour-back,.tour-back.on-globe-rim{left:142px!important;right:auto}
}
/* Desktop: the stop is one screen. Nothing scrolls; the prints give way to the review instead. */
@media(min-width:651px){
 body[data-mode=explore]{height:100svh;overflow:hidden}
 body[data-mode=explore] #stage{height:100svh;min-height:0;overflow:hidden}
}
/* Large screens: let the prints and the paper breathe a little more. */
@media(min-width:1800px) and (min-height:900px){
 .popup-world{max-width:1500px}
 .photo-gallery{--gallery-height:clamp(360px,50svh,680px)}
 .place-heading h2{font-size:clamp(40px,2.6vw,52px)}
}

/* Social card capture (?card=1): wordmark and tagline clear of the globe, no buttons. */
.card-mode .app-nav,.card-mode .more-menu,.card-mode .start-area,.card-mode .landing-credit-arrow{display:none!important}.card-mode .welcome{top:2svh}.card-mode .welcome h1{width:520px}.card-mode .welcome-deck{margin-top:8px;font-size:30px}.card-mode .maker-signature{opacity:1;left:34px;bottom:26px}.card-mode .maker-signature img{width:150px}

/* Review arrows are small cardstock tabs cut from the same paper as the review cards. */
.review-arrow{color:var(--ink);isolation:isolate;border-radius:0;transform:rotate(-2.5deg);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
#review-next{transform:rotate(2deg)}
.review-arrow:before{content:'';position:absolute;inset:0;background:url(assets/review-paper.svg) 0 0/100% 100% no-repeat;filter:drop-shadow(1px 2px 0 #c9c0ad) drop-shadow(1px 3px 2px #27301c12);z-index:-1;pointer-events:none;transition:filter .2s}
.review-arrow svg{width:26px;stroke-width:2;opacity:.85}
.review-arrow:hover:not(:disabled){transform:rotate(-2.5deg) translateY(-2px)}#review-next:hover:not(:disabled){transform:rotate(2deg) translateY(-2px)}
.review-arrow:hover:not(:disabled):before{filter:drop-shadow(1px 3px 0 #c9c0ad) drop-shadow(1px 6px 4px #27301c25)}
.review-arrow:hover:not(:disabled) svg{transform:translateX(2px);opacity:1}#review-prev:hover:not(:disabled) svg{transform:translateX(-2px)}
.review-arrow:active:not(:disabled){transform:rotate(-2.5deg) translateY(1px)}#review-next:active:not(:disabled){transform:rotate(2deg) translateY(1px)}
.review-arrow:active:not(:disabled):before{filter:drop-shadow(1px 1px 0 #c9c0ad) drop-shadow(1px 2px 1px #27301c12)}
.review-arrow:disabled{opacity:.45;cursor:default}
.review-arrow:focus-visible{outline:2px solid #ce5136;outline-offset:3px}
.reviews.is-dragging{user-select:none;cursor:grabbing}
.reviews.is-dragging .review-card.is-present{animation:none;transform:translateX(var(--drag-x,0px)) rotate(var(--drag-turn,0deg))}
@keyframes review-nudge{0%,100%{transform:translateX(0) rotate(0)}28%{transform:translateX(-22px) rotate(-2.2deg)}56%{transform:translateX(16px) rotate(1.5deg)}78%{transform:translateX(-7px) rotate(-.6deg)}}
