@import url('assets/fonts/fonts.css');

:root {
  --navy: #161646;
  --navy-2: #24245d;
  --steel: #d9e6ea;
  --steel-2: #eef4f5;
  --paper: #f7faf9;
  --teal: #087d92;
  --teal-light: #78cad2;
  --ink: #1c2452;
  --muted: #557181;
  --line: #c8d8dd;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--steel-2); color: var(--ink); font-family: Manrope, Arial, sans-serif; }
a { color: inherit; }

.nav {
  min-height: 96px;
  padding: 10px 6vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  background: var(--steel);
  border-bottom: 1px solid #b8cdd4;
  position: relative;
  z-index: 3;
}
.brand-logo { display: block; width: 178px; height: 75px; flex: 0 0 auto; }
.brand-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.nav nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.nav nav a, .nav-cta { text-decoration: none; font-size: 13px; font-weight: 700; letter-spacing: .01em; color: var(--ink); }
.nav nav a { position: relative; padding: 10px 0; }
.nav nav a:after { content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; background: var(--teal); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.nav nav a:hover:after { transform: scaleX(1); }
.nav-cta { border: 1px solid #8cadb7; border-radius: 999px; padding: 11px 16px; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.nav-cta:hover { background: var(--navy); border-color: var(--navy); color: white; }
.nav-cta span { color: var(--teal); margin-left: 9px; font-size: 17px; }

.hero { min-height: 636px; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr); background: var(--navy); overflow: hidden; }
.hero-copy { padding: 105px clamp(36px, 8vw, 145px) 90px; display: flex; flex-direction: column; justify-content: center; color: var(--paper); position: relative; }
.hero-copy:before { content: ''; position: absolute; top: 48px; bottom: 48px; left: 48px; width: 1px; background: linear-gradient(transparent, rgba(120,202,210,.55), transparent); }
.eyebrow { font: 500 11px 'DM Mono', monospace; letter-spacing: .12em; margin: 0 0 24px; color: var(--teal-light); }
.eyebrow i { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--teal-light); }
h1,h2,h3,p { margin-top: 0; }
h1 { max-width: 650px; margin-bottom: 28px; font-size: clamp(52px, 6vw, 90px); line-height: .98; letter-spacing: -.063em; font-weight: 600; }
h1 em { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 1.1em; letter-spacing: -.035em; }
.intro { max-width: 500px; color: #c8d8dc; font-size: 17px; line-height: 1.72; }
.actions { display: flex; align-items: center; gap: 24px; margin-top: 36px; }
.button { display: inline-flex; align-items: center; gap: 20px; padding: 15px 18px; text-decoration: none; font-size: 13px; font-weight: 800; }
.primary { color: white; background: var(--teal); box-shadow: 0 8px 22px rgba(0,0,0,.17); transition: transform .25s ease, background .25s ease, box-shadow .25s ease; }
.primary:hover { background: #076c80; transform: translateY(-3px); box-shadow: 0 14px 26px rgba(0,0,0,.25); }
.primary span { font-size: 20px; line-height: 0; }
.quiet { color: white; text-decoration: none; border-bottom: 1px solid #91aeb7; padding-bottom: 5px; font-size: 13px; }

.hero-art { position: relative; min-height: 430px; background: #161646; overflow: hidden; }
.hero-art>img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: portBreath 14s ease-out both; }
.hero-art:before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #161646 0%, rgba(22,22,70,.25) 28%, rgba(4,4,25,.03) 72%); }
.hero-art:after { content: ''; position: absolute; z-index: 2; inset: 0; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(213,235,237,.18) calc(25% - 1px), rgba(213,235,237,.18) 25%); opacity: .55; transform: translateX(-25%); animation: measureSlide 3.8s cubic-bezier(.2,.7,.3,1) .35s both; pointer-events: none; }
.hero-label { position: absolute; z-index: 3; right: 28px; left: 28px; bottom: 27px; display: flex; justify-content: space-between; color: white; font: 11px 'DM Mono', monospace; letter-spacing: .08em; }

.ticker { overflow: hidden; display: flex; gap: 28px; padding: 15px 0; white-space: nowrap; background: var(--teal); color: white; font: 500 11px 'DM Mono', monospace; letter-spacing: .11em; }
.ticker span:first-child { margin-left: -48px; }

.section, .solutions, .company, .contact { padding: 112px 10vw; }
.products { background: var(--paper); }
.section-head { display: grid; grid-template-columns: 1.05fr .72fr; gap: 8vw; }
.section-head .eyebrow { grid-column: 1 / -1; color: var(--teal); }
.section h2, .solutions h2, .markets h2, .company h2, .contact h2 { margin: 0; font-size: clamp(36px, 4vw, 58px); line-height: 1.05; letter-spacing: -.058em; }
.section-head>p:last-child { margin: 0; align-self: end; color: var(--muted); font-size: 16px; line-height: 1.7; }
.product-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 68px; border-top: 1px solid var(--line); }
.product-grid article { min-height: 255px; padding: 23px 26px 25px 0; border-right: 1px solid var(--line); display: flex; flex-direction: column; transition: background .25s ease, transform .25s ease; }
.product-grid article+article { padding-left: 26px; }
.product-grid article:last-child { border-right: 0; }
.product-grid article:hover { background: #edf4f5; transform: translateY(-5px); }
.product-grid span, .solution-cards span { color: var(--teal); font: 12px 'DM Mono', monospace; }
h3 { font-size: 30px; line-height: 1.05; letter-spacing: -.045em; margin: 34px 0 12px; }
.product-grid p, .solution-cards p { color: var(--muted); font-size: 14px; line-height: 1.62; }
.product-grid a { margin-top: auto; color: var(--teal); text-decoration: none; font-size: 13px; font-weight: 700; }

.solutions { background: #dce8eb; }
.solutions-intro { display: grid; grid-template-columns: 1.05fr .75fr; column-gap: 9vw; }
.solutions-intro .eyebrow { grid-column: 1 / -1; color: var(--teal); }
.solutions-intro>p:last-child { margin: 0; align-self: end; color: var(--muted); line-height: 1.7; font-size: 16px; }
.solution-cards { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 65px; border-top: 1px solid #adc3cb; }
.solution-cards article { min-height: 230px; padding: 22px 28px 25px 0; border-right: 1px solid #adc3cb; }
.solution-cards article+article { padding-left: 28px; }
.solution-cards article:last-child { border-right: 0; }
.solution-cards h3 { margin: 32px 0 12px; font-size: 25px; }
.text-link { display: inline-block; margin-top: 34px; color: var(--teal); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 5px; font-size: 14px; font-weight: 700; }
.text-link span { margin-left: 20px; }

.markets { padding: 102px 10vw; display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; background: #f1f6f7; color: var(--ink); }
.markets .eyebrow { color: var(--teal); }
.market-list { border-top: 1px solid var(--line); }
.market-list p { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 17px 0; border-bottom: 1px solid var(--line); }
.market-list b { font-size: 17px; }
.market-list span { color: var(--muted); font: 12px 'DM Mono', monospace; text-align: right; }

.company { background: var(--navy-2); color: white; }
.company .eyebrow { color: var(--teal-light); }
.company-grid { display: grid; grid-template-columns: 1.2fr .62fr; gap: 10vw; }
.company-grid>div { padding-top: 9px; }
.company-grid p { color: #c6d7dc; line-height: 1.74; }
.company .text-link { color: var(--teal-light); }
.capabilities { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8vw; align-items: center; margin-top: 90px; }
.warehouse-photo { position: relative; min-height: 425px; overflow: hidden; }
.warehouse-photo img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform .75s cubic-bezier(.2,.7,.2,1); }
.warehouse-photo:hover img { transform: scale(1.04); }
.warehouse-photo:after { content: ''; position: absolute; inset: 0; background: linear-gradient(12deg, rgba(5,25,38,.72), transparent 64%); }

.company .capability-copy h2 { margin: 0 0 18px; font-size: clamp(25px, 2.5vw, 33px); }
.capability-copy>p:not(.eyebrow) { color: #c6d7dc; line-height: 1.7; }
.capability-list { margin-top: 26px; border-top: 1px solid rgba(255,255,255,.2); }
.capability-list span { display: block; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.2); color: #e5eff1; font-size: 14px; }
.capability-list span:before { content: '↗'; color: var(--teal-light); margin-right: 12px; }

.contact { background: #dce8eb; color: var(--ink); }
.contact .eyebrow { color: var(--teal); }
.contact h2 { max-width: 700px; margin-bottom: 31px; }
.contact .primary { background: var(--navy); }


.hero-enter { animation: heroEnter .8s cubic-bezier(.2,.7,.2,1) both; }
@media (prefers-reduced-motion: no-preference) {
  .reveal.is-visible { animation: reveal-in .55s ease-out; }
}
@keyframes reveal-in {
  from { opacity: .65; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

@keyframes heroEnter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes portBreath { from { transform: scale(1.075); } to { transform: scale(1); } }
@keyframes measureSlide { from { transform: translateX(-26%); opacity: 0; } to { transform: translateX(0); opacity: .55; } }

@media (max-width: 820px) {
  .nav { min-height: 81px; padding: 10px 6vw; }
  .brand-logo { width: 138px; height: 61px; }
  .nav nav { display: none; }
  .nav-cta { margin-left: auto; padding: 9px 12px; font-size: 12px; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: 480px; padding: 78px 10vw 70px; }
  .hero-copy:before { left: 5vw; top: 35px; bottom: 35px; }
  .hero-art { min-height: 330px; }
  .section, .solutions, .company, .contact { padding: 76px 8vw; }
  .section-head, .solutions-intro, .markets, .company-grid, .capabilities { grid-template-columns: 1fr; gap: 28px; }
  .product-grid { grid-template-columns: 1fr 1fr; margin-top: 43px; }
  .product-grid article { min-height: 225px; }
  .product-grid article:nth-child(2) { border-right: 0; }
  .product-grid article:nth-child(3), .product-grid article:nth-child(4) { border-top: 1px solid var(--line); }
  .product-grid article:nth-child(3) { padding-left: 0; }
  .product-grid article:nth-child(4) { border-right: 0; }
  .solution-cards { grid-template-columns: 1fr; margin-top: 42px; }
  .solution-cards article, .solution-cards article+article { min-height: auto; padding: 20px 0; border-right: 0; border-bottom: 1px solid #adc3cb; }
  .solution-cards h3 { margin: 17px 0 8px; }
  .markets { padding: 76px 8vw; }
  .market-list p { display: block; }
  .market-list span { display: block; text-align: left; margin-top: 5px; }
  .capabilities { margin-top: 55px; }
  .warehouse-photo { min-height: 300px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Clearer hero rotation: two operational scenes, readable captions, and a progress cue. */
.hero-art>img.hero-primary{animation:heroPrimaryFade 16s ease-in-out infinite,heroDriftOne 16s ease-in-out infinite alternate}
.hero-art>img.hero-secondary{animation:heroSecondaryFade 16s ease-in-out infinite,heroDriftTwo 16s ease-in-out infinite alternate}
.hero-label{display:block;height:17px}
.hero-caption,.hero-counter{position:absolute;top:0;opacity:0;transition:opacity .2s ease}
.caption-one,.counter-one{animation:captionOne 16s ease-in-out infinite}
.caption-two,.counter-two{animation:captionTwo 16s ease-in-out infinite}
.hero-counter{right:0;color:var(--teal-light);font-weight:400}
.hero-progress{position:absolute;z-index:3;left:28px;right:28px;bottom:17px;height:1px;background:rgba(255,255,255,.32);overflow:hidden}
.hero-progress:after{content:'';display:block;height:100%;width:50%;background:var(--teal-light);transform-origin:left;animation:progressRun 16s linear infinite}
@keyframes captionOne{0%,42%{opacity:1}50%,100%{opacity:0}}
@keyframes captionTwo{0%,42%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
@keyframes progressRun{0%{transform:scaleX(0)}42%{transform:scaleX(1)}50%{transform:scaleX(0)}92%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@media(max-width:820px){.hero-label{left:20px;right:20px;bottom:25px}.hero-progress{left:20px;right:20px}.hero-art>img.hero-primary,.hero-art>img.hero-secondary{object-position:60% center}}
@media(prefers-reduced-motion:reduce){.caption-one,.caption-two,.hero-progress:after{animation:none!important}.caption-one,.counter-one{opacity:1}.caption-two,.counter-two{display:none}}
/* Full-bleed industrial opening: the first viewport reads as one confident scene. */
.hero{position:relative;display:block;min-height:700px;background:var(--navy);isolation:isolate}
.hero-copy{z-index:3;min-height:700px;width:min(760px,67%);padding:145px 8vw 116px;justify-content:center;background:linear-gradient(90deg,rgba(22,22,70,.98) 0%,rgba(22,22,70,.88) 48%,rgba(22,22,70,.34) 100%)}
.hero-copy:before{left:5.2vw;top:92px;bottom:92px;opacity:.7}
.hero-art{position:absolute;z-index:-1;inset:0;min-height:100%;background:#161646}
.hero-art:before{background:linear-gradient(90deg,rgba(22,22,70,.75) 0%,rgba(22,22,70,.22) 49%,rgba(4,4,25,.12) 100%),linear-gradient(0deg,rgba(4,4,25,.33),transparent 38%,rgba(4,4,25,.12))}
.hero-art:after{opacity:.32}
.hero-label{right:7vw;left:auto;bottom:47px;width:270px}
.hero-progress{left:auto;right:7vw;bottom:35px;width:270px}
.hero-motion span{opacity:.8}
@media(max-width:820px){.hero{min-height:710px}.hero-copy{width:100%;min-height:710px;padding:126px 8vw 112px;background:linear-gradient(90deg,rgba(22,22,70,.97),rgba(22,22,70,.62) 75%,rgba(22,22,70,.35))}.hero-copy:before{left:8vw;top:100px;bottom:100px}.hero-art{position:absolute;min-height:100%}.hero-art:before{background:linear-gradient(90deg,rgba(22,22,70,.83),rgba(22,22,70,.32) 100%),linear-gradient(0deg,rgba(4,4,25,.38),transparent 52%)}.hero-label{left:8vw;right:8vw;bottom:47px;width:auto}.hero-progress{left:8vw;right:8vw;bottom:35px;width:auto}h1{font-size:clamp(47px,13vw,72px)}}

/* A deliberately visible, slow industrial hero sequence. */
.hero-shade{background:linear-gradient(90deg,rgba(22,22,70,.40),rgba(22,22,70,.05) 55%,rgba(22,22,70,.22))}
.hero-art>img.hero-primary,.hero-art>img.hero-secondary{inset:0;width:100%;height:100%;object-fit:cover;transform-origin:62% 52%}.hero-art>img.hero-primary{opacity:1;animation:heroPrimaryFade 18s ease-in-out infinite,heroDriftOne 18s ease-in-out infinite alternate}.hero-art>img.hero-secondary{opacity:0;animation:heroSecondaryFade 18s ease-in-out infinite,heroDriftTwo 18s ease-in-out infinite alternate}.hero-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(7,29,43,.38),rgba(7,29,43,.04) 55%,rgba(7,29,43,.22))}.hero-art:after{animation:measureLoop 6.5s cubic-bezier(.2,.7,.3,1) infinite}.hero-motion{position:absolute;z-index:2;inset:0;pointer-events:none;overflow:hidden}.hero-motion span{position:absolute;top:-10%;height:120%;width:1px;background:linear-gradient(transparent,rgba(143,221,226,.78),transparent);transform:skewX(-18deg);opacity:0}.hero-motion span:nth-child(1){left:16%;animation:linePass 7.2s ease-in-out infinite}.hero-motion span:nth-child(2){left:49%;animation:linePass 7.2s ease-in-out 2.15s infinite}.hero-motion span:nth-child(3){left:82%;animation:linePass 7.2s ease-in-out 4.3s infinite}.hero-enter .eyebrow{animation:textCue .55s .1s both}.hero-enter h1{animation:textCue .7s .22s both}.hero-enter .intro{animation:textCue .7s .38s both}.hero-enter .actions{animation:textCue .7s .52s both}@keyframes heroPrimaryFade{0%,42%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}@keyframes heroSecondaryFade{0%,42%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}@keyframes heroDriftOne{from{transform:scale(1.06) translateX(0)}to{transform:scale(1.12) translateX(-1.5%)}}@keyframes heroDriftTwo{from{transform:scale(1.08) translateX(1%)}to{transform:scale(1.14) translateX(-1%)}}@keyframes measureLoop{0%{transform:translateX(-28%);opacity:0}12%,72%{opacity:.42}88%,100%{transform:translateX(25%);opacity:0}}@keyframes linePass{0%,100%{transform:translateX(-100%) skewX(-18deg);opacity:0}18%,65%{opacity:.68}80%{transform:translateX(175%) skewX(-18deg);opacity:0}}@keyframes textCue{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hero-art>img.hero-primary{opacity:1!important;animation:none!important}.hero-art>img.hero-secondary,.hero-motion{display:none!important}.hero-enter .eyebrow,.hero-enter h1,.hero-enter .intro,.hero-enter .actions{animation:none!important}}

/* Approved media and office details within the original sections. */
.pipe-photo,.company-entrance img,.reception-photo{display:block;width:100%;height:auto}
.pipe-photo{aspect-ratio:4/3;object-fit:cover;object-position:center 68%}
.irrigation-accessories{margin-top:40px}
.irrigation-accessories h2{margin:0 0 14px;font-size:clamp(24px,2.5vw,32px);letter-spacing:-.035em}
.accessory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.accessory-grid figure{margin:0;padding:12px;background:#faf8f4}
.accessory-grid img{display:block;width:100%;aspect-ratio:1;object-fit:contain}
.company .warehouse-photo img{object-position:center bottom}
.company-entrance{margin:40px 0 0}
.contact:has(.reception-photo){display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;text-align:left}
.regional-presence{min-width:0}
.regional-presence .wrap{width:100%}
.regional-presence h2{font-size:24px;margin-bottom:16px}
.regional-map{margin:0 0 16px;background:white;border:1px solid var(--line)}
.regional-map svg{display:block;width:100%;height:auto}
.regional-map-controls{padding:8px 12px;font-size:14px}
.regional-marker circle{fill:#57758c;stroke:white;stroke-width:1.5}
.regional-marker.is-selected circle{fill:var(--teal);stroke:var(--navy);stroke-width:3}
.regional-marker.is-headquarters circle{fill:var(--navy);stroke:white;stroke-width:2}
.regional-marker.is-headquarters .regional-hq-center{fill:white;stroke:none}
.regional-countries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}
.regional-countries button{display:grid;gap:3px;width:100%;height:100%;padding:8px;text-align:left;font:inherit;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer}
.regional-countries button[aria-pressed="true"]{background:var(--navy);color:white}
@media(max-width:820px){
  .contact:has(.reception-photo){grid-template-columns:1fr}
  .accessory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.page-masthead{background:var(--navy);color:var(--paper)}
.page-masthead p:last-child{max-width:650px;color:#c8d8dc}
.page-masthead h1{max-width:900px}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.portfolio-filters button{padding:8px 14px;border:1px solid var(--teal);border-radius:999px;background:transparent;color:var(--navy);font:inherit;cursor:pointer}
.portfolio-filters button[aria-pressed=true]{background:var(--navy);color:#fff}
.product-grid article[hidden]{display:none}
.portfolio-filters~.product-grid{margin-top:16px}
.contact.contact-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:7vw;text-align:left}
.contact-page .text-link{margin-top:0}
.contact-form{background:var(--paper);border-top:3px solid var(--teal);padding:clamp(18px,3vw,36px)}
.contact-form .field{margin-bottom:14px;min-width:0}
.contact-form label{display:block;margin-bottom:5px;font-weight:700}
.contact-form :is(input,select,textarea){width:100%;min-width:0;padding:10px;border:1px solid #8cadb7;background:white;color:var(--ink);font:inherit}
.contact-form textarea{min-height:125px}
.contact-form .button{border:0;color:white;background:var(--navy);cursor:pointer}
.form-status{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:18px}
.office-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.office-directory article{border-top:1px solid var(--line)}
.office-directory h3{font-size:21px;margin-top:16px}
@media(max-width:820px){
  .contact.contact-page{grid-template-columns:1fr}
  .office-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .portfolio-filters~.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portfolio-filters~.product-grid article{padding:16px 12px;overflow-wrap:anywhere}
  .portfolio-filters~.product-grid h3{font-size:clamp(18px,5.4vw,27px)}
}

html{scroll-padding-top:108px}
header.nav{position:sticky;top:0;z-index:20;overflow-anchor:none}
header.nav.is-compact{min-height:62px;padding-block:4px;box-shadow:0 2px 12px #16164618}
header.nav.is-compact .brand-logo{height:52px}
.nav-menu{display:none}
.activity-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-top:16px}
.activity-photo[src*="pellets"]{object-position:78% 74%}
.activity-photo[src*="yarn"]{object-position:50% 56%}
.company .warehouse-photo{min-height:0;aspect-ratio:3/2}
.company .warehouse-photo img{object-fit:contain}
.company-entrance img,.reception-photo{object-fit:contain}
.accessory-grid img{background:#faf8f4}
.preview-notice{padding:6px 6vw;background:var(--steel-2);font-size:12px;color:var(--muted)}
.regional-map{background:#090f26;color:#e4f6ff;border-color:#355471}
.regional-map-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.map-reset{margin-left:auto;border:1px solid #6488a5;border-radius:20px;background:transparent;color:inherit;padding:4px 9px;cursor:pointer}
.regional-map-view{transform-origin:0 0;transition:transform .55s ease-in-out}
.regional-marker{transform-box:fill-box;transform-origin:center}
.regional-map-view.is-zoomed .regional-marker{transform:scale(.38)}
.regional-marker circle{fill:#72bbdf;stroke:#0e203e;stroke-width:1.5}
.regional-marker.is-selected circle{fill:#cbfbff;stroke:#3298be;stroke-width:2}
.regional-marker.is-headquarters circle{fill:#ffd277;stroke:#161646;stroke-width:1.5}
.regional-marker.is-headquarters .regional-hq-center{fill:#161646;stroke:none}
@media(max-width:820px){
  .nav-menu{display:block;order:1;border:1px solid #8cadb7;border-radius:999px;background:transparent;color:var(--ink);padding:8px 11px;font:inherit;font-size:13px;cursor:pointer}
  header.nav{gap:8px}
  header.nav nav{position:absolute;top:100%;left:0;right:0;background:var(--steel);margin:0;padding:12px 6vw;border-bottom:1px solid var(--line)}
  header.nav .nav-menu[aria-expanded=true]+nav{display:grid;gap:0}
  .hero-art>img.hero-primary{object-position:70% center}
  .hero-art>img.hero-secondary{object-position:37% center}
}
@media(prefers-reduced-motion:reduce){.regional-map-view{transition:none}}
.markets>.regional-presence{padding:0}
.regional-map svg{overflow:hidden}

.company-mosaic{margin:28px 0 0}
.company-mosaic img,.storage-supply-images img{display:block;width:100%;height:auto}
.storage-supply-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.storage-supply-images figure{margin:0}
.product-activities article{display:flex;flex-direction:column;min-width:0}
.product-activities .activity-photo{margin-top:auto}
.product-activities article>p{margin-bottom:16px}
@media(max-width:820px){
  .storage-supply-images{grid-template-columns:1fr;gap:16px}
}
@media(min-width:821px){
  .product-activities{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-activities article,.product-activities article+article{padding-inline:20px}
  .product-activities article:last-child{border-right:1px solid transparent}
}

/* Crop within each section while retaining the original image files. */
.product-activities .activity-photo{aspect-ratio:4/3;object-fit:cover}
.product-activities .activity-photo[src*="pellets"]{object-view-box:inset(40% 0 0 34%);object-position:right bottom}
.product-activities .activity-photo[src*="yarn"]{object-position:50% 54%}
.product-activities .pipe-photo{object-position:50% 69%}
.storage-supply-images img,.company-mosaic img{object-fit:cover}
.storage-supply-images img{aspect-ratio:2.18}
.storage-supply-images img[src*="hero-logistics"]{object-position:center 87%}
.storage-supply-images img[src*="warehouse"]{object-position:center 58%}
.company-mosaic img{aspect-ratio:2.65;object-position:center 50%}
@media(max-width:820px){
  .product-activities .activity-photo[src*="pellets"]{object-view-box:inset(45% 0 0 40%)}
  .product-activities .activity-photo[src*="yarn"]{object-position:center 58%}
  .storage-supply-images img{aspect-ratio:1.85}
  .storage-supply-images img[src*="hero-logistics"]{object-view-box:inset(9% 0 0 0);object-position:right bottom}
  .company-mosaic img{aspect-ratio:2.1}
}

.nav nav a[aria-current="page"]{color:var(--teal);font-weight:800}
.nav nav a[aria-current="page"]::after{transform:scaleX(1)}
@media(max-width:820px){
  .nav-menu{margin-left:auto}
  .nav nav a[aria-current="page"]{background:var(--paper);padding-inline:10px}
}

.home-activities .text-link{align-self:flex-start;margin-top:16px}
@media(min-width:821px){
  .home-activities .text-link{min-height:3.2em}
}

.polymer-overview{padding-block:64px}
.polymer-families,.supplier-logos{display:grid;list-style:none;margin:24px 0 0;padding:0}
.polymer-families{grid-template-columns:repeat(6,minmax(0,1fr));border-block:1px solid var(--line)}
.polymer-families li{padding:16px 12px;border-inline-end:1px solid var(--line);min-width:0}
.polymer-families li:last-child{border-inline-end:0}
.polymer-families strong{display:block;font-size:26px}
.polymer-families span{display:block;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.supplier-strip{padding:30px 10vw 38px;background:white;border-block:1px solid var(--line)}
.supplier-strip h2{font-size:clamp(22px,3vw,32px)}
.supplier-logos{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.supplier-logos li{display:grid;place-items:center;min-height:86px;padding:10px;border:1px solid var(--line)}
.supplier-logos img{display:block;width:min(100%,124px);height:54px;object-fit:contain}
.supplier-logos img[alt="OQ"]{max-width:88px}
.supplier-logos img[alt="Sipchem"]{max-width:140px}
@media(min-width:821px){.other-activities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .polymer-families{grid-template-columns:repeat(3,minmax(0,1fr))}
  .polymer-families li{border-bottom:1px solid var(--line)}
  .supplier-strip{padding-inline:8vw}
  .supplier-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Editorial homepage and supplier presentation. */
.hero-copy h1{font-weight:600}
.hero-art>img.hero-primary{object-position:center 60%}
.supply-quote{margin-top:26px}
.supplier-logos{justify-items:center;max-width:840px;gap:18px;margin-inline:auto}
.supplier-logos li{
  width:clamp(88px,10vw,132px);aspect-ratio:1;min-height:0;
  border-radius:50%;background:#fbfdfd;border:1px solid #dfe9ec;
  box-shadow:0 4px 12px #1616460e;padding:12px;
}
.supplier-logos img{width:100%;height:48px;object-fit:contain}
.supplier-logos img[alt="SABIC"]{width:75px;height:40px}
.supplier-logos img[alt="OQ"]{max-width:78px}
.photo-credit{grid-column:1/-1;font-size:11px;color:var(--muted)}
.sector-cards article{padding-inline:20px;border-bottom:1px solid var(--line)}
@media(max-width:820px){
  .hero{min-height:0}
  .hero-copy{
    min-height:0;padding:68px 8vw 280px;
    background:linear-gradient(180deg,var(--navy) 0%,var(--navy) calc(100% - 282px),#16164680 calc(100% - 238px),#16164600 calc(100% - 165px));
  }
  .hero-copy h1{font-size:clamp(38px,11.4vw,65px)}
  .hero-art{top:auto;height:270px;min-height:0}
  .hero-art>img.hero-primary{object-position:center 60%}
  .hero-art>img.hero-secondary{object-position:70% center}
  .hero-art:before{background:linear-gradient(0deg,#161646cc 0%,transparent 35%)}
  .hero-shade{background:none}
  .hero-copy:before{bottom:275px;top:58px}
  .supplier-logos{grid-template-columns:repeat(3,minmax(0,1fr));max-width:390px;gap:12px}
  .supplier-logos li{width:min(100%,92px)}
  .supplier-logos img{height:40px}
  .supplier-logos img[alt="SABIC"]{width:min(100%,75px);height:40px}
  .sector-cards article{padding-inline:0}
}
@media(max-width:460px){
  .polymer-families{grid-template-columns:repeat(2,minmax(0,1fr))}
  .polymer-families li:nth-child(even){border-inline-end:0}
}

/* Hero and heritage layout from the 50638 local reference. */
.reference-wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.reference-hero{
  position:relative;isolation:isolate;display:flex;align-items:center;
  min-height:700px;background:#161646;color:white;overflow:hidden;
  font:16px/1.65 system-ui,Arial,sans-serif;
}
.reference-hero-art{position:absolute;inset:0 0 0 49%;margin:0;overflow:hidden;z-index:-2}
.reference-hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reference-hero-art .reference-hero-pellets{
  object-view-box:inset(38% 0 0 34%);object-position:78% 75%;
}
.reference-hero-art .reference-hero-loading{object-position:92% center}
.reference-hero-factory,.reference-hero-loading{opacity:0}
.reference-hero-shade{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,#161646 48.8%,#16164699 57%,#16164600 74%);
}
.reference-hero-content{padding:90px 0 100px}
.reference-kicker{margin:0;color:#a1e2e7;font:700 11px/1.65 ui-monospace,monospace;letter-spacing:.12em}
.reference-hero h1{
  max-width:650px;margin:20px 0 26px;font:700 clamp(49px,4.8vw,74px)/1.12 Arial,"Helvetica Neue",sans-serif;
  letter-spacing:-.055em;
}
.reference-hero h1 span{display:block;color:#a1e2e7;font:italic 500 .96em/1.13 Georgia,serif;letter-spacing:-.045em}
.reference-hero-intro{max-width:min(470px,41vw);margin:0;color:white;font-size:18px;line-height:1.6}
.reference-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.reference-actions a{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:13px 22px;min-height:50px;background:#2a658d;border:1px solid #2a658d;
  color:white;text-decoration:none;font-size:14px;border-radius:2px;
}
.reference-actions a+a{background:transparent;border-color:#e0f0fa}
.reference-actions a:hover{background:#eaf2f7;border-color:#eaf2f7;color:#161747}
.reference-actions span{font-size:20px;line-height:1}
.reference-hero-toggle{
  position:absolute;right:20px;bottom:16px;padding:5px 10px;border:1px solid #ffffff90;
  border-radius:3px;background:#161747d9;color:white;font:inherit;font-size:12px;cursor:pointer;
}
.reference-heritage{background:#24245d;color:#fff;padding:88px 0;font:16px/1.65 system-ui,Arial,sans-serif}
.reference-heritage-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(32px,7vw,100px);align-items:center}
.reference-year{padding-left:25px;border-left:2px solid #2a658d;color:#a9d3eb;font:700 34px/.9 Arial,sans-serif;letter-spacing:-.06em}
.reference-year strong{font-size:clamp(94px,12vw,178px);color:white}
.reference-heritage h2{max-width:700px;margin:24px 0 0;font:700 clamp(32px,3.6vw,50px)/1.12 Arial,sans-serif;letter-spacing:-.055em}
.reference-heritage .reference-lead{margin:24px 0 10px;font-size:23px;font-weight:700}
.reference-heritage p:not(.reference-kicker){color:#eaf2f7}
.reference-heritage .text-link{margin-top:12px;color:#b9def2}
.home-mosaic{padding:64px 0 0;background:var(--paper)}
.home-mosaic h2{margin:0 0 24px;font-size:clamp(30px,4vw,48px);letter-spacing:-.05em}
.home-mosaic img{display:block;width:100%;aspect-ratio:2.65;object-fit:cover}
@media(max-width:1000px){
  .reference-hero-art{left:0}
  .reference-hero-shade{background:linear-gradient(90deg,#161646f5,#161646c9 40%,#16164618)}
  .reference-hero-intro{max-width:520px}
}
@media(max-width:760px){
  .reference-wrap{width:calc(100% - 40px)}
  .reference-hero{min-height:740px;align-items:start}
  .reference-hero-content{padding:42px 0 160px}
  .reference-hero-shade{background:linear-gradient(180deg,#161646f5 0%,#161646d9 39%,#16164672 63%,#1616460d 100%)}
  .reference-hero h1{font-size:clamp(31px,9.6vw,44px)}
  .reference-hero-intro{font-size:16px}
  .reference-actions a{width:100%}
  .reference-hero-art .reference-hero-factory{object-position:72% center}
  .reference-hero-art .reference-hero-loading{object-position:95% center}
  .reference-heritage{padding:56px 0}
  .reference-heritage-grid{grid-template-columns:1fr;gap:20px}
  .reference-year{font-size:27px}
  .reference-year strong{font-size:112px}
  .home-mosaic img{aspect-ratio:2.1}
}
/* Video reference: broad photographic field, fixed copy and a quiet navy veil. */
.reference-hero-art{left:0}
.reference-hero-art img{opacity:0;transition:opacity 1.5s ease-in-out;object-view-box:none}
.reference-hero-art img.is-active{opacity:1}
.reference-hero-art .reference-hero-factory{object-position:70% center}
.reference-hero-art .reference-hero-pellets{object-view-box:inset(35% 0 0 32%);object-position:85% 80%}
.reference-hero-art .reference-hero-warehouse{object-position:75% center}
.reference-hero-shade{background:linear-gradient(90deg,#161747fa 0%,#161747ed 26%,#161747a8 49%,#16174720 75%,#16174705)}
.reference-hero{min-height:760px}
.reference-hero-content{padding:85px 0 105px}
.reference-hero h1{max-width:690px;font-size:clamp(56px,6.1vw,88px);font-weight:500;line-height:1.02}
.reference-hero h1 span{color:#fff;font-size:1.1em;line-height:1.06}
.reference-hero-intro{max-width:520px;font-size:18px}
.reference-slide-controls{position:absolute;bottom:20px;right:32px;display:flex;gap:8px;align-items:center}
.reference-slide-controls button{min-height:44px;padding:9px 14px;border:1px solid #ffffff90;background:#161747c9;color:#fff;font:600 12px/1.4 system-ui;cursor:pointer}
.reference-slide-controls button[aria-pressed=true]{background:#eaf2f7;color:#161747}
.reference-slide-controls .reference-hero-toggle{position:static}
.reference-slide-controls [hidden]{display:none}
.reference-slide-controls button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.home-activities{background:var(--paper)}
.home-activities h2{margin-bottom:36px}
.home-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.home-activity-grid article{min-width:0;background:#fff}
.home-activity-grid img{display:block;width:100%;height:240px;object-fit:cover}
.home-activity-grid article>div{padding:28px}
.home-activity-grid h3{font-size:26px;line-height:1.15;margin:0 0 16px;letter-spacing:-.035em}
.home-activity-grid p{line-height:1.65;color:var(--muted)}
.home-activity-grid .activity-primary{grid-column:1/-1;display:grid;grid-template-columns:1.05fr 1fr}
.home-activity-grid .activity-primary img{height:100%;min-height:350px;object-position:80% 85%}
.home-activity-grid .activity-primary h3{font-size:clamp(28px,3vw,42px)}
.activity-links{display:flex;flex-wrap:wrap;gap:12px 24px}
.home-activity-grid img[src*=yarn]{object-position:center 48%}
.home-activity-grid img[src*=pipes]{object-position:center 65%}
@media(max-width:1200px) and (min-width:761px){
 .reference-hero h1{font-size:68px}
 .reference-hero-intro{max-width:480px}
}
@media(max-width:760px){
 .reference-hero{min-height:850px}
 .reference-hero-content{padding:42px 0 240px}
 .reference-hero h1{font-size:46px;max-width:350px}
 .reference-hero-intro{font-size:16px;max-width:100%}
 .reference-hero-shade{background:linear-gradient(180deg,#161747ed 0%,#161747d9 39%,#1617479c 63%,#16174710 90%)}
 .reference-hero-art .reference-hero-factory{object-position:73% center}
 .reference-hero-art .reference-hero-warehouse{object-position:38% center}
 .reference-slide-controls{left:20px;right:20px;bottom:20px;justify-content:space-between;gap:6px}
 .reference-slide-controls button{flex:1;padding:10px 8px}
 .home-activity-grid{grid-template-columns:1fr;gap:22px}
 .home-activity-grid .activity-primary{display:block;grid-column:auto}
 .home-activity-grid .activity-primary img{height:240px;min-height:0}
 .home-activity-grid article>div{padding:22px}
}
@media(prefers-reduced-motion:reduce){.reference-hero-art img{transition:none}}
.reference-hero-art .reference-hero-warehouse{object-view-box:inset(0 0 11% 0)}


.reference-hero-art .reference-hero-pellets{object-view-box:none;object-position:75% center}
@media(max-width:760px){.reference-hero-art .reference-hero-pellets{object-position:72% center}}
/* Official supplier logos: centered rows, original proportions and colors. */
.supplier-logos{display:flex;flex-wrap:wrap;justify-content:center;max-width:1100px;gap:16px}
.supplier-logos li{flex:0 0 clamp(100px,8.8vw,132px);width:clamp(100px,8.8vw,132px)}
.supplier-logos img[alt="Westlake"]{width:100%;max-width:110px;height:42px}
.supplier-logos img[alt="NATPET"]{width:78px;max-width:100%;height:78px}
@media(max-width:820px){.supplier-logos{max-width:580px;gap:16px}}
@media(max-width:480px){.supplier-logos{max-width:390px;gap:12px}.supplier-logos li{flex-basis:92px;width:92px}.supplier-logos img[alt="NATPET"]{width:64px;height:64px}}

/* Review refinements */
.home-mosaic img,.company-mosaic img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.reference-hero-art .reference-hero-warehouse{object-position:20% center}}
.product-grid span,.solution-cards span,.nav nav a[aria-current="page"]{color:#126679}
.section .eyebrow,.solutions .eyebrow,.markets .eyebrow,.company .eyebrow,.supplier-strip .eyebrow,.home-mosaic .eyebrow{color:#126679}
.text-link,.product-grid a{color:#126679}
.reference-heritage .text-link{color:#b9def2}
.home-quote{padding:48px 10vw;background:#161747;color:white;display:flex;align-items:center;justify-content:space-between;gap:24px}
.home-quote h2{font-size:clamp(26px,3vw,42px);margin:0}
.home-quote .button{color:white}
.market-material{margin:32px 0}.market-material img{display:block;width:100%;aspect-ratio:3/1;object-fit:cover;object-position:center 65%}
.sector-cards .text-link{margin:12px 14px 0 0}
@media(max-width:760px){.home-quote{padding:36px 8vw;flex-direction:column;align-items:flex-start}.market-material img{aspect-ratio:2/1}}
@media(max-width:760px){
 .reference-hero-art .reference-hero-warehouse{object-view-box:inset(0 20% 44% 0);object-position:32% center}
}
.page-masthead .eyebrow,.company .eyebrow{color:#a1e2e7}
@media(max-width:760px){
 .reference-hero-art .reference-hero-warehouse{object-view-box:inset(0 0 11% 0);object-fit:contain;object-position:center bottom}
}

/* Final local polish */


@media(max-width:760px){
 .reference-hero-art .reference-hero-warehouse{object-view-box:inset(0 0 11% 0);object-fit:cover;object-position:60% center}

}
.product-grid .product-thumb{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:78% 65%;display:block;margin:0 0 18px}
.product-grid article[data-category=yarns] img{object-position:center 48%}
.product-grid article[data-category=irrigation] img{object-position:center 60%}
.home-activity-grid article:not(.activity-primary){display:flex;flex-direction:column}
.home-activity-grid article:not(.activity-primary)>div{display:flex;flex:1;flex-direction:column}
.home-activity-grid article:not(.activity-primary) .text-link{margin-top:auto;padding-top:20px;align-self:start}
@media(min-width:821px){.markets{grid-template-columns:.4fr 1.6fr;gap:4vw}}

.sector-cards article{min-width:0}
.sector-cards .sector-image{display:block;width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;margin:12px 0 22px}
.sector-cards a.text-link{margin-top:12px}
@media(max-width:760px){
 .reference-hero-art .reference-hero-warehouse{object-position:83% center}
 .reference-hero:has(.reference-hero-warehouse.is-active) .reference-hero-shade{background:linear-gradient(180deg,#161747f0 0%,#161747df 36%,#16174791 60%,#16174719 95%)}
}
@media(max-width:760px){
 .reference-hero-art .reference-hero-warehouse{inset:auto 0 0;height:48%;object-fit:cover;object-position:27% 40%;object-view-box:inset(0 0 11% 0)}
 .reference-hero:has(.reference-hero-warehouse.is-active) .reference-hero-shade{background:linear-gradient(180deg,#161747 0%,#161747 38%,#161747cc 54%,#16174717 80%)}
}

/* Approved illustrative outdoor pipe composition. */
.home-activity-grid img[src*="irrigation-pipes-outdoor"],.product-thumb[src*="irrigation-pipes-outdoor"],.pipe-photo[src*="irrigation-pipes-outdoor"]{object-position:35% 65%}

.product-grid .product-thumb[src*="/raw-materials/"]{object-position:center 60%}
/* Technical materials catalogue */
.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}
.nav-products{position:relative;display:flex;align-items:center;gap:4px}
.materials-menu-toggle{display:grid;place-items:center;width:34px;min-height:44px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:21px;cursor:pointer}
.materials-menu {
  position: absolute;
  top: 100%;
  right: -110px;
  width: min(620px, 78vw);
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  background: #f7faf9;
  border: 1px solid #bccfd8;
  border-radius: 5px;
  box-shadow: 0 14px 34px #16174726;
  color: #161747;
  font-family: Manrope, Arial, sans-serif;
  z-index: 35;
}
.materials-menu[hidden] { display: none; }
.materials-menu-heading {
  margin: 0 0 10px;
  color: #126679;
  font-size: 13px;
  font-weight: 800;
}
.materials-family-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}
.materials-activities {
  border-inline-start: 1px solid var(--line);
  padding-inline-start: 16px;
}
.nav nav .materials-menu a {
  display: block;
  padding: 9px 10px;
  border-radius: 3px;
  font-size: 13px;
  line-height: 1.4;
}
.nav nav .materials-family-grid a { background: #edf4f6; }
.nav nav .materials-menu a:hover,
.nav nav .materials-menu a:focus-visible { background: #e1edf3; color: #126679; }
.nav nav .materials-all { margin-top: 6px; color: #126679; }
.materials-menu a:after { display: none; }
.materials-menu-toggle[aria-expanded="true"] { transform: rotate(180deg); }
.materials-menu-toggle:focus-visible,.catalogue-detail:focus-visible,.catalogue-controls button:focus-visible,.family-navigation a:focus-visible{outline:3px solid #2a658d;outline-offset:3px}
.polymer-families a{display:block;text-decoration:none;color:inherit}
.polymer-families a:hover strong{color:#126679}
.technical-catalogue{padding:76px 6vw 80px;background:var(--paper)}
.catalogue-intro{display:grid;grid-template-columns:1.5fr .5fr;gap:70px;align-items:center;max-width:1280px;margin:0 auto 38px}
.catalogue-intro p:not(.eyebrow){max-width:720px;color:var(--muted);line-height:1.7}
.catalogue-intro img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:3px}
.family-navigation{display:flex;flex-wrap:wrap;gap:0;border-block:1px solid #b9cdd7;margin-bottom:32px}
.family-navigation a{padding:16px 24px;text-decoration:none;font-weight:750;color:#161747;border-bottom:3px solid transparent}
.family-navigation a[aria-current],.family-navigation a:hover{color:#126679;border-bottom-color:#126679;background:#eaf2f7}
.catalogue-controls{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr auto;gap:16px;align-items:end;scroll-margin-top:130px}
.catalogue-controls label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}
.catalogue-controls input,.catalogue-controls select{display:block;width:100%;min-width:0;height:46px;border:1px solid #a8c0cd;border-radius:3px;background:white;color:#161747;padding:10px;font:14px Manrope,Arial,sans-serif}
.catalogue-controls button{height:46px;background:#eaf2f7;color:#126679;border:1px solid #9db9c8;padding:8px 15px;font:700 13px Manrope,sans-serif;cursor:pointer;border-radius:3px}
#catalogue-status{font-size:14px;font-weight:700;color:#126679;margin:24px 0 8px}
.catalogue-note{font-size:13px;line-height:1.65;color:#456273;max-width:900px}
.catalogue-table{width:100%;border-collapse:collapse;margin-top:22px;text-align:left;table-layout:fixed}
.catalogue-table th{background:#161747;color:#fff;padding:18px 14px;font-size:13px;font-weight:650;vertical-align:top}
.catalogue-table th:nth-child(1){width:17%}.catalogue-table th:nth-child(2){width:18%}.catalogue-table th:nth-child(3){width:20%}.catalogue-table th:nth-child(4){width:32%}.catalogue-table th:nth-child(5){width:13%}
.catalogue-table td{padding:22px 14px;border-bottom:1px solid #c5d7df;font-size:14px;line-height:1.65;vertical-align:top;overflow-wrap:anywhere}
.catalogue-table tr:nth-child(even){background:#eaf2f775}
.catalogue-table td:first-child{font-weight:650;color:#161747}
.catalogue-family-tag{color:#126679;font-size:12px;letter-spacing:.04em;font-weight:800}
.key-property+.key-property{margin-top:12px}.key-property strong{font-size:13px;font-weight:650}.key-property small{display:block;color:#506c7e;font-size:11px;line-height:1.6}
.catalogue-detail{border:0;background:transparent;color:#126679;font:700 13px/1.65 Manrope,Arial,sans-serif;padding:0;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.catalogue-fillers{border-left:3px solid #2a658d;background:#eaf2f7;margin-top:42px;padding:24px 28px;max-width:900px}
.catalogue-fillers h3{margin-top:0;font-size:24px}.catalogue-fillers p{line-height:1.7;color:var(--muted)}.catalogue-fillers .text-link{margin-top:8px}
#material-dialog{width:min(960px,calc(100% - 32px));max-height:88vh;border:1px solid #a5bfce;border-radius:5px;padding:0;background:#fff;color:#161747;box-shadow:0 30px 100px #0006}
#material-dialog::backdrop{background:#0b1234ad}
.material-dialog-bar{position:sticky;top:0;z-index:1;background:#eaf2f7;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;border-bottom:1px solid #c8d8dd}
.material-dialog-bar .eyebrow{margin:0;color:#126679}
.material-dialog-bar button{min-height:44px;padding:8px 12px;border:1px solid #90adbd;background:white;color:#161747;font:700 13px Manrope,sans-serif;cursor:pointer;border-radius:2px}
#material-detail{padding:28px 36px 36px}.technical-catalogue #material-dialog h2{font-size:36px;letter-spacing:-.04em;margin:10px 0 12px}.material-family{color:#126679;font-size:13px;font-weight:750}.material-class{font-size:20px;font-weight:650}
#material-detail p{line-height:1.7}#material-detail h3{font-size:21px;margin:30px 0 12px}
.property-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed;font-size:13px}
.property-table th,.property-table td{padding:12px;border-bottom:1px solid #c5d7df;line-height:1.6;overflow-wrap:anywhere;vertical-align:top}
.property-table thead th{background:#161747;color:white}.property-table tbody th{width:30%;font-weight:650}.property-table tbody tr:nth-child(even){background:#f0f5f8}
.material-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:32px}.material-actions .button{font-size:13px;padding:13px 18px}.catalogue-pdf{background:#eaf2f7;color:#126679;border:1px solid #9cb8c8}.document-pending{color:#506c7e;font-size:13px}
@media(max-width:1100px){.catalogue-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-controls button{justify-self:start}.catalogue-intro{gap:30px}.family-navigation a{padding:14px 20px}}
@media(max-width:820px){.nav-products{flex-wrap:wrap;justify-content:space-between}.nav-products>a{flex:1}.catalogue-intro{grid-template-columns:1fr}.catalogue-intro img{display:none}}
@media(max-width:760px){
 .technical-catalogue{padding:48px 6vw}.catalogue-controls{gap:14px}.catalogue-controls>div:first-child{grid-column:1/-1}.family-navigation a{padding:13px 15px;font-size:14px}
 .catalogue-table,.catalogue-table tbody{display:block}.catalogue-table thead{display:none}.catalogue-table tr{display:block;border:1px solid #b5ccd7;border-radius:3px;margin-bottom:18px;padding:10px 16px;background:white!important}.catalogue-table td{display:block;padding:10px 0;border-bottom:1px solid #e0e9ee}.catalogue-table td:before{content:attr(data-label);display:block;font-weight:750;font-size:11px;color:#126679;margin-bottom:4px;letter-spacing:.02em}.catalogue-table td:first-child{font-size:19px}.catalogue-table td:last-child{border:0}.catalogue-detail{font-size:14px}.key-property small{font-size:12px}
 .material-dialog-bar{padding:10px 16px}.material-dialog-bar .eyebrow{font-size:9px}#material-detail{padding:20px 18px 28px}.technical-catalogue #material-dialog h2{font-size:28px}
 .property-table,.property-table tbody{display:block}.property-table thead{display:none}.property-table tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #b5ccd7;padding:12px 0}.property-table tbody th{width:auto;grid-column:1/-1;padding:4px 8px}.property-table td{padding:5px 8px;border:0}.property-table td:before{content:attr(data-label);display:block;font-size:10px;font-weight:750;color:#126679}.property-table td:last-child{grid-column:1/-1}.material-actions .button{width:100%;text-align:center;justify-content:center}
}
/* Family-led technical catalogue */
.family-navigation{scroll-margin-top:110px}
.family-content{scroll-margin-top:135px}
#family-heading{font-size:30px;line-height:1.25;margin:0 0 12px;letter-spacing:-.025em}
#family-introduction{color:#456273;line-height:1.7;max-width:850px;margin:0 0 28px}
.catalogue-subtype{margin:28px 0 36px}
.catalogue-subtype h4{margin:0;padding:13px 16px;background:#eaf2f7;border-left:3px solid #2a658d;font-size:19px;letter-spacing:0}
.catalogue-table{margin-top:0}.catalogue-table th{padding:14px 12px;font-size:12px}.catalogue-table td{padding:18px 12px;font-size:13px;line-height:1.6}
.catalogue-table th:nth-child(1){width:16%}.catalogue-table th:nth-child(2){width:17%}.catalogue-table th:nth-child(3){width:20%}.catalogue-table th:nth-child(4){width:29%}.catalogue-table th:nth-child(5){width:18%}
.usage-label{display:block;margin-bottom:5px;color:#161747}.usage-label+span{color:#456273;font-size:12px}
.key-property+.key-property{margin-top:8px}.key-property strong{font-weight:600;font-size:12px}.key-property .mfr-condition{font-size:12px;font-weight:650;color:#126679}
#material-dialog[open]{display:flex;flex-direction:column;height:min(840px,90dvh);max-height:90dvh;overflow:hidden}
.material-dialog-bar{position:static;flex-shrink:0}
#material-detail{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain;padding-bottom:28px}
#material-actions{flex-shrink:0;margin:0;padding:16px 28px;background:#eaf2f7;border-top:1px solid #b5ccd7;gap:12px;justify-content:flex-end}
#material-actions .button{font-size:12px;padding:12px 16px}
.catalogue-fillers[hidden]{display:none}
@media(max-width:760px){
 .catalogue-intro{margin-bottom:26px}.catalogue-intro h2{font-size:34px!important;line-height:1.18!important}
 .family-navigation{gap:4px;border:0;display:grid;grid-template-columns:repeat(4,1fr)}.family-navigation a{border:1px solid #bdd0da;padding:12px 7px;text-align:center;background:white;border-radius:2px}.family-navigation a[aria-current]{background:#2a658d;color:white;border-color:#2a658d}
 #family-heading{font-size:25px}.catalogue-subtype{margin:24px 0 32px}.catalogue-subtype h4{font-size:17px;margin-bottom:14px}
 .catalogue-table td{padding:8px 0}.catalogue-table tr{padding:8px 16px;margin-bottom:14px}.catalogue-table td:first-child:before,.catalogue-table td:last-child:before{display:none}.catalogue-table td:first-child{font-size:18px}.catalogue-table td:nth-child(2),.catalogue-table td:nth-child(3){font-size:13px}
 .key-property strong{font-size:13px}.usage-label{display:none}.usage-label+span{font-size:13px;color:inherit}
 #material-actions{padding:12px 16px;gap:8px}#material-actions .button{padding:10px 12px;font-size:11px;min-height:42px}
}
@media(max-width:760px){#material-actions .button{font-size:13px}}

/* Keep browsing actions prominent and the enquiry form near the page title. */
#material-actions .grade-enquiry-link {
  color: #126679;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 4px;
  text-underline-offset: 3px;
}

.page-masthead.contact-masthead {
  padding-block: clamp(22px, 3.5vw, 48px);
}

.contact-masthead h1 {
  font-size: clamp(40px, 5vw, 68px);
  margin-bottom: 16px;
}

.contact-masthead p:last-child {
  margin-bottom: 0;
}

.contact.contact-page {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: start;
  padding-block: clamp(20px, 4vw, 56px);
}

.contact-page .quote-form-heading {
  font-size: clamp(22px, 2.6vw, 32px);
  letter-spacing: -.035em;
  margin-bottom: 22px;
}

.contact-page #enquiry-form {
  scroll-margin-top: 90px;
}

@media (max-width: 820px) {
  .contact.contact-page {
    grid-template-columns: minmax(0, 1fr);
  }

  #material-actions .grade-enquiry-link {
    margin-inline: auto;
  }
}

/* The figure already provides the spacing before the sector cards. */
.market-material + .sector-cards {
  margin-top: 0;
}

.irrigation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
  padding-block: clamp(48px, 6vw, 88px);
}
.irrigation-hero p { line-height: 1.7; }
.irrigation-hero-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: 35% 65%;
}
.irrigation-details { padding-block: clamp(40px, 5vw, 76px); }
.irrigation-details .accessory-grid img { height: auto; }
.irrigation-systems {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  list-style: none;
  margin: 0 0 clamp(32px, 5vw, 60px);
  padding: 0;
}
.irrigation-systems li {
  padding-top: 18px;
  border-top: 2px solid #2a658d;
}
.irrigation-systems h2 {
  font-size: clamp(21px, 2vw, 29px);
  letter-spacing: -.035em;
}
.irrigation-systems p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.65;
}
@media (max-width: 760px) {
  .irrigation-hero, .irrigation-systems { grid-template-columns: minmax(0, 1fr); }
}

.reference-hero h1 { font-family: Manrope, Arial, sans-serif; }
.reference-hero h1 em {
  display: block;
  font: inherit;
  font-style: italic;
}

.storage-supply .section-head {
  column-gap: clamp(28px, 8vw, 116px);
  row-gap: 14px;
}
.storage-supply .section-head .eyebrow { margin-bottom: 0; }

.quote-rail { flex: 0 0 auto; }
.quote-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: #2a658d;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 800;
}
.quote-cta:hover { background: var(--navy); }
.quote-cta:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.quote-privacy { color: var(--muted); font-size: 14px; }

.policy-content { max-width: 74ch; margin-inline: auto; padding-inline: clamp(24px, 6vw, 56px); }
.policy-content h2 { margin-top: 30px; font-size: clamp(21px, 2.5vw, 29px); letter-spacing: -.03em; }
.policy-content p { line-height: 1.75; }
.policy-status { font-weight: 800; }

@media (min-width: 821px) {
  header.nav { gap: clamp(12px, 2vw, 32px); }
  header.nav nav { gap: clamp(12px, 1.8vw, 30px); }
}
@media (max-width: 820px) {
  html { scroll-padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .quote-rail {
    position: fixed;
    inset: auto 0 0;
    padding: 9px 6vw calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #b8cdd4;
    background: var(--steel);
  }
  .quote-cta { width: 100%; }
  .contact-page #enquiry-form { scroll-margin-top: 0; }
}
@media (max-width: 400px) {
  .reference-hero h1 { font-size: clamp(34px, 11.2vw, 45px); }
}

@media (min-width: 821px) and (max-width: 1000px) {
  .materials-menu { right: -165px; width: 600px; }
}
@media (max-width: 820px) {
  header.nav nav {
    max-height: calc(100dvh - 150px - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
  }
  .materials-menu {
    position: static;
    flex-basis: 100%;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 8px;
    padding: 12px;
    box-shadow: none;
  }
  .materials-activities {
    border-inline-start: 0;
    border-top: 1px solid var(--line);
    padding-inline-start: 0;
    padding-top: 10px;
  }
  .nav nav .materials-menu a { min-height: 44px; }
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 14px clamp(16px, 3vw, 44px);
  align-items: center;
  padding: 19px 10vw 14px;
  border-top: 1px solid #a7bdc7;
  background: #edf3f4;
  color: #456273;
  font-size: 13px;
  line-height: 1.5;
}
.site-footer .footer-logo {
  width: 152px;
  height: auto;
  margin: -4px 0 2px -6.5px;
}
.footer-logo img { height: auto; }
.site-footer p { margin: 0; }
.footer-explore { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; }
.footer-contact { display: grid; justify-items: end; gap: 4px; }
.site-footer a:not(.footer-logo) { text-decoration: none; text-underline-offset: 3px; }
.site-footer a:not(.footer-logo):is(:hover, :focus-visible) {
  color: #126679;
  text-decoration: underline;
}
.site-footer a:focus-visible { outline: 2px solid #2a658d; outline-offset: 3px; }
.footer-contact a { overflow-wrap: anywhere; }
.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  padding-top: 10px;
  border-top: 1px solid #b5cad1;
  font-size: 12px;
}
.footer-bottom small { font-size: inherit; }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 4px 14px; }
@media (max-width: 820px) {
  .site-footer {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 16px 8vw 18px;
  }
  .site-footer .footer-logo { width: 128px; margin-inline-start: -5.5px; }
  .footer-explore { justify-content: flex-start; gap: 4px 12px; }
  .footer-contact { justify-items: start; }
  .footer-bottom { font-size: 11px; }
  .footer-bottom nav { gap: 4px 9px; }
}

.products-activities { padding-bottom: clamp(24px, 3vw, 42px); }
.products-activities .solution-link { margin-top: 20px; }

header.nav nav .mobile-quote-link { display: none; }

@media (max-width: 820px) {
  header.nav nav .mobile-quote-link { display: block; }
  html:has(body.no-mobile-quote) { scroll-padding-bottom: 0; }
  body.no-mobile-quote { padding-bottom: 0; }
  .no-mobile-quote .quote-rail { display: none; }
}

.company-story {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 62px);
  padding-block: clamp(38px, 5vw, 76px);
}
.company-story .eyebrow, .compact-masthead .eyebrow { margin-bottom: 12px; }
.company-story h1, .compact-masthead h1 {
  max-width: 22ch;
  margin-bottom: 16px;
  font-size: clamp(39px, 4.6vw, 66px);
  line-height: 1.05;
}
.company-story h2 { margin-bottom: 14px; font-size: clamp(24px, 3vw, 37px); }
.company-story p:not(.eyebrow) {
  max-width: 65ch;
  margin-bottom: 13px;
  color: #c8d8dc;
  line-height: 1.68;
}
.company-story .text-link { margin-top: 6px; color: #a1e2e7; }
.company-story-image { margin: 0; }
.company-story-image img { display: block; width: 100%; height: auto; }
.company-followup { padding-block: clamp(42px, 6vw, 82px); }
.company-followup .capabilities { margin-top: 0; }

.compact-masthead { padding-block: clamp(25px, 3.5vw, 51px); }
.compact-masthead p:last-child { max-width: 64ch; margin-bottom: 0; line-height: 1.65; }
.products-masthead h1, .markets-masthead h1 { max-width: none; }
.technical-catalogue { padding-top: clamp(25px, 3.4vw, 48px); }
.catalogue-intro { margin-bottom: 24px; }
.catalogue-intro .eyebrow { margin-bottom: 10px; }
.catalogue-intro p:not(.eyebrow) { margin: 12px 0 0; }
.catalogue-intro img { max-width: 260px; max-height: 142px; justify-self: end; }

.market-applications { padding-top: clamp(27px, 3.6vw, 52px); }
.market-applications .section-head { column-gap: 5vw; row-gap: 12px; }
.market-applications .section-head .eyebrow { margin-bottom: 0; }
.market-applications .sector-cards { margin-top: 25px; }
.market-applications .sector-cards article {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.market-applications .sector-image { aspect-ratio: 16 / 9; margin-bottom: 14px; }
.market-applications .sector-cards h3 { margin: 3px 0 10px; }
.sector-links {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  gap: 8px 15px;
  margin-top: auto;
  padding-top: 6px;
}
.market-applications .sector-links .text-link { margin: 0; }
.market-applications .sector-links .text-link span { margin-left: 6px; }

.policy-masthead { padding-block: clamp(24px, 3vw, 41px); }
.policy-masthead h1 { margin: 0; font-size: clamp(32px, 4vw, 52px); }
.policy-content { padding-block: clamp(24px, 4vw, 54px) clamp(46px, 6vw, 86px); }

@media (min-width: 821px) {
  .sector-links { min-height: 56px; }
}
@media (max-width: 820px) {
  .company-story { grid-template-columns: minmax(0, 1fr); }
  .company-story h1 { margin-bottom: 10px; }
  .company-story h2 { margin-bottom: 10px; }
}
@media (max-width: 760px) {
  .home-activity-grid .activity-primary img {
    height: clamp(150px, 44vw, 190px);
    object-position: 70% 72%;
  }
  .market-applications .sector-cards { margin-top: 20px; }
}
