/* Two quiet discoveries: a moon in orbit and a ship beside the map compass. */
.satellite-moon-dock{position:relative;display:flex;align-items:center;flex:none}
.after-dark-moon{position:absolute;right:calc(100% + 12px);top:16px;width:44px;height:44px;padding:8px;border:0;background:none;cursor:pointer;opacity:.72;transition:opacity .25s,filter .25s,transform .25s}
.after-dark-moon svg{width:100%;height:100%;display:block}.after-dark-moon:hover{opacity:1;filter:drop-shadow(0 0 7px #cfdaff60);transform:rotate(-8deg)}
.after-dark-moon:focus-visible,.where-next-ship:focus-visible{outline:2px solid #d2bd84;outline-offset:4px;border-radius:8px}
.space-chapter>.daily-sun{gap:27px;min-height:188px}
.daily-sun-label{font-weight:800;font-size:12px;letter-spacing:.06em;text-shadow:0 0 8px #ffdb8599,0 0 18px #efb75766;color:#ffe4a5;white-space:nowrap}
.daily-light-cross{display:inline-block;font:700 17.1px/.7 Georgia,serif;vertical-align:-2px;margin-left:-.5px}
.gps-compass-dock{max-width:64%}
.gps-compass-dock .where-next-ship{display:flex;flex-direction:column;align-items:center;justify-content:center;width:85px;height:80px;flex:0 0 85px;border:0;border-radius:0;background:none;padding:0;box-shadow:none;color:#234859}
.gps-compass-dock .where-next-ship svg{width:64px;height:50px;transition:transform .3s}.where-next-ship:hover svg{transform:translateY(-4px) rotate(-4deg)}
.where-next-ship span{font:700 10px/1.3 'DM Sans',sans-serif;white-space:nowrap}
.orbit-secret-dialog{box-sizing:border-box;width:min(820px,calc(100vw - 28px));max-height:90dvh;padding:45px clamp(20px,5vw,56px) 30px;border:1px solid #716d8b77;border-radius:18px;color:#ede7f4;background:radial-gradient(ellipse at 85% 5%,#63507c40,transparent 48%),radial-gradient(ellipse at bottom left,#29494c33,transparent 55%),#0c101b;box-shadow:0 30px 100px #000c;overflow:auto;color-scheme:dark}
.orbit-secret-dialog::backdrop{background:#030610dd;backdrop-filter:blur(9px)}
.orbit-secret-dialog[open]{animation:underworld-open .55s ease-out}
.orbit-close{position:absolute;right:12px;top:10px;width:44px;height:44px;background:none;border:0;color:#d8cee7;font:28px/1 sans-serif;cursor:pointer}
.secret-coordinate{font:10px/1.6 'DM Sans',sans-serif;letter-spacing:.17em;color:#b8a4c7}
.underworld-header{text-align:center}.underworld-moon{font:64px/1 Georgia,serif;color:#eee3ca;margin:12px 0;text-shadow:0 0 35px #d8d1ed44}
.orbit-secret-dialog h2{font:normal clamp(38px,7vw,65px)/1.04 Georgia,serif;margin:20px 0}.underworld-header h2 em{display:block;color:#d0b2d2;font-weight:normal}
.orbit-secret-dialog p{font:14px/1.75 'DM Sans',sans-serif;color:#bdb9cb}
.secret-unlocked{display:inline-block;padding:9px 14px;border:1px solid #ae92b440;border-radius:30px;font:9px/1.4 'DM Sans',sans-serif;letter-spacing:.12em;color:#d3becb;margin:12px 0 24px}
.after-dark-tabs{display:flex;gap:8px;border-bottom:1px solid #ad94bd30;padding-bottom:16px;margin-top:15px}.after-dark-tabs button{flex:1;min-height:45px;background:#ffffff04;border:1px solid #ac97b72b;border-radius:7px;padding:10px;color:#b7aabd;font:600 12px/1.4 'DM Sans',sans-serif;cursor:pointer}.after-dark-tabs button[aria-pressed=true]{color:#f6e4ff;border-color:#be93c980;background:#9c68b122;box-shadow:inset 0 -2px #c49ace}
.after-dark-room{padding:27px 0 15px}.night-room-number{font:9px/1.5 monospace;letter-spacing:.1em;color:#a699bd}.after-dark-room h3{font:normal clamp(25px,4vw,34px)/1.2 Georgia,serif;margin:13px 0}
.night-city-label{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font:12px/1.5 'DM Sans',sans-serif;color:#bfb3ca;margin:24px 0}.night-city{background:#1e1d30;border:1px solid #84718d66;padding:10px 14px;color:#f5e6ff;border-radius:6px;font:13px 'DM Sans',sans-serif;max-width:100%}
.night-empty{position:relative;margin-top:24px;border:1px solid #9b83ac2b;padding:25px 25px 25px 78px;background:linear-gradient(135deg,#9382a412,#15212955);border-radius:10px}.night-empty>span{position:absolute;left:25px;top:25px;color:#bd9dc6;font:30px Georgia,serif}.night-empty strong{font:600 14px/1.5 'DM Sans',sans-serif}.night-empty p{font-size:13px;margin-bottom:0}.underworld-footer{border-top:1px solid #ad94bd25;padding-top:19px;color:#9b91a6;text-align:center;font:italic 13px/1.6 Georgia,serif}
#where-next{width:min(610px,calc(100vw - 28px));background:radial-gradient(ellipse at top right,#315b694d,transparent 65%),#101d28}#where-next h2{font-size:44px}.destination-form{display:grid;gap:17px;margin:24px 0}.destination-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.destination-form label{display:grid;gap:8px;font:600 12px/1.5 'DM Sans',sans-serif}.destination-form input,.destination-form textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #829ea466;border-radius:6px;background:#ffffff08;color:#f1ebdc;font:16px/1.5 'DM Sans',sans-serif}.destination-form textarea{resize:vertical}.destination-form small{font:11px/1.5 'DM Sans',sans-serif;color:#a7b8bf}.destination-form button{padding:13px 18px;background:#d8c18b;border:0;border-radius:6px;color:#192b37;font:700 13px 'DM Sans',sans-serif;cursor:pointer}.destination-form button:disabled{opacity:.6;cursor:wait}.destination-form .destination-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.destination-list{display:grid;gap:10px;font:13px/1.6 'DM Sans',sans-serif}.destination-list article{padding:16px 18px;border:1px solid #86a3af30;border-left:2px solid #c5b180;border-radius:6px;overflow-wrap:anywhere}.destination-list p{margin:6px 0 0;font-size:12px}.destination-refresh{margin-top:18px;padding:10px 0;border:0;background:none;color:#b8ccd2;font:12px 'DM Sans',sans-serif;cursor:pointer}.orbit-secret-dialog :focus-visible{outline:2px solid #e4c898;outline-offset:3px}
@keyframes underworld-open{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.after-dark-moon{right:calc(100% + 2px);width:40px;height:44px;padding:10px}.space-chapter>.daily-sun{gap:25px;min-height:166px}.daily-sun-label{font-size:11px}.gps-compass-dock{max-width:100%;flex-wrap:wrap}.gps-compass-dock p{flex:1 1 130px}.gps-compass-dock .where-next-ship{width:70px;flex-basis:70px}.after-dark-tabs{gap:5px}.after-dark-tabs button{font-size:11px;padding:9px 6px}.destination-fields{grid-template-columns:1fr}.night-empty{padding:20px 18px 20px 57px}.night-empty>span{left:17px;top:20px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.orbit-secret-dialog[open]{animation:none}.after-dark-moon,.gps-compass-dock .where-next-ship svg{transition:none}}
.satellite-moon-dock{margin-left:clamp(12px,8vw,110px)}.satellite-moon-dock .satellite{margin-left:0}
.night-vibe-filters{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.night-vibe-filters button{padding:8px 12px;border:1px solid #9d7ea144;border-radius:30px;background:none;color:#bba9c5;font:11px/1.4 'DM Sans',sans-serif;cursor:pointer}.night-vibe-filters button[aria-pressed=true]{background:#b887b124;color:#f2d3ee;border-color:#b887b199}
.night-venues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.night-venue{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:190px;padding:25px 20px;border:1px solid #b391b733;border-radius:10px;background:radial-gradient(ellipse at top right,#8e416a26,transparent 75%),#141322;text-decoration:none;color:#f4e9f4;overflow:hidden;transition:transform .2s,border-color .2s}.night-venue:nth-child(3n+2){background:radial-gradient(ellipse at top right,#47738e26,transparent 75%),#141322}.night-venue:hover{transform:translateY(-3px);border-color:#c4a0c777}.night-venue-symbol{position:absolute;right:12px;bottom:12px;font:70px/1 Georgia,serif;opacity:.08;pointer-events:none}.night-venue small{font:10px/1.5 'DM Sans',sans-serif;color:#b7a0bd}.night-venue h4{font:normal 26px/1.13 Georgia,serif;margin:12px 0 17px}.night-venue-tag{font:8px/1.4 'DM Sans',sans-serif;letter-spacing:.1em;color:#d5aac4}.night-venue-link{display:block;margin-top:auto;padding-top:23px;font:600 11px 'DM Sans',sans-serif;color:#d7c5a5}.night-venues>.night-empty{grid-column:1/-1}.night-program-note{font-size:11px!important}
@media(max-width:700px){.satellite-moon-dock{margin-left:32px}.space-chapter .globe-gps-footer{gap:30px}.night-venue{padding:20px 16px}.night-venue h4{font-size:23px}}@media(max-width:420px){.night-venues{grid-template-columns:1fr}.night-venue{min-height:160px}}
@media(prefers-reduced-motion:reduce){.night-venue{transition:none}}
/* A storybook crescent: 3.5 times the previous visible moon size. */
.after-dark-moon{top:30px;width:114px;height:114px;padding:8px;opacity:.95;filter:drop-shadow(0 0 9px #edc56130)}
.after-dark-moon:hover{filter:drop-shadow(0 0 14px #f6d97866);transform:rotate(-5deg)}
@media(max-width:700px){.after-dark-moon{top:30px;right:calc(100% - 28px);width:90px;height:90px;padding:10px}.satellite-moon-dock{margin-left:62px}.space-chapter .globe-gps-footer{padding-bottom:65px;gap:20px}}
/* Matching warm celestial light, with the moon tucked into the globe chapter corner. */
.space-chapter>.discover-section{position:relative;padding-bottom:136px}
.discover-section>.after-dark-moon{left:26px;right:auto;top:auto;bottom:18px;z-index:4;width:114px;height:114px;padding:8px;opacity:1;filter:drop-shadow(0 0 12px #f8d78080) drop-shadow(0 0 26px #edba5045);animation:moonlight-glow 6s ease-in-out infinite}
.discover-section>.after-dark-moon:hover{transform:rotate(-5deg) scale(1.04)}
.space-chapter .daily-sun-orb{box-shadow:0 0 24px #ffe7a4bb,0 0 60px #f2c46677,0 0 105px #e7a84738}
.space-chapter .daily-sun:hover .daily-sun-orb{box-shadow:0 0 30px #ffe7a4dd,0 0 72px #f2c46699,0 0 115px #e7a84744}
.daily-sun-label{color:#fff0bf;text-shadow:0 0 5px #ffefb9,0 0 15px #ffd06cbb,0 0 28px #ecb05077}
@keyframes daily-solar-glow{0%,100%{filter:drop-shadow(0 0 8px #f8cc6870)}50%{filter:drop-shadow(0 0 17px #f8cc6899)}}
@keyframes moonlight-glow{0%,100%{filter:drop-shadow(0 0 12px #f8d78080) drop-shadow(0 0 26px #edba5045)}50%{filter:drop-shadow(0 0 17px #ffe5a1a0) drop-shadow(0 0 36px #edba5060)}}
.night-area-heading{grid-column:1/-1;font:600 12px/1.5 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#d7bbd9;margin:15px 0 0;padding-bottom:10px;border-bottom:1px solid #b391b733}
@media(max-width:700px){.space-chapter>.discover-section{padding-bottom:112px}.discover-section>.after-dark-moon{left:12px;right:auto;top:auto;bottom:12px;width:90px;height:90px;padding:10px}.space-chapter .globe-gps-footer{padding-bottom:38px;gap:30px}}
@media(prefers-reduced-motion:reduce){.discover-section>.after-dark-moon{animation:none}}
/* Painted crescent below-left of the satellite, above the footprint browser. */
.space-chapter>.discover-section{padding-bottom:30px}
.space-chapter .globe-gps-footer{position:relative;align-items:flex-start;padding-bottom:148px}
.globe-gps-footer>.after-dark-moon{position:absolute;left:18px;right:auto;top:112px;bottom:auto;width:114px;height:114px;padding:8px;z-index:4;opacity:1;filter:drop-shadow(0 0 12px #f8d78080) drop-shadow(0 0 26px #edba5045);animation:moonlight-glow 6s ease-in-out infinite}
.globe-gps-footer>.after-dark-moon:hover{transform:rotate(-4deg) scale(1.03)}
@media(max-width:700px){.space-chapter>.discover-section{padding-bottom:16px}.space-chapter .globe-gps-footer{padding-bottom:128px}.globe-gps-footer>.after-dark-moon{left:8px;right:auto;top:108px;bottom:auto;width:90px;height:90px;padding:10px}}
@media(prefers-reduced-motion:reduce){.globe-gps-footer>.after-dark-moon{animation:none}}
/* The floating astronaut speaks on activation; the GPS remains its own control. */
.gps-with-guide{position:relative;min-width:0;max-width:100%;flex:0 1 242px}
.gps-with-guide .location-gps{width:100%;box-sizing:border-box}
@media(max-width:700px){.gps-with-guide{zoom:.75}}
button.gps-guide{pointer-events:auto;cursor:pointer;background:none;border:0;padding:0;min-width:44px;min-height:44px;justify-content:center}
.gps-guide>[data-guide-label][hidden]{display:none}
button.gps-guide:focus-visible{outline:2px solid #f4d995;outline-offset:5px;border-radius:8px}
.night-adventure h4{font-size:24px;margin-bottom:9px}.night-adventure .adventure-hook{font:italic 15px/1.5 Georgia,serif;color:#e5c8de;margin:0 0 14px}.night-adventure .adventure-detail{font:12px/1.7 'DM Sans',sans-serif;color:#c0baca;margin:0}.night-adventure .night-venue-symbol{opacity:.05}
/* The orbiting rocket joins the phones after impact, on the same reveal timeline. */
@media(prefers-reduced-motion:no-preference){
 .watch-section:has(.socials-showcase.reveal-armed)>.space-plane{opacity:0;visibility:hidden}
 .watch-section:has(.socials-showcase.reveal-exploding)>.space-plane{visibility:visible;animation:epic-phones-visible 4.2s linear both}
}
/* Give the learning conversation more room below the heading and toward the right. */
.learn-intro .garnish-conversation{margin-top:120px;margin-left:min(192px,max(0px,calc(100% - 230px)))}
@media(max-width:700px){.learn-intro .garnish-conversation{margin-top:116px;margin-left:min(192px,max(0px,calc(100% - 205px)))}}
/* A little breathing room for the learning section. */
.learn-intro #learn-title{padding-top:16px}
@media(max-width:700px){.learn-intro #learn-title{padding-top:12px}}
/* Nudge the moon half an inch left and down without changing its glow or hover. */
.globe-gps-footer>.after-dark-moon{left:-30px;top:160px}
.space-chapter .globe-gps-footer{padding-bottom:196px}
@media(max-width:700px){.globe-gps-footer>.after-dark-moon{left:-40px;top:156px}.space-chapter .globe-gps-footer{padding-bottom:176px}}

/* Three home flags share a softly curved travel string above the hosts. */
.learning-flag-string{position:relative;width:min(340px,100%);height:110px;margin:26px 0 0}
.flag-string-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.learning-flag-string img{position:absolute;top:29px;width:23%;height:auto;aspect-ratio:1.58;object-fit:fill;box-shadow:0 3px 5px #25454918;border-radius:1px;transform-origin:50% 0}
.learning-flag-string img:nth-of-type(1){left:8%;transform:rotate(10deg)}
.learning-flag-string img:nth-of-type(2){left:38.5%;top:43px;transform:rotate(-2deg)}
.learning-flag-string img:nth-of-type(3){right:8%;transform:rotate(-10deg)}
.learn-intro .garnish-conversation{margin-top:30px}
@media(max-width:700px){.learning-flag-string{width:min(300px,100%);height:100px}.learning-flag-string img:nth-of-type(2){top:39px}.learn-intro .garnish-conversation{margin-top:28px}}
/* Lift the moon one inch while retaining its horizontal placement. */
.globe-gps-footer>.after-dark-moon{top:64px}
.space-chapter .globe-gps-footer{padding-bottom:100px}
@media(max-width:700px){.globe-gps-footer>.after-dark-moon{top:60px}.space-chapter .globe-gps-footer{padding-bottom:80px}}
/* A destination invitation on the passport's What are we looking for? page. */
.passport-ufo-dock{display:flex;justify-content:center;margin:22px 0 18px}
.passport-ufo-dock .where-next-ship{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 20px;background:none;border:0;color:#284b56;cursor:pointer;min-height:90px}
.passport-ufo-dock .where-next-ship svg{display:block;width:88px;height:69px;transition:transform .3s}
.passport-ufo-dock .where-next-ship span{font:700 15px/1.4 'DM Sans',sans-serif}
@media(prefers-reduced-motion:reduce){.passport-ufo-dock .where-next-ship svg{transition:none}}
/* A couple of familiar table-side details beneath the flags. */
.learning-flag-string{height:188px}
.learning-flag-string .flag-string-line{height:110px}
.learning-keepsakes{position:absolute;left:20px;bottom:0;width:180px;height:78px;pointer-events:none}
.learning-keepsakes svg{display:block;width:100%;height:100%}
@media(max-width:700px){.learning-flag-string{height:172px}.learning-flag-string .flag-string-line{height:100px}.learning-keepsakes{left:12px;width:164px;height:71px}}
/* Culture, passed back and forth: one small keepsake per throw. */
.learn-intro .garnish-conversation{width:min(360px,100%);height:auto;aspect-ratio:340/180;margin:28px 0 0;color:#284447}
.learning-flag-string{height:110px}
.culture-flight{opacity:0;animation:culture-catch 24s ease-in-out infinite both;animation-delay:var(--catch-delay)}
.culture-flight.culture-return{animation-name:culture-catch-back}
@keyframes culture-catch{0%{opacity:0;transform:translate(0,0)}1%{opacity:1;transform:translate(0,0)}6.5%{opacity:1;transform:translate(86px,-76px)}12%{opacity:1;transform:translate(172px,4px)}14%,100%{opacity:0;transform:translate(172px,4px)}}
@keyframes culture-catch-back{0%{opacity:0;transform:translate(172px,4px)}1%{opacity:1;transform:translate(172px,4px)}6.5%{opacity:1;transform:translate(86px,-76px)}12%{opacity:1;transform:translate(0,0)}14%,100%{opacity:0;transform:translate(0,0)}}
@media(max-width:700px){.learning-flag-string{height:100px}.learn-intro .garnish-conversation{width:min(340px,100%);height:auto;margin:24px 0 0}}
@media(prefers-reduced-motion:reduce){.culture-flight{animation:none;opacity:0}.culture-flight.culture-baseball{opacity:1;transform:translate(86px,-65px)}}

.learning-catch-arm{animation:learning-toss 8s ease-in-out infinite;transform-box:view-box}
.catch-arm-left{transform-origin:54px 84px}
.catch-arm-right{transform-origin:161px 84px;animation-name:learning-toss-right;animation-delay:4s}
@keyframes learning-toss{0%,15%,100%{transform:rotate(0deg)}5%{transform:rotate(-17deg)}40%{transform:rotate(-8deg)}48%{transform:rotate(0deg)}}
@keyframes learning-toss-right{0%,15%,100%{transform:rotate(0deg)}5%{transform:rotate(17deg)}40%{transform:rotate(8deg)}48%{transform:rotate(0deg)}}
@media(prefers-reduced-motion:reduce){.learning-catch-arm{animation:none}}
/* A closer, gentler game of catch, with conversation outside the flight path. */
.learn-intro .garnish-conversation{width:min(430px,100%);aspect-ratio:430/180;margin-left:0}
.culture-flight{animation-duration:50.4s}
@keyframes culture-catch{0.0000%{opacity:0;transform:translate(0,0)}0.3857%{opacity:1;transform:translate(0,0)}3.2143%{opacity:1;transform:translate(76px,var(--culture-arc-y,-30px))}5.7857%{opacity:1;transform:translate(152px,4px)}6.4286%,100%{opacity:0;transform:translate(152px,4px)}}
@keyframes culture-catch-back{0.0000%{opacity:0;transform:translate(152px,4px)}0.3857%{opacity:1;transform:translate(152px,4px)}3.2143%{opacity:1;transform:translate(76px,var(--culture-arc-y,-30px))}5.7857%{opacity:1;transform:translate(0,0)}6.4286%,100%{opacity:0;transform:translate(0,0)}}
.learning-catch-arm{animation-duration:7.2s}.catch-arm-right{animation-delay:3.6s}
.culture-chat{opacity:0;pointer-events:none;animation:culture-chat-left 50.4s ease-in-out infinite both;animation-delay:var(--catch-delay)}
.culture-chat.chat-right{animation-name:culture-chat-right}
@keyframes culture-chat-left{0.0000%,0.1929%,3.5357%,100%{opacity:0}0.7714%,2.8929%{opacity:1}}
@keyframes culture-chat-right{0.0000%,3.0857%,6.7500%,100%{opacity:0}3.7286%,6.0429%{opacity:1}}
@media(max-width:700px){.learn-intro .garnish-conversation{width:100%;height:auto;aspect-ratio:430/180}}
@media(prefers-reduced-motion:reduce){.culture-chat{animation:none;opacity:0}.culture-chat[style="--catch-delay:0s"]{opacity:1}.culture-flight.culture-baseball{transform:translate(76px,var(--culture-arc-y,-30px))}}
/* Keep the original image positioning; links do not introduce layout boxes. */
.learning-country-flag{display:contents}
.learning-flag-string .learning-country-flag img{position:absolute;top:29px;left:8%;right:auto;width:23%;height:auto;transform:rotate(10deg)}
.learning-flag-string .learning-country-flag:nth-of-type(2) img{left:38.5%;top:43px;transform:rotate(-2deg)}
.learning-flag-string .learning-country-flag:nth-of-type(3) img{left:auto;right:8%;transform:rotate(-10deg)}
.learning-country-flag:hover img{filter:brightness(1.08)}
.learning-country-flag:focus-visible img{outline:2px solid #284b56;outline-offset:4px}
@media(max-width:700px){.learning-flag-string .learning-country-flag:nth-of-type(2) img{top:39px}}

.discovery-title .discovery-lost{display:inline-block;color:#d7353d;transform-origin:50% 50%}
/* The free astronaut drifts toward the GPS, then eases back into space. */
.gps-with-guide>.gps-guide{animation:gps-inviting-drift 6s ease-in-out infinite}
@keyframes gps-inviting-drift{
  0%,100%{transform:translate(-22px,-7px) rotate(-5deg)}
  48%,56%{transform:translate(0,1px) rotate(3deg)}
}
@media(max-width:700px){
  @keyframes gps-inviting-drift{
    0%,100%{transform:translate(-14px,-6px) rotate(-5deg)}
    48%,56%{transform:translate(0,1px) rotate(3deg)}
  }
}
@media(prefers-reduced-motion:reduce){.gps-with-guide>.gps-guide{animation:none;transform:none}}

/* A three-second descent into shadow, followed by the room's warm lights. */
#lost-after-dark.after-dark-entering{animation:night-room-arrival 3s ease both}
#lost-after-dark.after-dark-entering::after{content:'';position:fixed;inset:0;z-index:8;pointer-events:none;background:radial-gradient(ellipse at 50% 15%,#110e1b 0%,#020207 65%);animation:night-shadow-curtain 3s ease both}
#lost-after-dark.after-dark-entering>.orbit-close{z-index:10}
#lost-after-dark.after-dark-entering>.underworld-header,
#lost-after-dark.after-dark-entering>.after-dark-tabs,
#lost-after-dark.after-dark-entering>.after-dark-room,
#lost-after-dark.after-dark-entering>.underworld-footer{animation:night-lights-on 3s ease both}
#lost-after-dark.after-dark-entering .underworld-header h2{animation:night-title-glow 3s ease both}
@keyframes night-shadow-curtain{0%{opacity:0;transform:translateY(-15%)}28%,52%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(0)}}
@keyframes night-room-arrival{0%{opacity:0}25%,100%{opacity:1}}
@keyframes night-lights-on{0%,52%{opacity:0;filter:brightness(.2);transform:translateY(6px)}76%{opacity:.85;filter:brightness(.8);transform:translateY(1px)}100%{opacity:1;filter:brightness(1);transform:translateY(0)}}
@keyframes night-title-glow{0%,55%{text-shadow:none}80%{text-shadow:0 0 20px #dab4ef99,0 0 50px #b68bd955}100%{text-shadow:none}}
@media(prefers-reduced-motion:reduce){#lost-after-dark.after-dark-entering,#lost-after-dark.after-dark-entering>*,#lost-after-dark.after-dark-entering .underworld-header h2{animation:none}#lost-after-dark.after-dark-entering::after{display:none}}

.photography-watermarked{position:relative;display:block;width:fit-content;max-width:100%;margin:auto}
.photography-contact-sheet .photography-watermarked img{width:auto;max-width:100%}
.photography-watermark{position:absolute;right:5px;bottom:5px;pointer-events:none;color:#fff9;font:600 7px/1.2 'DM Sans',sans-serif;letter-spacing:.15px;text-shadow:0 1px 2px #0009}

.garnish-conversation.graphics-paused,.garnish-conversation.graphics-paused *{animation-play-state:paused!important}
/* Keep the room visible when its entrance class is removed; do not replay the old fade. */
#lost-after-dark[open]:not(.after-dark-entering){animation:none}
/* A moving cue settles when someone aims at it or uses the keyboard. */
.gps-with-guide>.gps-guide:hover,.gps-with-guide>.gps-guide:focus-visible{animation-play-state:paused}
/* Keep the camp cue readable inside the narrow book page. */
@media(max-width:700px){.camp-guide>span{position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%);font-size:12px}}

/* Match Cam's wider source image to the other Yankees' portrait framing. */
.picks-sport-mlb .sport-portrait img[alt="Cam Schlittler"]{object-fit:cover;object-position:50% 0;transform:scale(1.2);transform-origin:50% 0}

.lets-talk-plane{display:inline-block;width:16px;height:16px;flex:0 0 16px;background:currentColor;-webkit-mask:url('assets/directory-plane.svg') center/contain no-repeat;mask:url('assets/directory-plane.svg') center/contain no-repeat;vertical-align:middle}
/* Neutralize the warm orange lighting in Triple H's portrait. */
.picks-sport-wwe .sport-portrait img[alt="Triple H"]{filter:saturate(.65) hue-rotate(4deg) brightness(1.04)}
/* A small golden discovery below the orbiting phones. */
.watch-section>.little-detour-star{position:absolute;left:max(22px,5vw);bottom:65px;z-index:3;display:grid;place-items:center;width:52px;height:52px;padding:8px;background:none;border:0;cursor:pointer;border-radius:50%;outline-offset:5px}
.little-detour-star svg{width:36px;height:36px;overflow:visible;filter:drop-shadow(0 0 8px #f9cf5966);animation:little-star-float 5.5s ease-in-out infinite}
.little-detour-star:hover svg{filter:drop-shadow(0 0 12px #ffe895aa)}
.little-detour-star:focus-visible{outline:2px solid #ffe69a}
.little-detour-star.star-resting svg{animation-play-state:paused}
@keyframes little-star-float{0%,100%{transform:translate(0,0) rotate(-7deg)}50%{transform:translate(4px,-6px) rotate(7deg)}}
.space-chapter:has(.socials-showcase.reveal-armed:not(.phones-revealing))>.little-detour-star{visibility:hidden!important;opacity:0!important;pointer-events:none}
.space-chapter>.little-detour-star{transition:opacity .6s ease-out}
.lost-star-aside{position:absolute;left:calc(max(22px,5vw) + 55px);bottom:78px;z-index:3;max-width:min(220px,calc(100vw - 110px));padding:8px 12px;border:1px solid #f5d35444;border-radius:12px 12px 12px 2px;background:#151d2bea;color:#ffe59b;font:600 12px/1.4 'DM Sans',sans-serif;pointer-events:none;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.lost-star-aside.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:700px){.watch-section>.little-detour-star{left:20px;bottom:48px}.lost-star-aside{left:75px;bottom:60px}}
@media(prefers-reduced-motion:reduce){.little-detour-star svg,.watch-section>.little-detour-star{animation:none!important}.watch-section>.little-detour-star{visibility:visible!important;opacity:1!important}}

/* A warm, cinematic reveal for the social calendar. */
.star-schedule{box-sizing:border-box;width:min(460px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:32px 25px 22px;border:1px solid #d9b95870;border-radius:22px;background:radial-gradient(ellipse at 50% 0,#65501f55,transparent 65%),#101923;color:#fff2d3;text-align:center;box-shadow:0 25px 100px #000b}
.star-schedule::backdrop{background:#050a13de;backdrop-filter:blur(7px)}
.star-schedule-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;color:#f7dfa1;font-size:26px;cursor:pointer;z-index:2}
.star-schedule-glow{font-size:58px;line-height:1.2;color:#ffdb65;text-shadow:0 0 20px #efc54da0,0 0 65px #efc54d60;animation:schedule-star-arrival 2.2s ease-out both}
.star-schedule-intro h2{margin:16px 0 8px;font:italic 36px/1.1 Georgia,serif;color:#fff2d3}.star-schedule-intro>p{margin:0 0 20px;font:14px/1.5 'DM Sans',sans-serif;color:#dbca9d}
.star-schedule-content{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .65s,transform .65s,visibility .65s}.schedule-ready .star-schedule-content{opacity:1;visibility:visible;transform:none}
.star-schedule-eyebrow{font:9px/1.5 'DM Sans',sans-serif;letter-spacing:.18em;color:#cbb77f;margin:5px 0 16px}
.star-schedule-premiere{display:grid;gap:6px;padding:23px 15px;border:1px solid #c9a74a66;border-radius:12px;background:#eed17b0a}.star-schedule-premiere>span{color:#ff8275;font:700 13px/1.4 'DM Sans',sans-serif}.star-schedule-premiere strong{font:28px/1.2 Georgia,serif}.star-schedule-premiere b{font:800 26px/1.3 'DM Sans',sans-serif;color:#ffdc7a}.star-schedule-premiere small{font:12px/1.5 'DM Sans',sans-serif;color:#d2c8b0}
.star-schedule-daily{padding:22px 0 17px;border-bottom:1px solid #c9a74a33}.star-schedule-daily strong{font:italic 20px/1.3 Georgia,serif}.star-schedule-daily p{font:12px/1.6 'DM Sans',sans-serif;margin:10px 0 4px}.star-schedule-daily>span{font:600 11px/1.5 'DM Sans',sans-serif;color:#ebc974}.star-schedule-footer{font:italic 12px/1.6 Georgia,serif;color:#c0b59d;margin:16px 0 0}
.star-schedule :focus-visible{outline:2px solid #ffdb65;outline-offset:3px}
@keyframes schedule-star-arrival{0%{opacity:0;transform:scale(.35) rotate(-35deg);filter:blur(7px)}55%{opacity:1;transform:scale(1.2) rotate(5deg);filter:blur(0)}100%{transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.star-schedule-glow{animation:none}.star-schedule-content{transition:none}}

/* The culture exchange now belongs to the bodega frontage. */
.learn-copy .learn-word-lost{color:#cf2929;font-weight:700}.learn-copy .learn-word-find{color:#23763d;font-weight:700}
@media(min-width:1051px){.learn-section{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:40px}}
.learn-intro .garnish-conversation{position:relative;width:780px;max-width:100%;aspect-ratio:430/180;margin:22px 0 0}
.garnish-conversation>.learning-flag-string{position:absolute;left:27%;top:35%;width:42%;height:auto;aspect-ratio:340/100;margin:0}
.garnish-conversation .learning-flag-string .flag-string-line{width:100%;height:100%;position:absolute;inset:0}
.garnish-conversation .learning-flag-string .learning-country-flag img{top:29%;width:23%}
.garnish-conversation .learning-flag-string .learning-country-flag:nth-of-type(2) img{top:43%}
@media(max-width:700px){.learn-intro .garnish-conversation{width:100%;margin-top:18px}.garnish-conversation .culture-flight>g>g{transform:scale(1.8)}.garnish-conversation .culture-guira>g>g{transform:scale(1.548)}}
/* Give the star its own moment before the calendar arrives. */
.star-schedule{position:fixed;isolation:isolate}
.star-schedule::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;background:conic-gradient(from 15deg,transparent 0deg,#ffe7a51a 12deg,transparent 25deg,transparent 60deg,#ffe7a51a 72deg,transparent 85deg,transparent 120deg,#ffe7a51a 132deg,transparent 145deg,transparent 180deg,#ffe7a51a 192deg,transparent 205deg,transparent 240deg,#ffe7a51a 252deg,transparent 265deg,transparent 300deg,#ffe7a51a 312deg,transparent 325deg);animation:none;mask-image:radial-gradient(ellipse,#000,transparent 65%)}
.star-schedule-glow{font-size:82px;animation:schedule-star-arrival 3.2s ease-out both;text-shadow:0 0 12px #fff4c8,0 0 36px #ffd25dcc,0 0 80px #efc54d99}
.star-schedule-intro h2{font-size:clamp(36px,7vw,46px);font-weight:700;text-shadow:0 0 18px #ffd87988;animation:schedule-title-shine 3.2s ease-out both}
.star-schedule-intro>p{font-size:15px;color:#f2deaa}
.star-schedule:not(.schedule-ready) .star-schedule-intro{transform:translateY(45px) scale(1.06)}
.star-schedule:not(.schedule-ready) .star-schedule-glow{margin-top:45px}
.star-schedule-intro{transition:transform .8s ease}.star-schedule-glow{transition:margin .8s ease}
@keyframes schedule-rays{to{transform:rotate(360deg)}}
@keyframes schedule-title-shine{0%{opacity:0;filter:blur(5px);transform:translateY(12px)}25%{opacity:1;filter:blur(0);transform:none}55%{text-shadow:0 0 8px #fff6cc,0 0 30px #ffd879,0 0 55px #f4c65c}100%{text-shadow:0 0 18px #ffd87988}}
@media(prefers-reduced-motion:reduce){.star-schedule::before,.star-schedule-intro h2,.star-schedule-glow{animation:none}.star-schedule-intro,.star-schedule-glow{transition:none}}
.star-schedule{overflow-x:hidden}
/* Enlarge the actual storefront, without an empty sizing frame. */
@media(min-width:1051px){.learn-section{grid-template-columns:minmax(0,2.3fr) minmax(280px,1fr);gap:32px}}
.learn-intro .garnish-conversation{width:920px;max-width:100%;aspect-ratio:430/280;margin:22px 0 0;position:relative}
.learn-intro .garnish-conversation>svg{display:block;width:100%;height:auto;aspect-ratio:430/280}
.garnish-conversation>.learning-flag-string{top:37%;left:27%;width:42%}
.learn-copy .learn-word-maybe{color:#c99b16;font-weight:700}

/* Five flags hang from their top centers along the curved storefront cord. */
.garnish-conversation>.learning-flag-string{left:18%;width:60%;top:37%}
.garnish-conversation .learning-flag-string .learning-country-flag img{width:14.5%;right:auto;transform-origin:50% 0}
.garnish-conversation .learning-flag-string .learning-country-flag:nth-of-type(1) img{left:2.75%;top:22.3%;transform:rotate(14deg)}
.garnish-conversation .learning-flag-string .learning-country-flag:nth-of-type(2) img{left:22.75%;top:35.6%;transform:rotate(7deg)}
.garnish-conversation .learning-flag-string .learning-country-flag:nth-of-type(3) img{left:42.75%;right:auto;top:40%;transform:rotate(0deg)}
.garnish-conversation .learning-flag-string .learning-country-flag:nth-of-type(4) img{left:62.75%;top:35.6%;transform:rotate(-7deg)}
.garnish-conversation .learning-flag-string .learning-country-flag:nth-of-type(5) img{left:82.75%;top:22.3%;transform:rotate(-14deg)}

/* Hang bunting just below the awning; keep the toss in the open space beneath it. */
.garnish-conversation>.learning-flag-string{top:27%}
.garnish-conversation{--culture-arc-y:-25px}
@media(max-width:700px){.garnish-conversation{--culture-arc-y:-6px}}

.garnish-conversation>.learning-flag-string{top:30%}
.mountain-friend .paraglider-canopy{bottom:calc(100% - 13px)}
/* Photography: a quiet, cinematic portfolio rather than stacked scrapbook cards. */
#service-details[data-service="4"]{background:#111916;color:#f5edda;border:1px solid #77857566;width:min(1100px,calc(100vw - 24px));padding:clamp(20px,4vw,42px);border-radius:16px}
#service-details[data-service="4"]>h2{color:#f5edda;font-size:clamp(25px,4vw,40px);margin-bottom:24px}
#service-details[data-service="4"]>.eyebrow{color:#b8bf9e}
#service-details[data-service="4"] .service-close{color:#f5edda;background:#27322d;border-radius:50%;z-index:5}
#service-details[data-service="4"] .photo-picture-book{padding:0;background:none;color:#f5edda}
#service-details[data-service="4"] .photo-picture-book header{max-width:none;text-align:left;margin:0 0 30px;padding:24px 0;border-top:1px solid #bfc8ae33;border-bottom:1px solid #bfc8ae33}
#service-details[data-service="4"] .photo-picture-book header .editorial-kicker{color:#c6b882;font-size:10px;letter-spacing:.16em}
#service-details[data-service="4"] .photo-picture-book h3{font:italic 500 clamp(32px,5vw,60px)/1.08 Georgia,serif;letter-spacing:-.035em;color:#f5edda;max-width:750px;margin:16px 0}
#service-details[data-service="4"] .photo-picture-book header>p:last-child{color:#aab7aa;font:14px/1.7 'DM Sans',sans-serif}
#service-details[data-service="4"] .photo-book-spread{padding:0;background:none;box-shadow:none;border-radius:0}
#service-details[data-service="4"] .photography-contact-sheet{gap:30px 24px;align-items:start;max-width:none}
#service-details[data-service="4"] .photography-contact-sheet figure{display:block;grid-row:auto;padding:0;background:none;box-shadow:none;border:0}
#service-details[data-service="4"] .photography-watermarked{width:100%;background:#080d0b;border:1px solid #a5b19d33;overflow:hidden}
#service-details[data-service="4"] .photography-contact-sheet figure img{width:100%;max-width:100%;height:clamp(230px,31vw,365px);object-fit:contain;background:#080d0b;transition:filter .35s ease}
#service-details[data-service="4"] .photography-contact-sheet figure:hover img{filter:brightness(1.08)}
#service-details[data-service="4"] .photography-contact-sheet figcaption{display:flex;align-items:baseline;gap:13px;margin:0;padding:13px 0 0;color:#e9e5d6;font:17px/1.4 Georgia,serif}
#service-details[data-service="4"] .photography-contact-sheet figcaption b{font:10px/1.4 monospace;color:#c6b882;letter-spacing:.1em}
#service-details[data-service="4"] .photography-watermark{bottom:9px;right:9px;font-size:8px}
#service-details[data-service="4"] .photo-book-credit{position:static;margin:30px 0 0;padding:18px 0;border-top:1px solid #bfc8ae33;color:#aab7aa;font:11px/1.7 'DM Sans',sans-serif;text-align:left}
#service-details[data-service="4"] .service-inquiry{margin-top:16px;background:#e8d8a5;color:#15251d;border-radius:4px}
@media(max-width:550px){#service-details[data-service="4"] .photography-contact-sheet{grid-template-columns:minmax(0,1fr);gap:25px}#service-details[data-service="4"] .photography-contact-sheet figure img{height:310px}#service-details[data-service="4"] .photo-picture-book header{padding:14px 0;margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){#service-details[data-service="4"] .photography-contact-sheet figure img{transition:none}}
/* Six editorial voices, one consistent hierarchy. */
#service-details,.magazine-feature{--service-accent:#a63d2c;--service-wash:#a63d2c0c}
#service-details[data-service="1"],.feature-destination{--service-accent:#246957;--service-wash:#2469570d}
#service-details[data-service="2"],.feature-partnership{--service-accent:#345d91;--service-wash:#345d910c}
#service-details[data-service="3"],.feature-social{--service-accent:#9c4938;--service-wash:#9c49380c}
#service-details[data-service="4"],.feature-photography{--service-accent:#92703a;--service-wash:#92703a0d}
#service-details[data-service="5"],.feature-packages{--service-accent:#6e537e;--service-wash:#6e537e0c}
#service-details :is(.ugc-kicker,.studio-feature-copy>.editorial-kicker),.magazine-feature .feature-copy>.editorial-kicker{display:inline-block;width:fit-content;max-width:100%;padding:7px 10px;border:1px solid color-mix(in srgb,var(--service-accent) 25%,transparent);border-radius:3px;background:var(--service-wash);color:var(--service-accent);font:700 10px/1.6 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase}
#service-details :is(.ugc-editorial,.studio-feature-copy,.package-studio)>h3{color:#203934;font-weight:600;letter-spacing:-.045em;text-wrap:balance;margin:20px 0 22px}
#service-details :is(.ugc-editorial,.studio-feature-copy)>h3::after,#service-details .package-studio>h3::after{content:"";display:block;width:46px;height:3px;background:var(--service-accent);margin-top:20px}
#service-details :is(.ugc-editorial,.studio-feature-copy)>p:not(.editorial-kicker):not(.ugc-footnote):not(.feature-terms),#service-details .package-intro{padding:17px 19px;margin:20px 0;border-left:3px solid var(--service-accent);background:var(--service-wash);color:#354b48;font:15px/1.8 'DM Sans',sans-serif;border-radius:0 8px 8px 0}
#service-details .ugc-deliverables{display:grid;gap:10px;margin:26px 0;border:0}
#service-details .ugc-deliverables>div{padding:17px 16px;gap:14px;background:#fffdf7;border:1px solid #274b3920;border-radius:8px;box-shadow:0 4px 12px #263d3505;align-items:flex-start}
#service-details .ugc-deliverables b{display:grid;place-items:center;flex:0 0 30px;height:30px;padding:0;background:var(--service-wash);border-radius:50%;color:var(--service-accent);font:600 11px monospace}
#service-details .ugc-deliverables strong{font:700 16px/1.35 'DM Sans',sans-serif;color:#203934;margin:2px 0 6px}
#service-details .ugc-deliverables small{color:#596961;font:13px/1.7 'DM Sans',sans-serif}
#service-details .studio-feature-copy>ul{list-style:none;padding:0;margin:25px 0;display:grid;gap:10px;counter-reset:service-points}
#service-details .studio-feature-copy>ul>li{position:relative;counter-increment:service-points;padding:17px 17px 17px 58px;margin:0;border:1px solid #274b3920;border-radius:8px;background:#fffdf7;color:#304c44;font:600 14px/1.65 'DM Sans',sans-serif}
#service-details .studio-feature-copy>ul>li::before{content:counter(service-points,decimal-leading-zero);position:absolute;left:15px;top:17px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--service-wash);color:var(--service-accent);font:600 11px monospace}
#service-details :is(.ugc-footnote,.feature-terms,.package-terms){padding:14px 16px;border:1px dashed #78877d70;border-radius:6px;color:#627168;font:12px/1.7 'DM Sans',sans-serif;background:#f1f0e850}
#service-details .package-card{border-radius:8px;box-shadow:0 8px 22px #203b4210;border-top:3px solid #8ba7ae}
#service-details .package-gold{border-top-color:#b38635}#service-details .package-platinum{border-top-color:#90b4c6}
#service-details .package-card h4{font-size:34px}#service-details .package-card li{font-size:13px;line-height:1.6}#service-details .package-card li b{font-size:23px;min-width:24px}
#service-details .media-gear-heading h4{color:#203934}#service-details .media-gear-grid strong{font-size:12px}#service-details .media-gear-grid figcaption span{font-size:11px;line-height:1.6}
.magazine-feature .feature-copy>p:not(.editorial-kicker):not(.feature-terms){padding:15px 16px;border-left:3px solid var(--service-accent);border-radius:0 7px 7px 0;background:var(--service-wash);color:#354b48;line-height:1.8}
.magazine-feature .feature-copy>h3{color:var(--service-accent);font:700 11px/1.6 'DM Sans',sans-serif;letter-spacing:.13em;margin:25px 0 13px}
.magazine-feature .feature-deliverables{display:grid;gap:9px}
.magazine-feature .feature-deliverables li{padding:13px 14px;border:1px solid #29483620;border-radius:6px;background:#fffaf2;color:#354b48;font-size:13px;line-height:1.65}
.magazine-feature .feature-deliverables b{color:var(--service-accent)}
.magazine-feature .feature-copy .feature-terms{padding:12px 14px;border-top:1px dashed #78877d70;color:#66756a;font-size:11px;line-height:1.7}
@media(max-width:550px){#service-details .ugc-deliverables>div{padding:14px 12px;gap:10px}#service-details :is(.ugc-editorial,.studio-feature-copy)>p:not(.editorial-kicker):not(.ugc-footnote):not(.feature-terms),#service-details .package-intro{padding:14px;font-size:14px}#service-details .studio-feature-copy>ul>li{padding:14px 12px 14px 53px;font-size:13px}}
.picks-track[hidden]{display:none!important}.picks-show-more{display:block;margin:18px auto 0;padding:11px 23px;min-height:44px;border:1px solid #86a39377;border-radius:24px;background:#203b30;color:#ecf6eb;font:700 13px/1.4 'DM Sans',sans-serif;cursor:pointer}.picks-show-more:hover{background:#2d5141}
/* Stable geometry: light, message, reply, then the schedule. */
.star-schedule:not(.schedule-ready) .star-schedule-intro,.star-schedule .star-schedule-intro{transform:none;transition:none}
.star-schedule:not(.schedule-ready) .star-schedule-glow,.star-schedule .star-schedule-glow{margin-top:0;transition:none;animation:star-warm-arrival 1.6s ease-out both}
.star-schedule-intro h2{animation:star-message-arrival 1.2s ease-out both}
.star-schedule-intro>p{opacity:0;transform:translateY(5px);transition:opacity .7s ease,transform .7s ease}
.star-schedule.subtitle-ready .star-schedule-intro>p{opacity:1;transform:none}
.star-schedule-content{transition:opacity .8s ease,transform .8s ease,visibility .8s}
@keyframes star-warm-arrival{from{opacity:0;transform:scale(.8);text-shadow:0 0 10px #fff1b2}to{opacity:1;transform:scale(1);text-shadow:0 0 15px #fff4c8,0 0 45px #ffd25dcc,0 0 90px #efc54d99}}
@keyframes star-message-arrival{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.route-photo-frame .arrival-date{text-align:center;animation:none!important}.arrival-lost-label{display:block;font:700 15px/1.4 'DM Sans',sans-serif;margin-bottom:3px;color:#ed353f}.arrival-date time{font-size:10px;opacity:.8}
.route-photo-frame .arrival.is-arrived>.arrival-date{display:none}
.route-photo-frame .countdown.is-arrived{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
.arrival-officially-lost{display:block;max-width:100%;font:900 clamp(27px,3vw,38px)/.98 'DM Sans',Arial,sans-serif;letter-spacing:-.045em;color:#ff3947;text-wrap:balance;text-shadow:0 2px 12px #16000599}
.arrival-reached-date{display:block;color:#fff;font:600 11px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.04em}
.countdown-unit strong{animation:countdown-number-blink 2s steps(1,end) infinite}
@keyframes countdown-number-blink{0%,100%{opacity:1}50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.countdown-unit strong,.star-schedule .star-schedule-glow,.star-schedule-intro h2{animation:none!important}.star-schedule-intro>p,.star-schedule-content{transition:none}}
/* Move both books and their guide down together, retaining their internal spacing. */
#about .about-copy .story-object-shelf{padding-top:calc(24px + clamp(72px,9vw,120px))}
.route-chapter-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-top:20px}
.route-chapter-meta .route-label{margin:0}
.route-arrival-date{font:500 10px/1.5 'DM Sans',sans-serif;color:#6f766e;letter-spacing:.01em}
.route-arrival-date time{font:inherit}
.route-card.chile .route-chapter-meta{flex-direction:column;align-items:flex-start;gap:4px}
/* Clear, centered directory labels stay readable on hover and keyboard focus. */
.partner-directory-panel .services button,.services button{justify-content:center;align-items:center;text-align:center;padding:24px 22px;min-height:100px;font:750 clamp(14px,1.2vw,17px)/1.4 'DM Sans',sans-serif;letter-spacing:-.015em;color:#203934;border-color:#47605244;border-radius:8px}
.services .service-label{display:block;width:100%;text-align:center;text-wrap:balance;opacity:1!important}
.services button:hover .service-icon,.services button:focus-visible .service-icon{opacity:0}
.services button:hover,.services button:focus-visible{border-color:#bc6543;background:#fffaf0}
/* Fine print remains secondary but no longer faint or hairline. */
:is(.route-arrival-date,.route-label,.learn-status,.learn-progress,.photo-book-credit,.picks-small,.picks-radio-status,.country-entry,.entry-guide-link,.compact-attribution,.cover-credit,.editorial-credit,.feature-terms,.ugc-footnote,.package-terms){font-weight:600!important}
:is(.route-arrival-date,.compact-attribution,.editorial-credit,.picks-small,.picks-radio-status){font-size:12px;line-height:1.6}
#service-details :is(.ugc-footnote,.feature-terms,.package-terms,.photo-book-credit){font-size:13px;font-weight:600;line-height:1.7}
#service-details :is(.ugc-deliverables small,.media-gear-grid figcaption span){font-weight:600}
.distant-saturn{position:relative;height:0;pointer-events:none;z-index:2}.distant-saturn svg{position:absolute;left:3%;top:25px;width:76px;height:auto;opacity:.82;filter:drop-shadow(0 0 9px #e3ca7930);transform:rotate(-5deg)}
@media(max-width:700px){.distant-saturn svg{width:49px;left:0;top:34px}.partner-directory-panel .services button{font-size:14px;padding:23px 15px;min-height:100px}}
.night-party-shadow{display:none;pointer-events:none}
#lost-after-dark.after-dark-entering>.night-party-shadow{display:grid;place-items:center;position:fixed;inset:0;z-index:9;animation:party-shadow-form 3s ease both}
.night-party-shadow svg{width:min(190px,42vw);height:280px;color:#030408;fill:currentColor;filter:drop-shadow(0 0 20px #b797d37a) drop-shadow(0 0 65px #c3a2d555)}
.night-dancer{transform-origin:90px 160px;animation:party-shadow-dance 3s ease both}
@keyframes party-shadow-form{0%,10%{opacity:0;filter:blur(24px);transform:scale(.7)}30%{opacity:1;filter:blur(2px);transform:scale(1)}48%,60%{opacity:1;filter:blur(0);transform:scale(1)}77%,100%{opacity:0;filter:blur(15px);transform:scale(1.12)}}
@keyframes party-shadow-dance{0%,30%{transform:rotate(-9deg)}44%{transform:rotate(8deg) translateY(-5px)}57%{transform:rotate(-6deg)}75%,100%{transform:rotate(5deg)}}
@keyframes night-lights-on{0%,72%{opacity:0;transform:translateY(5px)}100%{opacity:1;transform:none}}
@keyframes night-shadow-curtain{0%{opacity:0}25%,62%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#lost-after-dark.after-dark-entering>.night-party-shadow{display:none}.night-dancer{animation:none}}
/* Lower the invitation within the existing gap without moving the books. */
#about .about-copy>p.lost-invitation{position:relative;top:clamp(48px,6.7vw,96px)}
/* Quiet, viewport-contained scripture and destination rooms. */
body:has(#daily-verse[open],#where-next[open]){overflow:hidden}
#daily-verse{width:min(650px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:clamp(20px,4vh,42px) clamp(24px,5vw,64px);overflow:hidden;border:1px solid #dcc58d77;background:radial-gradient(ellipse at 50% 0,#a2823c35,transparent 65%),#142321;box-shadow:0 30px 120px #000b,inset 0 0 0 7px #eacb8220;isolation:isolate}
#daily-verse .verse-sun-seal{font:38px/1 Georgia,serif;color:#ffe5a4;margin:0 0 16px;text-shadow:0 0 26px #ffd57899}
#daily-verse h2{font-size:clamp(27px,4vw,38px);letter-spacing:-.035em;margin:10px 0}
#daily-verse blockquote{font-size:clamp(18px,2.7vh,25px);line-height:1.55;margin:clamp(16px,3vh,30px) 0;white-space:normal;text-wrap:pretty;color:#fff5df}
#daily-verse .daily-verse-eyebrow{font-size:10px;letter-spacing:.19em}
#daily-verse .daily-verse-note{margin:18px 0 10px;padding-top:14px;font-size:12px}
.verse-source{display:inline-block;color:#eed495;font:600 12px/1.5 'DM Sans',sans-serif;text-underline-offset:4px}
.verse-copyright{display:block;margin:16px auto 0;max-width:460px;font:10px/1.5 'DM Sans',sans-serif;color:#a9b5a9}
#daily-verse[open]{animation:scripture-arrive 1.6s cubic-bezier(.16,1,.3,1) both}
#daily-verse[open]::backdrop{animation:sacred-backdrop 1.6s ease both}
#daily-verse::before{content:'';position:absolute;z-index:-1;inset:-100%;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 40%,transparent 0deg 15deg,#ffe8ac14 17deg 20deg,transparent 23deg 40deg);animation:sacred-rays 50s linear infinite}
#daily-verse[open]::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 20%,#fff8d8,#f8dda7cc 30%,transparent 75%);animation:sacred-reveal 1.8s ease-out both}
@keyframes scripture-arrive{0%{opacity:0;transform:translate(var(--sun-x,0px),var(--sun-y,0px)) scale(.08);filter:brightness(3)}40%{opacity:1}100%{opacity:1;transform:none;filter:brightness(1)}}
@keyframes sacred-backdrop{from{background:#eacc8766;backdrop-filter:blur(0)}to{background:#030b12dc;backdrop-filter:blur(9px)}}
@keyframes sacred-reveal{0%,20%{opacity:1}100%{opacity:0}}
@keyframes sacred-rays{to{transform:rotate(360deg)}}
#where-next{width:min(880px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:32px;overflow:hidden}
#where-next[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:30px;align-content:center}
#where-next>.secret-coordinate,#where-next>h2,#where-next>p:not(.destination-status){grid-column:1/-1}
#where-next h2{font-size:clamp(30px,4vw,44px);margin:10px 0}
#where-next>p{margin:0 0 14px;font-size:13px;line-height:1.5}
#where-next .destination-form{grid-column:1;grid-row:4/8;margin:4px 0 0;gap:12px}
#where-next .destination-fields{grid-template-columns:1fr 1fr;gap:10px}
#where-next .destination-form label{gap:5px}
#where-next input,#where-next textarea{padding:9px}
#where-next textarea{height:82px;resize:none}
#where-next .destination-status{grid-column:2;margin:4px 0 8px;font-size:12px}
#where-next .destination-status:empty{display:none}
#where-next .destination-list{grid-column:2;align-self:start;line-height:1.5;min-width:0}
#where-next .destination-list article{padding:16px;background:#ffffff05}
#where-next .destination-list p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.destination-pager{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font:11px 'DM Sans',sans-serif}
.destination-pager:empty{display:none}.destination-pager button{padding:8px 10px;border:1px solid #86a3af44;border-radius:5px;background:#ffffff08;color:#e8dfc5;cursor:pointer}.destination-pager button:disabled{opacity:.35;cursor:default}
#where-next .destination-refresh{grid-column:2;margin:8px 0 0;text-align:left}
#lost-after-dark.after-dark-entering>.night-party-shadow{animation:party-shadow-form 4.2s ease both;background:radial-gradient(ellipse at center,#0d203a88,transparent 60%)}
.night-party-shadow svg{width:min(300px,65vw);height:min(470px,75dvh);filter:drop-shadow(0 0 9px #56d7ffbb) drop-shadow(0 0 45px #1976df88)}
.night-dancer{transform-origin:150px 390px;animation:dance-bounce 1.05s ease-in-out infinite}
.dancer-upper{transform-origin:143px 225px;animation:dance-torso 1.05s ease-in-out infinite}
.dancer-arm-left{transform-origin:101px 111px;animation:dance-left-arm 1.05s ease-in-out infinite}
.dancer-arm-right{transform-origin:175px 108px;animation:dance-right-arm 1.05s ease-in-out infinite}
.dancer-leg-left{transform-origin:127px 229px;animation:dance-left-leg 1.05s ease-in-out infinite}
.dancer-leg-right{transform-origin:157px 231px;animation:dance-right-leg 1.05s ease-in-out infinite}
@keyframes dance-bounce{0%,100%{transform:translate(-9px,0) rotate(-3deg)}50%{transform:translate(9px,8px) rotate(3deg)}}
@keyframes dance-torso{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg) translateY(3px)}}
@keyframes dance-left-arm{0%,100%{transform:rotate(15deg)}50%{transform:rotate(-38deg)}}
@keyframes dance-right-arm{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(29deg)}}
@keyframes dance-left-leg{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg) translateY(-5px)}}
@keyframes dance-right-leg{0%,100%{transform:rotate(-7deg) translateY(-4px)}50%{transform:rotate(0)}}
@media(max-width:600px){
 #where-next{padding:24px 20px}#where-next[open]{display:block}#where-next h2{margin:7px 0}#where-next>p{font-size:12px;margin-bottom:10px}#where-next .destination-form{gap:8px;margin:8px 0 12px}#where-next textarea{height:60px}#where-next .destination-list article{padding:10px 12px}#where-next .destination-list p{font-size:11px;line-height:1.45;margin-top:4px}#where-next .destination-list strong{font-size:12px}#where-next .destination-refresh{padding:5px 0;font-size:11px}.destination-pager{margin-top:6px}#daily-verse{padding:24px}#daily-verse blockquote{font-size:20px}#daily-verse .verse-sun-seal{margin-bottom:12px}
}
@media(max-height:700px){#daily-verse{padding:20px 24px}#daily-verse .verse-sun-seal{font-size:27px;margin:0 0 8px}#daily-verse blockquote{font-size:18px;line-height:1.45;margin:14px 0}#daily-verse h2{font-size:28px}#daily-verse .daily-verse-note{margin:12px 0 7px;padding-top:10px}.verse-copyright{margin-top:10px;font-size:9px}#where-next{padding:20px}#where-next .destination-form{gap:6px}#where-next input,#where-next textarea{padding:6px}#where-next .destination-form button{padding:10px}}
@media(prefers-reduced-motion:reduce){#daily-verse[open],#daily-verse[open]::backdrop,#daily-verse::before{animation:none}#daily-verse[open]::after{display:none}.night-dancer,.night-dancer g{animation:none}}
#daily-verse::before{inset:0;animation:sacred-rays-breathe 12s ease-in-out infinite;background:repeating-conic-gradient(from -15deg at 50% 0,transparent 0deg 17deg,#ffe8ac09 19deg 21deg,transparent 24deg 43deg)}
@keyframes sacred-rays-breathe{0%,100%{opacity:.35}50%{opacity:.8}}
#daily-verse .daily-verse-close:focus-visible{outline:1px solid #ecd396;outline-offset:-7px;border-radius:50%}
@media(max-height:700px) and (max-width:600px){#where-next .destination-list article{padding:8px 10px}#where-next .destination-form small{font-size:10px}#where-next .destination-form{margin-bottom:8px}#where-next>p{margin-bottom:6px}#where-next .destination-form label{font-size:11px}}
@media(max-height:480px) and (min-width:601px){
 #daily-verse{width:min(800px,calc(100vw - 28px));padding:18px 28px;display:none;column-gap:28px}
 #daily-verse[open]{display:grid;grid-template-columns:1fr 1.3fr;align-content:center}
 #daily-verse .verse-sun-seal,#daily-verse .daily-verse-eyebrow,#daily-verse h2,#daily-verse time{grid-column:1}
 #daily-verse h2{font-size:26px}#daily-verse .daily-verse-eyebrow{margin:6px 0;font-size:9px}
 #daily-verse blockquote{grid-column:2;grid-row:1/6;font-size:17px;line-height:1.4;margin:12px 0;align-self:center}
 #daily-verse .daily-verse-reference{grid-column:1;margin:8px 0 3px}#daily-verse .daily-verse-translation{grid-column:1}
 #daily-verse .daily-verse-note{grid-column:2;grid-row:6;margin:0;padding:0;border:0;font-size:10px}
 #daily-verse .verse-source{grid-column:1;margin:8px 0;font-size:11px}#daily-verse .verse-copyright{grid-column:1/-1;max-width:none;font-size:9px;margin:5px 0 0}
 #where-next{padding:15px 24px}#where-next h2{font-size:28px;margin:4px 0}#where-next>p{margin-bottom:5px;font-size:11px}#where-next .destination-form{gap:5px}#where-next textarea{height:48px}#where-next input{padding:5px}#where-next .destination-form label{font-size:10px}#where-next .destination-form small{font-size:10px}#where-next .destination-form button{padding:8px}
}
@media(prefers-reduced-motion:reduce){#daily-verse::before{animation:none}}
/* Discreet source links, with the complete notice on its own credit page. */
#daily-verse .verse-fine-links{grid-column:1/-1;margin:14px 0 0;font:10px/1.6 'DM Sans',sans-serif;color:#a5aea4}
.verse-fine-links a{color:inherit;text-decoration:none;text-underline-offset:3px}.verse-fine-links a:hover,.verse-fine-links a:focus-visible{text-decoration:underline;color:#eed495}
#daily-verse .verse-source{font-size:11px;font-weight:500}
.sun-light-burst{position:fixed;inset:0;z-index:2147483646;pointer-events:none;background:radial-gradient(circle at var(--flare-x) var(--flare-y),#fffdf1 0,#fff4d2 12%,#ffe3a0cc 30%,#e8ac4733 58%,transparent 75%);clip-path:circle(0 at var(--flare-x) var(--flare-y));animation:sun-supernova 1.1s cubic-bezier(.3,0,.2,1) both}
.sun-light-burst::before{content:'';position:absolute;inset:0;background:repeating-conic-gradient(from 12deg at var(--flare-x) var(--flare-y),transparent 0deg 13deg,#fff9df88 15deg 17deg,transparent 21deg 33deg);mix-blend-mode:screen}
.sun-light-burst.burst-clearing{animation:sun-afterglow 1.1s ease-out both;clip-path:circle(150vmax at var(--flare-x) var(--flare-y))}
.sun-igniting .daily-sun-orb{animation:solar-ignition .85s cubic-bezier(.2,.7,.3,1) both!important}
@keyframes solar-ignition{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(.94);filter:brightness(1.7)}100%{transform:scale(1.6);filter:brightness(4);box-shadow:0 0 80px 50px #fff3c9,0 0 180px 100px #ffc962}}
@keyframes sun-supernova{0%{clip-path:circle(35px at var(--flare-x) var(--flare-y));opacity:0}20%{opacity:1}100%{clip-path:circle(150vmax at var(--flare-x) var(--flare-y));opacity:1}}
@keyframes sun-afterglow{from{opacity:1}to{opacity:0}}
#daily-verse[open]{animation:scripture-from-light 1.5s cubic-bezier(.16,1,.3,1) both}
#daily-verse[open]::after{animation:sacred-reveal 1.65s ease-out both;background:radial-gradient(ellipse at 50% 12%,#fffdf1,#fff1cf 38%,#ffe9bccc 75%)}
@keyframes scripture-from-light{from{opacity:0;transform:translateY(14px) scale(.97);filter:brightness(1.8)}to{opacity:1;transform:none;filter:brightness(1)}}
/* A continuous backwards glide, with alternating heel lifts and a quiet upper body. */
#lost-after-dark.after-dark-entering,#lost-after-dark.after-dark-entering::after,#lost-after-dark.after-dark-entering>.underworld-header,#lost-after-dark.after-dark-entering>.after-dark-tabs,#lost-after-dark.after-dark-entering>.after-dark-room,#lost-after-dark.after-dark-entering>.underworld-footer,#lost-after-dark.after-dark-entering .underworld-header h2{animation-duration:4.2s}
.night-dancer{animation:moonwalk-glide 4.2s linear both;transform-origin:150px 390px}
.dancer-upper{animation:moonwalk-shoulders 1.4s ease-in-out infinite}
.dancer-arm-left{animation:moonwalk-arm-left 1.4s ease-in-out infinite}
.dancer-arm-right{animation:moonwalk-arm-right 1.4s ease-in-out infinite}
.dancer-leg-left{animation:moonwalk-step-left 1.4s cubic-bezier(.45,0,.55,1) infinite}
.dancer-leg-right{animation:moonwalk-step-right 1.4s cubic-bezier(.45,0,.55,1) infinite}
.night-party-shadow svg{filter:drop-shadow(0 0 5px #7de4ff88) drop-shadow(0 0 26px #348edb66)}
@keyframes moonwalk-glide{from{transform:translateX(65px) scale(.96)}to{transform:translateX(-65px) scale(.96)}}
@keyframes moonwalk-shoulders{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-3px) rotate(-3deg)}}
@keyframes moonwalk-arm-left{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(-22deg)}}
@keyframes moonwalk-arm-right{0%,100%{transform:rotate(43deg)}50%{transform:rotate(35deg)}}
@keyframes moonwalk-step-left{0%,100%{transform:translateX(9px) rotate(-5deg)}45%{transform:translate(-12px,-5px) rotate(9deg)}60%{transform:translate(-10px,-8px) rotate(12deg)}}
@keyframes moonwalk-step-right{0%,100%{transform:translate(-12px,-6px) rotate(5deg)}45%{transform:translateX(12px) rotate(-8deg)}60%{transform:translateX(10px) rotate(-7deg)}}
@keyframes party-shadow-form{0%{opacity:0;filter:blur(5px);transform:scale(.98)}15%,70%{opacity:1;filter:blur(0);transform:scale(1)}100%{opacity:0;filter:blur(4px);transform:scale(1.015)}}
/* Black ink and a stronger reading weight in the personal story. */
.host-details dt{font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:#735039;margin-top:15px}.host-details dd{font-weight:650;color:#111;line-height:1.65;margin-top:4px}.host-hometown{font-weight:650;color:#111}
#how-we-met :is(h2,h3,p,a,button,span,small,figcaption),#passport-reader :is(h2,h3,p,a,button,span,small,dt,dd){color:#000!important}
#how-we-met .meeting-page p{font-weight:550}#how-we-met .memory-click{background:#fff5dfd9;text-shadow:none}
#passport-reader .passport-finale{background:#f1e4c8}#passport-reader .passport-finale::before{opacity:.12}
.caught-magnifier{animation:none;transform-origin:0 0}
@keyframes lens-catch{0%{opacity:.3}100%{opacity:1}}
/* The balloon passenger explores the photograph, then rides its first departure. */
#how-we-met .camp-guide{left:38%;top:24%;width:62px;flex-direction:column;gap:0;animation:camp-photo-orbit 7s ease-in-out infinite;z-index:5}
#how-we-met .camp-guide .guide-figure{width:49px;height:66px;transform:rotate(-12deg);filter:drop-shadow(0 1px 1px #fff)}
#how-we-met .camp-guide>span{font-size:15px;background:#fff4dce8;padding:2px 6px;border-radius:5px;position:static;transform:none}
#how-we-met .camp-guide.camp-departing>span{display:none}
@keyframes camp-photo-orbit{0%,100%{transform:translate(-45px,8px) rotate(-8deg)}25%{transform:translate(45px,-38px) rotate(8deg)}50%{transform:translate(90px,18px) rotate(15deg)}75%{transform:translate(5px,45px) rotate(-10deg)}}
/* The full star message is sized to its viewport, including landscape phones. */
body:has(#little-detour[open]){overflow:hidden}
#little-detour{max-height:calc(100dvh - 24px);overflow:hidden;padding:24px;width:min(460px,calc(100vw - 24px))}
#little-detour .star-schedule-glow{font-size:clamp(44px,10vh,74px)}
#little-detour .star-schedule-intro h2{font-size:clamp(30px,5vh,42px);margin:10px 0 6px}
#little-detour .star-schedule-intro>p{margin-bottom:14px}
#little-detour .star-schedule-premiere{padding:16px 12px}
#little-detour .star-schedule-daily{padding:16px 0 12px}
@media(max-height:700px){#little-detour{padding:18px 22px}#little-detour .star-schedule-glow{font-size:44px}#little-detour .star-schedule-intro h2{font-size:30px}#little-detour .star-schedule-premiere{padding:10px;gap:4px}#little-detour .star-schedule-eyebrow{margin:4px 0 10px}#little-detour .star-schedule-daily{padding:12px 0 10px}#little-detour .star-schedule-footer{margin-top:10px}}
@media(max-height:480px) and (min-width:601px){#little-detour{width:min(740px,calc(100vw - 24px));padding:20px 28px}#little-detour[open]{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:28px;align-items:center}#little-detour .star-schedule-glow{grid-column:1;grid-row:1;font-size:70px;align-self:end}#little-detour .star-schedule-intro{grid-column:1;grid-row:2;align-self:start}#little-detour .star-schedule-content{grid-column:2;grid-row:1/3}#little-detour .star-schedule-intro h2{font-size:32px}#little-detour .star-schedule-daily strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){#daily-verse[open],.caught-magnifier,#how-we-met .camp-guide,.night-dancer,.night-dancer g{animation:none!important}.sun-light-burst{display:none}}
/* Keep black labels readable on the book's controls and photograph overlays. */
#how-we-met .meeting-close{background:#f8efd9;border:1px solid #b6a77f}
#how-we-met .meeting-video-preview>span{background:#fff3dce8;text-shadow:none}
#passport-reader .reader-directory button[aria-current=true],#passport-reader .reader-directory button[aria-selected=true],#passport-reader .reader-directory button.active{background:#dfcda7}
#little-detour .star-schedule-close:focus-visible{outline:1px solid #ecd396;outline-offset:-7px;border-radius:50%}
.hand-lens-flight{position:fixed;z-index:1000;pointer-events:none;display:block}.hand-lens-flight svg{display:block;width:100%;height:100%;overflow:visible}
.shelf-guide .guide-figure.catching-lens{animation:human-lens-catch .6s cubic-bezier(.2,.7,.3,1) both;transform-origin:50% 85%}
.caught-magnifier{animation:none}
@keyframes human-lens-catch{0%{transform:rotate(0) translateY(0)}30%{transform:rotate(1.5deg) translateY(1.5px)}65%{transform:rotate(-.4deg) translateY(-.3px)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.shelf-guide .guide-figure.catching-lens{animation:none}}
/* Small chapter cues and a clearer, unhurried reading rhythm. */
.chapter-title-icon{display:inline-block;width:1em;height:1em;margin-left:.3em;vertical-align:-.06em;font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif;font-size:.55em;line-height:1;letter-spacing:0;white-space:nowrap}.chapter-title-icon img{display:block;width:100%;height:100%;object-fit:contain}
#meeting-title .camp-bear-icon{width:30px;height:30px;margin-left:10px;vertical-align:baseline;object-fit:contain}
#how-we-met .meeting-page>p:not(.eyebrow){font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,1.25vw,18px);font-weight:400;line-height:1.8;letter-spacing:.005em;text-wrap:pretty;margin:0 0 1.35em;color:#000}
#how-we-met .meeting-page-left>p:not(.eyebrow){font-weight:500}
#how-we-met .meeting-page-right>p:last-child{margin-bottom:0}
#how-we-met .meeting-page .eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;margin-bottom:16px}
#how-we-met #meeting-title{letter-spacing:-.035em;line-height:1.12;margin-bottom:22px}
@media(max-width:700px){#how-we-met .meeting-page>p:not(.eyebrow){font-size:16px;line-height:1.75}#meeting-title .camp-bear-icon{width:25px;height:25px;margin-left:7px}}
/* Illustrated chapter markers, sized to read as miniature objects. */
#passport-reader .chapter-title-icon{width:42px;height:42px;font-size:inherit;margin-left:12px;vertical-align:-5px;line-height:0;filter:drop-shadow(1px 2px 1px #56422818)}
#meeting-title .camp-bear-icon{width:36px;height:36px;vertical-align:-1px}
/* One clear invitation on a complete notebook cover. */
#passport-reader .travel-journal>summary{display:flex;align-items:center;gap:20px;padding:14px 18px 14px 8px;border:1px solid #baaa8555;border-left:0;border-radius:12px;background:linear-gradient(135deg,#fff8e8,#eee0c2);box-shadow:0 8px 22px #463c2510;list-style:none;cursor:pointer;min-height:190px}
.travel-journal>summary::-webkit-details-marker{display:none}
#passport-reader .travel-journal>summary::after{display:none}
.story-notebook-art{width:135px;height:160px;flex:0 0 135px;object-fit:contain;transition:transform .4s cubic-bezier(.2,.8,.3,1)}
.travel-journal>summary:hover .story-notebook-art{transform:rotate(-3deg) translateY(-3px)}
.story-notebook-invite{display:grid;gap:12px;min-width:0}
.story-notebook-invite strong{font:600 24px/1.15 Georgia,serif}
.story-notebook-invite>span{font:14px/1.6 'DM Sans',sans-serif}
.story-notebook-invite b{font:700 13px/1.5 'DM Sans',sans-serif;text-decoration:underline;text-underline-offset:4px}
#passport-reader .passport-stories{margin-top:20px}
#passport-reader .passport-story-form{padding:22px 0 4px}
#passport-reader .passport-story-form button{background:#e2c58b;border-color:#a9905b}
#passport-reader .passport-stories .journal-help{font-size:12px!important;line-height:1.5;margin:8px 0 16px}
.story-status:empty{display:none}.story-empty{font:italic 14px/1.5 Georgia,serif!important;margin:12px 0 0}
.story-postcards:has(.story-empty){padding:0;max-height:none}
#passport-reader .passport-ufo-dock{margin:24px 0 0;padding-top:14px;border-top:1px solid #b9a98055}
#passport-reader .passport-looking .editorial-kicker{display:none}
/* A fast, fluid silhouette crossing a softly lit stage. */
#lost-after-dark.after-dark-entering,#lost-after-dark.after-dark-entering::after,#lost-after-dark.after-dark-entering>.underworld-header,#lost-after-dark.after-dark-entering>.after-dark-tabs,#lost-after-dark.after-dark-entering>.after-dark-room,#lost-after-dark.after-dark-entering>.underworld-footer,#lost-after-dark.after-dark-entering .underworld-header h2,#lost-after-dark.after-dark-entering>.night-party-shadow{animation-duration:3s}
#lost-after-dark.after-dark-entering>.night-party-shadow{background:radial-gradient(ellipse at 50% 45%,#aaa6ae55,transparent 62%)}
.night-party-shadow svg{filter:drop-shadow(0 12px 12px #0009);overflow:visible}
.night-dancer{fill:#050609;animation:shadow-crossing 3s cubic-bezier(.2,.1,.8,.9) both}
.dancer-upper{animation:shadow-body 1s cubic-bezier(.45,0,.55,1) infinite}
.dancer-arm-left{animation:moonwalk-arm-left 1s ease-in-out infinite}
.dancer-arm-right{animation:moonwalk-arm-right 1s ease-in-out infinite;animation-delay:-.12s}
.dancer-leg-left{animation:moonwalk-step-left 1s cubic-bezier(.45,0,.55,1) infinite}
.dancer-leg-right{animation:moonwalk-step-right 1s cubic-bezier(.45,0,.55,1) infinite}
@keyframes shadow-crossing{from{transform:translateX(150px) scale(.96)}to{transform:translateX(-150px) scale(.96)}}
@keyframes shadow-body{0%,100%{transform:translate(0,0) rotate(-4deg)}25%{transform:translate(2px,-3px) rotate(-2deg)}50%{transform:translate(0,-1px) rotate(-4deg)}75%{transform:translate(-2px,-4px) rotate(-6deg)}}
@media(max-width:700px){#passport-reader .chapter-title-icon{width:36px;height:36px;margin-left:9px}#passport-reader .travel-journal>summary{gap:10px;padding:12px 10px 12px 0}.story-notebook-art{width:100px;height:136px;flex-basis:100px}.story-notebook-invite strong{font-size:21px}.story-notebook-invite>span{font-size:13px}.story-notebook-invite b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.night-dancer,.night-dancer g{animation:none!important}.story-notebook-art{transition:none}}
#passport-reader .passport-looking .passport-stories{margin-top:0;border-top:0;padding-top:0}
#passport-reader .passport-looking .leaf-number{display:none}
#passport-reader .passport-looking .story-postcards:empty{display:none}
#passport-reader .passport-looking .story-refresh{font-size:12px;margin:10px 0 0}
#passport-reader .reader-top{background:#e3dbc7}
/* A single ink silhouette: heel-toe glide, hat tip, then one quick turn. */
#lost-after-dark.after-dark-entering,#lost-after-dark.after-dark-entering::after,#lost-after-dark.after-dark-entering>.underworld-header,#lost-after-dark.after-dark-entering>.after-dark-tabs,#lost-after-dark.after-dark-entering>.after-dark-room,#lost-after-dark.after-dark-entering>.underworld-footer,#lost-after-dark.after-dark-entering .underworld-header h2,#lost-after-dark.after-dark-entering>.night-party-shadow{animation-duration:2.6s}
.night-dancer{animation:shadow-crossing 2.6s linear both;transform-origin:150px 400px}
.dancer-spin{transform-origin:145px 245px;animation:shadow-spin 2.6s cubic-bezier(.45,0,.25,1) both}
.dancer-upper{transform-origin:140px 240px;animation:shadow-body .62s ease-in-out infinite}
.dancer-arm-left{transform-origin:115px 139px;animation:shadow-hand .62s ease-in-out infinite}
.dancer-arm-right{transform-origin:165px 138px;animation:shadow-hat-tip 2.6s ease-in-out both}
.dancer-leg-left{transform-origin:126px 238px;animation:shadow-heel .62s cubic-bezier(.45,0,.55,1) infinite}
.dancer-leg-right{transform-origin:154px 238px;animation:shadow-heel .62s cubic-bezier(.45,0,.55,1) infinite reverse}
@keyframes shadow-crossing{0%{transform:translateX(160px) rotate(-5deg)}60%{transform:translateX(-30px) rotate(-5deg)}78%{transform:translateX(-65px) rotate(0)}100%{transform:translateX(-170px) rotate(-7deg)}}
@keyframes shadow-spin{0%,55%{transform:scaleX(1)}64%{transform:scaleX(.1)}70%{transform:scaleX(-1)}77%{transform:scaleX(.1)}84%,100%{transform:scaleX(1)}}
@keyframes shadow-heel{0%,100%{transform:translateX(0) rotate(-8deg)}45%{transform:translate(0,-2px) rotate(8deg)}55%{transform:translate(0,-7px) rotate(9deg)}80%{transform:translate(0,-4px) rotate(-3deg)}}
@keyframes shadow-hand{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(9deg)}}
@keyframes shadow-hat-tip{0%,43%{transform:rotate(0)}54%{transform:rotate(-9deg)}67%,82%{transform:rotate(-17deg)}100%{transform:rotate(0)}}
/* Photo-led city field notes, with warm paper below the skyline. */
.city-popup{width:min(620px,calc(100vw - 28px));padding:0;background:#f1e8d7;border:0;border-radius:16px;max-height:88dvh}
.city-popup-close{z-index:3;top:12px;right:12px;color:white;background:#10212688;backdrop-filter:blur(8px)}
.city-popup-close:hover{background:#102126;color:white}
.city-photo-header{position:relative;isolation:isolate;min-height:290px;padding:40px 28px 25px;background-color:#344d52;background-position:center 42%;background-size:cover;color:#fff}
.city-popup .city-photo-header .eyebrow{color:#ffe0a9;letter-spacing:.16em;font-weight:700}
.city-popup .city-photo-header h3{color:#fff;font-size:clamp(32px,5vw,46px);line-height:1.05;margin:12px 0;text-shadow:0 2px 20px #0007}
.city-photo-header .city-synopsis{color:#fff;max-width:440px;line-height:1.5;text-shadow:0 1px 8px #0009}
.city-photo-header .city-quick-facts{margin:27px 0 12px;gap:8px}
.city-photo-header .city-quick-facts>div,.city-photo-header .city-quick-facts .city-weather{background:#101e29a3;border:1px solid #ffffff26;backdrop-filter:blur(8px);padding:12px;border-radius:8px}
.city-photo-header .city-quick-facts dt{color:#eee5d5;letter-spacing:.08em;font-size:9px}
.city-photo-header .city-quick-facts dd{color:#fff;font-size:14px;line-height:1.5}
.city-photo-header .city-quick-facts small{color:#eee5d5;font-size:10px}
.city-photo-credit{display:block;width:fit-content;max-width:100%;margin-left:auto;font:9px/1.4 system-ui;color:#eee5d5;text-underline-offset:2px}
.city-overview-body{padding:24px 28px 28px;background:#f1e8d7;color:#233333}
.city-overview-body .city-overview{font:16px/1.8 Georgia,serif}
.city-overview-body .city-highlights{margin-top:0}
.sky-legend{display:flex;justify-content:flex-end;align-items:center;gap:8px 15px;flex-wrap:wrap;margin:10px 0 0;padding:0 8px;position:relative;z-index:5;color:#d9d1b6}
.sky-legend-hint{font:9px/1.3 Arial,sans-serif;letter-spacing:.13em;opacity:.75}
.sky-legend button{display:inline-flex;align-items:center;gap:6px;min-height:44px;border:0;background:none;padding:4px 0;color:#e7dcbd;cursor:pointer;font:11px/1.3 Arial,sans-serif}
.sky-legend button span{font-size:21px;color:#f3d78c}.sky-legend button b{font-weight:400}.sky-legend .sky-audio-toggle{font-size:10px;color:#c1c8c1;text-decoration:underline;text-underline-offset:3px}
.sky-legend button:hover{color:white}.sky-legend button:focus-visible,.saturn-touch:focus-visible{outline:1px solid #e5cd8a;outline-offset:4px;border-radius:5px}
.space-chapter .sky-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 12px;max-width:560px;margin:16px auto 12px;padding:12px 16px;background:#14221ed9;border:1px solid #daca942a;border-radius:14px}
.sky-legend .sky-legend-hint{grid-column:1/-1;text-align:left;font-size:9px}
.sky-legend button[data-sky]{gap:8px;min-height:48px;font-size:11px;text-align:left}
.sky-legend .sky-mini{display:block;flex:0 0 32px;width:32px;height:32px;line-height:0}
.sky-mini>svg{display:block;width:100%;height:100%;overflow:visible}
.sky-mini-moon{filter:drop-shadow(0 0 3px #e8c35a44)}
.space-chapter .sky-legend{max-width:540px;padding:8px 10px;gap:3px 6px;border-radius:16px;background:linear-gradient(135deg,#1b2c26d9,#111c1dcc)}
.sky-legend .sky-legend-hint{font-size:8px;letter-spacing:.14em;padding:0 6px}
.sky-legend button[data-sky]{position:relative;min-height:48px;padding:5px 7px;gap:7px;border-radius:10px;transition:background .2s,transform .2s;color:#e7e9d7}
.sky-legend button[data-sky]:hover,.sky-legend button[data-sky]:focus-visible{background:#d5ddbd14;transform:translateY(-2px)}
.sky-legend button[data-sky][aria-busy=true]{background:#e3c88220}
.sky-legend button[data-sky][aria-busy=true] .sky-mini{animation:legend-travel .7s ease-in-out infinite alternate}
.sky-legend .sky-mini{width:27px;height:27px;flex-basis:27px}
@keyframes legend-travel{to{transform:translateY(-3px);filter:brightness(1.3)}}
@media(max-width:700px){.space-chapter .sky-legend{padding:8px;gap:1px 7px;margin:12px 0 14px}.sky-legend button[data-sky]{min-height:46px;font-size:11px}.sky-legend .sky-mini{width:28px;height:28px;flex-basis:28px}}
@media(prefers-reduced-motion:reduce){.sky-legend button[data-sky]{transition:none}.sky-legend button[data-sky][aria-busy=true] .sky-mini{animation:none}}
.sky-audio-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #daca9424;margin-top:4px;padding-top:4px}
.sky-audio-description{font:10px/1.5 Arial,sans-serif;color:#c6cbbd}
.sky-legend .sky-audio-toggle{min-height:36px;white-space:nowrap;font-size:11px}
@media(max-width:700px){.space-chapter .sky-legend{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 18px;padding:12px 14px;gap:3px 14px}.sky-legend .sky-legend-hint{text-align:left;font-size:9px}.sky-legend button[data-sky]{font-size:12px}.sky-legend .sky-mini{width:34px;height:34px;flex-basis:34px}.sky-audio-description{font-size:9px}}
.moon-touch-hint{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;color:#e6d6a9;font:10px/1.4 Arial,sans-serif;letter-spacing:.04em}
.distant-saturn .saturn-touch{position:absolute;left:3%;top:25px;width:76px;height:54px;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto}
.distant-saturn .saturn-touch svg{position:static;width:100%;height:100%;pointer-events:none}
.saturn-note{position:absolute;top:82px;left:3%;font:10px/1.4 Arial,sans-serif;color:#eadab3;white-space:nowrap}
.bodega-cat{cursor:pointer;pointer-events:all}.bodega-cat:focus-visible{outline:1px dashed #725a38;outline-offset:3px}.cat-meow{pointer-events:none}
.mountain-friend.mountain-sitter>span,.mountain-friend.mountain-paraglider.has-landed>span{top:calc(100% + 9px);bottom:auto;left:auto;right:0;transform:none;width:104px;min-height:32px;height:auto;padding:7px 9px;border:1px solid #52635444;border-radius:9px;background:#fff8e9;color:#24382e;font:10px/1.4 Arial,sans-serif;box-shadow:0 2px 8px #12271920;text-align:center;filter:none}
.mountain-friend.mountain-paraglider.has-landed>span{right:60px}
.mountain-friend.mountain-paraglider.has-landed>span:before{display:none}
.mountain-friend.mountain-sitter>span:after,.mountain-friend.mountain-paraglider.has-landed>span:after{content:'';position:absolute;right:16px;top:-5px;width:8px;height:8px;transform:rotate(45deg);background:#fff8e9;border-left:1px solid #52635444;border-top:1px solid #52635444}
.mountain-friend.mountain-paraglider.has-landed>span:after{right:5px}
/* Keep dialogue readable and leave a clear gap between the two speakers. */
.mountain-friend.mountain-sitter>span,.mountain-friend.mountain-paraglider.has-landed>span{width:112px;padding:8px 9px;font:11px/1.45 'DM Sans',Arial,sans-serif;top:calc(100% + 12px);text-wrap:pretty}
.mountain-friend.mountain-paraglider.has-landed>span{right:66px}
#lost-after-dark.after-dark-entering,#lost-after-dark.after-dark-entering::after,#lost-after-dark.after-dark-entering>.underworld-header,#lost-after-dark.after-dark-entering>.after-dark-tabs,#lost-after-dark.after-dark-entering>.after-dark-room,#lost-after-dark.after-dark-entering>.underworld-footer,#lost-after-dark.after-dark-entering .underworld-header h2,#lost-after-dark.after-dark-entering>.night-party-shadow{animation-duration:5s}
.night-dancer{animation:shadow-encore 5s linear both}.dancer-spin{animation:shadow-spin-encore 5s ease-in-out both}.dancer-arm-right{animation-duration:5s}
@keyframes shadow-encore{0%{transform:translateX(150px) rotate(-5deg)}35%{transform:translateX(-105px) rotate(-5deg)}58%{transform:translateX(75px) rotate(0)}78%{transform:translateX(-60px) rotate(-5deg)}100%{transform:translateX(-190px) rotate(-7deg)}}
@keyframes shadow-spin-encore{0%,21%,39%,51%,69%,77%,95%,100%{transform:scaleX(1)}25%,35%,55%,65%,81%,91%{transform:scaleX(.06)}30%,60%,86%{transform:scaleX(-1)}}
@media(max-width:700px){.sky-legend{justify-content:center;gap:0 13px;margin:6px 0 12px;padding:0 8px}.sky-legend-hint{flex-basis:100%;text-align:center;font-size:8px}.distant-saturn .saturn-touch{left:0;top:34px;width:49px;height:44px}.saturn-note{left:0;top:81px;font-size:9px}.moon-touch-hint{font-size:9px}.mountain-friend.mountain-sitter>span,.mountain-friend.mountain-paraglider.has-landed>span{font-size:9px;width:93px;padding:6px}.mountain-friend.mountain-paraglider.has-landed>span{right:52px}}
@media(max-width:700px){
 .space-chapter>.daily-sun{top:20px;right:24px;width:88px;min-height:110px;padding:12px 0 0;gap:16px}
 .space-chapter>.daily-sun .daily-sun-orb{width:64px;height:64px}
 .space-chapter>.daily-sun .daily-sun-orb::before{inset:-19px}
 .space-chapter>.daily-sun .daily-sun-label{font-size:10px}
 .space-chapter>.discover-section>.section-head>div{width:100%;min-width:0}
 .space-chapter>.discover-section>.section-head .eyebrow{max-width:calc(100% - 120px);min-height:102px;margin-bottom:12px;line-height:1.6}
 .space-chapter .discovery-title{max-width:100%;font-size:clamp(32px,8.6vw,38px);line-height:1.15;overflow-wrap:normal}
 .mountain-friend.mountain-sitter>span,.mountain-friend.mountain-paraglider.has-landed>span{font-size:11px;width:112px;padding:8px 9px}
 .mountain-friend.mountain-paraglider.has-landed>span{right:66px}
 .closing{padding-bottom:132px;min-height:620px}
}
@media(max-width:540px){.city-photo-header{padding:38px 18px 18px}.city-overview-body{padding:22px 20px}.city-photo-header .city-quick-facts{grid-template-columns:1fr 1fr}.city-photo-header .city-weather{grid-column:1/-1}.city-photo-header .city-weather dd{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.city-photo-header .city-weather small{margin:0}.city-photo-header .city-weather small:last-child{margin-left:auto}}

/* Final compact legend sizing and a readable label below the actual moon. */
.space-chapter .sky-legend{padding:8px 10px;gap:3px 6px;max-width:540px}
.sky-legend .sky-mini{width:27px;height:27px;flex-basis:27px}
.moon-touch-hint{top:calc(100% + 3px);font:600 12px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.045em;color:#f1dfb1}
@media(max-width:700px){.space-chapter .sky-legend{padding:8px;gap:1px 7px;margin:12px 0 14px}.sky-legend button[data-sky]{min-height:46px;font-size:11px}.sky-legend .sky-mini{width:28px;height:28px;flex-basis:28px}.moon-touch-hint{font-size:11px}.globe-gps-footer>.after-dark-moon{left:0}}

/* The GPS key is a scaled copy of the real device, including its map and controls. */
.sky-mini-gps{position:relative}
.sky-legend .legend-gps-device{position:absolute;left:0;top:3px;width:242px;max-width:none;transform:scale(.116);transform-origin:top left;pointer-events:none;line-height:normal;text-align:left}
.sky-legend .legend-gps-device span{font-size:inherit;color:inherit}
.sky-legend .legend-gps-device .gps-topline{font-size:8.8px}
.sky-legend .legend-gps-device .gps-readout{font-size:10.4px}
.sky-legend .legend-gps-device .gps-lost{animation:none}
.saturn-note strong{display:block;font-weight:500}.saturn-note small{display:block;margin-top:7px;padding-top:6px;border-top:1px solid #dac08024;font:9px/1.4 'DM Sans',sans-serif;color:#b9b9aa;font-variant-numeric:tabular-nums}
.satellite-tap-signal{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:2px;color:#d8f3ed;pointer-events:none;white-space:nowrap;font:9px/1.2 'DM Sans',sans-serif;text-shadow:0 0 6px #89e8e044}
.satellite-tap-signal>svg{width:24px!important;height:14px!important;filter:drop-shadow(0 0 3px #8edfd950)}
.satellite-tap-signal>span{font-size:9px}
.illustrated-host-portrait{pointer-events:none}
@media(max-width:700px){.satellite-tap-signal{bottom:calc(100% + 5px);font-size:8px}.satellite-tap-signal>svg{width:20px!important;height:12px!important}.satellite-tap-signal>span{font-size:8px}}
/* Two familiar travelers frame the star without changing the card's geometry. */
#little-detour .star-schedule-glow{position:relative}
#little-detour .star-schedule-glow>.star-kart{position:absolute;top:-8px;width:86px;height:88px;margin:0;filter:drop-shadow(0 5px 5px #0005);animation:none}
#little-detour .star-kart-john{left:4px;transform:rotate(-6deg)}
#little-detour .star-kart-mateo{right:4px;transform:rotate(6deg)}
@media(max-width:380px),(max-height:700px){#little-detour .star-schedule-glow>.star-kart{width:64px;height:65px;top:-6px}}
@media(max-height:480px) and (min-width:601px){#little-detour .star-schedule-glow>.star-kart{width:56px;height:57px;top:4px}#little-detour .star-kart-john{left:-10px}#little-detour .star-kart-mateo{right:-10px}}
#lost-after-dark .underworld-header h2{color:#fff5ff;text-shadow:0 0 2px #fff,0 0 7px #fcb3ed,0 0 20px #eb62ca88,0 0 42px #ad42d044}
#lost-after-dark .underworld-header h2 em{color:#ffc9f2;text-shadow:0 0 3px #fff1ff,0 0 10px #f483d5,0 0 28px #dc4fa888,0 0 50px #b83dcc44}
#lost-after-dark .underworld-moon{color:#fff4bf;text-shadow:0 0 3px #fff6d7,0 0 11px #ffdc76,0 0 29px #ffc15999,0 0 48px #ffb45444}
.dancer-finale{animation:split-drop 5s ease-in-out both}
.dancer-leg-left{animation:finale-left 5s ease-in-out both}
.dancer-leg-right{animation:finale-right 5s ease-in-out both}
@keyframes split-drop{0%,77%{transform:translateY(0)}87%,100%{transform:translateY(130px)}}
@keyframes finale-left{0%,24%,48%,72%{transform:rotate(-8deg)}12%,36%,60%,77%{transform:rotate(9deg)}87%,100%{transform:rotate(82deg)}}
@keyframes finale-right{0%,24%,48%,72%{transform:rotate(9deg)}12%,36%,60%,77%{transform:rotate(-8deg)}87%,100%{transform:rotate(-82deg)}}
@keyframes shadow-encore{0%{transform:translateX(150px) rotate(-5deg)}35%{transform:translateX(-105px) rotate(-5deg)}58%{transform:translateX(75px)}77%{transform:translateX(0)}100%{transform:translateX(0)}}
@keyframes shadow-spin-encore{0%,21%,39%,51%,69%,77%,100%{transform:scaleX(1)}25%,35%,55%,65%{transform:scaleX(.06)}30%,60%{transform:scaleX(-1)}}
@keyframes party-shadow-form{0%{opacity:0;filter:blur(4px);transform:scale(.98)}12%,94%{opacity:1;filter:blur(0);transform:scale(1)}100%{opacity:0;filter:blur(3px);transform:scale(1)}}
.distant-saturn .saturn-note{z-index:8;top:82px;left:3%;width:190px;max-width:calc(100vw - 60px);white-space:normal;padding:9px 12px;border:1px solid #dac08045;border-radius:10px;background:#111e26f2;color:#ecdfbc;font:11px/1.5 'DM Sans',sans-serif;box-shadow:0 5px 20px #0004;pointer-events:none}
/* Reserve space for the moon and caption inside the space section. */
.globe-gps-footer>.after-dark-moon{left:66px;top:248px}
.space-chapter .globe-gps-footer{padding-bottom:220px}
@media(max-width:700px){.globe-gps-footer>.after-dark-moon{left:clamp(50px,20vw,96px);top:236px}.space-chapter .globe-gps-footer{padding-bottom:220px}.globe-gps-footer>.after-dark-moon .moon-touch-hint{white-space:nowrap}}
/* A quiet glass panel with a restrained neon edge. */
.space-chapter .sky-legend{background:linear-gradient(135deg,#13251d60,#0b151d70);border-color:#79dec91f;box-shadow:inset 0 0 16px #69dfbc04,0 0 15px #71ddc506}
.sky-legend .sky-legend-hint{color:#9aafa7;opacity:.65}
.sky-legend button[data-sky]{color:#c2d0c5}
.sky-legend .sky-mini-sun,.sky-legend .sky-mini-moon{filter:drop-shadow(0 0 3px #ffe08077) drop-shadow(0 0 7px #eec76b22)}
.sky-legend .sky-mini-gps,.sky-legend .sky-mini-satellite{filter:drop-shadow(0 0 3px #77efcf66) drop-shadow(0 0 7px #77dfef22)}
.sky-legend button[data-sky]:hover,.sky-legend button[data-sky]:focus-visible{background:#7df5d50a;color:#e5fff5;text-shadow:0 0 9px #91f3d65c;box-shadow:inset 0 0 0 1px #8affd52a,0 0 12px #68e2c50b}
.sky-legend button[data-sky][aria-busy=true]{background:#8bf7cf10;box-shadow:inset 0 0 0 1px #98f9d535}
/* Compact on phones while retaining comfortable tap targets. */
.space-chapter>.little-detour-star.star-powered svg{animation:star-power-spin 1.1s cubic-bezier(.2,.65,.3,1) both!important}
@keyframes star-power-spin{0%{transform:scale(1) rotate(0);filter:hue-rotate(0deg) drop-shadow(0 0 9px #ffe071)}35%{transform:scale(1.65) rotate(280deg);filter:hue-rotate(130deg) drop-shadow(0 0 18px #8cf4da)}70%{transform:scale(1.45) rotate(590deg);filter:hue-rotate(260deg) drop-shadow(0 0 20px #e997ff)}100%{transform:scale(1.1) rotate(720deg);filter:hue-rotate(360deg) drop-shadow(0 0 14px #fff0ac)}}
#little-detour{isolation:isolate;border-color:#91e6dd66;background:radial-gradient(ellipse at 50% 0,#323764 0,transparent 60%),linear-gradient(155deg,#171c35,#101d24);box-shadow:0 0 0 1px #ce92f12b,0 0 45px #91c7ed22,0 24px 100px #000b}
#little-detour .star-schedule-premiere{border-color:#9fe8e048;background:linear-gradient(120deg,#677fba18,#bf8dde15)}
#little-detour .star-schedule-eyebrow::before{content:'';display:inline-block;width:20px;height:14px;margin-right:8px;vertical-align:-2px;background:conic-gradient(#e4e7df 25%,#263043 0 50%,#e4e7df 0 75%,#263043 0) 0 0/7px 7px;transform:skewY(-8deg);border-radius:1px}
.star-race-track{position:absolute;inset:auto 0 0;height:100px;z-index:-1;pointer-events:none;opacity:.23;overflow:hidden;mask-image:linear-gradient(transparent,#000)}
.star-race-track svg{width:100%;height:100%}
.star-race-track::after{content:'';position:absolute;width:65px;height:3px;border-radius:100%;background:#fff4ce;box-shadow:0 0 12px #adfff2;left:-80px;top:58%;animation:race-light-pass 4s ease-in-out infinite}
@keyframes race-light-pass{to{left:110%;top:25%}}
#little-detour[open] .star-schedule-glow>svg:not(.star-kart){animation:rainbow-star-arrival 1.7s ease-out both}
@keyframes rainbow-star-arrival{from{filter:hue-rotate(180deg) drop-shadow(0 0 24px #91ffe5);transform:rotate(-18deg) scale(.85)}to{filter:hue-rotate(0deg) drop-shadow(0 0 14px #ffda5866);transform:rotate(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.star-race-track::after,#little-detour[open] .star-schedule-glow>svg{animation:none!important}}
.star-powered .power-star-eyes{display:none;animation:none!important}
#little-detour .power-star-eyes{display:inline}
.star-powered svg>path:first-of-type{animation:star-rainbow-fill 1.1s linear both}
@keyframes star-rainbow-fill{0%,100%{fill:#ffe36d}20%{fill:#ff82b3}40%{fill:#b39aff}60%{fill:#76cfff}80%{fill:#75efbc}}
.star-race-track{height:56px;opacity:.7;mask-image:linear-gradient(transparent 0%,#000 35%);bottom:0}
.star-race-track::after{display:none}
.rainbow-road-glint{animation:rainbow-road-run 3.2s linear infinite;opacity:.85}
@keyframes rainbow-road-run{to{stroke-dashoffset:-618}}
#little-detour .star-schedule-footer{position:relative;text-shadow:0 1px 5px #071421,0 1px 9px #071421}
@media(prefers-reduced-motion:reduce){.rainbow-road-glint,.star-powered svg>path:first-of-type{animation:none}#little-detour[open] .power-star-eyes{animation:none;opacity:1}}
.space-chapter>.little-detour-star{position:absolute;left:0;top:0;bottom:auto;z-index:6;display:grid;place-items:center;width:56px;height:56px;padding:5px;border:0;background:none;cursor:pointer;border-radius:50%;will-change:transform;touch-action:manipulation}
.space-chapter>.little-detour-star svg{width:44px;height:44px}
.power-star-eyes{transform-box:fill-box;transform-origin:center;animation:power-star-blink 4.4s linear infinite}
@keyframes power-star-blink{0%,88%,94%,100%{transform:scaleY(1)}90%,92%{transform:scaleY(.08)}}
.star-schedule-glow>svg{width:64px;height:64px;display:block;margin:auto;filter:drop-shadow(0 0 14px #ffda5866)}
@media(max-height:700px) and (max-width:600px){.star-schedule-glow>svg{width:44px;height:44px}}
.little-detour-star:hover svg,.little-detour-star:focus-visible svg{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.power-star-eyes{animation:none}.space-chapter>.little-detour-star{will-change:auto}}
.space-chapter .sky-legend{max-width:480px;padding:5px 7px;gap:0 4px;margin:10px auto;border-color:#79dec914;background:#12221b35;box-shadow:none;border-radius:12px}
.sky-legend .sky-legend-hint{display:none}
.sky-legend button[data-sky]{min-height:44px;padding:4px 6px;gap:6px;font-size:10px}
.sky-legend .sky-mini{width:24px;height:24px;flex-basis:24px}
.sky-legend .legend-gps-device{transform:scale(.099);top:3px}
@media(max-width:700px){.space-chapter .sky-legend{width:100%;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px 6px;gap:0 6px;margin:8px 0 12px}.sky-legend button[data-sky]{min-width:0;min-height:44px;padding:3px 5px;font-size:10px;gap:6px}.sky-legend .sky-mini{width:24px;height:24px;flex-basis:24px}.sky-legend button[data-sky] b{line-height:1.3}}

/* Compact dialogue, animated satellite invitation, and a warmer daily light. */
.mountain-friend.mountain-sitter>span,.mountain-friend.mountain-paraglider.has-landed>span{top:calc(100% + 4px);width:86px;min-height:0;padding:5px 6px;font:9px/1.35 'DM Sans',sans-serif;border-radius:7px}
.mountain-friend.mountain-paraglider.has-landed>span{right:40px}
.mountain-friend.mountain-sitter>span:after{right:10px;width:6px;height:6px;top:-4px}
.satellite-tap-signal>svg{animation:satellite-transmit 5s ease-in-out infinite;transform-origin:50% 100%}
.satellite-tap-signal>span{animation:satellite-invitation 5s ease-in-out infinite}
@keyframes satellite-transmit{0%,5%{opacity:0;transform:scale(.5)}15%,32%{opacity:1;transform:scale(1)}23%{opacity:.3;transform:scale(.8)}45%,100%{opacity:0;transform:scale(1.3)}}
@keyframes satellite-invitation{0%,42%{opacity:0;transform:translateY(-3px)}55%,90%{opacity:1;transform:translateY(0)}100%{opacity:0}}
.space-chapter .daily-sun-orb{background:radial-gradient(circle at 40% 35%,#ffffee 0,#fff9cf 28%,#ffe59b 65%,#edc576 100%);box-shadow:0 0 25px #fff1bcaa,0 0 65px #ffdf9955,0 0 100px #fff6d522}
.space-chapter .daily-sun-orb::after{box-shadow:0 0 10px #fffce9}
@media(prefers-reduced-motion:reduce){.satellite-tap-signal>svg,.satellite-tap-signal>span{animation:none;opacity:1}}

.gps-speech{bottom:calc(100% - 12px);padding:5px 8px;border-radius:10px;font:600 10px/1.3 'DM Sans',sans-serif}

/* Keep the satellite invitation attached to its antenna. */
.satellite-tap-signal{bottom:calc(100% - 8px);gap:0}
.satellite-tap-signal>svg{width:22px!important;height:13px!important}
.shelf-guide .guide-figure{width:60px;height:73px}
@media(max-width:700px){.satellite-tap-signal{bottom:calc(100% - 9px)}.satellite-tap-signal>svg{width:18px!important;height:11px!important}.shelf-guide .guide-figure{width:58px;height:71px}}

/* Radiating arcs rather than a bouncing signal. */
.satellite-tap-signal>svg{animation:none;transform:none;opacity:1}
.satellite-tap-signal>svg path{stroke-dasharray:60;stroke-dashoffset:60;animation:signal-wave-flow 6s cubic-bezier(.25,.1,.25,1) infinite}
.satellite-tap-signal>svg circle{animation:signal-origin-glow 6s ease-in-out infinite}
.satellite-tap-signal>span{animation:signal-word-reveal 6s ease-in-out infinite}
@keyframes signal-wave-flow{0%{stroke-dashoffset:60;opacity:0}12%{opacity:.8}38%{stroke-dashoffset:0;opacity:1}60%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes signal-origin-glow{0%,100%{opacity:.25}25%,45%{opacity:1}70%{opacity:.35}}
@keyframes signal-word-reveal{0%,38%{opacity:0}58%,88%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.satellite-tap-signal>svg path,.satellite-tap-signal>svg circle,.satellite-tap-signal>span{animation:none;stroke-dashoffset:0;opacity:1}}

/* A quiet antenna cue; the invitation appears only on intent. */
.satellite-tap-signal{color:#a7c8c0;text-shadow:none}
.satellite-tap-signal>svg{opacity:.5;filter:none}
.satellite-tap-signal>span{animation:none;opacity:0;font-size:7px;letter-spacing:.04em;transition:opacity .5s ease}
.satellite:hover .satellite-tap-signal>span,.satellite:focus-visible .satellite-tap-signal>span{opacity:.65}

/* Connected silhouette: one torso, shoulder-anchored arms, synchronized steps. */
.night-dancer,.night-dancer g{transform-box:view-box}
.night-dancer{animation-timing-function:cubic-bezier(.35,0,.65,1)}
.dancer-upper{animation:none;transform:none}
.dancer-arm-left{transform-origin:117px 140px;animation:connected-arm 5s ease-in-out both;animation-delay:0s}
.dancer-arm-right{transform-origin:166px 140px;animation:connected-hat 5s ease-in-out both;animation-delay:0s}
.dancer-leg-left{transform-origin:126px 238px}
.dancer-leg-right{transform-origin:154px 238px}
@keyframes connected-arm{0%,24%,48%,72%{transform:rotate(-4deg)}12%,36%,60%{transform:rotate(5deg)}77%,100%{transform:rotate(0)}}
@keyframes connected-hat{0%,24%,48%,72%{transform:rotate(0)}12%,36%,60%{transform:rotate(-7deg)}77%,100%{transform:rotate(0)}}
.gps-speech,.mountain-friend.mountain-sitter>span,.mountain-friend.mountain-paraglider.has-landed>span{background:#fff8e9;color:#284447;border:1px solid #52635466;border-radius:8px;padding:5px 8px;font:600 10px/1.35 'DM Sans',sans-serif;text-shadow:none;box-shadow:0 2px 5px #243d4310}
.gps-speech::after{background:#fff8e9;border-color:#52635466;border-width:1px;width:6px;height:6px;bottom:-4px}

/* John trades zero-gravity drifting for a quiet seat on the moon. */
.gps-with-guide>.gps-guide{display:none}
.after-dark-moon>svg{overflow:visible}
.after-dark-moon:hover{transform:none}
.moon-fisher{transform-origin:66px 75px;transform-box:view-box}
.moon-fishing-rod{transform-origin:47px 60px;transform-box:view-box}
.moon-fishing-line{animation:fishing-line-drift 4s ease-in-out infinite;transform-origin:5px 10px}
@keyframes fishing-line-drift{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
.moon-fishing-fall .moon-fisher{animation:fisher-tumble 1.15s cubic-bezier(.4,0,.6,1) both}
.moon-fishing-fall .moon-fishing-rod{animation:fisher-snatch 1.15s ease-in-out both}
@keyframes fisher-snatch{0%{transform:rotate(0)}24%{transform:rotate(35deg)}45%,100%{transform:rotate(55deg)}}
@keyframes fisher-tumble{0%{transform:translate(0,0) rotate(0);opacity:1}24%{transform:translate(1px,-3px) rotate(12deg)}43%{transform:translate(6px,0) rotate(30deg)}70%{transform:translate(15px,22px) rotate(100deg);opacity:1}100%{transform:translate(22px,72px) rotate(165deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.moon-fishing-line,.moon-fishing-fall .moon-fisher,.moon-fishing-fall .moon-fishing-rod{animation:none}}

/* Grow the astronauts around their anchors without changing their motion. */
.moon-fisher{scale:.62;transform-origin:66px 75px}
.moon-fishing-rod{scale:.8;transform-origin:47px 60px}
@media(max-width:700px){.moon-fisher{scale:.66}}
.astronaut-figure{scale:1.25;transform-origin:50% 50%}

/* A curious pilot peeks out before the saucer departs. */
.where-next-ship .ufo-alien{opacity:0;transform:translateY(16px);transform-box:view-box;transform-origin:35px 27px}
.where-next-ship.ufo-launching>svg{animation:ufo-getaway 1.4s cubic-bezier(.45,0,.2,1) both;overflow:visible}
.ufo-launching .ufo-alien{animation:ufo-pilot-peek 1.4s ease-in-out both}
.ufo-launching>span{opacity:.45;transition:opacity .3s}
@keyframes ufo-pilot-peek{0%,5%{opacity:0;transform:translateY(16px)}23%,55%{opacity:1;transform:translateY(0)}68%,100%{opacity:1;transform:translateY(2px)}}
@keyframes ufo-getaway{0%{transform:translate(0,0) rotate(0);opacity:1}28%{transform:translate(0,-5px) rotate(-5deg)}46%{transform:translate(0,-5px) rotate(5deg)}60%{transform:translate(-5px,-8px) rotate(-8deg);opacity:1}100%{transform:translate(100px,-120px) rotate(18deg) scale(.18);opacity:0}}
@media(prefers-reduced-motion:reduce){.where-next-ship.ufo-launching>svg,.ufo-launching .ufo-alien{animation:none}}

/* Matching dialogue treatment for both closing hosts. */
.closing .mountain-friend>span{background:#fff8e9;border:1px solid #52635466;border-radius:8px;color:#284447;font:600 10px/1.35 'DM Sans',sans-serif;width:96px;height:auto;min-height:0;padding:6px 8px;text-align:center;box-shadow:0 2px 5px #243d4310;filter:none;text-shadow:none}
.closing .mountain-friend>span:after{background:#fff8e9;border-color:#52635466}
/* Two seconds of clear lettering, followed by one restrained electric sweep. */
.social-smoke-shout{position:absolute;left:50%;top:43%;z-index:2;width:max-content;max-width:95vw;transform:translate(-50%,-50%);font:700 clamp(44px,11.5vw,126px)/.8 'DM Sans',Arial,sans-serif;letter-spacing:-.045em;white-space:nowrap;color:#fff5df;text-shadow:0 1px 1px #ffffff20,0 4px 16px #070d2040;opacity:0;pointer-events:none}
.reveal-exploding.oh-yeah-active .social-smoke-shout{opacity:1;animation:oh-yeah-forward-punch 2s cubic-bezier(.2,.8,.2,1) both}
.oh-yeah-intact{display:block}
@keyframes oh-yeah-forward-punch{0%{opacity:0;transform:translate(-50%,-50%) scale(.68)}9%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}23%,48%{opacity:1;transform:translate(-50%,-50%) scale(1)}61%{opacity:1;transform:translate(-50%,-50%) scale(1.09)}78%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.oh-yeah-electric{position:absolute;left:50%;top:43%;width:min(94vw,940px);aspect-ratio:900/220;transform:translate(-50%,-50%);pointer-events:none;opacity:0;z-index:3}
.oh-yeah-electric>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke-linejoin:bevel;stroke-linecap:round;filter:drop-shadow(0 0 4px #77d5e6)}
.electro-bolt{stroke:#efffff;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
.electro-branch{stroke:#8acee1;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;opacity:.65}
.electro-glow{position:absolute;inset:-65% -5%;background:radial-gradient(ellipse,#b7e9ff40 0%,#70ced518 22%,transparent 65%);opacity:0}
.electro-beam{position:absolute;left:8%;right:8%;top:50%;height:2px;background:#fff3de;box-shadow:0 0 8px #ffbb80,0 0 22px #8edfee;opacity:0}
.reveal-exploding.oh-yeah-departing .social-smoke-shout{animation:oh-yeah-electric-out .14s ease-in both}
.oh-yeah-departing .oh-yeah-electric{animation:oh-yeah-electric-flash .3s linear both}
.oh-yeah-departing .electro-bolt{animation:oh-yeah-bolt-draw .09s ease-out both}
.oh-yeah-departing .electro-branch{animation:oh-yeah-bolt-draw .09s .025s ease-out both}
.oh-yeah-departing .electro-glow{animation:oh-yeah-light-bloom .3s ease-out both}
.oh-yeah-departing .electro-beam{animation:oh-yeah-light-line .27s .03s ease-out both}
@keyframes oh-yeah-electric-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}25%{opacity:1;color:#fff;text-shadow:0 0 6px #b3f1ff}100%{opacity:0;transform:translate(-50%,calc(-50% - 4px)) scale(1.015)}}
@keyframes oh-yeah-electric-flash{0%{opacity:0}12%,35%{opacity:1}70%{opacity:.35}100%{opacity:0}}
@keyframes oh-yeah-bolt-draw{to{stroke-dashoffset:0}}
@keyframes oh-yeah-light-bloom{0%{opacity:0;transform:scale(.5,.2)}25%{opacity:.8}100%{opacity:0;transform:scale(1.05,.85)}}
@keyframes oh-yeah-light-line{0%{opacity:0;transform:scaleX(.15)}20%{opacity:.85;transform:scaleX(.7)}100%{opacity:0;transform:scaleX(1.1)}}
.oh-yeah-active .explosion-title,.oh-yeah-departing .explosion-title{visibility:hidden}
.oh-yeah-active .explosion-cloud,.oh-yeah-departing .explosion-cloud{visibility:hidden}
.social-burst .explosion-cloud{mask-image:radial-gradient(ellipse closest-side,#000 35%,transparent 100%)}
/* Reveal the phones after the electric sweep without disturbing their orbit. */
.watch-section .socials-showcase.reveal-exploding .social-card{opacity:0;animation:none;pointer-events:none}
.watch-section .socials-showcase.reveal-exploding .phone-wrap{animation:none}
.watch-section .socials-showcase.phones-revealing .social-card{animation:phone-reveal-opacity .18s var(--phone-delay,0ms) both;pointer-events:auto}
.watch-section .socials-showcase.phones-revealing .phone-wrap{animation:phone-reveal-launch .42s var(--phone-delay,0ms) cubic-bezier(.16,1,.3,1) both}
.watch-section:has(.socials-showcase.reveal-armed:not(.phones-revealing))>.space-plane{visibility:hidden!important;opacity:0!important}
.watch-section:has(.socials-showcase.phones-revealing)>.space-plane{visibility:visible;animation:phone-reveal-opacity .6s ease-out both}
.social-card:nth-child(1){--phone-x:-30px;--phone-roll:-9deg}
.social-card:nth-child(2){--phone-delay:35ms;--phone-x:0px;--phone-roll:5deg}
.social-card:nth-child(3){--phone-delay:70ms;--phone-x:30px;--phone-roll:9deg}
@keyframes phone-reveal-opacity{from{opacity:0}to{opacity:1}}
@keyframes phone-reveal-launch{from{transform:translate(calc(var(--phone-x,0px)*.35),22px) scale(.88)}to{transform:translate(0,0) scale(1)}}
.flight-anchor{visibility:hidden!important;pointer-events:none!important}
.mountain-paraglider.is-flying{will-change:transform;transition:none!important;transform-origin:50% 20%}
.closing.closing-answer .mountain-paraglider.is-flying>span{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){.reveal-exploding .social-smoke-shout{animation:none}}

/* Unboxed dialogue and matching click arrows, clear of the caps. */
.closing:not(.figures-engaged) .mountain-friend>span{visibility:hidden}
.closing .mountain-friend>span,.closing .mountain-friend.mountain-sitter>span,.closing .mountain-friend.mountain-paraglider.has-landed>span{background:none;border:0;box-shadow:none;color:#fffdf1;text-shadow:0 1px 4px #071d24,0 1px 8px #071d24;font:600 10px/1.4 'DM Sans',sans-serif;border-radius:0;padding:2px 0;width:86px;top:calc(100% + 5px);bottom:auto;left:50%;right:auto;transform:translateX(-50%);height:auto;min-height:0}
.closing .mountain-friend>span:before,.closing .mountain-friend>span:after{display:none!important}
.closing .mountain-friend>.figure-click-arrow{position:absolute;top:45%;left:calc(100% + 5px);width:20px;font:24px/1 Arial,sans-serif;color:white;text-shadow:0 1px 4px #071d24;pointer-events:none;animation:figure-arrow-tap 2s ease-in-out infinite}
.closing .mountain-friend .guide-nodding-head{animation:none}
@keyframes figure-arrow-tap{0%,65%,100%{transform:translate(0,0)}80%{transform:translate(-3px,-3px)}}
.satellite-tap-signal>svg path{animation:signal-wave-flow 5s ease-in-out infinite;stroke-dasharray:60}
.satellite-tap-signal>svg path:nth-of-type(1){animation-delay:.5s}
.satellite-tap-signal>svg path:nth-of-type(2){animation-delay:.25s}
.satellite-tap-signal>svg path:nth-of-type(3){animation-delay:0s}
.satellite-tap-signal>span{animation:fourth-signal-word 5s ease-in-out infinite;font-size:7px;letter-spacing:.04em}
@keyframes fourth-signal-word{0%,48%,100%{opacity:0;transform:translateY(2px)}64%,82%{opacity:.7;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.closing .mountain-friend>.figure-click-arrow,.satellite-tap-signal>svg path,.satellite-tap-signal>span{animation:none}.satellite-tap-signal>span{opacity:.6}}

.closing .mountain-friend.mountain-sitter>span{width:68px;transform:translateX(-80%)}
.closing .mountain-friend.mountain-paraglider.has-landed>span{width:68px;transform:translateX(-110%)}

.closing .mountain-sitter>.figure-click-arrow{left:auto;right:calc(100% + 5px);transform:scaleX(-1);animation:none}
.closing .mountain-friend>.figure-click-arrow{height:20px;font-size:0;filter:drop-shadow(0 1px 2px #071d24)}
.figure-click-arrow::before{content:'';position:absolute;left:3px;top:3px;width:12px;height:12px;border-top:2px solid white;border-left:2px solid white;border-radius:1px}
.figure-click-arrow::after{content:'';position:absolute;left:3px;top:3px;width:19px;height:2px;background:white;transform:rotate(45deg);transform-origin:1px 1px;border-radius:2px}

/* Familiar pointer hands without font glyphs or decorative caps. */
.closing .mountain-friend>.figure-click-arrow{width:19px;height:24px;filter:drop-shadow(0 1px 2px #071d24)}
.figure-click-arrow::before,.figure-click-arrow::after{display:none}
.closing .figure-click-arrow>svg{display:block;width:19px;height:24px;overflow:visible}
.storybook-cover .storybook-friends{width:82px;height:57px;max-width:100%;overflow:visible}
/* Brief anticipation, a lost balance, then an accelerating fall. */
.moon-fishing-fall .moon-fisher{animation:fisher-tumble 1.15s linear both}
@keyframes fisher-tumble{0%{transform:translate(0,0) rotate(0);opacity:1;animation-timing-function:ease-out}18%{transform:translate(-2px,1px) rotate(-8deg);animation-timing-function:ease-in-out}35%{transform:translate(1px,-3px) rotate(8deg);animation-timing-function:ease-in}55%{transform:translate(-5px,3px) rotate(-22deg);opacity:1}73%{transform:translate(-12px,17px) rotate(-48deg);opacity:1}89%{transform:translate(-20px,43px) rotate(-78deg);opacity:.8}100%{transform:translate(-25px,72px) rotate(-104deg);opacity:0}}
@keyframes fisher-snatch{0%,12%{transform:rotate(0)}30%{transform:rotate(-28deg)}47%{transform:rotate(-12deg)}70%,100%{transform:rotate(-5deg)}}
@media(prefers-reduced-motion:reduce){.moon-fishing-fall .moon-fisher{animation:none}}

.shelf-guide>span{background:none;border:0;border-radius:0;padding:0;box-shadow:none;text-shadow:none;font:600 21px/1.05 Caveat,cursive;color:inherit;max-width:none}

#passport-reader .passport-music-toggle{margin-left:auto;margin-right:8px;flex-shrink:0;border:0;background:none;color:inherit;font:10px/1.3 'DM Sans',sans-serif;padding:8px 4px;cursor:pointer}

/* Coordinated pointer cues, a stamped invitation and a tiny mission pilot. */
.closing .mountain-friend>.figure-click-arrow{animation:click-hand-blink 1s steps(1,end) infinite,figure-arrow-tap 2s ease-in-out infinite;transform:none}
.closing .mountain-sitter>.figure-click-arrow>svg{transform:scaleX(-1)}
@keyframes click-hand-blink{0%,100%{opacity:1}55%{opacity:0}}
.bodega-cat:focus:not(:focus-visible){outline:none}.bodega-cat>rect{fill:transparent!important;stroke:none!important}
#about .about-copy>.lost-invitation{display:block;width:max-content;max-width:95%;margin:20px auto 18px;padding:10px 18px;border:3px double #b84332;border-radius:5px;background:transparent;color:#a53529;font:800 clamp(17px,3vw,23px)/1.15 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.06em;transform:rotate(-5deg);box-shadow:inset 0 0 0 1px #b8433222;cursor:pointer;transition:transform .2s,background .2s}
.lost-invitation:hover,.lost-invitation:focus-visible{transform:rotate(-2deg) scale(1.04);background:#b843320a;outline-offset:5px}
#gps-tracker-title .lost-red{color:#bd3f36}
.mission-pilot{display:inline-block;width:40px;height:30px;margin-right:8px;vertical-align:middle}
.mission-pilot>svg{width:40px;height:30px;overflow:visible}
.mission-pilot .ufo-alien{opacity:1;transform-origin:35px 26px;animation:mission-pilot-wave 3s ease-in-out infinite}
#where-next[open] .mission-pilot>svg{animation:mission-pilot-arrive .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes mission-pilot-wave{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-3px) rotate(4deg)}}
@keyframes mission-pilot-arrive{from{opacity:0;transform:translate(30px,-15px) scale(.5) rotate(12deg)}to{opacity:1;transform:translate(0,0) scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.closing .mountain-friend>.figure-click-arrow,.mission-pilot .ufo-alien,#where-next[open] .mission-pilot>svg{animation:none}}

/* Lower, brighter red stamp with a stronger impression. */
#about .about-copy>.lost-invitation{margin-top:116px;max-width:100%;padding:10px 8px;color:#d8232c;border:0;border-radius:0;font:900 clamp(25px,3.4vw,34px)/1.05 'Arial Black','DM Sans',Arial,sans-serif;letter-spacing:-.055em;background:transparent;-webkit-text-stroke:.3px currentColor;text-shadow:1px 1px 0 #8b0e1b60;box-shadow:none;transform:rotate(-4deg);text-wrap:balance}
#about .about-copy>.lost-invitation:hover,#about .about-copy>.lost-invitation:focus-visible{transform:rotate(-2deg) scale(1.025);background:transparent;color:#ed1727}
@media(max-width:360px){#about .about-copy>.lost-invitation{font-size:24px}}

/* John has a slightly deeper skin tone; faces remain above the clothing. */
svg[data-host="john"] .natural-arms,svg[data-host="john"] .natural-limbs>path:first-child,.learning-friend-left .learning-rest-arm>path:first-child,.learning-friend-left .learning-catch-arm>path:first-child,.natural-limbs>.john-arm{stroke:#c79875}
svg[data-host="john"] .guide-hands,svg[data-host="john"] .natural-limbs>path[transform],.learning-friend-left .bodega-natural-hand>path:first-child,.natural-limbs>.john-hand{fill:#cda27f}
.distant-saturn .saturn-note{box-sizing:border-box;width:168px;max-width:calc(100vw - 32px);padding:7px 9px;font:10px/1.4 'DM Sans',sans-serif;border-radius:8px;overflow-wrap:anywhere}
@media(max-width:700px){.distant-saturn .saturn-note{width:158px;padding:7px 8px;font-size:10px}.space-chapter .sky-legend{max-width:100%}.gps-tracker .gps-expanded-top{gap:6px;flex-wrap:wrap}.gps-map-heading h2{overflow-wrap:normal}}

@media(max-width:700px){
 #gps-tracker{padding:8px}
 #gps-tracker .gps-expanded-device{padding:9px}
 #gps-tracker .gps-map-heading{padding:14px}
 #gps-tracker .gps-map-heading h2{font-size:24px}
 #gps-tracker .gps-world{margin-top:42px}
 #gps-tracker .gps-world>img{max-height:130px;object-fit:contain}
 #gps-tracker .gps-poll{padding:10px;margin-top:9px;margin-bottom:10px}
 #gps-tracker .gps-poll>p:first-child{font-size:16px;margin-bottom:8px}
 #gps-tracker .gps-poll-status{font-size:10px;margin-top:8px}
 #gps-tracker .gps-poll-options button{gap:5px;padding:9px 7px;font-size:11px}
 #gps-tracker .gps-expanded-controls{padding-top:9px}
 #gps-tracker .gps-expanded-controls i{width:18px;height:18px}
}
@media(max-width:700px) and (max-height:680px){
 #gps-tracker .gps-world>img{max-height:90px}
 #gps-tracker .gps-map-heading{padding:10px 14px}
 #gps-tracker .gps-map-heading h2{font-size:22px}
 #gps-tracker .gps-map-status{padding:9px 12px}
}

/* Question, reply, flight: each beat has room to read. */
.closing.closing-question .mountain-paraglider>span{visibility:hidden}
.night-venue .adventure-hook{font:italic 15px/1.5 Georgia,serif;color:#e5c8de;margin:0 0 10px}
.night-venue .adventure-detail{font:12px/1.65 'DM Sans',sans-serif;color:#c0baca;margin:0 0 15px}
.closing.closing-answer .mountain-paraglider>span{animation:closing-reply-in .35s ease-out both}
@keyframes closing-reply-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.closing.closing-answer .mountain-paraglider>span{animation:none}}
