:root {
  --industrial-green: #103d33;
  --industrial-green-dark: #082c25;
  --industrial-accent: #9bcf3b;
  --industrial-text: #18312b;
  --industrial-muted: #667871;
  --industrial-line: #dce4df;
  --industrial-gray: #f4f7f5;
  --industrial-white: #ffffff;
}

html { scroll-padding-top: 92px; }
body.industrial-page { background: #fff; color: var(--industrial-text); font-family: Arial, Helvetica, sans-serif; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

.utility-bar { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 max(28px, calc((100% - 1440px) / 2)); color: #d8e4df; background: var(--industrial-green-dark); font-size: 12px; }
.utility-bar p { margin: 0; }
.utility-bar a { color: #fff; font-weight: 700; }
.utility-bar a span { color: var(--industrial-accent); }

.topbar.industrial-header { position: sticky; top: 0; z-index: 60; height: 82px; padding: 0 max(28px, calc((100% - 1440px) / 2)); color: var(--industrial-text); background: #fff; border-bottom: 1px solid var(--industrial-line); box-shadow: 0 4px 16px rgba(15, 53, 43, .04); }
.industrial-brand { font-family: Arial, Helvetica, sans-serif; font-size: 22px; letter-spacing: -1px; color: var(--industrial-green-dark); }
.industrial-brand > span > span { color: #76ad1e; }
.industrial-header .nav { gap: clamp(17px, 2vw, 34px); color: #38564d; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; }
.industrial-header .nav a { position: relative; padding: 31px 0 28px; }
.industrial-header .nav a:hover,
.industrial-header .nav a[aria-current="page"] { color: var(--industrial-green); }
.industrial-header .nav a[aria-current="page"]::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--industrial-accent); content: ""; }
.industrial-cta { min-height: 44px; padding: 0 18px; color: #fff !important; background: var(--industrial-green); border: 1px solid var(--industrial-green); font-size: 12px; }
.industrial-header .mobile-menu span { background: var(--industrial-green); }

.industrial-carousel { position: relative; overflow: hidden; background: var(--industrial-green-dark); }
.industrial-slides { position: relative; width: 100%; aspect-ratio: 3 / 1; min-height: 430px; max-height: 720px; }
.industrial-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s; }
.industrial-slide.is-active { opacity: 1; visibility: visible; }
.industrial-slide img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.industrial-banner-action { position: absolute; left: max(28px, calc((100% - 1440px) / 2)); bottom: 38px; z-index: 3; }
.industrial-banner-action a { display: inline-flex; align-items: center; gap: 28px; min-height: 50px; padding: 0 24px; color: #fff; background: rgba(8, 44, 37, .92); border: 1px solid rgba(255,255,255,.34); font-size: 14px; font-weight: 700; }
.industrial-banner-action span { color: var(--industrial-accent); font-size: 20px; }
.industrial-banner-controls { position: absolute; right: max(28px, calc((100% - 1440px) / 2)); bottom: 38px; z-index: 4; display: flex; align-items: center; gap: 10px; }
.industrial-banner-dots { height: 50px; display: flex; align-items: center; gap: 10px; padding: 0 18px; background: rgba(255,255,255,.96); }
.industrial-banner-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #9aa8a3; cursor: pointer; }
.industrial-banner-dots button.is-active { width: 30px; border-radius: 10px; background: var(--industrial-green); }
.industrial-banner-arrows { display: flex; }
.industrial-banner-arrows button { width: 50px; height: 50px; border: 0; border-left: 1px solid #dce4df; color: var(--industrial-green); background: rgba(255,255,255,.96); cursor: pointer; font-size: 19px; }
.industrial-banner-arrows button:hover { color: #fff; background: var(--industrial-green); }

.industrial-section { padding: 84px max(28px, calc((100% - 1320px) / 2)); }
.industrial-section--gray { background: var(--industrial-gray); }
.industrial-eyebrow { margin: 0 0 14px; color: #318475; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.industrial-heading h1,
.industrial-heading h2,
.section-title-row h2,
.solutions-copy h2,
.company-copy h2,
.industrial-contact h2 { margin: 0; font-family: Arial, Helvetica, sans-serif; font-size: clamp(34px, 3.3vw, 50px); font-weight: 700; line-height: 1.12; letter-spacing: -.035em; }
.business-intro { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: clamp(70px, 9vw, 150px); align-items: start; }
.business-intro-copy { padding-top: 26px; }
.business-intro-copy p { margin: 0 0 17px; color: var(--industrial-muted); font-size: 17px; line-height: 1.75; }
.industrial-link { display: inline-flex; align-items: center; gap: 15px; padding-bottom: 6px; border-bottom: 1px solid #9fb5ac; color: var(--industrial-green); font-size: 14px; font-weight: 800; }
.industrial-link span { color: #51a83b; font-size: 18px; }
.business-intro-copy .industrial-link { margin-top: 14px; }

.section-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: 40px; }
.section-title-row > p { max-width: 450px; margin: 0; color: var(--industrial-muted); font-size: 16px; line-height: 1.7; }
.industrial-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.industrial-product-card { display: grid; grid-template-columns: 42% 58%; min-height: 360px; overflow: hidden; border: 1px solid var(--industrial-line); background: #fff; }
.industrial-product-image { min-width: 0; display: grid; place-items: center; padding: 24px; overflow: hidden; background: #edf2ef; }
.industrial-product-image img { width: 100%; height: 100%; max-height: 310px; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
.industrial-product-card--line .industrial-product-image img { width: 115%; max-width: none; object-fit: contain; }
.industrial-product-card:hover .industrial-product-image img { transform: scale(1.04); }
.industrial-product-card > div { display: flex; flex-direction: column; padding: 30px 30px 26px; }
.industrial-product-type { margin: 0 0 12px !important; color: #3a8d7d !important; font-size: 12px !important; font-weight: 800; }
.industrial-product-card h3 { margin: 0 0 12px; font-family: Arial, Helvetica, sans-serif; font-size: 26px; font-weight: 700; line-height: 1.23; letter-spacing: -.025em; }
.industrial-product-card > div > p:not(.industrial-product-type) { min-height: 76px; margin: 0 0 18px; color: var(--industrial-muted); font-size: 15px; line-height: 1.65; }
.industrial-product-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: auto 0 22px; border-top: 1px solid var(--industrial-line); border-bottom: 1px solid var(--industrial-line); }
.industrial-product-card dl div { padding: 14px 13px 14px 0; }
.industrial-product-card dl div + div { padding-left: 16px; border-left: 1px solid var(--industrial-line); }
.industrial-product-card dt { margin-bottom: 4px; color: #7a8c85; font-size: 11px; }
.industrial-product-card dd { margin: 0; color: var(--industrial-text); font-size: 15px; font-weight: 800; }
.industrial-product-card .industrial-link { align-self: flex-start; }

.solutions-section { display: block; background: #fff; }
.solutions-image { min-height: 0; display: flex; align-items: center; overflow: hidden; padding: 34px 0; background: #fff; }
.solutions-image img { width: 100%; height: auto; display: block; object-fit: contain; object-position: center; }
.solutions-copy { display: grid; grid-template-columns: 1.2fr .85fr 1.45fr auto; gap: clamp(26px, 3vw, 54px); align-items: center; padding: 38px max(28px, calc((100% - 1440px) / 2)); color: #fff; background: var(--industrial-green-dark); }
.solutions-copy h2 { max-width: 440px; font-size: clamp(27px, 2.2vw, 34px); line-height: 1.14; }
.solutions-heading { min-width: 0; }
.solutions-copy .industrial-eyebrow { color: var(--industrial-accent); }
.solutions-copy > p { margin: 0; color: #c7d6d0; font-size: 14px; line-height: 1.65; }
.solution-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.2); }
.solution-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.solution-steps li > span { color: var(--industrial-accent); font-size: 12px; font-weight: 800; }
.solution-steps b { display: block; margin-bottom: 2px; font-size: 15px; }
.solution-steps small { color: #b7c8c2; font-size: 12px; }
.solutions-copy .industrial-button { min-height: 46px; white-space: nowrap; }
.industrial-button { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 50px; padding: 0 22px; color: #fff; background: #2f846f; border: 1px solid #2f846f; font-size: 14px; font-weight: 800; }
.industrial-button span { font-size: 19px; }
.industrial-button--outline { color: var(--industrial-green); background: transparent; border-color: var(--industrial-green); }
.industrial-button--light { color: var(--industrial-green-dark); background: #fff; border-color: #fff; }

.detail-evidence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.detail-evidence-grid figure { margin: 0; border: 1px solid var(--industrial-line); background: #fff; }
.detail-evidence-grid figure a { display: block; height: 280px; overflow: hidden; background: #eef2ef; }
.detail-evidence-grid img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.detail-evidence-grid figure:hover img { transform: scale(1.035); }
.detail-evidence-grid figcaption { min-height: 112px; display: flex; flex-direction: column; gap: 7px; padding: 20px; }
.detail-evidence-grid strong { font-size: 17px; }
.detail-evidence-grid span { color: var(--industrial-muted); font-size: 13px; line-height: 1.55; }

.company-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(500px, 1.15fr); gap: clamp(60px, 9vw, 140px); }
.company-copy > p:not(.industrial-eyebrow) { margin: 22px 0 28px; color: var(--industrial-muted); font-size: 16px; line-height: 1.75; }
.company-points { border-top: 1px solid #cfdad4; }
.company-points article { display: grid; grid-template-columns: 42px minmax(180px, .75fr) 1fr; gap: 18px; align-items: start; padding: 24px 0; border-bottom: 1px solid #cfdad4; }
.company-points article > span { color: #3c8e7e; font-size: 12px; font-weight: 800; }
.company-points h3 { margin: 0; font-size: 18px; }
.company-points p { margin: 0; color: var(--industrial-muted); font-size: 14px; line-height: 1.6; }

.project-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--industrial-line); border-bottom: 1px solid var(--industrial-line); }
.project-process-grid article { min-height: 210px; padding: 30px 25px; border-right: 1px solid var(--industrial-line); }
.project-process-grid article:last-child { border-right: 0; }
.project-process-grid b { color: #3d8d7e; font-size: 12px; }
.project-process-grid h3 { margin: 28px 0 10px; font-size: 20px; }
.project-process-grid p { margin: 0; color: var(--industrial-muted); font-size: 14px; line-height: 1.65; }

.industrial-contact { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 80px; align-items: center; padding: 74px max(28px, calc((100% - 1320px) / 2)); color: #fff; background: var(--industrial-green); }
.industrial-contact .industrial-eyebrow { color: var(--industrial-accent); }
.industrial-contact h2 { max-width: 780px; }
.industrial-contact > div > p:not(.industrial-eyebrow) { max-width: 780px; margin: 18px 0 0; color: #c7d6d0; font-size: 16px; line-height: 1.7; }
.contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.industrial-text-link { color: #fff; border-bottom: 1px solid rgba(255,255,255,.55); font-size: 14px; font-weight: 700; }

.footer.industrial-footer { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 50px; padding: 62px max(28px, calc((100% - 1320px) / 2)) 28px; color: #cad8d3; background: #06241f; }
.industrial-footer .industrial-brand { color: #fff; }
.footer-brand p { max-width: 270px; margin: 18px 0 0; color: #8fa79f; font-size: 13px; line-height: 1.65; }
.footer-column,
.footer-address { display: flex; flex-direction: column; gap: 10px; }
.footer-column strong,
.footer-address strong { margin-bottom: 8px; color: #fff; font-size: 13px; }
.footer-column a { color: #aabdb6; font-size: 13px; }
.footer-column a:hover { color: var(--industrial-accent); }
.footer-address address { color: #aabdb6; font-size: 13px; font-style: normal; line-height: 1.75; }
.industrial-footer .footer-legal { grid-column: 1 / -1; margin: 24px 0 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.13); color: #779087; font-family: Arial, Helvetica, sans-serif; font-size: 11px; text-align: left; }

/* Conventional industrial treatment shared by catalogue, product and guide pages. */
body:not(.industrial-page) { background: #fff; font-family: Arial, Helvetica, sans-serif; }
body:not(.industrial-page) .topbar { position: sticky; top: 0; z-index: 60; height: 78px; padding: 0 max(28px, calc((100% - 1440px) / 2)); color: var(--industrial-text); background: #fff; border-bottom: 1px solid var(--industrial-line); }
body:not(.industrial-page) .topbar .brand { color: var(--industrial-green-dark); font-size: 21px; letter-spacing: -1px; }
body:not(.industrial-page) .topbar .nav { gap: clamp(18px, 2.2vw, 36px); color: #38564d; font-size: 14px; }
body:not(.industrial-page) .topbar .nav a { color: #38564d; }
body:not(.industrial-page) .topbar .nav a[aria-current="page"],
body:not(.industrial-page) .topbar .nav a:hover { color: #207867; }
body:not(.industrial-page) .topbar .header-cta { color: #fff; background: var(--industrial-green); border-color: var(--industrial-green); }
body:not(.industrial-page) .breadcrumbs,
body:not(.industrial-page) .about-breadcrumbs { max-width: 1320px; margin: 0 auto; padding: 22px 28px; background: #fff; }
body:not(.industrial-page) .breadcrumbs,
body:not(.industrial-page) .about-breadcrumbs { display: flex; align-items: center; gap: 12px; }
body:not(.industrial-page) .footer { font-family: Arial, Helvetica, sans-serif; }

/* Product catalogue and detail pages use the same restrained machinery layout. */
body:not(.industrial-page) .catalog-carousel { max-width: none; margin: 0; border: 0; background: var(--industrial-green-dark); }
body:not(.industrial-page) .catalog-summary { max-width: 1320px; margin: 0 auto; padding: 28px; border-bottom: 1px solid var(--industrial-line); color: var(--industrial-muted); background: #fff; }
body:not(.industrial-page) .catalog-section,
body:not(.industrial-page) .detail-section,
body:not(.industrial-page) .related-section { max-width: 1320px; margin-right: auto; margin-left: auto; padding-right: 28px; padding-left: 28px; }
body:not(.industrial-page) .catalog-section { padding-top: 72px; padding-bottom: 82px; }
body:not(.industrial-page) .catalog-section .section-heading h2,
body:not(.industrial-page) .detail-section .section-heading h2,
body:not(.industrial-page) .related-section .section-heading h2 { font-family: Arial, Helvetica, sans-serif; font-size: clamp(30px, 3vw, 44px); font-weight: 700; line-height: 1.15; letter-spacing: -.03em; }
body:not(.industrial-page) .eyebrow { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
body:not(.industrial-page) .catalog-card { border-color: var(--industrial-line); background: #fff; }
body:not(.industrial-page) .catalog-image { background: #eef2ef; }
body:not(.industrial-page) .catalog-copy h3 { font-family: Arial, Helvetica, sans-serif; font-size: 25px; font-weight: 700; line-height: 1.26; letter-spacing: -.025em; }
body:not(.industrial-page) .catalog-copy > p:not(.eyebrow) { color: var(--industrial-muted); font-size: 15px; line-height: 1.65; }
body:not(.industrial-page) .catalog-guidance { color: #fff; background: var(--industrial-green); }
body:not(.industrial-page) .catalog-guidance h2 { font-family: Arial, Helvetica, sans-serif; font-size: clamp(32px, 3.4vw, 48px); font-weight: 700; letter-spacing: -.03em; }

body:not(.industrial-page) .detail-hero { max-width: 1320px; min-height: 570px; grid-template-columns: minmax(0, 1fr) minmax(460px, .9fr); gap: 70px; margin: 0 auto; padding: 60px 28px 72px; background: #fff; }
body:not(.industrial-page) .detail-hero-copy { align-self: center; }
body:not(.industrial-page) .detail-hero h1 { max-width: 700px; margin: 14px 0 22px; font-family: Arial, Helvetica, sans-serif; font-size: clamp(38px, 4vw, 58px); font-weight: 700; line-height: 1.08; letter-spacing: -.04em; }
body:not(.industrial-page) .detail-lede { max-width: 700px; color: var(--industrial-muted); font-size: 17px; line-height: 1.72; }
body:not(.industrial-page) .detail-hero-image { min-height: 470px; height: 470px; padding: 34px; border: 1px solid var(--industrial-line); background: #eef2ef; }
body:not(.industrial-page) .detail-hero-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
body:not(.industrial-page) .detail-tabs { top: 78px; z-index: 40; justify-content: center; padding: 0 28px; background: var(--industrial-green); border: 0; }
body:not(.industrial-page) .detail-tabs a { padding: 18px 0 15px; color: #d3dfdb; border-color: transparent; font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: 700; }
body:not(.industrial-page) .detail-tabs a:hover { color: #fff; border-color: var(--industrial-accent); }
body:not(.industrial-page) .overview-section { grid-template-columns: .72fr 1.28fr; }
body:not(.industrial-page) .overview-copy > p { color: var(--industrial-muted); font-size: 16px; line-height: 1.8; }
body:not(.industrial-page) .photo-card,
body:not(.industrial-page) .format-visual-card,
body:not(.industrial-page) .process-list li,
body:not(.industrial-page) .spec-table-wrap,
body:not(.industrial-page) .related-card { border-color: var(--industrial-line); box-shadow: none; }
body:not(.industrial-page) .photo-card figcaption,
body:not(.industrial-page) .format-visual-card figcaption { background: #fff; }
body:not(.industrial-page) .process-section { max-width: none; padding-right: max(28px, calc((100% - 1320px) / 2)); padding-left: max(28px, calc((100% - 1320px) / 2)); background: var(--industrial-gray); }
body:not(.industrial-page) .process-list h3 { font-family: Arial, Helvetica, sans-serif; font-weight: 700; letter-spacing: -.025em; }
body:not(.industrial-page) .specs-section { max-width: none; padding-right: max(28px, calc((100% - 1320px) / 2)); padding-left: max(28px, calc((100% - 1320px) / 2)); background: #f7f9f8; }
body:not(.industrial-page) .spec-table caption { color: #fff; background: var(--industrial-green); }
body:not(.industrial-page) .project-next { color: #fff; background: var(--industrial-green); }
body:not(.industrial-page) .project-next p { color: #c7d6d0; }
body:not(.industrial-page) .project-next .button { color: var(--industrial-green); background: #fff; }

/* Company profile */
.industrial-about .about-breadcrumbs { border-bottom: 1px solid var(--industrial-line); }
.company-hero { position: relative; min-height: 500px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr); align-items: center; overflow: hidden; color: #fff; background: var(--industrial-green-dark); }
.company-hero-copy { padding: 70px max(28px, calc((100vw - 1320px) / 2)); padding-right: 60px; }
.company-hero-copy h1 { max-width: 640px; margin: 0 0 20px; font-size: clamp(42px, 5vw, 70px); line-height: 1.04; letter-spacing: -.045em; }
.company-hero-copy p:not(.industrial-eyebrow) { max-width: 620px; margin: 0; color: #c3d3cd; font-size: 17px; line-height: 1.75; }
.company-hero-image { align-self: stretch; margin: 0; background: #f1f4f2; }
.company-hero-image img { width: 100%; height: 100%; display: block; object-fit: contain; padding: 42px; mix-blend-mode: multiply; }
.company-profile { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.company-profile-copy p { margin: 0 0 18px; color: var(--industrial-muted); font-size: 16px; line-height: 1.8; }
.company-supply-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.company-supply-grid article { padding: 28px; border: 1px solid var(--industrial-line); background: #fff; }
.company-supply-grid span { color: #3d8d7e; font-size: 12px; font-weight: 800; }
.company-supply-grid h3 { margin: 18px 0 10px; font-size: 20px; }
.company-supply-grid p { margin: 0; color: var(--industrial-muted); font-size: 14px; line-height: 1.65; }
.company-line-image { margin: 0; border: 1px solid var(--industrial-line); background: #fff; }
.company-line-image img { width: 100%; display: block; }
.company-line-image figcaption { padding: 14px 20px; color: var(--industrial-muted); font-size: 12px; }
.company-address-section { display: grid; grid-template-columns: 1fr .75fr; gap: 80px; color: #fff; background: var(--industrial-green); }
.company-address-section p { color: #cad8d3; font-size: 16px; line-height: 1.7; }
.company-address-section address { padding: 30px; border: 1px solid rgba(255,255,255,.25); font-size: 18px; font-style: normal; line-height: 1.8; }
.company-address-section address span { display: block; margin-bottom: 12px; color: var(--industrial-accent); font-size: 11px; font-weight: 800; letter-spacing: .12em; }

@media (max-width: 1120px) {
  .industrial-header .nav { gap: 16px; font-size: 13px; }
  .industrial-cta { display: none; }
  .industrial-slides { min-height: 360px; }
  .industrial-product-card { grid-template-columns: 38% 62%; }
  .detail-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .solutions-section { grid-template-columns: 1fr; }
  .solutions-image { min-height: 0; padding: 18px 0; }
  .solutions-copy { grid-template-columns: 1fr 1fr; }
  .solutions-copy .industrial-button { justify-self: start; }
  .company-section { grid-template-columns: 1fr; }
  .industrial-footer { grid-template-columns: 1.3fr 1fr 1fr !important; }
  .footer-address { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .utility-bar { display: none; }
  .topbar.industrial-header,
  body:not(.industrial-page) .topbar { height: 70px; padding: 0 22px; }
  .industrial-header .nav,
  body:not(.industrial-page) .topbar .nav { position: absolute; top: 70px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 22px 22px; color: #fff; background: var(--industrial-green-dark); }
  .industrial-header .nav.open,
  body:not(.industrial-page) .topbar .nav.open { display: flex; }
  .industrial-header .nav a,
  body:not(.industrial-page) .topbar .nav a { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.13); color: #fff; }
  .industrial-header .nav a[aria-current="page"]::after { display: none; }
  .industrial-header .mobile-menu,
  body:not(.industrial-page) .topbar .mobile-menu { display: block; margin-left: auto; color: var(--industrial-green); }
  .industrial-slides { aspect-ratio: 2.25 / 1; min-height: 0; }
  .industrial-banner-action { left: 22px; bottom: 20px; }
  .industrial-banner-controls { right: 22px; bottom: 20px; }
  .business-intro { grid-template-columns: 1fr; gap: 30px; }
  .business-intro-copy { padding-top: 0; }
  .industrial-product-grid { grid-template-columns: 1fr; }
  .industrial-product-card { min-height: 330px; }
  .project-process-grid { grid-template-columns: repeat(2, 1fr); }
  .project-process-grid article:nth-child(2) { border-right: 0; }
  .project-process-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--industrial-line); }
  .industrial-contact { grid-template-columns: 1fr; gap: 34px; }
  .industrial-footer { grid-template-columns: repeat(2, 1fr) !important; }
  .footer-address { grid-column: auto; }
  .company-hero { grid-template-columns: 1fr; }
  .company-hero-copy { padding: 60px 28px; }
  .company-hero-image { min-height: 420px; }
  .company-profile { grid-template-columns: 1fr; gap: 36px; }
  .company-address-section { grid-template-columns: 1fr; gap: 30px; }
  body:not(.industrial-page) .detail-hero { grid-template-columns: 1fr; gap: 30px; min-height: 0; padding: 44px 24px 54px; }
  body:not(.industrial-page) .detail-hero-image { min-height: 430px; height: 430px; }
  body:not(.industrial-page) .detail-tabs { top: 70px; justify-content: flex-start; overflow-x: auto; }
}

@media (max-width: 640px) {
  .industrial-brand { font-size: 19px; }
  .industrial-section { padding: 58px 20px; }
  .industrial-carousel { padding-bottom: 60px; }
  .industrial-slides { aspect-ratio: 1.95 / 1; }
  .industrial-slide img { object-fit: cover; }
  .industrial-banner-action { left: 16px; bottom: 10px; }
  .industrial-banner-action a { min-height: 40px; padding: 0 15px; font-size: 12px; }
  .industrial-banner-controls { right: 16px; bottom: 10px; }
  .industrial-banner-dots { height: 40px; padding: 0 12px; gap: 7px; }
  .industrial-banner-arrows button { width: 40px; height: 40px; }
  .industrial-heading h1,
  .industrial-heading h2,
  .section-title-row h2,
  .solutions-copy h2,
  .company-copy h2,
  .industrial-contact h2 { font-size: 32px; }
  .section-title-row { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 28px; }
  .industrial-product-card { display: flex; flex-direction: column; }
  .industrial-product-image { height: 270px; padding: 18px; }
  .industrial-product-card > div { padding: 24px 22px; }
  .industrial-product-card > div > p:not(.industrial-product-type) { min-height: 0; }
  .solutions-image { min-height: 0; padding: 14px 0; }
  .solutions-copy { grid-template-columns: 1fr; gap: 22px; padding: 40px 20px; }
  .detail-evidence-grid { grid-template-columns: 1fr; }
  .detail-evidence-grid figure a { height: 260px; }
  .company-points article { grid-template-columns: 36px 1fr; }
  .company-points article p { grid-column: 2; }
  .project-process-grid { grid-template-columns: 1fr; }
  .project-process-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--industrial-line); }
  .project-process-grid article:last-child { border-bottom: 0; }
  .industrial-contact { padding: 54px 20px; }
  .footer.industrial-footer { grid-template-columns: 1fr !important; padding: 48px 20px 24px; }
  .footer-address { grid-column: auto; }
  .company-hero-copy { padding: 48px 20px; }
  .company-hero-copy h1 { font-size: 39px; }
  .company-hero-image { min-height: 330px; }
  .company-hero-image img { padding: 24px; }
  .company-supply-grid { grid-template-columns: 1fr; }
  body:not(.industrial-page) .detail-hero { padding: 34px 20px 42px; }
  body:not(.industrial-page) .detail-hero h1 { font-size: 34px; }
  body:not(.industrial-page) .detail-hero-image { min-height: 340px; height: 340px; padding: 20px; }
  body:not(.industrial-page) .detail-tabs { top: 70px; padding: 0 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .industrial-slide,
  .industrial-product-image img,
  .detail-evidence-grid img { transition: none; }
}
