

.sheet { visibility: hidden; transition: transform 640ms cubic-bezier(.7,0,.2,1), visibility 0s linear 640ms; }
.sheet.is-open { visibility: visible; transition: transform 640ms cubic-bezier(.7,0,.2,1), visibility 0s; }

.sheet { grid-template-rows: auto 1fr auto; }
.sheet__list { padding: var(--sc-4) var(--g); align-content: center; gap: clamp(.4rem, calc(2.9 * var(--lvh, 1vh)), 2.6rem); }
.sheet__list a { font-size: clamp(1.15rem, min(5.2vw, calc(5.7 * var(--lvh, 1vh))), 4.2rem); line-height: 1.35; }
.sheet__foot { padding-bottom: max(var(--sc-6), env(safe-area-inset-bottom)); }

.og-piece { overflow-x: clip; }

.room .piece { --mw: 25vw; height: auto; }
.room .piece img { height: auto; width: auto; max-height: var(--h); max-width: var(--mw); }
.room .piece.mid { --mw: 23vw; left: 0; right: 0; margin-left: auto; margin-right: auto; width: fit-content; }
@media (min-width: 901px) {
  
  .room .piece.mid:nth-of-type(2) { --h: calc(25 * var(--lvh, 1vh)) !important; }
  .room .piece.mid:nth-of-type(5) { --y: calc(66 * var(--lvh, 1vh)) !important; --h: calc(30 * var(--lvh, 1vh)) !important; }
  .room .cap { top: calc(31 * var(--lvh, 1vh)); }
}

.label { grid-template-columns: 1fr auto; row-gap: .3rem; }
.label h3 { grid-column: 1; grid-row: 1; line-height: 1.2; }
.label .price { grid-column: 2; grid-row: 1; }
.label .spec { grid-column: 1 / -1; grid-row: 2; line-height: 1.45; }
.label .buy { grid-column: 1 / -1; grid-row: 3; justify-self: start; margin-top: .35rem; }
.work img { cursor: pointer; }

@media (hover: none) and (pointer: coarse) {
  .wall { scroll-snap-type: none; }

  
  body .menu { mix-blend-mode: normal; color: var(--sc-ink); background: rgba(247, 242, 234, .94); padding: .55rem 1rem .5rem; border-radius: 999px; box-shadow: 0 1px 2px rgba(41,33,16,.12), 0 6px 16px -8px rgba(41,33,16,.35); }
}

.wall__nav { padding-right: calc(var(--g) + 64px); }

