/* The arrival shares the library's wood, amber light and resident cat. */
[hidden]{display:none!important}
.arrival{position:fixed;inset:0;z-index:100;background:#111d22;color:#f6ecd6;overflow:hidden;isolation:isolate;font-family:var(--sans)}
.arrival-media,.arrival-poster,.arrival-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.arrival-poster{opacity:0;transition:opacity .4s}.arrival.ready .arrival-poster,.arrival.fallback .arrival-poster{opacity:1}.arrival.has-film:not(.fallback) .arrival-poster{opacity:0}
.arrival-film{opacity:0;transition:opacity .45s}.arrival.has-film .arrival-film{opacity:1}
.arrival-shade{position:absolute;inset:0;background:linear-gradient(#07151e88,transparent 25%,transparent 65%,#09131699);pointer-events:none;opacity:.4;transition:opacity 1s}.arrival.ready .arrival-shade{opacity:1}
.arrival-bar{position:absolute;top:27px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:5}.arrival-wordmark{font:500 13px var(--serif);letter-spacing:4px;text-shadow:0 1px 10px #0008}.arrival-actions{display:flex;gap:9px}.arrival-actions button,.arrival-replay{color:inherit;padding:10px 13px;background:#10232555;border:1px solid #f7e6c43d;border-radius:99px;font:10px var(--sans);backdrop-filter:blur(12px);cursor:pointer}.arrival-actions button:hover,.arrival-replay:hover{background:#edd4a42b}.arrival button:focus-visible{outline:2px solid #ffedba;outline-offset:5px}
.arrival-progress{position:absolute;left:32px;bottom:27px;width:130px;height:1px;background:#f6e7ca33;overflow:hidden}.arrival-progress span{display:block;height:100%;width:0;background:#f3d99d;transition:width .15s linear}.arrival-status{position:absolute;bottom:37px;left:32px;font:8px var(--sans);letter-spacing:2px;color:#e9d6b0;opacity:.8}.arrival.ready .arrival-status,.arrival.ready .arrival-progress{opacity:0}
.arrival-welcome{position:absolute;z-index:3;top:max(84px,10vh);left:20px;right:20px;text-align:center;opacity:0;transform:translateY(12px);transition:opacity .8s,transform .8s;pointer-events:none}.arrival.ready .arrival-welcome{opacity:1;transform:none}.arrival-welcome small{font:9px var(--sans);letter-spacing:3px;text-transform:uppercase;color:#ecd9b6}.arrival-welcome h1{font:500 clamp(31px,3.4vw,56px)/1.05 var(--serif);letter-spacing:-.7px;margin:9px 0;color:#fff2d8;text-shadow:0 2px 20px #0009}
.door-choices{position:absolute;inset:0;z-index:4;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .6s}.arrival.ready .door-choices{visibility:visible;opacity:1}.arrival-door{position:absolute;top:28%;width:19%;height:51%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 8px 5vh;gap:6px;pointer-events:auto;cursor:pointer;border:1px solid transparent;border-radius:45% 45% 6px 6px;background:linear-gradient(transparent 30%,#24190a33);color:#fff4d5;transition:background .4s,box-shadow .4s,transform .5s}.arrival-door.photos{left:25%}.arrival-door.portfolio{left:56%}.arrival-door:hover,.arrival-door.recommended{background:linear-gradient(transparent 20%,#f7cb7145);box-shadow:0 0 55px #ffca6540,inset 0 0 30px #ffde8b22;transform:translateY(-3px)}.arrival-door strong{font:500 clamp(20px,2.2vw,36px)/1.05 var(--serif);text-shadow:0 2px 10px #000,0 0 25px #1a100d}.arrival-door small{font:8px var(--sans);letter-spacing:1.7px;text-transform:uppercase;color:#f0d6a7;text-shadow:0 1px 8px #000}.arrival-door em{font-style:normal;font-size:18px;margin-top:8px;transition:transform .3s}.arrival-door:hover em{transform:translateX(5px)}
.arrival-guide{position:absolute;z-index:6;bottom:max(25px,4vh);left:50%;transform:translate(-50%,18px);width:min(490px,calc(100% - 40px));text-align:center;opacity:0;visibility:hidden;transition:opacity .8s,transform .8s}.arrival.ready .arrival-guide{opacity:1;visibility:visible;transform:translate(-50%,0)}.arrival-cat-line{padding:12px 18px;background:#f5e8ccc9;color:#463a28;border:1px solid #fff0cb77;border-radius:14px;box-shadow:0 3px 30px #1b110e33;backdrop-filter:blur(14px)}.arrival-cat-line p{font:italic 19px/1.3 var(--serif);margin:4px 0}.arrival-cat-line .margot-name{font:8px var(--sans);letter-spacing:2px;text-transform:uppercase;display:block;color:#7a5d38}.arrival-guide-hints{display:flex;justify-content:center;gap:8px;margin-top:9px}.arrival-guide-hints button{background:#0f2425a8;border:1px solid #ffebc344;border-radius:99px;padding:7px 12px;color:#f5e5c4;font:9px var(--sans);cursor:pointer}.arrival-replay{position:absolute;right:30px;bottom:27px;z-index:8;opacity:0;visibility:hidden}.arrival.ready .arrival-replay{opacity:1;visibility:visible}
.arrival.leaving{animation:arrival-enter .65s ease-in forwards;pointer-events:none}.arrival.leaving .arrival-guide,.arrival.leaving .arrival-welcome,.arrival.leaving .arrival-bar,.arrival.leaving .door-choices{opacity:0;transition:opacity .2s}.arrival.leaving .arrival-media{transform:scale(1.65);transform-origin:var(--entry-x,65%) 55%;transition:transform .65s cubic-bezier(.4,0,1,1)}@keyframes arrival-enter{0%,70%{opacity:1}100%{opacity:0}}
body.arrival-active>.topbar,body.arrival-active>#main,body.arrival-active>#cat,body.arrival-active>#chat-panel{visibility:hidden;pointer-events:none}body.photos-active>.topbar,body.photos-active>#main{display:none}body.photos-active>#cat{display:none}body.photos-active>#chat-panel{display:none}
.doors-return{font:11px var(--sans)!important}.studio{position:fixed;inset:0;overflow:auto;background:#e9e1cf;color:#42392c;z-index:30}.studio-bar{position:relative;display:flex;justify-content:space-between;align-items:center;padding:25px 5vw;z-index:4;border-bottom:1px solid #87755522}.studio-bar button,.studio-bar a{font:10px var(--sans);letter-spacing:1px;color:inherit;border:1px solid #79684c55;background:transparent;border-radius:99px;padding:10px 15px;text-decoration:none;cursor:pointer}.studio-name{font:500 14px var(--serif);letter-spacing:3px}.studio-scene{min-height:calc(100dvh - 100px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;padding:7vh 8vw;position:relative;background:radial-gradient(ellipse at 85% 30%,#f9f0db,transparent 70%)}.studio-copy{position:relative;z-index:2}.studio-kicker{font:10px var(--sans);letter-spacing:3px;color:#8d734e}.studio h1{font:500 clamp(50px,5.8vw,96px)/.95 var(--serif);letter-spacing:-3px;margin:27px 0}.studio-copy>p:not(.studio-kicker){max-width:360px;font:14px/1.8 var(--sans);color:#746652}.studio-contact{display:inline-flex;gap:30px;align-items:center;margin-top:25px;border-bottom:1px solid #8d734e;padding:12px 0;color:#4c5b43;text-decoration:none;font:12px var(--sans)}.studio-copy small{display:block;font:10px var(--sans);margin-top:40px;color:#8c7b62;letter-spacing:1px}.studio-art{min-height:520px;position:relative;perspective:1100px}.studio-window{position:absolute;inset:0 8% 7%;border:15px solid #b89b70;border-radius:45% 45% 0 0;overflow:hidden;box-shadow:20px 28px 45px #5b4a3422,inset 0 0 0 4px #f5dcb1;background:#759391}.studio-window:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#9e79404d)}.studio-window img{width:100%;height:100%;object-fit:cover;object-position:96% center;transform:scale(1.2)}.studio-camera{position:absolute;width:200px;height:140px;bottom:0;left:-4%;transform:rotate(-8deg);background:linear-gradient(145deg,#3a4a49,#172a2a);border:7px solid #ab916d;border-radius:18px;box-shadow:17px 20px 25px #2a271933;display:grid;place-items:center}.studio-camera:before{content:'';width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#bfd4c9,#385b60 20%,#142b31 25%,#39595b 35%,#121d1e 46%,#977d54 48%,#cab383 54%,#233333 58%);box-shadow:0 3px 12px #0008}.studio-camera:after{content:'';position:absolute;width:65px;height:25px;top:-27px;left:22px;border:5px solid #ab916d;border-bottom:0;border-radius:8px 8px 0 0;background:#273939}.studio-photo{position:absolute;right:-1%;bottom:-10px;width:135px;height:160px;border:9px solid #f5ebd4;box-shadow:8px 12px 23px #513d2826;transform:rotate(10deg);background:#d0b890;overflow:hidden}.studio-photo img{width:100%;height:100%;object-fit:cover;object-position:40% center;transform:scale(1.4)}.studio-brand-logo{max-width:110px;height:65px;object-fit:contain;mix-blend-mode:multiply}.studio-caption{position:absolute;bottom:3%;left:40%;font:italic 15px var(--serif);color:#685334;transform:rotate(-4deg)}
@media(max-width:760px){.arrival-bar{top:18px;left:18px;right:18px;gap:8px}.arrival-wordmark{font-size:9px;letter-spacing:2px}.arrival-actions{gap:5px}.arrival-actions button{font-size:9px;padding:8px 10px}.arrival-welcome{top:15vh}.arrival-welcome h1{font-size:36px}.arrival-welcome small{font-size:8px;letter-spacing:2px}.arrival-shade{background:linear-gradient(#07151e99,transparent 32%,transparent 52%,#07151edd)}.arrival-door{top:auto;bottom:27vh;width:calc(50% - 26px);height:118px;border:1px solid #e2be784f;border-radius:16px;background:#152727a6;backdrop-filter:blur(12px);padding:18px 8px;justify-content:center}.arrival-door.photos{left:18px}.arrival-door.portfolio{left:auto;right:18px}.arrival-door strong{font-size:25px}.arrival-door small{font-size:7px;letter-spacing:1px}.arrival-door em{font-size:16px;margin-top:4px}.arrival-guide{bottom:8vh}.arrival-cat-line{padding:10px 13px}.arrival-cat-line p{font-size:18px}.arrival-guide-hints button{padding:8px 11px;font-size:9px}.arrival-replay{right:18px;bottom:18px;padding:7px 10px;font-size:8px}.arrival-status,.arrival-progress{left:18px}.studio-bar{padding:18px 22px}.studio-name{font-size:10px;letter-spacing:2px}.studio-bar button,.studio-bar a{padding:8px 10px;font-size:8px}.studio-scene{grid-template-columns:1fr;gap:45px;padding:40px 30px 70px}.studio h1{font-size:61px;letter-spacing:-2px}.studio-copy>p:not(.studio-kicker){font-size:12px}.studio-copy small{margin-top:24px}.studio-art{min-height:380px;max-width:420px;width:100%;margin:auto}.studio-camera{width:150px;height:107px;left:-2%}.studio-camera:before{width:80px;height:80px}.studio-photo{width:100px;height:125px;right:0}.studio-window{border-width:11px}.studio-caption{bottom:1%;font-size:13px}}
@media(max-height:600px) and (min-width:761px){.arrival-welcome{top:68px}.arrival-welcome h1{font-size:32px}.arrival-guide{bottom:18px;width:400px}.arrival-cat-line p{font-size:16px}.arrival-door{padding-bottom:3vh}.arrival-guide-hints{display:none}}
@media(prefers-reduced-motion:reduce){.arrival *{transition:none!important;animation:none!important}.arrival.leaving{animation:none;opacity:0}.arrival.leaving .arrival-media{transform:none}.arrival-door:hover{transform:none}}
@media(max-width:760px){.arrival-guide{top:25.5vh;bottom:auto}.arrival-cat-line p{font-size:17px}.arrival-door{bottom:8vh}.arrival-guide-hints{gap:6px}.arrival-guide-hints button{font-size:8px;padding:8px 10px}}
.arrival.fallback .arrival-film{opacity:0}
