/* A scroll-led entrance around the app's interactive region picker. */
.anywhere-section{position:relative;height:130svh;min-height:calc(620px + 30svh);background:#fff7ef}
.anywhere-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 52%,#ffd5b34d,transparent 64%)}



.anywhere-world{position:absolute;width:min(83svh,1000px,102vw);aspect-ratio:1;left:50%;top:44%;transform:translate(-50%,-50%);will-change:transform}
/* Reserve gestures that start on the globe for rotation; surrounding page stays scrollable. */
.anywhere-globe{display:block;width:100%;height:100%;border-radius:50%;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline-offset:-12px}
.anywhere-globe:active{cursor:grabbing}.anywhere-globe:focus-visible{outline:2px solid var(--orange)}
.anywhere-portraits,.anywhere-portraits svg,.anywhere-cards{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.anywhere-portraits[hidden]{display:none}
.anywhere-portraits svg{overflow:visible}.anywhere-portraits path{fill:none;stroke:var(--region-color);stroke-width:1.2;stroke-linecap:round;filter:drop-shadow(0 0 1px white)}
.anywhere-portraits circle{fill:white;stroke:var(--region-color);stroke-width:2}
.anywhere-card{position:absolute;pointer-events:auto;padding:0;overflow:hidden;border:1px solid #ffffffe0;border-radius:15px;background:#ffead9;box-shadow:0 14px 25px #35201530,0 2px 5px #35201518;transform:translate(-50%,-50%) rotate(var(--tilt));animation:portrait-appear .5s cubic-bezier(.2,.72,.18,1) both;animation-delay:var(--delay);cursor:pointer}
.anywhere-card>img:first-child{width:100%;height:100%;object-fit:cover;display:block}.anywhere-card::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#fff7ed66);pointer-events:none}
.anywhere-card .anywhere-flag{position:absolute;z-index:1;width:26px;height:26px;bottom:6px;left:50%;transform:translateX(-50%);object-fit:cover;border:2px solid white;border-radius:50%}
.anywhere-card[aria-pressed=true]{border:2px solid #ff7518;box-shadow:0 0 0 2px white,0 10px 30px #ff75184d}
.anywhere-copy{position:absolute;bottom:34px;width:100%;text-align:center;padding:0 20px;z-index:2;pointer-events:none}
.anywhere-picker{display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:auto;width:fit-content;margin:0 auto 20px}
.region-step{height:36px;width:36px;border:1px solid #e5d2c1;border-radius:50%;background:#fff9f3d9;color:#714626;cursor:pointer}
.region-select-label{position:relative}#anywhere-region{font:inherit;font-size:12px;max-width:260px;padding:10px 28px 10px 14px;color:#67432a;border:1px solid #e5d2c1;border-radius:30px;background:#fff9f3ed;cursor:pointer}

.anywhere-copy h2{font-family:"Fraunces",Georgia,serif;font-size:clamp(54px,6.5vw,96px);letter-spacing:-.055em;line-height:.98;color:#ff6812;margin:0}
.anywhere-copy h2 em{position:relative;display:inline-block;font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;letter-spacing:-.045em;color:#fff7ed;padding:0 .32em .09em .22em;isolation:isolate}
.anywhere-copy h2 em::before{content:"";position:absolute;inset:4% -1% -2%;background:#ff6812;border-radius:50%;z-index:-1;transform:rotate(-3deg)}
.anywhere-description{font-size:15px;line-height:1.5;color:#7c5e48;margin:18px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@keyframes portrait-appear{from{opacity:0;transform:translate(-50%,calc(-50% + 20px)) rotate(var(--tilt)) scale(.65)}}
@media(max-width:680px){.anywhere-section{min-height:calc(580px + 30svh)}.anywhere-stage{min-height:580px}.anywhere-world{width:min(115vw,65svh);top:43%}.anywhere-copy{bottom:34px}.anywhere-copy h2{font-size:clamp(48px,12vw,78px)}.anywhere-description{font-size:13px;margin-top:14px}.anywhere-card{border-radius:12px}.anywhere-card .anywhere-flag{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.anywhere-section{height:100svh;min-height:620px}.anywhere-stage{position:relative}.anywhere-world{will-change:auto}.anywhere-card{animation:none}}
@media(max-height:700px) and (min-width:681px){.anywhere-world{width:75svh;top:43%}.anywhere-copy{bottom:20px}.anywhere-copy h2{font-size:58px}.anywhere-description{margin-top:10px}}

@media(prefers-reduced-motion:reduce){.anywhere-section{height:auto;min-height:100svh}}
/* One shared control panel, grounded beneath the globe. */
.anywhere-controls{display:flex;align-items:center;justify-content:center;gap:14px;width:fit-content;max-width:100%;margin:0 auto 22px;padding:7px 10px 7px 7px;border:1px solid #dfc9b699;border-radius:32px;background:#fff9f3e8;pointer-events:auto}
.anywhere-gender{display:flex;flex:0 0 auto;gap:2px;border:0;border-right:1px solid #dfc9b6aa;padding:0 13px 0 0;margin:0}
.anywhere-gender label{position:relative;cursor:pointer}.anywhere-gender input{position:absolute;width:1px;height:1px;opacity:0}
.anywhere-gender span{display:block;padding:12px 16px;border-radius:24px;color:#846148;font-size:12px;font-weight:600;transition:background .18s,color .18s}
.anywhere-gender input:checked+span{background:#f97519;color:#fffaf5;box-shadow:inset 0 1px 0 #ffffff40}
.anywhere-gender input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}
.anywhere-controls .anywhere-picker{margin:0;gap:4px;min-width:0}
.anywhere-controls .region-step{border:0;background:transparent;width:36px;min-height:40px;flex-shrink:0}
.anywhere-controls #anywhere-region{border:0;background:transparent;padding-left:4px;max-width:240px;min-height:40px}
@media(max-width:680px){.anywhere-controls{flex-direction:column;gap:2px;padding:5px 8px 6px;border-radius:25px;margin-bottom:20px}.anywhere-gender{justify-content:center;width:100%;padding:0 0 5px;border-right:0;border-bottom:1px solid #dfc9b666}.anywhere-gender label{flex:1}.anywhere-gender span{padding:10px 16px}.anywhere-controls .anywhere-picker{width:100%;justify-content:space-between}.anywhere-controls #anywhere-region{width:100%;max-width:240px;font-size:11px}.anywhere-controls .region-select-label{min-width:0;flex:1}.anywhere-controls{width:min(350px,100%)}}
