:root{--navy:#010b3c;--champagne:#c7a966;--champagne-text:#80652f;--champagne-gradient:linear-gradient(110deg,#b99a5a 0%,#d1b979 18%,#ead9a6 38%,#fff4cf 50%,#e5cf94 63%,#c7a966 82%,#aa8949 100%);--champagne-hover:linear-gradient(110deg,#c8a96a 0%,#ddc68a 20%,#f0dfae 40%,#fff8dc 50%,#ead69d 65%,#d0b474 82%,#b79652 100%);--ink:#07123e}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f7fafc;color:var(--ink)}body{font-family:Arial,Helvetica,sans-serif}button{font:inherit}.map-shell{min-height:100vh;overflow:hidden;padding:clamp(22px,4vw,54px);background:radial-gradient(circle at 62% 38%,#fff 0,#f5f9fc 48%,#eaf1f6 100%)}.map-header{position:relative;z-index:4;max-width:1280px;margin:auto;display:flex;align-items:end;justify-content:space-between;gap:30px}.eyebrow{margin:0 0 10px;color:#68758a;font-size:.76rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}h1{margin:0;color:var(--navy);font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:1}.summary{display:grid;grid-template-columns:auto auto 1px auto auto;align-items:baseline;gap:8px;color:#68758a;white-space:nowrap}.summary strong{color:var(--navy);font-family:"Playfair Display",Georgia,serif;font-size:1.65rem;font-weight:400}.summary span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.summary i{align-self:center;width:1px;height:30px;margin:0 12px;background:#becbd5}.globe-stage{position:relative;max-width:1280px;min-height:clamp(570px,74vh,820px);margin:auto}.globe-wrap{position:absolute;width:min(72vw,760px);aspect-ratio:1;left:52%;top:47%;transform:translate(-50%,-50%);border-radius:50%;cursor:grab;touch-action:none;filter:drop-shadow(0 35px 35px rgba(1,11,60,.18))}.globe-wrap:active{cursor:grabbing}canvas,.markers,.globe-shine{position:absolute;inset:0;width:100%;height:100%;border-radius:50%}.markers{z-index:2;pointer-events:none}.marker{position:absolute;z-index:2;width:clamp(25px,3.5vw,34px);height:clamp(25px,3.5vw,34px);padding:0;border:2px solid #fff;border-radius:50%;background:var(--champagne-gradient);color:#13204a;box-shadow:0 5px 14px rgba(185,154,90,.38);font-size:.79rem;font-weight:700;cursor:pointer;pointer-events:auto;transition:opacity .16s,box-shadow .2s,background .2s}.marker:hover,.marker:focus-visible,.marker.active{outline:none;background:var(--champagne-hover);box-shadow:0 0 0 6px rgba(185,154,90,.28),0 7px 16px rgba(1,11,60,.28)}.globe-shine{z-index:3;pointer-events:none;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.25),transparent 29%),linear-gradient(105deg,rgba(255,255,255,.08),transparent 43%,rgba(1,11,60,.17));box-shadow:inset -28px -12px 50px rgba(1,11,60,.24),inset 12px 8px 22px rgba(255,255,255,.22)}.place-card{position:absolute;z-index:4;right:0;top:33%;width:250px;min-height:205px;padding:28px;background:rgba(255,255,255,.93);border:1px solid rgba(1,11,60,.1);box-shadow:0 24px 55px rgba(1,11,60,.13);backdrop-filter:blur(12px)}.place-card:before{content:"";position:absolute;width:3px;inset:0 auto 0 0;background:var(--champagne-gradient)}.place-kicker{color:var(--champagne-text);font-size:.69rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.place-card h2{margin:10px 0 3px;color:var(--navy);font-family:"Playfair Display",Georgia,serif;font-size:1.65rem;font-weight:400}.place-card p{margin:0;color:#68758a;font-size:.88rem}.people-count{display:flex;align-items:baseline;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid #dbe3ea}.people-count strong{color:var(--navy);font-family:"Playfair Display",Georgia,serif;font-size:2rem;font-weight:400}.people-count span{color:#68758a;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.hint{position:absolute;z-index:4;left:0;bottom:3%;margin:0;color:#647288;font-size:.82rem}.hint span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border:1px solid #b7c5d0;border-radius:50%;color:var(--navy)}@media(max-width:820px){.map-shell{padding:24px 18px 20px}.map-header{align-items:start}.summary{display:none}.globe-stage{min-height:720px}.globe-wrap{width:min(96vw,590px);left:50%;top:39%}.place-card{top:auto;right:50%;bottom:42px;transform:translateX(50%);width:min(92vw,360px);min-height:150px;padding:21px 24px}.people-count{position:absolute;right:24px;bottom:23px;margin:0;padding:0;border:0}.hint{width:100%;bottom:0;text-align:center;font-size:.74rem}}@media(max-width:480px){.globe-stage{min-height:650px}.globe-wrap{top:35%}.place-card{bottom:45px}}@media(prefers-reduced-motion:reduce){.marker{transition:none}}
