:root{--ink:#173c38;--teal:#00685e;--muted:#6e7773;--paper:#f6f5f0;--line:#dcdfd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b69b5a;outline-offset:5px}.skip{position:absolute;top:-100px;left:16px;background:#fff;padding:10px;z-index:50}.skip:focus{top:10px}.header{height:90px;padding:0 max(4.5vw,24px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(18px);z-index:20;border-bottom:1px solid #eceee8}.brand{display:flex;align-items:center;gap:10px;line-height:1.2;flex-shrink:0}.brand b{font-size:23px;letter-spacing:3px}.brand small{display:block;font-size:10px;letter-spacing:4px;margin-top:7px}.brand-mark{display:flex;align-items:center;border-right:1px solid var(--line);padding-right:13px;margin-right:2px}.brand-mark img{display:block;width:44px;height:44px;object-fit:contain;border-radius:5px}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:hover{color:var(--teal)}nav .nav-cta{background:#edf3ef;padding:11px 18px;border-radius:2px}.menu-toggle{display:none}.hero{height:min(710px,calc(100svh - 90px));min-height:560px;position:relative;overflow:hidden;background:#e9e5da}.hero-image{position:absolute;right:0;top:0;height:100%;width:73%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f4f3ec 0%,#f4f3ec 24%,#f4f3ecee 32%,#f4f3ec20 65%,transparent)}.hero-copy{position:relative;z-index:1;padding:83px 0 60px 7vw}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:650;color:var(--teal);line-height:1.5;margin-bottom:18px}.hero h1{font-size:clamp(42px,4.7vw,70px);line-height:1.27;letter-spacing:-1.5px;font-weight:550;margin-bottom:25px}.hero-desc{font-size:18px;line-height:1.9;color:#52635d;margin-bottom:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--teal);color:white;padding:14px 25px;border:1px solid var(--teal);font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#004d45;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.text-link{font-size:13px;border-bottom:1px solid #80958b;padding-bottom:5px;display:inline-block}.hero-copy .text-link{display:table;margin-top:23px}.hero-footer{position:absolute;bottom:25px;left:7vw;right:4.5vw;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#496258}.intro-strip{padding:24px 7vw;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.intro-strip p{font-size:18px;color:var(--ink);margin-right:auto}.intro-strip i{height:14px;width:1px;background:var(--line)}.section{padding:90px 7vw;max-width:1640px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}.section-head h2,.about-heading h2{font-size:34px;line-height:1.4;font-weight:550;letter-spacing:-.6px}.section-head>p{font-size:14px;color:var(--muted)}.product-grid{display:grid;gap:24px}.offline-grid{grid-template-columns:repeat(4,1fr)}.product-picture{display:block;position:relative;background:var(--paper);overflow:hidden;aspect-ratio:1/1.15}.product-picture img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:32px 14px 12px;transition:transform .35s}.product-picture:hover img{transform:scale(1.045)}.card-category{position:absolute;top:16px;left:16px;font-size:10px;letter-spacing:1px;color:#61736b;z-index:1}.card-arrow{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;border:1px solid #bfcfc5;border-radius:50%;width:31px;height:31px;z-index:1}.product-copy{padding:16px 0 22px}.product-copy h3{font-size:25px;font-weight:550;letter-spacing:-.5px}.product-copy p{font-size:14px;margin-top:2px}.product-copy small{font-size:11px;color:var(--muted);display:block;margin-top:9px}.comparison{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px}.comparison summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:20px 0;font-size:14px}.comparison summary::-webkit-details-marker{display:none}.comparison summary span{font-size:20px}.comparison[open] summary span{transform:rotate(45deg)}.table-scroll{overflow:auto}table{border-collapse:collapse;min-width:660px;width:100%;text-align:left;font-size:13px}td,th{padding:15px;border-bottom:1px solid var(--line)}thead{background:var(--paper)}.fine{font-size:11px!important;color:var(--muted);line-height:1.8!important}.comparison .fine{padding:16px 0}.dispenser{display:grid;grid-template-columns:1fr 1fr;margin-top:70px;min-height:520px;background:#f0f1eb}.dispenser-image{height:520px;overflow:hidden}.dispenser-image img{height:100%;width:100%;object-fit:cover}.dispenser-copy{align-self:center;padding:50px 14%}.dispenser-copy h2{font-size:36px;line-height:1.45;font-weight:550}.dispenser-copy>p:not(.eyebrow){font-size:14px;color:#5e6d64;margin:22px 0}.outline{background:transparent;color:var(--teal)}.outline:hover{color:white}.dispenser-copy small{display:block;color:var(--muted);font-size:10px;margin-top:20px}.more-section{background:#f6f6f2;max-width:none}.online-grid{grid-template-columns:repeat(3,1fr);gap:30px}.online-grid .product-picture{aspect-ratio:1.3;background:#fff}.online-grid .product-picture img{padding:26px;object-fit:contain}.online-grid .product-copy h3{font-size:22px}.more-section>.fine{margin-top:15px}.filter-row{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.filter{background:transparent;border:1px solid #cdd5ce;padding:8px 18px;border-radius:30px;font-size:12px}.filter span{opacity:.6;margin-left:8px}.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.about-heading{display:grid;grid-template-columns:1fr 1fr;gap:12px 70px}.about-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.about-heading>p:last-child{font-size:14px;color:var(--muted);align-self:center;max-width:550px}.company-gallery{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:230px 230px;gap:28px;margin-top:46px}.company-gallery figure{min-height:0}.company-main{grid-row:span 2}.image-button{border:0;padding:0;display:block;background:none;width:100%;height:calc(100% - 34px);overflow:hidden}.image-button img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.image-button:hover img{transform:scale(1.03)}figcaption{display:flex;justify-content:space-between;font-size:12px;margin-top:8px}figcaption small{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.credentials{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;border-top:1px solid var(--line);margin-top:65px;padding-top:45px;align-items:center}.credentials h3{font-size:25px;font-weight:550}.credentials p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:13px}.credentials .fine{max-width:380px}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cert-grid button{border:1px solid #e5e9e2;background:#fafbf8;padding:14px 12px 10px;transition:box-shadow .2s}.cert-grid button:hover{box-shadow:0 6px 20px #173c3815}.cert-grid img{height:150px;width:100%;object-fit:contain}.cert-grid span{display:block;font-size:10px;margin-top:10px}.service-section{background:#eaf0eb}.service-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:70px}.service-layout h3{font-size:28px;font-weight:550;margin:17px 0 12px}.service-layout>div>p:not(.fine){font-size:14px;color:#5e7064}.pill{border:1px solid #aebeb2;border-radius:30px;padding:4px 12px;font-size:11px;display:inline-block}.qr-grid{display:flex;gap:20px;margin:30px 0 20px}.qr-card{background:#fff;border:0;padding:18px;width:190px;text-align:left;border-radius:3px}.qr-card img{width:154px;height:154px;object-fit:contain;background:white}.qr-card b{display:block;font-size:13px;margin-top:12px}.qr-card span{display:block;font-size:9px;color:var(--muted);margin-top:4px}.miniapp-intro>.fine{max-width:470px}.software-intro{border-left:1px solid #cbd8ce;padding-left:60px}.software-features{list-style:none;margin:28px 0;padding:0}.software-features li{display:flex;gap:18px;border-bottom:1px solid #cbd8ce;padding:16px 0}.software-features li>span{font-size:11px;color:var(--teal);padding-top:3px}.software-features b{font-size:14px;font-weight:550}.software-features p{font-size:12px;color:#687b6f;margin-top:5px}.software-platform{display:flex;gap:20px;font-size:11px;margin-bottom:12px}.closing{text-align:center;padding-top:80px;padding-bottom:80px}.closing h2{font-size:32px;font-weight:550}.closing>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:20px auto 28px;max-width:650px}footer{padding:34px 7vw;background:#173c38;color:#d9e5dc;display:flex;gap:35px;align-items:center;font-size:12px}footer .brand-mark{color:#d9e5dc}footer p{margin-right:auto}footer small{font-size:10px;opacity:.65}footer a:hover{color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:0;border-radius:5px;max-width:min(850px,92vw);width:max-content;max-height:90svh;padding:30px;box-shadow:0 10px 100px #0006;color:var(--ink)}dialog::backdrop{background:#0a2925bb;backdrop-filter:blur(4px)}dialog h2{font-size:16px;font-weight:550;margin-bottom:18px;padding-right:40px}dialog img{max-height:65svh;width:auto;max-width:100%;object-fit:contain;margin:auto}dialog p{font-size:11px;margin-top:15px;color:var(--muted)}dialog a{font-size:12px;display:table;margin-top:12px;border-bottom:1px solid var(--teal)}.dialog-close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:30px;line-height:1.2}.dialog-open{overflow:hidden}.detail-breadcrumb{padding-top:28px;padding-bottom:0;font-size:11px;color:var(--muted);display:flex;gap:14px}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding-top:35px;padding-bottom:65px}.detail-image{background:var(--paper);align-self:start}.detail-image img{width:100%;max-height:650px;object-fit:contain;mix-blend-mode:multiply}.detail-copy{padding-top:15px}.detail-copy h1{font-size:48px;line-height:1.2;letter-spacing:-1px;margin-bottom:16px;font-weight:550}.detail-copy h2{font-size:24px;font-weight:500;margin-bottom:20px}.detail-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}dl{font-size:13px;margin:26px 0}dl>div{display:grid;grid-template-columns:110px 1fr;padding:13px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.detail-copy>.fine{margin-top:20px}.detail-gallery{background:var(--paper);padding:55px 7vw 0}.detail-gallery>.section-head{max-width:1100px;margin:0 auto 25px}.detail-gallery h2{font-size:26px}.detail-notice{max-width:750px;margin:0 auto 25px;font-size:11px;color:var(--muted)}.detail-gallery>img{max-width:750px;width:100%;margin:0 auto;background:white}.detail-end{text-align:center;padding:55px 0}.detail-end p{font-size:14px;margin-bottom:20px}
@media(min-width:1600px){.hero-copy{padding-left:max(7vw,calc((100vw - 1400px)/2))}.more-section{padding-left:max(7vw,calc((100vw - 1400px)/2));padding-right:max(7vw,calc((100vw - 1400px)/2))}}
@media(max-width:1000px){nav{gap:18px}.section{padding:65px 5vw}.offline-grid{grid-template-columns:repeat(2,1fr)}.product-picture{aspect-ratio:1.15}.hero-copy{padding-left:5vw}.hero h1{font-size:52px}.hero-shade{background:linear-gradient(90deg,#f4f3ec 0%,#f4f3ecdf 40%,#f4f3ec10)}.hero-image{width:90%}.dispenser-copy{padding:30px 10%}.dispenser-copy h2{font-size:30px}.credentials{gap:25px;grid-template-columns:1fr 1.4fr}.service-layout{gap:30px}.software-intro{padding-left:30px}.qr-card{width:165px;padding:12px}.qr-card img{width:141px;height:141px}.qr-grid{gap:12px}footer{flex-wrap:wrap}footer small{width:100%}.company-gallery{grid-template-rows:200px 200px}.online-grid{gap:20px}.detail-hero{gap:30px}}
@media(max-width:700px){html{scroll-padding-top:75px}.header{height:74px;padding:0 20px}.brand b{font-size:19px}.brand small{font-size:8px}.brand-mark{padding-right:9px}.brand-mark img{width:35px;height:35px}.menu-toggle{display:block;background:none;border:0;font-size:12px;padding:10px}.menu-toggle span{margin-left:10px}#nav{display:none;position:absolute;top:74px;left:0;right:0;background:white;padding:22px;box-shadow:0 10px 10px #0001}#nav.open{display:flex;flex-direction:column;align-items:stretch;gap:17px}.hero{min-height:640px;height:calc(100svh - 74px);max-height:790px}.hero-image{top:auto;bottom:0;width:100%;height:53%;object-position:center}.hero-shade{background:linear-gradient(180deg,#f4f3ec 0%,#f4f3ec 40%,#f4f3ec9a 57%,transparent 74%)}.hero-copy{padding:42px 24px}.hero h1{font-size:44px;line-height:1.22;letter-spacing:-1px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:15px}.hero-desc{font-size:14px;margin-bottom:22px}.hero-copy .text-link{margin-top:17px;font-size:11px}.hero-footer{left:24px;right:24px;bottom:16px;background:#ffffffc9;padding:8px;font-size:9px}.intro-strip{padding:19px 24px;gap:15px;flex-wrap:wrap;font-size:11px}.intro-strip p{width:100%;font-size:16px}.section{padding:55px 22px}.section-head{display:block;margin-bottom:28px}.section-head h2,.about-heading h2{font-size:27px}.section-head>p{font-size:12px;margin-top:15px}.product-grid{gap:15px}.product-picture{aspect-ratio:.86}.product-picture img{padding:25px 6px 12px}.card-category{font-size:9px;left:10px;top:10px}.card-arrow{width:26px;height:26px;right:10px;bottom:10px}.product-copy{padding:10px 0 16px}.product-copy h3{font-size:23px}.product-copy p{font-size:12px;line-height:1.6}.product-copy small{font-size:10px;line-height:1.6}.dispenser{grid-template-columns:1fr;margin-top:40px}.dispenser-image{height:340px}.dispenser-copy{padding:32px 26px}.dispenser-copy h2{font-size:30px}.dispenser-copy>p:not(.eyebrow){font-size:13px}.online-grid{grid-template-columns:repeat(2,1fr)}.online-grid .product-picture{aspect-ratio:.95}.online-grid .product-picture img{padding:20px 8px}.online-grid .product-copy h3{font-size:19px}.filter{padding:7px 12px;font-size:10px}.about-heading{display:block}.about-heading>p:last-child{margin-top:20px;font-size:13px}.company-gallery{grid-template-columns:1fr 1fr;grid-template-rows:270px 175px;gap:17px;margin-top:30px}.company-main{grid-column:1/-1;grid-row:auto}figcaption{font-size:10px}figcaption small{font-size:8px}.credentials{display:block;margin-top:35px;padding-top:35px}.credentials h3{font-size:23px}.cert-grid{margin-top:25px;gap:8px}.cert-grid button{padding:8px}.cert-grid img{height:110px}.cert-grid span{font-size:9px}.service-layout{grid-template-columns:1fr;gap:35px}.software-intro{padding:35px 0 0;border-left:0;border-top:1px solid #cbd8ce}.service-layout h3{font-size:25px}.qr-grid{gap:15px}.qr-card{flex:1;width:auto;padding:15px;min-width:0}.qr-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.closing h2{font-size:25px}.closing>p:not(.eyebrow){font-size:12px}footer{padding:28px 22px;gap:22px}footer p{display:none}footer small{font-size:9px}.detail-breadcrumb{padding-top:22px;padding-bottom:0}.detail-hero{display:block;padding-top:25px}.detail-image img{max-height:420px}.detail-copy{padding-top:28px}.detail-copy h1{font-size:36px}.detail-copy h2{font-size:21px}.detail-copy>p:not(.eyebrow){font-size:13px}.product-page nav{gap:12px;font-size:10px}.product-page .nav-cta{padding:8px 10px}.product-page .brand-mark{display:none}.product-page .brand b{font-size:17px}.detail-gallery{padding:35px 12px 0}.detail-gallery>.section-head{padding:0 10px}.detail-gallery .text-link{margin-top:15px}.detail-notice{padding:0 10px}dialog{padding:23px 16px;max-width:94vw}dialog h2{font-size:14px}.button{font-size:12px;padding:12px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.site-filings{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;padding:16px 20px;background:#173c38;color:#d9e5dc;font-size:12px;text-align:center}.site-filings a:hover{text-decoration:underline}

.detail-gallery>img,.detail-image img{height:auto}
