:root {
  --yellow: #ffcd11;
  --yellow-deep: #e3ae00;
  --ink: #10110f;
  --ink-soft: #242622;
  --paper: #f3f1eb;
  --white: #ffffff;
  --line: rgba(16, 17, 15, 0.2);
  --muted: #686a64;
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --body: "Barlow", Arial, sans-serif;
  --shadow: 0 18px 42px rgba(16, 17, 15, 0.2);
}

@font-face { font-family: "Barlow"; src: url("https://toughm.com/wp-content/themes/toughneer/assets/fonts/barlow-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("https://toughm.com/wp-content/themes/toughneer/assets/fonts/barlow-700.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Barlow Condensed"; src: url("https://toughm.com/wp-content/themes/toughneer/assets/fonts/barlow-condensed-800.ttf") format("truetype"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "Barlow Condensed"; src: url("https://toughm.com/wp-content/themes/toughneer/assets/fonts/barlow-condensed-900.ttf") format("truetype"); font-style: normal; font-weight: 900; font-display: swap; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: var(--body); font-size: 16px; line-height: 1.55; }
body.menu-open { overflow: hidden; }
body.product-deeplink .site-header, body.product-deeplink .hero, body.product-deeplink .intro-band, body.product-deeplink .work-selector, body.product-deeplink .machines, body.product-deeplink .applications, body.product-deeplink .support, body.product-deeplink .inquiry, body.product-deeplink .site-footer { display: none; }
::selection { background: var(--yellow); color: var(--ink); }
:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.wrap { width: min(1220px, calc(100% - 64px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: -60px; left: 20px; padding: 10px 14px; color: var(--ink); background: var(--yellow); font-weight: 700; }
.skip-link:focus { top: 20px; }

.site-header { position: absolute; z-index: 10; width: 100%; color: var(--white); background: linear-gradient(180deg, rgba(16,17,15,.88), rgba(16,17,15,0)); }
.topline { display: flex; align-items: center; justify-content: space-between; min-height: 35px; padding-inline: max(32px, calc((100vw - 1220px) / 2)); border-bottom: 1px solid rgba(255,255,255,.22); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.topline p { margin: 0; }
.topline a { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topline a { color: var(--yellow); }
.nav-shell { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 35px; width: min(1320px, calc(100% - 64px)); min-height: 84px; margin-inline: auto; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-family: var(--display); font-size: 30px; font-weight: 900; letter-spacing: .02em; line-height: 1; }
.site-header .brand { color: var(--white); }
.brand-mark { display: inline-flex; gap: 3px; align-items: flex-end; width: 27px; height: 24px; transform: skewX(-22deg); }
.brand-mark i { display: block; width: 6px; background: var(--yellow); }
.brand-mark i:nth-child(1) { height: 9px; }.brand-mark i:nth-child(2) { height: 17px; }.brand-mark i:nth-child(3) { height: 24px; }
.primary-nav { display: flex; align-items: center; gap: 28px; justify-content: center; }
.primary-nav a, .nav-dropdown-trigger, .nav-cta { font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.primary-nav-link, .nav-dropdown-trigger { position: relative; padding-block: 8px; }
.primary-nav-link::after, .nav-dropdown-trigger::after { position: absolute; right: 0; bottom: 2px; left: 0; height: 2px; background: var(--yellow); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.primary-nav-link:hover::after, .nav-dropdown-trigger:hover::after, .nav-dropdown.is-open .nav-dropdown-trigger::after { transform: scaleX(1); }
.nav-dropdown { position: relative; }
.nav-dropdown-trigger { display: inline-flex; align-items: center; gap: 8px; border: 0; color: var(--white); background: transparent; cursor: pointer; }
.nav-dropdown-trigger svg { width: 17px; height: 17px; stroke-width: 2.35; transition: transform .22s ease; }
.nav-dropdown.is-open .nav-dropdown-trigger svg { transform: rotate(180deg); }
.nav-dropdown-trigger:focus-visible, .primary-nav-link:focus-visible { outline: 2px solid var(--yellow); outline-offset: 5px; }
.nav-dropdown-menu { position: absolute; top: calc(100% + 15px); left: 50%; z-index: 20; display: grid; min-width: 212px; padding: 8px 0; border: 1px solid rgba(255, 205, 17, .55); color: var(--white); background: #10110f; box-shadow: 0 18px 42px rgba(0, 0, 0, .32); opacity: 0; pointer-events: none; transform: translate(-50%, -8px); transition: opacity .18s ease, transform .18s ease; }
.nav-dropdown-menu::before { position: absolute; top: -6px; left: 50%; width: 10px; height: 10px; border-top: 1px solid rgba(255, 205, 17, .55); border-left: 1px solid rgba(255, 205, 17, .55); background: #10110f; content: ""; transform: translateX(-50%) rotate(45deg); }
.nav-dropdown.is-open .nav-dropdown-menu { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.nav-dropdown-menu a { display: block; padding: 11px 16px; color: rgba(255, 255, 255, .82); font-size: 11px; font-weight: 700; letter-spacing: .05em; line-height: 1.2; text-decoration: none; text-transform: uppercase; }
.nav-dropdown-menu a::after { display: none; }
.nav-dropdown-menu a:hover, .nav-dropdown-menu a:focus-visible { color: var(--ink); background: var(--yellow); outline: 0; }
.nav-cta { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); background: var(--yellow); padding: 13px 16px; }
.nav-cta svg { width: 17px; height: 17px; }
.menu-toggle { display: none; }

.hero { position: relative; display: grid; min-height: 735px; height: min(850px, calc(100svh - 18px)); overflow: hidden; color: var(--white); background: #0d0e0e; isolation: isolate; }
.hero-site, .hero-veil, .hero-grid { position: absolute; inset: 0; }
.hero-site { z-index: 0; background: url("https://toughm.com/wp-content/themes/toughneer/assets/hero-worksite.jpg") center 46%/cover no-repeat; filter: grayscale(.52) contrast(1.18) brightness(.43) saturate(.74); transform: scale(1.02); }
.hero-veil { z-index: 1; background: linear-gradient(90deg, rgba(9,10,10,.97) 0%, rgba(9,10,10,.91) 31%, rgba(9,10,10,.54) 55%, rgba(9,10,10,.08) 82%, rgba(9,10,10,.18) 100%); }
.hero-grid { z-index: 3; opacity: .32; background: linear-gradient(90deg, transparent 0 49.92%, rgba(255,255,255,.2) 49.95% 50.05%, transparent 50.08%), linear-gradient(0deg, transparent 0 24.9%, rgba(255,255,255,.14) 24.95% 25.05%, transparent 25.1%); pointer-events: none; }
.hero-grid::before, .hero-grid::after { position: absolute; content: ""; }.hero-grid::before { top: 0; bottom: 0; left: 50%; width: 1px; background: repeating-linear-gradient(180deg, rgba(255,255,255,.6) 0 5px, transparent 5px 38px); }.hero-grid::after { right: 0; bottom: 25%; left: 50%; height: 1px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.55) 0 5px, transparent 5px 46px); }
.hero-content { position: relative; z-index: 4; display: block; align-self: center; min-width: 0; padding-top: 168px; padding-bottom: 128px; }.hero-copy { max-width: 720px; min-width: 0; }
.section-tag { margin: 0 0 18px; color: var(--yellow); font-size: 12px; font-weight: 700; letter-spacing: .13em; line-height: 1.2; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 800; letter-spacing: 0; line-height: .9; text-transform: uppercase; }
h1 { max-width: 750px; margin-bottom: 23px; font-size: clamp(58px, 6.2vw, 92px); }
h2 { margin-bottom: 0; font-size: clamp(44px, 5.3vw, 78px); }
h3 { margin-bottom: 14px; font-size: clamp(30px, 3vw, 45px); }
.hero h1 { color: var(--white); }
.hero-lead { max-width: 520px; margin-bottom: 32px; color: #a0a0a0; font-size: 18px; }
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 48px; border: 1px solid transparent; padding: 13px 19px; font-size: 13px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; transition: transform .2s ease, background-color .2s ease, color .2s ease; }
.button:hover { transform: translateY(-3px); }
.button svg { width: 18px; height: 18px; }
.button-dark { color: var(--white); background: var(--ink); }.button-dark:hover { background: #33352f; }
.button-yellow { color: var(--ink); background: var(--yellow); }.button-yellow:hover { background: var(--yellow-deep); }
.text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.text-link svg { width: 20px; height: 20px; transition: transform .2s ease; }.text-link:hover svg { transform: translateX(5px); }
.light-link { color: var(--ink); }
.hero-link { color: var(--white); }.hero-link svg { color: var(--yellow); }
.hero-console { position: relative; align-self: center; border: 1px solid rgba(255,255,255,.16); color: var(--white); background: rgba(11,12,12,.9); box-shadow: 0 20px 40px rgba(0,0,0,.5); }
.hero-console::before { position: absolute; top: -1px; left: 0; width: 68px; height: 3px; background: var(--yellow); content: ""; }
.console-head { display: flex; align-items: center; justify-content: space-between; padding: 19px 20px 15px; border-bottom: 1px solid rgba(255,255,255,.22); font-family: var(--display); font-size: 17px; font-weight: 800; letter-spacing: .04em; }
.console-live { display: inline-flex; align-items: center; gap: 6px; color: var(--yellow); font-family: var(--body); font-size: 9px; font-weight: 700; letter-spacing: .09em; }.console-live::before { width: 7px; height: 7px; background: var(--yellow); box-shadow: 0 0 0 4px rgba(255,205,17,.12); content: ""; }
.range-scale { padding: 8px 12px 14px; }.range-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; width: 100%; min-width: 0; padding: 14px 8px; color: var(--white); border: 0; border-bottom: 1px solid rgba(255,255,255,.18); background: transparent; text-align: left; transition: background-color .2s ease, color .2s ease, transform .2s ease; }.range-line:hover, .range-line.is-active { color: var(--ink); background: var(--yellow); transform: translateX(-4px); }
.range-line span, .console-foot p { color: rgba(255,255,255,.64); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }.range-line.is-active span, .range-line:hover span { color: var(--ink-soft); }.range-line b { font-family: var(--display); font-size: 22px; line-height: 1; }
.console-foot { padding: 15px 20px 14px; border-top: 1px solid rgba(255,255,255,.14); color: var(--white); }.console-foot p { margin-bottom: 3px; color: var(--yellow); }.console-foot span { display: block; font-size: 12px; line-height: 1.35; }.console-ruler { display: flex; gap: 4px; padding: 0 20px 18px; }.console-ruler span { display: block; height: 3px; flex: 1; background: rgba(255,255,255,.19); }.console-ruler span:nth-child(3) { background: var(--yellow); }
.hero-bottom { position: relative; z-index: 4; display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-self: end; align-items: center; padding-bottom: 25px; color: rgba(255,255,255,.78); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.hero-rule { height: 1px; background: rgba(255,203,0,.56); }.hero-bottom a { display: flex; align-items: center; gap: 7px; }.hero-bottom svg { width: 16px; height: 16px; color: var(--yellow); }

.intro-band { padding-block: 86px; background: var(--paper); }.intro-grid { display: grid; grid-template-columns: 1.15fr .85fr auto; gap: 55px; align-items: end; }.intro-grid h2 { font-size: clamp(42px, 5vw, 73px); }.intro-grid p { max-width: 430px; margin-bottom: 4px; font-size: 17px; line-height: 1.5; }.intro-grid .text-link { padding-bottom: 4px; border-bottom: 2px solid var(--ink); white-space: nowrap; }

.work-selector { padding-block: 96px; color: var(--white); background: var(--ink); }.work-selector-grid { display: grid; grid-template-columns: .76fr 1.24fr; gap: 86px; align-items: center; }.work-selector-copy h2 { color: var(--yellow); }.work-selector-copy p { max-width: 380px; margin: 25px 0; color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.55; }.selector-email { color: var(--yellow); border-bottom: 1px solid var(--yellow); padding-bottom: 4px; }.work-console { border-top: 3px solid var(--yellow); background: #1b1d1a; }.work-console-head { display: flex; justify-content: space-between; gap: 18px; padding: 17px 19px 15px; border-bottom: 1px solid rgba(255,255,255,.2); font-family: var(--display); font-size: 17px; font-weight: 800; letter-spacing: .04em; }.work-console-head span:last-child { color: var(--yellow); font-family: var(--body); font-size: 10px; letter-spacing: .08em; }.work-options { display: grid; grid-template-columns: 1fr 1fr; }.work-option { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto 19px; gap: 11px; align-items: center; min-height: 76px; padding: 13px 16px; color: var(--white); border: 0; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); background: transparent; text-align: left; transition: background-color .2s ease, color .2s ease, transform .2s ease; }.work-option:nth-child(even) { border-right: 0; }.work-option:hover, .work-option.is-active { color: var(--ink); background: var(--yellow); transform: translateX(-3px); }.work-icon { display: grid; place-items: center; width: 31px; height: 31px; color: var(--ink); background: rgba(255,255,255,.12); }.work-option:hover .work-icon, .work-option.is-active .work-icon { background: rgba(16,17,15,.13); }.work-icon svg { width: 16px; height: 16px; }.work-name { font-size: 12px; font-weight: 700; letter-spacing: .045em; line-height: 1.14; }.work-class { color: rgba(255,255,255,.58); font-size: 10px; font-weight: 700; letter-spacing: .06em; white-space: nowrap; }.work-option:hover .work-class, .work-option.is-active .work-class { color: rgba(16,17,15,.7); }.work-option > svg { width: 17px; height: 17px; }.work-console-foot { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 17px 19px 19px; color: rgba(255,255,255,.66); font-size: 12px; line-height: 1.35; }.work-console-foot a { display: inline-flex; align-items: center; gap: 7px; color: var(--yellow); font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }.work-console-foot a svg { width: 16px; height: 16px; }

.section { padding-block: 115px; }.machines { background: var(--white); }.section-head { display: grid; grid-template-columns: 1fr 390px; gap: 50px; align-items: end; margin-bottom: 63px; }.section-intro { max-width: 380px; margin: 0; color: #51534e; font-size: 17px; }
.machine-layout { display: grid; grid-template-columns: minmax(320px, .83fr) minmax(0, 1.17fr); border-top: 2px solid var(--ink); }.machine-list { border-right: 1px solid var(--line); }.machine-item { display: grid; grid-template-columns: 1fr auto 24px; gap: 13px; align-items: center; width: 100%; min-height: 132px; padding: 21px; color: var(--ink); border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; transition: color .2s, background-color .2s; }.machine-item:hover, .machine-item.is-active { background: var(--yellow); }.machine-name { font-family: var(--display); font-size: 30px; font-weight: 800; line-height: .87; }.machine-weight { font-size: 13px; font-weight: 700; white-space: nowrap; }.machine-item svg { width: 20px; height: 20px; }
.machine-detail { position: relative; min-height: 555px; overflow: hidden; padding: 27px 35px 32px; color: var(--white); background: var(--ink); }
.detail-topline { position: relative; z-index: 3; display: flex; justify-content: space-between; gap: 20px; color: var(--yellow); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.machine-photo { position: absolute; z-index: 0; top: 62px; right: 0; bottom: 0; left: 20%; margin: 0; overflow: hidden; background: #1a1d19; }
.machine-photo::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, var(--ink) 0%, rgba(16,17,15,.72) 23%, rgba(16,17,15,.08) 68%, rgba(16,17,15,.1) 100%); }
.machine-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; mix-blend-mode: screen; filter: contrast(1.07) saturate(.86); }
.detail-copy { position: absolute; z-index: 2; bottom: 33px; left: 35px; max-width: 360px; }.detail-copy h3 { max-width: 330px; }.detail-copy p { margin-bottom: 19px; color: rgba(255,255,255,.85); font-size: 14px; line-height: 1.48; }.detail-copy dl { margin: 0; }.detail-copy dl div { display: grid; grid-template-columns: 112px 1fr; gap: 11px; padding-block: 6px; border-top: 1px solid rgba(255,255,255,.24); font-size: 12px; }.detail-copy dt { color: var(--yellow); font-weight: 700; }.detail-copy dd { margin: 0; }.machine-detail .button { position: absolute; z-index: 3; right: 35px; bottom: 34px; }
.detail-spec-rack { position: absolute; z-index: 3; right: 35px; bottom: 95px; display: grid; grid-template-columns: repeat(3, minmax(80px, 1fr)); gap: 11px; width: min(310px, 42%); margin: 0; }.detail-spec-rack div { padding-top: 8px; border-top: 1px solid rgba(255,255,255,.28); }.detail-spec-rack dt { margin-bottom: 4px; color: var(--yellow); font-size: 9px; font-weight: 700; letter-spacing: .08em; }.detail-spec-rack dd { margin: 0; color: var(--white); font-size: 12px; font-weight: 700; line-height: 1.2; }
.product-console { margin-top: 66px; border-top: 2px solid var(--ink); }
.product-console-head { display: flex; justify-content: space-between; gap: 22px; padding-block: 18px 14px; color: var(--ink); font-family: var(--display); font-size: 22px; font-weight: 800; line-height: 1; text-transform: uppercase; }.product-console-head span:last-child { color: var(--muted); font-family: var(--body); font-size: 11px; letter-spacing: .08em; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-right: 0; }
.product-card { display: grid; grid-template-rows: 168px auto auto; min-width: 0; padding: 0; color: var(--ink); border: 0; border-right: 1px solid var(--line); background: var(--white); text-align: left; transition: background-color .2s ease, color .2s ease, transform .2s ease; }.product-card:hover, .product-card.is-active { color: var(--white); background: var(--ink); }.product-card:hover { transform: translateY(-4px); }.product-card img { display: block; width: 100%; height: 168px; object-fit: cover; object-position: center; filter: contrast(1.02) saturate(.83); }.product-card.is-active img { filter: contrast(1.05) saturate(.92); }
.product-card[data-product="me18"] img { object-position: 78% 50%; }.product-card[data-product="me26"] img { object-position: 69% 52%; }.product-card[data-product="me35"] img { object-position: 62% 54%; }.product-card[data-product="me60"] img { object-position: 69% 55%; }.product-card[data-product="me80"] img { object-position: 65% 54%; }
.product-card[data-product="me130"] img,
.product-card[data-product="me210"] img {
  object-fit: contain;
  object-position: center bottom;
  padding: 8px 12px;
  background: var(--white);
}

@media (max-width: 920px) {
  .primary-nav.is-open > .nav-dropdown { width: 100%; }
  .primary-nav.is-open > .nav-dropdown .nav-dropdown-trigger { justify-content: space-between; width: 100%; padding-block: 12px; border-bottom: 1px solid rgba(255,255,255,.16); text-align: left; }
  .primary-nav.is-open > .nav-dropdown .nav-dropdown-menu { position: static; display: none; min-width: 0; margin: 0; padding: 3px 0 7px 16px; border: 0; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; }
  .primary-nav.is-open > .nav-dropdown .nav-dropdown-menu::before { display: none; }
  .primary-nav.is-open > .nav-dropdown.is-open .nav-dropdown-menu { display: grid; }
  .primary-nav.is-open > .nav-dropdown .nav-dropdown-menu a { width: 100%; padding-block: 10px; border-bottom: 0; }
}

@media (max-width: 620px) {
  .product-card[data-product="me130"] img,
  .product-card[data-product="me210"] img { padding: 8px; }
}
.product-code { display: block; min-height: 50px; padding: 16px 16px 7px; font-family: var(--display); font-size: 24px; font-weight: 800; line-height: .92; }.product-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 12px; padding: 11px 16px 17px; border-top: 1px solid var(--line); }.product-specs b { font-size: 13px; line-height: 1.15; }.product-specs small { margin-bottom: 8px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .05em; line-height: 1.2; text-transform: uppercase; }.product-card.is-active .product-specs { border-color: rgba(255,255,255,.3); }.product-card.is-active .product-specs small, .product-card:hover .product-specs small { color: var(--yellow); }
.product-note { max-width: 760px; margin: 16px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.range-compare { display: grid; grid-template-columns: minmax(200px, .6fr) minmax(0, 1.4fr); gap: 56px; align-items: start; margin-top: 74px; padding-top: 27px; border-top: 2px solid var(--ink); }.range-compare-copy h3 { margin-bottom: 14px; font-size: 37px; }.range-compare-copy p { max-width: 275px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; }.range-compare-table { width: 100%; border-collapse: collapse; table-layout: fixed; }.range-compare-table .compare-metric-col { width: 26%; }.range-compare-table th, .range-compare-table td { border: 1px solid var(--line); text-align: left; vertical-align: middle; }.range-compare-table thead th { padding: 0; background: var(--ink); }.range-compare-table thead th:first-child { padding: 13px 15px; color: rgba(255,255,255,.7); font-size: 10px; font-weight: 700; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }.range-compare-table tbody th { padding: 12px 15px; color: var(--muted); background: var(--paper); font-size: 11px; font-weight: 700; letter-spacing: .05em; line-height: 1.2; text-transform: uppercase; }.range-compare-table td { padding: 12px 15px; color: var(--ink); background: var(--white); font-family: var(--display); font-size: 20px; font-weight: 800; line-height: 1; }.compare-choice { display: grid; gap: 5px; width: 100%; min-height: 72px; padding: 11px 14px; color: var(--white); border: 0; background: var(--ink); text-align: left; transition: background-color .18s ease, color .18s ease; }.compare-choice:hover { background: var(--ink-soft); }.compare-choice.is-active { color: var(--ink); background: var(--yellow); }.compare-choice b { font-family: var(--display); font-size: 23px; font-weight: 800; line-height: .9; }.compare-choice span { color: rgba(255,255,255,.62); font-size: 10px; font-weight: 700; letter-spacing: .05em; line-height: 1.15; }.compare-choice.is-active span { color: rgba(16,17,15,.7); }

.applications { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 605px; background: var(--ink); color: var(--white); }.application-photo { min-height: 100%; background: linear-gradient(90deg, rgba(16,17,15,.08), rgba(16,17,15,.55)), url("https://toughm.com/wp-content/themes/toughneer/assets/hero-worksite.jpg") center/cover no-repeat; filter: grayscale(.65) contrast(1.12); }.application-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 70px clamp(32px, 6vw, 100px); }.application-content h2 { margin-bottom: 23px; }.application-content > p:not(.section-tag) { max-width: 475px; color: rgba(255,255,255,.79); font-size: 17px; }.application-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }.application-chips span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.35); color: var(--yellow); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.product-record { scroll-margin-top: 25px; padding-block: 90px; background: var(--paper); }.record-shell { min-width: 0; border-top: 3px solid var(--ink); }.record-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding: 22px 0 32px; }.record-head > div { min-width: 0; }.record-label { display: block; margin-bottom: 10px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; }.record-head h2 { overflow-wrap: anywhere; font-size: clamp(48px, 5vw, 76px); }.record-tools, .record-nav { display: flex; align-items: center; gap: 7px; }.record-tools { flex: 0 0 auto; }.record-position { min-width: 42px; color: var(--muted); font-family: var(--display); font-size: 22px; font-weight: 800; line-height: 1; text-align: center; }.record-nav-button, .record-close { display: grid; place-items: center; flex: 0 0 auto; width: 47px; height: 47px; border: 0; transition: background-color .2s ease, color .2s ease, transform .2s ease; }.record-nav-button { color: var(--ink); border: 1px solid var(--line); background: var(--white); }.record-nav-button:hover:not(:disabled) { color: var(--white); background: var(--ink); transform: translateY(-2px); }.record-nav-button:disabled { color: #aaa9a2; border-color: rgba(16,17,15,.1); background: rgba(16,17,15,.05); cursor: not-allowed; }.record-close { color: var(--white); background: var(--ink); }.record-close:hover { background: #33352f; transform: rotate(6deg); }.record-nav-button svg, .record-close svg { width: 22px; height: 22px; }.record-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr); min-width: 0; min-height: 510px; }.record-image { min-width: 0; min-height: 510px; margin: 0; overflow: hidden; background: var(--ink); }.record-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.88) contrast(1.08); }.product-record[data-product="me18"] .record-image { background: var(--white); }.product-record[data-product="me18"] .record-image img { object-fit: contain; }.record-details { display: flex; flex-direction: column; min-width: 0; padding: 35px; color: var(--white); background: var(--ink); }.record-details > p { max-width: 470px; margin-bottom: 30px; color: rgba(255,255,255,.8); font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }.record-specs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-width: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.28); }.record-specs div { min-width: 0; min-height: 91px; padding: 17px 18px 16px 0; border-bottom: 1px solid rgba(255,255,255,.28); }.record-specs div:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.28); padding-right: 18px; }.record-specs div:nth-child(even) { padding-left: 18px; }.record-specs .record-engine { grid-column: 1 / -1; padding-left: 0; border-right: 0; }.record-specs dt { margin-bottom: 5px; color: var(--yellow); font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }.record-specs dd { margin: 0; overflow-wrap: anywhere; font-family: var(--display); font-size: 24px; font-weight: 800; line-height: .95; }.record-actions { display: flex; align-items: center; justify-content: space-between; gap: 21px; margin-top: auto; padding-top: 27px; }.record-actions > span { color: rgba(255,255,255,.55); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-align: right; text-transform: uppercase; }.record-specification { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }.record-specification-head, .record-gallery-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; margin-bottom: 21px; }.record-specification h3, .record-gallery h3 { font-size: 36px; }.record-specification-head p, .record-gallery p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; }.record-specification-group + .record-specification-group { margin-top: 30px; }.record-specification-group h4 { margin-bottom: 10px; color: var(--ink); font-size: 24px; }.record-specification-scroll { width: 100%; overflow-x: auto; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }.record-specification-scroll table { width: 100%; min-width: 690px; border-collapse: collapse; table-layout: fixed; }.record-specification-scroll th, .record-specification-scroll td { padding: 8px 14px; border-bottom: 1px solid var(--line); line-height: 1.2; }.record-specification-scroll thead th { color: var(--white); background: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-align: center; }.record-specification-scroll thead th:first-child { width: 42%; text-align: left; }.record-specification-scroll tbody th { color: #51534e; background: var(--paper); font-size: 12px; font-weight: 700; text-align: left; }.record-specification-scroll tbody td { color: var(--ink); background: var(--white); font-size: 14px; text-align: center; white-space: nowrap; }.record-specification-scroll tbody tr:last-child th, .record-specification-scroll tbody tr:last-child td { border-bottom: 0; }.record-specification-scroll thead th:first-child, .record-specification-scroll tbody th { position: sticky; left: 0; z-index: 1; }.record-specification-scroll thead th:first-child { z-index: 2; }.record-specification-note { max-width: 760px; margin: 13px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.record-gallery { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }.record-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.record-gallery-grid figure { display: grid; grid-template-rows: 260px auto; min-width: 0; margin: 0; background: var(--white); border: 1px solid var(--line); }.record-gallery-grid img { display: block; width: 100%; height: 100%; padding: 16px; object-fit: contain; }.record-gallery-grid figcaption { padding: 12px 15px; border-top: 1px solid var(--line); color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.product-record.is-opening .record-image { animation: record-image-arrive .54s cubic-bezier(.16,1,.3,1) both; }.product-record.is-opening .record-details { animation: record-details-arrive .48s cubic-bezier(.16,1,.3,1) both; }

.support { background: var(--paper); }.support-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 90px; }.support-list { border-top: 2px solid var(--ink); }.support-list article { display: grid; grid-template-columns: 52px 1fr; gap: 22px; padding-block: 27px; border-bottom: 1px solid var(--line); }.support-icon { display: grid; place-items: center; width: 43px; height: 43px; color: var(--ink); background: var(--yellow); }.support-icon svg { width: 22px; height: 22px; }.support-list h3 { margin-bottom: 7px; font-size: 30px; }.support-list p { max-width: 470px; margin: 0; color: #52544e; font-size: 15px; }

.inquiry { padding-block: 110px; background: var(--yellow); }.inquiry-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; }.inquiry-intro > p:not(.section-tag):not(.email-note) { max-width: 360px; margin: 23px 0 30px; font-size: 17px; }.email-link { display: inline-flex; align-items: center; gap: 11px; padding-bottom: 4px; border-bottom: 2px solid var(--ink); font-size: clamp(20px, 2.5vw, 30px); font-weight: 700; line-height: 1.25; }.email-link svg { width: 22px; height: 22px; }.email-note { margin: 9px 0 0; color: #635204; font-size: 12px; }.inquiry-form { padding: 32px; background: var(--white); box-shadow: var(--shadow); }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }.inquiry-form label { display: grid; gap: 7px; margin-bottom: 20px; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }.inquiry-form input, .inquiry-form textarea, .inquiry-form select { width: 100%; border: 0; border-bottom: 2px solid rgba(16,17,15,.24); border-radius: 0; padding: 10px 0; color: var(--ink); background: transparent; font-size: 16px; font-weight: 400; letter-spacing: 0; text-transform: none; outline: none; transition: border-color .2s; }.inquiry-form textarea { min-height: 105px; resize: vertical; }.inquiry-form select { cursor: pointer; }.inquiry-form input:focus, .inquiry-form textarea:focus, .inquiry-form select:focus { border-color: var(--ink); }.inquiry-form input::placeholder, .inquiry-form textarea::placeholder { color: #898b83; }.form-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 11px; }.form-status { max-width: 270px; margin: 0; color: #45463f; font-size: 13px; line-height: 1.35; }

.site-footer { color: var(--white); background: var(--ink); }.footer-top { display: flex; align-items: center; justify-content: space-between; min-height: 130px; border-bottom: 1px solid rgba(255,255,255,.25); }.brand-footer { color: var(--white); }.footer-top > a:not(.brand) { color: var(--yellow); font-size: 14px; font-weight: 700; }.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding-block: 20px; color: rgba(255,255,255,.61); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }.footer-bottom p { margin: 0; }

@media (max-width: 920px) {
  .nav-shell { grid-template-columns: 1fr auto; gap: 15px; }.primary-nav, .nav-cta { display: none; }.menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.5); color: var(--white); background: transparent; }.menu-toggle svg { width: 22px; height: 22px; }.primary-nav.is-open { position: absolute; top: 119px; left: 0; display: flex; flex-direction: column; align-items: flex-start; width: 100%; padding: 25px 32px 30px; background: var(--ink); box-shadow: 0 14px 20px rgba(0,0,0,.25); }.primary-nav.is-open a { width: 100%; padding-block: 12px; border-bottom: 1px solid rgba(255,255,255,.16); }.hero { min-height: 805px; }.hero-image { width: 69%; }.hero-veil { background: linear-gradient(90deg, var(--yellow) 0%, rgba(255,205,17,.94) 52%, rgba(255,205,17,.22) 100%); }.hero-content { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-top: 150px; padding-bottom: 78px; }.hero-console { width: min(100%, 410px); }.intro-grid, .section-head, .support-grid, .inquiry-grid, .range-compare { grid-template-columns: 1fr; gap: 32px; }.intro-grid { align-items: start; }.section-head { margin-bottom: 45px; }.range-compare { margin-top: 58px; }.range-compare-copy p { max-width: 520px; }.work-selector-grid { grid-template-columns: 1fr; gap: 42px; }.work-selector-copy p { max-width: 560px; }.machine-layout { grid-template-columns: 1fr; }.machine-list { border-right: 0; }.machine-detail { min-height: 560px; }.product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.applications { grid-template-columns: 1fr; }.application-photo { min-height: 350px; }.application-content { padding: 70px max(32px, calc((100vw - 700px)/2)); }.support-grid { gap: 48px; }.inquiry-grid { gap: 52px; }
}

@media (max-width: 620px) {
  .wrap { width: calc(100% - 38px); max-width: 1220px; }.topline { min-height: 30px; padding-inline: 19px; font-size: 9px; }.topline p { display: none; }.topline a { width: 100%; margin-left: auto; text-align: right; }.nav-shell { width: calc(100% - 38px); max-width: 1320px; min-height: 70px; }.brand { font-size: 25px; }.brand-mark { width: 23px; height: 20px; }.brand-mark i { width: 5px; }.brand-mark i:nth-child(1) { height: 8px; }.brand-mark i:nth-child(2) { height: 14px; }.brand-mark i:nth-child(3) { height: 20px; }.primary-nav.is-open { top: 100px; padding-inline: 19px; }.hero { min-height: 805px; }.hero-image { width: 100%; background-position: 69% 76%; opacity: .9; }.hero-veil { background: linear-gradient(180deg, var(--yellow) 0%, rgba(255,205,17,.87) 49%, rgba(16,17,15,.12) 100%); }.hero-content { width: calc(100% - 38px); gap: 27px; padding-top: 130px; padding-bottom: 50px; }.hero-copy, .hero-lead { width: 100%; max-width: 100%; }.hero h1 { max-width: 100%; font-size: 46px; line-height: .92; overflow-wrap: break-word; }.hero-lead { margin-bottom: 24px; font-size: 16px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }.button { min-height: 45px; padding: 11px 14px; font-size: 11px; }.hero-console { align-self: auto; width: 100%; max-width: 410px; }.range-scale { padding-bottom: 9px; }.range-line { padding-block: 10px; }.console-foot { padding-block: 12px 14px; }.hero-bottom { width: calc(100% - 38px); grid-template-columns: 1fr auto; padding-bottom: 23px; font-size: 9px; }.hero-bottom span:first-child, .hero-rule { display: none; }.hero-bottom a { margin-left: auto; }.intro-band, .section, .inquiry { padding-block: 70px; }.work-selector { padding-block: 70px; }.work-selector-copy p { font-size: 16px; }.work-console-head { align-items: flex-start; flex-direction: column; gap: 7px; }.work-options { grid-template-columns: 1fr; }.work-option, .work-option:nth-child(even) { border-right: 0; }.work-console-foot { align-items: flex-start; flex-direction: column; gap: 13px; }.intro-grid p { font-size: 16px; }.section-head { margin-bottom: 35px; }.section-intro { font-size: 16px; }.machine-item { grid-template-columns: 1fr auto 18px; gap: 9px; min-height: 105px; padding: 18px 10px; }.machine-name { font-size: 25px; }.machine-weight { font-size: 11px; }.machine-detail { min-height: 625px; padding: 22px 20px; }.machine-photo { top: 74px; left: 0; }.machine-photo::after { background: linear-gradient(180deg, rgba(16,17,15,.1) 0%, rgba(16,17,15,.18) 34%, var(--ink) 76%); }.detail-copy { bottom: 158px; left: 20px; right: 20px; }.detail-copy h3 { font-size: 40px; }.detail-copy dl div { grid-template-columns: 101px 1fr; }.detail-spec-rack { right: 20px; bottom: 89px; left: 20px; width: auto; }.machine-detail .button { right: auto; bottom: 23px; left: 20px; }.product-console { margin-top: 45px; }.product-console-head { align-items: baseline; font-size: 20px; }.product-grid { grid-template-columns: 1fr; }.product-card { grid-template-columns: 132px minmax(0, 1fr); grid-template-rows: auto auto; min-height: 150px; }.product-card img { grid-row: 1 / 3; width: 132px; height: 150px; }.product-code { min-height: 0; padding: 17px 16px 9px; }.product-specs { grid-template-columns: 1fr 1fr; padding: 8px 16px 15px; }.product-specs small { margin-bottom: 4px; }.product-note { font-size: 11px; }.range-compare { margin-top: 46px; padding-top: 21px; gap: 22px; }.range-compare-copy h3 { font-size: 33px; }.range-compare-copy p { max-width: 310px; font-size: 13px; }.range-compare-table .compare-metric-col { width: 29%; }.range-compare-table thead th:first-child { padding: 9px 8px; font-size: 8px; overflow-wrap: anywhere; }.compare-choice { min-height: 70px; padding: 8px 7px; }.compare-choice b { font-size: 18px; overflow-wrap: anywhere; }.compare-choice span { font-size: 8px; overflow-wrap: anywhere; }.range-compare-table tbody th { padding: 10px 8px; font-size: 9px; overflow-wrap: anywhere; }.range-compare-table td { padding: 10px 7px; font-size: 16px; overflow-wrap: anywhere; }.application-photo { min-height: 275px; }.application-content { padding: 56px 19px 63px; }.application-content > p:not(.section-tag) { font-size: 16px; }.support-list article { grid-template-columns: 42px 1fr; gap: 15px; }.support-icon { width: 37px; height: 37px; }.support-list h3 { font-size: 27px; }.form-row { grid-template-columns: 1fr; gap: 0; }.inquiry-form { padding: 25px 20px; }.form-submit-row { align-items: flex-start; flex-direction: column; }.footer-top, .footer-bottom { align-items: flex-start; flex-direction: column; }.footer-top { justify-content: center; min-height: 120px; gap: 20px; }.footer-bottom { gap: 5px; }
}

@media (prefers-reduced-motion: no-preference) {
  .machine-detail.is-refreshing { animation: control-refresh .32s ease both; }
  .work-console:not([data-reveal]) { animation: work-console-arrive .58s cubic-bezier(.16,1,.3,1) both; }
  .work-option { animation: work-option-arrive .42s cubic-bezier(.16,1,.3,1) both; }
  .work-option:nth-child(2) { animation-delay: .06s; }
  .work-option:nth-child(3) { animation-delay: .12s; }
  .work-option:nth-child(4) { animation-delay: .18s; }
  .work-option:nth-child(5) { animation-delay: .24s; }
  .scroll-motion [data-reveal] { opacity: 0; transform: translate3d(0, 22px, 0); transition: opacity .46s cubic-bezier(.16,1,.3,1), transform .46s cubic-bezier(.16,1,.3,1), clip-path .5s cubic-bezier(.16,1,.3,1); transition-delay: calc(var(--reveal-order, 0) * 70ms); will-change: opacity, transform, clip-path; }
  .scroll-motion [data-reveal="panel"] { transform: translate3d(28px, 0, 0); clip-path: inset(0 0 0 8%); }
  .scroll-motion [data-reveal="panel-left"] { transform: translate3d(-28px, 0, 0); clip-path: inset(0 8% 0 0); }
  .scroll-motion [data-reveal="photo"] { transform: translate3d(-18px, 0, 0) scale(1.025); clip-path: inset(0 7% 0 0); }
  .scroll-motion [data-reveal="product-card"] { transform: translate3d(0, 18px, 0); transition-duration: .38s; }
  .scroll-motion [data-reveal="list-item"] { transform: translate3d(18px, 0, 0); transition-delay: calc(var(--reveal-order, 0) * 90ms); }
  .scroll-motion [data-reveal].is-revealed { opacity: 1; transform: none; clip-path: inset(0); will-change: auto; }
  .scroll-motion .product-card[data-reveal].is-revealed:hover { transform: translateY(-4px); }
}
@keyframes control-refresh { from { opacity: .78; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes work-console-arrive { from { opacity: 0; transform: translate3d(34px, 0, 0); clip-path: inset(0 0 0 8%); } to { opacity: 1; transform: translate3d(0, 0, 0); clip-path: inset(0); } }
@keyframes work-option-arrive { from { opacity: 0; transform: translate3d(12px, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes record-image-arrive { from { opacity: .25; transform: translate3d(-18px, 0, 0) scale(1.025); clip-path: inset(0 0 0 6%); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); clip-path: inset(0); } }
@keyframes record-details-arrive { from { opacity: 0; transform: translate3d(20px, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@media (max-width: 920px) { .product-record { padding-block: 75px; }.record-grid { grid-template-columns: 1fr; }.record-image { min-height: 430px; }.record-details { min-height: 460px; } }
@media (max-width: 620px) {
  .topline, .hero-content, .hero-bottom { width: calc(100vw - 38px); max-width: calc(100vw - 38px); min-width: 0; }
  .topline { overflow: hidden; }
  .topline a { display: block; flex: 1 1 auto; min-width: 0; max-width: 100%; overflow-wrap: anywhere; font-size: 8px; letter-spacing: .03em; text-align: left; }
  .hero-content { display: flex; flex-direction: column; align-items: stretch; }
  .hero-copy, .hero-lead { width: calc(100vw - 58px); max-width: calc(100vw - 58px); min-width: 0; }
  .hero-console { width: 100%; max-width: 100%; min-width: 0; }
  .hero-machine { background-position: var(--machine-position-mobile, var(--machine-position, 71% 58%)); }
  .hero-copy { flex: 0 0 auto; }
  .hero-console { flex: 0 0 auto; overflow: hidden; }
  .hero-lead { max-width: 300px; font-size: 15px; overflow-wrap: anywhere; }
  .range-line { grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 4px; }
  .range-line span, .range-line b, .console-foot span { min-width: 0; overflow-wrap: anywhere; }
  .range-line b { display: block; max-width: none; white-space: normal; text-align: left; }
  .hero-bottom { display: block; width: calc(100vw - 58px); max-width: calc(100vw - 58px); min-width: 0; overflow: hidden; }
  .hero-bottom a { display: inline-flex; min-width: 0; max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
  .product-record { width: 100%; min-width: 0; padding-block: 70px; overflow: hidden; }.product-deeplink .product-record .wrap { width: calc(100vw - 32px); max-width: calc(100vw - 32px); margin-inline: 16px; }.record-shell, .record-grid, .record-details, .record-specs, .record-specs div { width: 100%; min-width: 0; max-width: 100%; }.record-head { padding: 18px 0 25px; }.record-head h2 { font-size: 40px; }.record-close { width: 42px; height: 42px; }.record-image { min-height: 260px; }.record-details { min-height: 0; padding: 25px 20px; overflow: hidden; }.record-details > p, .record-specs, .record-actions { width: min(100%, 290px); max-width: 290px; }.record-details > p { margin-bottom: 23px; font-size: 14px; overflow-wrap: anywhere; }.record-specs { grid-template-columns: 1fr; }.record-specs div, .record-specs div:nth-child(odd), .record-specs div:nth-child(even) { min-height: 0; padding: 14px 0; border-right: 0; }.record-specs dd { font-size: 21px; }.record-actions { align-items: flex-start; flex-direction: column; margin-top: 0; padding-top: 23px; }.record-actions > span { text-align: left; }
}
@media (max-width: 620px) { .record-head { flex-direction: column; align-items: stretch; gap: 14px; }.record-tools { display: flex; justify-content: flex-start; width: 100%; }.record-tools, .record-nav { gap: 5px; }.record-position { min-width: 36px; font-size: 19px; }.record-nav-button, .record-close { width: 42px; height: 42px; }.record-nav-button svg, .record-close svg { width: 20px; height: 20px; } }
@media (max-width: 620px) { .record-specification, .record-gallery { margin-top: 28px; padding-top: 22px; }.record-specification-head, .record-gallery-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }.record-specification h3, .record-gallery h3 { font-size: 32px; }.record-specification-group + .record-specification-group { margin-top: 24px; }.record-specification-group h4 { font-size: 22px; }.record-specification-scroll { margin-inline: -1px; }.record-specification-scroll table { min-width: 590px; }.record-specification-scroll thead th:first-child { width: 34%; }.record-specification-scroll th, .record-specification-scroll td { padding: 8px 12px; }.record-gallery-grid { grid-template-columns: 1fr; gap: 11px; }.record-gallery-grid figure { grid-template-rows: 230px auto; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

@media (max-width: 920px) {
  .hero-veil { background: linear-gradient(90deg, rgba(9,10,10,.98) 0%, rgba(9,10,10,.92) 48%, rgba(9,10,10,.32) 76%, rgba(9,10,10,.08) 100%); }
}

@media (max-width: 620px) {
  .hero-site { background-position: 58% center; filter: grayscale(.58) contrast(1.16) brightness(.36) saturate(.7); }
  .hero { min-height: 690px; height: calc(100svh - 18px); }
  .hero-content { padding-top: 154px; padding-bottom: 102px; }
  .hero-veil { background: linear-gradient(180deg, rgba(9,10,10,.98) 0%, rgba(9,10,10,.93) 43%, rgba(9,10,10,.5) 70%, rgba(9,10,10,.16) 100%); }
  .hero-grid { opacity: .16; }
}

.product-record[data-product="me210"] .record-image { background: var(--white); }
.product-record[data-product="me210"] .record-image img { object-fit: contain; filter: saturate(.92) contrast(1.04); }

/* Homepage range hero: the scroll sequence is scoped so the remaining site stays unchanged. */
.range-hero {
  --range-hero-coal: #162022;
  --range-hero-deep: #0e1415;
  --range-hero-paper: #f4f4ee;
  --range-hero-muted: rgba(244, 244, 238, 0.76);
  position: relative;
  display: block;
  min-height: 350dvh;
  height: 350dvh;
  overflow: visible;
  color: var(--range-hero-paper);
  background: var(--range-hero-coal);
}

.range-hero-stage {
  position: sticky;
  top: 0;
  height: 100dvh;
  min-height: 640px;
  overflow: clip;
  isolation: isolate;
  background: var(--range-hero-coal);
}

.range-hero-scene,
.range-hero-slab {
  position: absolute;
  inset: 0;
}

.range-hero-scene {
  z-index: 1;
  overflow: hidden;
  transition: opacity 520ms cubic-bezier(.16, 1, .3, 1), clip-path 620ms cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, clip-path;
}

.range-hero-scene-two,
.range-hero-scene-three {
  opacity: 0;
  pointer-events: none;
}

.range-hero-scene-two { z-index: 2; clip-path: inset(0 0 100% 0); }
.range-hero-scene-three { z-index: 3; clip-path: inset(100% 0 0 0); }

.range-hero-slab { z-index: 0; }
.range-hero-slab-one { background: var(--yellow); clip-path: polygon(46% 0, 100% 0, 100% 100%, 32% 100%); }
.range-hero-slab-one::after,
.range-hero-slab-two::after,
.range-hero-slab-three::after {
  position: absolute;
  content: "";
}
.range-hero-slab-one::after { top: 0; bottom: 0; left: 0; width: 58%; background: var(--range-hero-coal); }
.range-hero-slab-two { background: var(--yellow); }
.range-hero-slab-two::after { top: 29%; right: 0; left: 0; height: 38%; background: var(--range-hero-deep); }
.range-hero-slab-three { background: var(--range-hero-coal); }
.range-hero-slab-three::after { top: 0; right: 0; bottom: 0; width: 34%; background: var(--yellow); }

.range-hero-machine {
  position: absolute;
  z-index: 1;
  display: block;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  transition: transform 900ms cubic-bezier(.16, 1, .3, 1);
  will-change: transform;
}

.range-hero-machine-wide { right: -8vw; bottom: -19vh; width: min(112vw, 1840px); filter: contrast(1.06) saturate(.94); transform: translate3d(6%, 0, 0) scale(1.02); }
.range-hero-machine-tall { right: -2vw; bottom: -22vh; width: min(66vw, 940px); filter: contrast(1.04) saturate(.94); transform: translate3d(9%, 7%, 0) scale(.96); }
.range-hero-machine-compact { right: -4vw; bottom: -7vh; width: min(89vw, 1440px); filter: contrast(1.1) saturate(.9); transform: translate3d(10%, 4%, 0) scale(.96); }

.range-hero-copy {
  position: absolute;
  z-index: 3;
  left: max(32px, calc((100vw - 1220px) / 2));
  width: min(38%, 530px);
}

.range-hero-intro-copy,
.range-hero-detail-copy,
.range-hero-range-copy { top: 50%; transform: translateY(-50%); }
.range-hero-detail-copy { left: max(32px, calc((100vw - 1160px) / 2)); width: min(34%, 460px); }
.range-hero-range-copy { width: min(41%, 570px); }

.range-hero h1,
.range-hero h2 {
  max-width: 570px;
  margin: 0 0 24px;
  color: var(--range-hero-paper);
  font-family: var(--display);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .9;
  text-transform: uppercase;
}

.range-hero h1 { font-size: 82px; }
.range-hero h2 { font-size: 70px; }

.range-hero-copy > p:not(.range-hero-model-label) {
  max-width: 390px;
  margin-bottom: 29px;
  color: var(--range-hero-muted);
  font-size: 16px;
  line-height: 1.5;
}

.range-hero-model-label,
.range-hero-machine-name {
  margin-bottom: 15px;
  color: var(--yellow);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.range-hero-machine-name {
  position: absolute;
  z-index: 2;
  right: max(32px, calc((100vw - 1220px) / 2));
  bottom: 96px;
  margin: 0;
  color: var(--range-hero-deep);
}

.range-hero-machine-name-light { color: var(--range-hero-paper); }
.range-hero-action-dark { color: var(--range-hero-paper); background: var(--range-hero-deep); }
.range-hero-action-dark:hover { color: var(--range-hero-deep); background: var(--range-hero-paper); }

.range-hero-tools {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 64px;
  padding: 0 max(32px, calc((100vw - 1220px) / 2));
  color: var(--range-hero-muted);
  background: var(--range-hero-deep);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.range-hero-replay {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 4px 3px;
  border: 0;
  border-bottom: 1px solid rgba(244, 244, 238, .34);
  color: var(--range-hero-paper);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.range-hero-replay:hover { color: var(--yellow); }
body.range-hero-active .site-header { position: fixed; }

.range-hero[data-hero-scene="two"] .range-hero-scene-one,
.range-hero[data-hero-scene="three"] .range-hero-scene-one { opacity: 0; clip-path: inset(0 0 100% 0); }
.range-hero[data-hero-scene="two"] .range-hero-scene-two { opacity: 1; clip-path: inset(0); pointer-events: auto; }
.range-hero[data-hero-scene="three"] .range-hero-scene-two { opacity: 0; clip-path: inset(0 100% 0 0); }
.range-hero[data-hero-scene="three"] .range-hero-scene-three { opacity: 1; clip-path: inset(0); pointer-events: auto; }
.range-hero[data-hero-scene="two"] .range-hero-machine-wide,
.range-hero[data-hero-scene="three"] .range-hero-machine-wide { transform: translate3d(-6%, -4%, 0) scale(1.08); }
.range-hero[data-hero-scene="two"] .range-hero-machine-tall { transform: translate3d(-6%, -5%, 0) scale(1.04); }
.range-hero[data-hero-scene="three"] .range-hero-machine-compact { transform: translate3d(-4%, -2%, 0) scale(1.04); }

@media (max-width: 900px) {
  .range-hero-copy { width: min(47%, 430px); }
  .range-hero-detail-copy { width: min(43%, 430px); }
  .range-hero h1 { font-size: 64px; }
  .range-hero h2 { font-size: 54px; }
  .range-hero-machine-wide { right: -17vw; width: 144vw; }
  .range-hero-machine-tall { right: -13vw; width: 84vw; }
  .range-hero-machine-compact { right: -22vw; width: 117vw; }
}

@media (max-width: 640px) {
  .range-hero { min-height: 320dvh; height: 320dvh; }
  .range-hero-stage { min-height: 600px; }
  .range-hero-tools { min-height: 54px; padding-inline: 19px; align-items: flex-end; font-size: 9px; }
  .range-hero-copy,
  .range-hero-intro-copy,
  .range-hero-detail-copy,
  .range-hero-range-copy { top: 23%; left: 19px; width: calc(100% - 38px); max-width: 330px; transform: none; }
  .range-hero-detail-copy { top: 42%; left: 0; width: 260px; max-width: 260px; padding: 18px 19px 21px; background: var(--range-hero-deep); }
  .range-hero-range-copy { top: 18%; }
  .range-hero h1 { margin-bottom: 17px; font-size: 46px; }
  .range-hero h2 { margin-bottom: 16px; font-size: 44px; }
  .range-hero-copy > p:not(.range-hero-model-label) { max-width: 295px; margin-bottom: 22px; font-size: 14px; }
  .range-hero-model-label,
  .range-hero-machine-name { margin-bottom: 11px; font-size: 11px; }
  .range-hero-machine-name { right: 19px; bottom: 76px; }
  .range-hero-machine-wide { right: -53vw; bottom: -9vh; width: 192vw; }
  .range-hero-machine-tall { right: -27vw; bottom: -5vh; width: 118vw; }
  .range-hero-machine-compact { right: -58vw; bottom: 0; width: 168vw; }
  .range-hero-replay { max-width: 120px; font-size: 10px; text-align: right; }
}

@media (prefers-reduced-motion: reduce) {
  .range-hero { min-height: 100svh; height: 100svh; }
  .range-hero-stage { position: relative; }
  .range-hero-scene { transition: none; }
  .range-hero-scene-two,
  .range-hero-scene-three { display: none; }
  .range-hero-machine { transition: none; }
}

/* AccordionGallery-style homepage hero. Kept scoped so the rest of the site is unchanged. */
.range-hero--accordion {
  --ag-accent: var(--yellow);
  --ag-overlay: #080d0d;
  --ag-text: var(--white);
  position: relative;
  display: block;
  min-height: min(860px, 100svh);
  height: min(860px, 100svh);
  overflow: hidden;
  color: var(--white);
  background: #111919;
  isolation: isolate;
}

.range-hero--accordion::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(112deg, rgba(9, 14, 14, .98) 0%, rgba(9, 14, 14, .88) 29%, rgba(9, 14, 14, .33) 57%, rgba(255, 205, 17, .27) 100%);
  content: "";
  pointer-events: none;
}

.range-hero--accordion::after {
  position: absolute;
  top: 17%;
  right: -8%;
  bottom: 7%;
  z-index: 0;
  width: 58%;
  background: linear-gradient(135deg, rgba(255, 205, 17, .18), rgba(255, 205, 17, .74) 46%, rgba(227, 174, 0, .54));
  clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%);
  content: "";
  opacity: .72;
  pointer-events: none;
}

.range-hero--accordion .range-hero-gallery::before {
  position: absolute;
  top: -32px;
  right: -18px;
  bottom: -32px;
  left: 32%;
  z-index: -1;
  background: rgba(255, 205, 17, .16);
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
  content: "";
  pointer-events: none;
}

.range-hero-gallery-intro {
  position: absolute;
  z-index: 4;
  top: clamp(118px, 17vh, 170px);
  left: max(24px, calc((100vw - 1220px) / 2));
  width: min(34vw, 410px);
  pointer-events: none;
}

.range-hero-gallery-kicker {
  margin: 0 0 18px;
  color: var(--yellow);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.range-hero--accordion .range-hero-gallery-intro h1 {
  max-width: 500px;
  margin: 0 0 22px;
  color: var(--white);
  font-family: var(--display);
  font-size: clamp(58px, 6.6vw, 100px);
  font-weight: 900;
  line-height: .84;
  text-transform: uppercase;
}

.range-hero-gallery-intro > p:not(.range-hero-gallery-kicker) {
  max-width: 320px;
  margin: 0 0 24px;
  color: rgba(255, 255, 255, .72);
  font-size: 15px;
  line-height: 1.45;
}

.range-hero-gallery-cta {
  pointer-events: auto;
  color: var(--ink);
  background: var(--yellow);
}

.range-hero-gallery-cta:hover {
  color: var(--ink);
  background: #ffe268;
}

.range-hero-gallery {
  position: absolute;
  z-index: 2;
  top: clamp(210px, 30vh, 285px);
  right: max(24px, calc((100vw - 1320px) / 2));
  bottom: 92px;
  left: max(24px, calc((100vw - 1320px) / 2));
  display: flex;
  gap: 10px;
  min-width: 0;
  perspective: 1400px;
  perspective-origin: 50% 50%;
}

.range-hero-gallery-panel {
  position: relative;
  display: block;
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 4px;
  background: #192322;
  box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .9);
  cursor: pointer;
  outline: none;
  text-decoration: none;
  transform-origin: center center;
  transform-style: preserve-3d;
  transition: flex-grow .6s cubic-bezier(.22, 1, .36, 1), transform .6s cubic-bezier(.22, 1, .36, 1), border-color .2s ease;
  will-change: flex-grow, transform;
  -webkit-tap-highlight-color: transparent;
}

.range-hero-gallery-panel:hover,
.range-hero-gallery-panel.is-active {
  border-color: rgba(255, 205, 17, .68);
}

.range-hero-gallery-panel:focus-visible {
  border-color: var(--yellow);
  box-shadow: 0 0 0 2px var(--yellow), 0 18px 40px -22px rgba(0, 0, 0, .9);
}

.range-hero-gallery-frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
}

.range-hero-gallery-media {
  --ag-gray: 1;
  --ag-dim: .36;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  filter: grayscale(var(--ag-gray));
  transform: translate(-50%, -50%);
  transition: transform .6s cubic-bezier(.22, 1, .36, 1), filter .6s cubic-bezier(.22, 1, .36, 1);
  will-change: transform, filter;
}

.range-hero-gallery-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  padding: 18px 22px 52px;
  user-select: none;
  -webkit-user-drag: none;
}

.range-hero-gallery-panel[data-gallery-panel="3"] .range-hero-gallery-media img {
  padding-inline: 38px;
}

.range-hero-gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 13, 13, .02) 32%, rgba(8, 13, 13, .88) 100%), rgba(8, 13, 13, var(--ag-dim, .36));
  pointer-events: none;
}

.range-hero-gallery-label {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  pointer-events: none;
}

.range-hero-gallery-bar {
  flex: 0 0 auto;
  width: 3px;
  height: 27px;
  background: var(--yellow);
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity .35s ease, transform .35s ease;
}

.range-hero-gallery-text {
  overflow: hidden;
  color: var(--white);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.1;
  opacity: 0;
  text-overflow: ellipsis;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .55);
  text-transform: uppercase;
  transform: translateX(-14px);
  transition: opacity .35s ease .06s, transform .35s ease .06s;
  white-space: nowrap;
}

.range-hero-gallery-panel.is-active .range-hero-gallery-bar,
.range-hero-gallery-panel.is-active .range-hero-gallery-text {
  opacity: 1;
  transform: translateX(0);
}

.range-hero-gallery-tools {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 62px;
  padding: 0 max(24px, calc((100vw - 1320px) / 2));
  color: rgba(255, 255, 255, .7);
  background: rgba(8, 13, 13, .94);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.range-hero-mobile-tabs { display: none; }

@media (max-width: 900px) {
  .range-hero-gallery-intro { width: min(42vw, 370px); }
  .range-hero--accordion .range-hero-gallery-intro h1 { font-size: clamp(54px, 8vw, 76px); }
  .range-hero-gallery { left: 24px; right: 24px; }
  .range-hero-gallery-text { font-size: 11px; }
}

@media (max-width: 640px) {
  .range-hero--accordion {
    min-height: max(780px, 100svh);
    height: max(780px, 100svh);
  }

  .range-hero-gallery-intro {
    top: max(104px, env(safe-area-inset-top));
    left: 19px;
    width: calc(100% - 38px);
  }

  .range-hero--accordion .range-hero-gallery-intro h1 {
    margin-bottom: 14px;
    font-size: 44px;
  }

  .range-hero-gallery-intro > p:not(.range-hero-gallery-kicker) {
    max-width: 275px;
    margin-bottom: 15px;
    font-size: 13px;
  }

  .range-hero-gallery {
    top: 332px;
    right: 19px;
    bottom: 154px;
    left: 19px;
    display: block;
    perspective: none;
  }

  .range-hero--accordion::after {
    top: 34%;
    right: -34%;
    bottom: 9%;
    width: 96%;
    opacity: .64;
  }

  .range-hero--accordion .range-hero-gallery::before {
    top: -24px;
    right: -22px;
    bottom: -22px;
    left: 13%;
    opacity: .72;
  }

  .range-hero-gallery-panel {
    position: absolute;
    inset: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
    transform: none !important;
    transition: opacity .3s ease;
    visibility: hidden;
  }

  .range-hero-gallery-panel.is-active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  .range-hero-gallery-media {
    width: 100%;
    height: 100%;
    filter: none;
    transform: translate(-50%, -50%) !important;
  }

  .range-hero-gallery-media img {
    padding: 0 0 28px;
    object-position: center bottom;
  }

  .range-hero-gallery-panel[data-gallery-panel="3"] .range-hero-gallery-media img { padding-inline: 0; }

  .range-hero-gallery-overlay {
    background: linear-gradient(180deg, rgba(8, 13, 13, 0) 42%, rgba(8, 13, 13, .67) 100%);
  }

  .range-hero-gallery-label { right: 0; bottom: 8px; left: 0; }
  .range-hero-gallery-bar { width: 3px; height: 28px; }
  .range-hero-gallery-text { font-size: 11px; }
  .range-hero-gallery-panel.is-active .range-hero-gallery-bar,
  .range-hero-gallery-panel.is-active .range-hero-gallery-text { opacity: 1; transform: translateX(0); }

  .range-hero-mobile-tabs {
    position: absolute;
    right: 19px;
    bottom: 66px;
    left: 19px;
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
  }

  .range-hero-mobile-tab {
    min-width: 0;
    min-height: 44px;
    padding: 0 3px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 0;
    color: rgba(255, 255, 255, .82);
    background: rgba(8, 13, 13, .72);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
  }

  .range-hero-mobile-tab.is-active {
    border-color: var(--yellow);
    color: var(--ink);
    background: var(--yellow);
  }

  .range-hero-mobile-tab:focus-visible { outline-offset: 2px; }
  .range-hero-gallery-tools { min-height: 52px; padding-inline: 19px; font-size: 8px; }
  .range-hero-gallery-tools span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .range-hero-gallery-panel,
  .range-hero-gallery-media,
  .range-hero-gallery-bar,
  .range-hero-gallery-text { transition: none; }
}

.record-highlights { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }
.record-highlights-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; min-width: 0; margin-bottom: 21px; }
.record-highlights h3 { font-size: 36px; }
.record-highlights-head p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.record-highlights-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.record-highlight-group { min-width: 0; padding: 20px 22px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.record-highlight-group:first-child { padding-left: 0; }
.record-highlight-group:last-child { padding-right: 0; border-right: 0; }
.record-highlight-group h4 { min-height: 42px; margin: 0 0 15px; color: var(--ink); font-size: 23px; line-height: .94; }
.record-highlight-group ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.record-highlight-group li { color: #51534e; font-size: 14px; line-height: 1.42; overflow-wrap: anywhere; }
.record-highlight-group li::before { content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 9px 1px 0; background: var(--yellow); }
.record-specification-scroll table[data-model-count="1"] { min-width: 0; }
.record-specification-scroll table[data-model-count="1"] thead th:first-child { width: 66%; }

@media (max-width: 620px) {
  .record-highlights { margin-top: 28px; padding-top: 22px; }
  .record-highlights-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }
  .record-highlights-head p { width: 100%; min-width: 0; max-width: 100%; }
  .record-highlights h3 { font-size: 32px; }
  .record-highlights-grid { grid-template-columns: 1fr; }
  .record-highlight-group, .record-highlight-group:first-child, .record-highlight-group:last-child { padding: 18px 0; border-right: 0; }
  .record-highlight-group + .record-highlight-group { border-top: 1px solid var(--line); }
  .record-highlight-group h4 { min-height: 0; margin-bottom: 12px; font-size: 21px; }
  .record-specification-scroll table[data-model-count="1"] { min-width: 0; }
  .record-specification-scroll table[data-model-count="1"] thead th:first-child { width: 66%; }
}

.record-highlights.has-feature-media .record-highlights-grid { display: grid; grid-template-columns: 1fr; }
.record-highlights.has-feature-media .record-highlight-group { display: grid; grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr); gap: 26px; align-items: stretch; padding: 18px 0; border-right: 0; }
.record-highlights.has-feature-media .record-highlight-group:first-child, .record-highlights.has-feature-media .record-highlight-group:last-child { padding-right: 0; padding-left: 0; }
.record-highlights.has-feature-media .record-highlight-group img { display: block; width: 100%; height: 172px; object-fit: cover; filter: contrast(1.04) saturate(.88); }
.record-highlights.has-feature-media .record-highlight-group:last-child img { object-position: center 88%; }
.record-highlight-copy { align-self: center; min-width: 0; max-width: 640px; padding-right: 30px; }
.record-highlights.has-feature-media .record-highlight-copy h4 { min-height: 0; margin-bottom: 10px; overflow-wrap: anywhere; }
.record-highlight-copy p { max-width: 100%; margin: 0; color: #51534e; font-size: 15px; line-height: 1.48; overflow-wrap: anywhere; }

@media (max-width: 620px) {
  .record-highlights.has-feature-media .record-highlight-group { grid-template-columns: 1fr; gap: 15px; padding: 20px 0; }
  .record-highlights.has-feature-media .record-highlight-group img { height: 210px; }
  .record-highlights, .record-highlights-head, .record-highlights-grid, .record-highlights.has-feature-media .record-highlight-group, .record-highlight-copy { min-width: 0; max-width: 100%; }
  .record-highlight-copy { width: 100%; padding-right: 0; }
  .record-highlights.has-feature-media .record-highlight-copy h4, .record-highlight-copy p { width: 100%; max-width: 100%; overflow-wrap: anywhere; }
  .record-highlight-copy p { font-size: 14px; }
}

.record-optional-configuration { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }
.record-optional-configuration-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; min-width: 0; margin-bottom: 21px; }
.record-optional-configuration h3 { font-size: 36px; }
.record-optional-configuration-head p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.record-optional-configuration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.record-configuration-group { min-width: 0; padding: 21px 24px 28px 0; border-bottom: 1px solid var(--line); }
.record-configuration-group:nth-child(even) { padding-right: 0; padding-left: 24px; }
.record-configuration-group:nth-child(odd) { border-right: 1px solid var(--line); }
.record-configuration-group h4 { position: relative; margin: 0 0 17px; padding-bottom: 10px; color: var(--ink); font-size: 23px; line-height: .94; }
.record-configuration-group h4::after { content: ""; position: absolute; bottom: 0; left: 0; width: 28px; height: 4px; background: var(--yellow); }
.record-configuration-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; min-width: 0; }
.record-configuration-options[data-option-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.record-configuration-option { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-width: 0; margin: 0; background: var(--white); border: 1px solid var(--line); }
.record-configuration-option img { display: block; width: 100%; aspect-ratio: 4 / 3; padding: 9px; object-fit: contain; }
.record-configuration-option figcaption { min-height: 53px; padding: 9px 10px 10px; border-top: 1px solid var(--line); color: var(--ink); }
.record-configuration-option strong, .record-configuration-option span { display: block; overflow-wrap: anywhere; }
.record-configuration-option strong { font-size: 13px; line-height: 1.05; }
.record-configuration-option span { margin-top: 4px; color: #51534e; font-size: 11px; font-weight: 700; line-height: 1.15; }
.record-configuration-options[data-option-count="1"] { grid-template-columns: 1fr; }
.record-configuration-options[data-option-count="1"] .record-configuration-option {
  grid-template-columns: 1fr;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 268px;
  aspect-ratio: 7 / 3;
}
.record-configuration-options[data-option-count="1"] .record-configuration-option img {
  height: 100%;
  aspect-ratio: auto;
  padding: 8px 24px;
}
.record-configuration-options[data-option-count="1"] .record-configuration-option figcaption {
  display: block;
  min-height: 53px;
  padding: 10px 16px 12px;
  border-top: 1px solid var(--line);
  border-left: 0;
}
.record-optional-configuration-note { max-width: 630px; margin: 18px 0 0; color: #51534e; font-size: 13px; line-height: 1.45; }

@media (max-width: 620px) {
  .record-optional-configuration { margin-top: 28px; padding-top: 22px; }
  .record-optional-configuration-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }
  .record-optional-configuration-head p { width: 100%; min-width: 0; max-width: 100%; }
  .record-optional-configuration h3 { font-size: 32px; }
  .record-optional-configuration-grid { grid-template-columns: 1fr; }
  .record-configuration-group, .record-configuration-group:nth-child(even) { padding: 19px 0 23px; border-right: 0; }
  .record-configuration-group h4 { margin-bottom: 14px; font-size: 21px; }
  .record-configuration-options[data-option-count="3"] { grid-template-columns: 1fr; gap: 12px; }
  .record-configuration-options[data-option-count="1"] .record-configuration-option {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 0;
    aspect-ratio: auto;
  }
  .record-configuration-options[data-option-count="1"] .record-configuration-option img {
    height: auto;
    aspect-ratio: 4 / 3;
    padding: 12px;
  }
  .record-configuration-options[data-option-count="1"] .record-configuration-option figcaption {
    display: block;
    padding: 10px;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .record-configuration-option img { padding: 12px; }
  .record-configuration-option figcaption { min-height: 0; padding: 10px; }
  .record-optional-configuration-note { margin-top: 15px; font-size: 12px; }
}

.record-structural-features { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }
.record-structural-features-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; min-width: 0; margin-bottom: 21px; }
.record-structural-features h3 { font-size: 36px; }
.record-structural-features-head p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.record-structural-features-grid { display: grid; grid-template-columns: minmax(0, .96fr) minmax(340px, 1.04fr); border-top: 2px solid var(--ink); }
.record-structural-visual { position: relative; display: grid; grid-template-rows: minmax(460px, 1fr) auto; min-width: 0; min-height: 552px; margin: 0; overflow: hidden; background: var(--ink); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.record-structural-visual::before { position: absolute; z-index: 1; top: 0; left: 0; width: 74px; height: 4px; background: var(--yellow); content: ""; }
.record-structural-visual img { display: block; width: 100%; height: 100%; object-fit: contain; filter: contrast(1.04) saturate(.88); }
.record-structural-visual figcaption { padding: 13px 18px; color: var(--white); border-top: 1px solid rgba(255,255,255,.24); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.record-structural-content { display: flex; flex-direction: column; min-width: 0; border-bottom: 1px solid var(--line); }
.record-structural-feature-list { border-bottom: 2px solid var(--ink); }
.record-structural-feature { padding: 27px 30px 25px; border-bottom: 1px solid var(--line); }
.record-structural-feature:last-child { border-bottom: 0; }
.record-structural-feature h4, .record-track-options h4 { margin: 0 0 9px; color: var(--ink); font-size: 25px; line-height: .95; }
.record-structural-feature p { max-width: 530px; margin: 0; color: #51534e; font-size: 15px; line-height: 1.48; }
.record-track-options { margin-top: auto; padding: 23px 30px 27px; }
.record-track-options ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.record-track-option { min-width: 0; margin: 0; overflow: hidden; color: var(--white); background: var(--ink); border-top: 3px solid var(--yellow); }
.record-track-option img { display: block; width: 100%; aspect-ratio: 1.9 / 1; object-fit: contain; }
.record-track-option figcaption { min-height: 40px; padding: 8px 10px 9px; border-top: 1px solid rgba(255,255,255,.2); font-size: 11px; font-weight: 700; line-height: 1.15; overflow-wrap: anywhere; }
.record-structural-features-note { max-width: 720px; margin: 18px 0 0; color: #51534e; font-size: 13px; line-height: 1.45; }

@media (max-width: 620px) {
  .record-structural-features { margin-top: 28px; padding-top: 22px; }
  .record-structural-features-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }
  .record-structural-features-head p { width: 100%; min-width: 0; max-width: 100%; }
  .record-structural-features h3 { font-size: 32px; }
  .record-structural-features-grid { grid-template-columns: 1fr; }
  .record-structural-visual { grid-template-rows: minmax(400px, 1fr) auto; min-height: 468px; border-right: 0; }
  .record-structural-visual figcaption { padding: 11px 14px; }
  .record-structural-feature { padding: 21px 0 20px; }
  .record-structural-feature h4, .record-track-options h4 { font-size: 22px; }
  .record-structural-feature p { font-size: 14px; }
  .record-track-options { padding: 21px 0 23px; }
  .record-track-options ul { grid-template-columns: 1fr; gap: 9px; }
  .record-track-option figcaption { min-height: 0; font-size: 12px; }
  .record-structural-features-note { margin-top: 15px; font-size: 12px; }
}

.record-exterior-features { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }
.record-exterior-features-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; min-width: 0; margin-bottom: 21px; }
.record-exterior-features h3 { font-size: 36px; }
.record-exterior-features-head p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.record-exterior-features-stage { border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.record-exterior-variant + .record-exterior-variant { border-top: 2px solid var(--ink); }
.record-exterior-variant-title { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0; padding: 13px 18px 12px; color: var(--white); background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.2); font-size: 20px; line-height: 1; overflow-wrap: anywhere; }
.record-exterior-variant-title::before { flex: 0 0 38px; width: 38px; height: 4px; background: var(--yellow); content: ""; }
.record-exterior-stage { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(380px, 1.28fr) minmax(180px, .8fr); min-height: 596px; overflow: hidden; }
.record-exterior-callouts { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); min-width: 0; }
.record-exterior-callouts-left { border-right: 1px solid var(--line); }
.record-exterior-callouts-right { border-left: 1px solid var(--line); }
.record-exterior-callout { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 14px; align-content: center; min-width: 0; padding: 25px 20px; border-bottom: 1px solid var(--line); }
.record-exterior-callout:last-child { border-bottom: 0; }
.record-exterior-callouts-right .record-exterior-callout { grid-template-columns: minmax(0, 1fr) 86px; }
.record-exterior-callouts-right .record-exterior-callout-photo { order: 2; }
.record-exterior-callout-photo { width: 86px; height: 86px; margin: 0; overflow: hidden; border: 1px solid var(--ink); border-radius: 50%; background: var(--white); }
.record-exterior-callout-photo img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.04); }
.record-exterior-callout-copy { min-width: 0; }
.record-exterior-callout-number { display: inline-grid; place-items: center; width: 23px; height: 23px; margin-bottom: 8px; color: var(--ink); background: var(--yellow); border: 1px solid var(--ink); border-radius: 50%; font-family: var(--display); font-size: 16px; font-weight: 800; line-height: 1; }
.record-exterior-callout h4 { margin: 0 0 8px; color: var(--ink); font-size: 22px; line-height: .95; overflow-wrap: anywhere; }
.record-exterior-callout p { margin: 0; color: #51534e; font-size: 13px; line-height: 1.42; overflow-wrap: anywhere; }
.record-exterior-machine { position: relative; display: grid; place-items: center; min-width: 0; min-height: 596px; margin: 0; overflow: hidden; background: var(--white); }
.record-exterior-machine::before { position: absolute; inset: 25px; content: ""; border: 1px solid rgba(36,38,34,.12); pointer-events: none; }
.record-exterior-machine > img { position: relative; z-index: 1; display: block; width: min(100%, 650px); max-height: 570px; object-fit: contain; filter: contrast(1.04) saturate(.94); }
.record-exterior-marker { position: absolute; top: var(--marker-y); left: var(--marker-x); z-index: 2; display: grid; place-items: center; width: 30px; height: 30px; color: var(--ink); background: var(--yellow); border: 2px solid var(--ink); border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.82); font-family: var(--display); font-size: 19px; font-weight: 800; line-height: 1; transform: translate(-50%, -50%); }
.record-exterior-marker::after { position: absolute; top: 50%; width: clamp(28px, 5vw, 64px); height: 2px; background: var(--yellow); content: ""; transform: translateY(-50%); }
.product-record[data-product="me80"] .record-exterior-machine { background: var(--ink); }
.product-record[data-product="me80"] .record-exterior-machine::before { border-color: rgba(255,255,255,.16); }
.record-exterior-marker-left::after { right: 100%; }
.record-exterior-marker-right::after { left: 100%; }
.record-exterior-features-note { max-width: 760px; margin: 18px 0 0; color: #51534e; font-size: 13px; line-height: 1.45; }

@media (max-width: 920px) {
  .record-exterior-stage { grid-template-columns: minmax(150px, .72fr) minmax(340px, 1.28fr) minmax(150px, .72fr); }
  .record-exterior-callout { grid-template-columns: 1fr; gap: 12px; padding: 21px 15px; }
  .record-exterior-callouts-right .record-exterior-callout { grid-template-columns: 1fr; }
  .record-exterior-callouts-right .record-exterior-callout-photo { order: 0; }
  .record-exterior-callout-photo { width: 74px; height: 74px; }
}

@media (max-width: 620px) {
  .record-exterior-features { margin-top: 28px; padding-top: 22px; }
  .record-exterior-features-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }
  .record-exterior-features-head p { width: 100%; min-width: 0; max-width: 100%; }
  .record-exterior-features h3 { font-size: 32px; }
  .record-exterior-variant-title { gap: 9px; padding: 12px 14px 11px; font-size: 17px; }
  .record-exterior-variant-title::before { flex-basis: 28px; width: 28px; height: 3px; }
  .record-exterior-stage { grid-template-columns: 1fr; min-height: 0; }
  .record-exterior-machine { grid-row: 1; min-height: 410px; border-bottom: 2px solid var(--ink); }
  .record-exterior-machine::before { inset: 16px; }
  .record-exterior-machine > img { max-height: 385px; }
  .record-exterior-marker { width: 24px; height: 24px; border-width: 1px; box-shadow: 0 0 0 1px rgba(255,255,255,.82); font-size: 16px; }
  .record-exterior-marker::after { width: 24px; height: 1px; }
  .record-exterior-callouts { grid-row: auto; border: 0; }
  .record-exterior-callouts-left { grid-row: 2; }
  .record-exterior-callouts-right { grid-row: 3; }
  .record-exterior-callout, .record-exterior-callouts-right .record-exterior-callout { grid-template-columns: 88px minmax(0, 1fr); gap: 15px; padding: 19px 0; }
  .record-exterior-callouts-right .record-exterior-callout-photo { order: 0; }
  .record-exterior-callout-photo { width: 88px; height: 88px; }
  .record-exterior-callout h4 { font-size: 21px; }
  .record-exterior-callout p { font-size: 13px; }
  .record-exterior-features-note { margin-top: 15px; font-size: 12px; }
}

.record-lifting-capacity { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }
.record-lifting-capacity-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; min-width: 0; margin-bottom: 21px; }
.record-lifting-capacity h3 { font-size: 36px; }
.record-lifting-capacity-head p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.record-lifting-capacity-content { border-top: 2px solid var(--ink); }
.record-lifting-variant + .record-lifting-variant { border-top: 2px solid var(--ink); }
.record-lifting-variant-title { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0; padding: 13px 18px 12px; color: var(--white); background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.2); font-size: 20px; line-height: 1; overflow-wrap: anywhere; }
.record-lifting-variant-title::before { flex: 0 0 38px; width: 38px; height: 4px; background: var(--yellow); content: ""; }
.record-lifting-overview { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); border-bottom: 1px solid var(--line); }
.record-lifting-diagram { display: grid; place-items: center; min-width: 0; min-height: 338px; margin: 0; padding: 24px; background: var(--white); border-right: 1px solid var(--line); }
.record-lifting-diagram img { display: block; width: 100%; max-width: 680px; height: auto; object-fit: contain; }
.record-lifting-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: stretch; min-width: 0; }
.record-lifting-legend-item { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; align-content: start; min-width: 0; padding: 22px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.record-lifting-legend-item:nth-child(2n) { border-right: 0; }
.record-lifting-legend-item:nth-child(n + 5) { border-bottom: 0; }
.record-lifting-legend-item:last-child:nth-child(odd) { grid-column: span 2; border-right: 0; }
.record-lifting-legend-symbol { display: grid; place-items: center; width: 32px; height: 32px; color: var(--ink); background: var(--yellow); border: 1px solid var(--ink); font-family: var(--display); font-size: 19px; font-weight: 800; line-height: 1; }
.record-lifting-legend-symbol.is-wide { font-size: 13px; }
.record-lifting-legend-item h4 { margin: 1px 0 6px; color: var(--ink); font-size: 20px; line-height: .95; overflow-wrap: anywhere; }
.record-lifting-legend-item p { margin: 0; color: #51534e; font-size: 12px; line-height: 1.38; overflow-wrap: anywhere; }
.record-lifting-configuration { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; list-style: none; background: var(--ink); border-bottom: 1px solid var(--ink); }
.record-lifting-configuration li { min-width: 0; padding: 15px 18px; color: var(--ink); background: var(--yellow); font-size: 12px; font-weight: 700; line-height: 1.2; text-align: center; overflow-wrap: anywhere; }
.record-lifting-table-scroll { overflow-x: auto; background: var(--white); border-bottom: 1px solid var(--line); }
.record-lifting-table { width: 100%; min-width: 790px; border-collapse: collapse; color: var(--ink); font-variant-numeric: tabular-nums; }
.record-lifting-table th, .record-lifting-table td { padding: 12px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; font-size: 14px; line-height: 1.1; }
.record-lifting-table tr > *:last-child { border-right: 0; }
.record-lifting-table thead tr:first-child th { color: var(--white); background: var(--ink); font-family: var(--display); font-size: 19px; font-weight: 800; }
.record-lifting-table thead tr:first-child th:not(:first-child) { color: var(--ink); background: var(--yellow); }
.record-lifting-table thead tr:nth-child(2) th { color: var(--ink); background: #e8e6df; font-size: 12px; font-weight: 800; }
.record-lifting-table tbody th { color: var(--ink); background: #f0eee8; font-weight: 700; white-space: nowrap; }
.record-lifting-table tbody td { font-weight: 600; }
.record-lifting-notes { display: grid; gap: 8px; max-width: 880px; margin: 18px 0 0; padding: 0 0 0 20px; color: #51534e; font-size: 13px; line-height: 1.45; }
.record-lifting-notes li { padding-left: 2px; }

@media (max-width: 620px) {
  .record-lifting-capacity { margin-top: 28px; padding-top: 22px; }
  .record-lifting-capacity-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }
  .record-lifting-capacity-head p { width: 100%; min-width: 0; max-width: 100%; }
  .record-lifting-capacity h3 { font-size: 32px; }
  .record-lifting-variant-title { gap: 9px; padding: 12px 14px 11px; font-size: 17px; }
  .record-lifting-variant-title::before { flex-basis: 28px; width: 28px; height: 3px; }
  .record-lifting-overview { grid-template-columns: 1fr; }
  .record-lifting-diagram { min-height: 0; padding: 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  .record-lifting-legend { grid-template-columns: 1fr; }
  .record-lifting-legend-item, .record-lifting-legend-item:nth-child(2n), .record-lifting-legend-item:nth-child(n + 5) { grid-template-columns: 32px minmax(0, 1fr); padding: 17px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .record-lifting-legend-item:last-child:nth-child(odd) { grid-column: auto; }
  .record-lifting-legend-item:last-child { border-bottom: 0; }
  .record-lifting-legend-item h4 { font-size: 19px; }
  .record-lifting-configuration { grid-template-columns: 1fr; gap: 1px; }
  .record-lifting-configuration li { padding: 13px 16px; text-align: left; }
  .record-lifting-table th, .record-lifting-table td { padding: 10px 12px; font-size: 13px; }
  .record-lifting-notes { margin-top: 15px; font-size: 12px; }
}

.record-attachments { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }
.record-attachments-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; min-width: 0; margin-bottom: 21px; }
.record-attachments h3 { font-size: 36px; }
.record-attachments-head p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.record-attachments-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.record-attachment { display: grid; grid-template-rows: 230px auto; min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.record-attachment:nth-child(2n) { border-right: 0; }
.record-attachment-media { display: grid; grid-template-columns: 1fr; min-width: 0; min-height: 0; overflow: hidden; background: var(--white); border-bottom: 1px solid var(--line); }
.record-attachment-media[data-image-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.record-attachment-media[data-image-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.record-attachment-media img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; padding: 14px; object-fit: contain; filter: contrast(1.03) saturate(.88); }
.record-attachment-media img + img { border-left: 1px solid var(--line); }
.record-attachment-content { min-width: 0; padding: 20px 22px 23px; }
.record-attachment-header { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 13px; align-items: start; min-width: 0; margin-bottom: 17px; }
.record-attachment-model { display: inline-grid; place-items: center; min-height: 29px; padding: 6px 9px; color: var(--ink); background: var(--yellow); border: 1px solid var(--ink); font-family: var(--display); font-size: 16px; font-weight: 800; line-height: 1; white-space: nowrap; }
.record-attachment-header h4 { margin: 1px 0 0; color: var(--ink); font-size: 25px; line-height: .94; overflow-wrap: anywhere; }
.record-attachment-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); }
.record-attachment-specs div { min-width: 0; padding: 10px 10px 0 0; }
.record-attachment-specs div:nth-child(even) { padding-right: 0; padding-left: 10px; border-left: 1px solid var(--line); }
.record-attachment-specs dt, .record-attachment-specs dd { margin: 0; overflow-wrap: anywhere; }
.record-attachment-specs dt { color: #51534e; font-size: 10px; font-weight: 700; line-height: 1.15; }
.record-attachment-specs dd { margin-top: 4px; color: var(--ink); font-size: 15px; font-weight: 700; line-height: 1.14; font-variant-numeric: tabular-nums; }
.record-attachments-note { max-width: 760px; margin: 18px 0 0; color: #51534e; font-size: 13px; line-height: 1.45; }

@media (max-width: 620px) {
  .record-attachments { margin-top: 28px; padding-top: 22px; }
  .record-attachments-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }
  .record-attachments-head p { width: 100%; min-width: 0; max-width: 100%; }
  .record-attachments h3 { font-size: 32px; }
  .record-attachments-grid { grid-template-columns: 1fr; }
  .record-attachment, .record-attachment:nth-child(2n) { grid-template-rows: 205px auto; border-right: 0; }
  .record-attachment-content { padding: 18px 0 21px; }
  .record-attachment-header { gap: 11px; margin-bottom: 15px; }
  .record-attachment-model { min-height: 27px; padding: 6px 8px; font-size: 15px; }
  .record-attachment-header h4 { font-size: 23px; }
  .record-attachment-specs dd { font-size: 14px; }
  .record-attachments-note { margin-top: 15px; font-size: 12px; }
}

.record-operator-station { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }
.record-operator-station-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; min-width: 0; margin-bottom: 21px; }
.record-operator-station h3 { font-size: 36px; }
.record-operator-station-head p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.record-operator-station-index { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.record-operator-feature { display: grid; grid-column: span 3; grid-template-rows: minmax(152px, 1fr) auto; min-width: 0; margin: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.record-operator-feature:nth-child(-n + 3) { grid-column: span 4; }
.record-operator-feature:nth-child(3), .record-operator-feature:nth-child(7) { border-right: 0; }
.record-operator-feature-visual { position: relative; display: grid; place-items: center; min-width: 0; min-height: 152px; margin: 0; padding: 16px; background: var(--white); }
.record-operator-feature-visual img { display: block; width: 100%; height: 100%; max-height: 170px; object-fit: contain; }
.record-operator-number { position: absolute; top: 11px; left: 11px; display: grid; place-items: center; width: 29px; height: 29px; color: var(--ink); background: var(--yellow); border: 1px solid var(--ink); border-radius: 50%; font-family: var(--display); font-size: 19px; font-weight: 800; line-height: 1; }
.record-operator-feature-copy { min-width: 0; padding: 14px 17px 17px; border-top: 1px solid var(--line); }
.record-operator-feature-copy h4 { margin: 0 0 7px; color: var(--ink); font-size: 22px; line-height: .94; overflow-wrap: anywhere; }
.record-operator-feature-copy p { margin: 0; color: #51534e; font-size: 13px; line-height: 1.38; overflow-wrap: anywhere; }
.record-operator-station-cab { position: relative; min-width: 0; margin: 34px 0 0; overflow: hidden; background: var(--ink); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.record-operator-station-cab > img { display: block; width: 100%; aspect-ratio: 2.043 / 1; object-fit: cover; filter: contrast(1.03) saturate(.86); }
.record-operator-marker { position: absolute; top: var(--marker-y); left: var(--marker-x); z-index: 1; display: grid; place-items: center; width: 31px; height: 31px; color: var(--ink); background: var(--yellow); border: 2px solid var(--ink); border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.74); font-family: var(--display); font-size: 20px; font-weight: 800; line-height: 1; transform: translate(-50%, -50%); }
.record-operator-station-note { max-width: 760px; margin: 18px 0 0; color: #51534e; font-size: 13px; line-height: 1.45; }
.product-record[data-product="me26"] .record-operator-feature, .product-record[data-product="me26"] .record-operator-feature:nth-child(-n + 3), .product-record[data-product="me60"] .record-operator-feature, .product-record[data-product="me60"] .record-operator-feature:nth-child(-n + 3) { grid-column: span 3; }
.product-record[data-product="me26"] .record-operator-feature:nth-child(3), .product-record[data-product="me26"] .record-operator-feature:nth-child(7), .product-record[data-product="me60"] .record-operator-feature:nth-child(3), .product-record[data-product="me60"] .record-operator-feature:nth-child(7) { border-right: 1px solid var(--line); }
.product-record[data-product="me26"] .record-operator-feature:nth-child(4), .product-record[data-product="me26"] .record-operator-feature:nth-child(8), .product-record[data-product="me60"] .record-operator-feature:nth-child(4), .product-record[data-product="me60"] .record-operator-feature:nth-child(8) { border-right: 0; }

@media (max-width: 620px) {
  .record-operator-station { margin-top: 28px; padding-top: 22px; }
  .record-operator-station-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }
  .record-operator-station-head p { width: 100%; min-width: 0; max-width: 100%; }
  .record-operator-station h3 { font-size: 32px; }
  .record-operator-station-index { grid-template-columns: 1fr; }
  .record-operator-feature, .record-operator-feature:nth-child(-n + 3) { grid-column: 1; grid-template-columns: 1fr; grid-template-rows: 142px auto; border-right: 0; }
  .record-operator-feature-visual { min-height: 142px; padding: 10px; }
  .record-operator-feature-visual img { max-height: 124px; }
  .record-operator-number { top: 8px; left: 8px; width: 25px; height: 25px; font-size: 17px; }
  .record-operator-feature-copy { align-self: stretch; padding: 17px 14px; border-top: 1px solid var(--line); border-left: 0; }
  .record-operator-feature-copy h4 { font-size: 20px; }
  .record-operator-feature-copy p { font-size: 13px; }
  .record-operator-station-cab { margin-top: 28px; }
  .record-operator-marker { width: 24px; height: 24px; border-width: 1px; box-shadow: 0 0 0 1px rgba(255,255,255,.74); font-size: 16px; }
  .record-operator-station-note { margin-top: 15px; font-size: 12px; }
  .product-record[data-product="me26"] .record-operator-feature, .product-record[data-product="me26"] .record-operator-feature:nth-child(-n + 3), .product-record[data-product="me60"] .record-operator-feature, .product-record[data-product="me60"] .record-operator-feature:nth-child(-n + 3) { grid-column: 1; border-right: 0; }
}

/* Single-image homepage hero. This replaces only the old accordion gallery. */
.hero--fullbleed {
  min-height: min(840px, 100svh);
  height: min(840px, 100svh);
  background: #171717;
}

.fullbleed-hero-media,
.fullbleed-hero-wash {
  position: absolute;
  inset: 0;
}

.fullbleed-hero-media {
  z-index: 0;
  overflow: hidden;
  background: #171717;
}

.fullbleed-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.fullbleed-hero-wash {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(8, 10, 10, .96) 0%, rgba(8, 10, 10, .9) 27%, rgba(8, 10, 10, .54) 49%, rgba(8, 10, 10, .12) 72%, rgba(8, 10, 10, .04) 100%),
    linear-gradient(180deg, rgba(8, 10, 10, .38), rgba(8, 10, 10, 0) 30%, rgba(8, 10, 10, .42) 100%);
  pointer-events: none;
}

.fullbleed-hero-content {
  position: relative;
  z-index: 2;
  align-self: center;
  padding-top: clamp(168px, 23vh, 232px);
  padding-bottom: 108px;
}

.fullbleed-hero-kicker {
  margin: 0 0 18px;
  color: var(--yellow);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hero--fullbleed h1 {
  max-width: 560px;
  margin: 0 0 22px;
  font-size: clamp(62px, 7vw, 106px);
  line-height: .83;
}

.fullbleed-hero-lead {
  max-width: 390px;
  margin: 0 0 30px;
  color: rgba(255, 255, 255, .78);
  font-size: 17px;
  line-height: 1.45;
}

.fullbleed-hero-footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 54px;
  padding: 0 max(32px, calc((100vw - 1220px) / 2));
  border-top: 1px solid rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .75);
  background: rgba(8, 10, 10, .58);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .hero--fullbleed h1 { font-size: clamp(58px, 9vw, 82px); }
  .fullbleed-hero-content { padding-top: clamp(155px, 24vh, 206px); }
}

@media (max-width: 640px) {
  .hero--fullbleed {
    min-height: max(650px, 100svh);
    height: max(650px, 100svh);
  }

  .fullbleed-hero-media img {
    object-position: 61% center;
    transform: scale(1.17);
    transform-origin: 61% center;
  }

  .fullbleed-hero-wash {
    background:
      linear-gradient(180deg, rgba(8, 10, 10, .88) 0%, rgba(8, 10, 10, .66) 39%, rgba(8, 10, 10, .12) 67%, rgba(8, 10, 10, .68) 100%),
      linear-gradient(90deg, rgba(8, 10, 10, .34), rgba(8, 10, 10, 0) 76%);
  }

  .fullbleed-hero-content {
    align-self: start;
    padding-top: max(130px, calc(env(safe-area-inset-top) + 104px));
    padding-bottom: 0;
  }

  .fullbleed-hero-kicker { margin-bottom: 14px; font-size: 10px; }
  .hero--fullbleed h1 { max-width: 320px; margin-bottom: 15px; font-size: 52px; }
  .fullbleed-hero-lead { max-width: 285px; margin-bottom: 22px; font-size: 14px; }
  .fullbleed-hero-cta { min-height: 46px; padding-inline: 16px; font-size: 12px; }
  .fullbleed-hero-footer { min-height: 46px; padding-inline: 19px; font-size: 8px; }
  .fullbleed-hero-footer span:last-child { display: none; }
}

/* Keep the application panel's existing crop, treatment, and layout. */
.application-photo { background-image: linear-gradient(90deg, rgba(16,17,15,.08), rgba(16,17,15,.55)), url("https://toughm.com/wp-content/uploads/2026/08/e552987a0a1354699f21d86784078ec5.jpg"); }

/* Factory proof follows applications and leads into the existing support section. */
.factory-section {
  padding-block: 112px 116px;
  color: var(--white);
  background: var(--ink);
}
.factory-shell { border-top: 2px solid var(--yellow); }
.factory-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: 54px;
  align-items: end;
  padding: 43px 0 46px;
}
.factory-heading h2 { margin: 0; color: var(--yellow); }
.factory-heading p {
  max-width: 390px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.5;
}
.factory-overview {
  position: relative;
  aspect-ratio: 2.35 / 1;
  margin: 0 0 18px;
  overflow: hidden;
  background: #080908;
}
.factory-overview::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  height: 50%;
  content: "";
  background: linear-gradient(180deg, rgba(16,17,15,0), rgba(16,17,15,.82));
  pointer-events: none;
}
.factory-overview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
  filter: saturate(.86) contrast(1.05);
  transition: transform .5s cubic-bezier(.16,1,.3,1), filter .35s ease;
}
.factory-overview:hover img {
  filter: saturate(1) contrast(1.05);
  transform: scale(1.025);
}
.factory-overview figcaption {
  position: absolute;
  right: 18px;
  bottom: 16px;
  left: 18px;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.15;
  text-transform: uppercase;
}
.factory-overview figcaption span:last-child { color: var(--yellow); }

/* ME35 factory-floor photographs stay separate from the technical drawings. */
.record-real-gallery { margin-top: 36px; padding-top: 27px; border-top: 2px solid var(--ink); }
.record-real-gallery-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1.2fr); gap: 34px; align-items: end; min-width: 0; margin-bottom: 21px; }
.record-real-gallery h3 { font-size: 36px; }
.record-real-gallery-head p { max-width: 480px; margin: 0; color: #51534e; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.record-real-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.record-real-gallery-grid figure { display: grid; grid-template-rows: minmax(300px, 1fr) auto; min-width: 0; margin: 0; overflow: hidden; background: var(--ink); border: 1px solid var(--line); }
.record-real-gallery-grid img { display: block; width: 100%; height: 100%; min-height: 300px; object-fit: cover; filter: saturate(.92) contrast(1.04); }
.record-real-gallery-grid figcaption { padding: 12px 15px; color: var(--white); background: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

@media (max-width: 620px) {
  .record-real-gallery { margin-top: 28px; padding-top: 22px; }
  .record-real-gallery-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 17px; }
  .record-real-gallery h3 { font-size: 32px; }
  .record-real-gallery-grid { grid-template-columns: 1fr; gap: 11px; }
  .record-real-gallery-grid figure { grid-template-rows: 250px auto; }
  .record-real-gallery-grid img { min-height: 250px; }
}

/* ME18C work scenes use one full-width frame and quietly alternate in place. */
body.product-page .record-real-gallery--scene {
  position: relative;
  width: 100vw;
  margin: clamp(38px, 6vw, 82px) calc(50% - 50vw) 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  color: var(--white);
  background: var(--ink);
}

body.product-page .record-real-gallery--scene .record-real-gallery-head {
  position: absolute;
  z-index: 2;
  top: clamp(22px, 4vw, 58px);
  left: max(20px, calc((100vw - min(1180px, calc(100vw - 64px))) / 2));
  display: block;
  max-width: min(460px, calc(100vw - 40px));
  margin: 0;
  pointer-events: none;
}

body.product-page .record-real-gallery--scene h3 {
  max-width: 340px;
  margin: 0;
  color: var(--white);
  font-size: clamp(31px, 4vw, 56px);
  line-height: .9;
  text-shadow: 0 2px 22px rgba(0, 0, 0, .42);
}

body.product-page .record-real-gallery--scene .record-real-gallery-head p {
  max-width: 360px;
  margin-top: 13px;
  color: rgba(255, 255, 255, .88);
  text-shadow: 0 1px 12px rgba(0, 0, 0, .52);
}

body.product-page .record-real-gallery--scene .record-real-gallery-grid {
  position: relative;
  display: block;
  width: 100%;
  height: min(72svh, 760px);
  min-height: 540px;
  overflow: hidden;
  background: #11120f;
}

body.product-page .record-real-gallery--scene .record-scene-slide {
  position: absolute;
  inset: 0;
  display: block;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  border: 0;
  background: #11120f;
  transition: opacity 900ms ease-in-out;
}

body.product-page .record-real-gallery--scene .record-scene-slide.is-active {
  z-index: 1;
  opacity: 1;
}

body.product-page .record-real-gallery--scene .record-scene-slide img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  filter: saturate(.94) contrast(1.04);
}

body.product-page .record-real-gallery--scene .record-scene-slide figcaption {
  position: absolute;
  right: max(20px, calc((100vw - min(1180px, calc(100vw - 64px))) / 2));
  bottom: clamp(18px, 3vw, 34px);
  left: auto;
  z-index: 2;
  width: fit-content;
  max-width: calc(100% - 40px);
  padding: 9px 12px;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, .42);
  background: rgba(16, 17, 15, .78);
  font-size: 10px;
  line-height: 1.25;
  letter-spacing: .07em;
  text-transform: uppercase;
}

@media (max-width: 620px) {
  body.product-page .record-real-gallery--scene {
    margin-top: 34px;
  }

  body.product-page .record-real-gallery--scene .record-real-gallery-head {
    top: 22px;
    left: 20px;
  }

  body.product-page .record-real-gallery--scene h3 {
    max-width: 250px;
    font-size: 34px;
  }

  body.product-page .record-real-gallery--scene .record-real-gallery-head p {
    max-width: 250px;
    margin-top: 9px;
    font-size: 12px;
  }

  body.product-page .record-real-gallery--scene .record-real-gallery-grid {
    height: min(64svh, 620px);
    min-height: 430px;
  }

  body.product-page .record-real-gallery--scene .record-scene-slide figcaption {
    right: 16px;
    bottom: 16px;
    max-width: calc(100% - 32px);
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.product-page .record-real-gallery--scene .record-scene-slide {
    transition: none;
  }
}
.factory-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 18px;
  align-items: stretch;
}
.factory-lead,
.factory-gallery figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #080908;
}
.factory-lead { min-height: 0; align-self: stretch; }
.factory-lead::after,
.factory-gallery figure::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  height: 40%;
  content: "";
  background: linear-gradient(180deg, rgba(16,17,15,0), rgba(16,17,15,.82));
  pointer-events: none;
}
.factory-lead img,
.factory-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88) contrast(1.06);
  transition: transform .5s cubic-bezier(.16,1,.3,1), filter .35s ease;
}
.factory-lead img { object-position: center 52%; }
.factory-gallery figure:first-child img { object-position: center 53%; }
.factory-gallery .factory-image-welding { object-position: center 62%; }
.factory-lead:hover img,
.factory-gallery figure:hover img {
  filter: saturate(1) contrast(1.05);
  transform: scale(1.035);
}

/* Factory photographs open in a focused, keyboard-dismissable preview. */
body.lightbox-open { overflow: hidden; }
.factory-lightbox-trigger {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: inherit;
  cursor: zoom-in;
}
.factory-lightbox-trigger:focus-visible {
  position: relative;
  z-index: 3;
  outline: 3px solid var(--yellow);
  outline-offset: -3px;
}
.factory-lightbox {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 32px;
  background: rgba(16,17,15,.94);
}
.factory-lightbox[hidden] { display: none; }
.factory-lightbox-panel {
  position: relative;
  width: min(1180px, 100%);
  max-height: calc(100svh - 64px);
  padding: 16px;
  border: 1px solid rgba(255,205,17,.45);
  background: var(--ink);
  box-shadow: 0 24px 70px rgba(0,0,0,.48);
}
.factory-lightbox-figure { display: grid; gap: 12px; margin: 0; }
.factory-lightbox-stage {
  display: grid;
  place-items: center;
  min-height: 160px;
  max-height: calc(100svh - 142px);
  overflow: hidden;
  background: #080908;
}
.factory-lightbox-stage img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100svh - 142px);
  object-fit: contain;
}
.factory-lightbox-figure figcaption {
  padding: 0 44px 2px 2px;
  color: var(--yellow);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}
