/* Additive luxury themes; legacy themes keep their original palette. */
.luxury-master{--bg:var(--color-background);--text:var(--color-text);--text-muted:var(--color-text-muted);--text-faint:var(--color-text-muted);--accent:var(--color-primary);--accent-text:var(--button-text);--border:var(--color-border);--border-soft:var(--color-border);--input-border:var(--color-border);--chip-bg:var(--color-surface);--radius:var(--radius-card);--font:var(--font-body);--color-secondary:#f1ebe5;padding-top:88px;overflow-wrap:break-word}
.theme-noir{--color-background:#24211f;--color-surface:#302b27;--color-secondary:#302b27;--color-text:#f8f6f3;--color-text-muted:#c9b8aa;--color-primary:#d6b69e;--color-accent:#8c6c57;--color-border:#64544a;--button-text:#24211f;--shadow-soft:0 6px 26px #0002}
.theme-rose{--color-background:#fff6f5;--color-surface:#fffafa;--color-secondary:#f1e2e2;--color-text:#442b32;--color-text-muted:#805d67;--color-primary:#d9a8af;--color-accent:#efd7db;--color-border:#e2c6cd;--button-text:#442b32;--font-heading:'Cormorant Garamond',Georgia,serif}
.luxury-master .page{max-width:1600px;margin:auto}.specialist-nav{color:var(--color-text);background:color-mix(in srgb,var(--color-background) 90%,transparent)}.specialist-nav.is-scrolled{background:color-mix(in srgb,var(--color-background) 95%,transparent)}.specialist-wordmark{font-family:var(--font-heading);font-size:22px;text-decoration:none;line-height:1.15;max-width:280px}.specialist-wordmark img{height:48px;width:auto;object-fit:contain}.luxury-master .lux-menu{margin-left:auto}.luxury-master .block{padding:var(--section-gap) var(--page-gutter);border:0;border-bottom:1px solid var(--color-border);margin:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;max-width:none}.luxury-master .block h2{margin:0 0 30px}.luxury-master .block-header{position:relative;display:block;min-height:560px;isolation:isolate;padding:0;overflow:hidden}.luxury-master .block-header.has-portrait{display:grid;grid-template-columns:1fr 1fr;min-height:660px;background:var(--color-secondary)}.specialist-hero-copy{align-self:center;padding:80px var(--page-gutter);position:relative;z-index:2}.luxury-master h1{font-size:clamp(46px,5.5vw,84px);max-width:650px;margin:0 0 28px;line-height:1.04}.specialist-subtitle{font-size:18px;margin:0 0 14px;white-space:pre-line}.specialist-intro{font-size:14px;color:var(--color-text-muted);max-width:460px;line-height:1.8;margin:0 0 28px}.specialist-portrait{position:relative;min-height:100%;overflow:hidden}.specialist-portrait img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;animation:heroZoom 10s ease-out}.luxury-master .header-quick-actions{display:flex;justify-content:flex-start;gap:20px;flex-wrap:wrap;margin:25px 0 0;padding:0;background:none}.luxury-master .header-quick-actions a{border:0;background:none;border-radius:0;font-size:11px;padding:4px 0;min-height:30px;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:4px}.luxury-master .block-about{display:grid;grid-template-columns:.75fr 1.25fr;gap:7%;align-items:center}.about-portrait{overflow:hidden;border-radius:var(--radius-card)}.about-portrait img{display:block;max-height:650px;aspect-ratio:4/5;width:100%;object-fit:cover}.about-copy{max-width:650px}.about-copy>p:not(.eyebrow){font-size:15px;color:var(--color-text-muted);line-height:1.95}.block-about:not(:has(.about-portrait)){grid-template-columns:1fr}.luxury-master .service-group{margin:32px 0}.luxury-master .service-category{font-size:27px;margin:28px 0 22px}.luxury-master .service-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;margin:0}.luxury-master .service-item{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:24px;padding:30px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);transition:transform .25s;min-width:0}.luxury-master .service-item:hover{transform:translateY(-4px)}.luxury-master .service-info{display:grid;gap:12px}.luxury-master .service-name{font-family:var(--font-heading);font-size:25px;font-weight:400;line-height:1.2}.luxury-master .service-description{font-size:12px;line-height:1.8;color:var(--color-text-muted)}.luxury-master .service-duration{font-size:11px;color:var(--color-text-muted)}.luxury-master .service-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.luxury-master .service-price{font-size:15px;white-space:normal}.luxury-master .btn-secondary,.luxury-master .btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border-radius:var(--radius-button);font:12px var(--font-body);border:1px solid var(--color-border);text-decoration:none;box-shadow:none;transition:transform .25s;background:var(--color-surface);color:var(--color-text)}.luxury-master .btn-primary{background:var(--color-primary);color:var(--button-text);border-color:transparent}.luxury-master .btn-primary:hover,.luxury-master .btn-secondary:hover{transform:translateY(-2px)}.luxury-master .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.luxury-master .gallery-item{margin:0}.luxury-master .gallery-item figcaption{font-size:12px;margin-top:10px;color:var(--color-text-muted)}.luxury-master .gallery-hint{font-size:12px;color:var(--color-text-muted);margin:0 0 28px}.luxury-master .gallery-shot{color:var(--color-text)}.luxury-master .review-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.luxury-master .review-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-card);padding:28px;margin:0}.luxury-master .review-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:12px;font-size:13px}.luxury-master .review-rating{color:var(--color-text);white-space:nowrap}.luxury-master .review-text{font-size:13px;line-height:1.9}.luxury-master .review-item time{font-size:10px;color:var(--color-text-muted)}.luxury-master .block-contacts{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:start}.luxury-master .block-contacts>h2,.luxury-master .block-contacts>.eyebrow,.luxury-master .block-contacts>p,.luxury-master .block-contacts>details,.luxury-master .block-contacts>.contact-list{grid-column:1}.luxury-master .booking-form{grid-column:2;grid-row:1/span 8;margin:0;padding:32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);gap:16px}.luxury-master .booking-form h3{font-size:30px;margin-bottom:10px}.luxury-master .booking-form input,.luxury-master .booking-form select,.luxury-master .booking-form textarea,.luxury-master .service-search{font:14px var(--font-body);min-height:46px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-background);color:var(--color-text);padding:12px;max-width:100%}.luxury-master .booking-form label{font:12px var(--font-body);color:var(--color-text-muted);gap:8px}.luxury-master .booking-form input[type=checkbox]{min-height:20px;width:20px;flex:none;accent-color:var(--color-primary)}.luxury-master .booking-form .booking-consent-row{display:flex;flex-direction:row;align-items:flex-start;gap:12px}.luxury-master .contact-list{list-style:none;padding:0;margin:15px 0;max-width:420px;width:100%}.luxury-master .contact-list li{padding:12px 0;border-color:var(--color-border)}.luxury-master .contact-list a{font-size:14px;color:var(--color-text)}.luxury-master .slot-btn{min-height:44px;padding:10px 14px;color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.luxury-master .slot-btn.selected{background:var(--color-primary);color:var(--button-text);border-color:var(--color-primary)}.specialist-footer{max-width:1600px;margin:auto;padding:35px var(--page-gutter) 90px;display:flex;justify-content:space-between;gap:20px;font:11px var(--font-body);color:var(--color-text-muted)}.floating-booking{position:fixed;right:24px;bottom:24px;z-index:40;box-shadow:var(--shadow-premium)}.service-category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.service-category-tabs button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-button);min-height:44px;padding:10px 18px;font:12px var(--font-body)}.service-category-tabs button[aria-pressed=true]{background:var(--color-primary);color:var(--button-text)}.theme-noir .lux-menu{background:var(--color-background)}.luxury-master .service-search{width:100%;max-width:480px;margin:0 0 10px}.luxury-master .map-address,.luxury-master .promo-text{color:var(--color-text-muted)}.luxury-master .promo-item{border-color:var(--color-border);background:var(--color-surface);border-radius:var(--radius-card);padding:25px}.luxury-master .promo-title{font-size:27px}.luxury-master .booking-code-row{flex-wrap:wrap;gap:12px}.luxury-master .booking-code-row input{min-width:0}.luxury-master .map-embed{border-radius:var(--radius-card);height:360px}
@media(max-width:1024px){.luxury-master{padding-top:76px}.luxury-master .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.luxury-master .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.luxury-master .review-list{grid-template-columns:repeat(2,minmax(0,1fr))}.specialist-wordmark{max-width:220px;font-size:19px}.luxury-master .block-header.has-portrait{min-height:580px}.specialist-hero-copy{padding-top:50px;padding-bottom:50px}.luxury-master .booking-form{padding:24px}.luxury-master .block-contacts{column-gap:5%}}
@media(max-width:760px){.luxury-master{padding-top:70px}.specialist-nav{gap:12px}.specialist-wordmark{font-size:18px;max-width:48%;margin-right:auto}.specialist-nav .lux-button{font-size:10px;padding:10px 15px;min-height:42px;white-space:nowrap}.luxury-master .block-header.has-portrait{grid-template-columns:1fr;min-height:0}.specialist-hero-copy{padding:55px 24px 40px}.luxury-master h1{font-size:clamp(44px,10vw,64px);max-width:500px}.specialist-subtitle{font-size:16px}.specialist-portrait{min-height:460px}.luxury-master .block-header{min-height:0}.luxury-master .block-about{grid-template-columns:1fr;gap:30px}.about-portrait{max-width:500px}.about-portrait img{max-height:480px}.luxury-master .service-list{grid-template-columns:1fr}.luxury-master .service-item{padding:24px}.luxury-master .review-list{grid-template-columns:1fr}.luxury-master .gallery-grid{gap:14px}.luxury-master .block-contacts{display:block}.luxury-master .booking-form{margin-top:35px}.specialist-footer{flex-direction:column;gap:15px;padding-bottom:105px}.floating-booking{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-height:48px}.luxury-master .service-category-tabs{flex-wrap:nowrap;overflow:auto;padding:4px 4px 12px}.service-category-tabs button{white-space:nowrap}.luxury-master .map-embed{height:300px}.luxury-master .gallery-grid .before-after input{min-height:0}}
@media(prefers-reduced-motion:reduce){.luxury-master .service-item:hover{transform:none}}
.luxury-master .service-photo{display:block;width:calc(100% + 60px);max-width:none;aspect-ratio:1.6;object-fit:cover;margin:-30px -30px 0;border-radius:var(--radius-card) var(--radius-card) 0 0}.luxury-master .certificate-gallery{margin-top:30px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.luxury-master .certificate-gallery .gallery-shot img{aspect-ratio:3/4;object-fit:contain;background:var(--color-surface)}
@media(max-width:760px){.luxury-master .service-photo{width:calc(100% + 48px);margin:-24px -24px 0}.luxury-master .certificate-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

.specialist-hero-copy{text-align:left}.theme-noir em{color:#e1c4ac}.theme-rose em{color:#80515f}.luxury-master .specialist-subtitle{line-height:1.6}
.luxury-master h1,.luxury-master h2,.luxury-master h3,.luxury-master .service-price{color:var(--color-text)}.luxury-master .leaflet-control-attribution a{text-decoration:underline;text-underline-offset:2px}.luxury-master .booking-consent-row a{color:var(--color-text);text-decoration:underline}
.luxury-master .slot-btn.selected,.service-category-tabs button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--button-text)}
/* Palette scopes are independent from the selected luxury template. */
.luxury-master .lux-menu{background:var(--color-background)}.luxury-master em{color:var(--color-text-muted)}.luxury-master .specialist-hero-copy{border-bottom:3px solid var(--color-accent)}
