/* Brand roles: Ink #0B2E2D, Teal #0E4B4F, Cream #F7F7F2, Lime #D4F36B. */
.theme-toggle{display:inline-grid;place-items:center;flex-shrink:0;width:36px;height:38px;padding:7px;border:1px solid transparent;border-radius:50%;background:transparent;color:#0e4b4f;cursor:pointer;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.theme-toggle:hover{background:#0e4b4f0b}
.theme-toggle:focus-visible{outline:2px solid #0e4b4f;outline-offset:3px}
.theme-toggle svg{display:block;width:20px;height:20px}
.theme-toggle .theme-sun{display:none}
html[data-theme=dark]{color-scheme:dark;--sd-bg:#0b2e2d;--sd-surface:#103b3b;--sd-raised:#0e4b4f;--sd-text:#f7f7f2;--sd-muted:#bacdc6;--sd-faint:#9bb7ac;--sd-line:rgba(247,247,242,.18);--sd-accent:#d4f36b;--cream:var(--sd-bg);--ink:var(--sd-text);--muted:var(--sd-muted);--line:var(--sd-line);--white:var(--sd-surface);--mint:var(--sd-surface);--glass:rgba(14,75,79,.72);--glass-soft:rgba(14,75,79,.42);--glass-border:var(--sd-line);--glass-cream:var(--sd-surface);scrollbar-color:#49736b #0b2e2d}
html[data-theme=dark] body,html[data-theme=dark] body.home,html[data-theme=dark] body.is-auth-page{background:var(--sd-bg);background-image:none;color:var(--sd-text)}
html[data-theme=dark] ::selection{background:#d4f36b;color:#0b2e2d}
html[data-theme=dark] :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--sd-accent)}
html[data-theme=dark] .theme-toggle{color:var(--sd-text)}
html[data-theme=dark] .theme-toggle:hover{background:#f7f7f212}
html[data-theme=dark] .theme-toggle .theme-moon{display:none}
html[data-theme=dark] .theme-toggle .theme-sun{display:block}

/* Navigation and common controls. Photographs retain their original pixels and colors. */
html[data-theme=dark] :is(.site-header,.main-nav),html[data-theme=dark] body.home .site-header,html[data-theme=dark] body.is-auth-page .site-header{background:rgba(11,46,45,.96);color:var(--sd-text);border-color:var(--sd-line);box-shadow:none}
html[data-theme=dark] :is(.main-nav a.active:after,.loader-dot){background:var(--sd-accent)}
html[data-theme=dark] :is(.language-select,.menu-toggle){color:var(--sd-text);background:transparent;box-shadow:none}
html[data-theme=dark] :is(.button-primary,.button-lime),html[data-theme=dark] .ref-actions .button-primary,html[data-theme=dark] .auth-form .button-primary{background:var(--sd-accent);border-color:var(--sd-accent);color:#0b2e2d;box-shadow:none}
html[data-theme=dark] :is(.button-primary,.button-lime):hover,html[data-theme=dark] .ref-actions .button-primary:hover{background:#e0f79a;border-color:#e0f79a;color:#0b2e2d}
html[data-theme=dark] :is(.button-outline,.button-soft),html[data-theme=dark] .ref-actions .button-outline,html[data-theme=dark] .auth-form .button-outline{background:var(--sd-surface);border-color:#f7f7f247;color:var(--sd-text);box-shadow:none}
html[data-theme=dark] :is(.button-outline,.button-soft):hover,html[data-theme=dark] .ref-actions .button-outline:hover{background:var(--sd-raised);border-color:#f7f7f270}
html[data-theme=dark] :is(.button-plain,.text-link,.account-refresh,.auth-change-email,.inbox-hint a,.auth-back,.contact-item a:hover){color:var(--sd-accent)}
html[data-theme=dark] .skip-link{background:var(--sd-accent);color:#0b2e2d}
html[data-theme=dark] .demo-bar{background:var(--sd-raised);color:var(--sd-muted)}
html[data-theme=dark] :is(.circle-link,.hero-copy h1 mark,.choice-button.selected,.choice-button[aria-pressed=true]){background:var(--sd-accent);color:#0b2e2d;border-color:var(--sd-accent)}
html[data-theme=dark] .feeling{background:var(--sd-surface);color:var(--sd-text);border-color:var(--sd-line)}
html[data-theme=dark] .feeling[aria-pressed=true]{background:var(--sd-raised);border-color:var(--sd-accent)}
html[data-theme=dark] .hero-media figcaption{background:#0b2e2de8;color:var(--sd-text)}

/* White reference home, floating photo cards, and editorial service catalogue. */
html[data-theme=dark] :is(.reference-home,.ref-hero,.premium-services,.customer-reviews){background:var(--sd-bg);color:var(--sd-text)}
html[data-theme=dark] .reference-home .premium-services{background:var(--sd-bg)}
html[data-theme=dark] .ref-center .ref-title{color:var(--sd-text)}
html[data-theme=dark] .ref-center .ref-title [data-ref-word]{color:var(--sd-accent)}
html[data-theme=dark] :is(.ref-description,.ref-scroll){color:var(--sd-muted)}
html[data-theme=dark] :is(.ref-card-float,.ref-card-caption){background:var(--sd-surface);color:var(--sd-text);border-color:var(--sd-line);box-shadow:0 7px 20px #00000024}
html[data-theme=dark] .ref-card-media{background:var(--sd-raised)}
html[data-theme=dark] :is(.ref-card-caption p,.ref-card-caption p span){color:var(--sd-muted)}
html[data-theme=dark] .ref-control{background:var(--sd-surface);border-color:var(--sd-line)}
html[data-theme=dark] :is(.ref-control label,.ref-control-label){color:var(--sd-muted)}
html[data-theme=dark] :is(.ref-select-shell select,.ref-price-value,.ref-control-icon,.ref-control-chevron){color:var(--sd-text)}
html[data-theme=dark] :is(select option,select optgroup){background:var(--sd-surface);color:var(--sd-text)}
html[data-theme=dark] .premium-hero-description,html[data-theme=dark] .hero-copy .lead{color:var(--sd-muted)}
html[data-theme=dark] :is(.quick-booking,.quick-field,.premium-cta,.treatment-feature-info,.treatment-list,.treatment-row,.faq-list,.faq-item,.contact-item,.page-how .step-item,.info-panel,.review-story){border-color:var(--sd-line)}
html[data-theme=dark] .quick-booking{background:var(--sd-surface)}
html[data-theme=dark] :is(.quick-field label,.treatment-index,.service-price small,.services-notice,.price-caption,.reviews-demo-label,.reviews-disclosure,.review-story figcaption small){color:var(--sd-faint)}
html[data-theme=dark] :is(.reference-home .treatment-feature-info,.reference-home .treatment-row,.reference-home .faq-item,.service-card,.info-panel){background:var(--sd-surface);color:var(--sd-text);border-color:var(--sd-line);box-shadow:none}
html[data-theme=dark] .review-story blockquote p{color:var(--sd-text)}
html[data-theme=dark] :is(.review-story figcaption strong,.service-price strong,.treatment-row-price,.order-card-bottom strong){color:var(--sd-text)}
html[data-theme=dark] :is(.how-band,.reference-home .how-band,.rest-cta){background:#0e4b4f;color:var(--sd-text);border-color:var(--sd-line)}
html[data-theme=dark] :is(.how-band .step-item p,.how-intro p,.rest-cta p){color:var(--sd-muted)}
html[data-theme=dark] .how-band .steps-grid{border-color:#f7f7f247}
html[data-theme=dark] .step-number{color:var(--sd-text)}

/* Sticky six-treatment stage: keep photography and its legible image overlay intact. */
html[data-theme=dark] .reference-home #ref-services.treatment-showcase,html[data-theme=dark] :is(.treatment-showcase-stage,.treatment-showcase-heading,.treatment-showcase-controls,.treatment-showcase-navigation,.treatment-showcase .services-notice){background:var(--sd-bg);color:var(--sd-text);border-color:var(--sd-line)}
html[data-theme=dark] :is(.treatment-showcase-navigation button,.treatment-showcase-controls [data-treatment-counter]){color:var(--sd-muted)}
html[data-theme=dark] :is(.treatment-showcase-navigation button[aria-current=step],[data-treatment-current]){color:var(--sd-accent)}
html[data-theme=dark] :is(.treatment-showcase-navigation,.treatment-showcase-controls) [data-treatment-progress]{background:#f7f7f22e}
html[data-theme=dark] :is(.treatment-showcase-navigation,.treatment-showcase-controls) [data-treatment-progress-fill]{background:var(--sd-accent)}
html[data-theme=dark] .treatment-showcase-copy .button{background:var(--sd-accent);border-color:var(--sd-accent);color:#0b2e2d}
html[data-theme=dark] .treatment-showcase-copy .button:hover{background:#e0f79a;border-color:#e0f79a}

/* Booking, member profiles and dialogs share quiet teal surfaces and cream text. */
html[data-theme=dark] :is(.booking-panel,.booking-aside,.account-card,.account-bookings,.order-card,.sample-map,.review-user,.sign-in-box,.confirmation-icon,.confirmation-number,.profile-avatar,.auth-page,.auth-screen,.modal,.modal.auth-dialog,.modal:has(.auth-form)){background:var(--sd-surface);color:var(--sd-text);border-color:var(--sd-line);box-shadow:none}
html[data-theme=dark] .auth-screen,html[data-theme=dark] .auth-page{background:var(--sd-bg)}
html[data-theme=dark] :is(.auth-intro,.auth-form p,.auth-legal,.inbox-hint,.google-demo-note,.field-hint,.checkbox-label,.aside-note,.summary-row dt,.demo-note,.consent-notice,.order-number,.order-meta,.account-email,.empty-state p){color:var(--sd-muted)}
html[data-theme=dark] :is(.booking-progress li,.booking-progress li.done .progress-number,.service-index){color:var(--sd-faint)}
html[data-theme=dark] :is(.booking-progress li.current,.booking-progress li.current .progress-number,.large-choice small,.payment-amount,.summary-row.total dd,.order-status,.sample-map svg,.profile-avatar,.confirmation-icon){color:var(--sd-accent)}
html[data-theme=dark] .booking-progress .progress-number{background:var(--sd-surface);color:var(--sd-muted)}
html[data-theme=dark] .booking-progress li.done .progress-number{background:var(--sd-raised);color:var(--sd-accent)}
html[data-theme=dark] .booking-progress li.current .progress-number{background:var(--sd-accent);color:#0b2e2d;border-color:var(--sd-accent)}
html[data-theme=dark] .booking-progress li+li:before{background:var(--sd-line)}
html[data-theme=dark] :is(.booking-service,.large-choice,.payment-choice){background:var(--sd-surface);border-color:var(--sd-line);color:var(--sd-text);box-shadow:none}
html[data-theme=dark] :is(.booking-service.selected,.large-choice.selected,.payment-choice:hover){background:var(--sd-raised);border-color:#d4f36b70;box-shadow:none}
html[data-theme=dark] :is(.booking-service small,.payment-choice small,.review-user small,.sample-map small,.payment-amount span){color:var(--sd-muted)}
html[data-theme=dark] .radio-indicator{border-color:#f7f7f260}
html[data-theme=dark] .selected .radio-indicator{border-color:var(--sd-accent);background:#0b2e2d}
html[data-theme=dark] :is(.booking-controls,.booking-services,.large-choices,.payment-options,.summary-row.total,.aside-note,.review-list .summary-row,.order-card-header,.empty-state,.account-bookings-header,.auth-form .inbox-hint){border-color:var(--sd-line)}
html[data-theme=dark] .input,html[data-theme=dark] .auth-form .input,html[data-theme=dark] .recommend-panel select{background:#0b2e2d;color:var(--sd-text);border-color:#f7f7f24d;box-shadow:none}
html[data-theme=dark] .input::placeholder,html[data-theme=dark] .auth-form .input::placeholder{color:var(--sd-faint);opacity:1}
html[data-theme=dark] .input:focus,html[data-theme=dark] .auth-form .input:focus{background:#0b2e2d;border-color:var(--sd-accent)}
html[data-theme=dark] input[type=checkbox],html[data-theme=dark] input[type=radio]{accent-color:var(--sd-accent)}
html[data-theme=dark] :is(.auth-divider:before,.auth-divider:after){background:var(--sd-line)}
html[data-theme=dark] :is(.auth-divider,.modal-close){color:var(--sd-muted)}
html[data-theme=dark] .modal-backdrop,html[data-theme=dark] .modal-backdrop:has(.auth-dialog){background:#001b1bcc}
html[data-theme=dark] :is(.notice,.legal-prose .notice){background:var(--sd-raised);border-color:var(--sd-line);color:var(--sd-text)}
html[data-theme=dark] .notice-error{background:#4b302c;border-color:#e8a18d70;color:#ffd5c8}
html[data-theme=dark] .notice-success{background:#224333;border-color:#d4f36b50;color:#e2f1cd}
html[data-theme=dark] .order-status.status-cancelled{color:#e8b5a2;background:transparent}
html[data-theme=dark] .toast{background:var(--sd-accent);color:#0b2e2d;border:1px solid #0b2e2d}
html[data-theme=dark] :is(.skeleton-panel,.skeleton-block){background:linear-gradient(90deg,#103b3b 25%,#0e4b4f 50%,#103b3b 75%);background-size:400% 100%}

/* Keep the brand's supplied reversed logo, including its original lime wave. */
html[data-theme=dark] .sd-brand-loader,html[data-theme=dark] .sd-brand-loader[data-variant=story]{background:#0b2e2d;color:#f7f7f2}
html[data-theme=dark] :is(.sd-brand-loader__caption,.sd-intro-footer,.sd-story-copy span){color:var(--sd-muted)}
html[data-theme=dark] .sd-intro-track{background:#f7f7f22e}
html[data-theme=dark] .sd-intro-track i{background:#d4f36b}
html[data-theme=dark] .sd-story-photo--front{border-color:#0b2e2d}
html[data-theme=dark] .sd-brand-loader__logo :is([fill="#0a4a49"],[fill="#0e4b4f"],[fill="#0E4B4F"]){fill:#f7f7f2}
html[data-theme=dark] .sd-brand-loader__logo :is([stroke="#0a4a49"],[stroke="#0e4b4f"],[stroke="#0E4B4F"],[stroke="#204b4e"]){stroke:#f7f7f2}

/* Permanent dark footer remains reversed in both modes. */
html[data-theme=dark] .site-footer{background:var(--sd-bg);color:var(--sd-text);border-color:var(--sd-line)}
html[data-theme=dark] body .site-footer.premium-dark-footer,html[data-theme=dark] body.home .site-footer.premium-dark-footer{background:#0b2e2d;color:#f7f7f2;border-top:1px solid var(--sd-line)}
html[data-theme=dark] :is(.dark-footer-grid h2,.dark-footer-grid a){color:var(--sd-text)}
html[data-theme=dark] :is(.dark-footer-brand>p,.dark-footer-note,.dark-footer-contact p,.dark-footer-bottom,.dark-footer-bottom a){color:var(--sd-muted)}
html[data-theme=dark] .dark-footer-grid a:hover{color:var(--sd-accent)}
html[data-theme=dark] .dark-footer-bottom{border-color:var(--sd-line)}

/* Local help widget follows the site; independent channel brand colors stay intact. */
html[data-theme=dark] .sd-chat{color:var(--sd-text)}
html[data-theme=dark] :is(.sd-chat-panel,.sd-chat-launcher-label){background:var(--sd-surface);color:var(--sd-text);border-color:var(--sd-line);box-shadow:0 18px 65px #00000038}
html[data-theme=dark] .sd-chat-header{border-color:var(--sd-line)}
html[data-theme=dark] .sd-chat-header img{background:transparent;padding:0}
html[data-theme=dark] .sd-chat-header h2{color:var(--sd-text)}
html[data-theme=dark] :is(.sd-chat-header p,.sd-chat-header button,.sd-chat-note){color:var(--sd-muted)}
html[data-theme=dark] .sd-chat-bubble{background:var(--sd-raised);color:var(--sd-text)}
html[data-theme=dark] .sd-chat-user{background:var(--sd-accent);color:#0b2e2d}
html[data-theme=dark] :is(.sd-chat-quick button,.sd-chat-quick a){color:var(--sd-text);border-color:#f7f7f240;background:transparent}
html[data-theme=dark] .sd-chat-form{background:#0b2e2d;border-color:#f7f7f247;color:var(--sd-text)}
html[data-theme=dark] .sd-chat-form input::placeholder{color:var(--sd-faint)}
html[data-theme=dark] :is(.sd-chat-form button,.sd-chat-launcher){background:var(--sd-accent);color:#0b2e2d;border-color:var(--sd-accent)}
html[data-theme=dark] .sd-chat-form:focus-within{border-color:var(--sd-accent);box-shadow:0 0 0 2px #d4f36b25}

/* A fifth header control still fits 320px screens without squeezing its labels. */
@media(max-width:1100px){.header-actions{gap:11px}.theme-toggle{width:32px;height:36px;padding:6px}}
@media(max-width:800px){.header-row{gap:12px}.header-actions{gap:9px}}
@media(max-width:540px){.header-row{gap:8px}.brand img{width:112px}.header-actions{gap:6px}.theme-toggle{width:29px;height:36px;padding:5px}.theme-toggle svg{width:19px;height:19px}.header-actions .button{min-width:65px;padding-inline:9px}.language-select{width:35px;max-width:35px;padding-inline:0;font-size:10px}.menu-toggle{width:28px;height:36px;padding:3px}}
@media(max-width:359px){.header-row.container{width:calc(100% - 28px)}.header-row{gap:7px}.brand img{width:100px}.header-actions{gap:5px}.theme-toggle{width:28px;padding:4px}.language-select{width:30px;max-width:30px;font-size:10px;appearance:none;-webkit-appearance:none}.header-actions .button{width:60px;min-width:60px;padding:8px 2px;font-size:10px;white-space:nowrap}.menu-toggle{width:28px;padding:3px}}