.factory-lightbox-close {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--yellow);
  color: var(--ink);
  background: var(--yellow);
}
.factory-lightbox-close:hover { color: var(--white); background: var(--ink); }
.factory-lightbox-close svg { width: 20px; height: 20px; }

@media (max-width: 620px) {
  .factory-lightbox { padding: 16px; }
  .factory-lightbox-panel { max-height: calc(100svh - 32px); padding: 10px; }
  .factory-lightbox-stage { max-height: calc(100svh - 94px); }
  .factory-lightbox-stage img { max-height: calc(100svh - 94px); }
  .factory-lightbox-close { top: 18px; right: 18px; width: 40px; height: 40px; }
  .factory-lightbox-figure figcaption { padding-left: 1px; font-size: 9px; }
}
.factory-lead figcaption,
.factory-gallery figcaption {
  position: absolute;
  right: 16px;
  bottom: 14px;
  left: 16px;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  color: var(--white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.15;
  text-transform: uppercase;
}
.factory-lead figcaption { font-size: 12px; }
.factory-lead figcaption span:last-child { color: var(--yellow); }
.factory-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.factory-gallery figure { aspect-ratio: 4 / 3; }

@media (max-width: 920px) {
  .factory-heading { grid-template-columns: 1fr; gap: 22px; padding-block: 36px 38px; }
  .factory-heading p { max-width: 560px; }
  .factory-overview { aspect-ratio: 16 / 9; }
  .factory-grid { grid-template-columns: 1fr; }
  .factory-lead { aspect-ratio: 16 / 9; }
}

@media (max-width: 620px) {
  .factory-section { padding-block: 70px; }
  .factory-heading { gap: 16px; padding-block: 27px 31px; }
  .factory-heading h2 { font-size: 43px; }
  .factory-heading p { font-size: 15px; }
  .factory-overview { aspect-ratio: 4 / 3; margin-bottom: 10px; }
  .factory-overview figcaption { right: 12px; bottom: 12px; left: 12px; font-size: 10px; }
  .factory-grid, .factory-gallery { gap: 10px; }
  .factory-lead { aspect-ratio: 4 / 3; }
  .factory-gallery figure { aspect-ratio: 1 / 1; }
  .factory-lead figcaption { right: 12px; bottom: 12px; left: 12px; font-size: 10px; }
  .factory-gallery figcaption { right: 9px; bottom: 8px; left: 9px; font-size: 8px; letter-spacing: .05em; }
}

/* A quiet field strip carries the supplied excavator photography below the factory proof. */
.field-machines-section {
  padding-block: 18px 44px;
  background: var(--white);
}
.field-machines-shell {
  width: min(1800px, calc(100% - 32px));
  padding-top: 0;
}
.field-machines-carousel {
  min-width: 0;
}
.field-machines-strip {
  display: flex;
  gap: 24px;
  min-width: 0;
  overflow-x: auto;
  padding: 0 4px 12px;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  cursor: grab;
}
.field-machines-strip:active {
  cursor: grabbing;
}
.field-machines-strip::-webkit-scrollbar {
  display: none;
}
.field-machines-strip figure {
  position: relative;
  flex: 0 0 calc((100% - 48px) / 3);
  min-width: 0;
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 9px 24px rgba(16,17,15,.12);
  scroll-snap-align: start;
}
.field-machines-strip img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.04);
  transition: transform .5s cubic-bezier(.16,1,.3,1), filter .35s ease;
}
.field-machines-strip figure:hover img {
  filter: saturate(1) contrast(1.05);
  transform: scale(1.035);
}
.field-machines-strip .factory-lightbox-trigger:focus-visible {
  position: relative;
  z-index: 3;
  outline: 3px solid var(--yellow);
  outline-offset: -3px;
}
.field-machines-controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 14px;
}
.field-machines-control {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--ink);
  color: var(--ink);
  background: var(--white);
  transition: color .2s ease, background-color .2s ease, opacity .2s ease, transform .2s ease;
}
.field-machines-control:hover:not(:disabled),
.field-machines-control:focus-visible {
  color: var(--white);
  background: var(--ink);
  transform: translateY(-2px);
}
.field-machines-control:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 2px;
}
.field-machines-control:disabled {
  opacity: .32;
  cursor: not-allowed;
}
.field-machines-control svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 920px) {
  .field-machines-strip { gap: 16px; }
  .field-machines-strip figure { flex-basis: calc((100% - 32px) / 3); }
}

