/* Aether Motion — the story map. Independent from the scene animation layers. */
.am-explorer-dock{
  --explorer-progress:0;position:fixed;right:clamp(16px,2.5vw,42px);bottom:max(18px,env(safe-area-inset-bottom));z-index:42;
  display:flex;align-items:center;gap:11px;min-height:52px;padding:6px 18px 6px 7px;
  border:1px solid #d8c7b443;border-radius:999px;background:#161915ed;color:#f1e9dc;
  font:500 11px/1.2 'Aether Manrope',sans-serif;letter-spacing:.04em;cursor:pointer;
  box-shadow:0 5px 25px #0003,inset 0 1px 0 #ffffff08;backdrop-filter:blur(18px);
  transition:background .25s,border-color .25s,transform .25s;
}
.am-explorer-dock[hidden]{display:none}
body:has(dialog[open]) .am-explorer-dock{display:none}
.am-explorer-dock:hover{background:#282c25;border-color:#d8c7b48c;transform:translateY(-2px)}
.am-explorer-dock-label{font-weight:500}.am-explorer-dock-count{color:#c0b6a7;font-size:9px;letter-spacing:.08em;padding-left:10px;border-left:1px solid #d8c7b42b}
.am-explorer-ring{display:block;width:37px;height:37px;flex:0 0 37px}.am-explorer-ring svg{display:block;width:100%;height:100%;fill:none}
.am-explorer-ring circle{fill:none;stroke-width:1}.am-explorer-ring-track{stroke:#eee0cc29}.am-explorer-ring-fill{stroke:#d8b992;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--explorer-progress));transform:rotate(-90deg);transform-origin:center}
.am-explorer-ring path{fill:#e5d1b4;stroke:none}
html.am-explorer-is-open{overflow:hidden;scrollbar-gutter:stable}
.am-explorer-scroll{overscroll-behavior:contain}
.am-explorer{
  position:fixed;inset:0;width:min(1180px,calc(100vw - 64px));height:min(88dvh,960px);max-width:none;max-height:none;
  padding:0;margin:auto;overflow:hidden;border:1px solid #c5b39b40;border-radius:3px;
  background:#151a16;color:#eee6d9;box-shadow:0 35px 140px #0008;font-family:'Aether Manrope',sans-serif;
}
.am-explorer::backdrop{background:#080d0adb;backdrop-filter:blur(14px)}
.am-explorer[open]{animation:am-explorer-enter .36s cubic-bezier(.16,1,.3,1)}
.am-explorer-shell{height:100%;display:flex;flex-direction:column}
.am-explorer-header{position:relative;display:flex;justify-content:space-between;gap:24px;flex:0 0 auto;padding:clamp(22px,3.5vw,48px) clamp(22px,3.5vw,48px) 27px;border-bottom:1px solid #b9a68a26}
.am-explorer-eyebrow{margin:0;color:#bba589;font-size:9px;font-weight:500;line-height:1.5;letter-spacing:.18em;text-transform:uppercase}
.am-explorer-heading{max-width:850px;margin:12px 0 10px;font-family:var(--am-display,var(--am-serif,Georgia,serif));font-weight:400;font-size:clamp(2.5rem,4.5vw,4.9rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance;color:#f0e6d6}
.am-explorer-description{margin:0;font-size:12px;line-height:1.7;letter-spacing:.01em;color:#a8ada3}
.am-explorer-close{display:grid;place-items:center;align-self:flex-start;flex-shrink:0;width:43px;height:43px;padding:12px;background:transparent;border:1px solid #b9a68a4d;border-radius:50%;color:#ede0cb;cursor:pointer;transition:background .2s,transform .25s}
.am-explorer-close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}
.am-explorer-close:hover{background:#b9a68a24;transform:rotate(90deg)}
.am-explorer-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:27px clamp(22px,3.5vw,48px) 36px;scrollbar-width:thin;scrollbar-color:#7b7965 transparent}
.am-explorer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px;margin:0;padding:0;list-style:none}
.am-explorer-item{min-width:0;margin:0;padding:0}
.am-explorer-card{position:relative;display:block;width:100%;height:100%;padding:0;text-align:left;color:inherit;border:1px solid transparent;border-radius:0;background:transparent;font:inherit;cursor:pointer}
.am-explorer-card-media{position:relative;display:block;overflow:hidden;aspect-ratio:1.75;background:#263028;border:1px solid #c5b39b26}
.am-explorer-card-media:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #e6d9c10a;background:linear-gradient(0deg,#0b120d22,transparent 50%)}
.am-explorer-card-image{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.76);transition:transform .65s cubic-bezier(.16,1,.3,1),filter .4s}
.am-explorer-card-object{position:absolute;inset:4% 12%;width:76%;height:93%;object-fit:contain;filter:drop-shadow(4px 8px 8px #0005);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.am-explorer-card-media--type{background:#e2d7c2;display:grid;place-items:center}
.am-explorer-card-monogram{font-family:var(--am-display,Georgia,serif);font-size:clamp(4rem,7vw,7rem);font-style:italic;line-height:.9;letter-spacing:-.07em;color:#7a6c54}
.am-explorer-card-caption{position:relative;display:block;padding:14px 28px 4px 0;min-height:74px}
.am-explorer-card-kicker{display:block;margin-bottom:6px;font-size:8px;line-height:1.5;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#a8ad9f}
.am-explorer-card-title{display:block;font-family:var(--am-display,var(--am-serif,Georgia,serif));font-size:clamp(1.2rem,2vw,1.7rem);font-weight:400;line-height:1.08;letter-spacing:-.025em;color:#e8e0d2;overflow-wrap:anywhere}
.am-explorer-arrow{display:inline-block;transition:transform .25s}.am-explorer-card-caption>.am-explorer-arrow{position:absolute;right:2px;top:25px;font-size:19px;color:#ac9573}
.am-explorer-card:hover .am-explorer-card-image{transform:scale(1.045);filter:saturate(1)}
.am-explorer-card:hover .am-explorer-card-object{transform:translateY(-4px) rotate(-2deg)}
.am-explorer-card:hover .am-explorer-arrow{transform:translate(2px,-2px)}
.am-explorer-card[aria-current=location] .am-explorer-card-media{border-color:#d4b48d}
.am-explorer-card[aria-current=location] .am-explorer-card-kicker{color:#d4b48d}
.am-explorer-card[aria-current=location] .am-explorer-card-kicker:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#d4b48d;margin:0 7px 1px 0}
.am-explorer-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:0 0 auto;border-top:1px solid #b9a68a26;padding:20px clamp(22px,3.5vw,48px);background:#121712}
.am-explorer-worlds{display:flex;flex-wrap:wrap;gap:11px 23px}
.am-explorer-world-link{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:10px;line-height:1.5;letter-spacing:.06em;color:#b7b9ae;padding:3px 0}
.am-explorer-world-link[aria-current=page]{color:#dfc6a3}
.am-explorer-world-link:hover{color:#fff1db}.am-explorer-world-link:hover .am-explorer-arrow{transform:translate(2px,-2px)}
.am-explorer :focus-visible,.am-explorer-dock:focus-visible{outline:2px solid #e0bd8f;outline-offset:5px}
@keyframes am-explorer-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:960px){.am-explorer-dock{bottom:calc(100px + env(safe-area-inset-bottom))}}
@media(max-width:850px){
  .am-explorer{width:calc(100vw - 34px);height:89dvh}
  .am-explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 17px}
  .am-explorer-header{padding-bottom:22px}.am-explorer-heading{font-size:clamp(2.4rem,6vw,3.4rem)}
  .am-explorer-footer{align-items:flex-start;flex-direction:column;gap:8px;padding-block:15px}
  .am-explorer-worlds{gap:9px 20px}.am-explorer-dock-count{display:none}
}
@media(max-width:520px){
  .am-explorer{width:calc(100vw - 18px);height:calc(100dvh - 28px);border-radius:3px}
  .am-explorer-header{padding:26px 18px 20px;gap:14px}.am-explorer-heading{max-width:9ch;font-size:2.6rem;margin-top:14px}.am-explorer-description{font-size:11px;max-width:23ch}
  .am-explorer-close{width:37px;height:37px;padding:9px}.am-explorer-eyebrow{font-size:8px;letter-spacing:.13em}
  .am-explorer-scroll{padding:20px 18px 28px}.am-explorer-grid{gap:19px 12px}
  .am-explorer-card-media{aspect-ratio:1.2}.am-explorer-card-object{inset:5% 5%;width:90%;height:90%}
  .am-explorer-card-caption{min-height:81px;padding:11px 20px 2px 0}.am-explorer-card-kicker{font-size:7px;letter-spacing:.08em}.am-explorer-card-title{font-size:1.3rem;line-height:1.08}
  .am-explorer-card-caption>.am-explorer-arrow{top:25px;font-size:16px}.am-explorer-card-monogram{font-size:4.8rem}
  .am-explorer-footer{padding:15px 18px max(16px,env(safe-area-inset-bottom))}.am-explorer-worlds{gap:9px 16px}.am-explorer-world-link{font-size:9px}
  .am-explorer-dock{right:14px;min-height:46px;padding:4px 15px 4px 5px;gap:7px;font-size:10px}.am-explorer-ring{width:33px;height:33px;flex-basis:33px}
}
@media(max-height:570px) and (orientation:landscape){
  .am-explorer{height:calc(100dvh - 20px)}.am-explorer-header{padding:16px 23px}.am-explorer-heading{font-size:2rem;margin:7px 0}.am-explorer-description{display:none}
  .am-explorer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.am-explorer-scroll{padding:18px 23px}.am-explorer-footer{padding:10px 23px;flex-direction:row;align-items:center}.am-explorer-card-media{aspect-ratio:1.8}
}
@media(prefers-reduced-motion:reduce){
  .am-explorer[open]{animation:none}.am-explorer-dock,.am-explorer-close,.am-explorer-card-image,.am-explorer-card-object,.am-explorer-arrow{transition:none}
  .am-explorer-card:hover .am-explorer-card-image,.am-explorer-card:hover .am-explorer-card-object,.am-explorer-close:hover{transform:none}
}
@media(forced-colors:active){.am-explorer-dock,.am-explorer,.am-explorer-card-media,.am-explorer-close{border:1px solid ButtonText}.am-explorer-ring-fill{stroke:Highlight}.am-explorer-card[aria-current=location]{outline:2px solid Highlight}.am-explorer-card-kicker:before{forced-color-adjust:none}}
