/* The current paper, type and service colours, with one clear reading order. */
.arrival{padding:100px 24px 104px;background:var(--surface);color:var(--surface-ink);overflow:hidden;transition:background var(--mood-duration),color var(--mood-duration)}
.arrival-collage{position:relative;height:clamp(390px,39vw,540px);max-width:1240px;margin:0 auto 42px;isolation:isolate}
.arrival-collage h1{position:absolute;z-index:3;left:50%;top:47%;transform:translate(-50%,-50%);font-size:clamp(70px,10.5vw,150px);line-height:1.05;letter-spacing:-.055em;color:var(--surface-ink);pointer-events:none}
.arrival-photo{position:absolute;margin:0;border:4px solid #fbf9f3;box-shadow:2px 7px 18px #1c241517;transform:rotate(var(--angle,0deg));overflow:hidden;background:#e6e3db}
.arrival-photo>img,.arrival-photo-pair,.arrival-photo-pair img{width:100%;height:100%;display:block;object-fit:cover}
.arrival-photo-pair{position:relative}
.arrival-photo-pair img{position:absolute;inset:0;transition:opacity var(--mood-duration)}
.arrival-photo-pair .night-photo{opacity:0}
[data-mode=night] .arrival-photo-pair .day-photo{opacity:0}
[data-mode=night] .arrival-photo-pair .night-photo{opacity:1}
.arrival-room{left:2%;top:6%;width:27%;aspect-ratio:4/3;--angle:-7deg}
.arrival-arancini{right:4%;top:5%;width:18%;aspect-ratio:1;--angle:8deg}
.arrival-overhead{left:40%;top:0;width:19%;aspect-ratio:4/3;--angle:-3deg}
.arrival-pizza{left:10%;bottom:0;width:18%;aspect-ratio:1;--angle:6deg}
.arrival-counter{right:1%;bottom:6%;width:27%;aspect-ratio:4/3;--angle:-6deg}
.arrival-evening{left:39%;bottom:0;width:19%;aspect-ratio:4/3;--angle:4deg}
.arrival-welcome{position:relative;z-index:4;text-align:center}
.arrival-welcome>p{font-size:16px;line-height:1.5;color:var(--surface-muted)}
.arrival-actions{display:flex;justify-content:center;gap:12px;margin:24px auto 0}
.arrival-action{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:15px 24px;border:1px solid var(--surface-line);font-size:16px;background:var(--surface);color:var(--surface-ink);border-radius:3px;transition:background var(--hover-duration),color var(--hover-duration),border-color var(--hover-duration)}
.arrival-menu{background:var(--surface-ink);border-color:var(--surface-ink);color:var(--surface);min-width:188px}
.arrival-reserve{min-width:252px}
.arrival-action:hover{border-color:var(--surface-ink);box-shadow:inset 0 0 0 1px currentColor}
.arrival-action span{font-size:20px}
[data-mode=night] .arrival-reserve{background:var(--surface-ink);border-color:var(--surface-ink);color:var(--surface)}
[data-mode=night] .arrival-menu{background:var(--surface);color:var(--surface-ink);border-color:var(--surface-line)}
[data-mode=night] .arrival-photo{box-shadow:3px 14px 28px #0008;border-color:#d6cec4}
.connection-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding:110px 8% 125px;background:var(--surface);color:var(--surface-ink);border-top:1px solid var(--surface-line)}
.connection-words{max-width:510px}
.connection-words>h2{font-size:clamp(32px,3.8vw,56px);line-height:1.15;margin:24px 0;letter-spacing:-.03em}
.connection-intro{font-size:18px;line-height:1.7;max-width:420px;color:var(--surface-muted)}
.connection-service{margin-top:42px;max-width:420px}
.connection-service .quiet-label{display:none}
.connection-service h3{font-size:23px;line-height:1.3;margin-bottom:16px}
.connection-service p{font-size:16px;line-height:1.75;color:var(--surface-muted)}
.connection-story .quiet-link{margin:28px 0 0}
.connection-photographs{position:relative;aspect-ratio:.85}
.connection-photographs figure{position:absolute;margin:0;border:5px solid #fbf9f3;box-shadow:3px 9px 25px #0002}
.connection-main{left:4%;top:0;width:88%;height:78%;transform:rotate(3deg)}
.connection-detail{width:64%;height:38%;left:-6%;bottom:0;transform:rotate(-7deg)}
.connection-detail img{width:100%;height:100%;object-fit:cover}
.archive.archive-globe.quiet-archive{background:radial-gradient(ellipse at 50% 43%,var(--archive-light),transparent 65%),linear-gradient(var(--archive-top),var(--archive-bottom));min-height:720px;height:100svh;max-height:1000px}
.quiet-archive .archive-title{font-size:clamp(28px,3.4vw,48px);top:58px}
.quiet-archive .globe-stage{top:128px;bottom:172px}
.archive-globe .media-card{border:0;background:transparent;box-shadow:4px 12px 22px #0003;cursor:pointer}
.media-card-face{position:absolute;inset:0;display:block;overflow:hidden;background:#f9f5e9;padding:5px;border:1px solid #d5c8a7}
.archive-globe .media-card .media-card-face>img{object-fit:cover}
.film-card .media-card-face>img{object-position:48% 50%}
.media-card-label{position:absolute;bottom:0;left:0;right:0;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 12px;background:#f4edda;color:#252d25;font-size:14px;line-height:1.35;text-align:left}
.media-card-label>span{font-size:18px}
.media-card-mark{position:absolute;inset:0;display:grid;place-content:center;color:#fff;font-size:48px;text-shadow:0 2px 15px #0009}
.card-shine{position:absolute;inset:-60% -100%;pointer-events:none;background:linear-gradient(115deg,transparent 40%,#fff3 46%,#fff9 50%,#fff3 54%,transparent 60%);transform:translateX(-52%);opacity:0}
.archive-visible .media-card .card-shine{animation:card-light-pass 1.8s var(--ease) .4s both}
.archive-visible .newspaper-card .card-shine{animation-delay:1.2s}
.media-card:hover .media-card-face,.media-card:focus-visible .media-card-face{border-color:#b69a60;box-shadow:inset 0 0 14px #fff7}
.archive-globe .media-card:hover{box-shadow:3px 10px 28px #9e784c45}
@keyframes card-light-pass{0%{transform:translateX(-52%);opacity:0}15%{opacity:.7}85%{opacity:.7}100%{transform:translateX(52%);opacity:0}}
.site-footer{padding-bottom:100px}
@media(max-width:760px){
 .arrival{padding:94px 16px 70px}
 .arrival-collage{height:clamp(290px,87vw,420px);margin-bottom:36px;width:100%;max-width:480px}
 .arrival-collage h1{font-size:clamp(44px,12vw,80px);top:47%;letter-spacing:-.06em}
 .arrival-photo{border-width:3px}
 .arrival-room{left:-3%;top:3%;width:46%;--angle:-8deg}
 .arrival-arancini{right:0;top:0;width:33%;--angle:7deg}
 .arrival-overhead{left:2%;bottom:0;top:auto;width:37%;--angle:-7deg}
 .arrival-pizza{right:0;left:auto;bottom:2%;width:33%;--angle:6deg}
 .arrival-counter{right:24%;bottom:10%;width:34%;--angle:-3deg}
 .arrival-evening{display:none}
 .arrival-welcome>p{font-size:15px;max-width:330px;margin:0 auto}
 .arrival-actions{display:grid;grid-template-columns:1fr;gap:10px;max-width:380px;margin-top:24px}
 .arrival-action{min-width:0;width:100%;padding:15px 20px;min-height:54px;text-align:left}
 .connection-story{grid-template-columns:minmax(0,1fr);gap:56px;padding:65px 24px 80px}
 .connection-words{max-width:none}
 .connection-words>h2{font-size:34px;margin:20px 0}
 .connection-intro{font-size:17px}
 .connection-service{margin-top:32px}
 .connection-service h3{font-size:22px}
 .connection-photographs{width:92%;max-width:430px;aspect-ratio:1.03;margin:auto}
 .connection-main{height:80%;width:91%;left:7%}
 .connection-detail{width:66%;height:42%;left:-4%}
 .archive.archive-globe.quiet-archive{min-height:650px;height:88svh;max-height:850px}
 .quiet-archive .archive-title{font-size:29px;top:42px}
 .quiet-archive .globe-stage{top:110px;bottom:210px}
 .quiet-archive .globe-footer{bottom:92px}
 .media-card-face{padding:3px}
 .media-card-label{font-size:14px;padding:9px 7px;min-height:48px}
 .media-card-mark{font-size:36px}
}
@media(max-width:360px){
 .arrival-collage{height:270px}
 .arrival-collage h1{font-size:43px}
 .arrival-welcome>p{max-width:260px}
 .connection-words>h2{font-size:30px}
 .media-card-label{font-size:14px;gap:3px}
}
@media(max-width:760px) and (max-height:640px){
 .arrival{padding-top:86px}
 .arrival-collage{height:182px;max-width:340px;margin-bottom:22px}
 .arrival-collage h1{font-size:40px;top:49%}
 .arrival-room{width:39%;left:0;top:0}
 .arrival-arancini{width:26%;right:0}
 .arrival-overhead{width:30%;left:0}
 .arrival-pizza{width:27%}
 .arrival-counter{width:31%;right:29%;bottom:0}
 .arrival-welcome>p{font-size:14px;max-width:none}
 .arrival-actions{grid-template-columns:1fr 1.5fr;gap:8px;margin-top:16px}
 .arrival-action{font-size:14px;line-height:1.4;padding:12px;min-height:62px;justify-content:center;text-align:center}
 .arrival-action span{display:none}
}
@media(prefers-reduced-motion:reduce){
 .arrival-photo-pair img{transition:none}
 .card-shine{display:none}
 .archive-reader::backdrop{backdrop-filter:none}
}

/* Mobile navigation: one stable header, no floating service/theme controls. */
:root{--rhythm-clearance:0px;scroll-padding-top:84px;scroll-padding-bottom:20px}
body{padding-bottom:0}
header#header{height:74px;padding:0 24px;gap:20px}
.header-word{display:block;position:relative;width:104px;height:45px;min-height:0;flex-shrink:0}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.logo-night{position:absolute;inset:0;opacity:0}
.logo-day,.logo-night{transition:opacity var(--mood-duration)}
[data-mode=night] .logo-day{opacity:0}
[data-mode=night] .logo-night{opacity:1}
.header-right{gap:24px}
#header #rhythm{position:static;transform:none;max-width:none;margin:0;padding:2px;gap:0;box-shadow:none;border-radius:24px;border:1px solid var(--surface-line);background:transparent}
#header #rhythm button{min-width:52px;min-height:44px;padding:10px 9px;border:0;border-radius:21px;font-size:13px;line-height:1;color:var(--surface-muted);background:transparent}
#header #rhythm button[aria-pressed=true]{background:var(--surface-ink);color:var(--surface)}
#header .nav-switch{display:flex;align-items:center;justify-content:center;width:auto;min-width:70px;min-height:44px;gap:10px;padding:0;color:var(--surface-ink);font-size:14px;background:none}
#header .nav-switch span{transform:none;background:none}
#header .nav-switch .nav-lines{display:flex;flex-direction:column;justify-content:center;gap:5px;width:20px;height:20px}
.nav-lines i{display:block;width:20px;height:1px;background:currentColor;transition:transform .25s}
.nav-switch[aria-expanded=true] .nav-lines i:first-child{transform:translateY(3px) rotate(45deg)}
.nav-switch[aria-expanded=true] .nav-lines i:last-child{transform:translateY(-3px) rotate(-45deg)}
#navigation{right:24px;top:calc(100% + 8px);padding:22px 26px;border-radius:4px}
#navigation [data-nav-menu]{font-size:26px;padding:8px 0 22px}
#navigation a{min-height:48px;display:flex;align-items:center}
#cart-dock-root:empty{display:none}
#cart-dock-root .cart-dock{position:fixed;z-index:70;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom,0px));width:min(420px,calc(100% - 24px));min-height:56px;padding:14px 20px;background:var(--surface-ink);color:var(--surface);border:1px solid var(--surface-line);border-radius:4px;display:flex;align-items:center;justify-content:space-between;font-size:16px;box-shadow:0 4px 20px #0002}
body:has(#cart-dock-root:not(:empty)){padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
body:has(dialog[open]) #cart-dock-root{visibility:hidden}
#toast{bottom:24px}
body:has(#cart-dock-root:not(:empty)) #toast{bottom:100px}
.arrival-collage h1{width:clamp(240px,34vw,450px);height:auto;aspect-ratio:2.35;font-size:inherit;top:49%;margin:0}
.arrival-actions{display:flex;max-width:380px}
.arrival-reserve{background:var(--surface-ink);color:var(--surface);border-color:var(--surface-ink);justify-content:center;gap:30px}
.quiet-archive .globe-stage{bottom:150px}
.quiet-archive .globe-footer{bottom:34px}
.site-footer{padding-bottom:44px}

/* Full viewport, with the document's original proportions and native video. */
.archive-reader,.newspaper-reader{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:0;background:#dfdcd4;color:#262820;overflow:hidden}
.archive-reader[open]{display:flex;flex-direction:column}
.archive-reader::backdrop{background:#171717;backdrop-filter:none}
.reader-heading{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;min-height:64px;padding:calc(8px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) 8px max(18px,env(safe-area-inset-left,0px));border:0;gap:16px}
.reader-heading h2{font-size:16px;line-height:1.4}
.reader-close{width:48px;height:48px;min-width:48px;min-height:48px;border:1px solid #26282040;border-radius:50%;font-size:28px;line-height:1;display:grid;place-items:center}
.reader-close:focus-visible{outline-offset:2px}
.film-reader{background:#090909;color:#fff}
.film-reader .reader-heading{background:#090909;border:0}
.film-reader .reader-close{border-color:#ffffff5c}
.film-viewport{flex:1;min-height:0;display:flex;position:relative;background:#090909;padding-bottom:env(safe-area-inset-bottom,0px)}
.film-viewport video{width:100%;height:100%;max-width:none;max-height:none;min-height:0;aspect-ratio:auto;object-fit:contain;background:#090909}
.film-status:not(:empty){top:22px;left:24px;right:24px;background:#000b;border:1px solid #ffffff24;border-radius:3px;max-width:440px;margin:auto}
.film-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:18px;align-items:center;justify-content:center;min-height:56px;min-width:170px;border:1px solid #ffffff80;border-radius:3px;background:#000c;color:#fff;padding:14px 22px}
.film-play[hidden]{display:none}
.film-play span{font-size:26px}
.newspaper-viewport{position:relative;flex:1;height:0;min-height:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse,#eeeae1,#d8d4ca);padding:18px 18px 24px;perspective:1700px;touch-action:pan-y pinch-zoom;overscroll-behavior:contain;user-select:none}
.paper-book{position:relative;height:100%;max-height:calc((100vw - 40px)*.71475);aspect-ratio:4000/2859;max-width:100%;isolation:isolate;perspective:1700px;transition:transform .8s cubic-bezier(.3,.55,.25,1)}
.paper-book.is-front-cover{transform:translateX(-25%)}
.paper-book.is-back-cover{transform:translateX(25%)}
.paper-book:after{content:'';position:absolute;left:calc(50% - 9px);top:0;bottom:0;width:18px;z-index:4;pointer-events:none;background:linear-gradient(90deg,transparent,#43341e25 46%,#43341e45 50%,#43341e15 65%,transparent)}
.paper-book.is-front-cover:after,.paper-book.is-back-cover:after{display:none}
.paper-page,.paper-leaf,.leaf-front,.leaf-back{position:absolute;inset:0}
.paper-page{width:50%;height:100%;padding:0;border:0;border-radius:0;display:block;background:#f6f2e7;box-shadow:0 4px 0 -1px #d0c9b9,0 6px 0 -2px #bcb5a5,3px 10px 22px #39332b24;cursor:zoom-in;overflow:hidden}
.paper-page[hidden]{display:none}
.paper-left{right:50%}
.paper-right{left:50%}
.paper-page img,.paper-leaf img{display:block;width:100%;height:100%;object-fit:fill;max-width:none;pointer-events:none}
.paper-page:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#40331916,transparent 5%,transparent 94%,#40331916)}
.paper-leaf{left:50%;width:50%;z-index:3;transform-origin:left center;transform-style:preserve-3d;will-change:transform;pointer-events:none}
.paper-leaf[hidden]{display:none}
.leaf-front,.leaf-back{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f2eddc;box-shadow:6px 4px 22px #31231440;overflow:hidden}
.leaf-front:after,.leaf-back:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#352a1a30,transparent 15%,#fff3 60%,#5e473519);pointer-events:none}
.leaf-back{transform:rotateY(180deg)}
.leaf-back img{opacity:1}
.paper-corner{position:absolute;bottom:0;right:0;z-index:4;width:62px;height:62px;padding:0;background:linear-gradient(135deg,transparent 0 48%,#c3b99e 49%,#faf7ec 53%,#e0d8c3 79%);clip-path:polygon(100% 0,100% 100%,0 100%);filter:drop-shadow(-2px -2px 2px #1f1b1720);color:#655640;transform-origin:bottom right;animation:paper-invitation 1.1s ease-out .7s 2}
.paper-corner span{position:absolute;bottom:9px;right:9px;font-size:20px}
.paper-corner[hidden]{display:none}
@keyframes paper-invitation{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
.reader-footer{position:relative;flex-shrink:0;display:block;padding:8px max(18px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));border:0;background:#dfdcd4}
.paper-cue{font-size:14px;text-align:center;color:#605c52;margin:0 0 8px;line-height:1.4}
.paper-status{font-size:14px;text-align:center;color:#773324;line-height:1.4}
.paper-status:empty{display:none}
.reader-tools{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;max-width:720px;margin:auto}
.reader-tools>button{justify-self:start}
.reader-tools>a{justify-self:end}
.reader-pagination{display:flex;gap:10px;align-items:center}
.reader-pagination button{width:46px;min-height:46px;border:1px solid #26282038;border-radius:50%;font-size:22px}
.reader-count{font-size:14px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.reader-footer button,.reader-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:6px;font-size:14px}
.reader-footer a{text-decoration:underline;text-underline-offset:4px}
.newspaper-viewport.is-zoomed{display:block;place-items:start;overflow:auto;touch-action:pan-x pan-y pinch-zoom;padding:20px;user-select:auto}
.newspaper-viewport.is-zoomed .paper-book{height:1715px;width:2400px;max-height:none;max-width:none;margin:0;transform:none}
.newspaper-viewport.is-zoomed .paper-page{cursor:grab}
@media(max-width:760px){
 header#header{height:70px;padding:0 16px;gap:12px}
 .header-word{width:88px;height:39px}
 .header-right{gap:14px}
 #header #rhythm button{min-width:46px;padding:10px 7px;font-size:14px}
 #header .nav-switch{min-width:67px;gap:8px}
 #header .nav-switch .nav-lines,.nav-lines i{width:18px}
 #navigation{right:12px;left:12px;width:auto;max-height:calc(100dvh - 94px);overflow:auto}
 .arrival-collage h1{width:52%;min-width:176px;max-width:260px;top:47%}
 .arrival-actions{display:flex;margin-top:24px;max-width:380px}
 .arrival-action{width:100%;min-height:54px;font-size:16px}
 .quiet-archive .globe-stage{bottom:150px}
 .quiet-archive .globe-footer{bottom:34px}
 .reader-heading{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}
 .newspaper-viewport{padding:10px 14px 20px}
 .paper-book{max-height:calc((100vw - 34px)*.71475)}
 .reader-tools{gap:6px}
 .reader-pagination{gap:4px}
 .newspaper-viewport.is-zoomed .paper-book{width:1800px;height:1287px}
}
@media(max-width:360px){
 header#header{padding:0 12px;gap:8px}
 .header-word{width:80px;height:36px}
 .header-right{gap:10px}
 #header .nav-switch{min-width:62px;gap:6px}
 #header #rhythm button{min-width:44px;padding:10px 6px}
 .reader-tools{gap:4px}
 .reader-pagination{gap:0}
 .reader-heading h2{font-size:15px}
 .reader-footer{padding-left:10px;padding-right:10px}
}
@media(max-width:760px) and (max-height:640px){
 .arrival-collage h1{width:46%;min-width:145px;max-width:180px;top:49%}
 .arrival-actions{display:flex;margin-top:18px}
 .arrival-action{min-height:52px;font-size:15px}
 .arrival-action span{display:block}
 .reader-heading{min-height:54px;padding-top:4px;padding-bottom:4px}
 .reader-close{width:44px;height:44px;min-height:44px;min-width:44px}
 .reader-footer{padding-top:4px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}
 .paper-cue{margin-bottom:4px}
}
@media(orientation:landscape) and (max-height:500px){
 .film-reader .reader-heading{position:absolute;top:0;left:0;right:0;background:linear-gradient(#090909d9,transparent);pointer-events:none}
 .film-reader .reader-close{pointer-events:auto}
 .film-reader .reader-heading h2{font-size:14px}
 .newspaper-reader .reader-heading{min-height:48px;padding-top:2px;padding-bottom:2px}
 .newspaper-reader .reader-close{height:44px;min-height:44px;width:44px;min-width:44px}
 .paper-cue{display:none}
 .reader-footer{padding-top:2px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}
 .newspaper-viewport{padding-top:4px;padding-bottom:8px}
}
@media(prefers-reduced-motion:reduce){
 .paper-corner{animation:none}
 .logo-day,.logo-night{transition:none}
 .paper-leaf{will-change:auto}
 .paper-book{transition:none}
}
