:root {
  --ink: #0a090c;
  --muted: #5f5c63;
  --soft: #f5f4f6;
  --line: #dedce1;
  --purple: #4f078d;
  --purple-dark: #33045e;
  --purple-light: #7f34b7;
  --white: #fff;
  --heading: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
  --gutter: clamp(24px, 3.65vw, 56px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; height: auto; max-width: 100%; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; }
.shell { margin: 0 auto; max-width: 1720px; padding-left: var(--gutter); padding-right: var(--gutter); width: 100%; }
.page-gutter { padding-left: var(--gutter); padding-right: var(--gutter); }
.section-label, .kicker { color: var(--purple); font-size: 10px; font-weight: 800; letter-spacing: .04em; margin: 0; text-transform: uppercase; }
.accent-line { background: var(--purple); display: block; height: 2px; margin-top: 24px; width: 50px; }
.primary-button, .small-button { align-items: center; background: var(--purple); color: white; display: inline-flex; font-size: 10px; font-style: normal; font-weight: 800; justify-content: center; letter-spacing: .02em; min-height: 42px; padding: 0 27px; text-transform: uppercase; transition: background .2s ease, transform .2s ease; }
.primary-button:hover, .small-button:hover { background: var(--purple-dark); transform: translateY(-1px); }
.secondary-button { align-items: center; background: white; border: 1px solid var(--purple); color: var(--purple); display: inline-flex; font-size: 10px; font-style: normal; font-weight: 800; justify-content: center; letter-spacing: .02em; min-height: 42px; padding: 0 27px; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; }
.secondary-button:hover { background: var(--purple); color: white; transform: translateY(-1px); }
.product-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.light-button { background: white; color: var(--purple); }
.light-button:hover { background: #f0e8f6; color: var(--purple-dark); }

/* Header */
.site-header { align-items: center; background: white; border-bottom: 1px solid #f0eef1; display: grid; grid-template-columns: minmax(260px,1fr) auto minmax(260px,1fr); min-height: 94px; padding: 0 var(--gutter); position: relative; z-index: 20; }
.brand { align-items: center; display: flex; width: fit-content; }
.brand img { height: auto; max-height: 50px; object-fit: contain; object-position: left center; width: clamp(210px, 17vw, 275px); }
.desktop-nav { align-items: stretch; align-self: stretch; display: flex; gap: clamp(25px, 2.9vw, 47px); }
.desktop-nav a { align-items: center; display: flex; font-size: 10px; font-weight: 800; position: relative; text-transform: uppercase; }
.desktop-nav a::after { background: var(--purple); bottom: 23px; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .2s; width: 100%; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--purple); }
.desktop-nav a:hover::after, .desktop-nav a.active::after { transform: scaleX(1); }
.quote-button { background: var(--purple); color: white; font-size: 10px; font-weight: 800; justify-self: end; padding: 16px 25px; text-transform: uppercase; transition: background .2s; }
.quote-button:hover { background: var(--purple-dark); }
.mobile-menu { display: none; justify-self: end; position: relative; }

/* Home hero */
.hero { background: white; border-bottom: 1px solid var(--line); }
.hero-main { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 320px; overflow: hidden; padding-right: 0; }
.hero-copy { align-self: center; padding: 32px 34px 28px 0; position: relative; z-index: 2; }
.hero-copy h1 { font-family: var(--heading); font-size: clamp(43px, 3.55vw, 56px); font-stretch: condensed; font-weight: 700; letter-spacing: -.012em; line-height: .9; margin: 0; text-transform: uppercase; }
.hero-copy h1 span { color: var(--purple); white-space: nowrap; }
.hero-copy > p:not(.kicker) { color: #4f4c53; font-size: 14px; line-height: 1.5; margin: 18px 0 0; max-width: 400px; }
.hero-actions { align-items: center; display: flex; gap: 30px; margin-top: 20px; }
.hero-actions .primary-button { min-height: 36px; padding: 0 24px; }
.secondary-link { border-bottom: 1px solid #bbb6c0; font-size: 10px; font-weight: 800; padding-bottom: 5px; text-transform: uppercase; }
.secondary-link span { color: var(--purple); margin-left: 8px; }
.hero-media { align-self: stretch; min-height: 320px; overflow: hidden; position: relative; }
.hero-static::after { background: linear-gradient(90deg, rgba(255,255,255,.38), rgba(255,255,255,0) 45%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
.hero-plant-fade { filter: grayscale(1) contrast(.85); height: 88%; left: 0; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 17%, #000 62%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 17%, #000 62%, transparent 100%); object-fit: cover; object-position: center; opacity: .2; position: absolute; top: 6%; width: 70%; }
.hero-product-static { height: 100%; inset: 0; mix-blend-mode: multiply; object-fit: contain; object-position: right center; position: absolute; width: 100%; z-index: 2; }

/* Benefits */
.benefit-strip { border-bottom: 1px solid var(--line); }
.benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.benefit-grid article { align-items: center; border-right: 1px solid var(--line); display: grid; gap: 22px; grid-template-columns: 58px 1fr; min-height: 108px; padding: 18px 28px; }
.benefit-grid article:first-child { padding-left: 0; }
.benefit-grid article:last-child { border-right: 0; }
.benefit-icon { align-items: center; color: var(--purple); display: flex; justify-content: center; }
.benefit-icon svg { height: 43px; stroke-width: 1.7; width: 43px; }
.benefit-grid h2 { font-size: 11px; margin: 0 0 9px; text-transform: uppercase; }
.benefit-grid p { color: #4f4c53; font-size: 10px; line-height: 1.55; margin: 0; }

/* About and featured products */
.company-products { display: grid; gap: 32px; grid-template-columns: .42fr 1.58fr; padding-bottom: 22px; padding-top: 22px; }
.about-panel { border-right: 1px solid var(--line); display: flex; padding-right: 32px; }
.about-copy { align-self: center; max-width: 410px; }
.featured-products { min-width: 0; }
.about-copy h2 { font-family: Arial, Helvetica, sans-serif; font-size: clamp(22px, 1.75vw, 28px); font-weight: 800; letter-spacing: -.035em; line-height: 1.03; margin: 14px 0 12px; text-transform: none; }
.about-copy > p:not(.section-label) { color: #47444b; font-size: 10px; line-height: 1.55; margin: 0 0 15px; }
.small-button { min-height: 36px; padding: 0 20px; }
.section-topline { align-items: center; display: flex; justify-content: space-between; margin-bottom: 10px; }
.section-topline a { color: var(--purple); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.featured-grid { border-left: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,1fr); }
.featured-card { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); display: flex; flex-direction: column; min-width: 0; padding: 10px 12px 14px; transition: box-shadow .2s, transform .2s; }
.featured-card:hover { box-shadow: 0 15px 35px rgba(38,11,56,.12); transform: translateY(-2px); z-index: 2; }
.featured-image { background: #fafafa; height: 93px; margin-bottom: 11px; overflow: hidden; }
.featured-image img { height: 100%; object-fit: cover; object-position: left center; width: 100%; }
.featured-card > span { color: var(--purple); font-size: 7px; font-weight: 800; line-height: 1.3; min-height: 20px; text-transform: uppercase; }
.featured-card h3 { font-family: var(--heading); font-size: clamp(16px, 1.15vw, 20px); letter-spacing: -.01em; line-height: 1; margin: 4px 0 14px; overflow-wrap: anywhere; text-transform: uppercase; }
.featured-card b { color: var(--purple); font-size: 8px; margin-top: auto; text-transform: uppercase; }
.featured-card b em { font-size: 14px; font-style: normal; margin-left: 8px; }

/* Industries and newsletter */
.industry-news { background: #f7f6f8; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); }
.industry-news-grid { display: grid; grid-template-columns: 1.22fr .78fr; }
.industry-block { padding: 16px 32px 16px 0; }
.industry-block .section-label { margin-bottom: 11px; }
.industry-grid { display: grid; grid-template-columns: repeat(6,1fr); }
.industry-grid article { align-items: center; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; min-height: 62px; }
.industry-grid article:last-child { border-right: 0; }
.industry-grid svg { color: var(--purple); height: 31px; stroke-width: 1.7; width: 31px; }
.industry-grid h2 { font-size: 8px; margin: 8px 0 0; text-transform: uppercase; }
.newsletter-block { align-items: center; border-left: 1px solid var(--line); display: grid; gap: 24px; grid-template-columns: 58px 1fr; padding: 16px 0 16px 42px; }
.newsletter-block > svg { color: var(--purple); height: 48px; stroke-width: 1.6; width: 48px; }
.newsletter-copy > p:not(.section-label) { color: #4f4c53; font-size: 9px; margin: 8px 0 10px; }
.newsletter-copy form { display: grid; grid-template-columns: 1fr 105px; }
.newsletter-copy input { background: white; border: 1px solid var(--line); border-right: 0; color: var(--ink); font: inherit; font-size: 9px; height: 31px; min-width: 0; padding: 0 12px; }
.newsletter-copy button { background: var(--purple); border: 0; color: white; cursor: pointer; font-size: 8px; font-weight: 800; height: 31px; text-transform: uppercase; }
.newsletter-copy button:hover { background: var(--purple-dark); }
.pc-subscribe-honeypot { left: -9999px !important; opacity: 0 !important; pointer-events: none !important; position: absolute !important; width: 1px !important; }
.newsletter-status { color: #5d5860 !important; font-size: 8px !important; line-height: 1.4; margin: 7px 0 0 !important; }
.newsletter-status.success { color: #2f6a40 !important; }
.newsletter-status.error { color: #9a2e3a !important; }
.technical-band { background: white; padding: 60px 0; }
.technical-grid { align-items: center; display: grid; gap: 70px; grid-template-columns: .72fr 1.28fr; }
.technical-heading h2 { font-family: var(--heading); font-size: clamp(35px, 3.4vw, 54px); line-height: 1; margin: 18px 0 0; text-transform: uppercase; }
.technical-points { border-left: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3,1fr); }
.technical-points article { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); min-height: 150px; padding: 22px; }
.technical-points article > span { color: var(--purple); font-size: 9px; font-weight: 800; }
.technical-points h3 { font-size: 12px; margin: 28px 0 8px; text-transform: uppercase; }
.technical-points p { color: var(--muted); font-size: 10px; line-height: 1.55; margin: 0; }
.contact-band { background: #f5f3f7; border-top: 1px solid var(--line); padding: 30px 0; }
.contact-band-grid { align-items: center; display: grid; gap: 28px; grid-template-columns: 55px 1fr auto; }
.mail-icon { color: var(--purple); font-size: 40px; }
.contact-band h2 { font-size: 18px; margin: 7px 0 0; }

/* Product archive */
.catalog-hero { background: #fbfafb; border-bottom: 1px solid var(--line); padding: 88px 0 76px; }
.catalog-hero-grid { align-items: end; display: grid; gap: 80px; grid-template-columns: 1.2fr .8fr; }
.catalog-hero h1 { font-family: var(--heading); font-size: clamp(49px, 5vw, 78px); letter-spacing: -.015em; line-height: .97; margin: 25px 0 0; text-transform: uppercase; }
.catalog-hero h1 span { color: var(--purple); }
.catalog-hero-grid > p { color: var(--muted); font-size: 14px; line-height: 1.7; margin: 0; max-width: 590px; }
.catalog-products { padding-bottom: 90px; padding-top: 32px; }
.catalog-toolbar { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 24px; }
.catalog-toolbar p { color: var(--muted); font-size: 10px; letter-spacing: .05em; margin: 0; text-transform: uppercase; }
.catalog-toolbar p strong { color: var(--purple); font-size: 18px; margin-right: 7px; }
.catalog-toolbar div { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.catalog-toolbar span { border: 1px solid var(--line); color: #55515a; font-size: 8px; padding: 8px 10px; text-transform: uppercase; }
.catalog-grid { border-left: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,1fr); margin-top: 28px; }
.catalog-card { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); display: flex; flex-direction: column; min-width: 0; transition: box-shadow .2s, transform .2s; }
.catalog-card:hover { box-shadow: 0 20px 45px rgba(43,14,63,.13); transform: translateY(-3px); z-index: 2; }
.catalog-card-image { background: #f8f8f8; height: 205px; overflow: hidden; }
.catalog-card-image img { height: 100%; object-fit: cover; object-position: left center; transition: transform .35s; width: 100%; }
.catalog-card:hover .catalog-card-image img { transform: scale(1.025); }
.catalog-card-body { display: flex; flex: 1; flex-direction: column; min-height: 225px; padding: 20px; }
.catalog-card-body > p { color: var(--purple); font-size: 8px; font-weight: 800; line-height: 1.4; margin: 0; min-height: 23px; text-transform: uppercase; }
.catalog-card-body h2 { font-family: var(--heading); font-size: clamp(22px, 1.8vw, 30px); letter-spacing: -.01em; line-height: 1; margin: 8px 0 12px; overflow-wrap: anywhere; text-transform: uppercase; }
.catalog-card-body > span { color: var(--muted); font-size: 9px; }
.catalog-card-foot { align-items: end; border-top: 1px solid var(--line); display: flex; gap: 12px; justify-content: space-between; margin-top: auto; padding-top: 16px; }
.catalog-card-foot small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.catalog-card-foot small b { color: var(--ink); display: block; font-size: 11px; margin-top: 3px; }
.catalog-card-foot strong { color: var(--purple); font-size: 8px; text-transform: uppercase; }
.catalog-card-foot em { font-size: 14px; font-style: normal; margin-left: 5px; }
.catalog-note { color: #79747d; font-size: 9px; line-height: 1.5; margin: 20px 0 0; }
.catalog-enquiry { background: linear-gradient(135deg,var(--purple),var(--purple-dark)); color: white; padding: 50px 0; }
.catalog-enquiry > div { align-items: center; display: flex; justify-content: space-between; }
.catalog-enquiry .section-label { color: #d9bce9; }
.catalog-enquiry h2 { font-family: var(--heading); font-size: clamp(32px,3vw,48px); line-height: 1; margin: 10px 0 0; text-transform: uppercase; }

/* Product detail */
.product-intro { background: #fbfafb; border-bottom: 1px solid var(--line); padding: 28px 0 0; }
.breadcrumbs { color: #7d7881; display: flex; flex-wrap: wrap; font-size: 8px; gap: 9px; letter-spacing: .04em; text-transform: uppercase; }
.breadcrumbs a:hover { color: var(--purple); }
.breadcrumbs b { color: var(--ink); }
.product-intro-grid { align-items: center; display: grid; gap: 70px; grid-template-columns: .83fr 1.17fr; min-height: 500px; padding: 35px 0 40px; }
.product-copy h1 { font-family: var(--heading); font-size: clamp(55px, 6.8vw, 105px); letter-spacing: -.02em; line-height: .84; margin: 25px 0 0; overflow-wrap: anywhere; text-transform: uppercase; }
.product-copy > p:not(.section-label) { color: var(--muted); font-size: 14px; line-height: 1.7; margin: 25px 0; max-width: 650px; }
.product-photo { align-items: center; background: white; border: 1px solid var(--line); display: flex; height: 400px; justify-content: center; overflow: hidden; }
.product-photo img { height: 100%; object-fit: contain; width: 100%; }
.product-photo--cover img { object-fit: cover; object-position: center; }
.product-fact-strip { border-left: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(5,1fr); }
.product-fact-strip > div { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); min-height: 76px; padding: 18px; }
.product-fact-strip span { color: var(--purple); display: block; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.product-fact-strip strong { display: block; font-size: 11px; margin-top: 8px; overflow-wrap: anywhere; }
.product-data { padding-bottom: 90px; padding-top: 90px; }
.product-data-heading { align-items: end; display: grid; gap: 55px; grid-template-columns: 1fr .65fr; }
.product-data-heading h2 { font-family: var(--heading); font-size: clamp(42px,4.5vw,68px); line-height: 1; margin: 18px 0 0; text-transform: uppercase; }
.product-data-heading > p { color: var(--muted); font-size: 13px; line-height: 1.65; margin: 0; }
.metric-grid { border-left: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3,1fr); margin-top: 50px; }
.metric-grid article { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); min-height: 150px; padding: 22px; }
.metric-grid span { color: var(--muted); display: block; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.metric-grid strong { color: var(--purple); display: block; font-family: Georgia,serif; font-size: clamp(30px,3vw,46px); font-weight: 400; margin-top: 42px; }
.metric-grid small { color: var(--muted); font-size: 9px; }
.technical-table { margin-top: 52px; }
.technical-table h3 { font-size: 16px; margin: 0 0 14px; text-transform: uppercase; }
.table-scroll { overflow-x: auto; }
.technical-table table { border-collapse: collapse; min-width: 720px; width: 100%; }
.technical-table th { background: var(--purple); color: white; font-size: 8px; letter-spacing: .05em; padding: 13px 15px; text-align: left; text-transform: uppercase; }
.technical-table td { border-bottom: 1px solid var(--line); color: #55515a; font-size: 11px; padding: 14px 15px; }
.technical-table td:first-child { color: var(--ink); font-weight: 700; width: 42%; }
.technical-table td:nth-child(2) { color: var(--purple); font-family: Georgia,serif; font-size: 16px; }
.processing-box { background: #111014; color: white; display: grid; gap: 55px; grid-template-columns: .55fr 1.45fr; margin-top: 60px; padding: 38px; }
.processing-box .section-label { color: #c895df; }
.processing-box h3 { font-family: var(--heading); font-size: 34px; margin: 15px 0 0; text-transform: uppercase; }
.processing-grid { border-left: 1px solid #3c3840; border-top: 1px solid #3c3840; display: grid; grid-template-columns: repeat(2,1fr); }
.processing-grid article { border-bottom: 1px solid #3c3840; border-right: 1px solid #3c3840; min-height: 86px; padding: 16px; }
.processing-grid span { color: #a49da8; display: block; font-size: 8px; text-transform: uppercase; }
.processing-grid strong { display: block; font-family: Georgia,serif; font-size: 19px; font-weight: 400; margin-top: 17px; }
.technical-note { border-left: 3px solid var(--purple); color: var(--muted); font-size: 10px; line-height: 1.55; margin: 35px 0 0; padding: 8px 0 8px 15px; }
.technical-note strong { color: var(--ink); }
.application-section { background: var(--soft); border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); padding: 70px 0; }
.application-grid { align-items: center; display: grid; gap: 60px; grid-template-columns: .8fr 1.2fr; }
.application-grid h2 { font-family: var(--heading); font-size: clamp(38px,4vw,61px); line-height: 1; margin: 17px 0 0; text-transform: uppercase; }
.application-list { display: flex; flex-wrap: wrap; gap: 8px; }
.application-list span { background: white; border: 1px solid var(--line); color: #4c4850; font-size: 10px; padding: 13px 15px; }
.product-enquiry { background: linear-gradient(135deg,var(--purple),var(--purple-dark)); color: white; padding: 65px 0; }
.product-enquiry > div { align-items: center; display: grid; gap: 45px; grid-template-columns: 1fr auto; }
.product-enquiry .section-label { color: #d8b9e7; }
.product-enquiry h2 { font-family: var(--heading); font-size: clamp(34px,3.6vw,56px); line-height: 1; margin: 13px 0 0; max-width: 950px; overflow-wrap: anywhere; text-transform: uppercase; }

/* Footer and generic pages */
.site-footer { background: white; border-top: 1px solid var(--line); }
.footer-main { align-items: start; display: grid; gap: 34px; grid-template-columns: .8fr 1fr 1.35fr 1.05fr; padding-bottom: 24px; padding-top: 24px; }
.footer-identity { align-self: stretch; border-right: 1px solid var(--line); padding-right: 30px; }
.footer-logo img { max-width: 176px; }
.footer-column { display: flex; flex-direction: column; gap: 8px; }
.footer-column h2 { font-size: 9px; margin: 0 0 4px; text-transform: uppercase; }
.footer-column a, .footer-column p { color: #49464d; font-size: 8px; line-height: 1.45; margin: 0; }
.footer-column a:hover { color: var(--purple); }
.footer-links-grid { display: grid; gap: 8px 22px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.footer-links-grid a { padding-left: 10px; position: relative; }
.footer-links-grid a::before { color: var(--purple); content: "•"; left: 0; position: absolute; }
.footer-contact > a, .footer-contact > p { align-items: center; display: flex; gap: 8px; }
.footer-contact > a svg, .footer-contact > p svg { color: var(--purple); flex: 0 0 auto; height: 12px; width: 12px; }
.footer-social { display: flex; gap: 18px; margin-top: 5px; }
.footer-social > span { align-items: center; color: var(--purple); display: flex; font-size: 17px; font-weight: 900; height: 22px; justify-content: center; min-width: 22px; }
.footer-social svg { fill: var(--purple); height: 17px; width: 17px; }
.footer-bottom { align-items: center; border-top: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 14px; padding-top: 12px; }
.footer-bottom small, .footer-bottom a { color: #77727c; font-size: 8px; }
.footer-bottom div { display: flex; gap: 22px; }
.generic-page { min-height: 65vh; padding-bottom: 100px; padding-top: 100px; }
.generic-page h1 { font-family: var(--heading); font-size: clamp(48px,6vw,90px); line-height: .95; margin: 0 0 30px; text-transform: uppercase; }
.generic-page p { color: var(--muted); font-size: 15px; line-height: 1.7; max-width: 740px; }
.generic-page .button { background: var(--purple); color: white; display: inline-block; font-size: 10px; font-weight: 800; margin-top: 22px; padding: 15px 20px; text-transform: uppercase; }

@media (max-width: 1180px) {
  .site-header { grid-template-columns: minmax(210px,1fr) auto minmax(190px,1fr); }
  .desktop-nav { gap: 20px; }
  .hero-main { grid-template-columns: .9fr 1.1fr; }
  .company-products { grid-template-columns: 1fr; }
  .about-panel { border-bottom: 1px solid var(--line); border-right: 0; padding-bottom: 28px; padding-right: 0; }
  .featured-image { height: 155px; }
  .industry-news-grid { grid-template-columns: 1fr; }
  .industry-block { padding-right: 0; }
  .newsletter-block { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .catalog-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 920px) {
  .site-header { grid-template-columns: 1fr auto auto; min-height: 80px; }
  .desktop-nav { display: none; }
  .quote-button { margin-right: 15px; }
  .mobile-menu { display: block; }
  .mobile-menu summary { border: 1px solid var(--purple); color: var(--purple); cursor: pointer; font-size: 9px; font-weight: 800; list-style: none; padding: 13px 15px; text-transform: uppercase; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu > div { background: white; border: 1px solid var(--line); box-shadow: 0 15px 35px rgba(0,0,0,.12); display: flex; flex-direction: column; min-width: 190px; padding: 10px; position: absolute; right: 0; top: 48px; }
  .mobile-menu a { font-size: 10px; font-weight: 700; padding: 10px; text-transform: uppercase; }
  .hero-main { grid-template-columns: 1fr; padding-right: var(--gutter); }
  .hero-copy { padding: 52px 0 25px; }
  .hero-media { min-height: 340px; }
  .benefit-grid { grid-template-columns: repeat(2,1fr); }
  .benefit-grid article:nth-child(2) { border-right: 0; }
  .benefit-grid article:nth-child(3), .benefit-grid article:nth-child(4) { border-top: 1px solid var(--line); }
  .benefit-grid article:nth-child(3) { padding-left: 0; }
  .technical-grid, .catalog-hero-grid, .product-data-heading, .application-grid { grid-template-columns: 1fr; }
  .industry-grid { grid-template-columns: repeat(3,1fr); }
  .industry-grid article:nth-child(3) { border-right: 0; }
  .industry-grid article:nth-child(n+4) { border-top: 1px solid var(--line); }
  .catalog-grid { grid-template-columns: repeat(2,1fr); }
  .product-intro-grid { gap: 35px; grid-template-columns: 1fr; padding-top: 65px; }
  .product-photo { height: 360px; }
  .product-fact-strip { grid-template-columns: repeat(3,1fr); }
  .processing-box { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 620px) {
  .shell { padding-left: 20px; padding-right: 20px; }
  .site-header { padding: 0 20px; }
  .brand img { width: 175px; }
  .quote-button { display: none; }
  .hero-main { padding-right: 20px; }
  .hero-copy h1 { font-size: 38px; }
  .hero-copy h1 span { white-space: normal; }
  .hero-copy > p:not(.kicker) { font-size: 13px; }
  .hero-media { min-height: 245px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-grid article { border-right: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .benefit-grid article:first-child { border-top: 0; }
  .about-panel { grid-template-columns: 1fr; }
  .about-image { height: 220px; }
  .featured-grid { grid-template-columns: repeat(2,1fr); }
  .featured-image { height: 130px; }
  .industry-grid { grid-template-columns: repeat(2,1fr); }
  .industry-grid article:nth-child(3) { border-right: 1px solid var(--line); }
  .industry-grid article:nth-child(even) { border-right: 0; }
  .industry-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
  .newsletter-block { gap: 16px; grid-template-columns: 42px 1fr; }
  .newsletter-block > svg { height: 36px; width: 36px; }
  .newsletter-copy form { grid-template-columns: 1fr 84px; }
  .catalog-hero { padding: 65px 0 55px; }
  .catalog-toolbar { align-items: flex-start; flex-direction: column; gap: 18px; }
  .catalog-toolbar div { justify-content: flex-start; }
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-card-image { height: 240px; }
  .catalog-enquiry > div, .product-enquiry > div { align-items: flex-start; display: flex; flex-direction: column; }
  .product-copy h1 { font-size: 52px; }
  .product-photo { height: 285px; }
  .product-fact-strip { grid-template-columns: repeat(2,1fr); }
  .metric-grid { grid-template-columns: 1fr; }
  .metric-grid article { min-height: 130px; }
  .metric-grid strong { margin-top: 30px; }
  .processing-box { padding: 24px; }
  .processing-grid { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-identity { border-bottom: 1px solid var(--line); border-right: 0; padding-bottom: 25px; padding-right: 0; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
}
