/* Shared reading scale. Loaded after catalogue styles so page sizes stay consistent. */
:root {
    --ac-body-size: 17px;
    --ac-small-size: 14px;
    --ac-label-size: 13px;
    --ac-title-size: clamp(34px, 3.8vw, 52px);
    --ac-section-size: clamp(28px, 2.8vw, 38px);
}
body.ac-site {font-size:var(--ac-body-size);line-height:1.7}
body.ac-site :where(h1,h2,h3,h4,h5,h6) {font-weight:600;letter-spacing:-.025em;line-height:1.22;overflow-wrap:break-word}
h1 {font-size:var(--ac-title-size)}
h2 {font-size:var(--ac-section-size)}
h3 {font-size:22px;line-height:1.35}
h4 {font-size:20px;line-height:1.4}
h5 {font-size:18px;line-height:1.4}
h6 {font-size:16px;line-height:1.4}
p {margin-bottom:20px}
.ac-hero-copy h1 {font-size:clamp(36px,4vw,56px);line-height:1.16;margin-bottom:24px}
.ac-hero-intro {font-size:18px;line-height:1.75}
.ac-eyebrow {font-size:var(--ac-label-size);line-height:1.5;letter-spacing:.08em;margin-bottom:16px}
.ac-topbar,.ac-topbar .ac-container {font-size:13px;line-height:1.55;letter-spacing:.015em}
.ac-wordmark {font-size:21px;line-height:1.25}
.ac-wordmark small {font-size:12px;line-height:1.4;letter-spacing:.06em}
.ac-menu {font-size:15px;line-height:1.5}
.ac-button,.ac-header-cta,.ac-text-link {font-size:15px;line-height:1.5}
.ac-menu-toggle {font-size:14px;min-height:44px}
.ac-hero-caption {font-size:13px;line-height:1.6;letter-spacing:.015em}
.ac-capabilities-strip span {font-size:15px;line-height:1.6}
.ac-family-card h3,.ac-process h3 {font-size:22px;line-height:1.35}
.ac-family-card p,.ac-process p {font-size:15px;line-height:1.7}
.ac-small-note,.ac-admin-note,.wp-caption-text {font-size:14px;line-height:1.65}
.ac-section-intro {max-width:44ch}
.ac-contact-list>div {font-size:16px;line-height:1.65}
.ac-contact-list dt {font-size:12px;line-height:1.65;letter-spacing:.045em}
.ac-footer {font-size:15px;line-height:1.65}
.ac-footer h2 {font-size:17px;line-height:1.4;letter-spacing:0}
.ac-footer .ac-contact-list>div {font-size:14px;line-height:1.65}
.ac-footer .ac-contact-list dt {font-size:12px}
.ac-footer-bottom {font-size:13px;line-height:1.6;letter-spacing:.01em}
.ac-floating-contact {font-size:14px;line-height:1.5}
.ac-prose {font-size:17px;line-height:1.75;max-width:78ch}
.ac-prose h2 {font-size:32px;line-height:1.3}
.ac-prose :where(p,li) {line-height:1.75}
.ac-prose table,.woocommerce table {font-size:15px;line-height:1.6}
.ac-post-card h2 {font-size:26px;line-height:1.3}
.ac-post-card p,.ac-product-inquiry p {font-size:16px;line-height:1.7}
.ac-product-inquiry h2 {font-size:25px;line-height:1.3}
.woocommerce div.product .product_title {font-size:clamp(30px,3.2vw,42px);line-height:1.2}
.woocommerce-product-details__short-description,.woocommerce-Tabs-panel {font-size:17px;line-height:1.75}
.woocommerce div.product .woocommerce-tabs .panel h2 {font-size:28px;line-height:1.3}
.woocommerce .woocommerce-breadcrumb,.ac-catalog .woocommerce-breadcrumb {font-size:14px;line-height:1.6}
.woocommerce .product_meta {font-size:14px;line-height:1.75}
.woocommerce ul.products li.product .woocommerce-loop-product__title {font-size:21px!important;line-height:1.35}
.ac-catalog-header h1 {font-size:var(--ac-title-size);line-height:1.2}
.ac-catalog-intro {font-size:17px;line-height:1.75;max-width:72ch}
.ac-catalog-help .ac-eyebrow,.ac-sidebar-note .ac-eyebrow,.ac-catalog-guide .ac-eyebrow,.ac-catalog-faq .ac-eyebrow,.ac-catalog-cta .ac-eyebrow {font-size:12px;line-height:1.5}
.ac-catalog-help p {font-size:16px;line-height:1.65}
.ac-catalog-help .ac-text-link,.ac-sidebar-note .ac-text-link {font-size:14px;line-height:1.5}
.ac-catalog-search label,.ac-category-nav h2 {font-size:18px;line-height:1.4}
.ac-catalog-search p,.ac-sidebar-note ul {font-size:14px;line-height:1.7}
.ac-catalog-search input {font-size:15px;line-height:1.5;min-height:46px}
.ac-catalog-search button {min-width:44px;min-height:46px}
.ac-category-nav>a {font-size:15px;line-height:1.5}
.ac-sidebar-note h3,.ac-results-heading {font-size:22px;line-height:1.35}
.ac-catalog-results .woocommerce-result-count,.ac-catalog-results .woocommerce-ordering {font-size:14px;line-height:1.6}
.ac-catalog-results ul.products li.product .woocommerce-loop-product__title {font-size:21px!important;line-height:1.35}
.ac-product-image-empty>span:last-child {font-size:12px;line-height:1.5;text-align:center;padding-inline:8px;letter-spacing:0}
.ac-card-sku {font-size:13px;line-height:1.55;letter-spacing:.01em}
.ac-card-description {font-size:15px;line-height:1.7}
.ac-card-link {font-size:14px;line-height:1.5}
.ac-catalog-guide h2,.ac-catalog-faq h2 {font-size:32px;line-height:1.25}
.ac-catalog-guide p,.ac-catalog-faq details p {font-size:16px;line-height:1.75}
.ac-catalog-faq summary {font-size:17px;line-height:1.5}
.ac-catalog-cta h2 {font-size:28px;line-height:1.3}
/* Elementor Free defaults follow the theme; explicit per-widget sizes remain editable. */
body.ac-site {--e-global-typography-primary-font-size:var(--ac-title-size);--e-global-typography-primary-line-height:1.22;--e-global-typography-secondary-font-size:var(--ac-section-size);--e-global-typography-secondary-line-height:1.3;--e-global-typography-text-font-size:var(--ac-body-size);--e-global-typography-text-line-height:1.7;--e-global-typography-accent-font-size:15px}
.ac-site .elementor-widget-text-editor {font-size:var(--ac-body-size);line-height:1.7}
.ac-site .elementor-widget-heading h1.elementor-heading-title {font-size:var(--ac-title-size);line-height:1.22}
.ac-site .elementor-widget-heading h2.elementor-heading-title {font-size:var(--ac-section-size);line-height:1.3}
.ac-site .elementor-widget-heading h3.elementor-heading-title {font-size:22px;line-height:1.35}
@media(max-width:700px) {
    :root {--ac-body-size:16px;--ac-title-size:clamp(30px,7.5vw,36px);--ac-section-size:28px}
    .ac-hero-copy h1 {font-size:clamp(32px,8vw,38px);line-height:1.2}
    .ac-hero-intro,.ac-catalog-intro {font-size:16px;line-height:1.75}
    .ac-topbar .ac-container {font-size:12px;gap:6px}
    .ac-wordmark {font-size:18px}
    .ac-wordmark small {font-size:11px;letter-spacing:.035em}
    .ac-hero-caption {font-size:12px;line-height:1.6}
    .ac-family-card h3,.ac-process h3 {font-size:20px;line-height:1.35}
    .ac-family-card p {font-size:14px;line-height:1.65}
    .ac-contact-list>div {font-size:15px}
    .ac-footer-bottom {font-size:12px}
    .ac-prose,.woocommerce-product-details__short-description,.woocommerce-Tabs-panel {font-size:16px;line-height:1.75}
    .ac-prose h2,.woocommerce div.product .woocommerce-tabs .panel h2 {font-size:26px}
    .woocommerce .woocommerce-breadcrumb,.ac-catalog .woocommerce-breadcrumb {font-size:13px}
    .woocommerce ul.products li.product .woocommerce-loop-product__title,.ac-catalog-results ul.products li.product .woocommerce-loop-product__title {font-size:19px!important;line-height:1.35}
    .ac-catalog-results ul.products li.product .woocommerce-loop-product__title {padding:18px 16px 0}
    .ac-category-nav h2 {font-size:18px}
    .ac-category-nav>a {font-size:14px}
    .ac-card-sku {font-size:13px;margin-inline:16px!important}
    .ac-card-description {font-size:14px;line-height:1.7;margin-inline:16px!important}
    .ac-card-link {font-size:14px;margin-inline:16px}
    .ac-product-image-empty>span:last-child {font-size:12px}
    .ac-catalog-guide h2,.ac-catalog-faq h2 {font-size:28px}
    .ac-catalog-cta h2 {font-size:26px}
}
/* Give readable product information a full card width on smaller phones. */
@media(max-width:480px) {.ac-catalog-results ul.products {grid-template-columns:1fr}}