@media (max-width: 620px) {
  .field-machines-section { padding-block: 12px 38px; }
  .field-machines-shell {
    width: calc(100% - 38px);
  }
  .field-machines-strip {
    gap: 11px;
    padding-bottom: 4px;
  }
  .field-machines-strip figure {
    flex: 0 0 min(88vw, 370px);
    aspect-ratio: 16 / 9;
  }
  .field-machines-controls {
    justify-content: flex-start;
    padding-top: 11px;
  }
  .field-machines-control {
    width: 40px;
    height: 40px;
  }
}

/* Homepage greenery panel: a full-viewport image moment directly below the field carousel. */
.greenery-preview-section {
  position: relative;
  height: clamp(560px, 70svh, 900px);
  min-height: 560px;
  padding: 0;
  overflow: hidden;
  color: var(--white);
  background: var(--ink);
  border-top: 1px solid var(--line);
}
.greenery-preview-shell {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.greenery-preview-copy {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  width: min(1220px, calc(100% - 128px));
  height: 100%;
  margin-inline: auto;
  padding: 0 0 clamp(72px, 12vh, 140px);
  box-sizing: border-box;
}
.greenery-preview-copy h2 { margin: 0 0 22px; color: var(--white); font-size: clamp(58px, 5.2vw, 106px); line-height: .87; }
.greenery-preview-copy p { max-width: 310px; margin: 0 0 30px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.48; }
.greenery-preview-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--ink);
}
.greenery-preview-media::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(16,17,15,.82) 0%, rgba(16,17,15,.54) 34%, rgba(16,17,15,.12) 68%, rgba(16,17,15,0) 100%),
    linear-gradient(180deg, rgba(16,17,15,.28) 0%, rgba(16,17,15,0) 32%, rgba(16,17,15,.2) 100%);
  content: "";
  pointer-events: none;
}
.greenery-preview-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(.98) contrast(1.04);
  transition: filter .35s ease;
}
@media (max-width: 920px) {
  .greenery-preview-section { height: clamp(560px, 72svh, 760px); min-height: 560px; }
  .greenery-preview-copy { width: calc(100% - 64px); padding-bottom: 72px; }
  .greenery-preview-media::after {
    background:
      linear-gradient(180deg, rgba(16,17,15,.3) 0%, rgba(16,17,15,.1) 34%, rgba(16,17,15,.78) 100%),
      linear-gradient(90deg, rgba(16,17,15,.44), rgba(16,17,15,0) 82%);
  }
  .greenery-preview-copy h2 { margin-bottom: 16px; }
  .greenery-preview-copy p { margin-bottom: 20px; }
}
@media (max-width: 620px) {
  .greenery-preview-section { height: clamp(560px, 78svh, 700px); min-height: 560px; }
  .greenery-preview-copy { width: calc(100% - 38px); padding-bottom: 52px; }
  .greenery-preview-copy h2 { margin-bottom: 14px; font-size: 48px; }
  .greenery-preview-copy p { max-width: 310px; margin-bottom: 20px; font-size: 14px; }
}

