@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}:root{--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--kiosk-space-1: .25rem;--kiosk-space-2: .5rem;--kiosk-space-3: .75rem;--kiosk-space-4: clamp(.75rem, 2vw, 1rem);--kiosk-space-5: 1.25rem;--kiosk-space-6: clamp(1rem, 3vw, 1.5rem);--kiosk-space-8: clamp(1.25rem, 4vw, 2rem);--kiosk-space-10: 2.5rem;--kiosk-space-12: 3rem;--kiosk-ink: rgba(28, 25, 23, .95);--kiosk-ink-secondary: rgba(28, 25, 23, .75);--kiosk-ink-tertiary: rgba(28, 25, 23, .55);--kiosk-ink-muted: rgba(28, 25, 23, .4);--kiosk-base: #faf8f6;--kiosk-surface: #ffffff;--kiosk-surface-elevated: #ffffff;--kiosk-control: rgba(28, 25, 23, .06);--kiosk-edge: rgba(28, 25, 23, .08);--kiosk-edge-subtle: rgba(28, 25, 23, .05);--kiosk-edge-strong: rgba(28, 25, 23, .14);--kiosk-edge-focus: rgba(214, 52, 64, .5);--kiosk-brand: #d63440;--kiosk-brand-hover: #b82a35;--kiosk-brand-on: #ffffff;--kiosk-success: #0d7a3a;--kiosk-success-hover: #0a6230;--kiosk-success-on: #ffffff;--kiosk-destructive: #b91c1c;--kiosk-destructive-hover: #991b1b;--kiosk-destructive-on: #ffffff;--kiosk-shadow: 0 1px 3px rgba(28, 25, 23, .06);--kiosk-shadow-raised: 0 2px 8px rgba(28, 25, 23, .08);--kiosk-radius-sm: 8px;--kiosk-radius-md: 12px;--kiosk-radius-lg: 16px;--kiosk-touch: clamp(44px, 10vw, 48px)}body{margin:0;font-family:DM Sans,system-ui,-apple-system,sans-serif;background:var(--kiosk-base);color:var(--kiosk-ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}.kiosk-headline{font-size:clamp(1.5rem,4vw + 1rem,1.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--kiosk-ink)}.kiosk-title{font-size:clamp(1.125rem,2vw + .75rem,1.25rem);font-weight:600;color:var(--kiosk-ink)}.kiosk-body{font-size:clamp(.9375rem,1.5vw + .75rem,1rem);font-weight:400;color:var(--kiosk-ink-secondary)}.kiosk-caption{font-size:clamp(.8125rem,1vw + .6rem,.875rem);color:var(--kiosk-ink-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--kiosk-touch);padding:var(--kiosk-space-2) var(--kiosk-space-4);font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:.01em;border-radius:var(--kiosk-radius-sm);border:1px solid var(--kiosk-edge);background:var(--kiosk-surface);color:var(--kiosk-ink);cursor:pointer;transition:background .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}.btn:hover:not(:disabled){background:var(--kiosk-control);border-color:var(--kiosk-edge-strong)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--kiosk-edge-focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background:var(--kiosk-brand);color:var(--kiosk-brand-on);border-color:var(--kiosk-brand)}.btn.btn-primary:hover:not(:disabled){background:var(--kiosk-brand-hover);border-color:var(--kiosk-brand-hover)}.btn.btn-secondary{background:var(--kiosk-ink);color:#fff;border-color:var(--kiosk-ink)}.btn.btn-secondary:hover:not(:disabled){background:var(--kiosk-ink-secondary);border-color:var(--kiosk-ink-secondary)}.btn.btn-sm{min-height:40px;padding:var(--kiosk-space-1) var(--kiosk-space-3);font-size:.9375rem}.btn.btn-danger{background:var(--kiosk-destructive);color:var(--kiosk-destructive-on);border-color:var(--kiosk-destructive)}.btn.btn-danger:hover:not(:disabled){background:var(--kiosk-destructive-hover);border-color:var(--kiosk-destructive-hover)}.btn.btn-success{background:var(--kiosk-success);color:var(--kiosk-success-on);border-color:var(--kiosk-success)}.btn.btn-success:hover:not(:disabled){background:var(--kiosk-success-hover);border-color:var(--kiosk-success-hover)}.btn.active{background:var(--kiosk-brand);color:var(--kiosk-brand-on);border-color:var(--kiosk-brand)}.search-input,input[type=text]{min-height:var(--kiosk-touch);padding:0 var(--kiosk-space-4);font-family:inherit;font-size:1rem;color:var(--kiosk-ink);background:var(--kiosk-control);border:1px solid var(--kiosk-edge);border-radius:var(--kiosk-radius-sm);transition:border-color .15s ease-out,box-shadow .15s ease-out}.search-input::placeholder,input[type=text]::placeholder{color:var(--kiosk-ink-muted)}.search-input:focus,input[type=text]:focus{outline:none;border-color:var(--kiosk-edge-strong);box-shadow:0 0 0 2px var(--kiosk-edge-focus)}
