/* One scale for home section headings, vector navigation and a compact footer. */
.homepage{--section-heading-size:36px}
.homepage .section-title h2,.homepage .materials-heading h2{font-size:var(--section-heading-size);line-height:1.18;font-weight:400;letter-spacing:0}
.technology-art.art-soft{background:linear-gradient(115deg,#d4d8d0,#a4aca6)}
.technology-art.art-soft:after{display:none}
.technology-art.art-soft>img{position:static;inset:auto;width:185px;height:185px;max-width:none;border-radius:50%;object-fit:cover}
.technology-copy h3.technology-name{min-height:52px}
.technology-copy .patent-mark{display:flex;align-items:center;gap:6px;color:#417d79;font-size:12px;line-height:1.3;margin:-6px 0 15px;font-weight:700;letter-spacing:.01em}
.patent-mark>svg{width:18px;height:18px;flex:0 0 18px}
.material-cover{padding:0;background:transparent}
.material-cover img{height:100%;width:auto;max-width:100%;object-fit:contain;box-shadow:3px 6px 14px #193d4218}
.material-detail-cover{background:transparent}
/* All arrow artwork shares the same viewBox, stroke and rounded endings. */
svg.ui-arrow{display:inline-block;width:20px;height:20px;min-width:20px;max-width:none;flex:0 0 20px;vertical-align:middle;stroke-width:1.75;transform:none;transition:transform .2s ease;pointer-events:none}
.ui-arrow path{vector-effect:non-scaling-stroke}
a b:has(>.ui-arrow){display:inline-flex;align-items:center;justify-content:center;font-size:0;font-weight:400;line-height:1;flex-shrink:0}
.text-link:has(.ui-arrow){display:inline-flex;align-items:center;gap:16px}
.text-link b:has(.ui-arrow){margin-left:4px}
.technology-link b,.material-card>span b{width:28px;height:28px;border-radius:50%;border:1px solid #bed4cc;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.technology-link b .ui-arrow,.material-card>span b .ui-arrow{width:17px;height:17px;min-width:17px;flex-basis:17px}
.direction>.arrow{width:36px;height:36px;border:1px solid #bed4cc;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#258a91;transition:background .2s,border-color .2s}
.direction>.arrow>svg.ui-arrow{float:none;width:20px;height:20px;min-width:20px;max-width:none;margin:0;stroke-width:1.75}
a:hover .ui-arrow-out{transform:translate(2px,-2px)}
a:hover .ui-arrow-right{transform:translateX(2px)}
a:hover .ui-arrow-down{transform:translateY(2px)}
.direction:hover>.arrow,.technology-card:hover .technology-link b,.material-card:hover>span b{background:#dceee7;border-color:#93b9ae}
.slide-button>.ui-arrow{width:19px;height:19px;min-width:19px;flex-basis:19px}
.docs-top b .ui-arrow{color:#75d7d9}
.side-nav .ui-arrow{width:17px;height:17px;min-width:17px;margin-left:7px}
.patent-feature{display:grid;grid-template-columns:125px minmax(0,1fr);gap:27px;align-items:center;margin:30px 0 35px;padding:24px;background:#eef4ed;border:1px solid #dbe6dc}
.patent-thumbnail{display:block;box-shadow:3px 5px 12px #193d421c;transition:transform .2s}
.patent-thumbnail:hover{transform:translateY(-3px)}
.patent-feature .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:10px}
.detail .patent-feature h2{font-size:29px;line-height:1.15;margin:0 0 12px}
.detail .patent-feature p{font-size:17px;line-height:1.4;margin:0 0 8px;color:#466761}
.patent-owner{display:block;color:#6c8177;font-size:12px;line-height:1.4;margin-bottom:13px}
.patent-feature .text-link{font-size:15px}
.site-footer{padding:38px 0 18px;background:#173c41;color:#ebf2ed}
.footer-main{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:46px;align-items:start}
.footer-logo{display:block;width:235px;max-width:100%}
.footer-logo img{display:block;width:100%;height:auto;filter:grayscale(1) invert(1) brightness(3);mix-blend-mode:screen}
.footer-identity>p{color:#b3cdca;font-size:15px;margin:17px 0 6px;line-height:1.4}
.footer-identity>span{color:#98b6b2;font-size:13px}
.site-footer nav.footer-nav{display:grid;position:static;top:auto;left:auto;right:auto;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:17px;padding:5px 0 0;margin:0;max-height:none;overflow:visible;border:0;box-shadow:none;background:transparent;align-items:start}
.site-footer .footer-nav>a{padding:0;margin:0;border:0;color:#d6e7e2;font-size:15px;font-weight:400;line-height:1.35;text-transform:none;letter-spacing:0;transition:color .2s}
.site-footer .footer-nav>a:hover,.site-footer .footer-nav>a.active{color:#88d7d3}
.footer-documents{padding:17px 21px 15px;border:1px solid #46696a;background:#ffffff05;border-radius:7px;display:block;transition:border-color .2s,background .2s}
.footer-documents:hover{background:#ffffff0b;border-color:#77a6a2}
.footer-docs-top{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.footer-docs-icon{width:26px;height:26px;flex:0 0 26px;color:#89cfca}
.footer-docs-top>span{font-size:10px;font-weight:700;letter-spacing:.09em;color:#a4c8c2}
.footer-documents>strong{display:block;font-size:23px;line-height:1.2;font-weight:400;margin-bottom:9px}
.footer-documents>p{font-size:14px;color:#aac5bf;line-height:1.35;margin:0 0 14px;max-width:240px}
.footer-docs-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #426567;padding-top:10px;font-size:14px;color:#d1e7e0}
.footer-docs-link b{color:#8cd8ce}
.site-footer .footer-bottom{margin-top:27px;padding-top:15px;gap:20px;align-items:center;font-size:11px;border-color:#3a6061}
.back-to-top{display:inline-flex;align-items:center;gap:12px;color:#d2e5df}
.back-to-top b{display:inline-flex}
@media(max-width:1100px){.homepage{--section-heading-size:34px}.footer-main{gap:28px;grid-template-columns:1fr .9fr 1fr}.footer-logo{width:215px}.site-footer .footer-nav>a{font-size:14px}.site-footer nav.footer-nav{column-gap:15px}.footer-documents{padding:16px}.footer-documents>strong{font-size:21px}}
@media(max-width:850px){.homepage{--section-heading-size:31px}.technology-art.art-soft>img{width:155px;height:155px}.footer-main{grid-template-columns:1fr 1fr;gap:28px}.footer-documents{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:center}.footer-docs-top{grid-column:1;grid-row:1}.footer-documents>strong{grid-column:1;grid-row:2}.footer-documents>p{grid-column:2;grid-row:1;margin:0;max-width:none}.footer-docs-link{grid-column:2;grid-row:2}.site-footer nav.footer-nav{padding-top:0}}
@media(max-width:600px){.homepage{--section-heading-size:30px}.homepage .section-title h2{white-space:normal}.technology-art.art-soft>img{width:116px;height:116px}.technology-copy h3.technology-name{min-height:0}.technology-copy .patent-mark{font-size:10px;gap:4px;margin:-1px 0 12px}.patent-mark>svg{width:15px;height:15px;flex-basis:15px}.direction>.arrow{width:32px;height:32px}.material-cover{padding:0}.patent-feature{grid-template-columns:83px minmax(0,1fr);gap:17px;padding:18px 15px;margin:25px 0}.detail .patent-feature h2{font-size:24px;line-height:1.16}.detail .patent-feature p{font-size:15px}.patent-feature .eyebrow{font-size:9px;gap:7px;line-height:1.4}.patent-feature .eyebrow:before{width:18px}.patent-feature .text-link{font-size:14px;gap:8px}.patent-owner{font-size:11px}.site-footer{padding-top:30px}.footer-main{grid-template-columns:1fr;gap:27px}.footer-identity>p{margin-top:15px}.site-footer nav.footer-nav{grid-template-columns:1fr 1fr;gap:16px 24px}.site-footer .footer-nav>a{font-size:15px}.footer-documents{display:block;padding:18px 20px}.footer-documents>strong{font-size:24px;margin:12px 0 9px}.footer-documents>p{font-size:14px;margin-bottom:15px;max-width:280px}.site-footer .footer-bottom{flex-wrap:wrap;gap:13px 20px;font-size:11px;margin-top:24px}.site-footer .footer-bottom>span:nth-child(2){display:none}.site-footer .footer-bottom .back-to-top{margin-left:auto}}
@media(max-width:370px){.homepage{--section-heading-size:28px}.technology-art.art-soft>img{width:100px;height:100px}.footer-logo{width:205px}}
@media(prefers-reduced-motion:reduce){svg.ui-arrow,.patent-thumbnail{transition:none}a:hover .ui-arrow{transform:none}}

/* Persistent main navigation and a quiet utility line. */
html{scroll-padding-top:82px}
body>header{position:sticky;top:0;z-index:50;background:#fcfdfb;box-shadow:0 4px 16px #173e4308}
.utility .utility-inner{min-height:32px;gap:24px;align-items:center;justify-content:space-between}
.utility .utility-brandline{font-size:11px;font-weight:400;line-height:1;letter-spacing:.055em;color:#ccdedb;max-width:none}
.utility-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}
.utility-phone{font-size:17px;font-weight:700;line-height:1;letter-spacing:.015em;color:#fff;white-space:nowrap;transition:color .2s}
.utility-phone:hover{color:#9ce1dc}
.utility .docs-top{display:inline-flex;align-items:center;gap:8px;padding-left:22px;border-left:1px solid #89aaa650;font-size:12px;font-weight:700;line-height:1;letter-spacing:.065em;white-space:nowrap;color:#f2f7f5}
.utility .docs-top .docs-icon{width:23px;height:23px;flex:0 0 23px;color:#95d8d3}
.utility .docs-top>b{display:flex;align-items:center;justify-content:center;width:18px;height:23px;flex:0 0 18px;margin:0;padding:0;line-height:0}
.utility .docs-top .ui-arrow{width:18px;height:18px;min-width:18px;flex-basis:18px;color:#95d8d3}
.utility .docs-top:hover{color:#9ce1dc}
@media(max-width:1100px){.utility .utility-inner{gap:18px}.utility .utility-brandline{font-size:10px;letter-spacing:.04em}.utility-phone{font-size:16px}.utility-actions{gap:18px}.utility .docs-top{padding-left:18px}}
@media(max-width:1000px){html{scroll-padding-top:72px}header #navigation{max-height:calc(100dvh - 122px)}}
@media(max-width:700px){.utility .utility-inner{min-height:0;padding-top:5px;padding-bottom:4px;flex-direction:column;align-items:stretch;gap:1px}.utility .utility-brandline{font-size:9.5px;letter-spacing:.035em;line-height:1.3;max-width:none}.utility-actions{justify-content:space-between;gap:18px;min-height:27px}.utility-phone{font-size:16px}.utility .docs-top{font-size:11px;padding-left:17px;gap:7px}.utility .docs-top>b{margin:0}.utility .docs-top .docs-icon{width:23px;height:23px;flex-basis:23px}}
@media(max-width:600px){html{scroll-padding-top:69px}header #navigation{max-height:calc(100dvh - 138px)}}
@media(max-width:370px){.utility .utility-brandline{font-size:9px;letter-spacing:.02em}.utility-phone{font-size:15px}.utility .docs-top{font-size:10px;padding-left:12px;gap:5px}.utility-actions{gap:12px}.utility .docs-top>b{margin:0}}
@media(max-width:370px){header .brand{width:195px}header .brand .brand-tagline{font-size:6.45px}}

/* Optical cap alignment with the geometric centres of the SVG icons. */
.utility .utility-brandline,.utility .utility-phone,.utility .docs-top>span{position:relative;top:.09em}
.utility .docs-top>span{display:block;line-height:1}
