@font-face{font-family:Geist;src:url('/assets/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}


    :root{--forest:#062e24;--deep:#05251d;--green:#0c6748;--mint:#dce7d5;--gold:#d8c26d;--paper:#f4f5ee;--ink:#17352b;--muted:#748078;--line:#d8dfd4;--ease:cubic-bezier(.22,1,.36,1)}
    *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Geist,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.055em;line-height:1.08}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:auto}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a58a24;outline-offset:5px}::selection{background:var(--gold);color:var(--deep)}[hidden]{display:none!important}.shell{width:min(1336px,calc(100% - 112px));margin-inline:auto}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:0 0 20px}.label{font:10px/1.5 'Courier New',monospace;letter-spacing:.12em;text-transform:uppercase}.skip{position:fixed;z-index:200;top:8px;left:8px;padding:12px 20px;background:white;transform:translateY(-160%)}.skip:focus{transform:none}.body-lock{overflow:hidden}
    .pill{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:53px;border:1px solid transparent;border-radius:100px;padding:7px 7px 7px 23px;background:var(--forest);color:white;font-size:12px;line-height:1.4;font-weight:550;transition:background 180ms ease,transform 180ms var(--ease)}.button-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#ffffff12;transition:transform 220ms var(--ease)}.pill .icon{width:17px;height:17px;flex-basis:17px}.pill.gold{background:var(--gold);color:var(--deep)}.pill.gold .button-icon{background:#ffffff35}.pill.small{min-height:44px;font-size:11px;padding:5px 5px 5px 17px;gap:19px}.pill.small .button-icon{height:32px;width:32px}.pill:active{transform:scale(.975)}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:12px;font-weight:500;padding-block:12px;border-bottom:1px solid #a7b6a4}.text-link .icon{height:17px;width:17px;transition:transform 200ms var(--ease)}.circle{display:grid;place-items:center;width:43px;height:43px;border:1px solid #26463130;background:transparent;border-radius:50%;flex-shrink:0}.circle .icon{width:18px;height:18px}
    .site-header{position:sticky;top:0;z-index:50;background:#f4f5eef0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:border-color 180ms ease}.site-header.scrolled{border-color:#d8dfd4}.header-inner{min-height:93px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;width:110px;flex-shrink:0}.brand img{width:110px;height:44px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:35px;margin-left:45px}.main-nav a{font-size:12px;font-weight:500;padding-block:12px;position:relative}.main-nav a::after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease)}.header-actions{display:flex;align-items:center;gap:17px}.search-button{border:0}.menu-button{display:none}
    .hero{padding:52px 0 0}.hero-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px;color:#697b67}.hero-intro .label{display:flex;align-items:center;gap:10px}.hero-intro .label::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green)}.hero-intro>span{font-size:10px}.hero-title{font-size:clamp(59px,7vw,106px);line-height:1.01;letter-spacing:-.07em;max-width:1150px}.hero-title span{color:#73876c}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:28px;margin-bottom:38px}.hero-description{font-size:14px;line-height:1.8;color:#677563;max-width:490px}.hero-links{display:flex;align-items:center;gap:27px;flex-shrink:0}.hero-links .text-link{border-bottom:0}.hero-links .circle{background:#e5e9dd;width:39px;height:39px}
    .pathways{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.pathway{position:relative;min-height:298px;border-radius:25px;overflow:clip;padding:27px 30px;isolation:isolate}.pathway .label{font-size:9px;letter-spacing:.08em}.pathway h2{font-size:29.92px;line-height:1.08;letter-spacing:-.045em;margin-top:19px;max-width:260px}.pathway-footer{position:absolute;bottom:26px;left:30px;right:30px;display:flex;align-items:end;justify-content:space-between;gap:15px}.pathway-footer>span{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:500}.pathway-footer .circle{width:34px;height:34px}.products-path{background:#e0e8d9}.products-path>img{position:absolute;right:-4px;top:34px;width:53%;height:89%;object-fit:contain;mix-blend-mode:multiply;z-index:-1;transition:transform 600ms var(--ease)}.products-path h2{max-width:235px}.products-path .pathway-footer{right:54%}.services-path{background:var(--forest);color:#edf1df}.services-path>.label{color:#b5c6a9}.services-path h2{max-width:300px}.services-path .pathway-footer>span{color:#dce6cd}.services-path .circle{border-color:#d5dfc43a}.services-path .pathway-footer small{font-size:9px;color:#b4c8ac;line-height:1.8;text-align:right}.service-glyph{position:absolute;right:26px;top:33px;width:103px;height:103px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:5px;transform:rotate(-7deg);z-index:-1}.service-glyph i{border-radius:5px;background:#b0c99a10}.service-glyph i:nth-child(2),.service-glyph i:nth-child(4),.service-glyph i:nth-child(5),.service-glyph i:nth-child(6),.service-glyph i:nth-child(8){background:var(--gold)}.service-glyph i:nth-child(2){opacity:.65}.service-glyph i:nth-child(6){opacity:.8}.service-glyph i:nth-child(8){opacity:.4}.hero-audience{display:flex;justify-content:space-between;gap:22px;margin-top:27px;padding-bottom:29px;border-bottom:1px solid var(--line);font-size:10px;color:#78846f}.audience-types{display:flex;gap:23px;color:#4f654b}
    .products-section{padding:83px 0 79px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:37px}.section-head .label{color:var(--green);margin-bottom:20px}.section-head h2{font-size:clamp(42px,4.4vw,65px);line-height:1.07}.section-aside{max-width:305px;padding-bottom:3px}.section-aside p{font-size:12px;line-height:1.85;color:#71806c;margin-bottom:13px}.section-aside .text-link{font-size:11px}.product-index{display:grid;grid-template-columns:repeat(4,1fr);gap:0 25px;margin-top:30px}.product-index a{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;padding:18px 0;border-bottom:1px solid var(--line)}.product-index .icon{width:13px;height:13px;flex-basis:13px;color:#84917b}.product-index-title{display:flex;justify-content:space-between;align-items:center;margin-top:38px;font-size:9px;color:#7a8873}.product-index-title p{font-family:'Courier New',monospace;letter-spacing:.06em;text-transform:uppercase}.products-quote{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#76816d;margin-top:28px}.products-quote button{background:none;padding:0;font-size:11px;color:var(--forest);text-decoration:underline;text-underline-offset:5px}
    .equipment-grid{display:grid;grid-template-columns:1.26fr 1fr 1fr;grid-template-rows:260px 260px;gap:17px}
.equipment-card{position:relative;border-radius:25px;overflow:hidden;transform-style:preserve-3d;transition:transform 450ms var(--ease),box-shadow 250ms ease;will-change:auto;isolation:isolate}
.equipment-card::after{content:'';position:absolute;inset:0;border:1px solid #ffffff70;border-radius:inherit;pointer-events:none;z-index:5}
.equipment-card.imaging{grid-row:span 2;background:#dfe8d8;padding:29px}
.equipment-card .category-label{font:9px/1.5 'Courier New',monospace;color:#6f8370;letter-spacing:.1em;text-transform:uppercase;display:block}
.equipment-card h3{font-size:27px;line-height:1.08;letter-spacing:-.045em;position:relative;z-index:2}
.equipment-card.imaging h3{font-size:42px;max-width:250px;margin-top:24px}
.equipment-card.imaging>img{position:absolute;width:106%;height:60%;object-fit:contain;left:-3%;top:27%;mix-blend-mode:multiply;transform:rotate(-5deg);transition:transform 600ms var(--ease)}
.round-arrow{display:grid;place-items:center;height:34px;width:34px;border:1px solid #74916f45;border-radius:50%;position:absolute;top:24px;right:24px;color:var(--forest);z-index:4;transition:background 180ms ease,transform 220ms var(--ease)}
.round-arrow .icon{width:16px;height:16px;flex-basis:16px;transform:rotate(-45deg)}
.equipment-card.imaging .round-arrow{height:41px;width:41px;top:26px;right:27px}
.card-caption{position:absolute;bottom:29px;left:29px;right:29px;display:flex;justify-content:space-between;align-items:end;gap:20px}
.card-caption p{font-size:11px;line-height:1.7;color:#6b7f67;max-width:230px}
.card-caption>.icon{width:18px;height:18px;color:#5b7756}
.equipment-card.monitoring{background:#e9e7f0;padding:25px}
.equipment-card.monitoring h3{max-width:190px}
.equipment-card.monitoring>img{position:absolute;right:8px;bottom:-15px;width:66%;height:75%;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-7deg);transition:transform 500ms var(--ease)}
.equipment-card .small-note{position:absolute;bottom:25px;left:25px;font-size:10px;line-height:1.65;color:#7c7f84;max-width:105px;z-index:2}
.equipment-card.theatre{background:#ece8d7;padding:25px}
.equipment-card.theatre h3{max-width:190px}
.equipment-card.theatre>img{position:absolute;right:13px;bottom:-23px;height:76%;width:46%;object-fit:contain;mix-blend-mode:multiply;transition:transform 500ms var(--ease)}
.equipment-card.theatre .small-note{color:#8c8468;max-width:113px}
.equipment-card.laboratory{color:white;background:#1f5442}
.equipment-card.laboratory>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 40%;transition:transform 650ms var(--ease)}
.equipment-card.laboratory::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06382ee0,#06382e00),linear-gradient(0deg,#053125da,transparent 80%);z-index:1}
.equipment-card.laboratory h3{padding:25px;max-width:220px;z-index:2}
.equipment-card.laboratory .small-note{color:#cbdcc8;max-width:160px;z-index:2}
.equipment-card.laboratory .round-arrow{border-color:#ffffff50;color:white}
.equipment-card.more{background:var(--forest);color:#f0f4e9;padding:25px;display:flex;flex-direction:column;justify-content:space-between}
.equipment-card.more h3{max-width:210px;font-size:29px}
.equipment-card.more .round-arrow{border-color:#c1d5b840;color:#d9e5ce}
.more-pattern{position:absolute;width:180px;height:180px;right:-30px;top:85px;border:1px solid #cbdabd12;border-radius:50%;box-shadow:0 0 0 22px #cbdabd06,0 0 0 44px #cbdabd04}
.more-cross{font-size:100px;color:#c4dbac26;position:absolute;right:18px;bottom:-24px;font-weight:200;line-height:1}
.equipment-card.more .small-note{color:#8cae92;max-width:180px}
@media(hover:hover) and (pointer:fine){.equipment-card:hover{box-shadow:0 16px 40px #1836220d;transform:translateY(-5px)}
.equipment-card.imaging:hover>img{transform:rotate(-2deg) scale(1.04)}
.equipment-card.monitoring:hover>img{transform:rotate(-3deg) translateY(-5px)}
.equipment-card.theatre:hover>img{transform:translateY(-7px)}
.equipment-card.laboratory:hover>img{transform:scale(1.05)}
.equipment-card:hover .round-arrow{background:#f6f8f1a0;transform:rotate(45deg)}
.equipment-card.laboratory:hover .round-arrow{background:#ffffff15}
.equipment-card.more:hover .round-arrow{background:#ffffff0d}
}
@media(max-width:1200px){.equipment-grid{grid-template-rows:240px 240px}
.equipment-card.imaging{padding:25px}
.equipment-card.imaging h3{font-size:37px;margin-top:25px}
.equipment-card h3{font-size:24px}
.equipment-card.monitoring,.equipment-card.theatre,.equipment-card.more{padding:23px}
.equipment-card.laboratory h3{padding:23px}
.equipment-card .round-arrow{right:20px;top:20px;width:31px;height:31px}
.equipment-card.imaging .round-arrow{right:22px;top:23px;height:35px;width:35px}
.equipment-card .small-note{left:23px;bottom:23px;font-size:9px;max-width:90px}
.equipment-card.theatre .small-note{max-width:93px}
.equipment-card.more .small-note{max-width:160px}
.equipment-card.monitoring>img{width:66%}
.equipment-card.more h3{font-size:27px;max-width:170px}
.card-caption{left:25px;right:25px;bottom:25px}
.card-caption p{font-size:10px}
}
@media(max-width:950px){.equipment-grid{grid-template-columns:1.15fr 1fr;grid-template-rows:245px 245px 220px;gap:16px}
.equipment-card.imaging{grid-row:span 2}
.equipment-card.more{grid-column:span 2}
.equipment-card.laboratory{grid-column:auto;grid-row:3}
.equipment-card.more{grid-column:2;grid-row:3}
.equipment-card.monitoring{grid-column:2;grid-row:1}
.equipment-card.theatre{grid-column:2;grid-row:2}
.equipment-card.imaging h3{font-size:38px;max-width:260px}
.equipment-card h3{font-size:26px}
.equipment-card .small-note{font-size:10px;max-width:120px}
.equipment-card.imaging>img{top:27%;height:61%;width:112%;left:-6%}
.equipment-card.imaging .card-caption p{max-width:220px}
.equipment-card.monitoring>img{height:86%;width:68%;right:4px;bottom:-29px}
.equipment-card.theatre>img{height:84%;width:50%;right:11px;bottom:-32px}
.equipment-card.laboratory h3{max-width:230px}
.equipment-card.more h3{font-size:29px;max-width:230px}
.equipment-card.more .small-note{max-width:210px}
}
@media(max-width:700px){.equipment-grid{grid-template-columns:1fr 1fr;grid-template-rows:380px 227px 213px;gap:13px}
.equipment-card{border-radius:21px}
.equipment-card.imaging{grid-column:span 2;grid-row:1;padding:24px}
.equipment-card.imaging h3{font-size:38px;margin-top:22px;max-width:220px}
.equipment-card.imaging>img{width:91%;height:65%;top:26%;left:14%;transform:rotate(-5deg)}
.equipment-card.imaging .card-caption{bottom:23px;left:24px;right:24px}
.equipment-card.imaging .card-caption p{font-size:9px;max-width:145px;line-height:1.75}
.equipment-card.imaging .round-arrow{height:35px;width:35px;right:23px;top:24px}
.equipment-card .category-label{font-size:8px}
.equipment-card.monitoring{grid-column:1;grid-row:2;padding:19px}
.equipment-card.theatre{grid-column:2;grid-row:2;padding:19px}
.equipment-card.laboratory{grid-column:1;grid-row:3}
.equipment-card.more{grid-column:2;grid-row:3;padding:19px}
.equipment-card h3{font-size:22px;line-height:1.13;letter-spacing:-.04em;max-width:140px}
.equipment-card .round-arrow{width:25px;height:25px;top:auto;bottom:17px;right:16px;border-color:#74916f38}
.equipment-card .round-arrow .icon{width:12px;height:12px;flex-basis:12px}
.equipment-card.monitoring>img{width:90%;height:68%;right:-13px;bottom:-4px;transform:rotate(-7deg)}
.equipment-card.theatre>img{width:69%;height:74%;right:-3px;bottom:-21px}
.equipment-card .small-note{display:none}
.equipment-card.monitoring .round-arrow,.equipment-card.theatre .round-arrow{display:none}
.equipment-card.laboratory h3{padding:19px;font-size:22px;max-width:180px}
.equipment-card.more h3{font-size:25px;max-width:140px}
.equipment-card.more .small-note{display:block;left:19px;bottom:21px;max-width:102px;font-size:8px;line-height:1.8}
.equipment-card.laboratory .small-note{display:block;left:19px;bottom:23px;max-width:91px;font-size:8px;line-height:1.8}
.equipment-card.laboratory .round-arrow{border-color:#ffffff4d}
.more-pattern{width:120px;height:120px;top:105px;right:-24px}
.more-cross{font-size:75px;right:14px;bottom:45px}
}
@media(max-width:370px){.equipment-grid{grid-template-rows:355px 210px 205px;gap:11px}
.equipment-card.imaging h3{font-size:35px;max-width:200px}
.equipment-card.imaging>img{height:62%;top:31%;left:9%;width:102%}
.equipment-card.imaging .card-caption p{font-size:8px;max-width:128px}
.equipment-card.monitoring,.equipment-card.theatre,.equipment-card.more{padding:17px}
.equipment-card h3,.equipment-card.laboratory h3{font-size:20px;line-height:1.15}
.equipment-card.laboratory h3{padding:17px}
.equipment-card.more h3{font-size:23px}
.equipment-card.more .small-note,.equipment-card.laboratory .small-note{left:17px;font-size:7px;max-width:87px}
}

    .services-section{padding:84px 0 78px;background:var(--forest);color:#edf1e4;border-radius:32px 32px 0 0;scroll-margin-top:93px}.services-section .section-head{align-items:start;margin-bottom:38px}.services-section .label{color:#c4c88e}.services-section h2{font-size:clamp(41px,4.4vw,65px);max-width:720px}.services-section .section-aside{padding-top:40px;max-width:290px}.services-section .section-aside p{color:#b2c4a9;font-size:13px}.services-section .text-link{color:#e1e8cf;border-color:#9bb08d50}.service-row{border-top:1px solid #cbddbb2b;transition:background 200ms ease}.service-row:last-child{border-bottom:1px solid #cbddbb2b}.service-row summary{list-style:none;display:grid;grid-template-columns:38px 1.28fr 1fr 43px;align-items:center;gap:28px;padding:28px 0;cursor:pointer}.service-row summary::-webkit-details-marker{display:none}.service-number{font:10px/1 'Courier New',monospace;color:#c0c589;align-self:start;padding-top:11px}.service-row h3{font-size:30px;line-height:1.15;letter-spacing:-.04em;max-width:430px}.service-short{font-size:11px;line-height:1.8;color:#afc3a7;max-width:270px}.service-row .circle{border-color:#c8d9b538;color:#d5dfc4;transition:background 200ms ease}.service-row .circle .icon{transition:transform 200ms ease}.service-row[open] .circle .icon{transform:rotate(45deg)}.service-row[open] .circle{background:#d8c26d;color:var(--forest);border-color:transparent}.service-expanded{padding:0 72px 29px 66px;display:grid;grid-template-columns:1.28fr 1fr;gap:28px}.service-expanded p{font-size:12px;line-height:1.85;color:#c4d0b8;max-width:410px}.service-expanded .text-link{font-size:11px;margin-top:14px;border-color:#9bb08d50;gap:24px}.service-tags{display:flex;align-items:start;align-content:start;gap:8px;flex-wrap:wrap;padding-top:3px;max-width:350px}.service-tags span{font-size:9px;border:1px solid #bbd3a628;border-radius:30px;padding:7px 11px;color:#b2c5a7}.services-tail{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:32px;font-size:11px;color:#afc3a7}.services-tail a{color:#edf1e4}.services-tail .icon{width:15px;height:15px}
    .specialist{background:#e6e9db;padding:43px 0;border-radius:0 0 32px 32px}.specialist .shell{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:center}.specialist .label{font-size:9px;color:#617358;max-width:160px;line-height:1.8}.specialist-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 35px}.specialist-links a{font-size:11px;display:flex;align-items:center;gap:13px;justify-content:space-between}.specialist-links .icon{width:13px;height:13px;flex-basis:13px}
    .project-section{padding:89px 0 85px}.project-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center}.project-copy .label{color:var(--green);margin-bottom:25px}.project-copy h2{font-size:clamp(40px,4vw,59px);line-height:1.1;max-width:620px}.project-copy>p:not(.label){font-size:13px;color:#73806c;line-height:1.9;max-width:420px;margin-top:26px}.project-copy .text-link{margin-top:23px}.project-card{background:#e9e7f0;border-radius:25px;padding:32px;min-height:365px;position:relative;overflow:clip}.project-card .label{font-size:9px;color:#7d7a84}.project-card h3{font-size:29px;margin-top:21px;max-width:280px}.project-steps{display:grid;grid-template-columns:1fr 1fr;gap:30px 25px;margin-top:36px}.project-step{border-top:1px solid #3e4b3a27;padding-top:13px}.project-step small{font:9px 'Courier New',monospace;color:#7a7b77;display:block;margin-bottom:7px}.project-step strong{font-size:13px;font-weight:500;display:block}.project-step p{font-size:10px;line-height:1.8;color:#7b7f78;margin-top:4px;max-width:175px}.project-card::after{content:'+';position:absolute;right:27px;top:16px;font-size:82px;line-height:1;font-weight:200;color:#c3c1c9}
    .faq-section{padding:0 0 91px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:56px;border-top:1px solid var(--line)}.faq-copy .label{color:var(--green);margin-bottom:22px}.faq-copy h2{font-size:43px;max-width:330px}.faq-copy>p:not(.label){font-size:12px;line-height:1.85;color:#73806b;margin-top:22px;max-width:250px}.faq-copy a{color:var(--green);text-decoration:underline;text-underline-offset:4px}.faq-row{border-bottom:1px solid var(--line)}.faq-row:first-child{border-top:1px solid var(--line)}.faq-row summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;line-height:1.6;padding:21px 0;cursor:pointer}.faq-row summary::-webkit-details-marker{display:none}.faq-row .icon{height:15px;width:15px;flex-basis:15px;transition:transform 180ms ease}.faq-row[open] .icon{transform:rotate(45deg)}.faq-row>p{font-size:12px;line-height:1.9;color:#73816c;padding:0 38px 24px 0;max-width:600px}.faq-row>p a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}
    .contact-section{padding:0 0 28px}.contact-panel{background:#dfce88;border-radius:28px;display:grid;grid-template-columns:1.1fr 1fr;gap:50px;padding:44px 48px;align-items:center}.contact-copy .label{font-size:9px;color:#706a41;margin-bottom:21px}.contact-copy h2{font-size:clamp(40px,4vw,60px);max-width:600px;line-height:1.07}.contact-choices{display:grid;gap:11px}.contact-choice{display:flex;align-items:center;justify-content:space-between;gap:25px;text-align:left;background:#ffffff4f;padding:21px 23px;border-radius:17px;transition:background 180ms ease}.contact-choice strong{font-weight:500;font-size:17px;letter-spacing:-.025em}.contact-choice small{display:block;font-size:10px;color:#77734c;margin-top:4px;line-height:1.6}.contact-choice .circle{height:34px;width:34px;border-color:#8e8e5940}.contact-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;grid-column:1/-1;border-top:1px solid #71794c30;padding-top:21px;margin-top:-19px;font-size:10px;color:#606743}.contact-panel-footer a{color:#29442b}
    .site-footer{padding:45px 0 25px}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1.3fr 1fr;gap:40px;padding-bottom:45px}.footer-brand img{width:100px;height:40px;object-fit:contain}.footer-brand p{font-size:10px;line-height:1.8;color:#76816c;max-width:200px;margin-top:18px}.footer-column h3{font:9px 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;color:#7a8572;margin-bottom:22px}.footer-column a{display:block;font-size:11px;line-height:1.6;margin-top:11px}.footer-column address{font-style:normal;font-size:11px;line-height:1.9;max-width:190px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:22px;color:#839078;font-size:9px}.footer-bottom>div{display:flex;align-items:center;gap:24px}.footer-bottom a{color:#607455}
    .mobile-menu{position:fixed;inset:0;z-index:90;background:var(--paper);padding:27px 25px;display:flex;flex-direction:column}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between}.mobile-menu nav{display:grid;gap:5px;margin-top:49px}.mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;font-size:39px;letter-spacing:-.045em;padding:15px 0;border-bottom:1px solid var(--line)}.mobile-menu nav .icon{width:24px;height:24px}.mobile-menu-bottom{margin-top:auto;padding-top:28px}.mobile-menu-bottom p{font-size:12px;color:#73846b;margin-bottom:23px}.mobile-menu-bottom a{font-size:12px;color:var(--green)}
    dialog{border:1px solid #d8dfd4;border-radius:25px;background:var(--paper);color:var(--ink);padding:0;width:min(800px,calc(100% - 40px));max-height:calc(100svh - 40px);overflow:auto;box-shadow:0 25px 100px #032a2130}dialog::backdrop{background:#062e24a3;backdrop-filter:blur(9px)}.dialog-close{position:absolute;right:19px;top:19px;width:35px;height:35px;background:#dfe5d7;z-index:2}.quote-layout{display:grid;grid-template-columns:.8fr 1fr}.quote-context{padding:40px 30px;background:var(--forest);color:#eef1e5;display:flex;flex-direction:column}.quote-context .label{font-size:8px;color:#c5c896}.quote-context h2{font-size:38px;margin-top:36px;line-height:1.1}.quote-context>p:not(.label){font-size:12px;line-height:1.85;color:#b4c8a9;margin-top:25px}.quote-phone{margin-top:auto;padding-top:45px;font-size:15px}.quote-phone span{font-size:9px;color:#a6bc9b;display:block;margin-bottom:8px}.quote-form{padding:42px 32px 30px}.quote-form h3{font-size:27px}.quote-form>p{font-size:11px;line-height:1.8;color:#7b8574;margin-top:11px;margin-bottom:25px}.quote-form label{display:block;font-size:10px;margin:15px 0 7px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:42px;border:1px solid #d7dfcf;border-radius:9px;background:#ffffff65;color:var(--ink);padding:10px 12px;font-size:12px;resize:vertical}.quote-form textarea{min-height:100px}.quote-form .pill{margin-top:22px;font-size:11px;min-height:47px}.quote-form .button-icon{height:31px;width:31px}.quote-form .form-note{font-size:9px;line-height:1.8;margin:15px 0 0}.draft-status{font-size:11px;margin-top:20px;padding:12px;border-radius:8px;background:#dbe7d1}.search-dialog{width:min(680px,calc(100% - 40px));padding:35px}.search-dialog h2{color:#73846a;margin-bottom:26px;font-size:9px}.search-input{display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding-bottom:24px}.search-input input{font-size:35px;width:100%;letter-spacing:-.045em;border:0;background:transparent;outline:none;color:var(--forest)}.search-input input:focus-visible{outline:0}.search-input:focus-within{border-color:var(--green)}.search-results{max-height:48vh;overflow:auto}.search-results a{display:flex;align-items:center;justify-content:space-between;gap:23px;padding:19px 0;border-bottom:1px solid var(--line)}.search-results strong{font-size:17px;font-weight:500;display:block;letter-spacing:-.035em}.search-results small{font-size:9px;color:#819075;display:block;margin-top:5px}.search-results a>.icon{height:16px;width:16px}.search-empty{font-size:14px;color:#75816e;padding:30px 0}.search-foot{margin-top:23px;font-size:9px;color:#7c8872}
    @media(hover:hover) and (pointer:fine){.main-nav a:hover::after{transform:scaleX(1)}.pill:hover .button-icon{transform:rotate(-35deg)}.text-link:hover .icon{transform:translateX(4px)}.products-path:hover>img{transform:translate(-7px,-4px) rotate(-2deg)}.pathway:hover .circle{background:#ffffff40}.services-path:hover .circle{background:#d8c26d;color:var(--forest)}.product-index a:hover{color:#0c6748}.service-row summary:hover .circle{background:#d8c26d;color:var(--forest)}.contact-choice:hover{background:#ffffff80}.footer-column a:hover{text-decoration:underline;text-underline-offset:4px}.specialist-links a:hover{text-decoration:underline;text-underline-offset:4px}}
    @media(max-width:1200px){.shell{width:calc(100% - 80px)}.hero-title{font-size:7.4vw}.hero{padding-top:42px}.main-nav{margin-left:20px;gap:27px}.hero-links{gap:18px}.pathway{min-height:285px;padding:25px}.pathway h2{font-size:27.28px}.pathway-footer{left:25px;right:25px}.products-path .pathway-footer{right:51%}.service-glyph{width:86px;height:86px;top:31px;right:23px;opacity:.8}.services-path h2{max-width:260px}.services-path .pathway-footer small{font-size:8px}.service-row summary{gap:24px;grid-template-columns:30px 1.23fr 1fr 40px}.service-row h3{font-size:27px}.service-expanded{padding-left:54px;grid-template-columns:1.23fr 1fr}.project-layout{gap:45px}.faq-layout{gap:45px}.contact-panel{padding:38px 40px;gap:35px}.footer-main{gap:30px}}
    @media(max-width:950px){.shell{width:calc(100% - 48px)}.header-inner{min-height:80px;gap:20px}.brand,.brand img{width:96px}.brand img{height:39px}.main-nav{margin-left:0;gap:22px}.main-nav a{font-size:11px}.header-actions{gap:8px}.header-actions .pill{font-size:10px;gap:10px}.hero{padding-top:36px}.hero-intro{margin-bottom:26px}.hero-title{font-size:7.9vw}.hero-bottom{gap:25px;margin-top:25px;margin-bottom:30px}.hero-description{font-size:12px;max-width:350px}.hero-links{gap:14px}.hero-links .pill{font-size:10px;gap:18px;padding-left:18px;min-height:47px}.hero-links .button-icon{height:31px;width:31px}.hero-links .text-link{font-size:10px;gap:9px}.hero-links .circle{width:32px;height:32px}.pathways{grid-template-columns:1.1fr 1fr;gap:15px}.pathway{min-height:277px;padding:23px}.pathway h2{font-size:25.52px;max-width:240px}.products-path h2{max-width:190px}.products-path>img{width:57%;right:-12px;top:50px;height:80%}.pathway-footer{left:23px;right:23px;bottom:22px}.pathway-footer>span{font-size:10px;gap:10px}.products-path .pathway-footer{right:49%}.services-path .pathway-footer small{display:none}.service-glyph{top:31px;right:20px;width:64px;height:64px;opacity:.45;gap:3px}.services-path h2{max-width:230px}.hero-audience{font-size:9px;gap:18px}.audience-types{gap:15px}.products-section{padding:65px 0}.section-head h2,.services-section h2{font-size:48px}.section-aside{max-width:245px}.section-aside p{font-size:11px}.product-index{gap:0 22px}.product-index a{font-size:10px}.services-section{padding:65px 0 58px;scroll-margin-top:80px}.services-section .section-aside{max-width:225px;padding-top:33px}.services-section .section-aside p{font-size:11px}.service-row summary{grid-template-columns:26px 1.1fr 1fr 37px;gap:20px;padding:25px 0}.service-row h3{font-size:25px}.service-short{font-size:10px}.service-row .circle{height:37px;width:37px}.service-number{font-size:9px;padding-top:7px}.service-expanded{padding:0 57px 25px 46px;gap:20px;grid-template-columns:1.1fr 1fr}.service-expanded p{font-size:11px}.service-tags span{font-size:8px;padding:6px 10px}.specialist .shell{grid-template-columns:.7fr 2fr;gap:25px}.specialist-links{gap:20px 24px}.specialist-links a{font-size:10px}.project-section{padding:65px 0}.project-layout{gap:32px}.project-copy h2{font-size:42px}.project-copy>p:not(.label){font-size:12px}.project-card{padding:26px;min-height:345px}.project-card h3{font-size:27px;max-width:230px}.project-steps{gap:25px 20px}.project-step strong{font-size:12px}.project-step p{font-size:9px}.faq-section{padding-bottom:65px}.faq-layout{gap:40px;padding-top:45px}.faq-copy h2{font-size:36px}.faq-copy>p:not(.label){font-size:11px}.faq-row summary{font-size:12px;padding:20px 0}.faq-row>p{font-size:11px}.contact-panel{gap:30px;padding:32px}.contact-copy h2{font-size:43px}.contact-choice{padding:18px 20px;gap:20px}.contact-choice strong{font-size:15px}.contact-choice small{font-size:9px}.contact-panel-footer{font-size:9px;margin-top:-6px}.footer-main{grid-template-columns:1fr .9fr 1.2fr 1fr;gap:25px}.footer-column a,.footer-column address{font-size:10px}.footer-brand p{font-size:9px}}
    @media(max-width:700px){html{scroll-padding-top:90px}.shell{width:calc(100% - 40px)}.header-inner{min-height:78px;gap:15px}.main-nav{display:none}.brand,.brand img{width:93px}.brand img{height:38px}.header-actions{gap:10px}.search-button{display:none}.header-actions .pill{min-height:39px;font-size:10px;padding:4px 4px 4px 14px;gap:10px}.header-actions .button-icon{width:29px;height:29px}.menu-button{display:grid;width:35px;height:35px}.hero{padding-top:28px}.hero-intro{margin-bottom:23px}.hero-intro .label{font-size:8px;letter-spacing:.04em;gap:8px}.hero-intro>span{display:none}.hero-title{font-size:clamp(45px,9.8vw,69px);letter-spacing:-.065em;line-height:1.07;max-width:650px}.hero-title br{display:none}.hero-title span{display:block}.hero-bottom{display:block;margin-top:22px;margin-bottom:28px}.hero-description{font-size:12px;max-width:405px;line-height:1.85}.hero-links{gap:23px;margin-top:22px}.hero-links .pill{min-height:48px;font-size:11px;padding-left:19px;gap:19px}.hero-links .button-icon{width:32px;height:32px}.hero-links .text-link{font-size:11px;gap:10px}.hero-links .circle{width:31px;height:31px}.pathways{grid-template-columns:1fr;gap:13px}.pathway{min-height:242px;padding:25px}.pathway .label{font-size:8px}.pathway h2{font-size:28.16px;margin-top:17px}.products-path h2{max-width:195px}.products-path>img{right:-4px;top:20px;width:53%;height:97%}.products-path .pathway-footer{right:44%}.pathway-footer{bottom:24px;left:25px;right:25px}.pathway-footer>span{font-size:10px;gap:12px}.pathway-footer .circle{width:31px;height:31px}.services-path{min-height:230px}.services-path h2{max-width:265px}.service-glyph{width:77px;height:77px;right:25px;top:30px;opacity:.65}.services-path .pathway-footer small{display:block;font-size:8px;max-width:130px}.hero-audience{display:block;margin-top:24px;padding-bottom:25px;font-size:9px}.audience-types{margin-top:10px;gap:20px;flex-wrap:wrap}.products-section{padding:49px 0 48px}.section-head{display:block;margin-bottom:28px}.section-head .label{font-size:8px;margin-bottom:18px}.section-head h2{font-size:42px;line-height:1.09}.section-aside{max-width:440px;margin-top:20px;display:flex;align-items:end;gap:25px;justify-content:space-between}.section-aside p{font-size:11px;line-height:1.8;margin:0;max-width:240px}.section-aside .text-link{font-size:10px;gap:13px;flex-shrink:0;white-space:nowrap;padding-block:8px}.section-aside .text-link .icon{width:15px;height:15px}.product-index-title{font-size:8px;margin-top:27px}.product-index-title span{display:none}.product-index{grid-template-columns:1fr 1fr;gap:0 20px;margin-top:8px}.product-index a{font-size:10px;padding-block:16px}.product-index .icon{height:12px;width:12px;flex-basis:12px}.products-quote{font-size:9px;display:block;line-height:1.9;margin-top:23px}.products-quote button{font-size:10px;margin-top:7px}.services-section{border-radius:24px 24px 0 0;padding:48px 0 37px;scroll-margin-top:78px}.services-section h2{font-size:41px}.services-section .section-head{margin-bottom:29px}.services-section .section-aside{padding:0;max-width:400px;align-items:end;gap:22px}.services-section .section-aside p{font-size:11px;max-width:245px}.services-section .section-aside .text-link{font-size:9px}.service-row summary{grid-template-columns:20px 1fr 31px;gap:12px;padding:23px 0;position:relative}.service-number{font-size:8px;padding-top:5px}.service-row h3{font-size:24px;line-height:1.15;max-width:270px;letter-spacing:-.04em}.service-short{grid-column:2;grid-row:2;font-size:10px;max-width:270px;line-height:1.8;margin-top:-3px}.service-row summary>.circle{grid-column:3;grid-row:1/3;width:31px;height:31px;align-self:center}.service-row summary>.circle .icon{width:14px;height:14px}.service-expanded{padding:0 15px 25px 32px;display:block}.service-expanded p{font-size:11px;line-height:1.9}.service-expanded .text-link{font-size:10px;margin-top:8px;padding-block:9px}.service-tags{margin-top:15px;gap:7px;max-width:300px}.service-tags span{font-size:8px;padding:5px 9px}.services-tail{margin-top:26px;gap:20px;font-size:9px;line-height:1.8;align-items:start}.services-tail>span{max-width:180px}.services-tail .text-link{font-size:9px;gap:10px;padding:0;white-space:nowrap}.specialist{padding:28px 0 32px;border-radius:0 0 24px 24px}.specialist .shell{display:block}.specialist .label{max-width:none;font-size:8px;margin-bottom:21px}.specialist-links{grid-template-columns:1fr 1fr;gap:21px 25px}.specialist-links a{font-size:10px;line-height:1.6;align-items:start}.specialist-links .icon{margin-top:3px;width:12px;height:12px;flex-basis:12px}.project-section{padding:50px 0}.project-layout{display:block}.project-copy .label{font-size:8px;margin-bottom:21px}.project-copy h2{font-size:42px;max-width:470px}.project-copy>p:not(.label){font-size:12px;max-width:410px;line-height:1.85;margin-top:21px}.project-copy .text-link{font-size:11px;margin-top:15px}.project-card{margin-top:29px;border-radius:21px;padding:27px;min-height:333px}.project-card h3{font-size:29px;max-width:260px}.project-card .label{font-size:8px}.project-steps{margin-top:29px;gap:25px}.project-step strong{font-size:12px}.project-step p{font-size:10px}.project-card::after{font-size:75px}.faq-section{padding-bottom:47px}.faq-layout{display:block;padding-top:35px}.faq-copy .label{font-size:8px;margin-bottom:20px}.faq-copy h2{font-size:38px;max-width:400px}.faq-copy>p:not(.label){font-size:11px;margin-top:16px;max-width:330px}.faq-list{margin-top:27px}.faq-row summary{font-size:12px;line-height:1.7;padding-block:20px}.faq-row>p{font-size:11px;padding-bottom:22px}.contact-section{padding-bottom:14px}.contact-panel{border-radius:23px;display:block;padding:30px 26px}.contact-copy .label{font-size:8px;margin-bottom:20px}.contact-copy h2{font-size:42px;max-width:400px}.contact-choices{margin-top:26px;gap:10px}.contact-choice{padding:18px 20px;border-radius:14px}.contact-choice strong{font-size:16px}.contact-choice small{font-size:9px;max-width:235px}.contact-choice .circle{width:31px;height:31px}.contact-panel-footer{display:flex;flex-wrap:wrap;margin-top:25px;padding-top:21px;gap:10px 24px;line-height:1.8;font-size:10px}.contact-panel-footer>span{width:100%;font-size:9px}.site-footer{padding-top:34px;padding-bottom:22px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 28px;padding-bottom:30px}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:28px}.footer-brand img{width:95px;height:38px;flex-shrink:0}.footer-brand p{font-size:9px;max-width:195px;margin:0}.footer-column h3{font-size:8px;margin-bottom:18px}.footer-column a,.footer-column address{font-size:10px;line-height:1.8}.footer-column.contact-column{grid-column:1/-1;display:flex;align-items:start;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:22px}.contact-column address{max-width:200px;font-size:9px}.footer-bottom{display:block;font-size:8px;padding-top:19px}.footer-bottom>div{gap:21px;margin-top:12px}.footer-bottom>div a:last-child{margin-left:auto}dialog{width:calc(100% - 28px);max-height:calc(100svh - 28px);border-radius:21px}.quote-layout{display:block}.quote-context{display:none}.quote-form{padding:43px 25px 25px}.quote-form h3{font-size:26px;max-width:230px}.quote-form input,.quote-form select,.quote-form textarea{font-size:16px;min-height:44px}.quote-form textarea{font-size:14px;min-height:120px}.quote-form label{font-size:11px}.quote-form>p{font-size:11px}.quote-form .form-note{font-size:10px}.search-dialog{padding:42px 24px 24px}.search-input input{font-size:28px}.search-results strong{font-size:16px}.search-input{gap:13px}.search-foot{font-size:8px}}
    @media(max-width:370px){.shell{width:calc(100% - 32px)}.brand,.brand img{width:80px}.header-inner{gap:8px;min-height:72px}.header-actions{gap:8px}.header-actions .pill{font-size:9px;gap:7px;padding-left:12px}.hero{padding-top:23px}.hero-title{font-size:40px}.hero-description{font-size:11px}.hero-links{gap:16px}.hero-links .pill{font-size:10px;gap:13px;padding-left:16px}.hero-links .text-link{font-size:10px;gap:8px}.pathway{padding:23px;min-height:233px}.pathway h2{font-size:24.64px}.products-path h2{max-width:165px}.products-path>img{top:39px;height:81%;right:-7px;width:56%}.pathway-footer{left:23px;right:23px}.pathway-footer>span{font-size:9px;gap:8px}.pathway-footer .circle{height:28px;width:28px}.services-path{min-height:225px}.services-path h2{max-width:245px}.services-path .pathway-footer small{font-size:7px;max-width:105px}.service-glyph{width:62px;height:62px;opacity:.5;right:22px}.section-head h2,.services-section h2{font-size:36px}.section-aside{gap:20px}.section-aside p{font-size:10px;max-width:165px}.section-aside .text-link{font-size:9px;gap:8px}.product-index a{font-size:9px;gap:9px}.service-row h3{font-size:22px}.service-short{font-size:9px}.services-section .section-aside p{font-size:10px;max-width:180px}.specialist-links a{font-size:9px}.project-copy h2{font-size:37px}.project-card{padding:24px}.project-card h3{font-size:27px}.faq-copy h2{font-size:34px}.contact-copy h2{font-size:37px}.contact-panel{padding:28px 23px}.contact-choice{padding:17px}.contact-choice strong{font-size:14px}.contact-choice small{font-size:8px}.footer-brand{gap:23px}}
    /* Keep the established palette and approved equipment grid. */
:root {
  --surface-ring: 0 0 0 1px oklch(0 0 0 / .06),
    0 1px 2px -1px oklch(0 0 0 / .06),
    0 2px 4px oklch(0 0 0 / .04);
}
.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.main-nav a { font-size:13px; }
.main-nav a[aria-current="location"] { color:var(--green); }
.main-nav a[aria-current="location"]::after { transform:scaleX(1); }
.header-actions .circle { width:44px; height:44px; }
.hero-title { letter-spacing:-.065em; line-height:1.04; }
.hero-intro { color:#5c6f55; }
.hero-intro .label, .hero-intro>span { font-size:11px; }
.hero-description { font-size:15px; line-height:1.8; color:#5b6e54; max-width:530px; }
.hero-bottom { margin-top:30px; margin-bottom:35px; gap:40px; }
.hero-links .pill, .hero-links .text-link { font-size:13px; }
.hero-audience { font-size:11px; color:#63735b; }
.audience-types { color:#4f654b; gap:25px; }
.pill:active { transform:scale(.96); }
.circle, .carousel-button, .search-filter { transition:background 150ms ease, color 150ms ease, transform 150ms ease-out; }
.circle:active, .carousel-button:active, .search-filter:active { transform:scale(.96); }

/* The two first-screen routes now contain useful, direct actions. */
.pathway { min-height:326px; box-shadow:var(--surface-ring); }
.pathway .label { font-size:10px; }
.products-path>img { top:27px; right:-4px; height:85%; width:55%; transition:transform 240ms var(--ease); }
.products-path[data-product="monitoring"]>img { width:46%; height:83%; top:20px; right:25px; }
.products-path[data-product="theatre"]>img { width:36%; height:86%; top:20px; right:10%; }
.products-path .pathway-footer { right:24px; }
.product-counter { position:absolute; right:29px; top:29px; font:11px/1.5 'Courier New',monospace; color:#465e3d; }
.product-counter>span+span { color:#7a8a70; }
.pathway-link { display:inline-flex; flex-direction:column; gap:7px; }
.pathway-link>span { font-size:10px; line-height:1.4; color:#596f50; }
.pathway-link strong { display:flex; align-items:center; gap:12px; font-size:12px; line-height:1.4; font-weight:500; }
.pathway-link strong>.icon { width:17px; height:17px; flex-basis:17px; }
.product-controls { display:flex; align-items:center; gap:5px; }
.carousel-button { width:44px; height:44px; border:1px solid #63795636; border-radius:50%; background:#e9eee4e8; color:var(--forest); display:grid; place-items:center; flex-shrink:0; }
.carousel-button .icon { width:16px; height:16px; }
#previous-product .icon { transform:rotate(180deg); }
.services-path { box-shadow:0 0 0 1px oklch(1 0 0 / .08); }
.services-path h2 { font-size:30.8px; max-width:360px; }
.services-path .pathway-link>strong { color:#eef3e4; }
.services-path .pathway-footer .circle { width:34px; height:34px; }
.service-glyph { width:78px; height:78px; top:28px; right:27px; opacity:.24; transform:rotate(-5deg); }
.service-shortcuts { display:flex; gap:8px; flex-wrap:wrap; margin-top:23px; position:relative; z-index:2; }
.service-shortcuts a { display:inline-flex; align-items:center; gap:7px; min-height:36px; font-size:10px; line-height:1.4; padding:8px 11px; border:1px solid #b6ce9e30; border-radius:9px; background:#c5d6b00a; color:#d4e2c4; position:relative; transition:background 150ms ease,color 150ms ease,border-color 150ms ease; }
.service-shortcuts a::before { content:''; position:absolute; inset:-4px 0; }
.service-shortcuts .icon { width:15px; height:15px; flex-basis:15px; color:#d8c26d; }
.service-row { scroll-margin-top:12px; }
.service-row[data-requested]>summary h3 { color:var(--gold); }

/* More comfortable reading sizes without touching the category tiles. */
.section-head .label, .project-copy .label, .faq-copy .label { font-size:11px; }
.section-aside p { font-size:14px; line-height:1.8; color:#5d6d56; }
.section-aside .text-link { font-size:12px; }
.product-index-title { font-size:11px; color:#62725a; }
.product-index a { font-size:12px; padding-block:20px; }
.products-quote { font-size:12px; color:#64735c; align-items:center; }
.products-quote button { min-height:44px; font-size:12px; }
.services-section .section-aside { max-width:310px; padding-top:33px; }
.services-section .section-aside p { font-size:14px; }
.service-row summary { padding-block:30px; }
.service-short { font-size:13px; line-height:1.75; max-width:305px; }
.service-expanded p { font-size:14px; line-height:1.85; max-width:445px; }
.service-expanded .text-link { font-size:12px; }
.service-tags { max-width:360px; gap:9px; }
.service-tags span { font-size:10px; padding:8px 12px; color:#c2d2b5; }
.services-tail, .services-tail .text-link { font-size:12px; }
.specialist .label { font-size:10px; color:#4e6447; }
.specialist-links a { font-size:12px; line-height:1.6; }
.project-copy>p:not(.label) { font-size:14px; line-height:1.85; color:#5d6d56; max-width:450px; }
.project-card .label { font-size:10px; color:#64636b; }
.project-step strong { font-size:14px; }
.project-step p { font-size:12px; line-height:1.75; color:#626a5e; }
.project-step small { font-size:10px; }
.faq-copy>p:not(.label) { font-size:13px; color:#607058; max-width:300px; }
.faq-row summary { font-size:15px; line-height:1.6; }
.faq-row>p { font-size:14px; line-height:1.85; color:#607058; }
.contact-copy .label { font-size:10px; color:#59603e; }
.contact-choice small { font-size:12px; color:#616344; }
.contact-panel-footer { font-size:12px; }
.footer-brand p, .footer-column a, .footer-column address { font-size:12px; color:#5c6e53; }
.footer-column h3 { font-size:10px; color:#617359; }
.footer-bottom { font-size:11px; color:#66765e; }
.mobile-search { display:flex; align-items:center; gap:13px; width:100%; min-height:49px; border:1px solid var(--line); border-radius:12px; background:#e5eadd; padding:12px 15px; margin-bottom:25px; font-size:13px; }
.quote-form>p { color:#63735c; font-size:12px; }
.quote-form label { font-size:12px; }
.quote-form input, .quote-form select, .quote-form textarea { font-size:14px; }
.quote-form .form-note { font-size:11px; }

/* Search is a small catalogue with an explicit product/service filter. */
.search-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0 10px; }
.search-filters { display:flex; gap:4px; padding:4px; border-radius:100px; background:#e4e9dc; }
.search-filter { background:transparent; border-radius:100px; padding:9px 15px; min-height:36px; font-size:11px; line-height:1.4; }
.search-filter[aria-pressed="true"] { background:var(--forest); color:#f5f6ef; box-shadow:0 1px 3px #062e2420; }
#search-count { font-size:11px; white-space:nowrap; color:#64745b; }
.search-results { max-height:43vh; }
.search-results strong { font-size:18px; }
.search-results small { font-size:11px; color:#66785d; }
.search-results a { min-height:76px; }
.search-results a:focus-visible { outline-offset:-4px; border-radius:8px; }
.search-foot { font-size:11px; color:#65745d; }
.search-empty { font-size:13px; line-height:1.85; color:#5d7055; }

@media(hover:hover) and (pointer:fine) {
  .service-shortcuts a:hover { color:#f5f6e9; border-color:#c9dcaf75; background:#cbdfb51a; }
  .pathway-link:hover strong>.icon { transform:translateX(4px); }
  .products-path:hover>img { transform:translate(-4px,-3px); }
  .carousel-button:hover { background:#f4f6ed; }
  .search-filter:not([aria-pressed="true"]):hover { background:#d7e0cc; }
}
@media(max-width:1200px) {
  .hero-description { font-size:14px; max-width:485px; }
  .hero-links .pill, .hero-links .text-link { font-size:12px; }
  .hero-links { gap:22px; }
  .pathway { min-height:322px; }
  .services-path h2 { font-size:28.16px; }
  .service-shortcuts { gap:7px; margin-top:23px; }
  .service-shortcuts a { font-size:10px; padding-inline:9px; }
  .section-aside p, .services-section .section-aside p { font-size:13px; }
  .services-section .section-aside { max-width:280px; }
}
@media(max-width:950px) {
  .main-nav a { font-size:12px; }
  .hero-intro .label, .hero-intro>span { font-size:9px; }
  .hero-description { font-size:13px; max-width:365px; }
  .hero-links { gap:15px; }
  .hero-links .pill, .hero-links .text-link { font-size:11px; }
  .hero-links .pill { padding-left:18px; gap:16px; }
  .hero-audience { font-size:10px; }
  .audience-types { gap:17px; }
  .pathway { min-height:335px; }
  .services-path h2 { font-size:25.52px; }
  .service-glyph { width:61px; height:61px; opacity:.18; right:22px; }
  .service-shortcuts { margin-top:22px; gap:7px; max-width:265px; }
  .service-shortcuts a { font-size:10px; min-height:34px; padding:7px 10px; }
  .product-counter { top:24px; right:23px; font-size:10px; }
  .pathway-link strong { font-size:11px; }
  .products-path .pathway-footer { right:20px; }
  .product-controls { gap:2px; }
  .carousel-button { width:40px; height:44px; border-color:transparent; background:transparent; }
  .products-path[data-product="monitoring"]>img { width:48%; right:12px; }
  .products-path[data-product="theatre"]>img { width:39%; right:8%; }
  .section-head .label, .project-copy .label, .faq-copy .label { font-size:10px; }
  .section-aside p, .services-section .section-aside p { font-size:12px; }
  .section-aside .text-link { font-size:11px; }
  .services-section .section-aside { max-width:240px; }
  .service-short { font-size:12px; }
  .service-expanded p { font-size:13px; }
  .service-tags span { font-size:9px; padding:7px 10px; }
  .service-expanded .text-link { font-size:11px; }
  .specialist-links a { font-size:11px; }
  .project-copy>p:not(.label) { font-size:13px; }
  .project-step strong { font-size:13px; }
  .project-step p { font-size:11px; }
  .faq-row summary { font-size:14px; }
  .faq-row>p { font-size:13px; }
  .contact-choice small { font-size:11px; }
  .contact-panel-footer { font-size:11px; flex-wrap:wrap; }
  .footer-column a, .footer-column address, .footer-brand p { font-size:11px; }
  .footer-bottom { font-size:10px; }
}
@media(max-width:700px) {
  .hero-title { line-height:1.07; }
  .hero-intro .label { font-size:9px; }
  .hero-bottom { margin-top:23px; margin-bottom:28px; }
  .hero-description { font-size:13px; max-width:440px; line-height:1.8; }
  .hero-links { gap:22px; }
  .hero-links .pill, .hero-links .text-link { font-size:12px; }
  .hero-links .pill { gap:18px; }
  .hero-audience { font-size:11px; }
  .audience-types { gap:9px 21px; }
  .pathway { min-height:278px; }
  .products-path>img { width:50%; top:28px; height:79%; right:-9px; }
  .products-path h2 { font-size:26.4px; }
  .products-path[data-product="monitoring"]>img { width:47%; right:14px; top:13px; height:83%; }
  .products-path[data-product="theatre"]>img { width:38%; right:10%; top:14px; height:81%; }
  .products-path .pathway-footer { left:25px; right:17px; bottom:20px; }
  .pathway-link>span { font-size:10px; }
  .pathway-link strong { font-size:12px; gap:9px; }
  .pathway-link strong>.icon { width:15px; height:15px; flex-basis:15px; }
  .product-controls { gap:0; }
  .carousel-button { width:40px; height:44px; }
  .services-path { min-height:296px; }
  .services-path h2 { font-size:28.16px; max-width:300px; }
  .service-glyph { width:66px; height:66px; right:24px; top:29px; }
  .service-shortcuts { max-width:100%; margin-top:20px; }
  .service-shortcuts a { min-height:35px; padding:7px 11px; font-size:10px; }
  .services-path .pathway-footer { bottom:23px; }
  .services-path .pathway-footer .circle { width:31px; height:31px; }
  .section-head .label, .project-copy .label, .faq-copy .label { font-size:10px; }
  .section-aside { display:block; max-width:440px; }
  .section-aside p { font-size:13px; max-width:420px; }
  .section-aside .text-link { font-size:12px; margin-top:9px; }
  .product-index-title { font-size:10px; }
  .product-index a { font-size:11px; padding-block:18px; }
  .products-quote, .products-quote button { font-size:12px; }
  .services-section .section-aside { max-width:440px; }
  .services-section .section-aside p { font-size:13px; max-width:420px; }
  .services-section .section-aside .text-link { font-size:12px; }
  .service-row summary { padding-block:26px; gap:12px; }
  .service-short { font-size:12px; max-width:330px; line-height:1.75; }
  .service-expanded p { font-size:13px; line-height:1.8; }
  .service-expanded .text-link { font-size:12px; }
  .service-tags span { font-size:10px; }
  .services-tail { font-size:11px; gap:20px; }
  .services-tail .text-link { font-size:11px; white-space:normal; text-align:left; }
  .specialist .label { font-size:10px; }
  .specialist-links a { font-size:12px; }
  .project-card .label { font-size:10px; }
  .project-step p { font-size:12px; }
  .project-step strong { font-size:13px; }
  .faq-copy>p:not(.label) { font-size:13px; max-width:400px; }
  .faq-row summary { font-size:14px; line-height:1.6; }
  .faq-row>p { font-size:13px; line-height:1.85; }
  .contact-copy .label { font-size:10px; }
  .contact-choice small { font-size:12px; max-width:250px; }
  .contact-panel-footer { font-size:12px; }
  .contact-panel-footer>span { font-size:11px; }
  .footer-column h3 { font-size:10px; }
  .footer-brand p { font-size:11px; }
  .footer-column a, .footer-column address, .contact-column address { font-size:12px; }
  .footer-bottom { font-size:10px; }
  .quote-form>p { font-size:12px; }
  .quote-form input, .quote-form select, .quote-form textarea { font-size:16px; }
  .quote-form .form-note { font-size:11px; }
  .search-toolbar { gap:10px; }
  .search-filter { padding:9px 12px; font-size:11px; }
  #search-count { font-size:10px; }
  .search-results strong { font-size:17px; }
  .search-results small, .search-foot { font-size:10px; }
}
@media(max-width:370px) {
  .hero-description { font-size:12px; }
  .hero-links { gap:17px; }
  .hero-links .pill, .hero-links .text-link { font-size:11px; }
  .hero-links .pill { gap:12px; }
  .hero-intro .label { font-size:8px; }
  .hero-audience { font-size:10px; }
  .audience-types { gap:8px 18px; }
  .products-path h2 { font-size:23.76px; }
  .products-path>img { width:44%; right:-9px; }
  .products-path .pathway-footer { left:23px; right:12px; }
  .pathway-link strong { font-size:11px; gap:7px; }
  .pathway-link>span { font-size:9px; }
  .pathway { min-height:270px; }
  .services-path { min-height:298px; }
  .services-path h2 { font-size:25.52px; }
  .service-shortcuts { margin-top:20px; }
  .service-shortcuts a { padding:7px 9px; }
  .product-index a { font-size:11px; }
  .specialist-links a { font-size:11px; }
  .project-step p { font-size:11px; }
  .contact-panel { padding-inline:23px; }
  .contact-choice { padding:16px 15px; gap:12px; }
  .contact-choice strong { font-size:14px; }
  .contact-choice small { font-size:11px; }
  .footer-brand { gap:20px; }
  .footer-brand p { font-size:10px; }
  .search-filter { font-size:10px; padding-inline:9px; }
  .search-toolbar { gap:7px; }
  #search-count { font-size:9px; }
}

.product-index.catalogue-pills {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.product-index.catalogue-pills a {
  display:grid;
  grid-template-columns:80px minmax(0,1fr) 28px;
  column-gap:10px;
  align-items:center;
  min-height:108px;
  padding:10px 16px 10px 8px;
  border:0;
  border-radius:999px;
  background:#e0e8d9;
  color:var(--ink);
  font-size:14px;
  line-height:1.35;
  letter-spacing:-.025em;
  position:relative;
  isolation:isolate;
  box-shadow:0 0 0 1px #102c2005;
  transition:transform 150ms ease-out,box-shadow 150ms ease-out;
}
.catalogue-pills .catalogue-label { min-width:0; }
.catalogue-pills .catalogue-thumb {
  display:grid;
  place-items:center;
  width:80px;
  height:80px;
  overflow:hidden;
  border-radius:50%;
  mix-blend-mode:multiply;
}
.catalogue-pills .catalogue-thumb img {
  width:100%;
  height:100%;
  object-fit:contain;
  transform:scale(1.1);
  transition:transform 220ms var(--ease);
}
.catalogue-pills .catalogue-arrow {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid #6e856133;
  border-radius:50%;
  transition:background 150ms ease;
}
.product-index.catalogue-pills .icon {
  width:14px;
  height:14px;
  flex-basis:14px;
  color:#59754e;
  transition:transform 150ms ease-out;
}
.product-index.catalogue-pills .pill-renal { background:#e9e7f0; }
.product-index.catalogue-pills .pill-maternal { background:#ece8d7; }
.product-index.catalogue-pills .pill-endoscopy { background:#e3e9e1; }
.product-index.catalogue-pills .pill-dental { background:#ede9dc; }
.product-index.catalogue-pills .pill-furniture { background:#e0e8d9; }
.product-index.catalogue-pills .pill-life { background:#e9e7f0; }
.product-index.catalogue-pills .pill-consumables { background:var(--forest); color:#eef2e5; }
.catalogue-pills .pill-renal img { transform:scale(1.03); }
.catalogue-pills .pill-life img { transform:scale(1.32); }
.catalogue-pills .pill-furniture img { transform:scale(1.18); }
.catalogue-pills .pill-consumables .catalogue-thumb { mix-blend-mode:normal; }
.catalogue-pills .pill-consumables img { transform:scale(.96); }
.catalogue-pills .pill-consumables .catalogue-arrow { border-color:#c4d8ae40; }
.product-index.catalogue-pills .pill-consumables .icon { color:#d3e2c5; }
.product-index.catalogue-pills a:active { transform:scale(.96); }
.product-index.catalogue-pills a:focus-visible { outline-offset:5px; }
@media(hover:hover) and (pointer:fine) {
  .product-index.catalogue-pills a:hover {
    color:var(--ink);
    transform:translateY(-3px);
    box-shadow:0 0 0 1px #102c200a,0 8px 18px -8px #17352b24;
  }
  .catalogue-pills a:hover .catalogue-arrow { background:#ffffff6b; }
  .product-index.catalogue-pills a:hover .icon { transform:rotate(-35deg); }
  .product-index.catalogue-pills .pill-consumables:hover { color:#eef2e5; }
  .catalogue-pills .pill-consumables:hover .catalogue-arrow { background:#eaf2df12; }
}
@media(max-width:1100px) {
  .product-index.catalogue-pills { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .product-index.catalogue-pills a { font-size:14px; }
}
@media(max-width:700px) {
  .product-index.catalogue-pills { gap:12px; margin-top:17px; }
  .product-index.catalogue-pills a {
    grid-template-columns:54px minmax(0,1fr);
    column-gap:8px;
    min-height:86px;
    padding:10px 13px 10px 7px;
    font-size:12px;
    line-height:1.35;
    letter-spacing:-.02em;
  }
  .catalogue-pills .catalogue-thumb { width:54px; height:62px; }
  .catalogue-pills .catalogue-arrow { display:none; }
}
@media(max-width:400px) {
  .product-index.catalogue-pills a { grid-template-columns:50px minmax(0,1fr); }
  .catalogue-pills .catalogue-thumb { width:50px; }
}
@media(max-width:370px) {
  .product-index.catalogue-pills { grid-template-columns:1fr; gap:10px; }
  .product-index.catalogue-pills a {
    grid-template-columns:64px minmax(0,1fr) 28px;
    column-gap:12px;
    min-height:86px;
    padding:9px 20px 9px 9px;
    font-size:13px;
  }
  .catalogue-pills .catalogue-thumb { width:64px; height:64px; }
  .catalogue-pills .catalogue-arrow { display:grid; }
}

/* New generated category cutouts. Keep the established card layout and copy. */
.equipment-card.laboratory { background:#11564b; }
.equipment-card.laboratory::before { display:none; }
.equipment-card.laboratory>img {
  position:absolute;
  inset:auto;
  right:1%;
  bottom:-5%;
  width:71%;
  height:69%;
  object-fit:contain;
  object-position:center;
  z-index:0;
  pointer-events:none;
  transform:none;
  transition:transform 220ms var(--ease);
}
.equipment-card.more>img {
  position:absolute;
  right:-4%;
  bottom:-8%;
  width:74%;
  height:74%;
  object-fit:contain;
  z-index:0;
  pointer-events:none;
  transform:none;
  transition:transform 220ms var(--ease);
}
.equipment-card.more .small-note,
.equipment-card.laboratory .small-note { z-index:2; }
@media(hover:hover) and (pointer:fine) {
  .equipment-card.laboratory:hover>img,
  .equipment-card.more:hover>img { transform:translateY(-4px); }
}
@media(max-width:700px) {
  .equipment-grid { grid-template-rows:380px 227px 245px; }
  .equipment-card.laboratory>img { width:94%; height:43%; right:0; bottom:48px; }
  .equipment-card.more>img { width:90%; height:36%; right:0; bottom:48px; }
}
@media(max-width:370px) {
  .equipment-grid { grid-template-rows:355px 210px 245px; }
}

/* Service imagery belongs to the work: delivery, setup, testing and equipment care. */
.services-section { padding-block:76px 54px; }
.services-section .section-head { align-items:end; gap:48px; margin-bottom:40px; }
.services-section .section-head .label { margin-bottom:21px; color:#dac87c; }
.services-section h2 { font-size:clamp(40px,4.15vw,61px); line-height:1.09; letter-spacing:-.055em; max-width:800px; }
.services-section h2 span { color:#adbea2; }
.services-section .section-aside { max-width:290px; padding-top:0; padding-bottom:3px; }
.services-section .section-aside p { color:#bdcbb4; font-size:13px; line-height:1.8; }
.services-section .section-aside .text-link { font-size:12px; min-height:44px; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-card { min-width:0; border-radius:24px; background:#edf0e5; color:var(--forest); scroll-margin-top:12px; position:relative; }
.service-card:nth-child(3n+2) { background:#e5ebdf; }
.service-card:nth-child(3n) { background:#eeeadd; }
.service-card-link { display:flex; flex-direction:column; height:100%; border-radius:inherit; overflow:hidden; transition:box-shadow 180ms ease,transform 180ms var(--ease); }
.service-card-media { position:relative; overflow:hidden; isolation:isolate; background:#c8d2c2; aspect-ratio:1.64; }
.service-card-media img { width:100%; height:100%; object-fit:cover; transition:transform 320ms var(--ease); }
.service-card:nth-child(1) img { object-position:50% 53%; }
.service-card:nth-child(2) img { object-position:50% 45%; }
.service-card:nth-child(4) img { object-position:50% 43%; }
.service-phase { position:absolute; top:15px; left:15px; display:inline-flex; align-items:center; gap:10px; padding:7px 11px; border-radius:30px; background:#f4f5eefa; color:#294a38; font-size:10px; font-weight:500; line-height:1.5; }
.service-phase>span { color:#6c7b62; font:9px/1.5 'Courier New',monospace; border-right:1px solid #b8c2ae; padding-right:9px; }
.service-card-body { flex:1; padding:23px 24px 25px; }
.service-card-title { display:flex; align-items:start; justify-content:space-between; gap:15px; }
.service-card h3 { max-width:250px; font-size:clamp(24px,2.2vw,31px); font-weight:500; letter-spacing:-.045em; line-height:1.12; min-height:2.24em; }
.service-card-arrow { width:34px; height:34px; display:grid; place-items:center; flex:0 0 34px; border:1px solid #506a4140; border-radius:50%; margin-top:2px; transition:background 180ms ease,transform 180ms var(--ease); }
.service-card-arrow .icon { width:16px; height:16px; transform:rotate(-35deg); }
.service-card-body>p { font-size:13px; color:#586d51; line-height:1.7; max-width:285px; margin-top:14px; }
.service-card[data-requested] { outline:3px solid var(--gold); outline-offset:5px; }
.service-card:focus-visible,.service-card-link:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
.service-card-link:active { transform:scale(.985); }
.services-tail { margin-top:33px; padding-top:23px; border-top:1px solid #cbddbb2b; font-size:12px; color:#bdcbb4; }
.services-tail .text-link { min-height:44px; font-size:12px; gap:20px; }
@media(hover:hover) and (pointer:fine) {
  .service-card-link:hover .service-card-media img { transform:scale(1.035); }
  .service-card-link:hover .service-card-arrow { background:var(--forest); color:#f4f5ee; border-color:var(--forest); transform:rotate(35deg); }
}
@media(max-width:1100px) {
  .services-section .section-head { gap:28px; }
  .services-section h2 { font-size:clamp(38px,4.5vw,52px); }
  .services-section .section-aside { max-width:245px; }
  .service-grid { gap:16px; }
  .service-card-body { padding:21px 19px 23px; }
  .service-card h3 { font-size:25px; }
  .service-card-title { gap:10px; }
  .service-card-arrow { width:30px; height:30px; flex-basis:30px; }
  .service-card-body>p { font-size:12px; }
  .service-phase { top:12px; left:12px; font-size:9px; padding:6px 9px; gap:8px; }
}
@media(max-width:850px) {
  .services-section { padding-block:60px 42px; }
  .services-section .section-head { display:block; margin-bottom:30px; }
  .services-section h2 { max-width:670px; font-size:48px; }
  .services-section .section-aside { display:flex; align-items:end; justify-content:space-between; gap:40px; max-width:none; margin-top:22px; }
  .services-section .section-aside p { max-width:390px; margin-bottom:0; }
  .services-section .section-aside .text-link { flex-shrink:0; }
  .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .service-card-body { padding:22px; }
  .service-card h3 { font-size:27px; }
  .service-card-body>p { font-size:13px; }
  .service-phase { font-size:10px; }
}
@media(max-width:600px) {
  .services-section { border-radius:27px 27px 0 0; padding-block:43px 30px; }
  .services-section .section-head { margin-bottom:27px; }
  .services-section .section-head .label { margin-bottom:18px; font-size:10px; }
  .services-section h2 { font-size:clamp(30px,7.5vw,43px); line-height:1.12; }
  .services-section .section-aside { display:block; margin-top:20px; }
  .services-section .section-aside p { font-size:13px; max-width:420px; }
  .services-section .section-aside .text-link { font-size:12px; margin-top:8px; }
  .service-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .service-card { border-radius:22px; }
  .service-card-media { aspect-ratio:1.62; }
  .service-card-body { padding:22px 23px 24px; }
  .service-card-title { align-items:center; gap:16px; }
  .service-card h3 { font-size:29px; min-height:0; max-width:280px; }
  .service-card-arrow { width:36px; height:36px; flex-basis:36px; }
  .service-card-body>p { font-size:13px; margin-top:13px; max-width:360px; }
  .service-phase { top:15px; left:15px; padding:7px 11px; }
  .services-tail { display:block; margin-top:26px; padding-top:21px; font-size:12px; }
  .services-tail>span { display:block; max-width:310px; }
  .services-tail .text-link { font-size:12px; margin-top:8px; }
}
@media(max-width:370px) {
  .services-section h2 { font-size:31px; }
  .service-card-body { padding:20px; }
  .service-card h3 { font-size:27px; }
}

/* Headline, description and actions share one left edge. */
.hero-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:22px; margin-top:26px; margin-bottom:38px; }
.hero-description { max-width:530px; font-size:14px; line-height:1.85; }
.hero-links { justify-content:flex-start; gap:24px; padding-left:0; margin-top:0; }
.hero-links .text-link { min-height:53px; padding-block:0; }
.hero>.shell { position:relative; isolation:isolate; }
.hero-graphic { position:absolute; z-index:-1; pointer-events:none; right:-16px; top:-12px; width:clamp(300px,33vw,420px); opacity:.9; mask-image:linear-gradient(to right,transparent,#000 22%); }
.hero-graphic>svg { display:block; width:100%; height:auto; overflow:visible; }
.ambient-sweep { stroke-dasharray:85 915; stroke-dashoffset:1000; opacity:.65; animation:hero-signal-flow 14s linear infinite; animation-play-state:paused; }
.ambient-secondary { stroke-dasharray:50 950; animation-duration:19s; animation-delay:-7s; opacity:.55; }
.ambient-point { opacity:.3; animation:hero-point-light 9s ease-in-out infinite; animation-play-state:paused; }
.ambient-point-secondary { animation-delay:-4.5s; }
.hero-graphic[data-motion-active] .ambient-sweep,.hero-graphic[data-motion-active] .ambient-point { animation-play-state:running; }
@keyframes hero-signal-flow { to { stroke-dashoffset:0; } }
@keyframes hero-point-light { 0%,100% { opacity:.15; } 50% { opacity:.6; } }
.product-counter { display:flex; align-items:center; top:15px; gap:0; }
.product-counter>span:last-child { margin-left:7px; }
.autoplay-toggle { display:grid; place-items:center; width:44px; height:44px; padding:0; margin-right:5px; border:0; border-radius:50%; background:transparent; color:inherit; transition:background 150ms ease; }
.autoplay-toggle .icon { width:15px; height:15px; stroke-width:1.8; }
@media(hover:hover) and (pointer:fine) { .autoplay-toggle:hover { background:#ffffff50; } }
@media(max-width:1100px) {
  .hero-graphic { opacity:.65; }
  .hero-links { gap:22px; }
  .hero-description { max-width:520px; font-size:13px; }
}
@media(max-width:950px) {
  .hero-graphic { display:none; }
  .hero-description { max-width:500px; }
  .product-counter { top:10px; }
}
@media(max-width:700px) {
  .hero-bottom { gap:20px; margin-top:22px; margin-bottom:30px; }
  .hero-description { max-width:440px; font-size:13px; }
  .hero-links { gap:22px; }
  .hero-links .text-link { min-height:48px; }
  .hero-title { font-size:clamp(40px,9.5vw,65px); }
  .products-path h2 { font-size:clamp(21.12px,6.6vw,26.4px); }
  .products-path>img { width:44%; right:-5px; }
  .products-path[data-product="monitoring"]>img { width:40%; right:-3px; }
  .products-path[data-product="theatre"]>img { width:32%; right:3%; }
}
@media(max-width:370px) {
  .hero-title { font-size:36px; }
  .hero-links { gap:16px; }
  .hero-description { font-size:12px; }
}

/* Keep headings and useful content; remove the decorative text strips. */
.pathway h2 { margin-top:0; }
.pathway-link strong { font-size:14px; }
.service-shortcuts a { font-size:12px; padding:9px 12px; }
.main-nav a { font-size:14px; }
.hero-description { font-size:15px; }
.section-aside p { font-size:15px; line-height:1.75; }
.section-aside .text-link { font-size:14px; }
.product-index-title { margin-top:38px; }
.product-index-title h3 { font-size:24px; font-weight:500; letter-spacing:-.035em; }
.equipment-card .card-caption p,.equipment-card .small-note { font-size:12px; line-height:1.7; }
.products-quote { justify-content:flex-end; margin-top:23px; }
.products-quote button.text-link { font-size:14px; text-decoration:none; min-height:44px; padding:10px 0; gap:15px; }

/* A single milk-coloured service area contains both cards and additional services. */
.services-section { background:#eeeee5; color:var(--ink); border-radius:32px; padding-block:72px 48px; }
.services-section h2 span { color:#73876c; }
.services-section .section-aside p { font-size:15px; color:#62715d; line-height:1.75; }
.services-section .text-link { font-size:14px; color:var(--forest); border-color:#aebaa5; }
.services-section .service-card { background:#fff; color:var(--ink); box-shadow:0 0 0 1px #17352b0a,0 3px 12px -7px #17352b15; }
.service-card-body>p { font-size:14px; line-height:1.75; color:#62715d; }
.service-card[data-requested],.service-card:focus-visible,.service-card-link:focus-visible { outline-color:#718365; }
.additional-services { margin-top:42px; }
.additional-services>h3 { margin-bottom:20px; font-size:24px; font-weight:500; letter-spacing:-.035em; }
.additional-pills { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.additional-pill { min-width:0; display:grid; grid-template-columns:64px minmax(0,1fr) 24px; align-items:center; column-gap:14px; min-height:88px; padding:10px 20px 10px 10px; border-radius:999px; background:#f9faf5; box-shadow:0 0 0 1px #17352b0b; font-size:14px; line-height:1.4; letter-spacing:-.015em; transition:background 160ms ease,box-shadow 160ms ease,transform 160ms var(--ease); }
.additional-thumb { width:64px; height:64px; display:grid; place-items:center; border-radius:50%; overflow:hidden; background:#e5eadc; }
.additional-thumb img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.additional-thumb.photo img { object-fit:cover; mix-blend-mode:normal; }
.additional-pill:nth-child(2) .additional-thumb { background:#ede9dc; }
.additional-pill:nth-child(4) .additional-thumb { background:#e6e4ed; }
.additional-pill:nth-child(5) .additional-thumb { background:#e2eadd; }
.additional-pill:nth-child(6) .additional-thumb { background:#e6e4ed; }
.additional-pill>.icon { width:17px; height:17px; color:#5f7655; }
.services-actions { display:flex; justify-content:flex-end; margin-top:30px; }
.services-actions .pill { font-size:14px; }

.project-copy>p:not(.label) { font-size:15px; line-height:1.85; }
.project-copy .text-link { font-size:14px; }
.project-card { min-height:0; }
.project-card h3 { margin-top:0; font-size:30px; }
.project-card::after { display:none; }
.project-steps { margin-top:28px; gap:26px; }
.project-step strong { font-size:15px; }
.project-step p { font-size:13px; line-height:1.7; max-width:none; margin-top:7px; }
.faq-copy>p:not(.label),.faq-row>p { font-size:14px; }
.faq-row summary { font-size:15px; }
.contact-choice strong { font-size:17px; }
.contact-choice small { font-size:13px; line-height:1.6; }
.contact-panel-footer { font-size:13px; }
.footer-column h3 { font:500 14px/1.5 Geist,Arial,sans-serif; letter-spacing:0; text-transform:none; }
.footer-column a,.footer-column address { font-size:13px; }
.footer-brand p { font-size:12px; }
.footer-bottom { font-size:11px; }
.quote-context>.label { display:none; }

@media(hover:hover) and (pointer:fine) {
  .additional-pill:hover { background:#fff; transform:translateY(-2px); box-shadow:0 0 0 1px #17352b15,0 6px 15px -8px #17352b25; }
}
.additional-pill:active { transform:scale(.98); }
@media(max-width:1100px) {
  .additional-pills { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-shortcuts a { font-size:11px; padding:8px 10px; }
  .hero-description { font-size:14px; }
  .section-aside p,.services-section .section-aside p { font-size:14px; }
}
@media(max-width:850px) {
  .services-section { padding-block:56px 40px; border-radius:27px; }
  .service-card-body>p { font-size:14px; }
  .services-section .section-aside { gap:30px; }
  .services-section .section-aside p { max-width:430px; }
  .additional-services { margin-top:34px; }
}
@media(max-width:700px) {
  .hero-description { font-size:14px; }
  .pathway-link strong { font-size:13px; }
  .service-shortcuts a { font-size:11px; }
  .section-aside p,.services-section .section-aside p { font-size:14px; }
  .section-aside .text-link,.services-section .section-aside .text-link { font-size:13px; }
  .product-index-title h3,.additional-services>h3 { font-size:22px; }
  .equipment-card .card-caption p,.equipment-card .small-note { font-size:12px; }
  .products-quote button.text-link { font-size:13px; }
  .project-copy>p:not(.label) { font-size:14px; }
  .project-copy .text-link { font-size:13px; }
  .project-card h3 { font-size:28px; }
  .project-steps { gap:24px 20px; }
  .project-step strong { font-size:14px; }
  .project-step p { font-size:13px; }
  .faq-copy>p:not(.label),.faq-row>p { font-size:14px; }
  .faq-row summary { font-size:14px; }
  .contact-choice strong { font-size:17px; }
  .contact-choice small,.contact-panel-footer,.contact-panel-footer>span { font-size:12px; }
  .footer-column a,.footer-column address,.contact-column address { font-size:13px; }
  .footer-brand p { font-size:12px; }
  .footer-column h3 { font-size:14px; }
  .footer-bottom { font-size:11px; }
}
@media(max-width:600px) {
  .services-section { padding-block:38px 32px; border-radius:24px; }
  .service-card-body>p { font-size:14px; }
  .additional-pills { grid-template-columns:minmax(0,1fr); gap:12px; }
  .additional-pill { font-size:14px; min-height:84px; padding:9px 18px 9px 9px; }
  .additional-services { margin-top:32px; }
  .additional-services>h3 { margin-bottom:17px; }
  .services-actions { justify-content:flex-start; margin-top:24px; }
  .services-actions .pill { font-size:13px; }
}
@media(max-width:370px) {
  .pathway-link strong { font-size:12px; gap:8px; }
  .hero-description { font-size:13px; }
  .service-shortcuts { gap:6px; }
  .service-shortcuts a { font-size:10px; padding-inline:9px; }
  .additional-pill { grid-template-columns:56px minmax(0,1fr) 20px; column-gap:11px; padding-right:15px; }
  .additional-thumb { width:56px; height:56px; }
  .project-card { padding:23px; }
  .project-steps { gap:24px 16px; }
}

.hero-slide-link { position:absolute; inset:0; z-index:1; border-radius:inherit; }
.hero-slide-link:focus-visible { outline:3px solid var(--gold); outline-offset:-4px; }
.pathways .product-counter { z-index:2; }
.pathways .pathway-footer { z-index:3; pointer-events:none; }
.pathways .product-controls { pointer-events:auto; }
.services-path .service-shortcuts { pointer-events:none; }
.services-path .service-shortcuts button { pointer-events:auto; }
.services-path>img.hero-service-image {
  position:absolute; right:0; bottom:0; top:auto; width:78%; height:90%;
  object-fit:contain; object-position:right bottom; z-index:-1;
  mix-blend-mode:normal; pointer-events:none;
}
.services-path .service-shortcuts {
  display:flex; flex-direction:column; align-items:flex-start;
  gap:7px; margin-top:18px; max-width:180px;
}
.services-path .service-shortcuts button {
  display:inline-flex; align-items:center; gap:7px;
  min-height:32px; padding:7px 11px; border:1px solid #b6ce9e2e;
  border-radius:9px; background:#10382c; color:#c8d8bf;
  font-size:12px; line-height:1.2;
  transition:background 150ms ease,border-color 150ms ease,color 150ms ease;
}
.services-path .service-shortcuts button[aria-pressed="true"] {
  background:#284d3b; color:#f3f6eb; border-color:#c4d3b75c;
}
.services-path .service-shortcuts .icon { width:14px; height:14px; flex-basis:14px; }
.service-counter { color:#c8d7ba; }
.service-counter>span:last-child { color:#a3b894; }
.services-path .carousel-button {
  color:#e1ead6; border-color:#c8d8b94d; background:#062e24e8;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.services-path .pathway-footer { right:24px; z-index:3; }
.pathways .pathway-footer { align-items:center; }
.services-path .pathway-link { padding:7px 11px; margin-left:-11px; border-radius:30px; background:#062e24eb; }
.services-path .pathway-link strong { gap:10px; }
#previous-service .icon { transform:rotate(180deg); }
@media(hover:hover) and (pointer:fine) {
  .services-path .service-shortcuts button:hover { background:#284d3b; border-color:#c4d3b75c; }
  .services-path .carousel-button:hover { background:#244b3d; }
  .services-path .autoplay-toggle:hover { background:#ffffff16; }
}
@media(max-width:1100px) {
  .services-path .service-shortcuts { margin-top:17px; gap:6px; }
  .services-path .service-shortcuts button { font-size:11px; min-height:31px; }
  .services-path>img.hero-service-image { width:78%; height:90%; }
}
@media(max-width:950px) {
  .services-path .pathway-footer { right:20px; }
  .services-path>img.hero-service-image { width:76%; }
}
@media(max-width:700px) {
  .services-path .service-shortcuts { margin-top:16px; max-width:155px; gap:6px; }
  .services-path .service-shortcuts button { min-height:31px; padding:7px 10px; }
  .services-path>img.hero-service-image { width:76%; height:75%; }
  .services-path .pathway-footer { left:25px; right:17px; bottom:20px; }
}
@media(max-width:370px) {
  .services-path .service-shortcuts button { font-size:11px; padding:7px 9px; }
  .services-path .pathway-footer { left:23px; right:12px; }
  .services-path>img.hero-service-image { width:78%; height:71%; }
  .services-path .pathway-link strong { font-size:12px; gap:8px; }
}

/* Section headings lead; listing titles are a quieter, consistent level. */
.equipment-grid .equipment-card h3,
.services-section .service-card h3 {
  font-size:24px;
  font-weight:400;
  line-height:1.16;
  letter-spacing:-.035em;
}
.equipment-grid .equipment-card.imaging h3 { font-size:32px; }
@media(max-width:950px) {
  .equipment-grid .equipment-card h3,
  .services-section .service-card h3 { font-size:22px; }
  .equipment-grid .equipment-card.imaging h3 { font-size:30px; }
}
@media(max-width:700px) {
  .equipment-grid .equipment-card.imaging h3 { font-size:28px; }
}
@media(max-width:370px) {
  .equipment-grid .equipment-card h3 { font-size:20px; }
  .equipment-grid .equipment-card.imaging h3 { font-size:26px; }
  .services-section .service-card h3 { font-size:21px; }
}

/* Actual mouse/pen entry also works when the preview reports hover:none. */
.equipment-card:is([data-hovered],:focus-visible) {
  transform:translateY(-5px);
  box-shadow:0 16px 40px #1836220d;
}
.equipment-card.imaging:is([data-hovered],:focus-visible)>img { transform:rotate(-2deg) scale(1.04); }
.equipment-card.monitoring:is([data-hovered],:focus-visible)>img { transform:rotate(-3deg) translateY(-5px); }
.equipment-card.theatre:is([data-hovered],:focus-visible)>img { transform:translateY(-7px); }
.equipment-card.laboratory:is([data-hovered],:focus-visible)>img { transform:translateY(-4px) scale(1.04); }
.equipment-card.more:is([data-hovered],:focus-visible)>img { transform:translateY(-4px) scale(1.03); }
.equipment-card:is([data-hovered],:focus-visible) .round-arrow { background:#f6f8f1a0; transform:rotate(45deg); }
.equipment-card.laboratory:is([data-hovered],:focus-visible) .round-arrow { background:#ffffff15; }
.equipment-card.more:is([data-hovered],:focus-visible) .round-arrow { background:#ffffff0d; }

.service-card-link:is([data-hovered],:focus-visible) { transform:translateY(-3px); box-shadow:0 12px 30px #17352b12; }
.service-card-link:is([data-hovered],:focus-visible) .service-card-media img { transform:scale(1.035); }
.service-card-link:is([data-hovered],:focus-visible) .service-card-arrow { background:var(--forest); color:#f4f5ee; border-color:var(--forest); transform:rotate(35deg); }
.product-index.catalogue-pills a:is([data-hovered],:focus-visible) { transform:translateY(-3px); box-shadow:0 0 0 1px #102c200a,0 8px 18px -8px #17352b24; }
.catalogue-pills a:is([data-hovered],:focus-visible) .catalogue-arrow { background:#ffffff6b; }
.product-index.catalogue-pills a:is([data-hovered],:focus-visible) .icon { transform:rotate(-35deg); }
.catalogue-pills .pill-consumables:is([data-hovered],:focus-visible) .catalogue-arrow { background:#eaf2df12; }
.additional-pill:is([data-hovered],:focus-visible) { background:#fff; transform:translateY(-2px); box-shadow:0 0 0 1px #17352b15,0 6px 15px -8px #17352b25; }

@media(prefers-reduced-motion:reduce) {
  .equipment-card:is([data-hovered],:focus-visible),
  .service-card-link:is([data-hovered],:focus-visible),
  .product-index.catalogue-pills a:is([data-hovered],:focus-visible),
  .additional-pill:is([data-hovered],:focus-visible) { transform:none; }
  .equipment-card.imaging:is([data-hovered],:focus-visible)>img { transform:rotate(-5deg); }
  .equipment-card.monitoring:is([data-hovered],:focus-visible)>img { transform:rotate(-7deg); }
  .equipment-card.theatre:is([data-hovered],:focus-visible)>img,
  .equipment-card.laboratory:is([data-hovered],:focus-visible)>img,
  .equipment-card.more:is([data-hovered],:focus-visible)>img,
  .equipment-card:is([data-hovered],:focus-visible) .round-arrow,
  .service-card-link:is([data-hovered],:focus-visible) .service-card-media img,
  .service-card-link:is([data-hovered],:focus-visible) .service-card-arrow,
  .product-index.catalogue-pills a:is([data-hovered],:focus-visible) .icon { transform:none; }
}

/* BRAND_COLOURS_START */
/* Original Franance palette and type treatment. Approved catalogue colours stay. */
:root {
  --brand-green:#169558;
  --brand-green-surface:#084b2a;
  --brand-green-hover:#0b5c34;
  --brand-green-text:#117a49;
  --brand-green-pale:#e7f0e6;
  --brand-on-green:#fff;
  --body-copy:#486453;
  --quiet-copy:#5a7361;
  --field-placeholder:#5f7565;
  --rule:#cfddcf;
  --field-surface:#f5f8f2;
  --cream:#f1eee2;
  --hero-gold:#f4e6b2;
  --hero-green:#084b2a;
  --hero-top:#001d0e;
  --hero-ink:#084b2a;
  --paper:#f7f8f3;
  --page-panel:#eef2e9;
  --hero-equipment:#edf1e7;
  --hero-services:#f1eee2;
  --hero-photo:url('/assets/hero-biomedical-engineer-v1.webp');
  --green:var(--brand-green-text);
  --muted:var(--body-copy);
  --line:var(--rule);
}
.inner-page { --paper:#f7f8f3; --milk:var(--page-panel); --lavender:var(--page-panel); --sage:var(--brand-green); --muted:var(--body-copy); }
.company-page { --company-muted:var(--body-copy); --company-sage:var(--brand-green); }
body { font-family:sans-serif; letter-spacing:-.025em; }
.equipment-grid,.catalogue-pills { font-family:Geist,Arial,sans-serif; letter-spacing:normal; }

.pill,.pill.gold {
  background:var(--brand-green-surface);
  color:var(--brand-on-green);
}
.pill .button-icon,.pill.gold .button-icon { background:#ffffff30; }
.header-actions .pill.gold { background:var(--gold); color:var(--hero-ink); }
.main-nav a::after { background:var(--brand-green); height:2px; }
.main-nav a[aria-current],.mobile-menu a[aria-current] { color:var(--brand-green-text); }
:is(a,button,summary,input,select,textarea):focus-visible { outline-color:var(--brand-green); }
.text-link { border-bottom-color:#16955880; }
.text-link>.icon,.text-link>.circle,.additional-pill>.icon { color:var(--brand-green-text); }
.footer-column a:hover,.footer-bottom a:hover { color:var(--brand-green-text); }
::selection { background:#16955835; color:var(--deep); }

/* Both first-screen carousels are light against the green introduction. */
.products-path { background:var(--hero-equipment); }
.services-path { background:var(--hero-services); color:var(--ink); }
.services-path .service-shortcuts button {
  background:#ffffffdb;
  color:var(--ink);
  border-color:transparent;
}
.services-path .service-shortcuts .icon { color:var(--brand-green-text); }
.services-path .service-shortcuts button[aria-pressed="true"] {
  background:var(--brand-green-surface);
  border-color:var(--brand-green-surface);
  color:#fff;
}
.services-path .service-shortcuts button[aria-pressed="true"] .icon { color:#9cdbb6; }
.service-counter,.service-counter>span,.service-counter>span:last-child { color:var(--ink); }
.services-path .pathway-link { background:#f4f5eef2; }
.services-path .pathway-link>strong { color:var(--ink); }
.services-path .carousel-button {
  background:#f4f5eef2;
  color:var(--ink);
  border-color:#001b1040;
}
.hero-slide-link:focus-visible { outline-color:var(--brand-green-text); }
.services-path :is(a,button):focus-visible { outline-color:var(--brand-green-text); }
.hero-graphic .ambient-contours { stroke:var(--brand-green); }
.hero-graphic .ambient-sweep { stroke:var(--brand-green); }
.hero-graphic .ambient-point-secondary { fill:var(--brand-green); }
.service-card-arrow { background:var(--brand-green-pale); border-color:#16955855; color:var(--brand-green-text); }
.service-card[data-requested],.service-card:focus-visible,.service-card-link:focus-visible { outline-color:var(--brand-green); }

/* Preserve the original yellow enquiry panel exactly. */
.contact-panel { background:#dfce88; color:var(--ink); }
.contact-choice { background:#ffffff4f; color:var(--ink); }
.contact-choice small { color:#616344; }
.contact-choice .circle { border-color:#8e8e5940; color:var(--ink); }
.contact-panel-footer { color:#606743; border-color:#71794c30; }
.contact-panel-footer a { color:#29442b; }
.contact-panel :is(a,button):focus-visible { outline-color:#a58a24; }
.search-filter[aria-pressed="true"] {
  background:var(--brand-green-surface);
  color:var(--brand-on-green);
  box-shadow:none;
}

/* Inner pages share the same brand accents and interaction colours. */
.inner-page .page-title span,.company-page .company-hero h1 span { color:var(--brand-green); }
.company-section-nav a[aria-current="location"] { color:var(--brand-green-text); }
.company-section-nav a::after { background:var(--brand-green); }
.company-purpose { background:var(--brand-green-surface); color:var(--brand-on-green); }
.company-purpose-details p { color:var(--brand-on-green); }
.company-purpose-details article { border-color:#ffffff45; }
.company-area-tabs>button[aria-selected="true"] { border-top-color:var(--brand-green); }
.company-area-tabs>button[aria-selected="true"] strong,
.company-area-tabs>button[aria-selected="true"]>.icon { color:var(--brand-green-text); }
.company-area-tabs>button:focus-visible { outline-color:var(--brand-green); }
.company-area-caption .circle,.company-discover .circle {
  color:var(--brand-green-text);
  background:var(--brand-green-pale);
  border-color:#16955855;
}
.company-base { background:var(--brand-green-pale); }
.company-base h2 span { color:var(--brand-green-text); }
.company-address>a>.icon { color:var(--brand-green-text); }
.enquiry-tabs button[aria-pressed="true"],.policy-tabs a[aria-current="page"] {
  background:var(--brand-green-surface);
  color:var(--brand-on-green);
  border-color:var(--brand-green);
}
.contact-field input:focus,.contact-field textarea:focus {
  border-color:var(--brand-green);
  box-shadow:0 0 0 3px #16955820;
}
.direct-contact .circle {
  color:var(--brand-green-text);
  background:var(--brand-green-pale);
  border-color:#16955855;
}
.office-hours { background:var(--brand-green-pale); }
.office-hours .icon { color:var(--brand-green-text); }
.legal-card:first-child { background:var(--brand-green-surface); color:var(--brand-on-green); }
.legal-card:first-child p { color:var(--brand-on-green); }
.legal-card .circle { color:var(--brand-green-text); background:#f4f5eee6; border-color:#16955855; }
.legal-card:focus-within { outline-color:var(--brand-green-text); }
.policy-paper>svg { stroke:var(--brand-green); }
.policy-paper>i { background:#16955840; }
.policy-toc a[aria-current="location"] { color:var(--brand-green-text); background:var(--brand-green-pale); }
.policy-reading-progress { background:#16955825; }
.policy-reading-progress>span { background:var(--brand-green); }
.policy-body a { color:var(--brand-green-text); }
.next-policy .circle { color:var(--brand-green-text); }

@media(hover:hover) and (pointer:fine) {
  .pill:hover,.pill.gold:hover { background:var(--brand-green-hover); }
  .main-nav a:hover,.mobile-menu a:hover { color:var(--brand-green-text); }
  .services-path .service-shortcuts button:hover { background:#fff; color:var(--ink); border-color:transparent; }
  .services-path .service-shortcuts button[aria-pressed="true"]:hover { background:var(--brand-green-hover); color:#fff; }
  .services-path .carousel-button:hover { background:#fff; }
  .services-path .autoplay-toggle:hover { background:#001b1015; }
  .contact-choice:hover { background:#ffffff80; }
  .service-card-link:hover .service-card-arrow,
  .company-area-panel a:hover .circle,.company-discover:hover .circle {
    background:var(--brand-green-surface);
    color:var(--brand-on-green);
    border-color:var(--brand-green-surface);
  }
  .enquiry-tabs button:not([aria-pressed="true"]):hover,
  .policy-tabs a:not([aria-current]):hover,.print-policy:hover { background:var(--brand-green-pale); }
}

/* Remove competing colours outside the approved product grid and image pills. */
.site-header { background:var(--paper); }
.contact-portrait,.legal-card:nth-child(2),.next-policy:nth-child(2) { background:var(--page-panel); }
.project-card,.legal-card:nth-child(3) { background:var(--cream); }
.services-section { background:var(--page-panel); }
.contact-form-card,.policy-body { background:#fff; }
.company-section-nav { background:var(--paper); }
.company-area-tabs>button[aria-selected="false"] strong { color:var(--quiet-copy); }
.company-base { background:var(--brand-green-pale); }
.page-cta,.office-hours { background:var(--page-panel); }
.quote-context { background:var(--brand-green-surface); color:#fff; }
.quote-context>p:not(.label),.quote-context .quote-phone,.quote-context .quote-phone span { color:#fff; }

/* Homepage: every section uses the same text, accent and surface roles.
   The product grid, catalogue pills and restored yellow panel are exceptions. */
.products-section .section-head h2>span,
.services-section .section-head h2>span,
.project-copy h2>span { color:var(--brand-green); }
.section-aside p,.services-section .section-aside p,
.service-card-body>p,.project-copy>p:not(.label),.project-step p,
.faq-copy>p:not(.label),.faq-row>p { color:var(--body-copy); }
.products-quote,.product-index-title { color:var(--body-copy); }
.product-counter,.product-counter>span+span { color:var(--quiet-copy); }
.service-counter,.service-counter>span,.service-counter>span:last-child { color:var(--ink); }
.pathway-link>span { color:var(--body-copy); }
.products-path .carousel-button { background:#f7faf2ed; border-color:#31704a40; color:var(--brand-green-text); }
.services-path .pathway-link,.services-path .carousel-button { background:#fff9; }
.service-card-arrow { border-color:#16955855; }
.additional-services>h3 { color:var(--brand-green-text); }
.additional-pill { background:#fff; box-shadow:0 0 0 1px #17352b10; }
.additional-thumb,.additional-pill:nth-child(n) .additional-thumb { background:var(--brand-green-pale); }
.additional-pill:nth-child(2n) .additional-thumb { background:var(--cream); }
.project-card h3,.project-step strong { color:var(--brand-green-text); }
.project-step { border-color:#16955840; }
.faq-row { border-color:var(--rule); }
.faq-row:first-child { border-top-color:var(--rule); }
.faq-row summary .icon { color:var(--brand-green-text); }
.faq-row[open]>summary { color:var(--brand-green-text); }

/* About: section navigation, overview, purpose, work, approach and location. */
.company-cover,.company-area-photo { background:var(--brand-green-pale); }
.company-section-nav { border-bottom-color:var(--rule); }
.company-section-nav a { color:var(--body-copy); }
.company-body-columns p,.company-work-heading>p,
.company-area-tabs>button>span>span,.company-principle-list p,
.company-base p,.company-address address { color:var(--body-copy); }
.company-area-tabs>button,.company-area-tabs>button:last-child,
.company-principle-list article,.company-address>a { border-color:var(--rule); }
.company-area-tabs>button[aria-selected="true"] { border-top-color:var(--brand-green); }
.company-principle-list h3,.company-address h3 { color:var(--brand-green-text); }
.company-base h2 span { color:var(--brand-green); }

/* Contact: enquiry form, direct contacts, office details and FAQ. */
.page-section h2 span { color:var(--brand-green); }
.enquiry-tabs button,.policy-tabs a,.print-policy { border-color:#31704a45; }
.enquiry-tabs button[aria-pressed="true"],.policy-tabs a[aria-current="page"] { border-color:var(--brand-green-surface); }
.contact-form-card,.direct-contact,.policy-body { border-color:#31704a22; }
.direct-contact a { border-bottom-color:var(--rule); }
.direct-contact a:last-child { border-bottom:0; }
.contact-field label span { color:var(--quiet-copy); }
.contact-field input,.contact-field textarea,
.quote-form input,.quote-form select,.quote-form textarea {
  color:var(--ink); background:var(--field-surface); border-color:#31704a45;
}
.contact-field input::placeholder,.contact-field textarea::placeholder,
.quote-form input::placeholder,.quote-form textarea::placeholder { color:var(--field-placeholder); }
.office-hours { background:var(--cream); }
.office-hours h3,.contact-form-card>h2 { color:var(--brand-green-text); }
.contact-faq .faq-row[open]>summary { color:var(--brand-green-text); }

/* Legal hub and all policy readers, including mobile contents and print action. */
.legal-card:not(:first-child) p { color:var(--body-copy); }
.policy-paper { background:#fff; }
.policy-paper::before { background:#cfe4d2; }
.policy-section p,.policy-section li,.policy-body>p { color:var(--body-copy); }
.policy-section h2 { color:var(--brand-green-text); }
.policy-meta,.policy-toc a,.mobile-toc nav a,.policy-source-note { color:var(--body-copy); }
.policy-toc a[aria-current="location"] { color:var(--brand-green-text); }
.mobile-toc { background:var(--brand-green-pale); }
.next-policy { background:var(--cream); }
.next-policy:nth-child(2) { background:var(--brand-green-pale); }
.legal-help>a { color:var(--brand-green-text); }

/* Shared header, footer, search, quotation and enquiry-review dialogs. */
.header-actions>.circle { color:var(--brand-green-text); border-color:#31704a40; }
.site-header.scrolled { border-bottom-color:var(--rule); }
.footer-brand p,.footer-column a,.footer-column address,.footer-bottom,
.footer-bottom a { color:var(--body-copy); }
.footer-column h3 { color:var(--brand-green-text); }
.mobile-menu-bottom p { color:var(--body-copy); }
.mobile-search,.search-filters { background:var(--brand-green-pale); border-color:var(--rule); }
dialog,.draft-dialog { background:var(--paper); border-color:var(--rule); }
.dialog-close { background:var(--brand-green-pale); color:var(--brand-green-text); }
.search-dialog h2 { color:var(--brand-green-text); }
.search-input input,.search-results strong { color:var(--ink); }
.search-results small,.search-empty,.search-foot,#search-count,
.quote-form>p,.quote-form .form-note { color:var(--body-copy); }
.quote-form label { color:var(--ink); }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus {
  border-color:var(--brand-green); box-shadow:0 0 0 3px #16955820;
}
.draft-status { background:var(--brand-green-pale); color:var(--brand-green-text); }
.draft-details,.draft-note { color:var(--body-copy); }

@media(hover:hover) and (pointer:fine) {
  .products-path .carousel-button:hover { background:#fff; }
  .search-filter:not([aria-pressed="true"]):hover,
  .search-results a:hover,.mobile-search:hover { background:#d9ecd9; }
  .direct-contact a:hover .circle,.legal-card:hover .circle {
    background:var(--brand-green-surface); color:#fff; border-color:var(--brand-green-surface);
  }
}

/* Compact header; the reserved height keeps the floating state from shifting content. */
.site-header { height:76px; backdrop-filter:none; -webkit-backdrop-filter:none; transition:transform 300ms cubic-bezier(.2,0,0,1),background-color 150ms ease,border-color 150ms ease; }
.site-header .header-inner { min-height:76px; border:1px solid transparent; transition:width 300ms cubic-bezier(.2,0,0,1),min-height 300ms cubic-bezier(.2,0,0,1),padding 300ms cubic-bezier(.2,0,0,1),border-radius 300ms cubic-bezier(.2,0,0,1),background-color 150ms ease,box-shadow 300ms cubic-bezier(.2,0,0,1); }
.site-header .brand,.site-header .brand img { width:100px; }
.site-header .brand img { height:40px; }
.site-header .main-nav { gap:28px; }
.site-header.scrolled { --header-ink:#17352b; --header-rule:#17352b29; transform:translateY(24px); background:transparent; border-color:transparent; pointer-events:none; }
.site-header.scrolled .header-inner { width:calc(100% - 32px); max-width:1024px; min-height:64px; padding-inline:32px; border-radius:100px; border-color:#ffffff1a; background:rgba(255,255,255,.05); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); box-shadow:0 25px 50px -12px #00000040; pointer-events:auto; }
.site-header.scrolled[data-surface="dark"] { --header-ink:#fff; --header-rule:#ffffff29; }
.site-header.scrolled[data-surface] .main-nav a,
.site-header.scrolled[data-surface] .header-actions>.circle { color:var(--header-ink); }
.site-header.scrolled[data-surface] .main-nav a::after { background:var(--header-ink); }
.site-header.scrolled[data-surface] .header-actions>.circle { border-color:var(--header-rule); }
.site-header.scrolled[data-surface="light"] :is(a,button):focus-visible { outline-color:var(--brand-green-text); }

/* Header and introduction are a single green field. Cards sit on the milk field. */
.home-page .site-header { position:fixed; inset:0 0 auto; background:transparent; color:#fff; }
.home-page .site-header.scrolled { background:transparent; border-color:transparent; }

.home-page .site-header .brand img,.home-page .mobile-menu-head .brand img { filter:none; }
.home-page .main-nav a,.home-page .main-nav a[aria-current],.home-page .header-actions .circle { color:#fff; }
.home-page .main-nav a::after { background:#fff; }
.home-page .header-actions .pill { background:var(--gold); color:var(--hero-ink); }
.home-page .header-actions .pill .button-icon { background:#ffffff35; }
.home-page .hero-links { gap:12px; align-items:center; }
.home-page .hero-links .pill { min-width:180px; min-height:54px; justify-content:space-between; gap:22px; padding:7px 7px 7px 23px; background:var(--gold); color:var(--hero-ink); font-size:13px; font-weight:550; letter-spacing:normal; text-transform:none; }
.home-page .hero-links .pill .button-icon { background:#ffffff35; width:37px; height:37px; }
.home-page .hero-links .hero-secondary { background:transparent; color:#fff; border-color:#ffffff65; }
.home-page .hero-links .hero-secondary .button-icon { background:#ffffff0c; }
.home-page .hero { padding-top:0; overflow:clip; }
.home-page .hero-copy { position:relative; padding-block:128px 48px; }
.home-page .hero-copy::before { content:""; position:absolute; z-index:-2; top:0; bottom:0; left:calc(50% - 50vw); width:100vw; background-color:var(--hero-green); background-image:linear-gradient(90deg,rgba(8,75,42,.99) 0%,rgba(8,75,42,.96) 38%,rgba(8,75,42,.8) 57%,rgba(8,75,42,.34) 74%,rgba(8,75,42,.08) 100%),linear-gradient(180deg,rgba(0,29,14,.78),rgba(0,29,14,.08) 46%,rgba(8,75,42,.12)),var(--hero-photo); background-position:center,center,center; background-size:cover; }
.home-page .hero-title,.home-page .hero-description,.home-page .hero-links .text-link { color:#fff; }
.home-page .hero-title { font-family:sans-serif; font-size:clamp(48px,7vw,84px); font-weight:500; letter-spacing:-.05em; line-height:1; }
.home-page .hero-title span { color:rgba(255,255,255,.8); font-weight:300; }
.home-page .hero-description { color:rgba(255,255,255,.6); font-size:18px; line-height:1.625; font-weight:300; letter-spacing:.025em; max-width:610px; }
.home-page .hero-title,.home-page .hero-bottom { position:relative; z-index:3; }
.home-page .hero-bottom { margin-bottom:0; }
.home-page .hero-links .circle { color:var(--hero-gold); border-color:#f4e6b270; background:#ffffff0c; }
.home-page .hero :is(a,button):focus-visible,.home-page .site-header :is(a,button):focus-visible { outline-color:#fff; }
.home-page .pathways { padding-top:32px; }
.home-page .pathways :is(a,button):focus-visible { outline-color:var(--brand-green-text); }
.home-page .hero-graphic { z-index:2; right:-45px; top:115px; width:560px; opacity:.16; mask-image:linear-gradient(to right,transparent,#000 40%); }
.home-page .hero-graphic .ambient-contours,
.home-page .hero-graphic use[href="#hero-signal-line"],
.home-page .hero-graphic use[href="#hero-return-line"] { stroke:url(#hero-brand-ink); }
.home-page .hero-graphic .ambient-contours>use:last-child { fill:#fff; fill-opacity:.08; stroke-opacity:.6; }
.home-page .hero-graphic .ambient-point { fill:var(--gold); }
.home-page .hero-graphic .ambient-point-secondary { fill:#fff; }
.home-page .hero-graphic #hero-dot-grid circle { fill:#fff; fill-opacity:.5; }
.home-page .mobile-menu { background:var(--hero-green); color:#fff; }
.home-page .mobile-menu nav a { border-bottom-color:#ffffff40; }
.home-page .mobile-search { background:#ffffff12; border-color:#ffffff50; color:#fff; }
.home-page .mobile-menu-bottom p,.home-page .mobile-menu-bottom a { color:#fff; }

@media(hover:hover) and (pointer:fine) {
  .home-page .main-nav a:hover { color:#fff; }
  .header-actions .pill.gold:hover,.home-page .header-actions .pill:hover { background:#c5b05f; }
  .home-page .hero-links .pill:hover { background:#c5b05f; }
  .home-page .hero-links .hero-secondary:hover { background:#ffffff0d; border-color:#ffffff66; }
}
@media(max-width:1200px) {
  .home-page .hero-copy { padding-block:118px 42px; }
  .home-page .hero-graphic { right:-65px; top:120px; width:510px; opacity:.14; }
}
@media(max-width:950px) {
  .site-header .header-inner { gap:16px; }
  .site-header .main-nav { gap:18px; }
  .site-header .main-nav a { font-size:12px; }
  .site-header .brand,.site-header .brand img { width:90px; }
  .site-header.scrolled .header-inner { padding-inline:18px; }
  .home-page .hero-copy { padding-block:112px 36px; }
}
@media(max-width:700px) {
  .site-header { height:70px; }
  .site-header .header-inner { min-height:70px; }
  .site-header .brand,.site-header .brand img { width:88px; }
  .site-header .brand img { height:36px; }
  .site-header.scrolled { transform:translateY(12px); }
  .site-header.scrolled .header-inner { width:calc(100% - 24px); min-height:60px; padding-inline:14px; gap:8px; }
  .home-page .hero-copy::before { background-image:linear-gradient(90deg,rgba(8,75,42,.97),rgba(8,75,42,.84)),linear-gradient(180deg,rgba(0,29,14,.75),transparent),var(--hero-photo); background-position:center,center,68% center; }
  .home-page .hero-copy { padding-block:99px 34px; }
  .home-page .pathways { padding-top:23px; }
  .home-page .hero-title { font-size:clamp(36px,9vw,58px); }
  .home-page .hero-description { font-size:17px; }
  .home-page .hero-links { width:min(100%,360px); gap:10px; }
  .home-page .hero-links .pill { flex:1; min-width:0; min-height:50px; gap:12px; padding-left:17px; font-size:12px; }
  .home-page .hero-links .button-icon { width:32px; height:32px; }
}
@media(max-width:370px) {
  .home-page .hero-title { font-size:34px; }
  .home-page .hero-description { font-size:16px; }
  .home-page .hero-links .pill { gap:8px; padding-left:13px; font-size:11px; }
  .home-page .hero-links .button-icon { width:30px; height:30px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header,.site-header .header-inner { transition:none; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .site-header.scrolled .header-inner { background:#f7f8f3; }
  .site-header.scrolled[data-surface="dark"] .header-inner { background:#052e19; }
}

/* Original green and wordmark, adapted to the site's softer closing layout. */
.site-footer { position:relative; isolation:isolate; overflow:hidden; width:calc(100% - 32px); max-width:1536px; margin:16px auto; padding:0; border-radius:32px; background:#084b2a; color:#fff; }
.site-footer::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.012; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:48px 48px; }
.site-footer>.shell { width:calc(100% - 80px); max-width:none; border:0; }
.site-footer .footer-main { display:grid; grid-template-columns:1.6fr repeat(4,minmax(0,1fr)); gap:32px; padding:46px 0 30px; }
.site-footer .footer-brand,.site-footer .footer-column { min-width:0; padding:0; border:0; }
.site-footer .footer-brand { display:block; }
.site-footer .footer-brand img { width:132px; height:48px; object-fit:contain; object-position:left center; filter:none; }
.site-footer .footer-brand p { max-width:255px; margin-top:20px; color:#ffffffb8; font-size:14px; font-weight:400; line-height:1.8; }
.site-footer .footer-column h3 { margin:5px 0 16px; color:#dfce88; font:500 14px/1.5 Geist,Arial,sans-serif; text-transform:none; letter-spacing:-.015em; }
.site-footer .footer-column a { display:flex; align-items:center; width:fit-content; min-height:39px; margin:0; color:#ffffffc2; font-size:14px; font-weight:400; line-height:1.6; overflow-wrap:break-word; transition:color 150ms ease; }
.site-footer .footer-contact-actions { display:flex; gap:9px; margin-top:20px; }
.site-footer .footer-contact-actions a { display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff29; border-radius:50%; color:#ffffffd9; background:#ffffff05; transition:color 150ms ease,background-color 150ms ease,border-color 150ms ease,transform 150ms cubic-bezier(.2,0,0,1); }
.site-footer .footer-contact-actions .icon { width:18px; height:18px; }
.site-footer .footer-wordmark { border:0; padding:18px 0 30px; color:#ffffff12; font-size:clamp(84px,15vw,220px); font-weight:500; letter-spacing:-.065em; line-height:.95; text-align:center; user-select:none; pointer-events:none; }
.site-footer .footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; width:calc(100% + 80px); margin:0 -40px; padding:20px 40px; border-top:1px solid #ffffff12; background:#052e19; color:#ffffffa3; gap:14px 24px; }
.site-footer .footer-bottom>span { font-size:12px; text-transform:none; letter-spacing:0; }
.site-footer .footer-bottom a { margin:0; color:#ffffffbf; font-size:12px; transition:color 150ms ease; }
.site-footer .footer-credit { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin:0; color:#ffffff99; font-size:12px; letter-spacing:0; text-transform:none; }
.site-footer .footer-credit::before { display:none; }
.site-footer .footer-credit a { color:#dfce88; font-size:12px; }
.site-footer .footer-back-top { display:inline-flex; flex-shrink:0; align-items:center; gap:14px; min-height:44px; padding:5px 6px 5px 16px; border:1px solid #ffffff26; border-radius:999px; color:#fff; background:#ffffff05; transition:color 150ms ease,background-color 150ms ease,border-color 150ms ease,transform 150ms cubic-bezier(.2,0,0,1); }
.site-footer .footer-back-top .circle { width:32px; height:32px; border:0; background:#ffffff0d; color:inherit; }
.site-footer .footer-back-top .icon { width:15px; height:15px; transform:rotate(-90deg); }
.site-footer :is(a,button):focus-visible { outline-color:#dfce88; }
.site-footer .footer-column a:is([data-hovered],:focus-visible),.site-footer .footer-credit a:is([data-hovered],:focus-visible) { color:#dfce88; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.site-footer :is(.footer-contact-actions a,.footer-back-top):is([data-hovered],:focus-visible) { color:#084b2a; background:#dfce88; border-color:#dfce88; }
.site-footer :is(.footer-contact-actions a,.footer-back-top):active { transform:scale(.96); }
@media(max-width:1100px) {
  .site-footer .footer-main { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding-top:34px; }
  .site-footer .footer-brand { display:grid; grid-template-columns:132px minmax(0,1fr) auto; align-items:center; gap:28px; grid-column:1/-1; padding-bottom:28px; border-bottom:1px solid #ffffff1a; }
  .site-footer .footer-brand p { max-width:390px; margin:0; }
  .site-footer .footer-contact-actions { margin:0; }
  .site-footer .footer-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 24px; }
  .site-footer .footer-credit { grid-column:1; grid-row:2; }
  .site-footer .footer-back-top { grid-column:2; grid-row:1/3; }
}
@media(max-width:850px) {
  .site-footer>.shell { width:calc(100% - 48px); }
  .site-footer .footer-main { gap:26px; }
  .site-footer .footer-brand { grid-template-columns:118px minmax(0,1fr); gap:24px; }
  .site-footer .footer-brand img { width:118px; height:44px; }
  .site-footer .footer-brand p { max-width:380px; }
  .site-footer .footer-contact-actions { grid-column:1/-1; }
  .site-footer .footer-column a { font-size:13px; }
  .site-footer .footer-bottom { width:calc(100% + 48px); margin-inline:-24px; padding-inline:24px; }
}
@media(max-width:700px) {
  .site-footer { width:calc(100% - 20px); margin:10px auto; border-radius:26px; }
  .site-footer>.shell { width:calc(100% - 40px); }
  .site-footer .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 20px; padding:30px 0 18px; }
  .site-footer .footer-brand { display:block; padding-bottom:26px; }
  .site-footer .footer-brand img { width:128px; height:46px; }
  .site-footer .footer-brand p { max-width:350px; margin-top:17px; font-size:14px; }
  .site-footer .footer-contact-actions { margin-top:18px; }
  .site-footer .footer-column h3 { margin:0 0 10px; font-size:14px; }
  .site-footer .footer-column a { min-height:44px; font-size:14px; line-height:1.55; }
  .site-footer .footer-wordmark { padding:18px 0 25px; font-size:15vw; }
  .site-footer .footer-bottom { display:flex; flex-direction:column; align-items:flex-start; width:calc(100% + 40px); margin-inline:-20px; gap:14px; padding:20px; }
  .site-footer .footer-bottom>span,.site-footer .footer-credit,.site-footer .footer-credit a { font-size:11px; line-height:1.8; }
  .site-footer .footer-back-top { order:-1; justify-content:space-between; width:100%; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-footer a { transition:none; }
  .site-footer :is(.footer-contact-actions a,.footer-back-top):active { transform:none; }
}

@media print {
  .inner-page .page-title span,.company-page .company-hero h1 span { color:#17352b; }
  .policy-body p,.policy-body li,.policy-section h2,.policy-section a { color:#000; }
}

/* BRAND_COLOURS_END */
    #services{scroll-margin-top:0}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
