/* Floor plan (shop design): a hand-drawn style drawing, white on the black page, shown as an image (no heading) */
.ld-body > .sec.fp-sec { padding-top: 0 !important; padding-bottom: clamp(96px, 10vw, 160px); }
.fp { position: relative; margin: 0; display: grid; justify-items: center; cursor: zoom-in; }
.fp img { display: block; height: auto; max-width: 100%; }
.fp-a img { width: min(100%, 600px); }
.fp-b img { width: auto; max-height: min(64vh, 600px); }
.fp-c img { width: min(100%, 880px); -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 38%, #000 82%, transparent 100%), linear-gradient(to right, transparent 0, #000 14%, #000 86%, transparent 100%); -webkit-mask-composite: source-in; mask-image: linear-gradient(to bottom, transparent 0, #000 38%, #000 82%, transparent 100%), linear-gradient(to right, transparent 0, #000 14%, #000 86%, transparent 100%); mask-composite: intersect; }
.fp-draw { clip-path: inset(0 0 100% 0); transition: clip-path 2.4s cubic-bezier(.45, 0, .2, 1); }
.fp-draw.on { clip-path: inset(0 0 0 0); }
.fp-draw::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--fg); opacity: 0; pointer-events: none; }
.fp-draw.on::after { animation: fp-scan 2.4s cubic-bezier(.45, 0, .2, 1) both; }
@keyframes fp-scan { 0% { top: 0; opacity: .9; } 92% { opacity: .9; } 100% { top: 100%; opacity: 0; } }
.fp-zoom { position: fixed; inset: 0; z-index: 200; background: #0a0c11; overflow: auto; overscroll-behavior: contain; cursor: zoom-out; }
.fp-zoom img { display: block; width: 200%; max-width: none; height: auto; padding: 64px; box-sizing: content-box; }
.fp-zoom-x { position: fixed; top: calc(16px + env(safe-area-inset-top, 0px)); right: 16px; z-index: 201; width: 48px; height: 48px; border: 1px solid rgba(233, 236, 242, .55); border-radius: 50%; background: #0a0c11; color: #e9ecf2; font: 400 20px/1 var(--f-mono); cursor: pointer; }
@media (max-width: 760px) { .fp-zoom img { width: 320%; padding: 24px; } .fp-a img, .fp-c img { width: 100%; } .fp-b img { max-height: none; width: 76%; } }
@media (prefers-reduced-motion: reduce) { .fp-draw { clip-path: none; transition: none; } .fp-draw::after { display: none; } }