/* Technical detail proof follows the homepage greenery moment without altering existing sections. */
.technical-detail-section {
  padding-block: 92px 106px;
  color: var(--ink);
  background: var(--paper);
  border-top: 1px solid var(--line);
}
.technical-detail-shell { width: min(1220px, calc(100% - 128px)); }
.technical-detail-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
  gap: 60px;
  align-items: end;
  margin-bottom: 38px;
  padding-bottom: 24px;
  border-bottom: 2px solid var(--ink);
}
.technical-detail-label {
  display: block;
  margin-bottom: 14px;
  color: var(--yellow-deep);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}
.technical-detail-heading h2 { margin: 0; color: var(--ink); font-size: clamp(54px, 5vw, 84px); line-height: .86; }
.technical-detail-heading p { max-width: 360px; margin: 0; color: #51534e; font-size: 16px; line-height: 1.5; }
.technical-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.technical-detail-card { min-width: 0; margin: 0; background: var(--white); box-shadow: 0 12px 28px rgba(16,17,15,.11); }
.technical-detail-card .factory-lightbox-trigger { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; overflow: hidden; padding: 0; border: 0; background: var(--ink); cursor: zoom-in; }
.technical-detail-card img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center; transition: transform .5s cubic-bezier(.16,1,.3,1), filter .35s ease; }
.technical-detail-card:hover img { filter: saturate(1.04) contrast(1.04); transform: scale(1.025); }
.technical-detail-card figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding: 14px 16px 16px; color: var(--ink); font-size: 11px; font-weight: 800; letter-spacing: .06em; line-height: 1.25; text-transform: uppercase; }
.technical-detail-card figcaption span:first-child { color: var(--yellow-deep); font-family: var(--display); font-size: 22px; letter-spacing: 0; line-height: 1; }
.technical-detail-card figcaption span:last-child { text-align: right; }
@media (max-width: 920px) {
  .technical-detail-section { padding-block: 76px 86px; }
  .technical-detail-shell { width: calc(100% - 64px); }
  .technical-detail-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 28px; }
  .technical-detail-heading p { max-width: 560px; }
  .technical-detail-grid { gap: 14px; }
}
@media (max-width: 620px) {
  .technical-detail-section { padding-block: 62px 70px; }
  .technical-detail-shell { width: calc(100% - 38px); }
  .technical-detail-heading { gap: 18px; margin-bottom: 22px; padding-bottom: 20px; }
  .technical-detail-label { margin-bottom: 11px; font-size: 10px; }
  .technical-detail-heading h2 { font-size: 48px; }
  .technical-detail-heading p { font-size: 14px; }
  .technical-detail-grid { grid-template-columns: 1fr; gap: 18px; }
  .technical-detail-card .factory-lightbox-trigger { aspect-ratio: 3 / 4; }
  .technical-detail-card figcaption { padding: 12px 14px 14px; font-size: 10px; }
}

