.workspace{--panel-accent:#d9e7df;background:#17232b!important;border-radius:10px;padding:32px!important}.workspace .topline{padding-bottom:22px}.workspace .workgrid{gap:42px}.workspace h2{font-size:25px!important;letter-spacing:-.035em}.workspace input,.workspace select,.date-trigger{border:1px solid #71808a66;background:#23313b;color:#f7f6f0;border-radius:9px;min-height:50px;padding:13px 14px}.fixed-location input{background:#1b282f;color:#dce7df;border-color:transparent;padding-left:0;font-weight:600}.fixed-location:after{content:'Our airport pickup point';display:block;font-size:11px;color:#9aaeb7;margin-top:2px}.date-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:7px;text-align:left}.date-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.date-trigger:hover{border-color:#c2d2cd}.workspace .primary{background:var(--panel-accent);border-radius:9px;min-height:52px}.journey-preview{padding:4px 0 25px;border-bottom:1px solid #ffffff18;margin-bottom:24px}.journey-preview img{display:block;width:100%;height:140px;object-fit:contain}.journey-preview small{display:block;color:#bbc9ca;text-align:center;margin-top:8px}.workspace .placeholder{font-size:15px;max-width:32ch;padding:0;line-height:1.7}.workspace .fields{gap:19px 16px}.cita-calendar{background:#f2f1ec;color:#26312f;border:1px solid #fff;border-radius:18px;padding:25px;width:min(390px,calc(100vw - 28px));box-shadow:0 30px 100px #0008;font:15px Archivo,sans-serif}.cita-calendar::backdrop{background:#09121baa;backdrop-filter:blur(4px)}.cita-calendar header,.cita-calendar nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.cita-calendar header small{font-size:10px;letter-spacing:.16em;color:#61736b}.cita-calendar h2{font-size:25px;margin:8px 0 24px;letter-spacing:-.04em}.cita-calendar h3{font-size:16px;font-weight:550}.cita-calendar button{border:0;color:inherit;background:transparent;border-radius:9px;min-width:38px;min-height:40px;font:inherit}.cita-calendar nav button,.calendar-close{font-size:24px!important}.cita-calendar button:hover:not(:disabled){background:#dce4de}.cita-calendar button:focus-visible{outline:2px solid #365e50;outline-offset:1px}.cita-calendar button:disabled{opacity:.28}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.weekdays{font-size:10px;color:#66756f;margin:15px 0 10px}.calendar-days button{min-width:0;aspect-ratio:1;min-height:36px}.calendar-days button[aria-pressed=true]{background:#294b40;color:white}.calendar-days .today{box-shadow:inset 0 0 0 1px #738a7e}.calendar-note{font-size:12px;color:#66756f;margin:20px 0 0}.touch-hand{display:none;position:fixed;width:48px;height:63px;pointer-events:none;z-index:2147483647;transform:translate(-19px,-3px);filter:drop-shadow(0 2px 2px #0005)}.hand-active .touch-hand{display:block}.hand-active .stage,.hand-active .stage *,.hand-active .cita-calendar,.hand-active .cita-calendar *{cursor:none!important}.touch-hand.pressing{transform:translate(-19px,0px) scale(.94);transform-origin:19px 3px}.photo-kiosk .native-journey .stage.stone-approach:before{transform:translateX(8%) scale(1.48);transition-duration:.7s}.photo-kiosk .workspace{animation-duration:.3s}.photo-kiosk .hero .continue{z-index:0}@media(max-width:720px){.workspace{padding:20px 15px!important}.workspace .workgrid{gap:24px}.journey-preview img{height:95px}.touch-hand{display:none!important}}@media(prefers-reduced-motion:reduce){.photo-kiosk .native-journey .stage.stone-approach:before{transform:none;transition:none}}
.touch-hand{width:clamp(240px,30vw,420px);height:auto;transform:translate(-11%,-5%);filter:none}
.touch-hand.pressing{transform:translate(-11%,-5%) scale(.975);transform-origin:11% 5%}
.hand-active .cita-calendar .touch-hand{position:fixed}
@media(pointer:coarse){.touch-hand{display:none!important}}
.touch-hand{width:400px!important;height:600px!important;max-width:none!important;transform-origin:0 0!important;will-change:transform}.photo-kiosk .kiosk .choice:hover{box-shadow:inset 0 0 0 2px #e9f5ff,0 0 16px #afdaef55}
.photo-kiosk .stage:before{background-size:var(--scene-size)!important;background-position:var(--scene-position)!important}
.hand-layer{position:fixed;inset:0;width:100vw;height:100vh;margin:0;padding:0;border:0;background:transparent;overflow:visible;pointer-events:none}
.hand-layer::backdrop{display:none}
.hand-layer .touch-hand{pointer-events:none}
.time-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.time-grid button[aria-pressed=true]{background:#294b40;color:white}
.time-section{font-size:12px;letter-spacing:.05em;margin:18px 0 8px;color:#61736b}
.time-done{width:100%;background:#294b40!important;color:white!important;margin-top:20px}
.hand-visible .touch-hand{display:block}
.hand-layer{transition:translate .28s ease,opacity .22s ease;translate:0 0;opacity:1}
.hand-resting .hand-layer{translate:0 160px;opacity:0}
.photo-kiosk .native-journey .stage:not(.stone-approach):before{transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .18s ease-out}
.photo-kiosk .native-journey .stage:not(.stone-approach) .kiosk{translate:var(--look-x,0px) var(--look-y,0px);transition:translate .18s ease-out}
.photo-kiosk .native-journey .stage.stone-approach:before{transform-origin:50% 45%;transform:scale(1.4)}
@media(prefers-reduced-motion:reduce){.hand-layer{transition:none}.photo-kiosk .native-journey .stage:before{transition:none}}
.photo-kiosk .stage:before{background-image:url("c1-end.png")!important}
.photo-kiosk .stage:before{background-image:url("astra-frames-hq/frame-217.webp")!important}.frame-sequence{object-position:50% 42%}

/* Original 1080p film and lossless final frame share exactly the same crop. */
.native-journey .frame-sequence{transform:none!important;object-fit:cover;object-position:50% 42%;transition:none}

.frame-sequence{background:url('astra-frames-hq/frame-001.webp') center/cover}

/* The live controls sit directly over the ongoing final film frames. */
.live-approach.photo-kiosk .stage:before{opacity:0!important}
.live-approach.photo-kiosk .stage{background:transparent!important}
.live-approach .stage:after{display:none!important}

/* The kiosk is the end of the document, with booking content scrolling inside it. */
body>footer{display:none!important}
.scroll-journey .native-journey .stage{height:100svh;min-height:100svh;max-height:100svh;box-sizing:border-box;overflow:hidden}
.scroll-journey .workspace{max-height:calc(100svh - 48px);overflow:auto;overscroll-behavior:contain}
html{overscroll-behavior-y:none}

/* 2026-09-22: the hand replaces the mouse on the whole page (fine pointers only, the hand script gates on pointer:fine) */
@media (hover:hover) and (pointer:fine){html.hand-visible,html.hand-visible *{cursor:none!important}}

/* 2026-09-22 owner: on any mouse device the CITA hand IS the pointer, the OS cursor never shows (pure CSS, no script state needed) */
@media (hover:hover) and (pointer:fine){html,html *{cursor:none!important}}
