:root{--navy:#102c46;--ink:#122c43;--muted:#586a79;--accent:#07898e;--light:#eef7f8;--line:#dbe5e9;--max:1200px;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d99329;outline-offset:5px}img{display:block;max-width:100%}button{cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:clamp(40px,4.8vw,66px);line-height:1.06;letter-spacing:-2.8px;font-weight:600}h2{font-size:clamp(30px,3.2vw,44px);line-height:1.13;letter-spacing:-1.6px;font-weight:500}h3{font-size:21px;line-height:1.3;letter-spacing:-.5px}p{line-height:1.75}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.eyebrow{display:flex;gap:13px;align-items:center;font-size:10px;line-height:1.6;font-weight:700;letter-spacing:2.3px;color:var(--accent);text-transform:uppercase;margin-bottom:23px}.eyebrow:before{content:'';width:31px;height:1px;background:currentColor}.muted{color:var(--muted)}.section{padding:90px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:14px 23px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-2px)}.button.outline{background:transparent;color:var(--navy);border-color:#9caeb9}.button.outline:hover{background:#eef4f7}.arrow{font-size:20px;font-weight:400;line-height:1}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.site-header{position:sticky;top:0;z-index:20;background:#fffffff2;backdrop-filter:blur(14px);border-bottom:1px solid #e4ecee}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:block;width:222px;height:65px;overflow:hidden;position:relative;flex-shrink:0}.brand img{height:auto;width:242px;max-width:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nav{display:flex;gap:31px;align-items:center;font-size:12px}.nav a{padding:10px 0}.nav a:hover,.nav a[aria-current]{color:var(--accent)}.nav a[aria-current]{border-bottom:2px solid var(--accent)}.header-cta{font-size:11px;min-height:40px;padding:10px 17px}.menu-toggle{display:none}.skip-link{position:fixed;top:-80px;left:20px;z-index:50;background:var(--navy);color:white;padding:14px}.skip-link:focus{top:10px}.hero{position:relative;min-height:585px;background:#f0f7fb;overflow:hidden;display:flex;align-items:center}.hero-visual{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6fafded 0%,#f6fafdba 35%,transparent 65%)}.hero-inner{position:relative;z-index:1;padding-top:65px;padding-bottom:65px}.hero-copy{max-width:600px}.hero .eyebrow{font-size:9px}.hero p{max-width:420px;color:#465c70;margin-top:22px;font-size:15px}.hero .button{min-height:46px}.hero-note{display:flex;align-items:center;gap:9px;font-size:10px;color:#667b89;margin-top:38px;letter-spacing:.3px}.hero-note:before{content:'';height:5px;width:5px;background:var(--accent);border-radius:100%}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.intro-copy p{font-size:14px;max-width:450px;margin-top:22px}.text-link{display:inline-flex;gap:28px;font-size:12px;color:var(--accent);font-weight:600;margin-top:24px;padding-bottom:5px;border-bottom:1px solid #b9d5d6}.intro-art{min-height:305px;background:#edf4f2;position:relative;overflow:hidden;display:grid;place-items:center}.sample-scene{width:100%;height:100%;min-height:305px;background:linear-gradient(145deg,#e9efeb,#fcfaf5 55%,#ddded6);position:relative}.sample-scene:before{content:'';position:absolute;width:145px;height:160px;right:50px;top:70px;background:linear-gradient(100deg,#d4b68f,#b99568);box-shadow:12px 15px 24px #394c4228;transform:skewY(-6deg)}.sample-scene:after{content:'';position:absolute;width:115px;height:125px;right:180px;top:108px;background:linear-gradient(100deg,#fff,#e9e6df);box-shadow:12px 15px 24px #394c4228;transform:skewY(-6deg)}.sample-sheet{position:absolute;width:160px;height:70px;left:42px;bottom:32px;background:repeating-linear-gradient(0deg,#bab5a3 0 1px,#cdc9bc 1px 3px);transform:skewY(-8deg);box-shadow:20px -25px 0 #a4b1aa,40px -50px 0 #eee9dd}.art-caption{position:absolute;bottom:15px;right:16px;font-size:9px;letter-spacing:1.4px;color:#69766e;text-transform:uppercase}.business{background:#f7fafb;border-block:1px solid #edf1f2}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:36px}.section-top p{font-size:13px;max-width:290px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.category-card{display:block;background:#fff;border:1px solid #e3e9ec;border-radius:6px;overflow:hidden;transition:transform .25s,box-shadow .25s}.category-card:hover{transform:translateY(-6px);box-shadow:0 16px 35px #102c460d}.category-picture{height:230px;background:#e9f3f6;position:relative;overflow:hidden}.category-picture img{width:100%;height:100%;object-fit:contain;padding:25px;mix-blend-mode:multiply}.category-picture.raw-photo img{position:absolute;width:220%;height:auto;max-width:none;left:-120%;top:-24%;padding:0;mix-blend-mode:normal}.category-picture.other{height:230px}.category-picture.other .sample-scene{min-height:230px}.category-picture.other .sample-scene:before{width:105px;height:105px;top:35px;right:30px}.category-picture.other .sample-scene:after{width:85px;height:95px;right:120px;top:60px}.category-picture.other .sample-sheet{width:110px;height:40px;left:30px;bottom:20px}.category-content{padding:27px 25px 26px;background:linear-gradient(#fff,#f5fafd)}.category-card:nth-child(2) .category-content{background:linear-gradient(#fff,#eff8f7)}.category-card:nth-child(3) .category-content{background:linear-gradient(#fff,#f8f5ef)}.category-number{font-size:10px;letter-spacing:2px;color:var(--accent);margin-bottom:12px}.category-content h3{font-size:20px;min-height:52px}.category-content p{font-size:12px;min-height:45px;margin-top:12px;color:var(--muted)}.category-link{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;margin-top:26px}.round-arrow{width:31px;height:31px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center}.category-card:nth-child(2) .round-arrow{background:#138988}.category-card:nth-child(3) .round-arrow{background:#9b7546}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:43px 0}.service{display:flex;gap:18px}.service-icon{width:37px;height:37px;flex-shrink:0;color:var(--navy)}.service h3{font-size:14px;letter-spacing:0;margin-bottom:9px}.service p{font-size:12px;color:var(--muted);max-width:235px;line-height:1.65}.service+.service{border-left:1px solid var(--line);padding-left:35px}.contact-band{background:var(--navy);color:white;padding:48px 0;position:relative;overflow:hidden}.contact-band:after{content:'';position:absolute;right:-50px;top:-200px;width:500px;height:500px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 55px #ffffff03,0 0 0 110px #ffffff03;pointer-events:none}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:1}.contact-band h2{font-size:34px;letter-spacing:-1px}.contact-band p{font-size:13px;color:#d0dce4;margin-top:10px}.site-footer{padding:27px 0}.footer-inner{display:flex;align-items:center;gap:45px;justify-content:space-between}.footer-links{display:flex;gap:25px;font-size:11px;color:var(--muted)}.footer-note{font-size:10px;color:#7d8992}.site-footer .brand{width:180px;height:54px}.site-footer .brand img{width:195px}.sub-hero{padding:36px 0 65px;background:linear-gradient(115deg,var(--light),#fff)}.breadcrumb{font-size:11px;color:var(--muted);display:flex;gap:10px;margin-bottom:48px}.sub-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.sub-hero h1{font-size:clamp(40px,4vw,58px)}.sub-hero p{font-size:14px;color:var(--muted);max-width:520px;margin-top:22px}.sub-hero-art{height:310px;border-radius:5px;overflow:hidden;position:relative;background:var(--light)}.sub-hero-art img{width:100%;height:100%;object-fit:contain;padding:25px;mix-blend-mode:multiply}.sub-hero-art.raw-photo img{position:absolute;width:220%;height:auto;max-width:none;left:-120%;top:-24%;padding:0;mix-blend-mode:normal}.theme-pharma{--accent:#24649b;--light:#edf4fb}.theme-medical{--accent:#00877f;--light:#eaf7f4}.theme-sourcing{--accent:#986d3e;--light:#f6f1e9}.theme-pharma .sub-hero{background:linear-gradient(100deg,#eff6fc,#e8f0f7)}.pill{display:inline-block;border:1px solid var(--line);padding:8px 13px;font-size:10px;border-radius:25px;background:#fff}.notice{padding:15px 19px;background:var(--light);border-left:2px solid var(--accent);font-size:12px;line-height:1.8;margin-top:28px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid var(--line);border-radius:24px;padding:10px 18px;background:white;font-size:11px;color:var(--muted)}.filters button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product{border:1px solid var(--line);border-radius:5px;overflow:hidden}.product[hidden]{display:none}.product-image{height:190px;background:#f6f9fa;padding:26px}.product-image img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.product-body{padding:24px}.product h3{font-size:17px}.product p{font-size:12px;color:var(--muted);margin-top:12px}.product small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:var(--accent);margin-bottom:13px}.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.info-card{padding:30px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:4px}.info-card h3{font-size:19px}.info-card p{font-size:13px;color:var(--muted);margin-top:14px}.info-card .index{font-size:11px;color:var(--accent);letter-spacing:1px;margin-bottom:25px}.enquiry-section{background:#f6f9fa}.enquiry-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.enquiry-intro p{font-size:13px;color:var(--muted);margin-top:22px}.enquiry-intro .eyebrow{margin-bottom:22px}.form{padding:33px;background:white;border:1px solid var(--line);border-radius:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:600}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid #d6e0e4;border-radius:3px;background:#fff;color:var(--ink);font-size:12px;font-weight:400;min-height:43px}.field textarea{resize:vertical;min-height:100px}.form-hint{font-size:10px;color:var(--muted);line-height:1.7;margin:20px 0}.status{font-size:12px;color:var(--accent);margin-top:15px;line-height:1.6}.enquiry-result{margin-top:24px;border-top:1px solid var(--line);padding-top:23px}.enquiry-result h3{font-size:17px}.enquiry-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 monospace;background:var(--light);padding:18px}.demo-note{font-size:10px;color:#667b89;padding:9px 20px;text-align:center;background:#f0f4f6;border-top:1px solid #e2e9eb}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:36px}.process article{border-top:1px solid var(--line);padding-top:25px}.process span{font:italic 30px var(--serif);color:var(--accent)}.process h3{font-size:17px;margin:20px 0 12px}.process p{font-size:13px;color:var(--muted)}
@media(min-width:1500px){.hero{min-height:650px}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.nav{gap:20px}.header-inner{gap:20px}.header-cta{display:none}.intro-grid{gap:45px}.category-picture{height:190px}.category-content{padding:22px 20px}.category-content h3{font-size:18px}.services{gap:20px}.service+.service{padding-left:20px}.enquiry-layout{gap:40px}.sub-hero-grid{gap:40px}.footer-note{display:none}}
@media(max-width:700px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.section{padding:56px 0}h1{font-size:40px;letter-spacing:-1.8px}h2{font-size:31px;letter-spacing:-1px}.header-inner{height:77px}.brand{width:186px;height:60px}.brand img{width:203px}.menu-toggle{display:block;background:none;border:1px solid var(--line);border-radius:3px;padding:10px 12px;font-size:11px;color:var(--navy)}.nav{display:none;position:absolute;top:77px;left:0;right:0;padding:20px;background:white;border-bottom:1px solid var(--line);box-shadow:0 15px 15px #102c4609;align-items:stretch}.nav.is-open{display:flex;flex-direction:column;gap:5px}.nav a{padding:13px}.hero{min-height:700px;align-items:start}.hero-inner{padding-top:52px;padding-bottom:320px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero p{font-size:13px;max-width:330px}.hero-visual{object-fit:cover;object-position:73% bottom;top:auto;bottom:0;height:52%}.hero:after{background:linear-gradient(#f5fafd 0%,#f5fafd 48%,#f5fafd00 72%)}.hero-note{margin-top:25px;font-size:9px}.hero .actions{gap:10px;margin-top:24px}.hero .button{padding:12px 15px;font-size:10px;gap:15px}.intro-grid,.sub-hero-grid{grid-template-columns:1fr;gap:30px}.intro-art,.sample-scene{min-height:240px}.intro-copy p{font-size:13px}.section-top{display:block;margin-bottom:28px}.section-top p{margin-top:18px}.category-grid,.product-grid,.list-grid{grid-template-columns:1fr}.category-picture{height:230px}.category-content h3{min-height:0;font-size:22px}.category-content p{min-height:0}.category-content{padding:25px}.category-link{margin-top:22px}.category-picture.raw-photo img{top:-30%}.services{grid-template-columns:1fr;gap:25px;padding:35px 0}.service+.service{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:25px}.service p{max-width:none}.contact-inner{align-items:start;flex-direction:column;gap:25px}.contact-band h2{font-size:30px}.footer-inner{flex-direction:column;align-items:start;gap:20px}.footer-links{flex-wrap:wrap;font-size:10px;gap:22px}.footer-note{display:block}.sub-hero{padding:25px 0 40px}.breadcrumb{margin-bottom:35px;font-size:10px}.sub-hero h1{font-size:40px}.sub-hero-art{height:240px}.enquiry-layout{grid-template-columns:1fr;gap:30px}.form{padding:24px 20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.process{grid-template-columns:1fr;gap:28px}.filters{gap:7px}.filters button{padding:9px 12px;font-size:10px}.demo-note{text-align:left;font-size:9px}.eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Responsive navigation and readable layouts across phones and tablets. */
.nav a{position:relative;border-bottom:2px solid transparent;min-height:44px;display:flex;align-items:center}
.nav a[aria-current]{border-bottom-color:var(--accent)}
.intro-grid>*,.sub-hero-grid>*,.enquiry-layout>*,.form-grid>*,.category-grid>*,.product-grid>*{min-width:0}
.breadcrumb{flex-wrap:wrap;line-height:1.6}
.category-picture.raw-photo img{width:280%;left:-180%;top:-70px}
.sub-hero-art.raw-photo img{width:280%;left:-180%;top:-105px}
@media(min-width:701px) and (max-width:1000px){
 .category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .category-grid .category-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
 .category-grid .category-card:last-child .category-picture{height:100%;min-height:230px}
 .category-content h3{min-height:52px}
 .intro-grid,.sub-hero-grid{gap:30px}
 .enquiry-layout{grid-template-columns:1fr;gap:30px}
 .enquiry-intro p{max-width:600px}
 .services{gap:22px}.service{display:block}.service-icon{margin-bottom:16px}
 .hero-copy{max-width:540px}.hero h1{font-size:clamp(40px,5.7vw,56px)}
 .hero:after{background:linear-gradient(90deg,#f6fafdf2,#f6fafdc9 48%,#f6fafd33)}
}
@media(max-width:900px){
 .menu-toggle{display:block;background:white;border:1px solid var(--line);border-radius:4px;min-width:64px;min-height:44px;padding:10px 12px;font-size:13px;color:var(--navy)}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 90px);overflow:auto;padding:14px 24px;background:white;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #102c460d;align-items:stretch}
 .nav.is-open{display:flex;flex-direction:column;gap:4px}
 .nav a{padding:13px 12px;font-size:15px;min-height:48px;border-bottom:0;border-left:3px solid transparent}
 .nav a[aria-current]{border-bottom:0;border-left-color:var(--accent);background:var(--light)}
 .header-cta{display:none}
}
@media(max-width:700px){
 .hero{display:flex;flex-direction:column;min-height:0;background:#f3f8fc}
 .hero-inner{order:-1;padding-top:43px;padding-bottom:27px}
 .hero-visual{position:relative;inset:auto;flex:none;height:265px;width:100%;object-fit:cover;object-position:80% center}
 .hero:after{display:none}
 .hero h1{font-size:clamp(34px,9.6vw,46px);line-height:1.08;letter-spacing:-1.6px}
 .hero p{font-size:15px;line-height:1.7}
 .hero .eyebrow{font-size:8px;letter-spacing:1.5px;gap:10px}
 .hero .eyebrow:before{width:20px;flex-shrink:0}
 .hero .actions{gap:10px}
 .hero .button{font-size:12px;gap:15px;min-height:46px}
 .hero-note{font-size:11px;margin-top:24px}
 .intro-copy p,.section-top p,.sub-hero p,.product p,.info-card p,.process p,.service p,.enquiry-intro p{font-size:15px;line-height:1.75}
 .category-content p{font-size:14px}.category-link,.text-link{font-size:13px;min-height:44px}
 .product h3{font-size:20px}.product-image{height:220px}
 .filters button{font-size:13px;min-height:44px;padding:10px 14px}
 .service{display:flex}.service h3{font-size:17px}
 .field{font-size:13px}.field input,.field select,.field textarea{font-size:16px;min-height:48px}
 .form-hint,.notice,.status{font-size:12px}.button{min-height:48px;font-size:13px}
 .footer-links{gap:10px 22px;font-size:12px}.footer-links a{min-height:44px;display:flex;align-items:center}
 .contact-band p{font-size:14px}.sub-hero h1{font-size:clamp(32px,9vw,40px)}
 .category-picture.raw-photo img{top:-70px}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 32px)}.brand{width:170px}.brand img{width:185px}
 .hero .actions{display:grid;grid-template-columns:1fr}.hero .button{width:100%}
 .hero .eyebrow{letter-spacing:1px}.form{padding:22px 16px}
}
/* Anchor navigation lands immediately, keeping the active section indicator in sync. */
html{scroll-behavior:auto}
/* The collapsed mobile menu names the current section. */
@media(max-width:900px){
 .menu-toggle{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0}
 .menu-label{white-space:nowrap}
}
@media(max-width:700px){
 .header-inner{gap:12px}
 .header-inner .brand{width:clamp(140px,43vw,186px)}
 .header-inner .brand img{width:calc(100% + 17px)}
 .menu-toggle{font-size:12px;padding:10px;gap:8px}
}

/* Public business contacts */
.contact-directory{background:#fff}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.email-card{display:flex;flex-direction:column;padding:30px 25px;min-width:0;border:1px solid var(--line);border-radius:5px;transition:border-color .2s,box-shadow .2s}
.email-card:hover{border-color:var(--accent);box-shadow:0 12px 28px #102c460a}
.email-card.primary{border-top:3px solid var(--accent);padding-top:28px;background:linear-gradient(#f3fafb,#fff)}
.email-role{font-size:11px;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:25px;margin-bottom:17px}
.email-badge{font-size:9px;border:1px solid #bddfdf;border-radius:20px;padding:4px 8px;color:var(--accent)}
.email-address{font-size:clamp(15px,1.6vw,21px);font-weight:600;letter-spacing:-.4px;overflow-wrap:anywhere}
.email-description{font-size:12px;line-height:1.8;color:var(--muted);margin-top:16px;flex:1}
.email-action{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;font-weight:600;color:var(--accent);margin-top:26px}
.band-email{display:inline-block;margin-top:15px;font-size:15px;border-bottom:1px solid #ffffff66;padding-bottom:4px;color:#e6ffff}
.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:12px;flex-shrink:0}.footer-contact>a{color:var(--accent)}
.notice a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
#email-enquiry{max-width:100%}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.email-address{font-size:23px}.email-description{font-size:14px}.email-role{font-size:13px}.email-action{font-size:13px;min-height:35px}.footer-inner{flex-wrap:wrap}}
@media(max-width:700px){.email-card{padding:25px}.email-address{font-size:22px}.footer-contact{font-size:14px}.footer-contact>a{min-height:44px;display:flex;align-items:center}}
