.shoot-intro{position:fixed;inset:0;z-index:500;background:#b8aa92;color:#fff;isolation:isolate;overflow:hidden;height:100dvh;min-height:0}
.shoot-intro[hidden]{display:none!important}
html.intro-open,html.intro-open body{overflow:hidden;overscroll-behavior:none}
.shoot-scene,.shoot-poster,.shoot-film,.shoot-shade,.shoot-flash{position:absolute;inset:0;width:100%;height:100%}
.shoot-scene{overflow:hidden;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.shoot-poster,.shoot-film{object-fit:cover;object-position:center;max-width:none}
.shoot-film{opacity:0;pointer-events:none}
.shoot-intro[data-state="shooting"] .shoot-film,.shoot-intro[data-state="paused"] .shoot-film,.shoot-intro[data-state="missed"] .shoot-film,.shoot-intro[data-state="capturing"] .shoot-film,.shoot-intro[data-state="photo"] .shoot-film,.shoot-intro.has-film[data-state="revealing"] .shoot-film{opacity:1}
.shoot-shade{pointer-events:none;background:linear-gradient(180deg,#24231f3c,transparent 28%),linear-gradient(90deg,#24231f80,transparent 46%),linear-gradient(0deg,#24231f55,transparent 40%)}
.shoot-top{position:absolute;top:max(24px,env(safe-area-inset-top));left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:3}
.shoot-brand{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.14em}
.shoot-brand .brand-mark{width:30px;height:32px;overflow:hidden}
.shoot-brand .brand-mark img{width:94px;height:auto;max-width:none;transform:translate(-30px,-17px);filter:invert(1);mix-blend-mode:screen}
.shoot-skip{color:#fff;min-height:44px;font-size:14px;padding:8px 0;border-bottom:1px solid #ffffff50;text-shadow:0 1px 12px #13252d60}
.shoot-copy{position:absolute;left:5vw;top:35%;max-width:36vw;pointer-events:none;transition:opacity .4s,transform .6s}
.shoot-kicker{font-size:12px;letter-spacing:.17em;line-height:1.6;margin:0 0 22px;text-transform:uppercase}
.shoot-title{font-family:var(--serif);font-size:clamp(42px,5.3vw,88px);font-weight:400;letter-spacing:-.045em;line-height:1.05;margin:0;text-wrap:balance}
.shoot-title em{font-family:var(--serif);font-weight:400}
.shoot-camera{position:absolute;padding:0;border:0;border-radius:16px;background:transparent;color:#fff;cursor:pointer;touch-action:manipulation;min-width:44px;min-height:44px;z-index:4;outline-offset:6px;transition:opacity .25s}
.shoot-camera:disabled{opacity:.65;cursor:wait}
.shoot-camera::before,.shoot-camera::after{content:"";position:absolute;width:13px;height:13px;border-color:#ffffff80;border-style:solid;pointer-events:none;transition:transform .2s,border-color .2s}
.shoot-camera::before{left:5%;top:5%;border-width:1px 0 0 1px}
.shoot-camera::after{right:5%;bottom:5%;border-width:0 1px 1px 0}
.shoot-camera:active::before{transform:translate(3px,3px)}
.shoot-camera:active::after{transform:translate(-3px,-3px)}
.shoot-cue{position:absolute;top:80%;left:50%;transform:translate(-50%,0) rotate(-5deg);white-space:nowrap;font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.5vw,38px);font-weight:400;letter-spacing:-.05em;line-height:1.2;text-shadow:0 1px 4px #000,0 1px 18px #0008;transition:transform .2s}
.shoot-cue::before{content:"↖";position:absolute;left:46%;bottom:100%;font-family:var(--sans);font-style:normal;font-size:21px;font-weight:400;transform:rotate(-12deg);line-height:1.2}
.shoot-note{position:absolute;left:5vw;bottom:max(40px,calc(env(safe-area-inset-bottom) + 24px));max-width:420px;z-index:3;pointer-events:none;text-shadow:0 1px 12px #24231f80;transition:opacity .3s}
.shoot-note-copy{font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);letter-spacing:-.035em;line-height:1.1;font-style:italic;text-wrap:balance}
.shoot-note-detail{font-size:12px;line-height:1.5;letter-spacing:.01em;margin-top:9px;max-width:35ch}
.shoot-remaining{display:none;font-family:var(--sans);font-size:12px;font-style:normal;letter-spacing:.05em;font-variant-numeric:tabular-nums;margin-top:10px}
.shoot-intro[data-state="shooting"] .shoot-remaining{display:block}
.shoot-last-call .shoot-remaining{color:#f6e2bd}
.shoot-status,.shoot-description{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.shoot-progress{position:absolute;left:5vw;right:5vw;bottom:max(18px,env(safe-area-inset-bottom));height:1px;background:#ffffff2e;opacity:0;transition:opacity .3s;pointer-events:none}
.shoot-progress span{display:block;width:100%;height:100%;background:#eadfc7;transform:scaleX(0);transform-origin:left center}
.shoot-focus{position:absolute;opacity:0;pointer-events:none;transition:opacity .3s;z-index:1}
.shoot-focus i{position:absolute;width:14px;height:14px;border-color:#fffc;border-style:solid;opacity:.6}
.shoot-focus i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.shoot-focus i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.shoot-focus i:nth-child(3){left:0;bottom:0;border-width:0 0 1px 1px}.shoot-focus i:nth-child(4){right:0;bottom:0;border-width:0 1px 1px 0}
.shoot-flash{z-index:8;background:#fff8ea;opacity:0;pointer-events:none}
.shoot-intro:not([data-state="idle"]) .shoot-copy{opacity:0;transform:translateY(-10px)}
.shoot-intro[data-state="capturing"] .shoot-camera,.shoot-intro[data-state="photo"] .shoot-camera,.shoot-intro[data-state="revealing"] .shoot-camera{opacity:0;pointer-events:none;visibility:hidden}
.shoot-intro[data-state="capturing"] .shoot-note,.shoot-intro[data-state="photo"] .shoot-note,.shoot-intro[data-state="revealing"] .shoot-note{opacity:0}
.shoot-intro[data-state="shooting"] .shoot-progress,.shoot-intro[data-state="shooting"] .shoot-focus{opacity:1}
.shoot-intro[data-state="revealing"]{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.shoot-intro[data-state="revealing"] .shoot-scene{transform:scale(1.025)}
/* The visitor's actual frame becomes an editorial print, not a canned image. */
.shoot-print{position:absolute;inset:0;z-index:2;background:#eee7dc;color:var(--ink);padding:120px 6vw 70px;display:grid;grid-template-columns:.7fr 1.3fr;align-content:center;align-items:center;gap:5vw;opacity:0;visibility:hidden;pointer-events:none;overflow-y:auto;overscroll-behavior:contain;transition:opacity .6s ease,visibility .6s}
.shoot-print-heading{font-family:var(--serif);font-size:clamp(42px,5.8vw,84px);letter-spacing:-.065em;line-height:.98;text-wrap:balance}
.shoot-print-heading em{display:block;margin-top:8px}
.shoot-print-copy>p{font-size:13px;line-height:1.6;margin-top:24px;max-width:26ch;color:#62594b}
.shoot-print-object{width:100%;max-width:740px;justify-self:center}
.shoot-paper{margin:0;padding:14px 14px 22px;background:#fffaf0;box-shadow:0 16px 45px #67574324,0 1px 3px #67574312;transform:translateY(20px) rotate(-2deg);transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.shoot-result{display:block;width:100%;height:auto;max-height:calc(100dvh - 340px);object-fit:contain;object-position:center;background:#ddcebc}
.shoot-filter-fallback{filter:sepia(.2) saturate(.85) contrast(.93) brightness(1.05)}
.shoot-paper figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:16px;padding:0 3px;font-size:10px;letter-spacing:.13em}
.shoot-paper figcaption em{font-family:var(--serif);font-size:22px;letter-spacing:-.03em}
.shoot-print-actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:35px}
.shoot-print-actions button{min-height:44px;font-size:13px;line-height:1.2;padding:8px 0;border-bottom:1px solid #24231f40;transition:border-color .2s}
.shoot-print-actions .shoot-enter{color:#24231f;border-color:#24231f;font-weight:600}
.shoot-intro.has-result .shoot-top{color:var(--ink)}
.shoot-intro.has-result .shoot-skip{color:var(--ink);border-color:#24231f60;text-shadow:none}
.shoot-intro.has-result .shoot-brand .brand-mark img{filter:none;mix-blend-mode:multiply}
.shoot-intro.has-result .shoot-print{opacity:1;visibility:visible;pointer-events:auto}
.shoot-intro.has-result .shoot-paper{transform:translateY(0) rotate(-1.2deg)}
@media(hover:hover){.shoot-camera:hover::before{transform:translate(-4px,-4px);border-color:white}.shoot-camera:hover::after{transform:translate(4px,4px);border-color:white}.shoot-camera:hover .shoot-cue{transform:translate(-50%,-3px) rotate(-3deg)}.shoot-skip:hover{border-color:currentColor}.shoot-print-actions button:hover{border-color:#24231f}}
@media(max-width:800px){
 .shoot-top{left:22px;right:22px;top:max(16px,env(safe-area-inset-top))}
 .shoot-brand{font-size:12px;gap:7px}.shoot-skip{font-size:13px}
 .shoot-copy{top:max(104px,calc(env(safe-area-inset-top) + 84px));left:25px;right:25px;max-width:450px}
 .shoot-kicker{font-size:11px;letter-spacing:.13em;margin-bottom:15px}
 .shoot-title{font-size:clamp(36px,10vw,62px);line-height:1.07;max-width:11ch}
 .shoot-shade{background:linear-gradient(180deg,#24231f40,transparent 38%),linear-gradient(0deg,#24231f65,transparent 35%)}
 .shoot-note{left:22px;bottom:max(34px,calc(env(safe-area-inset-bottom) + 24px));max-width:42vw}
 .shoot-note-copy{font-size:25px}.shoot-note-detail{font-size:11px;max-width:23ch;margin-top:7px}.shoot-remaining{margin-top:7px}
 .shoot-progress{left:22px;right:22px}.shoot-cue{font-size:27px}
 .shoot-print{padding:max(94px,calc(env(safe-area-inset-top) + 84px)) 24px max(34px,calc(env(safe-area-inset-bottom) + 24px));grid-template-columns:1fr;gap:32px;align-content:center}
 .shoot-print-copy{text-align:center}.shoot-print-heading{font-size:clamp(44px,12vw,68px);line-height:1}.shoot-print-heading em{display:inline;margin:0 0 0 .1em}
 .shoot-print-copy>p{margin:14px auto 0;max-width:30ch;font-size:12px}
 .shoot-paper{padding:10px 10px 16px}.shoot-paper figcaption{margin-top:13px;font-size:9px}.shoot-paper figcaption em{font-size:20px}
 .shoot-result{max-height:calc(100dvh - 340px)}
 .shoot-print-actions{gap:12px 22px;margin-top:27px}.shoot-print-actions button{font-size:12px}.shoot-print-actions .shoot-enter{flex-basis:65%;padding:14px 0}
}
@media(min-width:600px) and (max-width:800px){.shoot-copy{top:92px;max-width:440px}.shoot-title{font-size:48px;max-width:15ch}.shoot-kicker{font-size:10px;margin-bottom:12px}}
@media(max-width:800px) and (max-height:700px){.shoot-copy{top:80px}.shoot-kicker{font-size:9px;margin-bottom:10px}.shoot-title{font-size:clamp(28px,8.5vw,36px);max-width:none;line-height:1.03}.shoot-note-copy{font-size:22px}.shoot-note-detail{font-size:10px}.shoot-print{gap:20px;padding-top:82px;padding-bottom:24px}.shoot-print-heading{font-size:40px}.shoot-print-copy>p{display:none}.shoot-print-actions{margin-top:18px;gap:5px 20px}.shoot-paper figcaption{margin-top:10px}}
@media(max-height:560px) and (orientation:landscape){.shoot-copy{top:25%}.shoot-title{font-size:42px}.shoot-kicker{margin-bottom:10px}.shoot-print{grid-template-columns:.6fr 1.4fr;gap:25px;padding:90px 5vw 25px}.shoot-print-copy{text-align:left}.shoot-print-heading{font-size:36px}.shoot-print-copy>p{margin:12px 0 0}.shoot-result{max-height:calc(100dvh - 215px)}.shoot-print-actions{margin-top:15px;gap:15px}.shoot-print-actions .shoot-enter{flex-basis:auto}}
@media(prefers-reduced-motion:reduce){.shoot-intro,.shoot-scene,.shoot-copy,.shoot-print,.shoot-paper,.shoot-note,.shoot-camera::before,.shoot-camera::after,.shoot-cue{transition:none!important}.shoot-paper,.shoot-intro.has-result .shoot-paper{transform:none}.shoot-flash{display:none}}
