:root { --catalog-radius: 30px; }
button { font: inherit; color: inherit; }
button, summary { -webkit-tap-highlight-color: transparent; }
button:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
.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; }
.equipment-menu { margin-left: auto; flex: 0 0 auto; }
.equipment-menu > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; list-style: none; cursor: pointer; font-size: 13px; font-weight: 600; }
.equipment-menu > summary::-webkit-details-marker { display: none; }
.equipment-menu > summary:hover, .equipment-menu[open] > summary { color: var(--orange); }
.equipment-chevron { transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
.equipment-menu[open]:not([data-closing="true"]) .equipment-chevron { transform: rotate(180deg); }
.header-nav, .site-menu { margin-left: 0; }
.catalog-button { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 118px; min-height: 48px; padding: 0 20px; border-radius: 14px; background: var(--orange); color: #fff; font-size: 14px; font-weight: 600; transition: background .2s; }
.catalog-button:hover { background: #ed5f14; }
.mega-panel { position: fixed; z-index: 30; inset: 0; height: 100vh; height: 100dvh; overflow: clip; background: #fff; border: 0; border-radius: 0; }
.mega-content { height: 100%; display: flex; flex-direction: column; padding: 0 calc(var(--gutter) + var(--content-inset)) 72px; }
.mega-heading { flex: 0 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 8px; padding: clamp(20px, 2.5dvh, 32px) 0; background: #fff; }
.mega-heading h2 { min-width: 0; margin: 0; font-size: clamp(30px, 2.5vw, 44px); line-height: 1.1; letter-spacing: -.045em; font-weight: 500; }
.catalog-close { display: flex; align-items: center; flex: 0 0 auto; width: 48px; height: 48px; background: var(--paper); border: 0; border-radius: 14px; cursor: pointer; }
.catalog-close span { position: relative; display: block; width: 20px; height: 20px; margin: auto; }
.catalog-close span::before, .catalog-close span::after { content: ""; position: absolute; top: 9px; left: 0; height: 2px; width: 20px; background: currentColor; transform: rotate(45deg); }
.catalog-close span::after { transform: rotate(-45deg); }
.catalog-close:hover { background: var(--stroke); }
.mega-grid { flex: 0 1 auto; min-height: 0; width: 100%; max-width: 1400px; align-self: center; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; gap: clamp(24px, 3vw, 48px); padding: 0; margin: clamp(24px, 5dvh, 56px) 0 0; list-style: none; }
.mega-grid[hidden] { display: none; }
.mega-category { min-width: 0; min-height: 0; }
.mega-category, .catalog-card, .catalog-branch-links { overflow-wrap: anywhere; hyphens: auto; }
.mega-category > div { padding-top: 16px; }
.mega-image { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 210px; height: 150px; border-radius: 18px; overflow: hidden; background: var(--paper); }
.mega-image img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: inherit; }
.mega-category[data-menu-group="auxiliary"] .mega-image img { object-fit: contain; padding: 10px; }
.mega-category-title { display: block; min-height: 2.6em; font-size: 16px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.mega-category-title:hover { color: #b83c00; }
.mega-subcategories { margin-top: 0; }
.mega-subcategories > summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; width: max-content; max-width: 100%; min-height: 36px; font-size: 15px; font-weight: 500; cursor: pointer; list-style: none; }
.mega-subcategories > summary::-webkit-details-marker { display: none; }
.mega-subcategories ul { list-style: none; margin: 8px 0 0; padding: 0; }
.mega-subcategories li a { display: block; padding: 8px 0; font-size: 15px; line-height: 1.45; }
.mega-subcategories li a:hover { color: #b83c00; }
.catalog-enhanced .mega-subcategories { display: none; }
.catalog-branch-view { display: flex; flex: 1 1 0; min-height: 0; flex-direction: column; gap: 16px; }
.catalog-branch-view[hidden] { display: none; }
.catalog-back, .catalog-pages button { align-self: flex-start; flex: 0 0 auto; min-height: 40px; border: 0; border-radius: 12px; padding: 10px 16px; background: var(--paper); font-size: 14px; font-weight: 600; cursor: pointer; }
.catalog-back:hover, .catalog-pages button:hover { color: #b83c00; }
.catalog-branch-links { flex: 1 1 0; min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: min-content; align-content: start; column-gap: clamp(20px, 3vw, 48px); }
.catalog-branch-links a { display: flex; align-items: center; min-height: 44px; padding: 12px 0; font-size: clamp(14px, 1.1vw, 18px); line-height: 1.4; overflow-wrap: anywhere; }
.catalog-branch-links a:hover { color: #b83c00; }
.catalog-branch-links a[hidden] { display: none; }
.catalog-branch-links .mega-branch-title { font-weight: 600; }
.catalog-pages { flex: 0 0 auto; display: flex; justify-content: flex-end; gap: 12px; }
.catalog-pages[hidden] { display: none; }
.catalog-pages button:disabled { opacity: .35; cursor: default; }
html:not(.catalog-enhanced) .mega-panel { overflow: auto; }
html:not(.catalog-enhanced) .mega-content { height: auto; min-height: 100%; }
html:not(.catalog-enhanced) .mega-grid { grid-template-rows: none; }
html:not(.catalog-enhanced) .mega-image { flex: none; aspect-ratio: 4/3; }
.mega-branches > li + li { margin-top: 18px; }
.mega-subcategories .mega-branch-title { font-weight: 600; }
.mega-subcategories .mega-branches ul { margin: 0; padding-left: 14px; }
.category-preview { padding: 0; margin: 14px 0 0; list-style: none; }
.category-preview a { display: block; padding: 5px 0; font-size: 14px; line-height: 1.45; color: #656565; }
.category-preview a:hover { color: #b83c00; }
.category-all { display: inline-block; margin-top: 12px; min-height: 32px; padding-block: 6px; color: #b83c00; font-size: 14px; font-weight: 600; }
.mega-stock, .catalog-stock { position: absolute; right: calc(var(--gutter) + var(--content-inset)); bottom: clamp(20px, 3dvh, 36px); min-height: 36px; padding: 8px 0; color: #b83c00; font-size: 15px; font-weight: 600; }
.mega-stock { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 14px 22px; border-radius: 16px; background: var(--orange); color: #fff; transition: background .2s; }
.mega-stock:hover { background: #ed5f14; }
.mega-stock[hidden] { display: none; }
.catalog-section { position: relative; height: 100vh; height: 100dvh; padding: clamp(24px, 4dvh, 48px) calc(var(--gutter) + var(--content-inset)) 72px; display: flex; flex-direction: column; align-items: center; justify-content: center; scroll-margin-block-start: 0; }
.catalog-section > h2 { flex: 0 0 auto; width: 100%; max-width: 1400px; margin: 0 0 clamp(24px, 4dvh, 40px); font-size: clamp(28px, 3.1vw, 38px); font-weight: 500; line-height: 1.1; letter-spacing: -.045em; }
.catalog-grid { flex: 0 1 auto; min-height: 0; width: 100%; max-width: 1400px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; gap: clamp(24px, 3vw, 48px); list-style: none; padding: 0; margin: 0; }
.catalog-card { min-width: 0; min-height: 0; }
.catalog-card > a:first-child { display: block; border-radius: 18px; }
.catalog-image { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 210px; height: 150px; background: #fff; border-radius: 18px; }
.catalog-image img { width: auto; height: auto; max-width: 100%; max-height: 100%; display: block; object-fit: contain; border-radius: 16px; }
.catalog-card h3 { min-height: 2.6em; font-size: 16px; font-weight: 600; line-height: 1.3; margin: 16px 0 0; letter-spacing: -.025em; }
.catalog-card > a:hover h3 { color: #b83c00; }
.disclosure-plus { position: relative; display: block; flex: 0 0 16px; width: 16px; height: 16px; }
.disclosure-plus::before, .disclosure-plus::after { content: ""; position: absolute; top: 7px; left: 2px; width: 12px; height: 1.5px; border-radius: 1px; background: currentColor; }
.disclosure-plus::after { transform: rotate(90deg); transition: transform .25s; }
details[open] > summary > .disclosure-plus::after { transform: rotate(0); }
@media (max-width: 1359px) { .header-nav { display: none; } .site-menu { display: block; } }
@media (max-width: 900px) and (min-height: 600px) and (max-aspect-ratio: 1/1) {
  .catalog-grid, .mega-grid { flex: 1 1 0; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); max-height: 600px; gap: 20px; align-items: stretch; }
  .mega-category, .catalog-card > a:first-child { display: flex; flex-direction: column; height: 100%; }
  .mega-image, .catalog-image { flex: 1 1 0; min-height: 0; height: auto; max-height: 150px; }
  .catalog-card h3 { flex: 0 0 auto; }
  .category-preview, .category-all { display: none; }
}
@media (max-width: 720px) {
  :root { --catalog-radius: 22px; }
  .equipment-menu { grid-column: 2; grid-row: 1; margin-left: 0; }
  .equipment-menu > summary { font-size: 13px; gap: 6px; }
  .site-menu { grid-column: 3; margin-left: 0; }
  .catalog-button { display: none; }
  .mega-content { padding: 0 22px 60px; }
  .mega-heading { margin-bottom: 4px; gap: 16px; padding-block: 16px; }
  .mega-heading h2 { font-size: 30px; }
  .catalog-close { width: 40px; height: 40px; border-radius: 12px; }
  .mega-grid { gap: 14px 12px; }
  .catalog-branch-links { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
}
@media (max-width: 1100px), (max-height: 699px) {
  .mega-category-title, .catalog-card h3 { font-size: 14px; }
  .mega-image, .catalog-image { height: 100px; }
  .category-preview { margin-top: 10px; }
  .category-preview a { font-size: 13px; padding-block: 4px; }
  .category-preview li:nth-child(n+3) { display: none; }
  .category-all { font-size: 13px; margin-top: 6px; min-height: 28px; }
}
@media (max-width: 600px), (max-height: 480px) { .category-preview, .category-all { display: none; } }
@media (min-width: 601px) and (max-width: 760px) and (min-aspect-ratio: 1/1) {
  .catalog-grid, .mega-grid { flex: 1 1 0; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); max-height: 600px; gap: 18px; align-items: stretch; }
  .mega-category, .catalog-card > a:first-child { display: flex; flex-direction: column; height: 100%; }
  .mega-image, .catalog-image { flex: 1 1 0; min-height: 0; height: auto; max-height: 150px; }
  .category-preview, .category-all { display: none; }
}
@media (max-width: 600px) {
  .mega-grid, .catalog-grid { flex: 1 1 0; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 14px 12px; max-height: 600px; align-items: stretch; }
  .mega-heading h2 { font-size: 24px; }
  .mega-grid { margin-top: 12px; }
  .mega-category { display: flex; flex-direction: column; height: 100%; }
  .mega-category-title { min-height: 3.9em; font-size: clamp(13px, 3.6vw, 16px); }
  .mega-category > div { padding-top: 8px; flex: 0 0 auto; }
  .mega-image { flex: 1 1 0; min-height: 0; height: auto; max-height: 150px; }
  .catalog-branch-view { gap: 12px; }
  .catalog-branch-links a { font-size: 13px; min-height: 36px; padding: 8px 0; }
  .catalog-section { padding-inline: var(--gutter); padding-block: 18px 64px; }
  .catalog-card > a:first-child { display: flex; flex-direction: column; height: 100%; }
  .catalog-image { flex: 1 1 0; min-height: 0; height: auto; max-height: 150px; }
  .catalog-card h3 { flex: 0 0 auto; min-height: 3.9em; margin-top: 10px; font-size: clamp(13px, 3.6vw, 16px); }
  .catalog-stock { right: var(--gutter); bottom: 18px; }
}
@media (max-width: 380px) { .brand span { display: none; } }
@media (prefers-reduced-motion: reduce) { .equipment-chevron, .catalog-image img, .disclosure-plus::after { transition: none; } }

/* Homepage catalog: scroll changes the direction; no repeated navigation. */
.mega-category[data-menu-group="blades"] .mega-image { overflow: hidden; }
.mega-category[data-menu-group="blades"] .mega-image img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; object-position: 50% 44%; }
.home-catalog { --catalog-photo-width: min(100%, 30vw, 49dvh, 480px); position: relative; }
.home-catalog-stage { display: flex; flex-direction: column; justify-content: center; gap: clamp(28px, 4dvh, 48px); min-height: 100vh; min-height: 100dvh; padding: clamp(32px, 5dvh, 68px) calc(var(--gutter) + var(--content-inset)); margin-inline: auto; max-width: 2200px; }
.home-catalog[data-scroll="true"] { height: 500vh; height: 500dvh; }
.home-catalog[data-scroll="true"] .home-catalog-stage { position: sticky; top: 0; height: 100vh; height: 100dvh; }
.home-catalog-panels { position: relative; overflow-anchor: none; }
.home-catalog-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.55fr); align-items: stretch; gap: clamp(40px, 7vw, 128px); min-height: clamp(400px, 57dvh, 730px); }
.home-catalog-panel + .home-catalog-panel { margin-top: 80px; }
.home-catalog[data-scroll="true"] .home-catalog-panels, .home-catalog[data-measuring="true"] .home-catalog-panels { display: grid; }
.home-catalog[data-scroll="true"] .home-catalog-panel, .home-catalog[data-measuring="true"] .home-catalog-panel { grid-area: 1 / 1; margin: 0; }
.home-catalog[data-scroll="true"] .home-catalog-panel { min-height: var(--home-catalog-panel-height); opacity: 0; visibility: hidden; transform: translateY(12px); pointer-events: none; }
.home-catalog[data-scroll="true"] .home-catalog-panel.is-active { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.home-catalog[data-scroll="true"][data-motion-ready="true"] .home-catalog-panel { transition: opacity .6s ease, transform .65s cubic-bezier(.22, 1, .36, 1), visibility 0s .65s; }
.home-catalog[data-scroll="true"][data-motion-ready="true"] .home-catalog-panel.is-active { transition-delay: .08s, .08s, 0s; }
.home-catalog-feature { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-width: 0; gap: 32px; }
.home-catalog-feature h2 { margin: 0; width: 100%; font-size: clamp(28px, min(3.1vw, 5.7dvh), 56px); line-height: 1.08; font-weight: 500; letter-spacing: -.045em; text-align: left; text-wrap: balance; overflow-wrap: anywhere; }
.home-catalog-feature h2 a:hover { color: var(--orange); }
.home-catalog-photo { position: relative; display: block; width: var(--catalog-photo-width); aspect-ratio: 4 / 3; border-radius: var(--catalog-radius); overflow: hidden; }
.home-catalog-photo img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.home-catalog-panel[data-home-panel="blades"] .home-catalog-photo img { object-fit: cover; object-position: 50% 44%; }
.home-catalog-panel .home-catalog-photo img.home-catalog-preview { position: absolute; inset: 0; object-fit: contain; object-position: center; border-radius: 0; background: #fff; opacity: 0; transition: opacity .45s cubic-bezier(.22, 1, .36, 1); }
.home-catalog-panel .home-catalog-photo img.home-catalog-preview.is-visible { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .home-catalog-panel .home-catalog-photo img.home-catalog-preview { transition: none; } }
.home-catalog-subsections { align-self: end; min-width: 0; }
.home-catalog-subsections ul { list-style: none; padding: 0; margin: 0; }
.home-catalog-links, .home-catalog-families { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 56px); }
.home-catalog-subsections li { min-width: 0; }
.home-catalog-subsections li a { display: flex; align-items: center; width: fit-content; max-width: 100%; padding: 9px 0; min-height: 40px; font-size: clamp(13px, 1.05vw, 18px); line-height: 1.4; overflow-wrap: anywhere; hyphens: auto; color: #575757; transition: color .2s; }
.home-catalog-subsections a:hover { color: #b83c00; }
.home-catalog-subsections li:last-child a { padding-bottom: 0; }
.home-catalog-family h3 { margin: 0 0 12px; font-size: clamp(14px, 1.1vw, 19px); font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.home-catalog-family li a { padding-block: 5px; min-height: 30px; }
.home-catalog-auxiliary { margin-top: clamp(24px, 3dvh, 40px); padding-top: 22px; border-top: 1px solid var(--stroke); }
.home-catalog-auxiliary h3 { margin: 0 0 8px; font-size: clamp(14px, 1.1vw, 19px); font-weight: 600; line-height: 1.35; }
.home-catalog-auxiliary ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(24px, 3vw, 56px); }
.home-catalog-auxiliary li a { font-size: clamp(12px, .95vw, 16px); min-height: 34px; padding-block: 6px; }
.home-catalog-stock { display: flex; align-items: center; align-self: flex-end; gap: 20px; min-height: 66px; max-width: 290px; padding: 12px 14px 12px 20px; border-radius: 18px; background: var(--paper); font-size: 14px; font-weight: 600; line-height: 1.35; transition: background .25s, color .25s; }
.home-catalog-stock img { flex: 0 0 auto; width: 72px; height: 48px; object-fit: contain; border-radius: 10px; }
.home-catalog-stock:hover { color: #b83c00; background: #f1f1f1; }
@media (min-width: 1101px) and (max-height: 800px) {
  .home-catalog-stage { gap: 24px; padding-block: 28px; }
  .home-catalog-panel { min-height: 400px; }
  .home-catalog-subsections li a { font-size: 13px; min-height: 34px; padding-block: 6px; }
  .home-catalog-family li a { min-height: 27px; padding-block: 4px; }
  .home-catalog-auxiliary { margin-top: 20px; padding-top: 16px; }
  .home-catalog-stock { min-height: 56px; padding-block: 8px; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .home-catalog-stage { padding-inline: var(--gutter); gap: 28px; }
  .home-catalog-panel { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 32px; min-height: 380px; }
  .home-catalog-feature h2 { font-size: clamp(26px, 3.6vw, 38px); }
  .home-catalog-subsections li a { font-size: 13px; min-height: 34px; padding-block: 6px; }
  .home-catalog-family li a { min-height: 28px; padding-block: 4px; }
  .home-catalog-auxiliary { margin-top: 20px; padding-top: 16px; }
}
@media (max-width: 700px) {
  .home-catalog { --catalog-photo-width: min(100%, 360px, 72vw); }
  .home-catalog-stage { padding: 28px var(--gutter); gap: 30px; }
  .home-catalog-panel { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 28px; }
  .home-catalog-feature { gap: 24px; }
  .home-catalog-feature h2 { max-width: 340px; font-size: clamp(28px, 7.6vw, 38px); }
  .home-catalog-photo { border-radius: 22px; }
  .home-catalog-links, .home-catalog-families { gap: 0 24px; }
  .home-catalog-subsections li a { min-height: 40px; font-size: 13px; padding-block: 8px; }
  .home-catalog-families { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .home-catalog-family ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .home-catalog-auxiliary ul { column-gap: 24px; }
  .home-catalog-stock { min-height: 60px; font-size: 13px; border-radius: 16px; }
  .home-catalog-stock img { width: 64px; height: 44px; }
}

.home-catalog-panel[data-home-panel="storage"] .home-catalog-photo, .home-catalog-panel[data-home-panel="cutting"] .home-catalog-photo { aspect-ratio: 1000 / 811; }
.home-catalog-panel[data-home-panel="metalworking"] .home-catalog-photo { aspect-ratio: 1000 / 666; }

@media (prefers-reduced-motion: reduce) { .home-catalog .home-catalog-panel { transition: none !important; transform: none !important; } }

.home-catalog-storage-families { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px clamp(24px, 3vw, 56px); }
.home-catalog-storage-families .home-catalog-family:last-child { grid-column: 1 / -1; }
.home-catalog-storage-families .home-catalog-family:last-child ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 56px); }
.home-stock-section { padding: clamp(28px, 4dvh, 48px) calc(var(--gutter) + var(--content-inset)); max-width: 2200px; margin-inline: auto; }
.home-stock-section .home-catalog-stock { width: 100%; max-width: none; min-height: clamp(140px, 18dvh, 210px); padding: clamp(24px, 3vw, 48px); gap: 32px; background: var(--orange); color: #fff; font-size: clamp(24px, 2.2vw, 36px); border-radius: var(--catalog-radius); }
.home-stock-section .home-catalog-stock:hover { background: #ed5f14; }
.home-stock-section .home-catalog-stock img { margin-left: auto; width: clamp(112px, 12vw, 160px); height: auto; aspect-ratio: 1000 / 811; border-radius: 18px; }
@media (max-width: 1100px) { .home-stock-section { padding-inline: var(--gutter); } }
@media (max-width: 700px) {
  .home-catalog-storage-families { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .home-catalog-storage-families .home-catalog-family ul,
  .home-catalog-storage-families .home-catalog-family:last-child ul { display: block; }
  .home-stock-section { padding-inline: var(--gutter); }
  .home-stock-section .home-catalog-stock { min-height: 132px; padding: 20px; gap: 20px; font-size: clamp(20px, 5vw, 28px); }
  .home-stock-section .home-catalog-stock img { width: 84px; height: auto; }
}
@media (min-width: 701px) and (max-width: 1100px) and (max-height: 699px) {
  .home-catalog-stage { padding-block: 20px; }
}
.home-catalog-subsections .home-catalog-key-links li a { font-size: clamp(18px, 1.6vw, 28px); font-weight: 600; color: var(--ink); min-height: 56px; padding-block: 14px; }
.home-catalog-subsections .home-catalog-key-links li a:hover { color: #b83c00; }

.home-catalog-nested-families { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px clamp(24px, 3vw, 56px); }
.home-catalog-nested-families .home-catalog-family:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 700px) { .home-catalog-nested-families { grid-template-columns: minmax(0, 1fr); gap: 24px; } .home-catalog-nested-families .home-catalog-family ul { display: block; } }
