/* assets/header-theme.css */
/* Use the existing 1024px desktop navigation breakpoint. */
@media (min-width: 1024px) {
  button[aria-label="Toggle menu"] { display: none; }
}
/* Suppress legacy menu duplicates; theme-system.css paints the theme glyph. */
button[aria-label="Toggle menu"]::before { content: none; }
@media (max-width: 1023px) {
  #instatic-mobile-menu:not([hidden]) { display: block; }
}


/* assets/light-mode.css */
/* Light palette repair: preserve the dark cascade and existing theme behavior. */

html:not(.dark):not(.dark-2) {
  --muted-foreground: 25 6% 38%;
  --bernies-light-inverse: #f8fafc;
}

html:not(.dark):not(.dark-2) :is([class*="bg-gradient-to-"]) {
  --tw-gradient-from-position: 0%;
  --tw-gradient-via-position: 50%;
  --tw-gradient-to-position: 100%;
}

html:not(.dark):not(.dark-2) .text-primary-foreground-2 {
  color: hsl(var(--primary-foreground));
}

html:not(.dark):not(.dark-2) :is(section, div, a, button).to-orange-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-to: #9a3412 var(--tw-gradient-to-position);
}

html:not(.dark):not(.dark-2) :is(section, div).via-orange-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-stops: var(--tw-gradient-from), #9a3412 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

html:not(.dark):not(.dark-2) .text-orange-600-2 {
  color: #9a3412;
}

html:not(.dark):not(.dark-2) .hover\:text-orange-600-2:hover {
  color: #9a3412;
}

html:not(.dark):not(.dark-2) .text-green-600-2 {
  color: #15803d;
}

html:not(.dark):not(.dark-2) .hover\:text-green-600-2:hover {
  color: #15803d;
}

html:not(.dark):not(.dark-2) .text-red-600-2 {
  color: #b91c1c;
}

html:not(.dark):not(.dark-2) .hover\:text-red-600-2:hover {
  color: #b91c1c;
}

html:not(.dark):not(.dark-2) .text-cyan-600-2 {
  color: #0e7490;
}

html:not(.dark):not(.dark-2) .hover\:text-cyan-600-2:hover {
  color: #0e7490;
}

html:not(.dark):not(.dark-2) .text-teal-600-2 {
  color: #0f766e;
}

html:not(.dark):not(.dark-2) .hover\:text-teal-600-2:hover {
  color: #0f766e;
}

html:not(.dark):not(.dark-2) footer :is(.text-gray-400-2,.text-gray-500-2) {
  color: #4b5563;
}

html:not(.dark):not(.dark-2) .text-amber-800\/80-2 {
  color: #92400e;
}

html:not(.dark):not(.dark-2) .text-blue-600\/80-2 {
  color: #1d4ed8;
}

html:not(.dark):not(.dark-2) :is(a,button).bg-orange-600-2 {
  background-color: #c2410c;
  color: var(--bernies-light-inverse);
}

html:not(.dark):not(.dark-2) :is(a,button).hover\:bg-orange-700-2:is(:hover,:focus-visible) {
  background-color: #9a3412;
}

html:not(.dark):not(.dark-2) :is(section,div).text-white-2:is([class*="bg-gradient-to-"]) :is(.text-blue-100-2,.text-blue-200-2,.text-green-100-2,.text-green-200-2,.text-cyan-100-2,.text-cyan-200-2,.text-teal-100-2,.text-teal-200-2,.text-sky-100-2,.text-sky-200-2,.text-purple-100-2,.text-purple-200-2,.text-indigo-100-2,.text-indigo-200-2,.text-orange-100-2,.text-orange-200-2,.text-red-100-2,.text-red-200-2,.text-slate-100-2,.text-slate-200-2) {
  color: var(--bernies-light-inverse);
}

html:not(.dark):not(.dark-2) .text-orange-500-2 {
  color: #9a3412;
}

html:not(.dark):not(.dark-2) .thank-you-call {
  background-color: #c2410c;
}

html:not(.dark):not(.dark-2) :is(.bernies-schedule-dialog,.bernies-voice-dialog) {
  color: hsl(var(--foreground));
  background: hsl(var(--background));
}

html:not(.dark):not(.dark-2) :is(.bernies-schedule-dialog header p,.bernies-voice-copy) {
  color: hsl(var(--muted-foreground));
}

html:not(.dark):not(.dark-2) .bernies-voice-actions button:not(:only-child) {
  color: hsl(var(--foreground));
  background: hsl(var(--background));
  border-color: hsl(var(--border));
}

html:not(.dark):not(.dark-2) :is(.bernies-schedule-dialog header button,.bernies-voice-actions button:not(:only-child)):hover {
  background: hsl(var(--accent));
}

html:not(.dark):not(.dark-2) :is(.bernies-schedule-dialog,.bernies-voice-dialog) :focus-visible {
  outline-color: hsl(var(--ring));
}

html:not(.dark):not(.dark-2) .bg-blue-600-2 {
  background-color: #1d4ed8;
}

html:not(.dark):not(.dark-2) .bg-green-600-2 {
  background-color: #166534;
}

html:not(.dark):not(.dark-2) .bg-cyan-600-2 {
  background-color: #155e75;
}

html:not(.dark):not(.dark-2) .bg-teal-600-2 {
  background-color: #115e59;
}

html:not(.dark):not(.dark-2) .bg-purple-600-2 {
  background-color: #7e22ce;
}

html:not(.dark):not(.dark-2) .bg-indigo-600-2 {
  background-color: #4338ca;
}

html:not(.dark):not(.dark-2) :is(.bg-blue-600-2,.bg-green-600-2,.bg-cyan-600-2,.bg-teal-600-2,.bg-purple-600-2,.bg-indigo-600-2,.bg-orange-600-2,.bg-orange-700-2) :is(.text-blue-100-2,.text-blue-200-2,.text-green-100-2,.text-green-200-2,.text-cyan-100-2,.text-cyan-200-2,.text-teal-100-2,.text-teal-200-2,.text-sky-100-2,.text-sky-200-2,.text-purple-100-2,.text-purple-200-2,.text-indigo-100-2,.text-indigo-200-2,.text-orange-100-2,.text-orange-200-2,.text-red-100-2,.text-red-200-2,.text-slate-100-2,.text-slate-200-2) {
  color: var(--bernies-light-inverse);
}

html:not(.dark):not(.dark-2) :is(a,button).bg-background-2:is(.text-primary-foreground-2,.text-white-2) {
  color: hsl(var(--foreground));
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-orange-500-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #9a3412 var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-orange-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #9a3412 var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-green-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #166534 var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-cyan-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #155e75 var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-teal-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #115e59 var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-sky-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #075985 var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-blue-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #1e40af var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-purple-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #6b21a8 var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-indigo-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #3730a3 var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section, div, footer, a, button).from-red-600-2:is([class*="bg-gradient-to-"]) {
  --tw-gradient-from: #991b1b var(--tw-gradient-from-position);
}

html:not(.dark):not(.dark-2) :is(section,div).text-white-2:is([class*="bg-gradient-to-"]) :is(.text-orange-300-2,.text-blue-300-2) {
  color: #f8fafc;
}

html:not(.dark):not(.dark-2) .bg-orange-600-2 {
  background-color: #9a3412;
}

html:not(.dark):not(.dark-2) .bg-red-600-2 {
  background-color: #b91c1c;
}

html:not(.dark):not(.dark-2) .bg-sky-600-2 {
  background-color: #0369a1;
}

html:not(.dark):not(.dark-2) :is(.bg-red-600-2,.bg-sky-600-2) :is(.text-red-100-2,.text-sky-100-2,.text-sky-200-2) {
  color: #f8fafc;
}

html:not(.dark):not(.dark-2) .bg-white\/10-2.rounded-full-2 {
  color: #fff;
}

html:not(.dark):not(.dark-2) .bg-white\/10-2.animate-pulse-2 {
  animation: none;
  opacity: 1;
}

html:not(.dark):not(.dark-2) .text-gray-500-2 {
  color: #4b5563;
}

html:not(.dark):not(.dark-2) .opacity-70-2 .text-gray-400-2 {
  color: #374151;
}

html:not(.dark):not(.dark-2) .bg-blue-50-2 > h3.text-2xl-2, html:not(.dark):not(.dark-2) .bg-white-2 > .text-center-2 > h3.text-2xl-2 {
  color: #1e3a8a;
}

html:not(.dark):not(.dark-2) a.text-cyan-100-2.hover\:text-white-2 {
  color: #155e75;
}

html:not(.dark):not(.dark-2) a.text-cyan-100-2.hover\:text-white-2:is(:hover,:focus-visible) {
  color: #164e63;
}

html:not(.dark):not(.dark-2) .bg-black\/60-2:has(.text-xs-2) {
  background-color: rgba(15,23,42,.9);
}

html:not(.dark):not(.dark-2) .bg-white-2 > .max-w-7xl-2 > .text-center-2 > h3.text-2xl-2 {
  color: #1e3a8a;
}

html:not(.dark):not(.dark-2) .ring-blue-500\/20-2 > .absolute-2.bottom-6-2.text-white-2 {
  background-color: rgba(15,23,42,.9);
  padding: 12px 16px;
  border-radius: 12px;
}

html:not(.dark):not(.dark-2) .bg-black\/60-2.text-xs-2 {
  background-color: rgba(15,23,42,.9);
}

html:not(.dark):not(.dark-2) .text-white\/70-2.text-xs-2 {
  color: #fff;
}

html:not(.dark):not(.dark-2) .thank-you-icon {
  background-color: #c2410c;
}

