:root{--ivory:#f5f0e9;--paper:#fbf8f3;--charcoal:#211f1c;--ink:#292723;--mauve:#9b6a70;--mauve-deep:#6b3f4e;--sand:#d8c9bb;--line:#ddd3c8;--white:#fff;--text-muted:#7a6e64;--field-border:#cfc4b8;--error:#8a2f2f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--charcoal);font-family:Jost,sans-serif;font-weight:300;line-height:1.55}button,input,textarea{font:inherit}a,button{color:inherit}a{text-decoration:none}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:500}.script{font-family:Parisienne,cursive}.wrap{max-width:640px;margin:0 auto;padding:0 20px}.override-closed,.override-open,.status-cancelled,.status-checked_in,.status-completed,.status-confirmed,.status-no_show,.status-ready_for_checkout,.status-requested,.status-scheduled{padding:4px 12px;font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.status-requested{color:#7a6e64;background:#ede4d8}.status-scheduled{color:#83505a;background:#f1e4df}.status-confirmed{color:#6b3f4e;background:#ecdad5}.status-checked_in{color:#fff;background:#211f1c}.status-ready_for_checkout{color:#fff;background:#4f2d38}.status-completed{color:#3a3733;background:#e4dfd7}.status-cancelled{color:#8a2f2f;background:#f0dada}.status-no_show{color:#5c1420;background:#e8c5cb}.override-open{color:#6b3f4e;background:#ecdad5}.override-closed{color:#8a2f2f;background:#f0dada}.fc-event-status,.fc-event-title{color:#fff}.fc-event-status{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.fc-event-title{font-size:.78rem;line-height:1.2}.site-shell{overflow:hidden}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,72px);background:hsla(38,50%,97%,.96);position:relative;z-index:20;border-bottom:1px solid rgba(33,31,28,.08)}.brand{display:flex;align-items:baseline;gap:8px;font-family:Cormorant Garamond,serif;font-size:1.1rem}.brand strong{font-family:Parisienne,cursive;color:var(--mauve-deep);font-size:1.45rem;font-weight:400}.site-header nav{display:flex;align-items:center;gap:30px;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}.site-header nav a:hover{opacity:.55}.nav-book{border:1px solid var(--charcoal);background:transparent;padding:10px 18px;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;cursor:pointer}.nav-book:hover{background:var(--charcoal);color:#fff}.editorial-hero{min-height:690px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,48vw);background:var(--ivory)}.hero-copy{padding:clamp(70px,10vw,145px) clamp(30px,7vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:500;color:var(--mauve-deep);margin-bottom:22px}.hero-copy h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.84;letter-spacing:-.035em;max-width:700px}.contact-section h2 em,.hero-copy h1 em,.section-heading h2 em{font-family:Parisienne,cursive;font-style:normal;color:var(--mauve-deep);font-weight:400}.hero-lede{font-size:1.05rem;max-width:470px;margin:34px 0;color:#5e5851}.primary-cta,.submit-request{border:0;background:var(--charcoal);color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;padding:17px 26px;cursor:pointer}.primary-cta:hover,.submit-request:hover{background:var(--mauve-deep)}.hero-image-wrap{position:relative;min-height:690px;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;filter:saturate(.9)}.hero-stamp{position:absolute;right:32px;bottom:32px;background:hsla(38,50%,97%,.92);padding:20px 24px;text-align:center;font-family:Cormorant Garamond,serif}.hero-stamp span{display:block;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.hero-stamp strong{font-family:Parisienne,cursive;color:var(--mauve-deep);font-size:1.6rem;font-weight:400}.intro-strip{background:var(--charcoal);color:#eee7df;display:flex;justify-content:center;align-items:center;gap:28px;padding:22px 30px;font-family:Cormorant Garamond,serif;font-size:1.1rem;letter-spacing:.02em}.intro-strip span{color:var(--mauve)}.work-section{padding:110px clamp(24px,6vw,90px) 130px;background:var(--paper)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px}.section-heading h2{font-size:clamp(3rem,5vw,5.5rem);line-height:.9}.work-grid{display:grid;grid-template-columns:1.3fr .9fr .9fr;grid-template-rows:330px 330px;grid-gap:14px;gap:14px}.work-grid img{width:100%;height:100%;object-fit:cover;display:block}.work-grid img:first-child{grid-row:1/3}.work-grid img:nth-child(2){grid-column:2}.work-grid img:nth-child(3){grid-column:3}.work-grid img:nth-child(4){grid-column:2}.work-grid img:nth-child(5){grid-column:3}.booking-section{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);grid-gap:clamp(40px,7vw,110px);gap:clamp(40px,7vw,110px);padding:120px clamp(24px,7vw,110px);background:#eee6dc}.booking-intro{position:-webkit-sticky;position:sticky;top:40px;align-self:start}.booking-intro h2{font-size:clamp(3rem,5vw,5rem);line-height:.92;margin-bottom:25px}.booking-intro>p:not(.kicker){max-width:430px;color:#5f5850;margin-bottom:18px}.minimum-note{font-size:.8rem;border-top:1px solid #cfc0b2;padding-top:18px}.booking-panel{background:var(--paper);padding:clamp(24px,4vw,58px)}.booking-step{padding:10px 0 48px;border-bottom:1px solid var(--line);margin-bottom:42px}.booking-step:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.step-label{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}.step-label>span{color:var(--mauve);font-size:1.25rem}.step-label strong,.step-label>span{font-family:Cormorant Garamond,serif}.step-label strong{display:block;font-size:1.75rem;font-weight:500;line-height:1.1}.step-label small{display:block;color:#81786e;font-size:.75rem;margin-top:5px}.step-muted .step-label{opacity:.55}.availability-note,.step-prompt{font-size:.85rem;color:#81786e}.service-category{border-top:1px solid var(--line)}.service-category:last-child{border-bottom:1px solid var(--line)}.category-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:17px 2px;font-family:Cormorant Garamond,serif;font-size:1.25rem;cursor:pointer;text-align:left}.category-toggle b{display:inline-flex;align-items:center;justify-content:center;margin-left:9px;width:21px;height:21px;border-radius:50%;background:var(--mauve-deep);color:#fff;font-family:Jost,sans-serif;font-size:.65rem}.service-list{padding:0 0 12px}.service-option{width:100%;border:0;border-top:1px solid #eee6dd;background:transparent;display:grid;grid-template-columns:26px 1fr auto;grid-gap:10px;gap:10px;align-items:center;text-align:left;padding:13px 5px;cursor:pointer}.service-option:hover{background:#f5eee6}.service-option.selected{background:#f1e4df}.service-check{width:18px;height:18px;border:1px solid #a99b8e;display:flex;align-items:center;justify-content:center;font-size:.72rem}.service-option.selected .service-check{background:var(--mauve-deep);border-color:var(--mauve-deep);color:#fff}.service-name{font-size:.9rem}.service-price{font-size:.8rem;color:#776d63;white-space:nowrap}.service-summary{margin-top:28px;background:var(--charcoal);color:#fff;padding:24px}.summary-title{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:#d8c9bb;margin-bottom:14px}.summary-row,.summary-total{display:flex;justify-content:space-between;gap:20px;padding:7px 0;font-size:.85rem}.summary-row span:last-child{white-space:nowrap;color:#e7ddd3}.summary-total{border-top:1px solid #5a554e;margin-top:10px;padding-top:16px;align-items:baseline}.summary-total strong{font-family:Cormorant Garamond,serif;font-size:1.55rem;font-weight:500}.redesign-field{margin-bottom:18px}.redesign-field label{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;font-weight:500;margin-bottom:7px;color:#6d655d}.redesign-field label span{font-weight:300;text-transform:none;letter-spacing:0}.redesign-field input,.redesign-field textarea{width:100%;border:1px solid #cfc4b8;background:#fff;border-radius:0;padding:13px 14px;font-size:.9rem;color:var(--charcoal);outline:none}.redesign-field input:focus,.redesign-field textarea:focus{border-color:var(--mauve-deep)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.time-grid button{border:1px solid #cfc4b8;background:#fff;padding:11px 5px;font-size:.8rem;cursor:pointer}.time-grid button.selected,.time-grid button:hover{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px}.details-grid .full{grid-column:1/-1}.square-card{border:1px solid #cfc4b8;background:#fff;padding:10px;min-height:48px}.fine-print{font-size:.72rem;color:#81786e;margin-top:8px}.sms-row{display:flex;align-items:flex-start;gap:10px;font-size:.72rem;color:#71685f;margin:18px 0 24px}.sms-row input{margin-top:3px}.sms-row a{text-decoration:underline}.form-error{color:#8a2f2f;font-size:.82rem;margin-bottom:14px}.submit-request{width:100%;padding:17px}.submit-request:disabled{opacity:.4;cursor:not-allowed}.redesign-confirm{text-align:center;padding:80px 20px}.redesign-confirm h2{font-size:3rem;margin-bottom:18px}.redesign-confirm>p{max-width:520px;margin:0 auto 12px}.contact-section{padding:100px clamp(24px,7vw,110px);display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:80px;gap:80px;background:var(--charcoal);color:#f4eee7}.contact-section .kicker{color:#c9a8ae}.contact-section h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.95}.contact-section h2 em{display:block;color:#d5aeb5}.contact-details{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:35px;gap:35px;align-self:end;font-size:.85rem;color:#d7d0c8}.contact-details strong{color:#fff;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}.site-footer{background:#171614;color:#aaa19a;border-top:1px solid #34312d;padding:24px clamp(24px,7vw,110px);display:flex;justify-content:space-between}.site-footer,.site-footer button{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.site-footer button{border:0;background:none;color:#ddd4cc;cursor:pointer}@media(max-width:900px){.site-header nav a{display:none}.editorial-hero{grid-template-columns:1fr 1fr}.editorial-hero,.hero-image-wrap{min-height:580px}.hero-copy{padding:70px 36px}.hero-copy h1{font-size:4.5rem}.work-grid{grid-template-rows:260px 260px}.booking-section{grid-template-columns:1fr}.booking-intro{position:static}.contact-section{grid-template-columns:1fr}.contact-details{margin-top:20px}}@media(max-width:640px){.site-header{height:70px;padding:0 18px}.brand span{display:none}.site-header nav{gap:0}.nav-book{padding:9px 15px}.editorial-hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:62px 24px 52px;order:2}.hero-copy h1{font-size:clamp(3.6rem,18vw,5.4rem)}.hero-lede{font-size:.95rem;margin:26px 0}.hero-image-wrap{order:1;min-height:480px;height:62vh}.hero-stamp{right:16px;bottom:16px}.intro-strip{justify-content:flex-start;overflow:hidden;white-space:nowrap;font-size:.95rem;padding:17px 20px}.work-section{padding:80px 18px}.section-heading{margin-bottom:32px}.work-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 210px 210px;gap:8px}.work-grid img:first-child{grid-column:1/3;grid-row:1}.work-grid img:nth-child(2){grid-column:1;grid-row:2}.work-grid img:nth-child(3){grid-column:2;grid-row:2}.work-grid img:nth-child(4){grid-column:1;grid-row:3}.work-grid img:nth-child(5){grid-column:2;grid-row:3}.booking-section{padding:80px 16px;gap:38px}.booking-panel{padding:26px 18px}.booking-step{padding-bottom:36px;margin-bottom:34px}.step-label strong{font-size:1.55rem}.time-grid{grid-template-columns:repeat(3,1fr)}.details-grid{grid-template-columns:1fr}.details-grid .full{grid-column:auto}.contact-section{padding:75px 24px;gap:30px}.contact-details{grid-template-columns:1fr;gap:25px}.site-footer{padding:22px 18px;gap:20px;align-items:center}.site-footer span{max-width:130px}.row2{grid-template-columns:1fr}}.work-gallery{columns:220px 4;column-gap:12px}.work-gallery img{width:100%;height:auto;display:block;margin:0 0 12px;page-break-inside:avoid;break-inside:avoid;filter:saturate(.94);transition:opacity .2s ease}.work-gallery img:hover{opacity:.88}.gallery-actions{display:flex;justify-content:center;margin-top:34px}.gallery-toggle{background:transparent;border:1px solid var(--charcoal);padding:13px 22px;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;cursor:pointer}.gallery-toggle:hover{background:var(--charcoal);color:#fff}.about-section{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);grid-gap:clamp(40px,7vw,110px);gap:clamp(40px,7vw,110px);align-items:center;padding:120px clamp(24px,7vw,110px);background:var(--ivory)}.about-portrait img{width:100%;height:min(720px,72vw);object-fit:cover;object-position:center 25%;display:block}.about-copy{max-width:610px}.about-copy h2{font-size:clamp(3rem,5.5vw,5.8rem);line-height:.9;margin-bottom:30px}.about-copy h2 em{font-family:Parisienne,cursive;font-style:normal;color:var(--mauve-deep);font-weight:400}.about-copy>p:not(.kicker){font-size:1.08rem;line-height:1.75;color:#5e5851;max-width:520px}.about-editorial{width:min(320px,72%);height:360px;object-fit:cover;object-position:center 20%;display:block;margin:42px 0 0 auto}.hero-image{object-position:center 34%}@media(max-width:900px){.work-gallery{columns:180px 3}.about-section{grid-template-columns:1fr 1fr;gap:40px;padding:90px 32px}.about-portrait img{height:600px}.about-editorial{height:280px}}@media(max-width:640px){.hero-image{object-position:center 30%}.work-gallery{columns:140px 2;column-gap:8px}.work-gallery img{margin-bottom:8px}.about-section{grid-template-columns:1fr;padding:78px 18px}.about-portrait img{height:540px}.about-copy h2{font-size:3.5rem}.about-editorial{width:62%;height:260px;margin-top:30px}}@media(min-width:901px){.editorial-hero{min-height:0;height:clamp(520px,58vw,650px);grid-template-columns:minmax(520px,1.08fr) minmax(380px,.92fr);align-items:stretch}.hero-copy{padding:clamp(48px,5vw,76px) clamp(42px,6vw,96px);justify-content:center}.hero-copy h1{font-size:clamp(4rem,5.7vw,6.2rem);line-height:.86;max-width:660px}.hero-lede{font-size:clamp(.92rem,1.05vw,1.05rem);margin:24px 0 8px;max-width:510px}.hero-location{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#776d63;margin:0 0 26px}.hero-brand-kicker{margin-bottom:18px}.hero-image-wrap{min-height:0;height:100%;margin:38px clamp(38px,4vw,68px) 38px 0}.hero-image{object-position:center 24%;transform:none}}@media(max-width:900px) and (min-width:641px){.editorial-hero{min-height:540px;height:auto;grid-template-columns:1.05fr .95fr}.hero-image-wrap{min-height:500px;margin:28px 28px 28px 0}.hero-copy{padding:56px 34px}.hero-copy h1{font-size:clamp(3.6rem,7vw,4.6rem)}.hero-lede{margin:22px 0 8px}.hero-location{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#776d63;margin-bottom:24px}}@media(max-width:640px){.hero-image-wrap{min-height:0;height:56vh;max-height:520px;margin:0}.hero-image{object-position:center 20%}.hero-copy{padding:44px 24px 48px}.hero-copy h1{font-size:clamp(3.2rem,15vw,4.6rem)}.hero-brand-kicker{margin-bottom:16px}.hero-location{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#776d63;margin:0 0 24px}}@media(min-width:901px){.editorial-hero{height:clamp(500px,44vw,590px);grid-template-columns:minmax(500px,1.12fr) minmax(350px,.88fr)}.hero-copy{padding:clamp(42px,4.5vw,64px) clamp(40px,5.5vw,88px)}.hero-copy h1{font-size:clamp(3.9rem,5.1vw,5.6rem);max-width:620px}.hero-image-wrap{margin:26px clamp(34px,4vw,60px) 26px 0;height:auto;min-height:0;align-self:stretch}.hero-image{object-position:center 12%}.about-section{padding-top:100px;padding-bottom:100px}.about-portrait img{height:clamp(500px,48vw,640px);object-position:center 58%}}@media(max-width:900px) and (min-width:641px){.editorial-hero{min-height:0;height:520px}.hero-image-wrap{min-height:0;height:auto;margin:24px 24px 24px 0}.hero-image{object-position:center 10%}.about-portrait img{object-position:center 58%}}@media(max-width:640px){.hero-image-wrap{height:440px;max-height:none}.hero-image{object-position:center 20%}.about-portrait img{height:500px;object-position:center 60%}}.admin-body{background:var(--paper);min-height:100vh}.admin-appbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}.admin-appbar-inner{max-width:1040px;margin:0 auto;padding:0 clamp(16px,3vw,40px);display:flex;align-items:center;gap:18px;min-height:60px;flex-wrap:wrap}.admin-shell{max-width:1040px;margin:0 auto;padding:26px clamp(16px,3vw,40px) 80px}.admin-brand{display:flex;align-items:baseline;gap:8px;font-family:Cormorant Garamond,serif;font-size:1rem;color:var(--text-muted);white-space:nowrap}.admin-brand strong{font-family:Parisienne,cursive;color:var(--mauve-deep);font-size:1.35rem;font-weight:400}.admin-page-heading{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(1.6rem,3vw,2rem);line-height:1.1;margin:0 0 20px}.admin-nav{display:flex;align-items:center;gap:2px;flex:1 1;flex-wrap:wrap}.admin-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);border-bottom:2px solid transparent}.admin-nav a.active,.admin-nav a:hover{color:var(--charcoal)}.admin-nav a.active{border-bottom-color:var(--mauve-deep)}.admin-nav .nav-spacer{flex:1 1}.admin-nav .nav-logout{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:0;background:none;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);cursor:pointer}.admin-nav .nav-logout:hover{color:var(--mauve-deep)}.admin-panel{background:var(--white);border:1px solid var(--line);padding:clamp(20px,3vw,34px);margin-bottom:22px}.admin-panel-title{font-family:Cormorant Garamond,serif;font-weight:500;font-size:1.45rem;margin-bottom:16px}.admin-meta{font-size:.85rem;color:var(--text-muted)}.admin-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.66rem;font-weight:500;color:var(--mauve-deep)}.btn-filled,.btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;font-size:.72rem;font-weight:400;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border-radius:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-outline{border:1px solid var(--charcoal);background:transparent;color:var(--charcoal)}.btn-filled,.btn-outline:hover{background:var(--charcoal);color:var(--white)}.btn-filled{border:0}.btn-filled:hover{background:var(--mauve-deep)}.btn-filled:disabled,.btn-outline:disabled{opacity:.4;cursor:not-allowed}.btn-outline:disabled:hover{background:transparent;color:var(--charcoal)}.btn-filled:disabled:hover{background:var(--charcoal)}.btn-quiet{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:0;background:none;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);cursor:pointer}.btn-quiet:hover{color:var(--mauve-deep)}.btn-danger-quiet{color:#8a2f2f}.btn-danger-quiet:hover{color:#5c1420}.apptrow{border:1px solid var(--line);background:var(--white);padding:18px;margin-bottom:12px}.apptrow .top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.apptrow .top b{font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.15rem}.apptrow .meta{font-size:.85rem;color:var(--text-muted);line-height:1.6}.apptrow .actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.apptrow .actions a,.apptrow .actions button{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--charcoal);background:none;color:var(--charcoal);border-radius:0;cursor:pointer;transition:background .15s ease,color .15s ease}.apptrow .actions .act-primary,.apptrow .actions a:hover,.apptrow .actions button:hover{background:var(--charcoal);color:var(--white)}.apptrow .actions .act-primary:hover{background:var(--mauve-deep);border-color:var(--mauve-deep)}.apptrow .actions .act-danger{border-color:transparent;color:var(--error)}.apptrow .actions .act-danger:hover{background:transparent;color:var(--error);text-decoration:underline;text-underline-offset:3px}.card-notice{margin:12px 0 0;font-size:.85rem;line-height:1.5}.card-notice-ok{color:var(--mauve-deep)}.card-notice-error{color:var(--error)}.list-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.today-heading{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(1.7rem,3.4vw,2.2rem);line-height:1.05;margin:0}.today-summary{margin:6px 0 0;font-size:.85rem;color:var(--text-muted)}.appt-group{margin-bottom:30px}.group-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:500;color:var(--text-muted);margin:0 0 12px}.group-title-attention{color:var(--mauve-deep)}.group-day{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--text-muted);margin:16px 0 10px}.group-quiet{font-size:.9rem;color:var(--text-muted);margin:0}.client-row,.group-past-toggle{margin-bottom:12px}.client-row{display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:var(--white);padding:14px 18px;color:inherit;min-height:64px;transition:border-color .15s ease}.client-row:hover{border-color:var(--mauve-deep)}.client-monogram{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#f1e4df;color:var(--mauve-deep);font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.05rem;flex-shrink:0}.client-row-body{display:flex;flex-direction:column;gap:2px;min-width:0}.client-row-body b{font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.15rem}.client-row-body .meta{font-size:.85rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-row-chevron{margin-left:auto;color:var(--text-muted);font-size:1.3rem;line-height:1}.view-toggle{display:flex;gap:0;border:1px solid var(--charcoal)}.view-toggle button{min-height:44px;padding:0 18px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;border:0;background:none;color:var(--charcoal);cursor:pointer;transition:background .15s ease,color .15s ease}.view-toggle button+button{border-left:1px solid var(--charcoal)}.view-toggle button.active,.view-toggle button:hover{background:var(--charcoal);color:var(--white)}.admin-panel .redesign-field input,.admin-panel .redesign-field select,.admin-panel .redesign-field textarea{width:100%;border:1px solid var(--field-border);background:var(--white);border-radius:0;padding:13px 14px;font-size:.9rem;font-family:Jost,sans-serif;color:var(--charcoal);outline:none}.admin-panel .redesign-field input:focus,.admin-panel .redesign-field select:focus,.admin-panel .redesign-field textarea:focus{border-color:var(--mauve-deep)}.admin-notice{padding:12px 16px;font-size:.85rem;margin-bottom:16px;border:1px solid}.admin-notice-error{color:#8a2f2f;background:#f0dada;border-color:#e0bcbc}.admin-notice-success{color:#6b3f4e;background:#ecdad5;border-color:#dcc2ba}.admin-inline-status{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mauve-deep)}.admin-skeleton{background:linear-gradient(90deg,#efe8df 25%,#f7f2ea 50%,#efe8df 75%);background-size:200% 100%;animation:admin-shimmer 1.4s ease infinite;min-height:72px;margin-bottom:12px}@keyframes admin-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.admin-skeleton{animation:none;background:#efe8df}}.admin-empty{text-align:center;padding:52px 20px;color:var(--text-muted)}.admin-empty h3{font-family:Cormorant Garamond,serif;font-weight:500;font-size:1.5rem;color:var(--charcoal);margin-bottom:8px}.admin-empty p{font-size:.9rem;max-width:380px;margin:0 auto}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ivory);padding:24px}.admin-login-card{background:var(--white);border:1px solid var(--line);padding:clamp(32px,5vw,52px);width:min(420px,100%);text-align:center}.admin-login-card .brandmark{font-family:Parisienne,cursive;color:var(--mauve-deep);font-size:2.2rem;line-height:1.1;margin-bottom:2px}.admin-login-card .brandsub{font-family:Cormorant Garamond,serif;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:34px}.admin-login-card form{text-align:left}.admin-login-card .redesign-field input{width:100%;border:1px solid var(--field-border);background:var(--white);border-radius:0;padding:13px 14px;font-size:.95rem;font-family:Jost,sans-serif;color:var(--charcoal);outline:none}.admin-login-card .redesign-field input:focus{border-color:var(--mauve-deep)}.password-row{display:flex;gap:8px}.password-row input{flex:1 1}.admin-login button:focus-visible,.admin-shell a:focus-visible,.admin-shell button:focus-visible,.admin-shell input:focus-visible,.admin-shell select:focus-visible,.admin-shell textarea:focus-visible{outline:2px solid var(--mauve-deep);outline-offset:2px}.admin-calendar{--fc-today-bg-color:#f5eee6;--fc-border-color:#ddd3c8;--fc-page-bg-color:#fff;--fc-event-border-color:transparent}.cal-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.cal-nav{display:flex;gap:0;border:1px solid var(--charcoal)}.cal-nav button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 14px;border:0;background:none;color:var(--charcoal);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background .15s ease,color .15s ease}.cal-nav button:hover{background:var(--charcoal);color:var(--white)}.cal-nav .cal-next,.cal-nav .cal-prev{font-size:1.15rem;line-height:1}.cal-nav button+button{border-left:1px solid var(--charcoal)}.cal-title{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(1.25rem,2.6vw,1.6rem);margin:0;flex:1 1;min-width:140px}.cal-controls .view-toggle{margin-left:auto}.admin-calendar .fc .fc-timegrid-now-indicator-line{border-color:var(--mauve-deep)}.admin-calendar .fc .fc-timegrid-now-indicator-arrow{border-color:var(--mauve-deep);border-top-color:transparent;border-bottom-color:transparent}.admin-calendar .fc .fc-col-header-cell-cushion{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:500;padding:8px 4px}.admin-calendar .fc .fc-daygrid-day-number,.admin-calendar .fc .fc-timegrid-slot-label-cushion{font-size:.75rem;color:var(--text-muted)}.admin-calendar .fc-event-title{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media(max-width:900px) and (min-width:641px){.admin-shell{padding:22px 22px 70px}.admin-nav a,.apptrow .actions a,.apptrow .actions button{padding:0 14px}}@media(max-width:640px){.admin-appbar-inner{gap:8px;padding:6px 14px}.admin-nav{gap:0}.admin-nav a{padding:0 10px;font-size:.66rem;letter-spacing:.09em}.admin-nav .nav-logout{padding:0 8px;font-size:.62rem}.apptrow .top{flex-wrap:wrap}.view-toggle{width:100%}.view-toggle button{flex:1 1;padding:0 6px}}