@font-face{font-family:UnifrakturCook;src:url(/assets/fonts/unifrakturcook-latin-700-normal.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:IM Fell English;src:url(/assets/fonts/im-fell-english-latin-400-normal.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IM Fell English;src:url(/assets/fonts/im-fell-english-latin-400-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Special Elite;src:url(/assets/fonts/special-elite-latin-400-normal.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--ink:#15100E;--paper:#D8C7A3;--paper-light:#EADFC8;--maroon:#6B1420;--maroon-bright:#931C2E;--lantern:#D9A441;--body:"IM Fell English",Georgia,serif;--display:GALVANIZED,Georgia,serif;--ui:"Special Elite",Georgia,serif;color:var(--ink);background:var(--ink);font-family:var(--body);font-size:18px;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--maroon-bright);outline-offset:5px}.dark :focus-visible{outline-color:var(--paper-light)}[hidden]{display:none!important}.art{display:block;flex-shrink:0}.icon{width:20px;height:20px;object-fit:contain}.tiny,.eyebrow,.button,.page-number{font-family:var(--ui)}.tiny{font-size:13px;letter-spacing:2px}.scene{position:relative;isolation:isolate;overflow:hidden;min-height:760px;padding:76px 32px 70px;text-align:center}.dark{background:var(--ink);color:var(--paper)}.paper{background:var(--paper);color:var(--ink)}.paper:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url(/assets/png/paper-filter.png),url(/assets/png/fold-lines.png);background-size:160px,100% 100%;opacity:.27}.paper:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px #15100e14;z-index:-1}#invitation{max-width:640px;margin:auto;box-shadow:0 0 0 1px #d8c7a330}.button{position:relative;display:inline-flex;gap:16px;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;border:1px solid var(--ink);border-radius:1px;font-size:14px;line-height:1.5;text-decoration:none;background:var(--paper-light);color:var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .2s,opacity .2s}.button:hover{transform:translateY(-2px)}.button:active{transform:translate(2px,2px)}.button.primary{background:var(--maroon);color:var(--paper-light);border-color:var(--maroon-bright)}.primary .icon{filter:invert(92%) sepia(17%)}.gate-scene{padding-top:max(32px,env(safe-area-inset-top));min-height:100cqh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-bottom:30px}.gate-top{display:flex;justify-content:space-between;align-items:center;width:100%;opacity:.8}.small-star{font-size:16px}.gate-copy{font-size:23px;line-height:1.5;margin:34px 0 4px;max-width:300px}.recipient{font-size:16px;color:var(--paper-light);max-width:100%;overflow-wrap:anywhere;margin:8px 0 0}.gate-stage{width:calc(100% + 64px);max-width:520px;position:relative;aspect-ratio:1/1.13;margin:0 -32px}.gate-art{position:absolute;inset:8% 2% 0}.gate-trees{position:absolute;inset:16% -20% 0;opacity:.15;transform:scaleX(1.25)}.gate-lantern{position:absolute;width:19%;height:43%;top:-3%;left:40.5%}.gate-raven{position:absolute;width:20%;height:20%;right:5%;top:5%;transform:rotate(-6deg)}.fog{position:absolute;left:-20%;width:140%;height:35px;border-radius:50%;background:var(--paper);opacity:.035;bottom:15%;filter:blur(10px)}.fog-two{bottom:7%;left:0;width:120%}.gate-scene .button{width:220px;margin:10px 0 16px;z-index:2}.gate-bottom{display:flex;gap:20px;align-items:center;opacity:.5;font-size:12px;margin-top:15px}.gate-bottom span{width:45px;height:1px;background:var(--paper)}.cover-scene{min-height:860px;padding:74px 26px 65px;display:flex;flex-direction:column;align-items:center}.eyebrow{font-size:14px;letter-spacing:1.8px;line-height:1.8;margin:0 0 20px}.cover-lantern{width:105px;height:180px;margin-bottom:24px}h1{font:clamp(43px,9.2cqw,64px)/1.05 var(--display);letter-spacing:-1px;color:var(--maroon);margin:0;width:100%}h1 span{display:block;white-space:nowrap}h1 em{display:block;font:italic 32px/1.8 var(--body);color:var(--ink)}.divider{width:185px;height:52px;margin:19px auto 7px}.cover-date{font-size:19px;margin:12px 0}.cover-seal{width:105px;height:105px;margin-top:23px}.cover-bat{position:absolute;top:135px;left:-20px;width:55px;height:40px;opacity:.7}.corner{position:absolute;width:83px;height:83px;top:20px;opacity:.7}.top-left{left:16px}.top-right{right:16px;transform:scaleX(-1)}.page-number{position:absolute;bottom:24px;left:0;right:0;opacity:.6;font-size:12px}@media(min-width:700px){body{background-image:url(/assets/png/iron-fence.png);background-repeat:repeat-x;background-position:bottom;background-attachment:fixed;background-size:360px 70px}.scene{padding-left:72px;padding-right:72px}.gate-stage{width:calc(100% + 64px)}.gate-copy{font-size:25px}.cover-scene h1{font-size:66px}}@media(max-width:375px){.scene{padding-left:26px;padding-right:26px}.gate-copy{font-size:21px}.cover-scene{padding-left:19px;padding-right:19px}h1{font-size:43px}.gate-scene{min-height:790px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@font-face{font-family:GALVANIZED;src:url(/assets/fonts/GALVANIZED.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}body.companion{--companion-ink:#431d28;--companion-wine:#642139;--companion-cream:#ffe7c7;height:auto;min-height:100svh;overflow:auto;display:block;isolation:isolate;background:#10070c;color:var(--companion-cream);font:19px/1.5 IM Fell English,Georgia,serif}body.companion:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#10070c35,#10070c88),url(/assets/png/rooms/overhead-desk.png) center top/cover}.companion #app{width:100%;height:auto;overflow:visible}.companion-shell{max-width:1220px;margin:auto;padding:0 36px 36px}.companion-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:18px 0 24px;background:url(/assets/png/arrival/ui-divider.png) center bottom/100% 12px no-repeat}.companion-nav a{text-decoration:none;font-size:19px}.companion-nav a:first-child{font:27px GALVANIZED,Georgia,serif}.companion-nav span{margin-left:18px;color:#d8b5aa;font:12px Special Elite,serif}.companion-heading{max-width:780px;margin:auto;padding:36px 0 28px;text-align:center}.companion-heading:after{content:"";display:block;width:min(300px,80%);height:15px;margin:22px auto 0;background:url(/assets/png/arrival/ui-divider.png) center/100% 100% no-repeat}.companion-heading h1{color:var(--companion-cream);font:clamp(34px,4.5vw,52px)/1.2 GALVANIZED,Georgia,serif;letter-spacing:0;text-shadow:0 3px 8px #10070c}.companion-heading p:not(.kicker){font-size:21px;line-height:1.5;color:#f0d2be;max-width:620px;margin:18px auto 0}.companion .kicker{color:#e1b9a8;margin:0 0 18px;font:11px/1.8 Special Elite,serif;letter-spacing:2.5px}.reservation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:30px;align-items:start}.companion-card{min-width:0;padding:18px 20px 24px;border-style:solid;border-width:38px 43px 46px 26px;border-image:url(/assets/png/guestbook/page.png) 55 85 80 40 fill/38px 43px 46px 26px/0 stretch;color:var(--companion-ink);filter:drop-shadow(0 14px 12px #0006)}.companion h2{font:31px/1.2 GALVANIZED,Georgia,serif;margin:0 0 18px;color:var(--companion-cream)}.companion h3{font:24px/1.3 IM Fell English,Georgia,serif;color:inherit}.companion-card h2,.companion-card h3{color:var(--companion-wine)}.companion-card .kicker{color:#884855}.companion-card p{line-height:1.5}.companion label{display:block;margin:24px 0 9px;font:18px/1.4 IM Fell English,Georgia,serif}.companion input,.companion select,.companion textarea{display:block;width:100%;min-height:48px;padding:10px 4px;border:0;border-bottom:1px solid #784656;border-radius:0;background:transparent;color:var(--companion-ink);font:20px/1.5 IM Fell English,Georgia,serif}.companion input::placeholder{color:#795760;opacity:1}.companion select option{color:var(--companion-ink);background:#f2d3ae}.companion textarea{min-height:96px;font-size:17px;overflow-wrap:anywhere;resize:vertical}.companion-button,.guest-admin .button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:60px;padding:16px 27px;margin-top:15px;border:0;border-radius:0;box-shadow:none;background:url(/assets/png/buttons/button-submit.png) center/100% 100% no-repeat;color:var(--companion-cream);font:18px/1.4 IM Fell English,Georgia,serif;text-align:center;text-decoration:none;cursor:pointer}.companion-button.primary,.guest-admin .button.primary{background:url(/assets/png/buttons/button-submit.png) center/100% 100% no-repeat;color:var(--companion-cream)}.companion-button:hover,.guest-admin .button:hover{filter:brightness(1.15)}.companion-button:disabled{opacity:.5;cursor:not-allowed}.companion :focus-visible{outline:2px solid #efc788;outline-offset:4px}.companion-card :focus-visible,.guest-admin #admin-panel :focus-visible{outline-color:#642139}.companion .small-note{font-size:15px;color:#704452}.companion .subtle-link{font-size:16px;text-underline-offset:4px}.companion .honeypot{position:absolute;left:-10000px}.companion .guest-code{font:30px Special Elite,serif;letter-spacing:4px}#direct-qr{display:block;margin:20px auto;width:180px;height:180px}#direct-result{text-align:center}#direct-status{color:#642139}#direct-status:empty,.camera-note:empty,.guest-admin #admin-status:empty{display:none}.companion-footer{display:flex;justify-content:space-between;gap:20px;margin-top:48px;padding-top:26px;background:url(/assets/png/arrival/ui-divider.png) center top/100% 12px no-repeat;color:#e1b9a8;font:10px/1.6 Special Elite,serif;letter-spacing:1.5px}.a5-preview{display:flex;justify-content:center}.a5-spread{display:grid;gap:26px}.a5-side{margin:0;min-width:0}.a5-face-label{margin:0 0 10px;color:#e1b9a8;text-align:center;font:11px/1.5 Special Elite,serif;letter-spacing:1.8px}.a5-cover,.a5-card{width:148mm;height:210mm;flex-shrink:0;position:relative;overflow:hidden;filter:drop-shadow(0 16px 18px #0008);color:#431d28}.a5-cover{isolation:isolate;background:#b78451;text-align:center}.a5-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.a5-cover-heading{position:absolute;top:8mm;left:12mm;right:12mm;color:#3d101b;text-shadow:0 1px 0 #f6d99855}.a5-cover-heading p{font:8pt/1.3 Special Elite,serif;letter-spacing:1.7px;margin:0 0 2mm}.companion .a5-cover h2{font:32pt/1.1 GALVANIZED,Georgia,serif;color:#3d101b;margin:0;white-space:nowrap;letter-spacing:0}.a5-cover h2 em{font:italic 22pt IM Fell English,Georgia,serif}.a5-cover-qr{position:absolute;bottom:5mm;left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:1mm;width:36mm}.a5-cover-qr img{width:22mm;height:22mm;display:block;image-rendering:pixelated}.a5-cover-qr span{font:6.5pt/1.2 Special Elite,serif;letter-spacing:.3px;color:#2b1117;background:#ebcf9cad;padding:1mm 1.5mm}.a5-card{padding:30mm 16mm 15mm;text-align:center;background:url(/assets/png/ticket/stationery.png) center/100% 100% no-repeat}.a5-intro{font:9.5pt/1.3 IM Fell English,serif;margin:0 0 3mm}.companion .a5-card h2{font:22pt/1 GALVANIZED,Georgia,serif;margin:0;color:#642139}.a5-card h2 em{font:italic 13pt/1 IM Fell English,serif}.a5-rule{margin:2mm auto;height:2mm;width:65mm;background:url(/assets/png/arrival/ui-divider.png) center/100% 100% no-repeat}.a5-date{font:9pt/1.4 Special Elite,serif;letter-spacing:.5px;margin:0 0 1.5mm}.a5-time{font:11pt/1.3 IM Fell English,serif;margin:0 0 2mm}.a5-venue{font:16pt/1.2 IM Fell English,serif;margin:0 0 2mm;color:#642139}.a5-address{font:10.5pt/1.35 IM Fell English,serif;margin:0}.a5-location-code{font:8pt/1.3 Special Elite,serif;margin:1.5mm 0 2mm}.a5-dresscode{font:10.5pt/1.3 IM Fell English,serif;margin:0}.a5-recipient{border-block:1px solid #88485555;margin:2mm;padding:1.5mm 1mm;display:grid;gap:1.5mm}.a5-recipient span{font-size:9pt;line-height:1.25}.a5-recipient strong{font:13pt/1.2 IM Fell English,serif;overflow-wrap:anywhere}.a5-qrs{display:flex;justify-content:center}.a5-qrs>div{display:grid;justify-items:center;gap:1.5mm}.a5-qrs img{width:22mm;height:22mm;display:block;image-rendering:pixelated}.a5-qrs span{font:8pt/1.2 Special Elite,serif}.a5-checkin-note{font:9pt/1.3 IM Fell English,serif;margin:2mm 0 0}.a5-general-note{font:11pt/1.4 IM Fell English,serif;margin:14mm 0}.a5-footer{font:italic 10pt/1.4 IM Fell English,serif;margin:3mm 0 0}#camera-login{max-width:560px;margin:0 auto}#camera-login>.kicker,#camera-login>h2{text-align:center}.camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}.camera-grid>*{min-width:0}.camera-stage{position:relative;aspect-ratio:3/4;border:3px solid #140a0f;background:#24101bec;overflow:hidden;box-shadow:0 12px 18px #0006}.camera-stage video{width:100%;height:100%;object-fit:cover}.camera-stage:after{content:"";position:absolute;inset:12px;border:1px solid #c49a7866;pointer-events:none}.camera-placeholder{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;padding:24px;text-align:center;pointer-events:none}.camera-placeholder:before{content:"";width:80%;max-width:290px;aspect-ratio:440/463;background:url(/assets/png/photo-frame-camera.png) center/contain no-repeat}.camera-placeholder span{display:none}.camera-placeholder p{font-size:22px;line-height:1.4}.camera-controls{display:flex;gap:12px}.camera-controls button{flex:1;min-width:0}#camera-workspace>.camera-controls{justify-content:space-between;align-items:center;margin-bottom:22px}#camera-greeting{margin:0}#camera-logout{flex:0 0 125px;width:125px;margin:0}.camera-note,.guest-admin #admin-status:not(:empty){padding:14px 18px;border-left:2px solid #c99376;background:#24101bee;color:#ffe7c7;overflow-wrap:anywhere}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}.photo-tile{background:#ead0b2 url(/assets/png/paper-filter.png) center/180px;color:#431d28;padding:10px 10px 16px;min-width:0;box-shadow:0 8px 14px #0006}.photo-tile img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.photo-tile p{margin:12px 3px;font-size:16px;overflow-wrap:anywhere}.photo-tile button,.photo-tile a{display:inline-block;margin:4px 2px;padding:11px 15px;background:url(/assets/png/buttons/button-submit.png) center/100% 100% no-repeat;color:#ffe7c7;border:0;font:15px IM Fell English,serif;text-decoration:none}.album-section{margin-top:48px;padding-top:38px;background:url(/assets/png/arrival/ui-divider.png) center top/100% 12px no-repeat}.album-section .companion-button{width:auto;display:inline-flex;min-width:170px;margin:0 10px 0 0}.album-empty{padding:20px 0;max-width:480px;line-height:1.6;color:#efd2be}.album-qr{background:#f3e7d2;width:min(190px,100%);height:auto;aspect-ratio:1;display:block;margin:20px auto}.queue-item{border-bottom:1px solid #88485555;padding:12px 0;font-size:16px}.camera-progress{width:100%;accent-color:#642139}.companion .sr-only{width:1px;min-height:0;padding:0;border:0}.print-table{display:none}.guest-admin .admin.paper{max-width:1160px;padding:20px 36px 40px;background:transparent;color:var(--companion-cream)}.guest-admin .admin.paper:before,.guest-admin .admin.paper:after{display:none}.guest-admin .admin-back{color:#efcdb8;font:17px/1.5 IM Fell English,Georgia,serif}.guest-admin .admin h1{margin:0;font-size:clamp(34px,4.5vw,52px);color:var(--companion-cream)}.guest-admin .admin #admin-login{max-width:530px;margin:0 auto}.guest-admin #admin-panel{margin-top:25px;padding:15px 25px 30px;border-style:solid;border-width:38px 43px 46px 26px;border-image:url(/assets/png/guestbook/page.png) 55 85 80 40 fill/38px 43px 46px 26px/0 stretch;color:var(--companion-ink)}.guest-admin #admin-panel h2,.guest-admin #admin-panel h3{color:var(--companion-wine)}.guest-admin .admin-actions{gap:12px;margin-bottom:28px}.guest-admin .admin-actions .button{flex:1 1 190px;width:auto;margin-top:0;padding-inline:22px;font-size:17px}.guest-admin .admin-totals{gap:24px}.guest-admin .admin-totals>div{border:0;border-bottom:1px solid #88485566;padding:12px 0 20px}.guest-admin .admin-totals strong{font:38px GALVANIZED,Georgia,serif;color:#642139;margin-top:12px}.guest-admin .scan-actions .button{width:auto;min-width:175px}.guest-admin .inline-form .button{width:auto;margin:0}.guest-admin .admin-row .button{width:135px;margin:0;font-size:16px}.guest-admin #checkin-result:not(:empty){background:#f5dcbc77;border-color:#88485566}@media(max-width:1100px){.reservation-layout{grid-template-columns:1fr}.reservation-layout>.companion-card{max-width:650px;width:100%;margin:0 auto}.a5-preview{justify-content:center}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.companion-shell{padding-inline:14px}.companion-nav{min-height:74px}.companion-nav a{font-size:17px}.companion-nav span{display:none}.companion-heading{padding:28px 6px 26px}.companion-heading p:not(.kicker){font-size:18px}.companion .kicker{font-size:10px;letter-spacing:1.8px}.companion-card{padding:14px 9px 18px;border-width:30px 26px 35px 18px;border-image-width:30px 26px 35px 18px}.companion h2{font-size:28px}.companion-card p{font-size:18px}.companion-card .small-note{font-size:15px}.camera-grid{grid-template-columns:1fr;gap:28px}.photo-grid{gap:12px}.a5-preview{zoom:.56}.companion-footer{font-size:9px}.camera-stage{max-height:65svh}.guest-admin .admin.paper{padding:20px 14px 32px}.guest-admin #admin-panel{padding:10px 9px 24px;border-width:30px 26px 35px 18px;border-image-width:30px 26px 35px 18px}.guest-admin .admin-actions .button{flex-basis:140px;font-size:16px}.guest-admin .admin-totals{gap:15px}.guest-admin .admin-totals span{font-size:11px}.guest-admin .admin-row{align-items:flex-start;flex-direction:column;gap:12px}.guest-admin .inline-form{align-items:stretch;flex-direction:column}}@media(max-width:359px){.a5-preview{zoom:.5}}@page{size:A5 portrait;margin:0}@media print{html,body.companion{margin:0!important;padding:0!important;background:#fff!important;width:148mm!important;height:auto!important;overflow:visible!important}body.companion:before{display:none}.companion-shell,.reservation-layout,.a5-preview{display:block!important;width:148mm!important;margin:0!important;padding:0!important;zoom:1!important}.companion-nav,.companion-heading,.no-print{display:none!important}.a5-spread{display:block!important}.a5-side{margin:0!important;break-inside:avoid;break-after:page}.a5-side:last-child{break-after:auto}.a5-cover,.a5-card{filter:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.camera-app{display:none!important}.print-table{display:block!important;width:148mm;height:210mm;padding:35mm 18mm 20mm;text-align:center;color:#431d28;background:url(/assets/png/ticket/stationery.png) center/100% 100% no-repeat;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-table h1{font:33pt GALVANIZED,Georgia,serif;color:#642139}.print-table img{display:block;width:55mm;height:55mm;margin:8mm auto}.print-table p{font:14pt/1.4 IM Fell English,Georgia,serif}.print-table small{font-size:10pt;overflow-wrap:anywhere}}body.tablet-kiosk{background:#24110d;color:#422b27}body.tablet-kiosk:before{background:linear-gradient(#180c0712,#180c0726),url(/assets/png/reception/desk-overhead-v3.png) center/cover no-repeat}.kiosk-layout{max-width:1360px;min-height:100svh;margin:auto;padding:40px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:center;gap:28px}.kiosk-summary{grid-column:1/-1;position:relative;isolation:isolate;width:100%;max-width:660px;justify-self:center;padding:8px 20px 5px;border:10px solid transparent;border-image:url(/assets/png/reception/doodle-paper-v4.png) 120 140 150 fill / 10px 15px / 0 stretch;filter:drop-shadow(0 5px 4px #08040365);text-align:center}.kiosk-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.kiosk-counts>div{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;padding:3px 10px}.kiosk-counts>div+div:before{content:"";position:absolute;left:0;top:8%;height:84%;width:2px;background:#76514b55;transform:rotate(3deg)}.kiosk-counts dt{font:16px/1.2 IM Fell English,Georgia,serif}.kiosk-counts dd{font:30px/1.2 Special Elite,serif;color:#642139;margin:0;padding-top:5px}.kiosk-sync{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px;font:12px/1.35 IM Fell English,Georgia,serif;color:#76514b;min-height:28px}#kiosk-refresh{flex-shrink:0;min-height:28px;padding:3px 7px;color:#642139;font:inherit;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}#kiosk-refresh:disabled{opacity:.6;cursor:wait}.kiosk-summary.is-stale .kiosk-counts{opacity:.65}.kiosk-paper{position:relative;isolation:isolate;min-width:0;padding:54px 52px 58px;text-align:center;filter:drop-shadow(0 13px 10px #08040375)}.kiosk-paper:before{content:"";position:absolute;z-index:-1;inset:0;background:url(/assets/png/reception/doodle-paper-v4.png) center/100% 100% no-repeat}.kiosk-paper:after{content:"";position:absolute;pointer-events:none;top:-7px;left:calc(50% - 68px);width:136px;height:72px;background:url(/assets/png/reception/doodle-tape-clear-v5.png) center/100% 100% no-repeat;transform:rotate(-7deg);opacity:.48}.kiosk-camera-card:after{transform:rotate(4deg)}.tablet-kiosk h1,.tablet-kiosk h2{font-family:GALVANIZED,Georgia,serif;letter-spacing:0;color:#642139;margin:0;line-height:1.15}.tablet-kiosk h1,.tablet-kiosk .kiosk-camera-card h2{font-size:36px}.tablet-kiosk p{font:18px/1.45 IM Fell English,Georgia,serif;margin:12px 0}.tablet-kiosk .kiosk-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font:10px/1.5 Special Elite,serif;letter-spacing:1px;color:#76514b;margin:0 0 16px}.kiosk-step{display:inline-grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:url(/assets/png/reception/ink-ring-v4.svg) center/contain no-repeat;font:13px Special Elite,serif;transform:rotate(-5deg)}.tablet-kiosk .kiosk-intro{font-size:17px;margin:12px auto 16px;max-width:365px}.kiosk-viewfinder{position:relative;isolation:isolate;width:100%;max-width:358px;height:185px;margin:0 auto;overflow:hidden}#kiosk-camera-rest{position:absolute;inset:0;display:grid;place-items:center}#kiosk-camera-rest img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}#kiosk-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#25181b}.kiosk-viewfinder.is-scanning{width:min(100%,256px);height:auto;aspect-ratio:1;border-radius:8px;box-shadow:0 0 0 1px #76514b65}.kiosk-checkin.is-scanning #kiosk-entry-intro{display:none}#kiosk-scan-overlay{display:none;background:url(/assets/png/reception/ink-scan-corners.svg) center/contain no-repeat;box-shadow:0 0 0 500px #25181b40;pointer-events:none;z-index:1}.kiosk-viewfinder.is-scanning #kiosk-scan-overlay{display:block}.tablet-kiosk .kiosk-doodle-caption{font-size:16px;font-style:italic;color:#72534c;margin:10px 0 14px}.kiosk-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 18px;border:0;background:url(/assets/png/reception/doodle-button-v4.png) center/100% 140% no-repeat;color:#fff0d4;box-shadow:none;font:18px/1.3 IM Fell English,Georgia,serif;text-shadow:0 1px 1px #361410;cursor:pointer}.kiosk-button:hover{filter:brightness(1.14)}.kiosk-button:active{transform:translateY(1px)}.kiosk-button:disabled{opacity:.6;cursor:default}.kiosk-scan-controls{max-width:340px;margin:0 auto}#kiosk-code-form{max-width:380px;width:100%;margin:0 auto}.tablet-kiosk #kiosk-code-form label{display:flex;align-items:center;gap:10px;font-size:15px;color:#76514b;margin:19px 0 11px}#kiosk-code-form label:before,#kiosk-code-form label:after{content:"";height:8px;background:url(/assets/png/reception/ink-rule-v4.svg) center/100% 100% no-repeat;flex:1;opacity:.7}.kiosk-code-row{display:flex;align-items:center;gap:12px}.tablet-kiosk #kiosk-code{min-width:0;min-height:50px;font:24px/1.4 Special Elite,serif;letter-spacing:2px;text-align:center;background:url(/assets/png/reception/ink-field-v4.svg) center/100% 100% no-repeat;border:0;color:#422b27;padding:8px 12px}.kiosk-code-row .kiosk-button{width:122px;flex-shrink:0;font-size:17px;padding-inline:10px;white-space:nowrap}.tablet-kiosk #kiosk-status{font-size:16px;line-height:1.4;color:#642139;margin:14px 0 0;overflow-wrap:anywhere}#kiosk-status:empty{display:none}.kiosk-camera-doodle{display:block;width:100%;height:185px;object-fit:contain;margin:0 auto 20px}.kiosk-camera-access{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto;max-width:390px}#kiosk-camera-link{position:relative;isolation:isolate;display:block;flex:0 0 auto;width:fit-content;max-width:100%;padding:14px;filter:drop-shadow(1px 3px 1px #57392b20)}#kiosk-camera-link:before{content:"";position:absolute;inset:8%;z-index:-1;background:#fff4e0}#kiosk-camera-link:after{content:"";position:absolute;inset:0;background:url(/assets/png/reception/doodle-frame-v4.png) center/100% 100% no-repeat;pointer-events:none}#kiosk-camera-qr{display:block;width:166px;max-width:100%;height:auto;aspect-ratio:1;background:#fff4e0}.kiosk-camera-directions{min-width:0;text-align:left}.tablet-kiosk .kiosk-qr-instruction{font-size:18px;line-height:1.35;color:#642139;margin:0 0 12px}.tablet-kiosk .kiosk-camera-note{font-size:15px;line-height:1.4;margin:0 0 13px}.kiosk-template-note{display:block;font:12px/1.4 IM Fell English,serif;color:#795a4e}#kiosk-success{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.tablet-kiosk #kiosk-guest-name{font:28px/1.25 IM Fell English,serif;margin:22px 0 8px;overflow-wrap:anywhere;max-width:100%}.tablet-kiosk #kiosk-guest-detail{font:14px/1.5 Special Elite,serif;margin:0 0 12px}.kiosk-success-doodle{width:100%;max-width:290px;height:140px;object-fit:contain}.tablet-kiosk .kiosk-success-message{font-size:20px;font-style:italic;margin:16px 0 10px}.tablet-kiosk .kiosk-success-instruction{font-size:15px;margin:0}#kiosk-next{max-width:340px;margin:22px auto 0}.kiosk-layout.is-success .kiosk-camera-doodle{height:145px}.kiosk-layout.is-success .kiosk-camera-access{flex-direction:column;gap:14px}.kiosk-layout.is-success #kiosk-camera-qr{width:220px}.kiosk-layout.is-success .kiosk-camera-directions{text-align:center}.kiosk-layout.is-success .kiosk-camera-note{display:none}.kiosk-layout.is-success .kiosk-qr-instruction{font-size:16px;margin-bottom:8px}.kiosk-layout.is-success .kiosk-qr-instruction br{display:none}.tablet-kiosk :focus-visible{outline:2px solid #642139;outline-offset:5px}.tablet-kiosk .kiosk-button:focus-visible{outline:2px dashed #642139;outline-offset:3px}.camera-template #app{min-height:100svh;display:grid;place-items:center;padding:24px}.camera-template-card{width:100%;max-width:490px;padding:38px 32px}.camera-template-card .kiosk-camera-doodle{margin-block:24px}.tablet-kiosk .template-explanation{font-size:16px}.kiosk-entry-modes{display:flex;gap:5px;max-width:390px;margin:0 auto 16px;padding:4px;border-block:1px solid #76514b45}.kiosk-entry-modes button{flex:1;min-width:0;min-height:42px;padding:6px 4px;border:0;background:transparent;color:#72534c;font:16px/1.2 IM Fell English,Georgia,serif}.kiosk-entry-modes button[aria-pressed=true]{color:#fff0d4;background:url(/assets/png/reception/doodle-button-v4.png) center/100% 145% no-repeat}#kiosk-directory{max-width:410px;margin:0 auto;text-align:left}.tablet-kiosk .kiosk-search-label{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 8px;font:15px/1.3 IM Fell English,serif;color:#72534c}#kiosk-directory[data-mode=checkin] .kiosk-search-label:before,#kiosk-directory[data-mode=checkin] .kiosk-search-label:after{content:"";height:8px;flex:1;background:url(/assets/png/reception/ink-rule-v4.svg) center/100% 100% no-repeat;opacity:.7}#kiosk-directory[data-mode=list] .kiosk-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}.kiosk-checkin.is-searching .kiosk-viewfinder:not(.is-scanning),.kiosk-checkin.is-searching .kiosk-doodle-caption,.kiosk-checkin.is-searching #kiosk-entry-intro{display:none}.kiosk-checkin.has-selection #kiosk-ticket-panel{display:none}#kiosk-directory[data-mode=checkin] .kiosk-list-meta{margin-top:6px}#kiosk-directory[data-mode=checkin] #kiosk-guest-list{height:180px}.kiosk-search-row{position:relative;display:flex;align-items:center;gap:3px;border:0;background:url(/assets/png/reception/ink-field-v4.svg) center/100% 100% no-repeat}.kiosk-search-row:after{content:"";position:absolute;inset:auto 12px 4px;height:6px;background:url(/assets/png/reception/ink-rule-v4.svg) center/100% 100% no-repeat;opacity:0;pointer-events:none}.kiosk-search-row:focus-within:after{opacity:1}.tablet-kiosk #kiosk-search{min-width:0;width:100%;min-height:46px;padding:10px 12px;border:0;border-radius:0;background:transparent;color:#422b27;font:17px/1.3 IM Fell English,serif}.tablet-kiosk #kiosk-search:focus{outline:none;box-shadow:none}#kiosk-search::-webkit-search-cancel-button{display:none}#kiosk-clear-search{border:0;background:transparent;color:#642139;min-width:40px;min-height:42px;font-size:24px}.kiosk-guest-filters{display:flex;gap:5px;margin:10px 0 2px}.kiosk-guest-filters button{flex:1;min-width:0;min-height:40px;padding:5px 3px;border:1px solid #76514b55;border-radius:2px;background:transparent;color:#72534c;font:14px/1.25 IM Fell English,serif}.kiosk-guest-filters button[aria-pressed=true]{border-color:#642139;color:#642139;background:#64213912;box-shadow:inset 0 -2px #642139}.kiosk-list-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font:12px/1.4 IM Fell English,serif;color:#72534c}#kiosk-list-refresh{min-height:34px;padding:4px 0 4px 8px;border:0;background:transparent;color:#642139;font:inherit;text-decoration:underline;text-underline-offset:3px}.tablet-kiosk #kiosk-list-status{font-size:13px;line-height:1.3;margin:4px 0 8px;color:#642139}#kiosk-list-status:empty{display:none}#kiosk-guest-list{height:205px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#896451 #e8d9bf;border-block:1px solid #76514b40;padding:0 6px 0 0}.kiosk-guest-row{display:flex;align-items:center;gap:10px;padding:11px 3px;border-bottom:1px dashed #76514b55}.kiosk-guest-row:last-child{border:0}.kiosk-guest-info{flex:1;min-width:0}.tablet-kiosk .kiosk-guest-row h3{font:18px/1.2 IM Fell English,serif;color:#422b27;margin:0 0 4px;overflow-wrap:anywhere}.tablet-kiosk .kiosk-guest-row p{font:11px/1.5 Special Elite,serif;color:#72534c;margin:0 0 4px}.kiosk-guest-badge{display:inline-block;font:12px/1.4 IM Fell English,serif;color:#79532e;background:#b5863920;border:1px solid #a9813b55;border-radius:3px;padding:2px 7px}.kiosk-guest-badge.is-present{color:#3f6149;background:#597c4512;border-color:#597c4555}.kiosk-choose-guest{min-height:42px;min-width:57px;flex-shrink:0;border:1px solid #76514b80;background:#fff4df40;color:#642139;font:15px IM Fell English,serif;transform:rotate(-1deg)}.kiosk-choose-guest:hover{background:#64213912}.tablet-kiosk .kiosk-list-footnote{font-size:12px;line-height:1.3;color:#72534c;margin:8px 0 0;text-align:center}.tablet-kiosk .kiosk-list-empty{font-size:16px;color:#72534c;text-align:center;margin:30px auto;padding:0 12px;max-width:310px}#kiosk-guest-selection{min-height:354px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.tablet-kiosk .kiosk-selection-kicker{font:10px/1.5 Special Elite,serif;letter-spacing:1px;color:#72534c;margin:0 0 14px}.tablet-kiosk #kiosk-selected-name{font:28px/1.2 IM Fell English,serif;overflow-wrap:anywhere;max-width:100%}.tablet-kiosk #kiosk-selected-detail{font:13px/1.4 Special Elite,serif;margin:10px 0}.tablet-kiosk #kiosk-selected-help{font-size:17px;margin:18px auto;max-width:320px}#kiosk-confirm-guest{max-width:300px}.kiosk-text-button{min-height:44px;margin-top:6px;border:0;background:transparent;color:#642139;font:16px IM Fell English,serif;text-decoration:underline;text-underline-offset:4px}#kiosk-success:focus,#kiosk-guest-selection:focus{outline:none}@media(min-width:701px)and (max-height:820px){.kiosk-layout{padding:12px 16px;gap:8px 16px}.kiosk-paper{padding:44px 44px 48px}.tablet-kiosk .kiosk-eyebrow{margin-bottom:12px}.tablet-kiosk h1,.tablet-kiosk .kiosk-camera-card h2{font-size:34px}.kiosk-viewfinder,.kiosk-camera-doodle{height:142px}.tablet-kiosk .kiosk-intro{margin:10px auto 14px}.kiosk-camera-doodle{margin-bottom:16px}.kiosk-layout.is-success .kiosk-camera-doodle{height:85px;margin-bottom:12px}.kiosk-success-doodle{height:95px}.kiosk-layout.is-success #kiosk-camera-qr{width:200px}.tablet-kiosk #kiosk-guest-name{margin-top:14px}.tablet-kiosk .kiosk-success-message{margin-top:10px}.kiosk-layout.is-success .kiosk-camera-access{gap:10px}#kiosk-next{margin-top:16px}}@media(min-width:701px)and (max-width:900px){.kiosk-layout{padding-inline:12px;gap:20px 12px}.kiosk-paper{padding-inline:32px}.tablet-kiosk .kiosk-eyebrow{font-size:9px;letter-spacing:.6px;gap:6px}.kiosk-camera-access{gap:12px}.kiosk-camera-directions .kiosk-qr-instruction{font-size:16px}.kiosk-camera-note{display:none}#kiosk-camera-qr{width:140px}.kiosk-code-row{gap:8px}.kiosk-code-row .kiosk-button{width:106px;font-size:16px}.tablet-kiosk #kiosk-code{font-size:22px}.tablet-kiosk .kiosk-intro{font-size:16px}.kiosk-layout.is-success #kiosk-camera-qr{width:210px}}@media(max-width:700px){.kiosk-layout{grid-template-columns:1fr;max-width:560px;padding:28px 12px;gap:26px}.kiosk-paper{padding:42px 28px 50px}.tablet-kiosk h1,.tablet-kiosk .kiosk-camera-card h2{font-size:32px}.tablet-kiosk .kiosk-eyebrow{font-size:9px;letter-spacing:.6px}.kiosk-viewfinder{height:165px}.kiosk-camera-doodle{height:170px}.tablet-kiosk .kiosk-intro{font-size:16px}.kiosk-camera-access{gap:14px}#kiosk-camera-qr{width:148px}.tablet-kiosk .kiosk-qr-instruction{font-size:16px}.kiosk-code-row .kiosk-button{width:112px;font-size:16px}.kiosk-code-row{gap:8px}.tablet-kiosk #kiosk-code{font-size:22px}.kiosk-layout.is-success .kiosk-camera-doodle{height:145px}.camera-template-card{padding:28px 24px}.kiosk-layout.is-success #kiosk-camera-qr{width:220px}}@media(max-width:359px){.kiosk-layout{padding-inline:8px}.kiosk-paper{padding-inline:24px}.tablet-kiosk .kiosk-eyebrow{font-size:8px;gap:6px}.tablet-kiosk #kiosk-code{font-size:20px;letter-spacing:1px}.kiosk-code-row .kiosk-button{width:100px;font-size:15px}.kiosk-camera-access{flex-direction:column}.kiosk-camera-directions{text-align:center}.kiosk-camera-note{display:none}#kiosk-camera-qr{width:174px}.tablet-kiosk h1,.tablet-kiosk .kiosk-camera-card h2{font-size:30px}}@media(max-width:700px){.kiosk-summary{padding:16px 14px 12px}.kiosk-counts>div{flex-direction:column;gap:4px;padding:0 4px}.kiosk-counts dt{font-size:14px}.kiosk-counts dd{font-size:28px}.kiosk-sync{gap:4px;flex-wrap:wrap;font-size:11px;margin-top:6px}.kiosk-paper:after{width:120px;left:calc(50% - 60px)}}@media(min-width:701px)and (max-height:820px){.kiosk-entry-modes{margin-bottom:10px}.kiosk-viewfinder{height:128px}.tablet-kiosk #kiosk-code-form label{margin:10px 0 8px}.tablet-kiosk .kiosk-eyebrow{margin-bottom:8px}#kiosk-guest-list{height:188px}#kiosk-guest-selection{min-height:324px}}@media(min-width:701px)and (max-height:820px){.kiosk-viewfinder.is-scanning{width:min(100%,200px);height:auto}}.admin{min-height:100svh;max-width:960px;margin:auto;padding:40px 26px 70px}.admin h1{font:44px/1.2 var(--display);white-space:normal;margin:35px 0}.admin h2{font-size:33px}.admin h3{font-size:23px;margin:0 0 10px;overflow-wrap:anywhere}.admin-back{font:14px/1.6 var(--ui);display:inline-block;min-height:44px}.admin label{font:14px var(--ui);display:block;margin:18px 0 12px}.admin input{width:100%;min-height:50px;border:1px solid var(--ink);background:var(--paper-light);padding:12px;font:18px var(--body);color:var(--ink);border-radius:0}.admin #admin-login{max-width:430px}.admin #admin-login .button{margin-top:18px}.admin-totals{display:flex;gap:20px;margin:25px 0}.admin-totals>div{padding:20px;border:1px solid var(--ink);flex:1}.admin-totals span{display:block;font:13px var(--ui)}.admin-totals strong{display:block;font:40px var(--ui);margin-top:20px}.admin-actions,.scan-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-actions .button{font-size:12px;padding-inline:14px}.checkin-box{border-block:1px solid #15100e55;padding:30px 0;margin:30px 0}.inline-form{display:flex;gap:12px;align-items:center}.inline-form input{min-width:0}.inline-form button{flex-shrink:0}#scanner-video{display:block;width:100%;max-width:420px;aspect-ratio:1;object-fit:cover;margin:24px 0;background:var(--ink)}#checkin-result:not(:empty){padding:22px;background:var(--paper-light);border:1px solid var(--ink);margin-top:20px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid #15100e44}.admin-row>div{min-width:0}.admin-row p{font:13px/1.5 var(--ui);margin:0;overflow-wrap:anywhere}.admin-row button{flex-shrink:0;font-size:12px;padding-inline:12px}.present{font-family:var(--ui);color:var(--maroon)}#admin-status{color:var(--maroon);line-height:1.5}.admin #list-note{font:13px var(--ui)}@media(max-width:375px){.admin-row{align-items:flex-start;flex-direction:column}.admin h1{font-size:38px}}@media(min-width:700px){.admin{padding:50px 70px}.admin h1{font-size:56px}}.scanner-stage{position:relative;max-width:420px}#scanner-overlay{display:none;pointer-events:none}#scanner-overlay img{width:100%;height:100%}body.guest-admin:before{background:linear-gradient(#160b1618,#160b1630),url(/assets/png/reception/reception-hall-v2.png) center/cover no-repeat}.guest-admin .reception .companion-nav,.guest-admin .reception .companion-footer{background:none;border-color:#c9a47a66;border-style:solid;border-width:0 0 1px}.guest-admin .reception .companion-footer{border-width:1px 0 0}.guest-admin .reception .companion-heading:after{height:1px;background:linear-gradient(90deg,transparent,#c9a47a,transparent)}.guest-admin .reception .companion-card{border-image-source:url(/assets/png/reception/reception-ledger-v2.png);border-image-slice:300 200 300 200 fill;border-width:80px 45px 70px 55px;border-image-width:80px 45px 70px 55px}.guest-admin .reception .button,.guest-admin .reception .button.primary{background-image:url(/assets/png/reception/reception-ribbon-v2.png);background-size:100% 180%;background-position:center;background-repeat:no-repeat}.guest-admin .admin.reception{max-width:1280px;padding:0 44px 32px}.guest-admin .reception-heading{padding:32px 0 20px}.guest-admin .reception-heading h1{font-size:clamp(44px,6vw,68px)}.guest-admin .reception-heading p:not(.kicker){font-size:20px;margin-top:10px}.guest-admin .reception-heading:after{margin-top:18px}.reception-welcome{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;max-width:1080px;margin:12px auto 44px}.guest-admin .admin #admin-login{width:100%;max-width:510px;margin:0 auto;padding:22px 16px 20px}.guest-admin #admin-login h2{font-size:38px;line-height:1.12;margin-bottom:16px}.guest-admin #admin-login p{margin-block:14px}.guest-admin #admin-login .kicker{margin:0 0 22px}.guest-admin #admin-login input{background:#6c2a3510;border:0;border-bottom:1px solid #784656;padding:12px}.reception-login-note{margin-top:26px;padding-top:18px;border-top:1px solid #78465655;text-align:center;font-size:15px;color:#704452}.reception-illustration{position:relative;height:580px;isolation:isolate;margin:0}.reception-illustration:before{content:"";position:absolute;inset:10% 0;background:radial-gradient(ellipse,#bd704837,transparent 68%);z-index:-1}.reception-illustration .reception-hosts{position:absolute;inset:0;width:100%;height:calc(100% - 35px);object-fit:contain;filter:drop-shadow(0 12px 10px #0008)}.reception-illustration figcaption{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#e8c6aa;font:italic 21px var(--body)}.guest-admin .reception #admin-panel{margin:0;padding:0;border:0;border-image:none;color:var(--companion-cream)}.guest-admin .reception.is-open .reception-heading{padding:26px 0 12px}.guest-admin .reception.is-open .reception-heading h1{font-size:48px}.reception-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.guest-admin .reception-toolbar .admin-actions{margin:0;gap:10px;flex-shrink:0}.guest-admin .reception-toolbar .button{flex:0 0 auto;width:auto;min-height:46px;font-size:16px;padding:10px 23px}#sync-status{font-size:15px;color:#e1b9a8;margin:0}#sync-status:before{content:"";display:inline-block;vertical-align:middle;width:6px;height:6px;border-radius:50%;background:#d4b276;margin-right:9px}#sync-status[data-state=stale]{color:#ffc5aa}.guest-admin .reception .admin-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 28px}.guest-admin .reception .admin-totals>div{padding:22px 24px 24px;border:1px solid #98704d66;background:#30121be0;position:relative}.guest-admin .reception .admin-totals span{font:17px var(--body);color:#e9c7b0}.guest-admin .reception .admin-totals strong{color:#ffe4bf;font:44px/1.1 GALVANIZED,Georgia,serif;margin:10px 0 7px}.guest-admin .reception .admin-totals small{font-size:14px;color:#d5ae98}.reception-workspace{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:30px;align-items:start}.reception-scanner{min-width:0;padding:28px 28px 32px;background:#1e1015dc;border:1px solid #98704d66;box-shadow:0 16px 28px #0004}.guest-admin .reception #admin-panel .reception-scanner h2{color:#ffe7c7;font-size:35px;margin-bottom:8px}.reception-intro{font-size:18px;color:#e0bcac;line-height:1.4;margin:8px 0 24px}.reception-scanner .scanner-stage{max-width:none;aspect-ratio:1;background:radial-gradient(ellipse,#4f233a33,#0d080b88);overflow:hidden;isolation:isolate}.reception-portal{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:2}.reception-scanner #scanner-overlay{border:1px dashed #f5dba0aa;z-index:1}.reception-scanner #scanner-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;margin:0;object-fit:cover}#scanner-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24% 18% 12%;text-align:center;color:#dfbaa1}#scanner-placeholder img{height:85px;max-height:42%;width:auto;filter:drop-shadow(0 8px 10px #000)}#scanner-placeholder p{margin:10px 0 5px;font-size:21px}#scanner-placeholder span{max-width:190px;font-size:14px;line-height:1.4;color:#d9b9a7}.guest-admin .reception .scan-actions{display:block}.guest-admin .reception .scan-actions .button{width:100%;min-width:0;margin-top:16px}.guest-admin .reception #manual-form label{color:#e1b9a8;font-size:17px}.guest-admin .reception .inline-form{flex-direction:row;gap:8px}.guest-admin .reception #manual-code{background:#ffe7c70a;border:0;border-bottom:1px solid #ac7d68;color:#ffe7c7;min-width:0;padding:10px 12px;font:22px/1.5 var(--ui);letter-spacing:2px}.guest-admin .reception #manual-code::placeholder{color:#b58e7b;font-size:21px}.guest-admin .reception .inline-form .button{min-height:52px;padding:10px 20px}.guest-admin .reception #checkin-result:not(:empty){border:0;border-style:solid;border-width:50px 28px 46px 35px;border-image:url(/assets/png/reception/reception-ledger-v2.png) 300 200 300 200 fill/50px 28px 46px 35px/0 stretch;background:none;padding:10px 4px;margin-top:26px;color:#431d28}.guest-admin .reception #checkin-result h3{color:#642139;font-size:28px;margin:10px 0}.guest-admin .reception #checkin-result p{margin:10px 0;line-height:1.4}.guest-admin .reception #checkin-result .kicker{color:#884855;font-size:10px}.reception-result-code{font:26px/1.5 var(--ui);letter-spacing:3px}.guest-admin .reception #checkin-result .present{font:20px var(--body);font-weight:700;color:#642139}.guest-admin .reception #admin-panel .reception-directory{padding:18px 14px 20px}.reception-directory-title{display:flex;gap:16px;align-items:center;justify-content:space-between}.guest-admin .reception #admin-panel .reception-directory h2{font-size:35px;margin:0}.reception-directory-title img{height:53px;width:44px;object-fit:contain;transform:rotate(9deg)}.guest-admin .reception-directory label{font-size:17px;margin-top:20px}.guest-admin .reception #search-name{border:0;border-bottom:1px solid #784656;background:#6c2a3510;font-size:20px;padding:10px 12px}.reception-filters{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 16px}.reception-filters button{min-height:44px;border:1px solid #78465666;background:transparent;color:#642139;padding:7px 14px;font:16px var(--body)}.reception-filters button[aria-pressed=true]{background:#642139;color:#ffe7c7;border-color:#642139}.guest-admin .reception #list-note{font:14px var(--body);color:#704452;margin:10px 0}.guest-admin .reception #reservation-list{max-height:570px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#884855 #d5b49355;scrollbar-width:thin;padding-right:8px}.guest-admin .reception .admin-row{align-items:center;flex-direction:row;gap:14px;padding:18px 0;border-color:#88485544}.guest-admin .reception .admin-row h3{font:23px/1.25 var(--body);margin:0 0 7px}.guest-admin .reception .admin-row p{font:14px/1.4 var(--body);color:#704452}.guest-admin .reception .admin-row .button{width:100px;min-height:46px;padding:10px 14px;font-size:16px}.reception-badge{display:inline-block;font:13px/1.4 var(--body);color:#79505a;margin-top:8px}.reception-badge.is-present{color:#642139;background:#64213912;padding:3px 8px}.reception-badge.is-present:before{content:"✓ ";font-size:12px}.reception-empty{font:20px/1.6 var(--body);padding:28px 0;color:#79505a}.reception-count-note{border-top:1px solid #88485544;padding-top:18px;margin-bottom:0}.reception-links{display:flex;justify-content:center;gap:18px 30px;flex-wrap:wrap;margin:32px 0 0}.reception-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px;font-size:17px;color:#ebc8b1}.guest-admin .reception .reception-scanner :focus-visible{outline-color:#efc788}.guest-admin .reception #checkin-result :focus-visible,.guest-admin .reception #checkin-result:focus-visible{outline-color:#642139}@media(min-width:1000px){.reception-scanner{position:sticky;top:20px}}@media(max-width:1000px){.guest-admin .admin.reception{padding-inline:24px}.reception-workspace{gap:18px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.reception-scanner{padding:24px 18px}.guest-admin .reception #admin-panel .reception-directory{padding:14px 6px;border-width:30px 26px 35px 18px;border-image-width:30px 26px 35px 18px}.guest-admin .reception #admin-panel .reception-directory h2{font-size:29px}.reception-directory-title img{display:none}.reception-welcome{gap:16px}.reception-illustration{height:370px}.reception-toolbar{flex-wrap:wrap}.guest-admin .reception .admin-row .button{width:87px;padding-inline:8px}}@media(max-width:700px){.guest-admin .admin.reception{padding:0 16px 24px}.reception-welcome{grid-template-columns:1fr;gap:28px;margin-top:0}.reception-illustration{height:225px;width:280px;max-width:100%;margin:auto}.reception-illustration>span{font-size:18px;bottom:-5px}.guest-admin .admin #admin-login{padding:14px 12px 18px}.guest-admin #admin-login h2{font-size:34px}.guest-admin .reception-heading{padding:24px 0 12px}.guest-admin .reception-heading .kicker{font-size:9px;letter-spacing:1.5px}.guest-admin .reception-heading p:not(.kicker){font-size:18px}.guest-admin .reception.is-open .reception-heading h1{font-size:42px}.reception-workspace{grid-template-columns:1fr;gap:26px}.reception-toolbar{justify-content:center;gap:12px}.reception-toolbar #sync-status{width:100%;text-align:center}.guest-admin .reception-toolbar .admin-actions{width:100%;gap:6px}.guest-admin .reception-toolbar .button{flex:1;min-width:0;padding:10px 9px;font-size:15px;gap:6px}.guest-admin .reception-toolbar .icon{width:16px;height:16px}.guest-admin .reception .admin-totals{gap:6px;margin-bottom:22px}.guest-admin .reception .admin-totals>div{padding:18px 10px;text-align:center}.guest-admin .reception .admin-totals span{font-size:14px}.guest-admin .reception .admin-totals strong{font-size:34px}.guest-admin .reception .admin-totals small{font-size:12px}.reception-scanner{padding:24px 22px}.reception-scanner .scanner-stage{max-width:380px;margin:auto;aspect-ratio:1.25}.guest-admin .reception #admin-panel .reception-directory{padding:16px 8px}.reception-directory-title img{display:block}.guest-admin .reception .admin-row h3{font-size:22px}.reception-links{justify-content:flex-start;gap:4px;margin-top:20px;flex-direction:column}.guest-admin .reception .companion-footer{font-size:8px;letter-spacing:1px;margin-top:28px}.guest-admin .reception #reservation-list{max-height:540px}}@media(max-width:359px){.guest-admin .admin.reception{padding-inline:10px}.guest-admin .reception .admin-totals span{font-size:12px}.guest-admin .reception .admin-totals small{font-size:11px}.reception-scanner{padding:22px 16px}.reception-filters button{font-size:15px;padding-inline:9px}.guest-admin .reception .admin-row{flex-wrap:wrap}.reception-directory-title img{display:none}}@media(max-width:1000px){.reception-illustration{height:470px}.guest-admin .reception .companion-card,.guest-admin .reception #admin-panel .reception-directory{border-width:65px 32px 60px 40px;border-image-width:65px 32px 60px 40px}.reception-illustration figcaption{font-size:18px}}@media(max-width:700px){.reception-illustration{height:355px;width:min(350px,100%)}.reception-illustration figcaption{font-size:18px}.reception-scanner .scanner-stage{aspect-ratio:1}.guest-admin .reception .companion-card,.guest-admin .reception #admin-panel .reception-directory{border-width:58px 25px 52px 34px;border-image-width:58px 25px 52px 34px}.guest-admin .reception-toolbar .button{font-size:14px}.guest-admin .reception #admin-panel .reception-directory{padding-inline:4px}}@media(max-width:359px){.reception-illustration{height:310px}.guest-admin .reception #checkin-result:not(:empty){border-width:45px 18px 40px 25px;border-image-width:45px 18px 40px 25px}#scanner-placeholder p{font-size:18px}#scanner-placeholder span{font-size:12px}}@font-face{font-family:GALVANIZED;src:url(/assets/fonts/GALVANIZED.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IM Fell English;src:url(/assets/fonts/im-fell-english-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IM Fell English;src:url(/assets/fonts/im-fell-english-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Special Elite;src:url(/assets/fonts/special-elite-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.storybook-ui{--ink:#15100e;--paper:#d8c7a3;--paper-light:#eadfc8;--maroon:#6b1420;--maroon-bright:#931c2e;--lantern:#d9a441;--body:"IM Fell English",Georgia,serif;--display:GALVANIZED,Georgia,serif;--ui:"Special Elite",Georgia,serif;--story-cream:#f4dfc5;--story-muted:#74564b;--story-button:url(/assets/brand/button-wide.png);--story-compact:url(/assets/brand/button-compact.png);font-synthesis:none;scroll-behavior:smooth}.storybook-ui *{box-sizing:border-box}.storybook-ui [hidden]{display:none!important}.storybook-ui body{margin:0;min-width:0;font-family:var(--body);font-size:18px;line-height:1.5;--ops-wine:var(--maroon);--ops-cream:var(--story-cream);--companion-wine:var(--maroon);--companion-cream:var(--story-cream)}.storybook-ui :is(button,input,select,textarea){font-family:var(--body)}.storybook-ui :is(button,a,summary){touch-action:manipulation}.storybook-ui :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--lantern);outline-offset:4px}.storybook-ui :is(input,select,textarea){max-width:100%;min-width:0;border-radius:0}.storybook-ui :is(button,a){-webkit-tap-highlight-color:transparent}.storybook-ui :is(button,[role=button]):disabled{cursor:not-allowed;opacity:.45}.storybook-ui :is(h1,h2){font-family:var(--display);font-weight:400;letter-spacing:0;overflow-wrap:break-word}.storybook-ui :is(.kicker,.ops-kicker,.guide-eyebrow,.story-kicker){font-family:var(--ui);font-weight:400;letter-spacing:1.5px}.storybook-ui .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.storybook-ui #app :is(.button,.companion-button,.ops-button,.kiosk-button,.story-button){display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;max-width:100%;padding:13px 26px;background:transparent var(--story-button) center/100% 100% no-repeat;border:0;border-image:none;border-radius:0;box-shadow:none;color:var(--story-cream);font:18px/1.25 var(--body);text-shadow:none;text-decoration:none;text-align:center;cursor:pointer;transform:none;transition:filter .16s ease,opacity .16s ease}.storybook-ui #app :is(.button,.companion-button,.ops-button,.kiosk-button,.story-button):before,.storybook-ui #app :is(.button,.companion-button,.ops-button,.kiosk-button,.story-button):after{content:none}.storybook-ui #app :is(.button,.companion-button,.ops-button,.kiosk-button,.story-button):not(:disabled):hover{filter:brightness(1.16)}.storybook-ui #app :is(.button,.companion-button,.ops-button,.kiosk-button,.story-button):not(:disabled):active{filter:brightness(.88)}.storybook-ui #app :is(.ops-icon-button,.camera-icon-button){min-width:44px;min-height:44px;border-radius:0;box-shadow:none}.storybook-ui #app :is(.ops-nav .active,.kiosk-entry-modes button[aria-pressed=true]){background:transparent var(--story-compact) center/100% 100% no-repeat;color:var(--story-cream);border:0}.storybook-ui #app :is(.ops-filters,.reception-filters,.kiosk-guest-filters) button{min-height:44px;border-radius:0;font-family:var(--body)}.storybook-ui #app :is(.ops-filters,.reception-filters,.kiosk-guest-filters) button[aria-pressed=true]{color:var(--maroon);border-bottom:2px solid var(--maroon);background:#6b142010;box-shadow:none}.storybook-ui #app :is(.ops-stepper button,.ops-icon-button){border:1px solid #b08059;background:var(--maroon);color:var(--story-cream);clip-path:polygon(5% 0,92% 3%,100% 10%,97% 90%,91% 100%,4% 94%,0 9%)}.storybook-ui #app #guest-minus{background:transparent url(/assets/brand/button-minus.png) center/contain no-repeat;border:0;clip-path:none;font-size:0}.storybook-ui #app #guest-plus{background:transparent url(/assets/brand/button-plus.png) center/contain no-repeat;border:0;clip-path:none;font-size:0}.storybook-ui .suite-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--story-cream);font:16px/1.3 var(--body);text-decoration:none;text-underline-offset:5px}.storybook-ui .suite-back:hover{text-decoration:underline}@media screen{.storybook-ui body{background:#15100e;color:var(--story-cream);isolation:isolate}.storybook-ui body.tablet-kiosk{color:#431d28}.storybook-ui body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#15100e7a,#15100ec9),url(/assets/brand/desk.png) center/cover no-repeat}.storybook-ui #app :is(.ops-login,.ops-reservation,.ops-ledger,.ops-ticket-dialog,.story-paper){border:24px solid transparent;border-image:url(/assets/brand/paper.png) 55 85 80 40 fill / 24px / 0 stretch;color:#431d28;filter:drop-shadow(0 8px 8px #0005)}.storybook-ui #app :is(.ops-login,.ops-reservation,.ops-ledger,.story-paper) h2{color:var(--maroon)}.storybook-ui :is(.companion-shell,.guide-shell,.ops-shell,.kiosk-layout){width:100%;min-width:0}.storybook-ui #app .ops-nav,.storybook-ui #app .ops-authenticated .ops-masthead{flex-wrap:wrap}.storybook-ui #app .companion-nav{flex-wrap:wrap;gap:8px 20px}.storybook-ui #app .kiosk-suite-nav{grid-column:1/-1;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:16px}.storybook-ui #app .kiosk-suite-nav a{min-height:44px;display:inline-flex;align-items:center;color:var(--story-cream);text-underline-offset:5px}.storybook-ui #app :is(.ops-nav a,.ops-nav button){min-height:48px}.storybook-ui #app .ops-login-form .ops-button{min-height:62px}.storybook-ui #app .ops-row-button{font-family:var(--body);min-height:44px}.storybook-ui #app .ops-row-actions{overflow-wrap:anywhere}.storybook-ui #app .reception-toolbar{flex-wrap:wrap}.storybook-ui #app .admin-actions{flex-wrap:wrap;min-width:0}.storybook-ui #app .reception-filters{flex-wrap:wrap}.storybook-ui #app .guide-continue-bar .companion-button{flex-shrink:1;min-width:0}.storybook-ui #app .guide-masthead{flex-wrap:wrap}.storybook-ui #app .camera-brand{white-space:normal}.storybook-ui #app .camera-masthead{flex-wrap:wrap}}@media screen and (min-width:701px)and (max-height:820px){.storybook-ui #app .kiosk-paper{padding-top:30px;padding-bottom:36px}.storybook-ui #app .kiosk-viewfinder:not(.is-scanning){height:110px}.storybook-ui #app .kiosk-viewfinder.is-scanning{width:min(100%,180px);height:auto;aspect-ratio:1}.storybook-ui #app .kiosk-camera-doodle{height:124px}.storybook-ui #app .kiosk-layout.is-success .kiosk-camera-doodle{height:75px;margin-bottom:8px}.storybook-ui #app .kiosk-layout.is-success #kiosk-camera-qr{width:180px}.storybook-ui #app .kiosk-layout.is-success .kiosk-success-doodle{height:78px}.storybook-ui #app .kiosk-layout.is-success #kiosk-next{margin-top:12px}}@media screen and (min-width:1000px)and (max-height:820px){.storybook-ui #app .kiosk-layout{position:relative}.storybook-ui #app .kiosk-suite-nav{position:absolute;inset:12px 16px auto;pointer-events:none;z-index:2}.storybook-ui #app .kiosk-suite-nav a{pointer-events:auto}.storybook-ui #app .kiosk-summary{max-width:min(660px,calc(100% - 260px))}}@media screen and (max-width:600px){.storybook-ui #app :is(.ops-login,.ops-reservation,.ops-ledger,.ops-ticket-dialog,.story-paper){border-width:17px;border-image-width:17px}.storybook-ui #app .ops-shell{padding-inline:12px}.storybook-ui #app .ops-filters{flex-wrap:wrap;gap:5px 12px}.storybook-ui #app .ops-authenticated .ops-masthead{flex-direction:column}.storybook-ui #app .ops-ticket-dialog{width:calc(100% - 16px)}.storybook-ui #app .ops-row-button{background:transparent var(--story-compact) center/100% 100% no-repeat;color:var(--story-cream);padding:10px 17px}.storybook-ui #app .kiosk-camera-access{flex-wrap:wrap}.storybook-ui #app .kiosk-paper{padding-inline:24px}.storybook-ui #app .reception-welcome{grid-template-columns:minmax(0,1fr)}.storybook-ui #app .reception-illustration{height:290px}.storybook-ui #app .reception-workspace{grid-template-columns:minmax(0,1fr)}.storybook-ui #app .reception .companion-card{border-width:40px 22px;border-image-width:40px 22px;padding-inline:4px}.storybook-ui #app .admin.reception{padding-inline:14px}.storybook-ui #app .guide-continue-bar{gap:10px;padding-inline:8px}}@media(prefers-reduced-motion:reduce){.storybook-ui{scroll-behavior:auto}.storybook-ui *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{.suite-back,.kiosk-suite-nav{display:none!important}}