html:not(.dark):not(.dark-2) section.text-white-2:is([class*="bg-gradient-to-"]) :is(.bg-blue-500\/30-2,.bg-orange-500\/30-2).rounded-full-2 > span.text-sm-2 { color: #fff; }

html:not(.dark):not(.dark-2) section.text-white-2:is([class*="bg-gradient-to-"]) .text-orange-400-2 { color: #fed7aa; }

html:not(.dark):not(.dark-2) .bg-blue-500-2.text-white-2 { background-color: #1d4ed8; }

html:not(.dark):not(.dark-2) :is(.from-orange-500-2,.from-orange-600-2) .text-white\/80-2 { color: #f8fafc; }

html:not(.dark):not(.dark-2) a.inline-flex-2.text-cyan-100-2.hover\:text-white-2 { color: #155e75; }
html:not(.dark):not(.dark-2) a.inline-flex-2.text-cyan-100-2.hover\:text-white-2:is(:hover,:focus-visible) { color: #164e63; }

html:not(.dark):not(.dark-2) :is(a,button).bg-background-2:is(.text-white-2,.text-primary-foreground-2).hover\:bg-white\/10-2:hover { color: #fff; }

/* Service copy and direct router links, 2026-10-25. */
[data-bernies-service-copy] { max-width: 76rem; margin: 2rem auto; padding: 1.5rem; line-height: 1.7; }
[data-bernies-service-copy] h2 { font-size: clamp(1.35rem,3vw,1.8rem); font-weight: 700; margin: 1.8rem 0 .7rem; }
[data-bernies-service-copy] h3 { font-size: 1.15rem; font-weight: 650; margin: 1.3rem 0 .5rem; }
[data-bernies-service-copy] p { margin: 0 0 1rem; max-width: 78ch; }
[data-bernies-service-copy] a { display: inline-block; color: #1d4ed8; text-decoration: underline; margin: .5rem 1.5rem .5rem 0; }
html.dark [data-bernies-service-copy] a { color: #93c5fd; }


/* assets/site-consistency.css */
/* Shared public content system. Protected homepage hero is explicitly excluded. */
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) { --bernies-surface:var(--bn-page); --bernies-card:var(--bn-card); --bernies-ink:var(--bn-ink); --bernies-muted:var(--bn-muted); --bernies-blue:var(--bn-primary); --bernies-border:var(--bn-border); background:var(--bernies-surface) !important; background-image:none !important; color:var(--bernies-ink) !important; font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif; padding-block:clamp(2rem,4vw,4rem) !important; }
html.dark :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) { --bernies-surface:var(--bn-page); --bernies-card:var(--bn-card); --bernies-ink:var(--bn-ink); --bernies-muted:var(--bn-muted); --bernies-blue:var(--bn-link); --bernies-border:var(--bn-border); }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where(h1,h2,h3,h4,h5,h6) { color:var(--bernies-ink) !important; background-image:none !important; -webkit-text-fill-color:currentColor; font-family:inherit; font-weight:700 !important; letter-spacing:-.025em; text-wrap:balance; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) h1 { font-size:clamp(2rem,3.5vw,3.5rem) !important; line-height:1.12 !important; margin-bottom:1.25rem; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) h2 { font-size:clamp(1.5rem,2.2vw,2.1rem) !important; line-height:1.25 !important; margin-block:1.75rem 1rem; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) h3 { font-size:1.2rem !important; line-height:1.35 !important; margin-block:1.5rem .65rem; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where(p,li,td,th,summary) { color:var(--bernies-muted) !important; font-size:1rem; line-height:1.75 !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) p { margin-block:.75rem !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where(span,strong,b) { color:var(--bernies-ink) !important; -webkit-text-fill-color:currentColor; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where([class*="rounded-"]:not([class*="rounded-full"])):not(a,button,img,video,iframe) { background:var(--bernies-card) !important; background-image:none !important; border-color:var(--bernies-border) !important; border-radius:1rem !important; box-shadow:0 3px 14px rgb(15 23 42 / .04) !important; color:var(--bernies-ink) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where([class*="rounded-"]:not([class*="rounded-full"])) :where(p,li,span) { color:var(--bernies-muted) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) a:not([href^="tel:"],.bernies-cta) { color:var(--bernies-blue) !important; text-underline-offset:.2em; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) a[href^="tel:"], :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) .bernies-cta { display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1.15rem; border-radius:.65rem; background:var(--bn-primary) !important; color:#fff !important; font-weight:700; font-size:1rem; line-height:1.4; text-decoration:none; min-height:44px; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) a[href^="tel:"] *, :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) .bernies-cta * { color:#fff !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) a:focus-visible, :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) summary:focus-visible { outline:3px solid #60a5fa; outline-offset:4px; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where(img,video,iframe) { max-width:100%; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where(td,th) { padding:.85rem; border-bottom:1px solid var(--bernies-border); }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where(input,textarea,select) { background:var(--bernies-card) !important; color:var(--bernies-ink) !important; border-color:var(--bernies-border) !important; }
[data-bernies-service-copy], [data-bernies-unavailable], [data-bernies-consolidated] { max-width:80rem; margin:0 auto !important; padding-inline:clamp(1rem,4vw,3rem) !important; }
.bernies-page-intro { max-width:72rem; margin:auto; padding-inline:clamp(1rem,4vw,3rem); }
.bernies-page-intro > p { max-width:70ch; }
.bernies-eyebrow { color:var(--bernies-blue) !important; font-size:.8rem !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.bernies-copy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.bernies-copy-card { padding:1.5rem; background:var(--bernies-card); border:1px solid var(--bernies-border); border-radius:1rem; }
.bernies-copy-card h2 { margin-top:0 !important; font-size:1.4rem !important; }
.bernies-policy { padding:1.5rem; margin-block:1.5rem; border:1px solid var(--bernies-border); border-left:4px solid #2563eb; border-radius:.75rem; background:var(--bernies-card); }
.bernies-policy h2 { margin-top:0 !important; }
.bernies-faq details { border-bottom:1px solid var(--bernies-border); padding-block:1rem; }
.bernies-faq summary { cursor:pointer; font-weight:700; color:var(--bernies-ink) !important; }
.bernies-related { display:flex; flex-wrap:wrap; gap:.75rem; }
.bernies-related a { padding:.7rem 1rem; border:1px solid var(--bernies-border); border-radius:.65rem; background:var(--bernies-card); }
@media(max-width:767px) { :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) { padding-inline:1rem; } :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) h1 { font-size:2rem !important; } .bernies-copy-grid { grid-template-columns:1fr; } .bernies-copy-card { padding:1.25rem; } .bernies-page-intro { padding-inline:0; } :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :where(p,li,a,summary) { overflow-wrap:anywhere; } }
/* Shared navigation and footer use the same brand palette on every public page. */
body > nav, body > header { background:var(--bn-card) !important; border-color:var(--bn-border) !important; }
body > nav a[href^="tel:"], body > nav a[href*="service_booking"], body > header a[href^="tel:"] { background:var(--bn-primary) !important; border-color:var(--bn-primary) !important; color:#fff !important; border-radius:.65rem !important; }
body > nav a[href^="tel:"] *, body > nav a[href*="service_booking"] * { color:#fff !important; }
footer { background:var(--bn-tint) !important; background-image:none !important; color:var(--bn-ink) !important; border-top:4px solid var(--bn-primary) !important; }
footer :where(h2,h3,h4,a) { color:var(--bn-primary) !important; }
footer :where(p,span,li) { color:var(--bn-muted) !important; }
html.dark body > nav, html.dark body > header { background:var(--bn-page) !important; border-color:var(--bn-border) !important; }
html.dark footer { background:var(--bn-page) !important; color:var(--bn-ink) !important; }
html.dark footer :where(h2,h3,h4,a) { color:var(--bn-link) !important; }
html.dark footer :where(p,span,li) { color:var(--bn-muted) !important; }

/* Closed menu is hidden in public HTML and editor canvases; runtime opens it explicitly. */
#instatic-mobile-menu { display:none !important; }
body:is(.instatic-menu-open,.instatic-menu-open-2) #instatic-mobile-menu:not([hidden]) { display:block !important; }
@media(min-width:1024px) { body #instatic-mobile-menu { display:none !important; } }

:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) { padding-inline:clamp(1rem,4vw,3rem) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) > :is([class*="max-w-"],.bernies-page-intro) { padding-inline:0 !important; max-width:76rem; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) button { background:var(--bn-primary) !important; color:#fff !important; border-color:var(--bn-primary) !important; border-radius:.65rem !important; min-height:44px; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) button * { color:#fff !important; }
/* One responsive video column; map embeds and protected hero are separate. */
[data-bernies-video-section] > * { max-width:52rem !important; margin-inline:auto !important; }
[data-bernies-video-frame] { width:100%; aspect-ratio:16 / 9; overflow:hidden; border-radius:1rem; background:var(--bn-page); }
body :is([data-bernies-video-frame],[data-bernies-urgent]) > iframe[src*="youtube.com/embed/"] { display:block; width:100% !important; max-width:52rem !important; aspect-ratio:16 / 9; height:auto !important; margin:1.25rem auto !important; border:0; border-radius:1rem; }
body [data-bernies-video-frame] > iframe[src*="youtube.com/embed/"] { margin-block:0 !important; }
[data-bernies-service-copy] > p { max-width:80ch; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) a:is(.bernies-cta,[role="button"],[class*="inline-flex"][class*="items-center"][class*="justify-center"]):not([data-bernies-card-link]) { background:var(--bn-primary) !important; color:#fff !important; border-color:var(--bn-primary) !important; border-radius:.65rem !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) a:is(.bernies-cta,[role="button"],[class*="inline-flex"][class*="items-center"][class*="justify-center"]):not([data-bernies-card-link]) * { color:#fff !important; }
body > nav button:not([aria-label]), body > header button:not([aria-label]) { background:var(--bn-primary) !important; color:#fff !important; border-color:var(--bn-primary) !important; border-radius:.65rem !important; }
html:not(.dark) body footer, html.dark body footer { border-top:4px solid var(--bn-primary) !important; }
/* The removed legacy disclaimer left an empty orange banner in old footer copies. */
footer > div:first-child[class*="from-orange-"] { display:none !important; }
/* Photo overlays keep readable white captions in both themes. */
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) [class*="bg-gradient-to-t"][class*="from-black"] { background-image:linear-gradient(to top,rgba(15,23,42,.94),rgba(15,23,42,.68)) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) [class*="bg-gradient-to-t"][class*="from-black"] :is(h2,h3,p,span,strong,a) { color:#fff !important; -webkit-text-fill-color:#fff !important; }

/* Semantic adapters for existing content; same roles in both themes. */
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) { --bernies-soft:#e8efff; --bernies-on-soft:#1e40af; }
html.dark :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) { --bernies-soft:#223554; --bernies-on-soft:#bfdbfe; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *)[data-bernies-content]:not([data-bernies-page-surface]) { padding:0 !important; background:transparent !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) [data-bernies-badge] { background:var(--bernies-soft) !important; background-image:none !important; color:var(--bernies-on-soft) !important; border-color:var(--bernies-border) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) [data-bernies-badge] :is(span,p,svg) { color:var(--bernies-on-soft) !important; -webkit-text-fill-color:currentColor; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) [data-bernies-card-link] { background:var(--bernies-card) !important; background-image:none !important; color:var(--bernies-ink) !important; border-color:var(--bernies-border) !important; border-radius:1rem !important; text-decoration:none; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) [data-bernies-card-link] :is(h2,h3,h4,span,strong) { color:var(--bernies-ink) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) [data-bernies-card-link] p { color:var(--bernies-muted) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) [data-bernies-card-link]:hover { border-color:var(--bernies-blue) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) section:is([aria-label="Heating contractor"],[aria-label="Air conditioning contractor"]) { padding:0 !important; margin-block:1.5rem !important; }
body > div[class*="flex-col"] > :is(nav,header) { background:var(--bn-card) !important; border-color:var(--bn-border) !important; }
html.dark body > div[class*="flex-col"] > :is(nav,header) { background:var(--bn-page) !important; border-color:var(--bn-border) !important; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
html.dark :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :is(a,button,input,textarea,select,summary):focus-visible { outline-color:var(--bn-link); }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :is(button,a.bernies-cta,a[href^="tel:"]) { transition:background-color .18s ease,color .18s ease,border-color .18s ease; }
:is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :is(button,a.bernies-cta,a[href^="tel:"]):hover { background:#1e40af !important; color:#fff !important; }
@media(prefers-reduced-motion:reduce) { :is(body > section, body > main section, body > article section, body > div[class*="flex-col"] section, [data-bernies-content]):not([data-bernies-home-hero], [data-bernies-home-hero] *) :is(button,a.bernies-cta,a[href^="tel:"]) { transition:none !important; } }

/* Homepage service choices are real, visible links in the Services target. */
#services, #service-directory { scroll-margin-top:1.5rem; }
#services [data-bernies-service-copy] { display:flex; flex-wrap:wrap; justify-content:center; gap:.65rem; width:100%; max-width:none !important; margin:1.5rem 0 2rem !important; padding:0 !important; background:transparent !important; }
#services [data-bernies-service-copy] > h2 { flex-basis:100%; font-size:1.1rem !important; margin:0 0 .5rem !important; text-align:center; }
#services [data-bernies-service-copy] a { display:inline-flex; align-items:center; min-height:44px; padding:.65rem 1rem; border:1px solid var(--bernies-border); border-radius:.65rem; background:var(--bernies-card); font-weight:600; text-decoration:underline; text-underline-offset:.2em; }
#services [data-bernies-service-card] { padding:1.5rem; border:1px solid var(--bernies-border); border-radius:1rem; background:var(--bernies-card); }
#services [data-bernies-service-card] svg { color:var(--bernies-blue) !important; }
#services [data-bernies-service-heading-link] { display:flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:.2em; }
#services [data-bernies-service-heading-link] h3 { margin:0 !important; color:var(--bernies-blue) !important; }
:is(#services,#service-directory) a[href]:is(:hover,:focus-visible) { text-decoration:underline; text-underline-offset:.2em; text-decoration-thickness:2px; }
:is(#services,#service-directory) a[href]:focus-visible { outline:3px solid var(--bernies-blue) !important; outline-offset:4px; }


/* Visual r4: explicit roles. Never mark an ancestor of the protected hero.
   Surface owns block spacing; container owns the 76rem measure and single gutter. Breadcrumb hierarchy
   and page content are native CMS structure, not generated CSS content. */
body :is([data-bernies-page-surface], [data-bernies-breadcrumbs], [data-bernies-service-intro], [data-bernies-availability-notice], [data-bernies-service-copy], [data-bernies-unavailable], [data-bernies-consolidated], [data-bernies-stat-grid], [data-bernies-stat-card], [data-bernies-benefits], [data-bernies-video-section]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  --bernies-surface:var(--bn-page); --bernies-card:var(--bn-card); --bernies-ink:var(--bn-ink);
  --bernies-muted:var(--bn-muted); --bernies-blue:var(--bn-primary); --bernies-border:var(--bn-border);
  --bernies-soft:#e8efff; --bernies-on-soft:#1e40af;
  --bernies-container:76rem; --bernies-gutter:clamp(1rem,3vw,2rem);
  --bernies-section-space:clamp(2rem,4vw,4rem); --bernies-card-radius:1rem;
  box-sizing:border-box; color:var(--bernies-ink);
  font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;
}
html.dark body :is([data-bernies-page-surface], [data-bernies-breadcrumbs], [data-bernies-service-intro], [data-bernies-availability-notice], [data-bernies-service-copy], [data-bernies-unavailable], [data-bernies-consolidated], [data-bernies-stat-grid], [data-bernies-stat-card], [data-bernies-benefits], [data-bernies-video-section]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  --bernies-surface:var(--bn-page); --bernies-card:var(--bn-card); --bernies-ink:var(--bn-ink);
  --bernies-muted:var(--bn-muted); --bernies-blue:var(--bn-link); --bernies-border:var(--bn-border);
  --bernies-soft:#223554; --bernies-on-soft:#bfdbfe;
}

/* Full-width surface, contained content. Does not use viewport breakout margins. */
body :is([data-bernies-page-surface], [data-bernies-service-copy], [data-bernies-unavailable], [data-bernies-consolidated]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])):not(:where(#services, #services *)) {
  width:100% !important; max-width:none !important; margin:0 !important;
  padding:var(--bernies-section-space) 0 !important;
  background:var(--bernies-surface) !important; background-image:none !important;
}
body :is([data-bernies-page-surface], [data-bernies-service-copy], [data-bernies-unavailable], [data-bernies-consolidated]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])):not(:where(#services, #services *)) > * {
  box-sizing:border-box; width:100%; max-width:var(--bernies-container) !important;
  margin-inline:auto !important; min-width:0;
}
body :is([data-bernies-page-surface], [data-bernies-service-copy], [data-bernies-unavailable], [data-bernies-consolidated]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])):not(:where(#services, #services *)) > :is(p,h1,h2,h3) { max-width:var(--bernies-container) !important; }
/* Mark an outer grouping as a stack only when its children own the spacing. */
body [data-bernies-page-surface="stack"]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { padding:0 !important; gap:0 !important; }
body [data-bernies-page-surface="stack"]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > :is([data-bernies-service-intro],[data-bernies-page-surface]) { max-width:none !important; }
body [data-bernies-container]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  box-sizing:border-box; width:100% !important; max-width:var(--bernies-container,76rem) !important;
  margin-inline:auto !important; padding-inline:0 !important; min-width:0;
}
/* AC hub: its marked wrapper is a stack even before the new structure pass.
   Unsectioned article wrappers get the same measure without a second gutter. */
body [data-bernies-content][data-bernies-page-surface]:has(> [data-bernies-service-intro]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { padding:0 !important; gap:0 !important; }
body [data-bernies-content][data-bernies-page-surface]:has(> [data-bernies-service-intro]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > section { max-width:none !important; }
body [data-bernies-content][data-bernies-page-surface]:has(> [data-bernies-service-intro]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > div:not([data-bernies-page-surface]) {
  box-sizing:border-box; width:100%; max-width:calc(var(--bernies-container) + 2 * var(--bernies-gutter)) !important;
  padding:var(--bernies-section-space) 0 !important;
}

/* Native nav > container > ol > li. No fixed height or nowrap on mobile. */
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  width:100%; max-width:none !important; margin:0 !important;
  padding:.5rem 0 !important;
  background:var(--bernies-card) !important; background-image:none !important;
  border:0 !important; border-bottom:1px solid var(--bernies-border) !important;
  border-radius:0 !important; box-shadow:none !important;
}
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > :is(div,ol) { max-width:var(--bernies-container) !important; margin:0 auto !important; padding:0 !important; }
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) ol { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem .5rem; list-style:none; margin:0 !important; padding:0 !important; }
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) li { display:flex; align-items:center; gap:.5rem; min-width:0; margin:0; padding:0; font-size:.875rem !important; line-height:1.5 !important; color:var(--bernies-muted) !important; }
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) :is(a,[aria-current="page"]) { display:inline-flex; align-items:center; min-height:44px; padding-block:.35rem; font-size:.875rem !important; line-height:1.5 !important; overflow-wrap:anywhere; }
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) a { background:transparent !important; color:var(--bernies-blue) !important; text-decoration:underline; text-underline-offset:.2em; }
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) [aria-current="page"] { color:var(--bernies-ink) !important; font-weight:600; }
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) [aria-hidden="true"] { color:var(--bernies-muted) !important; flex:none; }
body [data-bernies-breadcrumbs]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) a:focus-visible { outline:3px solid var(--bernies-blue); outline-offset:3px; border-radius:.2rem; }

/* Intro and notice use one outer spacing layer; retain service-specific content. */
body [data-bernies-service-intro]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])):not(.thank-you-card,[data-bernies-unavailable]) {
  width:100%; max-width:none !important; margin:0 !important;
  padding:var(--bernies-section-space) 0 !important;
  background:var(--bernies-surface) !important; background-image:none !important;
}
body [data-bernies-service-intro]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])):not(.thank-you-card) > :is([class*="max-w-"],[data-bernies-container],.bernies-page-intro) {
  padding:0 var(--bernies-gutter) !important; max-width:var(--bernies-container) !important; margin-inline:auto !important;
}
body [data-bernies-service-intro]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) h1 { margin-top:0 !important; margin-bottom:1.25rem !important; }
body [data-bernies-service-intro]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) p { max-width:70ch; }
body [data-bernies-service-intro]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) :is([class*="text-center"],.bernies-page-intro) > p { margin-inline:auto !important; }
body [data-bernies-availability-notice]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  width:100%; max-width:none !important; margin:0 !important; padding:.75rem 0 !important;
  background:var(--bernies-soft) !important; background-image:none !important;
  border-bottom:1px solid var(--bernies-border);
}
body [data-bernies-availability-notice]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > div { padding:0 var(--bernies-gutter) !important; max-width:var(--bernies-container) !important; margin-inline:auto !important; }
body [data-bernies-availability-notice]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) h2 { color:var(--bernies-ink) !important; font-size:1.125rem !important; line-height:1.4 !important; margin:0 0 .25rem !important; }
body [data-bernies-availability-notice]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) :is(p,span,strong,div) { color:var(--bernies-ink) !important; -webkit-text-fill-color:currentColor; }
body [data-bernies-availability-notice]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) p { font-size:.9375rem !important; line-height:1.6 !important; margin:.25rem 0 0 !important; }
body [data-bernies-availability-notice]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) a:not([href^="tel:"],.bernies-cta) { color:var(--bernies-on-soft) !important; text-decoration:underline; }
body [data-bernies-availability-notice]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) :is(a[href^="tel:"],.bernies-cta) { color:#fff !important; }
body [data-bernies-availability-notice]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) :is(a[href^="tel:"],.bernies-cta) * { color:#fff !important; }
/* This marker is ordinary introductory prose, including the former tune-up pill. */
body [data-bernies-intro-copy]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  display:block !important; width:auto !important; max-width:70ch !important;
  padding:0 !important; margin-block:.75rem !important; border:0 !important;
  border-radius:0 !important; background:transparent !important; background-image:none !important;
  box-shadow:none !important; backdrop-filter:none !important; color:var(--bernies-muted) !important;
  font-size:1rem !important; line-height:1.75 !important; font-weight:400 !important;
  letter-spacing:normal !important; text-transform:none !important;
}

