:root{--primary:#429dd1;--primary-light:#7dc0e5;--primary-dark:#2b7fb0;--secondary:#0b4f6c;--band-blue:#d3e6f4;--bg:#ffffff;--bg-alt:#f7fafd;--fg:#223038;--muted:#5f7180;--border:#dde6ec;--radius:14px;--maxw:1120px}*{box-sizing:border-box}body{display:flex;flex-direction:column;min-height:100vh}body>footer.site{margin-top:auto}.notfound{flex:0 0 auto;padding-top:3rem;padding-bottom:3rem;text-align:center}.notfound .code{font-size:clamp(5rem,16vw,11rem);font-weight:200;line-height:1;color:var(--primary);opacity:.28;letter-spacing:.02em}.notfound h1{margin-top:.2rem}.notfound p{color:var(--muted)}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-roboto),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:var(--secondary);font-weight:300;line-height:1.2;margin:.7em 0 .4em}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.6rem,3vw,2.25rem)}h3{font-size:1.4rem;font-weight:400}a{color:var(--primary-dark);text-decoration:none}a:hover{text-decoration:underline}p{margin:0 0 1rem}.container{max-width:var(--maxw);margin:0 auto;padding:1.5rem 1.5rem 3rem}.section{margin:3rem 0}.center{text-align:center}.btn,button{font:inherit;cursor:pointer;background:var(--primary);color:#fff;border:none;padding:.5rem 1.1rem;border-radius:999px;transition:background .15s ease}.btn:hover,button:hover{background:var(--primary-dark);text-decoration:none}header.site{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1.5rem;padding:.6rem 1.75rem;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}header.site .spacer{flex:1 1}header.site nav{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}header.site nav a{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:400;color:var(--secondary)}header.site img{height:34px;width:auto;display:block}.hero{overflow:hidden;margin:0 0 2.5rem}.hero,.hero .bg{position:relative;width:100%}.hero .bg{height:clamp(320px,29vw,470px)}.hero .bg img{object-fit:cover}.hero .caption{position:absolute;left:10%;bottom:20%;max-width:40rem;background:linear-gradient(135deg,rgba(66,157,209,.88),rgba(11,79,108,.9));color:#fff;padding:1.4rem 1.9rem;border-radius:12px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hero .caption h1{color:#fff;margin:0 0 .2rem;font-weight:200}.hero .caption p{color:rgba(255,255,255,.95);margin:0;text-align:justify}.products-section{padding:2.5rem 3.5% 3rem}.products-head{max-width:42rem;margin:0 auto 2.5rem;text-align:left}.products-head h2{margin-top:0}.products-intro{color:var(--muted);text-align:justify;margin:0}.grid.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem}.prodcard{display:flex;flex-direction:column;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.prodcard:hover{text-decoration:none;box-shadow:0 8px 26px rgba(11,79,108,.1)}.prodcard .photo{position:relative;width:100%;aspect-ratio:3/2;background:#fff}.prodcard .photo img{object-fit:cover}.prodcard .body{padding:0 0 1.2rem;display:flex;flex-direction:column;flex:1 1;text-align:left}.prodcard h3{position:relative;background:#e8f3f9;color:var(--primary);font-size:16px;font-weight:400;line-height:1.35;margin:0 0 1.5rem;padding:.75rem 1.35rem .9rem}.prodcard h3:after{content:"";position:absolute;top:100%;left:0;width:145%;height:35px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z' fill='%23e8f3f9'/%3E%3C/svg%3E") no-repeat 0 0 /100% 100%}.prodcard p{color:rgba(0,0,0,.87);font-size:12px;line-height:18px;text-align:justify;padding:0 1.35rem}.prodcard .learn{margin:auto 1.35rem 0 auto;align-self:flex-end;background:var(--secondary);color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.45rem 1rem;border-radius:4px}.prodcard .learn:hover{background:#08394e}.band{width:100%}.band.white{background:var(--bg)}.band.blue{background:var(--band-blue)}.band.photo{position:relative;background-size:cover;background-position:50% 50%;background-attachment:fixed;background-repeat:no-repeat}.band.photo:before{content:"";position:absolute;inset:0;background:rgba(21,101,192,.25);pointer-events:none}.band.photo .band-inner{position:relative;z-index:1;min-height:675px;display:flex;align-items:center}@media (max-width:820px),(prefers-reduced-motion:reduce){.band.photo{background-attachment:scroll}.band.photo .band-inner{min-height:0}}.band-inner{max-width:var(--maxw);margin:0 auto;padding:3.25rem 1.5rem;width:100%}.feature h2{margin-top:0}.feature .subtitle{color:var(--primary-dark);font-weight:500;font-size:1.08rem;margin:-.2rem 0 .9rem}.feature p{max-width:42rem;text-align:justify}.glass{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius);padding:2rem 2.25rem;max-width:46rem;margin:0 auto;box-shadow:0 6px 24px rgba(11,79,108,.08)}.feature-row{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:2.5rem;gap:2.5rem;align-items:center}.feature-row .img{position:relative;text-align:center}.feature-row .img img{max-width:100%;height:auto}@media (max-width:820px){.feature-row{grid-template-columns:1fr}.feature-row .img{order:-1}}article{max-width:46rem}article img{max-width:100%;height:auto;border-radius:12px}article ol,article ul{padding-left:1.3rem}article h2,article h3{margin-top:1.6rem}article figure img,article p>img{display:block;margin:1.6rem auto;border:1px solid var(--border)}.mdx-video{margin:1.6rem 0}.mdx-video video{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--border)}.mdx-video figcaption{margin-top:.5rem;font-size:.85rem;color:var(--muted);text-align:center}blockquote{border-left:3px solid var(--primary);margin:0;padding-left:1rem;color:var(--muted)}.login-wrap{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1.5rem}.login-card{width:100%;max-width:26rem;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 34px rgba(11,79,108,.1);padding:2rem 1.9rem 1.7rem;text-align:center}.login-logo{display:block;margin:0 auto 1.4rem;width:11rem}.login-logo img{width:100%;height:auto}.login-card h1{font-size:1.45rem;margin:0 0 .35rem}.login-sub{margin:0 0 1.5rem;color:var(--muted);font-size:.92rem}.login-btn{width:100%;padding:.7rem 1rem;font-size:.95rem}.login-notice{margin:0;padding:.8rem 1rem;border-radius:8px;background:var(--bg-alt);border:1px solid var(--border);color:var(--muted);font-size:.87rem}.login-invite{margin:1.4rem 0 0;padding-top:1.1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem;line-height:1.5}.login-foot{margin:0;font-size:.85rem}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:.85rem}.badge{font-size:.75rem;padding:.1rem .6rem;border-radius:999px;border:1px solid var(--border)}.badge.online{color:#0a7d33;border-color:#b7e4c7}.badge.stale{color:#b26a00;border-color:#f0d9a8}footer.site{margin-top:3rem}footer.site .curve{display:block;width:100%;height:72px;margin-bottom:-1px;transform:scaleY(-1)}footer.site .curve path{fill:var(--primary)}footer.site .inner{background:var(--primary);color:#fff;text-align:center;padding:.25rem 1.5rem 2.5rem}footer.site .inner img{height:34px;width:auto;margin:.75rem auto 0}footer.site .inner nav{display:flex;gap:1.4rem;justify-content:center;margin:1.1rem 0 .5rem;flex-wrap:wrap}footer.site .inner nav a{color:#fff;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}footer.site .copyright{font-weight:500;opacity:.92;font-size:.85rem}.prodmenu{position:relative;display:inline-flex}.prodmenu-trigger{background:none;border:none;padding:0;color:var(--secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:400;display:inline-flex;align-items:center;gap:.35rem}.prodmenu-trigger:hover{background:none;color:var(--primary-dark)}.prodmenu-trigger .chev{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid;transition:transform .15s ease}.prodmenu-trigger .chev.up{transform:rotate(180deg)}.prodmenu-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:27rem;background:#fff;border-radius:0 0 6px 6px;box-shadow:0 6px 20px rgba(11,79,108,.18);padding:1.1rem 1rem 1.25rem;z-index:40}header.site nav .prodmenu-title{display:block;font-size:1.35rem;font-weight:300;color:var(--primary-dark);text-align:center;padding-bottom:.6rem;margin:0 .25rem .7rem;border-bottom:1px solid var(--primary)}header.site nav .prodmenu-panel,header.site nav .prodmenu-panel .blurb,header.site nav .prodmenu-panel .name,header.site nav .prodmenu-panel a{text-transform:none;letter-spacing:normal}.prodmenu-item{display:flex;gap:.85rem;align-items:flex-start;padding:.5rem .4rem;border-radius:6px;text-decoration:none}.prodmenu-item:hover{background:var(--bg-alt);text-decoration:none}.prodmenu-item .thumb{flex:0 0 auto;line-height:0;padding-top:.15rem}.prodmenu-item .thumb img{width:68px;height:auto;display:block}.prodmenu-item .text{display:flex;flex-direction:column;min-width:0}.prodmenu-item .name{color:var(--primary-dark);font-size:.98rem;font-weight:400;line-height:1.3}.prodmenu-item .blurb{color:rgba(0,0,0,.7);font-size:.72rem;line-height:1.35;margin-top:.15rem;text-align:justify}footer.site .inner nav.legal{margin:.5rem 0 .25rem;gap:1.1rem}footer.site .inner nav.legal a{font-size:.78rem;opacity:.9}.cookiebar{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;max-width:46rem;margin:0 auto;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px rgba(11,79,108,.16);padding:.9rem 1.1rem}.cookiebar p{margin:0;font-size:.85rem;color:var(--fg);flex:1 1 20rem}.cookiebar .actions{display:flex;gap:.6rem}.cookiebar button{font-size:.82rem;padding:.4rem 1rem}.cookiebar button.ghost{background:none;color:var(--secondary);border:1px solid var(--border)}.cookiebar button.ghost:hover{background:var(--bg-alt)}.curve-flourish{display:block;width:12rem;height:1.5rem;margin-top:-.25rem;margin-left:auto;margin-right:-2ex;color:var(--primary);opacity:.55}.curve-flourish path{fill:none;stroke:currentColor;stroke-width:1.25}.hero .bg video{width:100%;height:100%;object-fit:cover;display:block}.products-section.overview{padding-bottom:1rem}.products-section.overview .products-head{max-width:52rem}article.justified{max-width:none}article.justified p{text-align:justify;color:var(--fg)}a.prodmenu-title{display:block;text-decoration:none}a.prodmenu-title:hover{color:var(--secondary);text-decoration:none}.product-layout{padding:0 3.5% 2rem;display:grid;grid-template-columns:minmax(300px,416px) 1fr;grid-gap:2rem;gap:2rem;align-items:start}@media (max-width:900px){.product-layout{grid-template-columns:1fr;gap:1.75rem}.product-aside{order:2}}.product-aside{display:flex;flex-direction:column;gap:1.5rem;position:-webkit-sticky;position:sticky;top:5rem}@media (max-width:900px){.product-aside{position:static}}.card{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.card-title{margin:0;padding:.7rem 1rem;font-size:1.05rem;font-weight:400;color:var(--primary-dark);background:#f4f9fd;border-bottom:1px solid var(--border)}.gallery .frame{position:relative;background:#f7fafd;padding:.75rem;display:flex;align-items:center;justify-content:center;min-height:190px}.gallery .frame img{max-width:100%;height:auto;display:block}.gallery .count{position:absolute;top:.5rem;right:.7rem;font-size:.68rem;color:var(--muted)}.gallery .nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);color:var(--primary-dark);border:1px solid var(--border);border-radius:999px;width:26px;height:26px;line-height:1;padding:0;font-size:1.1rem;display:flex;align-items:center;justify-content:center}.gallery .nav:hover{background:#fff;color:var(--secondary)}.gallery .nav.prev{left:.5rem}.gallery .nav.next{right:.5rem}.gallery .dots{position:absolute;bottom:.5rem;left:0;right:0;display:flex;gap:5px;justify-content:center}.gallery .dots button{width:6px;height:6px;padding:0;border-radius:999px;background:var(--border);border:none}.gallery .dots button.on{background:var(--primary)}.gallery .thumbs{display:flex;gap:.4rem;padding:.6rem;overflow-x:auto;border-top:1px solid var(--border)}.gallery .thumbs button{flex:0 0 auto;padding:2px;background:none;border:2px solid transparent;border-radius:4px;line-height:0}.gallery .thumbs button.on{border-color:var(--primary)}.gallery .thumbs img{width:78px;height:auto;display:block}.gallery .frame{min-height:230px}.demo video{width:100%;display:block;background:#000}.product-main h1{margin-top:0}.product-subtitle{font-style:italic;color:var(--muted);font-size:1.02rem;max-width:46rem;margin:-.3rem 0 1.5rem;text-align:justify}.enquire{text-align:center;margin:2.5rem 0 1rem}.enquire-btn{background:var(--secondary);border-radius:4px;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;padding:.7rem 1.6rem}.enquire-btn:hover{background:#08394e}.product-main .related{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.5rem}.product-main .related h2{margin-top:0}.grid.products.related-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.contact-form{max-width:46rem;display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.contact-form .row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:620px){.contact-form .row{grid-template-columns:1fr}}.contact-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.contact-form input,.contact-form textarea{font:inherit;font-size:.95rem;color:var(--fg);padding:.6rem .75rem;border:1px solid var(--border);border-radius:6px;background:#fff;width:100%}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.contact-form [aria-invalid=true]{border-color:#c0392b}.contact-form .err{color:#c0392b;font-size:.78rem}.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form .collection-notice{font-size:.78rem;color:var(--muted);margin:0}.contact-form .enquire-btn{align-self:flex-start;border:none}.contact-form .enquire-btn:disabled{opacity:.6;cursor:default}.form-error{color:#c0392b;background:#fdecea;border:1px solid #f5c6c2;padding:.7rem .9rem;border-radius:6px;margin:0}.form-sent{margin-top:1.5rem}.form-sent h2{margin-top:0}.grid.products.newsgrid{grid-template-columns:repeat(3,1fr)}@media (max-width:1100px){.grid.products.newsgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.grid.products.newsgrid{grid-template-columns:1fr}}.newscard .photo{aspect-ratio:16/10;background:#fff}.newscard .photo img{object-fit:contain}.newscard h3{font-size:1rem}.newscard .published{margin-top:auto;padding:.6rem 1.35rem 0;text-align:right;font-size:.72rem;color:var(--muted)}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.35rem;margin:.6rem 0 0}.tags.centered{justify-content:center;padding:0;margin:.6rem 0 1.5rem}.tags li{background:var(--primary);color:#fff;border-radius:999px;font-size:.68rem;padding:.2rem .7rem;line-height:1.5}.article-page{max-width:52rem}.article-page>h1{margin-top:1.5rem}.article-lede{font-style:italic;color:var(--muted);font-size:.95rem;text-align:justify;margin:0 0 .9rem}.article-meta{text-align:right;font-size:.82rem;color:var(--muted);margin-bottom:.4rem}.article-page article{max-width:none}.article-page article img{display:block;margin:1.5rem auto}.article-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--border);font-size:.85rem}.products-head.wide{max-width:none;margin-left:0;margin-right:0}.products-head.wide>article.justified{max-width:62rem}.prodcard .learn{display:inline-flex;align-items:center;gap:.45rem}.prodcard .learn .ico{width:15px;height:15px;fill:currentColor;flex:0 0 auto}.prodcard{background:#fff}