/* Evergreen 2.0.5 — unified sitewide typography.
 * Source: 2026-10-31 homepage HTML snapshot supplied by the site owner.
 * Last-loaded public stylesheet; applies to the homepage, pages, blog, service
 * landings, contact/quote forms, header and footer at EVERY viewport width.
 * Size is set by semantic role, not by viewport width. Functional SVGs, icons,
 * admin toolbar, the gallery counter and other non-text UI remain untouched.
 */
.bcl-app {
  --ev-font-site: Arial, Helvetica, sans-serif;
  --ev-type-body: 16px;
  --ev-type-h1: 38px;
  --ev-type-h2: 28px;
  --ev-type-h3: 21px;
  --ev-type-h4: 19px;
  --ev-type-small: 14px;
  --ev-type-button: 15px;
  --ev-type-navigation: 14px;
  --bcl-font-body: var(--ev-font-site);
  --bcl-font-display: var(--ev-font-site);
  --bcl-font-accent: var(--ev-font-site);
  font-family: var(--ev-font-site) !important;
  font-size: var(--ev-type-body) !important;
  line-height: 1.6 !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* All rendered theme copy uses ONE installed, cross-device font stack. The
   exclusions preserve UI icons and accessible hidden content. */
.bcl-app :is(h1,h2,h3,h4,h5,h6,p,blockquote,li,dt,dd,th,td,figcaption,legend,label,summary,a,button,input,select,textarea,small,strong,em) {
  font-family: var(--ev-font-site) !important;
}
.bcl-app :is(h1,h2,h3,h4,h5,h6) {
  font-style: normal;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
  text-transform: none;
  overflow-wrap: break-word;
  hyphens: auto;
}
.bcl-app h1, .bcl-app :is(.ev-hero-copy,.ev-page-hero,.bcl-landing-hero,.bcl-blog-hero,.bcl-article-hero) h1,
.bcl-app .bcl-content-page:not(.ev-standard-page) > .bcl-container > h1 {
  font-size: var(--ev-type-h1) !important;
  line-height: 1.17 !important;
}
.bcl-app h2, .bcl-app :is(.ev-section-head,.ev-panel-heading,.ev-local-copy,.ev-more-copy,.ev-gallery-panel,.ev-final,.bcl-gallery-section,.bcl-countdown-section,.bcl-proof-section,.bcl-article-content) h2 {
  font-size: var(--ev-type-h2) !important;
  line-height: 1.27 !important;
}
.bcl-app h3, .bcl-app :is(.ev-process-card,.ev-price-card,.bcl-article-content,.bcl-blog-card) h3 {
  font-size: var(--ev-type-h3) !important;
  line-height: 1.32 !important;
}
.bcl-app h4 { font-size: var(--ev-type-h4) !important; line-height: 1.4 !important; }
.bcl-app h5 { font-size: 17px !important; line-height: 1.4 !important; }
.bcl-app h6 { font-size: var(--ev-type-body) !important; line-height: 1.4 !important; }
.bcl-app :is(p,li,dt,dd,blockquote,th,td) {
  font-size: var(--ev-type-body) !important;
  line-height: 1.6 !important;
}
.bcl-app :is(small,figcaption) {
  font-size: var(--ev-type-small) !important;
  line-height: 1.48 !important;
}
.bcl-app :is(.bcl-breadcrumbs,.bcl-article-meta,.bcl-post-meta,.bcl-blog-card-meta,.bcl-form-privacy-notice,.bcl-lead-form-privacy) {
  font-size: var(--ev-type-small) !important;
  line-height: 1.55 !important;
}
.bcl-app :is(.bcl-eyebrow,.bcl-hero-eyebrow,.ev-eyebrow,.ev-panel-eyebrow,.ev-inline-eyebrow,.bcl-gallery-eyebrow) {
  font-size: var(--ev-type-small) !important;
  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}
/* Keep WordPress block typography aligned with this theme, even when older
   posts contain block-font presets inherited from a different theme. */
.bcl-app :is(.has-small-font-size,.has-medium-font-size,.has-normal-font-size) {
  font-size: var(--ev-type-body) !important;
}
.bcl-app .has-large-font-size { font-size: var(--ev-type-h3) !important; }
.bcl-app .has-x-large-font-size, .bcl-app .has-huge-font-size {
  font-size: var(--ev-type-h2) !important;
}
.bcl-app :is(.has-body-font-family,.has-heading-font-family) {
  font-family: var(--ev-font-site) !important;
}
/* Hero: readable paragraphs and clear trust microcopy at all breakpoints. */
.bcl-app .ev-hero-description,
.bcl-app .ev-more-copy p:not(.ev-inline-eyebrow),
.bcl-app .ev-local-copy p,
.bcl-app .ev-final p,
.bcl-app .ev-page-hero p:not(.ev-inline-eyebrow),
.bcl-app .bcl-landing-hero .bcl-landing-lead,
.bcl-app .bcl-blog-hero .bcl-blog-hero-lead {
  font-size: var(--ev-type-body) !important;
  line-height: 1.6 !important;
}
.bcl-app .ev-trust-points strong {
  font-size: 15px !important;
  line-height: 1.38 !important;
  white-space: normal !important;
}
.bcl-app .ev-trust-points small {
  font-size: var(--ev-type-small) !important;
  line-height: 1.45 !important;
}
.bcl-app .ev-hero-inner { grid-template-columns: minmax(0,1fr) minmax(350px,430px); gap: 30px; }
.bcl-app .ev-hero-copy { max-width: 690px; }
.bcl-app .ev-hero-description { max-width: 650px; }
.bcl-app .ev-trust-points { gap: 13px; }
/* The old 9px labels/10px controls were especially difficult to read on phones.
   Inputs >=16px also avoid automatic focus zoom in iOS Safari. */
.bcl-app :is(input,select,textarea) {
  font-size: var(--ev-type-body) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}
.bcl-app :is(.bcl-native-lead-form,.bcl-landing-hero-form,.bcl-lead-form) :is(label,legend),
.bcl-app .ev-estimate-panel .bcl-lead-form-grid label {
  font-size: var(--ev-type-small) !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}
.bcl-app .ev-estimate-panel .bcl-lead-form-grid label { gap: 5px !important; }
.bcl-app .ev-estimate-panel .bcl-lead-form-grid :is(input,select,textarea) {
  font-size: var(--ev-type-body) !important;
  line-height: 1.4 !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 9px 11px !important;
}
.bcl-app .ev-estimate-panel .bcl-lead-form-grid textarea {
  min-height: 96px !important;
  height: auto !important;
}
.bcl-app .ev-estimate-panel {
  max-width: 430px;
  padding: 22px;
}
.bcl-app .ev-estimate-panel .bcl-native-lead-form { gap: 12px; }
.bcl-app .ev-estimate-panel .bcl-lead-form-grid { gap: 11px !important; }
.bcl-app .ev-panel-heading > p:last-child,
.bcl-app .ev-panel-assurance {
  font-size: var(--ev-type-small) !important;
  line-height: 1.5 !important;
}
.bcl-app .ev-panel-heading h2 { font-size: var(--ev-type-h2) !important; line-height: 1.25 !important; }
/* Buttons / menus always use the same text treatment, without forcing the
   WordPress mobile menu to imitate its desktop layout. */
.bcl-app :is(.bcl-button,.bcl-header-cta,.bcl-lead-submit,.bcl-mobile-menu a,.bcl-gallery-filter,button[type="submit"]) {
  font-size: var(--ev-type-button) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}
.bcl-app .bcl-header-cta,
.bcl-app .ev-hero .bcl-button,
.bcl-app :is(.ev-more-copy,.ev-final,.ev-local-copy) .bcl-button,
.bcl-app .bcl-landing-hero .bcl-hero-actions .bcl-button {
  font-size: var(--ev-type-button) !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 16px !important;
  white-space: normal !important;
  text-align: center;
}
.bcl-app .ev-estimate-panel .bcl-lead-submit {
  font-size: var(--ev-type-button) !important;
  min-height: 46px !important;
  padding: 11px 16px !important;
  white-space: normal !important;
}
.bcl-app .bcl-nav-links > li > a,
.bcl-app .bcl-nav-links .sub-menu a,
.bcl-app .bcl-mobile-menu-list a,
.bcl-app .bcl-mobile-menu > a,
.bcl-app .bcl-mobile-menu .sub-menu a {
  font-size: var(--ev-type-navigation) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}
.bcl-app .bcl-mobile-menu-list a,
.bcl-app .bcl-mobile-menu .sub-menu a { padding-top: 11px !important; padding-bottom: 11px !important; }
/* Homepage tiles must grow with real text instead of being fixed-height
   multi-column cards designed for 9px text. */
.bcl-app .ev-service-grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}
.bcl-app .ev-service-card { min-height: 126px; padding: 17px 16px; gap: 11px; }
.bcl-app .ev-service-text strong {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
}
.bcl-app .ev-service-text small {
  font-size: var(--ev-type-small) !important;
  line-height: 1.5 !important;
}
.bcl-app .ev-section { padding-block: 30px; }
.bcl-app .ev-section-head { margin-bottom: 18px; }
.bcl-app .ev-section-head > a,
.bcl-app .ev-text-link {
  font-size: var(--ev-type-small) !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  white-space: normal;
}
.bcl-app .ev-process-grid { grid-template-columns: repeat(auto-fit,minmax(155px,1fr)); gap: 13px; }
.bcl-app .ev-price-grid { grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 13px; }
.bcl-app :is(.ev-process-card,.ev-price-card) {
  min-height: 160px;
  height: auto;
  padding: 17px;
}
.bcl-app :is(.ev-process-card,.ev-price-card) h3 {
  font-size: var(--ev-type-h3) !important;
  line-height: 1.3 !important;
}
.bcl-app :is(.ev-process-card,.ev-price-card) p {
  font-size: var(--ev-type-small) !important;
  line-height: 1.5 !important;
}
.bcl-app .ev-step-number { font-size: var(--ev-type-small) !important; width: 28px; height: 28px; }
.bcl-app .ev-local-copy p {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
  max-width: 480px;
}
.bcl-app .ev-local-panel { min-height: 240px; }
.bcl-app .ev-gallery-panel { padding-block: 22px; }
.bcl-app .ev-faq-item { padding: 17px 18px; }
.bcl-app .ev-faq-item summary {
  font-size: var(--ev-type-body) !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}
