/* Public theme: intentionally scoped to avoid /mcy and other applications. */
html[data-site-theme="dark"] { color-scheme: dark; --tusba-surface:#17191d; --tusba-card:#24272d; --tusba-input:#30343b; --tusba-text:#f4f5f7; --tusba-muted:#c3c8d0; --tusba-line:#444952; }
.site-theme-toggle { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:1px solid #e2d8cf; border-radius:50%; background:#fff; color:#252525; cursor:pointer; line-height:1; }
.site-theme-toggle svg { width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.site-theme-toggle .site-theme-sun { display:none; }
html[data-site-theme="dark"] .site-theme-toggle .site-theme-sun { display:block; }
html[data-site-theme="dark"] .site-theme-toggle .site-theme-moon { display:none; }
.site-theme-toggle:focus-visible { outline:3px solid #ed872c; outline-offset:3px; }
html[data-site-theme="dark"] body.site-public { background:var(--tusba-surface); color:var(--tusba-text); }
html[data-site-theme="dark"] body.site-public :is(.site-topbar,.site-header,.site-mobile-panel,.site-footer,footer,.site-shell .card,.property-card,.listing-card,.advisor-card,.demo-blog-card,.demo-blog-hero,.demo-contact-hero,.site-search-card,.search-card,.filter-card,.property-details,.property-sidebar,.contact-card,.site-submenu) { background-color:var(--tusba-card); color:var(--tusba-text); border-color:var(--tusba-line); }
html[data-site-theme="dark"] body.site-public :is(main,section,.container,.site-shell) { color:var(--tusba-text); }
html[data-site-theme="dark"] body.site-public :is(h1,h2,h3,h4,h5,h6,.site-header-identity strong,.demo-blog-card h3 a) { color:var(--tusba-text); }
html[data-site-theme="dark"] body.site-public :is(p,small,.muted,.text-muted,.site-header-identity small,.demo-blog-hero p,.demo-contact-hero p) { color:var(--tusba-muted); }
html[data-site-theme="dark"] body.site-public :is(input,select,textarea) { background-color:var(--tusba-input); color:var(--tusba-text); border-color:var(--tusba-line); }
html[data-site-theme="dark"] body.site-public :is(input,textarea)::placeholder { color:var(--tusba-muted); opacity:1; }
html[data-site-theme="dark"] body.site-public :is(.site-desktop-nav a,.site-mobile-panel a,.site-footer a) { color:var(--tusba-text); }
html[data-site-theme="dark"] body.site-public .site-theme-toggle { background:var(--tusba-input); border-color:var(--tusba-line); color:#f5f5f5; }
html[data-site-theme="dark"] body.site-public :is(.demo-blog-hero,.demo-contact-hero) { background-image:none; }
/* Preserve brand-orange CTAs and media imagery; avoid filters on photos/videos. */
@media(max-width:900px) { .site-header-actions .site-theme-toggle { width:36px; height:36px; } }

/* A3: mobile toggle must be outside the hidden header-actions container. */
body.site-public .site-header-inner > .site-theme-toggle { margin-left:8px; }
@media (max-width:1024px) {
  body.site-public .site-header-inner > .site-theme-toggle { display:inline-flex; flex:0 0 40px; width:40px; height:40px; margin-left:auto; }
  body.site-public .site-header-inner > .site-menu-toggle { margin-left:0; flex:0 0 45px; }
}
@media (max-width:480px) {
  body.site-public .site-header-inner > .site-theme-toggle { flex-basis:36px; width:36px; height:36px; margin-left:auto; }
  body.site-public .site-header-inner > .site-menu-toggle { flex-basis:42px; width:42px; height:42px; }
}
/* A3: verified unthemed public-only contact and mobile submenu surfaces. */
html[data-site-theme="dark"] body.site-public :is(.demo-contact-form-card,.demo-contact-info,.demo-contact-info-bottom,.demo-contact-inquiry,.site-mobile-panel .site-submenu,.site-menu-close) {
  background-color:var(--tusba-card); color:var(--tusba-text); border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public :is(.demo-contact-form label,.demo-contact-info-item a,.demo-contact-info-item span:not(.demo-contact-info-icon),.demo-contact-subtitle,.demo-contact-info-intro p,.demo-contact-info-bottom p,.demo-contact-inquiry p,.demo-blog-meta) { color:var(--tusba-muted); }
html[data-site-theme="dark"] body.site-public :is(.site-mobile-panel .site-submenu a,.site-menu-close,.site-sub-toggle) { color:var(--tusba-text); }
html[data-site-theme="dark"] body.site-public :is(.demo-contact-form-card,.demo-contact-info) :is(input,select,textarea) { background:var(--tusba-input);color:var(--tusba-text);border-color:var(--tusba-line); }
html[data-site-theme="dark"] body.site-public :is(.demo-blog-card-top,.demo-contact-info-item) { border-color:var(--tusba-line); }

/* A4: Public page surfaces confirmed in the current PHP templates and CSS bundle. */
html[data-site-theme="dark"] body.site-public :is(.demo-blog-body,.demo-blog-empty,.demo-blog-pagination a,.corp-paper,.ks38-service-card,.ks38-page-hero,.t75-toolbar,.t75-pagination,.t94-page-summary,.mcy-advisor-bio,.site-search-advanced) {
  background-color:var(--tusba-card); color:var(--tusba-text); border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public :is(.demo-blog-body,.corp-paper,.ks38-service-card,.ks38-page-hero,.t75-toolbar,.t94-page-summary,.mcy-advisor-bio,.site-search-advanced) :is(h1,h2,h3,h4,strong) { color:var(--tusba-text); }
html[data-site-theme="dark"] body.site-public :is(.demo-blog-body,.corp-paper,.ks38-service-card,.ks38-page-hero,.t75-toolbar,.t94-page-summary,.mcy-advisor-bio,.site-search-advanced) :is(p,small,li) { color:var(--tusba-muted); }
html[data-site-theme="dark"] body.site-public .demo-blog-pagination a { color:var(--tusba-text); }
html[data-site-theme="dark"] body.site-public :is(.demo-blog-body,.corp-paper) :is(blockquote,pre,code,table,th,td) { border-color:var(--tusba-line); }
html[data-site-theme="dark"] body.site-public :is(.demo-blog-body,.corp-paper) :is(pre,code,th) { background-color:var(--tusba-input); color:var(--tusba-text); }
html[data-site-theme="dark"] body.site-public :is(.site-search-advanced,.t75-toolbar) :is(input,select,textarea) { background-color:var(--tusba-input);color:var(--tusba-text);border-color:var(--tusba-line); }
/* Keep map controls legible without recoloring embedded map tiles or media. */
html[data-site-theme="dark"] body.site-public .detail-map-actions { color:var(--tusba-text); }

/* A5: visible keyboard focus on public form fields in both themes. */
body.site-public :is(input,select,textarea):focus-visible {
  outline:2px solid #e87516;
  outline-offset:2px;
}
html[data-site-theme="dark"] body.site-public :is(input,select,textarea):focus-visible {
  outline-color:#ffab57;
  border-color:#ffab57;
}
/* Maintain a discernible focus indicator even when the browser does not support :focus-visible. */
body.site-public .site-theme-toggle:focus { box-shadow:0 0 0 2px #e87516; }
body.site-public .site-theme-toggle:focus:not(:focus-visible) { box-shadow:none; }
@media (prefers-reduced-motion: reduce) {
  body.site-public .site-theme-toggle { transition:none; }
}

/* A7: Dark mobile controls and submenu focus/hover contrast.
   Base stylesheet sets these surfaces to light backgrounds. */
html[data-site-theme="dark"] body.site-public :is(.site-menu-toggle,.site-menu-close,.site-sub-toggle) {
  background-color:var(--tusba-input);
  color:var(--tusba-text);
  border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public .site-menu-toggle[aria-expanded="true"] {
  background-color:#b65b00;
  color:#fff;
  border-color:#b65b00;
}
html[data-site-theme="dark"] body.site-public :is(.site-desktop-nav,.site-mobile-panel) .site-nav-item > a:is(:hover,:focus-visible,.is-active),
html[data-site-theme="dark"] body.site-public :is(.site-desktop-nav,.site-mobile-panel) .site-submenu a:is(:hover,:focus-visible) {
  background-color:#8b4400;
  color:#fff;
}
html[data-site-theme="dark"] body.site-public .site-mobile-panel .site-submenu {
  background-color:var(--tusba-input);
}

/* A8: Text-only brand fallback must remain legible on the dark header. */
html[data-site-theme="dark"] body.site-public .site-logo > span { color:var(--tusba-text); }

/* A12: Dark-mode native select popup and detailed-search contrast fix.
   The native popup can use a light palette on some Chromium/Opera platforms.
   Explicitly style option text/background as well as the select itself. */
html[data-site-theme="dark"] body.site-public :is(.site-search-select,.site-search-advanced,.site-search-advanced:not([hidden])) {
  color:var(--tusba-text);
}
html[data-site-theme="dark"] body.site-public .site-search-select {
  background-color:var(--tusba-input);
  border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public .site-search-select select,
html[data-site-theme="dark"] body.site-public .site-search-advanced select,
html[data-site-theme="dark"] body.site-public .t75-toolbar select {
  color-scheme:dark;
  background-color:var(--tusba-input);
  color:var(--tusba-text);
  border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public select option,
html[data-site-theme="dark"] body.site-public select optgroup {
  background-color:#30343b;
  color:#f4f5f7;
}
html[data-site-theme="dark"] body.site-public select option:checked {
  background-color:#b65b00;
  color:#fff;
}
html[data-site-theme="dark"] body.site-public select:disabled,
html[data-site-theme="dark"] body.site-public select:disabled option {
  background-color:#444952;
  color:#d1d5db;
  opacity:1;
}
html[data-site-theme="dark"] body.site-public .site-search-advanced label,
html[data-site-theme="dark"] body.site-public .site-search-field-name,
html[data-site-theme="dark"] body.site-public .site-search-hint {
  color:#e0e3e8;
}
html[data-site-theme="dark"] body.site-public .site-search-advanced:not([hidden]) {
  background-color:var(--tusba-card);
  border-color:var(--tusba-line);
}

/* A12: Keep the search section surface consistent with the dark theme. */
html[data-site-theme="dark"] body.site-public .site-search-section { background-color:var(--tusba-surface); }

/* A13: Detailed-search native controls must not inherit the light hover/focus
   palette from tusba-public-stage1.css. Keep this scoped to public dark mode. */
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select,
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select:hover,
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select:focus,
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select:focus-visible {
  background-color:var(--tusba-input);
  color:var(--tusba-text);
  border-color:var(--tusba-line);
  color-scheme:dark;
}
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select:focus,
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select:focus-visible {
  border-color:#f59a36 !important;
  box-shadow:0 0 0 2px rgba(245,154,54,.32) !important;
}
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select:focus-visible {
  outline:2px solid #f59a36 !important;
  outline-offset:2px;
}
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select:disabled,
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label > select:disabled:hover {
  background-color:#444952;
  color:#d1d5db;
  border-color:#5c626c;
  opacity:1;
  cursor:not-allowed;
}
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label {
  color:#e0e3e8;
}

/* A14 — Public search dropdowns: native select remains the form value. */
body.site-public .site-search-section .site-search-advanced > label {position:relative;min-width:0}
body.site-public .site-search-section .site-search-advanced > label > select.tusba-native-select {
  position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;
  overflow:hidden!important;pointer-events:none!important;clip-path:inset(50%)!important;
  padding:0!important;margin:0!important;border:0!important;
}
body.site-public .site-search-section .tusba-dropdown {position:relative;width:100%;min-width:0;font-size:14px}
body.site-public .site-search-section .tusba-dropdown-trigger {
  display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;
  padding:0 13px;border:1px solid #cbd2dc;border-radius:10px;background:#fff;color:#263442;
  font:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;box-shadow:none;
}
body.site-public .site-search-section .tusba-dropdown-trigger:hover {border-color:#98a6b5;background:#f7f9fb}
body.site-public .site-search-section .tusba-dropdown-trigger:focus {outline:none;box-shadow:none}
body.site-public .site-search-section .tusba-dropdown-trigger:focus-visible {outline:2px solid #617c96;outline-offset:2px;box-shadow:none}
body.site-public .site-search-section .tusba-dropdown-trigger:disabled {opacity:.72;cursor:not-allowed;background:#e8edf1;color:#596777}
body.site-public .site-search-section .tusba-dropdown-value {overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.site-public .site-search-section .tusba-dropdown-arrow {flex:none;font-size:18px;line-height:1;color:#8392a2}
body.site-public .site-search-section .tusba-dropdown-list {
  position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:80;max-height:240px;overflow-y:auto;
  border:1px solid #d5dce4;border-radius:10px;background:#fff;padding:5px;
  box-shadow:0 12px 28px rgba(14,24,38,.16);overscroll-behavior:contain;
}
body.site-public .site-search-section .tusba-dropdown-list[hidden]{display:none!important}
body.site-public .site-search-section .tusba-dropdown-option {
  padding:10px 11px;border-radius:7px;line-height:1.3;color:#263442;cursor:pointer;overflow-wrap:anywhere;
}
body.site-public .site-search-section .tusba-dropdown-option:hover,
body.site-public .site-search-section .tusba-dropdown-option.is-active {background:#eaf0f6;color:#182633}
body.site-public .site-search-section .tusba-dropdown-option[aria-selected="true"] {font-weight:700}
body.site-public .site-search-section .tusba-dropdown-option[aria-selected="true"]::after {content:'✓';float:right;color:#bd6a11;margin-left:8px}
body.site-public .site-search-section .tusba-dropdown-option[aria-disabled="true"] {opacity:.55;cursor:not-allowed}
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-trigger {
  background:#30343b;color:#f4f5f7;border-color:#464b54;
}
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-trigger:hover {background:#363b43;border-color:#727985}
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-trigger:focus-visible {outline-color:#a5b8cd}
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-trigger:disabled {background:#40454d;color:#d1d5db;opacity:.8}
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-list {background:#30343b;border-color:#515761;box-shadow:0 14px 32px rgba(0,0,0,.35)}
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-option {color:#f4f5f7}
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-option:hover,
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-option.is-active {background:#444b54;color:#fff}
html[data-site-theme="dark"] body.site-public .site-search-section .tusba-dropdown-option[aria-selected="true"]::after {color:#f59a23}
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-advanced > label,
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-field-name {color:#dfe3e9}
body.site-public .site-search-section .site-search-advanced > label:has(.tusba-dropdown) > svg.site-icon {display:none!important}
body.site-public .site-search-section .site-search-advanced > label:has(.tusba-dropdown) > .site-search-field-name {display:block}

/* A15: viewport-aware placement of enhanced dropdown lists. */
body.site-public .site-search-section .tusba-dropdown.opens-up .tusba-dropdown-list{top:auto;bottom:calc(100% + 5px)}

html[data-site-theme="dark"] body.site-public .site-menu-toggle {
  background:var(--tusba-input);color:var(--tusba-text);border-color:var(--tusba-line);
}

/* A22: public dark-theme contrast, scoped to verified PHP page structures.
   Do not alter the admin panel, media, map tiles, or light-theme palette. */
html[data-site-theme="dark"] body.site-public .property-detail :is(
  .detail-information,.property-contact,.detail-feature-group,.detail-description-section,
  .detail-map-section,.detail-map-summary,.detail-map-private,.detail-map-feedback,
  .detail-highlights,.mcy-gallery-summary,.demo-detail-jumpnav,.property-videos
) {
  background-color:var(--tusba-card);
  color:var(--tusba-text);
  border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public .property-detail :is(
  .detail-section-heading h2,.detail-feature-group h3,.detail-description-section h2,
  .detail-map-section h2,.detail-map-summary strong,.detail-feature-grid dd,
  .detail-information strong,.property-contact h3,.property-contact .tusba74-advisor-head strong
) {color:var(--tusba-text);}
html[data-site-theme="dark"] body.site-public .property-detail :is(
  .detail-feature-grid dt,.detail-description-section .description,
  .detail-description-section .description p,.detail-map-summary p,
  .detail-map-feedback,.detail-map-private p,.property-contact>p,
  .property-contact .tusba74-advisor-head small,.property-contact .contact-reference
) {color:var(--tusba-muted);}
html[data-site-theme="dark"] body.site-public .property-detail :is(
  .detail-feature-grid>div,.detail-section-heading,.tusba74-advisor-head
) {border-color:var(--tusba-line);}
html[data-site-theme="dark"] body.site-public .property-detail .detail-description-section .description :is(h1,h2,h3,h4,h5,h6,strong,th) {
  color:var(--tusba-text);
}
html[data-site-theme="dark"] body.site-public .property-detail .property-contact .inquiry-mini>label:not(.check) {
  color:var(--tusba-text);
}
html[data-site-theme="dark"] body.site-public .property-detail .property-contact .inquiry-mini label.check {
  color:var(--tusba-muted);
}
html[data-site-theme="dark"] body.site-public .property-detail .property-contact .inquiry-mini label.check a {
  color:#ffb45e;
}
html[data-site-theme="dark"] body.site-public .property-detail .property-contact .inquiry-mini :is(input:not([type=checkbox]),textarea) {
  background-color:var(--tusba-input);
  color:var(--tusba-text);
  border-color:#68707c;
}
html[data-site-theme="dark"] body.site-public .property-detail .property-contact .inquiry-mini textarea::placeholder {
  color:var(--tusba-muted);
}
html[data-site-theme="dark"] body.site-public .property-detail .detail-map-privacy {
  color:#9a4705;
}
html[data-site-theme="dark"] body.site-public .property-detail :is(.detail-kicker,.detail-map-toolbar-title) {
  color:#ffab45;
}
/* Other verified public-page containers: text must follow the card's dark surface. */
html[data-site-theme="dark"] body.site-public :is(
  .site-property-card,.corp-side,.mcy-contact-form-card,.mcy-contact-map-card,
  .demo-blog-card,.demo-blog-body,.demo-blog-empty,.ks38-service-card,
  .ks38-page-hero,.t75-toolbar,.t75-pagination,.t94-page-summary,
  .mcy-advisor-bio,.advisor-card,.site-search-card,.site-search-advanced
) {
  background-color:var(--tusba-card);
  color:var(--tusba-text);
  border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public :is(
  .site-property-card,.corp-side,.mcy-contact-form-card,.mcy-contact-map-card,
  .demo-blog-body,.ks38-service-card,.ks38-page-hero,.mcy-advisor-bio
) :is(h1,h2,h3,h4,h5,h6,strong) {color:var(--tusba-text);}
html[data-site-theme="dark"] body.site-public :is(
  .site-property-card,.corp-side,.mcy-contact-form-card,.mcy-contact-map-card,
  .demo-blog-body,.ks38-service-card,.ks38-page-hero,.mcy-advisor-bio
) :is(p,small,dt,label) {color:var(--tusba-muted);}

/* A23: Verified home steps and FAQ CSS in tusba-public-stage1.css.
   The A22 global dark text colors were displayed on still-white cards. */
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-step,
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-faq details {
  background:var(--tusba-card);
  color:var(--tusba-text);
  border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-step {
  border-top-color:#ff9800;
}
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-step h3,
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-faq summary {
  color:var(--tusba-text);
}
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-step p,
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-faq details p {
  color:var(--tusba-muted);
}
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-step>span {
  color:#ffad4d;
}
/* A23: site.css and stage1 CSS hardcode #171717/#101010 for listing
   headings and #303030 for room/area specs. The dark card needs dark
   surface + light title, link, metadata and SVG currentColor. */
html[data-site-theme="dark"] body.site-public .site-property-card {
  background:var(--tusba-card);
  border-color:var(--tusba-line);
  color:var(--tusba-text);
}
html[data-site-theme="dark"] body.site-public .site-property-card .site-card-body h3,
html[data-site-theme="dark"] body.site-public .site-property-card .site-card-body h3 a {
  color:var(--tusba-text);
}
html[data-site-theme="dark"] body.site-public .site-property-card .site-card-location,
html[data-site-theme="dark"] body.site-public .site-property-card .site-card-specs,
html[data-site-theme="dark"] body.site-public .site-property-card .site-card-spec {
  color:var(--tusba-muted);
}
html[data-site-theme="dark"] body.site-public .site-property-card .site-card-specs {
  border-top-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public .site-property-card .site-card-spec .site-card-icon {
  color:var(--tusba-muted);
}
html[data-site-theme="dark"] body.site-public .site-property-card .site-card-location .site-card-icon {
  color:#ffad4d;
}

/* A24: public dark-theme detail and cross-page surface/text pairing. */
html[data-site-theme="dark"] body.site-public .property-detail .mcy-gallery-location>strong {color:var(--tusba-text);}
html[data-site-theme="dark"] body.site-public .property-detail .mcy-gallery-summary :is(.detail-meta,.detail-id,.mcy-gallery-location small) {color:var(--tusba-muted);}
html[data-site-theme="dark"] body.site-public .property-detail .detail-highlights>div {
 background:var(--tusba-input);border-color:var(--tusba-line);color:var(--tusba-text);
}
html[data-site-theme="dark"] body.site-public .property-detail .detail-highlights>div :is(strong,b,span,small,p) {color:var(--tusba-text);}
html[data-site-theme="dark"] body.site-public .property-detail .detail-highlights>div :is(label,dt) {color:var(--tusba-muted);}
/* The listing number is printed on a light cream badge; keep its text dark. */
html[data-site-theme="dark"] body.site-public .property-detail .detail-id {color:#66310a;}
html[data-site-theme="dark"] body.site-public .property-detail .property-contact>p {color:var(--tusba-muted);}
/* Advisors */
html[data-site-theme="dark"] body.site-public :is(.mcy-advisor-card,.mcy-advisor-body,.mcy-advisors-intro,.ks38-empty) {
 background:var(--tusba-card);color:var(--tusba-text);border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public :is(.mcy-advisor-body,.mcy-advisors-intro) :is(h1,h2,h3,strong,a) {color:var(--tusba-text);}
html[data-site-theme="dark"] body.site-public :is(.mcy-advisor-body,.mcy-advisors-intro) :is(p,small,span) {color:var(--tusba-muted);}
/* Sell-your-home */
html[data-site-theme="dark"] body.site-public :is(.ks39-seller-fields,.ks39-seller-copy,.ks39-seller-note,.ks38-service-card) {
 background:var(--tusba-card);color:var(--tusba-text);border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public :is(.ks39-seller-fields,.ks39-seller-copy,.ks38-service-card) :is(h1,h2,h3,h4,strong,label) {color:var(--tusba-text);}
html[data-site-theme="dark"] body.site-public :is(.ks39-seller-fields,.ks39-seller-copy,.ks38-service-card) :is(p,small) {color:var(--tusba-muted);}
html[data-site-theme="dark"] body.site-public .ks39-seller-fields :is(input:not([type=checkbox]),select,textarea) {
 background:var(--tusba-input);color:var(--tusba-text);border-color:#68707c;
}
/* Blog and contact: legacy page styles hardcode light surfaces and dark text. */
html[data-site-theme="dark"] body.site-public :is(.demo-blog-card,.demo-blog-aside,.demo-blog-hero,.mcy-contact-hero,.mcy-contact-form-card,.mcy-contact-map-card) {
 background:var(--tusba-card);color:var(--tusba-text);border-color:var(--tusba-line);
}
html[data-site-theme="dark"] body.site-public :is(.demo-blog-card,.demo-blog-aside,.demo-blog-body,.mcy-contact-form-card,.mcy-contact-map-card,.mcy-contact-hero) :is(h1,h2,h3,h4,h5,strong,summary) {color:var(--tusba-text);}
html[data-site-theme="dark"] body.site-public :is(.demo-blog-card,.demo-blog-aside,.demo-blog-body,.mcy-contact-form-card,.mcy-contact-map-card,.mcy-contact-hero) :is(p,small,time,dt) {color:var(--tusba-muted);}
html[data-site-theme="dark"] body.site-public .mcy-contact-form label {color:var(--tusba-text);}
html[data-site-theme="dark"] body.site-public .mcy-contact-form :is(input:not([type=checkbox]),select,textarea) {
 background:var(--tusba-input);color:var(--tusba-text);border-color:#68707c;
}

/* A25: Fix confirmed white-surface/light-text collisions in screenshots.
   Scope is dark-theme PUBLIC pages; light theme and admin are untouched. */
/* Contact form and map: T16 CSS forces white cards. Preserve white surfaces
   and use readable dark text; keep inputs dark with light entered text. */
html[data-site-theme="dark"] body.site-public .t16-contact :is(.mcy-contact-form-card,.mcy-contact-map-card) {
 background:#fff!important;color:#17252d!important;border-color:#e0e4e8!important;
}
html[data-site-theme="dark"] body.site-public .t16-contact :is(.mcy-contact-form-card,.mcy-contact-map-card) :is(h1,h2,h3,h4,strong,label:not(.mcy-contact-consent),dt) {color:#17252d!important;}
html[data-site-theme="dark"] body.site-public .t16-contact :is(.mcy-contact-form-card,.mcy-contact-map-card) :is(p,small,address,.mcy-contact-map-head>p) {color:#4c5b68!important;}
html[data-site-theme="dark"] body.site-public .t16-contact .mcy-contact-form :is(input:not([type=checkbox]),select,textarea) {background:#30343b!important;color:#f4f5f7!important;border-color:#737b86!important;}
html[data-site-theme="dark"] body.site-public .t16-contact .mcy-contact-form :is(input,textarea)::placeholder {color:#c3c8d0!important;}
/* Blog empty state is a cream/white gradient; its title and description must
   stay dark, rather than inherit global dark-theme light typography. */
html[data-site-theme="dark"] body.site-public .t16-blog .demo-blog-empty {
 background:linear-gradient(135deg,#fff 0%,#fff9f1 100%)!important;color:#17252d!important;
}
html[data-site-theme="dark"] body.site-public .t16-blog .demo-blog-empty h2 {color:#17252d!important;}
html[data-site-theme="dark"] body.site-public .t16-blog .demo-blog-empty p {color:#4c5b68!important;}
/* About: T16 stylesheet explicitly forces white surfaces with !important.
   Keep those light panels and correct ALL prose and step labels inside. */
html[data-site-theme="dark"] body.site-public .t16-about :is(.corp-paper,.corp-side) {background:#fff!important;color:#17252d!important;}
html[data-site-theme="dark"] body.site-public .t16-about :is(.corp-paper,.corp-side) :is(h1,h2,h3,h4,h5,h6,strong,b) {color:#17252d!important;}
html[data-site-theme="dark"] body.site-public .t16-about :is(.corp-paper,.corp-side) :is(p,li,small,.corp-body,.corp-feature p) {color:#4c5b68!important;}
/* The two CTA banners deliberately use pale cream gradients; match their
   headings and descriptions to the actual surface. */
html[data-site-theme="dark"] body.site-public :is(.ks38-page .ks38-cta,.mcy-advisors-page .ks38-cta) :is(h1,h2,h3,h4,strong) {color:#17252d!important;}
html[data-site-theme="dark"] body.site-public :is(.ks38-page .ks38-cta,.mcy-advisors-page .ks38-cta) :is(p,small) {color:#4c5b68!important;}
/* Consent link on the dark sell form: replace near-black green. */
html[data-site-theme="dark"] body.site-public .ks38-page .ks39-consent a {color:#ffb45e!important;text-decoration:underline;}

/* A26: T16 forces the About value cards to white with !important.
   Keep the original white cards and give their text adequate contrast. */
html[data-site-theme="dark"] body.site-public .t16-about .m41-value {
  background:#fff!important;color:#17252d;border-color:#e8e9e7!important;
}
html[data-site-theme="dark"] body.site-public .t16-about .m41-value h3 {color:#17252d;}
html[data-site-theme="dark"] body.site-public .t16-about .m41-value p {color:#4c5b68;}
/* Rich content within white About paper: lists and links. */
html[data-site-theme="dark"] body.site-public .t16-about .corp-paper .corp-body :is(ul,ol,li,blockquote,td) {color:#4c5b68;}
html[data-site-theme="dark"] body.site-public .t16-about .corp-paper .corp-body a {color:#9b4d00;text-decoration:underline;}
/* The contact consent remains on the white card. */
html[data-site-theme="dark"] body.site-public .t16-contact .mcy-contact-form-card .mcy-contact-consent {color:#344653;}
html[data-site-theme="dark"] body.site-public .t16-contact .mcy-contact-form-card .mcy-contact-consent a {color:#945000;text-decoration:underline;}

/* A27 — light-on-light collision fixes. Keep the legacy pale surfaces,
   but pair their text with dark ink. Scoped to public dark theme only. */
html[data-site-theme="dark"] body.site-public main.mcy-advisors-page .mcy-advisor-actions a[href^="tel:"] {
  background:#fff8ed;
  color:#713b00;
  border-color:#d8b78c;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisors-page .mcy-advisor-actions a[href^="tel:"] span {
  color:inherit;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisors-page .ks38-cta {
  color:#17252d;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisors-page .ks38-cta h2 {
  color:#17252d;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisors-page .ks38-cta p {
  color:#4c5b68;
}
/* Blog cards are white in the T16 stylesheet. The generic A24 dark-theme
   paragraph/time override was painting them light on that white surface. */
html[data-site-theme="dark"] body.site-public .t16-blog .demo-blog-cards .demo-blog-card {
  background:#fff;
  color:#17252d;
  border-color:#e4e8e8;
}
html[data-site-theme="dark"] body.site-public .t16-blog .demo-blog-cards .demo-blog-card h3,
html[data-site-theme="dark"] body.site-public .t16-blog .demo-blog-cards .demo-blog-card h3 a {
  color:#17252d;
}
html[data-site-theme="dark"] body.site-public .t16-blog .demo-blog-cards .demo-blog-card p {
  color:#4c5b68;
}
html[data-site-theme="dark"] body.site-public .t16-blog .demo-blog-cards .demo-blog-card time {
  color:#56636e;
}

/* A28: Contact intro stays white in the legacy stylesheet (!important).
   Keep the white surface, orange contact links, headings and visual intact.
   Match ONLY its descriptive copy and plain-text address to that surface. */
html[data-site-theme="dark"] body.site-public .t16-contact .mcy-contact-intro .mcy-contact-intro-text > p,
html[data-site-theme="dark"] body.site-public .t16-contact .mcy-contact-intro .mcy-contact-detail > p {
  color:#475569;
}

/* A30: advisor detail keeps white/cream cards even in dark mode.
   The generic dark-theme h1/h2/p/small rules otherwise paint text nearly white. */
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-hero,
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-portfolio {
  color:#20323a;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-info h1,
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-portfolio h2 {
  color:#20323a;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-info .mcy-profile-role {
  color:#874600;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-portfolio > p,
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-listing-body p {
  color:#526474;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-listing-body h3 a {
  color:#23343b;
}
html[data-site-theme="dark"] body.site-public main.mcy-advisor-profile-page .mcy-profile-listing-body strong {
  color:#b35f00;
}

/* A32: Move the primary contact actions to the existing top bar.
   Keep desktop navigation right-aligned without changing mobile menu behavior. */
body.site-public .site-topbar .site-top-wa::after { content:none; }
body.site-public .site-topbar .site-top-wa,
body.site-public .site-topbar .site-top-phone {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:32px;padding:7px 13px;border-radius:9px;
  font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;
}
body.site-public .site-topbar .site-top-wa { background:#16824c;color:#fff; }
body.site-public .site-topbar .site-top-phone { background:#f28a00;color:#111; }
body.site-public .site-topbar :is(.site-top-wa,.site-top-phone) .site-icon {width:15px;height:15px;flex:none;}
body.site-public .site-topbar :is(.site-top-wa,.site-top-phone):focus-visible {outline:2px solid #fff;outline-offset:2px;}
@media(min-width:1025px) {
  body.site-public .site-header-inner>.site-desktop-nav {justify-content:flex-end;margin-left:auto;flex:1 1 auto;}
}
@media(max-width:640px) {
  body.site-public .site-topbar .site-top-wa,
  body.site-public .site-topbar .site-top-phone {min-height:30px;padding:6px 9px;font-size:11px;gap:5px;}
  body.site-public .site-topbar :is(.site-top-wa,.site-top-phone) .site-icon {width:13px;height:13px;}
}
@media(max-width:360px) {
  body.site-public .site-topbar .site-top-wa,
  body.site-public .site-topbar .site-top-phone {padding:6px 7px;font-size:10px;}
}

/* A37: one desktop navigation layout; supersedes A21/A33/A34-A36 rules.
   Scales by available CSS viewport; desktop navigation remains visible >=760px. */
@media (min-width:760px) {
 body.site-public .site-header {border-bottom:1px solid #ece8e3;box-shadow:0 5px 20px rgba(22,28,34,.045)}
 body.site-public .site-header-inner {display:flex;flex-wrap:nowrap;align-items:center;min-height:clamp(76px,6.2vw,112px);gap:clamp(5px,.5vw,12px);min-width:0}
 body.site-public .site-header-inner>.site-logo {flex:0 0 clamp(45px,4.3vw,78px);width:clamp(45px,4.3vw,78px);min-width:0}
 body.site-public .site-header-inner>.site-logo img {width:100%;max-width:100%;height:auto;max-height:78px;object-fit:contain}
 body.site-public .site-header-inner>.site-header-identity {flex:0 1 clamp(118px,11.5vw,215px);width:clamp(118px,11.5vw,215px);min-width:0;max-width:215px}
 body.site-public .site-header-identity strong {font-size:clamp(11px,.94vw,16px);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.site-public .site-header-identity small {font-size:clamp(9px,.72vw,12px);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.site-public .site-header-inner>.site-desktop-nav {display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;min-width:0;margin-left:auto;gap:clamp(0px,.13vw,3px)}
 body.site-public .site-desktop-nav .site-nav-item {flex:0 1 auto;min-width:0}
 body.site-public .site-desktop-nav .site-nav-item>a {display:inline-flex;align-items:center;min-height:36px;gap:clamp(2px,.26vw,5px);padding:7px clamp(2px,.38vw,8px);font-size:clamp(11px,1vw,16px);line-height:1.2;font-weight:650;letter-spacing:-.02em;white-space:nowrap;border:1px solid transparent;border-radius:10px;background:transparent;color:#34404b;transition:background-color .18s,color .18s}
 body.site-public .site-desktop-nav .site-nav-item>a .site-icon {width:clamp(11px,.96vw,17px);height:clamp(11px,.96vw,17px);flex:none}
 body.site-public .site-desktop-nav .site-sub-toggle {padding:4px clamp(1px,.16vw,4px);border-radius:9px}
 body.site-public .site-desktop-nav .site-sub-toggle .site-icon {width:clamp(10px,.8vw,14px);height:clamp(10px,.8vw,14px)}
 body.site-public .site-desktop-nav .site-nav-item>a:is(:hover,:focus-visible) {background:#fff4e8;color:#a64c00;border-color:#f6dec7}
 body.site-public .site-desktop-nav .site-nav-item>a.is-active {background:#ed7900;color:#fff;border-color:#ed7900;box-shadow:0 3px 9px rgba(220,107,0,.15)}
 body.site-public .site-header-inner>.site-theme-toggle {display:inline-flex;flex:0 0 clamp(32px,2.7vw,42px);width:clamp(32px,2.7vw,42px);height:clamp(32px,2.7vw,42px);margin-left:clamp(2px,.25vw,6px);border-radius:12px}
 body.site-public .site-header-inner>.site-menu-toggle {display:none}
 body.site-public .site-topbar {font-size:clamp(11px,.85vw,14px)}
 body.site-public .site-top-inner {min-height:38px;gap:8px}
 body.site-public .site-top-info {min-width:0;flex:1 1 auto;flex-wrap:wrap;row-gap:4px}
 body.site-public .site-top-right {flex:0 0 auto;gap:6px}
 body.site-public .site-topbar :is(.site-top-wa,.site-top-phone) {min-height:32px;padding:6px clamp(7px,.65vw,13px);font-size:clamp(11px,.85vw,14px)}
 html[data-site-theme="dark"] body.site-public .site-header {border-bottom-color:var(--tusba-line)}
 html[data-site-theme="dark"] body.site-public .site-desktop-nav .site-nav-item>a {color:var(--tusba-text)}
 html[data-site-theme="dark"] body.site-public .site-desktop-nav .site-nav-item>a:is(:hover,:focus-visible) {background:#423326;color:#ffc17a;border-color:#73502e}
 html[data-site-theme="dark"] body.site-public .site-desktop-nav .site-nav-item>a.is-active {background:#df7400;color:#fff;border-color:#df7400}
}
/* Tighter density only where needed; never force a hamburger on desktop. */
@media (min-width:760px) and (max-width:1150px) {
 body.site-public .site-header-inner {gap:4px}
 body.site-public .site-header-inner>.site-logo {flex-basis:44px;width:44px}
 body.site-public .site-header-inner>.site-header-identity {flex:0 1 112px;width:112px}
 body.site-public .site-desktop-nav .site-nav-item>a {font-size:11px;padding:6px 2px;gap:2px}
 body.site-public .site-desktop-nav .site-nav-item>a .site-icon {width:11px;height:11px}
 body.site-public .site-desktop-nav .site-sub-toggle {padding:3px 1px}
}
@media (max-width:759px) {
 body.site-public .site-header-inner>.site-desktop-nav {display:none}
 body.site-public .site-header-inner>.site-menu-toggle {display:flex}
 body.site-public .site-header-inner>.site-theme-toggle {margin-left:auto}
 body.site-public .site-top-inner {flex-wrap:wrap;justify-content:center;row-gap:6px;padding-top:6px;padding-bottom:6px}
 body.site-public .site-top-info {min-width:0;flex-wrap:wrap;justify-content:center;row-gap:4px}
 body.site-public .site-top-right {justify-content:center;gap:6px}
}
@media (prefers-reduced-motion:reduce) {body.site-public .site-desktop-nav .site-nav-item>a {transition:none}}

/* A42: dark-theme contrast for public home. Keep light story surface readable. */
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-v3-story {
  background-color:#fff;
  color:#202a33;
}
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-v3-story .ks-v3-story-copy h2 {
  color:#17232e;
}
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-v3-story .ks-v3-story-copy p {
  color:#485563;
}
html[data-site-theme="dark"] body.site-public .mcy-home-sections .ks-v3-story .ks-v3-story-copy .eyebrow {
  color:#a95500;
}
/* Search input retains its light surface in the home search card. */
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-keyword input {
  background:#fff;
  color:#202b35;
  border-color:#c8d0d9;
}
html[data-site-theme="dark"] body.site-public .site-search-section .site-search-keyword input::placeholder {
  color:#566372;
  opacity:1;
}
/* Metadata and navigation: improved contrast without changing layout. */
html[data-site-theme="dark"] body.site-public .site-property-card :is(.site-card-location,.site-card-specs,.site-card-spec) {
  color:#e0e5ec;
}
html[data-site-theme="dark"] body.site-public .site-property-card :is(.site-card-spec .site-card-icon,.site-card-location .site-card-icon) {
  color:#ffb657;
}
html[data-site-theme="dark"] body.site-public .site-desktop-nav .site-nav-item>a:not(.is-active),
html[data-site-theme="dark"] body.site-public .site-mobile-panel nav a {
  color:#f0f2f6;
}
html[data-site-theme="dark"] body.site-public .site-footer :is(p,small,.site-footer-about,.site-footer-bottom) {
  color:#e1e5eb;
}
html[data-site-theme="dark"] body.site-public .site-footer a:not(.site-footer-wa) {
  color:#f3f5f8;
}