/* Homepage palette direction: yellow and black lead the first and last viewports. */
.site-header {
  color: var(--ink);
  background: linear-gradient(180deg, rgba(255, 205, 17, .98), rgba(255, 205, 17, .88) 58%, rgba(255, 205, 17, 0));
}
.topline { border-bottom-color: rgba(16, 17, 15, .24); }
.site-header .brand,
.nav-dropdown-trigger,
.primary-nav-link { color: var(--ink); }
.site-header .menu-toggle { color: var(--ink); border-color: rgba(16, 17, 15, .46); }
.nav-cta { color: var(--white); background: var(--ink); }
.nav-cta:hover { background: var(--ink-soft); }

.hero--fullbleed {
  color: var(--ink);
  background: var(--yellow);
}
.fullbleed-hero-media {
  z-index: 2;
  background: var(--yellow);
}
.fullbleed-hero-media img {
  position: absolute;
  top: 7%;
  right: 3%;
  width: 58%;
  height: 89%;
  opacity: .98;
  object-fit: contain;
  object-position: right center;
  filter: saturate(1.12) contrast(1.12);
}
.fullbleed-hero-wash {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255, 205, 17, .995) 0%, rgba(255, 205, 17, .96) 34%, rgba(255, 205, 17, .7) 50%, rgba(255, 205, 17, .18) 67%, rgba(255, 205, 17, 0) 82%),
    linear-gradient(180deg, rgba(255, 205, 17, .18), rgba(255, 205, 17, 0) 34%, rgba(16, 17, 15, .12) 100%);
}
.hero--fullbleed h1 { color: var(--ink); }
.fullbleed-hero-content { max-width: 1220px; }
.fullbleed-hero-content h1,
.fullbleed-hero-content .fullbleed-hero-lead,
.fullbleed-hero-content .fullbleed-hero-cta { position: relative; z-index: 3; }
.fullbleed-hero-content h1 { max-width: 515px; }
.fullbleed-hero-lead { color: rgba(16, 17, 15, .78); }
.fullbleed-hero-cta { color: var(--white); background: var(--ink); }
.fullbleed-hero-cta:hover { background: var(--ink-soft); }
.fullbleed-hero-footer {
  border-top-color: rgba(16, 17, 15, .28);
  color: var(--white);
  background: rgba(16, 17, 15, .94);
}

