/* HOFNEX homepage visual refinement. The reference layout and copy remain intact. */
:root {
  --home-content-width: 1360px;
  --home-edge: clamp(28px, 3.3vw, 48px);
  --home-section-space: 88px;
  --home-card-gap: 24px;
  --home-body-size: 16px;
  --home-support-size: 14px;
  --home-heading-size: 34px;
  --home-rule: #d8e3ec;
  font-family: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

.container,
.header-shell {
  width: min(calc(100% - var(--home-edge) * 2), var(--home-content-width));
}

.site-header { height: 72px; }
.header-shell { gap: 20px; }
.site-logo { width: 166px; }
.desktop-nav { gap: clamp(16px, 1.45vw, 26px); }
.desktop-nav a,
.desktop-nav .nav-disabled { font-size: 14px; line-height: 1.4; }
.header-tools { gap: 18px; margin-left: 18px; }
.icon-link { font-size: 21px; }
.header-quote { min-width: 128px; font-size: 14px; gap: 10px; }
.header-quote [data-icon] { font-size: 16px; }
.language-indicator { font-size: 13px; }
.language-indicator [data-icon] { font-size: 19px; }

.hero { height: clamp(510px, 36vw, 590px); }
.hero-content { padding-top: clamp(60px, 5vw, 82px); }
.hero-kicker { font-size: 13px; margin-bottom: 18px; letter-spacing: .28em; }
.hero h1 { max-width: 750px; font-size: clamp(50px, 4vw, 56px); line-height: 1.12; margin-bottom: 20px; }
.hero-intro { max-width: 560px; font-size: var(--home-body-size); line-height: 1.7; margin-bottom: 27px; }
.hero-actions { gap: 14px; }
.btn { height: 48px; padding-inline: 25px; font-size: 15px; line-height: 1; }
.btn [data-icon] { font-size: 18px; }
.hero-points { gap: 30px; padding-bottom: 34px; }
.hero-points span { gap: 10px; font-size: 14px; line-height: 1.4; }
.hero-points [data-icon] { font-size: 28px; }

.fact-grid { height: 102px; }
.fact-grid > div { height: 54px; gap: 17px; }
.fact-grid [data-icon] { font-size: 37px; }
.fact-grid p { gap: 4px; }
.fact-grid strong { font-size: 22px; line-height: 1.1; }
.fact-grid small { font-size: 14px; line-height: 1.3; }

.section { padding-block: var(--home-section-space); }
.section-top { align-items: end; margin-bottom: 34px; gap: 32px; }
.section-kicker { margin-bottom: 10px; font-size: 14px; line-height: 1.4; gap: 12px; }
.section-kicker span { width: 42px; }
.section-top h2 { font-size: var(--home-heading-size); line-height: 1.23; letter-spacing: -.025em; }
.more-link { align-items: center; gap: 10px; padding-bottom: 6px; font-size: 14px; line-height: 1.4; }
.more-link [data-icon] { font-size: 18px; }

.products-section { background: #f1f6fa; padding-block: 88px 70px; }
.products-section .section-top { margin-bottom: 34px; }
.category-grid { gap: var(--home-card-gap); }
.category-card { display: flex; flex-direction: column; }
.category-media { height: clamp(180px, 15.3vw, 222px); flex: none; }
.category-body { flex: 1; min-height: 138px; padding: 21px 45px 25px 22px; }
.category-body h3 { margin-bottom: 9px; font-size: 19px; line-height: 1.35; }
.category-body p { font-size: 15px; line-height: 1.6; color: #536d86; }
.category-body [data-icon] { right: 20px; bottom: 21px; font-size: 20px; }

/* One technical capability band, with dividers instead of four feature cards. */
.why-section { padding-block: 60px 64px; background: #fff; }
.why-section .section-top { margin-bottom: 29px; }
.why-grid { gap: 0; border-top: 2px solid #174675; border-bottom: 1px solid var(--home-rule); }
.why-card {
  display: block;
  min-height: 190px;
  padding: 25px 27px 27px;
  border: 0;
  border-right: 1px solid var(--home-rule);
}
.why-card:first-child { padding-left: 0; }
.why-card:last-child { border-right: 0; padding-right: 0; }
.why-card > span { width: 45px; height: 45px; margin-bottom: 14px; font-size: 45px; color: #174675; }
.why-card h3 { margin: 0 0 9px; font-size: 20px; line-height: 1.35; }
.why-card p { max-width: 290px; font-size: 15px; line-height: 1.65; color: #526b83; }

.industries-section { padding-block: 80px 96px; background: #eef5fa; }
.industries-section .section-top { margin-bottom: 34px; }
.industry-grid { gap: 14px; }
.industry-card { height: clamp(258px, 19vw, 290px); }
.industry-caption { left: 18px; right: 15px; bottom: 20px; grid-template-columns: 29px minmax(0, 1fr); column-gap: 9px; row-gap: 4px; }
.industry-caption [data-icon] { font-size: 27px; align-self: center; }
.industry-caption strong { font-size: 16px; line-height: 1.3; white-space: normal; }
.industry-caption small { font-size: 13px; line-height: 1.45; white-space: normal; }

.manufacturing-section { grid-template-columns: 69% 31%; height: 480px; }
.manufacturing-copy { top: 50%; transform: translateY(-50%); left: max(var(--home-edge), calc((100vw - var(--home-content-width)) / 2)); max-width: 540px; }
.manufacturing-copy h2 { margin: 16px 0 16px; font-size: 34px; line-height: 1.25; }
.manufacturing-copy > p:not(.section-kicker) { margin-bottom: 25px; font-size: 16px; line-height: 1.7; }
.manufacturing-copy .btn { height: 46px; padding-inline: 20px; font-size: 14px; }
.manufacturing-facts { padding: 28px max(30px, var(--home-edge)) 28px 31px; }
.manufacturing-facts > div { gap: 18px; }
.manufacturing-facts [data-icon] { font-size: 36px; }
.manufacturing-facts p { gap: 6px; }
.manufacturing-facts strong { font-size: 17px; line-height: 1.3; }
.manufacturing-facts small { font-size: 14px; line-height: 1.5; }

.badge-layout { grid-template-columns: 28% 72%; min-height: 198px; }
.badge-intro { gap: 7px; padding-right: 20px; }
.badge-intro small { font-size: 14px; }
.badge-intro strong { font-size: 22px; line-height: 1.35; }
.badge-list { gap: 10px; padding-left: 28px; }
.badge-list > div { gap: 11px; justify-content: flex-start; }
.badge-svg { width: 74px; height: 74px; object-fit: contain; flex-shrink: 0; }
.badge-list small { font-size: 13px; line-height: 1.35; text-align: center; }

.inquiry-section { min-height: 450px; }
.inquiry-layout { min-height: 450px; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: center; gap: 58px; padding-block: 68px; }
.inquiry-copy { padding: 0; }
.inquiry-copy h2 { max-width: none; margin: 15px 0 17px; font-size: 34px; line-height: 1.3; }
.inquiry-copy p:not(.section-kicker) { max-width: 520px; margin-bottom: 0; font-size: 16px; line-height: 1.7; }
.footer-main { min-height: 104px; height: auto; gap: 34px; }
.footer-main > a { width: 158px; }
.footer-main nav { gap: clamp(14px, 1.8vw, 28px); font-size: 13px; line-height: 1.4; }
.social-links { gap: 15px; }
.social-links > span { width: 18px; height: 18px; }
.footer-language { font-size: 13px; }
.footer-language [data-icon] { font-size: 16px; }
.footer-bottom { min-height: 42px; height: auto; }
.footer-bottom small { font-size: 13px; line-height: 1.4; }

@media (max-width: 1100px) {
  :root { --home-edge: 32px; --home-section-space: 74px; --home-heading-size: 31px; }
  .site-header { height: 68px; }
  .header-shell { gap: 14px; }
  .site-logo { width: 154px; }
  .desktop-nav { display: none; }
  .header-tools { margin-left: auto; gap: 14px; }
  .language-indicator { display: none; }
  .menu-toggle { display: flex; width: 42px; height: 42px; }
  .mobile-nav:not([hidden]) { top: 68px; padding: 12px var(--home-edge); }
  .mobile-nav a,
  .mobile-nav .nav-disabled { padding: 13px 8px; font-size: 15px; }
  .hero { height: 530px; }
  .hero h1 { font-size: 50px; }
  .section { padding-block: var(--home-section-space); }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-media { height: 215px; }
  .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why-card { min-height: 168px; }
  .why-card:nth-child(2) { border-right: 0; padding-right: 0; }
  .why-card:nth-child(-n+2) { border-bottom: 1px solid var(--home-rule); }
  .why-card:nth-child(3) { padding-left: 0; }
  .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .industry-card { height: 240px; }
  .industry-card:first-child { grid-column: 1 / -1; height: 285px; }
  .manufacturing-section { display: block; height: auto; }
  .manufacturing-photo { height: 430px; }
  .manufacturing-copy { left: var(--home-edge); max-width: 570px; }
  .manufacturing-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; column-gap: 30px; padding: 20px var(--home-edge) 30px; }
  .manufacturing-facts > div { min-height: 112px; }
  .manufacturing-facts > div:nth-child(n+3) { border-bottom: 0; }
  .badge-layout { display: block; padding-block: 32px; }
  .badge-intro { border: 0; padding: 0; margin-bottom: 25px; }
  .badge-list { padding: 0; }
  .inquiry-layout { grid-template-columns: 1fr; gap: 32px; padding-block: 70px; }
  .inquiry-copy h2 { max-width: 680px; }
  .inquiry-copy p:not(.section-kicker) { max-width: 680px; }
  .footer-main { flex-wrap: wrap; padding-block: 30px; gap: 20px; }
  .footer-main nav { order: 4; width: 100%; margin: 0; }
  .social-links { margin-left: auto; }
}

@media (max-width: 680px) {
  :root { --home-edge: 20px; --home-section-space: 68px; --home-heading-size: 28px; --home-card-gap: 18px; }
  .site-header { height: 64px; }
  .site-logo { width: 136px; }
  .header-tools { gap: 9px; }
  .search-link { display: none; }
  .header-quote { height: 39px; min-width: 106px; padding-inline: 9px; font-size: 13px; }
  .menu-toggle { width: 40px; height: 40px; }
  .mobile-nav:not([hidden]) { top: 64px; }
  .hero { height: auto; min-height: 620px; }
  .hero-photo { object-position: center bottom; }
  .hero-content { min-height: 620px; padding-top: 54px; }
  .hero-kicker { font-size: 13px; letter-spacing: .12em; margin-bottom: 18px; }
  .hero h1 { max-width: 100%; font-size: clamp(34px, 9vw, 40px); line-height: 1.16; margin-bottom: 17px; }
  .hero-intro { max-width: 380px; font-size: 15px; line-height: 1.65; margin-bottom: 22px; }
  .hero-actions { width: 100%; gap: 10px; }
  .hero-actions .btn { flex: 1; height: 45px; padding-inline: 11px; font-size: 14px; }
  .hero-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin-top: auto; gap: 15px 12px; padding-bottom: 30px; }
  .hero-points > span { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: center; column-gap: 8px; font-size: 13px; white-space: normal; }
  .hero-points > span > [data-icon] { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex: 0 0 26px; font-size: 22px; }
  .fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); height: auto; padding-block: 20px; gap: 20px 12px; }
  .fact-grid > div,
  .fact-grid > div:first-child,
  .fact-grid > div:last-child { justify-content: flex-start; height: auto; gap: 10px; border: 0; }
  .fact-grid [data-icon] { font-size: 28px; }
  .fact-grid strong { font-size: 19px; }
  .fact-grid small { font-size: 13px; }
  .section { padding-block: var(--home-section-space); }
  .section-top { display: block; margin-bottom: 26px; }
  .products-section .section-top,
  .industries-section .section-top { margin-bottom: 26px; }
  .section-top h2 { font-size: var(--home-heading-size); }
  .more-link { margin-top: 18px; font-size: 14px; }
  .category-grid { grid-template-columns: 1fr; gap: var(--home-card-gap); }
  .category-media { height: 210px; }
  .category-body { min-height: 116px; padding: 18px 48px 22px 19px; }
  .category-body h3 { font-size: 18px; }
  .category-body p { font-size: 15px; }
  .why-section { padding-block: 62px 68px; }
  .why-grid { grid-template-columns: 1fr; }
  .why-card,
  .why-card:first-child,
  .why-card:last-child,
  .why-card:nth-child(2),
  .why-card:nth-child(3) { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; min-height: 0; padding: 23px 0 25px; border: 0; border-bottom: 1px solid var(--home-rule); }
  .why-card:last-child { border-bottom: 0; }
  .why-card > span { grid-column: 1; margin: 0; font-size: 40px; width: 40px; height: 40px; }
  .why-card > div { grid-column: 2; }
  .why-card h3 { margin-top: 2px; font-size: 19px; }
  .why-card p { max-width: none; font-size: 15px; }
  .industries-section { padding-block: 72px 78px; }
  .industry-grid { display: flex; gap: 15px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--home-edge)); padding: 0 var(--home-edge) 12px; scrollbar-width: none; }
  .industry-grid::-webkit-scrollbar { display: none; }
  .industry-card,
  .industry-card:first-child { flex: 0 0 min(78vw, 310px); height: 275px; scroll-snap-align: start; }
  .industry-caption { left: 17px; right: 15px; bottom: 19px; grid-template-columns: 26px minmax(0,1fr); }
  .industry-caption [data-icon] { display: inline-flex; font-size: 25px; }
  .industry-caption strong { font-size: 16px; }
  .industry-caption small { font-size: 13px; }
  .manufacturing-photo { height: 400px; }
  .manufacturing-copy { left: var(--home-edge); right: var(--home-edge); max-width: 390px; }
  .manufacturing-copy h2 { font-size: 29px; }
  .manufacturing-copy > p:not(.section-kicker) { font-size: 15px; }
  .manufacturing-facts { grid-template-columns: 1fr; padding: 8px var(--home-edge) 20px; }
  .manufacturing-facts > div { min-height: 103px; align-items: flex-start; padding-block: 20px; border-bottom: 1px solid var(--home-rule); }
  .manufacturing-facts > div:nth-child(3) { border-bottom: 1px solid var(--home-rule); }
  .manufacturing-facts [data-icon] { width: 32px; height: 32px; flex: 0 0 32px; font-size: 32px; }
  .manufacturing-facts strong { font-size: 16px; }
  .manufacturing-facts small { font-size: 14px; line-height: 1.4; text-wrap: pretty; }
  .manufacturing-facts small > span { white-space: nowrap; }
  .badge-layout { padding-block: 32px 38px; }
  .badge-intro { margin-bottom: 26px; }
  .badge-intro small { font-size: 14px; }
  .badge-intro strong { font-size: 21px; }
  .badge-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 8px; }
  .badge-svg { width: 62px; height: 62px; }
  .badge-list small { font-size: 13px; white-space: normal; }
  .inquiry-layout { display: block; padding-block: 70px; }
  .inquiry-copy { margin-bottom: 26px; }
  .inquiry-copy h2 { font-size: 29px; }
  .inquiry-copy p:not(.section-kicker) { font-size: 15px; }
  .footer-main { display: flex; align-items: flex-start; padding-block: 33px 30px; gap: 25px 12px; }
  .footer-main > a { width: 142px; }
  .footer-main nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px 10px; font-size: 13px; }
  .footer-main > span { display: none; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 9px; padding-block: 16px; }
  .footer-bottom small { font-size: 13px; }
}

@media (max-width: 390px) {
  .hero h1 { font-size: 34px; }
  .hero-content { min-height: 640px; }
  .hero { min-height: 640px; }
  .hero-actions .btn { font-size: 13px; }
  .industry-card,
  .industry-card:first-child { flex-basis: 78vw; }
}

.hero-title-mobile { display: none; }
.hero-intro-mobile,
.manufacturing-title-mobile { display: none; }
@media (max-width: 680px) {
  .hero-kicker { text-wrap: balance; }
  .hero-title-desktop { display: none; }
  .hero-title-mobile { display: flex; flex-direction: column; white-space: nowrap; }
  .hero-title-mobile > span { display: block; }
  .hero-intro-desktop { display: none; }
  .hero-intro-mobile { display: flex; flex-direction: column; white-space: nowrap; }
  .hero-intro-mobile > span { display: block; }
  .manufacturing-title-desktop { display: none; }
  .manufacturing-title-mobile { display: flex; flex-direction: column; white-space: nowrap; }
  .manufacturing-title-mobile > span { display: block; }
}
