/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}.demo-notice{color:#dff7ee;background:#173f35;justify-content:center;align-items:center;gap:12px;padding:9px 20px;font-size:12px;display:flex}.demo-notice b{color:#f4d18b;letter-spacing:.12em;font-size:10px}.demo-notice span{opacity:.86}@media (width<=640px){.demo-notice{flex-direction:column;align-items:flex-start;gap:2px;padding:9px 14px;font-size:10px}}:root{--ink:#312824;--muted:#7f716b;--faint:#a99b95;--canvas:#f7f4f0;--panel:#fffdfb;--line:#eae2dc;--coral:#d87968;--coral-dark:#b85c4d;--coral-soft:#f7e7e2;--rose:#c48784;--sage:#789b8b;--amber:#c59b58;--shadow:0 14px 36px #533c3214}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);font-family:var(--font-noto), "PingFang TC", sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d8796840}.app-shell{min-height:100vh}.sidebar{z-index:30;border-right:1px solid var(--line);background:#fffdfa;flex-direction:column;width:252px;padding:30px 20px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 10px 30px;display:flex}.brand-mark,.member-brand>span{background:var(--ink);color:#fff;border-radius:14px;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:22px;display:grid}.brand strong{letter-spacing:.12em;font-family:Georgia,Noto Serif TC,serif;font-size:20px;display:block}.brand span{color:var(--faint);letter-spacing:.15em;margin-top:2px;font-size:9px;display:block}.sidebar nav{flex:1}.nav-label{color:var(--faint);letter-spacing:.14em;margin:0 12px 9px;font-size:11px;font-weight:700}.sidebar nav button{color:#756761;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;margin:3px 0;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.sidebar nav button:hover{color:var(--ink);background:#faf4f0}.sidebar nav button.active{background:var(--coral-soft);color:var(--coral-dark)}.member-preview{text-align:left;background:#faf8f5;border:1px solid #e5ded8;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:16px;padding:13px;display:grid}.line-dot{color:#fff;letter-spacing:.04em;background:#18b66a;border-radius:8px;place-items:center;width:38px;height:28px;font-size:8px;font-weight:900;display:grid}.member-preview strong,.operator strong{font-size:12px;display:block}.member-preview small,.operator small{color:var(--faint);font-size:10px}.operator{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:18px 4px 0;display:grid}.avatar{width:36px;height:36px;color:var(--coral-dark);background:#f2e2dc;border-radius:12px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.avatar.large{border-radius:16px;width:48px;height:48px;font-size:17px}.avatar.xlarge{border-radius:22px;width:68px;height:68px;font-size:24px}.admin-main{min-height:100vh;margin-left:252px}.admin-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#f7f4f0ed;justify-content:space-between;align-items:center;height:100px;padding:22px 36px;display:flex;position:sticky;top:0}.admin-header p{color:var(--muted);margin:0 0 4px;font-size:12px}.admin-header h1{letter-spacing:.03em;margin:0;font-family:Georgia,Noto Serif TC,serif;font-size:24px;font-weight:600}.header-actions{align-items:center;gap:12px;display:flex}.notification-button,.icon-button{border:1px solid var(--line);background:#fff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid;position:relative}.notification-button span{background:var(--coral);color:#fff;border:2px solid var(--canvas);border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;display:grid;position:absolute;top:-4px;right:-3px}.notification-panel{z-index:45;border:1px solid var(--line);background:#fff;border-radius:18px;width:min(390px,100vw - 30px);max-height:min(640px,100vh - 110px);position:fixed;top:86px;right:34px;overflow:auto;box-shadow:0 20px 60px #3128242e}.notification-panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.notification-panel-header strong,.notification-panel-header small{display:block}.notification-panel-header small{color:var(--muted);margin-top:3px;font-size:11px}.notification-read-all{background:var(--coral-soft);color:var(--coral-dark);border:0;border-radius:10px;align-items:center;gap:6px;margin:10px 12px 0;padding:9px 12px;font-weight:700;display:flex}.notification-items{padding:8px 12px 14px}.notification-items>button{text-align:left;width:100%;color:var(--ink);background:#fff9f7;border:0;border-bottom:1px solid #f0eae6;gap:10px;padding:13px 8px;display:flex}.notification-items>button.is-read{opacity:.65;background:#fff}.notification-items span,.notification-items strong,.notification-items small{display:block}.notification-items small{color:var(--muted);margin-top:3px;line-height:1.45}.primary-button{background:var(--ink);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #31282424}.primary-button:hover{background:#4a3d37}.primary-button:disabled{opacity:.55;cursor:wait}.mobile-menu{display:none}.page-content{max-width:1500px;margin:0 auto;padding:28px 36px 50px}.welcome-strip{background:linear-gradient(112deg,#f3ddd5 0%,#f8e9e3 52%,#f6eee9 100%);border-radius:22px;justify-content:space-between;align-items:center;min-height:156px;padding:27px 32px;display:flex;position:relative;overflow:hidden}.welcome-strip:before{content:"";border:1px solid #b85c4d2e;border-radius:50%;width:180px;height:180px;position:absolute;top:-87px;right:88px}.welcome-strip:after{content:"";border:1px solid #b85c4d21;border-radius:50%;width:100px;height:100px;position:absolute;bottom:-50px;right:30px}.eyebrow{color:var(--coral-dark);letter-spacing:.06em;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.welcome-strip h2{margin:8px 0 5px;font-family:Georgia,Noto Serif TC,serif;font-size:27px;font-weight:500}.welcome-strip p{color:#806e67;margin:0;font-size:13px}.welcome-decoration{color:var(--coral);margin-right:66px;position:relative}.welcome-decoration span{background:#ffffff80;border-radius:50% 50% 45% 55%;width:60px;height:60px;display:block;transform:rotate(22deg)}.welcome-decoration svg{position:absolute;inset:17px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0;display:grid}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:17px;align-items:center;gap:14px;padding:18px;display:flex}.metric-icon{border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.metric-card.coral .metric-icon{color:var(--coral-dark);background:var(--coral-soft)}.metric-card.amber .metric-icon{color:#9e762f;background:#f7edd8}.metric-card.sage .metric-icon{color:#527b68;background:#e4efe9}.metric-card.rose .metric-icon{color:#97615f;background:#f2e4e4}.metric-card span{color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.metric-card strong{font-family:Georgia,serif;font-size:22px;font-weight:600}.metric-card strong small{font-family:var(--font-noto);color:var(--muted);font-size:11px;font-weight:500}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 18px #412d2506}.panel-header{justify-content:space-between;align-items:center;padding:21px 23px 16px;display:flex}.panel-header h3{margin:0;font-size:15px}.panel-header p{color:var(--muted);margin:4px 0 0;font-size:11px}.panel-header>button{color:var(--coral-dark);background:0 0;border:0;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.appointment-list{padding:0 14px 14px}.appointment-row{border-top:1px solid #f0eae6;grid-template-columns:52px 10px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:82px;padding:12px 10px;display:grid;position:relative}.appointment-row time{text-align:center;font-family:Georgia,serif;font-size:16px}.timeline-dot{background:var(--coral);width:8px;height:8px;box-shadow:0 0 0 5px var(--coral-soft);border-radius:50%}.status-completed .timeline-dot{background:var(--sage);box-shadow:0 0 0 5px #e4efe9}.appointment-info{grid-template-columns:minmax(110px,.8fr) minmax(160px,1.25fr);align-items:center;gap:12px;display:grid}.appointment-info strong,.service-name>span{font-size:13px;font-weight:700;display:block}.appointment-info span,.service-name small{color:var(--muted);font-size:10px}.service-name small{align-items:center;gap:4px;margin-top:3px;display:flex}.status-pill{color:var(--coral-dark);white-space:nowrap;background:#f9e9e3;border-radius:16px;padding:5px 9px;font-size:10px;font-weight:700}.status-completed .status-pill{color:#557969;background:#e6efe9}.redeem-button{color:var(--coral-dark);white-space:nowrap;background:#fff;border:1px solid #ead7d0;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:700}.appointment-actions{align-items:center;gap:6px;display:flex}.edit-button{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:#fff;border-radius:10px;place-items:center;display:grid}.completed-mark{width:32px;height:32px;color:var(--sage);background:#e5efe9;border-radius:50%;place-items:center;display:grid}.member-quick-panel{padding-bottom:16px}.select-label{color:var(--muted);padding:0 22px 15px;font-size:10px;display:block}.select-label select,.field select,.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;margin-top:6px;padding:11px 12px;font-size:13px}.field textarea{resize:vertical;min-height:78px}.member-summary{grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin:0 22px 13px;display:grid}.member-summary strong{font-size:14px;display:block}.member-summary div span{color:var(--muted);font-size:10px}.line-bound,.line-unbound{color:#41825f;white-space:nowrap;background:#e3f3e9;border-radius:12px;padding:4px 8px;font-size:9px;font-weight:700}.line-unbound{color:var(--muted);background:#f2eeea}.balance-pair,.profile-balances{grid-template-columns:1fr 1fr;gap:9px;margin:0 22px 16px;display:grid}.balance-mini{border:1px solid #0000;border-radius:14px;padding:13px}.balance-mini.primary{background:#f7e9e4;border-color:#f1ddd6}.balance-mini.secondary{background:#f1ece8;border-color:#e9e1db}.balance-mini span{color:var(--muted);font-size:9px}.balance-mini strong{margin-top:3px;font-family:Georgia,serif;font-size:18px;display:block}.course-mini-list{padding:0 22px 15px}.subsection-title{justify-content:space-between;margin-bottom:6px;display:flex}.subsection-title span{font-size:11px;font-weight:700}.subsection-title small{color:var(--muted)}.course-mini{border-bottom:1px solid #f0eae6;justify-content:space-between;align-items:center;padding:11px 0;display:flex}.course-mini strong{font-size:11px;display:block}.course-mini span{color:var(--muted);font-size:9px}.course-mini b{color:var(--coral-dark);font-family:Georgia,serif;font-size:15px}.muted-copy{color:var(--muted);font-size:11px}.quick-actions{grid-template-columns:1fr 1fr;gap:9px;padding:0 22px;display:grid}.quick-actions button,.profile-actions button{border:1px solid var(--line);background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:11px;font-weight:700;display:flex}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.calendar-toolbar>div{align-items:center;gap:7px;display:flex}.date-jump{border:1px solid var(--line);background:#fff;border-radius:11px;height:42px;padding:0 16px;font-size:12px}.view-switch{background:#eee8e3;border-radius:12px;padding:4px}.view-switch button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:8px 14px;font-size:11px}.view-switch button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #31282414}.calendar-panel{padding-bottom:18px}.calendar-summary{border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 24px;display:flex}.calendar-summary span{color:var(--muted);font-size:10px}.calendar-summary strong{margin-top:2px;font-size:18px;display:block}.legend{align-items:center;gap:16px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot.coral{background:var(--coral)}.dot.sage{background:var(--sage)}.date-group{padding:14px 18px 0}.date-group h3{color:var(--muted);margin:0 0 5px 10px;font-size:11px}.date-group .appointment-row{border:1px solid var(--line);background:#fff;border-radius:14px;margin:7px 0}.member-page-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.member-list-panel{position:sticky;top:120px}.search-field{border:1px solid var(--line);color:var(--faint);background:#faf8f6;border-radius:11px;align-items:center;gap:8px;margin:0 20px 13px;padding:0 11px;display:flex}.search-field input{width:100%;height:40px;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.member-list{max-height:calc(100vh - 270px);padding:0 9px 12px;overflow:auto}.member-list button{text-align:left;background:0 0;border:0;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.member-list button.active{background:#f8ece7}.member-list strong{font-size:12px;display:block}.member-list small{color:var(--muted);font-size:10px}.member-detail{gap:16px;min-width:0;display:grid}.member-detail>.panel{min-width:0;overflow:hidden}.profile-card{padding:23px}.profile-top{align-items:center;gap:15px;display:flex}.profile-top h2{margin:0;font-family:Georgia,serif;font-size:21px}.profile-top p{color:var(--muted);margin:2px 0 7px;font-size:11px}.member-note{color:var(--muted);background:#f8f4f1;border-radius:10px;margin:16px 0;padding:10px 12px;font-size:10px}.profile-balances{margin:18px 0 12px}.profile-actions{gap:9px;display:flex}.course-card-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 20px 20px;display:grid}.course-card{border:1px solid var(--line);background:linear-gradient(135deg,#fffdfa,#faf4f0);border-radius:15px;padding:15px}.course-card-top{justify-content:space-between;align-items:center;display:flex}.course-card-top>span{background:var(--coral-soft);width:32px;height:32px;color:var(--coral-dark);border-radius:10px;place-items:center;display:grid}.course-card-top small{color:var(--muted);font-size:9px}.course-card h3{margin:12px 0 5px;font-size:12px}.course-count strong{font-family:Georgia,serif;font-size:25px}.course-count span{color:var(--muted);font-size:10px}.course-progress{background:#eee5df;border-radius:3px;height:4px;margin-top:12px;overflow:hidden}.course-progress i{background:var(--coral);border-radius:3px;height:100%;display:block}.ledger-list{padding:0 20px 18px}.ledger-list article{border-top:1px solid #f0eae6;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px 0;display:grid}.ledger-list.detailed article{grid-template-columns:auto minmax(120px,.7fr) minmax(170px,1.2fr) minmax(90px,.5fr) auto}.ledger-icon,.member-ledger>div>span{border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.ledger-icon.wallet,.member-ledger>div>span.wallet{background:var(--coral-soft);color:var(--coral-dark)}.ledger-icon.course,.member-ledger>div>span.course{color:#587c6b;background:#e5efe9}.ledger-description strong,.ledger-member strong{font-size:11px;display:block}.ledger-description small,.ledger-member small{color:var(--muted);font-size:9px}.ledger-list b{font-family:Georgia,serif;font-size:13px}.positive{color:var(--sage)!important}.negative{color:var(--ink)}.ledger-operator{color:var(--muted);font-size:9px}.ledger-panel{padding-bottom:10px}.ledger-heading{justify-content:space-between;align-items:center;padding:24px;display:flex}.ledger-heading h2{margin:0;font-size:18px}.ledger-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.audit-badge{color:#527b68;background:#e6efe9;border-radius:14px;align-items:center;gap:5px;padding:6px 10px;font-size:10px;font-weight:700;display:flex}.ledger-filter-row{grid-template-columns:minmax(180px,1fr) 150px 150px;gap:10px;padding:0 24px 16px;display:grid}.ledger-filter-row .search-field{margin:0}.ledger-filter-row select{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:11px;padding:0 10px;font-size:11px}.settings-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);align-items:start;gap:18px;display:grid}.service-table{padding:0 12px 14px}.service-table button{text-align:left;background:0 0;border:0;border-top:1px solid #f0eae6;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;width:100%;padding:14px 10px;display:grid}.service-icon{background:var(--coral-soft);width:36px;height:36px;color:var(--coral-dark);border-radius:11px;place-items:center;display:grid}.service-thumbnail{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:52px;height:42px}.service-table strong{font-size:12px;display:block}.service-table small{color:var(--muted);font-size:9px}.service-table b{font-family:Georgia,serif;font-size:14px}.service-table i{color:var(--muted);background:#f0ece9;border-radius:12px;padding:4px 8px;font-size:9px;font-style:normal}.service-table i.active{color:#527b68;background:#e5efe9}.setting-card{padding:22px}.setting-icon{color:#41825f;background:#e3f3e9;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.setting-card h3{margin:14px 0 4px;font-size:15px}.setting-card>p{color:var(--muted);margin:0 0 17px;font-size:10px;line-height:1.7}.setting-row{border-top:1px solid var(--line);justify-content:space-between;padding:12px 0;font-size:11px;display:flex}.toggle{background:#ddd5d0;border-radius:10px;width:34px;height:20px;padding:2px}.toggle i{background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;display:block}.toggle.checked{background:var(--coral)}.toggle.checked i{transform:translate(14px)}.connection-note{background:#f7f5f2;border-radius:13px;align-items:center;gap:10px;margin-top:17px;padding:12px;display:flex}.connection-note strong{font-size:10px;display:block}.connection-note small{color:var(--muted);font-size:8px}.empty-state{text-align:center;color:var(--muted);padding:35px 20px}.empty-state>span{width:44px;height:44px;color:var(--coral-dark);background:#f3ece8;border-radius:14px;place-items:center;margin:0 auto 9px;display:grid}.empty-state strong{color:var(--ink);font-size:12px;display:block}.empty-state p{margin:4px 0;font-size:10px}.mobile-admin-nav{display:none}.member-mode{background:#fbf8f4;min-height:100vh}.member-portal{background:#fffdfa;max-width:520px;min-height:100vh;margin:0 auto;padding-bottom:86px;box-shadow:0 0 50px #44312914}.member-header{background:#fffdfa;justify-content:space-between;align-items:center;height:74px;padding:0 20px;display:flex}.member-brand{align-items:center;gap:9px;display:flex}.member-brand>span{border-radius:11px;width:34px;height:34px;font-size:17px}.member-brand strong{letter-spacing:.12em;font-family:Georgia,serif;font-size:14px;display:block}.member-brand small{color:var(--faint);font-size:8px;display:block}.back-to-admin{z-index:5;border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:5px;padding:9px 12px;font-size:10px;display:flex;position:fixed;top:20px;left:20px}.member-header .back-to-admin+.member-brand{margin:0 auto}.member-hero{background:linear-gradient(133deg,#f1d8cf,#f7ebe5);min-height:190px;padding:31px 25px;position:relative;overflow:hidden}.member-hero:after{content:"";border:1px solid #b85c4d26;border-radius:50%;width:180px;height:180px;position:absolute;top:-75px;right:-65px}.member-kicker,.member-section-heading span{color:var(--coral-dark);letter-spacing:.18em;font-family:Georgia,serif;font-size:9px}.member-hero h1{max-width:340px;margin:10px 0 7px;font-family:Georgia,Noto Serif TC,serif;font-size:24px;font-weight:500;line-height:1.35}.member-hero p{color:#806e67;margin:0;font-size:11px}.hero-orbit{width:45px;height:45px;color:var(--coral);background:#ffffff85;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:25px;right:28px}.member-content{padding:0 20px 35px}.upcoming-card{z-index:2;border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdfa;border-radius:18px;margin-top:-23px;padding:18px;position:relative}.upcoming-label{color:var(--coral-dark);align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.upcoming-main{align-items:center;gap:13px;padding:14px 0;display:flex}.date-tile{background:var(--coral-soft);width:52px;height:58px;color:var(--coral-dark);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;display:flex}.date-tile strong{font-family:Georgia,serif;font-size:22px;line-height:1}.date-tile span{margin-top:3px;font-size:9px}.upcoming-main h2{margin:0;font-size:14px}.upcoming-main p{color:var(--muted);margin:4px 0 0;font-size:10px}.upcoming-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.upcoming-actions button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;padding:8px;font-size:10px}.upcoming-card.empty{padding:22px}.upcoming-card.empty h2{margin:0;font-size:14px}.upcoming-card.empty p{color:var(--muted);font-size:10px}.member-book-button{background:var(--ink);color:#fff;border:0;border-radius:14px;align-items:center;gap:9px;width:100%;margin:14px 0 25px;padding:14px 16px;font-size:12px;font-weight:700;display:flex}.member-book-button svg:last-child{margin-left:auto}.member-section-heading{justify-content:space-between;align-items:end;margin:24px 0 11px;display:flex}.member-section-heading h2{margin:2px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:19px;font-weight:500}.member-section-heading button{color:var(--muted);background:0 0;border:0;font-size:9px}.wallet-card-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wallet-card{border-radius:17px;min-height:128px;padding:16px;position:relative;overflow:hidden}.wallet-card:after{content:"";background:#ffffff47;border-radius:50%;width:70px;height:70px;position:absolute;bottom:-28px;right:-26px}.wallet-card.cash{color:#fff;background:#d98170}.wallet-card.gift{color:var(--ink);background:#efe6e0}.wallet-card>div{align-items:center;gap:6px;font-size:10px;display:flex}.wallet-card strong{margin-top:17px;font-family:Georgia,serif;font-size:20px;display:block}.wallet-card small{opacity:.74;margin-top:4px;font-size:8px;display:block}.member-course-list{gap:10px;display:grid}.course-card.member{background:#fff;padding:17px}.member-ledger{border:1px solid var(--line);background:#fff;border-radius:16px;padding:3px 14px}.member-ledger>div{border-bottom:1px solid #f0eae6;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:61px;display:grid}.member-ledger>div:last-child{border-bottom:0}.member-ledger strong{font-size:10px;display:block}.member-ledger small{color:var(--muted);font-size:8px}.member-ledger b{font-family:Georgia,serif;font-size:11px}.member-bottom-nav{z-index:10;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdfaf5;grid-template-columns:repeat(4,1fr);width:min(520px,100%);height:70px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.member-bottom-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;display:flex}.member-bottom-nav button.active{color:var(--coral-dark)}.modal-layer{z-index:80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;background:#2a211d6b;border:0;width:100%;height:100%;position:absolute;inset:0}.modal-card{background:#fffdfa;border-radius:22px;width:min(570px,100%);max-height:calc(100vh - 40px);padding:27px;position:relative;overflow:auto;box-shadow:0 28px 70px #2d201b40}.modal-close{border:1px solid var(--line);z-index:2;background:#fff;border-radius:11px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:18px;right:18px}.form-heading{align-items:flex-start;gap:13px;margin-bottom:22px;padding-right:36px;display:flex}.form-heading>span{background:var(--coral-soft);width:44px;height:44px;color:var(--coral-dark);border-radius:14px;place-items:center;display:grid}.form-heading small{color:var(--coral-dark);letter-spacing:.16em;font-family:Georgia,serif;font-size:8px}.form-heading h2{margin:1px 0 3px;font-family:Georgia,Noto Serif TC,serif;font-size:22px;font-weight:500}.form-heading p{color:var(--muted);margin:0;font-size:10px}.form-grid{gap:14px;display:grid}.form-grid.two{grid-template-columns:1fr 1fr;gap:11px}.field{color:#695b55;font-size:10px;font-weight:700;display:block}.field input,.field select,.field textarea{font-weight:400}.submit-bar{border-top:1px solid var(--line);justify-content:flex-end;margin-top:20px;padding-top:22px;display:flex}.submit-bar .primary-button{min-width:180px}.service-option-grid{gap:9px;margin-bottom:15px;display:grid}.service-option-grid button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:12px;display:grid;position:relative}.service-option-grid button>span{width:34px;height:34px;color:var(--coral-dark);background:#f4ece8;border-radius:10px;grid-row:span 2;place-items:center;display:grid}.service-option-grid button strong{font-size:11px}.service-option-grid button small{color:var(--muted);grid-column:2;font-size:9px}.service-option-grid button>svg{grid-area:1/3/3}.service-option-grid button.active{color:var(--coral-dark);background:#fdf7f4;border-color:#dfa89d}.form-note,.confirm-warning{color:var(--muted);background:#f4f1ee;border-radius:11px;align-items:center;gap:7px;margin-top:13px;padding:10px 12px;font-size:9px;display:flex}.confirm-warning{color:#527b68;background:#e7efe9}.redeem-summary{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px;display:grid}.redeem-summary div{background:#f7f3f0;border-radius:12px;padding:12px}.redeem-summary span{color:var(--muted);font-size:9px;display:block}.redeem-summary strong{margin-top:3px;font-size:12px;display:block}.method-picker{border:0;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 15px;padding:0;display:grid}.method-picker legend{color:#695b55;width:100%;margin-bottom:8px;font-size:10px;font-weight:700}.method-picker button,.wallet-type-picker button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:12px;display:grid}.method-picker button:disabled{opacity:.45;cursor:not-allowed}.method-picker button.active,.wallet-type-picker button.active{color:var(--coral-dark);background:#fdf4f1;border-color:#dba092}.method-picker strong,.wallet-type-picker strong{font-size:10px;display:block}.method-picker small,.wallet-type-picker small{color:var(--muted);margin-top:2px;font-size:8px;display:block}.wallet-type-picker{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.error-banner{color:#9a4c40;background:#f8e7e4;border:1px solid #edcbc4;border-radius:11px;justify-content:space-between;margin:12px 36px 0;padding:11px 13px;font-size:11px;display:flex;position:relative}.modal-card .error-banner{margin:14px 0 0}.error-banner button{color:inherit;background:0 0;border:0}.toast{z-index:100;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:13px;align-items:center;gap:8px;padding:13px 17px;font-size:11px;animation:.25s toast-in;display:flex;position:fixed;bottom:24px;right:24px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.fatal-state,.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.fatal-state h1,.loading-screen h1{font-family:Georgia,Noto Serif TC,serif;font-weight:500}.fatal-state p,.loading-screen p{color:var(--muted);font-size:12px}.loading-mark{background:var(--coral-soft);width:54px;height:54px;color:var(--coral-dark);border-radius:18px;place-items:center;display:grid}.loading-screen h1{letter-spacing:.18em;margin:13px 0 2px}.loading-bar{background:linear-gradient(90deg,var(--coral) 50%,#e9dfda 50%);background-size:200% 100%;border-radius:3px;width:130px;height:3px;margin-top:18px;animation:1.4s ease-in-out infinite loading}@keyframes loading{0%{background-position:100% 0}to{background-position:-100% 0}}.sidebar-scrim{display:none}.staff-calendar-panel{overflow:hidden}.calendar-date-input{border:1px solid var(--line);width:auto;min-width:148px;color:var(--ink);background:#fff;border-radius:11px;padding:9px 11px}.staff-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.staff-day-column{border:1px solid var(--line);background:#fffdfa;border-radius:15px;min-height:160px;padding:14px}.staff-day-column>header{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:10px;display:flex}.staff-day-column>header strong,.staff-day-column>header small{display:block}.staff-day-column>header small{color:var(--muted);margin-top:2px;font-size:9px}.staff-calendar-item{text-align:left;border-radius:11px;width:100%;margin-top:9px;padding:10px;display:block}button.staff-calendar-item{color:var(--ink);background:#fff4f1;border:1px solid #e6c1b8}.staff-calendar-item.blocked{background:#f2efed;border:1px dashed #c8bdb7}.staff-calendar-item strong,.staff-calendar-item span{display:block}.staff-calendar-item strong{font-size:10px}.staff-calendar-item span{color:var(--muted);margin-top:3px;font-size:9px}.closed-day,.available-day{text-align:center;border-radius:10px;margin:20px 0 0;padding:13px;font-size:10px}.closed-day{color:var(--muted);background:#f1eeec}.available-day{color:#527b68;background:#eef6f1}.availability-settings-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.availability-settings-grid.full-width{grid-template-columns:1fr}.calendar-toolbar>div:first-child{flex-direction:column;gap:3px;display:flex}.calendar-toolbar>div:first-child strong{font-size:16px}.calendar-toolbar>div:first-child span{color:var(--muted);font-size:11px}.schedule-editor-panel .time-range-picker{grid-template-columns:repeat(7,1fr)}.compact-setting-form{padding:18px}.compact-setting-form .panel-heading{padding:0 0 15px}.compact-setting-form .primary-button{justify-content:center;width:100%;margin-top:14px}.time-range-picker{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px;display:grid}.time-range-picker button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:8px 3px;font-size:11px}.time-range-picker button.selected{border-color:var(--coral);background:var(--coral-soft);color:var(--coral-dark);font-weight:800}.time-range-picker button:disabled{opacity:.4}.time-range-picker small{color:var(--muted);grid-column:1/-1;margin-top:3px}.time-slot-tools{flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;display:flex}.time-slot-tools span{color:var(--muted);margin-right:auto;font-size:11px}.time-slot-tools button{border:1px solid var(--line);color:var(--coral-dark);background:#fff;border-radius:8px;padding:6px 8px;font-size:10px}.form-grid.two-column{grid-template-columns:1fr 1fr;gap:10px}.check-row{color:var(--muted);align-items:center;gap:8px;margin-top:12px;font-size:10px;display:flex}.blocked-time-list{border-top:1px solid var(--line);margin-top:12px}.blocked-time-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:9px 0;display:flex}.blocked-time-list strong,.blocked-time-list small{display:block}.blocked-time-list small{color:var(--muted);margin-top:2px;font-size:8px}.blocked-time-list button{color:var(--coral-dark);background:0 0;border:0;font-size:9px}.member-appointment-history{min-width:0;padding:0 20px 18px}.member-appointment-history article{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px 0;display:grid}.member-appointment-history article:last-child{border-bottom:0}.member-appointment-copy{overflow-wrap:anywhere;min-width:0}.member-redemption-preference{font-weight:700;color:var(--coral-dark)!important}.member-appointment-history strong,.member-appointment-history small{display:block}.member-appointment-history small{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.45}.member-appointment-action{white-space:nowrap;align-items:center;gap:7px;display:flex}.member-appointment-history b{color:var(--muted);font-size:9px}.member-appointment-action button{color:var(--coral-dark);background:#fff;border:1px solid #ead7d0;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:700}.status-dot{background:#aaa;border-radius:50%;width:9px;height:9px}.status-dot.scheduled{background:var(--coral)}.status-dot.completed{background:#6f9b84}.status-dot.cancelled,.status-dot.no_show{background:#aaa}.staff-capability-panel{grid-column:1/-1}.staff-capability-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 20px 20px;display:grid}.staff-capability-card{border:1px solid var(--line);border-radius:15px;min-width:0;overflow:hidden}.staff-capability-card summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px;list-style:none;display:grid}.staff-capability-card summary::-webkit-details-marker{display:none}.staff-capability-card summary strong,.staff-capability-card summary small{display:block}.staff-capability-card summary small{color:var(--muted);margin-top:2px;font-size:9px}.staff-capability-card[open] summary svg{transform:rotate(90deg)}.staff-capability-body{border-top:1px solid var(--line);padding:12px}.staff-capability-tools{gap:7px;margin-bottom:9px;display:flex}.staff-capability-tools button{border:1px solid var(--line);color:var(--coral-dark);background:#fff;border-radius:8px;padding:6px 9px;font-size:9px}.staff-service-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:330px;display:grid;overflow:auto}.staff-service-checks label{border:1px solid var(--line);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:9px;display:grid}.staff-service-checks label.selected{border-color:var(--coral);background:var(--coral-soft)}.staff-service-checks input{margin-top:2px}.staff-service-checks strong,.staff-service-checks small{display:block}.staff-service-checks strong{font-size:10px}.staff-service-checks small{color:var(--muted);margin-top:2px;font-size:8px}.capability-save{justify-content:center;width:100%;margin-top:11px}.merge-members-button{border:1px solid var(--line);color:var(--coral-dark);background:#fff;border-radius:10px;align-items:center;gap:7px;margin:0 18px 12px;padding:9px 12px;display:inline-flex}.profile-actions .danger-action{color:#9c4c49;background:#fff8f7;border-color:#ead1cd}.merge-warning{color:#835f2c;background:#fff6e8;border-radius:11px;margin:14px 0;padding:11px 13px;font-size:11px;line-height:1.6}.access-settings-panel{grid-column:1/-1}.access-user-list{gap:8px;padding:0 20px 15px;display:grid}.access-user-list article{border:1px solid var(--line);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.access-user-list strong,.access-user-list small{display:block}.access-user-list small{color:var(--muted);margin-top:2px;font-size:9px}.access-user-list b{font-size:10px}.access-user-list i{color:var(--muted);font-size:9px;font-style:normal}.access-user-list i.active{color:#527b68}.access-user-list button{color:#9c4c49;background:0 0;border:0}.access-user-form{border-top:1px solid var(--line);padding:16px 20px 20px}.access-user-form h3{margin:0 0 12px}.access-user-form .primary-button{margin-top:12px}.addon-editor{border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;display:grid}.addon-editor legend{color:var(--muted);padding:0 5px;font-size:10px}.addon-editor label{border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:7px;padding:8px;display:grid}.addon-editor label.selected{border-color:var(--coral);background:var(--coral-soft)}.addon-editor select{grid-column:1/-1;padding:7px}.delete-service-button{color:#9c4c49;background:#fff8f7;border:1px solid #ead1cd;border-radius:10px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:10px;padding:10px;display:flex}.service-image-preview{object-fit:contain;border:1px solid var(--line);background:#faf7f5;border-radius:12px;width:100%;max-height:240px;margin-top:10px;display:block}.appointment-addon-picker{border:1px solid var(--line);border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:11px;display:grid}.appointment-addon-picker legend{color:var(--muted);font-size:10px}.appointment-addon-picker label{border:1px solid var(--line);border-radius:9px;gap:7px;padding:8px;display:flex}.appointment-addon-picker label.selected{border-color:var(--coral);background:var(--coral-soft)}.appointment-addon-picker small{color:var(--muted);display:block}.appointment-addon-picker p{color:var(--muted);grid-column:1/-1;margin:0;font-size:10px}@media (width<=1050px){.sidebar{width:220px}.admin-main{margin-left:220px}.page-content,.admin-header{padding-left:24px;padding-right:24px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.settings-grid{grid-template-columns:1fr}.appointment-info{grid-template-columns:1fr;gap:4px}}@media (width<=760px){.sidebar{width:270px;transition:transform .25s;transform:translate(-100%);box-shadow:18px 0 50px #2f221c24}.sidebar.is-open{transform:translate(0)}.sidebar-scrim{z-index:29;background:#2a211d47;border:0;display:block;position:fixed;inset:0}.admin-main{margin-left:0;padding-bottom:70px}.admin-header{height:80px;padding:15px 17px}.admin-header>div:first-of-type{margin-left:10px;margin-right:auto}.admin-header h1{font-size:19px}.admin-header p{font-size:9px}.mobile-menu,.header-actions .notification-button{display:grid}.notification-panel{top:72px;right:15px}.header-actions .primary-button{width:42px;min-width:42px;padding:0;font-size:0}.page-content{padding:18px 15px 30px}.welcome-strip{min-height:145px;padding:23px}.welcome-strip h2{font-size:23px}.welcome-decoration{margin-right:15px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0}.metric-card{gap:9px;padding:13px}.metric-icon{width:36px;height:36px}.metric-card strong{font-size:17px}.metric-card span{font-size:9px}.dashboard-grid{grid-template-columns:1fr;gap:12px}.appointment-row{grid-template-columns:43px 8px 1fr auto;gap:8px}.appointment-info{grid-template-columns:1fr}.appointment-row .status-pill{display:none}.appointment-actions{grid-column:3/5;justify-self:end;width:max-content;margin-top:-5px}.completed-mark{grid-area:1/4}.calendar-toolbar .view-switch{display:none}.calendar-summary{padding:17px}.staff-day-grid,.availability-settings-grid{grid-template-columns:1fr}.staff-day-grid{padding:12px}.calendar-date-input{width:100%;margin-top:9px}.form-grid.two-column{grid-template-columns:1fr}.date-group{padding:12px 9px 0}.member-page-grid{display:block}.member-list-panel{margin-bottom:12px;position:static}.member-list{max-height:280px}.course-card-grid,.staff-capability-list,.staff-service-checks{grid-template-columns:1fr}.member-appointment-history{padding:0 15px 15px}.member-appointment-history article{grid-template-columns:auto minmax(0,1fr)}.member-appointment-action{white-space:normal;grid-column:2;justify-content:space-between}.ledger-list.detailed article{grid-template-columns:auto 1fr auto}.ledger-list.detailed .ledger-member,.ledger-list.detailed .ledger-operator{display:none}.ledger-filter-row{grid-template-columns:1fr 1fr;padding:0 15px 14px}.ledger-filter-row .search-field{grid-column:1/3}.service-table button{grid-template-columns:auto 1fr auto}.service-table b{grid-column:2}.service-table i{grid-area:1/3}.service-table svg:last-child{display:none}.mobile-admin-nav{z-index:25;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffdfaf7;grid-template-columns:repeat(4,1fr);height:66px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-admin-nav.staff-mode{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.mobile-admin-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:8px;display:flex}.mobile-admin-nav button.active{color:var(--coral-dark)}.modal-layer{align-items:end;padding:0}.modal-card{border-radius:23px 23px 0 0;width:100%;max-height:91vh;padding:24px 20px}.method-picker,.wallet-type-picker,.form-grid.two{grid-template-columns:1fr}.back-to-admin{padding:8px;font-size:0;position:static}.member-header .back-to-admin+.member-brand{margin:0}}@media (width<=390px){.welcome-decoration{display:none}.metric-card{display:block}.metric-icon{margin-bottom:9px}.wallet-card-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--cream:#f8f4ef;--tea:#ac8970;--ink:#43382f;--line:#e6dcd2;--primary:#87664f;--background:#fff;--foreground:#43382f;--card:#fff;--muted:#7f716b;--border:#e6dcd2}*{box-sizing:border-box}body{color:var(--ink);background:#fff;margin:0;font-family:Noto Sans TC,PingFang TC,sans-serif;font-size:16px}a{color:inherit}.home-site a{text-decoration:none}.site-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:26px 6%;display:flex}.wordmark{letter-spacing:.14em;font-family:Georgia,serif;font-size:30px;line-height:1}.wordmark span{letter-spacing:.3em;margin-top:9px;font-family:sans-serif;font-size:13px;display:block}.site-header nav{align-items:center;gap:30px;font-size:14px;display:flex}.btn{background:var(--primary);cursor:pointer;font:inherit;border:0;border-radius:3px;justify-content:space-between;align-items:center;gap:30px;padding:16px 26px;text-decoration:none;display:inline-flex;color:#fff!important}.hero{grid-template-columns:1.12fr 1fr;min-height:640px;display:grid}.hero-copy{background:var(--cream);padding:90px 9% 36px 12%}.eyebrow{letter-spacing:.2em;color:#896d58;font-weight:600;font-size:12px!important}.hero h1{margin:24px 0;font-family:Georgia,Songti TC,serif;font-size:clamp(32px,3.4vw,56px);font-weight:400;line-height:1.5}.hero-copy>p:not(.eyebrow){color:#7a6a5d;margin-bottom:30px;font-size:16px;line-height:2}.text-link{border-bottom:1px solid;margin-left:24px;padding-bottom:5px;font-size:14px}.hero-foot{border-top:1px solid var(--line);color:#896d58;justify-content:space-between;margin-top:65px;padding-top:20px;font-size:12px;display:flex}.hero-art{background:#dfcbb7;justify-content:center;align-items:center;padding:50px;display:flex;position:relative;overflow:hidden}.hero-art img{aspect-ratio:1;object-fit:cover;border-radius:50% 50% 2px 2px;width:100%;max-width:500px}.art-caption{letter-spacing:.3em;font:12px Georgia;position:absolute;bottom:24px}.section{padding:80px 6%}.section-heading{margin-bottom:36px}.section h2{font-family:Songti TC,Georgia,serif;font-size:32px;font-weight:400}.service-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service-card{border-top:1px solid var(--tea);background:var(--cream);min-height:250px;padding:28px}.service-card>span{color:var(--tea);font:18px Georgia}.service-card h3{font-size:24px;font-weight:400}.service-card p{color:#7a6a5d;max-width:320px;line-height:1.9}.service-card b{font-size:14px;font-weight:400}.team-section{background:var(--cream)}.team-grid{grid-template-columns:repeat(6,1fr);gap:22px;display:grid}.team-grid>a{border-top:1px solid var(--line);padding:25px 12px}.team-initial{color:var(--tea);font:48px Georgia}.team-grid h3{font-size:22px;font-weight:400}.team-grid p,.team-grid a>span:last-child{color:#7a6a5d;font-size:14px}footer{justify-content:space-between;align-items:center;gap:24px;padding:50px 6%;font-size:14px;display:flex}.form-shell{background:var(--cream);max-width:780px;margin:40px auto;padding:30px}.form-shell h1{font-size:32px;font-weight:400}.form-shell form{gap:20px;display:grid}.form-shell label{gap:8px;display:grid}.form-shell input,.form-shell select,.form-shell textarea{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:3px;padding:12px}.form-shell .notice{background:#fff;padding:16px;line-height:1.8}.error{color:#a23928}.success{color:#296044}@media (width<=800px){.site-header{padding:20px 5%}.site-header nav{gap:16px}.site-header nav>a:first-child,.site-header nav>a:nth-child(2){display:none}.site-header .btn{padding:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 7% 25px}.hero-art{min-height:320px;padding:35px}.hero-art img{max-width:300px}.hero-foot{gap:12px;margin-top:40px}.section{padding:50px 6%}.service-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;align-items:flex-start}.form-shell{margin:20px 12px;padding:22px}.section h2{font-size:27px}}:root{--coral:#ac8970;--coral-dark:#87664f;--coral-soft:#f0e6dc;--canvas:#f8f4ef;--panel:#fff;--font-noto:"PingFang TC"}.home-site{display:block}.home-site span{font-size:inherit}.home-site .eyebrow{display:block}.team-notice{background:#ede2d6;justify-content:space-between;gap:24px;padding:16px 32px;font-size:14px;display:flex}.booking-inbox{border:1px solid var(--line);background:#fff;border-radius:12px;margin:24px 32px;padding:24px}.booking-inbox h2{font-size:18px}.inbox-title{justify-content:space-between;align-items:center;gap:20px;display:flex}.inbox-title button,.request-row>button:not(.primary-button){border:1px solid var(--line);background:#fff;border-radius:5px;padding:10px 14px}.request-row{border-top:1px solid var(--line);grid-template-columns:1fr 230px;gap:16px;padding:24px 0;display:grid}.request-row p{overflow-wrap:anywhere;font-size:14px;line-height:1.7}.request-row label{align-content:start;gap:10px;font-size:14px;display:grid}.request-row input{border:1px solid var(--line);max-width:100%;padding:10px}.two-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-shell label.consent{align-items:flex-start;gap:12px;line-height:1.7;display:flex}.form-shell .consent input{flex-shrink:0;width:20px;height:20px}.btn:disabled{opacity:.6;cursor:wait}.hero-copy .eyebrow{font-size:12px!important}.home-site .wordmark span{font-size:13px}.home-site .team-initial{font-size:48px}.home-site .art-caption{font-size:12px}.hero-art img{mix-blend-mode:multiply}.sidebar .brand span{font-size:12px}.app-shell label,.app-shell input,.app-shell select,.app-shell button{font-size:14px}@media (width<=700px){.booking-inbox{margin:16px;padding:16px}.request-row{grid-template-columns:1fr}.team-notice{padding:12px 16px}.team-notice span{display:none}.two-fields{grid-template-columns:1fr}}.staff-role .merge-members-button{display:none}.mobile-admin-nav.staff-mode{grid-template-columns:repeat(3,1fr)}.staff-role .profile-actions>button:not(:first-child){display:none}.makeup-booking{max-width:920px}.makeup-booking h1{font-size:clamp(28px,4vw,42px)}.service-detail,.calendar-legend{color:#796b5e;font-size:13px}.public-calendar{background:#fff;border:1px solid #e5dbcf;border-radius:18px;margin:28px 0;padding:22px}.month-nav,.availability-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.month-nav h2,.availability-heading h2{margin:0;font-size:21px}.month-nav button,.availability-heading button{color:#594838;cursor:pointer;background:#faf6f0;border:1px solid #dfd3c6;border-radius:8px;padding:9px 15px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday{text-align:center;color:#8c7a69;padding:12px 0;font-size:13px}.day-cell{cursor:pointer;color:#73685e;background:#faf8f5;border:1px solid #ede7df;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:76px;display:flex}.day-cell b{font-size:17px}.day-cell small{font-size:11px}.day-cell.has-slots{color:#59432e;background:#f1e6d8;border-color:#dbc5ac}.day-cell.selected{outline-offset:1px;outline:2px solid #876646}.day-cell:disabled{opacity:.36;cursor:default}.month-nav button:disabled{opacity:.35;cursor:default}.teacher-slots{border-bottom:1px solid #e9dfd4;grid-template-columns:110px 1fr;gap:20px;padding:22px 0;display:grid}.teacher-slots h3{margin:0 0 5px;font-size:20px}.teacher-slots span{color:#8a7b6b;font-size:12px}.slot-options{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.slot-options p{color:#827365;font-size:14px}.slot-options button{color:#695038;cursor:pointer;background:#fff;border:1px solid #cbb69e;border-radius:8px;padding:10px 16px}.slot-options button.selected{color:#fff;background:#795b3e}.reservation-details{background:#fff;border:1px solid #dfd3c3;border-radius:16px;margin:28px 0;padding:25px}.booking-help{padding-top:24px}.makeup-booking button:focus-visible{outline-offset:3px;outline:3px solid #826748}@media (width<=600px){.public-calendar{padding:12px}.month-grid{gap:4px}.day-cell{min-height:62px}.day-cell small{font-size:9px}.teacher-slots{grid-template-columns:78px 1fr;gap:10px}.slot-options button{padding:10px 12px}.reservation-details{padding:16px}.month-nav h2,.availability-heading h2{font-size:18px}.availability-heading button{font-size:12px}}.home-site .team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.brand-story{background:#f7f1e9}.brand-story p:not(.eyebrow){max-width:760px;line-height:1.95}.brand-article{color:#594838;max-width:950px;margin:0 auto;padding:64px 28px 80px}.brand-article h1{font-family:Songti TC,Georgia,serif;font-size:clamp(30px,4.5vw,48px);font-weight:400;line-height:1.45}.brand-article h2{font-size:28px;font-weight:500;line-height:1.5}.brand-article h3{margin-top:28px;font-size:20px}.brand-article p{line-height:1.95}.brand-article section{border-bottom:1px solid #e5dbcf;padding:24px 0;scroll-margin-top:30px}.article-intro{max-width:740px;font-size:19px}.article-meta{color:#746454;font-size:13px}.article-toc{border-bottom:1px solid #e5dbcf;flex-wrap:wrap;gap:16px;padding:24px 0;display:flex}.brand-article p a,.article-toc a,.brand-article td a{text-underline-offset:4px;text-decoration:underline}.comparison-scroll{overflow-x:auto}.brand-article table{border-collapse:collapse;width:100%;min-width:580px;font-size:15px}.brand-article th,.brand-article td{text-align:left;vertical-align:top;border-bottom:1px solid #e5dbcf;padding:16px;line-height:1.8}.brand-article th{background:#f4ece3}.brand-article .notice{background:#f4ece3;padding:20px}.article-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:36px;display:flex}.location-facts{grid-template-columns:190px 1fr;gap:0;display:grid}.location-facts dt,.location-facts dd{border-bottom:1px solid #e5dbcf;margin:0;padding:18px 0;line-height:1.8}.location-facts dt{font-weight:600}.editorial-site a:focus-visible,.home-site a:focus-visible{outline-offset:5px;outline:3px solid #87664f}@media (width<=650px){.home-site .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-article{padding:35px 22px 55px}.brand-article h2{font-size:25px}.location-facts{grid-template-columns:1fr}.location-facts dt{border-bottom:0;padding-bottom:0}.location-facts dd{padding-top:6px}}.price-table{border-collapse:collapse;width:100%;font-size:15px}.price-table caption{text-align:left;color:#746454;padding:0 0 16px;font-size:14px}.price-table th,.price-table td{text-align:left;border-bottom:1px solid #ddd0c2;padding:18px 16px;line-height:1.7}.price-table thead th{background:#f4ece3}.price-table tbody th{font-weight:400}.price-table td{white-space:nowrap}.home-pricing>p:not(.eyebrow){line-height:1.9}.brand-article li{margin:12px 0;line-height:1.9}.brand-article .price-table{min-width:0}.home-site .comparison-scroll:focus-visible{outline-offset:3px;outline:3px solid #87664f}@media (width<=600px){.price-table th,.price-table td{padding:14px 8px;font-size:13px}.price-table thead th:last-child{max-width:120px}.home-site .site-header nav>a:not(.btn){display:none}}.brand-navigation{gap:24px}.brand-navigation nav{flex-wrap:wrap;justify-content:flex-end;gap:20px}.brand-footer{background:var(--cream);align-items:flex-start}.brand-footer p{font-size:13px;line-height:1.8}.brand-footer nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px;display:grid}.home-site .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.section>p{line-height:1.95}.portfolio-hero{background:#eaded0;padding:35px 40px 65px}.hero-art.portfolio-hero img{aspect-ratio:3/4;mix-blend-mode:normal;object-position:center;border-radius:180px 180px 3px 3px;max-width:440px}.portfolio-hero .art-caption{letter-spacing:.14em;font-size:12px}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:28px 0;display:grid}.work-card{background:#faf7f3;min-width:0;margin:0}.work-card>a{background:#e9dfd4;display:block}.work-card img{aspect-ratio:3/4;object-fit:contain;width:100%;height:auto;display:block}.work-card figcaption{padding:22px 18px}.work-card h3,.brand-article .work-card h3{margin:10px 0;font-size:19px;font-weight:500}.work-card p{margin:12px 0;font-size:14px;line-height:1.85}.work-card .work-source{text-underline-offset:4px;font-size:13px;text-decoration:underline}.section .portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.artist-directory{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:32px 0;display:grid}.artist-directory a{background:#f4ece3;border-top:1px solid #ac8970;flex-direction:column;gap:14px;padding:24px 18px;display:flex}.artist-directory span{font:26px Georgia,serif}.artist-directory small{font-size:12px;line-height:1.6}.artist-directory b{font-size:13px;font-weight:400}.artist-filters{flex-wrap:wrap;gap:10px;margin:24px 0 12px;display:flex}.artist-filters button{font:inherit;color:#594838;cursor:pointer;background:#fff;border:1px solid #cbb69e;border-radius:30px;min-height:44px;padding:10px 19px}.artist-filters button[aria-pressed=true]{color:#fff;background:#87664f}.artist-filters button:focus-visible{outline-offset:3px;outline:3px solid #87664f}.gallery-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.gallery-status a{text-decoration:underline}.brand-article .artist-price-table{min-width:0}.artist-price-table caption{text-align:left;padding:12px 0}.artist-role{letter-spacing:.1em;font:22px PingFang TC,sans-serif}.location-facts address{font-style:normal}.brand-article .text-link,.section>.text-link{margin-left:0}@media (width<=1000px){.brand-navigation{flex-wrap:wrap}.brand-navigation nav{justify-content:flex-start;gap:12px 20px;width:100%}.home-site .brand-navigation nav>a:not(.btn){align-items:center;min-height:44px;display:inline-flex}.home-site .service-grid,.section .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.work-card figcaption{padding:16px 12px}.work-card h3,.brand-article .work-card h3{font-size:17px}.work-card p{font-size:13px}.work-card .eyebrow{letter-spacing:.08em;font-size:10px!important}.artist-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-navigation nav{gap:6px 16px}.brand-navigation nav a{font-size:13px}.home-site .brand-navigation nav>a.btn{padding:12px 16px}.brand-footer nav{gap:18px}.home-site .service-grid{grid-template-columns:1fr}.hero-art.portfolio-hero img{max-width:360px}.hero-art.portfolio-hero{padding:30px 8% 60px}.hero-foot{flex-wrap:wrap}.article-actions .text-link{margin-left:0}.brand-article .artist-price-table th,.brand-article .artist-price-table td{padding:14px 8px}}@media (width<=380px){.portfolio-grid,.section .portfolio-grid{grid-template-columns:1fr}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-site>.section{padding-inline:max(6%,50% - 600px)}.centered-heading{text-align:center;max-width:800px;margin:0 auto 38px}.centered-heading>p:not(.eyebrow){color:#79685c;max-width:650px;margin:16px auto;line-height:1.9}.centered-actions{justify-content:center}.centered-actions .text-link{margin-left:0}.centered-story{text-align:center;position:relative;overflow:hidden}.centered-story p:not(.eyebrow){margin-inline:auto}.centered-story .text-link{margin:18px 0 0;display:inline-block}.home-site .service-card{text-align:center;background:linear-gradient(155deg,#fcfaf7,#f3e9df);border:1px solid #e9ded3;border-radius:100px 100px 8px 8px;flex-direction:column;align-items:center;min-height:0;padding:30px 24px;display:flex}.home-site .service-symbol{color:#91745c;background:#fff9f2;border-radius:50%;place-items:center;width:68px;height:68px;margin:2px 0 14px;display:grid}.service-symbol svg{width:34px;height:34px}.home-site .service-card h3{margin:12px 0;font-size:20px}.home-site .service-card p{margin:0 0 24px;font-size:14px}.home-site .service-card b{margin-top:auto}.home-pricing{background:linear-gradient(#fff 0%,#faf7f3 100%)}.price-menu{background:#fff;border:1px solid #ddd0c2;border-radius:14px;max-width:980px;margin:30px auto 0;overflow:hidden;box-shadow:0 16px 48px #60463108}.price-menu-heading{text-align:center;border-bottom:1px solid var(--line);background:#fcfaf7;padding:26px 20px 22px}.price-menu-heading p{margin:8px 0 0;font-size:19px;line-height:1.7}.price-menu-heading p>span{color:#79685c;white-space:nowrap;font-size:12px}.home-site .price-menu .price-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;margin:0;font-size:15px}.price-table .service-column{width:40%}.home-site .price-menu .price-table th,.home-site .price-menu .price-table td{vertical-align:middle;border-bottom:1px solid #e8ded3;padding:17px 22px;line-height:1.6}.home-site .price-menu .price-table th{background:0 0;font-weight:500}.home-site .price-menu .price-table thead th{text-align:center;background:#eee3d7;padding-block:20px;font-size:16px}.home-site .price-menu .price-table td{text-align:center;white-space:normal;font-variant-numeric:tabular-nums;font-size:17px}.home-site .price-menu .price-table tbody th{text-align:left}.price-table small{color:#78675a;margin-top:4px;font-size:12px;font-weight:400;line-height:1.6;display:block}.menu-service{align-items:center;gap:15px;display:flex}.menu-service>svg{color:#9b7a60;flex-shrink:0;width:25px;height:25px}.home-site .price-menu .price-extras .menu-divider{text-align:center;letter-spacing:.07em;background:#f4ece3;padding:14px;font-size:14px}.menu-divider>span{color:#796b60;letter-spacing:.12em;margin-left:16px;font-size:10px}.home-site .price-menu .price-extras td{font-size:15px}.price-extras tr:last-child th,.price-extras tr:last-child td{border-bottom:0!important}.price-menu-note,.brand-article .price-menu-note{text-align:center;color:#796b60;border-top:1px solid var(--line);background:#fcfaf7;margin:0;padding:16px 24px;font-size:12px;line-height:1.8}.home-artists{background:#fff}.artist-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1060px;margin:0 auto 38px;display:grid}.artist-picker button{text-align:left;width:100%;min-width:0;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:130px 130px 6px 6px;padding:10px 10px 18px;display:block}.artist-picker button[aria-pressed=true]{background:#f6eee5;border-color:#ac8970;box-shadow:0 10px 32px #7957360a}.artist-cover{background:#f2e9df;border-radius:120px 120px 4px 4px;display:block;position:relative;overflow:hidden}.artist-cover img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto;display:block}.home-site .cover-label{color:#655142;letter-spacing:.08em;background:#fffcf4eb;border-radius:3px;padding:6px 9px;font-size:11px;position:absolute;bottom:12px;left:12px}.home-site .artist-picker-name{justify-content:space-between;align-items:center;gap:8px;padding:18px 5px 7px;font:27px Georgia,serif;display:flex}.artist-picker-name>span{color:#92745d;font:20px sans-serif}.home-site .artist-picker-role{color:#79685c;letter-spacing:.1em;padding:0 5px;font-size:12px;display:block}.artist-selection{border-top:1px solid var(--line);max-width:1060px;margin:auto;padding-top:32px;scroll-margin-top:24px}.selected-artist-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.selected-artist-heading h3{margin:12px 0;font:32px Georgia,serif}.selected-artist-heading h3 span{letter-spacing:.08em;margin-left:16px;font:12px sans-serif}.selected-artist-heading p:not(.eyebrow){color:#79685c;margin-bottom:0;font-size:13px}.selected-artist-heading .text-link{margin-left:0;line-height:1.8}.home-site .artist-selection .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-site .artist-selection .work-card{border-radius:6px;overflow:hidden}.home-locations{background:#f4ece3}.studio-layout{grid-template-columns:.85fr 1.15fr;align-items:center;gap:52px;display:grid}.studio-copy h2{font-size:36px;line-height:1.5}.studio-copy p{line-height:1.9}.studio-copy .studio-appointment{color:#79685c;font-size:12px}.studio-copy .article-actions{gap:20px;margin-top:28px}.studio-copy .text-link{margin:0}.studio-map{background:#fff;border:1px solid #ded0c2;border-radius:10px;min-width:0;overflow:hidden}.studio-map iframe{border:0;width:100%;height:360px;display:block}.studio-map>a{flex-wrap:wrap;justify-content:space-between;gap:10px;padding:17px 20px;font-size:12px;line-height:1.7;text-decoration:none;display:flex}.studio-map>a span{text-underline-offset:4px;text-decoration:underline}.brand-article>.studio-map{margin:32px 0}.hero-copy{isolation:isolate;position:relative;overflow:hidden}.hero-copy:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#e2c4b354 0%,#f3dfca40 38%,#0000 68%);border-radius:50%;width:430px;height:430px;position:absolute;top:20px;right:-130px}.hero-copy:after{content:"✦";color:#ae8c6e;pointer-events:none;font-size:28px;position:absolute;top:11%;right:8%}.home-site button:focus-visible,.home-site .artist-picker button:focus-visible{outline-offset:4px;outline:3px solid #87664f}@media (prefers-reduced-motion:no-preference){.hero-copy:before{animation:4.5s ease-out both powder-bloom}.hero-copy:after{animation:4.5s ease-out both soft-spark}.hero-copy h1,.hero-copy>p,.hero-copy>.btn{animation:.9s ease-out both makeup-enter}.hero-copy h1{animation-delay:.1s}.hero-copy>.btn{animation-delay:.2s}.home-site .btn,.service-card,.artist-picker button,.work-card{transition:transform .3s,box-shadow .3s,background .3s}.artist-cover img{transition:transform .6s}.work-reveal{animation:.45s ease-out both makeup-enter}@media (hover:hover){.home-site .btn:hover,.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #72523815}.artist-picker button:hover .artist-cover img{transform:scale(1.035)}.artist-picker button:hover{background:#faf4ec}.work-card:hover{transform:translateY(-3px)}}}@keyframes powder-bloom{0%{opacity:0;transform:translate(-60px,35px)scale(.7)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes soft-spark{0%{opacity:0;transform:rotate(-25deg)scale(.5)}40%{opacity:1;transform:rotate(10deg)scale(1.1)}to{opacity:.6;transform:rotate(0)scale(1)}}@keyframes makeup-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width>=1600px){.hero-copy{padding-left:max(12%,50vw - 600px)}}@media (width<=1000px){.studio-layout{grid-template-columns:1fr 1fr;gap:30px}.artist-picker{gap:14px}.home-site .artist-selection .portfolio-grid{gap:18px}.studio-copy h2{font-size:30px}}@media (width<=700px){.home-site>.section{padding-inline:6%}.price-menu{border-radius:10px;margin-top:24px}.price-menu-heading{padding:22px 12px}.price-menu-heading p{font-size:17px}.price-menu-heading p>span{display:block}.price-table .service-column{width:40%}.home-site .price-menu .price-table th,.home-site .price-menu .price-table td{padding:14px 9px;font-size:13px}.home-site .price-menu .price-table thead th{padding:15px 6px;font-size:12px}.price-table small{font-size:10px}.menu-service{gap:7px}.menu-service>svg{width:19px;height:19px}.home-site .price-menu .price-extras td{font-size:13px}.menu-divider>span{margin:3px 0 0;font-size:9px;display:block}.price-menu-note,.brand-article .price-menu-note{padding:14px;font-size:11px}.artist-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.artist-picker button{padding:7px 7px 15px}.home-site .artist-picker-name{padding-top:13px;font-size:25px}.home-site .cover-label{font-size:10px;bottom:8px;left:8px}.selected-artist-heading{flex-direction:column;align-items:flex-start;gap:18px}.home-site .artist-selection .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.studio-layout{grid-template-columns:1fr;gap:30px}.studio-copy h2{font-size:32px}.studio-map iframe{height:320px}.hero-copy:after{font-size:22px;top:8%;right:6%}}@media (width<=380px){.home-site .artist-selection .portfolio-grid{grid-template-columns:1fr}.menu-service{gap:5px}.menu-service>svg{width:16px;height:16px}.home-site .price-menu .price-table th,.home-site .price-menu .price-table td{padding-inline:6px}}.home-site .artist-selection .portfolio-grid{flex-wrap:wrap;justify-content:center;display:flex}.home-site .artist-selection .work-card{flex:0 calc(33.3333% - 16px)}@media (width<=1000px){.home-site .artist-selection .work-card{flex-basis:calc(33.3333% - 12px)}}@media (width<=700px){.home-site .artist-selection .work-card{flex-basis:calc(50% - 6px)}}@media (width<=380px){.home-site .artist-selection .work-card{flex-basis:100%}}.home-founder{background:#fffdf9}.founder-profile{grid-template-columns:1fr 1.1fr;align-items:center;gap:48px;max-width:980px;margin:0 auto;display:grid}.founder-heading h2,.brand-article .founder-heading h2{margin:18px 0;font-size:24px;font-weight:400;line-height:1.6}.home-site .founder-heading h2 span{letter-spacing:.04em;font:48px Georgia,serif}.founder-heading p{color:#79685c;font-size:14px;line-height:1.9}.founder-experience{border-top:1px solid var(--line);margin:0}.founder-experience>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.2fr;align-items:center;gap:18px;padding:23px 0;display:grid}.founder-experience dt{font-size:15px;line-height:1.6}.founder-experience dd{gap:8px;margin:0;line-height:1.6;display:grid}.founder-experience strong{font-size:18px;font-weight:500}.home-site .founder-experience a{text-underline-offset:4px;overflow-wrap:anywhere;color:#79685c;font-size:12px;text-decoration:underline}.brand-article .founder-profile{background:#faf6f0;gap:24px;margin:32px 0;padding:28px}.selected-artist-heading h3 span{line-height:1.8;display:inline-block}@media (width<=700px){.founder-profile{grid-template-columns:1fr;gap:24px}.founder-heading{text-align:center}.founder-experience>div{gap:12px;padding:18px 0}.founder-experience dt{font-size:14px}.brand-article .founder-profile{padding:22px 16px}.selected-artist-heading h3 span{margin:8px 0 0;display:block}}.brand-footer .company-details{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:12px;line-height:1.9}.service-explorer{background:#faf6f0;padding:44px max(6%,50% - 600px) 64px}.explorer-brand{margin-bottom:30px}.explorer-brand h1{margin:12px 0 0;font:400 clamp(26px,2.5vw,36px)/1.5 Songti TC,Georgia,serif}.explorer-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:54px;display:grid}.topic-preview{background:#fff;border:1px solid #e4d8ca;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 12px 40px #6e4e2f08}.topic-artwork{isolation:isolate;aspect-ratio:1.65;background:#e7d7c5;position:relative;overflow:hidden}.topic-artwork>img{object-fit:cover;width:100%;height:100%;display:block}.artwork-personal-makeup>img{object-position:center 28%}.artwork-makeover>img{object-position:center top}.artwork-index{color:#685441;letter-spacing:.15em;background:#fffcf3ed;border:1px solid #fff9;padding:7px 10px;font:10px Georgia,serif;position:absolute;top:18px;left:20px}.topic-illustration{color:#89674e;background:radial-gradient(at 25% 30%,#fffbf5,#0000 65%),linear-gradient(135deg,#eee1d1,#d8c2aa);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:220px;padding:30px;display:flex;position:relative;overflow:hidden}.artwork-bridal-masterclass .topic-illustration{color:#6e5036;background:radial-gradient(at 70% 30%,#f8eddd,#0000 55%),linear-gradient(135deg,#e5d2bf,#c9af92)}.illustration-orbit{border:1px solid #a8876570;border-radius:50%;width:210px;height:210px;position:absolute;transform:rotate(-22deg)scaleX(1.4)}.illustration-orbit:before{content:"";border:1px solid #a887653f;border-radius:50%;position:absolute;inset:13px}.illustration-main{width:75px;height:75px;margin-bottom:18px}.illustration-spark{width:30px;height:30px;position:absolute;top:20%;right:20%}.home-site .illustration-wordmark{letter-spacing:.12em;font:48px Georgia,serif;position:relative}.home-site .illustration-label{letter-spacing:.2em;text-align:center;margin-top:15px;font-size:9px;position:relative}.topic-preview-copy{padding:25px 30px 28px}.topic-preview-copy h2{margin:12px 0;font:400 29px/1.4 Songti TC,Georgia,serif}.topic-preview-copy>p:not(.eyebrow){color:#766354;min-height:54px;margin:10px 0 20px;font-size:14px;line-height:1.9}.topic-preview-copy .btn{gap:24px;padding:13px 21px;font-size:14px}.topic-selector{padding-top:5px}.topic-selector-heading h2{margin:12px 0;font:400 28px/1.5 Songti TC,Georgia,serif}.topic-selector-heading>p:not(.eyebrow){color:#79685c;margin-bottom:26px;font-size:13px}.topic-buttons{gap:12px;display:grid}.topic-buttons button{text-align:left;width:100%;color:var(--ink);cursor:pointer;font:inherit;background:#fffaf4;border:1px solid #decfbe;border-radius:6px;align-items:center;gap:18px;min-height:100px;padding:19px 20px;display:flex}.topic-buttons button[aria-pressed=true]{color:#fffaf3;background:#84654e;border-color:#84654e;box-shadow:0 8px 22px #80624420}.topic-button-icon{color:#997559;border:1px solid #a5897060;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.topic-button-icon svg{width:24px;height:24px}.topic-buttons button[aria-pressed=true] .topic-button-icon{color:#fff5e5;border-color:#ecd9c390}.topic-button-copy{flex:1;gap:6px;min-width:0;display:grid}.home-site .topic-button-number{letter-spacing:.12em;opacity:.8;font:9px/1.4 Georgia,serif}.topic-button-copy strong{font-size:18px;font-weight:500;line-height:1.4}.home-site .topic-button-copy>span:last-child{opacity:.86;font-size:12px}.topic-button-arrow{flex-shrink:0}.topic-selector-note{color:#79685c;letter-spacing:.05em;margin:17px 0 0;font-size:11px}.service-detail-intro{grid-template-columns:1.1fr 1fr;align-items:center;gap:35px;margin-top:30px;display:grid}.service-detail-intro h1{margin:14px 0;font-size:clamp(30px,3.5vw,40px)}.service-detail-intro .topic-artwork{aspect-ratio:1;border-radius:6px}.service-detail-intro .artwork-personal-makeup>img{object-position:center 27%}.detail-subtitle{color:#967051;margin-top:0;font-size:18px}.lesson-levels,.lesson-bundles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0;display:grid}.lesson-level,.lesson-bundle{background:#faf5ee;border:1px solid #e6d8c8;border-radius:6px;min-width:0;padding:25px 22px}.brand-article .lesson-level h3,.brand-article .lesson-bundle h3{margin:12px 0;font-size:20px}.lesson-level{flex-direction:column;display:flex}.lesson-level ul{flex:1;padding-left:20px;font-size:14px}.brand-article .lesson-level li{margin:8px 0}.lesson-tagline{color:#87664f;margin:0;font-size:13px}.lesson-duration{color:#87664f;border-top:1px solid var(--line);margin:18px 0 8px;padding:12px 0;font-size:12px}.course-prices{margin:8px 0 0;font-size:13px}.course-prices>div{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;padding:12px 0;line-height:1.7;display:flex}.course-prices dd{font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:500}.lesson-bundle .article-meta{font-size:11px}.makeover-plans,.curriculum-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0;display:grid}.brand-article .plan-amount{color:#765840;margin:16px 0 24px;font:38px/1.3 Georgia,serif}.program-facts{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:28px 0;display:grid}.program-facts>div{background:#fcf9f5;padding:22px}.program-facts dt{color:#79685c;margin-bottom:10px;font-size:12px}.program-facts dd{margin:0;font-size:17px;line-height:1.6}.curriculum-block{border-top:1px solid #b99b80;padding:0 18px 0 0}.curriculum-block ul{padding-left:20px;font-size:14px}.bridal-curriculum{grid-template-columns:repeat(3,minmax(0,1fr))}.program-fee{background:#f4ebe0;border:1px solid #decfbe;border-radius:6px;grid-template-columns:1fr 1.2fr;align-items:center;gap:24px;padding:25px;display:grid}.program-fee ul{padding-left:20px;font-size:14px}.brand-article .bridal-consultation{background:#f4ebe0;border:1px solid #decfbe;border-radius:6px;margin:28px 0;padding:30px}.service-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:35px;display:grid}.service-directory>a{background:#fcf9f5;border:1px solid #e4d8ca;border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.service-directory>a>div:last-child{flex-direction:column;flex:1;align-items:flex-start;padding:24px;display:flex}.service-directory h2{margin:8px 0;font-size:25px}.service-directory p:not(.eyebrow){flex:1;margin-bottom:25px;font-size:14px}.service-directory .text-link{margin-left:0}@media (prefers-reduced-motion:no-preference){.topic-preview-art{animation:.4s ease-out both makeup-enter}.topic-buttons button{transition:background .25s,transform .25s,color .25s}@media (hover:hover){.topic-buttons button:hover{transform:translate(-4px)}.service-directory>a:hover .text-link{color:#87664f}}}@media (width<=1050px){.explorer-layout{grid-template-columns:1.1fr 1fr;gap:28px}.topic-buttons button{gap:12px;padding:17px 14px}.topic-button-copy strong{font-size:17px}.topic-button-icon{width:36px;height:36px}.home-site .topic-button-number{font-size:8px}.topic-preview-copy{padding:22px}.lesson-levels{grid-template-columns:1fr}.lesson-level ul{grid-template-columns:1fr 1fr;column-gap:30px;display:grid}.lesson-level .course-prices{width:100%;max-width:400px}.lesson-bundles{grid-template-columns:1fr}.lesson-bundle .course-prices{max-width:400px}}@media (width<=760px){.service-explorer{padding:30px 6% 40px}.explorer-brand h1{max-width:330px;font-size:26px}.explorer-layout{grid-template-columns:1fr;gap:24px}.topic-selector{grid-row:1}.topic-selector-heading h2{margin:6px 0;font-size:21px}.topic-selector-heading .eyebrow{display:none}.topic-selector-heading>p:not(.eyebrow){margin:8px 0 16px}.topic-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.topic-buttons button{gap:9px;min-height:102px;padding:14px 11px}.topic-button-icon{border:0;align-self:flex-start;width:25px;height:25px;margin-top:4px}.topic-button-icon svg{width:23px;height:23px}.topic-button-copy strong{font-size:15px}.home-site .topic-button-number{letter-spacing:0;width:13px;max-height:12px;font-size:9px;overflow:hidden}.home-site .topic-button-copy>span:last-child{font-size:10px;line-height:1.6}.topic-button-arrow{display:none}.topic-selector-note{margin-top:12px;font-size:10px}.topic-artwork{aspect-ratio:1.4}.topic-preview-copy h2{font-size:26px}.topic-preview-copy>p:not(.eyebrow){min-height:0}.service-detail-intro{grid-template-columns:1fr;gap:20px}.service-detail-intro .topic-artwork{aspect-ratio:1.5}.lesson-levels,.lesson-bundles,.makeover-plans,.curriculum-columns,.bridal-curriculum,.program-fee,.service-directory{grid-template-columns:1fr}.lesson-level ul{display:block}.program-facts{grid-template-columns:1fr 1fr}.program-facts>div{padding:18px 14px}.program-facts dd{font-size:15px}.service-directory{gap:24px}.brand-article .bridal-consultation{padding:24px 20px}}@media (width<=360px){.topic-buttons button{gap:5px;padding:12px 8px}.topic-button-copy strong{font-size:14px}.topic-button-icon{width:21px}.program-facts{grid-template-columns:1fr}}@media (width>=761px){.service-explorer{padding-top:30px;padding-bottom:44px}.explorer-brand{margin-bottom:22px}.topic-preview .topic-artwork{aspect-ratio:2.1}.topic-selector-heading>p:not(.eyebrow){margin-bottom:18px}.topic-selector-heading h2{margin:8px 0}.topic-buttons{gap:10px}.topic-buttons button{min-height:88px;padding-block:13px}.topic-button-copy{gap:4px}}.artist-directory>a img{aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:80px 80px 4px 4px;width:100%;margin-bottom:18px;display:block}.artist-profile-header{grid-template-columns:minmax(200px,320px) 1fr;align-items:center;gap:48px;margin:40px 0;display:grid}.artist-profile-portrait{aspect-ratio:2/3;object-fit:cover;border-radius:160px 160px 8px 8px;width:100%;height:auto;display:block}.artist-profile-header h1{margin-top:12px}@media (width<=640px){.artist-profile-header{grid-template-columns:1fr;gap:24px}.artist-profile-portrait{max-width:290px;margin:auto}.artist-profile-header h1{font-size:42px}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
