.iws-service-shell {
  --iws-ink: #17221d;
  --iws-muted: #5a6761;
  --iws-paper: #f6f3eb;
  --iws-panel: #ffffff;
  --iws-line: #d7ded9;
  --iws-accent: #19724d;
  --iws-accent-dark: #0d4b33;
  box-sizing: border-box;
  color: var(--iws-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.62;
  margin: 0 auto;
  max-width: 1220px;
  overflow: hidden;
  background: var(--iws-paper);
}

.iws-service-shell.iws-dwt {
  --iws-ink: #122632;
  --iws-muted: #516671;
  --iws-paper: #eef5f7;
  --iws-panel: #ffffff;
  --iws-line: #cbdce2;
  --iws-accent: #12647b;
  --iws-accent-dark: #0a4050;
}

.iws-service-shell *,
.iws-service-shell *::before,
.iws-service-shell *::after {
  box-sizing: border-box;
}

.iws-service-shell section {
  padding: clamp(2.7rem, 6vw, 5.8rem) clamp(1.2rem, 4vw, 3.5rem);
}

.iws-service-shell .wrap,
.iws-service-shell .section > *,
.iws-service-shell .page-intro > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
}

.iws-service-shell .hero {
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.75)),
    var(--iws-paper);
  border-bottom: 1px solid var(--iws-line);
}

