.logo{display:inline-block;flex-shrink:0;margin:0;height:40px}.logo img{display:block;object-fit:contain;object-position:center;width:auto;height:100%;max-width:100%;aspect-ratio:1;border-radius:8px;border:1px solid var(--border)}.logo--named{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;gap:10px}.logo-name{font-family:var(--font-display);font-weight:700;color:var(--text);font-size:22px;letter-spacing:.5px}.gem-mark{color:var(--primary)}.toast-host{position:fixed;bottom:80px;left:50%;z-index:1200;display:flex;flex-direction:column;gap:8px;align-items:center;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:8px;background:var(--text);color:var(--on-accent);font-size:14px;box-shadow:var(--shadow);animation:toast-in .2s ease}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:14px;font-family:inherit;cursor:pointer;border:none;text-decoration:none;color:inherit;transition:.15s}.btn-primary,a.btn.btn-primary{background:var(--primary);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text)}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--warn);color:var(--on-accent)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--warn) 85%,black)}.btn-sm{padding:8px 14px;font-size:13px}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{background:var(--border);color:var(--text-soft);cursor:not-allowed}.btn-outline:disabled{background:transparent;border-color:var(--border)}.btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn-spinner{display:none}}.notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--border);text-decoration:none;color:inherit}.bell-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--warn);color:var(--surface);font-size:11px;font-weight:600;line-height:1;display:grid;place-items:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--text) 55%,transparent);display:flex;align-items:center;justify-content:center;z-index:900;padding:20px}.modal{background:var(--surface);border-radius:14px;max-width:640px;width:100%;max-height:88vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-head h3{font-size:20px}.modal-close{width:32px;height:32px;border-radius:50%;background:var(--surface-2);border:none;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}.modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.modal-foot{padding:18px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;flex-shrink:0}@media(max-width:600px){.modal-backdrop{padding:0}.modal{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0;box-shadow:none}.modal-head{padding:14px 16px}.modal-close{width:40px;height:40px}.modal-body{padding:16px}.modal-foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}}.error-message{margin:0 0 16px;padding:12px 14px;border-radius:8px;background:color-mix(in srgb,var(--warn) 12%,var(--surface));color:var(--warn);font-size:14px}.terms-prompt p,.terms-prompt li{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.terms-prompt ul{margin:8px 0 12px;padding-left:1.2em}.terms-prompt li+li{margin-top:6px}.terms-accept{display:flex;gap:10px;align-items:flex-start;margin:16px 0 4px;font-size:14px;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}.terms-accept input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--gold, #b8860b);cursor:pointer}.terms-accept input:focus-visible{outline:2px solid var(--gold, #b8860b);outline-offset:2px}.storefront{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.storefront a:not(.btn){color:inherit;text-decoration:none}.pv-nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.pv-nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.pv-nav-inner>a:has(.logo){display:flex;flex-shrink:0;width:fit-content}.pv-nav .logo{height:40px}.pv-links{display:none;gap:28px;font-size:14px;font-weight:500}.pv-links a:hover{color:var(--primary)}.pv-nav-right{display:flex;align-items:center;gap:10px}.pv-nav-right .btn-primary{white-space:nowrap;flex-shrink:0}.hamburger{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;flex-shrink:0;border-radius:8px;background:var(--surface-2);border:none;color:var(--text);cursor:pointer}.hamburger.open{background:var(--primary);color:var(--on-accent)}.mobile-panel{display:flex;flex-direction:column;width:100%;padding:8px 16px 20px;border-top:1px solid var(--primary);background:var(--surface-2);opacity:0;transform:translateY(-8px)}.mobile-panel.open{opacity:1;transform:translateY(0);animation:mobile-panel-in .2s ease}.mobile-panel[hidden]{display:none!important}.mobile-panel-links a{display:flex;align-items:center;min-height:44px;padding:12px 8px;font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--text);border-bottom:1px solid var(--border)}.mobile-panel-links a:last-child{border-bottom:none}.mobile-panel-links a:hover,.mobile-panel-links a:focus-visible,.mobile-panel-links a.active{color:var(--primary);text-decoration:none}.mobile-panel-account{border-top:1px solid var(--primary);padding-top:12px}.pv-account-panel{width:100%;justify-content:center}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:color-mix(in srgb,var(--text) 32%,transparent);animation:mobile-overlay-in .2s ease}@keyframes mobile-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes mobile-panel-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.mobile-panel.open,.mobile-overlay{animation:none}}.storefront-main{flex:1}#how,#reviews,#contact,#collections{scroll-margin-top:88px}.site-footer{background:var(--text);color:var(--footer-text);padding:50px 24px 30px}.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;max-width:1180px;margin:0 auto}.footer-inner .logo{height:88px}.footer-inner .logo img{border-color:var(--footer-line)}.footer-blurb{font-size:13px;color:var(--footer-muted);max-width:260px;margin-top:10px}.footer-cols{display:flex;gap:60px;flex-wrap:wrap}.footer-col h4{color:var(--on-accent);font-size:13px;margin-bottom:12px}.footer-col a{display:block;font-size:13px;color:var(--footer-muted);margin-bottom:8px}.footer-bottom{text-align:center;font-size:12px;color:var(--footer-faint);margin-top:40px;border-top:1px solid var(--footer-line);padding-top:20px}.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:0 20px}.footer-legal a{padding:12px 0;font-size:13px;color:var(--footer-muted)}.footer-legal a:hover,.footer-legal a:focus-visible{text-decoration:underline}@media(min-width:681px){.mobile-panel-account{display:none}}@media(min-width:910px){.pv-nav .logo{height:48px}.pv-links{display:flex}.hamburger,.mobile-panel,.mobile-overlay{display:none!important}}@media(max-width:680px){.pv-nav-inner{flex-wrap:nowrap;gap:10px;padding:12px 16px}.pv-nav .logo{height:36px}.pv-nav .logo--named{gap:6px}.pv-nav .logo-name{font-size:16px;letter-spacing:0}.pv-account-chrome{display:none}.footer-cols{gap:60px}}@media(max-width:680px){.footer-cols{gap:30px}}@media(max-width:400px){.pv-nav-inner{gap:8px;padding:12px}.pv-nav-inner>a:has(.logo){flex-shrink:1;min-width:0;overflow:hidden}.pv-nav .logo-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-nav-right{gap:6px}.pv-nav-right .btn-primary{padding-left:10px;padding-right:10px}.hamburger{width:36px;height:36px}}.admin-bell-wrap{position:relative}.admin-bell-btn{position:relative;border:1px solid var(--border);background:var(--surface);border-radius:999px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}.bell-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,90vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:20;font-size:14px;line-height:1.4;color:var(--text)}.bell-panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.bell-panel-head b{font-size:14px;font-weight:600;color:var(--text)}.bell-panel-head .text-link{font-size:13px;padding:0}.bell-panel-item{padding:10px 14px;border-bottom:1px solid var(--border);display:grid;gap:2px}.bell-panel-item b{font-size:14px;font-weight:600;line-height:1.35;color:var(--text)}.bell-panel-item p{margin:0;color:var(--text-soft);font-size:13px;line-height:1.4}.bell-panel-item span{font-size:12px;color:var(--text-soft);margin-top:2px}.bell-panel-footer{display:block;font-size:13px;text-align:center;padding:10px 14px;text-decoration:none}@media(max-width:479px){.admin-bell-wrap{position:static}.bell-panel{left:12px;right:12px;top:100%;width:auto}}.admin-shell{min-height:100vh;display:flex;background:var(--bg);color:var(--text)}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);background:var(--text);color:var(--on-accent);padding:24px 16px;transform:translate(-105%);transition:transform .2s;z-index:40}.admin-sidebar.open{transform:none}.admin-sidebar .logo{height:72px}.sb-link{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--footer-muted);text-decoration:none;padding:10px 12px;border-radius:8px;margin-top:6px}.sb-badge{min-width:1.5rem;padding:2px 7px;border-radius:999px;background:var(--warn);color:var(--on-accent);font-size:12px;font-weight:700;text-align:center}.sb-link.active,.sb-link:hover{background:color-mix(in srgb,var(--on-accent) 12%,transparent);color:var(--on-accent)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--text) 45%,transparent);z-index:30}.sidebar-backdrop.hidden{display:none}.admin-main{flex:1;width:100%}.admin-topbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.admin-topbar h1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:22px}.admin-user{font-weight:600;white-space:nowrap}.admin-signout{flex-shrink:0;min-height:38px;white-space:nowrap}@media(max-width:479px){.admin-user{display:none}}.admin-hamburger{background:var(--surface-2);border:none;border-radius:8px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer}.admin-page{padding:16px}.kpi-row,.two-col{display:grid;gap:12px}.kpi-card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}:not(.two-col)>.panel+.panel{margin-top:22px}.kpi-card b{display:block;font-size:28px;font-family:var(--font-display)}.kpi-card span{color:var(--text-soft);font-size:13px}.bar-chart{display:flex;gap:6px;padding-top:10px}.bar-col{flex:1;min-width:0;display:flex;flex-direction:column}.bar-track{display:flex;align-items:flex-end;height:150px}.bar{width:100%;background:var(--primary);border-radius:6px 6px 0 0}.bar-zero{height:2px;background:var(--border)}.bar-label{height:16px;line-height:16px;font-size:11px;text-align:center;white-space:nowrap}.bar-total{color:var(--text);font-weight:600}.bar-label-zero,.bar-week{color:var(--text-soft)}@media(min-width:480px){.bar-chart{gap:8px}}.activity-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-item span{display:block;font-size:12px;color:var(--text-soft)}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-btn{border:1.5px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit}.filter-btn.active{border-color:var(--primary);color:var(--primary)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border)}th{vertical-align:top;white-space:nowrap;font-weight:600}.th-sort{font:inherit;background:none;border:0;padding:4px 0;min-height:32px;display:inline-flex;gap:6px;align-items:center;cursor:pointer;color:var(--text)}.th-sort__icon{color:var(--text-soft)}th[aria-sort=ascending] .th-sort,th[aria-sort=descending] .th-sort,th[aria-sort=ascending] .th-sort__icon,th[aria-sort=descending] .th-sort__icon{color:var(--primary)}.th-sort:focus-visible,.th-filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.th-filter{display:block;width:100%;min-width:96px;margin-top:6px;padding:6px 8px;font:inherit;font-size:13px;font-weight:400;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.th-filter:focus{border-color:var(--accent)}.table-empty{text-align:center;color:var(--text-soft);padding:24px 8px}@media(max-width:479px){.th-filter{font-size:16px}}.settings-form .form-row{margin-bottom:14px}.toggle-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.switch{width:44px;height:24px;border-radius:999px;background:var(--border);position:relative;cursor:pointer}.switch.on{background:var(--ok)}.switch:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--surface);top:3px;left:3px;transition:.15s}.switch.on:after{left:23px}@media(min-width:900px){.admin-sidebar{position:sticky;transform:none;height:100vh}.admin-hamburger,.sidebar-backdrop{display:none}.kpi-row{grid-template-columns:repeat(4,1fr)}.two-col{grid-template-columns:1fr 1fr;margin-top:16px}}.manual-payment-form .payment-intro{margin:0 0 14px;color:var(--text-soft)}.manual-payment-form .form-row{margin-bottom:14px}.manual-payment-form .form-row label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.manual-payment-form .form-row select,.manual-payment-form .form-row input{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:14px;background:var(--surface);color:var(--text)}.bank-account-detail{display:flex;flex-direction:column;gap:12px;padding:12px 14px;margin-bottom:14px;border-radius:10px;border:1.5px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.bank-account-detail-text{display:grid;gap:4px}.bank-account-detail-text b{font-size:14px}.bank-account-detail-text span{font-size:13px;color:var(--text-soft)}.bank-account-qr{width:150px;height:150px;object-fit:contain;border:1px solid var(--border);border-radius:6px;padding:4px;background:var(--surface)}@media(min-width:520px){.bank-account-detail{flex-direction:row;align-items:flex-start}.bank-account-qr{margin-left:auto}}.field-hint{color:var(--text-soft);font-size:.85rem}.form-actions{display:flex;gap:10px;margin-top:14px}.manual-payment-form .form-fields{border:0;margin:0;padding:0;min-width:0}.manual-payment-form .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.form-actions .btn-primary:only-child{flex:1;justify-content:center}.manual-payment-form .amount-due{display:grid;gap:2px}.amount-due-label{font-size:13px;font-weight:600}.amount-due-value{font-family:var(--font-display);font-size:1.6rem;font-weight:600}.skeleton{display:contents}.skeleton-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton-bone{display:block;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-2) 35%,var(--surface) 50%,var(--surface-2) 65%,var(--surface-2) 100%);background-size:220% 100%;border-radius:6px;position:relative;overflow:hidden;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton-bone{animation:none;background:var(--surface-2)}}.skeleton-bone-fill{width:100%;height:100%;border-radius:inherit}.skeleton-bone-cat{width:56px;height:11px;margin-bottom:8px}.skeleton-bone-title{width:78%;height:19px;margin-bottom:8px}.skeleton-bone-price{width:62%;height:16px}.skeleton-bone-btn{width:140px;height:38px;border-radius:8px}.skeleton-bone-kpi-value{width:48px;height:28px;margin:8px 0 6px}.skeleton-bone-kpi-label{width:80%;height:13px}.skeleton-bone-bar{width:100%;border-radius:6px 6px 0 0;min-height:24px}.skeleton-bone-activity-title{width:70%;height:14px;margin-bottom:6px}.skeleton-bone-activity-detail{width:90%;height:12px}.skeleton-bone-cell{width:72%;height:14px}.skeleton-bone-spec-label{width:50%;height:11px;margin-bottom:6px}.skeleton-bone-spec-value{width:65%;height:14px}.skeleton-bone-form-label{width:40%;height:14px;margin-bottom:8px}.skeleton-bone-form-input{width:100%;height:40px;border-radius:8px}.skeleton-bone-toggle-label{flex:1;height:14px;max-width:280px}.skeleton-bone-switch{width:44px;height:24px;border-radius:999px;flex-shrink:0}.skeleton-bone-plan-title{width:55%;height:16px;margin-bottom:8px}.skeleton-bone-plan-meta{width:85%;height:13px;margin-bottom:12px}.skeleton-bone-schedule-row{width:100%;height:36px;margin-bottom:8px;border-radius:8px}.skeleton-bone-completed-row{width:100%;height:32px;margin-bottom:8px;border-radius:8px}.skeleton-bone-count{width:24px;height:14px}.skeleton-bone-modal-price{width:120px;height:20px;margin:6px 0 14px}.skeleton-bone-plan-box-title{width:45%;height:14px;margin-bottom:10px}.skeleton-bone-plan-box-text{width:100%;height:13px;margin-bottom:6px}.skeleton-bone-plan-box-text-short{width:75%;height:13px}.skeleton-bone-thumb{width:64px;height:64px;border-radius:8px;flex-shrink:0}.skeleton-table-row td{vertical-align:middle}.account-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.text-link{background:none;border:none;color:var(--text);text-decoration:underline;font:inherit;font-weight:600;cursor:pointer}.page-block h2{font-size:22px;margin:28px 0 12px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-ok{background:color-mix(in srgb,var(--ok) 16%,var(--surface));color:var(--ok)}.badge-warn{background:color-mix(in srgb,var(--warn) 16%,var(--surface));color:var(--warn)}.badge-info{background:color-mix(in srgb,var(--info) 16%,var(--surface));color:var(--info)}.badge-amber{background:color-mix(in srgb,var(--amber) 16%,var(--surface));color:var(--amber)}.badge-mute{background:color-mix(in srgb,var(--text-soft) 16%,var(--surface));color:var(--text-soft)}.empty-copy{font-size:14px;color:var(--text-soft)}.account-actions{margin:16px 0 8px}.plan-notice{margin:8px 0 12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.plan-notice p{margin:4px 0 0;color:var(--text-soft);font-size:14px}.notification-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}.notification{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.notification.read{opacity:.75}.notification-body p{margin:4px 0;color:var(--text-soft);font-size:14px}.notification-body p.notification-full{white-space:pre-line}.notification-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.notification-toggle{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin:-8px 0;padding:0;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--accent-hover);cursor:pointer}.notification-toggle:hover{color:var(--text);text-decoration:underline}.notification-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.notification-toggle svg{transition:transform .15s}.notification-toggle[aria-expanded=true] svg{transform:rotate(180deg)}@media(min-width:641px){.notification-toggle{min-height:28px;margin:0}}.notification-time,.table-sub{font-size:12px;color:var(--text-soft)}.badge+.table-sub,.table-sub+.table-sub{margin-top:4px}.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:14px}.field-hint{color:var(--text-soft);font-size:.85rem;margin:6px 0 12px}.spec-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:16px 0 8px}@media(min-width:640px){.spec-grid{grid-template-columns:1fr 1fr}}.schedule-list[hidden]{display:none}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;transition:box-shadow .6s}.plan-card-focused{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.plan-header{display:grid;gap:8px;width:100%;min-height:64px;padding:14px 14px 8px;background:none;border:0;font:inherit;color:var(--text);text-align:left;cursor:pointer}.plan-just-reserved{justify-self:start}.plan-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-header-badges{justify-content:flex-start;flex-wrap:wrap}.plan-header-title{font-family:var(--font-display);font-size:18px}.plan-header-due{font-size:14px}.plan-header-count{font-size:13px;color:var(--text-soft)}.plan-chevron{display:inline-flex;transition:transform .2s}.plan-chevron-open{transform:rotate(180deg)}.plan-progress{padding:0 14px 14px}.progress{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-fill{height:100%;border-radius:999px}.progress-ok{background:var(--ok)}.progress-warn{background:var(--warn)}.plan-body{border-top:1px solid var(--border);padding:14px 14px 18px}.plan-body[hidden]{display:none}.plan-top{margin-bottom:14px}.plan-meta{margin:0;text-align:left;font-size:13px;color:var(--text-soft)}.plan-money{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-money .spec-item span{font-size:12px;text-transform:none;letter-spacing:0}.plan-money .spec-item b{font-size:15px}.plan-money .plan-money-total{color:var(--text)}.plan-as-of{margin:8px 0 0;font-size:12px;color:var(--text-soft)}.plan-schedule-heading{margin:16px 0 8px;font-size:15px;font-weight:600}.plan-row{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:start;padding:12px;border-radius:8px;background:var(--surface-2)}.plan-row-text{display:grid;gap:2px}.plan-row-meta{font-size:12px;color:var(--text-soft)}.plan-row-warn{color:var(--warn)}.plan-row-amount{display:grid;justify-items:end;gap:4px}.plan-row>.plan-row-action{grid-column:1 / -1;justify-content:center;min-height:44px}.plan-row>.plan-row-action-wrap{grid-column:1 / -1;display:flex}.plan-row-action-wrap>.plan-row-action{flex:1;justify-content:center;min-height:44px}.plan-row>.plan-row-meta{grid-column:1 / -1}.plan-notice-info{margin:0;padding:10px 14px;border:none;border-top:1px solid var(--border);border-radius:0;background:color-mix(in srgb,var(--info) 10%,var(--surface));color:var(--info);font-size:13px}.plan-cancel{margin-top:16px;color:var(--warn)}.notification:not(:has(.notification-icon)){grid-template-columns:1fr auto}.form-row select,.form-row input,.form-row textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:14px;background:var(--surface);color:var(--text)}.form-row textarea{min-height:112px;font-size:16px;resize:vertical}.form-row [aria-invalid=true]{border-color:var(--warn)}.schedule-list{display:flex;flex-direction:column;gap:8px}.schedule-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface-2);border-radius:8px;font-size:13.5px;gap:10px;flex-wrap:wrap}.schedule-note{flex-basis:100%;font-size:12px;color:var(--text-soft)}.schedule-due{color:var(--text-soft)}.schedule-row input[type=date]{border:1.5px solid var(--border);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px;background:var(--surface);color:var(--text)}.pay-method-list{display:flex;flex-direction:column;gap:10px}.pay-method{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface);cursor:pointer}.pay-method input{margin:0}.pay-method span{font-size:14px;font-weight:600}.pay-method.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.confirm-box{text-align:center;padding:20px 0}.confirm-icon{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--ok) 18%,var(--surface));color:var(--ok);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.confirm-box h3{font-size:20px;margin-bottom:8px}.confirm-box p{font-size:14px;color:var(--text-soft)}.checkout-done{width:100%;justify-content:center}.payment-highlight{background:var(--surface-2);border:1.5px solid var(--accent);border-radius:var(--radius);padding:16px;margin-bottom:20px}.payment-highlight .spec-grid{margin:12px 0}.payment-highlight-amount{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.payment-highlight-amount strong{font-size:1.75rem;color:var(--text)}.order-details{color:var(--text-soft);margin-bottom:20px}.order-details h4,.payment-highlight h4{font-size:14px;margin-bottom:8px}.review-panel{margin-top:20px;padding:16px 12px 12px;border-top:1px solid var(--border);background:var(--surface-2);scroll-margin-bottom:16px}.review-panel h4{font-size:14px;margin-bottom:4px}.review-actions{display:flex;justify-content:flex-end;gap:10px;width:100%}@media(max-width:519px){.review-actions{flex-direction:column-reverse}.review-actions .btn{width:100%}}.modal-media{height:200px;border-radius:10px;background:linear-gradient(135deg,var(--surface-2),var(--border));display:flex;align-items:center;justify-content:center;margin-bottom:18px;overflow:hidden}.modal-media img{width:100%;height:100%;object-fit:cover}.proof-preview{max-height:min(70vh,520px);overflow:auto;border-radius:var(--radius);background:var(--surface-2);display:flex;align-items:center;justify-content:center}.proof-preview img{max-width:100%;height:auto;object-fit:contain;display:block}.spec-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:16px 0 20px}@media(min-width:520px){.spec-grid{grid-template-columns:1fr 1fr}}.spec-item{background:var(--surface-2);border-radius:8px;padding:10px 12px}.spec-item>span:first-child{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-soft)}.spec-item b{font-size:14px}.plan-box{background:var(--surface-2);border-radius:10px;padding:16px;margin-bottom:18px}.plan-box h4{font-size:14px;margin-bottom:10px}.plan-box p{font-size:13px;color:var(--text-soft)}.piece-detail-price{font-size:20px;margin:6px 0 14px;font-weight:700}.gallery-grid{display:grid;grid-template-columns:1fr;gap:24px}.gallery-more{text-align:center;margin-top:28px}.gallery-more a{color:var(--text);text-decoration:underline;font-weight:600}.pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:28px}.piece-media img{width:100%;height:100%;object-fit:cover}.piece-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.piece-media{height:190px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface-2),var(--border));cursor:pointer}.piece-body{padding:18px}.piece-cat{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-soft);font-weight:700}.piece-body h3{font-size:19px;margin:6px 0 4px;cursor:pointer}.piece-price{font-weight:700;color:var(--text);margin-bottom:12px}.piece-price small{font-weight:500;color:var(--text-soft);font-size:12px}@media(min-width:680px){.gallery-grid{grid-template-columns:1fr 1fr}}@media(min-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.section{padding:70px 24px}.section-head{text-align:center;max-width:600px;margin:0 auto 42px}.section-head .eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--text-soft);font-weight:700;margin-bottom:10px}.section-head h2{font-size:32px}.section-head p{color:var(--text-soft);margin-top:10px;font-size:15px}.container{max-width:1180px;margin:0 auto}.hero{position:relative;display:flex;min-height:100vh;min-height:calc(100svh - var(--hero-header, 57px));overflow:hidden;background:#14110f;color:#f4ecdd}.hero-slideshow{position:absolute;top:0;right:0;bottom:0;left:0}.hero-slideshow>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.5s ease,transform 8.5s linear;will-change:opacity,transform}.hero-slideshow>img.is-active{opacity:1;transform:scale(1.12)}.hero-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#14110f40,#14110f8c,#14110fe0)}.hero-copy{position:relative;z-index:1;margin-top:auto;width:100%;max-width:44rem;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:32px max(20px,env(safe-area-inset-left)) max(32px,env(safe-area-inset-bottom))}.hero .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#e7d3a8e6;font-weight:700;margin-bottom:12px}.hero h1{color:#fff8ec;font-size:clamp(28px,8.5vw,64px);line-height:1.1;margin-bottom:14px;text-shadow:0 2px 18px rgba(0,0,0,.35)}.hero p{max-width:40ch;margin:0 0 22px;color:#f4ecdddb;font-size:clamp(14px,1.4vw,17px);line-height:1.5}.hero-stats{display:flex;flex-wrap:wrap;gap:8px 20px;margin:22px 0 0;padding:16px 0 0;border-top:1px solid rgba(231,211,168,.3);list-style:none}.hero-stats li{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#e7d3a8cc}@media(min-width:800px){.hero-veil{background:linear-gradient(155deg,#14110f47,#14110f8c 55%,#14110fd1)}.hero-copy{padding:48px clamp(24px,5vw,72px) clamp(40px,7vh,80px)}}@media(prefers-reduced-motion:reduce){.hero-slideshow>img{transition:none;transform:none}.hero-slideshow>img.is-active{transform:none}}.hero a.btn.btn-primary{background:#e7d3a8;border-color:#e7d3a8;color:#14110f}.hero a.btn.btn-primary:hover,.hero a.btn.btn-primary:focus-visible{background:#f4e6c4;border-color:#f4e6c4;color:#14110f}.how-section{background:var(--surface-2)}.steps{display:grid;grid-template-columns:1fr;gap:24px}.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px}.step-num{width:36px;height:36px;border-radius:50%;background:var(--primary);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:14px}.step h3{font-size:18px;margin-bottom:6px}.step p{font-size:14px;color:var(--text-soft)}@media(min-width:680px){.steps{grid-template-columns:1fr 1fr}}@media(min-width:900px){.steps{grid-template-columns:repeat(3,1fr)}}.testi-grid{display:grid;grid-template-columns:1fr;gap:20px}.testi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.testi p{font-size:14px;color:var(--text-soft);margin-bottom:14px}.testi-who{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text);font-size:13px}.testi-who b{display:block;font-size:13px}.testi-who span{font-size:12px;color:var(--text-soft)}@media(min-width:680px){.testi-grid{grid-template-columns:1fr 1fr}}@media(min-width:900px){.testi-grid{grid-template-columns:repeat(3,1fr)}}.zoomable{position:relative;width:100%;min-height:inherit;display:flex;align-items:center;justify-content:center}.zoom-trigger{position:absolute;top:0;right:0;bottom:0;left:0;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;cursor:zoom-in}.zoom-chip{position:absolute;right:10px;bottom:10px;min-height:32px;display:inline-flex;align-items:center;padding:0 12px;border-radius:16px;background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600}.zoom-body{display:flex;justify-content:center;overflow:auto;touch-action:pinch-zoom pan-x pan-y}.zoom-body img{max-width:100%;max-height:80vh;object-fit:contain}.piece-page{padding:24px 16px 64px;max-width:1100px;margin:0 auto}.back-link{display:inline-block;margin-bottom:16px;color:var(--text);text-decoration:underline;font-weight:600;font-size:14px}.piece-layout{display:grid;gap:24px}.carousel-main{min-height:280px;border-radius:12px;background:linear-gradient(135deg,var(--surface-2),var(--border));display:flex;align-items:center;justify-content:center;overflow:hidden}.carousel-main img,.piece-media img,.thumb img{width:100%;height:100%;object-fit:cover}.carousel-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}.thumb{width:64px;height:64px;padding:0;border:2px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center}.thumb.active{border-color:var(--accent)}.piece-sku{color:var(--text-soft);font-size:13px;margin:4px 0 8px}.page-lead{color:var(--text-soft);margin:0 0 16px}@media(min-width:800px){.piece-layout{grid-template-columns:1fr 1fr;align-items:start}.carousel-main{min-height:420px}}.page-block{padding:32px 20px 64px;max-width:720px;margin:0 auto}.page-lead{color:var(--text-soft);margin:8px 0 24px}.form-row{margin-bottom:14px}.form-row label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-row input{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:16px;background:var(--surface);color:var(--text)}.auth-form .btn{margin-top:8px;justify-content:center}.auth-switch{margin-top:20px;font-size:14px}.auth-switch a,.auth-agreement a{color:var(--text);text-decoration:underline;font-weight:600}.auth-agreement{margin:4px 0 12px;font-size:13px;color:var(--text-soft)}.auth-agreement a{text-decoration:underline}.auth-notice{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok);font-size:14px}.field-error{color:var(--warn);font-size:.9rem;margin:4px 0 0}.wide-page{max-width:1100px}@media(min-width:720px){.page-block{padding:48px 24px 80px}}.auth-agree-check{display:flex;align-items:flex-start;gap:8px;line-height:1.45;cursor:pointer}.auth-agree-check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--text)}.legal-notice{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--amber) 14%,var(--surface));color:var(--text);border-left:4px solid var(--amber);font-size:14px}.legal-contents{font-size:14px;color:var(--text-soft)}.legal-contents a{display:block;padding:12px 0;color:var(--text);text-decoration:underline}.legal-page section p,.legal-page section li{font-size:16px;line-height:1.7;color:var(--text)}.legal-page section p{margin-bottom:14px}.legal-page h2{font-size:22px;margin:32px 0 10px;scroll-margin-top:88px}.legal-page ul,.legal-page ol{padding-left:22px;margin-bottom:14px}.legal-page li{margin:6px 0}.legal-page section a{color:var(--text);text-decoration:underline}.qr-preview{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.qr-preview img{width:120px;height:120px;object-fit:cover;border:1px solid var(--border);border-radius:8px}.qr-preview .text-link{min-height:44px;padding:0}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.list-toolbar p{margin:0}.panel td .btn-sm{min-height:44px}.num-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.qr-thumb{display:inline-block;width:40px;height:40px}.qr-thumb img{width:100%;height:100%;object-fit:cover;border:1px solid var(--border);border-radius:4px}.muted{color:var(--text-soft)}.row-actions{display:flex;gap:8px}@media(max-width:639px){.list-toolbar .toolbar-action{width:100%;justify-content:center}}.list-toolbar-end{justify-content:flex-end}.tabs{display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;border-bottom:1px solid var(--border)}.tab{min-height:44px;padding:0 18px;background:none;border:0;border-bottom:3px solid transparent;color:var(--text-soft);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:600px){.history-table thead{display:none}.history-table table,.history-table tbody,.history-table tr,.history-table td{display:block}.history-table tr{margin-bottom:12px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.history-table td{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:0;text-align:right}.history-table td:before{content:attr(data-label);color:var(--text-soft);font-weight:600;text-align:left}.history-table td.table-empty{display:block;text-align:center}.history-table td.table-empty:before{content:none}}.report-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.report-filters{display:flex;flex-direction:column;gap:12px}.report-filters .form-row{margin-bottom:0}.report-filters-actions{display:flex;align-items:center;gap:12px}.report-export{justify-content:center;min-height:44px}.cell-right{display:block;text-align:right}.report-pager{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}@media(min-width:640px){.report-toolbar{flex-direction:row;justify-content:space-between;align-items:flex-end}.report-filters{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.report-export{flex-shrink:0}}.report-filters-actions .text-link{min-height:44px}.customer-contact{display:block;margin-top:2px;overflow-wrap:anywhere}.stat-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}@media(min-width:720px){.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--surface-2);border-radius:var(--radius)}.stat-tile-emphasis{border-left:4px solid var(--accent)}.stat-tile-small{padding:8px 12px}.stat-tile-small .stat-value{font-size:16px}.stat-tiles:has(+.stat-tiles){margin-bottom:12px}@media(min-width:720px){.stat-tiles-secondary{grid-template-columns:repeat(3,1fr)}}.stat-label{color:var(--text-soft);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px}.stat-line{color:var(--text-soft);font-size:13px}.stat-line b{color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center}.nav{display:flex;gap:1.25rem}.nav a{color:var(--text);text-decoration:none}.nav a.active{color:var(--primary);font-weight:600}.tagline{margin:0;font-size:1.125rem;color:var(--text-soft)}.hint{margin:.5rem 0 0;font-size:.875rem;color:var(--text-soft)}:root{--primary: #2c2c2c;--primary-dark: #1a1a1a;--accent: #a3804d;--accent-hover: #8a6b3e;--on-accent: #fff;--bg: #ede6e0;--surface: #f7f3f0;--surface-2: #e3dad2;--text: #2c2c2c;--text-soft: #5e5750;--border: #d4c9bf;--ok: #2e7d4f;--warn: #b23a3a;--info: #2f5f8f;--amber: #a86a12;--radius: 10px;--shadow: 0 4px 18px rgba(44, 44, 44, .08);--font-display: "Cormorant Garamond", serif;--font-body: Inter, system-ui, sans-serif;--nav-bg: color-mix(in srgb, var(--bg) 92%, transparent);--footer-text: #ede6e0;--footer-muted: #bdb4ab;--footer-faint: #8f867d;--footer-line: #444444}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-body);line-height:1.5;color:var(--text);background:var(--bg)}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;color:var(--text)}h1{font-size:2rem}.form-row:has(:required) label:after{content:" *" / "";color:var(--warn)}.form-note{margin:0 0 12px;font-size:13px;color:var(--text-soft)}
