.fv{--mall-fade:0;background:#eee9df}
.fv__stick{isolation:isolate;top:var(--mall-header,80px);height:calc(100svh - var(--mall-header,80px))}
.fv__text{margin-top:calc(-100svh + var(--mall-header,80px))}
.fv .st{min-height:calc(100svh - var(--mall-header,80px))}
#space{background:#eee9df;opacity:0;transition:opacity .7s ease}
.mall-ready #space{opacity:1}
.mall-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:opacity .7s ease;z-index:-1}
.mall-ready .mall-poster{opacity:0}
.mall-still #space{opacity:0}
.mall-still .mall-poster{opacity:1}
.fv__stick::before{content:"";position:absolute;inset:0;background:#fff;opacity:var(--mall-fade);z-index:3;pointer-events:none}
.fv__stick::after{background:linear-gradient(90deg,rgba(22,30,24,.63),rgba(22,30,24,.32) 41%,rgba(22,30,24,0) 75%);transition:opacity .4s}
.fv .st .d2{font-size:clamp(24px,4.7vw,64px);line-height:1.42;text-shadow:0 2px 24px rgba(20,27,21,.35);font-weight:400}
.fv .st .lead{font-size:clamp(16px,1.6vw,20px)}
.fv .st .w02{letter-spacing:.035em}
.fv__text{pointer-events:none}
.mall-touring .fv__text{visibility:hidden;pointer-events:none}
.mall-touring .fv__stick::after{opacity:0}
.mall-tools{position:absolute;bottom:28px;left:clamp(20px,5vw,52px);right:clamp(20px,5vw,52px);display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:5;color:#fff;font-size:11px;letter-spacing:.16em;text-shadow:0 1px 8px #293525}
.mall-caption{display:flex;align-items:center;gap:14px;font-size:10px}
.mall-caption::before{content:"";width:32px;height:1px;background:currentColor;opacity:.75}
.mall-tour{font:inherit;letter-spacing:.05em;color:inherit;background:rgba(35,43,32,.62);border:1px solid rgba(255,255,255,.5);border-radius:30px;min-height:44px;padding:0 19px;cursor:pointer;backdrop-filter:blur(12px);text-shadow:none}
.mall-tour:hover{background:rgba(35,43,32,.84)}
body:not(.mall-has-js) .mall-tour,body:not(.mall-has-js) .mall-stops{display:none}
.mall-tour:focus-visible,.mall-stops button:focus-visible{outline:3px solid #c24a66;outline-offset:4px}
.mall-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:rgba(255,255,255,.3);z-index:6}
.mall-progress__fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#c24a66}
.mall-still .mall-caption::after{content:""}
@media(max-width:760px){
  .fv__stick::after{background:linear-gradient(0deg,rgba(22,30,24,.69),rgba(22,30,24,.35) 48%,rgba(22,30,24,.03) 85%)}
  .fv .st{align-items:center}
  .fv .st .d2{font-size:clamp(22px,5.8vw,42px)}
  .mall-tools{bottom:max(20px,env(safe-area-inset-bottom));gap:10px}
  .mall-caption{font-size:8px;letter-spacing:.12em;gap:8px}
  .mall-caption::before{width:16px}
  .mall-tour{font-size:11px;padding:0 13px}
  .mall-poster{object-position:51% 50%}
}
@media(prefers-reduced-motion:reduce){
  #space,.mall-poster,.fv__stick::after{transition:none}
  .st>.inner{transition:none}
}
/* Dedicated, uncluttered architectural tour. */
.mall-review{margin:0;background:#eee9df;font-family:"Helvetica Neue",Arial,"Hiragino Sans",sans-serif;color:#fff}
.mall-review *{box-sizing:border-box}
.mall-review .fv{height:420svh}
.mall-review .fv__stick{position:sticky;top:0;height:100svh;overflow:hidden}
.mall-review .fv__stick::after{background:linear-gradient(0deg,rgba(21,31,23,.52),transparent 22%,transparent 75%,rgba(21,31,23,.15))}
.mall-review #space{position:absolute;inset:0;width:100%;height:100%;display:block}
.mall-review .mall-title{position:absolute;left:40px;top:34px;z-index:5;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.mall-review .mall-title p{margin:0 0 9px;font-size:10px;letter-spacing:.28em}
.mall-review .mall-title h1{margin:0;font-weight:400;font-size:28px;letter-spacing:.12em}
.mall-review .mall-back{position:absolute;right:40px;top:34px;z-index:5;color:#fff;text-decoration:none;padding:12px 18px;border:1px solid #ffffff88;border-radius:30px;background:#283c2855;font-size:12px;backdrop-filter:blur(12px)}
.mall-review .mall-tools{bottom:32px;left:40px;right:40px;align-items:flex-end}
.mall-stops{display:flex;gap:8px}
.mall-stops button{border:1px solid #ffffff70;color:white;border-radius:28px;font:inherit;font-size:12px;letter-spacing:.05em;padding:12px 20px;min-height:44px;cursor:pointer;background:#29352960;backdrop-filter:blur(12px)}
.mall-stops button.is-current{background:#f3eee2;color:#384132;border-color:#f3eee2}
.mall-review .scroll-hint{font-size:11px;letter-spacing:.1em;margin:0 0 7px}
@media(max-width:760px){
  .mall-review .mall-title{top:28px;left:22px}
  .mall-review .mall-title h1{font-size:21px}
  .mall-review .mall-title p{font-size:8px}
  .mall-review .mall-back{right:20px;top:92px;padding:9px 13px}
  .mall-review .mall-tools{left:20px;right:20px;bottom:max(22px,env(safe-area-inset-bottom));display:block}
  .mall-review .scroll-hint{margin-bottom:18px;text-align:center}
  .mall-stops{justify-content:center}
  .mall-stops button{padding:12px 16px;font-size:11px}
}
