/* Last-in-cascade visual system. Opt in with body.premium-upgrade.
   Content, asset URLs, DOM order and all interaction hooks stay intact. */
body.premium-upgrade {
  --premium-ink: #183c32;
  --premium-forest: #103d30;
  --premium-green: #17694e;
  --premium-muted: #53665d;
  --premium-ivory: #f6f3eb;
  --premium-paper: #fffdf8;
  --premium-soft: #eeeee4;
  --premium-border: #d8ddd1;
  --premium-brass: #997647;
  --premium-gold: #e7d7b5;
  --premium-shadow: 0 12px 38px rgb(24 60 50 / .065);
  --premium-radius: 20px;
  margin: 0;
  background: var(--premium-ivory);
  color: var(--premium-ink);
  font: 400 16px/1.75 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
  color-scheme: light;
}
body.premium-upgrade *, body.premium-upgrade *::before, body.premium-upgrade *::after { box-sizing: border-box; }
body.premium-upgrade [hidden] { display: none !important; }
body.premium-upgrade :is(a, button, input, textarea, select, summary) { -webkit-tap-highlight-color: transparent; }
body.premium-upgrade :is(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--premium-brass);
  outline-offset: 4px;
}
body.premium-upgrade ::selection { background: #dce6d7; color: #103d30; }
body.premium-upgrade :is(h1, h2, h3, .interior-hero-title) {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  color: var(--premium-forest);
  text-wrap: pretty;
}
body.premium-upgrade h1 { font-size: clamp(36px, 4.7vw, 68px); line-height: 1.09; letter-spacing: -.035em; }
body.premium-upgrade h2 { font-size: clamp(28px, 3.3vw, 43px); line-height: 1.19; letter-spacing: -.025em; }
body.premium-upgrade h3 { font-size: clamp(23px, 2vw, 29px); line-height: 1.28; letter-spacing: -.015em; }
body.premium-upgrade :is(p, li) { color: var(--premium-muted); }
body.premium-upgrade :is(.muted, figcaption) { color: var(--premium-muted); }
body.premium-upgrade a { color: var(--premium-green); text-underline-offset: .22em; }
body.premium-upgrade :is(.eyebrow, .num, .breadcrumbs, .home-eyebrow.dark, .explorer-kicker) {
  color: #6c542f;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.55;
  letter-spacing: .14em;
}
body.premium-upgrade .breadcrumbs { margin-bottom: 25px; letter-spacing: .025em; text-transform: none; }
body.premium-upgrade .breadcrumbs a { color: var(--premium-green); }
body.premium-upgrade :is(section, article)[id], body.premium-upgrade .global-editorial [id] { scroll-margin-top: 164px; }

/* Brand remains recognizable; two clean rows prevent desktop menu collisions. */
body.premium-upgrade .home-topbar {
  background: var(--premium-forest);
  color: #faf9ef;
  gap: 12px 22px;
  padding: 10px max(24px, calc((100% - 1460px)/2));
  font-size: 11px;
  line-height: 1.5;
}
body.premium-upgrade .home-topbar :is(a, b) { color: #fffdf8; }
body.premium-upgrade .home-topbar small { color: #d4dfd5; }
body.premium-upgrade .home-topbar > a small { color: #e7d7b5; }
body.premium-upgrade :is(.home-header, .interior-header) {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(180px, 350px) auto;
  gap: 9px 30px;
  padding: 14px max(24px, calc((100% - 1440px)/2)) 0;
  background: rgb(255 253 248 / .98);
  color: var(--premium-forest);
  border-bottom: 1px solid var(--premium-border);
  box-shadow: 0 3px 20px rgb(20 58 45 / .055);
  position: sticky;
  top: 0;
  z-index: 100;
  align-items: center;
}
body.premium-upgrade .home-brand { grid-column: 1; grid-row: 1; min-width: 0; gap: 12px; color: var(--premium-forest); }
body.premium-upgrade .home-brand img { flex: 0 0 62px; width: 62px; height: 62px; border-radius: 12px; background: #fff; object-fit: contain; }
body.premium-upgrade .home-brand span { font: 800 21px/1.05 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: -.035em; }
body.premium-upgrade .home-brand strong { font-size: 22px; line-height: 1.1; color: var(--premium-green); letter-spacing: .07em; }
body.premium-upgrade .home-brand small { color: var(--premium-muted); font-size: 11px; line-height: 1.35; font-weight: 450; letter-spacing: 0; margin-top: 6px; }
body.premium-upgrade .home-header nav {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px 20px;
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
  padding: 0;
  font: 650 13px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
}
body.premium-upgrade .home-header nav a { color: var(--premium-ink); padding: 13px 3px 12px; white-space: nowrap; border-bottom: 3px solid transparent; }
body.premium-upgrade .home-header nav a:hover,
body.premium-upgrade .home-header nav a.active { color: var(--premium-green); border-color: var(--premium-brass); }
body.premium-upgrade .home-search {
  display: flex;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 44px;
  margin: 0;
  border: 1px solid var(--premium-border);
  background: var(--premium-ivory);
  border-radius: 11px;
  padding: 0 13px;
}
body.premium-upgrade .home-search input { padding: 6px 0; min-width: 0; background: transparent; color: var(--premium-ink); font-size: 14px; }
body.premium-upgrade .home-search span { color: var(--premium-muted); }
body.premium-upgrade .home-call { grid-column: 3; grid-row: 1; min-width: 174px; padding: 14px 18px; background: var(--premium-green); border-radius: 12px; font: 750 17px/1.15 system-ui, sans-serif; box-shadow: 0 5px 15px rgb(23 105 78 / .12); }
body.premium-upgrade .home-call small { font-size: 11px; font-weight: 500; margin-top: 4px; }
body.premium-upgrade .global-smart-nav { background: #eaece1; color: var(--premium-ink); border-block: 1px solid #d4d9cb; gap: 7px 21px; padding: 14px 5%; font-family: system-ui, sans-serif; }
body.premium-upgrade .global-smart-nav span { color: #70592f; font-weight: 800; }
body.premium-upgrade .global-smart-nav a { color: var(--premium-forest); }
body.premium-upgrade .global-smart-nav a:hover { color: var(--premium-green); }
body.premium-upgrade > header:not(.home-header) { background: var(--premium-paper); color: var(--premium-ink); border-color: var(--premium-border); flex-wrap: wrap; padding: 20px 6%; }
body.premium-upgrade > header:not(.home-header) nav { flex-wrap: wrap; gap: 10px 22px; }
body.premium-upgrade :is(.brand, .brand-name) { color: var(--premium-forest); }
body.premium-upgrade :is(.brand small, .mark) { color: #70592f; }
body.premium-upgrade .brand-logo { object-fit: contain; border-color: var(--premium-border); box-shadow: none; }

/* Preserve each existing hero image, replace the cold overlay and typography. */
body.premium-upgrade :is(.home-hero, .interior-hero) { color: #fffdf8; background-color: var(--premium-forest); }
body.premium-upgrade .home-hero { min-height: 615px; }
body.premium-upgrade .home-hero-overlay { background: linear-gradient(90deg, rgb(9 41 31 / .95), rgb(9 41 31 / .72) 43%, rgb(9 41 31 / .12) 82%); }
body.premium-upgrade .interior-hero-overlay { background: linear-gradient(90deg, rgb(9 41 31 / .96), rgb(9 41 31 / .82) 46%, rgb(9 41 31 / .25) 86%); }
body.premium-upgrade .home-hero-content { max-width: 1440px; margin: 0 auto; padding: 72px 34px 64px; }
body.premium-upgrade .home-hero h1 { color: #fffdf8; font: 400 clamp(43px, 4.8vw, 72px)/1.06 Georgia, serif; letter-spacing: -.035em; margin: 22px 0 18px; max-width: 790px; }
body.premium-upgrade .home-hero h2 { color: #fffdf8; font: 400 clamp(23px, 2.2vw, 32px)/1.3 Georgia, serif; margin-bottom: 26px; }
body.premium-upgrade .home-hero h2 em { color: #e7d7b5; }
body.premium-upgrade :is(.home-hero, .interior-hero) .home-eyebrow { color: #e7d7b5; font-size: 11px; letter-spacing: .18em; font-weight: 700; }
body.premium-upgrade .home-specialty-icons { flex-wrap: wrap; gap: 14px 0; margin: 22px 0 26px; }
body.premium-upgrade .home-specialty-icons a { color: #fffdf8; min-width: 102px; padding: 0 13px; font-size: 27px; border-color: rgb(231 215 181 / .35); }
body.premium-upgrade .home-specialty-icons b { font-size: 12px; font-weight: 600; }
body.premium-upgrade .home-audience { color: #eef4ec; font-size: 16px; font-weight: 500; }
body.premium-upgrade :is(.home-badge, .interior-hero-side) { background: rgb(16 61 48 / .9); color: #fffdf8; border: 1px solid rgb(231 215 181 / .5); border-radius: 15px; box-shadow: 0 12px 30px rgb(0 0 0 / .15); }
body.premium-upgrade .home-badge { right: 4%; top: 30px; }
body.premium-upgrade .home-badge :is(b, span) { color: #fffdf8; }
body.premium-upgrade .home-signature { color: #fffdf8; text-shadow: 0 2px 10px rgb(0 0 0 / .6); }
body.premium-upgrade .interior-hero { min-height: 385px; }
body.premium-upgrade .interior-hero-content { padding: 58px 260px 55px 34px; max-width: 1340px; margin: 0 auto; }
body.premium-upgrade .interior-hero-title { font: 400 clamp(36px, 4.5vw, 62px)/1.1 Georgia, serif; color: #fffdf8; letter-spacing: -.03em; margin: 18px 0 20px; }
body.premium-upgrade .interior-hero p { color: #eaf0e7; font-size: 17px; line-height: 1.75; max-width: 720px; }
body.premium-upgrade .interior-hero-side { top: 30px; right: 4%; }
body.premium-upgrade .interior-hero-side span { color: #e0e9dc; }
body.premium-upgrade .global-hero { min-height: 570px; padding: 80px max(6%, calc((100% - 1340px)/2)); background-image: linear-gradient(90deg, rgb(9 41 31 / .96), rgb(9 41 31 / .66) 53%, rgb(9 41 31 / .12)), var(--global-image); }
body.premium-upgrade .global-hero h1 { color: #fffdf8; font: 400 clamp(38px, 5vw, 70px)/1.1 Georgia, serif; letter-spacing: -.035em; }
body.premium-upgrade .global-hero p { color: #eaf0e7; font: 400 18px/1.8 system-ui, sans-serif; }
body.premium-upgrade .global-label { color: #e7d7b5; font-family: system-ui, sans-serif; font-size: 11px; letter-spacing: .17em; }
body.premium-upgrade .hero { background: var(--premium-paper); }
body.premium-upgrade .herotext { padding: 75px 10% 65px; }
body.premium-upgrade .heroimg { background-color: var(--premium-soft); }
body.premium-upgrade .caption { background: rgb(16 61 48 / .9); color: #fffdf8; border-radius: 7px; }

/* Buttons keep their original hrefs and JS hooks. */
body.premium-upgrade :is(.btn, .home-btn, .global-actions a) {
  min-height: 48px;
  padding: 14px 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: var(--premium-green);
  color: #fffdf8;
  font: 700 14px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 5px 15px rgb(16 61 48 / .1);
  cursor: pointer;
  transition: background-color .18s, border-color .18s, box-shadow .18s;
}
body.premium-upgrade :is(.btn.green, .home-btn.green, .section:not(.quote-modal) .btn.green) { background: var(--premium-green); color: #fffdf8; }
body.premium-upgrade :is(.home-btn.blue, .global-actions a + a) { background: var(--premium-gold); color: var(--premium-forest); }
body.premium-upgrade :is(.btn.outline, .section:not(.quote-modal) .btn.outline) { background: var(--premium-paper); color: var(--premium-forest); border: 1px solid #9eafa2; box-shadow: none; }
body.premium-upgrade .section:not(.quote-modal) .btn:not(.green):not(.outline) { background: var(--premium-green); color: #fffdf8; }
body.premium-upgrade :is(.btn, .home-btn, .global-actions a):hover { background: #0c5038; color: #fffdf8; box-shadow: 0 7px 21px rgb(16 61 48 / .16); }
body.premium-upgrade :is(.btn.outline, .home-btn.blue, .global-actions a + a):hover { background: #ded0af; color: var(--premium-forest); border-color: #9e875f; }
body.premium-upgrade :is(.actions, .home-actions, .global-actions) { gap: 12px; }

/* The service catalogue keeps its sections, with more coherent spacing and cards. */
body.premium-upgrade .home-services { padding: 34px max(24px, calc((100% - 1460px)/2)) 16px; background: var(--premium-ivory); }
body.premium-upgrade .home-services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
body.premium-upgrade .home-service-card { background: var(--premium-paper); border: 1px solid var(--premium-border); border-radius: var(--premium-radius); box-shadow: var(--premium-shadow); }
body.premium-upgrade .home-service-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgb(24 60 50 / .12); }
body.premium-upgrade .home-card-image { height: 200px; overflow: visible; }
body.premium-upgrade .home-card-image img { display: block; border-radius: 19px 19px 0 0; }
body.premium-upgrade .home-card-image span { background: var(--premium-forest); left: 24px; bottom: -21px; width: 47px; height: 47px; border: 4px solid var(--premium-paper); }
body.premium-upgrade .home-card-body { padding: 34px 24px 25px; }
body.premium-upgrade .home-card-body h3 { color: var(--premium-forest); font: 400 28px/1.2 Georgia, serif; margin: 0 0 12px; }
body.premium-upgrade .home-card-body p { color: var(--premium-muted); font-size: 14px; line-height: 1.65; margin-bottom: 19px; }
body.premium-upgrade .home-card-body b { background: #e9eee3; color: var(--premium-forest); border: 1px solid #cfd8c8; border-radius: 8px; padding: 10px 14px; font-weight: 650; }
body.premium-upgrade .home-stats { background: var(--premium-paper); color: var(--premium-forest); padding: 30px 5%; margin-top: 18px; border-block: 1px solid var(--premium-border); flex-wrap: wrap; gap: 24px 35px; }
body.premium-upgrade .home-stats div b { color: var(--premium-brass); }
body.premium-upgrade .home-stats span { color: var(--premium-muted); }
body.premium-upgrade .home-stats > a { background: var(--premium-green); color: #fffdf8; border-radius: 12px; padding: 15px 24px; }
body.premium-upgrade .home-intro { background: #eaece1; padding: 80px max(6%, calc((100% - 1340px)/2)); gap: 60px; }
body.premium-upgrade :is(.home-intro h2, .home-locations h2, .home-faq h2, .home-contact h2) { font: 400 clamp(30px, 3.4vw, 44px)/1.18 Georgia, serif; color: var(--premium-forest); letter-spacing: -.025em; }
body.premium-upgrade .home-intro p { color: var(--premium-muted); font-size: 18px; line-height: 1.8; margin-top: 20px; }
body.premium-upgrade .home-locations { padding: 78px max(6%, calc((100% - 1340px)/2)); gap: 45px; background: var(--premium-paper); }
body.premium-upgrade .home-locations p { color: var(--premium-muted); }
body.premium-upgrade .home-contact { background: var(--premium-forest); padding: 60px max(6%, calc((100% - 1340px)/2)); }
body.premium-upgrade .home-contact h2 { color: #fffdf8; }
body.premium-upgrade .home-contact p { color: #e0e9dc; }
body.premium-upgrade .home-faq { background: #eeeee4; padding: 78px max(6%, calc((100% - 1120px)/2)); }
body.premium-upgrade .home-faq :is(details, summary) { color: var(--premium-forest); border-color: var(--premium-border); }
body.premium-upgrade .home-faq p { color: var(--premium-muted); }
body.premium-upgrade :is(.section:not(.quote-modal), .global-editorial, .runtime-faq, .runtime-link-panels) {
  width: min(1340px, calc(100% - 48px));
  margin: 42px auto;
  padding: clamp(30px, 4.5vw, 64px);
  background: var(--premium-paper);
  color: var(--premium-ink);
  border: 1px solid var(--premium-border);
  border-radius: var(--premium-radius);
  box-shadow: var(--premium-shadow);
}
body.premium-upgrade :is(.section.article, .global-editorial, .seo-longform) { max-width: 1130px; font: 400 17px/1.85 system-ui, -apple-system, "Segoe UI", sans-serif; }
body.premium-upgrade .section:not(.quote-modal) h1 { font: 400 clamp(34px, 4vw, 57px)/1.12 Georgia, serif; color: var(--premium-forest); letter-spacing: -.03em; margin: 15px 0 28px; }
body.premium-upgrade :is(.section:not(.quote-modal) h2, .global-editorial h2, .seo-longform h2, .runtime-faq h2, .runtime-link-panel h2) { font: 400 clamp(28px, 3vw, 40px)/1.22 Georgia, serif; color: var(--premium-forest); letter-spacing: -.025em; margin: 44px 0 20px; }
body.premium-upgrade :is(.section:not(.quote-modal) h3, .global-editorial h3, .seo-longform h3) { font: 400 clamp(23px, 2vw, 28px)/1.3 Georgia, serif; color: var(--premium-green); margin: 32px 0 16px; }
body.premium-upgrade :is(.section:not(.quote-modal) p, .section:not(.quote-modal) li, .article p, .long-article p, .global-editorial p, .global-editorial li, .seo-longform p) { color: var(--premium-muted); font-size: 17px; line-height: 1.85; }
body.premium-upgrade :is(.article, .global-editorial, .seo-longform) :is(p, ul, ol) { margin-top: 16px; margin-bottom: 23px; }
body.premium-upgrade :is(.article, .global-editorial, .seo-longform) :is(p, li) a:not(.btn):not(.home-btn) { color: var(--premium-green); text-decoration: underline; text-decoration-color: #9eafa2; text-decoration-thickness: 1px; }
body.premium-upgrade .section:not(.quote-modal) :is(.muted, .facts span, figcaption) { color: var(--premium-muted); }
body.premium-upgrade .section:not(.quote-modal) :is(.eyebrow, .breadcrumbs) { color: #70592f; }
body.premium-upgrade .section:not(.quote-modal) .breadcrumbs a { color: var(--premium-green); }
body.premium-upgrade .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
body.premium-upgrade :is(.card, .light .card, .explorer-catalog-results > a.card) { min-width: 0; padding: 27px; background: #f4f5ed; color: var(--premium-forest); border: 1px solid var(--premium-border); border-radius: 15px; box-shadow: none; transition: transform .18s, border-color .18s, box-shadow .18s; }
body.premium-upgrade :is(.card, .light .card, .explorer-catalog-results > a.card):hover { background: var(--premium-paper); border-color: #96aa93; box-shadow: var(--premium-shadow); transform: translateY(-3px); }
body.premium-upgrade .card h3 { color: var(--premium-forest); margin: 18px 0 13px; font-size: 25px; }
body.premium-upgrade .section:not(.quote-modal) .card p { font-size: 14px; line-height: 1.7; }
body.premium-upgrade .card > span:last-child { color: var(--premium-green); font-size: 13px; font-weight: 700; }
body.premium-upgrade :is(.facts > div, .section:not(.quote-modal) .facts > div) { background: #eef0e6; color: var(--premium-forest); border: 1px solid #d3dbc9; border-radius: 13px; padding: 24px; }
body.premium-upgrade .facts span { color: var(--premium-muted); }
body.premium-upgrade :is(.chips a, .home-location-links a, .section:not(.quote-modal) .chips a) { border: 1px solid #cbd7c8; color: var(--premium-green); padding: 10px 15px; border-radius: 10px; background: #fffdf8; font-size: 13px; font-weight: 650; }
body.premium-upgrade :is(.chips a, .home-location-links a):hover { background: #e4eadc; border-color: #9eafa2; }
body.premium-upgrade .strip { background: #eaece1; color: #70592f; border-color: var(--premium-border); }
body.premium-upgrade .light { background: #eeeee4; color: var(--premium-ink); }

/* Shared interactive panels, including cards rebuilt by service-explorer.js. */
body.premium-upgrade .service-explorer {
  --explorer-ink: #183c32;
  --explorer-muted: #53665d;
  --explorer-blue: #17694e;
  --explorer-green: #17694e;
  --explorer-border: #d8ddd1;
  width: min(1340px, calc(100% - 48px));
  margin: 48px auto;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--premium-ink);
}
body.premium-upgrade .service-explorer h2 { font: 400 clamp(29px, 3vw, 41px)/1.2 Georgia, serif; color: var(--premium-forest); letter-spacing: -.025em; }
body.premium-upgrade .service-explorer h3 { font: 400 24px/1.3 Georgia, serif; color: var(--premium-forest); }
body.premium-upgrade .explorer-heading { margin-bottom: 26px; }
body.premium-upgrade .explorer-heading p { font-size: 17px; }
body.premium-upgrade .explorer-panel { background: var(--premium-paper); padding: clamp(24px, 3vw, 38px); border-radius: 18px; border-color: var(--premium-border); box-shadow: var(--premium-shadow); scroll-margin-top: 160px; }
body.premium-upgrade .explorer-diagnosis { border-top-color: var(--premium-brass); }
body.premium-upgrade .explorer-request-panel { background: #eaf0e4; border-color: #cbd7c4; }
body.premium-upgrade .explorer-quicknav a { background: #fffdf8; border-color: #cbd7c8; color: var(--premium-green); border-radius: 10px; padding: 11px 16px; }
body.premium-upgrade .explorer-quicknav a:hover { background: var(--premium-forest); color: #fffdf8; border-color: var(--premium-forest); }
body.premium-upgrade :is(.explorer-path-grid a, .explorer-route, .service-explorer[data-compact="true"] .explorer-routes > a, .explorer-panel .explorer-grid > a) { background: #f2f4e9; border-color: var(--premium-border); border-radius: 13px; padding: 22px; line-height: 1.6; }
body.premium-upgrade :is(.explorer-path-grid a, .explorer-route, .explorer-panel .explorer-grid > a):hover { background: var(--premium-paper); border-color: #9eafa2; box-shadow: var(--premium-shadow); }
body.premium-upgrade .explorer-layout-2 .explorer-path-grid a { border-left-color: var(--premium-brass); }
body.premium-upgrade :is(.explorer-path-grid small, .explorer-route small, .explorer-reference-grid small, .explorer-panel .explorer-grid > a small) { color: #6c542f; }
body.premium-upgrade .explorer-reference-grid a { color: var(--premium-green); border-bottom-color: var(--premium-border); }
body.premium-upgrade .explorer-reference-grid a:hover { border-bottom-color: var(--premium-brass); }
body.premium-upgrade .explorer-links a { border-bottom-color: #9eafa2; }
body.premium-upgrade .service-explorer :is(details.explorer-scope, .explorer-filter-empty) { background: #eef0e6; border-color: var(--premium-border); }
body.premium-upgrade :is(.explorer-catalog-input, .explorer-filter, .search) { background: var(--premium-paper); border: 1px solid #aabbab; color: var(--premium-ink); border-radius: 10px; min-height: 46px; font-size: 16px; }
body.premium-upgrade .explorer-catalog-status { color: var(--premium-muted); }
body.premium-upgrade .explorer-catalog-empty { border-left-color: var(--premium-brass); background: #eaf0e4; }
body.premium-upgrade :is(.explorer-contact, .service-explorer a.explorer-contact) { border-radius: 14px; border-color: #b6cbb3; background: #e7eede; color: var(--premium-forest); }
body.premium-upgrade .explorer-contact h2 { color: var(--premium-forest); }
body.premium-upgrade .explorer-contact p { color: var(--premium-muted); }
body.premium-upgrade :is(.explorer-contact a, .service-explorer a.explorer-contact) { background: var(--premium-green); color: #fffdf8; border-radius: 10px; min-height: 48px; }
body.premium-upgrade .explorer-contact a:hover,
body.premium-upgrade .service-explorer a.explorer-contact:hover { background: #0c5038; }
body.premium-upgrade .explorer-copy { background: var(--premium-paper); border-color: #9eafa2; color: var(--premium-forest); font-family: system-ui, sans-serif; }
body.premium-upgrade .explorer-copy:hover { background: #e3eadc; }
body.premium-upgrade .explorer-request button[type=submit] { font-family: system-ui, sans-serif; border-radius: 10px; }
body.premium-upgrade .explorer-request button[type=submit]:hover { background: #0c5038; }

/* Readable fields, quiet tables, accessible disclosure controls. */
body.premium-upgrade :is(.explorer-request, .quote-form, .runtime-quote-form, .calculator-card) :is(input:not([type=checkbox]), textarea, select),
body.premium-upgrade .service-explorer :is(.explorer-message, .explorer-filter) {
  background: var(--premium-paper);
  color: var(--premium-ink);
  border: 1px solid #aabbab;
  border-radius: 10px;
  padding: 13px 14px;
  min-height: 46px;
  font: 400 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
  max-width: 100%;
}
body.premium-upgrade :is(.quote-form, .runtime-quote-form, .calculator-card) label { color: var(--premium-ink); font-size: 14px; }
body.premium-upgrade :is(input, textarea)::placeholder { color: #627568; opacity: 1; }
body.premium-upgrade :is(input, textarea, select):focus { border-color: var(--premium-green); }
body.premium-upgrade input[type=checkbox] { accent-color: var(--premium-green); }
body.premium-upgrade .calculator-card output { background: #e7eede; color: var(--premium-forest); border-radius: 10px; }
body.premium-upgrade :is(.price, .global-editorial table) { display: block; width: 100%; max-width: 100%; overflow-x: auto; border: 1px solid var(--premium-border); border-radius: 12px; border-collapse: collapse; background: var(--premium-paper); margin: 28px 0; scrollbar-width: thin; font-size: 15px; line-height: 1.7; }
body.premium-upgrade :is(.price, .global-editorial table) :is(th, td) { padding: 17px 20px; color: var(--premium-ink); border-color: var(--premium-border); text-align: left; }
body.premium-upgrade :is(.price th, .global-editorial th) { background: #e6ebde; color: var(--premium-forest); }
body.premium-upgrade :is(.price, .global-editorial table) tr:nth-child(even) { background: #f1f3e9; }
body.premium-upgrade :is(.price td:last-child, .section:not(.quote-modal) .price td:last-child) { color: var(--premium-green); }
body.premium-upgrade .section:not(.quote-modal) .price :is(td, th) { color: var(--premium-ink); border-color: var(--premium-border); }
body.premium-upgrade .section:not(.quote-modal) .price tr:nth-child(even) { background: #f1f3e9; }
body.premium-upgrade :is(details, .section:not(.quote-modal) details, .global-editorial details) { color: var(--premium-ink); border-color: var(--premium-border); }
body.premium-upgrade :is(summary, .section:not(.quote-modal) summary, .global-editorial summary) { color: var(--premium-forest); font-weight: 650; line-height: 1.6; }
body.premium-upgrade summary::marker { color: var(--premium-brass); }
body.premium-upgrade details[open] > summary { color: var(--premium-green); }
body.premium-upgrade :is(.quote-modal, .runtime-quote-modal) { z-index: 1000; background: rgb(8 30 22 / .78); padding: 24px; }
body.premium-upgrade :is(.quote-dialog, .runtime-quote-dialog) { background: var(--premium-paper); color: var(--premium-ink); border: 1px solid #bdcbb4; border-radius: 20px; padding: 40px; max-height: calc(100dvh - 48px); overflow: auto; box-shadow: 0 24px 80px rgb(0 0 0 / .3); }
body.premium-upgrade :is(.quote-close, .runtime-quote-close) { color: var(--premium-forest); min-width: 44px; min-height: 44px; }
body.premium-upgrade :is(.quote-dialog, .runtime-quote-dialog) :is(h2, p) { color: var(--premium-forest); }

/* Images remain unchanged. Rounded framing distinguishes galleries from branding. */
body.premium-upgrade :is(.contentimg, .section:not(.quote-modal) .contentimg, .global-photo-gallery img) { display: block; width: 100%; height: auto; border-radius: 15px; box-shadow: 0 10px 27px rgb(24 60 50 / .09); }
body.premium-upgrade .global-photo-gallery { gap: 26px; margin: 36px 0; }
body.premium-upgrade :is(.global-photo-gallery figcaption, .global-photo-note) { font: 400 13px/1.7 system-ui, sans-serif; color: var(--premium-muted); }
body.premium-upgrade .seo-gallery { background: #eeeee4; color: var(--premium-forest); border-color: var(--premium-border); padding: 65px 7%; }
body.premium-upgrade .seo-gallery figure { background: var(--premium-paper); border: 1px solid var(--premium-border); border-radius: 16px; overflow: hidden; box-shadow: var(--premium-shadow); }
body.premium-upgrade .seo-gallery figcaption { color: var(--premium-muted); font-size: 13px; line-height: 1.65; padding: 16px 18px; }
body.premium-upgrade .seo-longform { background: var(--premium-paper); color: var(--premium-ink); border-top-color: var(--premium-border); padding: 64px 6%; }
body.premium-upgrade :is(.global-article-nav, .global-backlinks) { background: #eaece1; padding: 24px; border: 1px solid var(--premium-border); border-radius: 13px; }
body.premium-upgrade :is(.global-article-nav, .global-backlinks) a { color: var(--premium-green); }
body.premium-upgrade :is(.global-country-list a, .global-city-groups > div) { background: #f1f3e9; border-color: var(--premium-border); border-radius: 13px; }
body.premium-upgrade .global-country-list small { color: var(--premium-muted); }
body.premium-upgrade .global-country-list a:hover { background: #e4eadc; border-color: #aabbab; }
body.premium-upgrade .global-stats { background: #eaece1; border: 1px solid var(--premium-border); }
body.premium-upgrade .global-stats b { color: var(--premium-green); }
body.premium-upgrade .global-brief { background: var(--premium-forest); color: #fffdf8; padding: 32px; border-radius: 15px; }
body.premium-upgrade .global-brief :is(h2, h3) { color: #fffdf8; }
body.premium-upgrade .global-brief :is(p, li) { color: #e0e9dc; }
body.premium-upgrade .global-brief a { color: #e7d7b5; }

/* The two individually prepared long articles use a small additional DOM family. */
body.premium-upgrade .prepared-card-icon { background: linear-gradient(135deg, #103d30, #17694e); color: #e7d7b5; height: 74px; font-size: 32px; }
body.premium-upgrade .prepared-hero-caption { background: #eaece1; color: var(--premium-muted); font: 400 13px/1.7 system-ui, sans-serif; padding: 14px 6%; }
body.premium-upgrade .prepared-editorial { background: var(--premium-paper); color: var(--premium-ink); }
body.premium-upgrade .prepared-editorial :is(h2, h3, caption) { color: var(--premium-forest); }
body.premium-upgrade .prepared-editorial p { color: var(--premium-muted); }
body.premium-upgrade .prepared-editorial a { color: var(--premium-green); }
body.premium-upgrade .prepared-editorial .editorial-toc { background: #eaece1; border-color: var(--premium-border); border-radius: 13px; padding: 22px; }
body.premium-upgrade .prepared-editorial figure { background: #eef0e6; border-color: var(--premium-border); border-radius: 15px; }
body.premium-upgrade .prepared-editorial figcaption { color: var(--premium-muted); font-family: system-ui, sans-serif; }
body.premium-upgrade .prepared-editorial :is(th, td) { border-color: var(--premium-border); color: var(--premium-ink); }
body.premium-upgrade .prepared-editorial thead { background: #e6ebde; }
body.premium-upgrade .prepared-editorial tbody tr:nth-child(even) { background: #f1f3e9; }
body.premium-upgrade .prepared-specializations .prepared-editorial { width: 100%; margin: 36px auto 0; padding: 28px 0 0; border: 0; border-top: 1px solid var(--premium-border); border-radius: 0; box-shadow: none; }
body.premium-upgrade .prepared-table-scroll { border-radius: 12px; scrollbar-width: thin; }
body.premium-upgrade .prepared-anchor { scroll-margin-top: 164px; }
body.premium-upgrade .textlink { color: var(--premium-green); }

/* Existing older toolkit and runtime families receive the same finish. */
body.premium-upgrade :is(.network-links, .toolkit, .runtime-feature-tools, .runtime-extras) { background: #eaece1; color: var(--premium-forest); border-color: var(--premium-border); padding-top: 45px; padding-bottom: 45px; }
body.premium-upgrade :is(.network-card, .tool-card, .calculator-card, .runtime-tool, .runtime-link-card, .interior-service-links a) { background: var(--premium-paper); color: var(--premium-forest); border: 1px solid var(--premium-border); border-radius: 13px; padding: 22px; box-shadow: none; }
body.premium-upgrade :is(.network-card, .tool-card, .runtime-tool, .runtime-link-card, .interior-service-links a):hover { border-color: #9eafa2; box-shadow: var(--premium-shadow); }
body.premium-upgrade :is(.network-card small, .tool-card small, .runtime-tool small, .runtime-link-card span, .interior-service-links small) { color: var(--premium-muted); }
body.premium-upgrade :is(.tool-card span, .runtime-tool span) { color: var(--premium-brass); }
body.premium-upgrade :is(.runtime-feature-intro h2, .runtime-faq h2, .runtime-link-panel h2) { color: var(--premium-forest); font-family: Georgia, serif; font-weight: 400; }
body.premium-upgrade :is(.runtime-feature-intro p, .runtime-faq p) { color: var(--premium-muted); }
body.premium-upgrade .runtime-extras :is(h2, h3) { color: var(--premium-forest); }
body.premium-upgrade .runtime-extras .tool-card { background: var(--premium-paper); color: var(--premium-forest); border-color: var(--premium-border); }
body.premium-upgrade .runtime-reading-progress { background: linear-gradient(90deg, #997647, #17694e); box-shadow: none; }
body.premium-upgrade .runtime-link-panel.external { border-color: var(--premium-border); }
body.premium-upgrade .interior-service-strip { background: var(--premium-paper); border-color: var(--premium-border); box-shadow: none; }
body.premium-upgrade .interior-service-strip-head { color: var(--premium-forest); }

/* Quiet footer and always-available contact controls, above the safe-area inset. */
body.premium-upgrade :is(footer, .home-footer, .interior-footer, .global-footer) { background: var(--premium-forest); color: #dce5d8; border-color: rgb(231 215 181 / .22); padding: 48px max(6%, calc((100% - 1340px)/2)) 115px; font-family: system-ui, sans-serif; line-height: 1.8; }
body.premium-upgrade :is(footer, .home-footer, .global-footer) :is(a, b) { color: #fffdf8; }
body.premium-upgrade :is(footer, .home-footer, .global-footer) a:hover { color: #e7d7b5; text-decoration: underline; }
body.premium-upgrade .specialization-footer { background: var(--premium-forest); color: #e7d7b5; border-color: rgb(231 215 181 / .22); }
body.premium-upgrade .specialization-footer a { color: #fffdf8; }
body.premium-upgrade :is(.floating, .home-floating) { bottom: calc(20px + env(safe-area-inset-bottom)); right: max(20px, env(safe-area-inset-right)); display: flex; flex-direction: row; gap: 9px; padding: 7px; border: 1px solid rgb(255 253 248 / .6); border-radius: 18px; background: rgb(255 253 248 / .94); box-shadow: 0 8px 32px rgb(8 36 25 / .2); z-index: 500; }
body.premium-upgrade :is(.floating, .home-floating) :is(.home-btn, .btn) { min-height: 46px; border-radius: 12px; font-size: 13px; padding: 12px 17px; background: #087f3b; color: #fff; box-shadow: none; }
body.premium-upgrade :is(.floating, .home-floating) a[href^="https://wa.me/"] { background: var(--premium-forest); color: #fffdf8; }
body.premium-upgrade :is(.floating, .home-floating) a:hover { background: #065d2c; color: #fff; }

@media (min-width: 1600px) {
  body.premium-upgrade .home-services-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
  body.premium-upgrade .home-card-image { height: 164px; }
  body.premium-upgrade .home-card-body { padding-inline: 20px; }
  body.premium-upgrade .home-card-body h3 { font-size: 25px; }
}
@media (max-width: 1150px) {
  body.premium-upgrade :is(.home-header, .interior-header) { grid-template-columns: minmax(255px, 1fr) minmax(155px, 260px) auto; gap: 8px 18px; padding-inline: 24px; }
  body.premium-upgrade .home-header nav { gap: 4px 16px; justify-content: flex-start; }
  body.premium-upgrade .home-topbar { flex-wrap: wrap; }
  body.premium-upgrade .interior-hero-side { display: none; }
  body.premium-upgrade .interior-hero-content { padding-right: 34px; }
  body.premium-upgrade .home-badge { display: none; }
  body.premium-upgrade .home-signature { right: 7%; font-size: 23px; }
  body.premium-upgrade .network-grid, body.premium-upgrade .toolkit-grid, body.premium-upgrade .calculator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  body.premium-upgrade .home-topbar { display: none; }
  body.premium-upgrade :is(.home-header, .interior-header) { position: relative; grid-template-columns: minmax(0, 1fr) auto; padding: 15px 22px 14px; gap: 12px 16px; }
  body.premium-upgrade .home-brand img { width: 54px; height: 54px; flex-basis: 54px; }
  body.premium-upgrade .home-brand span { font-size: 18px; }
  body.premium-upgrade .home-brand strong { font-size: 19px; }
  body.premium-upgrade .home-call { grid-column: 2; min-width: 154px; font-size: 15px; padding: 13px 15px; }
  body.premium-upgrade .home-header nav { grid-row: 2; gap: 4px 18px; padding-bottom: 2px; font-size: 12px; }
  body.premium-upgrade .home-header nav a { padding: 10px 1px 9px; }
  body.premium-upgrade .home-search { grid-column: 1 / -1; grid-row: 3; height: 43px; }
  body.premium-upgrade :is(section, article)[id], body.premium-upgrade .global-editorial [id], body.premium-upgrade .explorer-panel, body.premium-upgrade .prepared-anchor { scroll-margin-top: 24px; }
  body.premium-upgrade .home-hero { min-height: 580px; }
  body.premium-upgrade .home-hero-content { padding: 60px 7% 58px; }
  body.premium-upgrade .home-hero-overlay { background: linear-gradient(90deg, rgb(9 41 31 / .96), rgb(9 41 31 / .68)); }
  body.premium-upgrade .home-signature { display: none; }
  body.premium-upgrade .home-intro, body.premium-upgrade .home-locations { grid-template-columns: minmax(0, 1fr); gap: 25px; padding: 55px 6%; }
  body.premium-upgrade .home-locations > .home-btn { grid-column: 1; }
  body.premium-upgrade .home-contact { display: block; padding: 50px 6%; }
  body.premium-upgrade .home-contact .home-btn { margin-top: 15px; }
  body.premium-upgrade .home-faq { padding: 55px 6%; }
  body.premium-upgrade .global-hero { min-height: 500px; padding: 60px 7%; }
  body.premium-upgrade .global-hero h1 { font-size: clamp(36px, 6vw, 55px); }
  body.premium-upgrade .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.premium-upgrade :is(.section:not(.quote-modal), .global-editorial, .runtime-faq, .runtime-link-panels) { width: calc(100% - 32px); margin: 28px auto; padding: 34px; }
  body.premium-upgrade .service-explorer { width: calc(100% - 32px); margin: 32px auto; }
  body.premium-upgrade .service-explorer > .explorer-grid { grid-template-columns: minmax(0, 1fr); }
  body.premium-upgrade .explorer-panel { padding: 28px; }
  body.premium-upgrade :is(.home-footer, .interior-footer) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  body.premium-upgrade { font-size: 15px; }
  body.premium-upgrade :is(.home-header, .interior-header) { padding: 13px 16px 12px; gap: 10px; }
  body.premium-upgrade .home-brand { gap: 8px; }
  body.premium-upgrade .home-brand img { width: 46px; height: 46px; flex-basis: 46px; }
  body.premium-upgrade .home-brand span { font-size: 15px; }
  body.premium-upgrade .home-brand strong { font-size: 16px; }
  body.premium-upgrade .home-brand small { font-size: 9px; margin-top: 4px; }
  body.premium-upgrade .home-call { min-width: 128px; padding: 12px 10px; font-size: 13px; }
  body.premium-upgrade .home-call small { font-size: 10px; }
  body.premium-upgrade .home-hero { min-height: 545px; }
  body.premium-upgrade .home-hero-content { padding: 46px 6% 45px; }
  body.premium-upgrade .home-hero h1 { font-size: clamp(37px, 9.8vw, 50px); line-height: 1.12; }
  body.premium-upgrade .home-hero h2 { font-size: 24px; }
  body.premium-upgrade .home-specialty-icons { gap: 15px 0; }
  body.premium-upgrade .home-specialty-icons a { min-width: 88px; padding: 0 9px; }
  body.premium-upgrade .home-specialty-icons b { font-size: 11px; }
  body.premium-upgrade .home-hero .home-actions { gap: 10px; }
  body.premium-upgrade .home-actions .home-btn { width: 100%; }
  body.premium-upgrade :is(.interior-hero-content, .global-hero) { padding: 43px 6%; }
  body.premium-upgrade .interior-hero-title { font-size: clamp(33px, 8.5vw, 45px); }
  body.premium-upgrade .interior-hero p { font-size: 16px; }
  body.premium-upgrade .home-services { padding: 26px 16px 12px; }
  body.premium-upgrade .home-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  body.premium-upgrade .home-card-image { height: 155px; }
  body.premium-upgrade .home-card-body { padding: 30px 17px 20px; }
  body.premium-upgrade .home-card-body h3 { font-size: 23px; }
  body.premium-upgrade .home-stats { padding: 26px 6%; gap: 22px 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.premium-upgrade .home-stats strong { font-size: 17px; }
  body.premium-upgrade .home-stats > a { grid-column: 1 / -1; text-align: center; }
  body.premium-upgrade :is(.section:not(.quote-modal), .global-editorial, .runtime-faq, .runtime-link-panels) { width: calc(100% - 24px); margin: 22px auto; padding: 27px 22px; border-radius: 16px; }
  body.premium-upgrade :is(.section:not(.quote-modal) p, .section:not(.quote-modal) li, .global-editorial p, .global-editorial li, .seo-longform p) { font-size: 16px; line-height: 1.85; }
  body.premium-upgrade .section:not(.quote-modal) h1 { font-size: clamp(31px, 8vw, 40px); }
  body.premium-upgrade :is(.section:not(.quote-modal) h2, .global-editorial h2, .seo-longform h2) { font-size: 29px; margin-top: 35px; }
  body.premium-upgrade :is(.grid, .facts, .network-grid, .toolkit-grid, .calculator-grid) { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  body.premium-upgrade .card { padding: 23px; }
  body.premium-upgrade .service-explorer { width: calc(100% - 24px); margin: 26px auto; }
  body.premium-upgrade .explorer-panel { padding: 24px 21px; border-radius: 16px; }
  body.premium-upgrade .explorer-heading { padding: 0 6px; }
  body.premium-upgrade .service-explorer h2 { font-size: 29px; }
  body.premium-upgrade :is(.explorer-path-grid, .explorer-routes, .explorer-panel .explorer-grid, .explorer-layout-1 .explorer-path-grid, .explorer-layout-1 .explorer-routes, .explorer-layout-2 .explorer-routes, .explorer-layout-2 .explorer-path-grid) { grid-template-columns: minmax(0, 1fr); }
  body.premium-upgrade .explorer-reference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  body.premium-upgrade :is(.explorer-path-grid a, .explorer-route, .service-explorer[data-compact="true"] .explorer-routes > a, .explorer-panel .explorer-grid > a) { padding: 19px; }
  body.premium-upgrade .global-photo-gallery { grid-template-columns: minmax(0, 1fr); }
  body.premium-upgrade :is(.price, .global-editorial table) :is(th, td) { padding: 13px 15px; }
  body.premium-upgrade :is(.quote-modal, .runtime-quote-modal) { padding: 12px; }
  body.premium-upgrade :is(.quote-dialog, .runtime-quote-dialog) { padding: 32px 24px; max-height: calc(100dvh - 24px); }
  body.premium-upgrade :is(.home-footer, .interior-footer) { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body.premium-upgrade :is(.floating, .home-floating) { bottom: calc(12px + env(safe-area-inset-bottom)); right: 12px; left: 12px; justify-content: stretch; padding: 6px; gap: 7px; border-radius: 15px; }
  body.premium-upgrade :is(.floating, .home-floating) :is(.home-btn, .btn) { flex: 1; min-width: 0; padding: 12px 9px; font-size: 13px; }
  body.premium-upgrade :is(footer, .home-footer, .global-footer) { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
}
@media (max-width: 440px) {
  body.premium-upgrade .home-brand span { font-size: 12px; }
  body.premium-upgrade .home-brand strong { font-size: 13px; }
  body.premium-upgrade .home-brand small { font-size: 8px; }
  body.premium-upgrade .home-brand img { width: 40px; height: 40px; flex-basis: 40px; }
  body.premium-upgrade .home-call { min-width: 114px; font-size: 12px; padding-inline: 8px; }
  body.premium-upgrade .home-services-grid { grid-template-columns: minmax(0, 1fr); }
  body.premium-upgrade .home-card-image { height: 220px; }
  body.premium-upgrade .explorer-reference-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  body.premium-upgrade *, body.premium-upgrade *::before, body.premium-upgrade *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media print {
  body.premium-upgrade { background: #fff; color: #000; }
  body.premium-upgrade :is(.floating, .home-floating, .home-search, .quote-modal, .runtime-quote-modal) { display: none !important; }
  body.premium-upgrade .home-header { position: static; }
  body.premium-upgrade :is(.section:not(.quote-modal), .global-editorial, .explorer-panel) { width: 100%; border: 0; box-shadow: none; background: #fff; }
}
