@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,400..600&family=Manrope:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none;min-height:100svh;line-height:1.5}img,picture,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}h1,h2,h3,h4,h5,h6{font-weight:inherit;text-wrap:balance}p{text-wrap:pretty}table{border-collapse:collapse}:root{--color-porcelain:#fbf5f4;--color-porcelain-dim:#f4ebe9;--color-surface:#fff;--color-ink:#241b22;--color-plum:#6e4b5e;--color-plum-faint:#d9c7cf;--color-lacquer:#c23a55;--color-lacquer-dark:#9c2c42;--color-lacquer-soft:#f4d9de;--color-foil:#b08a54;--color-status-pending:#c98a2e;--color-status-pending-bg:#faedd6;--color-status-confirmed:#3e7c59;--color-status-confirmed-bg:#e1f0e6;--color-status-completed:#6e4b5e;--color-status-completed-bg:#ece2e7;--color-status-cancelled:#a14848;--color-status-cancelled-bg:#f6dede;--font-display:"Fraunces", ui-serif, Georgia, serif;--font-body:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:clamp(.75rem, .72rem + .15vw, .8125rem);--text-sm:clamp(.875rem, .84rem + .2vw, .9375rem);--text-base:clamp(1rem, .96rem + .2vw, 1.0625rem);--text-md:clamp(1.125rem, 1.06rem + .3vw, 1.25rem);--text-lg:clamp(1.375rem, 1.25rem + .6vw, 1.75rem);--text-xl:clamp(1.75rem, 1.5rem + 1.2vw, 2.375rem);--text-2xl:clamp(2.25rem, 1.8rem + 2.2vw, 3.5rem);--text-3xl:clamp(2.75rem, 2rem + 3.5vw, 4.75rem);--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.03em;--tracking-label:.14em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:clamp(2.5rem, 2.2rem + 1.5vw, 3.5rem);--space-8:clamp(3rem, 2.4rem + 3vw, 5rem);--space-9:clamp(4rem, 3rem + 5vw, 7rem);--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.5rem;--radius-full:999px;--shadow-sm:0 1px 2px #241b220f, 0 1px 1px #241b220a;--shadow-md:0 8px 24px -8px #6e4b5e38, 0 2px 6px #241b220f;--shadow-lg:0 24px 48px -16px #6e4b5e47, 0 4px 12px #241b2214;--shadow-focus:0 0 0 3px #c23a5559;--container-max:76rem;--content-measure:65ch;--container-pad:var(--space-4);--duration-fast:.15s;--duration-base:.25s;--ease-standard:cubic-bezier(.4, 0, .2, 1)}body{background:var(--color-porcelain);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-ink);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-2xl);font-weight:500}h2{font-size:var(--text-xl);font-weight:500}h3{font-size:var(--text-lg);font-weight:500}h4,h5,h6{font-size:var(--text-md);letter-spacing:var(--tracking-normal);font-weight:600}p{max-width:var(--content-measure);color:var(--color-plum);line-height:var(--leading-relaxed)}small{font-size:var(--text-xs)}a{color:var(--color-lacquer);transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-lacquer-dark)}strong,b{color:var(--color-ink);font-weight:700}hr{border:none;border-top:1px solid var(--color-plum-faint);margin:var(--space-6) 0}::selection{background:var(--color-lacquer-soft);color:var(--color-ink)}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-pad);margin-inline:auto}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-plum);font-weight:700;display:inline-block}.swatch{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);background:var(--color-lacquer);box-shadow:var(--shadow-sm);flex-shrink:0;display:inline-block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=48em){:root{--container-pad:var(--space-6)}}@media (width>=64em){:root{--container-pad:var(--space-7)}}.reveal{opacity:0;transition:opacity .6s var(--ease-standard), transform .6s var(--ease-standard);will-change:opacity, transform;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.navbar{z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-plum-faint);position:sticky;top:0}.navbar__inner{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-4);display:flex}.navbar__brand{align-items:baseline;gap:var(--space-2);font-family:var(--font-display);line-height:var(--leading-tight);white-space:nowrap;display:flex}.navbar__brand-name{font-size:var(--text-lg);color:var(--color-lacquer);font-style:italic;font-weight:500}.navbar__brand-suffix{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-plum);font-weight:600}.navbar__toggle{border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:5px;width:2.5rem;height:2.5rem;display:flex}.navbar__toggle-bar{background:var(--color-ink);border-radius:var(--radius-full);width:20px;height:2px;transition:transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);display:block}.navbar__toggle[aria-expanded=true] .navbar__toggle-bar:nth-child(2){transform:translateY(7px)rotate(45deg)}.navbar__toggle[aria-expanded=true] .navbar__toggle-bar:nth-child(3){opacity:0}.navbar__toggle[aria-expanded=true] .navbar__toggle-bar:nth-child(4){transform:translateY(-7px)rotate(-45deg)}.navbar__nav{gap:var(--space-5);padding:var(--space-5) var(--container-pad) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-plum-faint);box-shadow:var(--shadow-md);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.navbar__nav[data-open=true]{display:flex}.navbar__menu{gap:var(--space-4);flex-direction:column;display:flex}.navbar__link{align-items:center;gap:var(--space-2);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--color-plum);padding-block:var(--space-1);transition:color var(--duration-fast) var(--ease-standard);font-weight:600;display:inline-flex}.navbar__link:hover{color:var(--color-lacquer)}.navbar__link--active{color:var(--color-ink)}.navbar__link-dot{width:6px;height:6px}.navbar__cta{width:fit-content;padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.navbar__cta:hover{background:var(--color-lacquer-dark);color:var(--color-surface);box-shadow:var(--shadow-md)}@media (width>=48em){.navbar__toggle{display:none}.navbar__nav{align-items:center;gap:var(--space-6);box-shadow:none;background:0 0;border-bottom:none;flex-direction:row;padding:0;display:flex;position:static}.navbar__menu{align-items:center;gap:var(--space-5);flex-direction:row}.navbar__cta{padding:var(--space-2) var(--space-5)}}.page-transition{animation:page-transition-in .5s var(--ease-standard,cubic-bezier(.4, 0, .2, 1)) both}@keyframes page-transition-in{0%{opacity:0;transform:translateY(18px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}.hero{padding-block:var(--space-8);overflow:hidden}.hero__inner{align-items:center;gap:var(--space-8);grid-template-columns:1fr;display:grid}.hero__content{align-items:flex-start;gap:var(--space-5);flex-direction:column;display:flex}.hero__eyebrow{color:var(--color-lacquer)}.hero__title{font-size:var(--text-2xl);max-width:14ch;font-style:italic;font-weight:500}.hero__description{font-size:var(--text-md);max-width:42ch}.hero__actions{align-items:center;gap:var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.hero__cta{padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.hero__cta:hover{transform:translateY(-2px)}.hero__cta:active{transform:translateY(0)scale(.97)}.hero__cta--primary{background:var(--color-lacquer);color:var(--color-surface);box-shadow:var(--shadow-sm)}.hero__cta--primary:hover{background:var(--color-lacquer-dark);color:var(--color-surface);box-shadow:var(--shadow-md)}.hero__cta--secondary{color:var(--color-ink);border:1px solid var(--color-plum-faint);background:0 0}.hero__cta--secondary:hover{border-color:var(--color-lacquer);color:var(--color-lacquer)}.hero__visual{justify-content:center;display:flex;position:relative}.hero__glow{background:radial-gradient(closest-side, var(--color-lacquer-soft) 0%, #f4d9de00 70%);filter:blur(24px);z-index:0;height:90%;position:absolute;inset:-10% -10% auto}.hero__image{z-index:1;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);width:100%;max-width:22rem;height:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-plum-faint);position:relative}.hero__swatch{z-index:2;box-shadow:var(--shadow-md);position:absolute}.hero__swatch--one{background:var(--color-foil);width:1.5rem;height:1.5rem;top:8%;left:-4%}.hero__swatch--two{background:var(--color-lacquer-soft);width:1rem;height:1rem;bottom:14%;left:6%}.hero__swatch--three{background:var(--color-lacquer);width:2rem;height:2rem;bottom:-4%;right:10%}@media (width>=48em){.hero{padding-block:var(--space-9)}.hero__inner{gap:var(--space-9);grid-template-columns:6fr 5fr}.hero__title{max-width:12ch}}.services-preview{padding-block:var(--space-8)}.services-preview__header{align-items:flex-start;gap:var(--space-3);max-width:46ch;margin-bottom:var(--space-7);flex-direction:column;display:flex}.services-preview__title{font-size:var(--text-xl);font-weight:500}.services-preview__description{font-size:var(--text-base)}.services-preview__grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}.service-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);flex-direction:column;display:flex;position:relative}.service-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-lacquer-soft);transform:translateY(-4px)}.service-card__dot{width:.875rem;height:.875rem}.service-card__name{font-size:var(--text-lg);font-weight:500}.service-card__description{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.service-card__meta{align-items:baseline;gap:var(--space-3);padding-top:var(--space-2);margin-top:auto;display:flex}.service-card__price{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-lacquer);font-weight:500}.service-card__duration{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-plum)}.services-preview__footer{margin-top:var(--space-7);justify-content:center;display:flex}@media (width>=48em){.services-preview__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=64em){.services-preview__grid{grid-template-columns:repeat(3,1fr)}}.testimonials-preview{padding-block:var(--space-8);background:var(--color-porcelain-dim)}.testimonials-preview__header{align-items:flex-start;gap:var(--space-3);max-width:46ch;margin-bottom:var(--space-7);flex-direction:column;display:flex}.testimonials-preview__title{font-size:var(--text-xl);font-weight:500}.testimonials-preview__footer{margin-top:var(--space-7);justify-content:center;display:flex}.testimonial-list__grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}.testimonial-list__status{font-size:var(--text-sm);color:var(--color-plum)}.testimonial-card{gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.testimonial-card__rating{font-size:var(--text-base);letter-spacing:.1em;color:var(--color-lacquer)}.testimonial-card__rating-empty{color:var(--color-plum-faint)}.testimonial-card__comment{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-ink)}.testimonial-card__name{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-plum);font-weight:700}@media (width>=48em){.testimonial-list__grid{grid-template-columns:repeat(3,1fr)}}.services-page{padding-block:var(--space-8)}.services-page__header{align-items:flex-start;gap:var(--space-3);max-width:52ch;margin-bottom:var(--space-7);flex-direction:column;display:flex}.services-page__title{font-size:var(--text-xl);font-style:italic;font-weight:500}.services-page__description{font-size:var(--text-md)}.services-page__grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}.services-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);flex-direction:column;display:flex;position:relative}.services-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-lacquer-soft);transform:translateY(-4px)}.services-card__dot{width:.875rem;height:.875rem}.services-card__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.services-card__description{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.services-card__meta{align-items:baseline;gap:var(--space-3);padding-top:var(--space-2);margin-top:auto;display:flex}.services-card__price{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-lacquer);font-weight:500}.services-card__duration{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-plum)}.services-card__cta{width:100%;margin-top:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.services-card__cta:hover{background:var(--color-lacquer-dark);color:var(--color-surface);box-shadow:var(--shadow-md)}@media (width>=48em){.services-page{padding-block:var(--space-9)}.services-page__grid{grid-template-columns:repeat(2,1fr)}.services-card__cta{width:fit-content}}@media (width>=64em){.services-page__grid{grid-template-columns:repeat(3,1fr)}}.portfolio-page{padding-block:var(--space-8)}.portfolio-page__header{align-items:flex-start;gap:var(--space-3);max-width:52ch;margin-bottom:var(--space-6);flex-direction:column;display:flex}.portfolio-page__title{font-size:var(--text-xl);font-style:italic;font-weight:500}.portfolio-page__description{font-size:var(--text-md)}.portfolio-page__grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}.portfolio-card{gap:var(--space-3);flex-direction:column;display:flex}.portfolio-card__image-wrap{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-plum-faint);transition:box-shadow var(--duration-base) var(--ease-standard);overflow:hidden}.portfolio-card__image{aspect-ratio:1;object-fit:cover;width:100%;height:auto;transition:transform var(--duration-base) var(--ease-standard)}.portfolio-card:hover .portfolio-card__image-wrap{box-shadow:var(--shadow-md)}.portfolio-card:hover .portfolio-card__image{transform:scale(1.04)}.portfolio-card__caption{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.portfolio-card__dot{width:.625rem;height:.625rem}.portfolio-card__category{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-lacquer);font-weight:700}.portfolio-card__text{font-size:var(--text-sm);color:var(--color-plum)}@media (width>=48em){.portfolio-page{padding-block:var(--space-9)}.portfolio-page__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=64em){.portfolio-page__grid{grid-template-columns:repeat(3,1fr)}}.booking-page{padding-block:var(--space-8)}.booking-page__header{align-items:flex-start;gap:var(--space-3);max-width:52ch;margin-bottom:var(--space-7);flex-direction:column;display:flex}.booking-page__title{font-size:var(--text-xl);font-style:italic;font-weight:500}.booking-page__description{font-size:var(--text-md)}.booking-layout{gap:var(--space-7);grid-template-columns:1fr;align-items:start;display:grid}.booking-form{gap:var(--space-6);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.booking-field{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.booking-field-row{gap:var(--space-5);grid-template-columns:1fr;display:grid}.booking-field__label{font-size:var(--text-sm);color:var(--color-ink);letter-spacing:var(--tracking-wide);padding:0;font-weight:700}.booking-field__required{color:var(--color-lacquer)}.booking-field__error{font-size:var(--text-xs);color:var(--color-status-cancelled);font-weight:600}.booking-input{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-plum-faint);background:var(--color-porcelain);color:var(--color-ink);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.booking-input::placeholder{color:var(--color-plum);opacity:.7}.booking-input:focus-visible{border-color:var(--color-lacquer);box-shadow:var(--shadow-focus);outline:none}.booking-input[aria-invalid=true]{border-color:var(--color-status-cancelled)}.booking-input--textarea{resize:vertical;min-height:6rem;font-family:var(--font-body)}.booking-service-options{gap:var(--space-3);flex-direction:column;display:flex}.booking-service-option{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-plum-faint);background:var(--color-porcelain);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);display:flex}.booking-service-option:hover{border-color:var(--color-lacquer-soft)}.booking-service-option:has(input:checked){border-color:var(--color-lacquer);background:var(--color-lacquer-soft);box-shadow:var(--shadow-sm)}.booking-service-option:has(input:focus-visible){box-shadow:var(--shadow-focus)}.booking-service-option input[type=radio]{width:1.1rem;height:1.1rem;accent-color:var(--color-lacquer);flex-shrink:0}.booking-service-option__dot{flex-shrink:0}.booking-service-option__thumb{border-radius:var(--radius-sm);background:var(--color-plum-faint);flex-shrink:0;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex;overflow:hidden}.booking-service-option__image{object-fit:cover;width:100%;height:100%;display:block}.booking-service-option__body{flex-direction:column;gap:2px;display:flex}.booking-service-option__name{font-size:var(--text-base);color:var(--color-ink);font-weight:600}.booking-service-option__meta{font-size:var(--text-xs);color:var(--color-plum);letter-spacing:var(--tracking-wide)}.booking-submit{padding:var(--space-3) var(--space-7);border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);align-self:flex-start;font-weight:700}.booking-submit:hover:not(:disabled){background:var(--color-lacquer-dark);box-shadow:var(--shadow-md)}.booking-submit:disabled{opacity:.6;cursor:not-allowed}.booking-summary{padding:var(--space-6);background:var(--color-porcelain-dim);border:1px solid var(--color-plum-faint);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.booking-summary__list{margin-top:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.booking-summary__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-plum-faint);display:flex}.booking-summary__row:last-child{border-bottom:none;padding-bottom:0}.booking-summary__row dt{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-plum);font-weight:700}.booking-summary__row dd{font-size:var(--text-sm);color:var(--color-ink);text-align:right;margin:0;font-weight:600}.booking-summary__price{font-family:var(--font-display);color:var(--color-lacquer);font-size:var(--text-md)}@media (width>=48em){.booking-field-row{grid-template-columns:1fr 1fr}}@media (width>=64em){.booking-page{padding-block:var(--space-9)}.booking-layout{grid-template-columns:3fr 2fr}.booking-summary{top:calc(var(--space-9) + var(--space-2));position:sticky}}.booking-confirmation-page{min-height:calc(100vh - 80px);padding:clamp(3rem,7vw,6rem) 1.25rem}.booking-confirmation{width:100%;max-width:780px;margin:0 auto}.booking-confirmation__header{text-align:center;max-width:680px;margin:0 auto 2.5rem}.booking-confirmation__icon{border:1px solid var(--color-lacquer-soft);background:var(--color-lacquer-soft);width:64px;height:64px;color:var(--color-lacquer);border-radius:50%;place-items:center;margin:0 auto 1.5rem;font-size:1.5rem;font-weight:800;display:grid;box-shadow:0 8px 30px #0000000f}.booking-confirmation__header .eyebrow{margin-bottom:.75rem}.booking-confirmation__title{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(2.5rem,7vw,4.5rem);font-style:italic;font-weight:500;line-height:.98}.booking-confirmation__description{max-width:560px;color:var(--color-plum-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:1.25rem auto 0}.booking-confirmation__id-card{border:1px solid var(--color-lacquer-soft);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-lacquer-soft), var(--color-surface));box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem 1.75rem;display:flex;position:relative;overflow:hidden}.booking-confirmation__id-card:before{content:"";background:var(--color-lacquer);width:4px;height:100%;position:absolute;top:0;left:0}.booking-confirmation__id-content{min-width:0}.booking-confirmation__id-card .eyebrow{margin:0 0 .5rem}.booking-confirmation__id{color:var(--color-plum);letter-spacing:.04em;overflow-wrap:anywhere;font-family:monospace;font-size:clamp(1rem,3vw,1.25rem);font-weight:700;display:block}.booking-confirmation__id-note{max-width:520px;color:var(--color-plum-muted);font-size:var(--text-xs);line-height:var(--leading-relaxed);margin:.65rem 0 0}.booking-confirmation__copy{border:1px solid var(--color-plum-faint);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-plum);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex:none;padding:.7rem 1rem;font-weight:700}.booking-confirmation__copy:hover{border-color:var(--color-lacquer);background:var(--color-lacquer-soft);transform:translateY(-1px)}.booking-confirmation__card{border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);padding:clamp(1.25rem,4vw,2rem)}.booking-confirmation__card-header{border-bottom:1px solid var(--color-plum-faint);justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-bottom:1.5rem;display:flex}.booking-confirmation__card-header .eyebrow{margin-bottom:.4rem}.booking-confirmation__card-header h2{font-family:var(--font-display);margin:0;font-size:clamp(1.7rem,4vw,2.25rem);font-weight:500;line-height:1.1}.booking-confirmation__status{border-radius:var(--radius-full);background:var(--color-lacquer-soft);color:var(--color-lacquer-dark);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex:none;padding:.45rem .75rem;font-size:.65rem;font-weight:800}.booking-confirmation__details{margin:0}.booking-confirmation__row{border-bottom:1px solid var(--color-plum-faint);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:1rem;padding:1rem 0;display:grid}.booking-confirmation__row:last-child{border-bottom:0}.booking-confirmation__row dt{color:var(--color-plum-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:800}.booking-confirmation__row dd{color:var(--color-plum);font-size:var(--text-sm);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.booking-confirmation__price{color:var(--color-lacquer)!important;font-weight:800!important}.booking-confirmation__row--notes{align-items:flex-start}.booking-confirmation__row--notes dd{font-weight:500;line-height:var(--leading-relaxed)}.booking-confirmation__next{border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-porcelain);align-items:flex-start;gap:1rem;margin-top:1.5rem;padding:1.25rem 1.5rem;display:flex}.booking-confirmation__dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:.35rem}.booking-confirmation__next h2{color:var(--color-plum);font-size:var(--text-sm);margin:0 0 .4rem;font-weight:800}.booking-confirmation__next p{color:var(--color-plum-muted);font-size:var(--text-xs);line-height:var(--leading-relaxed);margin:0}.booking-confirmation__testimonial{border-radius:var(--radius-md);background:var(--color-plum);color:var(--color-surface);margin-top:2.5rem;padding:clamp(1.5rem,5vw,2.5rem);position:relative;overflow:hidden}.booking-confirmation__testimonial:after{content:"✦";color:#ffffff14;font-family:var(--font-display);font-size:7rem;line-height:1;position:absolute;bottom:.5rem;right:1.5rem}.booking-confirmation__testimonial .eyebrow{color:var(--color-lacquer-soft);margin-bottom:.65rem}.booking-confirmation__testimonial h2{max-width:560px;font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,5vw,2.8rem);font-style:italic;font-weight:500;line-height:1.05}.booking-confirmation__testimonial p{z-index:1;color:#ffffffbf;max-width:570px;font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:1rem 0 0;position:relative}.booking-confirmation__testimonial strong{color:#fff}.booking-confirmation__testimonial-link{z-index:2;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-plum);font-size:var(--text-xs);transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);border:1px solid #ffffff40;align-items:center;margin-top:1.25rem;padding:.7rem 1rem;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.booking-confirmation__testimonial-link:hover{background:var(--color-lacquer-soft);transform:translateY(-2px)}.booking-confirmation__actions{justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.booking-confirmation__cta{border-radius:var(--radius-full);min-height:44px;font-size:var(--text-xs);transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;padding:.7rem 1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.booking-confirmation__cta:hover{transform:translateY(-2px)}.booking-confirmation__cta--primary{background:var(--color-lacquer);color:var(--color-surface);box-shadow:var(--shadow-sm)}.booking-confirmation__cta--primary:hover{background:var(--color-lacquer-dark);box-shadow:var(--shadow-md)}.booking-confirmation__cta--secondary{border:1px solid var(--color-plum-faint);background:var(--color-surface);color:var(--color-plum)}.booking-confirmation__cta--secondary:hover{border-color:var(--color-lacquer)}@media (width<=600px){.booking-confirmation-page{padding:2.5rem 1rem 4rem}.booking-confirmation__header{margin-bottom:1.75rem}.booking-confirmation__icon{width:56px;height:56px;margin-bottom:1.25rem}.booking-confirmation__title{font-size:clamp(2.2rem,12vw,3.25rem)}.booking-confirmation__description{margin-top:1rem}.booking-confirmation__id-card{flex-direction:column;align-items:stretch;gap:1rem;padding:1.25rem}.booking-confirmation__id{font-size:.95rem}.booking-confirmation__copy{width:100%}.booking-confirmation__card{padding:1.25rem}.booking-confirmation__card-header{flex-direction:column;gap:.85rem}.booking-confirmation__status{align-self:flex-start}.booking-confirmation__row{grid-template-columns:1fr;gap:.35rem;padding:.85rem 0}.booking-confirmation__row dd{text-align:left}.booking-confirmation__next{padding:1.1rem 1.15rem}.booking-confirmation__testimonial{margin-top:1.75rem;padding:1.5rem}.booking-confirmation__testimonial h2{font-size:2rem}.booking-confirmation__actions{flex-direction:column;margin-top:1.5rem}.booking-confirmation__cta{width:100%}}.contact-page{padding-block:var(--space-8)}.contact-page__header{align-items:flex-start;gap:var(--space-3);max-width:52ch;margin-bottom:var(--space-8);flex-direction:column;display:flex}.contact-page__title{font-size:var(--text-xl);font-style:italic;font-weight:500}.contact-page__description{font-size:var(--text-md);line-height:var(--leading-relaxed)}.contact-layout{gap:var(--space-7);grid-template-columns:1fr;align-items:start;display:grid}.contact-info{gap:var(--space-4);flex-direction:column;display:flex}.contact-card{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);display:flex}.contact-card:hover{border-color:var(--color-lacquer-soft);box-shadow:var(--shadow-md);transform:translateY(-3px)}.contact-card__dot{background:var(--color-lacquer);flex-shrink:0;width:.875rem;height:.875rem;margin-top:.25rem}.contact-card__content{gap:var(--space-1);flex-direction:column;display:flex}.contact-card__label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-plum);margin:0;font-weight:700}.contact-card__value{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin:0;font-weight:500}.contact-card__description{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-plum)}.contact-side{gap:var(--space-5);flex-direction:column;display:flex}.contact-hours,.contact-location{padding:var(--space-6);background:var(--color-porcelain-dim);border:1px solid var(--color-plum-faint);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.contact-side__title{margin-top:var(--space-3);font-size:var(--text-lg);font-weight:500}.contact-hours__list{margin-top:var(--space-5);flex-direction:column;display:flex}.contact-hours__row{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--color-plum-faint);display:flex}.contact-hours__row:first-child{padding-top:0}.contact-hours__row:last-child{border-bottom:none;padding-bottom:0}.contact-hours__row span{font-size:var(--text-sm);color:var(--color-plum)}.contact-hours__row strong{font-size:var(--text-sm);color:var(--color-ink);text-align:right;font-weight:600}.contact-location__description{margin-top:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-plum)}.contact-page__cta{margin-top:var(--space-5);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.contact-page__cta:hover{background:var(--color-lacquer-dark);color:var(--color-surface);box-shadow:var(--shadow-md)}@media (width>=48em){.contact-page{padding-block:var(--space-9)}.contact-layout{gap:var(--space-8);grid-template-columns:1fr 1fr}}@media (width>=64em){.contact-layout{gap:var(--space-9);grid-template-columns:6fr 5fr}.contact-page__title{font-size:var(--text-2xl)}}@media (width<=30em){.contact-hours__row{gap:var(--space-1);flex-direction:column}.contact-hours__row strong{text-align:left}.contact-page__cta{width:100%}}.testimonial-page{min-height:calc(100vh - 80px);padding:var(--space-8) var(--space-4)}.testimonial-page__container{width:100%;max-width:760px;margin:0 auto}.testimonial-page__header{text-align:center;margin-bottom:var(--space-7)}.testimonial-page__title{margin-top:var(--space-2);font-family:var(--font-display);font-size:clamp(2.5rem,7vw,4.5rem);font-style:italic;font-weight:500;line-height:1}.testimonial-page__description{max-width:560px;margin:var(--space-4) auto 0;color:var(--color-plum-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.testimonial-page__list{margin-bottom:var(--space-8)}.testimonial-page__list-title{margin-bottom:var(--space-5);font-size:var(--text-lg);text-align:center;font-weight:500}.testimonial-page__card{padding:clamp(var(--space-5), 5vw, var(--space-8));border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md)}.testimonial-form{gap:var(--space-5);flex-direction:column;display:flex}.testimonial-form__field{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.testimonial-form__field label,.testimonial-form__field legend{color:var(--color-plum);font-size:var(--text-sm);font-weight:700}.testimonial-form__field label span,.testimonial-form__field legend span{color:var(--color-lacquer);margin-left:.25rem}.testimonial-form__field input,.testimonial-form__field textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-porcelain);color:var(--color-plum);font:inherit;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);outline:none}.testimonial-form__field textarea{resize:vertical;min-height:150px;line-height:var(--leading-relaxed)}.testimonial-form__field input:focus,.testimonial-form__field textarea:focus{border-color:var(--color-lacquer);box-shadow:0 0 0 3px var(--color-lacquer-soft)}.testimonial-form__field input:disabled,.testimonial-form__field textarea:disabled{opacity:.6;cursor:not-allowed}.testimonial-form__field small{color:var(--color-plum-muted);font-size:var(--text-xs);align-self:flex-end}.testimonial-rating{gap:.35rem;display:flex}.testimonial-rating__item{cursor:pointer}.testimonial-rating__item input{opacity:0;pointer-events:none;position:absolute}.testimonial-rating__item span{color:var(--color-plum-faint);transition:transform var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);font-size:2.25rem;line-height:1;display:block}.testimonial-rating__item--active span{color:var(--color-lacquer)}.testimonial-rating__item:hover span{transform:translateY(-2px)}.testimonial-rating__label{color:var(--color-plum-muted);font-size:var(--text-xs)}.testimonial-form__error{padding:var(--space-3) var(--space-4);border:1px solid var(--color-lacquer);border-radius:var(--radius-md);background:var(--color-lacquer-soft);color:var(--color-plum);font-size:var(--text-sm);margin:0}.testimonial-form__submit{margin-top:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font:inherit;letter-spacing:var(--tracking-wide);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border:0;font-weight:700}.testimonial-form__submit:hover:not(:disabled){background:var(--color-lacquer-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.testimonial-form__submit:disabled{opacity:.6;cursor:not-allowed}.testimonial-form__note{text-align:center;color:var(--color-plum-muted);font-size:var(--text-xs);line-height:var(--leading-relaxed);margin:0}.testimonial-page__success{padding:var(--space-6) 0;text-align:center}.testimonial-page__success-icon{width:56px;height:56px;margin:0 auto var(--space-4);background:var(--color-success-soft);color:var(--color-success);border-radius:50%;place-items:center;font-size:1.5rem;font-weight:800;display:grid}.testimonial-page__success h2{font-family:var(--font-display);font-size:2rem;font-weight:500}.testimonial-page__success p{max-width:480px;margin:var(--space-3) auto 0;color:var(--color-plum-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.testimonial-page__secondary-button{margin-top:var(--space-5);padding:var(--space-3) var(--space-5);border:1px solid var(--color-plum-faint);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-plum);font:inherit;cursor:pointer;font-weight:700}@media (width<=480px){.testimonial-page{padding:var(--space-6) var(--space-4)}.testimonial-rating__item span{font-size:1.9rem}}.testimonial-booking-summary{gap:var(--space-4);margin-block:var(--space-6);padding:var(--space-5);background:var(--color-porcelain);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.testimonial-booking-summary>div{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.testimonial-booking-summary span{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-plum);font-weight:700}.testimonial-booking-summary strong{font-size:var(--text-sm);font-weight:600;line-height:var(--leading-relaxed);overflow-wrap:anywhere}@media (width<=47.99em){.testimonial-booking-summary{gap:var(--space-5);grid-template-columns:1fr}}.admin-login-page{min-height:100vh;padding:var(--space-8) var(--space-4);background:var(--color-porcelain);justify-content:center;align-items:center;display:flex}.admin-login-card{width:100%;max-width:400px;padding:var(--space-8) var(--space-7);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.admin-login-header{margin-bottom:var(--space-7)}.admin-login-header h1{margin-top:var(--space-2);font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);font-style:italic;font-weight:500;line-height:var(--leading-tight);color:var(--color-ink)}.admin-login-header p{margin-top:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-plum)}.admin-login-form{gap:var(--space-5);flex-direction:column;display:flex}.admin-login-field{gap:var(--space-2);flex-direction:column;display:flex}.admin-login-field label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-plum);font-weight:700}.admin-login-field input{width:100%;padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-porcelain-dim);color:var(--color-ink);font:inherit;transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border:1px solid #0000;outline:none}.admin-login-field input::placeholder{color:var(--color-plum-faint)}.admin-login-field input:focus{background:var(--color-surface);box-shadow:var(--shadow-focus)}.admin-login-field input:disabled{opacity:.6;cursor:not-allowed}.admin-login-error{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-status-cancelled-bg);color:var(--color-status-cancelled);font-size:var(--text-sm);line-height:var(--leading-snug)}.admin-login-form .admin-login-error{margin-bottom:0}.admin-login-form button{margin-top:var(--space-2);padding:var(--space-4) var(--space-5);border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font:inherit;letter-spacing:var(--tracking-wide);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:0;font-weight:700}.admin-login-form button:hover:not(:disabled){background:var(--color-lacquer-dark);transform:translateY(-1px)}.admin-login-form button:active:not(:disabled){transform:translateY(0)}.admin-login-form button:disabled{opacity:.7;cursor:not-allowed}@media (width<=480px){.admin-login-page{padding:var(--space-6) var(--space-4)}.admin-login-card{padding:var(--space-6) var(--space-5)}}.admin-dashboard{width:100%}.admin-dashboard__header{margin-bottom:var(--space-7)}.admin-dashboard__title{margin-top:var(--space-2);font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-style:italic;font-weight:500;line-height:1}.admin-dashboard__description{max-width:55ch;margin-top:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.admin-dashboard__message{padding:var(--space-5);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-surface)}.admin-dashboard__message--error{color:var(--color-lacquer-dark)}.admin-dashboard__stats{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.admin-stat-card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.admin-stat-card__label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:700}.admin-stat-card__value{margin-top:var(--space-3);font-family:var(--font-display);color:var(--color-lacquer);font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1}.admin-stat-card__hint{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-plum)}.admin-dashboard__section{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.admin-dashboard__section-header{margin-bottom:var(--space-5)}.admin-dashboard__section-header h2{margin-top:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.admin-dashboard__empty{padding:var(--space-6);border:1px dashed var(--color-plum-faint);border-radius:var(--radius-md);text-align:center;font-size:var(--text-sm)}.admin-booking-table-wrapper{width:100%;overflow-x:auto}.admin-booking-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.admin-booking-table th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-plum-faint);text-align:left;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:700}.admin-booking-table td{padding:var(--space-4);border-bottom:1px solid var(--color-plum-faint);vertical-align:top}.admin-booking-table tbody tr:last-child td{border-bottom:0}.admin-booking-table tbody tr:hover{background:var(--color-porcelain)}.admin-booking-table td strong{font-weight:700;display:block}.admin-booking-table__phone,.admin-booking-table__time{font-size:var(--text-xs);color:var(--color-plum);margin-top:.25rem;display:block}.admin-status{border-radius:var(--radius-full);font-size:var(--text-xs);align-items:center;padding:.35rem .7rem;font-weight:700;display:inline-flex}.admin-status--pending{background:var(--color-status-pending-bg);color:var(--color-status-pending)}.admin-status--confirmed{background:var(--color-status-confirmed-bg);color:var(--color-status-confirmed)}.admin-status--completed{background:var(--color-status-completed-bg);color:var(--color-status-completed)}.admin-status--cancelled{background:var(--color-status-cancelled-bg);color:var(--color-status-cancelled)}@media (width<=1000px){.admin-dashboard__stats{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.admin-dashboard__title{font-size:2.5rem}.admin-dashboard__stats{grid-template-columns:1fr}.admin-dashboard__section{padding:var(--space-4)}.admin-booking-table{min-width:700px}}.admin-layout{background:var(--color-porcelain);min-height:100vh;color:var(--color-plum);display:flex}.admin-sidebar{z-index:50;background:var(--color-surface);border-right:1px solid var(--color-plum-faint);flex-direction:column;width:250px;height:100vh;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.admin-sidebar__brand{align-items:center;gap:12px;padding:4px 8px;display:flex}.admin-sidebar__brand-mark{background:var(--color-lacquer);width:40px;height:40px;color:var(--color-surface);font-family:var(--font-display);box-shadow:var(--shadow-sm);border-radius:12px;place-items:center;font-size:1.35rem;font-style:italic;font-weight:600;display:grid}.admin-sidebar__brand strong{font-family:var(--font-display);font-size:1.25rem;font-weight:600;display:block}.admin-sidebar__brand span{color:var(--color-plum-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:1px;font-size:.68rem;display:block}.admin-sidebar__divider{background:var(--color-plum-faint);height:1px;margin:26px 8px}.admin-sidebar__nav{flex-direction:column;gap:5px;display:flex}.admin-sidebar__label{color:var(--color-plum-muted);letter-spacing:.12em;margin:0 10px 10px;font-size:.65rem;font-weight:800}.admin-sidebar__link{min-height:46px;color:var(--color-plum-muted);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border-radius:11px;align-items:center;gap:13px;padding:0 12px;font-size:.88rem;font-weight:600;text-decoration:none;display:flex;position:relative}.admin-sidebar__link:hover{background:var(--color-porcelain);color:var(--color-plum);transform:translate(2px)}.admin-sidebar__link--active,.admin-sidebar__link--active:hover{background:var(--color-lacquer-soft);color:var(--color-lacquer-dark)}.admin-sidebar__icon{place-items:center;width:24px;font-size:1.05rem;display:grid}.admin-sidebar__bottom{margin-top:auto}.admin-sidebar__bottom .admin-sidebar__divider{margin-top:20px;margin-bottom:18px}.admin-sidebar__studio{background:var(--color-porcelain);border-radius:10px;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:flex}.admin-sidebar__studio-dot{background:var(--color-success);border-radius:50%;flex-shrink:0;width:8px;height:8px}.admin-sidebar__studio strong{font-size:.75rem;display:block}.admin-sidebar__studio span:last-child{color:var(--color-plum-muted);margin-top:2px;font-size:.65rem;display:block}.admin-sidebar__logout{width:100%;min-height:42px;color:var(--color-plum-muted);font:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-size:.82rem;font-weight:600;display:flex}.admin-sidebar__logout:hover{background:var(--color-porcelain);color:var(--color-lacquer)}.admin-main{width:calc(100% - 250px);min-height:100vh;margin-left:250px}.admin-topbar{background:var(--color-surface);border-bottom:1px solid var(--color-plum-faint);justify-content:space-between;align-items:center;min-height:86px;padding:18px 38px;display:flex}.admin-topbar__eyebrow{color:var(--color-plum-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 3px;font-size:.63rem;font-weight:800}.admin-topbar h1{font-family:var(--font-display);margin:0;font-size:1.45rem;font-weight:500}.admin-topbar__right{align-items:center;gap:14px;display:flex}.admin-topbar__status{border:1px solid var(--color-plum-faint);color:var(--color-plum-muted);border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:.7rem;font-weight:700;display:flex}.admin-topbar__status span{background:var(--color-success);border-radius:50%;width:7px;height:7px}.admin-topbar__avatar{background:var(--color-plum);width:38px;height:38px;color:var(--color-surface);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.admin-content{width:100%;max-width:1440px;margin:0 auto;padding:36px 38px 60px}@media (width<=900px){.admin-sidebar{width:220px}.admin-main{width:calc(100% - 220px);margin-left:220px}.admin-topbar,.admin-content{padding-left:25px;padding-right:25px}}@media (width<=700px){.admin-sidebar{width:100%;height:auto;padding:12px 15px;position:fixed;bottom:auto}.admin-sidebar__brand{justify-content:center}.admin-sidebar__nav{flex-direction:row;margin-top:10px;overflow-x:auto}.admin-sidebar__label,.admin-sidebar__bottom,.admin-sidebar__divider{display:none}.admin-sidebar__link{flex-shrink:0;min-height:40px;padding:0 12px}.admin-sidebar__link span:last-child{font-size:.72rem}.admin-main{width:100%;margin-left:0;padding-top:112px}.admin-topbar{min-height:70px;padding:14px 18px}.admin-topbar__status{display:none}.admin-topbar h1{font-size:1.2rem}.admin-content{padding:24px 18px 45px}}.booking-management{padding:var(--space-8)}.booking-management__header{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.booking-management__title{margin-top:var(--space-2);font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.5rem);font-style:italic;font-weight:500;line-height:1}.booking-management__description{margin-top:var(--space-3);color:var(--color-plum);line-height:var(--leading-relaxed)}.booking-management__refresh{padding:var(--space-3) var(--space-5);border:1px solid var(--color-plum-faint);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-plum);font:inherit;cursor:pointer;flex-shrink:0;font-weight:700}.booking-management__refresh:hover{border-color:var(--color-lacquer)}.booking-management__refresh:disabled{opacity:.6;cursor:wait}.booking-management__filters{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.booking-filter{padding:var(--space-2) var(--space-4);border:1px solid var(--color-plum-faint);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-plum);font:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}.booking-filter:hover{border-color:var(--color-lacquer)}.booking-filter--active{background:var(--color-lacquer);border-color:var(--color-lacquer);color:var(--color-surface)}.booking-management__message,.booking-management__error{padding:var(--space-4)}.booking-management__error{margin-bottom:var(--space-5);border-radius:var(--radius-md);background:var(--color-lacquer-soft);color:var(--color-lacquer-dark)}.booking-management__empty{padding:var(--space-8);border:1px dashed var(--color-plum-faint);border-radius:var(--radius-md);text-align:center}.booking-management__empty h2{font-family:var(--font-display);font-size:var(--text-lg)}.booking-management__empty p{margin-top:var(--space-2)}.booking-management__list{gap:var(--space-5);display:grid}.booking-card{padding:var(--space-6);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.booking-card__top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-plum-faint);display:flex}.booking-card__customer{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.booking-card__service{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-plum)}.booking-status{border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);flex-shrink:0;padding:.4rem .75rem;font-weight:700}.booking-status--pending{color:#705d18;background:#f4e7b8}.booking-status--confirmed{color:#35613b;background:#dcebdc}.booking-status--completed{color:#49495f;background:#e2e2ec}.booking-status--cancelled{color:#7d3535;background:#f0d7d7}.booking-card__details{gap:var(--space-4);padding-block:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.booking-detail{gap:var(--space-1);flex-direction:column;display:flex}.booking-detail__label{font-size:var(--text-xs);color:var(--color-plum);letter-spacing:var(--tracking-wide)}.booking-detail__value{font-size:var(--text-sm);font-weight:600}.booking-card__contact{gap:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--color-plum-faint);font-size:var(--text-sm);flex-direction:column;display:flex}.booking-card__contact strong,.booking-card__notes strong{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-plum)}.booking-card__notes{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-porcelain)}.booking-card__notes p{margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.booking-card__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-plum-faint);display:flex}.booking-card__actions label{font-size:var(--text-sm);font-weight:700}.booking-card__actions select{min-width:160px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-plum);font:inherit}.booking-card__actions select:focus{border-color:var(--color-lacquer);box-shadow:0 0 0 3px var(--color-lacquer-soft);outline:none}.booking-card__saving{font-size:var(--text-xs);color:var(--color-plum)}@media (width<=700px){.booking-management{padding:var(--space-5)}.booking-management__header{flex-direction:column;align-items:flex-start}.booking-card{padding:var(--space-5)}.booking-card__top{flex-direction:column}.booking-card__details{grid-template-columns:1fr}.booking-card__actions{flex-direction:column;align-items:flex-start}.booking-card__actions select{width:100%}}.admin-services{padding-block:var(--space-8)}.admin-services__header{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-7);display:flex}.admin-services__title{margin-top:var(--space-2);font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4rem);font-style:italic;font-weight:500;line-height:1}.admin-services__description{max-width:60ch;margin-top:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.admin-services__add-button,.admin-services__primary-button{border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font:inherit;letter-spacing:var(--tracking-wide);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border:0;font-weight:700}.admin-services__add-button{padding:var(--space-3) var(--space-5);white-space:nowrap}.admin-services__primary-button{padding:var(--space-3) var(--space-5)}.admin-services__add-button:hover,.admin-services__primary-button:hover{background:var(--color-lacquer-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-services__alert{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.admin-services__alert--error{border:1px solid var(--color-plum-faint)}.admin-services__alert--success{border:1px solid var(--color-lacquer-soft)}.admin-services__form-card{margin-bottom:var(--space-7);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.admin-services__form-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.admin-services__form-header h2{margin-top:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.admin-services__close-button{border:1px solid var(--color-plum-faint);border-radius:var(--radius-full);width:2.25rem;height:2.25rem;color:var(--color-plum);cursor:pointer;background:0 0;font-size:1.4rem;line-height:1}.admin-services__form{gap:var(--space-6);flex-direction:column;display:flex}.admin-services__form-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.admin-services__field{gap:var(--space-2);flex-direction:column;display:flex}.admin-services__field--full{grid-column:1/-1}.admin-services__field label{font-size:var(--text-sm);font-weight:700}.admin-services__field input,.admin-services__field textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-porcelain);color:var(--color-plum);font:inherit;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);outline:none}.admin-services__field textarea{resize:vertical}.admin-services__field input:focus,.admin-services__field textarea:focus{border-color:var(--color-lacquer);box-shadow:0 0 0 3px var(--color-lacquer-soft)}.admin-services__source-toggle{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-full);background:var(--color-porcelain);width:fit-content;display:inline-flex}.admin-services__source-tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);color:var(--color-plum);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;font-weight:700}.admin-services__source-tab--active{background:var(--color-lacquer);color:var(--color-surface)}.admin-services__hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-plum-faint)}.admin-services__progress{margin-top:var(--space-3);border-radius:var(--radius-full);background:var(--color-porcelain);height:24px;position:relative;overflow:hidden}.admin-services__progress-bar{background:var(--color-lacquer);height:100%;transition:width var(--duration-fast) var(--ease-standard)}.admin-services__progress span{font-size:var(--text-xs);color:var(--color-ink);justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.admin-services__preview{padding-top:var(--space-2)}.admin-services__preview p{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:700}.admin-services__preview img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-plum-faint);width:180px;height:130px;display:block}.admin-services__checkbox{align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;grid-column:1/-1;display:flex}.admin-services__checkbox input{width:1rem;height:1rem;accent-color:var(--color-lacquer)}.admin-services__form-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.admin-services__secondary-button,.admin-services__danger-button{padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);font-weight:700}.admin-services__secondary-button{border:1px solid var(--color-plum-faint);background:var(--color-surface);color:var(--color-plum)}.admin-services__danger-button{border:1px solid var(--color-plum-faint);color:var(--color-plum);background:0 0}.admin-services__secondary-button:hover,.admin-services__danger-button:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-services__list{gap:var(--space-4);flex-direction:column;display:flex}.admin-services__empty{padding:var(--space-8);text-align:center;background:var(--color-surface);border:1px dashed var(--color-plum-faint);border-radius:var(--radius-md)}.admin-services__empty h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.admin-services__empty p{margin-block:var(--space-2) var(--space-5);font-size:var(--text-sm)}.admin-service-card{justify-content:space-between;align-items:stretch;gap:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);display:flex}.admin-service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-service-card--inactive{opacity:.65}.admin-service-card__main{gap:var(--space-4);min-width:0;display:flex}.admin-service-card__swatch{padding-top:.3rem}.admin-service-card__swatch .swatch{width:1rem;height:1rem;display:block}.admin-service-card__content{min-width:0}.admin-service-card__top{align-items:flex-start;gap:var(--space-4);display:flex}.admin-service-card__top h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.admin-service-card__category{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);margin-top:.25rem;display:inline-block}.admin-service-card__status{border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;padding:.3rem .65rem;font-weight:700}.admin-service-card__status--active{background:var(--color-lacquer-soft)}.admin-service-card__status--inactive{border:1px solid var(--color-plum-faint)}.admin-service-card__description{max-width:70ch;margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.admin-service-card__meta{align-items:center;gap:var(--space-3);margin-top:var(--space-4);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.admin-service-card__meta strong{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-lacquer)}.admin-service-card__actions{place-content:center flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=768px){.admin-services__header{flex-direction:column;align-items:flex-start}.admin-services__add-button{width:100%}.admin-services__form-grid{grid-template-columns:1fr}.admin-services__field--full{grid-column:auto}.admin-service-card{flex-direction:column}.admin-service-card__actions{justify-content:flex-start}}@media (width<=480px){.admin-services{padding-block:var(--space-6)}.admin-services__form-card,.admin-service-card{padding:var(--space-4)}.admin-service-card__top{gap:var(--space-2);flex-direction:column}.admin-services__form-actions{flex-direction:column-reverse}.admin-services__form-actions button{width:100%}}.business-settings{width:100%;max-width:1100px;padding:var(--space-8) var(--space-4);margin:0 auto}.business-settings__header{margin-bottom:var(--space-7)}.business-settings__title{margin-top:var(--space-2);font-family:var(--font-display);color:var(--color-plum);font-size:clamp(2.5rem,6vw,4rem);font-style:italic;font-weight:500;line-height:1}.business-settings__description{max-width:620px;margin-top:var(--space-3);color:var(--color-plum);font-size:var(--text-sm);line-height:var(--leading-relaxed);opacity:.75}.business-settings__form{gap:var(--space-5);flex-direction:column;display:flex}.business-settings__section{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.business-settings__section-header{margin-bottom:var(--space-5)}.business-settings__section-header h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-plum);margin:0;font-weight:500}.business-settings__section-header p{margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-relaxed);opacity:.7}.business-settings__days{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.business-settings__day{min-height:54px;padding:var(--space-3);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-porcelain);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;display:flex;position:relative}.business-settings__day:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.business-settings__day input{opacity:0;pointer-events:none;position:absolute}.business-settings__day span{font-size:var(--text-sm);font-weight:700}.business-settings__day--active{border-color:var(--color-lacquer);background:var(--color-lacquer-soft);color:var(--color-lacquer-dark)}.business-settings__hours{align-items:end;gap:var(--space-4);display:flex}.business-settings__field{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.business-settings__field label{font-size:var(--text-sm);font-weight:700}.business-settings__field input,.business-settings__blocked-add input{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-porcelain);color:var(--color-plum);font:inherit;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);outline:none}.business-settings__field input:focus,.business-settings__blocked-add input:focus{border-color:var(--color-lacquer);box-shadow:0 0 0 3px var(--color-lacquer-soft)}.business-settings__hint{font-size:var(--text-xs);color:var(--color-plum-faint)}.business-settings__progress{border-radius:var(--radius-full);background:var(--color-porcelain);height:24px;position:relative;overflow:hidden}.business-settings__progress-bar{background:var(--color-lacquer);height:100%;transition:width var(--duration-fast) var(--ease-standard)}.business-settings__progress span{font-size:var(--text-xs);color:var(--color-ink);justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.business-settings__preview{gap:var(--space-2);flex-direction:column;display:flex}.business-settings__preview p{font-size:var(--text-xs);color:var(--color-plum);font-weight:700}.business-settings__preview img{border-radius:var(--radius-md);border:1px solid var(--color-plum-faint);width:100%;max-width:320px}.business-settings__separator{opacity:.5;padding-bottom:14px;font-weight:700}.business-settings__blocked-add{max-width:320px;margin-bottom:var(--space-4)}.business-settings__blocked-list{gap:var(--space-2);flex-direction:column;display:flex}.business-settings__blocked-item{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-porcelain);display:flex}.business-settings__blocked-item span{font-size:var(--text-sm);font-weight:700}.business-settings__blocked-item button{color:var(--color-lacquer-dark);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:700}.business-settings__blocked-item button:hover{text-decoration:underline}.business-settings__empty{font-size:var(--text-sm);opacity:.6;margin:0}.business-settings__error,.business-settings__success{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin:0;font-weight:700}.business-settings__error{border:1px solid var(--color-danger,#c94b4b);background:var(--color-danger-soft,#fff1f1);color:var(--color-danger,#a83232)}.business-settings__success{border:1px solid var(--color-success,#4c9a6a);background:var(--color-success-soft,#effaf3);color:var(--color-success,#287047)}.business-settings__actions{justify-content:flex-end;display:flex}.business-settings__actions button{min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font:inherit;letter-spacing:var(--tracking-wide);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);border:0;font-weight:700}.business-settings__actions button:hover:not(:disabled){background:var(--color-lacquer-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.business-settings__actions button:active:not(:disabled){transform:translateY(0)}.business-settings__actions button:disabled{opacity:.6;cursor:not-allowed}.business-settings__loading{min-height:60vh;font-size:var(--text-sm);opacity:.7;place-items:center;display:grid}@media (width<=700px){.business-settings{padding:var(--space-6) var(--space-4)}.business-settings__section{padding:var(--space-5)}.business-settings__days{grid-template-columns:repeat(2,minmax(0,1fr))}.business-settings__hours{flex-direction:column;align-items:stretch}.business-settings__separator{display:none}.business-settings__actions{justify-content:stretch}.business-settings__actions button{width:100%}}@media (width<=420px){.business-settings__days{grid-template-columns:1fr}.business-settings__section{padding:var(--space-4)}}.gallery-management{width:100%;max-width:1200px;padding:var(--space-8) var(--space-4);margin:0 auto}.gallery-management__header{justify-content:space-between;align-items:end;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.gallery-management__title{margin-top:var(--space-2);font-family:var(--font-display);color:var(--color-plum);font-size:clamp(2.5rem,6vw,4rem);font-style:italic;font-weight:500;line-height:1}.gallery-management__description{max-width:620px;margin-top:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed);opacity:.7}.gallery-management__add{min-height:48px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);background:var(--color-lacquer);color:var(--color-surface);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);border:0;flex-shrink:0;font-weight:700}.gallery-management__add:hover{background:var(--color-lacquer-dark);transform:translateY(-2px)}.gallery-management__message{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700}.gallery-management__message--error{background:var(--color-danger-soft,#fff1f1);color:var(--color-danger,#a83232);border:1px solid var(--color-danger,#c94b4b)}.gallery-management__message--success{background:var(--color-success-soft,#effaf3);color:var(--color-success,#287047);border:1px solid var(--color-success,#4c9a6a)}.gallery-management__form-card{margin-bottom:var(--space-6);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.gallery-management__section-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.gallery-management__section-header h2{margin-top:var(--space-1);font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-plum);font-weight:500}.gallery-management__close{color:var(--color-plum);font:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;font-weight:700}.gallery-management__close:hover{opacity:1}.gallery-management__form{gap:var(--space-4);flex-direction:column;display:flex}.gallery-management__field{gap:var(--space-2);flex-direction:column;display:flex}.gallery-management__field label{font-size:var(--text-sm);font-weight:700}.gallery-management__field input,.gallery-management__field select{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-porcelain);color:var(--color-plum);font:inherit;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);outline:none}.gallery-management__field input:focus,.gallery-management__field select:focus{border-color:var(--color-lacquer);box-shadow:0 0 0 3px var(--color-lacquer-soft)}.gallery-management__source-toggle{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-full);background:var(--color-porcelain);width:fit-content;display:inline-flex}.gallery-management__source-tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);color:var(--color-plum);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;font-weight:700}.gallery-management__source-tab--active{background:var(--color-lacquer);color:var(--color-surface)}.gallery-management__hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-plum-faint)}.gallery-management__progress{margin-top:var(--space-3);border-radius:var(--radius-full);background:var(--color-porcelain);height:24px;position:relative;overflow:hidden}.gallery-management__progress-bar{background:var(--color-lacquer);height:100%;transition:width var(--duration-fast) var(--ease-standard)}.gallery-management__progress span{font-size:var(--text-xs);color:var(--color-ink);justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.gallery-management__form-row{gap:var(--space-5);grid-template-columns:180px 1fr;align-items:end;display:grid}.gallery-management__checkbox{align-items:center;gap:var(--space-2);cursor:pointer;min-height:48px;font-size:var(--text-sm);font-weight:700;display:flex}.gallery-management__checkbox input{width:18px;height:18px;accent-color:var(--color-lacquer)}.gallery-management__preview{padding-top:var(--space-2)}.gallery-management__preview p{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:700}.gallery-management__preview img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-plum-faint);width:180px;height:130px;display:block}.gallery-management__form-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2);display:flex}.gallery-management__button{min-height:46px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font:inherit;cursor:pointer;font-weight:700}.gallery-management__button--primary{background:var(--color-lacquer);color:var(--color-surface);border:0}.gallery-management__button--primary:hover{background:var(--color-lacquer-dark)}.gallery-management__button--secondary{border:1px solid var(--color-plum-faint);background:var(--color-surface);color:var(--color-plum)}.gallery-management__list-section{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.gallery-management__grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gallery-card{border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-porcelain);overflow:hidden}.gallery-card__image{aspect-ratio:4/3;background:var(--color-plum-faint);position:relative;overflow:hidden}.gallery-card__image img{object-fit:cover;width:100%;height:100%;display:block}.gallery-card__image>span:not(.gallery-card__status){width:100%;height:100%;font-size:var(--text-sm);opacity:.5;place-items:center;display:grid}.gallery-card__status{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);letter-spacing:var(--tracking-wide);padding:6px 10px;font-size:11px;font-weight:800;position:absolute}.gallery-card__status--active{color:var(--color-success,#287047)}.gallery-card__status--inactive{color:var(--color-danger,#a83232)}.gallery-card__body{padding:var(--space-4)}.gallery-card__top h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-plum);margin:0;font-weight:500}.gallery-card__top p{font-size:var(--text-sm);opacity:.6;margin-top:4px}.gallery-card__actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.gallery-card__actions button{border:1px solid var(--color-plum-faint);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-plum);font:inherit;cursor:pointer;padding:8px 12px;font-size:12px;font-weight:700}.gallery-card__actions button:hover{border-color:var(--color-lacquer)}.gallery-card__actions .gallery-card__delete{color:var(--color-danger,#a83232)}.gallery-card__actions button:disabled{opacity:.5;cursor:not-allowed}.gallery-management__empty{place-items:center;gap:var(--space-3);min-height:220px;padding:var(--space-6);border:1px dashed var(--color-plum-faint);border-radius:var(--radius-md);text-align:center;display:grid}.gallery-management__empty p{font-size:var(--text-sm);opacity:.6;margin:0}@media (width<=900px){.gallery-management__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.gallery-management{padding:var(--space-6) var(--space-4)}.gallery-management__header{flex-direction:column;align-items:stretch}.gallery-management__add{width:100%}.gallery-management__form-card,.gallery-management__list-section{padding:var(--space-5)}.gallery-management__form-row{grid-template-columns:1fr}}@media (width<=520px){.gallery-management__grid{grid-template-columns:1fr}.gallery-management__form-actions{flex-direction:column-reverse}.gallery-management__button{width:100%}}.admin-testimonials{width:100%;max-width:1200px;padding:var(--space-8) var(--space-4);margin:0 auto}.admin-testimonials__header{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-7);display:flex}.admin-testimonials__title{margin-top:var(--space-2);font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4rem);font-style:italic;font-weight:500;line-height:1}.admin-testimonials__description{max-width:600px;margin-top:var(--space-3);color:var(--color-plum-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.admin-testimonials__refresh{padding:var(--space-3) var(--space-5);border:1px solid var(--color-plum-faint);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-plum);font:inherit;cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);flex-shrink:0;font-weight:700}.admin-testimonials__refresh:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.admin-testimonials__refresh:disabled{opacity:.6;cursor:not-allowed;transform:none}.admin-testimonials__alert{margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid var(--color-lacquer);border-radius:var(--radius-md);background:var(--color-lacquer-soft);color:var(--color-plum);font-size:var(--text-sm)}.admin-testimonials__list{gap:var(--space-4);display:grid}.admin-testimonial-card{padding:var(--space-5);border:1px solid var(--color-plum-faint);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-testimonial-card__top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.admin-testimonial-card__name{font-size:var(--text-lg);font-weight:700}.admin-testimonial-card__date{margin-top:var(--space-1);color:var(--color-plum-muted);font-size:var(--text-xs)}.admin-testimonial-card__status{border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;padding:.4rem .75rem;font-weight:700}.admin-testimonial-card__status--pending{background:var(--color-warning-soft);color:var(--color-warning)}.admin-testimonial-card__status--approved{background:var(--color-success-soft);color:var(--color-success)}.admin-testimonial-card__status--rejected{background:var(--color-danger-soft);color:var(--color-danger)}.admin-testimonial-card__rating{margin-top:var(--space-4);letter-spacing:.08em;font-size:1.15rem}.admin-testimonial-card__rating span{opacity:.25}.admin-testimonial-card__content{margin-top:var(--space-3);color:var(--color-plum);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.admin-testimonial-card__actions{gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-plum-faint);flex-wrap:wrap;display:flex}.admin-testimonial-card__button{border-radius:var(--radius-full);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);border:0;padding:.65rem 1rem;font-weight:700}.admin-testimonial-card__button:hover:not(:disabled){transform:translateY(-1px)}.admin-testimonial-card__button:disabled{opacity:.45;cursor:not-allowed}.admin-testimonial-card__button--approve{background:var(--color-success-soft);color:var(--color-success)}.admin-testimonial-card__button--reject{background:var(--color-warning-soft);color:var(--color-warning)}.admin-testimonial-card__button--delete{background:var(--color-danger-soft);color:var(--color-danger);margin-left:auto}.admin-testimonials__empty{padding:var(--space-8);border:1px dashed var(--color-plum-faint);border-radius:var(--radius-md);text-align:center;color:var(--color-plum-muted)}.admin-testimonials__empty-title{margin-bottom:var(--space-2);color:var(--color-plum);font-weight:700}@media (width<=640px){.admin-testimonials{padding:var(--space-6) var(--space-4)}.admin-testimonials__header{flex-direction:column;align-items:stretch}.admin-testimonials__refresh{align-self:flex-start}.admin-testimonial-card__top,.admin-testimonial-card__actions{flex-direction:column}.admin-testimonial-card__button{width:100%}.admin-testimonial-card__button--delete{margin-left:0}}