/* Ground the lower page in a deliberate black/yellow band. */
.support {
  color: var(--white);
  background: var(--ink);
}
.support-copy h2 { color: var(--yellow); }
.support-list { border-top-color: var(--yellow); }
.support-list article { border-bottom-color: rgba(255, 255, 255, .22); }
.support-icon { color: var(--ink); background: var(--yellow); }
.support-list p { color: rgba(255, 255, 255, .72); }
.inquiry { border-top: 8px solid var(--ink); }
.site-footer { border-top: 8px solid var(--yellow); }
.site-footer .brand-footer .brand-mark { transform: none; }

@media (max-width: 640px) {
  .fullbleed-hero-wash {
    background:
      linear-gradient(180deg, rgba(255, 205, 17, .995) 0%, rgba(255, 205, 17, .94) 37%, rgba(255, 205, 17, .28) 70%, rgba(16, 17, 15, .16) 100%),
      linear-gradient(90deg, rgba(255, 205, 17, .34), rgba(255, 205, 17, 0) 82%);
  }
  .fullbleed-hero-media img {
    top: 31%;
    right: 0;
    width: 100%;
    height: 66%;
    opacity: .98;
    object-position: right center;
  }
  .fullbleed-hero-content h1 { max-width: 320px; }
}

/* Product navigation: category first, then the individual model page. */
.nav-products-menu {
  width: min(760px, calc(100vw - 64px));
  min-width: 620px;
  padding: 10px;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.nav-product-group {
  min-width: 0;
  padding: 5px 10px 4px;
  border-top: 0;
  border-left: 1px solid rgba(255,255,255,.15);
}
.nav-product-group:first-child { padding-top: 5px; border-left: 0; }
.nav-product-group-title {
  display: block;
  padding: 4px 10px 7px;
  color: var(--yellow);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.nav-products-menu .nav-product-group a {
  padding: 9px 10px;
  font-size: 11px;
  white-space: nowrap;
}
.primary-nav-quote { white-space: nowrap; }
.primary-nav-quote svg { width: 17px; height: 17px; }

.product-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 20px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1.3;
  text-transform: uppercase;
}
.product-breadcrumb a { color: var(--ink); }
.product-breadcrumb a:hover { color: var(--yellow-deep); }
.product-breadcrumb svg { width: 14px; height: 14px; color: var(--yellow-deep); }
.product-breadcrumb span:last-child { color: var(--ink); }

/* Pretty product URLs render the existing technical record as a focused page. */
body.product-page .site-header {
  position: relative;
  color: var(--ink);
  background: var(--yellow);
}
body.product-page .site-header .brand,
body.product-page .nav-dropdown-trigger,
body.product-page .primary-nav-link { color: var(--ink); }
body.product-page .site-header .menu-toggle { color: var(--ink); border-color: rgba(16,17,15,.42); }
body.product-page .topline { border-bottom-color: rgba(16,17,15,.22); }
body.product-page .hero,
body.product-page .intro-band,
body.product-page .work-selector,
body.product-page .machines,
body.product-page .applications,
body.product-page .factory-section,
body.product-page .field-machines-section,
body.product-page .support,
body.product-page .inquiry,
body.product-page .site-footer { display: none; }
body.product-page .product-record {
  display: block;
  min-height: calc(100svh - 119px);
  padding-top: 74px;
  background: var(--paper);
}
body.product-page .record-close {
  color: var(--ink);
  border-color: var(--ink);
  background: transparent;
}
body.product-page .record-close:hover { color: var(--white); background: var(--ink); }
body.product-page .record-close svg { pointer-events: none; }
body.product-page .record-actions .button { display: inline-flex; }

/* Dedicated product pages reuse the homepage's live first-screen navigation. */
body.product-page .site-header { display: none; }
body.product-page .hero {
  position: fixed;
  z-index: 90;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
  min-height: 78px;
  height: 78px;
  aspect-ratio: auto;
  overflow: visible;
  color: #10110f;
  background: rgba(255,255,255,.98);
  box-shadow: 0 1px 0 rgba(16,17,15,.14), 0 10px 26px rgba(16,17,15,.10);
  transition: background-color .24s ease, color .24s ease, box-shadow .24s ease;
}
body.product-page .hero > :not(.hero-live-layer) { display: none !important; }
body.product-page .hero-live-layer {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  color: #10110f;
  pointer-events: auto;
}
body.product-page .hero-live-layer > :not(.hero-live-nav) { display: none !important; }
body.product-page .hero-live-nav {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  display: flex;
  align-items: center;
  gap: clamp(18px, 3.2vw, 60px);
  width: 100%;
  min-height: 78px;
  padding: 0 3.2%;
  color: #10110f;
  background: rgba(255,255,255,.98);
  box-shadow: 0 1px 0 rgba(16,17,15,.14), 0 10px 26px rgba(16,17,15,.10);
  transition: background-color .24s ease, color .24s ease, box-shadow .24s ease;
  font-size: clamp(10px, .9vw, 16px);
  letter-spacing: .02em;
}
body.product-page .hero-live-nav a { color: #10110f; }
body.product-page .hero-live-nav a:hover { color: #b88900; }
body.product-page .product-record { min-height: calc(100svh - 78px); padding-top: 102px; }

@media (max-width: 700px) {
  body.product-page .hero,
  body.product-page .hero-live-nav { min-height: 62px; height: 62px; }
  body.product-page .hero-live-nav { gap: 12px; padding: 0 4%; font-size: 7px; }
  body.product-page .hero-live-brand { margin-right: 6px; font-size: 8px; }
  body.product-page .product-record { min-height: calc(100svh - 62px); padding-top: 82px; }
}

@media (max-width: 920px) {
  .nav-products-menu { min-width: 0; width: 100%; grid-template-columns: 1fr; }
  .nav-products-menu .nav-product-group { width: 100%; padding: 7px 0 5px; border-top: 1px solid rgba(255,255,255,.15); border-left: 0; }
  .nav-products-menu .nav-product-group:first-child { padding-top: 2px; border-top: 0; }
  .nav-products-menu .nav-product-group a { white-space: normal; }
  .primary-nav.is-open .nav-dropdown-menu {
    position: static;
    display: none;
    width: 100%;
    margin-top: 4px;
    padding: 6px 0;
    border: 1px solid rgba(255,205,17,.38);
    box-shadow: none;
    opacity: 1;
    transform: none;
  }
  .primary-nav.is-open .nav-dropdown.is-open .nav-dropdown-menu { display: grid; }
  .primary-nav.is-open .nav-dropdown-menu::before { display: none; }
  .primary-nav.is-open .nav-product-group-title { padding-left: 15px; }
  .primary-nav.is-open .primary-nav-quote { display: inline-flex; }
}

@media (max-width: 620px) {
  body.product-page .product-record { min-height: calc(100svh - 62px); padding-top: 82px; }
  .product-breadcrumb { gap: 5px; margin-bottom: 15px; font-size: 9px; }
}

/* Keep navigation available throughout long product and factory sections. */
html { scroll-padding-top: 120px; }
.site-header,
body.product-page .site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
}
.site-header.is-scrolled {
  color: var(--white);
  background: rgba(16,17,15,.97);
  box-shadow: 0 1px 0 rgba(255,255,255,.14), 0 12px 26px rgba(0,0,0,.18);
}
.site-header.is-scrolled .brand,
.site-header.is-scrolled .nav-dropdown-trigger,
.site-header.is-scrolled .primary-nav-link { color: var(--white); }
.site-header.is-scrolled .menu-toggle { color: var(--white); border-color: rgba(255,255,255,.42); }
.site-header.is-scrolled .topline { border-bottom-color: rgba(255,255,255,.18); }
.site-header.is-scrolled .nav-cta { color: var(--ink); background: var(--yellow); }

@media (max-width: 620px) {
  html { scroll-padding-top: 100px; }
}

/* Homepage layout: make the first view lead straight into the range or inquiry path. */
.fullbleed-hero-actions {
  display: flex;
  align-items: center;
  gap: 23px;
  flex-wrap: wrap;
}
.fullbleed-hero-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 8px 0;
  border-bottom: 2px solid currentColor;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: color .2s ease, transform .2s ease;
}
.fullbleed-hero-text-link svg { width: 18px; height: 18px; }
.fullbleed-hero-text-link:hover { color: var(--ink-soft); transform: translateY(-2px); }
.fullbleed-hero-footer { gap: 0; padding: 0 max(32px, calc((100vw - 1220px) / 2)); }
.fullbleed-hero-footer a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 54px;
  padding: 0 26px;
  border-left: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.82);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  transition: color .2s ease, background-color .2s ease;
}
.fullbleed-hero-footer a:first-child { padding-left: 0; border-left: 0; }
.fullbleed-hero-footer a:hover { color: var(--ink); background: var(--yellow); }
.fullbleed-hero-footer svg { width: 16px; height: 16px; }

