/* One continuous cloth motion: curved edges, a soft fold, no segmented stops. */
.noren-mask { position: absolute; overflow: visible; pointer-events: none; }
.entrance[data-noren-ready] .noren {
  perspective: 2000px;
  perspective-origin: 50% 12%;
}
.entrance[data-noren-ready] .noren-panel {
  transition: none;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  will-change: auto;
  box-shadow: none;
}
.entrance[data-noren-phase="opening"] .noren-panel,
.entrance[data-noren-phase="closing"] .noren-panel { will-change: transform; }
.entrance[data-noren-ready] .panel-left { transform-origin: 0 0; }
.entrance[data-noren-ready] .panel-right { transform-origin: 100% 0; }
.entrance[data-noren-ready] .noren-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: var(--fold-opacity, 0);
  background: linear-gradient(102deg, transparent 28%, #a6967710 48%, #ffffff80 var(--fold-position, 80%), #8e7c5e25 100%);
}
.entrance[data-noren-ready] .panel-right::before { transform: scaleX(-1); }

.entrance[data-noren-ready] .entry-invitation {
  display: block;
  opacity: 1;
  visibility: visible;
  transition: opacity 360ms ease, visibility 360ms;
}
.entrance[data-noren-ready][data-open] .entry-invitation {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.entrance[data-noren-ready] .entrance-top,
.entrance[data-noren-ready] .entrance-caption,
.entrance[data-noren-ready] .entrance-scroll { transition: color 400ms ease; }
.entrance[data-noren-ready] .small-brand img { transition: filter 400ms ease; }
.entrance[data-noren-ready][data-noren-ink="dark"] .entrance-top,
.entrance[data-noren-ready][data-noren-ink="dark"] .entrance-caption,
.entrance[data-noren-ready][data-noren-ink="dark"] .entrance-scroll { color: var(--ink); }
.entrance[data-noren-ready][data-noren-ink="dark"] .small-brand img { filter: none; }
.entrance[data-noren-ready][data-noren-ink="light"] .entrance-top,
.entrance[data-noren-ready][data-noren-ink="light"] .entrance-caption,
.entrance[data-noren-ready][data-noren-ink="light"] .entrance-scroll { color: #fff; }
.entrance[data-noren-ready][data-noren-ink="light"] .small-brand img { filter: invert(1); }
.entrance[data-noren-ready] .room-photo {
  transform: scale(1.025);
  transition: transform 2800ms cubic-bezier(.16, 1, .3, 1);
}
.entrance[data-noren-ready][data-open] .room-photo { transform: scale(1); }
.entrance[data-noren-ready] .room-label,
.entrance[data-noren-ready] .inside-greeting,
.entrance[data-noren-ready] .inside-nav {
  transition: opacity 1100ms 380ms ease, transform 1500ms 380ms cubic-bezier(.16, 1, .3, 1);
}
.entrance[data-noren-ready]:not([data-open]) .room-label,
.entrance[data-noren-ready]:not([data-open]) .inside-greeting,
.entrance[data-noren-ready]:not([data-open]) .inside-nav { transition-delay: 0ms; }
html[data-motion="paused"] .entrance[data-noren-ready] *,
html[data-preview] .entrance[data-noren-ready] * { transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .entrance[data-noren-ready] * { transition: none !important; }
  .entrance[data-noren-ready] .room-photo { transform: none; }
}
@media (max-width: 600px) {
  .entrance[data-noren-ready] .noren { perspective: 1500px; }
  .entrance[data-noren-ready] .room-photo { transform: scale(1.015); }
  .entrance[data-noren-ready][data-open] .room-photo { transform: scale(1); }
}

/* Lifted lower corners: a glimpse of the two cities beneath woven cloth. */
.entrance[data-noren-ready] .noren-panel{background-color:#f3f0e6;background-image:linear-gradient(90deg,#e2dccb22 0%,#fff9 12%,#ddd4c122 22%,#fff5 32%,#e5ddcc1a 48%,#fff4 63%,#d3c9b326 80%,#fff7 94%)}
.entrance[data-noren-ready] .noren-panel::after{background:repeating-linear-gradient(90deg,transparent 0 3px,#685b3f07 3px 4px),repeating-linear-gradient(0deg,transparent 0 4px,#685b3f05 4px 5px),linear-gradient(90deg,transparent 84%,#8d80660e 95%,#7d6d5015 100%)}
.noren-hem{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:visible;pointer-events:none}
.noren-hem [data-noren-shape="hem"]{fill:#e4decb;stroke:#c2b59a55;stroke-width:.001}
.noren-hem [data-noren-shape="seam"]{fill:none;stroke:#82765d5e;stroke-width:.0009;stroke-dasharray:.002 .003}
.entrance[data-noren-ready] .entry-invitation{bottom:16%;width:306px;max-width:84%;white-space:normal}
.entrance[data-noren-ready] .enter-button{width:100%;min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 20px;border:1px solid #282920;background:#282920;color:#faf8ef;box-shadow:0 6px 20px #24271f16;transition:background .25s,box-shadow .25s,transform .3s}
.entrance[data-noren-ready] .enter-button:hover{background:#3d4133;box-shadow:0 9px 24px #24271f24;transform:translateY(-2px)}
.entrance[data-noren-ready] .enter-button:active{transform:translateY(0)}
.entrance[data-noren-ready] .enter-button .enter-label{font:500 21px/1.5 Shippori,serif;letter-spacing:.09em;transform:none}
.entrance[data-noren-ready] .enter-button .enter-arrow{font:22px/1 serif;transform:none}
.enter-noren-icon{width:31px;height:31px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.enter-icon-split{opacity:.8}
.entrance[data-noren-ready] .enter-button span{transform:none}
.entrance[data-noren-ready] .enter-copy{display:flex;flex-direction:column;gap:6px}
.entrance[data-noren-ready] .enter-button .entry-hint,.entrance[data-noren-ready] .entry-hint span{font:10px/1.4 sans-serif;letter-spacing:.12em;color:#e0ddcf;margin:0}
.entry-hint .hint-touch{display:none}
.entrance[data-noren-ready]:not([data-open]) .entrance-caption,.entrance[data-noren-ready]:not([data-open]) .entrance-scroll{visibility:hidden}
@media(hover:none){.entry-hint .hint-pointer{display:none}.entry-hint .hint-touch{display:inline}}
@media(max-width:600px){
 .entrance[data-noren-ready] .entry-invitation{bottom:16%;width:282px}
 .entrance[data-noren-ready] .enter-button{min-height:76px;padding:12px 18px;gap:12px}
 .entrance[data-noren-ready] .enter-button .enter-label{font-size:20px;letter-spacing:.07em}
 .entry-hint .hint-pointer{display:none}.entry-hint .hint-touch{display:inline}
}
@media(max-height:760px) and (min-width:601px){
 .entrance[data-noren-ready] .noren-mark{height:min(36vw,42svh,420px);width:min(36vw,42svh,420px)}
 .entrance[data-noren-ready] .noren-word{top:calc(16% + min(36vw,42svh,420px) + 17px)}
}
@media(max-width:600px) and (max-height:780px){
 .entrance[data-noren-ready] .noren-mark{top:28%;width:min(64vw,32svh);height:min(64vw,32svh)}
 .entrance[data-noren-ready] .noren-word{top:calc(28% + min(64vw,32svh) + 12px);height:36px}
}

/* Each city sits at the horizontal centre of its own curtain leaf. */
.entrance[data-noren-ready] .panel-left .noren-city{left:50%;right:auto;transform:translateX(-50%)}
.entrance[data-noren-ready] .panel-right .noren-city{right:50%;left:auto;transform:translateX(50%)}
@media(min-width:601px) and (max-width:900px){
 .entrance[data-noren-ready] .noren-mark{width:min(30vw,38svh);height:min(30vw,38svh)}
 .entrance[data-noren-ready] .noren-word{top:calc(20% + min(30vw,38svh) + 18px)}
}
