/*
Theme Name: HHX MFG
Description: Original industrial block theme for HHX MFG.
Version: 5.4.0
Text Domain: hhx-mfg
*/

:root {
	--hhx-fixed-header-height: 93px;
	--hhx-header-control-height: 42px;
	--hhx-font-body: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
	--hhx-font-heading: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --hhx-navy: #10233f;
  --hhx-ink: #172033;
  --hhx-muted: #5d697a;
  --hhx-blue: #1769aa;
  --hhx-orange: #ee6122;
  --hhx-mist: #f4f6f8;
  --hhx-line: #d7dde4;
  --hhx-white: #fff;
  --hhx-frame: 1280px;
  --hhx-radius: 6px;
  --hhx-font: var(--hhx-font-body);
  --hhx-heading: var(--hhx-font-heading);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--hhx-white); color: var(--hhx-ink); font: 16px/1.65 var(--hhx-font); }
/* The fixed header contains the full brand lockup. Do not clip its transformed logo
   or its accessible focus outlines at the site-block boundary. */
body .wp-site-blocks { padding: 0; }
html.hhx-mobile-nav-open { overflow: hidden; }
h1, h2, h3, h4 { margin: 0; color: var(--hhx-ink); font-family: var(--hhx-heading); font-weight: 700; letter-spacing: -.045em; line-height: 1.06; }
h1 { font-size: clamp(2.8rem, 5vw, 5.4rem); }
h2 { font-size: clamp(2.05rem, 3.45vw, 3.75rem); }
h3 { font-size: clamp(1.32rem, 1.8vw, 1.85rem); }
p { max-width: 72ch; }
a { color: var(--hhx-blue); text-underline-offset: .18em; }
a:hover { color: var(--hhx-orange); }
.hhx-frame { width: min(calc(100% - 48px), var(--hhx-frame)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* Header and footer */
header.wp-block-template-part:has(> .hhx-platform-header) { position: fixed; top: 0; right: 0; left: 0; z-index: 10000; width: 100%; }
/* Logged-in WordPress users also see the admin toolbar. Keep the fixed site
   header directly below it so the brand lockup is never covered or clipped. */
body.admin-bar header.wp-block-template-part:has(> .hhx-platform-header) { top: var(--wp-admin--admin-bar--height, 32px); }
.wp-site-blocks.wp-site-blocks { padding-top: var(--hhx-fixed-header-height); }
body.admin-bar .wp-site-blocks.wp-site-blocks { padding-top: calc(var(--hhx-fixed-header-height) + var(--wp-admin--admin-bar--height, 32px)); }
.hhx-platform-header { position: relative; z-index: 1; width: 100%; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--hhx-line); box-shadow: 0 1px 0 rgba(16,35,63,.04); }
.hhx-utility-bar { background: var(--hhx-navy); color: #e2e9f2; font-size: 12px; }
.hhx-utility-bar .hhx-frame { display: flex; justify-content: space-between; padding: 7px 0; }
.hhx-utility-bar a { color: inherit; text-decoration: none; }
.hhx-header-grid { display: flex; align-items: center; height: 92px; min-height: 0; gap: clamp(18px, 2vw, 32px); }
.hhx-header-brand { display: flex; flex: 0 0 72px; align-items: center; justify-content: flex-start; }
.hhx-wordmark { display: inline-flex; align-items: center; gap: 8px; color: var(--hhx-navy); font: 800 21px/.82 var(--hhx-heading); letter-spacing: -.07em; text-decoration: none; white-space: nowrap; }
.hhx-wordmark small { display: block; margin-top: 5px; font-size: 10px; letter-spacing: .27em; }
.hhx-wordmark-mark { position: relative; display: inline-block; width: 22px; height: 29px; border-left: 7px solid var(--hhx-orange); transform: skew(-15deg); }
.hhx-wordmark-mark::after { position: absolute; bottom: 0; left: -7px; width: 18px; height: 7px; background: var(--hhx-orange); content: ""; transform: skew(32deg); }
.hhx-header-brand .hhx-wordmark { position: relative; width: 64px; height: 64px; overflow: visible; }
.hhx-header-brand .hhx-brand-logo-image { display: block; width: 64px; height: 64px; object-fit: contain; transform: scale(1.1); transform-origin: center; }
.hhx-header-brand .hhx-brand-letters { position: absolute; right: 0; bottom: -1px; left: 0; color: var(--hhx-navy); font: 800 18.6px/1 var(--hhx-font); letter-spacing: .2em; text-align: center; text-indent: .2em; }
.hhx-desktop-nav { display: flex; flex: 1 1 auto; min-width: 0; align-self: stretch; justify-content: center; align-items: center; gap: clamp(20px, 2.3vw, 34px); }
/* WordPress can wrap adjacent header links in a paragraph; keep that wrapper in the same flex rhythm. */
.hhx-desktop-nav > p { display: flex; align-items: center; gap: clamp(20px, 2.3vw, 34px); margin: 0; padding: 0; }
.hhx-desktop-nav > a, .hhx-desktop-nav > p > a { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: var(--hhx-header-control-height); margin: 0; padding: 0; color: var(--hhx-ink); font: 600 16px/1.15 var(--hhx-font); letter-spacing: -.018em; text-decoration: none; white-space: nowrap; }
.hhx-desktop-nav > a::after, .hhx-desktop-nav > p > a::after { position: absolute; right: 0; bottom: -8px; left: 0; border-bottom: 2px solid transparent; content: ""; }
.hhx-desktop-nav > a:hover::after, .hhx-desktop-nav > p > a:hover::after { border-color: var(--hhx-orange); }
.hhx-nav-menu { position: relative; display: flex; align-items: center; height: var(--hhx-header-control-height); }
.hhx-nav-menu > button { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: var(--hhx-header-control-height); gap: 8px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--hhx-ink); cursor: pointer; font: 600 16px/1.15 var(--hhx-font); letter-spacing: -.018em; white-space: nowrap; }
.hhx-nav-chevron { display: block; width: 14px; height: 14px; flex: 0 0 14px; color: #64748b; transition: transform .16s ease; }
.hhx-nav-menu > button[aria-expanded="true"] .hhx-nav-chevron { transform: rotate(180deg); }
.hhx-nav-menu > button::after { position: absolute; right: 0; bottom: -8px; left: 0; border-bottom: 2px solid transparent; content: ""; }
.hhx-nav-menu > button:hover::after, .hhx-nav-menu > button[aria-expanded="true"]::after { border-color: var(--hhx-orange); }
.hhx-nav-menu > button:focus-visible { outline: 2px solid var(--hhx-orange); outline-offset: 4px; }
.hhx-cnc-nav-menu summary { position: relative; display: flex; align-items: center; gap: 8px; margin: 0; padding: 26px 0 24px; color: var(--hhx-ink); cursor: pointer; font-size: 12.5px; font-weight: 700; letter-spacing: -.01em; list-style: none; white-space: nowrap; }
.hhx-cnc-nav-menu summary::-webkit-details-marker { display: none; }
.hhx-cnc-nav-menu summary a { color: inherit; text-decoration: none; }
.hhx-cnc-nav-menu summary a:focus-visible, .hhx-die-nav-menu summary a:focus-visible { outline: 2px solid var(--hhx-orange); outline-offset: 4px; }
.hhx-cnc-nav-menu summary span { color: var(--hhx-muted); font-size: 12px; transition: transform .16s ease; }
.hhx-cnc-nav-menu[open] summary span { transform: rotate(180deg); }
.hhx-cnc-nav-menu summary::after { position: absolute; right: 0; bottom: 18px; left: 0; border-bottom: 2px solid transparent; content: ""; }
.hhx-cnc-nav-menu[open] summary::after, .hhx-cnc-nav-menu summary:hover::after { border-color: var(--hhx-orange); }
.hhx-cnc-nav-menu__panel { position: absolute; top: calc(100% - 1px); left: -20px; z-index: 60; width: 280px; padding: 16px 20px; border: 1px solid var(--hhx-line); background: #fff; box-shadow: 0 16px 30px rgba(16,35,63,.13); }
.hhx-cnc-nav-menu__panel a { display: block; padding: 9px 0; color: var(--hhx-muted); font-size: 15px; font-weight: 600; line-height: 1.35; text-decoration: none; }
.hhx-cnc-nav-menu__panel .hhx-cnc-nav-menu__parent { padding-top: 3px; color: var(--hhx-navy); font-weight: 800; }
.hhx-cnc-nav-menu__panel a:not(.hhx-cnc-nav-menu__parent) { padding-left: 13px; }
.hhx-cnc-nav-menu__panel a:hover { color: var(--hhx-orange); }
.hhx-cnc-nav-menu__panel .hhx-nav-overview, .hhx-die-nav-menu__panel .hhx-nav-overview { display: block; margin: 0 0 10px; padding: 11px 12px 10px; border-left: 3px solid var(--hhx-orange); background: #f2f6fa; color: var(--hhx-navy); cursor: pointer; }
.hhx-nav-overview strong { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--hhx-navy); font-size: 13px; font-weight: 800; }
.hhx-nav-overview strong::after { color: var(--hhx-orange); content: "→"; transition: transform .16s ease; }
.hhx-nav-overview small { display: block; margin-top: 4px; color: #637287; font-size: 11px; font-weight: 600; line-height: 1.25; }
.hhx-nav-overview small b { color: var(--hhx-orange); }
.hhx-nav-overview:hover, .hhx-nav-overview:focus-visible { background: #e7f0f9; color: var(--hhx-navy)!important; outline: none; }
.hhx-nav-overview:hover strong::after, .hhx-nav-overview:focus-visible strong::after { transform: translateX(4px); }
.hhx-resources-nav-menu .hhx-cnc-nav-menu__panel { left: -20px; width: 258px; max-height: min(560px, calc(100vh - 112px)); overflow-y: auto; }
.hhx-die-nav-menu summary { position: relative; display: flex; align-items: center; gap: 8px; margin: 0; padding: 26px 0 24px; color: var(--hhx-ink); cursor: pointer; font-size: 12.5px; font-weight: 700; letter-spacing: -.01em; list-style: none; white-space: nowrap; }
.hhx-die-nav-menu summary::-webkit-details-marker { display: none; }
.hhx-die-nav-menu summary a { color: inherit; text-decoration: none; }
.hhx-die-nav-menu summary span { color: var(--hhx-muted); font-size: 12px; transition: transform .16s ease; }
.hhx-die-nav-menu[open] summary span { transform: rotate(180deg); }
.hhx-die-nav-menu summary::after { position: absolute; right: 0; bottom: 18px; left: 0; border-bottom: 2px solid transparent; content: ""; }
.hhx-die-nav-menu[open] summary::after, .hhx-die-nav-menu summary:hover::after { border-color: var(--hhx-orange); }
.hhx-die-nav-menu__panel { position: absolute; top: calc(100% - 1px); left: -20px; z-index: 60; width: 280px; padding: 16px 20px; border: 1px solid var(--hhx-line); background: #fff; box-shadow: 0 16px 30px rgba(16,35,63,.13); }
.hhx-die-nav-menu__panel a { display: block; padding: 9px 0; color: var(--hhx-muted); font-size: 15px; font-weight: 600; line-height: 1.35; text-decoration: none; }
.hhx-die-nav-menu__panel .hhx-die-nav-menu__parent { padding-top: 3px; color: var(--hhx-navy); font-weight: 800; }
.hhx-die-nav-menu__panel a:not(.hhx-die-nav-menu__parent) { padding-left: 13px; }
.hhx-die-nav-menu__panel a:hover { color: var(--hhx-orange); }
.hhx-header-actions { display: flex; flex: 0 0 auto; align-self: stretch; align-items: center; gap: 12px; padding-left: 20px; border-left: 1px solid #e0e6ec; }
.hhx-header-actions .hhx-language-switcher ul { display: flex; align-items: center; min-height: 38px; gap: 2px; margin: 0; padding: 2px; border: 1px solid #d5dee8; border-radius: 4px; background: #f6f8fa; list-style: none; }
.hhx-header-actions .hhx-language-switcher a { display: block; padding: 8px 9px; border-radius: 2px; color: #56677d; font: 600 13px/1 var(--hhx-font); letter-spacing: 0; text-decoration: none; }
.hhx-header-actions .hhx-language-switcher a:hover, .hhx-header-actions .hhx-language-switcher a:focus-visible { color: var(--hhx-navy); background: #e7eef5; outline: 2px solid var(--hhx-orange); outline-offset: 2px; }
.hhx-header-actions .hhx-language-switcher .is-current a { background: var(--hhx-navy); color: #fff; }
.hhx-mobile-menu { display: none; margin-left: auto; }
.hhx-mobile-menu > summary { width: 40px; list-style: none; cursor: pointer; }
.hhx-mobile-menu > summary::-webkit-details-marker { display: none; }
.hhx-mobile-menu > summary span { display: block; width: 26px; height: 2px; margin: 5px 0; background: var(--hhx-navy); }
.hhx-mobile-menu nav { position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100vh - 72px); overflow-y: auto; padding: 16px 22px 22px; background: #fff; border-bottom: 1px solid var(--hhx-line); box-shadow: 0 18px 35px rgba(16,35,63,.12); }
.hhx-mobile-menu nav a { display: block; padding: 11px 0; border-bottom: 1px solid #edf0f3; color: var(--hhx-ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.hhx-mobile-menu nav .hhx-button { display: flex; width: 100%; min-height: 48px; margin-top: 16px; border-bottom: 0; color: #fff; }
.hhx-mobile-cnc-nav { border-bottom: 1px solid #edf0f3; }
.hhx-mobile-cnc-nav summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; color: var(--hhx-ink); cursor: pointer; font-size: 14px; font-weight: 700; list-style: none; }
.hhx-mobile-cnc-nav summary::-webkit-details-marker { display: none; }
.hhx-mobile-cnc-nav summary::after { content: "+"; color: var(--hhx-orange); font-size: 20px; font-weight: 400; }
.hhx-mobile-cnc-nav[open] summary::after { content: "−"; }
.hhx-mobile-menu nav .hhx-mobile-cnc-nav__parent { padding: 7px 0 5px 13px; border: 0; color: var(--hhx-navy); font-weight: 800; }
.hhx-mobile-menu nav .hhx-mobile-cnc-nav__child { padding: 7px 0 7px 26px; border: 0; color: var(--hhx-muted); font-size: 13px; font-weight: 600; }
.hhx-mobile-die-nav { border-bottom: 1px solid #edf0f3; }
.hhx-mobile-die-nav summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; color: var(--hhx-ink); cursor: pointer; font-size: 14px; font-weight: 700; list-style: none; }
.hhx-mobile-die-nav summary::-webkit-details-marker { display: none; }
.hhx-mobile-die-nav summary::after { content: "+"; color: var(--hhx-orange); font-size: 20px; font-weight: 400; }
.hhx-mobile-die-nav[open] summary::after { content: "−"; }
.hhx-mobile-menu nav .hhx-mobile-die-nav__parent { padding: 7px 0 5px 13px; border: 0; color: var(--hhx-navy); font-weight: 800; }
.hhx-mobile-menu nav .hhx-mobile-die-nav__child { padding: 7px 0 7px 26px; border: 0; color: var(--hhx-muted); font-size: 13px; font-weight: 600; }
.hhx-platform-footer { padding: 68px 0 24px; background: var(--hhx-navy); color: #cbd6e5; }
.hhx-footer-grid { display: grid; grid-template-columns: 1.42fr 1fr 1fr 1.05fr; gap: clamp(32px, 4vw, 66px); }
.hhx-footer-company, .hhx-footer-nav, .hhx-footer-project { min-width: 0; }
.hhx-footer-brand { display: inline-flex; width: 62px; height: 62px; align-items: center; justify-content: center; overflow: visible; text-decoration: none; }
.hhx-footer-brand .hhx-brand-logo-image { display: block; width: 62px; height: 62px; object-fit: contain; transform: scale(1.18); }
.hhx-footer-brand .hhx-wordmark-mark { border-color: var(--hhx-orange); }
.hhx-footer-company__intro { max-width: 390px; margin: 19px 0 0; color: #d3deeb; font-size: 15px; line-height: 1.65; }
.hhx-footer-facts { display: flex; flex-wrap: wrap; gap: 11px 18px; margin: 23px 0 0; padding: 0; list-style: none; }
.hhx-footer-facts li { display: grid; gap: 2px; min-width: 82px; }
.hhx-footer-facts strong { color: #fff; font-size: 18px; line-height: 1.1; }
.hhx-footer-facts span { color: #aebed2; font-size: 12px; line-height: 1.35; }
.hhx-footer-grid h2 { margin: 3px 0 17px; color: #fff; font-family: var(--hhx-font); font-size: 15px; font-weight: 750; letter-spacing: 0; line-height: 1.25; }
.hhx-footer-nav ul, .hhx-footer-contact-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.hhx-footer-nav a, .hhx-footer-privacy, .hhx-footer-bottom a { color: #d7e0ed; font-size: 15px; line-height: 1.5; text-decoration: none; }
.hhx-footer-nav a:hover, .hhx-footer-nav a:focus-visible, .hhx-footer-privacy:hover, .hhx-footer-privacy:focus-visible, .hhx-footer-bottom a:hover, .hhx-footer-bottom a:focus-visible { color: var(--hhx-orange); text-decoration: none; outline: none; }
.hhx-platform-footer a:focus-visible { outline: 2px solid var(--hhx-orange); outline-offset: 4px; }
.hhx-footer-project .hhx-button--footer { display: inline-flex; min-height: 44px; margin: 0 0 20px; padding: 11px 16px; border-color: var(--hhx-orange); background: var(--hhx-orange); color: #fff; font-size: 15px; font-weight: 750; text-decoration: none; }
.hhx-footer-project .hhx-button--footer:hover, .hhx-footer-project .hhx-button--footer:focus-visible { border-color: #ff7c42; background: #ff7c42; color: #fff; }
.hhx-footer-contact-list { gap: 12px; }
.hhx-footer-contact-list a { display: grid; grid-template-columns: 19px minmax(0, 1fr); column-gap: 9px; align-items: start; color: #d7e0ed; font-size: 15px; line-height: 1.35; text-decoration: none; }
.hhx-footer-contact-list svg { grid-row: 1 / span 2; width: 18px; height: 18px; margin-top: 1px; color: var(--hhx-orange); }
.hhx-footer-contact-list span { font-weight: 700; }
.hhx-footer-contact-list small { grid-column: 2; color: #aebed2; font-size: 13px; line-height: 1.4; }
.hhx-footer-address { color: #aebed2; font-size: 13px; line-height: 1.55; }
.hhx-footer-privacy { display: inline-flex; margin-top: 20px; }
.hhx-social-links { margin-top: 20px; }
.hhx-social-links ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hhx-social-links a { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border: 1px solid rgba(214, 225, 238, .3); color: #dce5f0; text-decoration: none; }
.hhx-social-links a:hover, .hhx-social-links a:focus-visible { border-color: var(--hhx-orange); color: var(--hhx-orange); outline: none; }
.hhx-social-links svg { width: 17px; height: 17px; }
.hhx-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-top: 54px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); color: #aebed2; font-size: 13px; line-height: 1.5; }
.hhx-footer-bottom__actions { display: flex; align-items: center; gap: 20px; }
.hhx-language-switcher--footer ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.hhx-language-switcher--footer a { display: inline-flex; min-height: 32px; align-items: center; padding: 0 8px; border: 1px solid rgba(214,225,238,.3); color: #d7e0ed; font-size: 13px; font-weight: 700; line-height: 1; text-decoration: none; }
.hhx-language-switcher--footer .is-current a { border-color: #fff; background: #fff; color: var(--hhx-navy); }

/* Shared project controls: RFQ, WhatsApp and email use one compact visual system. */
.hhx-floating-contact { position: fixed; top: 50%; right: 18px; bottom: auto; left: auto; z-index: 800; display: flex; flex-direction: column; align-items: center; gap: 10px; transform: translateY(-50%); }
.hhx-floating-contact.is-near-footer { display: none; }
.hhx-floating-contact a { position: relative; display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border: 1px solid rgba(16,35,63,.15); border-radius: 8px; box-shadow: 0 8px 24px rgba(16,35,63,.16); color: #fff; text-decoration: none; }
.hhx-floating-contact svg { width: 22px; height: 22px; }
.hhx-floating-contact .hhx-contact-rfq { background: var(--hhx-orange); }
.hhx-floating-contact .hhx-contact-whatsapp { background: #1b9a59; }
.hhx-floating-contact .hhx-contact-email { background: var(--hhx-navy); }
.hhx-floating-contact a::after { position: absolute; right: 58px; top: 50%; padding: 6px 8px; background: var(--hhx-navy); color: #fff; content: attr(data-label); font-size: 12px; font-weight: 700; line-height: 1; opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(4px); transition: opacity .16s ease, transform .16s ease; white-space: nowrap; }
.hhx-floating-contact a:hover::after, .hhx-floating-contact a:focus-visible::after { opacity: 1; transform: translateY(-50%) translateX(0); }
.hhx-floating-contact a:focus-visible { outline: 3px solid var(--hhx-orange); outline-offset: 3px; }
.hhx-wordmark--light .hhx-wordmark-mark { border-color: var(--hhx-orange); }

/* Actions, reusable pages and media */
.hhx-button, .wp-block-button__link, .wp-element-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 12px 20px; border: 1px solid var(--hhx-orange); border-radius: 3px; background: var(--hhx-orange); color: #fff; font: 700 14px/1 var(--hhx-font); text-decoration: none; transition: background .18s ease, border-color .18s ease; }
.hhx-button:hover, .wp-block-button__link:hover, .wp-element-button:hover { background: #cf4c15; border-color: #cf4c15; color: #fff; }
.hhx-button--dark { background: var(--hhx-ink); border-color: var(--hhx-ink); }
.hhx-button--dark:hover { background: var(--hhx-navy); border-color: var(--hhx-navy); }
.hhx-button--secondary { background: transparent; border-color: currentColor; color: var(--hhx-navy); }
.hhx-header-actions .hhx-button--compact { min-height: var(--hhx-header-control-height); padding: 10px 16px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.wp-block-post-title { width: min(calc(100% - 48px), var(--hhx-frame)); margin: 70px auto 28px; }
.wp-block-post-content > p, .wp-block-post-content > h2, .wp-block-post-content > h3, .wp-block-post-content > ul, .wp-block-post-content > ol { width: min(calc(100% - 48px), 880px); margin-inline: auto; }
.wp-block-post-content > h2 { margin-top: 1.7em; }
.wp-block-post-content > .wp-block-group, .hhx-home-section { padding: clamp(62px,7vw,96px) max(24px,calc((100vw - var(--hhx-frame))/2)); margin: 0; }
.wp-block-post-content > .wp-block-group:nth-child(even), .hhx-home-section.has-background { background: var(--hhx-mist); }
.wp-block-columns { gap: clamp(18px,3vw,44px); }
.wp-block-column { min-width: 0; }
.hhx-eyebrow, .hhx-overline { margin: 0 0 12px; color: var(--hhx-orange); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hhx-image-placeholder { position: relative; display: grid; min-height: 260px; overflow: hidden; place-items: end start; background: #e5e9ed; border: 1px solid #ccd4dc; color: #526176; }
.hhx-image-placeholder::before, .hhx-image-placeholder::after { position: absolute; border: 1px solid #bdc8d2; content: ""; }
.hhx-image-placeholder::before { right: -8%; bottom: -33%; width: 70%; height: 75%; transform: rotate(-25deg); }
.hhx-image-placeholder::after { top: 12%; right: 12%; width: 35%; height: 35%; border-radius: 50%; }
.hhx-image-placeholder span { position: relative; z-index: 1; margin: 14px; padding: 7px 9px; background: #fff; font-size: 11px; line-height: 1.3; }
.hhx-media-slot, .hhx-media-slot figure, .hhx-media-slot img, .hhx-media-image { display: block; width: 100%; height: 100%; }
.hhx-media-image { object-fit: cover; }
.hhx-media-credit { position: static; max-width: 100%; margin: 7px 0 0; padding: 0; background: transparent; color: #708095; font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.hhx-media-credit a { color: inherit; }

/* Landing-page shell */
.hhx-home-hero { min-height: 440px; padding: clamp(62px,8vw,104px) max(24px,calc((100vw - var(--hhx-frame))/2)); background: var(--hhx-navy); }
.hhx-home-hero h1, .hhx-home-hero h2 { color: #fff; }
.hhx-home-hero p { color: #d5dfec; font-size: 18px; }
.hhx-service-card, .hhx-case-card { height: 100%; padding: 28px; border: 1px solid var(--hhx-line); background: #fff; }
.hhx-service-card h3, .hhx-case-card h3 { margin-top: 0; }
.hhx-process-step { padding: 25px 20px; border-top: 3px solid var(--hhx-orange); background: #fff; }
.hhx-process-step h3 { font-size: 1.1rem; letter-spacing: 0; }
.hhx-process-step p { color: var(--hhx-muted); font-size: 14px; }
.hhx-page-media .wp-block-columns { display: grid; grid-template-columns: repeat(3,1fr); }
.hhx-page-media .wp-block-column { min-height: 260px; }
.hhx-page-media .hhx-media-slot { height: 100%; }
.hhx-final-cta { padding: clamp(68px,8vw,108px) 0; background: var(--hhx-navy); color: #fff; text-align: center; }
.hhx-final-cta h2, .hhx-final-cta h3 { color: #fff; }
.hhx-final-cta p { margin-inline: auto; color: #c8d4e4; }

/* Homepage hero V5: one continuous background image, never split columns. */
.hhx-home--v6 .hhx-rd-hero { position: relative; min-height: clamp(680px,76vh,820px); overflow: visible; background: #d7dce1; }
.hhx-rd-hero__visual { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: #c8cdd2; }
.hhx-rd-hero__visual .hhx-media-slot, .hhx-rd-hero__visual figure, .hhx-rd-hero__visual img { width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: 65% center; }
.hhx-rd-hero__overlay { position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 24%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.35) 57%,rgba(255,255,255,.05) 72%,rgba(255,255,255,0) 100%); }
.hhx-rd-hero__content { position: relative; z-index: 2; display: flex; min-height: clamp(680px,76vh,820px); flex-direction: column; justify-content: center; padding-top: 60px; padding-bottom: 60px; }
.hhx-rd-hero h1 { max-width: 640px; color: #111722; font-size: clamp(3.65rem,4.5vw,4.25rem); line-height: 1.04; }
.hhx-rd-summary { max-width: 590px; margin: 27px 0 30px; color: #303946; font-size: clamp(16px,1.3vw,19px); line-height: 1.58; }
.hhx-rd-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.hhx-rd-actions .hhx-button { min-width: 212px; min-height: 60px; font-size: 16px; }
.hhx-rd-capabilities { display: flex; flex-wrap: wrap; gap: 0; margin: 27px 0 0; }
.hhx-rd-capabilities span { padding: 0 13px; border-right: 1px solid #aeb6bf; color: #394554; font-size: 12px; font-weight: 750; }
.hhx-rd-capabilities span:first-child { padding-left: 0; }
.hhx-rd-capabilities span:last-child { border-right: 0; }
.hhx-trust-facts { position: relative; z-index: 4; border-bottom: 1px solid var(--hhx-line); background: #fff; }
.hhx-trust-facts__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.hhx-trust-facts__grid > div { min-width: 0; padding: 25px 24px 27px; border-right: 1px solid var(--hhx-line); }
.hhx-trust-facts__grid > div:first-child { padding-left: 0; }
.hhx-trust-facts__grid > div:last-child { padding-right: 0; border-right: 0; }
.hhx-trust-facts strong, .hhx-trust-facts span, .hhx-trust-facts small { display: block; }
.hhx-trust-facts strong { color: var(--hhx-navy); font: 750 clamp(1.3rem,1.75vw,1.75rem)/1.12 var(--hhx-heading); letter-spacing: -.025em; }
.hhx-trust-facts span { margin-top: 7px; color: #354256; font-size: 14px; font-weight: 700; line-height: 1.35; }
.hhx-trust-facts small { max-width: 265px; margin-top: 7px; color: var(--hhx-muted); font-size: 11px; font-weight: 500; line-height: 1.45; }

/* Homepage V6: a single editorial manufacturing system below the approved V5 hero. */
.hhx-home--v6 .hhx-home-section { padding: clamp(76px,8vw,116px) 0; }
.hhx-home-section--mist { background: var(--hhx-mist); }
.hhx-section-head { display: flex; justify-content: space-between; align-items: end; gap: 36px; margin-bottom: 42px; }
.hhx-section-head > div { max-width: 760px; }
.hhx-section-head > p { max-width: 460px; margin: 0; color: var(--hhx-muted); font-size: 16px; }
.hhx-button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hhx-split-feature { display: grid; grid-template-columns: 1.28fr .92fr; gap: clamp(34px,6vw,92px); align-items: center; }
.hhx-split-feature--reverse { grid-template-columns: .92fr 1.28fr; }
.hhx-split-feature__media { position: relative; min-height: 500px; overflow: hidden; background: #e5e9ed; }
.hhx-split-feature__media .hhx-media-slot, .hhx-split-feature__media figure, .hhx-split-feature__media img { width: 100%; height: 100%; margin: 0; object-fit: cover; }
.hhx-split-feature__copy > p:not(.hhx-overline) { color: var(--hhx-muted); font-size: 17px; }
.hhx-split-feature__copy ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--hhx-line); }
.hhx-split-feature__copy li { padding: 13px 22px 13px 0; border-bottom: 1px solid var(--hhx-line); color: #263345; font-size: 14px; font-weight: 700; }
.hhx-split-feature__copy li::before { margin-right: 9px; color: var(--hhx-orange); content: "—"; }
.hhx-die-placeholder { display: flex; align-items: flex-end; min-height: 500px; padding: 28px; background: linear-gradient(135deg,#273c57 0%,#14273f 58%,#0c1a2d 100%); }
.hhx-die-placeholder::before { position: absolute; top: 13%; right: 13%; width: 48%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.44); content: ""; transform: rotate(45deg); }
.hhx-die-placeholder::after { position: absolute; right: -11%; bottom: -14%; width: 62%; aspect-ratio: 1; border: 36px solid rgba(255,255,255,.08); content: ""; }
.hhx-die-placeholder span { position: relative; z-index: 1; padding: 9px 10px; background: #fff; color: var(--hhx-navy); font-size: 11px; font-weight: 800; line-height: 1.45; letter-spacing: .06em; text-transform: uppercase; }
.hhx-tech-strip { display: grid; grid-template-columns: repeat(4,1fr); width: min(calc(100% - 48px), var(--hhx-frame)); margin: 38px auto 0; border-top: 1px solid var(--hhx-line); border-bottom: 1px solid var(--hhx-line); }
.hhx-tech-strip span { min-height: 86px; padding: 18px 20px; border-right: 1px solid var(--hhx-line); color: var(--hhx-muted); font-size: 12px; line-height: 1.5; }
.hhx-tech-strip span:last-child { border-right: 0; }
.hhx-tech-strip b { display: block; margin-bottom: 7px; color: var(--hhx-navy); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.hhx-stage-row { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--hhx-line); }
.hhx-stage-row article { min-height: 330px; padding: 30px 30px 24px; border-right: 1px solid var(--hhx-line); border-bottom: 1px solid var(--hhx-line); }
.hhx-stage-row article:last-child { border-right: 0; }
.hhx-stage-row > article > span, .hhx-workflow-v6 > article > b { color: var(--hhx-orange); font: 800 12px var(--hhx-heading); letter-spacing: .08em; }
.hhx-stage-row h3 { margin: 54px 0 10px; font-size: 24px; }
.hhx-stage-row p, .hhx-workflow-v6 p { color: var(--hhx-muted); font-size: 14px; }
.hhx-stage-row b { display: block; margin-top: 24px; color: var(--hhx-navy); font-size: 12px; }
.hhx-stage-row a { display: inline-block; margin-top: 18px; color: var(--hhx-orange); font-size: 12px; font-weight: 800; text-decoration: none; }
.hhx-workflow-v6 { display: grid; grid-template-columns: repeat(6,1fr); border-top: 1px solid var(--hhx-line); border-left: 1px solid var(--hhx-line); }
.hhx-workflow-v6 article { min-height: 230px; padding: 25px 20px; border-right: 1px solid var(--hhx-line); border-bottom: 1px solid var(--hhx-line); background: #fff; }
.hhx-workflow-v6 h3 { margin: 42px 0 9px; font-size: 17px; letter-spacing: -.03em; }
.hhx-industry-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--hhx-line); border: 1px solid var(--hhx-line); }
.hhx-industry-grid a { position: relative; display: flex; min-height: 210px; flex-direction: column; justify-content: flex-end; padding: 25px; overflow: hidden; background: #fff; color: var(--hhx-ink); text-decoration: none; }
.hhx-industry-grid a::before { position: absolute; top: -33px; right: -18px; width: 110px; height: 110px; border: 1px solid #b6c2cf; border-radius: 50%; content: ""; }
.hhx-industry-grid a:hover { background: #f8fafb; }
.hhx-industry-grid b { position: relative; font: 700 22px var(--hhx-heading); letter-spacing: -.04em; }
.hhx-industry-grid span { position: relative; margin-top: 8px; color: var(--hhx-muted); font-size: 13px; }
.hhx-home-collection { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.hhx-home-collection > article, .hhx-home-empty { min-height: 225px; padding: 27px; border: 1px solid var(--hhx-line); background: #fff; }
.hhx-home-collection h3 { margin: 35px 0 10px; font-size: 22px; }
.hhx-home-collection p, .hhx-home-empty p { color: var(--hhx-muted); font-size: 14px; }
.hhx-home-collection a, .hhx-home-empty a { color: var(--hhx-navy); font-size: 13px; font-weight: 800; text-decoration: none; }
.hhx-home-empty { display: flex; min-height: 170px; flex-direction: column; justify-content: center; align-items: flex-start; }
.hhx-faq-list { max-width: 940px; border-top: 1px solid #bdc7d1; }
.hhx-faq-list details { border-bottom: 1px solid #bdc7d1; }
.hhx-faq-list summary { position: relative; padding: 23px 48px 23px 0; cursor: pointer; list-style: none; font: 700 18px var(--hhx-heading); }
.hhx-faq-list summary::after { position: absolute; top: 14px; right: 7px; color: var(--hhx-orange); content: "+"; font-size: 28px; }
.hhx-faq-list details[open] summary::after { content: "−"; }
.hhx-faq-list details p { padding-bottom: 23px; color: var(--hhx-muted); }
.hhx-home--v6 .hhx-final-cta { padding: clamp(58px,6vw,78px) 0; }
.hhx-home--v6 .hhx-final-cta .hhx-button-row { justify-content: center; }
.hhx-home--v6 .hhx-final-cta .hhx-button--secondary { border-color: #fff; color: #fff; }
.hhx-home--v6 .hhx-final-cta .hhx-button--secondary:hover { border-color: #fff; background: #fff; color: var(--hhx-navy); }

/* V7 shared inner-page language: content remains editor-owned, presentation is shared. */
.hhx-inner-site { overflow: hidden; }
.hhx-inner-site .wp-block-post-content > * { width: min(calc(100% - 48px),var(--hhx-frame)); margin-inline: auto; }
.hhx-inner-site .wp-block-post-content > .wp-block-group { width: 100%; max-width: none; padding: clamp(68px,8vw,112px) max(24px,calc((100vw - var(--hhx-frame))/2)); }
.hhx-inner-site .wp-block-post-content > .wp-block-group:nth-child(even) { background: var(--hhx-mist); }
.hhx-inner-site .wp-block-post-content > .wp-block-group:first-child { position: relative; min-height: 530px; display: grid; align-content: center; overflow: hidden; background: var(--hhx-navy); color:#fff; }
.hhx-inner-site .wp-block-post-content > .wp-block-group:first-child::before { position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,35,63,.98) 0%,rgba(16,35,63,.83) 45%,rgba(16,35,63,.28) 100%); content:""; pointer-events:none; }
.hhx-inner-site .wp-block-post-content > .wp-block-group:first-child > * { position:relative; z-index:1; width:min(100%,760px); }
.hhx-inner-site .wp-block-post-content > .wp-block-group:first-child h1, .hhx-inner-site .wp-block-post-content > .wp-block-group:first-child h2, .hhx-inner-site .wp-block-post-content > .wp-block-group:first-child h3 { color:#fff; font-size:clamp(2.8rem,5vw,4.9rem); }
.hhx-inner-site .wp-block-post-content > .wp-block-group:first-child p { color:#d6e0eb; font-size:18px; }
.hhx-inner-site .wp-block-post-content h2 { margin:0 0 24px; }
.hhx-inner-site .wp-block-post-content h3 { margin:20px 0 10px; }
.hhx-inner-site .wp-block-post-content p { color:var(--hhx-muted); }
.hhx-inner-site .wp-block-columns { width:min(100%,var(--hhx-frame)); margin:34px auto; gap:clamp(20px,3vw,48px); }
.hhx-inner-site .wp-block-image img, .hhx-inner-site .wp-block-post-featured-image img { width:100%; height:100%; object-fit:cover; }
.hhx-inner-site .wp-block-post-featured-image { width:min(calc(100% - 48px),var(--hhx-frame)); height:500px; margin:42px auto; overflow:hidden; }
.hhx-inner-site .wp-block-table { width:min(calc(100% - 48px),var(--hhx-frame)); border-collapse:collapse; margin:32px auto; font-size:14px; }
.hhx-inner-site .wp-block-table td, .hhx-inner-site .wp-block-table th { padding:15px; border:1px solid var(--hhx-line); }
.hhx-inner-site details { width:min(calc(100% - 48px),940px); margin:auto; border-bottom:1px solid var(--hhx-line); }
.hhx-inner-site summary { padding:20px 38px 20px 0; color:var(--hhx-ink); font:700 17px var(--hhx-heading); cursor:pointer; }
.hhx-inner-site .wp-block-buttons { gap:12px; }
.wp-block-query { width:min(calc(100% - 48px),var(--hhx-frame)); margin:0 auto 90px; }
.wp-block-post-template { gap:18px; }
.wp-block-post-template > li { padding:26px; border:1px solid var(--hhx-line); background:#fff; }

/* CNC Machining V2 prototype */
.hhx-cnc-v2 { overflow:hidden; }.hhx-v2-hero{position:relative;min-height:680px;background:var(--hhx-navy);color:#fff}.hhx-v2-hero__media,.hhx-v2-hero__media figure,.hhx-v2-hero__media img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover}.hhx-v2-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,27,48,.96),rgba(10,27,48,.75) 48%,rgba(10,27,48,.18))}.hhx-v2-hero__copy{position:relative;z-index:1;padding-top:170px}.hhx-v2-hero h1,.hhx-v2-section--navy h2{max-width:760px;color:#fff}.hhx-v2-hero p:not(.hhx-overline),.hhx-v2-section--navy p{color:#d1ddeb;font-size:18px}.hhx-v2-anchor{border-bottom:1px solid var(--hhx-line);background:#fff}.hhx-v2-anchor .hhx-frame{display:flex;gap:25px;overflow:auto}.hhx-v2-anchor a{padding:16px 0;color:var(--hhx-ink);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.hhx-v2-section{padding:clamp(72px,8vw,116px) 0}.hhx-v2-section--mist{background:var(--hhx-mist)}.hhx-v2-section--navy{background:var(--hhx-navy)}.hhx-v2-intro,.hhx-v2-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,100px);align-items:center}.hhx-v2-intro>div:last-child>p{font-size:18px;color:var(--hhx-muted)}.hhx-v2-intro ul{padding:0;list-style:none;border-top:1px solid var(--hhx-line)}.hhx-v2-intro li{padding:12px 0;border-bottom:1px solid var(--hhx-line);font-weight:700}.hhx-v2-media{position:relative;min-height:430px;background:#dde3e9;overflow:hidden}.hhx-v2-media figure,.hhx-v2-media img{width:100%;height:100%;margin:0;object-fit:cover}.hhx-v2-list{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border-top:1px solid var(--hhx-line)}.hhx-v2-list>*{padding:13px 0;border-bottom:1px solid var(--hhx-line)}.hhx-v2-list b{grid-column:1/-1;color:var(--hhx-orange)}.hhx-v2-table{border:1px solid var(--hhx-line)}.hhx-v2-table>div{display:grid;grid-template-columns:1fr 2fr 1fr;border-bottom:1px solid var(--hhx-line)}.hhx-v2-table>div:last-child{border:0}.hhx-v2-table span,.hhx-v2-table b{padding:15px;border-right:1px solid var(--hhx-line);font-size:14px}.hhx-v2-finishes{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hhx-v2-finishes span{padding:7px 10px;border:1px solid var(--hhx-line);font-size:12px}.hhx-v2-guidelines{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hhx-line)}.hhx-v2-guidelines article{padding:25px;border-right:1px solid var(--hhx-line);border-bottom:1px solid var(--hhx-line)}.hhx-v2-guidelines p{font-size:14px;color:var(--hhx-muted)}.hhx-v2-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}.hhx-v2-gallery figure{position:relative;height:330px;margin:0;overflow:hidden;background:#203b5a}.hhx-v2-gallery figure,.hhx-v2-gallery .hhx-media-slot,.hhx-v2-gallery img{width:100%;height:100%;object-fit:cover}.hhx-v2-gallery figcaption{position:absolute;right:0;bottom:0;left:0;padding:14px;background:rgba(16,35,63,.85);color:#fff;font-size:13px;font-weight:800}


@media (max-width: 1190px) {
  :root { --hhx-fixed-header-height: 77px; }
  .hhx-header-grid { height: 76px; min-height: 0; gap: 14px; }
  .hhx-header-brand { flex-basis: 58px; }
  .hhx-header-brand .hhx-wordmark, .hhx-header-brand .hhx-brand-logo-image { width: 54px; height: 54px; }
  .hhx-desktop-nav, .hhx-header-actions > .hhx-button { display: none; }
  .hhx-header-actions { margin-left: auto; padding-left: 0; border-left: 0; }
  .hhx-mobile-menu { display: block; flex: 0 0 44px; margin-left: 0; }
  .hhx-mobile-menu > summary { display: grid; width: 44px; height: 44px; place-content: center; }
  .hhx-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px clamp(28px, 6vw, 58px); }
  .hhx-footer-company { grid-column: 1 / -1; }
  .hhx-home--v6 .hhx-rd-hero, .hhx-rd-hero__content { min-height: 690px; }
  .hhx-rd-hero__overlay { background: linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 35%,rgba(255,255,255,.65) 53%,rgba(255,255,255,.12) 76%,rgba(255,255,255,0) 100%); }
  .hhx-rd-hero h1 { font-size: clamp(2.9rem,5.1vw,3.55rem); }
  .hhx-trust-facts__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hhx-trust-facts__grid > div { border-bottom: 1px solid var(--hhx-line); }
  .hhx-trust-facts__grid > div:nth-child(even) { padding-right: 0; border-right: 0; }
  .hhx-trust-facts__grid > div:nth-child(odd) { padding-left: 0; }
  .hhx-trust-facts__grid > div:nth-last-child(-n+2) { border-bottom: 0; }
  .hhx-split-feature, .hhx-split-feature--reverse { grid-template-columns: 1fr 1fr; gap: 34px; }
  .hhx-split-feature__media { min-height: 420px; }
  .hhx-workflow-v6 { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 780px) {
  :root { --hhx-fixed-header-height: 73px; }
  .wp-block-post-content:has(.hhx-home--v6), .wp-block-post-content:has(.hhx-rfq-page) { width: 100% !important; max-width: 100% !important; overflow-x: hidden; }
  .hhx-home--v6, .hhx-rfq-page { width: 100% !important; max-width: 100% !important; overflow-x: hidden; }
  .hhx-frame { width: min(calc(100% - 36px), var(--hhx-frame)); }
  .hhx-header-grid { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto 44px; height: 72px; min-height: 0; gap: 8px; }
  .hhx-header-brand { grid-column: 1; min-width: 0; }
  .hhx-header-brand .hhx-wordmark, .hhx-header-brand .hhx-brand-logo-image { width: 48px; height: 48px; }
  .hhx-header-main { position: relative; }
  .hhx-utility-bar { display: none; }
  .hhx-header-actions { position: static; display: flex; grid-column: 3; min-width: 0; align-self: center; margin-left: 0; padding-left: 0; border-left: 0; }
  .hhx-header-actions .hhx-language-switcher ul { gap: 1px; padding: 2px; }
  .hhx-header-actions .hhx-language-switcher a { padding: 8px 9px; font-size: 12px; }
  .hhx-mobile-menu { display: block !important; grid-column: 4; width: 44px; min-width: 44px; margin-left: 0 !important; }
  .hhx-platform-footer { padding: 54px 0 22px; }
  .hhx-footer-grid { gap: 35px 22px; }
  .hhx-footer-company__intro { max-width: 520px; }
  .hhx-footer-bottom { align-items: flex-start; flex-direction: column; gap: 14px; margin-top: 42px; }
  .hhx-footer-bottom__actions { flex-wrap: wrap; gap: 12px 16px; }
  .hhx-floating-contact a { width: 44px; height: 44px; }
  .hhx-floating-contact svg { width: 20px; height: 20px; }
  .hhx-home--v6 .hhx-rd-hero, .hhx-rd-hero__content { min-height: 680px; }
  .hhx-rd-hero__content { justify-content: flex-start; padding-top: 70px; padding-bottom: 52px; }
  .hhx-rd-hero__overlay { background: linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 50%,rgba(255,255,255,.64) 72%,rgba(255,255,255,.18) 100%); }
  .hhx-rd-hero h1, .hhx-rd-summary { inline-size: min(100%, 320px); max-inline-size:320px; font-size:clamp(2rem,8vw,2.45rem); letter-spacing:-.04em; }
  .hhx-rd-summary { font-size:16px; letter-spacing:0; }
  .hhx-rd-hero h1, .hhx-rd-summary { overflow-wrap: anywhere; }
  .hhx-rd-summary { font-size: 16px; }
  .hhx-rd-actions { display: grid; grid-template-columns: 1fr; }
  .hhx-rd-actions .hhx-button { flex: 1; min-width: 0; min-height: 53px; padding-inline: 12px; font-size: 13px; }
  .hhx-rd-hero__visual .hhx-media-slot, .hhx-rd-hero__visual figure, .hhx-rd-hero__visual img { object-position: 72% center; }
  .hhx-rd-actions { display: grid; grid-template-columns: 1fr; width: min(100%,320px); }
  .hhx-rd-actions .hhx-button { min-width: 0; min-height: 54px; font-size: 14px; }
  .hhx-rd-capabilities { row-gap: 9px; max-width: 330px; }
  .hhx-rd-capabilities span { padding: 0 8px; font-size: 11px; }
  .hhx-trust-facts__grid > div { padding: 19px 12px 20px; }
  .hhx-trust-facts strong { font-size: 18px; }
  .hhx-trust-facts span { font-size: 12px; }
  .hhx-trust-facts small { font-size: 10px; }
  .hhx-home--v6 .hhx-home-section { padding: 68px 0; }
  .hhx-section-head { display: block; margin-bottom: 28px; }
  .hhx-section-head > p { margin-top: 15px; }
  .hhx-split-feature, .hhx-split-feature--reverse { grid-template-columns: 1fr; gap: 30px; }
  .hhx-split-feature--reverse .hhx-split-feature__media { order: -1; }
  .hhx-split-feature__media { min-height: 330px; }
  .hhx-tech-strip { grid-template-columns: 1fr 1fr; }
  .hhx-tech-strip span:nth-child(2) { border-right: 0; }
  .hhx-tech-strip span:nth-child(-n+2) { border-bottom: 1px solid var(--hhx-line); }
  .hhx-stage-row, .hhx-industry-grid, .hhx-home-collection { grid-template-columns: 1fr; }
  .hhx-stage-row article { min-height: 0; border-right: 0; }
  .hhx-stage-row h3 { margin-top: 28px; }
  .hhx-workflow-v6 { grid-template-columns: 1fr 1fr; }
  .hhx-page-media .wp-block-columns { grid-template-columns: 1fr; }
  .hhx-v2-hero { min-height:680px; }.hhx-v2-hero__copy { padding-top:120px; }.hhx-v2-hero h1 { font-size:clamp(2.3rem,10vw,3rem);overflow-wrap:anywhere; }.hhx-v2-hero p:not(.hhx-overline){font-size:16px}.hhx-v2-intro,.hhx-v2-split,.hhx-v2-split--reverse{grid-template-columns:1fr;gap:30px}.hhx-v2-section{padding:68px 0}.hhx-v2-media{min-height:310px}.hhx-v2-split--reverse .hhx-v2-media{order:-1}.hhx-v2-table{overflow-x:auto}.hhx-v2-table>div{min-width:620px}.hhx-v2-guidelines{grid-template-columns:1fr 1fr}.hhx-v2-gallery{grid-template-columns:1fr;}.hhx-v2-gallery figure{height:260px}.hhx-v2-anchor .hhx-frame{width:calc(100% - 36px)}
}

@media (max-width: 440px) {
  h2 { font-size: 2rem; }
  .hhx-rd-actions { display: grid; grid-template-columns: 1fr; }
  .hhx-rd-capabilities span { padding: 0 7px; font-size: 10px; }
  .hhx-split-feature__copy ul { grid-template-columns: 1fr; }
  .hhx-tech-strip { grid-template-columns: 1fr; }
  .hhx-tech-strip span, .hhx-tech-strip span:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--hhx-line); }
  .hhx-tech-strip span:last-child { border-bottom: 0; }
  .hhx-workflow-v6 { grid-template-columns: 1fr; }
  .hhx-workflow-v6 article { min-height: 155px; }
  .hhx-workflow-v6 h3 { margin-top: 18px; }
  .hhx-button-row { display: grid; grid-template-columns: 1fr; }
  .hhx-button-row .hhx-button { width: 100%; }
  .hhx-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .hhx-footer-company { grid-column: auto; }
  .hhx-footer-facts { gap: 11px 20px; }
  .hhx-footer-project .hhx-button--footer { width: 100%; justify-content: center; }
  .hhx-footer-bottom__actions { width: 100%; justify-content: space-between; }
.hhx-home--v6 h2, .hhx-home--v6 p, .hhx-home--v6 li { overflow-wrap: anywhere; }
}

.hhx-v3-stages,.hhx-v3-reasons{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hhx-line)}.hhx-v3-stages article,.hhx-v3-reasons span{padding:28px;border-right:1px solid var(--hhx-line);border-bottom:1px solid var(--hhx-line)}.hhx-v3-stages span{color:var(--hhx-orange);font-weight:800}.hhx-v3-stages p,.hhx-v3-reasons span{color:var(--hhx-muted);font-size:14px}.hhx-v3-reasons{grid-template-columns:1fr 1fr}.hhx-v3-reasons b,.hhx-v3-industries span{display:block;color:var(--hhx-ink);margin-bottom:8px}.hhx-v3-industries{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--hhx-line)}.hhx-v3-industries span{padding:20px;border-right:1px solid var(--hhx-line);border-bottom:1px solid var(--hhx-line);font-weight:800}.hhx-v3-industries small{display:block;color:var(--hhx-muted);font-size:12px;font-weight:400}@media(max-width:780px){.hhx-v3-stages,.hhx-v3-reasons,.hhx-v3-industries{grid-template-columns:1fr}.hhx-v3-stages article,.hhx-v3-reasons span,.hhx-v3-industries span{border-right:0}}
.hhx-mill-hero{padding:96px 0 68px;background:#fff}.hhx-mill-hero__grid,.hhx-mill-two{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.hhx-mill-breadcrumb{color:var(--hhx-muted);font-size:12px}.hhx-mill-hero h1{font-size:clamp(3rem,4.4vw,4.7rem)}.hhx-mill-hero__visual{position:relative;min-height:510px}.hhx-mill-main,.hhx-mill-main figure,.hhx-mill-main img{width:82%;height:88%;margin:0;object-fit:cover}.hhx-mill-side{position:absolute;right:0;bottom:0;width:45%;height:42%;border:9px solid #fff}.hhx-mill-side figure,.hhx-mill-side img,.hhx-mill-photo figure,.hhx-mill-photo img{width:100%;height:100%;margin:0;object-fit:cover}.hhx-mill-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.hhx-mill-tags span{padding:6px 8px;border:1px solid var(--hhx-line);font-size:11px;font-weight:800}.hhx-mill-strip{border-top:1px solid var(--hhx-line);border-bottom:1px solid var(--hhx-line)}.hhx-mill-strip .hhx-frame{display:flex}.hhx-mill-strip span{flex:1;padding:18px;border-right:1px solid var(--hhx-line);font-size:13px}.hhx-mill-strip b{display:block;font-size:11px;text-transform:uppercase}.hhx-mill-section{padding:88px 0}.hhx-mill-section--mist{background:var(--hhx-mist)}.hhx-mill-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hhx-line)}.hhx-mill-steps article{padding:26px;border-right:1px solid var(--hhx-line);border-bottom:1px solid var(--hhx-line)}.hhx-mill-steps b{color:var(--hhx-orange)}.hhx-mill-table>div{display:grid;grid-template-columns:1fr 2fr 2fr;border-bottom:1px solid var(--hhx-line)}.hhx-mill-table>*:first-child{border-top:1px solid var(--hhx-line)}.hhx-mill-table b,.hhx-mill-table strong,.hhx-mill-table span{padding:16px;border-right:1px solid var(--hhx-line);font-size:14px}.hhx-mill-reasons,.hhx-mill-docs{display:grid;grid-template-columns:1fr 1fr}.hhx-mill-reasons span,.hhx-mill-docs span{padding:18px;border-top:1px solid var(--hhx-line);font-size:14px}.hhx-mill-reasons b,.hhx-mill-docs b{display:block;margin-bottom:6px;color:var(--hhx-ink)}.hhx-mill-photo{height:420px}@media(max-width:780px){.hhx-mill-hero{padding-top:56px}.hhx-mill-hero__grid,.hhx-mill-two{grid-template-columns:1fr;gap:30px}.hhx-mill-hero__visual{min-height:340px}.hhx-mill-strip .hhx-frame{display:block}.hhx-mill-strip span{display:block;border-bottom:1px solid var(--hhx-line)}.hhx-mill-section{padding:62px 0}.hhx-mill-steps,.hhx-mill-reasons,.hhx-mill-docs{grid-template-columns:1fr}.hhx-mill-steps article{border-right:0}.hhx-mill-table{overflow:hidden}.hhx-mill-table>div{grid-template-columns:1fr}.hhx-mill-table b,.hhx-mill-table strong,.hhx-mill-table span{border-right:0;border-bottom:1px solid var(--hhx-line)}.hhx-mill-photo{height:300px}}
