:root{--navy:#17358a;--ink:#112244;--deep:#0c1d3d;--green:#6a9a2c;--text:#42516a;--line:#dce3eb;--light:#f3f6fa;--white:#fff}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#fff;color:var(--text);font:1rem/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-wrap:break-word}main{min-height:55vh}img{max-width:100%;display:block;height:auto}button,input,textarea{font:inherit}a{color:var(--navy);text-underline-offset:.3em}[hidden]{display:none!important}:focus-visible{outline:3px solid #6a9a2c;outline-offset:5px;box-shadow:0 0 0 3px #fff}h1,h2,h3{color:var(--ink);margin:0 0 1.2rem;font-weight:650;line-height:1.13;letter-spacing:-.04em}h1{font-size:clamp(2.4rem,4.4vw,4.4rem)}h2{font-size:clamp(2rem,3.25vw,3rem)}h3{font-size:1.3rem;letter-spacing:-.02em}p{margin:0 0 1.5rem}p:last-child{margin-bottom:0}.container{width:min(1200px,calc(100% - 5rem));margin-inline:auto}.reading-width{max-width:800px}.section{padding-block:6rem}.section-tint{background:var(--light)}.eyebrow{font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.18em;color:var(--navy);margin-bottom:1.4rem;display:flex;gap:.7rem;align-items:center}.eyebrow:before{content:"";display:block;width:25px;height:2px;background:var(--green);flex-shrink:0}.skip-link{position:absolute;left:1rem;top:1rem;padding:.7rem 1rem;z-index:100;background:white;transform:translateY(-200%)}.skip-link:focus{transform:none}
/* Original logo, quiet navigation and clear current-page state. */
.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:110px;padding-block:.7rem}.logo{display:block;flex-shrink:0}.logo img{width:221px;height:auto}.site-nav ul{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:2.1rem}.site-nav a:not(.button){display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--text);font-size:.9rem;font-weight:600}.site-nav a[aria-current=page],.site-nav a:not(.button):hover{color:var(--navy);text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:.55rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.65rem;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:white;text-decoration:none;font-weight:650;font-size:.9rem;line-height:1.5;text-align:center;max-width:100%;cursor:pointer;transition:background .18s,border-color .18s}.button:hover{background:#0f276c;border-color:#0f276c}.button:disabled{color:#536176;background:#e2e7ed;border-color:#e2e7ed;cursor:not-allowed}.menu-toggle{display:none;min-height:44px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);padding:.5rem 1rem;cursor:pointer}
/* Split editorial hero, using illustrative stock photography. */
.hero{padding-block:5.5rem;background:linear-gradient(90deg,#f3f6fa 0%,#f3f6fa 72%,#e9eef5 72%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4.5rem;align-items:center}.hero h1{font-size:clamp(2.4rem,4.2vw,4.15rem);max-width:14ch}.hero h1 span{color:var(--navy)}.lead{font-size:1.08rem;line-height:1.8;max-width:49ch;margin-block:1.8rem 2.2rem}.work-photo{margin:0;position:relative;min-width:0;background:#e8edf3;border-radius:4px;overflow:hidden}.work-photo img{width:100%;height:470px;object-fit:cover;object-position:52% center}.work-photo figcaption{padding:1.5rem 1.8rem;background:var(--deep);color:#fff}.work-photo figcaption span{display:block;color:#b8c7df;text-transform:uppercase;font-size:.7rem;letter-spacing:.17em;margin-bottom:.4rem}.work-photo figcaption strong{font-size:1.05rem;font-weight:550;line-height:1.4}.intro-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem}.intro-grid h2{max-width:16ch}.text-link{display:inline-flex;padding-block:.4rem;border-bottom:2px solid var(--green);text-decoration:none;font-weight:650;font-size:.9rem}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:4rem;margin-bottom:3rem}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:32ch;font-size:1rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.card{padding:2.1rem;background:white;border:1px solid var(--line);border-radius:5px;transition:border-color .18s,box-shadow .18s}.card:hover{border-color:#a1b5d2;box-shadow:0 8px 24px #11224408}.card-number{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #dce6d3;border-radius:50%;color:#426c1c;background:#f4f8ef;font-size:.8rem;font-weight:650;margin-bottom:2rem}.card h2,.card h3{font-size:1.35rem;line-height:1.3;letter-spacing:-.025em;max-width:22ch}.card p{font-size:1rem;line-height:1.8}.section-link{margin-top:2rem}.values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2rem;margin-top:3rem}.values article{border-top:2px solid var(--green);padding-top:1.5rem}.values h3{font-size:1.1rem;line-height:1.4;letter-spacing:-.025em}.values p{font-size:1rem;line-height:1.8}.cta-section{background:var(--deep);padding-block:4.5rem}.contact-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact-cta h2{color:white}.contact-cta p{color:#c6d1e3}.contact-cta .button{background:white;border-color:white;color:var(--navy)}.contact-cta .button:hover{background:#eaf0f7}
/* Inner pages share the same typography and generous rhythm. */
.page-heading{background:var(--light);padding-block:4.5rem;border-bottom:1px solid var(--line)}.page-heading h1{max-width:24ch;margin:0}.heading-description{font-size:1.15rem;line-height:1.75;letter-spacing:0;display:block;margin-top:1.6rem;font-weight:400;color:var(--text);max-width:55ch}.about-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:5rem}.about-grid .work-photo{margin-top:.4rem}.about-grid .work-photo img{height:430px}.prose p{max-width:72ch}.prose section+section{margin-top:2.5rem}.quote-section{background:var(--deep)}.quote-section h2{color:#a3c76c;font-size:1rem;letter-spacing:.12em;text-transform:uppercase}.quote-section blockquote{margin:2rem 0 0;padding-left:2rem;border-left:3px solid var(--green);color:white;font-size:clamp(1.6rem,2.7vw,2.4rem);font-weight:450;letter-spacing:-.025em;line-height:1.45}.approach-section{background:var(--light)}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:5rem;align-items:start}.contact-grid>div:first-child>p{max-width:38ch}.contact-grid h3{margin-top:2.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.email{overflow-wrap:anywhere}.form-panel{padding:2.5rem;border:1px solid var(--line);border-radius:5px;background:#fff;box-shadow:0 18px 70px #10204408}.form-panel h2{font-size:1.8rem}.notice{background:#f1f5eb;border-left:3px solid var(--green);padding:1rem 1.2rem;font-size:.9rem;line-height:1.7}.field{margin-bottom:1.6rem}.field label{display:block;font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:.55rem}input[type=email],textarea{width:100%;min-width:0;min-height:50px;border:1px solid #93a1b3;border-radius:3px;background:#fafbfd;padding:.8rem 1rem;color:var(--ink);font-size:1rem}textarea{resize:vertical;display:block}.checkbox-field{display:flex;gap:.8rem;align-items:flex-start;margin-block:1.5rem 2rem}.checkbox-field input{width:19px;height:19px;flex-shrink:0;margin-top:.3rem;accent-color:var(--navy)}.checkbox-field label{font-size:.875rem;line-height:1.75;cursor:pointer}.page-privacy .prose h2{font-size:1.65rem}
.site-footer{background:#fff;padding-block:3rem 1.5rem;font-size:.875rem}.footer-brand{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:2rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.footer-brand img{width:200px}.footer-brand p{text-align:right;color:var(--ink)}.footer-inner{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start}.footer-inner>div{min-width:0}.footer-inner p{margin-bottom:.3rem}.footer-inner>a{display:inline-flex;min-height:44px;align-items:center;flex-shrink:0}
@media(min-width:961px){.page-index .hero-grid{min-height:540px}}
@media(max-width:1000px){.container{width:calc(100% - 3rem)}.header-inner{gap:1rem}.site-nav ul{gap:1.2rem}.hero-grid{gap:2.5rem}.intro-grid,.about-grid,.contact-grid{gap:3rem}.values{gap:1.2rem;grid-template-columns:repeat(3,minmax(0,1fr))}.hero h1{font-size:3.1rem}.work-photo img{height:420px}.card{padding:1.5rem}}
@media(max-width:60rem){.header-inner{flex-wrap:wrap;min-height:94px}.logo img{width:196px}.site-nav{width:100%}.site-nav ul{flex-wrap:wrap;padding-bottom:1rem}.menu-ready .menu-toggle{display:block}.menu-ready .site-nav{display:none}.menu-ready .site-nav.is-open{display:block}.hero{padding-block:3.5rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding-block:4rem}.hero h1{font-size:clamp(2.4rem,5.3vw,3.1rem)}.hero-grid{gap:2rem}.intro-grid,.about-grid,.contact-grid{gap:2rem}.section-heading{gap:2rem}.contact-cta .button{flex-shrink:0}}
@media(max-width:44rem){.container{width:calc(100% - 2.5rem)}.hero{background:var(--light)}.hero-grid,.intro-grid,.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.hero h1{max-width:17ch;font-size:clamp(2.5rem,8vw,3.5rem)}.hero .lead{max-width:48ch}.work-photo img,.about-grid .work-photo img{height:auto;aspect-ratio:1.5;object-fit:cover}.work-photo figcaption{padding:1.1rem 1.3rem}.section-heading,.contact-cta,.footer-inner{flex-direction:column;align-items:flex-start}.section-heading>p{max-width:45ch}.cards{grid-template-columns:minmax(0,1fr)}.card{padding:1.8rem}.card h2,.card h3{max-width:28ch}.card-number{margin-bottom:1.3rem}.values{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.page-heading{padding-block:3rem}.form-panel{padding:1.5rem}.footer-brand{align-items:flex-start;flex-direction:column}.footer-brand p{text-align:left}.site-nav ul{align-items:stretch;flex-direction:column;gap:.2rem}.site-nav a{width:100%}.site-nav a:not(.button){padding-block:.5rem}.site-nav .button{margin-top:.6rem}.quote-section blockquote{padding-left:1.3rem}.intro-grid h2{max-width:22ch}}
@media(max-width:360px){.container{width:calc(100% - 2rem)}.logo img{width:172px}.values{grid-template-columns:1fr}.form-panel{padding:1rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* A brighter blue-and-green brand treatment and licensed workplace imagery. */
.site-header{border-top:4px solid var(--green)}
.hero{background:linear-gradient(115deg,#eaf3ff 0%,#edf6ff 57%,#e0efd1 100%)}
.hero h1 span{color:#467522}
.hero .work-photo{border-bottom:6px solid #82b84d;box-shadow:0 18px 45px #17358a14}
.hero .work-photo img{height:auto;aspect-ratio:1.08;object-fit:cover;object-position:50% 58%}
.hero .work-photo figcaption{background:#17358a}
.page-heading{background:linear-gradient(110deg,#e8f2ff,#eef7e5);border-bottom:1px solid #d4e2cb}
.section-tint{background:#eaf1fc}
.card{border-top:4px solid #17358a}
.card:nth-child(3n+2){border-top-color:#6a9a2c;background:#fbfff7}
.card:nth-child(3n+3){border-top-color:#26818a;background:#f7fdfe}
.card:nth-child(3n+1) .card-number{background:#e8efff;border-color:#c8d7f4;color:#17358a}
.card:nth-child(3n+3) .card-number{background:#e3f4f5;border-color:#badfe1;color:#19656c}
.intro-photo{margin-top:2rem;width:100%;aspect-ratio:1.8;object-fit:cover;border-radius:5px;border-bottom:5px solid var(--green)}
.intro-grid{align-items:center}
.service-photo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:stretch;margin:0 0 2rem;background:var(--navy);border-radius:5px;overflow:hidden}
.service-photo img{width:100%;height:270px;object-fit:cover;object-position:50% 65%}
.service-photo figcaption{display:flex;align-items:center;padding:2.5rem;color:white;font-size:clamp(1.5rem,2.6vw,2.3rem);font-weight:600;letter-spacing:-.035em;line-height:1.2;border-left:5px solid #83b94d}
.values{gap:1rem}
.values article{padding:1.5rem 1.2rem;background:#edf4e5;border-radius:4px}
.values article:nth-child(even){background:#e9f1ff;border-top-color:var(--navy)}
.cta-section{background:linear-gradient(115deg,#17358a,#155f78)}
.quote-section{background:linear-gradient(115deg,#122a65,#174e58)}
.approach-section{background:#edf5e6}
.approach-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:4rem;align-items:center}
.approach-grid .work-photo img{height:400px;object-position:center}
.contact-photo{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;margin-top:2.5rem;border-radius:5px;border-bottom:5px solid #6a9a2c}
.form-panel{border-top:5px solid #6a9a2c;background:linear-gradient(#f5f9ef 0,#fff 210px)}
.site-footer{border-top:4px solid #6a9a2c}
.photo-credit{margin-top:1rem;color:#526079;font-size:.875rem}
.photo-credit a{display:inline;min-height:0}
@media(max-width:60rem){.approach-grid{gap:2rem}.values{grid-template-columns:repeat(3,minmax(0,1fr))}.service-photo figcaption{padding:1.5rem}}
@media(max-width:44rem){.hero .work-photo img{aspect-ratio:1.35}.service-photo,.approach-grid{grid-template-columns:minmax(0,1fr)}.service-photo img{height:auto;aspect-ratio:1.6}.service-photo figcaption{border-left:0;border-top:4px solid #83b94d;font-size:1.5rem}.approach-grid .work-photo img{height:auto;aspect-ratio:1.4}.values{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-photo{aspect-ratio:1.6}}
@media(max-width:360px){.values{grid-template-columns:1fr}}

/* Accessible service overview inspired by the supplied reference. */
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.service-tile{display:grid;grid-template-columns:56px minmax(0,1fr);align-content:start;column-gap:1.1rem;row-gap:.8rem;padding:1.7rem;background:#fff;border:1px solid #dbe4ef;border-radius:8px}
.service-icon{grid-row:1 / 3;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#17358a}
.service-icon svg{width:30px;height:30px}
.service-tile:nth-child(even) .service-icon{background:#5b8426}
.service-tile h2,.service-tile h3{font-size:1.15rem;line-height:1.35;letter-spacing:-.02em;color:#17358a;margin:0}
.service-tile p{grid-column:2;font-size:1rem;line-height:1.7;margin:0}
@media(max-width:65rem){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:44rem){.service-grid{grid-template-columns:minmax(0,1fr)}.service-tile{padding:1.4rem;grid-template-columns:48px minmax(0,1fr);gap:.7rem 1rem}.service-icon{width:48px;height:48px}.service-icon svg{width:27px;height:27px}}



/* Wider, consistent framing preserves the setting and interaction in every photo. */
.hero .work-photo img{height:auto;aspect-ratio:1.5;object-position:center}
.intro-photo,.contact-photo{height:auto;aspect-ratio:1.5;object-position:center}
.about-grid .work-photo img,.approach-grid .work-photo img{height:auto;aspect-ratio:1.4;object-position:center}
@media(max-width:44rem){.hero .work-photo img,.about-grid .work-photo img,.approach-grid .work-photo img{aspect-ratio:1.5}}

/* Keep the safety equipment and plans in view at every screen size. */
.hero .work-photo img{aspect-ratio:1.2;object-position:center 20%}

/* Supporting photographs: retain the complete outdoor briefing and warehouse context. */
.intro-photo{aspect-ratio:1.5;object-position:center}
.about-grid .work-photo img{aspect-ratio:2 / 3;object-position:center}
.approach-grid .work-photo img{aspect-ratio:1.5;object-position:center}
.contact-photo{aspect-ratio:2 / 3;object-position:center}