@media (max-width: 900px) {
  
  main { overflow-x: clip; }
  
  .og-open > *, .og-piece > *, .wk-hero > *, .wk-about > *, .wk-views > *, .lt-hero > *, .letter > *, .creed > *, .steps > *, .signed > *,
  .cm-hero__stage > *, .cm-turn__stage > *, .cm-ask > *, .cm-prices > *, .cm-form > *, .cm-note > *,
  .ws-open > *, .ws-private > *, .ws-note > *, .ct-sky > *, .ct-note > *, .rv--one > *, .end > *, .jn-hero > * { min-width: 0; }
  .cm-note, .ws-note, .ct-note { box-sizing: border-box; width: 100%; }

  
  .mark img { width: 64px; }
  .menu { top: calc(var(--tight) + 6px); padding: .75rem 0 .75rem .75rem; min-height: 44px; }
  .sheet__bar { padding: var(--tight) var(--g); }
  .sheet__close { min-width: 44px; min-height: 44px; }
  .sheet__mark { padding: .6rem 0; }
  
  .sheet { grid-template-rows: auto 1fr auto; }
  .sheet__list { padding: var(--sc-3) var(--g); align-content: center; gap: clamp(.15rem, calc(1.2 * var(--lvh, 1vh)), 1rem); }
  .sheet__list a { font-size: clamp(1.15rem, min(6.6vw, calc(4.6 * var(--lvh, 1vh))), 2.6rem); letter-spacing: .12em; padding: .3rem .5rem; display: inline-block; line-height: 1.15; }
  .sheet__foot { flex-wrap: wrap; gap: var(--sc-2) var(--sc-6); padding-bottom: max(var(--sc-5), env(safe-area-inset-bottom)); }
  .sheet__foot a { padding: .6rem 0; }
  .top { width: 48px; height: 48px; bottom: var(--sc-5); }

  
  .end { grid-template-columns: 1fr; gap: var(--sc-6); padding: var(--sc-8) var(--g) var(--sc-7); min-height: 0; }
  .table { height: min(92vw, 640px); }
  .pol span { font-size: .75rem; }
  .sign ul { gap: .1rem; }
  .sign ul a { display: inline-block; padding: .45rem 0; }
  .sign__small { gap: var(--sc-3) var(--sc-5); }
  .sign__small a { padding: .4rem 0; }

  
  .door__go { bottom: calc(7 * var(--lvh, 1vh)); }

  
  .arrive { grid-template-columns: 1fr 1fr; }
  .arrive > .panel:last-child { display: none; }
  .behind__links { flex-direction: column; align-items: center; gap: var(--sc-4); }
  .behind__links a.link { padding: .5rem 0; }

  
  .room .piece, .room .piece.mid { --mw: 30vw; --h: calc(25 * var(--lvh, 1vh)) !important; }
  .room .piece:nth-of-type(-n+3) { --y: calc(9 * var(--lvh, 1vh)) !important; }
  .room .piece:nth-of-type(n+4) { --y: calc(64 * var(--lvh, 1vh)) !important; }
  .room .cap { top: calc(37.5 * var(--lvh, 1vh)); }
  .room .say { width: min(26ch, 86vw); font-size: clamp(1.2rem, 4.4vw, 1.8rem); }

  
  .post { place-items: center; padding-bottom: 0; }
  .scene { width: min(94vw, calc(70 * var(--lvh, 1vh))); }
  .scene__card { padding: 5% 6%; gap: .4rem; grid-template-columns: minmax(0, 1fr); }
  .scene__card > * { max-width: 100%; min-width: 0; }
  .scene__card form { width: 100%; box-sizing: border-box; }
  .scene__card h2 { font-size: clamp(1rem, 4.6vw, 1.5rem); }
  .scene__card p { font-size: clamp(.8rem, 3.2vw, 1rem); }
  .scene__card input { font-size: 16px; padding: .55rem .8rem; }   
  .scene__card button { font-size: .78rem; padding: .7rem .85rem; letter-spacing: .1em; white-space: nowrap; min-height: 44px; }
  .scene__card small, .scene__card .dibs__small { display: none; }
  .scene__sign { font-size: .85rem; }

  
  
  .wall { gap: clamp(1.6rem, 6vw, 3rem); scroll-snap-type: none; cursor: auto; }
  .wall__lead { width: min(24ch, 72vw); }
  .work { width: min(48vw, 380px); max-width: none; justify-content: flex-start; }
  .work img { width: auto; max-width: 100%; max-height: calc(50 * var(--lvh, 1vh)); align-self: flex-start; }
  .label { grid-template-columns: 1fr; width: 100%; }
  .label h3 { font-size: 1.05rem; }
  .label .price { grid-column: 1; grid-row: 2; text-align: left; }
  .label .spec { grid-row: 3; }
  .label .buy { grid-row: 4; padding: .45rem 0 .2rem; }
  .wall__end { width: min(24ch, 72vw); }

  
  .og-open { grid-template-columns: 1fr; min-height: 0; padding: calc(16 * var(--lvh, 1vh)) var(--g) calc(6 * var(--lvh, 1vh)); gap: var(--sc-6); }
  .og-open__stack { height: min(72vw, 460px); }
  
  .og-colls { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--g) * -1); padding: .2rem var(--g); scroll-padding-inline: var(--g); }
  .og-colls::-webkit-scrollbar { display: none; }
  .og-colls a { flex: 0 0 auto; padding: .75rem 1rem; font-size: .8rem; }

  
  .og-piece, .og-piece--right { grid-template-columns: 1fr; min-height: 0; gap: var(--sc-5); padding: calc(10 * var(--lvh, 1vh)) var(--g) calc(8 * var(--lvh, 1vh)); }
  .og-piece--right .og-art { order: 0; } .og-piece--right .og-tag { order: 0; justify-self: start; }
  .og-art, .og-piece--tall .og-art, .og-piece--square .og-art { max-width: min(100%, calc(64 * var(--lvh, 1vh))); }
  .og-tag { width: 100%; max-width: 30rem; justify-self: center; box-sizing: border-box; }
  .og-piece--right .og-tag { justify-self: center; }

  
  .wk-hero, .wk-hero--wide { grid-template-columns: 1fr; min-height: 0; gap: var(--sc-6); padding: calc(15 * var(--lvh, 1vh)) var(--g) calc(8 * var(--lvh, 1vh)); }
  .wk-art, .wk-hero--square .wk-art { max-width: min(100%, calc(68 * var(--lvh, 1vh))); }
  .wk-hero--tall .wk-art { max-width: min(100%, calc(56 * var(--lvh, 1vh))); }
  .wk-label { max-width: 34rem; justify-self: center; width: 100%; }
  .wk-back { order: -1; }
  .wk-actions { gap: var(--sc-4) var(--sc-6); }
  .wk-actions .link { padding: .6rem 0; }
  .wk-views { grid-template-columns: 1fr; min-height: 0; padding: calc(6 * var(--lvh, 1vh)) var(--g); }
  .wk-about { grid-template-columns: 1fr; gap: var(--sc-7); padding: calc(6 * var(--lvh, 1vh)) var(--g) calc(10 * var(--lvh, 1vh)); }
  .wk-card { padding: 2.4rem 1.6rem 2rem; }
  .sz { max-height: calc(52 * var(--lvh, 1vh)); }

  
  .lt-hero { grid-template-columns: 1fr; align-items: end; }
  .lt-hero__pic { position: relative; inset: auto; height: calc(62 * var(--lvh, 1vh)); grid-row: 1; }
  .lt-hero__pic::after { background: linear-gradient(to bottom, rgba(242,237,234,0) 55%, rgba(242,237,234,.9) 96%, var(--sc-canvas)); }
  .lt-hero__say { grid-column: 1; grid-row: 2; margin: calc(-10 * var(--lvh, 1vh)) var(--g) calc(8 * var(--lvh, 1vh)); }
  .lt-hero__say h1 { font-size: clamp(2.6rem, 11vw, 4rem); }
  .film { padding: 0 var(--g); margin-top: var(--sc-7); margin-bottom: calc(8 * var(--lvh, 1vh)); }
  .film__say { flex-direction: column; align-items: flex-start; gap: var(--sc-2); }
  .film__say p { text-align: left; }
  .letter { grid-template-columns: 1fr; gap: var(--sc-7); padding: var(--sc-8) 0 var(--sc-6); width: auto; margin: 0 var(--g); }
  .letter__margin { position: static; grid-template-columns: 1fr 1fr; gap: var(--sc-5); padding: 0 .6rem; }
  .snap, .snap.alt { justify-self: stretch; }
  .creed { grid-template-columns: 1fr; gap: var(--sc-6); padding: var(--sc-8) var(--g); width: auto; }
  .steps { grid-template-columns: 1fr; gap: var(--sc-6); padding: var(--sc-8) var(--g); width: auto; }
  .steps__aside { position: static; }
  .signed { grid-template-columns: 1fr; gap: var(--sc-6); padding: calc(8 * var(--lvh, 1vh)) var(--g) calc(10 * var(--lvh, 1vh)); }

  
  .cm-hero__stage { height: auto; min-height: calc(100 * var(--lvh, 1vh)); padding: calc(15 * var(--lvh, 1vh)) var(--g) calc(6 * var(--lvh, 1vh)); grid-template-rows: auto auto auto; gap: var(--sc-5); }
  .cm-hero__word { font-size: clamp(2.6rem, 12.5vw, 6rem); }
  .cm-hero__panels { grid-template-columns: 1fr 1fr; gap: var(--sc-4); }
  .cm-hero__panels > :nth-child(3) { display: none; }
  .cm-panel img, .cm-panel video { height: calc(46 * var(--lvh, 1vh)); }
  .cm-hero__say { flex-direction: column; align-items: flex-start; gap: var(--sc-4); }
  .cm-turn__stage { grid-template-columns: 1fr; height: auto; min-height: calc(100 * var(--lvh, 1vh)); align-content: center; gap: var(--sc-5); padding: calc(12 * var(--lvh, 1vh)) var(--g) calc(8 * var(--lvh, 1vh)); }
  .cm-turn__frame { max-width: 100%; }
  .cm-ask, .cm-ask--right { grid-template-columns: 1fr; min-height: 0; padding: calc(6 * var(--lvh, 1vh)) 0; gap: 0; }
  .cm-ask__pic, .cm-ask--left .cm-ask__pic, .cm-ask--right .cm-ask__pic { height: calc(56 * var(--lvh, 1vh)); padding: 0 var(--g); order: 0; }
  .cm-ask--right .cm-ask__say, .cm-ask--left .cm-ask__say, .cm-ask__say { margin: -3.5rem 0 0; padding: 0 var(--g); order: 1; }
  .cm-ask__q { font-size: clamp(2.2rem, 10vw, 3.6rem); }
  .cm-steps { padding: calc(10 * var(--lvh, 1vh)) var(--g) calc(4 * var(--lvh, 1vh)); }
  .cm-steps__line { display: none; }
  .cm-steps__list { grid-template-columns: 1fr 1fr; gap: var(--sc-6) var(--sc-5); }
  .cm-prices { grid-template-columns: 1fr; gap: var(--sc-6); padding: calc(8 * var(--lvh, 1vh)) var(--g); }
  .cm-form { grid-template-columns: 1fr; min-height: 0; gap: var(--sc-6); padding: calc(10 * var(--lvh, 1vh)) var(--g); }
  .cm-note { grid-template-columns: 1fr; padding: 2.6rem 1.4rem 2rem; }

  
  .ws-open { grid-template-columns: 1fr; min-height: 0; gap: var(--sc-6); padding: calc(16 * var(--lvh, 1vh)) var(--g) calc(8 * var(--lvh, 1vh)); }
  .ws-next { position: relative; right: auto; bottom: auto; width: auto; margin: -2.4rem var(--sc-4) 0; }
  .ws-kinds { padding: calc(8 * var(--lvh, 1vh)) var(--g) calc(6 * var(--lvh, 1vh)); }
  .ws-kinds__row { grid-template-columns: 1fr 1fr; gap: var(--sc-7) var(--sc-5); }
  .ws-wall { padding: calc(6 * var(--lvh, 1vh)) var(--g) calc(8 * var(--lvh, 1vh)); }
  .ws-wall__grid { grid-template-columns: 1fr 1fr; grid-template-rows: none; grid-auto-rows: 34vw; }
  .ws-shot:nth-child(n) { grid-column: auto; grid-row: auto; }
  .ws-shot:nth-child(1) { grid-column: 1 / -1; grid-row: span 2; }
  .ws-private { grid-template-columns: 1fr; gap: var(--sc-6); padding: calc(8 * var(--lvh, 1vh)) var(--g) calc(10 * var(--lvh, 1vh)); }
  .ws-note { grid-template-columns: 1fr; padding: 2.6rem 1.4rem 2rem; transform: none; }

  
  .ct-sky { padding: calc(16 * var(--lvh, 1vh)) var(--g) calc(8 * var(--lvh, 1vh)); gap: var(--sc-6); align-items: start; }
  .ct-open__h { font-size: clamp(2.8rem, 13vw, 5rem); }
  .ct-open__say > p { max-width: 100%; }
  .ct-note { padding: 2.6rem 1.4rem 2rem; }
  .ct-ways-pane, .ct-asked { padding-left: var(--g); padding-right: var(--g); }
  .ct-way { grid-template-columns: 1fr; }
  .ct-way p { grid-column: 1; }
  .ct-way__v { padding: .3rem 0; display: inline-block; }

  
  .rv--one { grid-template-columns: 1fr; gap: var(--sc-5); }
  .cm-f--chips span, .ws-f--chips span, .ct-f--chips span { padding: .75rem 1.1rem .6rem; }
  .cm-f input[type="text"], .cm-f input[type="email"], .cm-f textarea,
  .ws-f input[type="text"], .ws-f input[type="email"], .ws-f textarea,
  .ct-f input[type="text"], .ct-f input[type="email"], .ct-f textarea { font-size: 16px; }

  
  .jn-hero { padding: calc(16 * var(--lvh, 1vh)) var(--g) calc(6 * var(--lvh, 1vh)); min-height: 0; }
  
  .jn-hero__scene { position: relative; inset: auto; height: min(62vw, 420px); margin: var(--sc-6) calc(var(--g) * -1) 0;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22%); mask-image: linear-gradient(to bottom, transparent 0, #000 22%); }
  .jn { min-height: 0; padding: calc(4 * var(--lvh, 1vh)) var(--g) calc(10 * var(--lvh, 1vh)); }
  .jn-book { width: 100%; }
  .jn-open { filter: none; }
  .jn-paper { display: none; }
  .jn-pages { position: relative; left: auto; top: auto; width: auto; height: auto; cursor: auto; background: linear-gradient(170deg, #FBF6EC, #F1E8D5); box-shadow: 0 18px 30px -18px rgba(41,33,16,.5), 0 1px 2px rgba(41,33,16,.12); }
  .jn-spread { position: relative; inset: auto; grid-template-columns: 1fr; display: none; }
  .jn-spread.is-current { display: grid; }
  .jn-left, .jn-right, .jn-leaf .jn-left, .jn-leaf .jn-right { padding: 1.6rem 1.4rem; }
  .jn-right { padding-top: 0; overflow: visible; }
  .jn-title { font-size: clamp(1.6rem, 7vw, 2.4rem); }
  .jn-date { font-size: .72rem; }
  .jn-right p { font-size: 1.02rem; }
  .jn-pol figcaption { font-size: .9rem; }
  .jn-sig { font-size: 1.6rem !important; }
  .jn-leaf { display: none; }
  .jn-nav { position: static; transform: none; justify-content: center; margin-top: var(--sc-5); flex-wrap: wrap; }
  .jn-btn { min-height: 44px; }
  .jn-list { padding: calc(4 * var(--lvh, 1vh)) var(--g) calc(10 * var(--lvh, 1vh)); }
  .jn-list ol { grid-template-columns: 1fr 1fr; }

  
  .dl-open { padding: calc(16 * var(--lvh, 1vh)) var(--g) calc(4 * var(--lvh, 1vh)); }
  .ty__card { padding: var(--sc-6) var(--sc-5); transform: none; }
}

@media (max-width: 560px) {
  .mark img { width: 56px; }

  
  .arrive { grid-template-columns: 1fr; }
  .arrive > .panel ~ .panel { display: none; }
  .behind__name { font-size: clamp(2.6rem, 14vw, 4rem); }
  .behind > .cap, .behind__line { padding: 0 var(--g); letter-spacing: .2em; }

  
  .scene__card { align-content: start; padding-top: 7%; gap: .55rem; }
  .scene__card p { display: none; }
  .scene__card h2 { font-size: 1.15rem; }

  
  .room .piece, .room .piece.mid { --mw: 30vw; --h: calc(24 * var(--lvh, 1vh)) !important; }
  .room .piece:nth-of-type(-n+3) { --y: calc(10 * var(--lvh, 1vh)) !important; }
  .room .piece:nth-of-type(n+4) { --y: calc(63.5 * var(--lvh, 1vh)) !important; }
  .room .cap { top: calc(37 * var(--lvh, 1vh)); }

  
  .door__word, .door__film .word { font-size: clamp(2.2rem, 11.5vw, 4.4rem); letter-spacing: .02em; }

  
  .work { width: 72vw; }
  .work img { max-height: calc(46 * var(--lvh, 1vh)); }

  
  .table { height: 104vw; }
  .pol span { font-size: .75rem; }
  .sign__cols { gap: var(--sc-5); }

  
  .og-open__h { font-size: clamp(2.4rem, 12vw, 3.4rem); }
  .og-piece, .og-piece--right { padding: calc(8 * var(--lvh, 1vh)) var(--g) calc(6 * var(--lvh, 1vh)); }
  .og-tag { padding: 2rem 1.4rem 1.6rem; }

  
  .wk-hero { padding-top: calc(13 * var(--lvh, 1vh)); }
  .wk-title { font-size: clamp(2.2rem, 11vw, 3rem); }

  
  .cm-hero__panels { grid-template-columns: 1fr; }
  .cm-hero__panels > :nth-child(2) { display: none; }
  .cm-panel img, .cm-panel video { height: calc(52 * var(--lvh, 1vh)); }
  .cm-steps__list { grid-template-columns: 1fr; }
  .cm-price { grid-template-columns: 5rem 1fr; }

  
  .ws-kinds__row { grid-template-columns: 1fr; }
  .ws-kind__card { margin: -1.6rem .6rem 0; }
  .ws-wall__grid { grid-auto-rows: 42vw; }

  
  .letter__margin { grid-template-columns: 1fr 1fr; }

  
  .jn-list ol { grid-template-columns: 1fr; }

  
  .dl-item { grid-template-columns: 1fr; }
}

@media (min-width: 901px) and (max-height: 800px) {
  .wk-hero, .og-open, .ws-open, .ct-sky { padding-top: calc(15 * var(--lvh, 1vh)); padding-bottom: calc(6 * var(--lvh, 1vh)); }
  .og-piece { padding: calc(5 * var(--lvh, 1vh)) var(--g); }
  .cm-hero__stage { padding-top: calc(13 * var(--lvh, 1vh)); }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .og-piece { grid-template-columns: 1.3fr .7fr; } .og-piece--right { grid-template-columns: .7fr 1.3fr; }
  .og-tag { padding: 2rem 1.6rem 1.8rem; }
  .cm-steps__list { grid-template-columns: repeat(3, 1fr); }
  .ws-next { right: 0; width: min(20rem, 52%); }
  .wk-hero { gap: var(--sc-6); }
}

@media (min-width: 901px) and (max-width: 1366px) {
  .ws-next .og-buy, .ws-next .og-buy__word { white-space: normal; }
  .ws-next .og-buy { max-width: 100%; }
}

@media (min-width: 1800px) {
  .mark img { width: clamp(84px, 4.6vw, 132px); }
  .menu { font-size: clamp(.95rem, .66vw, 1.25rem); top: calc(var(--tight) + 1.1vw); }
  .top { width: 60px; height: 60px; }
}
@media (min-width: 2200px) {
  .letter, .creed, .steps { width: min(1400px, 70vw); }
  .wk-label { max-width: 36rem; }
  .og-tag { width: min(100%, 30rem); }
}
