:root{--ink: #1a1a2e;--ink-2: #2f2f44;--brand: #1e3a8a;--brand-press: #152b66;--cream: #faf5ec;--sand: #f4e9d8;--sand-2: #efe6d4;--tan: #e8dcc4;--paper: #fffdf8;--line: #e3d7bf;--line-strong: #d2c4a6;--muted: #6c6c7a;--ok: #2e7d52;--ok-bg: #e7f0e9;--warn: #8a5a12;--warn-bg: #f7eddb;--err: #c62828;--err-bg: #f6e2e0;--radius: 16px;--radius-sm: 11px;--shadow: 0 1px 2px rgba(26, 26, 46, .04), 0 14px 36px rgba(26, 26, 46, .07);--shadow-sm: 0 1px 2px rgba(26, 26, 46, .05)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:Urbanist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--cream);background-image:radial-gradient(900px 420px at 100% -10%,rgba(30,58,138,.06),transparent 60%),radial-gradient(820px 480px at -10% 0%,rgba(26,26,46,.05),transparent 55%);background-attachment:fixed;-webkit-font-smoothing:antialiased}::selection{background:#1e3a8a29}.page{max-width:600px;margin:0 auto;padding:0 16px 56px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 2px 16px}.brand-lockup{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}.brand-lockup .mark{display:block}.wordmark{font-weight:800;font-size:18px;letter-spacing:-.01em}.tenant-logo{display:block;height:34px;max-width:190px;width:auto;object-fit:contain}.topbar-tag{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.hero{margin:6px 0 22px}.eyebrow{margin:0 0 6px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}.shop-name{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:500;font-size:clamp(30px,8vw,42px);line-height:1.04;letter-spacing:-.015em;margin:0;color:var(--ink)}.hero .tz{margin:10px 0 0;color:var(--muted);font-size:14px;font-weight:500}.steps{display:flex;gap:7px;margin:0 0 20px}.step-dot{flex:1;height:5px;border-radius:999px;background:var(--tan);transition:background .25s ease}.step-dot.active{background:var(--brand)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:16px;animation:fadeUp .3s ease both}h2{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:22px;letter-spacing:-.01em;margin:0 0 14px}.muted{color:var(--muted)}.small{font-size:13px}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;background:var(--sand);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:13px}.service{display:flex;align-items:center;gap:13px;padding:14px 15px;border:1.5px solid var(--line);border-radius:var(--radius-sm);margin-bottom:9px;background:var(--paper);cursor:pointer;transition:border-color .14s,background .14s,transform .06s}.service:hover{border-color:var(--ink)}.service:active{transform:scale(.992)}.service.selected{border-color:var(--brand);background:linear-gradient(0deg,#1e3a8a0d,#1e3a8a0d),var(--paper)}.service input{width:19px;height:19px;accent-color:var(--brand);flex-shrink:0}.service .name{font-weight:700;font-size:15.5px}.service .meta{color:var(--muted);font-size:13px;margin-top:2px}.service .price{margin-left:auto;font-weight:700;font-size:15.5px;white-space:nowrap}.service:not(:has(input)):after{content:"›";margin-left:auto;font-size:22px;line-height:1;color:var(--line-strong);transition:transform .14s,color .14s}.service:not(:has(input)):hover:after{color:var(--ink);transform:translate(2px)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-size:13px;font-weight:700;letter-spacing:.01em}input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{font:inherit;padding:12px 13px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);transition:border-color .14s,box-shadow .14s}input::placeholder{color:#a7a191}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1a1a2e14}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:9px}.slot{padding:12px 0;text-align:center;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);cursor:pointer;font-weight:700;font-size:14px;transition:border-color .12s,background .12s,color .12s,transform .06s}.slot:hover{border-color:var(--ink)}.slot:active{transform:scale(.96)}.slot.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.summary{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:14.5px}.summary span:last-child{text-align:right;font-weight:600}.summary.total{border-top:1px dashed var(--line-strong);margin-top:8px;padding-top:12px;font-weight:800;font-size:16px}.btn{font:inherit;font-weight:700;font-size:15px;padding:13px 22px;border-radius:999px;border:1.5px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .14s,border-color .14s,transform .06s,box-shadow .14s;box-shadow:0 6px 16px #1e3a8a2e}.btn:hover{background:var(--brand-press);border-color:var(--brand-press)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line-strong);box-shadow:none}.btn.ghost:hover{background:var(--sand);border-color:var(--ink)}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.banner{padding:13px 15px;border-radius:var(--radius-sm);margin-bottom:14px;font-size:14px;font-weight:500;border:1px solid transparent}.banner.err{background:var(--err-bg);color:var(--err);border-color:#c6282833}.banner.warn{background:var(--warn-bg);color:var(--warn);border-color:#8a5a1233}.banner.ok{background:var(--ok-bg);color:var(--ok);border-color:#2e7d5238}.banner:not(.err):not(.warn):not(.ok){background:var(--sand);color:var(--ink-2);border-color:var(--line)}.page.terminal{min-height:100vh;display:flex;flex-direction:column}.stage{flex:1;display:flex;flex-direction:column;justify-content:center;padding-bottom:5vh}.page.terminal .footer{margin-top:24px}.outcome{text-align:center;padding:36px 26px}.outcome .eyebrow{margin-bottom:8px}.outcome-title{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:500;font-size:clamp(26px,6.5vw,34px);letter-spacing:-.015em;line-height:1.08;margin:0 0 10px;color:var(--ink)}.outcome-sub{color:var(--muted);font-size:15px;line-height:1.5;margin:0 auto;max-width:40ch}.outcome-sub strong{color:var(--ink);font-weight:700}.outcome .actions{justify-content:center;margin-top:24px}.badge{width:78px;height:78px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:pop .45s ease both}.badge svg{width:38px;height:38px}.badge span{font-size:33px;line-height:1}.badge.success{background:var(--brand);color:#fff;box-shadow:0 12px 30px #1e3a8a47,0 0 0 9px #1e3a8a1a}.badge.neutral{background:var(--sand);color:var(--ink);box-shadow:0 10px 24px #1a1a2e1a,0 0 0 9px #1a1a2e0d}.badge.alert{background:var(--err-bg);color:var(--err);box-shadow:0 10px 24px #c6282824,0 0 0 9px #c6282814}.receipt{text-align:left;margin-top:26px;padding-top:22px;border-top:1px dashed var(--line-strong);display:flex;flex-direction:column;gap:14px}.receipt-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.receipt-row .rl{color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;padding-top:1px}.receipt-row .rv{text-align:right;font-weight:600;font-size:15px}.receipt-row.total{border-top:1px solid var(--line);margin-top:4px;padding-top:15px}.receipt-row.total .rv{font-size:16px;font-weight:800}.spinner{color:var(--muted);padding:44px;text-align:center;font-weight:500}.center{text-align:center;padding:30px 16px}.big{font-size:46px;line-height:1;margin-bottom:10px;display:inline-block;animation:pop .4s ease both}.footer{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:26px;color:var(--muted);font-size:13px}.footer .mark{opacity:.9}.footer strong{color:var(--ink);font-weight:700}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.06)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