@media (max-width: 640px) {
  .fullbleed-hero-actions { gap: 16px; }
  .fullbleed-hero-text-link { min-height: 42px; font-size: 11px; }
  .fullbleed-hero-footer { justify-content: space-between; padding-inline: 19px; }
  .fullbleed-hero-footer a { min-height: 46px; padding: 0 11px; font-size: 8px; }
  .fullbleed-hero-footer a:first-child { padding-left: 0; }
  .fullbleed-hero-footer svg { width: 13px; height: 13px; }
}

/* Desktop navigation keeps product paths grouped without competing with the hero image. */

@media (min-width: 921px) {
  .nav-shell {
    display: block;
    width: min(1440px, calc(100% - 64px));
    min-height: 84px;
  }

  .brand--mobile,
  .menu-toggle { display: none; }

  .primary-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    min-height: 84px;
  }

  .nav-group {
    display: flex;
    align-items: center;
    gap: clamp(20px, 2vw, 34px);
    min-width: 0;
  }

  .nav-group--left { justify-content: flex-start; }
  .nav-group--right { justify-content: flex-end; }

  .site-header,
  body.product-page .site-header {
    color: var(--white);
    background: var(--ink);
  }

  .site-header .brand,
  .site-header .nav-dropdown-trigger,
  .site-header .primary-nav-link,
  body.product-page .site-header .brand,
  body.product-page .nav-dropdown-trigger,
  body.product-page .primary-nav-link { color: var(--white); }

  .topline { border-bottom-color: rgba(255,255,255,.18); }
  .nav-cta { color: var(--ink); background: var(--yellow); }
  .nav-cta:hover { color: var(--white); background: var(--ink-soft); }
  .site-header.is-scrolled .nav-cta { color: var(--ink); background: var(--yellow); }
  .site-header.is-scrolled .nav-cta:hover { color: var(--white); background: var(--ink-soft); }
}

@media (max-width: 920px) {
  .nav-group { display: contents; }

  .primary-nav.is-open > .nav-group > .nav-dropdown { width: 100%; }
  .primary-nav.is-open > .nav-group > .nav-dropdown .nav-dropdown-trigger { justify-content: space-between; width: 100%; padding-block: 12px; border-bottom: 1px solid rgba(255,255,255,.16); text-align: left; }
  .primary-nav.is-open > .nav-group > .nav-dropdown .nav-dropdown-menu { position: static; display: none; min-width: 0; margin: 0; padding: 3px 0 7px 16px; border: 0; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; }
  .primary-nav.is-open > .nav-group > .nav-dropdown .nav-dropdown-menu::before { display: none; }
  .primary-nav.is-open > .nav-group > .nav-dropdown.is-open .nav-dropdown-menu { display: grid; }
  .primary-nav.is-open > .nav-group > .nav-dropdown .nav-dropdown-menu a { width: 100%; padding-block: 10px; border-bottom: 0; }
}

/* Homepage navigation sits over the yellow hero, then settles into a dark rail once the page moves. */
body:not(.product-page):not(.product-deeplink) .site-header {
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  transition: background-color .28s ease, box-shadow .28s ease, color .28s ease;
}

body:not(.product-page):not(.product-deeplink) .site-header:not(.is-scrolled) .topline {
  border-bottom-color: rgba(16, 17, 15, .2);
}

body:not(.product-page):not(.product-deeplink) .site-header:not(.is-scrolled) .brand,
body:not(.product-page):not(.product-deeplink) .site-header:not(.is-scrolled) .nav-dropdown-trigger,
body:not(.product-page):not(.product-deeplink) .site-header:not(.is-scrolled) .primary-nav-link {
  color: var(--ink);
}

body:not(.product-page):not(.product-deeplink) .site-header:not(.is-scrolled) .menu-toggle {
  color: var(--ink);
  border-color: rgba(16, 17, 15, .38);
}

body:not(.product-page):not(.product-deeplink) .site-header:not(.is-scrolled) .nav-cta {
  color: var(--white);
  background: var(--ink);
}

body:not(.product-page):not(.product-deeplink) .site-header.is-scrolled {
  background: rgba(16, 17, 15, .97);
}

/* The wide product menu opens from the left navigation edge so every product column stays inside the viewport. */
@media (min-width: 921px) {
  .primary-nav { position: relative; }
  .nav-group--left .nav-dropdown { position: static; }
  .nav-group--left .nav-products-menu {
    top: 100%;
    left: 0;
    width: min(760px, calc(100vw - 64px));
    transform: translateY(-8px);
  }
  .nav-group--left .nav-products-menu::before { left: 154px; }
  .nav-group--left .nav-dropdown.is-open .nav-products-menu { transform: translateY(0); }
}

/* Product line: give each excavator a clear white gallery stage before its technical record. */
.product-console {
  margin-top: 88px;
  padding-top: 0;
  border-top: 2px solid var(--ink);
  scroll-margin-top: 120px;
}

.product-console-head {
  align-items: center;
  padding: 18px 0 22px;
}

.product-filter-nav {
  display: flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 42px;
  padding: 5px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #eeede8;
  scrollbar-width: none;
}

.product-filter-nav::-webkit-scrollbar { display: none; }

.product-filter-button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 17px;
  color: var(--muted);
  border: 0;
  border-radius: 999px;
  background: transparent;
  font-family: var(--body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1;
  white-space: nowrap;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.product-filter-button:hover { color: var(--ink); background: rgba(255,255,255,.72); }
.product-filter-button.is-active { color: var(--white); background: var(--ink); }
.product-filter-button:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(26px, 4vw, 72px);
  row-gap: 76px;
  border: 0;
}

.product-card {
  display: grid;
  grid-template-rows: minmax(330px, 410px) auto;
  min-width: 0;
  color: var(--ink);
  border: 0;
  background: transparent;
  text-align: center;
  transition: none;
}

.product-card:hover,
.product-card.is-active {
  color: var(--ink);
  background: transparent;
}

.product-card:hover { transform: none; }

.product-card-media {
  display: grid;
  align-items: end;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.product-card img,
.product-card[data-product="me130"] img,
.product-card[data-product="me210"] img {
  width: 100%;
  height: 100%;
  padding: 10px 0 0;
  object-fit: contain;
  object-position: center center;
  background: transparent;
  filter: contrast(1.04) saturate(.94);
  transition: transform .28s cubic-bezier(.16, 1, .3, 1), filter .28s ease;
}

.product-card:hover img,
.product-card:focus-within img {
  filter: contrast(1.06) saturate(1);
  transform: translateY(-8px) scale(1.025);
}

.product-card-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  padding: 15px 0 0;
}

.product-card-class {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.2;
  text-transform: uppercase;
}

.product-code {
  min-height: 0;
  margin: 0;
  padding: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(29px, 2.3vw, 38px);
  font-weight: 800;
  line-height: .95;
}

.product-card-weight {
  margin: 10px 0 17px;
  color: #51534e;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.product-card-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 16px;
  color: var(--white);
  border: 0;
  background: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1;
  text-transform: uppercase;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.product-card-open svg { width: 16px; height: 16px; }
.product-card-open:hover { color: var(--ink); background: var(--yellow); transform: translateY(-3px); }
.product-card-open:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }

.product-note {
  max-width: 820px;
  margin: 28px 0 0;
}

@media (max-width: 920px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 58px;
  }

  .product-card { grid-template-rows: minmax(290px, 360px) auto; }
}

@media (max-width: 620px) {
  .product-console { margin-top: 58px; }
  .product-console-head { align-items: flex-start; padding-bottom: 18px; }
  .product-console-head span:last-child { padding-top: 4px; text-align: right; }
  .product-filter-nav { width: 100%; margin-bottom: 34px; overflow-x: visible; flex-wrap: wrap; border-radius: 18px; }
  .product-filter-button { min-height: 36px; padding-inline: 14px; font-size: 10px; }
  .product-grid { grid-template-columns: 1fr; row-gap: 48px; }
  .product-card { grid-template-columns: 1fr; grid-template-rows: minmax(270px, 340px) auto; }
  .product-card-copy { padding-top: 12px; }
  .product-card-class { margin-bottom: 7px; }
  .product-card-weight { margin: 8px 0 15px; }
}

/* Homepage hero: a clear left-machine, right-message composition with direct range and inquiry paths. */
body:not(.product-page):not(.product-deeplink) .site-header .topline { display: none; }

@media (min-width: 1120px) {
  .nav-shell {
    display: flex;
    align-items: center;
    gap: clamp(34px, 4vw, 72px);
  }

  .brand--header { display: inline-flex; flex: 0 0 auto; }
  .primary-nav { flex: 1 1 auto; }
}

@media (min-width: 921px) {
  .hero--fullbleed {
    min-height: min(860px, 100svh);
    height: min(860px, 100svh);
  }

  .fullbleed-hero-media img {
    top: 12%;
    right: auto;
    left: 0;
    width: 52%;
    height: 78%;
    object-position: center center;
    filter: saturate(1.08) contrast(1.1);
  }

  .fullbleed-hero-wash { background: none; }

  .fullbleed-hero-content {
    position: absolute;
    top: 50%;
    left: 53%;
    width: min(42vw, 660px);
    max-width: none;
    margin: 0;
    padding: 0 0 34px;
    transform: translateY(-43%);
  }

  .hero--fullbleed h1 {
    max-width: 650px;
    margin-bottom: 28px;
    font-size: clamp(64px, 6.1vw, 98px);
    line-height: .86;
  }

  .fullbleed-hero-lead {
    max-width: 540px;
    margin-bottom: 34px;
    color: rgba(16, 17, 15, .84);
    font-size: 18px;
    line-height: 1.48;
  }

  .fullbleed-hero-actions { gap: 18px; }
}

.fullbleed-hero-text-link {
  justify-content: center;
  min-height: 48px;
  padding: 13px 19px;
  border: 1px solid var(--ink);
  color: var(--ink);
}

.fullbleed-hero-text-link:hover { color: var(--white); background: var(--ink); transform: translateY(-3px); }

.fullbleed-hero-footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: stretch;
  gap: 0;
  min-height: 72px;
  padding: 0 max(32px, calc((100vw - 1320px) / 2));
  background: rgba(16, 17, 15, .97);
}

.fullbleed-hero-footer a {
  justify-content: center;
  gap: 18px;
  min-height: 72px;
  padding: 0 28px;
  border-left: 1px solid rgba(255,255,255,.25);
  color: var(--white);
}

.fullbleed-hero-footer a:first-child { padding-left: 28px; border-left: 0; }
.fullbleed-hero-footer a > svg { width: 27px; height: 27px; color: var(--white); stroke-width: 1.8; }
.fullbleed-hero-footer a span { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.58); color: var(--yellow); font-size: 17px; letter-spacing: .04em; }

@media (max-width: 920px) {
  body:not(.product-page):not(.product-deeplink) .primary-nav.is-open { top: 84px; }
  .fullbleed-hero-footer { min-height: 60px; padding-inline: 19px; }
  .fullbleed-hero-footer a { min-height: 60px; padding-inline: 10px; gap: 9px; }
  .fullbleed-hero-footer a:first-child { padding-left: 10px; }
  .fullbleed-hero-footer a > svg { width: 19px; height: 19px; }
  .fullbleed-hero-footer a span { padding-left: 9px; font-size: 9px; }
}

@media (max-width: 640px) {
  body:not(.product-page):not(.product-deeplink) .primary-nav.is-open { top: 70px; }
  .hero--fullbleed { min-height: max(700px, 100svh); height: max(700px, 100svh); }
  .fullbleed-hero-content { padding-top: max(108px, calc(env(safe-area-inset-top) + 82px)); }
  .hero--fullbleed h1 { max-width: 330px; font-size: 51px; line-height: .88; }
  .fullbleed-hero-lead { max-width: 310px; font-size: 15px; }
  .fullbleed-hero-media img { top: 35%; right: auto; left: -8%; width: 116%; height: 60%; object-position: center center; }
}

/* Composite hero: the supplied artwork remains the visual base while all labels and controls stay live HTML. */
body:not(.product-page):not(.product-deeplink) .site-header { opacity: 0; pointer-events: none; background: transparent; }
body:not(.product-page):not(.product-deeplink) .site-header.is-scrolled { opacity: 1; pointer-events: auto; background: rgba(16,17,15,.97); }

.hero--composite {
  position: relative;
  width: 100%;
  min-height: 0;
  height: auto;
  aspect-ratio: 1672 / 941;
  overflow: hidden;
  background: var(--yellow);
}
.composite-hero-art { display: block; width: 100%; height: 100%; object-fit: fill; }
.composite-hero-cover { position: absolute; z-index: 1; pointer-events: none; }
.composite-hero-cover--nav,
.composite-hero-cover--copy { display: none; }
.composite-hero-cover--footer { right: 0; bottom: 0; left: 0; height: 15.2%; background: #10110f; }

.composite-hero-nav { position: absolute; z-index: 4; top: 0; right: 0; left: 0; display: flex; align-items: center; min-height: 14%; padding: 0 2.8%; }
.composite-hero-logo { display: block; width: 18%; height: 100%; flex: 0 0 18%; }
.composite-hero-nav-links { display: flex; align-items: center; justify-content: center; gap: clamp(22px, 3.6vw, 68px); width: 82%; color: var(--ink); }
.composite-hero-nav-links > a,
.composite-hero-dropdown > button { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 8px 0; color: var(--ink); font-size: clamp(13px, 1.15vw, 20px); font-weight: 800; letter-spacing: .01em; line-height: 1; text-transform: uppercase; }
.composite-hero-nav-links > a:hover,
.composite-hero-dropdown > button:hover { color: #33352f; }
.composite-hero-dropdown { position: relative; }
.composite-hero-dropdown > button { border: 0; background: transparent; cursor: pointer; }
.composite-hero-dropdown > button svg { width: 16px; height: 16px; }
.composite-hero-dropdown-menu { position: absolute; top: calc(100% + 2px); left: 50%; display: none; grid-template-columns: repeat(3, minmax(170px, 1fr)); gap: 0; width: min(760px, calc(100vw - 40px)); padding: 14px 18px; color: var(--white); background: rgba(16,17,15,.98); box-shadow: 0 16px 35px rgba(0,0,0,.22); transform: translateX(-50%); }
.composite-hero-dropdown.is-open .composite-hero-dropdown-menu { display: grid; }
.composite-hero-dropdown-menu > div { display: grid; align-content: start; gap: 8px; padding: 5px 16px; border-left: 1px solid rgba(255,255,255,.24); }
.composite-hero-dropdown-menu > div:first-child { border-left: 0; }
.composite-hero-dropdown-menu strong { color: var(--yellow); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.composite-hero-dropdown-menu a { color: rgba(255,255,255,.9); font-size: 12px; line-height: 1.25; }
.composite-hero-dropdown-menu a:hover { color: var(--yellow); }
.composite-hero-quote { min-height: 52px !important; padding: 0 22px !important; color: var(--white) !important; background: var(--ink); }
.composite-hero-quote svg { width: 16px; height: 16px; }
.composite-hero-menu-toggle,
.composite-mobile-nav { display: none; }

.composite-hero-copy { position: absolute; z-index: 3; top: 25%; left: 54.3%; width: 42%; color: var(--ink); }
.composite-hero-copy h1 { max-width: 740px; margin: 0 0 6.5%; color: var(--ink); font-family: var(--display); font-size: clamp(55px, 6.15vw, 104px); font-weight: 800; line-height: .86; letter-spacing: 0; }
.composite-hero-copy p { max-width: 690px; margin: 0 0 6%; font-size: clamp(15px, 1.35vw, 23px); line-height: 1.43; }
.composite-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.composite-hero-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 58px; padding: 0 28px; color: var(--white); background: var(--ink); font-size: clamp(12px, 1vw, 18px); font-weight: 800; letter-spacing: .01em; line-height: 1; text-transform: uppercase; }
.composite-hero-button svg { width: 18px; height: 18px; }
.composite-hero-button--outline { color: var(--ink); border: 2px solid var(--ink); background: transparent; }
.composite-hero-button:hover { color: var(--ink); background: var(--white); }
.composite-hero-button--outline:hover { color: var(--white); background: var(--ink); }

.composite-hero-footer { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 15.2%; }
.composite-hero-footer a { display: flex; align-items: center; justify-content: center; gap: 20px; color: var(--yellow); font-size: clamp(14px, 1.35vw, 24px); font-weight: 800; letter-spacing: .01em; line-height: 1; text-transform: uppercase; }
.composite-hero-footer a + a { border-left: 1px solid rgba(255,255,255,.4); }
.composite-hero-footer a:hover { color: var(--white); background: rgba(255,205,17,.12); }
.composite-hero-footer svg { width: clamp(20px, 2vw, 34px); height: clamp(20px, 2vw, 34px); color: var(--white); stroke-width: 1.7; }

@media (max-width: 920px) {
  .hero--composite { aspect-ratio: 1672 / 941; }
  .composite-hero-nav { padding-inline: 4%; }
  .composite-hero-logo { width: 62%; flex-basis: 62%; }
  .composite-hero-nav-links { display: none; }
  .composite-hero-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-left: auto; color: var(--ink); border: 1px solid rgba(16,17,15,.4); background: transparent; }
  .composite-hero-menu-toggle svg { width: 22px; height: 22px; }
  .composite-mobile-nav { position: absolute; top: 100%; right: 4%; left: 4%; display: none; flex-direction: column; padding: 10px 16px; background: rgba(16,17,15,.98); box-shadow: 0 16px 30px rgba(0,0,0,.2); }
  .composite-mobile-nav.is-open { display: flex; }
  .composite-mobile-nav a { padding: 12px 0; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.18); font-size: 13px; font-weight: 800; text-transform: uppercase; }
  .composite-mobile-nav a:last-child { border-bottom: 0; }
  .composite-hero-copy { top: 25%; left: 54%; width: 43%; }
  .composite-hero-copy h1 { font-size: clamp(31px, 6.2vw, 58px); }
  .composite-hero-copy p { font-size: clamp(10px, 1.8vw, 15px); }
  .composite-hero-button { min-height: 40px; padding-inline: 13px; font-size: 9px; gap: 6px; }
  .composite-hero-button svg { width: 13px; height: 13px; }
  .composite-hero-footer a { gap: 9px; font-size: clamp(8px, 1.7vw, 12px); }
  .composite-hero-footer svg { width: 17px; height: 17px; }
}

@media (max-width: 520px) {
  .hero--composite { aspect-ratio: 1672 / 941; }
  .composite-hero-cover--nav { left: 27%; height: 17%; }
  .composite-hero-cover--copy { top: 19%; left: 51%; bottom: 14%; }
  .composite-hero-copy { top: 24%; left: 53%; width: 44%; }
  .composite-hero-copy h1 { margin-bottom: 8%; font-size: clamp(20px, 7vw, 34px); }
  .composite-hero-copy p { margin-bottom: 8%; font-size: clamp(7px, 2.1vw, 10px); line-height: 1.35; }
  .composite-hero-actions { gap: 5px; }
  .composite-hero-button { min-height: 25px; padding: 0 7px; font-size: 5px; border-width: 1px; }
  .composite-hero-button svg { width: 8px; height: 8px; }
  .composite-hero-footer { min-height: 14%; }
}

/* Factory visit route: let the supplied aerial photograph lead the page while the existing
   TOUGHNEER navigation, yellow signal color, and square industrial controls stay consistent. */
body.factory-page {
  color: var(--ink);
  background: var(--paper);
}

body.factory-page .site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 70;
  min-height: 84px;
  color: var(--white);
  background: rgba(16, 17, 15, .97);
  border-bottom: 1px solid rgba(255, 205, 17, .34);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
  opacity: 1;
  pointer-events: auto;
}

body.factory-page .site-header .brand,
body.factory-page .site-header .nav-dropdown-trigger,
body.factory-page .site-header .primary-nav-link { color: var(--white); }

body.factory-page .site-header .menu-toggle {
  color: var(--white);
  border-color: rgba(255, 255, 255, .42);
}