.iws-service-shell .hero.grid,
.iws-service-shell .hero > .grid,
.iws-service-shell .two,
.iws-service-shell .section-top,
.iws-service-shell .image-pair,
.iws-service-shell .enquiry,
.iws-service-shell .guide-callout,
.iws-service-shell .cta-section {
  display: grid;
  gap: clamp(1.6rem, 4vw, 3.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iws-service-shell .hero h1,
.iws-service-shell .page-intro h1 {
  font-size: clamp(2.5rem, 7vw, 5.7rem);
  letter-spacing: -.055em;
  line-height: .98;
  margin: .35rem 0 1.3rem;
  max-width: 15ch;
}

.iws-service-shell h2 {
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  letter-spacing: -.035em;
  line-height: 1.08;
  margin: .35rem 0 1.1rem;
}

.iws-service-shell h3 {
  font-size: clamp(1.18rem, 2vw, 1.45rem);
  line-height: 1.25;
  margin: .4rem 0 .65rem;
}

.iws-service-shell p,
.iws-service-shell li {
  color: var(--iws-muted);
}

.iws-service-shell .lede,
.iws-service-shell .intro {
  color: var(--iws-ink);
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  max-width: 70ch;
}

.iws-service-shell .kicker,
.iws-service-shell .eyebrow {
  color: var(--iws-accent-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.iws-service-shell .tint,
.iws-service-shell .scope-strip,
.iws-service-shell .guide-callout {
  background: color-mix(in srgb, var(--iws-accent) 10%, white);
}

.iws-service-shell .cards,
.iws-service-shell .service-grid,
.iws-service-shell .facts,
.iws-service-shell .iws-visual-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2rem;
}

.iws-service-shell .card,
.iws-service-shell .service,
.iws-service-shell .note,
.iws-service-shell .hero-side,
.iws-service-shell .enquiry-form,
.iws-service-shell .enquiry-preview {
  background: var(--iws-panel);
  border: 1px solid var(--iws-line);
  border-radius: 16px;
  padding: 1.4rem;
}

.iws-service-shell .date,
.iws-service-shell .service-number {
  color: var(--iws-accent);
  font-size: 1.3rem;
  font-weight: 800;
}

.iws-service-shell .where,
.iws-service-shell .caption,
.iws-service-shell figcaption,
.iws-service-shell .small {
  color: var(--iws-muted);
  font-size: .86rem;
}

.iws-service-shell .btn,
.iws-service-shell .button,
.iws-service-shell .nav-cta {
  background: var(--iws-accent);
  border: 1px solid var(--iws-accent);
  border-radius: 999px;
  color: white !important;
  display: inline-block;
  font-weight: 750;
  margin: .35rem .5rem .35rem 0;
  padding: .75rem 1.15rem;
  text-decoration: none;
}

.iws-service-shell .btn.ghost,
.iws-service-shell .underlink,
.iws-service-shell .service-link,
.iws-service-shell .text-link {
  background: transparent;
  color: var(--iws-accent-dark) !important;
  font-weight: 750;
}

.iws-service-shell .btn.ghost {
  border-color: var(--iws-accent);
}

.iws-service-shell a:focus-visible,
.iws-service-shell button:focus-visible,
.iws-service-shell input:focus-visible,
.iws-service-shell textarea:focus-visible,
.iws-service-shell select:focus-visible {
  outline: 3px solid #e1a922;
  outline-offset: 3px;
}

.iws-service-shell figure {
  margin: 1.4rem 0;
}

.iws-service-shell figure img,
.iws-service-shell .hero-visual img {
  border-radius: 14px;
  display: block;
  height: auto;
  max-height: 660px;
  object-fit: cover;
  width: 100%;
}

.iws-service-shell figcaption {
  padding-top: .55rem;
}

.iws-service-shell .fig.mid {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
}

.iws-service-shell .scope-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  justify-content: center;
  padding: 1rem;
}

.iws-service-shell .scope-strip span {
  font-weight: 700;
}

.iws-service-shell .steps {
  counter-reset: iws-step;
  list-style: none;
  margin: 2rem 0;
  padding: 0;
}

.iws-service-shell .steps > li {
  counter-increment: iws-step;
  display: grid;
  gap: 1rem;
  grid-template-columns: 3rem 1fr;
  padding: 1.3rem 0;
  border-bottom: 1px solid var(--iws-line);
}

.iws-service-shell .steps > li::before {
  background: var(--iws-accent);
  border-radius: 50%;
  color: white;
  content: counter(iws-step);
  display: grid;
  font-weight: 800;
  height: 2.4rem;
  place-items: center;
  width: 2.4rem;
}

.iws-service-shell .table-wrap {
  overflow-x: auto;
}

.iws-service-shell table {
  border-collapse: collapse;
  width: 100%;
}

.iws-service-shell th,
.iws-service-shell td {
  border-bottom: 1px solid var(--iws-line);
  padding: .8rem;
  text-align: left;
  vertical-align: top;
}

.iws-service-shell video {
  background: #071b24;
  border-radius: 12px;
  display: block;
  height: auto;
  width: 100%;
}

.iws-service-shell .monitor-set,
.iws-service-shell .desktop-demo {
  margin: 0 auto;
  max-width: 960px;
}

.iws-service-shell .monitor-body {
  background: #0c222b;
  border-radius: 20px;
  padding: 1rem;
}

.iws-service-shell form label {
  color: var(--iws-ink);
  display: block;
  font-weight: 700;
  margin-bottom: 1rem;
}

.iws-service-shell input,
.iws-service-shell textarea,
.iws-service-shell select {
  background: white;
  border: 1px solid var(--iws-line);
  border-radius: 8px;
  display: block;
  font: inherit;
  margin-top: .35rem;
  padding: .7rem;
  width: 100%;
}

.iws-service-shell .form-pair {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iws-service-shell .enquiry-preview pre {
  white-space: pre-wrap;
}

.iws-service-shell .breadcrumb {
  font-size: .88rem;
  margin-bottom: 1rem;
}

.iws-service-shell .iws-contact-cta {
  background: var(--iws-accent-dark);
  color: white;
}

.iws-service-shell .iws-contact-cta h2,
.iws-service-shell .iws-contact-cta p,
.iws-service-shell .iws-contact-cta .kicker {
  color: white;
}

@media (max-width: 760px) {
  .iws-service-shell {
    font-size: 16px;
  }

  .iws-service-shell .hero.grid,
  .iws-service-shell .hero > .grid,
  .iws-service-shell .two,
  .iws-service-shell .section-top,
  .iws-service-shell .image-pair,
  .iws-service-shell .enquiry,
  .iws-service-shell .guide-callout,
  .iws-service-shell .cta-section,
  .iws-service-shell .cards,
  .iws-service-shell .service-grid,
  .iws-service-shell .facts,
  .iws-service-shell .iws-visual-grid,
  .iws-service-shell .form-pair {
    grid-template-columns: 1fr;
  }

  .iws-service-shell section {
    padding: 2.5rem 1rem;
  }
}

@media print {
  body.iws-service-site-page #top-wrapper,
  body.iws-service-site-page #navigation-menu,
  body.iws-service-site-page #bottom-bg,
  body.iws-service-site-page .postmetadata {
    display: none !important;
  }

  .iws-service-shell {
    background: white !important;
    color: black !important;
    font-size: 10pt;
    max-width: none;
    overflow: visible;
  }

  .iws-service-shell section {
    background: white !important;
    break-inside: avoid;
    padding: 12mm 0;
  }

  .iws-service-shell h1,
  .iws-service-shell h2,
  .iws-service-shell h3,
  .iws-service-shell figure,
  .iws-service-shell .card,
  .iws-service-shell .service {
    break-inside: avoid;
  }

  .iws-service-shell .btn,
  .iws-service-shell .button {
    border: 1px solid black;
    color: black !important;
    padding: 3mm 5mm;
  }

  .iws-service-shell video,
  .iws-service-shell button,
  .iws-service-shell .sound-note {
    display: none !important;
  }
}


/* IWS Group landing page */
.iws-service-shell.iws-group{--iws-ink:#17242d;--iws-muted:#56636b;--iws-line:#d8ddd8;--iws-green:#2f6d42;color:var(--iws-ink);background:#f4f6f3;font-family:Arial,Helvetica,sans-serif}
.iws-group *{box-sizing:border-box}.iws-group img{display:block;max-width:100%}.iws-group a:focus-visible{outline:3px solid #1675aa;outline-offset:5px}.iws-group .group-kicker{margin:0 0 22px;font-size:11px;line-height:1.55;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.iws-group .group-hero{position:relative;min-height:690px;isolation:isolate;display:flex;align-items:center;overflow:hidden}.iws-group .group-hero-media{position:absolute;inset:0;margin:0;z-index:-3}.iws-group .group-hero-media img{width:100%;height:100%;object-fit:cover;object-position:54% center}.iws-group .group-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#14222cf5 0%,#172831e8 34%,#1a2f387a 65%,#19323d1f 100%)}.iws-group .group-hero-copy{width:min(650px,47%);margin-left:7%;padding:72px 0;color:#fff}.iws-group .group-hero h1{margin:0 0 16px;font-size:clamp(64px,8vw,118px);line-height:.9;letter-spacing:-.075em;font-weight:800}.iws-group .group-standfirst{font-size:clamp(24px,2.3vw,35px);line-height:1.17;letter-spacing:-.035em;margin:0 0 23px;max-width:610px}.iws-group .group-intro{font-size:16px;line-height:1.7;color:#e7edf0;max-width:555px;margin:0 0 34px}.iws-group .group-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.iws-group .group-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#1b2b32;padding:16px 22px;font-size:13px;font-weight:800;min-height:50px}.iws-group .group-text-link{font-size:14px;font-weight:800;border-bottom:1px solid #fff;padding:8px 0}.iws-group .group-section{padding:86px 7%}.iws-group .section-heading{display:grid;grid-template-columns:.7fr 1.25fr 1fr;gap:6%;align-items:start;margin-bottom:47px}.iws-group .section-heading .group-kicker{color:var(--iws-green);padding-top:8px}.iws-group .section-heading h2,.iws-group .combined-copy h2,.iws-group .group-contact h2{font-size:clamp(38px,4vw,60px);line-height:1.03;letter-spacing:-.055em;margin:0}.iws-group .section-heading>p:last-child{font-size:15px;line-height:1.7;color:var(--iws-muted);margin:7px 0 0}.iws-group .division-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.iws-group .division-card{grid-column:span 2;display:flex;flex-direction:column;background:#fff;border-top:6px solid var(--iws-green);padding:28px 27px 25px;min-height:510px;box-shadow:0 12px 35px #1931250c}.iws-group .division-card:nth-child(4){grid-column:2/span 2}.iws-group .division-card:nth-child(5){grid-column:4/span 2}.iws-group .division-logo{height:94px;margin-bottom:25px;display:flex;align-items:center}.iws-group .division-logo img{width:100%;height:100%;object-fit:contain;object-position:left center}.iws-group .division-waste{border-color:#2f6d42}.iws-group .division-contracting{border-color:#a84e3b}.iws-group .division-supplies{border-color:#bb5d18}.iws-group .division-environmental{border-color:#275990}.iws-group .division-compliance{border-color:#682779}.iws-group .division-number{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--iws-muted);margin:0 0 16px}.iws-group .division-card h3{font-size:26px;line-height:1.12;letter-spacing:-.035em;margin:0 0 16px}.iws-group .division-card>p:not(.division-number){font-size:14px;line-height:1.65;color:var(--iws-muted);margin:0 0 20px}.iws-group .division-card ul{margin:0 0 25px;padding:0;list-style:none;font-size:13px;line-height:1.5}.iws-group .division-card li{padding:9px 0 9px 17px;border-top:1px solid var(--iws-line);position:relative}.iws-group .division-card li:before{content:'•';position:absolute;left:1px}.iws-group .division-links{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:auto;padding-top:20px;border-top:1px solid var(--iws-line)}.iws-group .division-links a:first-child{font-size:12px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:5px}.iws-group .division-links a:last-child{font-size:10px;color:var(--iws-muted);overflow-wrap:anywhere}.iws-group .combined-section{background:#16272f;color:#fff;padding:84px 7%;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.iws-group .combined-copy .group-kicker{color:#bcd7c2}.iws-group .combined-copy p:last-child{font-size:15px;line-height:1.7;color:#d9e2e4;max-width:510px}.iws-group .capability-paths{border-top:1px solid #ffffff45}.iws-group .capability-paths article{display:grid;grid-template-columns:.58fr 1.25fr 1fr;gap:24px;padding:27px 0;border-bottom:1px solid #ffffff36;align-items:start}.iws-group .capability-paths span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#bcd7c2}.iws-group .capability-paths strong{font-size:17px;line-height:1.35}.iws-group .capability-paths p{font-size:13px;line-height:1.55;color:#d6dfe1;margin:0}.iws-group .group-contact{display:grid;grid-template-columns:1.15fr .85fr;gap:9%;align-items:center;background:#e8eee8}.iws-group .group-contact .group-kicker{color:var(--iws-green)}.iws-group .group-contact>div>p:last-child{color:var(--iws-muted);line-height:1.7;max-width:650px}.iws-group .contact-address{background:#fff;padding:34px;border-top:5px solid var(--iws-green)}.iws-group .contact-address span,.iws-group .contact-address small{display:block;color:var(--iws-muted)}.iws-group .contact-address span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.iws-group .contact-address a{display:block;font-size:clamp(25px,2.5vw,38px);font-weight:800;letter-spacing:-.04em;margin:18px 0;overflow-wrap:anywhere}.iws-group .contact-address small{font-size:11px;line-height:1.55}
@media(max-width:1050px){.iws-group .group-hero-copy{width:55%}.iws-group .division-grid{grid-template-columns:repeat(2,1fr)}.iws-group .division-card,.iws-group .division-card:nth-child(4),.iws-group .division-card:nth-child(5){grid-column:auto}.iws-group .division-card:last-child{grid-column:1/-1;max-width:calc(50% - 10px);width:100%;justify-self:center}.iws-group .section-heading{grid-template-columns:.5fr 1.15fr 1fr;gap:4%}.iws-group .capability-paths article{grid-template-columns:1fr 1.45fr}.iws-group .capability-paths p{grid-column:2}.iws-group .combined-section{grid-template-columns:1fr 1.3fr}}
@media(max-width:720px){.iws-group .group-hero{min-height:670px;align-items:flex-end}.iws-group .group-hero-media img{object-position:61% center}.iws-group .group-hero-shade{background:linear-gradient(0deg,#14222cf8 0%,#14222de5 52%,#17283154 100%)}.iws-group .group-hero-copy{width:auto;margin:0;padding:52px 6% 54px}.iws-group .group-hero h1{font-size:clamp(58px,19vw,82px)}.iws-group .group-standfirst{font-size:25px}.iws-group .group-intro{font-size:14px}.iws-group .group-section{padding:54px 6%}.iws-group .section-heading{display:block;margin-bottom:29px}.iws-group .section-heading .group-kicker{padding:0}.iws-group .section-heading h2,.iws-group .combined-copy h2,.iws-group .group-contact h2{font-size:38px;margin-bottom:22px}.iws-group .division-grid{grid-template-columns:1fr}.iws-group .division-card,.iws-group .division-card:last-child{grid-column:auto;max-width:none;min-height:0}.iws-group .division-logo{height:82px}.iws-group .division-links{align-items:flex-start;flex-direction:column}.iws-group .combined-section{padding:54px 6%;grid-template-columns:1fr;gap:35px}.iws-group .capability-paths article{grid-template-columns:1fr;gap:10px}.iws-group .capability-paths p{grid-column:auto}.iws-group .group-contact{grid-template-columns:1fr;gap:31px}.iws-group .contact-address{padding:27px}}
@media print{.iws-group .group-actions{display:none!important}.iws-group .group-hero{min-height:105mm;break-inside:avoid}.iws-group .group-hero-copy{width:58%;margin-left:5%;padding:12mm 0}.iws-group .group-hero h1{font-size:48pt}.iws-group .group-standfirst{font-size:17pt}.iws-group .group-intro{font-size:9pt}.iws-group .group-section{padding:10mm 0}.iws-group .section-heading{margin-bottom:6mm}.iws-group .section-heading h2,.iws-group .combined-copy h2,.iws-group .group-contact h2{font-size:24pt}.iws-group .division-grid{grid-template-columns:1fr 1fr;gap:5mm}.iws-group .division-card,.iws-group .division-card:nth-child(4),.iws-group .division-card:nth-child(5),.iws-group .division-card:last-child{grid-column:auto;max-width:none;min-height:0;padding:5mm;break-inside:avoid;box-shadow:none}.iws-group .division-logo{height:20mm;margin-bottom:3mm}.iws-group .division-card h3{font-size:15pt}.iws-group .division-card>p:not(.division-number),.iws-group .division-card ul{font-size:8.5pt}.iws-group .combined-section{padding:10mm 7mm;grid-template-columns:1fr;gap:5mm;break-before:page}.iws-group .capability-paths article{grid-template-columns:.7fr 1.3fr 1fr}.iws-group .capability-paths p{grid-column:auto}.iws-group .group-contact{padding:10mm;break-inside:avoid}}

@media print{.iws-group .combined-section{break-before:auto!important}.iws-group .contact-address a{font-size:14pt!important;letter-spacing:-.02em!important;white-space:nowrap!important;overflow-wrap:normal!important}}

@media print{.iws-group .division-grid{grid-template-columns:repeat(3,1fr)!important;gap:3mm!important}.iws-group .division-card,.iws-group .division-card:nth-child(4),.iws-group .division-card:nth-child(5){grid-column:auto!important;padding:3.5mm!important}.iws-group .division-card:last-child{grid-column:2!important}.iws-group .division-logo{height:15mm!important;margin-bottom:2mm!important}.iws-group .division-number{font-size:6.5pt!important;margin-bottom:2mm!important}.iws-group .division-card h3{font-size:12.5pt!important;margin-bottom:2mm!important}.iws-group .division-card>p:not(.division-number),.iws-group .division-card ul{font-size:7.5pt!important;line-height:1.35!important}.iws-group .division-card>p:not(.division-number){margin-bottom:2mm!important}.iws-group .division-card ul{margin-bottom:2mm!important}.iws-group .division-card li{padding:1.2mm 0 1.2mm 2.5mm!important}.iws-group .division-links{padding-top:2mm!important;gap:2mm!important}.iws-group .division-links a:first-child{font-size:7pt!important}.iws-group .division-links a:last-child{font-size:6.2pt!important}.iws-group .combined-section{break-before:page!important}}

@media print{.iws-group .division-grid{break-before:page!important}}

@media(max-width:720px){body.iws-service-site-page{overflow-x:hidden}.iws-group .group-hero h1{font-size:clamp(52px,14.4vw,62px)!important;white-space:nowrap}}

/* Seven migrated division drafts use one decorative wash each. DWT keeps its
   existing desk-notes treatment and does not receive this class. */
.iws-service-shell.iws-division-wash{
  background-color:#f4f0e7;
  background-image:none;
  background-position:center top;
  background-repeat:repeat-y;
  background-size:auto,1500px auto;
}
.iws-service-shell.iws-division-wash>section:not(.group-hero):not(.combined-section):not(.construction-group-links):not(.iws-contact-cta){background-color:rgba(252,251,247,.2)}
.iws-service-shell.iws-division-wash .tint,
.iws-service-shell.iws-division-wash .scope-strip,
.iws-service-shell.iws-division-wash .guide-callout{background-color:rgba(244,240,231,.25)}
@media(max-width:760px){.iws-service-shell.iws-division-wash{background-size:auto,950px auto}}
@media print{
  .iws-service-shell.iws-division-wash{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-image:none;background-size:auto,250mm auto!important;background-repeat:repeat-y!important}
  .iws-service-shell.iws-division-wash>section:not(.combined-section):not(.construction-group-links):not(.iws-contact-cta){background-color:rgba(255,255,255,.15)!important}
}

@media print{.iws-group .division-links a:last-child{white-space:nowrap!important;overflow-wrap:normal!important}.iws-group .division-links{flex-direction:column!important;align-items:flex-start!important}}

.iws-service-shell.iws-division-wash>.page-intro{background-color:rgba(244,240,231,.2)}
@media print{.iws-service-shell.iws-division-wash>.page-intro{background-color:rgba(255,255,255,.15)!important}}

.iws-service-shell.iws-compliance.iws-division-wash .hero{background-image:none;background-color:transparent}

.iws-service-shell.iws-division-wash>.page-intro{background-color:rgba(244,240,231,.84)}
@media print{.iws-service-shell.iws-division-wash>.page-intro{background-color:rgba(255,255,255,.9)!important}}

/* Preserve the division palette and photo-hero text in WordPress. */
.iws-service-shell.iws-compliance{--iws-ink:#17242d;--iws-muted:#56636b;--iws-accent:#682779;--iws-accent-dark:#4c1c58;--iws-paper:#f4f1f5;--iws-line:#dfd6e1}
.iws-group .group-hero-copy .group-kicker,.iws-group .group-hero-copy .group-standfirst{color:#fff}

/* Nigel: no decorative background watermarking. */
.iws-dwt main{background-image:none!important}
