/* Keep the legacy gradient first for Safari 15.5 and other older browsers. */
/* Coordinates and image matrices from the 1920 × 4554 Figma artboard. */
.hero-home .hero-art:before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,#0000 63.4615%,rgb(0 0 0 / 30%)); background:linear-gradient(180deg in srgb,#0000 63.4615%,rgb(0 0 0 / 30%)); }
.hero-home .hero-art img { position:absolute; left:-8.52925%; top:-23.5618%; width:113.899%; height:135.251%; max-width:none; object-fit:fill; }
.hero-home .hero-subtitle { font-size:calc(36 * var(--u)); line-height:calc(40 * var(--u)); margin-top:calc(20 * var(--u)); }
.hero-home .hero-translation { margin-top:calc(20 * var(--u)); }
.hero-home .hero-badge { margin-top:calc(50 * var(--u)); }
.hero-home .hero-bottom { bottom:calc(60 * var(--u)); }
.hero-design-indicator { display:flex; gap:calc(20 * var(--u)); }
.hero-design-indicator span { width:calc(80 * var(--u)); height:calc(4 * var(--u)); background:#ffffff33; border-radius:999px; }
.hero-design-indicator .is-active { background:linear-gradient(90deg,#1db4bf,#295987); background:linear-gradient(90deg in srgb,#1db4bf,#295987); }
.home-news { position:relative; height:calc(954 * var(--u)); padding-top:calc(100 * var(--u)); }
.home-news-heading { text-align:center; }
.home-news-heading h2 { font:400 calc(82 * var(--u))/calc(80 * var(--u)) var(--heading); white-space:pre-line; color:transparent; background:linear-gradient(90deg,#002b58 33%,#38739b 51%,#bfd2e1 68%); background:linear-gradient(90deg in srgb,#002b58 33%,#38739b 51%,#bfd2e1 68%); background-clip:text; -webkit-background-clip:text; }
.home-news-heading p { margin-top:calc(10 * var(--u)); font:400 calc(24 * var(--u))/calc(29 * var(--u)) var(--serif); letter-spacing:.05em; white-space:pre-line; }
.home-news-window { position:absolute; top:calc(368 * var(--u)); left:0; right:0; }
.home-news-window:before,.home-news-window:after { content:""; position:absolute; top:0; bottom:0; z-index:2; width:calc(265 * var(--u)); pointer-events:none; }
.home-news-window:before { left:0; background:linear-gradient(90deg,#fff 30%,#fff0); background:linear-gradient(90deg in srgb,#fff 30%,#fff0); }
.home-news-window:after { right:0; background:linear-gradient(270deg,#fff 30%,#fff0); background:linear-gradient(270deg in srgb,#fff 30%,#fff0); }
.news-track { display:flex; gap:calc(20 * var(--u)); overflow-x:auto; padding-inline:calc(20 * var(--u)); scroll-snap-type:x mandatory; scroll-padding-inline:calc(20 * var(--u)); scrollbar-width:none; }
.news-track.is-looping { scroll-snap-type:none; scroll-behavior:auto; overflow-anchor:none; }
.news-track::-webkit-scrollbar { display:none; }
.news-card { flex:0 0 calc(486 * var(--u)); height:calc(486 * var(--u)); background:#f3f6f9; border-radius:calc(20 * var(--u)); overflow:hidden; scroll-snap-align:start; }
.news-card-link { display:block; height:100%; }
.news-card-image { display:block; height:calc(306 * var(--u)); }
.news-card-image img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
.news-track:not(.is-looping) .news-card:nth-child(1) .news-card-image img,.news-card[data-carousel-index="0"] .news-card-image img { left:-22.0275%; top:-13.0719%; width:126.546%; height:113.072%; object-fit:fill; }
.news-track:not(.is-looping) .news-card:nth-child(2) .news-card-image img,.news-card[data-carousel-index="1"] .news-card-image img { left:-2.5008%; top:-2.94856%; width:104.179%; height:110.138%; object-fit:fill; }
.news-track:not(.is-looping) .news-card:nth-child(3) .news-card-image img,.news-card[data-carousel-index="2"] .news-card-image img { left:-40.2177%; top:-22.2222%; width:184.366%; height:195.098%; object-fit:fill; }
.news-track:not(.is-looping) .news-card:nth-child(4) .news-card-image img,.news-card[data-carousel-index="3"] .news-card-image img { left:-3.25265%; top:-27.1242%; width:119.035%; height:127.180%; object-fit:fill; }
.news-card-copy { padding:calc(25 * var(--u)); }
.news-card h3 { font:400 calc(28 * var(--u))/calc(33 * var(--u)) var(--body); }
.news-card-copy>p { margin-top:calc(10 * var(--u)); font:300 calc(18 * var(--u))/calc(21 * var(--u)) var(--body); }
.home-products { height:calc(1000 * var(--u)); color:#fff; background:#001526; }
.home-products .section-background img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:fill; }
.home-products-heading { position:absolute; left:calc(276 * var(--u)); top:calc(240 * var(--u)); width:calc(300 * var(--u)); }
.home-products-heading h2 { font:400 calc(82 * var(--u))/calc(80 * var(--u)) var(--heading); white-space:pre-line; }
.home-products-heading>p { margin-top:calc(10 * var(--u)); font:400 calc(24 * var(--u))/calc(29 * var(--u)) var(--serif); letter-spacing:.05em; white-space:pre-line; }
.home-product-window { position:absolute; left:calc(608 * var(--u)); top:calc(100 * var(--u)); width:calc(1210 * var(--u)); height:calc(800 * var(--u)); overflow-x:hidden; overflow-y:auto; scrollbar-width:none; scroll-snap-type:y mandatory; }
.home-product-window::-webkit-scrollbar { display:none; }
.home-product-window:focus-visible { outline:2px solid #1db4bf; outline-offset:8px; }
.home-product-grid { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:calc(390 * var(--u)); gap:calc(20 * var(--u)); }
.home-product-card { position:relative; isolation:isolate; min-width:0; border-radius:calc(20 * var(--u)); overflow:hidden; color:#000; background:#fff; scroll-snap-align:start; }
.home-product-card:nth-child(4n+1),.home-product-card:nth-child(4n) { grid-column:span 2; }
.home-product-row-content { position:relative; height:100%; min-height:inherit; isolation:isolate; }
.home-product-underlay { position:absolute; inset:0; z-index:-3; }
.home-product-image { position:absolute; inset:0; z-index:-2; }
.home-product-image img,.home-product-underlay img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:fill; }
.home-product-card-1 .home-product-image img { left:-38.375%; top:-7.41577%; width:145.261%; height:122.286%; }
.home-product-card-2 .home-product-image img,.home-product-card-3 .home-product-image img,.home-product-card-6 .home-product-image img,.home-product-card-7 .home-product-image img { left:-24.5491%; top:14.1026%; width:145.601%; height:80.204%; }
.home-product-card-4 .home-product-image img { left:-21.7985%; top:-9.89975%; width:138.583%; height:119.691%; }
/* Both original image paints from Figma node 10:450, in source order. */
.home-product-card-5 .home-product-underlay img { left:0; top:-7.46051%; width:121.625%; height:107.46051%; }
.home-product-card-5 .home-product-image img { left:32.75%; top:.227356%; width:89%; height:100%; }
.home-product-card-8 .home-product-image img { left:18.625%; top:-5.43674%; width:94.25%; height:110.87348%; }
.home-product-row-content:after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#fff 29.30%,#fff0 65.55%); background:linear-gradient(90deg in srgb,#fff 29.30%,#fff0 65.55%); }
.home-product-card-5 .home-product-row-content:after { background:linear-gradient(90deg,#fff 33.91069%,#fff0 57.625%); background:linear-gradient(90deg in srgb,#fff 33.91069%,#fff0 57.625%); }
.home-product-card-8 .home-product-row-content:after { background:linear-gradient(90deg,#fff 24.66342%,#fff0 51.51746%); background:linear-gradient(90deg in srgb,#fff 24.66342%,#fff0 51.51746%); }
.home-product-card:nth-child(4n+2) .home-product-row-content:after,.home-product-card:nth-child(4n+3) .home-product-row-content:after { background:linear-gradient(180deg,#fff 14.81%,#fff0 25.54%,#fff0 81.73%,#fff 94.79%); background:linear-gradient(180deg in srgb,#fff 14.81%,#fff0 25.54%,#fff0 81.73%,#fff 94.79%); }
.home-product-copy { padding:calc(24 * var(--u)) calc(25 * var(--u)); }
.home-product-copy .product-number { font:400 calc(16 * var(--u))/calc(20 * var(--u)) var(--serif); }
.home-product-copy h3 { margin-top:calc(3 * var(--u)); font:400 calc(36 * var(--u))/calc(43 * var(--u)) var(--heading); white-space:pre-line; }
.product-summary { margin-top:calc(7 * var(--u)); color:#1db4bf; font:400 calc(16 * var(--u))/calc(19 * var(--u)) var(--body); white-space:pre-line; }
.home-product-metric { display:flex; align-items:center; gap:calc(12 * var(--u)); margin-top:calc(38 * var(--u)); }
.home-product-metric>span { font:400 calc(64 * var(--u))/1 var(--body); color:transparent; background:linear-gradient(90deg,#1db4bf,#295987); background:linear-gradient(90deg in srgb,#1db4bf,#295987); background-clip:text; -webkit-background-clip:text; }
.home-product-metric>p { font:400 calc(16 * var(--u))/calc(18 * var(--u)) var(--heading); white-space:pre-line; color:#034071; }
.home-product-card:nth-child(4n+2) .product-summary,.home-product-card:nth-child(4n+3) .product-summary,.home-product-card:nth-child(4n+2) .home-product-metric,.home-product-card:nth-child(4n+3) .home-product-metric { display:none; }
.home-product-actions { position:absolute; left:calc(25 * var(--u)); bottom:calc(25 * var(--u)); display:flex; align-items:center; gap:calc(20 * var(--u)); }
.home-product-card:nth-child(4n+2) .home-product-actions,.home-product-card:nth-child(4n+3) .home-product-actions { left:50%; transform:translateX(-50%); }
.home-product-actions>a,.home-product-actions>span { display:flex; align-items:center; justify-content:center; height:calc(25 * var(--u)); border:1px solid #000; border-radius:999px; font:400 calc(15 * var(--u))/1 var(--body); white-space:nowrap; }
.home-product-actions>:first-child { width:calc(179 * var(--u)); }
.home-product-actions>:last-child:not(:first-child) { width:calc(100 * var(--u)); }
.home-product-actions>a:hover { background:#fff9; }
.home-esg { position:relative; isolation:isolate; height:calc(1000 * var(--u)); min-height:100svh; color:#fff; overflow:hidden; background:#126a9a; }
.home-esg-art { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.home-esg-art img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.home-esg-mark { position:absolute; z-index:-1; left:calc(1301 * var(--u)); top:calc(50% - 232.5 * var(--u)); width:calc(619 * var(--u)); height:calc(465 * var(--u)); object-fit:fill; }
.home-esg-copy { position:absolute; left:calc(1060 * var(--u)); top:50%; transform:translateY(-50%); width:calc(810 * var(--u)); }
.home-esg-year { font:400 calc(150 * var(--u))/calc(130 * var(--u)) var(--heading); color:transparent; background:linear-gradient(180deg,#fff,#fff0); background:linear-gradient(180deg in srgb,#fff,#fff0); background-clip:text; -webkit-background-clip:text; }
.home-esg-subtitle { margin-top:calc(18 * var(--u)); font:300 calc(36 * var(--u))/calc(44 * var(--u)) var(--serif); letter-spacing:.05em; }
.home-esg-copy h2 { margin-top:calc(18 * var(--u)); font:400 calc(71 * var(--u))/calc(80 * var(--u)) var(--heading); }
.home-esg-copy>a { display:flex; justify-content:center; align-items:center; margin-top:calc(40 * var(--u)); transform:translateX(calc(-2 * var(--u))); width:calc(187 * var(--u)); height:calc(38 * var(--u)); border:1px solid #fff; border-radius:999px; font-size:calc(24 * var(--u)); line-height:1; }
@media(min-width:1024px) {
  .has-product-row-navigation .home-product-window { overflow-y:hidden; scroll-snap-type:none; }
  .home-product-row-content { position:absolute; inset:0; min-height:0; }
  .home-product-copy .product-number { position:absolute; left:calc(25 * var(--u)); top:calc(25 * var(--u)); font-weight:300; line-height:calc(19 * var(--u)); }
  .home-product-copy h3 { position:absolute; left:calc(25 * var(--u)); right:calc(25 * var(--u)); top:calc(44 * var(--u)); margin:0; }
  .home-product-copy .product-summary { position:absolute; left:calc(25 * var(--u)); top:calc(97 * var(--u)); margin:0; }
  .home-product-metric { position:absolute; left:calc(25 * var(--u)); top:calc(174.5 * var(--u)); margin:0; display:block; }
  .home-product-metric>span { line-height:calc(76 * var(--u)); }
  .home-product-metric>p { position:absolute; left:calc(169 * var(--u)); top:calc(6.5 * var(--u)); font-size:calc(15 * var(--u)); line-height:calc(18 * var(--u)); letter-spacing:.05em; white-space:pre; }
  .home-product-card-4 h3 { top:calc(54 * var(--u)); }
  .home-product-card-4 .product-summary { top:calc(174.5 * var(--u)); width:calc(250 * var(--u)); }
  .home-product-card-4 .home-product-metric { top:calc(184.5 * var(--u)); }
  .home-product-card-5 h3 { top:calc(54 * var(--u)); width:calc(440 * var(--u)); right:auto; }
  .home-product-card-8 h3 { top:calc(54 * var(--u)); width:calc(500 * var(--u)); right:auto; }
  .home-product-card-5 .product-summary { top:calc(150 * var(--u)); }
  .home-product-card-5 .home-product-metric { top:calc(170.5 * var(--u)); }
  .home-product-card-8 .product-summary { top:calc(131.5 * var(--u)); width:calc(420 * var(--u)); }
  .home-product-card-8 .home-product-metric { top:calc(214.5 * var(--u)); }
  /* Updated product grid: labels sit above the dryer and reuse-rate metrics. */
  .home-product-card-1 .home-product-metric>span,.home-product-card-5 .home-product-metric>span,.home-product-card-8 .home-product-metric>span { display:block; padding-top:calc(32 * var(--u)); font-family:var(--serif); }
  .home-product-card-1 .home-product-metric>p,.home-product-card-5 .home-product-metric>p,.home-product-card-8 .home-product-metric>p { left:0; top:0; font:400 calc(10 * var(--u))/calc(12 * var(--u)) var(--body); letter-spacing:0; color:#1db4bf; white-space:pre-line; }
}
@media(max-width:1023px) {
  .hero-home .hero-art img { left:0; top:0; width:100%; height:100%; object-fit:cover; object-position:57% center; }
  .hero-home { min-height:660px; }
  .hero-home .hero-subtitle { font-size:25px; line-height:1.3; margin-top:20px; }
  .hero-home .hero-translation { font-size:15px; margin-top:16px; }
  .hero-home .hero-badge { margin-top:30px; }
  .hero-home .hero-bottom { bottom:26px; }
  .hero-design-indicator { gap:10px; }
  .hero-design-indicator span { width:40px; height:3px; }
  .home-news { height:auto; padding:64px 0 48px; }
  .home-news-heading { padding-inline:24px; }
  .home-news-heading h2 { font-size:46px; line-height:1; background-image:linear-gradient(90deg,#002b58,#38739b,#bfd2e1); background-image:linear-gradient(90deg in srgb,#002b58,#38739b,#bfd2e1); }
  .home-news-heading p { margin-top:16px; font-size:18px; line-height:1.25; }
  .home-news-window { position:relative; top:auto; margin-top:32px; }
  .home-news-window:before,.home-news-window:after { display:none; }
  .news-track { padding-inline:24px; gap:16px; }
  .news-card { flex-basis:min(340px,82vw); height:365px; border-radius:16px; }
  .news-card-image { height:215px; }
  .news-card-copy { padding:20px; }
  .news-card h3 { font-size:22px; line-height:1.15; }
  .news-card-copy>p { font-size:15px; line-height:1.3; margin-top:12px; }
  .home-products { height:auto; padding:64px 24px; }
  .home-products .section-background img { width:100%; height:100%; top:0; left:0; object-fit:cover; }
  .home-products-heading { position:static; width:auto; }
  .home-products-heading h2 { font-size:54px; line-height:1; }
  .home-products-heading>p { font-size:21px; line-height:1.2; margin-top:20px; }
  .home-product-window { position:static; width:auto; height:auto; margin-top:35px; overflow:visible; scroll-snap-type:none; }
  .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:16px; }
  .home-product-card { min-height:340px; border-radius:16px; }
  .home-product-card:nth-child(4n+1),.home-product-card:nth-child(4n) { grid-column:1/-1; }
  .home-product-card:nth-child(4n+2),.home-product-card:nth-child(4n+3) { min-height:300px; }
  .home-product-copy { padding:20px; }
  .home-product-copy .product-number { font-size:14px; line-height:18px; }
  .home-product-copy h3 { font-size:29px; line-height:1.1; margin-top:4px; }
  .product-summary { max-width:65%; font-size:13px; line-height:1.35; margin-top:12px; white-space:normal; }
  .home-product-metric { margin-top:30px; gap:10px; }
  .home-product-metric>span { font-size:48px; }
  .home-product-metric>p { font-size:12px; line-height:1.1; }
  .home-product-actions { left:20px; bottom:20px; gap:10px; }
  .home-product-actions>a,.home-product-actions>span { height:28px; font-size:12px; }
  .home-product-actions>:first-child { width:145px; }
  .home-product-actions>:last-child:not(:first-child) { width:80px; }
  .home-product-card:nth-child(4n+2) .home-product-actions,.home-product-card:nth-child(4n+3) .home-product-actions { flex-direction:column; gap:6px; }
  .home-product-card:nth-child(4n+2) .home-product-copy,.home-product-card:nth-child(4n+3) .home-product-copy { padding:15px; }
  .home-product-card:nth-child(4n+2) h3,.home-product-card:nth-child(4n+3) h3 { font-size:24px; }
  .home-esg { height:680px; }
  .home-esg-art img { object-position:30% center; }
  .home-esg-art:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#00354ad9,#00354a00 75%); background:linear-gradient(0deg in srgb,#00354ad9,#00354a00 75%); }
  .home-esg-mark { display:none; }
  .home-esg-copy { left:24px; right:24px; top:auto; bottom:50px; width:auto; transform:none; }
  .home-esg-year { font-size:100px; line-height:.9; }
  .home-esg-subtitle { font-size:26px; line-height:1.2; margin-top:20px; }
  .home-esg-copy h2 { font-size:46px; line-height:1.1; margin-top:15px; }
  .home-esg-copy>a { width:170px; height:38px; font-size:20px; margin-top:28px; }
}
@media(max-width:599px) {
  .home-product-grid { grid-template-columns:minmax(0,1fr); }
  .home-product-card:nth-child(4n+2),.home-product-card:nth-child(4n+3) { min-height:340px; }
  .home-product-card:nth-child(4n+2) .home-product-copy,.home-product-card:nth-child(4n+3) .home-product-copy { padding:20px; }
  .home-product-card:nth-child(4n+2) h3,.home-product-card:nth-child(4n+3) h3 { font-size:29px; }
  .home-product-copy { padding-bottom:88px; }
  .home-product-actions,.home-product-card:nth-child(4n+2) .home-product-actions,.home-product-card:nth-child(4n+3) .home-product-actions { left:20px; right:20px; transform:none; flex-direction:row; flex-wrap:wrap; gap:8px; }
  .home-product-actions>a,.home-product-actions>span { min-height:44px; max-width:100%; }
  .home-product-actions>:first-child { width:145px; flex:1 1 130px; }
  .home-product-actions>:last-child:not(:first-child) { flex:0 0 80px; }
  .home-product-actions>:only-child { flex:0 1 145px; }
  .home-product-metric { flex-wrap:wrap; }
}

/* Client exports contain the finished 800×390 / 390×390 composition. */
.home-product-card.is-image-frame .home-product-image img { inset:0; width:100%; height:100%; object-fit:fill; transform:none; }
.home-product-card.is-image-frame .home-product-row-content:after { display:none; }
/* White labels remain legible on the disinfectant and handheld detector. */
.home-product-card-2 .home-product-copy,.home-product-card-6 .home-product-copy { color:#fff; }
.home-product-card.is-image-frame .home-product-actions>a,
.home-product-card.is-image-frame .home-product-actions>span { background:transparent; }
.home-product-card-1.is-image-frame .home-product-actions>*,
.home-product-card-2.is-image-frame .home-product-actions>*,
.home-product-card-3.is-image-frame .home-product-actions>*,
.home-product-card-6.is-image-frame .home-product-actions>* { color:#fff; border-color:#fff; }
.home-product-card.is-image-frame .home-product-actions>a:hover { background:#ffffff33; }
@media(max-width:1023px) {
  .home-product-card-8 .product-summary { white-space:pre-line; }
}
@media(max-width:599px) {
  /* Stack wide compositions on phones instead of stretching an 800×390 photo. */
  .home-product-card.is-image-frame:nth-child(4n+1) .home-product-row-content,
  .home-product-card.is-image-frame:nth-child(4n) .home-product-row-content { display:flex; flex-direction:column; height:auto; }
  .home-product-card.is-image-frame:nth-child(4n+1) .home-product-copy,
  .home-product-card.is-image-frame:nth-child(4n) .home-product-copy { order:0; padding:20px 20px 16px; }
  .home-product-card.is-image-frame:nth-child(4n+1) .home-product-image,
  .home-product-card.is-image-frame:nth-child(4n) .home-product-image { position:relative; inset:auto; order:1; width:100%; aspect-ratio:800/390; flex:none; }
  .home-product-card.is-image-frame:nth-child(4n+1) .home-product-actions,
  .home-product-card.is-image-frame:nth-child(4n) .home-product-actions { position:static; order:2; margin:16px 20px 20px; transform:none; }
  .home-product-card-1.is-image-frame .home-product-actions>* { color:#000; border-color:#000; }
  .home-product-card.is-image-frame .product-summary { max-width:none; }
  .home-product-card.is-image-frame .home-product-metric { flex-direction:column-reverse; align-items:flex-start; gap:8px; margin-top:20px; }
  .home-product-card.is-image-frame .home-product-metric>span { font-family:var(--serif); }
}
