/* A full parchment surface. Navigation follows the inked room interiors. */
html.map-open,html.map-open body{background:#e4d2ac url('/assets/images/parchment-paper-v1.webp?v=40') center/cover fixed no-repeat;color-scheme:light;overflow:hidden;overscroll-behavior:none}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan]{
  --scroll-paper:#e4d2ac;position:fixed;inset:0;margin:0;padding:0;width:100%;height:100dvh;
  min-width:0;max-width:100%;max-height:none;border:0;border-radius:0;overflow-x:hidden;overflow-y:auto;
  overscroll-behavior:none;isolation:isolate;outline:none;box-shadow:inset 0 13px 21px #81562925,inset 0 -14px 23px #80572c28;
  animation:none;transform:none;scroll-padding-block:80px 24px;
}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan]::backdrop{background:#e4d2ac;backdrop-filter:none}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan]::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:#e4d2ac var(--paper-illustration) center/cover no-repeat;
}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan]::after{position:fixed}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-drawer-header{
  position:sticky;top:0;z-index:5;min-width:0;min-height:78px;width:100%;gap:12px;align-items:center;
  padding:calc(18px + env(safe-area-inset-top,0px)) calc(32px + env(safe-area-inset-right,0px)) 14px calc(32px + env(safe-area-inset-left,0px));
  background-image:var(--paper-illustration);background-size:var(--paper-image-width) var(--paper-image-height);background-position:center var(--paper-image-y);background-repeat:no-repeat;border:0;
}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-drawer-header>div{min-width:0}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-drawer-header h2{font-size:39px;outline:none}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-close{display:inline-flex;min-height:44px;min-width:44px;gap:8px;padding:8px 12px;touch-action:manipulation}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-close>span:last-child{display:block;font-size:12px;line-height:1.3;white-space:nowrap}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .home-plan[data-home-plan]{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);grid-template-rows:1fr;grid-template-areas:"plan key";
  align-items:center;column-gap:clamp(24px,4vw,64px);row-gap:20px;min-height:calc(100dvh - 78px);min-width:0;max-width:100%;
  padding:12px calc(36px + env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) calc(36px + env(safe-area-inset-left,0px));
}
.home-plan[data-home-plan] .home-plan-heading{position:absolute}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .home-plan-layout{
  grid-area:plan;align-self:center;justify-self:center;width:min(100%,calc((100dvh - 126px)*780/520),980px);
  min-width:0;max-width:100%;aspect-ratio:780/520;margin:0;
}
.home-plan[data-home-plan] .home-plan-room,.home-plan[data-home-plan] .home-plan-key-room{-webkit-user-select:none;user-select:none}
/* Each anchor covers the painted room, including its emblem and empty floor. */
.home-plan[data-home-plan] .home-plan-position{left:var(--plan-x);top:var(--plan-y);width:var(--plan-width);height:var(--plan-height);min-width:0;transform:none}
.home-plan[data-home-plan] .home-plan-room,.experience-ready .room-drawer[data-active-panel=plan] .home-plan-room{
  position:absolute;inset:0;display:block;width:100%;height:100%;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;touch-action:manipulation;
}
.home-plan[data-home-plan] .home-plan-room-name,.experience-ready .room-drawer[data-active-panel=plan] .plan-room-entry .home-plan-room-name{
  position:absolute;left:0;right:0;top:var(--plan-label);transform:translateY(-50%);padding-inline:2px;
  font-size:clamp(21px,2.8vw,37px);line-height:1.05;white-space:nowrap;
}
.home-plan[data-home-plan] .home-plan-room::after{display:none}
.home-plan[data-home-plan] .home-plan-room:hover,.home-plan[data-home-plan] .home-plan-room[aria-current]{background:none;box-shadow:none;border:0}
.home-plan[data-home-plan] .home-plan-room:hover .home-plan-room-name,.home-plan[data-home-plan] .home-plan-room:focus-visible .home-plan-room-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.home-plan[data-home-plan] .home-plan-room:focus-visible{outline:2px solid #304456;outline-offset:-7px;background:none}
.home-plan[data-home-plan] .home-plan-fill{fill:#304456;opacity:.025;transition:opacity .18s}
.home-plan[data-plan-current=workroom] .fill-workroom,.home-plan[data-plan-current=hearth] .fill-hearth,.home-plan[data-plan-current=study] .fill-study,.home-plan[data-plan-current=entry] .fill-entry{opacity:.07}
.home-plan:has(.home-plan-room[data-room-link=workroom]:hover,.home-plan-key-room[data-room-link=workroom]:hover,.home-plan-room[data-room-link=workroom]:focus-visible,.home-plan-key-room[data-room-link=workroom]:focus-visible) .fill-workroom,
.home-plan:has(.home-plan-room[data-room-link=hearth]:hover,.home-plan-key-room[data-room-link=hearth]:hover,.home-plan-room[data-room-link=hearth]:focus-visible,.home-plan-key-room[data-room-link=hearth]:focus-visible) .fill-hearth,
.home-plan:has(.home-plan-room[data-room-link=study]:hover,.home-plan-key-room[data-room-link=study]:hover,.home-plan-room[data-room-link=study]:focus-visible,.home-plan-key-room[data-room-link=study]:focus-visible) .fill-study,
.home-plan:has(.home-plan-room[data-room-link=entry]:hover,.home-plan-key-room[data-room-link=entry]:hover,.home-plan-room[data-room-link=entry]:focus-visible,.home-plan-key-room[data-room-link=entry]:focus-visible) .fill-entry{opacity:.16}
.home-plan-room .plan-location-mark{display:none;position:absolute;left:50%;top:calc(var(--plan-label) + 13%);transform:translateX(-50%);width:16px;height:19px;color:#304456;pointer-events:none}
.home-plan-room[aria-current] .plan-location-mark{display:block}
.home-plan[data-home-plan] .home-plan-key{grid-area:key;min-width:0;max-width:100%;padding:0;color:var(--plan-ink)}
.home-plan-key-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.home-plan[data-home-plan] .home-plan-key h3{margin:0;font-family:Cormorant,Georgia,serif;font-size:26px;line-height:1.1;font-style:italic;font-weight:550}
.home-plan-key-location{display:flex;align-items:center;gap:5px;margin:0;color:#304456;font-size:11px;line-height:1.3}
.home-plan-key-location .plan-location-mark{width:10px;height:14px;flex-shrink:0}
.home-plan[data-home-plan] .home-plan-key ul{display:grid;gap:12px;list-style:none;margin:0;padding:0}
.home-plan[data-home-plan] .home-plan-key li{min-width:0}
.home-plan[data-home-plan] .home-plan-key-room{display:flex;align-items:center;gap:13px;min-width:0;max-width:100%;min-height:48px;padding:5px 0;touch-action:manipulation}
.home-plan-key-room>div{min-width:0}
.home-plan[data-home-plan] .home-plan-key-room svg{width:38px;height:35px;flex:0 0 38px;color:#744025}
.home-plan[data-home-plan] .home-plan-key-name{font-family:Cormorant,Georgia,serif;font-size:24px;font-weight:600;line-height:1.15;margin:0 0 3px}
.home-plan[data-home-plan] .home-plan-key-purpose{font-size:13px;line-height:1.3;margin:0;color:var(--plan-muted);overflow-wrap:anywhere}
.home-plan-key-room:hover .home-plan-key-name,.home-plan-key-room:focus-visible .home-plan-key-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.home-plan-key-room:focus-visible{outline:2px solid #304456;outline-offset:4px}
/* A blank folded sheet opens from the trigger; ink appears only after it is flat. */
.map-fold{position:fixed;inset:0;z-index:6;overflow:hidden;pointer-events:none;contain:strict}
.map-fold-room{position:absolute;inset:0;background:#0c1929}
.map-fold-room img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.map-fold-sheet{position:absolute;inset:0;transform-origin:0 0;transform-style:preserve-3d;will-change:transform;perspective-origin:50% 50%;filter:drop-shadow(0 12px 15px #080e184d)}
.map-fold-left,.map-fold-wing{position:absolute;top:0;bottom:0;width:50%}
.map-fold-left{left:0;border-radius:2px 0 0 4px}
.map-fold-wing{left:50%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}
.map-fold-face{background-color:#e4d2ac;background-image:var(--paper-illustration);background-size:var(--paper-image-width) var(--paper-image-height);background-position:var(--paper-image-x) var(--paper-image-y);background-repeat:no-repeat}
.map-fold-inner,.map-fold-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.map-fold-left{border-left:1px solid #83613e35;clip-path:polygon(0 .1%,99.9% 0,100% 100%,.1% 99.8%,.2% 89%,0 77%,.15% 61%,0 48%,.2% 27%,0 12%)}
.map-fold-inner{border-radius:0 3px 4px 0;background-position:var(--paper-image-right-x) var(--paper-image-y);border-right:1px solid #83613e35;clip-path:polygon(0 0,99.6% .1%,100% 13%,99.8% 29%,100% 43%,99.7% 62%,100% 81%,99.7% 99.8%,0 100%)}
.map-fold-back{transform:rotateY(180deg);border-radius:2px 0 0 4px;border:1px solid #9a7d5140}
.map-fold-shadow{position:absolute;left:0;top:0;bottom:0;width:50%;background:linear-gradient(90deg,transparent 45%,#593d25 100%);pointer-events:none}
/* The actual room stays still; its Map icon returns only after the sheet lands. */
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan].map-fold-closing{background:transparent;box-shadow:none;overflow:hidden}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan].map-fold-closing::backdrop{background:transparent}
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan].map-fold-closing::before,
.experience-ready .room-drawer[data-room-drawer][data-active-panel=plan].map-fold-closing::after{visibility:hidden}
.map-fold-closing> :not(.map-fold){visibility:hidden}
.map-fold[data-direction=close] .map-fold-room{display:none}
.map-returning .room-welcome,.map-returning .room-hotspots,.map-returning .room-wayfinding,.map-returning .room-signature,.map-returning .room-scene-target,.map-returning .room-access-links{visibility:visible}
@media(max-width:850px) and (min-height:501px){
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .home-plan[data-home-plan]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"plan" "key";align-content:start;row-gap:22px;padding-top:12px}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .home-plan-layout{width:min(100%,710px);align-self:start}
  .home-plan[data-home-plan] .home-plan-key{width:100%;max-width:710px;justify-self:center;border-top:1px solid #9d79473d;padding-top:16px}
  .home-plan[data-home-plan] .home-plan-key ul{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 18px}
}
@media(max-width:600px){
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-drawer-header{min-height:70px;padding:calc(13px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) 10px calc(20px + env(safe-area-inset-left,0px))}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-drawer-header h2{font-size:34px}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-close{padding:7px 9px;gap:7px}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-close>span:last-child{font-size:11px}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .home-plan[data-home-plan]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"plan" "key";align-content:start;min-height:calc(100dvh - 70px);padding:8px calc(16px + env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));row-gap:20px}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .home-plan-layout{width:100%;align-self:start}
  .home-plan[data-home-plan] .home-plan-room-name,.experience-ready .room-drawer[data-active-panel=plan] .plan-room-entry .home-plan-room-name{font-size:clamp(16px,4.5vw,25px);letter-spacing:-.03em;white-space:normal}
  .home-plan-room .plan-location-mark{width:10px;height:12px}
  .home-plan[data-home-plan] .home-plan-key{width:100%;padding-top:15px;border-top:1px solid #9d79473d}
  .home-plan-key-heading{margin-bottom:10px}
  .home-plan[data-home-plan] .home-plan-key h3{font-size:22px}
  .home-plan[data-home-plan] .home-plan-key ul{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px}
  .home-plan[data-home-plan] .home-plan-key-room{gap:8px;min-height:48px}
  .home-plan[data-home-plan] .home-plan-key-room svg{width:30px;height:29px;flex-basis:30px}
  .home-plan[data-home-plan] .home-plan-key-name{font-size:21px}
  .home-plan[data-home-plan] .home-plan-key-purpose{font-size:12px}
}
@media(max-width:360px){
  .home-plan[data-home-plan] .home-plan-room-name,.experience-ready .room-drawer[data-active-panel=plan] .plan-room-entry .home-plan-room-name{font-size:14px}
  .home-plan[data-home-plan] .home-plan-key-name{font-size:17px}
}
@media(max-height:500px) and (min-width:601px){
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-drawer-header{min-height:62px;padding:calc(9px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-right,0px)) 8px calc(24px + env(safe-area-inset-left,0px))}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .room-drawer-header h2{font-size:31px}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .home-plan[data-home-plan]{min-height:calc(100dvh - 62px);grid-template-columns:minmax(0,1fr) minmax(185px,215px);column-gap:22px;padding:6px calc(24px + env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) calc(24px + env(safe-area-inset-left,0px));row-gap:10px}
  .experience-ready .room-drawer[data-room-drawer][data-active-panel=plan] .home-plan-layout{width:min(100%,calc((100dvh - 95px)*780/520))}
  .home-plan[data-home-plan] .home-plan-room-name,.experience-ready .room-drawer[data-active-panel=plan] .plan-room-entry .home-plan-room-name{font-size:clamp(16px,4.8dvh,24px);white-space:normal}
  .home-plan-room .plan-location-mark{width:10px;height:12px}
  .home-plan-key-heading{margin-bottom:10px;gap:6px}
  .home-plan[data-home-plan] .home-plan-key h3{font-size:22px}
  .home-plan[data-home-plan] .home-plan-key ul{gap:6px}
  .home-plan[data-home-plan] .home-plan-key-room{gap:10px;min-height:45px;padding:3px 0}
  .home-plan[data-home-plan] .home-plan-key-room svg{width:30px;height:29px;flex-basis:30px}
  .home-plan[data-home-plan] .home-plan-key-name{font-size:21px}
  .home-plan[data-home-plan] .home-plan-key-purpose{font-size:12px}
}
.room-motion-static .map-fold{display:none}
@media(prefers-reduced-motion:reduce){
  .map-fold{display:none}
  .home-plan[data-home-plan] .home-plan-fill{transition:none}
}
