/* Preserve the camera-to-moving-wall composition of the approved entrance. */
.cp-cinematic{background:#faf9f7;color:#111;width:100%;padding:0}
.cp-journey{position:relative;height:255svh;min-height:0}
.cp-stage{position:sticky;top:0;width:100%;height:100svh;overflow:hidden;isolation:isolate;background:#faf9f7}
.cp-art{position:absolute;left:0;top:0;display:block;max-width:none;transform-origin:0 0;pointer-events:none;z-index:1;will-change:transform;mix-blend-mode:multiply}
.cp-photo{opacity:0}
.cp-display{position:absolute;overflow:hidden;background:#faf9f7;z-index:2;isolation:isolate}
.cp-space{position:absolute;left:0;top:0;transform-origin:0 0;background:#080808;overflow:hidden}
.cp-lcd-instruction{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 clamp(7px,.8vw,15px) Inter,Arial,sans-serif;letter-spacing:.08em;color:#444;pointer-events:none}.cp-lcd-instruction[hidden]{display:none}
.cp-wall{position:absolute;inset:8% -4%;display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:clamp(10px,1.5vw,30px);will-change:transform}
.cp-wall-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(10px,1.5vw,30px);width:145%;min-height:0;animation:cp-wall-drift 44s ease-in-out infinite alternate;animation-play-state:paused}
.cp-wall-row:nth-child(even){animation-direction:alternate-reverse;animation-duration:52s}.cp-journey.is-running .cp-wall-row{animation-play-state:running}
@keyframes cp-wall-drift{from{transform:translateX(0)}to{transform:translateX(-28%)}}
.cp-wall-tile{min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#171717;overflow:hidden;filter:brightness(.43);transition:filter .25s}.cp-wall-tile img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
button.cp-wall-tile{cursor:pointer;pointer-events:auto}button.cp-wall-tile:hover,button.cp-wall-tile:focus-visible{filter:brightness(.85);outline:1px solid #ae7eff;outline-offset:-2px}
.cp-hero{position:absolute;left:50%;top:50%;width:min(43vw,88svh);aspect-ratio:16/9;transform:translate(-50%,-50%);margin:0;padding:0;border:0;border-radius:0;background:#080808;color:white;cursor:default;box-shadow:0 22px 70px #000b;z-index:3;will-change:transform}
.cp-hero video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
@font-face{font-family:PerriWelcome;src:url('../fonts/sacramento-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
.cp-welcome{position:absolute;top:clamp(8px,1vw,18px);left:0;right:0;display:grid;place-items:center;padding:0 12px;color:#fff;font:400 clamp(32px,2.9vw,58px)/1.5 PerriWelcome,cursive;letter-spacing:0;text-transform:none;text-align:center;white-space:nowrap;text-shadow:0 2px 14px #0009;pointer-events:none;user-select:none;opacity:0;transition:opacity .65s ease;z-index:1}
.cp-welcome.is-visible{opacity:1}
.cp-welcome-word{grid-area:1/1;opacity:0;transform:translateY(5px);filter:blur(3px);transition:opacity .55s ease,transform .7s ease,filter .7s ease}
.cp-welcome-word.is-current{opacity:1;transform:translateY(0);filter:blur(0)}
.cp-welcome.is-still,.cp-welcome.is-still .cp-welcome-word{transition:none}
@media(prefers-reduced-motion:reduce){.cp-welcome,.cp-welcome-word{transition:none}}






.cp-jump,.cp-start{position:absolute;right:3%;bottom:24px;z-index:6;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:10px 0;background:#ffffffc9;color:#333;font:400 14px Inter,Arial,sans-serif;cursor:pointer}
.cp-start{left:3%;right:auto}.cp-jump[hidden],.cp-start[hidden]{display:none}.cp-stage.is-dark .cp-jump,.cp-stage.is-dark .cp-start{color:#eee;background:#08080890}
.cp-exit{position:absolute;left:3%;right:3%;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:5;opacity:0;pointer-events:none}
.cp-exit button,.cp-exit a{font:400 12px Inter,Arial,sans-serif;letter-spacing:.02em;color:#eee;text-decoration:none;background:#08080880;border:0;border-bottom:1px solid #888;padding:10px 0;cursor:pointer}
.cp-continue span{margin-left:20px}.cp-journey.is-ready .cp-exit{opacity:1;pointer-events:auto}
body.camera-paper .nav,body.camera-paper .nav.scrolled{background:#fffffff0;border-color:#0001;color:#111}body.camera-paper .nav-logo,body.camera-paper .nav-link{color:#111}body.camera-paper .nav-cta{background:#111;color:#fff}
body.camera-cinema .nav{opacity:0;pointer-events:none}body.camera-cinema .nav:focus-within{opacity:1;pointer-events:auto}

@media(max-width:700px){.cp-exit{bottom:24px}.cp-exit button,.cp-exit a{font-size:11px}}
.cp-journey.is-static{height:100svh}.cp-journey.is-static .cp-stage{position:relative}
@media(prefers-reduced-motion:reduce){.cp-project{will-change:auto}}


@media(max-width:700px){.cp-wall{inset:13% -35%;gap:12px}.cp-wall-row{width:210%;gap:12px}.cp-hero{width:82vw}}
.cp-journey.is-static .cp-wall-row{animation:none}
.cp-wall-row:focus-within{animation-play-state:paused!important}
@media(hover:hover){.cp-wall-row:hover{animation-play-state:paused!important}}
@media(prefers-reduced-motion:reduce){.cp-wall-row{animation:none!important}}

@media(max-width:767px){.cp-exit{display:none}}