/* Shared neutral cards; the About values are divs, not headings. */
body [data-bernies-stat-grid]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:1.25rem !important; max-width:60rem !important; margin:2rem auto 0 !important; }
body [data-bernies-stat-card]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { min-width:0; padding:1.5rem !important; border:1px solid var(--bernies-border) !important; border-radius:var(--bernies-card-radius) !important; background:var(--bernies-card) !important; background-image:none !important; box-shadow:0 3px 14px rgb(15 23 42 / .04) !important; backdrop-filter:none !important; }
body [data-bernies-stat-card]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > :first-child { color:var(--bernies-ink) !important; -webkit-text-fill-color:currentColor; font-size:clamp(1.5rem,2vw,2rem) !important; line-height:1.25 !important; font-weight:700; overflow-wrap:anywhere; }
body [data-bernies-stat-card]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > :not(:first-child) { color:var(--bernies-muted) !important; -webkit-text-fill-color:currentColor; font-size:1rem !important; line-height:1.6 !important; margin-top:.5rem !important; }
body [data-bernies-benefits]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { display:flex; flex-wrap:wrap; gap:1rem 1.5rem !important; padding-top:1rem !important; }
body [data-bernies-benefits]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) :is(div,span,p) { color:var(--bernies-muted) !important; -webkit-text-fill-color:currentColor; }
body [data-bernies-benefits]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > div { min-width:0; align-items:flex-start; line-height:1.6; }
body [data-bernies-benefits]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) svg { color:var(--bernies-blue) !important; flex:none; margin-top:.2rem; }
/* Explicit card marker for native adapters; do not infer cards from all divs. */
body [data-bernies-card]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { padding:1.5rem !important; min-width:0; border:1px solid var(--bernies-border) !important; border-radius:var(--bernies-card-radius,1rem) !important; background:var(--bernies-card) !important; background-image:none !important; box-shadow:0 3px 14px rgb(15 23 42 / .04) !important; }
body [data-bernies-card]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > :is(h2,h3):first-child { margin-top:0 !important; }
body :is([data-bernies-card-grid],.bernies-copy-grid):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:1.25rem !important; align-items:stretch; }

/* Preserve the full genuine job photo even inside a legacy positioned frame. */
body img[data-bernies-job-photo]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { position:static !important; inset:auto !important; display:block; width:100% !important; height:auto !important; max-width:100% !important; max-height:36rem !important; object-fit:contain !important; object-position:center top !important; margin:0 auto !important; }
body :is(div,figure):has(> img[data-bernies-job-photo]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { height:auto !important; min-height:0 !important; aspect-ratio:auto !important; background:var(--bernies-card) !important; }
/* Keep an empty, removed decorative placement from leaving a whole section. */
body [data-bernies-text-intro]:empty:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { display:none !important; }
body section:has(> [data-bernies-text-intro]:empty):not(:has(> :not([data-bernies-text-intro]))):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { display:none !important; }
/* Shared media column. The iframe receives the frame's full usable area. */
body [data-bernies-video-frame]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { box-sizing:border-box; width:100% !important; max-width:52rem !important; margin-inline:auto !important; padding:0 !important; aspect-ratio:16 / 9; position:relative; overflow:hidden; background:var(--bn-page) !important; border-radius:1rem !important; }
body [data-bernies-video-frame]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) > iframe:is([src*="youtube.com/embed/"],[src*="youtube-nocookie.com/embed/"]) { display:block; width:100% !important; max-width:none !important; height:100% !important; margin:0 !important; padding:0 !important; border:0; border-radius:inherit; pointer-events:auto; }
body :is(.bernies-faq,[data-bernies-faq]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) summary { box-sizing:border-box; min-height:44px !important; padding-block:.5rem !important; cursor:pointer; color:var(--bernies-ink) !important; line-height:1.75 !important; }
body :is(.bernies-faq,[data-bernies-faq]):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) details { padding-block:.5rem !important; }
/* A standalone confirmation owns its viewport, without styling body or hero ancestors. */
main.thank-you-page { box-sizing:border-box; width:100%; min-height:100vh !important; min-height:100dvh !important; margin:0 !important; }
@media(max-width:767px) {
  body [data-bernies-stat-grid]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])), body :is([data-bernies-card-grid],.bernies-copy-grid):not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { grid-template-columns:minmax(0,1fr) !important; }
  body [data-bernies-stat-card]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])), body [data-bernies-card]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { padding:1.25rem !important; }
  body [data-bernies-benefits]:not([data-bernies-home-hero], [data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { flex-direction:column; align-items:flex-start; gap:.75rem !important; }
}

/* Native integration r2. Outer sections paint and own block spacing;
   the direct data-bernies-container owns the sole horizontal gutter.
   No font, theme or layout scope is installed on home main/body/hero ancestors. */
body :is([data-bernies-section],[data-bernies-breadcrumb],[data-bernies-site-header],[data-bernies-site-footer]):not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  --bernies-surface:var(--bn-page); --bernies-card:var(--bn-card); --bernies-ink:var(--bn-ink);
  --bernies-muted:var(--bn-muted); --bernies-blue:var(--bn-primary); --bernies-border:var(--bn-border);
  --bernies-soft:#e8efff; --bernies-on-soft:#1e40af; --bernies-container:76rem;
  --bernies-gutter:clamp(1rem,3vw,2rem); --bernies-section-space:clamp(2rem,4vw,4rem);
  --bernies-card-radius:1rem; box-sizing:border-box; color:var(--bernies-ink);
  font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;
}
html.dark body :is([data-bernies-section],[data-bernies-breadcrumb],[data-bernies-site-header],[data-bernies-site-footer]):not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  --bernies-surface:var(--bn-page); --bernies-card:var(--bn-card); --bernies-ink:var(--bn-ink);
  --bernies-muted:var(--bn-muted); --bernies-blue:var(--bn-link); --bernies-border:var(--bn-border);
  --bernies-soft:#223554; --bernies-on-soft:#bfdbfe;
}
body [data-bernies-page-shell] [data-bernies-section]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  display:block !important; position:relative !important; inset:auto !important;
  box-sizing:border-box; width:100% !important; max-width:none !important;
  height:auto !important; min-height:0 !important; margin:0 !important;
  padding:var(--bernies-section-space) 0 !important; gap:0 !important;
  background:var(--bernies-surface) !important; background-image:none !important;
  border-radius:0 !important; color:var(--bernies-ink) !important;
}
body [data-bernies-page-shell] [data-bernies-section][data-bernies-availability-notice] { padding-block:.75rem !important; background:var(--bernies-soft) !important; }
body [data-bernies-page-shell] [data-bernies-container]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  box-sizing:border-box !important; display:block; width:100% !important;
  max-width:76rem !important; min-width:0 !important; margin:0 auto !important;
  padding:0 var(--bernies-gutter,clamp(1rem,3vw,2rem)) !important;
  background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
