@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--navy:#073653;--blue:#0876aa;--ink:#173c51;--muted:#587080;--pale:#f0f5f8;--line:#dce6ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #52b7dc;outline-offset:5px}.utility{background:#f1f5f8;padding:9px 6%;display:flex;justify-content:space-between;font-size:12px;color:#526f81;letter-spacing:.3px}.utility>div{display:flex;gap:28px}.utility a:hover{text-decoration:underline}header{background:var(--navy);color:#fff;padding:9px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:10;min-height:112px}.brand{display:inline-flex;flex-shrink:0}.brand img{display:block;object-fit:contain;width:165px;height:93px}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav>a,summary{padding:12px 0;cursor:pointer}nav>a:hover,nav>a[aria-current]{color:#a8dced}.nav-contact{border:1px solid #ffffff55;padding:11px 18px;border-radius:2px}.services-nav{position:relative}summary{list-style:none}summary::-webkit-details-marker{display:none}summary span{margin-left:7px}.submenu{position:absolute;left:-24px;top:calc(100% + 6px);width:245px;background:#fff;color:var(--ink);box-shadow:0 10px 40px #082d4926;border:1px solid var(--line);padding:12px}.submenu a{display:block;padding:10px 12px;font-size:14px}.submenu a:hover,.submenu [aria-current]{background:var(--pale);color:var(--blue)}.menu-toggle{display:none}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:400;line-height:1.22;letter-spacing:-1.1px;margin:0}h1{font-size:clamp(40px,4.1vw,64px)}h2{font-size:38px}h3{font-size:25px;letter-spacing:-.6px}em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}p{margin:0 0 20px}.kicker{font-size:11px;letter-spacing:1.8px;font-weight:500;color:var(--blue);margin:0 0 24px;line-height:1.6}.lead{font-size:18px;line-height:1.8;color:var(--muted);max-width:690px;margin:26px 0 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 23px;color:white;background:var(--blue);font-size:14px;border:1px solid var(--blue);border-radius:2px;transition:background .2s}.button:hover{background:var(--navy);border-color:var(--navy)}.button.light{background:white;color:var(--navy);border-color:white}.button.light:hover{background:#dcecf4}.inline-link{display:inline-block;font-size:14px;font-weight:500;padding-bottom:5px;border-bottom:1px solid #9bb4c3;color:var(--blue)}.home-hero{display:grid;grid-template-columns:1.06fr 1fr;min-height:615px}.hero-copy{padding:64px 9% 35px 11.3%;display:flex;flex-direction:column;align-items:flex-start}.hero-copy .lead{font-size:17px;max-width:460px;margin:26px 0 28px}.hero-signature{padding-top:44px;margin-top:auto;font-size:9px;letter-spacing:1.5px;color:#718c9c}.hero-image{position:relative;overflow:hidden;min-height:615px}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:44% center}.hero-image>span{position:absolute;bottom:24px;left:24px;right:24px;color:var(--navy);background:#ffffffeb;backdrop-filter:blur(5px);padding:17px 20px;font-size:10px;letter-spacing:1.5px;text-align:center}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfdfe}.facts>div{padding:0 28px;border-right:1px solid var(--line)}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}.facts strong{display:block;font-size:18px;font-weight:500;margin-bottom:3px}.facts span{font-size:13px;color:var(--muted)}.section{padding:90px 6%;max-width:1560px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}.section-heading>p{max-width:330px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{display:flex;flex-direction:column;padding:32px 28px;border:1px solid var(--line);background:#fff;transition:background .2s,border-color .2s}.service-card:hover{background:var(--pale);border-color:#a1c4d6}.card-index{display:block;color:#6a94ac;font-size:11px;letter-spacing:1.5px;margin-bottom:26px}.service-card h3{font-size:25px;min-height:62px}.service-card p{font-size:15px;color:var(--muted);margin:18px 0 28px}.card-link{margin-top:auto;border-top:1px solid var(--line);padding-top:21px;font-size:13px;color:var(--blue)}.home-company{background:var(--pale);max-width:none;display:grid;grid-template-columns:.75fr 1.5fr;gap:6%}.home-company p:not(.kicker){max-width:630px;color:var(--muted);margin:25px 0}.cta{padding:56px 6%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta .kicker{color:#b5d5e5;font-size:10px;margin-bottom:15px}.cta h2{font-size:32px}.page-title{padding:62px 6% 66px;background:var(--pale);border-bottom:1px solid var(--line)}.page-title h1{font-size:clamp(38px,4vw,58px)}.page-title .lead{max-width:720px;font-size:17px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%}.body-copy{color:var(--muted)}.body-copy h2{color:var(--ink)}.body-copy p:last-child{margin-bottom:0}.body-copy strong{font-weight:500;color:var(--ink)}.pale{max-width:none;background:var(--pale)}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.three-columns article{border-top:1px solid #c9dbe7;padding-top:28px}.three-columns p{color:var(--muted);font-size:15px;margin-top:18px}.rows{margin-top:38px}.editorial-row{display:grid;grid-template-columns:55px 1fr 1.35fr;gap:35px;padding:29px 0;border-top:1px solid #d0dfe8;align-items:start}.editorial-row p{color:var(--muted);font-size:15px;margin:0}.editorial-row h3{font-size:23px}.row-number{color:var(--blue);font-size:12px;padding-top:5px}.commit-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 9%}.commit-grid article{padding-top:30px;border-top:1px solid var(--line)}.commit-grid h2{font-size:32px}.commit-grid p{margin:22px 0 0;color:var(--muted);max-width:520px}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:start}.contact-panel{background:var(--pale);padding:38px;overflow-wrap:anywhere}.phone{display:block;font-size:32px;font-family:Manrope,Arial;letter-spacing:-1px;margin-bottom:14px}.email{color:var(--blue);font-size:15px}.email:hover{text-decoration:underline}.contact-address{border-top:1px solid var(--line);margin:30px 0;padding-top:25px}.contact-address h3{font-size:16px;letter-spacing:0}.contact-address p{margin:12px 0;color:var(--muted);font-size:15px}.contact-checklist{padding-left:20px;margin:26px 0}.contact-checklist li{margin:11px 0;padding-left:5px}.contact-layout .body-copy h2{font-size:32px}.client-box{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.client-box h3{font-size:22px;color:var(--ink)}.client-box p{font-size:15px;margin:12px 0 18px}footer{padding:60px 6% 24px;background:#052b43;color:#fff}.footer-top{display:grid;grid-template-columns:1.15fr .8fr .95fr 1.3fr;gap:36px}.footer-top h3{font-family:'DM Sans',Arial;font-weight:500;font-size:13px;letter-spacing:.3px;margin:20px 0}.footer-top a:not(.brand){display:block;font-size:13px;color:#bfd0dc;margin:9px 0;overflow-wrap:anywhere}.footer-top a:hover{text-decoration:underline}.footer-top p{font-size:13px;color:#bfd0dc;margin:15px 0}.footer-top>div:first-child>p{font-size:15px}.footer-base{padding-top:22px;margin-top:35px;border-top:1px solid #ffffff22;display:flex;justify-content:space-between;gap:25px;color:#91acbd;font-size:11px}.skip{position:absolute;top:-100px;z-index:20;background:white;padding:15px}.skip:focus{top:0}[hidden]{display:none!important}@media(min-width:1600px){.page-title,.cta,.pale,.home-company{padding-left:max(6%,calc((100vw - 1373px)/2));padding-right:max(6%,calc((100vw - 1373px)/2))}}@media(max-width:1050px){nav{gap:22px}.hero-copy{padding-top:45px}.hero-image,.home-hero{min-height:570px}.hero-copy .kicker{font-size:10px}.facts strong{font-size:16px}.facts>div{padding:0 20px}.service-card{padding:25px 22px}.service-card h3{font-size:22px}.section{padding:70px 6%}h2{font-size:32px}.footer-top{grid-template-columns:1fr 1fr;gap:20px 50px}.contact-layout{gap:6%}.contact-panel{padding:28px}.phone{font-size:28px}}@media(max-width:780px){.utility{padding:7px 5%;font-size:10px}.utility>span{max-width:150px}.utility>div{gap:12px;align-items:center}.utility>div>a:first-child{display:none}header{padding:5px 5%;min-height:91px}.brand img{width:140px;height:79px}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:1px solid #ffffff55;color:white;padding:8px 13px;border-radius:2px;font-size:14px}nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 5% 25px;background:var(--navy);border-top:1px solid #ffffff22;box-shadow:0 20px 25px #052b4322}nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}nav>a,summary{padding:12px 0}.nav-contact{text-align:center;margin-top:10px}.submenu{position:static;width:100%;box-shadow:none;background:#104765;color:white;border:0;padding:8px}.submenu a:hover,.submenu [aria-current]{background:#1b5675;color:white}.home-hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px 6% 34px}.hero-copy h1{font-size:clamp(40px,8vw,57px)}.hero-copy .lead{font-size:16px;max-width:500px}.hero-signature{padding-top:30px;font-size:9px}.hero-image{min-height:360px}.hero-image>img{object-position:center 55%}.hero-image>span{left:6%;right:6%;bottom:22px;padding:13px;font-size:8px;letter-spacing:1px}.facts{padding:24px 6%;grid-template-columns:1fr;gap:15px}.facts>div,.facts>div:first-child{padding:0 0 15px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:15px}.facts>div:last-child{padding-bottom:0}.facts strong{font-size:14px}.facts span{font-size:12px}.section{padding:54px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:500px}.kicker{font-size:10px;letter-spacing:1.5px;margin-bottom:20px}h2{font-size:31px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:28px}.service-card h3{min-height:0;font-size:25px}.card-index{margin-bottom:20px}.home-company,.split,.contact-layout{grid-template-columns:1fr;gap:27px}.cta{padding:42px 6%;flex-direction:column;align-items:flex-start;gap:26px}.cta h2{font-size:29px}.page-title{padding:42px 6% 45px}.page-title h1{font-size:38px}.page-title .lead{font-size:16px;margin-top:24px}.three-columns{grid-template-columns:1fr;gap:22px}.three-columns article{padding-top:24px}.three-columns p{margin-bottom:0}.editorial-row{grid-template-columns:30px 1fr;gap:12px 20px;padding:25px 0}.editorial-row p{grid-column:2}.editorial-row h3{font-size:22px}.commit-grid{grid-template-columns:1fr;gap:30px}.commit-grid h2{font-size:30px}.contact-panel{padding:27px}.phone{font-size:29px}.contact-layout .body-copy h2{font-size:29px}.contact-checklist{font-size:15px}.footer-top{grid-template-columns:1fr 1fr;gap:22px}.footer-top>div:last-child{grid-column:1/-1}.footer-top h3{margin-top:10px}.footer-top .brand img{width:135px;height:76px}footer{padding:40px 6% 22px}.footer-base{flex-direction:column;gap:7px;margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card{transition:none}}
/* BDI: two complementary business areas. */
.universe-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.universe-card{display:flex;flex-direction:column;align-items:flex-start;min-height:330px;padding:38px 36px;border:1px solid #c8dce8;border-top:3px solid #0876aa;background:#f0f6fa;transition:background .2s}.universe-card.workwear{background:#f1f4f4;border-color:#d0dce0;border-top-color:#365964}.universe-card:hover{background:#e7f1f7}.universe-card.workwear:hover{background:#e7eeee}.universe-label{font-size:10px;letter-spacing:1.5px;color:#557d96;margin-bottom:32px}.workwear .universe-label{color:#4e7079}.universe-card h3{font-size:38px;letter-spacing:-1.2px}.universe-card h3 small{font-size:15px;font-weight:500;letter-spacing:1px;display:block;margin-bottom:8px}.universe-card p{color:var(--muted);margin:20px 0 16px;max-width:420px;font-size:16px}.universe-sectors{font-size:12px;color:#5d7886;margin-bottom:26px}.universe-card .card-link{align-self:stretch;width:100%;margin-top:auto}.services-overview{padding-top:0}.cross-universe{background:#f4f7f9;max-width:none;display:flex;align-items:center;justify-content:space-between;gap:40px}.cross-universe h2{font-size:30px}.cross-universe p:not(.kicker){color:var(--muted);max-width:650px;margin:20px 0 0}.cross-universe>.inline-link{flex-shrink:0}.contact-choices{display:grid;gap:12px}.contact-choices .button{font-size:13px;padding:14px 17px;gap:12px}.workwear-button{background:#365964;border-color:#365964}nav{gap:22px}nav>a,nav summary{font-size:13px}.footer-top{grid-template-columns:1.1fr .75fr 1.05fr 1.3fr}@media(max-width:1100px){header{padding-left:4%;padding-right:4%;gap:22px}nav{gap:15px}nav>a,nav summary{font-size:12px}.brand img{width:145px;height:82px}.nav-contact{padding:10px 13px}.universe-card{padding:30px}.universe-card h3{font-size:32px}}@media(max-width:900px) and (min-width:781px){header{flex-wrap:wrap;justify-content:center;gap:6px;padding-bottom:18px}nav{justify-content:center;flex-wrap:wrap;gap:18px}}@media(max-width:780px){.universe-grid{grid-template-columns:1fr;gap:18px}.universe-card{padding:29px;min-height:310px}.universe-label{margin-bottom:23px}.universe-card h3{font-size:34px}.services-overview{padding-top:0}.cross-universe{display:block}.cross-universe h2{font-size:28px}.cross-universe>.inline-link{margin-top:25px}.footer-top{grid-template-columns:1fr 1fr}nav>a,nav summary{font-size:14px}}
/* Photographic balance between work clothing and hotel linen. */
.business-photos{display:grid;grid-template-rows:1fr 1fr;gap:3px;min-height:640px;background:#fff}.business-photo{position:relative;display:block;overflow:hidden;min-height:318px;color:#fff}.business-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 48%;transition:transform .3s}.business-photo:hover>img{transform:scale(1.025)}.business-caption{position:absolute;inset:auto 0 0;padding:48px 28px 22px;background:linear-gradient(transparent,#052b43e6);display:flex;flex-direction:column;gap:4px}.business-caption strong{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:23px;letter-spacing:-.4px}.business-caption>span{font-size:12px;letter-spacing:.3px;max-width:90%}.business-caption>b{position:absolute;right:26px;bottom:28px;font-size:24px;font-weight:400}.universe-card.illustrated{overflow:hidden;padding-top:0}.universe-image{width:calc(100% + 72px);max-width:none;height:245px;object-fit:cover;object-position:center;margin:0 -36px 30px;align-self:center}.activity-photograph{margin:0;padding:45px 6% 0;background:#fff}.activity-photograph>img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#edf2f3}.activity-photograph figcaption{display:flex;gap:26px;padding:18px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.activity-photograph figcaption strong{color:var(--ink);font-weight:500;white-space:nowrap}@media(max-width:1100px){.universe-image{width:calc(100% + 60px);margin-left:-30px;margin-right:-30px;height:225px}.business-caption{padding-left:23px;padding-right:23px}}@media(max-width:780px){.business-photos{min-height:0;grid-template-rows:repeat(2,270px)}.business-photo{min-height:270px}.business-caption{padding:42px 6% 18px}.business-caption strong{font-size:21px}.business-caption>span{font-size:11px}.universe-image{width:calc(100% + 58px);margin-left:-29px;margin-right:-29px;height:230px}.activity-photograph{padding:30px 6% 0}.activity-photograph figcaption{flex-direction:column;gap:6px;font-size:13px}}@media(prefers-reduced-motion:reduce){.business-photo>img{transition:none}}
.production-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.production-card{border:1px solid var(--line);border-top:3px solid #365964;padding:34px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}.production-card:nth-child(2){border-top-color:var(--blue)}.production-card h3{font-size:30px}.production-card p{color:var(--muted);margin:20px 0 0}.production-card .site-town{font-size:13px;margin:8px 0 6px;color:var(--blue)}.production-card ul{padding-left:18px;font-size:14px;color:var(--muted);margin:20px 0 27px}.production-card .inline-link{margin-top:auto}.rfid-feature{background:#edf4f8;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:9%}.rfid-note{border-top:1px solid var(--line);padding-top:22px;margin:28px 0 0;font-size:13px;color:var(--muted);max-width:930px}.reference-link{margin:25px 0 0;font-size:12px;color:var(--muted)}.reference-link a{text-decoration:underline;text-underline-offset:3px}.contact-address strong{font-weight:500;color:var(--ink)}.footer-top strong{font-weight:500}.hero-signature{line-height:1.7}@media(max-width:780px){.production-grid,.rfid-feature{grid-template-columns:1fr;gap:24px}.production-card{padding:27px}.production-card h3{font-size:27px}}
/* Editorial depth and full brand name. */
.cycle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.cycle-grid article{border-top:1px solid var(--line);padding-top:24px}.cycle-grid article>span{font-size:12px;color:var(--blue);display:block;margin-bottom:20px}.cycle-grid h3{font-size:22px}.cycle-grid p{font-size:15px;color:var(--muted);margin:18px 0 0}.business-caption strong{font-size:19px;line-height:1.35;max-width:92%}.universe-card h3 small{font-size:14px;letter-spacing:.3px;line-height:1.5}.commit-grid article p+p{margin-top:16px}.utility>span{line-height:1.5}.production-card .kicker{font-size:10px;letter-spacing:1px}.activity-photograph figcaption strong{white-space:normal;max-width:300px}@media(max-width:1050px){.cycle-grid{grid-template-columns:repeat(2,1fr);gap:30px}}@media(max-width:780px){.cycle-grid{grid-template-columns:1fr;gap:22px}.cycle-grid h3{font-size:23px}.business-caption strong{font-size:17px}.utility>span{max-width:220px}.activity-photograph figcaption strong{max-width:none}}
.request-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:start}.project-form{min-width:0}.project-form label{display:block;font-size:15px;margin:22px 0 8px}.project-form label span{color:var(--muted);font-size:13px}.project-form input,.project-form textarea{font:inherit;font-size:16px;line-height:1.5;width:100%;padding:13px;border:1px solid #a7bfce;border-radius:3px;background:#fff;color:var(--ink)}.project-form textarea{resize:vertical}.project-form input:focus,.project-form textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.form-help{font-size:13px;color:var(--muted);margin:15px 0 22px}.project-form button{cursor:pointer}.mail-result{border-top:1px solid var(--line);margin-top:32px;padding-top:28px;scroll-margin-top:25px}.mail-result>p{font-size:14px;overflow-wrap:anywhere}.mail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.copy-message{background:white;color:var(--ink);border:1px solid var(--blue);padding:13px 18px;border-radius:3px;font-size:14px}.copy-status{font-size:14px;color:var(--blue);margin-top:18px}.request-layout .contact-panel{overflow-wrap:anywhere}.mail-result[hidden]{display:none!important}@media(max-width:780px){.request-layout{grid-template-columns:1fr;gap:34px}.mail-actions{flex-direction:column;align-items:stretch}.mail-actions .button{justify-content:center}}
/* Keep professional garments and finished textiles legible in all image crops. */
.workwear-photo>img{object-position:50% 45%}.hospitality-photo>img{object-position:50% 55%}.universe-card.workwear .universe-image{object-position:50% 45%}.universe-card.hospitality .universe-image{object-position:50% 55%}.activity-photograph>img{max-height:640px;background:#eef2f4}@media(max-width:780px){.business-photos{grid-template-rows:repeat(2,300px)}.business-photo{min-height:300px}.universe-image{height:260px}.business-caption{padding-top:55px}.activity-photograph>img{max-height:none}}
