    :root{font-family:Arial,Helvetica,sans-serif;color:#122a46;background:#f4f8fc;scroll-behavior:smooth}
    *{box-sizing:border-box}body{margin:0}a{color:inherit}a:focus-visible{outline:3px solid #61d5ff;outline-offset:4px}
    .shell{max-width:1180px;margin:auto;padding:0 32px}.top{background:#071d38;color:white}.nav{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:16px;padding-bottom:16px;border-bottom:1px solid #ffffff2b}
    .brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.28rem;font-weight:800;letter-spacing:-.035em}.brand img{width:47px;height:47px;border-radius:11px}.navlinks{display:flex;align-items:center;gap:27px;font-size:.93rem;font-weight:700}.navlinks a{text-decoration:none}.navlinks a:hover,.foot a:hover{text-decoration:underline}.navlinks .contact-link{background:#44c8f2;color:#071d38;padding:12px 17px;border-radius:4px}
    .hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:50px;align-items:center;padding-top:92px;padding-bottom:100px;min-height:565px;position:relative;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:#60d4fa;margin:0 0 20px}.hero h1{font-size:clamp(2.6rem,5.5vw,5.2rem);line-height:1.03;letter-spacing:-.055em;max-width:780px;margin:0 0 23px}.hero h1 span{color:#62d0f5}.intro{font-size:1.16rem;line-height:1.65;max-width:610px;color:#d7e7f4;margin:0 0 33px}.button{display:inline-block;background:#43c8f3;color:#072039;text-decoration:none;font-weight:800;padding:16px 23px;border-radius:4px}.button:hover,.navlinks .contact-link:hover{background:#85e2ff}.hero-mark{border:1px solid #4cb8ec50;background:linear-gradient(145deg,#133e6b,#092440);min-height:335px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;position:relative;box-shadow:24px 24px 0 #12345688}.hero-mark:before{content:"";position:absolute;inset:18px;border:1px solid #55c7ee48}.hero-mark img{width:min(55%,175px);height:auto;border-radius:24px;box-shadow:0 20px 40px #00192f88}.hero-mark small{position:static;text-align:center;padding:0 24px;text-transform:uppercase;letter-spacing:.13em;line-height:1.5;color:#a5dff4;font-size:.68rem;font-weight:700}
    section{padding:86px 0}.section-head{max-width:720px;margin-bottom:34px}.kicker{color:#0878ae;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;margin:0 0 15px}h2{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.12;letter-spacing:-.045em;margin:0 0 17px}.section-head p,.about p{line-height:1.68;font-size:1.07rem;color:#425a72;margin:0}.services{background:white}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:#f3f8fc;padding:27px 25px;min-height:185px;border-top:3px solid #1b9cd1}.card .number{color:#0b85ba;font-size:.75rem;font-weight:800;letter-spacing:.13em}.card h3{font-size:1.2rem;margin:18px 0 10px;letter-spacing:-.025em}.card p{line-height:1.55;color:#425a72;margin:0;font-size:.96rem}
    .about{background:#eaf3f9}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.values{border-left:4px solid #2ab8e8;padding:14px 0 14px 25px}.values strong{display:block;font-size:1.3rem;line-height:1.4;color:#123757;letter-spacing:-.02em}.values span{display:block;margin-top:14px;color:#42627c;line-height:1.55}.contact{background:#0b2a4b;color:white}.contact .kicker{color:#73d9f7}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.contact p{line-height:1.6;color:#d0e3f1;font-size:1.08rem}.details{display:grid;gap:21px;align-content:center}.details div{border-bottom:1px solid #ffffff3c;padding-bottom:16px}.details small{display:block;text-transform:uppercase;letter-spacing:.14em;color:#81d6f1;font-weight:800;margin-bottom:8px}.details a{font-size:1.15rem;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.details a:hover{text-decoration:underline}.foot{background:#071d38;color:#b9cddd;padding:25px 0;font-size:.84rem}.foot .shell{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot a{text-decoration:none}
    @media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:70px;padding-bottom:78px;gap:52px}.hero-mark{min-height:260px;max-width:500px}.grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{gap:35px}.navlinks{gap:15px}.navlinks a:not(.contact-link){display:none}}
    @media(max-width:600px){.shell{padding-left:21px;padding-right:21px}.hero{padding-top:58px;padding-bottom:70px}.hero h1{font-size:clamp(2.5rem,10vw,3.8rem)}.hero-mark{min-height:245px;gap:12px;box-shadow:12px 12px 0 #12345688}.hero-mark img{width:min(49%,145px)}.grid,.about-grid,.contact-grid{grid-template-columns:1fr}.card{min-height:auto}section{padding:66px 0}.navlinks .contact-link{padding:11px 13px}.contact-grid{gap:26px}}
    .card-link{display:block;text-decoration:none;height:100%}.card-link:hover h3,.card-link:focus-visible h3{color:#0878ae;text-decoration:underline}.card-link::after{content:"Explore service →";display:block;color:#0878ae;font-size:.9rem;font-weight:800;margin-top:22px}
    .crumb{font-size:.9rem;color:#a9dced;margin-bottom:26px}.crumb a{color:inherit;text-underline-offset:4px}.service-hero{padding-top:76px;padding-bottom:82px;max-width:850px}.service-hero h1{font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.07;letter-spacing:-.05em;margin:0 0 23px}.service-hero .intro{margin-bottom:0}.service-body{background:white}.service-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.7fr);gap:80px}.service-copy p{font-size:1.08rem;line-height:1.75;color:#425a72;margin:0 0 22px}.service-copy h2{margin-bottom:24px}.service-aside{background:#eaf3f9;padding:32px;align-self:start;border-top:4px solid #2ab8e8}.service-aside h2{font-size:1.4rem;margin:0 0 15px}.service-aside p{color:#425a72;line-height:1.6}.service-aside .button{margin-top:13px}.related{background:#f3f8fc}.related .grid{grid-template-columns:repeat(3,1fr)}.related .card{background:white;min-height:170px}
    @media(max-width:800px){.service-layout{grid-template-columns:1fr;gap:28px}.service-hero{padding-top:58px;padding-bottom:65px}}
    @media(max-width:600px){.related .grid{grid-template-columns:1fr}.service-aside{padding:26px}.service-hero h1{font-size:clamp(2.5rem,10vw,3.6rem)}}

    .hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}.hero-visual{position:relative;margin:0;min-width:0}.hero-visual img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:center;border:1px solid #6fd7f460;box-shadow:20px 20px 0 #12345688}.hero-visual figcaption{margin-top:26px;color:#b6d3e5;font-size:.78rem;letter-spacing:.03em}
    @media(max-width:800px){.hero{grid-template-columns:1fr;gap:36px}.hero-visual{max-width:620px}.hero-visual img{aspect-ratio:3/2}}
    @media(max-width:600px){.hero{gap:32px;padding-top:34px}.hero-visual{order:-1}.hero-visual img{aspect-ratio:16/9;box-shadow:10px 10px 0 #12345688}.hero-visual figcaption{margin-top:17px}}
    .origin-note{border-left:3px solid #53c9ef;padding-left:16px;margin:28px 0 0;color:#c5e0ef;font-size:1rem;line-height:1.5;font-weight:600}
    .service-photo--portrait img{width:auto;max-width:100%;max-height:600px;aspect-ratio:3/4;object-fit:contain;margin-inline:auto}
    .service-photo--portrait figcaption{text-align:center}
    @media(max-width:600px){.service-photo--portrait img{width:100%;max-height:none}}


    .service-hero{max-width:1180px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:55px;align-items:center}.service-hero-copy{min-width:0}.service-photo{margin:0;min-width:0}.service-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid #5ab9e059;box-shadow:17px 17px 0 #123456}.service-photo figcaption{color:#b6d3e5;font-size:.78rem;margin-top:24px;letter-spacing:.03em}
    @media(max-width:800px){.service-hero{grid-template-columns:1fr;gap:36px}.service-photo{max-width:630px}.service-photo figcaption{margin-top:20px}}
    @media(max-width:600px){.service-photo img{box-shadow:10px 10px 0 #123456}}

.service-photo--four-three img{aspect-ratio:4/3}

.service-photo--natural img{aspect-ratio:auto}

.homepage-banner{max-width:2048px;margin:0 auto}.homepage-banner img{display:block;width:100%;height:auto}.hero-followup{display:flex;justify-content:space-between;align-items:center;gap:42px;padding-top:34px;padding-bottom:44px}.hero-followup h1{font-size:1.3rem;line-height:1.25;margin:0 0 8px;letter-spacing:-.02em}.hero-followup p{color:#d7e7f4;line-height:1.55;margin:0;max-width:760px}.hero-followup .button{flex:none}
@media(max-width:800px){.hero-followup{align-items:flex-start;flex-direction:column;gap:22px;padding-top:27px;padding-bottom:38px}}
@media(max-width:600px){.hero-followup h1{font-size:1.2rem}.hero-followup p{font-size:.98rem}.homepage-banner img{min-height:145px;object-fit:cover;object-position:center top}}

.video-feature{background:#eaf3f9}.video-feature .shell{max-width:1000px}.video-feature h2{margin-bottom:13px}.video-feature p:not(.kicker){color:#425a72;font-size:1.07rem;line-height:1.6;margin:0 0 27px}.video-feature video{display:block;width:100%;height:auto;aspect-ratio:910/512;background:#071d38;border:1px solid #5ab9e059;box-shadow:16px 16px 0 #d2e8f5}
@media(max-width:600px){.video-feature video{box-shadow:9px 9px 0 #d2e8f5}}

.foot .shell{align-items:center}.accreditation-logo{display:block;width:190px;height:112px;object-fit:cover;object-position:center;background:#fff;border-radius:3px;flex:none}

.accreditation-badges{display:flex;align-items:center;gap:14px;max-width:100%}.safecontractor-logo{display:block;width:112px;height:112px;object-fit:contain;background:#fff;border-radius:3px;flex:none}@media(max-width:600px){.accreditation-logo{width:155px;height:92px}.safecontractor-logo{width:92px;height:92px}.accreditation-badges{gap:12px}}

.linkedin-updates{background:#f5f9fc}.updates-link{display:inline-block;margin-top:25px;color:#0b4264;font-weight:800;text-underline-offset:4px}.updates-link:hover,.updates-link:focus-visible{color:#006f9a}.footer-linkedin{color:#fff;text-decoration:underline!important;text-underline-offset:4px;font-weight:700}
.projects-preview{background:#f5f9fc}.project-teasers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-teasers a{display:block;background:#fff;color:#123757;text-decoration:none;font-size:1.12rem;font-weight:800}.project-teasers img{display:block;width:100%;height:280px;object-fit:cover;object-position:center 38%}.project-teasers span{display:flex;justify-content:space-between;gap:10px;padding:20px 23px}.project-teasers a:hover span,.project-teasers a:focus-visible span{text-decoration:underline}.projects-hero{padding-top:78px;padding-bottom:82px}.projects-hero h1{font-size:clamp(2.8rem,6vw,5rem);line-height:1.06;letter-spacing:-.05em;margin:0 0 22px}.projects-hero .intro{max-width:750px;margin:0}.project-story{background:#fff;scroll-margin-top:20px}.project-story--alternate{background:#eaf3f9}.project-story-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:72px;align-items:center}.project-story figure{margin:0}.project-story img{display:block;width:100%;height:490px;object-fit:cover;object-position:center 42%}.project-story figcaption{margin-top:12px;color:#526a80;font-size:.9rem}.project-story-copy h2{max-width:620px}.project-story-copy p:not(.kicker){font-size:1.08rem;line-height:1.7;color:#425a72}.project-story-copy a{display:inline-block;margin-top:14px;color:#086e9e;font-weight:800;text-underline-offset:4px}.project-next{background:#0b2a4b;color:#fff}.project-next-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center}.project-next .kicker{color:#73d9f7}.project-next p{font-size:1.08rem;line-height:1.6;color:#d0e3f1}.project-next a:not(.button){color:#fff;font-weight:700}
@media(max-width:800px){.project-story-grid,.project-next-grid{grid-template-columns:1fr;gap:30px}.project-story img{height:400px}}
@media(max-width:600px){.project-teasers{grid-template-columns:1fr}.project-teasers img{height:230px}.projects-hero{padding-top:58px;padding-bottom:63px}.project-story img{height:auto;max-height:520px;object-fit:cover}}

/* Keep every navigation destination accessible on small screens. */
@media(max-width:800px){.nav{flex-wrap:wrap;gap:16px}.navlinks{flex-wrap:wrap;gap:18px}.navlinks a:not(.contact-link){display:inline-block}.navlinks a{padding-block:10px}}
@media(max-width:420px){.navlinks{width:100%;justify-content:space-between;gap:8px;font-size:.875rem}.navlinks .contact-link{padding:10px}.service-aside .button{max-width:100%;overflow-wrap:anywhere}.accreditation-badges{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Integrated legal pages and footer links. */
.legal-links{display:flex;flex-wrap:wrap;gap:16px 24px;flex-basis:100%;font-size:.9375rem}.legal-links a{text-decoration:underline;text-underline-offset:4px;padding-block:8px}.legal-hero{padding-top:58px;padding-bottom:62px}.legal-hero h1{font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.12;letter-spacing:-.045em;margin:0;overflow-wrap:anywhere}.legal-body{background:#fff;padding:64px 0 76px}.legal-copy{max-width:900px;overflow-wrap:anywhere}.legal-copy p{font-size:1.08rem;line-height:1.75;color:#425a72;margin:0 0 20px}.legal-copy h2{font-size:clamp(1.4rem,3vw,1.8rem);line-height:1.3;letter-spacing:-.02em;margin:38px 0 18px}.legal-copy a{text-underline-offset:4px}@media(max-width:600px){.legal-hero{padding-top:42px;padding-bottom:46px}.legal-body{padding:42px 0 54px}}