.bcl-app .ev-faq-item > div {
  font-size: var(--ev-type-body) !important;
  line-height: 1.6 !important;
}
.bcl-app .ev-faq-item > div :is(p,li) { font-size: inherit !important; }
/* Gallery, filters, lightbox and countdown use the same fixed type scale;
   older 0.65rem / viewport-clamp rules caused cross-device discrepancies. */
.bcl-app :is(.bcl-gallery-marquee-track,.bcl-gallery-count,.bcl-gallery-hint,.bcl-gallery-carousel-status,.bcl-gallery-carousel-topline,.bcl-gallery-swipe-hint,.bcl-lightbox-eyebrow,.bcl-lightbox-counter,.bcl-countdown-label) {
  font-family: var(--ev-font-site) !important;
  font-size: var(--ev-type-small) !important;
  line-height: 1.5 !important;
}
.bcl-app .bcl-gallery-card figcaption strong {
  font-size: var(--ev-type-h3) !important;
  line-height: 1.32 !important;
  font-weight: 700 !important;
}
.bcl-app :is(.bcl-gallery-description,.bcl-lightbox-description) {
  font-size: var(--ev-type-body) !important;
  line-height: 1.55 !important;
}
.bcl-app .bcl-lightbox-title {
  font-size: var(--ev-type-h2) !important;
  line-height: 1.27 !important;
}
.bcl-app .bcl-countdown-value {
  font-family: var(--ev-font-site) !important;
  font-size: var(--ev-type-h1) !important;
  line-height: 1.15 !important;
}
.bcl-app .bcl-gallery-section .bcl-section-lead {
  font-size: var(--ev-type-body) !important;
  line-height: 1.6 !important;
}
.bcl-app .ev-final { padding-block: 42px; }
/* Footer branding and artwork dimensions from 2.0.4 remain unchanged. */
.bcl-app .ev-footer-nav a,
.bcl-app .ev-footer-contact a,
.bcl-app .ev-footer-directory summary,
.bcl-app .ev-footer-directory-grid li a,
.bcl-app .ev-footer-directory-grid .bcl-footer-directory-heading,
.bcl-app .ev-footer-bottom {
  font-size: var(--ev-type-small) !important;
  line-height: 1.5 !important;
}
.bcl-app .ev-footer-brand:not(.ev-footer-brand--image) strong {
  font-size: 20px !important;
  line-height: 1.2 !important;
}
.bcl-app .ev-footer-brand:not(.ev-footer-brand--image) small {
  font-size: var(--ev-type-small) !important;
  line-height: 1.35 !important;
}
.bcl-app .ev-footer-nav a,
.bcl-app .ev-footer-contact a { white-space: normal; }
.bcl-app .ev-footer-main { padding-block: 24px; }
.bcl-app .ev-footer-bottom { padding-block: 14px 18px; }
.bcl-app .ev-footer-directory-grid { gap: 16px; }
.bcl-app .ev-footer-directory-grid li { padding: 5px 0; }
/* Longer text can wrap on narrow screens, but its font never shrinks. */
.bcl-app :is(.ev-service-card,.ev-process-card,.ev-price-card,.ev-footer-nav,.ev-footer-contact,.ev-hero-copy,.ev-estimate-panel,.bcl-article,.bcl-entry-content,.bcl-landing-content) {
  min-width: 0;
  overflow-wrap: anywhere;
}
/* Layout-only responsive rules: no breakpoint-dependent font-size or family. */
@media (max-width: 1300px) {
  .bcl-app .bcl-nav-links, .bcl-app .bcl-header-cta { display: none !important; }
  .bcl-app .bcl-mobile-toggle { display: inline-flex !important; }
}
@media (max-width: 1100px) {
  .bcl-app .ev-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bcl-app .ev-hero-inner { grid-template-columns: 1fr !important; }
  .bcl-app .ev-estimate-panel { justify-self: start; width: min(100%,620px); max-width: 620px; }
  .bcl-app .ev-trust-points { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .bcl-app .ev-final .bcl-container { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .bcl-app .ev-trust-points { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bcl-app .ev-process-grid, .bcl-app .ev-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bcl-app .ev-local-map { position: static; width: fit-content; margin-top: 14px; }
  .bcl-app .ev-section-head { flex-wrap: wrap; }
  .bcl-app .ev-hero-copy { max-width: 100%; }
  .bcl-app .ev-footer-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 550px) {
  .bcl-app .ev-service-grid { grid-template-columns: 1fr; }
  .bcl-app .ev-process-grid, .bcl-app .ev-price-grid { grid-template-columns: 1fr; }
  .bcl-app .ev-process-card:last-child { grid-column: auto; }
  .bcl-app .ev-estimate-panel .bcl-lead-form-grid { grid-template-columns: 1fr; }
  .bcl-app .ev-estimate-panel .bcl-lead-form-grid label.is-full { grid-column: auto; }
  .bcl-app .ev-hero-inner { padding-block: 40px !important; }
  .bcl-app .ev-trust-points { grid-template-columns: 1fr; }
  .bcl-app .ev-footer-directory-grid { width: min(88vw,390px); }
}

/* v2.0.6: only the recovered legacy estimate page; uses existing site typography. */
.bcl-app .bcl-legacy-estimate-repair{max-width:860px;margin-inline:auto}
.bcl-app .bcl-legacy-estimate-repair>h2{margin:0 0 12px;color:#102a22;line-height:1.2}
.bcl-app .bcl-legacy-estimate-repair>p{margin:0 0 24px;color:#3f4945;line-height:1.6}
.bcl-app .bcl-legacy-estimate-repair .bcl-native-quote-form-shell{width:100%;max-width:100%;height:auto;min-height:0}
.bcl-app .bcl-legacy-estimate-repair .bcl-native-lead-form{height:auto;min-height:0}
@media(max-width:699px){.bcl-app .bcl-legacy-estimate-repair>p{margin-bottom:18px}}