/* These markers identify only extracted outer layout wrappers, never a useful card. */
body [data-bernies-page-shell] :is([data-bernies-intro-legacy-container],[data-bernies-section-legacy-container]):not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) {
  box-sizing:border-box; position:static !important; inset:auto !important;
  width:100% !important; max-width:none !important; height:auto !important;
  min-height:0 !important; margin:0 !important; padding:0 !important;
  background:transparent !important; background-image:none !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
body [data-bernies-page-shell] [data-bernies-intro-grid] {
  display:grid !important; grid-template-columns:minmax(0,1fr) !important;
  align-items:start !important; gap:clamp(1.5rem,3vw,3rem) !important;
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
}
body [data-bernies-page-shell] [data-bernies-intro-text] { min-width:0; width:100%; max-width:65ch; padding:0 !important; margin:0 !important; text-align:left !important; }
body [data-bernies-page-shell] [data-bernies-intro-text] > :is(h1,p) { margin-inline:0 !important; }
body [data-bernies-page-shell] [data-bernies-intro-text] > h1 { margin-top:0 !important; }
body [data-bernies-page-shell] [data-bernies-intro-extras] { min-width:0; width:100%; margin:1.5rem 0 0 !important; padding:0 !important; }
body [data-bernies-page-shell] :is([data-bernies-intro-media],[data-bernies-media-frame]) {
  position:relative !important; inset:auto !important; box-sizing:border-box;
  min-width:0 !important; width:100% !important; max-width:100% !important;
  height:auto !important; min-height:0 !important; aspect-ratio:auto !important;
  padding:0 !important; margin:0 !important; overflow:hidden;
}
body [data-bernies-page-shell] :is([data-bernies-intro-media],[data-bernies-media-frame]) img[data-bernies-job-photo] { max-height:32rem !important; }
body [data-bernies-page-shell] [data-bernies-intro-lead] {
  display:block !important; width:auto !important; max-width:65ch !important;
  padding:0 !important; margin:.75rem 0 !important; border:0 !important;
  border-radius:0 !important; background:transparent !important; box-shadow:none !important;
  backdrop-filter:none !important; font-size:1rem !important; font-weight:400 !important;
  line-height:1.75 !important; color:var(--bernies-muted) !important;
}
body [data-bernies-page-shell] :is([data-bernies-card-grid],.bernies-copy-grid):not([data-bernies-stat-grid]) {
  display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)) !important;
  align-items:stretch; gap:1.5rem !important;
}
body [data-bernies-page-shell] [data-bernies-card]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { box-sizing:border-box; padding:1.25rem !important; }
/* Breadcrumb hierarchy is entirely native, including the unlinked current label. */
body [data-bernies-page-shell] [data-bernies-breadcrumb] {
  box-sizing:border-box; display:block !important; position:static !important;
  width:100% !important; max-width:none !important; margin:0 !important;
  min-height:3rem; height:auto !important; padding:.5rem 0 !important;
  background:var(--bernies-card) !important; background-image:none !important;
  border:0 !important; border-bottom:1px solid var(--bernies-border) !important;
  border-radius:0 !important; box-shadow:none !important;
}
body [data-bernies-page-shell] [data-bernies-breadcrumb-list] { display:flex !important; flex-wrap:wrap !important; align-items:center; gap:.25rem .5rem !important; width:100%; list-style:none; padding:0 !important; margin:0 !important; }
body [data-bernies-page-shell] [data-bernies-breadcrumb-item] { display:flex !important; align-items:center; gap:.5rem; min-width:0; padding:0 !important; margin:0 !important; color:var(--bernies-muted) !important; font-size:.875rem !important; line-height:1.5 !important; }
body [data-bernies-page-shell] [data-bernies-breadcrumb] :is(a,[aria-current="page"]) { display:inline-flex; align-items:center; box-sizing:border-box; min-height:44px; padding:.35rem 0; font-size:.875rem !important; line-height:1.5 !important; overflow-wrap:anywhere; background:transparent !important; }
body [data-bernies-page-shell] [data-bernies-breadcrumb] a { color:var(--bernies-blue) !important; text-decoration:underline; text-underline-offset:.2em; }
body [data-bernies-page-shell] [data-bernies-breadcrumb] [aria-current="page"] { color:var(--bernies-ink) !important; font-weight:600; }
body [data-bernies-page-shell] [data-bernies-breadcrumb] [aria-hidden="true"] { color:var(--bernies-muted) !important; }
body [data-bernies-page-shell] [data-bernies-breadcrumb] a:focus-visible { outline:3px solid var(--bernies-blue); outline-offset:3px; }
/* Emitted video modules introduce an extra wrapper between frame and iframe. */
body [data-bernies-page-shell] [data-bernies-video-frame]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { display:block !important; position:relative !important; aspect-ratio:16/9 !important; width:100% !important; max-width:52rem !important; height:auto !important; padding:0 !important; margin-inline:auto !important; }
body [data-bernies-page-shell] [data-bernies-video-frame]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) :is(div,figure):has(iframe) { box-sizing:border-box; display:block !important; position:absolute !important; inset:0 !important; width:100% !important; max-width:none !important; height:100% !important; min-height:0 !important; padding:0 !important; margin:0 !important; aspect-ratio:auto !important; }
body [data-bernies-page-shell] [data-bernies-video-frame]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) iframe { box-sizing:border-box; display:block !important; position:absolute !important; inset:0 !important; width:100% !important; max-width:none !important; height:100% !important; min-height:0 !important; padding:0 !important; margin:0 !important; border:0 !important; pointer-events:auto; }
/* Native hidden attributes are also source-verifiable, independent of CSS loading. */
body :is([data-bernies-page-shell],[data-bernies-site-header],[data-bernies-site-footer]) :is([data-bernies-layout-empty],[data-bernies-layout-archive],[hidden]):not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { display:none !important; height:0 !important; min-height:0 !important; margin:0 !important; padding:0 !important; }
/* Shared chrome keeps the existing native menu/theme controls and disabled booking. */
body :is([data-bernies-site-header],[data-bernies-site-footer]) { box-sizing:border-box; width:100% !important; max-width:none !important; margin:0 !important; background:var(--bernies-card) !important; background-image:none !important; color:var(--bernies-ink) !important; border-color:var(--bernies-border) !important; }
body :is([data-bernies-site-header],[data-bernies-site-footer]) :is([data-bernies-header-row],[data-bernies-footer-row]) { box-sizing:border-box; width:100%; max-width:76rem !important; margin-inline:auto !important; min-width:0; }
body [data-bernies-site-footer] { padding:clamp(2rem,4vw,4rem) var(--bernies-gutter) !important; }
body [data-bernies-site-footer] [data-bernies-footer-row] { gap:1.5rem !important; }
/* Confirmation uses the shared page shell; flex on this route alone fills the viewport. */
body:has(> [data-bernies-site-header] + main.thank-you-page), body > :has(> [data-bernies-site-header] + main.thank-you-page) { display:flex; flex-direction:column; min-height:100vh; min-height:100dvh; background:var(--bn-page); }
html.dark body:has(> [data-bernies-site-header] + main.thank-you-page), html.dark body > :has(> [data-bernies-site-header] + main.thank-you-page) { background:var(--bn-page); }
body main.thank-you-page[data-bernies-page-shell] { display:block !important; flex:1 0 auto; width:100% !important; max-width:none !important; min-height:0 !important; height:auto !important; margin:0 !important; padding:0 !important; background:transparent !important; background-image:none !important; }
body main.thank-you-page[data-bernies-page-shell] [data-bernies-section] { text-align:left !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; backdrop-filter:none !important; }
@media(min-width:768px) {
  body [data-bernies-page-shell] [data-bernies-intro-grid][data-bernies-has-media="true"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:767px) {
  body [data-bernies-page-shell] [data-bernies-stat-grid] { grid-template-columns:minmax(0,1fr) !important; }
  body [data-bernies-site-footer] [data-bernies-footer-row] { display:flex !important; flex-direction:column !important; align-items:flex-start !important; }
}


/* R3 native review corrections: semantic components retain their visual ownership. */
body [data-bernies-page-shell] [data-bernies-intro-extras] [data-bernies-badge]:not([data-bernies-home-hero],[data-bernies-home-hero] *) {
  box-sizing:border-box; display:inline-flex !important; align-items:center !important;
  width:fit-content !important; max-width:100% !important; height:auto !important;
  gap:.5rem !important; padding:.5rem 1rem !important; white-space:normal !important;
  background:#dbeafe !important; background-image:none !important; color:#1e40af !important;
  border:1px solid var(--bn-link) !important; border-radius:999px !important;
  opacity:1 !important; visibility:visible !important; text-align:left !important;
}
body [data-bernies-page-shell] [data-bernies-intro-extras] [data-bernies-badge] :is(span,p,svg) { color:#1e40af !important; -webkit-text-fill-color:currentColor !important; }
body [data-bernies-page-shell] [data-bernies-intro-extras] [data-bernies-badge] svg { flex-shrink:0; stroke:currentColor !important; opacity:1 !important; visibility:visible !important; }
html.dark body [data-bernies-page-shell] [data-bernies-intro-extras] [data-bernies-badge] { background:#223554 !important; color:#bfdbfe !important; border-color:#46658d !important; }
html.dark body [data-bernies-page-shell] [data-bernies-intro-extras] [data-bernies-badge] :is(span,p,svg) { color:#bfdbfe !important; }
body [data-bernies-page-shell] [data-bernies-stat-grid]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
/* A policy is a padded card, not an extracted max-width wrapper. */
body [data-bernies-page-shell] .bernies-policy { box-sizing:border-box; padding:1.5rem !important; margin-block:1.5rem !important; border:1px solid var(--bernies-border) !important; border-left:4px solid #2563eb !important; border-radius:.75rem !important; background:var(--bernies-card) !important; }
body [data-bernies-page-shell] .bernies-related { display:flex !important; flex-wrap:wrap !important; gap:.75rem !important; }
body [data-bernies-page-shell] a[data-bernies-text-link] { display:inline-flex !important; align-items:center !important; gap:.35rem; box-sizing:border-box; width:fit-content !important; max-width:100%; min-height:44px !important; height:auto !important; padding:.5rem 0 !important; background:transparent !important; background-image:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; color:var(--bernies-blue,var(--bn-primary)) !important; text-decoration:underline !important; text-underline-offset:.2em; white-space:normal; }
body [data-bernies-page-shell] a[data-bernies-text-link] :is(span,svg) { color:inherit !important; }
body [data-bernies-page-shell] a[data-bernies-text-link]:focus-visible { outline:3px solid var(--bernies-blue); outline-offset:3px; }
/* Replaced media carries explicit native markers; original source/inline props stay exact. */
body [data-bernies-page-shell] iframe[data-bernies-map-frame] { display:block !important; position:relative !important; inset:auto !important; box-sizing:border-box; width:100% !important; max-width:100% !important; height:clamp(20rem,40vw,30rem) !important; min-height:20rem !important; border:0 !important; }
body [data-bernies-page-shell] [data-bernies-intro-media] img[data-bernies-intro-photo] { display:block !important; position:static !important; inset:auto !important; width:100% !important; max-width:100% !important; height:auto !important; max-height:32rem !important; object-fit:contain !important; object-position:center top !important; margin:0 auto !important; }
body [data-bernies-page-shell] [data-bernies-intro-photo-frame] { position:relative !important; inset:auto !important; height:auto !important; min-height:0 !important; aspect-ratio:auto !important; }
@media(max-width:767px) {
  body [data-bernies-page-shell] [data-bernies-stat-grid]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { grid-template-columns:minmax(0,1fr) !important; }
}

/* Final reviewer-confirmed flow/ownership corrections, all explicitly marked in native source. */
body [data-bernies-page-shell] [data-bernies-section] > [data-bernies-container]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { box-sizing:border-box !important; width:100% !important; max-width:76rem !important; margin-inline:auto !important; padding:0 var(--bernies-gutter,clamp(1rem,3vw,2rem)) !important; }
body [data-bernies-page-shell] [data-bernies-article-flow] { width:100% !important; max-width:none !important; margin-inline:0 !important; padding:0 !important; background:transparent !important; }
body [data-bernies-page-shell] [data-bernies-caption-card] { position:static !important; inset:auto !important; height:auto !important; min-height:0 !important; aspect-ratio:auto !important; transform:none !important; overflow:visible !important; padding:1.25rem !important; border:1px solid var(--bernies-border) !important; border-radius:1rem !important; background:var(--bernies-card) !important; }
body [data-bernies-page-shell] [data-bernies-caption-flow] { position:static !important; inset:auto !important; width:auto !important; max-width:none !important; height:auto !important; padding:0 !important; margin:0 !important; background:transparent !important; background-image:none !important; border:0 !important; box-shadow:none !important; }
/* Action rows are layout, not painted cards. Legacy directory pages may lack
   page-shell/role hooks; match their direct phone-action wrapper as well.
   Never reset the buttons themselves or the protected homepage hero. */
body :is([data-bernies-action-row],div:is([class~="inline-flex"],[class~="inline-flex-2"]):has(>a[href^="tel:"]):has(>button,>a[href*="/contact"],>a[href*="service_booking"]):not([data-bernies-card],[class*="rounded-"])):not([data-bernies-home-hero],[data-bernies-home-hero] *) { background:transparent !important; background-image:none !important; color:var(--bn-ink) !important; }
body [data-bernies-page-shell] [data-bernies-decorative-icon] { background:#dbeafe !important; background-image:none !important; color:#1e40af !important; }
body [data-bernies-page-shell] [data-bernies-decorative-icon]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { background:#dbeafe !important; background-image:none !important; color:#1e40af !important; }
body [data-bernies-page-shell] [data-bernies-decorative-icon] svg { color:#1e40af !important; stroke:currentColor !important; }
html.dark body [data-bernies-page-shell] [data-bernies-decorative-icon] { background:#223554 !important; color:#bfdbfe !important; }
html.dark body [data-bernies-page-shell] [data-bernies-decorative-icon]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { background:#223554 !important; color:#bfdbfe !important; }
html.dark body [data-bernies-page-shell] [data-bernies-decorative-icon] svg { color:#bfdbfe !important; }
body [data-bernies-page-shell] [data-bernies-icon-box] { display:inline-flex !important; align-items:center !important; justify-content:center !important; align-self:flex-start !important; box-sizing:border-box; width:4.5rem !important; height:4.5rem !important; max-width:100%; flex:0 0 auto !important; padding:1rem !important; }
body [data-bernies-page-shell] [data-bernies-photo-caption] { position:static !important; inset:auto !important; padding:1.25rem !important; margin:0 !important; background:var(--bernies-card) !important; background-image:none !important; border-top:1px solid var(--bernies-border); color:var(--bernies-ink) !important; }
body [data-bernies-page-shell] [data-bernies-photo-caption] :is(p,span) { color:var(--bernies-ink) !important; }
body [data-bernies-page-shell] [data-bernies-disclosure] { box-sizing:border-box; min-height:44px !important; padding-block:.5rem !important; cursor:pointer; line-height:1.75 !important; color:var(--bernies-ink) !important; }
body [data-bernies-page-shell] [data-bernies-legal-flow] { max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
body [data-bernies-page-shell] [data-bernies-legal-group]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { box-sizing:border-box; padding:0 !important; margin:0 !important; width:100% !important; max-width:none !important; }
body [data-bernies-page-shell] [data-bernies-legal-group] + [data-bernies-legal-group] { margin-top:2rem !important; }
body [data-bernies-page-shell] [data-bernies-legal-group] > h2 { margin-top:0 !important; }
body [data-bernies-page-shell] [data-bernies-legal-group][data-bernies-legal-card]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { padding:1.25rem !important; }
body[data-bernies-confirmation-font], body[data-bernies-confirmation-font] :is([data-bernies-page-shell],[data-bernies-site-header],[data-bernies-site-footer],[data-bernies-section],[data-bernies-intro-text]) { font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif !important; }
body [data-bernies-site-footer] [data-bernies-footer-map-frame] { position:relative !important; width:100% !important; height:14rem !important; overflow:hidden; }
body [data-bernies-site-footer] [data-bernies-footer-map-frame] iframe { display:block !important; position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; border:0 !important; }

/* Native video transcript disclosures retain their list-item marker and keyboard behavior. */
body [data-bernies-video-section] details > summary:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { box-sizing:border-box; min-height:44px !important; padding-block:.5rem !important; line-height:1.75 !important; text-align:left; }

/* Existing real body portraits use the shared photo flow with their natural aspect ratio. */
body [data-bernies-page-shell] img[data-bernies-job-photo][data-bernies-body-photo]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { width:auto !important; height:auto !important; max-width:100% !important; max-height:32rem !important; object-fit:contain !important; object-position:center top !important; }

/* Native closure: natural photo flow and explicit decorative glyph roles only. */
body [data-bernies-page-shell] [data-bernies-intro-photo-frame][data-bernies-media-frame]:has(>img[data-bernies-body-photo]) { display:block !important; align-self:start !important; }
body [data-bernies-page-shell] [data-bernies-photo-grid] { align-items:start !important; }
body [data-bernies-page-shell] [data-bernies-decorative-icon="inline"] { background:transparent !important; background-image:none !important; color:var(--bernies-ink) !important; }
html.dark body [data-bernies-page-shell] [data-bernies-decorative-icon="inline"] { background:transparent !important; color:var(--bernies-ink) !important; }
body [data-bernies-page-shell] [data-bernies-decorative-icon] > svg { flex-shrink:0; }
@media(min-width:768px) { body [data-bernies-page-shell] [data-bernies-photo-grid][data-bernies-card-grid] { grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }

/* Inline decorative glyphs retain the surrounding row/card surface and geometry. */
body [data-bernies-page-shell] [data-bernies-decorative-icon="inline"]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { background:transparent !important; background-image:none !important; color:var(--bernies-ink) !important; }
html.dark body [data-bernies-page-shell] [data-bernies-decorative-icon="inline"]:not([data-bernies-home-hero],[data-bernies-home-hero] *):not(:has([data-bernies-home-hero])) { background:transparent !important; background-image:none !important; color:var(--bernies-ink) !important; }

/* Existing text/photo pairs occupy one shared grid track per child. */
body [data-bernies-page-shell] [data-bernies-intro-grid]:has(>[data-bernies-media-frame]>img[data-bernies-body-photo]) > [data-bernies-card] { grid-column:auto !important; }


/* assets/widgets-disabled.css */
/* Voice remains disabled; text chat is restored separately. */
button[aria-label="Open Bernie's Heating & A/C Service live voice assistant"],
.bernies-voice-dialog {
  display: none !important;
}


/* assets/theme-system.css */
/* Shared palette roles. Existing native content adapters reference these tokens. */
:root {
  --bn-theme-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2012.8A8.5%208.5%200%201%201%2011.2%203%206.5%206.5%200%200%200%2021%2012.8Z%22%2F%3E%3C%2Fsvg%3E");
  color-scheme: light;
  --bn-page: #f7f6f2;
  --bn-card: #ffffff;
  --bn-tint: #edf3f6;
  --bn-ink: #192f43;
  --bn-muted: #506477;
  --bn-border: #d4dfe5;
  --bn-primary: #165a86;
  --bn-primary-hover: #104363;
  --bn-link: #14557f;
  --bn-accent: #bd481a;
  --bn-accent-hover: #9c3611;
  --bn-accent-text: #a43e15;
  --bn-notice-surface: #fff1dc;
  --bn-notice-ink: #843b13;
  --bn-notice-border: #dca86b;
  --bn-hero: #112b43;
  --bn-on-hero: #f5f9fc;
  --bn-hero-muted: #d0e0eb;
  --bn-hero-accent: #ffb38a;
  --bn-on-action: #ffffff;
  --background: 48 24% 96%;
  --foreground: 208 46% 18%;
  --primary: 203 72% 31%;
  --primary-foreground: 0 0% 100%;
  --muted: 200 33% 95%;
  --muted-foreground: 209 20% 39%;
  --accent: 200 33% 95%;
  --accent-foreground: 208 46% 18%;
  --border: 201 25% 86%;
  --input: 201 25% 86%;
  --ring: 18 75% 42%;
}
html:is(.dark,.dark-2) {
  --bn-theme-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v2M12%2019v2M3%2012h2M19%2012h2M5.6%205.6%207%207M17%2017l1.4%201.4M18.4%205.6%2017%207M7%2017l-1.4%201.4%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E");
  color-scheme: dark;
  --bn-page: #0c1927;
  --bn-card: #15293b;
  --bn-tint: #102234;
  --bn-ink: #edf4f8;
  --bn-muted: #b6c9d7;
  --bn-border: #304a5d;
  --bn-primary: #165a86;
  --bn-primary-hover: #104363;
  --bn-link: #9dcdee;
  --bn-accent-text: #ffb38a;
  --bn-notice-surface: #33291e;
  --bn-notice-ink: #ffcf93;
  --bn-notice-border: #986d3b;
  --bn-hero: #10283e;
  --background: 211 53% 10%;
  --foreground: 202 44% 95%;
  --muted: 209 53% 13%;
  --muted-foreground: 205 29% 78%;
  --accent: 207 48% 17%;
  --accent-foreground: 202 44% 95%;
  --border: 205 32% 28%;
  --input: 205 32% 28%;
}
html { background: var(--bn-page); scrollbar-gutter: stable; }
html:root body {
  background: var(--bn-page) !important;
  color: var(--bn-ink) !important;
}
/* Native document navigation keeps the outgoing frame until the new one is
   ready where supported. No cross-fade or white transition layer. */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation: none; }

/* Compact shared chrome: one row on desktop, plus a clear mobile call action.
   Native ID fallbacks also style CMS pages that lack the exported data hooks. */
/* overflow-x:hidden makes the body a separate scroll container and defeats
   sticky positioning while the document scrolls. Clip without that container. */
html:root:is(:has(body > [data-bernies-site-header]), :has(body > nav > #nav-container)),
html:root body:is(:has(> [data-bernies-site-header]), :has(> nav > #nav-container)) {
  overflow-x: clip !important;
}
html:root:is(:has(body > [data-bernies-site-header]), :has(body > nav > #nav-container)) {
  scroll-padding-top: 124px;
}
html:root body > :is([data-bernies-site-header], nav:has(> #nav-container)) {
  position: sticky !important;
  top: 0 !important;
  z-index: 100;
  padding: 0 !important;
  background: var(--bn-card) !important;
  color: var(--bn-ink) !important;
  border-bottom: 1px solid var(--bn-border) !important;
  box-shadow: 0 3px 16px rgb(9 30 48 / .06) !important;
}
html:root body > :is([data-bernies-site-header], nav:has(> #nav-container)),
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) > div,
html:root #nav-container > a img { transition: none !important; }
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) :is([data-bernies-header-row="2"], nav:has(> #nav-container) > :nth-child(3)) { display: none !important; }
/* Business details remain visible at every width, above the compact navigation. */
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container {
  display: block !important; padding: 0 !important;
  width: 100% !important; max-width: none !important; margin-inline: 0 !important;
  background: var(--bn-tint); border-bottom: 1px solid var(--bn-border);
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container > div {
  width: 100%; max-width: 76rem !important; margin-inline: auto !important;
  padding: 4px clamp(1rem,3vw,2rem) !important;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container > div > div {
  display: flex; align-items: center; justify-content: flex-end;
  flex-wrap: wrap; gap: .35rem .65rem; width: 100%;
  color: var(--bn-muted); font-size: .75rem; line-height: 1.5;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container span {
  color: var(--bn-ink) !important; font-size: inherit !important;
  line-height: inherit; overflow-wrap: anywhere;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container svg {
  width: 14px; height: 14px; flex-shrink: 0;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) :is([data-bernies-header-row="1"], #nav-container) {
  width: 100%; max-width: 76rem;
  min-height: 80px; padding: 6px clamp(1rem,3vw,2rem) !important;
  border: 0 !important; gap: 1rem;
}
html:root :is([data-bernies-header-row="1"], #nav-container) > a img {
  width: 148px !important; height: auto !important;
  max-height: 68px; object-fit: contain;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) :is(a,button) { transition-property: box-shadow, transform; }
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) a:not([href^="tel:"]) {
  color: var(--bn-ink) !important;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) button:not(.bernies-header-schedule-off) {
  color: var(--bn-ink) !important;
  background: var(--bn-tint) !important;
  border: 1px solid var(--bn-border) !important;
  min-height: 44px; min-width: 44px;
}
/* The theme control must render in the editor and before scripts insert SVGs. */
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #nav-container button[aria-label="Toggle theme"] {
  display: inline-flex !important; align-items: center; justify-content: center;
  flex: none; width: 44px; height: 44px; max-width: 44px;
  padding: 0 !important; font-size: 0 !important;
  color: var(--bn-ink) !important; background: var(--bn-tint) !important;
  border-color: var(--bn-muted) !important;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #nav-container button[aria-label="Toggle theme"]::before {
  content: "" !important; display: block; flex: none; width: 22px; height: 22px;
  border: 0; border-radius: 0; box-shadow: none;
  background: currentColor;
  -webkit-mask: var(--bn-theme-icon) center / contain no-repeat;
  mask: var(--bn-theme-icon) center / contain no-repeat;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #nav-container button[aria-label="Toggle theme"] > svg { display: none !important; }
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #nav-container button[aria-label="Toggle theme"]:hover { background: var(--bn-card) !important; }
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) a[href^="tel:"] {
  background: var(--bn-accent) !important; border-color: var(--bn-accent) !important;
  color: var(--bn-on-action) !important; min-height: 44px;
}
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) a[href^="tel:"] * { color: inherit !important; }
html:root :is([data-bernies-site-header], nav:has(> #nav-container)) :is(a,button):focus-visible {
  outline: 3px solid var(--bn-link); outline-offset: 3px;
}
html:root :is([data-bernies-header-row="4"], #menu-container) a {
  min-height: 44px; padding-inline: .65rem !important;
  font-weight: 600; font-size: .875rem;
}
html:root #instatic-mobile-menu {
  background: var(--bn-card) !important; color: var(--bn-ink) !important;
  border-color: var(--bn-border) !important;
  max-height: 100dvh; overflow-y: auto;
}
html:root #instatic-mobile-menu a:not([href^="tel:"]) { color: var(--bn-ink) !important; }
html:root #instatic-mobile-menu :is(strong,p,span) { color: var(--bn-ink) !important; }
html:root #instatic-mobile-menu a { min-height: 44px; }

/* Native disclosure navigation keeps every destination in the server-rendered
   HTML while remaining usable with a keyboard or with scripts disabled. */
html:root [data-bernies-desktop-nav] {
  display: flex; align-items: center; justify-content: center; gap: 2px;
  position: relative; width: 100%;
}
html:root [data-bernies-nav-dropdown] { position: relative; }
html:root [data-bernies-nav-summary] {
  box-sizing: border-box; display: flex; align-items: center; gap: 7px;
  min-height: 44px; padding: 8px 10px; border-radius: 7px;
  color: var(--bn-ink); font-size: .875rem; font-weight: 600;
  line-height: 1.25; cursor: pointer; list-style: none;
}
html:root [data-bernies-nav-summary]::-webkit-details-marker { display: none; }
html:root [data-bernies-nav-summary]::marker { content: ""; }
html:root [data-bernies-nav-summary]::after {
  content: ""; width: 7px; height: 7px; flex: none;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px); transform-origin: center;
}
html:root [data-bernies-nav-dropdown][open] > [data-bernies-nav-summary]::after {
  transform: rotate(225deg) translate(-1px,-1px);
}
html:root [data-bernies-nav-summary]:hover,
html:root [data-bernies-nav-dropdown][open] > [data-bernies-nav-summary] {
  background: var(--bn-tint);
}
html:root [data-bernies-nav-summary]:focus-visible {
  outline: 3px solid var(--bn-link); outline-offset: 3px;
}
html:root [data-bernies-nav-panel] {
  box-sizing: border-box; position: absolute; z-index: 120;
  top: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  display: grid; grid-template-columns: minmax(0,1fr); gap: 4px;
  width: min(340px,calc(100vw - 32px)); padding: 10px;
  border: 1px solid var(--bn-border); border-radius: 12px;
  background: var(--bn-card); color: var(--bn-ink);
  box-shadow: 0 14px 36px rgb(9 30 48 / .18);
}
html:root [data-bernies-nav-dropdown="desktop-service-areas"] > [data-bernies-nav-panel] {
  grid-template-columns: minmax(220px,1fr); width: 300px;
}
html:root [data-bernies-nav-dropdown]:not([open]) > [data-bernies-nav-panel] { display: none; }
html:root [data-bernies-nav-overview] {
  display: flex !important; align-items: center;
  min-height: 44px; padding: 8px 10px !important; border-radius: 7px;
  color: var(--bn-link) !important; font-weight: 700 !important;
}
html:root [data-bernies-nav-section] { display: flex; flex-direction: column; min-width: 0; }
html:root [data-bernies-nav-section] > strong {
  display: block; padding: 4px 10px 6px; color: var(--bn-muted) !important;
  font-size: .75rem; line-height: 1.4; letter-spacing: .045em; text-transform: uppercase;
}
html:root #menu-container [data-bernies-nav-section] > a,
html:root #instatic-mobile-menu [data-bernies-nav-section] > a {
  box-sizing: border-box; display: flex; align-items: center;
  min-height: 40px; padding: 7px 10px !important; border-radius: 7px;
  color: var(--bn-ink) !important; font-size: .875rem; font-weight: 500;
  line-height: 1.35; white-space: normal;
}
html:root [data-bernies-nav-section] > a:is(:hover,:focus-visible),
html:root [data-bernies-nav-overview]:is(:hover,:focus-visible) {
  background: var(--bn-tint) !important; color: var(--bn-link) !important;
}
html:root [data-bernies-nav-submenu] {
  border-top: 1px solid var(--bn-border);
}
html:root [data-bernies-nav-submenu-summary] {
  box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;
  gap: 10px; min-height: 44px; padding: 9px 10px;
  color: var(--bn-ink); cursor: pointer; list-style: none;
  font-size: .875rem; line-height: 1.35; font-weight: 700;
}
html:root [data-bernies-nav-submenu-summary]::-webkit-details-marker { display: none; }
html:root [data-bernies-nav-submenu-summary]::marker { content: ""; }
html:root [data-bernies-nav-submenu-summary]::after {
  content: "+"; flex: none; color: var(--bn-link); font-size: 1.1rem; line-height: 1;
}
html:root [data-bernies-nav-submenu][open] > [data-bernies-nav-submenu-summary]::after { content: "−"; }
html:root [data-bernies-nav-submenu-summary]:is(:hover,:focus-visible) {
  background: var(--bn-tint); color: var(--bn-link);
}
html:root [data-bernies-nav-submenu-summary]:focus-visible {
  outline: 3px solid var(--bn-link); outline-offset: -3px;
}
html:root [data-bernies-nav-submenu-panel] {
  display: flex; flex-direction: column; padding: 4px 4px 8px;
  background: var(--bn-tint); border-radius: 8px;
}
html:root [data-bernies-nav-submenu]:not([open]) > [data-bernies-nav-submenu-panel] { display: none; }
html:root :is(#menu-container,#instatic-mobile-menu) [data-bernies-nav-submenu-panel] > a {
  box-sizing: border-box; display: flex; align-items: center;
  min-height: 40px; padding: 7px 10px !important; border-radius: 7px;
  color: var(--bn-ink) !important; font-size: .875rem; font-weight: 500;
  line-height: 1.35; white-space: normal;
}
html:root [data-bernies-nav-submenu-panel] > a:is(:hover,:focus-visible) {
  background: var(--bn-card) !important; color: var(--bn-link) !important;
}
html:root [data-bernies-mobile-links] > a,
html:root [data-bernies-mobile-links] > details > summary {
  box-sizing: border-box; width: 100%;
}
html:root [data-bernies-mobile-links] > details { border-bottom: 1px solid var(--bn-border); }
html:root [data-bernies-mobile-links] > details > summary { padding-inline: 16px; border-radius: 0; }
html:root [data-bernies-mobile-links] [data-bernies-nav-panel] {
  position: static; transform: none; width: 100%; padding: 8px 12px 14px;
  grid-template-columns: 1fr; border: 0; border-radius: 0;
  background: var(--bn-tint); box-shadow: none;
}
html:root [data-bernies-mobile-links] [data-bernies-nav-submenu-panel] { background: var(--bn-card); }
html:root [data-bernies-mobile-links] [data-bernies-nav-section] > strong { padding-top: 10px; }
@media (min-width: 1024px) {
  html:root :is([data-bernies-header-row="1"], #nav-container) { min-height: 84px; }
  html:root :is([data-bernies-header-row="4"], #menu-container) {
    position: absolute; left: 50%; top: auto; bottom: 18px; transform: translateX(-50%);
    width: max-content; max-width: none; padding: 0 !important;
  }
  html:root :is([data-bernies-header-row="4"], #menu-container) > div { gap: 2px !important; }
}
@media (max-width: 767px) {
  html:root:is(:has(body > [data-bernies-site-header]), :has(body > nav > #nav-container)) { scroll-padding-top: 156px; }
  html:root body:is(:has(> [data-bernies-site-header]), :has(> nav > #nav-container)) { min-width: 0 !important; }
  html:root body > :is([data-bernies-site-header], nav:has(> #nav-container)) {
    display: grid !important; grid-template-columns: minmax(0,1fr); gap: 0;
  }
  html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container {
    order: 1; border-top: 1px solid var(--bn-border); border-bottom: 0;
  }
  html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container > div { padding: 6px 12px !important; }
  html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container > div > div {
    display: flex; flex-direction: column; align-items: center;
    gap: 2px; text-align: center;
  }
  html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container span { text-wrap: balance; }
  html:root :is([data-bernies-site-header], nav:has(> #nav-container)) #top-container svg { display: none; }
  html:root :is([data-bernies-site-header], nav:has(> #nav-container)) :is([data-bernies-header-row="1"], #nav-container) {
    order: 0; min-height: 64px; padding: 6px 12px !important; gap: 8px;
  }
  html:root :is([data-bernies-header-row="1"], #nav-container) > a img {
    width: clamp(96px,30vw,112px) !important; max-height: 52px;
  }
  html:root :is([data-bernies-header-row="1"], #nav-container) > div { gap: 6px !important; }
  html:root #nav-container button:not(.bernies-header-schedule-off) {
    width: 44px; max-width: 44px; height: 44px; padding: 0 !important; font-size: 0;
  }
  /* The menu icon is present in the CMS canvas and before runtime scripts load. */
  html:root #nav-container button:is([aria-haspopup="dialog"],[aria-label="Toggle menu"])::before {
    content: ""; display: block; width: 20px; height: 2px;
    border: 0; border-radius: 1px; background: currentColor;
    box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
  }
  html:root #nav-container button:is([aria-haspopup="dialog"],[aria-label="Toggle menu"]) > svg { display: none; }
  html:root :is([data-bernies-header-row="3"], nav:has(> #nav-container) > :nth-child(4)),
  html:root :is([data-bernies-header-row="3"], nav:has(> #nav-container) > :nth-child(4)) > div { display: contents !important; }
  html:root :is([data-bernies-header-row="3"], nav:has(> #nav-container) > :nth-child(4)) a[href^="tel:"] {
    position: absolute; top: 10px; right: 112px;
    flex: none; width: 64px; min-width: 64px; max-width: 64px;
    height: 44px !important; min-height: 44px !important;
    padding: 4px 6px !important; font-size: .75rem; line-height: 1.2;
    border-radius: .5rem; box-shadow: none !important;
  }
  html:root :is([data-bernies-header-row="3"], nav:has(> #nav-container) > :nth-child(4)) a[href^="tel:"] svg { display: none; }
}

/* The mascot and warm brand accent sit on a deliberate navy hero in both modes. */
html:root body [data-bernies-home-hero] {
  background-color: var(--bn-hero) !important;
  background-image: radial-gradient(ellipse at 85% 40%,rgb(51 117 156 / .24),transparent 55%) !important;
  color: var(--bn-on-hero) !important;
}
html:root [data-bernies-home-hero] :is(h1,h2,h3) { color: var(--bn-on-hero) !important; }
html:root [data-bernies-home-hero] :is(p,li) { color: var(--bn-hero-muted) !important; }
html:root [data-bernies-home-hero] p > span { color: var(--bn-hero-accent) !important; }
html:root [data-bernies-home-hero] div[class*="rounded-full"] {
  background-color: rgb(255 255 255 / .08) !important;
  border-color: rgb(208 224 235 / .3) !important;
}
html:root [data-bernies-home-hero] div[class*="rounded-full"] svg { color: #b9dbf2 !important; }
html:root [data-bernies-home-hero] div[class*="rounded-full"] p { font-size: .75rem !important; line-height: 1.4 !important; }
html:root:root:root:root body [data-bernies-badge][class*="inline-flex"] { display: inline-flex !important; }
/* Intro notices stay compact: the icon never wraps above the text. Keep the
   native mobile/desktop visibility rules and all existing wording intact. */
html:root:root:root:root body :is(
  [data-bernies-home-hero] div[class*="rounded-full"]:has(> p),
  [data-bernies-badge][class*="inline-flex"]
) {
  box-sizing: border-box; flex-direction: row !important; flex-wrap: nowrap !important;
  align-items: center !important; gap: 8px !important;
  width: fit-content !important; max-width: 100% !important;
  min-height: 0 !important; height: auto !important;
  padding: 6px 10px !important; border: 1px solid var(--bn-notice-border) !important;
  border-left: 3px solid #e88a32 !important; border-radius: 8px !important;
  background: var(--bn-notice-surface) !important; color: var(--bn-notice-ink) !important;
  box-shadow: none !important; text-align: left !important; white-space: normal !important;
  font-size: .75rem !important; line-height: 1.45 !important; font-weight: 600 !important;
}
html:root:root:root:root body [data-bernies-home-hero] div[class*="rounded-full"]:has(> p) {
  --bn-notice-surface: #33291e; --bn-notice-ink: #ffcf93; --bn-notice-border: #986d3b;
}
html:root:root:root:root body :is(
  [data-bernies-home-hero] div[class*="rounded-full"]:has(> p),
  [data-bernies-badge][class*="inline-flex"]
) > :is(p,span,svg) {
  color: var(--bn-notice-ink) !important; -webkit-text-fill-color: currentColor !important;
}
html:root:root:root:root body :is(
  [data-bernies-home-hero] div[class*="rounded-full"]:has(> p),
  [data-bernies-badge][class*="inline-flex"]
) > :is(p,span) {
  flex: 1 1 auto !important; min-width: 0 !important; margin: 0 !important;
  font-size: .75rem !important; line-height: 1.45 !important; font-weight: 600 !important;
  overflow-wrap: anywhere;
}
html:root:root:root:root body :is(
  [data-bernies-home-hero] div[class*="rounded-full"]:has(> p),
  [data-bernies-badge][class*="inline-flex"]
) > svg { flex: 0 0 14px !important; width: 14px !important; height: 14px !important; margin: 0 !important; }
html:root body:has([data-bernies-home-hero]) [data-bernies-breadcrumb] { display: none !important; }
html:root [data-bernies-home-hero] :is(button,a[href*="service_booking"]) {
  background: var(--bn-accent) !important; color: var(--bn-on-action) !important;
  border-color: var(--bn-accent) !important; min-height: 48px;
}
html:root [data-bernies-home-hero] :is(button,a[href*="service_booking"]) * { color: inherit !important; }
html:root body [data-bernies-card] {
  border-color: var(--bn-border) !important;
  box-shadow: 0 4px 18px rgb(10 35 55 / .045) !important;
}
/* Directory anchors are cards too. Imported utility classes otherwise keep
   their white surface while shared content styles switch their text to dark mode. */
html:root body :is(#service-directory a[href], [data-bernies-card-link], a[class*="bg-white"][class*="rounded-"]:not([href^="tel:"])) {
  background: var(--bn-card) !important;
  background-image: none !important;
  color: var(--bn-ink) !important;
  border-color: var(--bn-border) !important;
}
html:root body :is(#service-directory a[href], [data-bernies-card-link], a[class*="bg-white"][class*="rounded-"]:not([href^="tel:"])) :is(h2,h3,h4,span,strong,svg,div) {
  color: var(--bn-ink) !important;
  -webkit-text-fill-color: currentColor;
}
html:root body :is(#service-directory a[href], [data-bernies-card-link], a[class*="bg-white"][class*="rounded-"]:not([href^="tel:"])) p {
  color: var(--bn-muted) !important;
}
html:root body :is(#service-directory a[href], [data-bernies-card-link], a[class*="bg-white"][class*="rounded-"]:not([href^="tel:"])):is(:hover,:focus-visible) {
  border-color: var(--bn-link) !important;
}
/* Imported footer badges and map links need paired surface/text roles as well. */
html:root body footer :is([class*="bg-blue-100"], [class*="bg-orange-100"]) {
  background: var(--bn-card) !important;
  color: var(--bn-ink) !important;
}
html:root body footer :is([class*="bg-blue-100"], [class*="bg-orange-100"]) * { color: inherit !important; }
html:root body a.instatic-map-link {
  background: var(--bn-card) !important;
  color: var(--bn-link) !important;
  border: 1px solid var(--bn-border) !important;
}
/* Theme the map's native loading surface, not third-party map imagery. */
html:root body footer :is([data-bernies-map-surface],div:has(>.instatic-map-embed)) {
  background:var(--bn-tint) !important;
  border-color:var(--bn-border) !important;
}
/* Native comparison headings and text-only badges have no card adapter. */
html:root body [class~="grid-2"][class~="bg-gray-50-2"],
html:root body [class~="bg-blue-50/50-2"] { background: var(--bn-tint) !important; }
html:root body [class~="rounded-full-2"][class~="bg-blue-500-2"] {
  background: var(--bn-primary) !important; color: var(--bn-on-action) !important;
}
html:root body [class~="rounded-full-2"][class~="bg-orange-50-2"] {
  background: var(--bn-tint) !important; color: var(--bn-ink) !important;
}
html:root body div[class~="text-gray-600-2"] { color: var(--bn-muted) !important; }
html:root body :is([class~="bg-red-100-2"], [class~="text-green-800-2"], [class~="text-amber-800-2"], [class~="text-red-800-2"]) {
  color: var(--bn-ink) !important;
}
html:root body [class~="bg-red-100-2"] { background: var(--bn-tint) !important; }
html:root body [class~="bg-red-100-2"] span { color: var(--bn-ink) !important; }
html:root body div[class~="text-blue-600-2"][class~="text-3xl-2"] { color: var(--bn-link) !important; }
html:root body [class~="rounded-full-2"][class~="bg-orange-600-2"],
html:root body .thank-you-icon {
  background: var(--bn-accent) !important; color: var(--bn-on-action) !important;
}
html:root body [data-bernies-section]:nth-of-type(even) { background-color: var(--bn-tint) !important; }
html:root body footer { background: var(--bn-tint) !important; border-top-color: var(--bn-primary) !important; }
html:root body :is(input,textarea,select):not([type="checkbox"],[type="radio"]) {
  color: var(--bn-ink); background-color: var(--bn-card); border-color: var(--bn-border);
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Native breadcrumb fallback covers documents that predate the data hooks.
   Wrap the hierarchy rather than creating a nested horizontal scroller. */
html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) {
  overflow:visible !important; height:auto !important; min-height:0 !important;
  background:var(--bn-card) !important; color:var(--bn-muted) !important;
}
html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) :is(div,ol,li) {
  min-width:0 !important; max-width:100% !important; height:auto !important;
  overflow:visible !important; white-space:normal !important;
}
html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) ol {
  display:flex !important; flex-wrap:wrap !important; align-items:center !important;
}
html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) li {
  display:flex !important; align-items:center !important; flex-wrap:nowrap !important;
}
html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) a { color:var(--bn-link) !important; }
html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) li > :is(span,[aria-current="page"]) { color:var(--bn-ink) !important; }

@media (max-width:767px) {
  html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) {
    padding-block:6px !important;
  }
  html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) ol {
    gap:0 6px !important; padding-block:0 !important; margin-block:0 !important;
  }
  html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) :is(li,a,span) {
    font-size:12.5px !important; line-height:18px !important; gap:6px !important;
  }
  html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) a {
    min-height:32px !important; display:inline-flex !important; align-items:center !important;
    padding-block:0 !important; overflow-wrap:anywhere;
  }
  html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) [aria-current="page"] {
    min-height:0 !important; padding-block:0 !important;
  }
  html:root:root body :is([data-bernies-breadcrumb],[data-bernies-breadcrumbs],nav:has(> div > ol)) svg {
    flex:none !important; width:12px !important; height:12px !important;
  }
  /* Keep the entire boiler work photo visible. Its compact caption flows below
     the image, so longer text cannot grow over the technician or equipment. */
  html:root:root body [data-bernies-boiler-photo] {
    display:block !important; position:relative !important; height:auto !important;
    min-height:0 !important; padding:0 !important; transform:none !important;
    overflow:hidden !important; border:1px solid var(--bn-border) !important;
    border-radius:16px !important; background:var(--bn-card) !important;
  }
  html:root:root body [data-bernies-boiler-photo] > img {
    display:block !important; position:static !important; inset:auto !important;
    width:100% !important; height:auto !important; max-height:none !important;
    object-fit:contain !important; margin:0 !important;
  }
  html:root:root body [data-bernies-boiler-caption] {
    position:static !important; inset:auto !important; width:auto !important;
    max-width:none !important; height:auto !important; margin:0 !important;
    padding:12px !important; border:0 !important; border-radius:0 !important;
    box-shadow:none !important; background:var(--bn-card) !important; color:var(--bn-ink) !important;
  }
  html:root:root body [data-bernies-boiler-caption] > div {
    display:flex !important; align-items:center !important; gap:8px !important; margin:0 0 6px !important;
  }
  html:root:root body [data-bernies-boiler-caption] [data-bernies-badge] {
    width:28px !important; height:28px !important; flex:0 0 28px !important; padding:0 !important;
  }
  html:root:root body [data-bernies-boiler-caption] svg { width:16px !important; height:16px !important; }
  html:root:root body [data-bernies-boiler-caption] p {
    font-size:12px !important; line-height:18px !important; margin:0 !important; color:var(--bn-muted) !important;
  }
  html:root:root body [data-bernies-boiler-caption] > div > div > p:first-child {
    font-size:13px !important; font-weight:700 !important; color:var(--bn-ink) !important;
  }
}

/* The homepage's live Chicago weather sits directly below the sticky header. */
html:root:root body [aria-label="Current Weather"] {
  box-sizing:border-box !important; width:100% !important; max-width:none !important;
  min-height:0 !important; margin:0 !important; padding:14px clamp(16px,3vw,32px) !important;
  border:0 !important; border-bottom:1px solid var(--bn-border) !important;
  border-radius:0 !important; background:var(--bn-tint) !important; background-image:none !important;
  color:var(--bn-ink) !important;
}
html:root:root body [aria-label="Current Weather"] > div {
  box-sizing:border-box; max-width:76rem !important; margin:0 auto !important; padding:0 !important;
}
html:root:root body [aria-label="Current Weather"] :is(span,p) {
  color:var(--bn-ink) !important; font-size:14px !important; line-height:1.5 !important;
}
html:root:root body [aria-label="Current Weather"] svg { color:var(--bn-link) !important; flex:none; }
html:root:root body [aria-label="Current Weather"] [data-bernies-weather-tip] {
  margin:4px 0 0 !important; color:var(--bn-muted) !important; font-size:13px !important;
}
html:root:root body [aria-label="Current Weather"] [data-bernies-weather-call] {
  display:inline-flex !important; align-items:center; min-height:32px; margin-top:2px;
  color:var(--bn-link) !important; font-size:13px !important; font-weight:600;
  text-decoration:underline; text-underline-offset:3px;
}

/* Breadcrumbs belong to the page title, not a separate header band. */
html:root:root body [data-bernies-title-breadcrumb] {
  display:block !important; position:static !important; width:100% !important;
  min-height:0 !important; height:auto !important; max-width:100% !important;
  padding:0 !important; margin:0 0 12px !important; text-align:start !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  background:transparent !important; background-image:none !important;
}
html:root:root body [data-bernies-title-breadcrumb] :is(div,ol) {
  width:100% !important; max-width:100% !important; padding:0 !important; margin:0 !important;
}
html:root:root body [data-bernies-title-breadcrumb] :is(li,a,span) {
  font-size:12.5px !important; line-height:18px !important;
}
html:root:root body [data-bernies-title-breadcrumb] a { min-height:32px !important; padding:0 !important; }
html:root:root body [data-bernies-title-breadcrumb] [aria-current="page"] { min-height:0 !important; padding:0 !important; }
html:root:root body [data-bernies-title-breadcrumb] + h1 { margin-top:0 !important; }

/* Phones keep weather out of the intro: a native disclosure opens on demand. */
html:root:root body [data-bernies-weather-bubble] { display:none !important; }
@media (max-width:767px) {
  html:root:root body [aria-label="Current Weather"] { display:none !important; }
  html:root:root body [data-bernies-weather-bubble] {
    display:block !important; position:fixed !important; z-index:70;
    left:12px !important; right:12px !important; bottom:max(12px, env(safe-area-inset-bottom)) !important;
    width:auto !important; max-width:300px !important;
    padding:0 !important; margin:0 !important; border:0 !important;
    background:transparent !important; color:var(--bn-ink) !important;
  }
  html:root:root body [data-bernies-weather-bubble] > summary {
    box-sizing:border-box; display:flex !important; align-items:center; gap:8px;
    width:max-content; max-width:100%; min-height:44px; padding:10px 14px !important;
    margin:0 !important; list-style:none !important; cursor:pointer;
    border:1px solid var(--bn-border); border-radius:999px;
    color:var(--bn-ink); background:var(--bn-card);
    font-size:13px; line-height:22px; font-weight:600;
    box-shadow:0 3px 14px rgb(0 0 0 / .14);
  }
  html:root:root body [data-bernies-weather-bubble] > summary::-webkit-details-marker { display:none; }
  html:root:root body [data-bernies-weather-bubble] > summary::marker { content:""; }
  html:root:root body [data-bernies-weather-bubble] > summary svg { width:18px; height:18px; flex:none; color:var(--bn-link); }
  html:root:root body [data-bernies-weather-bubble] :is(summary,button):focus-visible {
    outline:3px solid var(--bn-accent); outline-offset:3px;
  }
  html:root:root body [data-bernies-weather-panel] {
    box-sizing:border-box; position:absolute; bottom:calc(100% + 8px); left:0;
    width:100% !important; max-height:min(50vh,280px); overflow-y:auto;
    margin:0 !important; padding:16px !important; border:1px solid var(--bn-border);
    border-radius:14px; background:var(--bn-card); color:var(--bn-ink);
    box-shadow:0 8px 28px rgb(0 0 0 / .18);
  }
  html:root:root body [data-bernies-weather-bubble]:not([open]) > [data-bernies-weather-panel] { display:none !important; }
  html:root:root body [data-bernies-weather-panel] h2 {
    margin:0 !important; padding-right:48px; font-size:16px !important;
    line-height:24px !important; color:var(--bn-ink) !important;
  }
  html:root:root body [data-bernies-weather-mobile-current] {
    margin:14px 0 0 !important; font-size:14px !important; line-height:21px !important;
    color:var(--bn-muted) !important;
  }
  html:root:root body [data-bernies-weather-close] {
    position:absolute; top:6px; right:6px; min-width:44px; min-height:44px;
    margin:0; padding:6px; border:1px solid var(--bn-border); border-radius:8px;
    background:var(--bn-tint); color:var(--bn-ink); font-size:12px; cursor:pointer;
  }
}

/* Title breadcrumbs: links and the current label share the same centered
   line box. A block link with min-height otherwise paints its text 7px high. */
html:root:root body [data-bernies-title-breadcrumb] ol {
  display:flex !important; flex-wrap:wrap !important; align-items:center !important;
  gap:0 .5rem !important; list-style:none !important;
}
html:root:root body [data-bernies-title-breadcrumb] li {
  display:inline-flex !important; align-items:center !important; gap:.5rem !important;
  min-height:32px !important; padding:0 !important; margin:0 !important;
}
html:root:root body [data-bernies-title-breadcrumb] :is(a,li > span) {
  display:inline-flex !important; align-items:center !important;
  min-height:32px !important; height:auto !important; padding:0 !important;
  font-family:inherit !important; font-size:12.5px !important; line-height:18px !important;
  white-space:normal !important;
}
html:root:root body [data-bernies-title-breadcrumb] li > svg {
  display:block !important; flex:0 0 12px; width:12px !important; height:12px !important;
  align-self:center !important; margin:0 !important;
}

/* Native process steps use content-driven rows, including wrapped labels. */
html:root:root body [data-bernies-service-intro] [data-bernies-process-list] {
  display:grid !important; grid-template-columns:minmax(0,1fr) !important;
  gap:.75rem !important; height:auto !important; list-style:none; padding:1rem !important;
}
html:root:root body [data-bernies-process-list] > li {
  display:flex !important; align-items:flex-start !important; gap:.5rem !important;
  min-width:0; height:auto !important; margin:0 !important;
}
html:root:root body [data-bernies-process-list] > li > :first-child { flex:0 0 1.5rem; }
html:root:root body [data-bernies-process-list] > li > :last-child {
  flex:1 1 0%; min-width:0; width:auto !important; height:auto !important;
  white-space:normal !important;
}

/* Service-page structure: surface owns block spacing; its one native container
   owns the shared measure and gutter. Never repair drift with per-page widths. */
html:root:root body :is(section[data-bernies-service-intro],section[data-bernies-service-copy]) > [data-bernies-container] {
  box-sizing:border-box !important; width:100% !important; max-width:76rem !important;
  min-width:0; margin-inline:auto !important;
  padding:0 clamp(1rem,3vw,2rem) !important;
}
html:root:root body [data-bernies-service-intro] > [data-bernies-container] > [data-bernies-intro-text] {
  box-sizing:border-box; width:100% !important; max-width:none !important;
  min-width:0; margin:0 !important; padding:0 !important;
}
html:root:root body [data-bernies-service-copy] > [data-bernies-container] > :is(p,ul,ol) {
  max-width:70ch;
}
html:root:root body [data-bernies-service-intro] [data-bernies-action-row] {
  display:flex !important; flex-wrap:wrap; align-items:stretch; gap:1rem !important;
  margin-top:1.5rem; background:transparent !important;
}
html:root:root body [data-bernies-service-intro] [data-bernies-action-row] > a {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  min-height:44px !important; height:auto !important; max-width:100%;
  padding:.8rem 1.15rem !important; border:1px solid var(--bn-primary) !important;
  border-radius:.65rem; white-space:normal !important; text-align:center;
  font-size:1rem !important; line-height:1.4 !important; font-weight:700;
}
/* Explicit action destinations outrank legacy inline-flex button adapters;
   request links keep the shared secondary treatment, not a second primary. */
html:root:root body [data-bernies-service-intro] [data-bernies-action-row] > a[href]:not([href^="tel:"]):not([data-bernies-card-link]) {
  background:var(--bn-card) !important; color:var(--bn-link) !important;
}
@media(max-width:767px) {
  html:root:root body [data-bernies-service-intro] [data-bernies-action-row] { flex-direction:column; }
  html:root:root body [data-bernies-service-intro] [data-bernies-action-row] > a { width:100%; }
}


/* assets/bernies-ga4.css */
/* Scoped optional Google Analytics control; uses the existing shared palette. */
#bn-ga-preferences { color:var(--bn-ink); font:inherit; font-size:1rem; line-height:1.5; }
#bn-ga-preferences [hidden] { display:none !important; }
#bn-ga-panel { position:fixed; z-index:180; left:max(1rem,env(safe-area-inset-left)); bottom:max(1rem,env(safe-area-inset-bottom)); box-sizing:border-box; width:min(28rem,calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right))); max-height:calc(100dvh - 7rem - env(safe-area-inset-bottom)); overflow:auto; overscroll-behavior:contain; padding:1rem; border:1px solid var(--bn-muted); border-radius:.75rem; background:var(--bn-card); color:var(--bn-ink); box-shadow:0 6px 24px rgb(0 0 0 / .2); }
#bn-ga-preferences .bn-ga-heading { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
#bn-ga-title { margin:0; color:var(--bn-ink); font-size:1.125rem; line-height:1.4; font-weight:700; }
#bn-ga-preferences p { margin:.65rem 0; color:var(--bn-ink); font-size:.875rem; line-height:1.5; }
#bn-ga-preferences button { min-height:44px; min-width:44px; padding:.625rem .75rem; border:1px solid var(--bn-muted); border-radius:.5rem; background:var(--bn-tint); color:var(--bn-ink); font:inherit; font-size:.875rem; line-height:1.5; cursor:pointer; touch-action:manipulation; }
#bn-ga-preferences button:hover { background:var(--bn-card); border-color:var(--bn-ink); }
#bn-ga-preferences :is(button,a,section):focus-visible { outline:3px solid var(--bn-link); outline-offset:3px; }
#bn-ga-preferences a { display:inline-block; min-height:44px; padding:.625rem 0; color:var(--bn-link); text-decoration:underline; text-underline-offset:.2em; }
#bn-ga-preferences .bn-ga-actions { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:.5rem; }
#bn-ga-preferences { padding:.75rem 1rem; text-align:center; }
#bn-ga-panel { text-align:left; }
#bn-ga-preferences #bn-ga-reopen { position:static; box-shadow:none; background:transparent; border-color:transparent; text-decoration:underline; text-underline-offset:.2em; }
#bn-ga-status { margin-bottom:0 !important; }
@media (prefers-reduced-motion:reduce) { #bn-ga-preferences * { scroll-behavior:auto !important; transition:none !important; } }


/* assets/chat-weather.css */
/* One shared chat/weather disclosure at every viewport; preserve native hooks. */
html:root:root body [data-bernies-weather-bubble] {
  display:block !important; position:fixed !important; z-index:90;
  left:max(12px,env(safe-area-inset-left)) !important;
  right:max(12px,env(safe-area-inset-right)) !important;
  bottom:max(12px,env(safe-area-inset-bottom)) !important;
  box-sizing:border-box; width:auto !important; max-width:360px !important;
  padding:0 !important; margin:0 !important; border:0 !important;
  background:transparent !important; color:var(--bn-ink) !important;
}
html:root:root body [data-bernies-weather-bubble] > summary {
  box-sizing:border-box; display:flex !important; align-items:center; flex-wrap:wrap; gap:6px;
  width:max-content; max-width:100%; min-height:44px; padding:10px 14px !important;
  margin:0 !important; list-style:none !important; cursor:pointer;
  border:1px solid var(--bn-border); border-radius:999px;
  color:var(--bn-ink); background:var(--bn-card);
  font-size:13px; line-height:22px; font-weight:600;
  box-shadow:0 3px 14px rgb(0 0 0 / .14);
}
html:root:root body [data-bernies-weather-bubble] > summary::-webkit-details-marker { display:none; }
html:root:root body [data-bernies-weather-bubble] > summary::marker { content:""; }
html:root:root body [data-bernies-weather-bubble] > summary svg { width:18px; height:18px; flex:none; color:var(--bn-link); }
html:root:root body [data-bernies-weather-bubble] :is(summary,button,a):focus-visible { outline:3px solid var(--bn-accent); outline-offset:3px; }
html:root:root body [data-bernies-weather-panel] {
  box-sizing:border-box; position:absolute; bottom:calc(100% + 8px); left:0;
  width:100% !important; max-height:calc(100dvh - 100px) !important;
  overflow-y:auto; overscroll-behavior:contain;
  margin:0 !important; padding:16px !important; border:1px solid var(--bn-border);
  border-radius:14px; background:var(--bn-card); color:var(--bn-ink);
  box-shadow:0 8px 28px rgb(0 0 0 / .18);
}
html:root:root body [data-bernies-weather-bubble]:not([open]) > [data-bernies-weather-panel],
html:root:root body [data-bernies-weather-panel] [hidden] { display:none !important; }
html:root:root body [data-bernies-weather-panel] h2 {
  margin:0 !important; padding-right:48px; font-size:16px !important; line-height:24px !important; color:var(--bn-ink) !important;
}
html:root:root body [data-bernies-weather-mobile-current] {
  margin:14px 0 0 !important; font-size:14px !important; line-height:21px !important; color:var(--bn-muted) !important;
}
html:root:root body [data-bernies-weather-close] {
  position:absolute; top:6px; right:6px; min-width:44px; min-height:44px;
  margin:0; padding:6px; border:1px solid var(--bn-border); border-radius:8px;
  background:var(--bn-tint); color:var(--bn-ink); font-size:12px; cursor:pointer;
}
html:root:root body [data-bernies-shared-chat] { padding:0 0 16px; margin:0 0 16px; border-bottom:1px solid var(--bn-border); }
html:root:root body [data-bernies-chat-status] { margin:12px 0; font-size:14px; line-height:1.5; color:var(--bn-muted); }
html:root:root body :is([data-bernies-chat-call],[data-bernies-chat-start]) {
  display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
  min-height:44px; max-width:100%; padding:10px 14px; border:1px solid var(--bn-border);
  border-radius:8px; background:var(--bn-tint); color:var(--bn-link); font-size:14px;
  line-height:1.5; font-weight:600; text-decoration:none; cursor:pointer;
}
