/* Shared shallow-visit styles for B01, B02, and B03. */
:root{color-scheme:dark;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;background:#17201c;color:#f3ecd9}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0}body{background:#17201c}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #f8efcf;outline-offset:5px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:20;padding:12px 16px;background:#f3ecd9;color:#17201c}.skip-link:focus{top:12px}
.b01-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px clamp(20px,4vw,60px);text-shadow:0 2px 15px #000}.brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:18px;letter-spacing:.2em}.town-return{display:inline-block;min-height:44px;padding:13px 0;border-bottom:1px solid #f3ecd999;font-size:12px;letter-spacing:.1em}
.scene{position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;scroll-margin-top:0;overflow:hidden;background:#27392e}.scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.scene-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#10191466 0%,transparent 28%,transparent 48%,#101914d9 100%)}.scene-copy{width:min(100%,900px);padding:clamp(28px,7vw,90px) clamp(22px,7vw,100px);text-shadow:0 2px 12px #0b140eb8}.eyebrow{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:11px;letter-spacing:.22em;color:#e7d6ad}.scene h1,.scene h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,5vw,68px);font-weight:600;letter-spacing:.1em;margin:20px 0 12px}.scene-copy>p:not(.eyebrow){font-size:clamp(14px,1.3vw,17px);line-height:1.9;letter-spacing:.06em;margin:0 0 30px}.scene-copy nav{display:flex;flex-wrap:wrap;gap:14px 24px}.scene-link{display:inline-flex;align-items:center;min-height:48px;padding:10px 0;border-bottom:1px solid #e7d6ad;font-size:13px;letter-spacing:.08em}.scene-link.secondary{border-color:#f3ecd980;color:#ece9dd}
@media(max-width:700px){.brand{font-size:14px}.scene{min-height:100svh}.scene>img{object-position:center}.scene-copy{padding-bottom:max(38px,env(safe-area-inset-bottom))}.scene-copy nav{display:grid;justify-items:start}.scene h1,.scene h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* B01 Movement System Pilot: scrolling remains the primary way forward. */
.b01-journey #entrance>img{object-position:52% center}
.movement-sign{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:8px 16px 8px 8px;border:1px solid #f3ecd96b;border-radius:30px;background:#17201c8c;backdrop-filter:blur(5px);font-size:12px;letter-spacing:.1em;transition:background .25s,transform .25s}
.movement-sign:hover,.movement-sign:focus-visible{background:#17201cdb;transform:translateY(-3px)}
.movement-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #f3ecd98a;border-radius:50%;background:#f3ecd929}
.movement-mark::before{content:"";display:block;width:0;height:0;border-left:7px solid transparent;border-right:8px solid transparent;border-top:12px solid #f3ecd9c9;transform:rotate(-7deg) translateY(2px)}
@media(max-width:700px){.b01-journey .scene-copy{padding-bottom:max(66px,env(safe-area-inset-bottom))}.movement-sign{min-height:54px}}
@media(prefers-reduced-motion:reduce){.movement-sign{transition:none}}

/* B01 central Inside: a small conversational doorway beside Mahoroba. */
.b01-journey #inside>img{object-position:60% center}
.mahoroba-dialogue{position:absolute;z-index:3;top:53%;left:68%;display:flex;flex-direction:column;gap:3px;max-width:230px;min-height:56px;padding:11px 16px;border:1px solid #f1e6cebb;border-radius:14px 14px 14px 3px;background:#f7f0dfed;color:#26322b;box-shadow:0 4px 22px #17201c4d;text-shadow:none;transform:translateY(-50%);transition:background .2s,transform .2s}
.mahoroba-dialogue:hover,.mahoroba-dialogue:focus-visible{background:#fff9e9;transform:translateY(calc(-50% - 3px))}
.mahoroba-dialogue-main{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:15px;letter-spacing:.04em}
.mahoroba-dialogue-sub{font-size:11px;color:#596257;letter-spacing:.03em}
@media(max-width:700px){.b01-journey #inside>img{object-position:70% center}.mahoroba-dialogue{top:44%;left:auto;right:5%;max-width:205px;padding:10px 13px}.mahoroba-dialogue-main{font-size:14px}}
@media(prefers-reduced-motion:reduce){.mahoroba-dialogue{transition:none}}

/* B01 right wing: business experiences remain separate from the building visit. */
.right-wing-entry{display:grid;gap:4px;width:min(100%,390px);margin:0 0 18px;padding:15px 18px;border-left:2px solid #e7d6ad;background:#17201ccf;text-shadow:none;transition:background .2s}
.right-wing-entry:hover,.right-wing-entry:focus-visible{background:#17201cf2}
.right-wing-entry-kicker{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:10px;letter-spacing:.18em;color:#e7d6ad}
.right-wing-entry-title{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:19px;letter-spacing:.06em}
.right-wing-entry-copy{font-size:12px;line-height:1.7;color:#ece9dd}
@media(max-width:700px){.right-wing-entry{padding:13px 15px}.right-wing-entry-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){.right-wing-entry{transition:none}}

.commons-guide{margin:20px 0;padding:14px 18px;background:#17201cd9;border:1px solid #f3ecd966;max-width:500px}.commons-guide summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0}.commons-guide p{font-size:13px;line-height:1.9}.commons-guide summary:focus-visible{outline:2px solid #f3ecd9;outline-offset:4px}#commons .scene-copy{max-width:1000px}

.mahoroba-dialogue{left:var(--speech-x,68%);top:var(--speech-y,42%);right:auto;transform:translate(-50%,-100%)}.mahoroba-dialogue:hover,.mahoroba-dialogue:focus-visible{transform:translate(-50%,calc(-100% - 3px))}
.scene-copy .wing-entries{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"left right";gap:14px;margin-bottom:18px}.wing-entries .right-wing-entry{grid-area:right;margin:0;width:100%}.left-wing-entry{grid-area:left;display:grid;gap:4px;width:100%;padding:15px 18px;border-left:2px solid #e7d6ad;background:#17201ccf;text-shadow:none;min-height:100px}.left-wing-entry:hover,.left-wing-entry:focus-visible{background:#17201cf2}
.plaza-scene{display:block;min-height:0}#commons.plaza-scene .scene-copy{width:100%;max-width:1400px;margin:auto;text-shadow:none}.plaza-view{margin:28px 0}.scene-copy .plaza-image-navigation{display:block;position:relative;aspect-ratio:1672/941;width:100%;overflow:visible;isolation:isolate}.plaza-image-navigation>img{display:block;width:100%;height:100%;object-fit:contain}.plaza-hotspot{position:absolute;left:var(--hit-x);top:var(--hit-y);width:var(--hit-w);height:var(--hit-h);min-width:48px;min-height:48px;transform:translate(-50%,-50%);display:flex;align-items:flex-end;justify-content:center;padding:8px;border:2px solid transparent;color:#fff8e8}.plaza-hotspot>span{padding:8px 12px;background:#17201ce6;border:1px solid #fff8e899;font-size:14px;white-space:nowrap}.plaza-hotspot:hover,.plaza-hotspot:focus-visible{background:#fff8e815;border-color:#fff8e8;outline:2px solid #17201c;outline-offset:2px}.plaza-view figcaption{margin-top:14px;font-size:13px;line-height:1.7;color:#e7d6ad}.plaza-other-links{margin-top:24px;padding-top:20px;border-top:1px solid #f3ecd94d}
@media(max-width:700px){.scene-copy .wing-entries{grid-template-columns:1fr;grid-template-areas:"right" "left";gap:10px}.left-wing-entry{padding:13px 15px;min-height:90px}.wing-entries .right-wing-entry{min-height:90px}.plaza-hotspot{padding:3px}.plaza-hotspot>span{padding:5px 6px;font-size:11px}#commons.plaza-scene .scene-copy{padding:32px 16px 48px}.scene-copy .plaza-building-links{display:flex;gap:12px 18px;flex-wrap:wrap}.plaza-building-links .scene-link{font-size:12px}}
