/* V2-10: two self-hosted Latin variable fonts; no external font requests. */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('../fonts/inter-latin-variable.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600 700; font-display: swap; src: url('../fonts/manrope-latin-variable.woff2') format('woff2'); }
:root {
  --hl-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --hl-font-heading: 'Manrope', 'Inter', Arial, sans-serif;
  --hl-font-size-body: 17px;
  --hl-font-size-h1: 48px;
  --hl-font-size-h2: 34px;
  --hl-font-size-h3: 22px;
  --hl-font-size-year: 36px;
  --hl-primary: #a12d31;
  --hl-primary-hover: #842327;
  --hl-dark: #1b2328;
  --hl-text: #263139;
  --hl-muted: #596770;
  --hl-background: #f5f6f6;
  --hl-border: #d9dedf;
  --hl-container: 1200px;
  --hl-radius: 6px;
  --hl-section-gap: clamp(3.5rem, 6vw, 6rem);
}

body { color: var(--hl-text); font-family: var(--hl-font-body); font-size: var(--hl-font-size-body); font-weight: 400; line-height: 1.65; }
.entry-content > .wp-block-group.alignwide,
.entry-content > .wp-block-query.alignwide { max-width: var(--hl-container); margin-inline: auto; }
.hl-section { padding-block: var(--hl-section-gap); padding-inline: max(1.25rem, calc((100vw - var(--hl-container)) / 2)); }
.hl-section > .wp-block-group__inner-container { max-width: var(--hl-container); margin-inline: auto; }
.hl-section h1 { font-size: var(--hl-font-size-h1); line-height: 1.1; letter-spacing: -.025em; max-width: 17ch; }
.hl-section h2 { font-size: var(--hl-font-size-h2); line-height: 1.18; letter-spacing: -.02em; }
.hl-section h3 { font-size: var(--hl-font-size-h3); line-height: 1.25; }
.hl-section p { line-height: 1.65; max-width: 68ch; }
.hl-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--hl-container); margin-inline: auto; }
.hl-section.is-layout-constrained > h1 { max-width: 17ch; margin-inline: 0; }
.hl-section.is-layout-constrained > p { max-width: 68ch; margin-inline: 0; }
.hl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.hl-card { border: 1px solid var(--hl-border); border-radius: var(--hl-radius); overflow: hidden; background: #fff; padding: 1.5rem; transition: transform .2s ease, box-shadow .2s ease; height: 100%; }
.hl-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgb(30 39 48 / 8%); }
.hl-card img, .hl-section img { max-width: 100%; height: auto; }
.hl-card .wp-block-image img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.hl-card h3 { margin-block: 1rem .5rem; }
.hl-muted { color: var(--hl-muted); }
.hl-placeholder { background: var(--hl-background); border: 1px dashed var(--hl-border); }
.hl-hero { background: var(--hl-background); min-height: 34rem; display: flex; align-items: center; }
.hl-hero .wp-block-columns { align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.hl-hero .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--hl-radius); }
.hl-cta { background: var(--hl-dark); color: #fff; border-radius: var(--hl-radius); }
.hl-cta h2, .hl-cta p { color: #fff; }
.hl-header-utility { background: var(--hl-dark); color: #fff; }
.hl-header-utility__inner { max-width: var(--hl-container); padding-inline: 1.25rem; margin-inline: auto; min-height: 3rem; display: flex; align-items: center; justify-content: flex-end; gap: 1.5rem; }
.hl-language-nav { padding: 0; }
.hl-language-menu { display: flex; justify-content: flex-end; gap: .75rem; list-style: none; margin: 0; padding: 0; }
.hl-language-menu a { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: .875rem; color: #fff; }
.hl-header-action-menu { list-style: none; margin: 0; padding: 0; }
.hl-header-action-menu a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .35rem .7rem; border-radius: 2px; background: var(--hl-primary); color: #fff; font-size: .875rem; font-weight: 600; text-decoration: none; }
.hl-header-action-menu a:hover { background: var(--hl-primary-hover); color: #fff; }
.site-title a { font-weight: 700; letter-spacing: .04em; }
.main-header-menu a { white-space: normal; }
.hl-site-footer { background: var(--hl-dark); color: #e8ecec; padding: 4rem 1.25rem 3rem; }
.hl-site-footer__inner { max-width: var(--hl-container); margin-inline: auto; display: grid; grid-template-columns: minmax(15rem, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.hl-footer-brand strong { color: #fff; font-size: 1.3rem; letter-spacing: .04em; }
.hl-footer-brand p { max-width: 30ch; margin-top: 1rem; color: #ccd3d5; }
.hl-footer-column h2 { color: #fff; font-size: 1rem; margin: 0 0 1rem; }
.hl-footer-menu { display: grid; gap: .55rem; list-style: none; margin: 0; padding: 0; }
.hl-footer-menu a { color: #e8ecec; }
.hl-footer-contact { color: #ccd3d5; font-size: .875rem; margin-top: 1rem; }
.hl-section .wp-block-buttons { gap: .75rem; margin-top: 1.5rem; }
.hl-section .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.9rem; padding: .75rem 1.25rem; border-radius: 4px; background: var(--hl-primary); color: #fff; font-weight: 600; text-decoration: none; }
.hl-section .wp-block-button__link:hover { background: var(--hl-primary-hover); color: #fff; }
.hl-section .is-style-outline .wp-block-button__link { background: transparent; border: 1px solid currentColor; color: var(--hl-dark); }
.hl-cta .is-style-outline .wp-block-button__link { color: #fff; }
.hl-section .is-style-outline .wp-block-button__link:hover { background: rgb(255 255 255 / 12%); }
:where(a, button, .wp-block-button__link):focus-visible { outline: 3px solid #d76b6e; outline-offset: 3px; }
.hl-eyebrow { font-size: .79rem; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; color: var(--hl-primary); }
.hl-section-header { margin-bottom: 2rem; }
.hl-section-header p { font-size: var(--hl-font-size-body); color: var(--hl-muted); }
.hl-section--soft { background: var(--hl-background); }
.hl-section--dark { background: var(--hl-dark); color: #fff; }
.hl-section--dark h2, .hl-section--dark h3, .hl-section--dark p { color: #fff; }
.hl-section--dark .hl-eyebrow { color: #f0b8ba; }
.hl-card .wp-block-image { margin: -1.5rem -1.5rem 1.25rem; }
.hl-card .wp-block-image img { border-radius: var(--hl-radius) var(--hl-radius) 0 0; }
.hl-card .wp-block-buttons { margin-top: auto; }
.hl-card .is-style-outline .wp-block-button__link { border: 0; padding-inline: 0; min-height: 2.75rem; color: var(--hl-primary); }
.hl-query .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 0; }
.hl-query .wp-block-post { min-width: 0; }
.hl-query .wp-block-post-featured-image { margin: -1.5rem -1.5rem 1.25rem; }
.hl-query .wp-block-post-featured-image img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.hl-query .wp-block-post-terms, .hl-query .wp-block-post-date { color: var(--hl-muted); font-size: .875rem; }
.hl-query .wp-block-read-more { font-weight: 600; }
.hl-query .wp-block-query-no-results { border: 1px dashed var(--hl-border); padding: 2rem; background: #fff; }
.hl-manufacturing .wp-block-image img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; border-radius: var(--hl-radius); }
.hl-cta { border-radius: 0; }
.hl-cta .wp-block-group__inner-container { max-width: var(--hl-container); }
.hl-certificates .hl-card .wp-block-image img { aspect-ratio: 4 / 3; object-fit: contain; padding: .5rem; background: var(--hl-background); }
.hl-detail { max-width: var(--hl-container); margin: 0 auto; padding: clamp(2rem, 5vw, 5rem) 1rem; }
.hl-detail__image img { width: 100%; max-height: 650px; object-fit: contain; }
@media (max-width: 900px) {
  .hl-grid, .hl-query .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hl-site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hl-section { padding-inline: 1.5rem; }
}
@media (max-width: 600px) {
  :root { --hl-section-gap: 3.5rem; }
  .hl-section { padding-inline: 1.25rem; }
  .hl-grid, .hl-query .wp-block-post-template { grid-template-columns: 1fr; }
  .hl-hero .wp-block-columns { flex-direction: column; }
  .hl-card { padding: 1.25rem; }
  .hl-card .wp-block-image { margin: -1.25rem -1.25rem 1rem; }
  .hl-query .wp-block-post-featured-image { margin: -1.25rem -1.25rem 1rem; }
  .hl-site-footer__inner { grid-template-columns: 1fr; gap: 2rem; }
  .hl-header-utility__inner { min-height: 3rem; }
  .hl-section .wp-block-button { width: auto; }
}

/* Keep the current preview logo legible without letting its source dimensions
   dictate the height of the Astra header. */
.site-branding.ast-site-identity {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.site-branding .site-logo-img { display: flex; flex: 0 0 auto; align-items: center; line-height: 0; }
.site-branding .custom-logo-link { display: block; line-height: 0; }
.site-branding .custom-logo { display: block; height: auto; object-fit: contain; }
.site-branding .site-title { min-width: 0; margin: 0; }
.site-branding .site-title a { display: block; max-width: 12ch; line-height: 1.15; overflow-wrap: normal; }
.menu-toggle.main-header-menu-toggle { min-width: 44px; min-height: 44px; }
.hl-section.hl-hero h1 { max-width: 20ch; font-size: var(--hl-font-size-h1); }

@media (min-width: 601px) and (max-width: 900px) {
  .hl-businesses .wp-block-columns,
  .hl-applications .wp-block-columns,
  .hl-certificates .wp-block-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 1rem;
  }
  .hl-businesses .wp-block-column,
  .hl-applications .wp-block-column,
  .hl-certificates .wp-block-column {
    min-width: 0;
    width: auto;
    flex-basis: auto !important;
  }
  .hl-businesses .wp-block-column:last-child:nth-child(odd),
  .hl-applications .wp-block-column:last-child:nth-child(odd),
  .hl-certificates .wp-block-column:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc((100% - 1rem) / 2);
    justify-self: center;
  }
}

@media (max-width: 600px) {
  .site-branding.ast-site-identity { gap: .65rem; }
  .site-branding .site-title a { max-width: 11ch; font-size: 1rem; letter-spacing: .02em; }
}

/* V2-01B1: shared header; logo width, site title and menu colors use Astra settings. */
.site-header .site-branding.ast-site-identity { padding-block: .1rem; }
.hl-header-utility__inner { min-height: 2.625rem; gap: 1rem; flex-wrap: wrap; padding-block: .25rem; }
.hl-header-utility .hl-language-menu { margin: 0; }
.hl-header-utility .hl-language-menu a { min-height: 2.125rem; text-decoration: none; }
.hl-header-utility .hl-language-menu a:hover,
.hl-header-utility .hl-language-menu a:focus-visible { color: #f0b8ba; }
.hl-header-utility .hl-header-action-menu { margin: 0; padding: 0; }
.hl-header-utility .hl-header-action-menu a { min-height: 2.125rem; padding: .4rem 1rem; font-size: .875rem; line-height: 1.25; border: 1px solid var(--hl-primary); border-radius: 4px; }
.hl-header-utility .hl-header-action-menu a:hover { border-color: var(--hl-primary-hover); }
.site-header .menu-toggle.main-header-menu-toggle { color: var(--hl-primary); border-color: var(--hl-border); background: #fff; }

/* Only the first three Home sections opt in; lower modules and inner pages retain their rules. */
.hl-section.hl-home-hero-v2 { display: block; min-height: 0; padding-block: clamp(3rem, 4vw, 4rem); text-align: center; }
.hl-section.hl-home-hero-v2 > .hl-eyebrow { margin: 0 auto 1rem; }
.hl-section.hl-home-hero-v2 h1 { max-width: 32ch; margin: 0 auto 1.25rem; font-size: var(--hl-font-size-h1); line-height: 1.12; letter-spacing: -.03em; text-wrap: balance; }
.hl-section.hl-home-hero-v2 > p:not(.hl-eyebrow) { max-width: 56ch; margin: 0 auto 1.5rem; font-size: var(--hl-font-size-body); line-height: 1.65; }
.hl-section.hl-home-hero-v2 > .wp-block-buttons { margin: 0; gap: .75rem; justify-content: center; }
.hl-home-hero-v2 .wp-block-button__link,
.hl-home-businesses-v2 .wp-block-button__link { box-sizing: border-box; min-height: 3rem; border: 1px solid var(--hl-primary); border-radius: 4px; font-size: .9375rem; line-height: 1.3; box-shadow: none; }
/* Match the native outline button fully: Astra's five-class rule otherwise
   overrides the border with its default blue palette. */
.hl-section.hl-home-hero-v2 .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button { color: var(--hl-primary); background: transparent; border: 1px solid var(--hl-primary); }
.hl-section.hl-home-hero-v2 .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:hover,
.hl-section.hl-home-hero-v2 .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:focus { color: #fff; background: var(--hl-primary-hover); border-color: var(--hl-primary-hover); }
.hl-home-hero-v2 > .wp-block-image { max-width: 56rem; margin-block-start: 2rem; }
.hl-section.hl-home-intro-v2 { padding-block: 2rem; border-bottom: 1px solid var(--hl-border); }
.hl-section.hl-home-intro-v2 h2 { margin: 0 0 .75rem; font-size: var(--hl-font-size-h2); }
.hl-section.hl-home-intro-v2 p { max-width: 76ch; margin: 0; font-size: var(--hl-font-size-body); }
.hl-section.hl-home-intro-v2 p + p { margin-top: .85rem; }
.hl-section.hl-home-businesses-v2 { padding-block: clamp(2.75rem, 4vw, 4rem); }
.hl-home-businesses-v2 > h2 { margin: 0 0 1.75rem; }
.hl-home-businesses-v2 > .wp-block-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; margin: 0; }
.hl-home-businesses-v2 .wp-block-column { min-width: 0; width: auto; }
.hl-home-businesses-v2 .wp-block-column:last-child:nth-child(odd) { grid-column: auto; width: auto; justify-self: stretch; }
.hl-home-businesses-v2 .hl-home-business-card { box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; min-height: 18rem; height: 100%; padding: 2rem; border-top: 3px solid var(--hl-primary); border-radius: 4px; box-shadow: none; transition: none; }
.hl-home-businesses-v2 .hl-home-business-card:hover { transform: none; box-shadow: none; }
.hl-home-businesses-v2 .hl-home-business-card > * { width: 100%; margin-block: 0; }
.hl-home-businesses-v2 .hl-home-business-card h3 { min-height: 2.4em; font-size: var(--hl-font-size-h3); line-height: 1.2; }
.hl-home-businesses-v2 .hl-home-business-card p { line-height: 1.65; }
.hl-home-businesses-v2 .hl-home-business-card .wp-block-buttons { width: 100%; margin-top: auto; }
.hl-home-businesses-v2 .hl-home-business-card > .wp-block-image { width: 100%; margin: 0; }
.hl-home-businesses-v2 .hl-home-business-card > .wp-block-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 2px; }

/* Home-only spacing; the shared CTA block and other manufacturing sections
   keep their existing content and presentation. */
.hl-section.hl-home-manufacturing-v2 { padding-block: clamp(2.5rem, 4vw, 4rem); }
.hl-home-manufacturing-v2 > .wp-block-columns { align-items: center; gap: clamp(1.5rem, 3vw, 3rem); margin-block: 0; }
.hl-home-manufacturing-v2 .wp-block-column { min-width: 0; }
.hl-home-manufacturing-v2 .wp-block-image { margin: 0; }
.hl-home-manufacturing-v2 h2 { margin-block: 0 1rem; }
.hl-home-manufacturing-v2 p { margin-block: 0 1.25rem; }
.hl-home-final-cta-v2 { margin-block: 0; }
.hl-home-final-cta-v2 > .hl-section.hl-cta { margin-block: 0; padding-block: clamp(2.25rem, 3vw, 3rem); }
.hl-home-final-cta-v2 > .hl-cta h2 { margin-block: 0 1rem; }
.hl-home-final-cta-v2 > .hl-cta p { margin-block: 0 1.25rem; }
.hl-home-final-cta-v2 > .hl-cta .wp-block-buttons { margin-block: 0; }

@media (min-width: 768px) and (max-width: 1000px) {
  .hl-home-businesses-v2 > .wp-block-columns { gap: 1rem; }
  .hl-home-businesses-v2 .hl-home-business-card { padding: 1.25rem; }
  .hl-home-businesses-v2 .hl-home-business-card h3 { font-size: var(--hl-font-size-h3); }
}
@media (max-width: 767px) {
  .hl-header-utility__inner { padding-block: 0; }
  .hl-home-businesses-v2 > .wp-block-columns { grid-template-columns: 1fr; }
  .hl-home-businesses-v2 .hl-home-business-card { min-height: 0; padding: 1.5rem; }
  .hl-home-businesses-v2 .hl-home-business-card h3 { min-height: 0; }
  .hl-section.hl-home-hero-v2 { padding-block: 3rem; }
  .hl-section.hl-home-intro-v2 { padding-block: 2rem; }
  .hl-header-utility .hl-language-menu a,
  .hl-header-utility .hl-header-action-menu a { min-height: 44px; }
}
@media (max-width: 480px) {
  .hl-home-hero-v2 > .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .hl-home-hero-v2 > .wp-block-buttons .wp-block-button,
  .hl-home-hero-v2 > .wp-block-buttons .wp-block-button__link { width: 100%; }
}

/* V2-02A: opt-in native block presentation for Businesses and Kitchen only. */
.hl-section.hl-v202a { padding-block: clamp(2.5rem, 4vw, 4rem); }
.hl-section.hl-v202a.hl-hero { display: block; min-height: 0; background: var(--hl-background); }
.hl-section.hl-v202a h1 { max-width: 25ch; margin-block: 0 1.25rem; font-size: var(--hl-font-size-h1); line-height: 1.12; }
.hl-section.hl-v202a > h2 { margin-block: 0 1rem; }
.hl-section.hl-v202a > p { max-width: 68ch; margin-block: 0 1.5rem; }
.hl-v202a .hl-v202a-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-block: 1.5rem 0; }
.hl-v202a .hl-v202a-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hl-v202a .hl-v202a-grid > * { margin-block: 0; min-width: 0; }
.hl-v202a .hl-v202a-card { box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; height: 100%; padding: 1.5rem; border-top: 3px solid var(--hl-primary); border-radius: 4px; box-shadow: none; transition: none; }
.hl-v202a .hl-v202a-card:hover { transform: none; box-shadow: none; }
.hl-v202a .hl-v202a-card > * { margin-block: 0; max-width: 100%; }
.hl-v202a .hl-v202a-card h3 { font-size: var(--hl-font-size-h3); line-height: 1.25; }
.hl-v202a .hl-v202a-card .wp-block-buttons { width: 100%; margin-top: auto; padding-top: .25rem; }
.hl-v202a .hl-v202a-card > .wp-block-image { width: 100%; margin: 0; }
.hl-v202a .hl-v202a-card > .wp-block-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.hl-section.hl-v202a .wp-block-buttons { gap: .75rem; }
.hl-section.hl-v202a .wp-block-buttons .wp-block-button > .wp-block-button__link.wp-element-button { box-sizing: border-box; min-height: 3rem; padding: .75rem 1.125rem; font-size: .9375rem; font-weight: 600; line-height: 1.35; border: 1px solid var(--hl-primary); border-radius: 4px; color: #fff; background: var(--hl-primary); }
.hl-section.hl-v202a .wp-block-buttons .wp-block-button > .wp-block-button__link.wp-element-button:hover,
.hl-section.hl-v202a .wp-block-buttons .wp-block-button > .wp-block-button__link.wp-element-button:focus { background: var(--hl-primary-hover); border-color: var(--hl-primary-hover); color: #fff; }
.hl-section.hl-v202a .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button { color: var(--hl-primary); background: transparent; border-color: var(--hl-primary); }
.hl-section.hl-v202a .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:hover,
.hl-section.hl-v202a .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:focus { color: #fff; background: var(--hl-primary-hover); border-color: var(--hl-primary-hover); }
.hl-section.hl-v202a.hl-cta .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button { color: #fff; border-color: #fff; background: transparent; }
.hl-section.hl-v202a.hl-cta .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:hover,
.hl-section.hl-v202a.hl-cta .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:focus { color: var(--hl-primary); border-color: #fff; background: #fff; }
.hl-v202a-references > h3 { margin-block: 1.75rem .75rem; }
.hl-v202a-references > .wp-block-query { margin-block: 0; }
.hl-v202a-references .wp-block-query-no-results { padding: 0; border: 0; background: transparent; }
.hl-v202a-references .wp-block-query-no-results p { margin-block: 0; }
@media (max-width: 1000px) {
  .hl-v202a .hl-v202a-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .hl-v202a .hl-v202a-business-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .hl-v202a .hl-v202a-grid { grid-template-columns: minmax(0, 1fr); }
  .hl-section.hl-v202a .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .hl-section.hl-v202a .wp-block-buttons .wp-block-button,
  .hl-section.hl-v202a .wp-block-buttons .wp-block-button__link { width: 100%; }
}

/* V2-06: align only the Home wrapper around synced CTA 6; keep synced content intact. */
.hl-home-final-cta-v2 > .hl-section.hl-cta { text-align: left; }
.hl-home-final-cta-v2 > .hl-section.hl-cta > h2,
.hl-home-final-cta-v2 > .hl-section.hl-cta > p,
.hl-home-final-cta-v2 > .hl-section.hl-cta > .wp-block-buttons { margin-inline: 0 !important; }
.hl-home-final-cta-v2 > .hl-section.hl-cta > p { max-width: 56ch; }
.hl-home-final-cta-v2 > .hl-section.hl-cta > .wp-block-buttons { justify-content: flex-start; }

/* V2-09: About native blocks only; no global element or page-ID overrides. */
.hl-section.hl-about-v209 { overflow-wrap: anywhere; }
.hl-about-v209 .hl-about-subtitle { color: var(--hl-primary); font-size: clamp(1.125rem, 1.8vw, 1.375rem); font-weight: 600; }
.hl-about-v209 .hl-about-timeline { max-width: 58rem; margin-block-start: 1.75rem; }
.hl-about-v209 .hl-about-milestone { display: grid; grid-template-columns: 6rem minmax(0, 1fr); column-gap: 1.5rem; row-gap: .5rem; border-inline-start: 3px solid var(--hl-primary); padding: .25rem 0 1.75rem 1.5rem; }
.hl-about-v209 .hl-about-milestone:last-child { padding-block-end: .25rem; }
.hl-about-v209 .hl-about-milestone > * { margin: 0; min-width: 0; }
.hl-about-v209 .hl-about-milestone > .hl-about-year { grid-row: span 2; color: var(--hl-primary); font-size: var(--hl-font-size-year); font-weight: 700; line-height: 1.15; }
.hl-about-v209 .hl-about-milestone > h3 { font-size: var(--hl-font-size-h3); line-height: 1.3; }
.hl-about-v209 .hl-about-manufacturing-copy { min-width: 0; }
.hl-about-v209 .hl-about-manufacturing-image { min-width: 0; }
.hl-about-v209 .hl-about-manufacturing-image .wp-block-image { margin: 0; }
.hl-about-v209 .hl-about-manufacturing-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--hl-radius); }
.hl-section.hl-about-v209.hl-cta { text-align: start; }
.hl-about-v209.hl-cta > p { max-width: 58ch; }
.hl-about-v209.hl-cta > .wp-block-buttons { justify-content: flex-start; }
@media (max-width: 781px) {
  .hl-about-v209 .hl-v202a-grid--two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .hl-about-v209 .hl-about-milestone { grid-template-columns: minmax(0, 1fr); padding-inline-start: 1rem; padding-block-end: 1.75rem; }
  .hl-about-v209 .hl-about-milestone > .hl-about-year { grid-row: auto; }
}


/* V2-10: inherited typography, with intentional compact navigation/metadata. */
:where(h1, h2, h3, h4, h5, h6), .editor-styles-wrapper :where(h1, h2, h3, h4, h5, h6) { font-family: var(--hl-font-heading); }
.hl-section h1 { font-weight: 700; line-height: 1.15; }
.hl-section h2 { font-weight: 700; line-height: 1.25; }
.hl-section h3 { font-weight: 600; line-height: 1.3; }
.hl-section .hl-about-year, .hl-footer-brand strong { font-family: var(--hl-font-heading); font-weight: 700; }
b, strong { font-weight: 600; }
.hl-section :is(h1, h2, h3) :is(b, strong) { font-weight: inherit; }
.hl-section :is(p, li), .editor-styles-wrapper { font-family: var(--hl-font-body); line-height: 1.65; }
.editor-styles-wrapper { font-size: var(--hl-font-size-body); font-weight: 400; }
.wp-block-button__link, button, input, select, textarea { font-family: var(--hl-font-body); }
.hl-section .wp-block-button__link { font-weight: 600; white-space: normal; }
@media (max-width: 921px) {
  :root { --hl-font-size-h1: 40px; --hl-font-size-h2: 30px; }
}
@media (max-width: 544px) {
  :root { --hl-font-size-body: 16px; --hl-font-size-h1: 32px; --hl-font-size-h2: 28px; --hl-font-size-h3: 20px; --hl-font-size-year: 30px; }
}

/* Preserve fallback stacks where Astra uses more specific heading selectors. */
.entry-content :is(h1, h2, h3, h4, h5, h6), .hl-site-footer h2 { font-family: var(--hl-font-heading); }


/* V2-11: opt-in About native groups; no other page uses this class. */
.hl-section.hl-about-v211:not(.hl-cta) { padding-block: clamp(2rem, 4vw, 3.5rem); }
.hl-about-v211 .hl-about-reading-copy { max-width: 74ch; min-width: 0; }
.hl-about-v211 .hl-about-reading-copy > p { margin: 0 0 1rem; }
.hl-about-v211 .hl-about-reading-copy > p:last-child { margin-bottom: 0; }
.hl-about-v211 .hl-about-optional-media { margin-top: 1.25rem; }
/* Optional native Image added alongside the text activates a two-column layout. */
.hl-about-v211 .hl-about-optional-media:has(> .wp-block-image) { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 2rem; align-items: center; }
.hl-about-v211 .hl-about-optional-media > .wp-block-image { margin: 0; min-width: 0; }
.hl-about-v211 .hl-about-optional-media > .wp-block-image img { width: 100%; height: auto; border-radius: var(--hl-radius); }
.hl-about-v211 .hl-about-timeline { max-width: 62rem; margin-top: 1.5rem; }
.hl-about-v211 .hl-about-milestone { grid-template-columns: 5.5rem minmax(0, 1fr); column-gap: 1.5rem; row-gap: .4rem; border-inline-start-width: 2px; padding: .15rem 0 1.5rem 1.5rem; }
.hl-about-v211 .hl-about-milestone > h3 { padding-top: .3rem; }
.hl-about-v211 .hl-v202a-business-grid { align-items: stretch; }
.hl-about-v211 .hl-v202a-card { gap: .85rem; }
.hl-about-v211 .hl-v202a-grid--two { align-items: center; gap: 2rem; }
.hl-about-v211 .hl-about-manufacturing-copy > p { margin: 0 0 1rem; }
.hl-about-v211 .hl-about-manufacturing-image { display: grid; gap: 1rem; }
.hl-about-v211 .hl-about-manufacturing-image img { display: block; aspect-ratio: 3 / 2; object-fit: cover; object-position: center bottom; }
.hl-about-v211 .hl-about-inquiry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.hl-about-v211 .hl-about-inquiry-item { min-width: 0; border-inline-start: 2px solid var(--hl-primary); padding-inline-start: 1.25rem; }
.hl-about-v211 .hl-about-inquiry-item > h3 { margin: 0 0 .75rem; }
.hl-about-v211 .hl-about-inquiry-item > p { margin: 0; }
@media (max-width: 781px) {
  .hl-about-v211 .hl-about-optional-media:has(> .wp-block-image),
  .hl-about-v211 .hl-about-inquiry-grid { grid-template-columns: minmax(0, 1fr); }
  .hl-about-v211 .hl-v202a-grid--two { gap: 1.5rem; }
}
@media (max-width: 600px) {
  .hl-about-v211 .hl-about-milestone { grid-template-columns: minmax(0, 1fr); padding-inline-start: 1rem; }
  .hl-about-v211 .hl-about-milestone > h3 { padding-top: 0; }
}


/* V2-13: native real-image blocks, full subject retained without stretching. */
.hl-section .wp-block-image.hl-real-image { margin: 0; min-width: 0; }
.hl-section .wp-block-image.hl-real-image img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: var(--hl-radius); }
.hl-real-image-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 2.5rem); align-items: center; margin-top: 1.5rem; }
.hl-real-image-copy { min-width: 0; }
.hl-real-image-copy > p { margin-top: 0; }
@media (max-width: 781px) {
  .hl-real-image-layout { grid-template-columns: minmax(0, 1fr); }
}


/* V2-14: opt-in About network/culture and manual native-image carousel. */
.hl-about-v214.hl-about-network { margin-top: 1.5rem; padding: 1.25rem 1.5rem; border-inline-start: 3px solid var(--hl-primary); background: var(--hl-background); }
.hl-about-network > h3, .hl-about-network > h4 { margin: 0 0 .5rem; }
.hl-about-network > p { margin: 0 0 .5rem; max-width: 80ch; }
.hl-about-network > p:last-child { margin-bottom: 0; }
.hl-about-v214 .hl-about-markets, .hl-about-culture-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-block: 1.25rem; }
.hl-about-market, .hl-about-culture-card { min-width: 0; }
.hl-about-market > h3, .hl-about-culture-card > h3 { margin: 0 0 .5rem; }
.hl-about-market > p, .hl-about-culture-card > p { margin: 0; }
.hl-about-culture-card { border-inline-start: 2px solid var(--hl-primary); padding-inline-start: 1.25rem; }
.hl-about-manufacturing-image.hl-manual-carousel[data-carousel-ready] { display: block; min-width: 0; }
.hl-manual-carousel[data-carousel-ready] > .wp-block-image[hidden] { display: none; }
.hl-about-v211 .hl-manual-carousel[data-carousel-ready] > .wp-block-image img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: var(--hl-background); }
.hl-carousel-controls { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .75rem; }
.hl-carousel-controls button { min-width: 44px; min-height: 44px; padding: .4rem .65rem; background: #fff; color: var(--hl-dark); border: 1px solid var(--hl-border); border-radius: 4px; font: inherit; cursor: pointer; }
.hl-carousel-controls button[aria-pressed="true"] { background: var(--hl-primary); border-color: var(--hl-primary); color: #fff; }
.hl-carousel-controls button:hover { border-color: var(--hl-primary); }
.hl-manual-carousel:focus-visible, .hl-carousel-controls button:focus-visible { outline: 2px solid var(--hl-primary); outline-offset: 3px; }
.hl-carousel-status { margin-inline: auto; font-size: .875rem; }

/* V2-17: native history content is visible until the optional script enhances it. */
.hl-history-tabs { min-width: 0; margin-block: 1.25rem; }
.hl-history-nav { display: flex; gap: .5rem; overflow-x: auto; padding: .25rem 0 .75rem; border-bottom: 2px solid var(--hl-primary); }
.hl-history-nav button { flex: 0 0 auto; min-width: 5.5rem; min-height: 2.75rem; padding: .6rem 1rem; border: 1px solid var(--hl-border); border-radius: 4px; background: #fff; color: var(--hl-dark); font-family: var(--hl-font-heading); font-size: 1.125rem; font-weight: 600; }
.hl-history-nav button[aria-selected="true"] { background: var(--hl-primary); border-color: var(--hl-primary); color: #fff; }
.hl-history-nav button:focus-visible, .hl-history-event:focus-visible { outline: 2px solid var(--hl-primary); outline-offset: 3px; }
.hl-history-tabs > .hl-history-event { display: grid; grid-template-columns: 6rem minmax(0, 1fr); column-gap: 1.5rem; row-gap: .6rem; padding-block: 1.25rem; }
.hl-history-tabs > .hl-history-event[hidden] { display: none !important; }
.hl-history-event > .hl-about-year { grid-row: 1 / span 2; margin: 0; font-family: var(--hl-font-heading); font-size: 2.125rem; font-weight: 700; line-height: 1.2; color: var(--hl-primary); }
.hl-history-event > h3, .hl-history-event > p { margin: 0; }
.hl-history-event > .hl-about-milestone-copy { grid-column: 2; max-width: 70ch; }
.hl-section.hl-international-v217 { padding-block: clamp(2rem, 3.5vw, 3rem); }
.hl-international-v217 > h3 { max-width: 48ch; margin-block: .75rem 1.25rem; }
.hl-international-v217 > p { max-width: 78ch; margin-block: 0 .85rem; }
.hl-international-v217 > .wp-block-buttons { margin-top: 1.25rem; }
@media (max-width: 600px) {
  .hl-history-tabs > .hl-history-event { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
  .hl-history-event > .hl-about-year { grid-row: auto; font-size: 1.875rem; }
  .hl-history-event > .hl-about-milestone-copy { grid-column: 1; }
}

/* V2-18: native application content opts in; no empty image placeholders. */
.hl-application-scenarios .hl-scenario-lead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(1.25rem, 3vw, 2rem); margin-block: 1.5rem; }
.hl-scenario-lead > * { min-width: 0; margin: 0; }
.hl-application-scenarios .hl-scenario-lead .wp-block-image img { width: 100%; height: auto; max-height: 340px; object-fit: contain; }
.hl-scenario-lead .wp-element-caption { margin-top: .65rem; color: var(--hl-muted); font-size: .875rem; line-height: 1.5; }
.hl-application-scenarios .hl-scenario-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hl-application-scenarios .hl-scenario-card { padding: 1.5rem; }
.hl-scenario-card > .wp-block-image { width: 100%; margin: 0; }
@media (max-width: 600px) {
  .hl-application-scenarios .hl-scenario-lead, .hl-application-scenarios .hl-scenario-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 781px) {
  .hl-about-v214 .hl-about-markets, .hl-about-culture-grid { grid-template-columns: minmax(0, 1fr); }
}

/* V2-50C — understated labels for the two existing Factory Overview photos. */
.hl-manufacturing .hl-v250-image-label{margin:.65rem 0 0;color:var(--hl-dark,#25282b);font-size:.95rem;font-weight:600;line-height:1.4;letter-spacing:.01em}

/* V2-50E — compact Welding & Fabrication module, Manufacturing page only. */
.hl-manufacturing-welding-process{margin:1.5rem 0 0}
.hl-manufacturing-welding-columns{align-items:center;column-gap:clamp(1.25rem,3vw,2rem)}
.hl-manufacturing-welding-image{width:100%;aspect-ratio:4/3;overflow:hidden;margin:0;border-radius:8px}
.hl-manufacturing-welding-image img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 52%;border-radius:8px}
.hl-manufacturing-welding-copy{min-width:0}
.hl-manufacturing-welding-copy>h3{margin:0 0 .75rem;line-height:1.3}
.hl-manufacturing-welding-copy>p{max-width:62ch;line-height:1.65}
@media(max-width:781px){.hl-manufacturing-welding-columns{flex-direction:column}.hl-manufacturing-welding-columns>.hl-manufacturing-welding-media,.hl-manufacturing-welding-columns>.hl-manufacturing-welding-copy{flex-basis:100%!important;width:100%}.hl-manufacturing-welding-image{max-width:580px;margin-inline:auto}}