@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,300..800;1,300..800&family=Source+Serif+4:ital,opsz,wght@0,8..60,200..700;1,8..60,200..700&display=swap');

/* ===== Axiom site-wide polish (added by Claude, Sept 2026) ===== */

/* Header: keep menu on one line on smaller laptops */
#ast-desktop-header .main-header-menu, #ast-desktop-header .ast-builder-menu-1 { flex-wrap: nowrap; }
#ast-desktop-header .main-header-menu > .menu-item > .menu-link { white-space: nowrap; }
#ast-desktop-header .site-header-primary-section-right { justify-content: flex-end; gap: 12px; }
#ast-desktop-header .ast-header-html, #ast-desktop-header .ast-header-html * { white-space: nowrap; }
@media (min-width: 922px) and (max-width: 1240px) {
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link { padding: 0 8px; font-size: 14.5px; }
  #ast-desktop-header .main-header-menu > .menu-item-2425 > .menu-link { padding: 9px 16px !important; }
  #ast-desktop-header .custom-logo { max-width: 190px; height: auto; }
}

/* Header: "Get Quote" as the brand call-to-action button */
#ast-desktop-header .main-header-menu > .menu-item-2425 > .menu-link {
  background: #163a59; color: #fff !important; border-radius: 999px;
  padding: 10px 22px !important; margin-left: 8px; line-height: 1.2;
  transition: background .2s ease;
}
#ast-desktop-header .main-header-menu > .menu-item-2425 { display: flex; align-items: center; }
#ast-desktop-header .main-header-menu > .menu-item-2425 > .menu-link { height: auto !important; min-height: 0 !important; display: inline-flex; align-items: center; }
#ast-desktop-header .main-header-menu > .menu-item-2425 > .menu-link:hover { background: #0f2a41; }

/* Footer: keep the email address on one line */
.site-footer a[href^="mailto:"] { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
@media (min-width: 922px) and (max-width: 1280px) { .site-footer a[href^="mailto:"] { font-size: 14px; } }

/* Stop sideways scrolling caused by embedded widget toolbars */
html, body { overflow-x: clip; }
.eapps-widget-toolbar { display: none !important; }

/* Contact page: clickable phone/email titles without underline */
.ast-single-post .entry-content .elementor-image-box-title a, .ast-single-post .entry-content a.axm-dc__btn { text-decoration: none; }
.elementor-image-box-title a { color: inherit; }
.elementor-image-box-title a:hover { color: #7f9497; }

/* Review widgets: brand colour for "Read more" (was orange) */
.axm-rv .es-text-shortener-control { color: #163a59 !important; font-weight: 600; }

/* Reserve space for embedded widgets so the page doesn't jump while they load */
.axm-rv { min-height: 900px; }                            /* Deep Clean reviews */
.site-footer #block-28 img { aspect-ratio: 1 / 1; height: auto; }

/* ===== Axiom typography (fonts only) =====
   Display: Source Serif 4  |  Text: Hanken Grotesk
   Replaces Fraunces / Poppins / Karla / Inter / Manrope.
   To revert: delete this block AND the @import line at the very top. */

:root {
  --ax-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --ax-sans: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Custom HTML pages: swap their font variables */
html #axh, html #axdc, html #axt, html #axf, html #axd, html .axq {
  --serif: var(--ax-serif);
  --sans: var(--ax-sans);
}
html #axhw {
  --axhw-serif: var(--ax-serif);
  --axhw-sans: var(--ax-sans);
}

/* Elementor global fonts */
html .elementor-kit-1021 {
  --e-global-typography-primary-font-family: 'Hanken Grotesk';
  --e-global-typography-secondary-font-family: 'Hanken Grotesk';
  --e-global-typography-text-font-family: 'Hanken Grotesk';
  --e-global-typography-accent-font-family: 'Hanken Grotesk';
}

/* Text face */
html body, html button, html input, html select, html textarea,
html .ast-button, html .ast-custom-button, html .button, html .menu-toggle,
html input[type="button"], html input[type="submit"], html input[type="reset"],
html .wp-block-button .wp-block-button__link, html .wp-block-search .wp-block-search__button,
html h1, html h2, html h3, html h4, html h5, html h6,
html .entry-content h1, html .entry-content h2, html .entry-content h3,
html .entry-content h4, html .entry-content h5, html .entry-content h6,
html .site-title, html .site-title a,
html .elementor-kit-1021, html .elementor-kit-1021 a,
html .elementor-kit-1021 h1, html .elementor-kit-1021 h2, html .elementor-kit-1021 h3,
html .elementor-kit-1021 h4, html .elementor-kit-1021 h5, html .elementor-kit-1021 h6,
html .elementor-widget-button .elementor-button,
html .elementor-3804 .elementor-element.elementor-element-a355a45 .elementor-heading-title,
html .elementor-3690 .elementor-element.elementor-element-1afc619 .elementor-heading-title,
html .elementor-3690 .elementor-element.elementor-element-ab5e5a4 .elementor-heading-title,
html .elementor-3548 .elementor-element.elementor-element-ad822e6 .elementor-button,
html .elementor-3548 .elementor-element.elementor-element-d3ef8a1 .elementor-button,
html .axbar a, html .axl, html .axl-pill, html .axl-toast, html .axl-toast button,
html .axr, html .axfq, html .axtm,
html .axc-top, html .axc-steps, html .axc-eyebrow, html .axc-top .axc-h1, html .axc-role-name,
html .axc-top .axc-sub, html .axc-top .axc-offer-title, html .axc-top .axc-scroll,
html .axc-steps .axc-s-title, html .axc-num, html .axc-steps .axc-card h3, html .axc-meta {
  font-family: var(--ax-sans);
}

/* Display face */
html .axr h2, html .axr .sc b, html .axr .rc p,
html .axfq h2, html .axfq summary,
html .axtm h2, html .axtm figcaption b, html .axtm .cta p {
  font-family: var(--ax-serif);
}

/* Block-editor font presets */
html .has-poppins-font-family, html .has-inter-font-family { font-family: var(--ax-sans) !important; }
html .has-fraunces-font-family { font-family: var(--ax-serif) !important; }
