:root{--bg:#fff;--ink:#191e26;--muted:#59616d;--line:#dce0e5;--soft:#f3f5f7;--accent:#0f766e;--hero:#f8f9fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,.gallery:focus-visible{outline:3px solid #0f766e;outline-offset:5px}header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}.logo{width:304px;max-width:32vw;height:auto;display:block}nav,.header-actions{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:14px;font-weight:600}.header-actions{gap:18px}#theme{border:0;background:none;color:var(--ink);font-size:24px;width:40px;height:44px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--accent);border:1px solid var(--accent);color:#fff;padding:16px 23px;text-decoration:none;font-weight:700;border-radius:5px;transition:background .2s}.button:hover{background:#0b5a54}.button.small{font-size:14px;padding:11px 18px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;height:calc(100svh - 82px);max-height:870px}.gallery{position:relative;min-width:0;background:#e7eaee;display:flex;flex-direction:column;color:#191e26;overflow:hidden}.gallery-top{position:absolute;top:24px;left:30px;right:30px;z-index:2;display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:1.2px}.gallery>img{width:100%;height:calc(100% - 124px);min-height:0;object-fit:contain;mix-blend-mode:multiply;padding:48px 35px 0}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 32px 8px;gap:16px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;line-height:1.5;margin:0 0 16px}.accent{color:var(--accent)}.gallery .eyebrow{font-size:11px;margin-bottom:3px;color:#59616d}.gallery h2{font-size:24px;letter-spacing:-.5px;margin:0}.gallery-bottom p:last-child{margin:1px 0;font-size:14px;color:#59616d}.arrows{display:flex;gap:8px}.arrows button{border:1px solid #aeb5bf;background:transparent;border-radius:50%;height:44px;width:44px;font-size:21px}.arrows button:hover{background:white}.dots{display:flex;gap:7px;padding:0 32px 14px}.dots button{width:27px;height:18px;padding:7px 0;border:0;background:transparent}.dots button:after{content:'';display:block;height:3px;background:#aeb5bf}.dots button[aria-current=true]:after{background:var(--accent)}.hero-copy{background:var(--hero);padding:clamp(26px,4vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}h1{font-size:clamp(40px,4.2vw,66px);line-height:1.06;letter-spacing:-2.6px;margin:0 0 22px;font-weight:800}h1 span{color:var(--accent)}.intro{font-size:18px;line-height:1.6;max-width:490px;color:var(--muted);margin:0 0 18px}.benefits{padding:0;margin:0 0 24px;list-style:none}.benefits li{margin:5px 0;font-size:15px}.benefits li:before{content:'✓';color:var(--accent);margin-right:12px;font-weight:bold}.ctas{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.text-link{font-weight:700;font-size:14px;text-underline-offset:5px}.micro{font-size:12px;color:var(--muted);margin:10px 0 0}.hero-proof{border-top:1px solid var(--line);margin-top:28px;padding-top:19px;width:100%;display:flex;justify-content:space-between;gap:12px}.hero-proof span{font-size:12px;color:var(--muted)}.hero-proof strong{display:block;color:var(--ink);font-size:14px;margin-bottom:3px}.section{padding:90px max(5%,calc((100vw - 1280px)/2));scroll-margin-top:0}.section-heading{margin-bottom:42px}h2{font-size:clamp(30px,3vw,46px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 18px}h3{font-size:22px;line-height:1.3;letter-spacing:-.5px;margin:16px 0 12px}p{margin-top:0}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.three-columns p{color:var(--muted)}.number{font-size:14px;color:var(--accent);font-weight:700}.outcomes article{border-top:1px solid var(--line);padding-top:20px}.products{background:var(--soft)}.horizontal{display:flex;justify-content:space-between;align-items:end;gap:30px}.horizontal p:last-child{color:var(--muted)}.product-cards{gap:22px}.product-cards article{background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden}.product-photo{height:310px;background:#e7eaee;padding:14px}.product-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.card-copy{padding:26px}.card-copy .eyebrow{font-size:11px;color:var(--accent);margin:0}.card-copy h3{margin-top:8px}.card-copy a{font-weight:700;font-size:14px;text-underline-offset:5px}.how{background:#191e26;color:#fff}.how .eyebrow{color:#0f766e}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:45px 0 25px}.steps article{border-top:1px solid #4b5058;padding-top:20px}.steps span{font-size:14px;color:#0f766e}.steps p{color:#c1c7d0}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.faq .section-heading>p:last-child{margin-top:25px;color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{padding:22px 28px 22px 0;font-weight:700;cursor:pointer;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:22px;top:16px;font-weight:400}details[open] summary:after{content:'−'}details p{color:var(--muted);padding-right:25px}.contact{background:#0f766e;color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.contact h2{font-size:clamp(38px,4vw,60px)}.contact>div>p:last-child{max-width:530px}.contact-panel{background:white;color:#191e26;border-radius:8px;padding:34px}.contact-panel h3{margin-top:0}.contact-panel>p{color:#59616d}.contact-panel .button{width:100%}.contact-panel .micro{margin-top:18px}footer{padding:55px 5% 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}footer p{color:var(--muted);font-size:14px;margin-top:20px}footer a{display:block;text-decoration:none;margin-bottom:10px;font-size:14px}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:12px}body.dark{--bg:#151a22;--ink:#f4f5f7;--muted:#b3bdca;--line:#3b424e;--soft:#1b222d;--hero:#1b222d}body.dark .logo{filter:brightness(1.8)}@media(min-width:900px) and (max-height:760px){.hero{min-height:600px}.hero-copy{padding:26px 7%}h1{font-size:47px}.intro{font-size:16px;margin-bottom:12px}.hero-copy>.eyebrow{margin-bottom:12px}.benefits{margin-bottom:18px}.hero-proof{margin-top:18px;padding-top:14px}}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding:28px}.ctas{gap:16px}.hero-proof{flex-wrap:wrap}.product-photo{height:250px}.contact{gap:40px}.faq{gap:40px}}@media(max-width:760px){header{height:70px;padding:0 5%}nav{display:none}.logo{width:238px;max-width:55vw}.header-actions{gap:6px}.button.small{font-size:12px;padding:10px 12px;gap:8px}.hero{height:auto;max-height:none;min-height:0;grid-template-columns:1fr}.gallery{height:470px}.gallery-top{left:20px;right:20px;font-size:10px}.gallery-bottom{padding-left:20px;padding-right:20px}.gallery>img{padding:38px 35px 0}.dots{padding-left:20px}.hero-copy{padding:38px 6% 34px}h1{font-size:46px;letter-spacing:-2px}.intro{font-size:17px}.hero-proof{flex-wrap:nowrap}.hero-proof strong{font-size:12px}.section{padding:58px 6%}.three-columns,.steps,.faq,.contact{grid-template-columns:1fr;gap:26px}.section-heading{margin-bottom:25px}.horizontal{display:block}.horizontal>p{margin-top:20px}.product-photo{height:320px}.steps{grid-template-columns:1fr 1fr;gap:24px}.steps h3{font-size:20px}.faq .section-heading{margin:0}.contact{gap:22px}.contact-panel{padding:25px}footer{grid-template-columns:1fr 1fr;padding:40px 6% 20px}footer>div:first-child{grid-column:1/-1}.copyright{margin-top:0}html{scroll-padding-top:70px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* --- 3.7.46: enquiry form, dashboard, feature block, mobile menu and hero order --- */
:root{--accent-on-dark:#5eead4}
.nav-toggle{display:none;border:0;background:none;color:var(--ink);font-size:22px;width:40px;height:44px;align-items:center;justify-content:center;line-height:1}
.nav-quote{display:none}
.hero-lead,.hero-detail{width:100%}
.mechanism{margin:0 0 24px;padding:10px 14px;border-left:3px solid var(--accent);background:rgba(15,118,110,.06);font-size:14px;line-height:1.5;max-width:490px}
body.dark .mechanism{background:rgba(94,234,212,.08);border-left-color:var(--accent-on-dark)}
.how .eyebrow,.steps span{color:var(--accent-on-dark)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.feature-photo{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;aspect-ratio:5/3}
.feature-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.feature-copy .benefits{margin-bottom:20px}
.dashboard{background:var(--soft);display:grid;grid-template-columns:1fr 1.35fr;gap:55px;align-items:center}
.dashboard-copy .benefits{margin-bottom:0}
.dashboard-shot{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 18px 40px rgba(25,30,38,.12)}
.dashboard-shot img{display:block;width:100%;height:auto}
.dashboard-shot figcaption{padding:12px 16px;border-top:1px solid var(--line);background:var(--bg);font-size:12px;color:var(--muted)}
.example{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.contact-panel{padding:30px 32px 28px}
.form-alt{margin:0 0 4px;font-size:13px;color:#59616d}
.form-alt a{font-weight:700;color:var(--accent);text-underline-offset:3px}
.enquiry-form{display:flex;flex-direction:column;gap:13px;margin-top:18px}
.enquiry-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;letter-spacing:.3px;color:#59616d}
.enquiry-form input,.enquiry-form textarea{width:100%;border:1px solid #dce0e5;border-radius:5px;padding:10px 12px;background:#fff;color:#191e26;font:inherit;font-size:14px;line-height:1.45}
.enquiry-form textarea{resize:vertical;min-height:98px}
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#8a929d}
.enquiry-form input:focus-visible,.enquiry-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.enquiry-form .button{width:100%;margin-top:2px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{min-height:20px;margin:0;font-size:13px;line-height:1.45;color:#59616d}
.form-status.success{color:#0b5a54;font-weight:700}
.form-status.error{color:#b42318;font-weight:700}
.button[disabled]{opacity:.65;cursor:wait}
@media(min-width:761px){.section{padding:78px max(5%,calc((100vw - 1280px)/2))}.section-heading{margin-bottom:34px}.steps{margin:38px 0 22px}}
@media(min-width:900px) and (max-height:820px){.hero .mechanism{font-size:13px;padding:8px 11px;margin-bottom:14px}}
@media(min-width:900px) and (max-height:760px){.hero-lead>.eyebrow{margin-bottom:12px}}
@media(max-width:760px){
  header{height:70px}
  .logo{width:200px;max-width:45vw}
  .header-actions{gap:4px}
  .header-actions .button.small{display:none}
  .nav-toggle{display:inline-flex}
  nav#site-nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 6% 16px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08);z-index:19}
  nav#site-nav.open{display:flex}
  nav#site-nav a{padding:12px 0;font-size:15px;border-bottom:1px solid var(--line)}
  nav#site-nav .nav-quote{display:inline-flex;align-items:center;justify-content:space-between;margin-top:10px;padding:12px 16px;border:0;border-radius:5px;background:var(--accent);color:#fff;font-weight:700}
  .hero{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;background:var(--hero)}
  .hero-copy{display:contents}
  .hero-lead{order:1;padding:38px 6% 0}
  .gallery{order:2;height:470px}
  .hero-detail{order:3;padding:24px 6% 34px}
  .section{padding:48px 6%}
  .feature,.dashboard{grid-template-columns:1fr;gap:26px}
  .feature-copy{order:1}
  .feature-photo{order:2}
  .dashboard-copy{order:1}
  .dashboard-shot{order:2}
  .contact-panel{padding:25px}
  .form-row{grid-template-columns:1fr}
}

/* --- 3.7.47: dashboard zoom, early mobile quote and form polish --- */
.mobile-quote{display:none}
.dashboard-zoom{position:relative;display:block;text-decoration:none;overflow:hidden}
.zoom-label{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:4px;background:rgba(25,30,38,.84);color:#fff;font-size:12px;font-weight:700;letter-spacing:.2px;pointer-events:none}
.dashboard-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none;overflow:visible}
.dashboard-dialog::backdrop{background:rgba(8,13,19,.86)}
.dashboard-dialog img{display:block;width:auto;height:auto;max-width:94vw;max-height:88vh;margin:0 auto;border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.dialog-close{position:fixed;top:14px;right:16px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#191e26;font-size:26px;line-height:1}
.dialog-close:focus-visible{outline:3px solid var(--accent-on-dark);outline-offset:3px}
body.dashboard-dialog-open{overflow:hidden}
.form-required{margin:8px 0 0;font-size:12px;color:#59616d}
.enquiry-form{margin-top:8px}
.form-status{min-height:18px}
.contact-panel .micro{margin-top:6px}
@media(max-width:760px){
  .hero-lead{padding-bottom:24px}
  .hero-lead .mechanism{margin-bottom:14px}
  .mobile-quote{display:inline-flex;width:100%;justify-content:space-between;gap:12px;margin:0}
  .hero-detail .ctas .button{display:none}
  .zoom-label{right:8px;bottom:8px;font-size:11px;padding:6px 8px}
  .dashboard-dialog{max-width:94vw;max-height:88vh;overflow:auto;padding:8px}
  .dashboard-dialog img{width:1000px;max-width:none;max-height:none;margin:0}
}

/* --- 3.7.49: dark-mode image containers, no image tinting --- */
body.dark{--image-bg:#1b222d;--image-text:#f4f5f7;--image-muted:#c1c7d0}
body.dark .gallery,body.dark .product-photo,body.dark .feature-photo{background:var(--image-bg)}
body.dark .feature-photo{border-color:var(--line)}
body.dark .gallery>img,body.dark .product-photo img,body.dark .feature-photo img{filter:none;mix-blend-mode:normal}
body.dark .gallery{color:var(--image-text)}
body.dark .gallery .eyebrow,body.dark .gallery-bottom p:last-child{color:var(--image-muted)}
body.dark .arrows button{border-color:#7c8796;color:var(--image-text)}
body.dark .arrows button:hover{background:#4a5460}
body.dark .dots button:after{background:#7c8796}
