:root{--gold: #c2a254;--gold-light: #dbb96a;--gold-deep: #8a6e2a;--bg: #070606;--bg-alt: #0a0909;--bg-card: #110f0e;--bg-surface: #1a1715;--border: rgba(255, 255, 255, .06);--border-hover: rgba(194, 162, 84, .15);--text: #ede8e1;--text-dim: #7a7267;--text-faint: #4d4841;--danger: #f87171;--success: #4ade80;--radius: 12px;--radius-sm: 8px;--radius-xs: 6px;--serif: "Playfair Display", serif;--sans: "Inter", sans-serif;--ease: cubic-bezier(.25, .46, .45, .94);--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{font-family:var(--sans);background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6;font-weight:300}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 32px}.main-content{padding-top:80px;min-height:100vh}h2{font-family:var(--serif);font-size:clamp(30px,4vw,48px);font-weight:600;line-height:1.1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:50px;font-size:13px;font-weight:500;border:none;transition:all .35s var(--ease);font-family:inherit;letter-spacing:.02em;cursor:pointer}.btn--gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#070606;font-weight:600}.btn--gold:hover{transform:translateY(-2px);box-shadow:0 10px 30px #c2a25433}.btn--outline{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.12)}.btn--outline:hover{border-color:var(--gold);color:var(--gold)}.btn--full{width:100%}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 0;transition:all .5s var(--ease)}.nav.scrolled{background:#070606eb;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);padding:12px 0;border-bottom:1px solid var(--border)}.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.nav-logo img{height:36px;transition:all .4s var(--ease)}.nav.scrolled .nav-logo img{height:30px}.nav-menu{display:flex;align-items:center;gap:32px}.nav-link{font-size:12px;color:var(--text-dim);letter-spacing:.08em;font-weight:400;transition:color .3s;position:relative;text-transform:uppercase;text-decoration:none}.nav-link:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width .35s var(--ease)}.nav-link:hover{color:var(--text)}.nav-link:hover:after{width:100%}.nav-link.active{color:var(--gold)}.nav-link.active:after{width:100%}.nav-link--phone{color:var(--gold)}.nav-cta{padding:9px 22px;border-radius:50px;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#070606;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;transition:all .3s var(--ease);text-decoration:none}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px #c2a25433}.nav-install-link{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-dim);border:1px solid var(--border);padding:7px 14px;border-radius:50px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;margin-left:8px;transition:all .2s}.nav-install-link:hover{color:var(--gold);border-color:var(--gold);background:#c2a25414}.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;cursor:pointer}.nav-burger span{display:block;width:22px;height:1.5px;background:var(--text);transition:all .3s var(--ease);border-radius:2px}.nav-burger.active span:first-child{transform:rotate(45deg) translate(4px,5px)}.nav-burger.active span:last-child{transform:rotate(-45deg) translate(4px,-5px)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(150deg,#070606d9 25%,#07060659 60%,#070606cc);z-index:1}.hero-content{position:relative;z-index:2;text-align:center;max-width:780px;padding:0 32px}.hero-badge{display:inline-block;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:32px;border:1px solid rgba(194,162,84,.15);padding:6px 18px;border-radius:50px}.hero h1{font-family:var(--serif);font-size:clamp(48px,8vw,100px);font-weight:600;line-height:1.05;letter-spacing:-.02em;margin-bottom:24px}.hero h1 em{font-style:italic;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero h1,.hero h1 em{display:inline}.hero-content p{font-size:16px;color:var(--text-dim);max-width:520px;margin:0 auto 36px;line-height:1.7}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.section{padding:80px 0}.section--dark{background:var(--bg-alt)}.section-center{text-align:center;margin-bottom:48px}.section-center p{color:var(--text-dim);font-size:14px;margin-top:8px}.section-tag{display:inline-block;font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:14px}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .4s var(--ease);display:block}.home-card:hover{border-color:var(--border-hover);transform:translateY(-3px)}.home-card img{width:100%;height:200px;object-fit:cover}.home-card-body{padding:24px 28px 28px}.home-card-tag{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:500}.home-card-body h3{font-family:var(--serif);font-size:22px;font-weight:600;margin:8px 0}.home-card-body p{color:var(--text-dim);font-size:13px;line-height:1.7}.cta-banner{padding:80px 0;background:var(--bg-alt);text-align:center;border-top:1px solid var(--border)}.cta-banner h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,42px);margin-bottom:12px}.cta-banner p{color:var(--text-dim);font-size:15px;margin-bottom:24px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-visual img{width:100%;height:500px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border)}.about-text h2{font-size:clamp(28px,3.5vw,42px);margin:12px 0 18px}.about-intro{font-size:16px;line-height:1.7;margin-bottom:14px}.about-text p{color:var(--text-dim);font-size:14px;line-height:1.8;margin-bottom:12px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:all .4s var(--ease)}.service-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.service-card h3{font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:4px}.service-duration{font-size:13px;color:var(--text-dim)}.service-price{display:none}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-item{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:1}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.gallery-item:hover img{transform:scale(1.07)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.testimonial-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:30px;transition:all .4s var(--ease)}.testimonial-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.testimonial-stars{color:gold;font-size:13px;letter-spacing:2px;margin-bottom:14px}.testimonial-text{color:#fffc;font-size:14px;line-height:1.7;font-style:italic;margin-bottom:18px}.testimonial-name{font-size:13px;color:var(--text-dim)}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.contact-card{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 20px}.contact-card i{font-size:24px;color:var(--gold);margin-bottom:12px}.contact-card h3{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);font-weight:400;margin-bottom:8px}.contact-card p{font-size:13px;line-height:1.6}.contact-card a:hover{color:var(--gold)}.book-section{padding-top:40px}.book-container{max-width:640px;margin:0 auto}.book-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:36px;min-height:400px}.steps{display:flex;align-items:center;margin-bottom:32px}.step{display:flex;align-items:center;gap:8px}.step-num{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-faint);transition:all .35s var(--ease);flex-shrink:0}.step.active .step-num,.step.done .step-num{background:var(--gold);border-color:var(--gold);color:#070606}.step-label{font-size:12px;color:var(--text-dim);white-space:nowrap}.step.active .step-label{color:var(--text)}.step:not(:last-child):after{content:"";flex:1;height:1.5px;background:var(--border);margin:0 14px;border-radius:2px;min-width:30px}.step.active:after,.step.done:after{background:var(--gold)}.book-step h2{font-family:var(--serif);font-size:22px;font-weight:600;margin-bottom:20px}.step-back{display:flex;align-items:center;gap:12px;margin-bottom:16px}.step-back button{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:6px 12px;border-radius:var(--radius-xs);font-size:12px;cursor:pointer;font-family:inherit}.step-back button:hover{border-color:var(--border-hover);color:var(--text)}.step-back span{font-size:13px;color:var(--text-dim)}.calendar{max-width:380px;margin:0 auto}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.cal-header button{background:#ffffff0a;border:1px solid var(--border);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:13px;cursor:pointer;transition:all .2s}.cal-header button:hover{background:#c2a2541a;border-color:var(--border-hover);color:var(--gold)}.cal-header span{font-family:var(--serif);font-size:18px;font-weight:600}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal-day-header{font-size:11px;color:var(--gold);padding:8px 0;text-transform:uppercase;letter-spacing:1.5px;font-weight:500}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:50%;cursor:pointer;transition:all .2s var(--ease);border:none;background:transparent;color:var(--text);font-family:inherit;position:relative}.cal-cell:hover{background:#c2a2541a}.cal-cell.selected{background:var(--gold);color:#070606;font-weight:600}.cal-cell.past{color:#fff3;cursor:default}.cal-cell.past:hover{background:transparent}.cal-cell.blocked{color:#f8717180;cursor:default}.cal-cell.blocked:hover{background:transparent}.cal-blocked-mark{position:absolute;font-size:10px;color:var(--danger)}.cal-footnote{text-align:center;color:var(--text-faint);font-size:12px;margin-top:16px}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-slot{padding:11px;border-radius:var(--radius-xs);border:1px solid var(--border);background:transparent;color:var(--text);font-size:13px;text-align:center;cursor:pointer;transition:all .2s var(--ease);font-family:inherit}.time-slot:hover{border-color:var(--border-hover);background:#c2a2540a}.time-slot.selected{border-color:var(--gold);background:#c2a2541a;color:var(--gold);font-weight:500}.time-slot.taken{opacity:.15;cursor:default;pointer-events:none}.time-slot.blocked{opacity:.3;cursor:default;pointer-events:none}.book-form{display:flex;flex-direction:column;gap:16px}.bf-field{display:flex;flex-direction:column;gap:5px}.bf-field label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-weight:400}.bf-field .opt{color:var(--text-faint);text-transform:none;letter-spacing:0;font-weight:300}.bf-field input,.bf-field textarea,.bf-field select{padding:12px 14px;border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:all .3s var(--ease);width:100%}.bf-field input:focus,.bf-field textarea:focus,.bf-field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c2a2540f}.bf-field input::placeholder,.bf-field textarea::placeholder{color:var(--text-faint)}.bf-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c2a254' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:10px;padding-right:40px;cursor:pointer}.field-error{font-size:12px;color:var(--danger)}.book-confirmed{text-align:center;padding:60px 36px}.confirmed-icon i{font-size:52px;color:var(--success);margin-bottom:16px}.book-confirmed h2{font-family:var(--serif);font-size:28px;margin-bottom:8px}.confirmed-details{font-size:16px;margin-bottom:8px}.book-confirmed p{color:var(--text-dim);font-size:14px}.confirmed-actions{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.admin-login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px 36px;text-align:center;margin-top:40px}.admin-login-card h2{font-family:var(--serif);font-size:24px;margin-bottom:8px}.quick-book{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:24px}.qb-field{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.qb-field label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-weight:400}.qb-field input,.qb-field select{padding:10px 12px;border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;font-family:inherit;outline:none;transition:all .3s var(--ease);width:100%}.qb-field input:focus,.qb-field select:focus{border-color:var(--gold)}.qb-time{padding:6px 4px;font-size:11px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text);cursor:pointer;font-family:inherit;text-align:center;transition:all .2s}.qb-time:hover{border-color:var(--border-hover)}.qb-time.selected{background:var(--gold);color:#070606;font-weight:600}.qb-time.taken,.qb-time.blocked{opacity:.4;cursor:not-allowed}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px;text-align:center}.stat-num{display:block;font-family:var(--serif);font-size:32px;font-weight:600;color:var(--gold)}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.export-row{display:flex;gap:8px;margin-bottom:12px}.export-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-dim);font-size:12px;cursor:pointer;font-family:inherit;transition:all .2s}.export-btn:hover{border-color:var(--gold);color:var(--gold)}.bookings-table{width:100%;border-collapse:collapse;font-size:13px}.bookings-table th{text-align:left;padding:10px 8px;color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border)}.bookings-table td{padding:10px 8px;border-bottom:1px solid var(--border)}.footer{background:var(--bg-alt);border-top:1px solid var(--border);padding-top:60px}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px;margin-bottom:36px}.footer-brand img{height:40px;margin-bottom:12px}.footer-brand p{font-size:13px;color:var(--text-dim);line-height:1.7;margin-bottom:18px;max-width:280px}.footer-social{display:flex;gap:8px}.footer-social a{width:34px;height:34px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .3s;color:var(--text-dim)}.footer-social a:hover{background:var(--gold);border-color:var(--gold);color:#070606}.footer-nav h4,.footer-hours h4{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;color:var(--text);font-weight:500}.footer-nav a{display:block;font-size:13px;color:var(--text-dim);margin-bottom:8px;transition:all .3s}.footer-nav a:hover{color:var(--gold);padding-left:3px}.footer-hours p{font-size:13px;color:var(--text-dim);margin-bottom:10px;display:flex;justify-content:space-between;max-width:180px}.footer-hours p span{color:var(--text)}.footer-bar{border-top:1px solid var(--border);padding:22px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.footer-bar p{font-size:12px;color:var(--text-faint)}.install-prompt{position:fixed;left:16px;right:16px;bottom:16px;z-index:9000;background:var(--bg-card);border:1px solid var(--gold);border-radius:var(--radius);padding:14px 16px;box-shadow:0 10px 30px #00000080;animation:slideUp .4s var(--ease-out)}.install-prompt-inner{display:flex;align-items:center;gap:14px}.install-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0}.install-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.install-text strong{font-size:14px;font-weight:500;color:var(--text)}.install-text span{font-size:12px;color:var(--text-dim)}.install-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.btn-install{padding:8px 16px;border:none;border-radius:50px;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#070606;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.btn-install:hover{transform:translateY(-1px)}.btn-dismiss{width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--text-faint);font-size:18px;line-height:1;cursor:pointer}.btn-dismiss:hover{background:#ffffff0d;color:var(--text)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.update-toast{position:fixed;left:16px;right:16px;bottom:16px;z-index:9000;background:var(--bg-card);border:1px solid var(--gold);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 30px #00000080;animation:slideUp .4s var(--ease-out)}.update-toast span{font-size:13px;color:var(--text)}.update-toast button{padding:6px 14px;border:none;border-radius:50px;background:var(--gold);color:#070606;font-size:12px;font-weight:600;cursor:pointer}@media (min-width: 640px){.install-prompt,.update-toast{left:auto;right:24px;bottom:24px;max-width:360px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:800;background:#070606f5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:center;padding:8px 0 max(8px,env(safe-area-inset-bottom))}.bn-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;color:var(--text-dim);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;transition:color .2s;text-decoration:none}.bn-tab i{font-size:18px}.bn-tab:hover{color:var(--text)}.bn-tab.active{color:var(--gold)}.bn-tab--cta{position:relative;margin-top:-16px}.bn-tab--cta:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:36px;height:36px;background:linear-gradient(135deg,var(--gold-light),var(--gold));border-radius:50%;z-index:-1;box-shadow:0 4px 16px #c2a25466}.bn-tab--cta i{color:#070606;z-index:1}.bn-tab--cta span{color:#070606;font-weight:600}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:320px}.toast{background:var(--bg-card);border:1px solid var(--gold);color:var(--text);padding:14px 20px;border-radius:var(--radius-sm);font-size:13px;opacity:0;transform:translateY(20px);transition:all .3s;box-shadow:0 8px 24px #0006}.toast.show{opacity:1;transform:translateY(0)}.toast.danger{border-color:var(--danger)}.toast.success{border-color:var(--success)}.toast.info{border-color:#3b82f6}@media (max-width: 768px){.toast-container{left:16px;right:16px;max-width:none;bottom:80px}}@media (display-mode: standalone){.nav-install-link{display:none!important}body{padding-top:env(safe-area-inset-top)}.main-content{padding-top:calc(80px + env(safe-area-inset-top))}.hero{min-height:100dvh}}@media (display-mode: standalone) and (max-width: 768px){.nav-inner{padding:0 16px}.nav-logo img{height:30px}.nav-burger{display:none!important}.nav-menu{position:static;flex-direction:row;height:auto;background:transparent;padding:0;width:auto;box-shadow:none;gap:12px}.nav-menu a.nav-link,.nav-menu a.nav-cta{display:none}body.has-bottom-nav{padding-bottom:72px}}@media (display-mode: standalone) and (min-width: 769px){.bottom-nav{display:none}body.has-bottom-nav{padding-bottom:0}}@supports (padding: max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.install-prompt,.update-toast{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:24px}.modal-inner{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px 36px;max-width:440px;width:100%;text-align:center;animation:modalIn .4s var(--ease-out);position:relative;z-index:5001}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-inner h3{font-family:var(--serif);font-size:24px;font-weight:600;margin-bottom:6px}.modal-inner p{color:var(--text-dim);font-size:14px;margin-bottom:20px}.modal-actions{display:flex;gap:10px}.modal-actions .btn{flex:1}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:4999}.backdrop.active{display:block}.ios-install-modal{text-align:left}.ios-install-icon{text-align:center;margin-bottom:14px}.ios-install-icon img{width:72px;height:72px;border-radius:16px;margin:0 auto;box-shadow:0 4px 16px #0000004d}.ios-install-modal h3,.ios-install-modal p{text-align:center}.ios-install-later{display:block;width:100%;margin-top:10px;padding:10px;background:transparent;color:var(--text-dim);border:none;font-size:12px;cursor:pointer;font-family:inherit}.ios-install-later:hover{color:var(--text)}@media (max-width: 768px){.modal-actions{flex-direction:column}}.setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center}.setup-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#070606}.setup-card{position:relative;max-width:420px;width:100%;padding:32px 28px;text-align:center;opacity:0;transform:translateY(20px);transition:all .8s var(--ease-out)}.setup-card--show{opacity:1;transform:translateY(0)}.setup-logo{margin-bottom:20px}.setup-logo img{width:80px;height:80px;border-radius:20px;box-shadow:0 8px 32px #c2a25433;animation:setupBounce .8s var(--ease-out)}@keyframes setupBounce{0%{transform:scale(0) rotate(-10deg);opacity:0}60%{transform:scale(1.1) rotate(2deg)}to{transform:scale(1) rotate(0);opacity:1}}.setup-card h1{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.2;margin-bottom:6px;animation:setupFadeUp .6s .3s both var(--ease-out)}.setup-card h1 span{color:var(--gold)}.setup-card h2{font-family:var(--serif);font-size:24px;font-weight:600;margin-bottom:8px}.setup-sub{color:var(--text-dim);font-size:14px;margin-bottom:28px;animation:setupFadeUp .6s .5s both var(--ease-out)}@keyframes setupFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.setup-choices{display:flex;flex-direction:column;gap:10px;animation:setupFadeUp .6s .7s both var(--ease-out)}.setup-btn{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:14px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-family:inherit;font-size:15px;cursor:pointer;text-align:left;transition:all .2s;width:100%}.setup-btn:hover{border-color:var(--gold);transform:translateY(-1px)}.setup-btn i{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.setup-btn span{display:block;font-weight:600;font-size:15px}.setup-btn small{display:block;font-size:12px;color:var(--text-dim);font-weight:400;margin-top:2px}.setup-btn--client i{background:#4ade801f;color:#4ade80}.setup-btn--owner i{background:#c2a2541f;color:var(--gold)}.setup-btn--gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#070606;font-weight:600;text-align:center;justify-content:center;border:none;transition:all .3s}.setup-btn--gold:hover{transform:translateY(-1px);box-shadow:0 8px 24px #c2a2544d}.setup-btn--done{background:#4ade80;box-shadow:0 8px 24px #4ade804d}.setup-code p{font-size:14px;color:var(--text-dim);margin-bottom:16px}.setup-code-box{font-family:Courier New,monospace;font-size:18px;font-weight:700;letter-spacing:2px;padding:20px;background:var(--bg);border:2px dashed var(--gold);border-radius:12px;color:var(--gold);margin-bottom:20px;word-break:break-all;-webkit-user-select:all;user-select:all;animation:setupFadeUp .4s var(--ease-out)}.setup-code .setup-btn{margin-top:8px}.app-shell{min-height:100vh;background:var(--bg);color:var(--text);display:flex;flex-direction:column;max-width:480px;margin:0 auto;position:relative;box-shadow:0 0 40px #00000080}.app-header{position:sticky;top:0;z-index:50;background:#070606eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;padding-top:max(14px,env(safe-area-inset-top))}.app-header-logo img{height:30px}.app-header-actions{display:flex;gap:6px}.app-header-call,.app-header-exit{width:38px;height:38px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:14px;text-decoration:none;transition:all .2s}.app-header-call:hover,.app-header-exit:hover{color:var(--gold);border-color:var(--gold)}.app-header-call{color:var(--gold)}.app-main{flex:1;padding:20px 16px 100px;overflow-x:hidden}.app-tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:50;background:#070606f5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:10px 0 max(10px,env(safe-area-inset-bottom))}.app-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;color:var(--text-faint);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;transition:color .2s}.app-tab i{font-size:18px}.app-tab.active{color:var(--gold)}.app-tab.active i{transform:scale(1.1)}.app-home-hero{text-align:center;padding:40px 0 32px;position:relative;overflow:hidden}.app-home-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top,rgba(194,162,84,.15),transparent 60%);pointer-events:none}.app-home-hero h1{font-family:var(--serif);font-size:44px;font-weight:600;line-height:1.05;margin-bottom:12px;position:relative}.app-home-hero h1 em{font-style:italic;color:var(--gold)}.app-home-hero p{color:var(--text-dim);font-size:14px;margin-bottom:24px;padding:0 16px;position:relative}.app-cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#070606;border:none;border-radius:50px;font-size:15px;font-weight:600;font-family:inherit;letter-spacing:.02em;text-decoration:none;cursor:pointer;box-shadow:0 8px 24px #c2a2544d;transition:all .2s}.app-cta-primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px #c2a25466}.app-cta-primary:disabled{opacity:.5;cursor:not-allowed}.app-cta-primary i{font-size:16px}.app-section{margin-top:20px;display:flex;flex-direction:column;gap:10px}.app-tile{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--text);transition:all .2s}.app-tile:hover{border-color:var(--border-hover);transform:translateY(-1px)}.app-tile-icon{width:44px;height:44px;border-radius:12px;background:#c2a25414;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-tile-icon i{color:var(--gold);font-size:18px}.app-tile div{flex:1;min-width:0}.app-tile strong{display:block;font-size:15px;font-weight:500;margin-bottom:2px}.app-tile span{display:block;font-size:12px;color:var(--text-dim)}.app-tile-arrow{color:var(--text-faint);font-size:12px}.app-tile--primary{background:linear-gradient(135deg,#c2a2541a,#c2a25405);border-color:#c2a25440}.app-hours{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px}.app-hours h3{font-size:14px;font-weight:500;margin-bottom:12px;display:flex;align-items:center;gap:8px}.app-hours h3 i{color:var(--gold);font-size:13px}.app-hours ul{list-style:none;padding:0}.app-hours li{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.app-hours li span:last-child{color:var(--text);font-weight:500}.app-call-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:12px;background:#c2a25414;border:1px solid rgba(194,162,84,.2);border-radius:50px;color:var(--gold);font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.app-call-btn:hover{background:#c2a25426}.app-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px 20px;margin-bottom:12px}.app-card h2{font-family:var(--serif);font-size:22px;font-weight:600;margin-bottom:8px}.app-card h3{font-size:14px;font-weight:500;margin-bottom:8px;display:flex;align-items:center;gap:8px}.app-card h3 i{color:var(--gold);font-size:13px}.app-card-center{text-align:center}.app-book{padding-top:0}.app-book-header{margin-bottom:16px}.app-book-header h2{font-family:var(--serif);font-size:28px;font-weight:600;margin-bottom:16px}.app-stepper{display:flex;gap:8px}.app-step{display:flex;align-items:center;gap:6px;flex:1;padding:8px 0;opacity:.4}.app-step.active,.app-step.done{opacity:1}.app-step-num{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;flex-shrink:0;background:transparent}.app-step.active .app-step-num,.app-step.done .app-step-num{background:var(--gold);border-color:var(--gold);color:#070606}.app-step-num i{font-size:9px}.app-step-label{font-size:12px;font-weight:500}.app-back-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.app-back-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:5px 10px;border-radius:16px;font-size:11px;font-family:inherit;cursor:pointer}.app-back-btn:hover{color:var(--text);border-color:var(--border-hover)}.app-summary{font-size:13px;color:var(--text-dim);font-weight:500}.app-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.app-cal-head strong{font-family:var(--serif);font-size:16px}.app-cal-head button{width:32px;height:32px;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.app-cal-head button:hover{color:var(--gold);border-color:var(--gold)}.app-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.app-cal-dow{text-align:center;font-size:10px;color:var(--gold);padding:4px 0;text-transform:uppercase;letter-spacing:1px}.app-cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:50%;background:transparent;border:none;color:var(--text);font-family:inherit;cursor:pointer;transition:all .15s}.app-cal-cell:hover:not(:disabled){background:#c2a2541a}.app-cal-cell.past{color:var(--text-faint);cursor:not-allowed}.app-cal-cell.blocked{color:var(--danger);opacity:.5}.app-cal-cell.empty{cursor:default}.app-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.app-time{padding:10px 4px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:12px;text-align:center;cursor:pointer;font-family:inherit;transition:all .15s}.app-time:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.app-time.selected{background:var(--gold);color:#070606;border-color:var(--gold);font-weight:600}.app-time.taken{opacity:.25;cursor:not-allowed;text-decoration:line-through}.app-form{display:flex;flex-direction:column;gap:14px}.app-field{display:flex;flex-direction:column;gap:5px}.app-field label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-weight:500}.app-field-opt{text-transform:none;letter-spacing:0;color:var(--text-faint);font-weight:400}.app-field input,.app-field textarea,.app-field select{padding:13px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:15px;font-family:inherit;outline:none;transition:all .2s;width:100%}.app-field input:focus,.app-field textarea:focus,.app-field select:focus{border-color:var(--gold)}.app-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c2a254' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:10px;padding-right:36px;cursor:pointer}.app-field-error{font-size:12px;color:var(--danger)}.app-booking-view{padding-top:20px}.app-confirmed-icon{text-align:center;margin-bottom:12px}.app-confirmed-icon i{font-size:56px;color:var(--success)}.app-booking-view h2{text-align:center;font-family:var(--serif);font-size:26px;font-weight:600;margin-bottom:12px}.app-confirmed-date{text-align:center;margin-bottom:16px}.app-confirmed-date strong{display:block;font-size:22px;font-family:var(--serif);color:var(--gold);margin-bottom:4px}.app-confirmed-date span{font-size:14px;color:var(--text-dim)}.app-confirmed-status{text-align:center;margin-bottom:20px}.app-confirmed-status span{display:inline-block;padding:4px 14px;border-radius:50px;font-size:12px;font-weight:500;text-transform:capitalize}.app-booking-meta{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.app-meta-row{display:flex;align-items:center;gap:12px}.app-meta-row>i{width:32px;height:32px;border-radius:50%;background:#c2a25414;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:12px;flex-shrink:0}.app-meta-row small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint)}.app-meta-row strong{display:block;font-size:14px}.app-confirmed-actions{display:flex;gap:8px;margin-top:16px}.app-btn-secondary{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--text-dim);font-size:12px;text-decoration:none;transition:all .2s}.app-btn-secondary:hover{border-color:var(--gold);color:var(--gold)}.app-link-back{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:14px;padding:10px;background:transparent;border:none;color:var(--text-dim);font-size:12px;text-decoration:none}.app-link-back:hover{color:var(--text)}.app-lookup{padding-top:8px}.app-lookup .app-form{margin-top:8px}.app-section-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);font-weight:500;margin:18px 0 8px;padding-left:4px}.app-booking-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);margin-bottom:8px;transition:all .2s}.app-booking-row:hover{border-color:var(--border-hover)}.app-booking-row-icon{width:40px;height:40px;border-radius:50%;background:#c2a2541a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-booking-row-body{flex:1;min-width:0}.app-booking-row-body strong{display:block;font-size:14px}.app-booking-row-body span{display:block;font-size:12px;color:var(--text-dim);text-transform:capitalize}.app-booking-row-status{padding:3px 10px;border-radius:50px;font-size:11px;color:#070606;font-weight:500;text-transform:capitalize;flex-shrink:0}.app-about{padding-top:0}.app-about-card p{font-size:14px;line-height:1.7}.app-link-action{color:var(--gold);font-size:15px;text-decoration:none;font-weight:500;margin-top:4px;display:inline-block}.app-hours-list,.app-services-list{list-style:none;padding:0;margin:0}.app-hours-list li{display:flex;justify-content:space-between;padding:7px 0;font-size:13px}.app-hours-list li span:last-child{color:var(--text);font-weight:500}.app-services-list li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.app-services-list li:last-child{border-bottom:none}.app-services-list strong{font-weight:500}.app-services-list span{color:var(--text-dim);font-size:12px}.cta-banner-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media (display-mode: standalone){.app-shell{box-shadow:none;max-width:100%}.app-tabbar{max-width:100%}}@media (max-width: 1024px){.services-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item:nth-child(1){grid-column:span 1;grid-row:span 1}.footer-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.about-grid{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.nav-menu{position:fixed;top:0;right:-100%;width:260px;height:100vh;background:#070606fa;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);flex-direction:column;padding:100px 28px 28px;gap:28px;transition:right .4s var(--ease);box-shadow:-10px 0 40px #00000080}.nav-menu.open{right:0}.nav-burger{display:flex}.container{padding:0 20px}.home-grid,.services-grid,.testimonials-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.time-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:32px}.about-visual img{height:300px}.book-card{padding:24px}}@media (max-width: 480px){.time-grid{grid-template-columns:repeat(2,1fr)}}
