:root{--color-sage-50:#f2f7f4;--color-sage-100:#e2ece6;--color-sage-200:#c5d9d0;--color-sage-300:#9ec0b1;--color-sage-400:#72b49d;--color-sage-500:#5b9b85;--color-sage-600:#467e6b;--color-sage-700:#356253;--color-sage-800:#294d41;--color-sage-900:#1d372f;--color-cream-50:#faf8f5;--color-cream-100:#f4ede2;--color-cream-200:#e9dcc6;--color-cream-300:#dccbb1;--color-cream-400:#ceb99b;--color-cream-500:#b79f7e;--color-charcoal-50:#f5f6f6;--color-charcoal-100:#e3e5e5;--color-charcoal-300:#a2a7a7;--color-charcoal-500:#656c6c;--color-charcoal-700:#393e3e;--color-charcoal-800:#262727;--color-charcoal-900:#1b1d1d;--color-charcoal-950:#111313;--color-accent-caramel:#c8a88a;--color-accent-linen:#ebe2d5;--font-display:"Cormorant Garamond", Georgia, serif;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--text-size-display-xl:clamp(2.75rem, 5.5vw, 4.75rem);--text-size-display-lg:clamp(2.25rem, 4vw, 3.5rem);--text-size-display-md:clamp(1.75rem, 2.8vw, 2.5rem);--text-size-display-sm:clamp(1.35rem, 2vw, 1.85rem);--text-size-lead:clamp(1.1rem, 1.3vw, 1.25rem);--text-size-body:1rem;--text-size-sm:.875rem;--text-size-xs:.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-xl:2rem;--radius-pill:9999px;--radius-arch:180px 180px 28px 28px;--shadow-subtle:0 4px 20px -2px #2627270d;--shadow-card:0 12px 32px -4px #26272714;--shadow-cta:0 8px 28px -4px #467e6b47;--shadow-elevated:0 20px 48px -8px #1b1d1d29;--transition-fast:.15s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.28s cubic-bezier(.16, 1, .3, 1);--transition-flow:.45s cubic-bezier(.16, 1, .3, 1);--bg-main:var(--color-cream-50);--bg-surface:var(--color-cream-100);--bg-surface-elevated:#fff;--bg-dark:var(--color-charcoal-900);--bg-dark-muted:var(--color-charcoal-800);--bg-overlay:#1b1d1dc2;--bg-overlay-soft:#1b1d1d73;--text-primary:var(--color-charcoal-900);--text-secondary:var(--color-charcoal-700);--text-muted:var(--color-charcoal-500);--text-on-dark:var(--color-cream-50);--text-on-dark-muted:#faf8f5b8;--brand-primary:var(--color-sage-600);--brand-hover:var(--color-sage-700);--brand-active:var(--color-sage-800);--brand-soft:var(--color-sage-100);--brand-accent:var(--color-sage-400);--border-subtle:#2627271a;--border-card:#26272712;--border-light:#faf8f529;--btn-pill-height:48px;--btn-pill-px:var(--space-6);--btn-primary-bg:var(--brand-primary);--btn-primary-fg:#fff;--btn-primary-hover-bg:var(--brand-hover);--btn-primary-shadow:var(--shadow-cta);--btn-secondary-bg:transparent;--btn-secondary-fg:var(--text-primary);--btn-secondary-border:var(--border-subtle);--btn-secondary-hover-bg:var(--color-cream-200);--btn-dark-bg:var(--color-charcoal-900);--btn-dark-fg:var(--color-cream-50);--btn-dark-hover-bg:var(--brand-primary);--btn-circle-size:44px;--header-height:76px;--header-bg:#faf8f5e0;--header-border:var(--border-subtle);--footer-bg:var(--color-charcoal-900);--footer-fg:var(--color-cream-50);--footer-border:var(--border-light)}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-size-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;line-height:1.6}.font-display{font-family:var(--font-display);letter-spacing:-.01em}.font-sans{font-family:var(--font-sans)}.italic-emphasis{font-family:var(--font-display);color:var(--brand-primary);font-style:italic;font-weight:400}.display-xl{font-family:var(--font-display);font-size:var(--text-size-display-xl);color:var(--text-primary);font-weight:500;line-height:1.05}.display-lg{font-family:var(--font-display);font-size:var(--text-size-display-lg);color:var(--text-primary);font-weight:500;line-height:1.1}.display-md{font-family:var(--font-display);font-size:var(--text-size-display-md);color:var(--text-primary);font-weight:500;line-height:1.2}.text-lead{font-size:var(--text-size-lead);color:var(--text-secondary);line-height:1.6}.eyebrow-note{font-family:var(--font-sans);font-size:var(--text-size-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--brand-primary);align-items:center;gap:var(--space-2);font-weight:600;display:inline-flex}.btn{justify-content:center;align-items:center;gap:var(--space-3);font-family:var(--font-sans);font-size:var(--text-size-sm);letter-spacing:.04em;cursor:pointer;border-radius:var(--radius-pill);height:var(--btn-pill-height);padding:0 var(--btn-pill-px);transition:all var(--transition-smooth);-webkit-user-select:none;user-select:none;box-sizing:border-box;border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-fg);box-shadow:var(--btn-primary-shadow)}.btn-primary:hover{background-color:var(--btn-primary-hover-bg);transform:translateY(-2px);box-shadow:0 12px 32px -4px #467e6b61}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border-color:var(--border-subtle);background-color:#0000}.btn-secondary:hover{background-color:var(--color-cream-100);border-color:var(--color-charcoal-700);color:var(--color-charcoal-900)}.btn-dark{background-color:var(--btn-dark-bg);color:var(--btn-dark-fg)}.btn-dark:hover{background-color:var(--brand-primary);transform:translateY(-2px)}.btn-cream{background-color:var(--color-cream-200);color:var(--color-charcoal-900)}.btn-cream:hover{background-color:var(--color-cream-50);transform:translateY(-2px)}.btn-circle-arrow{width:var(--btn-circle-size);height:var(--btn-circle-size);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);color:var(--text-primary);transition:all var(--transition-smooth);cursor:pointer;background-color:#0000;justify-content:center;align-items:center;font-size:1.15rem;display:inline-flex}.btn-circle-arrow:hover{background-color:var(--brand-primary);border-color:var(--brand-primary);color:#fff;transform:rotate(45deg)}.btn-combo{padding-right:var(--space-2)}.btn-combo .combo-arrow{border-radius:var(--radius-pill);width:32px;height:32px;transition:transform var(--transition-fast);background-color:#fff3;justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.btn-combo:hover .combo-arrow{transform:translate(3px)rotate(45deg)}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.portrait-arch-frame{border-radius:var(--radius-arch);box-shadow:var(--shadow-card);background-color:var(--color-cream-200);position:relative;overflow:hidden}.service-card-editorial{border-radius:var(--radius-lg);aspect-ratio:4/5;background-color:var(--color-charcoal-900);transition:transform var(--transition-flow), box-shadow var(--transition-flow);position:relative;overflow:hidden}.service-card-editorial:hover{box-shadow:var(--shadow-elevated);transform:translateY(-4px)}.service-card-editorial .card-image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-flow)}.service-card-editorial:hover .card-image{transform:scale(1.04)}.service-card-editorial .curved-overlay{padding:var(--space-6);color:var(--text-on-dark);background:linear-gradient(#1b1d1d00 0%,#1b1d1de0 35%,#1b1d1dfa 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:auto 0 0}:root{--color-primary:var(--brand-primary,var(--color-sage-600,#467e6b));--color-primary-hover:var(--brand-hover,var(--color-sage-700,#356253));--color-accent-warm:var(--color-accent-caramel,#c8a88a);--font-serif:var(--font-display,"Cormorant Garamond", Georgia, serif)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}[id]{scroll-margin-top:86px}@media (width<=1080px){[id]{scroll-margin-top:80px}}@media (width<=768px){[id]{scroll-margin-top:73px}}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}.site-wrapper{flex-direction:column;min-height:100vh;display:flex;container-type:inline-size}.site-main{flex:1}.content-container{width:100%;max-width:1360px;margin:0 auto;padding:0 44px}@media (width<=1080px){.content-container{padding:0 28px}}@media (width<=768px){.content-container{padding:0 16px}}.section-pad{padding:64px 44px}@media (width<=1080px){.section-pad{padding:48px 28px}}@media (width<=768px){.section-pad{padding:40px 16px}}.skip-to-content-link{z-index:1000;background:var(--color-charcoal-900,#262727);color:var(--color-cream-50,#faf8f5);font-family:var(--font-sans);border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;position:fixed;top:12px;left:16px;transform:translateY(-160%);box-shadow:0 8px 24px #0003}.skip-to-content-link:focus,.skip-to-content-link:focus-visible{outline:2px solid var(--color-sage-600,#467e6b);outline-offset:2px;transform:translateY(0)}.site-header{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:all var(--transition-smooth);background:#faf8f5f0;border-bottom:1px solid #26272714;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1360px;height:74px;margin:0 auto;padding:0 44px;display:flex}.header-brand{color:var(--text-primary);flex-shrink:0;align-items:center;gap:14px;text-decoration:none;display:flex}.brand-monogram{background:var(--color-cream-100);border:1px solid var(--color-sage-400);width:42px;height:42px;font-family:var(--font-display);color:var(--color-charcoal-900);letter-spacing:-.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;font-weight:700;display:flex}.brand-info{flex-direction:column;display:flex}.brand-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-charcoal-900);font-size:20px;font-weight:600;line-height:1.15}.brand-subtitle{letter-spacing:.06em;text-transform:uppercase;color:var(--color-sage-600);font-size:11px;font-weight:600}.header-nav{align-items:center;gap:28px;margin:0;padding:0;list-style:none;display:flex}.header-nav a{color:var(--text-secondary);transition:color var(--transition-fast);padding:6px 0;font-size:14px;font-weight:500;text-decoration:none}.header-nav a:hover{color:var(--text-primary)}.header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.header-phone-link{color:var(--text-secondary);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);transition:all var(--transition-fast);white-space:nowrap;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none}.header-phone-link:hover{color:var(--text-primary);border-color:var(--text-secondary)}.header-cta-btn{display:inline-flex}.mobile-menu-toggle{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:none}@media (width<=1080px){.header-inner{height:68px;padding:0 28px}.header-nav,.header-actions .header-phone-link,.header-cta-btn{display:none!important}.mobile-menu-toggle{display:inline-flex!important}.mobile-menu-toggle[aria-expanded=true]{visibility:hidden;pointer-events:none}}@media (width<=768px){.header-inner{height:62px;padding:0 16px}}@media (width<=540px){.brand-title{font-size:16px}.brand-subtitle{display:none}}@media (width>=1081px){.mobile-drawer,.mobile-drawer-backdrop{display:none!important}}.mobile-drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:95;background:#26272766;animation:.2s ease-out fadeIn;position:fixed;inset:0}.mobile-drawer{z-index:96;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:20px;max-height:calc(100vh - 74px);padding:24px 28px;animation:.22s cubic-bezier(.16,1,.3,1) slideDown;display:flex;position:fixed;top:74px;left:0;right:0;overflow-y:auto;box-shadow:0 16px 36px #2627271f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0}to{opacity:1}}@media (width<=1080px){.mobile-drawer{max-height:calc(100vh - 68px);top:68px}}@media (width<=768px){.mobile-drawer{max-height:calc(100vh - 63px);padding:20px 16px;top:63px}}.mobile-drawer-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.mobile-drawer-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:13px;font-weight:600}.mobile-drawer-close-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.mobile-drawer-close-btn:hover,.mobile-drawer-close-btn:focus-visible{border-color:var(--color-sage-600);color:var(--color-sage-700);background:var(--color-cream-100);outline:none}.mobile-drawer-nav{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.mobile-drawer-nav a{font-family:var(--font-display);color:var(--text-primary);min-height:44px;transition:color var(--transition-fast);align-items:center;padding:8px 0;font-size:20px;font-weight:500;text-decoration:none;display:flex}.mobile-drawer-nav a:hover,.mobile-drawer-nav a:focus-visible{color:var(--color-sage-700);outline:none}.mobile-drawer-actions{border-top:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding-top:12px;display:flex}.mobile-drawer-phone{color:var(--color-charcoal-900);background:var(--bg-main);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;text-decoration:none;display:flex!important}.mobile-drawer-phone:hover,.mobile-drawer-phone:focus-visible{border-color:var(--color-sage-500);background:var(--color-cream-100);outline:none}.btn-primary{background:var(--color-sage-600);color:#fff;border-radius:var(--radius-pill);cursor:pointer;height:48px;transition:all var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:10px;padding:0 24px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #467e6b47}.btn-primary:hover{background:var(--color-sage-700);transform:translateY(-1px);box-shadow:0 6px 18px #467e6b59}.btn-secondary{color:var(--text-secondary);border-bottom:1.5px solid var(--border-subtle);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;background:0 0;border-top:none;border-left:none;border-right:none;align-items:center;padding:8px 10px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn-secondary:hover{color:var(--text-primary);border-bottom-color:var(--color-sage-600)}.hero-section{border-bottom:1px solid var(--border-subtle);background:linear-gradient(175deg,#faf8f5 0%,#f5efe6 100%);padding:64px 0 68px}@media (width<=1080px){.hero-section{padding:48px 0 52px}}@media (width<=768px){.hero-section{padding:32px 0 40px}}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(380px,420px);align-items:start;gap:16px 48px;display:grid}.hero-copy{grid-area:1/1;align-self:center}.hero-portrait-wrapper{grid-area:1/2}@media (width<=1080px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero-copy,.hero-portrait-wrapper{grid-area:auto/1}.hero-copy{align-self:start}}.hero-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-sage-700);align-items:center;gap:10px;margin-bottom:16px;font-size:12px;font-weight:600;display:flex}.hero-eyebrow:before{content:"";background:var(--color-sage-500);width:20px;height:1.5px}.hero-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-charcoal-900);overflow-wrap:break-word;margin:0 0 18px;font-size:clamp(2.2rem,3.8vw,3.6rem);font-weight:500;line-height:1.1}@media (width<=1080px){.hero-title{max-width:720px;font-size:clamp(2rem,3.4vw,2.8rem)}}.hero-lead{color:var(--text-secondary);max-width:560px;margin:0 0 28px;font-size:clamp(15px,1.15vw,16.5px);line-height:1.6}@media (width<=1080px){.hero-lead{max-width:680px}}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:32px;display:flex}@media (width<=640px){.hero-actions{flex-direction:column;align-items:stretch;gap:12px}.hero-actions .btn-primary{justify-content:center;width:100%}.hero-actions .btn-secondary{text-align:center;align-self:center}}.hero-context-strip{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(3,1fr);gap:16px;padding-top:22px;display:grid}@media (width<=640px){.hero-context-strip{grid-template-columns:1fr;gap:12px}}.context-pill{flex-direction:column;gap:2px;display:flex}.context-pill-num{color:var(--color-sage-600);letter-spacing:.08em;font-size:11px;font-weight:600}.context-pill-value{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.35}.hero-portrait-wrapper{flex-direction:column;align-items:center;width:100%;display:flex}.hero-portrait-card{background:#fff;border:1px solid #26272714;border-radius:16px;width:100%;max-width:420px;padding:12px;box-shadow:0 16px 48px -10px #2627271f}@media (width<=1080px){.hero-portrait-card{max-width:480px;margin:0 auto}}@media (width<=640px){.hero-portrait-card{max-width:100%}}.portrait-image-container{background:var(--color-cream-100);border-radius:10px;width:100%;height:460px;position:relative;overflow:hidden}@media (width<=1080px){.portrait-image-container{height:400px}}@media (width<=640px){.portrait-image-container{height:340px}}.portrait-image-container img{object-fit:cover;object-position:center 15%;width:100%;height:100%;display:block}.portrait-caption{border-radius:var(--radius-sm,10px);background:var(--bg-surface-elevated,#fff);border:1px solid var(--border-subtle,#e2e8f0);box-shadow:var(--shadow-sm,0 1px 3px #0000000a);flex-direction:column;gap:8px;margin-top:14px;padding:14px 16px;display:flex}.portrait-caption-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.caption-name{font-family:var(--font-display,inherit);letter-spacing:-.01em;color:var(--color-charcoal-900);font-size:15px;font-weight:600}.caption-role{text-transform:uppercase;letter-spacing:.05em;color:var(--color-sage-700);font-size:12px;font-weight:600}.caption-bio{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.portrait-about{background:#fff;border:1px solid #26272714;border-radius:16px;grid-area:2/2;justify-self:center;width:100%;max-width:420px;padding:0 12px 12px;scroll-margin-top:96px;box-shadow:0 12px 34px -14px #2627271f}.portrait-about[open]{grid-column:1/-1;max-width:none}.portrait-about[open] .portrait-about-summary{width:min(100%,420px);margin-left:auto}.portrait-about-summary{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 10px 8px;list-style:none;display:flex}.portrait-about-summary::-webkit-details-marker{display:none}.portrait-about-summary:hover{background:var(--color-cream-50)}.portrait-about-summary:focus-visible{outline:2px solid var(--color-sage-600);outline-offset:2px}.portrait-about-eyebrow,.portrait-about-title{display:block}.portrait-about-eyebrow{color:var(--color-sage-700);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:700}.portrait-about-title{color:var(--color-charcoal-900);font-family:var(--font-display);font-size:16px;font-weight:600}.portrait-about-toggle{border-right:2px solid var(--color-sage-700);border-bottom:2px solid var(--color-sage-700);width:11px;height:11px;transition:transform var(--transition-fast);flex:none;transform:rotate(45deg)translate(-2px,-2px)}.portrait-about[open] .portrait-about-toggle{transform:rotate(225deg)translate(-2px,-2px)}.portrait-about-content{background:var(--color-cream-50);color:var(--color-charcoal-800);column-count:2;column-rule:1px solid var(--border-subtle);border-radius:12px;column-gap:36px;margin:8px 4px 4px;padding:24px 28px;font-size:15px;line-height:1.7;animation:.18s ease-out portrait-about-reveal}.portrait-about-content p{break-inside:avoid;margin:0 0 14px}.portrait-about-content p:last-child{margin-bottom:0}@keyframes portrait-about-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (width<=1080px){.portrait-about,.portrait-about[open]{grid-area:auto/1;justify-self:center;width:100%;max-width:480px}.portrait-about[open] .portrait-about-summary{width:100%}.portrait-about-content{column-count:1;column-rule:none}}@media (width<=640px){.portrait-about-content{padding:20px 16px;font-size:16px}}.approach-section{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);padding:64px 0}@media (width<=768px){.approach-section{padding:40px 0}}.section-header{max-width:680px;margin-bottom:36px}.section-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-sage-700);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.section-title{font-family:var(--font-display);color:var(--color-charcoal-900);margin:0;font-size:clamp(1.9rem,2.8vw,2.6rem);font-weight:500;line-height:1.15}.approach-lead-text{color:var(--text-muted);max-width:640px;margin:12px 0 0;font-size:1.05rem;line-height:1.6}.approach-layout-grid{grid-template-columns:1fr 1.1fr;align-items:stretch;gap:36px;margin-bottom:48px;display:grid}@media (width<=1024px){.approach-layout-grid{grid-template-columns:1fr;gap:32px}}.approach-visual-col{width:100%;display:flex}.disc-recovery-figure{border:1px solid var(--border-subtle);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;border-radius:18px;flex-direction:column;flex:1;margin:0;padding:0;display:flex;overflow:hidden;box-shadow:0 10px 30px #2627270d}.disc-recovery-figure:hover{border-color:#467e6b59;box-shadow:0 14px 36px #467e6b17}.disc-recovery-media-container{aspect-ratio:4/3;background:#1b1d1d;flex:1;width:100%;position:relative;overflow:hidden}.disc-recovery-video,.disc-recovery-poster{object-fit:cover;width:100%;height:100%;display:block}.disc-recovery-caption{background:#faf8f5;border-top:1px solid #1b1d1d0f;align-items:center;gap:10px;padding:14px 18px;display:flex}.disc-caption-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--color-sage-100,#e4efe9);color:var(--color-sage-800,#2c5346);white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.disc-caption-text{color:var(--color-charcoal-800);font-size:12px;line-height:1.4}.pillars-grid{grid-template-rows:repeat(3,minmax(0,1fr));gap:16px;height:100%;display:grid}.pillar-card{border:1px solid var(--border-subtle);transition:all var(--transition-fast);background:#fff;border-radius:14px;flex-direction:column;justify-content:center;padding:22px 24px;display:flex}.approach-standards-strip{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(3,1fr);gap:20px;padding-top:32px;display:grid}@media (width<=840px){.approach-standards-strip{grid-template-columns:1fr;gap:16px}}.standard-item{border:1px solid var(--border-subtle);background:#fff;border-radius:14px;align-items:flex-start;gap:14px;padding:20px;display:flex}.standard-icon{flex-shrink:0;font-size:24px;line-height:1}.standard-title{color:var(--color-charcoal-900);margin:0 0 4px;font-size:14px;font-weight:600}.standard-desc{color:var(--text-muted);margin:0;font-size:12.5px;line-height:1.5}@media (width<=1080px){.pillar-card{padding:24px 28px}}.pillar-card:hover{border-color:var(--color-sage-400);box-shadow:0 8px 24px #2627270f}.pillar-num{letter-spacing:.08em;color:var(--color-sage-600);margin-bottom:12px;font-size:12px;font-weight:700}.pillar-heading{font-family:var(--font-display);color:var(--color-charcoal-900);margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.25}.pillar-desc{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.services-section{background:var(--color-cream-50);border-bottom:1px solid var(--border-subtle);padding:80px 0}@media (width<=768px){.services-section{padding:48px 0}}.services-section-header{max-width:840px;margin-bottom:44px}.services-header-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.services-header-top .section-eyebrow{margin:0}.services-header-divider{color:var(--color-cream-400);-webkit-user-select:none;user-select:none;font-weight:600}.services-header-city{color:var(--color-charcoal-500);letter-spacing:.02em;font-size:13px;font-weight:500}.services-title-wrap{margin-bottom:12px}.services-main-title{font-family:var(--font-serif);color:var(--color-charcoal-900);letter-spacing:-.01em;margin:0 0 6px;font-size:clamp(2rem,3.4vw,2.85rem);font-weight:400;line-height:1.15}.services-title-sub{font-family:var(--font-serif);color:var(--color-accent-warm);margin:0;font-size:clamp(1.35rem,2.2vw,1.85rem);font-style:italic}.services-intro-lead{color:var(--color-charcoal-700);max-width:720px;margin:0;font-size:1.05rem;line-height:1.6}.services-editorial-grid{grid-template-columns:repeat(12,1fr);gap:26px;display:grid}@media (width>=1081px){.services-editorial-grid .service-editorial-card{grid-column:span 6;min-height:430px}.services-editorial-grid .service-card--featured{grid-column:span 7;min-height:470px}.services-editorial-grid .service-editorial-card:nth-child(4n+1){grid-column:span 7;min-height:440px}.services-editorial-grid .service-editorial-card:nth-child(4n+2),.services-editorial-grid .service-editorial-card:nth-child(4n+3){grid-column:span 5;min-height:440px}.services-editorial-grid .service-editorial-card:nth-child(4n+4){grid-column:span 7;min-height:440px}}@media (width<=1080px) and (width>=769px){.services-editorial-grid{grid-template-columns:repeat(2,1fr);gap:22px}.services-editorial-grid .service-card--featured{grid-column:span 2;min-height:420px}.services-editorial-grid .service-editorial-card{grid-column:span 1;min-height:390px}}@media (width<=768px){.services-editorial-grid{flex-direction:column;gap:18px;display:flex}.services-editorial-grid .service-editorial-card{width:100%;min-height:350px}}.service-editorial-card{border-radius:var(--radius-xl,20px);background-color:var(--color-charcoal-900);cursor:pointer;border:1px solid #1b1d1d24;outline:none;flex-direction:column;justify-content:flex-end;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .35s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #1b1d1d14}.service-editorial-card:hover{border-color:#72b49d80;transform:translateY(-4px);box-shadow:0 16px 36px -6px #1b1d1d38}.service-editorial-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.service-card-media{z-index:1;position:absolute;inset:0;overflow:hidden}.service-card-img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.service-editorial-card:hover .service-card-img{transform:scale(1.04)}.service-card-scrim{background:linear-gradient(#12131314 0%,#1213136b 42%,#121313eb 100%);position:absolute;inset:0}.service-card-overlay{z-index:2;-webkit-backdrop-filter:blur(14px);background:#161818e0;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;justify-content:space-between;gap:12px;margin:16px;padding:22px 24px;transition:background .3s,border-color .3s;display:flex;position:relative}@media (width<=480px){.service-card-overlay{gap:10px;margin:12px;padding:18px}}.service-editorial-card:hover .service-card-overlay{background:#161818f0;border-color:#c8a88a59}.service-card-meta-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.service-card-badge-wrap{align-items:center;gap:8px;display:inline-flex}.service-card-icon-pill{width:28px;height:28px;color:var(--color-accent-warm);background:#c8a88a26;border:1px solid #c8a88a4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.service-card-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--color-sage-300);background:#72b49d1f;border:1px solid #72b49d40;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.service-card-price{letter-spacing:.04em;color:var(--color-accent-warm);white-space:nowrap;background:#c8a88a29;border:1px solid #c8a88a59;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.service-card-num{letter-spacing:.05em;color:#faf8f573;font-size:12px;font-weight:600;font-family:var(--font-sans)}.service-card-body{flex-direction:column;gap:6px;display:flex}.service-card-title{font-family:var(--font-serif);color:#faf8f5;letter-spacing:-.01em;margin:0;font-size:clamp(1.28rem,1.6vw,1.55rem);font-weight:500;line-height:1.25}.service-card-desc{color:#e9dcc6;opacity:.92;margin:0;font-size:.88rem;line-height:1.55}.service-card-action-row{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.service-card-cta-btn{letter-spacing:.02em;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-sans);border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;transition:background-color .2s,transform .2s;display:inline-flex;box-shadow:0 4px 12px #467e6b59;background-color:var(--brand-primary,#467e6b)!important;color:#fff!important}.service-card-cta-btn:hover{transform:translateY(-1px);background-color:var(--brand-hover,#356253)!important}.service-cta-arrow{font-size:14px;font-weight:700}.service-card-round-cta{background:var(--color-accent-warm);color:#111313;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:800;transition:transform .25s,background .25s,box-shadow .25s;display:flex;box-shadow:0 2px 10px #00000040}.service-editorial-card:hover .service-card-round-cta{background:#e0c7b0;transform:scale(1.1)translate(1px,-1px);box-shadow:0 4px 16px #c8a88a80}.service-card-cta-hint{color:#faf8f5b3;font-size:12px;font-weight:500}.services-bottom-banner{border-radius:var(--radius-xl,20px);background:linear-gradient(135deg,#faf8f5 0%,#f5efe6 100%);border:1px solid #ddcdb299;justify-content:space-between;align-items:center;gap:28px;margin-top:44px;padding:32px 36px;display:flex;box-shadow:0 6px 24px #2627270a}@media (width<=768px){.services-bottom-banner{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 20px}}.services-banner-content{max-width:700px}.services-banner-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--color-sage-700);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:inline-flex}.services-banner-dot{background:var(--color-primary);border-radius:50%;width:6px;height:6px}.services-banner-title{font-family:var(--font-serif);color:var(--color-charcoal-900);margin:0 0 6px;font-size:clamp(1.25rem,1.8vw,1.6rem);font-weight:500;line-height:1.25}.services-banner-desc{color:var(--color-charcoal-700);margin:0;font-size:.92rem;line-height:1.55}.services-banner-action{flex-shrink:0}@media (width<=768px){.services-banner-action{width:100%}}.services-banner-cta-btn{white-space:nowrap;letter-spacing:.02em;cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-sans);border:none;border-radius:999px;justify-content:center;align-items:center;padding:13px 26px;transition:background-color .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 16px #467e6b59;background-color:var(--brand-primary,#467e6b)!important;color:#fff!important}@media (width<=768px){.services-banner-cta-btn{width:100%}}.services-banner-cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 22px #467e6b73;background-color:var(--brand-hover,#356253)!important}.booking-service-choice-pill{color:var(--color-sage-900);background:#72b49d26;border:1px solid #72b49d59;border-radius:999px;align-items:center;gap:8px;margin:10px 0 14px;padding:6px 14px;font-size:12.5px;display:inline-flex}.booking-service-choice-pill .choice-label{color:var(--color-sage-700);font-weight:500}.booking-service-choice-pill .choice-val{color:var(--color-charcoal-900);font-weight:600}.reviews-section{background:var(--color-cream-100,#f5efe6);border-bottom:1px solid var(--border-subtle);padding:80px 0 88px;position:relative;overflow:hidden}@media (width<=768px){.reviews-section{padding:56px 0 60px}}.reviews-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:36px;display:flex}.reviews-header-text{max-width:620px}.reviews-main-title{font-family:var(--font-serif);color:var(--color-charcoal-900);letter-spacing:-.01em;margin:0 0 10px;font-size:clamp(2rem,3.2vw,2.75rem);font-weight:400;line-height:1.15}.reviews-intro-lead{color:var(--color-charcoal-700);margin:0;font-size:1rem;line-height:1.55}.reviews-controls{flex-shrink:0;align-items:center;gap:12px;display:flex}@media (width<=640px){.reviews-controls{justify-content:space-between;width:100%}}.reviews-google-btn{color:var(--color-charcoal-900);transition:all var(--transition-fast);background:#fff;border:1px solid #1b1d1d26;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #0000000a}.reviews-google-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.reviews-nav-arrows{align-items:center;gap:8px;display:inline-flex}.reviews-arrow-btn{width:44px;height:44px;color:var(--color-charcoal-900);cursor:pointer;transition:all var(--transition-fast);background:#fff;border:1px solid #2627271f;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #0000000a}.reviews-arrow-btn:hover{background:var(--color-sage-100,#e4efe9);border-color:var(--color-primary,#467e6b);color:var(--color-primary,#467e6b);transform:translateY(-1px)}.reviews-arrow-btn:active{transform:translateY(0)}.reviews-reel-wrapper{width:100%;padding:12px 0 16px;position:relative;overflow-x:hidden}@media (width<=768px){.reviews-reel-wrapper{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:12px 16px 16px;scroll-padding-inline:16px;overflow-x:auto}.reviews-reel-wrapper::-webkit-scrollbar{display:none}}.reviews-track{will-change:transform;gap:24px;width:max-content;animation:45s linear infinite marqueeTrack;display:flex}@keyframes marqueeTrack{0%{transform:translate(0)}to{transform:translate(calc(-50% - 12px))}}.reviews-reel-wrapper.is-paused .reviews-track,.reviews-reel-wrapper:hover .reviews-track,.reviews-reel-wrapper:focus-within .reviews-track{animation-play-state:paused}.reviews-reel-wrapper.is-keyboard-focus .reviews-track{animation:none;transform:translate(0)}@media (prefers-reduced-motion:reduce){.reviews-track{animation:none!important}.reviews-reel-wrapper{overflow-x:auto}}.review-card{width:clamp(310px,28vw,380px);min-height:260px;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);scroll-snap-align:start;background:#fff;border:1px solid #1b1d1d17;border-radius:18px;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:24px;display:flex;box-shadow:0 4px 18px #2627270d}.review-card:hover{border-color:#467e6b66;transform:translateY(-3px);box-shadow:0 10px 28px #26272717}.review-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.review-card-author-info{align-items:center;gap:10px;display:flex}.review-card-avatar{background:var(--color-sage-100,#e4efe9);width:36px;height:36px;color:var(--color-sage-800,#2c5346);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.review-card-name{color:var(--color-charcoal-900);font-size:14px;font-weight:600;display:block}.review-card-badge{color:var(--color-sage-700);font-size:11px;font-weight:500;display:block}.review-card-stars{color:#e5a43b;gap:2px;display:flex}.star-icon{display:block}.review-card-quote{flex-grow:1;margin:0;padding:0}.review-card-text{font-family:var(--font-serif);color:var(--color-charcoal-800);margin:0 0 10px;font-size:14.5px;line-height:1.6}.review-card-original-name{color:var(--text-muted);font-size:12px;font-weight:400}.review-card-actions{align-items:center;gap:12px;margin-bottom:12px;display:flex}.review-card-expand-btn{color:var(--color-primary,#467e6b);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.review-card-expand-btn:hover{color:var(--brand-hover,#356253)}.review-card-toggle-orig-btn{color:var(--color-primary,#467e6b);cursor:pointer;transition:all var(--transition-fast);background:#467e6b14;border:1px solid #467e6b33;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.review-card-toggle-orig-btn:hover{border-color:var(--color-primary,#467e6b);color:var(--color-charcoal-900);background:#467e6b29}.review-card-footer{border-top:1px solid #1b1d1d12;justify-content:space-between;align-items:center;gap:8px;padding-top:14px;display:flex}.review-card-note{color:var(--text-muted);font-size:11px;line-height:1.3}.review-card-source-link{color:var(--color-sage-700);white-space:nowrap;font-size:11.5px;font-weight:600;text-decoration:none}.review-card-source-link:hover{color:var(--color-charcoal-900);text-decoration:underline}@media (width<=768px){.reviews-track{gap:16px;animation:none;transform:translate(0)}.reviews-track>.review-card[aria-hidden=true]{display:none}.review-card{scroll-snap-align:center;width:calc(100vw - 32px)}.review-card-actions{flex-wrap:wrap;gap:8px}.review-card-expand-btn,.review-card-toggle-orig-btn,.review-card-source-link{touch-action:manipulation;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.review-card-expand-btn{padding:10px 6px}.review-card-toggle-orig-btn{padding:10px 12px}.review-card-source-link{padding:8px}}.booking-section{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);padding:72px 0}@media (width<=768px){.booking-section{padding:44px 0}}.booking-card{border:1px solid var(--border-subtle);background:#fff;border-radius:20px;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;padding:48px 44px;display:grid;box-shadow:0 16px 48px -12px #26272714}@media (width<=1080px){.booking-card{grid-template-columns:1fr;gap:32px;padding:36px 32px}.booking-channels-box{max-width:560px}}@media (width<=640px){.booking-card{gap:24px;padding:28px 18px}.booking-channels-box{padding:18px 14px}}.booking-title{font-family:var(--font-display);color:var(--color-charcoal-900);margin:0 0 12px;font-size:clamp(2rem,3vw,2.8rem);font-weight:500;line-height:1.15}.booking-desc{color:var(--text-secondary);margin:0 0 20px;font-size:15px;line-height:1.6}.booking-channels-box{background:var(--color-cream-100);border:1px solid #26272714;border-radius:14px;flex-direction:column;gap:14px;padding:24px;display:flex}.channel-link{border:1px solid var(--border-subtle);color:var(--color-charcoal-900);transition:all var(--transition-fast);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.channel-link:hover{border-color:var(--color-sage-600);transform:translateY(-1px);box-shadow:0 4px 12px #2627270f}.channel-tag{color:var(--color-sage-600);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.booking-status-badge{color:var(--color-sage-700);border-radius:var(--radius-pill);background:#467e6b1f;align-items:center;gap:8px;margin-bottom:14px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{background:var(--color-sage-600);border-radius:50%;width:8px;height:8px}.site-footer{background:var(--color-charcoal-900);color:var(--color-cream-50);padding:60px 0 30px}@media (width<=768px){.site-footer{padding:40px 0 24px}}.footer-top{grid-template-columns:1.4fr 1fr 1fr;gap:44px;margin-bottom:44px;display:grid}@media (width<=900px){.footer-top{grid-template-columns:1fr;gap:28px;margin-bottom:32px}}.footer-brand-name{font-family:var(--font-display);color:#faf8f5;margin:0 0 6px;font-size:24px;font-weight:600}.footer-slogan{text-transform:uppercase;letter-spacing:.1em;color:var(--color-sage-300);margin-bottom:12px;font-size:12px;font-weight:500}.footer-col h4{text-transform:uppercase;letter-spacing:.12em;color:var(--color-sage-300);margin:0 0 14px;font-size:12px;font-weight:600}.footer-col p,.footer-col li{color:#faf8f5bf;margin:0;font-size:14px;line-height:1.6}.footer-col ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer-col a{color:#faf8f5bf;transition:color var(--transition-fast);text-decoration:none}.footer-col a:hover{color:#fff}.footer-bottom{color:#faf8f58c;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-top:22px;font-size:12px;display:flex}.footer-legal-link{color:#faf8f5c7;text-underline-offset:3px;text-decoration:underline}.footer-legal-link:hover,.footer-legal-link:focus-visible{color:#fff}.footer-bottom-links{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}@media (width<=640px){.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}}@container (width<=1080px){.content-container{padding:0 28px}.section-pad{padding:48px 28px}.header-inner{height:68px;padding:0 28px}.header-nav,.header-actions .header-phone-link,.header-cta-btn{display:none!important}.mobile-menu-toggle{display:inline-flex!important}.hero-section{padding:48px 0 52px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-title{max-width:720px;font-size:clamp(2rem,3.4vw,2.8rem)}.hero-lead{max-width:680px}.hero-portrait-card{max-width:480px;margin:0 auto}.portrait-image-container{height:400px}.pillars-grid{grid-template-columns:1fr;gap:16px;max-width:760px}.pillar-card{padding:24px 28px}.services-grid{grid-template-columns:1fr;gap:36px}.services-focal-card{max-width:580px;margin:0 auto;position:static}.booking-card{grid-template-columns:1fr;gap:32px;padding:36px 32px}.booking-channels-box{max-width:560px}.footer-top{grid-template-columns:1fr;gap:28px;margin-bottom:32px}}@container (width<=768px){.content-container{padding:0 16px}.section-pad{padding:40px 16px}.header-inner{height:62px;padding:0 16px}.hero-section{padding:32px 0 40px}}@container (width<=540px){.brand-title{font-size:16px}.brand-subtitle{display:none}.hero-portrait-card{max-width:100%}.portrait-image-container{height:340px}.hero-actions{flex-direction:column;align-items:stretch;gap:12px}.hero-actions .btn-primary{justify-content:center;width:100%}.hero-actions .btn-secondary{text-align:center;align-self:center}.hero-context-strip{grid-template-columns:1fr;gap:12px}.booking-card{gap:24px;padding:28px 18px}.booking-channels-box{padding:18px 14px}}.booking-widget-wrapper{width:100%;max-width:900px;margin:0 auto}.booking-widget-card{border:1px solid var(--border-subtle);background:#fff;border-radius:24px;padding:48px;box-shadow:0 20px 48px -12px #26272714}@media (width<=768px){.booking-widget-card{border-radius:18px;padding:28px 20px}}.widget-header{text-align:center;margin-bottom:36px}.widget-header-badge{background:var(--color-cream-100);color:var(--color-sage-700);text-transform:uppercase;letter-spacing:.05em;border:1px solid #467e6b33;border-radius:9999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.widget-header-badge .status-dot{background:var(--color-sage-600);border-radius:50%;width:8px;height:8px}.widget-title{font-family:var(--font-display);color:var(--color-charcoal-900);margin:0 0 12px;font-size:clamp(2rem,3.2vw,2.75rem);font-weight:500;line-height:1.15}.widget-lead{color:var(--text-secondary);max-width:640px;margin:0 auto 16px;font-size:16px;line-height:1.6}.widget-location-pill{color:var(--color-charcoal-700);background:var(--color-cream-50);border:1px solid var(--border-subtle);border-radius:6px;padding:4px 12px;font-size:13px;display:inline-block}.booking-step-group{border-bottom:1px solid var(--border-subtle);margin-bottom:32px;padding-bottom:32px}.step-label{color:var(--color-charcoal-900);margin-bottom:14px;font-size:16px;font-weight:600;display:block}.step-num{background:var(--color-sage-100,#e4ece8);color:var(--color-sage-700);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;margin-right:8px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.booking-loading-box{background:var(--color-cream-50);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:12px;align-items:center;gap:12px;padding:20px;font-size:14px;display:flex}.loading-spinner{border:2px solid #467e6b33;border-top-color:var(--color-sage-600);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite widget-spin}@keyframes widget-spin{to{transform:rotate(360deg)}}.booking-error-banner{color:#9b1c1c;background:#fdf2f2;border:1px solid #f8b4b4;border-radius:10px;margin-bottom:20px;padding:14px 16px;font-size:14px;line-height:1.5}.error-resolution-hint{color:#c81e1e;margin-top:6px;font-size:13px}.booking-retry-btn{color:#9b1c1c;cursor:pointer;transition:all var(--transition-fast);background:#fff;border:1px solid #f8b4b4;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:10px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.booking-retry-btn:hover{background:#fdf2f2;border-color:#e02424}.service-select-container{flex-direction:column;gap:10px;display:flex}.booking-select-input{width:100%;color:var(--color-charcoal-900);border:1px solid var(--border-subtle);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-color:#fff;border-radius:10px;outline:none;padding:14px 16px;font-size:15px}.booking-select-input:focus{border-color:var(--color-sage-600);box-shadow:0 0 0 3px #467e6b26}.service-meta-summary{align-items:center;gap:12px;margin-top:4px;display:flex}.service-price-tag{color:var(--color-sage-700);font-size:14px;font-weight:700}.service-duration-tag{color:var(--text-secondary);background:var(--color-cream-100);border-radius:4px;padding:3px 8px;font-size:13px}.service-duration-tag.unconfirmed{color:var(--color-charcoal-700);font-style:italic}.direct-arrangement-callout{background:var(--color-cream-100);border:1px solid #467e6b33;border-radius:16px;gap:16px;margin-top:10px;padding:24px;display:flex}.callout-icon{color:var(--color-sage-600);flex-shrink:0;font-size:20px;line-height:1}.callout-body{flex:1}.callout-title{color:var(--color-charcoal-900);margin:0 0 8px;font-size:16px;font-weight:600}.callout-desc{color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.6}.callout-actions{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.callout-contact-btn{transition:all var(--transition-fast);border-radius:8px;align-items:center;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.callout-contact-btn.primary{background:var(--color-sage-600);color:#fff}.callout-contact-btn.primary:hover{background:var(--color-sage-700)}.callout-contact-btn.secondary{border:1px solid var(--border-subtle);color:var(--color-charcoal-900);background:#fff}.callout-contact-btn.secondary:hover{border-color:var(--color-sage-600)}.callout-alternative{color:var(--text-secondary);border-top:1px dashed #2627271a;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;font-size:13px;display:flex}.switch-service-link{color:var(--color-sage-700);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.switch-service-link:hover{color:var(--color-sage-800,#2a4f43)}.date-slot-picker-container{flex-direction:column;gap:18px;display:flex}.date-strip-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.date-pills-row{scrollbar-width:thin;gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.date-pill{border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);touch-action:manipulation;background:#fff;border-radius:10px;flex-direction:column;flex-shrink:0;align-items:center;min-height:48px;padding:10px 14px;display:flex}.date-pill:hover{border-color:var(--color-sage-600)}.date-pill.active{background:var(--color-sage-600);border-color:var(--color-sage-600);color:#fff}.date-pill-text{font-size:13px;font-weight:600}.date-pill-count{opacity:.8;margin-top:2px;font-size:11px}.time-slots-container{background:var(--color-cream-50);border:1px solid var(--border-subtle);border-radius:14px;padding:20px}.slots-label{color:var(--color-charcoal-700);margin-bottom:12px;font-size:13px;font-weight:600}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.slot-pill{border:1px solid var(--border-subtle);color:var(--color-charcoal-900);cursor:pointer;text-align:center;transition:all var(--transition-fast);touch-action:manipulation;background:#fff;border-radius:8px;min-height:44px;padding:10px 8px;font-size:14px;font-weight:600}.slot-pill:hover{border-color:var(--color-sage-600);transform:translateY(-1px)}.slot-pill.selected{background:var(--color-sage-600);border-color:var(--color-sage-600);color:#fff;box-shadow:0 4px 12px #467e6b4d}.selected-slot-announcement{color:var(--color-sage-700);border-left:3px solid var(--color-sage-600);background:#fff;border-radius:6px;margin-top:14px;padding:8px 12px;font-size:13px}.no-day-slots{text-align:center;color:var(--text-secondary);padding:16px;font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.form-field.full-width{grid-column:1/-1}.field-label{color:var(--color-charcoal-900);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.required-star{color:#c81e1e}.optional-tag{color:var(--text-muted);font-size:12px;font-weight:400}.form-input{width:100%;color:var(--color-charcoal-900);border:1px solid var(--border-subtle);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;border-radius:8px;outline:none;padding:12px 14px;font-size:15px}.form-input:focus{border-color:var(--color-sage-600);box-shadow:0 0 0 3px #467e6b26}.form-input.has-error{background-color:#fff8f8;border-color:#e02424}.field-hint{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.field-validation-msg{color:#e02424;margin-top:4px;font-size:12px;display:block}.privacy-consent-wrapper{background:var(--color-cream-50);border:1px solid var(--border-subtle);border-radius:10px;margin-top:14px;padding:14px}.turnstile-verification{gap:8px;margin-top:16px;display:grid}.privacy-collection-notice{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.6}.privacy-collection-notice a{color:var(--color-sage-700);text-underline-offset:3px;font-weight:600}.privacy-checkbox-label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.privacy-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--color-sage-600);margin-top:3px}.privacy-text{color:var(--text-secondary);font-size:13px;line-height:1.5}.privacy-page-shell{background:var(--color-cream-50);min-height:100vh;color:var(--text-primary)}.privacy-page-header{z-index:20;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf8f5f5;position:sticky;top:0}.privacy-page-header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.privacy-page-brand{color:var(--text-primary);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.privacy-page-brand strong,.privacy-page-brand small{display:block}.privacy-page-brand strong{font-family:var(--font-display);font-size:19px;line-height:1.1}.privacy-page-brand small{color:var(--text-muted);letter-spacing:.04em;margin-top:3px;font-size:11px}.privacy-page-back{color:var(--color-sage-700);text-underline-offset:3px;font-size:13px;font-weight:600}.privacy-page-main{padding:72px 0 96px}.privacy-notice{width:min(100%,820px);margin:0 auto}.privacy-notice-hero{border-bottom:1px solid var(--border-subtle);padding-bottom:36px}.privacy-notice-kicker{color:var(--color-sage-700);letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:700}.privacy-notice h1{color:var(--color-charcoal-900);font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(46px,8vw,74px);font-weight:500;line-height:.98}.privacy-notice-summary{max-width:680px;color:var(--text-secondary);margin:22px 0 0;font-size:18px;line-height:1.65}.privacy-notice-meta{color:var(--text-muted);margin:18px 0 0;font-size:12px}.privacy-draft-callout{background:var(--color-cream-100);border:1px solid var(--color-sage-400);border-left:4px solid var(--color-sage-600);border-radius:var(--radius-sm);color:var(--text-secondary);margin:30px 0 8px;padding:18px 20px;font-size:14px;line-height:1.65}.privacy-draft-callout strong{color:var(--color-charcoal-900)}.privacy-notice section{padding:38px 0 0}.privacy-notice h2{color:var(--color-charcoal-900);font-family:var(--font-display);margin:0 0 14px;font-size:clamp(27px,4vw,34px);font-weight:600;line-height:1.15}.privacy-notice p,.privacy-notice li{color:var(--text-secondary);font-size:15px;line-height:1.75}.privacy-notice p{margin:0 0 14px}.privacy-notice ul{margin:10px 0 16px;padding-left:22px}.privacy-notice li+li{margin-top:7px}.privacy-notice a{color:var(--color-sage-700);overflow-wrap:anywhere;text-underline-offset:3px;font-weight:600}.privacy-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#fff;margin:18px 0 22px;overflow-x:auto}.privacy-table{border-collapse:collapse;text-align:left;width:100%;min-width:660px}.privacy-table th,.privacy-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top;padding:15px 16px;font-size:13px;line-height:1.6}.privacy-table th{background:var(--color-cream-100);color:var(--color-charcoal-900);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.privacy-table tr:last-child td{border-bottom:0}.privacy-source-links{list-style:none;padding-left:0!important}.privacy-page-footer{background:var(--color-charcoal-900);color:#faf8f5ad;padding:26px 0;font-size:12px}.privacy-page-footer-inner{justify-content:space-between;align-items:center;gap:18px;display:flex}.privacy-page-footer a{color:var(--color-sage-300);text-underline-offset:3px;font-weight:600}@media (width<=640px){.privacy-page-header-inner{min-height:68px}.privacy-page-brand small{display:none}.privacy-page-back{font-size:12px}.privacy-page-main{padding:48px 0 70px}.privacy-notice-summary{font-size:16px}.privacy-page-footer-inner{flex-direction:column;align-items:flex-start}}.widget-actions{text-align:center;margin-top:28px}.booking-submit-btn{background:var(--color-sage-600);color:#fff;cursor:pointer;width:100%;max-width:420px;transition:all var(--transition-fast);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:16px 28px;font-size:16px;font-weight:600;display:inline-flex;box-shadow:0 4px 16px #467e6b40}.booking-submit-btn:hover:not(:disabled){background:var(--color-sage-700);transform:translateY(-1px);box-shadow:0 6px 20px #467e6b59}.booking-submit-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite widget-spin}.submit-disclaimer{color:var(--text-muted);margin-top:10px;font-size:13px}.booking-receipt-card{border:1px solid var(--border-subtle);background:#fff;border-radius:24px;max-width:760px;margin:0 auto;padding:48px;box-shadow:0 20px 48px -12px #26272714}@media (width<=768px){.booking-receipt-card{border-radius:18px;padding:28px 20px}}.receipt-header{text-align:center;margin-bottom:32px}.receipt-icon-wrapper{color:#03543f;background:#def7ec;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:26px;font-weight:700;display:flex}.receipt-badge{border-radius:9999px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.receipt-badge.status-pending{color:#92400e;background:#fef3c7}.receipt-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.receipt-title{font-family:var(--font-display);color:var(--color-charcoal-900);margin:0 0 8px;font-size:clamp(1.8rem,2.8vw,2.4rem);font-weight:500}.receipt-subtitle{color:var(--text-secondary);margin:0;font-size:15px}.receipt-reference-box{background:var(--color-cream-100);border:1px dashed var(--color-sage-600);text-align:center;border-radius:14px;margin-bottom:28px;padding:20px}.receipt-reference-label{text-transform:uppercase;color:var(--color-sage-700);letter-spacing:.08em;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.receipt-reference-value{font-family:var(--font-mono,monospace);color:var(--color-charcoal-900);letter-spacing:.05em;font-size:24px;font-weight:700;display:block}.receipt-reference-hint{color:var(--text-secondary);margin-top:6px;font-size:12px;display:block}.receipt-details-list{border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:24px;overflow:hidden}.receipt-detail-item{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;display:flex}.receipt-detail-item:last-child{border-bottom:none}.receipt-detail-label{color:var(--text-secondary);font-weight:600}.receipt-detail-value{color:var(--color-charcoal-900);text-align:right;font-weight:500}.receipt-detail-value.muted{color:var(--text-muted);font-size:13px;font-style:italic}.receipt-notice-callout{background:var(--color-cream-50);border-left:4px solid var(--color-sage-600);color:var(--color-charcoal-800);border-radius:0 8px 8px 0;margin-bottom:28px;padding:14px 18px;font-size:13px;line-height:1.6}.receipt-actions{text-align:center}.receipt-reset-btn{border:1px solid var(--border-subtle);color:var(--color-charcoal-900);cursor:pointer;transition:all var(--transition-fast);background:#fff;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600}.receipt-reset-btn:hover{border-color:var(--color-sage-600);color:var(--color-sage-700)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-portal{background-color:var(--color-cream-50,#faf8f5);min-height:100vh;color:var(--text-primary,#1b1d1d);font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif);box-sizing:border-box;flex-direction:column;width:100%;max-width:100vw;display:flex;overflow-x:hidden}.admin-body-wrapper{flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.admin-header{border-bottom:1px solid var(--border-subtle,#2627271a);z-index:50;background-color:#fff;position:sticky;top:0;box-shadow:0 2px 12px -2px #1b1d1d0a}.admin-header-container{width:100%;max-width:1240px;padding:var(--space-4,1rem) var(--space-6,1.5rem);justify-content:space-between;align-items:center;gap:var(--space-4,1rem);box-sizing:border-box;flex-wrap:wrap;margin:0 auto;display:flex}.admin-brand{align-items:baseline;gap:var(--space-3,.75rem);color:inherit;text-decoration:none;display:flex}.admin-brand-title{font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);letter-spacing:-.02em;color:var(--color-charcoal-900,#1b1d1d);margin:0;font-size:1.5rem;font-weight:600}.admin-brand-badge{font-size:var(--text-size-xs,.75rem);text-transform:uppercase;letter-spacing:.08em;color:var(--brand-primary,#467e6b);background-color:var(--color-sage-100,#e2ece6);border-radius:var(--radius-pill,9999px);padding:.15rem .5rem;font-weight:600}.admin-header-actions{align-items:center;gap:var(--space-3,.75rem);display:flex}.admin-user-pill{align-items:center;gap:var(--space-2,.5rem);font-size:var(--text-size-sm,.875rem);color:var(--text-secondary,#393e3e);background-color:var(--color-cream-100,#f4ede2);border-radius:var(--radius-pill,9999px);border:1px solid var(--border-subtle,#2627271a);padding:.35rem .75rem;display:inline-flex}.admin-user-dot{background-color:var(--brand-primary,#467e6b);border-radius:50%;width:8px;height:8px;display:inline-block}.admin-btn-secondary{justify-content:center;align-items:center;gap:var(--space-2,.5rem);font-size:var(--text-size-sm,.875rem);color:var(--text-secondary,#393e3e);border:1px solid var(--border-subtle,#2627271a);border-radius:var(--radius-pill,9999px);cursor:pointer;transition:all var(--transition-fast,.15s ease);background:0 0;padding:.45rem .9rem;font-weight:500;display:inline-flex}.admin-btn-secondary:hover:not(:disabled){background-color:var(--color-cream-100,#f4ede2);color:var(--text-primary,#1b1d1d)}.admin-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.admin-body{width:100%;max-width:1240px;padding:var(--space-8,2rem) var(--space-6,1.5rem);flex:1;margin:0 auto}.admin-login-wrapper{min-height:calc(100vh - 120px);padding:var(--space-6,1.5rem);justify-content:center;align-items:center;display:flex}.admin-login-card{border-radius:var(--radius-lg,1.25rem);border:1px solid var(--border-subtle,#2627271a);width:100%;max-width:440px;box-shadow:var(--shadow-card,0 12px 32px -4px #26272714);padding:var(--space-8,2rem);background-color:#fff}.admin-login-header{text-align:center;margin-bottom:var(--space-6,1.5rem)}.admin-login-title{font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);font-size:var(--text-size-display-md,2rem);color:var(--color-charcoal-900,#1b1d1d);margin:0 0 var(--space-2,.5rem) 0;font-weight:600}.admin-login-subtitle{font-size:var(--text-size-sm,.875rem);color:var(--text-muted,#656c6c);margin:0}.admin-form-group{margin-bottom:var(--space-5,1.25rem)}.admin-form-label{font-size:var(--text-size-sm,.875rem);color:var(--color-charcoal-800,#262727);margin-bottom:var(--space-2,.5rem);font-weight:600;display:block}.admin-form-input{width:100%;font-family:var(--font-sans,inherit);font-size:var(--text-size-body,1rem);color:var(--text-primary,#1b1d1d);background-color:var(--color-cream-50,#faf8f5);border:1px solid var(--border-subtle,#26272726);border-radius:var(--radius-md,.75rem);transition:border-color var(--transition-fast,.15s ease), box-shadow var(--transition-fast,.15s ease);padding:.75rem 1rem}.admin-form-input:focus{border-color:var(--brand-primary,#467e6b);background-color:#fff;outline:none;box-shadow:0 0 0 3px #467e6b26}.admin-form-input:disabled{opacity:.6;cursor:not-allowed}.admin-btn-primary{justify-content:center;align-items:center;gap:var(--space-2,.5rem);width:100%;font-family:var(--font-sans,inherit);font-size:var(--text-size-body,1rem);color:#fff;background-color:var(--brand-primary,#467e6b);border-radius:var(--radius-pill,9999px);cursor:pointer;box-shadow:var(--shadow-cta,0 8px 28px -4px #467e6b47);transition:all var(--transition-smooth,.28s ease);border:none;padding:.85rem 1.5rem;font-weight:600;display:inline-flex}.admin-btn-primary:hover:not(:disabled){background-color:var(--brand-hover,#356253);transform:translateY(-1px)}.admin-btn-primary:active:not(:disabled){transform:translateY(0)}.admin-btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.admin-alert{padding:var(--space-4,1rem);border-radius:var(--radius-md,.75rem);font-size:var(--text-size-sm,.875rem);margin-bottom:var(--space-5,1.25rem);align-items:flex-start;gap:var(--space-3,.75rem);line-height:1.45;display:flex}.admin-alert-error{color:#9b1c1c;background-color:#fdf2f2;border:1px solid #f8b4b4}.admin-alert-warning{color:#92400e;background-color:#fff8eb;border:1px solid #fcd34d}.admin-alert-success{color:#166534;background-color:#f0fdf4;border:1px solid #86efac}.admin-alert-conflict{color:#78350f;background-color:#fffbeb;border:1.5px solid #f59e0b;box-shadow:0 4px 12px -2px #f59e0b26}.admin-dashboard-hero{gap:var(--space-4,1rem);margin-bottom:var(--space-8,2rem);flex-direction:column;display:flex}@media (width>=768px){.admin-dashboard-hero{flex-direction:row;justify-content:space-between;align-items:center}}.admin-dashboard-title{font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);font-size:var(--text-size-display-md,2.25rem);color:var(--color-charcoal-900,#1b1d1d);margin:0;font-weight:600}.admin-dashboard-subtitle{font-size:var(--text-size-sm,.875rem);color:var(--text-muted,#656c6c);margin:var(--space-1,.25rem) 0 0 0}.admin-stats-summary{gap:var(--space-3,.75rem);flex-wrap:wrap;display:flex}.admin-stat-chip{border:1px solid var(--border-subtle,#2627271a);border-radius:var(--radius-md,.75rem);background-color:#fff;flex-direction:column;padding:.5rem 1rem;display:flex}.admin-stat-label{font-size:var(--text-size-xs,.75rem);color:var(--text-muted,#656c6c);text-transform:uppercase;letter-spacing:.05em}.admin-stat-value{color:var(--color-charcoal-900,#1b1d1d);font-size:1.25rem;font-weight:700}.admin-stat-value.highlight-pending{color:#d97706}.admin-filter-bar{border:1px solid var(--border-subtle,#2627271a);border-radius:var(--radius-lg,1.25rem);padding:var(--space-4,1rem) var(--space-5,1.25rem);margin-bottom:var(--space-6,1.5rem);justify-content:space-between;align-items:center;gap:var(--space-4,1rem);background-color:#fff;flex-wrap:wrap;display:flex}.admin-filter-tabs{gap:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.admin-filter-tab{font-family:var(--font-sans,inherit);font-size:var(--text-size-sm,.875rem);border-radius:var(--radius-pill,9999px);color:var(--text-secondary,#393e3e);cursor:pointer;transition:all var(--transition-fast,.15s ease);background-color:#0000;border:1px solid #0000;padding:.4rem .9rem;font-weight:500}.admin-filter-tab:hover{background-color:var(--color-cream-100,#f4ede2)}.admin-filter-tab.active{background-color:var(--brand-primary,#467e6b);color:#fff;font-weight:600}.admin-filter-tab.active.tab-pending{background-color:#d97706}.admin-table-container{border:1px solid var(--border-subtle,#2627271a);border-radius:var(--radius-lg,1.25rem);-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-subtle,0 4px 20px -2px #2627270d);box-sizing:border-box;background-color:#fff;width:100%;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;min-width:680px}.admin-table th{background-color:var(--color-cream-50,#faf8f5);font-size:var(--text-size-xs,.75rem);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#656c6c);padding:var(--space-4,1rem) var(--space-5,1.25rem);border-bottom:1px solid var(--border-subtle,#2627271a);font-weight:700}.admin-table td{padding:var(--space-4,1rem) var(--space-5,1.25rem);border-bottom:1px solid var(--border-card,#26272712);font-size:var(--text-size-sm,.875rem);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background-color:#fdfcfa}.status-badge{text-transform:capitalize;border-radius:var(--radius-pill,9999px);white-space:nowrap;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge-pending{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.status-badge-confirmed{color:#065f46;background-color:#d1fae5;border:1px solid #a7f3d0}.status-badge-rejected{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca}.status-badge-cancelled{color:#4b5563;background-color:#f3f4f6;border:1px solid #e5e7eb}.status-badge-completed{color:#3730a3;background-color:#e0e7ff;border:1px solid #c7d2fe}.status-badge-noshow{color:#5b21b6;background-color:#f5f3ff;border:1px solid #ddd6fe}.status-badge-expired{color:#6b7280;background-color:#f3f4f6;border:1px solid #e5e7eb}.status-badge-default{background-color:var(--color-cream-100,#f4ede2);color:var(--text-secondary,#393e3e)}.admin-action-group{align-items:center;gap:var(--space-2,.5rem);display:flex}.admin-btn-action-approve{font-size:var(--text-size-xs,.75rem);color:#fff;background-color:var(--brand-primary,#467e6b);border-radius:var(--radius-pill,9999px);cursor:pointer;transition:all var(--transition-fast,.15s ease);border:none;align-items:center;gap:.25rem;padding:.35rem .75rem;font-weight:600;display:inline-flex}.admin-btn-action-approve:hover:not(:disabled){background-color:var(--brand-hover,#356253)}.admin-btn-action-approve:disabled{opacity:.5;cursor:not-allowed}.admin-btn-action-reject{font-size:var(--text-size-xs,.75rem);color:#b91c1c;border-radius:var(--radius-pill,9999px);cursor:pointer;transition:all var(--transition-fast,.15s ease);background-color:#fef2f2;border:1px solid #fecaca;padding:.35rem .75rem;font-weight:600}.admin-btn-action-reject:hover:not(:disabled){background-color:#fee2e2}.admin-btn-action-reject:disabled{opacity:.5;cursor:not-allowed}.admin-btn-details{font-size:var(--text-size-xs,.75rem);color:var(--text-secondary,#393e3e);border:1px solid var(--border-subtle,#26272726);border-radius:var(--radius-pill,9999px);cursor:pointer;background:0 0;padding:.35rem .65rem;font-weight:500}.admin-btn-details:hover{background-color:var(--color-cream-100,#f4ede2)}.admin-cards-mobile{gap:var(--space-4,1rem);box-sizing:border-box;flex-direction:column;width:100%;min-width:0;display:none}@media (width<=768px){.admin-table-container{display:none}.admin-cards-mobile{display:flex}}.admin-card-item{border:1px solid var(--border-subtle,#2627271a);border-radius:var(--radius-md,.75rem);padding:var(--space-4,1rem);box-shadow:var(--shadow-subtle,0 4px 20px -2px #2627270d);gap:var(--space-3,.75rem);box-sizing:border-box;background-color:#fff;flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex;overflow:hidden}.admin-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2,.5rem);width:100%;min-width:0;display:flex}.admin-card-header>div:first-child{flex:1;min-width:0}.admin-card-ref{font-size:var(--text-size-xs,.75rem);color:var(--text-muted,#656c6c);overflow-wrap:break-word;word-break:break-all;min-width:0;max-width:100%;font-family:monospace}.admin-card-client-name{color:var(--color-charcoal-900,#1b1d1d);overflow-wrap:break-word;word-break:break-word;min-width:0;max-width:100%;margin:0;font-size:1.05rem;font-weight:600}.admin-card-row{justify-content:space-between;align-items:baseline;gap:var(--space-2,.5rem);font-size:var(--text-size-sm,.875rem);color:var(--text-secondary,#393e3e);width:100%;min-width:0;display:flex}.admin-card-row>span{overflow-wrap:break-word;word-break:break-word;min-width:0}.admin-card-actions{gap:var(--space-2,.5rem);margin-top:var(--space-2,.5rem);padding-top:var(--space-3,.75rem);border-top:1px solid var(--border-card,#26272712);flex-wrap:wrap;width:100%;display:flex}.admin-modal-overlay{background-color:var(--bg-overlay,#1b1d1dc2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;padding:var(--space-4,1rem);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal-dialog{border-radius:var(--radius-lg,1.25rem);width:100%;max-width:580px;max-height:90vh;box-shadow:var(--shadow-elevated,0 20px 48px -8px #1b1d1d29);padding:var(--space-6,1.5rem);border:1px solid var(--border-subtle,#2627271a);background-color:#fff;overflow-y:auto}.admin-modal-header{margin-bottom:var(--space-5,1.25rem);padding-bottom:var(--space-4,1rem);border-bottom:1px solid var(--border-subtle,#2627271a);justify-content:space-between;align-items:center;display:flex}.admin-modal-title{font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);color:var(--color-charcoal-900,#1b1d1d);margin:0;font-size:1.6rem;font-weight:600}.admin-modal-close{cursor:pointer;color:var(--text-muted,#656c6c);border-radius:var(--radius-sm,.375rem);background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem}.admin-modal-close:hover{background-color:var(--color-cream-100,#f4ede2);color:var(--text-primary,#1b1d1d)}.admin-detail-grid{gap:var(--space-4,1rem);margin-bottom:var(--space-6,1.5rem);grid-template-columns:minmax(0,1fr);width:100%;min-width:0;display:grid}@media (width>=520px){.admin-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.admin-detail-item{flex-direction:column;min-width:0;max-width:100%;display:flex;overflow:hidden}.admin-detail-label{font-size:var(--text-size-xs,.75rem);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#656c6c);margin-bottom:var(--space-1,.25rem)}.admin-detail-val{font-size:var(--text-size-sm,.875rem);color:var(--color-charcoal-900,#1b1d1d);overflow-wrap:break-word;word-break:break-word;min-width:0;max-width:100%;font-weight:600}.admin-detail-link{color:var(--brand-primary,#467e6b);overflow-wrap:break-word;word-break:break-all;text-decoration:none}.admin-detail-link:hover{text-decoration:underline}.admin-empty-state{text-align:center;padding:var(--space-12,3rem) var(--space-6,1.5rem);color:var(--text-muted,#656c6c)}.admin-empty-icon{margin-bottom:var(--space-3,.75rem);font-size:2.5rem;display:block}.admin-loading-spinner{border:2px solid #467e6b40;border-top-color:var(--brand-primary,#467e6b);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite admin-spin;display:inline-block}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-pagination-bar{margin-top:var(--space-6,1.5rem);padding-top:var(--space-4,1rem);border-top:1px solid var(--border-subtle,#2627271a);font-size:var(--text-size-sm,.875rem);color:var(--text-secondary,#393e3e);justify-content:space-between;align-items:center;display:flex}.admin-nav-tabs{gap:var(--space-2,.5rem);border-bottom:2px solid var(--border-subtle,#2627271a);margin-bottom:var(--space-6,1.5rem);display:flex}.admin-nav-tab{font-family:var(--font-sans,inherit);font-size:var(--text-size-sm,.875rem);color:var(--text-muted,#656c6c);cursor:pointer;transition:all var(--transition-fast,.15s ease);border-radius:var(--radius-sm,.375rem) var(--radius-sm,.375rem) 0 0;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.25rem;font-weight:600;display:flex}.admin-nav-tab:hover{color:var(--color-charcoal-900,#1b1d1d);background-color:#467e6b0d}.admin-nav-tab.active{color:var(--brand-primary,#467e6b);border-bottom-color:var(--brand-primary,#467e6b);background-color:#467e6b14}.schedule-manager-container{gap:var(--space-8,2rem);flex-direction:column;display:flex}.schedule-card{border:1px solid var(--border-subtle,#2627271a);border-radius:var(--radius-lg,1.25rem);padding:var(--space-6,1.5rem) var(--space-8,2rem);background-color:#fff;box-shadow:0 4px 20px -2px #2627270a}.schedule-card-header{margin-bottom:var(--space-4,1rem);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.schedule-section-title{font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);color:var(--color-charcoal-900,#1b1d1d);margin:0 0 .35rem;font-size:1.6rem;font-weight:600}.schedule-section-subtitle{color:var(--text-muted,#656c6c);max-width:600px;margin:0;font-size:.875rem;line-height:1.5}.save-schedule-btn{background-color:var(--brand-primary,#467e6b);color:#fff;border-radius:var(--radius-md,.75rem);cursor:pointer;transition:all var(--transition-fast,.15s ease);border:none;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;box-shadow:0 2px 8px #467e6b33}.save-schedule-btn:hover:not(:disabled){background-color:#386757;transform:translateY(-1px)}.save-schedule-btn:disabled{opacity:.6;cursor:not-allowed}.schedule-concurrency-note{background-color:var(--color-cream-100,#f4ede2);border-left:3px solid var(--brand-primary,#467e6b);border-radius:0 var(--radius-sm,.375rem) var(--radius-sm,.375rem) 0;color:var(--text-secondary,#393e3e);margin-bottom:var(--space-5,1.25rem);padding:.75rem 1rem;font-size:.825rem;line-height:1.5}.schedule-alert-banner{border-radius:var(--radius-md,.75rem);margin-bottom:var(--space-4,1rem);padding:.75rem 1rem;font-size:.875rem;font-weight:500}.schedule-alert-banner.success{color:#03543f;background-color:#def7ec;border:1px solid #bcf0da}.schedule-alert-banner.error{color:#9b1c1c;background-color:#fde8e8;border:1px solid #fbd5d5}.weekday-rules-grid{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.weekday-row{border-radius:var(--radius-md,.75rem);border:1px solid var(--border-subtle,#2627271a);background-color:var(--color-cream-50,#faf8f5);transition:all var(--transition-fast,.15s ease);grid-template-columns:160px 150px 1fr;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:grid}@media (width<=768px){.weekday-row{grid-template-columns:1fr;gap:.75rem}}.weekday-row.active{background-color:#fff;border-color:#467e6b40;box-shadow:0 2px 6px #26272705}.weekday-row.inactive{opacity:.75}.weekday-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;display:flex}.weekday-toggle-input{width:18px;height:18px;accent-color:var(--brand-primary,#467e6b);cursor:pointer}.weekday-name{color:var(--color-charcoal-900,#1b1d1d);font-size:.95rem;font-weight:600}.status-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.status-pill.open{color:#2d584a;background-color:#e2ece6}.status-pill.closed{color:#6b7280;background-color:#f3f4f6}.weekday-col-times{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.weekday-col-times.muted{color:var(--text-muted,#656c6c);font-size:.85rem;font-style:italic}.time-select-pair{align-items:center;gap:.4rem;display:flex}.time-input-sublabel{color:var(--text-muted,#656c6c);font-size:.75rem;font-weight:500}.schedule-time-select{color:var(--color-charcoal-900,#1b1d1d);border:1px solid var(--border-subtle,#26272733);border-radius:var(--radius-sm,.375rem);background-color:#fff;padding:.35rem .6rem;font-size:.85rem;font-weight:600}.time-separator{color:var(--text-muted,#656c6c);font-weight:600}.interval-row{flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.interval-remove-btn{color:#9b1c1c;border-radius:var(--radius-sm,.375rem);cursor:pointer;min-height:36px;transition:background-color var(--transition-fast,.15s ease);background:0 0;border:1px solid #9b1c1c4d;padding:.3rem .65rem;font-size:.8rem;font-weight:500}.interval-remove-btn:hover{background-color:#fde8e8}.interval-add-btn{border:1px dashed var(--brand-primary,#467e6b);color:var(--brand-primary,#467e6b);border-radius:var(--radius-sm,.375rem);cursor:pointer;min-height:36px;transition:all var(--transition-fast,.15s ease);background:0 0;align-items:center;gap:.35rem;margin-top:.25rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.interval-add-btn:hover{background-color:var(--color-sage-100,#e2ece6)}@media (width<=480px){.schedule-time-select{width:100%;min-height:38px;font-size:.9rem}.time-select-pair{flex-direction:column;flex:calc(50% - .5rem);align-items:flex-start}}.exceptions-list-wrapper{-webkit-overflow-scrolling:touch;margin-top:1.5rem;margin-bottom:2rem;overflow-x:auto}.subheading{color:var(--color-charcoal-900,#1b1d1d);margin:0 0 1rem;font-size:1.05rem;font-weight:600}.empty-exceptions-box{background-color:var(--color-cream-50,#faf8f5);border:1px dashed var(--border-subtle,#26272733);border-radius:var(--radius-md,.75rem);color:var(--text-muted,#656c6c);padding:1.25rem;font-size:.875rem}.exceptions-table{border-collapse:collapse;width:100%;font-size:.875rem}.exceptions-table th{text-align:left;background-color:var(--color-cream-50,#faf8f5);color:var(--text-secondary,#393e3e);border-bottom:1px solid var(--border-subtle,#2627271a);padding:.75rem 1rem;font-weight:600}.exceptions-table td{border-bottom:1px solid var(--border-subtle,#26272714);color:var(--text-primary,#1b1d1d);padding:.85rem 1rem}.badge-all-day{color:#991b1b;border-radius:var(--radius-sm,.375rem);background-color:#fee2e2;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-partial-day{color:#92400e;border-radius:var(--radius-sm,.375rem);background-color:#fef3c7;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.delete-exception-btn{color:#dc2626;border-radius:var(--radius-sm,.375rem);cursor:pointer;transition:all var(--transition-fast,.15s ease);background:0 0;border:1px solid #fca5a5;padding:.3rem .65rem;font-size:.75rem;font-weight:600}.delete-exception-btn:hover:not(:disabled){background-color:#fee2e2}.add-exception-card{background-color:var(--color-cream-50,#faf8f5);border:1px solid var(--border-subtle,#2627271f);border-radius:var(--radius-md,.75rem);padding:1.5rem}.exception-form{flex-direction:column;gap:1rem;display:flex}.form-row{flex-wrap:wrap;gap:1.25rem;display:flex}.field-group{flex-direction:column;flex:1;gap:.35rem;min-width:220px;display:flex}.field-group label{color:var(--text-secondary,#393e3e);font-size:.8rem;font-weight:600}.admin-input{border:1px solid var(--border-subtle,#26272733);border-radius:var(--radius-sm,.375rem);color:var(--text-primary,#1b1d1d);background-color:#fff;padding:.55rem .75rem;font-size:.875rem}.admin-input:focus{border-color:var(--brand-primary,#467e6b);outline:none}.field-hint{color:var(--text-muted,#656c6c);font-size:.75rem}.checkbox-row{margin:.25rem 0}.custom-checkbox-label{color:var(--color-charcoal-900,#1b1d1d);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.btn-submit-exception{background-color:var(--color-charcoal-900,#1b1d1d);color:#fff;border-radius:var(--radius-md,.75rem);cursor:pointer;transition:all var(--transition-fast,.15s ease);border:none;align-self:flex-start;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600}.btn-submit-exception:hover:not(:disabled){background-color:#333}.btn-submit-exception:disabled{opacity:.6;cursor:not-allowed}
