.machine-catalog, .industry-site .machine-detail {
  --machine-ink: #152538;
  --machine-muted: #435369;
  --machine-line: #dbe3ed;
  --machine-accent: #075aab;
  --machine-pale: #eef4fb;
  color: var(--machine-ink);
}
.machine-wrap { width: min(1320px, calc(100% - 64px)); margin-inline: auto; }
.machine-hero {
  position:relative;
  isolation:isolate;
  background: radial-gradient(ellipse at 78% 43%,#cbdcf5 0%,transparent 56%), radial-gradient(ellipse at 96% 93%,#d0e8f5 0%,transparent 48%), linear-gradient(120deg,#fbfcff 10%,#edf3fa 92%);
  border-bottom: 1px solid #e1e7ef;
}
.machine-hero::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(18deg,transparent 0 7px,#9ab1c81f 8px 9px,transparent 10px 12px);
  mask-image:radial-gradient(ellipse 69% 54% at 5% 105%,#000,transparent);
}
.industry-site .machine-hero .machine-hero-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:min(275px,100%);
  min-height:48px;
  padding:10px 22px;
  border:1px solid #86add7;
  border-radius:999px;
  color:var(--machine-accent);
  background:linear-gradient(180deg,#fff,#eaf3ffb8);
  box-shadow:inset 0 1px 0 #fff,0 7px 16px #27527e16;
  font-weight:650;
  transition:background .2s ease,color .2s ease,transform .3s cubic-bezier(.2,.85,.3,1.25);
}
.industry-site .machine-hero .machine-hero-link:is(:hover,:focus-visible) { background:var(--machine-accent); color:#fff; transform:translateY(-2px); }
.industry-site .machine-hero .machine-hero-link:active { transform:scale(.98); }
.machine-hero-grid { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); align-items:center; gap:clamp(24px,5vw,80px); padding-block:clamp(36px,5vw,76px); }
.machine-kicker { color:var(--machine-accent); font-size:.82rem; font-weight:700; letter-spacing:.06em; }
.machine-hero .machine-kicker { font-size:clamp(.9rem,1.5vw,1.3rem); letter-spacing:.025em; margin:0 0 12px; }
.machine-hero h1 { color:var(--machine-ink); margin:9px 0 18px; font-size:clamp(1.95rem,3.1vw,3.25rem); line-height:1.1; letter-spacing:-.025em; overflow-wrap:anywhere; }
.machine-lead { max-width:53ch; color:var(--machine-muted); line-height:1.65; margin-bottom:23px; }
.machine-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid var(--machine-accent); border-radius:4px; background:var(--machine-accent); color:white; padding:10px 16px; font:inherit; font-size:.9rem; font-weight:650; cursor:pointer; transition:background .18s ease; }
.industry-site :is(.machine-catalog,.machine-detail) .machine-button { color:#fff; }
.industry-site :is(.machine-catalog,.machine-detail) .machine-button:is(:hover,:focus-visible) { background:#064482; color:#fff; }
.machine-hero-image {
  display:block;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--machine-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 42px -24px #244f8170;
}
.machine-hero-stage {
  display:block;
  overflow:hidden;
}
.machine-hero-stage img {
  display:block;
  width:100%;
  aspect-ratio:1.85;
  padding:8px clamp(12px,2vw,28px);
  object-fit:contain;
  transition:transform .38s cubic-bezier(.2,.75,.25,1);
}
.machine-hero-image:is(:hover,:focus-visible) img { transform:scale(1.025); }
.machine-hero-badge {
  display:block;
  padding:14px clamp(14px,2vw,24px) 0;
  color:var(--machine-accent);
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.machine-hero-caption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px clamp(14px,2vw,24px);
  border-top:1px solid var(--machine-line);
  background:var(--machine-pale);
  color:var(--machine-ink);
  font-size:.87rem;
  font-weight:650;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.machine-hero-caption small { display:block; color:var(--machine-accent); font-size:.72rem; margin-bottom:3px; }
.machine-hero-arrow {
  display:grid;
  place-items:center;
  flex:0 0 34px;
  height:34px;
  border:1px solid #fff;
  border-radius:50%;
  background:#fff9;
  color:var(--machine-accent);
  transition:background .2s ease,color .2s ease;
}
.machine-hero-image:is(:hover,:focus-visible) .machine-hero-arrow { background:var(--machine-accent); color:#fff; }
.machine-catalog-body { display:grid; grid-template-columns: minmax(175px, 220px) minmax(0,1fr); align-items:start; gap:clamp(22px,3vw,42px); padding-block:38px 65px; scroll-margin-top:110px; overflow-anchor:none; }
.machine-catalog-body:not(:has(.machine-catalog-sidebar)) { grid-template-columns: minmax(0,1fr); }
.machine-catalog-sidebar { padding:16px 12px; border:1px solid var(--machine-line); background:#f7f9fc; }
.machine-catalog-sidebar nav { display:block; }
.machine-catalog-sidebar p { padding:0 9px; margin:0 0 10px; }
.machine-catalog-sidebar ul { margin:0; padding:0; list-style:none; }
.machine-catalog-sidebar li ul { margin-left:9px; padding-left:5px; border-left:1px solid var(--machine-line); }
.machine-catalog-sidebar a { display:block; color:var(--machine-muted); border-left:2px solid transparent; padding:7px 9px; font-size:.86rem; line-height:1.35; }
.machine-catalog-sidebar a:is(:hover,[aria-current]) { color:var(--machine-accent); border-color:var(--machine-accent); background:var(--machine-pale); }
.machine-catalog-sidebar a[aria-current] { font-weight:700; }
.machine-results { min-width:0; }
.machine-results-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; }
.machine-results-head h2 { font-size:clamp(1.4rem,2.2vw,2rem); line-height:1.15; margin:0; }
.machine-results-head p { color:var(--machine-muted); font-size:.85rem; margin:5px 0 0; }
.machine-search { display:flex; gap:7px; width:min(100%,330px); margin:0; }
.machine-search input { min-width:0; flex:1; border:1px solid var(--machine-line); border-radius:4px; background:#fff; color:var(--machine-ink); padding:9px 12px; margin:0; }
.machine-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.8vw,40px); }
.machine-card { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; }
.machine-card-image { display:grid; place-items:center; overflow:hidden; aspect-ratio:4/3; background:#fff; border:1px solid var(--machine-line); border-bottom:0; }
.machine-card-image img { display:block; width:100%; height:100%; padding:clamp(8px,1.2vw,16px); object-fit:contain; transition:transform .32s ease; }
.machine-card:is(:hover,:focus-visible) img { transform:scale(1.045); }
.machine-card-copy { display:flex; flex:1; align-items:center; justify-content:center; gap:10px; min-height:66px; padding:14px 16px; background:var(--machine-accent); color:#fff; text-align:center; }
.industry-site .machine-catalog .machine-card-copy h3 { color:#fff; font-size:.96rem; font-weight:600; margin:0; line-height:1.35; overflow-wrap:anywhere; }
.machine-card-copy h3 span { color:#fff; font-size:.88em; }
.machine-card-preview { position:absolute; z-index:1; inset:0; display:none; flex-direction:column; justify-content:center; align-items:center; gap:12px; padding:20px; text-align:center; background:#142536e6; color:#fff; pointer-events:none; opacity:0; transition:opacity .22s ease; }
.machine-card-preview strong { font-size:1rem; line-height:1.35; }
.industry-site .machine-card-preview p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:0; color:#e6edf6; font-size:.86rem; line-height:1.55; }
.machine-card:focus-visible .machine-card-preview { display:flex; opacity:1; }
.machine-card:focus-visible .machine-card-copy { opacity:0; }
@media (hover:hover) and (pointer:fine) {
  .machine-card-preview { display:flex; }
  .machine-card:hover .machine-card-preview { opacity:1; }
  .machine-card:hover .machine-card-copy { opacity:0; }
}
.machine-empty { grid-column: 1 / -1; padding: 28px; background: var(--machine-pale); border-radius: 8px; }
.machine-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; font-size: .88rem; }
.machine-pagination a { padding: 7px 11px; color: var(--machine-accent); border: 1px solid var(--machine-line); border-radius: 5px; }
.industry-site .machine-detail { max-width: 1320px; padding-block: 28px 72px; }
.industry-site .product-detail.machine-detail .product-intro { border: 0; background: #fff; border-radius: 0; padding: 0; align-items: start; grid-template-columns: minmax(0,1.04fr) minmax(0,1fr); gap: clamp(24px,4vw,62px); }
.industry-site .product-detail.machine-detail .machine-detail-text-only { grid-template-columns: minmax(0,1fr); }
.machine-detail .product-visual { min-width: 0; position: sticky; top: 104px; }
.machine-detail-content { min-width: 0; }
.machine-detail .product-body { display: block; }
.machine-detail .product-sidebar { width: auto; }
.industry-site .machine-detail .product-overview .eyebrow { color: var(--machine-accent); }
.industry-site .machine-detail .product-overview .lead,
.machine-detail .product-prose { color: var(--machine-muted); }
.machine-detail .product-prose a, .machine-detail .product-downloads a { color: var(--machine-accent); }
.machine-detail .product-prose th { background: var(--machine-pale); }
.machine-detail .product-prose :is(th,td), .machine-detail .product-attributes > div { border-color: var(--machine-line); }
.machine-detail .product-attributes dt { color: var(--machine-muted); }
.machine-detail .product-related-grid small { color: var(--machine-accent); }
.machine-detail .product-no-image { color: var(--machine-muted); background: var(--machine-pale); }
.machine-photo { display: block; position: relative; overflow: hidden; border: 1px solid var(--machine-line); border-radius: 0; background: #fff; }
.industry-site .product-detail.machine-detail .product-main-image { background: #fff; padding: 14px; max-height: min(57vh, 530px); transition: transform .26s ease; }
.machine-photo:hover img { transform: scale(1.025); }
.machine-photo span { position: absolute; right: 10px; bottom: 10px; background: #fff; color: var(--machine-accent); border: 1px solid var(--machine-line); border-radius: 5px; padding: 5px 9px; font-size: .75rem; }
.machine-detail .product-gallery a { display: block; border: 2px solid transparent; border-radius: 8px; }
.machine-detail .product-gallery a[aria-current] { border-color: var(--machine-accent); }
.machine-detail .product-gallery img { display: block; background: white; }
.industry-site .product-detail.machine-detail .product-overview h1 { font-size: clamp(1.9rem,3.7vw,3.5rem); letter-spacing: -.035em; margin-block: 12px; }
.machine-detail .product-sku { display: inline-block; background: #e7f0fb; color: #0e4b87; border-radius: 4px; font-size: .8rem; padding: 4px 9px; }
.machine-actions, .machine-detail-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.machine-text-link, .machine-detail-nav a { color: var(--machine-accent); font-size: .88rem; font-weight: 700; }
.machine-detail-nav { border-block: 1px solid var(--machine-line); padding: 13px 0; margin-bottom: 25px; }
.machine-detail :is(#machine-description,#machine-specifications,#machine-downloads,#machine-related) { scroll-margin-top: 110px; }
.machine-detail .product-copy section { padding: 25px 0; margin-bottom: 12px; border: 0; border-bottom: 1px solid var(--machine-line); border-radius: 0; }
.machine-detail .product-copy h2 { font-size: clamp(1.4rem,2.8vw,2rem); margin: 7px 0 17px; }
.machine-detail .product-prose h3 { color: var(--machine-ink); font-size: 1.12rem; margin: 16px 0 6px; }
.machine-detail .product-prose tr:nth-child(even) { background: #f4f7fb; }
.machine-detail .machine-specifications > div { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; padding: 10px 12px; overflow-wrap: anywhere; }
.machine-detail .machine-specifications > div:nth-child(odd) { background: var(--machine-pale); }
.machine-detail .machine-specifications dd { font-weight: 650; }
.machine-detail .product-related-grid a { transition: border-color .2s ease,box-shadow .2s ease; }
.machine-detail .product-related-grid a:hover { border-color: #a8c4e0; box-shadow: 0 8px 22px #15365a13; }
.machine-enquiry { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 26px; margin-top:34px; padding:clamp(18px,3vw,28px); border:1px solid var(--machine-line); border-left:3px solid var(--machine-accent); border-radius:6px; background:var(--machine-pale); }
.industry-site .machine-detail .machine-enquiry h2 { color:var(--machine-ink); margin:4px 0; font-size:clamp(1.3rem,2.4vw,1.85rem); }
.machine-enquiry p { margin:4px 0; color:var(--machine-muted); }
.machine-enquiry .machine-kicker { color:var(--machine-accent); }
.machine-lightbox { position: fixed; inset: 0; margin: auto; width: min(1000px,92vw); max-height: 92vh; overflow: auto; padding: 14px; border: 0; border-radius: 12px; background: white; }
.machine-lightbox::backdrop { background: #0a192ad9; }
.machine-lightbox img { display: block; margin-inline: auto; max-width: 100%; max-height: 78vh; object-fit: contain; }
.machine-lightbox form { display: flex; justify-content: end; }
.machine-lightbox button { border: 0; border-radius: 6px; width: 38px; height: 38px; background: var(--machine-pale); color: var(--machine-ink); font-size: 24px; cursor: pointer; }
@media(max-width: 1100px) { .machine-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 760px) {
  .machine-wrap { width: calc(100% - 30px); }
  .machine-hero-grid, .industry-site .product-detail.machine-detail .product-intro { grid-template-columns: minmax(0,1fr); }
  .machine-catalog-body { grid-template-columns:minmax(0,1fr); gap:18px; padding-block:25px 45px; }
  .machine-catalog-sidebar nav { max-height: 170px; overflow: auto; }
  .industry-site .machine-detail { padding-inline: 15px; }
  .machine-detail .product-visual { position: static; }
  .industry-site .product-detail.machine-detail .product-main-image { max-height: none; }
}
@media(max-width: 460px) { .machine-grid { grid-template-columns: minmax(0,1fr); } }
@media(prefers-reduced-motion: no-preference) {
  .machine-hero-image, .machine-detail .machine-photo { animation: machine-arrival .34s ease-out both; }
  @keyframes machine-arrival { from { transform: translateY(7px); } to { transform: translateY(0); } }
}
@media(prefers-reduced-motion: reduce) {
  .machine-catalog *, .machine-detail * { transition: none !important; animation: none !important; }
  .machine-hero-image:is(:hover,:focus-visible) img, .machine-card:hover img, .machine-photo:hover img, .industry-site .machine-hero .machine-hero-link:is(:hover,:focus-visible,:active) { transform: none; }
}