body.factory-page .site-header .nav-cta {
  color: var(--ink);
  background: var(--yellow);
}

body.factory-page .site-header .nav-cta:hover {
  color: var(--white);
  background: var(--ink-soft);
}

body.factory-page .site-header.is-scrolled {
  background: rgba(16, 17, 15, .99);
}

/* The homepage's transparent-header rule is intentionally more specific; cancel it on this route. */
body.factory-page:not(.product-page):not(.product-deeplink) .site-header {
  opacity: 1;
  pointer-events: auto;
  color: var(--white);
  background: rgba(16, 17, 15, .97);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
}

body.factory-page:not(.product-page):not(.product-deeplink) .site-header .brand,
body.factory-page:not(.product-page):not(.product-deeplink) .site-header .nav-dropdown-trigger,
body.factory-page:not(.product-page):not(.product-deeplink) .site-header .primary-nav-link { color: var(--white); }

body.factory-page:not(.product-page):not(.product-deeplink) .site-header .menu-toggle {
  color: var(--white);
  border-color: rgba(255, 255, 255, .42);
}

body.factory-page:not(.product-page):not(.product-deeplink) .site-header .nav-cta {
  color: var(--ink);
  background: var(--yellow);
}

.factory-page-hero {
  position: relative;
  display: grid;
  min-height: min(860px, 100svh);
  height: min(860px, 100svh);
  overflow: hidden;
  isolation: isolate;
  color: var(--white);
  background: #121411;
}

.factory-page-hero-media,
.factory-page-hero-wash {
  position: absolute;
  inset: 0;
}

.factory-page-hero-media {
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(.94) contrast(1.04);
  transform: scale(1.015);
}

.factory-page-hero-wash {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(16, 17, 15, .82) 0%, rgba(16, 17, 15, .58) 21%, rgba(16, 17, 15, .19) 49%, rgba(16, 17, 15, .02) 77%),
    linear-gradient(180deg, rgba(16, 17, 15, .14) 0%, transparent 35%, rgba(16, 17, 15, .48) 100%);
  pointer-events: none;
}

.factory-page-hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 100%;
  padding-top: 144px;
  padding-bottom: 120px;
}

.factory-page-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  color: var(--yellow);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.factory-page-hero-kicker::before {
  width: 34px;
  height: 2px;
  background: var(--yellow);
  content: "";
}

.factory-page-hero h1 {
  max-width: 660px;
  margin: 0 0 24px;
  color: var(--white);
  font-size: clamp(62px, 7vw, 104px);
  line-height: .84;
  text-shadow: 0 4px 22px rgba(0, 0, 0, .24);
}

.factory-page-hero-lead {
  max-width: 465px;
  margin: 0 0 32px;
  color: rgba(255, 255, 255, .88);
  font-size: 18px;
  line-height: 1.48;
}

.factory-page-hero-cta { min-height: 51px; }
.factory-page-hero-cta svg { width: 18px; height: 18px; }

.factory-page-hero-meta {
  position: absolute;
  right: max(32px, calc((100vw - 1220px) / 2));
  bottom: 27px;
  left: max(32px, calc((100vw - 1220px) / 2));
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .4);
  color: rgba(255, 255, 255, .82);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.factory-page-hero-meta span:last-child { color: var(--yellow); }

.factory-page-intro {
  padding-block: 92px 98px;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}

.factory-page-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: 76px;
  align-items: end;
}

.factory-page-intro-grid h2 { margin: 0; color: var(--ink); }
.factory-page-intro-grid p { max-width: 480px; margin: 0; color: #51534e; font-size: 17px; line-height: 1.52; }

.factory-page-intro-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 35px;
  padding-top: 15px;
  border-top: 2px solid var(--ink);
}

.factory-page-intro-rail span {
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1.25;
  text-transform: uppercase;
}

.factory-page-intro-rail span::before {
  display: block;
  width: 18px;
  height: 3px;
  margin-bottom: 9px;
  background: var(--yellow);
  content: "";
}

.factory-page-floor { scroll-margin-top: 84px; }

.factory-page-cta {
  padding-block: 86px 92px;
  color: var(--ink);
  background: var(--yellow);
}

.factory-page-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(230px, .65fr) auto;
  gap: 42px;
  align-items: end;
}

.factory-page-cta h2 { margin: 0; }
.factory-page-cta p { max-width: 330px; margin: 0; font-size: 16px; line-height: 1.48; }
.factory-page-cta .button { white-space: nowrap; }

@media (max-width: 920px) {
  body.factory-page .site-header { min-height: 78px; }
  body.factory-page .primary-nav.is-open { top: 78px; }
  .factory-page-hero { min-height: max(740px, 100svh); height: max(740px, 100svh); }
  .factory-page-hero-content { padding-top: 150px; padding-bottom: 112px; }
  .factory-page-hero h1 { max-width: 540px; font-size: clamp(58px, 9vw, 82px); }
  .factory-page-hero-meta { right: 32px; left: 32px; }
  .factory-page-intro-grid { grid-template-columns: 1fr; gap: 32px; }
  .factory-page-intro-grid p { max-width: 560px; }
  .factory-page-cta-inner { grid-template-columns: 1fr 1fr; gap: 28px; }
  .factory-page-cta-inner .button { justify-self: start; }
}

@media (max-width: 620px) {
  body.factory-page .site-header { min-height: 70px; }
  body.factory-page .primary-nav.is-open { top: 70px; }
  .factory-page-hero { min-height: max(700px, 100svh); height: max(700px, 100svh); }
  .factory-page-hero-media { object-position: 58% center; }
  .factory-page-hero-wash {
    background:
      linear-gradient(180deg, rgba(16, 17, 15, .28) 0%, rgba(16, 17, 15, .08) 37%, rgba(16, 17, 15, .76) 100%),
      linear-gradient(90deg, rgba(16, 17, 15, .44), rgba(16, 17, 15, .04) 80%);
  }
  .factory-page-hero-content { justify-content: flex-end; padding-top: 126px; padding-bottom: 100px; }
  .factory-page-hero-kicker { margin-bottom: 15px; font-size: 10px; }
  .factory-page-hero h1 { max-width: 340px; margin-bottom: 17px; font-size: 52px; line-height: .87; }
  .factory-page-hero-lead { max-width: 315px; margin-bottom: 23px; font-size: 15px; }
  .factory-page-hero-cta { min-height: 46px; padding-inline: 16px; font-size: 11px; }
  .factory-page-hero-meta { right: 19px; bottom: 21px; left: 19px; padding-top: 10px; font-size: 8px; }
  .factory-page-hero-meta span:last-child { display: none; }
  .factory-page-intro { padding-block: 68px 72px; }
  .factory-page-intro-grid { gap: 25px; }
  .factory-page-intro-grid h2 { font-size: 48px; }
  .factory-page-intro-grid p { font-size: 15px; }
  .factory-page-intro-rail { grid-template-columns: 1fr; gap: 14px; margin-top: 27px; }
  .factory-page-intro-rail span { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: center; }
  .factory-page-intro-rail span::before { margin: 0; }
  .factory-page-floor { scroll-margin-top: 70px; }
  .factory-page-cta { padding-block: 68px 74px; }
  .factory-page-cta-inner { grid-template-columns: 1fr; gap: 22px; }
  .factory-page-cta h2 { font-size: 48px; }
  .factory-page-cta p { font-size: 15px; }
  .factory-page-cta .button { white-space: normal; }
}

/* Standalone greenery view: preserve its original white-space composition. */
body.greenery-page {
  color: var(--ink);
  background: var(--white);
}
body.greenery-page .site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 70;
  min-height: 84px;
  color: var(--white);
  background: rgba(16,17,15,.96);
  border-bottom: 1px solid rgba(255,205,17,.34);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
  opacity: 1;
  pointer-events: auto;
}
body.greenery-page .site-header .brand,
body.greenery-page .site-header .nav-dropdown-trigger,
body.greenery-page .site-header .primary-nav-link { color: var(--white); }
body.greenery-page .site-header .menu-toggle { color: var(--white); border-color: rgba(255,255,255,.42); }
body.greenery-page .site-header .nav-cta { color: var(--ink); background: var(--yellow); }
body.greenery-page .site-header .nav-cta:hover { color: var(--white); background: var(--ink-soft); }
body.greenery-page:not(.product-page):not(.product-deeplink) .site-header { opacity: 1; pointer-events: auto; background: rgba(16,17,15,.96); }
body.greenery-page .primary-nav.is-open { top: 84px; }
.greenery-page-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(270px, .31fr) minmax(0, .69fr);
  gap: clamp(46px, 7vw, 150px);
  width: min(1900px, calc(100% - 64px));
  min-height: 0;
  margin-inline: auto;
  padding: 124px 0 58px;
  overflow: visible;
  color: var(--ink);
  background: var(--white);
}
.greenery-page-hero-media {
  position: relative;
  inset: auto;
  z-index: 0;
  grid-column: 2;
  grid-row: 1;
  display: block;
  width: 100%;
  height: min(1190px, 82svh);
  min-height: 650px;
  object-fit: cover;
  object-position: center center;
  filter: saturate(.96) contrast(1.02);
}
.greenery-page-hero-wash {
  display: none;
}
.greenery-page-hero-content {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  width: auto;
  min-height: 100%;
  margin: 0;
  padding: 0 0 48px;
}
.greenery-page-hero-kicker { display: none; }
.greenery-page-hero h1 {
  max-width: 420px;
  margin: 0 0 22px;
  color: var(--ink);
  font-size: clamp(58px, 5.2vw, 106px);
  line-height: .87;
}
.greenery-page-hero-lead {
  max-width: 310px;
  margin: 0 0 30px;
  color: #8a8c85;
  font-size: 15px;
  line-height: 1.48;
}
.greenery-page-hero-cta { min-height: 51px; color: var(--white); background: var(--ink); }
.greenery-page-hero-cta:hover { color: var(--white); background: var(--ink-soft); }
.greenery-page-hero-cta svg { width: 18px; height: 18px; }
.greenery-page-hero-meta { display: none; }
@media (max-width: 920px) {
  body.greenery-page .site-header { min-height: 78px; }
  body.greenery-page .primary-nav.is-open { top: 78px; }
  .greenery-page-hero {
    grid-template-columns: 1fr;
    gap: 28px;
    width: calc(100% - 64px);
    padding-top: 108px;
  }
  .greenery-page-hero-content { grid-column: 1; grid-row: 1; min-height: 0; padding-bottom: 0; }
  .greenery-page-hero-media { grid-column: 1; grid-row: 2; height: min(760px, 78svh); min-height: 520px; }
  .greenery-page-hero h1 { max-width: 520px; font-size: clamp(58px, 9vw, 82px); }
}
@media (max-width: 620px) {
  body.greenery-page .site-header { min-height: 70px; }
  body.greenery-page .primary-nav.is-open { top: 70px; }
  .greenery-page-hero { width: calc(100% - 38px); gap: 22px; padding-top: 96px; padding-bottom: 46px; }
  .greenery-page-hero-content { width: auto; padding-bottom: 0; }
  .greenery-page-hero h1 { max-width: 340px; margin-bottom: 17px; font-size: 50px; line-height: .87; }
  .greenery-page-hero-lead { max-width: 315px; margin-bottom: 22px; font-size: 14px; }
  .greenery-page-hero-cta { min-height: 46px; padding-inline: 16px; font-size: 11px; }
}

/* Tall product source images must stay entirely inside the shared product-media frame. */
.product-card[data-product="me130"] img,
.product-card[data-product="me210"] img {
  align-self: stretch;
  min-height: 0;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
}

.product-card[data-product="me130"]:hover img,
.product-card[data-product="me130"]:focus-within img,
.product-card[data-product="me210"]:hover img,
.product-card[data-product="me210"]:focus-within img {
  transform: none;
}


/* Homepage factory replacement: four supplied photographs in a clean 2x2 grid. */
.homepage-factory-replacement {
  padding-block: 76px 84px;
  color: var(--ink);
  background: var(--paper);
}
.homepage-factory-replacement .factory-shell {
  border-top: 2px solid var(--yellow);
}
.homepage-factory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-top: 26px;
}
.homepage-factory-card {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 1400 / 1738;
  background: var(--white);
  box-shadow: 0 12px 28px rgba(16, 17, 15, .14);
}
.homepage-factory-card .factory-lightbox-trigger {
  display: block;
}
.homepage-factory-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.96) contrast(1.02);
  transition: transform .45s cubic-bezier(.16,1,.3,1), filter .3s ease;
}
.homepage-factory-card:hover img,
.homepage-factory-card:focus-within img {
  filter: saturate(1) contrast(1.04);
  transform: scale(1.025);
}
@media (max-width: 620px) {
  .homepage-factory-replacement {
    padding-block: 52px 60px;
  }
  .homepage-factory-grid {
    gap: 10px;
    padding-top: 18px;
  }
}


/* Standalone factory page: equal two-column photo gallery. */
body.factory-page .factory-page-floor .factory-shell {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
body.factory-page .factory-page-floor .factory-heading {
  grid-column: 1 / -1;
}
body.factory-page .factory-page-floor .factory-overview {
  margin: 0;
  aspect-ratio: 16 / 10;
}
body.factory-page .factory-page-floor .factory-grid,
body.factory-page .factory-page-floor .factory-gallery {
  display: contents;
}
body.factory-page .factory-page-floor .factory-lead,
body.factory-page .factory-page-floor .factory-gallery figure {
  min-width: 0;
  aspect-ratio: 16 / 10;
}
body.factory-page .factory-page-floor .factory-lead img,
body.factory-page .factory-page-floor .factory-gallery figure img,
body.factory-page .factory-page-floor .factory-overview img {
  height: 100%;
}
@media (max-width: 920px) {
  body.factory-page .factory-page-floor .factory-shell {
    gap: 14px;
  }
}
@media (max-width: 620px) {
  body.factory-page .factory-page-floor .factory-shell {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  body.factory-page .factory-page-floor .factory-heading {
    grid-column: 1;
  }
  body.factory-page .factory-page-floor .factory-overview,
  body.factory-page .factory-page-floor .factory-lead,
  body.factory-page .factory-page-floor .factory-gallery figure {
    aspect-ratio: 4 / 3;
  }
}


/* Standalone factory photo: move steel fabrication below the two-column gallery. */
body.factory-page .factory-page-floor .factory-overview {
  order: 10;
  grid-column: 1 / -1;
  width: 100%;
  margin: 18px 0 0;
}
@media (max-width: 620px) {
  body.factory-page .factory-page-floor .factory-overview {
    grid-column: 1;
    margin-top: 10px;
  }
}


/* Factory page: retain the two-column gallery and place the supplied steel-fabrication image below it. */
body.factory-page .factory-page-floor .factory-overview {
  order: initial;
  grid-column: auto;
  width: auto;
  margin: 0;
}
body.factory-page .factory-page-floor .factory-standalone-photo {
  position: relative;
  grid-column: 1 / -1;
  width: 100%;
  aspect-ratio: 16 / 10;
  margin: 0;
  overflow: hidden;
  background: #080908;
}
body.factory-page .factory-page-floor .factory-standalone-photo::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  height: 50%;
  content: "";
  background: linear-gradient(180deg, rgba(16,17,15,0), rgba(16,17,15,.82));
  pointer-events: none;
}
body.factory-page .factory-page-floor .factory-standalone-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
  filter: saturate(.86) contrast(1.05);
  transition: transform .5s cubic-bezier(.16,1,.3,1), filter .35s ease;
}
body.factory-page .factory-page-floor .factory-standalone-photo:hover img {
  filter: saturate(1) contrast(1.05);
  transform: scale(1.025);
}
body.factory-page .factory-page-floor .factory-standalone-photo figcaption {
  position: absolute;
  right: 18px;
  bottom: 16px;
  left: 18px;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.15;
  text-transform: uppercase;
}
body.factory-page .factory-page-floor .factory-standalone-photo figcaption span:last-child { color: var(--yellow); }
@media (max-width: 620px) {
  body.factory-page .factory-page-floor .factory-overview {
    grid-column: 1;
    aspect-ratio: 4 / 3;
  }
  body.factory-page .factory-page-floor .factory-standalone-photo {
    grid-column: 1;
    aspect-ratio: 4 / 3;
  }
  body.factory-page .factory-page-floor .factory-standalone-photo figcaption {
    right: 12px;
    bottom: 12px;
    left: 12px;
    font-size: 10px;
  }
}


/* Homepage technical proof: expanding focus gallery inspired by the supplied motion reference. */
.technical-detail-section { overflow: clip; }
.technical-detail-grid {
  --detail-col-0: 2.05fr;
  --detail-col-1: .72fr;
  --detail-col-2: .72fr;
  display: grid;
  grid-template-columns: var(--detail-col-0) var(--detail-col-1) var(--detail-col-2);
  gap: 18px;
  align-items: stretch;
  transition: grid-template-columns .72s cubic-bezier(.16,1,.3,1);
}
.technical-detail-card {
  position: relative;
  min-width: 0;
  height: clamp(540px, 46vw, 720px);
  margin: 0;
  overflow: hidden;
  background: #161815;
  box-shadow: none;
  transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease;
}
.technical-detail-card .factory-lightbox-trigger {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  overflow: hidden;
  padding: 0;
  border: 0;
  background: #161815;
  cursor: zoom-in;
}
.technical-detail-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(1.04) brightness(.72);
  transition: transform .72s cubic-bezier(.16,1,.3,1), filter .55s ease;
}
.technical-detail-card::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  height: 62%;
  content: "";
  background: linear-gradient(180deg, rgba(10,11,10,0), rgba(10,11,10,.92));
  pointer-events: none;
}
.technical-detail-card figcaption {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  padding: 26px 24px 28px;
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
  pointer-events: none;
}
.technical-detail-card figcaption span:first-child {
  position: absolute;
  top: 24px;
  left: 24px;
  color: var(--yellow);
  font-family: var(--display);
  font-size: 22px;
  letter-spacing: 0;
  line-height: 1;
}
.technical-detail-card figcaption span:last-child {
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;
  color: var(--white);
  text-align: left;
  transition: transform .55s cubic-bezier(.16,1,.3,1), opacity .4s ease;
}
.technical-detail-card.is-active { box-shadow: 0 20px 44px rgba(16,17,15,.22); }
.technical-detail-card.is-active img {
  filter: saturate(1) contrast(1.06) brightness(.9);
  transform: scale(1.025);
}
.technical-detail-card:not(.is-active) figcaption span:last-child {
  opacity: .88;
}
.technical-detail-card:hover img,
.technical-detail-card:focus-within img {
  filter: saturate(1) contrast(1.06) brightness(.9);
  transform: scale(1.025);
}
.technical-detail-card .factory-lightbox-trigger:focus-visible {
  position: relative;
  z-index: 3;
  outline: 3px solid var(--yellow);
  outline-offset: -3px;
}
@media (max-width: 920px) {
  .technical-detail-grid { gap: 14px; }
  .technical-detail-card { height: clamp(500px, 64vw, 650px); }
  .technical-detail-card figcaption { padding-inline: 20px; }
  .technical-detail-card figcaption span:first-child { left: 20px; }
  .technical-detail-card figcaption span:last-child { right: 20px; left: 20px; }
}
@media (max-width: 620px) {
  .technical-detail-section { overflow: visible; }
  .technical-detail-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    transition: none;
  }
  .technical-detail-card { height: min(540px, 126vw); }
  .technical-detail-card figcaption { padding: 20px 18px 22px; }
  .technical-detail-card figcaption span:first-child { top: 19px; left: 18px; font-size: 20px; }
  .technical-detail-card figcaption span:last-child { right: 18px; bottom: 20px; left: 18px; font-size: 11px; }
}


/* Product list display controls. */
.product-console-meta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-width: 0;
}

.product-view-controls {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
}

.product-view-control {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 4px;
  background: transparent;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.product-view-control svg { width: 16px; height: 16px; }
.product-view-control:hover:not(:disabled) { color: var(--white); border-color: var(--ink); background: var(--ink); transform: translateY(-2px); }
.product-view-control:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.product-view-control:disabled { opacity: .34; cursor: not-allowed; }

@media (max-width: 620px) {
  .product-console-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
  .product-console-meta { gap: 8px; }
  .product-console-head span:last-child { max-width: 86px; padding-top: 0; font-size: 9px; line-height: 1.2; }
  .product-view-control { width: 30px; height: 30px; }
}


/* Product card links open dedicated product pages. */
.product-card-open { text-decoration: none; }
