/* Continuous, optional-discovery journey. Brand tokens remain in styles.css. */
.asset-credit{position:fixed;z-index:10;top:25px;left:var(--gutter);font-size:9px;letter-spacing:.06em;color:var(--ink);padding:12px 0}.asset-credit:hover{color:var(--rose-deep)}.detail-open .asset-credit{visibility:hidden}
:root{color-scheme:light;color:var(--ink);background:var(--paper);--line:color-mix(in srgb,var(--ink) 20%,transparent)}
html{scrollbar-color:var(--rose) var(--paper)}
.world{background:var(--paper)}.world-shade{background:linear-gradient(0deg,var(--paper),transparent 32%,transparent 83%,color-mix(in srgb,var(--paper) 85%,transparent))}
.header{padding-top:25px;background:linear-gradient(var(--paper),transparent)}
.header-actions button:hover,.top-nav a:hover{color:var(--rose-deep)}
.route-step{height:135svh;min-height:700px;pointer-events:none}.route-step:last-child{height:100svh;min-height:0}.route-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.route-caption{position:fixed;z-index:3;bottom:104px;left:50%;transform:translateX(-50%);width:min(750px,85vw);text-align:center;pointer-events:none}
.route-caption .eyebrow{margin:0 0 10px;color:var(--rose-deep);font-size:9px}.route-caption h2{font-size:clamp(23px,2.7vw,44px);letter-spacing:-.045em}.route-caption p:last-child{font-size:11px;margin:14px 0 0;color:var(--ink)}
.journey-bar{background:linear-gradient(0deg,var(--paper),transparent)}.floor-label,.journey-tools button,#chapter-nav a{color:var(--ink)}#chapter-nav a[aria-current=step]{color:var(--rose-deep)}#chapter-nav a[aria-current=step]:after{background:var(--rose-deep)}
.hotspots{position:fixed;inset:0;z-index:8;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:9px;pointer-events:auto;font-size:10px;letter-spacing:.08em;white-space:nowrap;padding:10px;color:var(--ink);text-shadow:0 1px 8px var(--white)}
.hotspot[hidden]{display:none}.hotspot-plus{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--rose);color:var(--rose-deep);font:300 29px var(--font-body);box-shadow:0 0 0 7px color-mix(in srgb,var(--paper) 50%,transparent);transition:transform .25s,background .25s}
.hotspot:hover .hotspot-plus{transform:scale(1.1);background:var(--pink)}.hotspot:active{transform:translate(-50%,-50%)}
.detail-open{overflow:hidden}.detail{padding:0;border:1px solid var(--line);border-radius:3px;width:min(1080px,92vw);max-height:88svh;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 35px 120px color-mix(in srgb,var(--ink) 25%,transparent)}
.detail[open]{display:grid;grid-template-columns:1.15fr 1fr}.detail::backdrop{background:color-mix(in srgb,var(--ink) 32%,transparent);backdrop-filter:blur(9px)}
.detail-close{position:absolute;right:12px;top:12px;width:44px;height:44px;z-index:5;font-size:28px;border-radius:50%;background:var(--paper);color:var(--ink)}
.detail-visual{position:relative;overflow:hidden;min-height:530px;background:var(--lilac)}.detail-visual img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform 1.8s,filter 1s}.render-note{position:absolute;left:16px;bottom:15px;padding:6px 9px;background:var(--paper);color:var(--ink);font-size:9px}
.detail-copy{padding:65px 42px 40px}.detail-copy .eyebrow{color:var(--rose-deep);margin-bottom:20px}.detail-copy h2{font-size:36px;line-height:1.2}.detail-copy>p:not(.eyebrow){font-size:14px;line-height:1.85}.detail-action{min-height:48px;border-bottom:1px solid var(--rose);color:var(--rose-deep);padding:8px 0;text-align:left;margin:15px 0}.detail-action:hover{color:var(--ink)}#detail-status{min-height:50px;color:var(--rose-deep)}.detail-copy .detail-disclaimer{font-size:11px;color:var(--ink)}.detail-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:12px}.detail-links[hidden]{display:none}
.detail-effect{position:absolute;inset:0;pointer-events:none}.detail[data-effect=product] img{transform:scale(1.2) translateX(4%)}
.detail[data-effect=scan] .detail-effect{background:linear-gradient(transparent 45%,var(--pink) 49%,var(--rose) 50%,transparent 52%);background-size:100% 200%;animation:scanning 1.6s linear infinite}
.detail[data-effect=scanned] .detail-effect{box-shadow:inset 0 0 90px var(--pink)}
.detail[data-effect=result] .detail-effect:after{content:'CURATOR → RMN';position:absolute;inset:35% 10%;display:grid;place-items:center;background:var(--rose-deep);color:var(--paper);font:24px var(--font-display)}
.detail[data-effect=brew] .detail-effect:after,.detail[data-effect=ready] .detail-effect:after,.detail[data-effect=take] .detail-effect:after{content:'';position:absolute;width:72px;height:78px;border:8px solid var(--white);border-radius:3px 3px 28px 28px;bottom:35%;left:calc(50% - 36px);background:linear-gradient(to top,var(--rose-deep) 70%,var(--paper) 70%);box-shadow:12px 8px 35px color-mix(in srgb,var(--ink) 20%,transparent)}
.detail[data-effect=brew] .detail-effect:after{animation:brewing 3.5s ease-in-out}.detail[data-effect=take] .detail-effect:after{transform:translateY(-25px) rotate(-8deg);transition:transform .8s}
.detail[data-effect=rest] img{transform:scale(1.1)}.detail[data-effect=member] .detail-effect:after{content:'∞';position:absolute;inset:20%;display:grid;place-items:center;font:140px var(--font-display);color:var(--rose-deep);background:color-mix(in srgb,var(--paper) 80%,transparent);border-radius:50%}
.webgl-failed .world-fallback{opacity:.65}.webgl-failed .world-shade{background:linear-gradient(0deg,var(--paper),transparent 65%)}.loading-note{color:var(--rose-deep)}
@keyframes scanning{from{background-position:0 100%}to{background-position:0 -100%}}@keyframes brewing{from{background-position:0 80px;opacity:.4}to{background-position:0 0;opacity:1}}
.motion-off *{animation:none!important;transition:none!important}
.header{justify-content:center;background:linear-gradient(var(--paper),transparent);padding-top:24px}.wordmark{font-size:27px}.wordmark small{font-size:7px}.top-nav{display:none}.header-actions{position:absolute;right:var(--gutter);top:22px}.header-actions .pill{display:none}.world-shade{background:linear-gradient(0deg,color-mix(in srgb,var(--paper) 90%,transparent),transparent 24%,transparent 90%,color-mix(in srgb,var(--paper) 75%,transparent))}.route-caption{bottom:95px}.route-caption h2{font-size:clamp(22px,2.25vw,35px);font-weight:400}.route-caption .eyebrow{font-size:9px;margin-bottom:12px}.journey-bar{height:58px;border:0;opacity:.75}.floor-label{font-size:8px}.hotspot{font-size:9px}.hotspot-plus{width:38px;height:38px;font-size:24px;box-shadow:none;background:color-mix(in srgb,var(--paper) 85%,transparent)}.hotspot{min-width:44px;min-height:44px;transition:opacity .45s}.route-caption{transition:opacity .3s}.detail-open .route-caption,.detail-open .hotspots{opacity:0}
@media(max-width:600px){.header-actions .pill{display:none}.header{padding:20px 22px}.route-caption{bottom:113px;width:88vw}.route-caption h2{font-size:26px}.route-caption .eyebrow{font-size:8px}.route-caption p:last-child{font-size:10px}.hotspot{font-size:9px}.hotspot-plus{width:44px;height:44px}.journey-tools button{display:block;font-size:8px}.journey-tools{gap:10px}.floor-label{display:none}.journey-bar{flex-wrap:nowrap}.journey-bar #chapter-nav a{width:25px}.detail[open]{display:block}.detail{max-height:92svh;width:94vw}.detail-visual{min-height:250px;height:33svh}.detail-copy{padding:30px 25px}.detail-copy h2{font-size:29px}.detail-copy>p:not(.eyebrow){font-size:13px}.world-shade{background:linear-gradient(0deg,var(--paper),transparent 45%,transparent 80%,var(--paper))}}

/* Atelier: the scene itself is the detail visual. No image cards over the world. */
.webgl-ready .detail{position:fixed;inset:50% max(4vw,24px) auto auto;transform:translateY(-50%);margin:0;width:min(360px,30vw);max-height:78svh;border:0;background:color-mix(in srgb,var(--paper) 91%,transparent);box-shadow:none;border-radius:0;overflow:auto}
.webgl-ready .detail[open]{display:block}.webgl-ready .detail::backdrop{background:transparent;backdrop-filter:none}
.webgl-ready .detail-visual{display:none}.webgl-ready .detail-copy{padding:58px 28px 24px}
.webgl-ready .detail-copy h2{font-size:30px}.webgl-ready .detail-copy>p:not(.eyebrow){font-size:13px;line-height:1.8}
.webgl-ready .detail-copy .detail-disclaimer{font-size:10px}.webgl-ready .detail-copy .eyebrow{font-size:9px}
.detail-action:disabled{opacity:.55;cursor:wait}.detail-close:focus-visible,.hotspot:focus-visible{outline:2px solid var(--rose-deep);outline-offset:4px}
.detail-open .journey-bar{visibility:hidden}.route-caption{bottom:78px}.route-caption h2{font-size:clamp(22px,2.25vw,34px)}
.world-shade{background:linear-gradient(0deg,var(--paper),transparent 24%,transparent 89%,color-mix(in srgb,var(--paper) 65%,transparent))}
@media(max-width:700px){.webgl-ready .detail{inset:auto 0 0;width:100%;max-height:42svh;transform:none;background:color-mix(in srgb,var(--paper) 97%,transparent);border-top:1px solid var(--line)}.webgl-ready .detail-copy{padding:26px 25px 20px}.webgl-ready .detail-copy h2{font-size:25px;max-width:85%}.webgl-ready .detail-copy .eyebrow{margin-bottom:10px}.webgl-ready .detail-close{top:8px;right:10px}.webgl-ready #detail-status{min-height:20px}.detail-action{margin:4px 0}.route-caption{bottom:94px}}
