:root{--paper: #f6efe6;--ink: #2c1412;--muted: #6e534c;--henna: #9a3412;--henna-deep: #6f1d12;--gold: #e7d3a1;--card: #fffaf4;--line: rgba(111, 29, 18, .14);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Outfit", "Segoe UI", sans-serif;--phone: 480px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:#f2f2f2;font-family:var(--sans);font-size:16px;line-height:1.45}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}img{max-width:100%}.phone{width:min(100%,var(--phone));min-height:100dvh;margin:0 auto;background:#fff;display:flex;flex-direction:column;box-shadow:0 0 0 1px #0000000f;padding-bottom:calc(62px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:15;height:calc(60px + env(safe-area-inset-top));flex:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem .5rem;padding-top:calc(.5rem + env(safe-area-inset-top));background:#fff;border-bottom:1px solid #f2f2f2}.brand{display:flex;align-items:center;gap:.45rem;min-width:0;text-decoration:none;color:#1c1c1c}.logo{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center;background:#fff;border:1px solid #f0e6dc;flex:none}.brand strong{display:block;font-family:var(--sans);font-size:.92rem;font-weight:700;line-height:1.15;letter-spacing:-.01em;white-space:nowrap}.brand small{display:block;margin-top:1px;color:#8d939c;font-size:.68rem;font-weight:500;white-space:nowrap}.socials{display:flex;align-items:center;gap:0;flex:none}.socials a{width:32px;height:32px;display:grid;place-items:center}.socials svg{width:28px;height:28px;display:block}.page-title{font-family:var(--sans);font-size:1.35rem;font-weight:750;margin:0 0 .75rem}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.service-card{background:#fff;border:1px solid #f0e4da;border-radius:16px;padding:.75rem .7rem .85rem;box-shadow:0 6px 16px #fd5d140f}.service-card h2{font-family:var(--sans);font-size:.95rem;font-weight:750;letter-spacing:0;margin:0 0 .3rem}.service-card p{margin:0 0 .45rem;color:#6b7280;font-size:.78rem}.text-link{border:0;background:transparent;color:#fd5d14;font-weight:700;padding:0;text-decoration:none;font-size:.82rem}.text-link.book{display:inline-block;margin-left:.65rem}.panel textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.7rem .8rem;font-size:16px;resize:vertical}.tabbar{position:fixed;z-index:20;left:50%;bottom:0;transform:translate(-50%);width:min(100%,var(--phone));display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-top:1px solid #eee;box-shadow:0 -4px 16px #0000000a;padding-bottom:env(safe-area-inset-bottom)}.tabbar a,.tabbar button{min-height:56px;border:0;background:transparent;color:#9aa0a6;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font-size:.62rem;font-weight:600;padding:.35rem 0 .4rem}.tabbar svg{width:22px;height:22px;fill:currentColor}.tabbar a.active,.tabbar button.on{color:#fd5d14}.tabbar a.chat{color:#9aa0a6}.tabbar a.chat svg{color:#25d366;fill:#25d366}.menu-sheet{position:fixed;z-index:19;left:50%;bottom:calc(62px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(100%,var(--phone));background:#fff;border-top:1px solid #f0f0f0;box-shadow:0 -8px 24px #0000000f;display:grid}.menu-sheet a{padding:.9rem 1rem;text-decoration:none;color:#1c1c1c;font-weight:650;border-bottom:1px solid #f4f4f4}main{flex:1}.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}.shot{display:block;padding:0;border:0;min-height:0;border-radius:14px;overflow:hidden;aspect-ratio:3 / 4;position:relative;background:#f4efe9;box-shadow:0 2px 8px #00000014}.shot:after,.viewer-slide:before{content:"";position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:3px solid rgba(253,93,20,.18);border-top-color:#fd5d14;animation:spin .75s linear infinite}.shot.loaded:after{display:none}.shot-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent}.share-btn{position:absolute;right:8px;bottom:8px;z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:#ffffffeb;display:grid;place-items:center;box-shadow:0 2px 8px #0003}.share-btn svg,.viewer-share svg{width:18px;height:18px;fill:#fd5d14;stroke:#fd5d14;stroke-width:1.8;stroke-linecap:round}.toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:50;margin:0;padding:.55rem 1rem;border-radius:999px;background:#1c1c1ce6;color:#fff;font-size:.85rem;font-weight:600}.shot img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .3s ease}.shot.loaded img{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0a0604d1;touch-action:none;overflow:hidden;animation:pop-fade .2s ease}.viewer-share,.viewer-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 4px 14px #0000004d;cursor:pointer}.viewer-share{right:62px}.viewer-close svg{width:20px;height:20px;stroke:#1c1c1c;stroke-width:2.4;stroke-linecap:round;fill:none}@keyframes pop-fade{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)}}.viewer-track{display:flex;height:100%;will-change:transform}.viewer-track.settle{transition:transform .28s ease}.viewer-slide{position:relative;flex:0 0 100%;height:100%;display:grid;place-items:center;overflow:hidden;padding:calc(64px + env(safe-area-inset-top)) 14px calc(28px + env(safe-area-inset-bottom))}.viewer-slide img{position:relative;z-index:1;max-width:100%;max-height:100%;object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 12px 40px #00000073;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:pop-in .22s ease}.viewer-slide img.settle{transition:transform .2s ease}.sheet{padding:.9rem}.panel{display:grid;gap:.85rem;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:.95rem}.panel label,.drop{display:grid;gap:.35rem;font-weight:650}.panel input,.panel select{width:100%;min-height:48px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.7rem .8rem;font-size:16px}.drop{min-height:112px;place-items:center;align-content:center;text-align:center;border:1.5px dashed rgba(138,90,18,.55);border-radius:16px;background:#e7d3a133;position:relative}.drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;min-height:100%}.drop span{font-weight:400;color:var(--muted)}.btn{min-height:48px;border:0;border-radius:999px;background:var(--henna-deep);color:#fffaf4;font-weight:700;padding:.75rem 1rem}.btn.secondary{background:transparent;color:var(--henna-deep);box-shadow:inset 0 0 0 1px var(--line)}.btn:disabled{opacity:.65}.qr-page{display:grid;gap:.9rem;align-content:start}.qr-card{width:100%;height:auto;display:block;border-radius:20px;box-shadow:0 6px 22px #0000001a}.qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.qr-actions .btn{display:grid;place-items:center;text-decoration:none;font-size:1rem}.qr-actions .btn:first-child{background:#fd5d14}.banner{margin:0;border-radius:12px;padding:.7rem .8rem}.banner.error,.frame-error{background:#fde8e4;color:#7f1d1d}.banner.ok{background:#e7f4ea;color:#14532d}.previews{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:0;padding:0}.previews li{position:relative;aspect-ratio:1}.previews img{width:100%;height:100%;object-fit:cover;border-radius:8px}.previews button{position:absolute;top:2px;right:2px;width:28px;height:28px;border:0;border-radius:50%;background:var(--ink);color:#fff}
