

:root{--ink:#182122;--paper:#f4f3ee;--cyan:#42d6dc;--muted:#aab5b4;--line:#d8dcd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:132px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}.wrap{width:min(1240px,90%);margin:auto}header{position:sticky;top:0;background:var(--ink);color:white;z-index:20;border-bottom:1px solid #ffffff20}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px}.mark{width:40px;height:42px}.brand strong{font:800 22px Manrope,Arial;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--cyan);margin-top:5px}.links{display:flex;gap:30px;align-items:center;font-size:13px}.links a:hover{color:var(--cyan)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--cyan);padding:17px 23px;font-size:13px;font-weight:700;border:0;cursor:pointer;transition:background .2s,transform .2s;color:var(--ink)}.btn:hover{background:#7be8e9;transform:translateY(-2px)}.btn.dark{background:var(--ink);color:white}.menu{display:none;background:none;border:1px solid #6b7777;color:white;padding:9px}.hero{background:var(--ink);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:660px;align-items:center;gap:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;display:flex;align-items:center;gap:10px}.dot{height:6px;width:6px;background:var(--cyan);display:inline-block;border-radius:50%}h1,h2,h3{font-family:Manrope,Arial,sans-serif;margin:0;letter-spacing:-2px}h1{font-size:clamp(48px,5.9vw,79px);line-height:1.08;font-weight:500;margin:28px 0}h1 em{font-style:normal;color:var(--cyan)}.hero p{font-size:16px;color:#b7c2c0;line-height:1.8;max-width:410px}.actions{display:flex;gap:25px;align-items:center;margin:32px 0}.text-link{font-size:13px;border-bottom:1px solid #6d7a78;padding-bottom:5px}.hero-foot{display:flex;align-items:center;gap:15px;color:#aab5b4;font-size:11px;margin-top:40px}.hero-foot span{width:35px;height:1px;background:var(--cyan)}.drawing{position:relative;min-width:0}.drawing svg{width:115%;margin-left:-3%;display:block}.drawing-label{position:absolute;bottom:10%;right:3%;font-size:10px;letter-spacing:2px;color:#90a09e}.strip{background:var(--cyan);padding:24px 0}.strip .wrap{display:flex;justify-content:space-between;gap:20px;font-size:12px;font-weight:600}.strip span b{margin-right:12px;font-size:15px}.section{padding:105px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:48px}.section-head h2{font-size:clamp(34px,4vw,51px);font-weight:500;line-height:1.2;margin-top:20px}.section-head p{line-height:1.8;color:#65716d;max-width:430px;align-self:end;margin-bottom:3px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{border-top:1px solid #9caaa5;padding:26px 4px 0}.service-num{font-size:11px;color:#6d7a75;display:flex;justify-content:space-between}.service h3{font-size:25px;letter-spacing:-.8px;margin:35px 0 18px}.service p{font-size:14px;line-height:1.8;color:#65716d;min-height:75px}.service ul{padding:0;list-style:none;font-size:13px;line-height:2.5;border-top:1px solid var(--line);padding-top:14px}.service li:before{content:'↗︎';margin-right:14px;color:#73867e}.service a{display:inline-block;font-size:12px;font-weight:700;margin:20px 0 0;border-bottom:1px solid #62756c;padding-bottom:5px}.maintenance{background:#e7eae2;padding:76px 0}.maintenance .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px}.maintenance h2{font-size:42px;font-weight:500;line-height:1.2;margin:22px 0}.maintenance p{color:#65716d;line-height:1.8;font-size:14px}.checks{padding:20px 0}.check{border-bottom:1px solid #c8d0c5;padding:20px 0;display:grid;grid-template-columns:30px 1fr;gap:10px}.check b{font-size:15px}.check p{margin:7px 0 0;font-size:13px}.check>span{color:#168991}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-block{background:var(--ink);padding:52px;color:white;position:relative;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}.about-block .big{font:500 72px Manrope;letter-spacing:-5px;color:var(--cyan)}.about-block p{font-size:26px;line-height:1.5;max-width:300px;margin-bottom:0;letter-spacing:-1px}.about h2{font-size:41px;font-weight:500;margin:22px 0}.about-copy p{font-size:15px;color:#65716d;line-height:1.9}.signature{border-top:1px solid var(--line);padding-top:22px;margin-top:30px;font-size:14px}.signature span{display:block;color:#65716d;font-size:12px;margin-top:6px}.process{padding-top:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:22px}.step small{font-size:11px;color:#71817a}.step h3{font-size:21px;letter-spacing:-.7px;margin:20px 0 13px}.step p{font-size:14px;line-height:1.8;color:#65716d}.area{border-top:1px solid var(--line);padding:40px 0;display:flex;justify-content:space-between;align-items:center;gap:40px}.area strong{font:500 23px Manrope;letter-spacing:-.8px}.area p{font-size:12px;line-height:1.9;max-width:550px;color:#65716d}.contact{background:var(--ink);color:white;padding:90px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:55px;font-weight:500;margin:25px 0}.contact p{line-height:1.8;color:#aab5b4;font-size:14px}.contact-link{display:block;font-size:23px;letter-spacing:-.5px;margin-top:32px}.contact-email{display:block;font-size:15px;margin:12px 0 32px;color:var(--cyan)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field.full{grid-column:1/-1}.field label{display:block;font-size:11px;color:#c0cbc7;margin-bottom:10px}.field input,.field select,.field textarea{width:100%;padding:13px 0;border:0;border-bottom:1px solid #65736c;border-radius:0;color:white;background:transparent;outline-offset:4px}.field select option{background:var(--ink)}.field textarea{min-height:100px;resize:vertical}.form-note{font-size:11px!important;margin:20px 0!important}.form-status{color:var(--cyan)!important}footer{background:#111919;color:#b2bfba;padding:30px 0}.footer-grid{display:flex;justify-content:space-between;gap:24px;font-size:11px;align-items:center}.footer-grid a{border-bottom:1px solid #56675f}.fine{color:#788780;font-size:10px;margin-top:18px}.mobile-call{display:none}@media(max-width:900px){.links{gap:18px}.nav{height:78px}.hero-grid{min-height:580px}.hero h1{font-size:55px}.about,.contact-grid{gap:45px}.section{padding:75px 0}.maintenance .wrap{gap:45px}.drawing svg{width:130%}.hero-foot{margin-bottom:30px}.contact h2{font-size:42px}}@media(max-width:680px){.wrap{width:89%}.menu{display:block}.links{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:25px 6%;flex-direction:column;align-items:stretch}.links.open{display:flex}.hero-grid{grid-template-columns:1fr;gap:0;padding-top:48px}.hero h1{font-size:57px}.hero p{max-width:100%}.hero-foot{margin-top:25px}.drawing{margin-top:-15px}.drawing svg{width:100%;margin:0}.drawing-label{bottom:11%}.strip .wrap{flex-wrap:wrap;font-size:11px;gap:16px}.strip span{width:45%}.section-head{grid-template-columns:1fr;gap:12px}.services{grid-template-columns:1fr}.service{padding-top:20px}.service h3{margin-top:20px}.service p{min-height:0}.service ul{columns:2;font-size:12px}.service a{margin-top:5px;margin-bottom:25px}.maintenance .wrap,.about,.contact-grid{grid-template-columns:1fr;gap:30px}.maintenance h2,.about h2{font-size:36px}.maintenance{padding:60px 0}.about-block{min-height:300px;padding:35px}.steps{grid-template-columns:1fr;gap:20px}.step h3{margin-top:12px}.area{display:block}.contact{padding:65px 0}.contact h2{font-size:46px}.footer-grid{align-items:flex-start;flex-direction:column}.formgrid{gap:20px 16px}.actions{gap:22px}.btn{gap:25px}.process{padding-top:0}.section-head h2{font-size:37px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Readability, keyboard access and compact-screen refinements. */
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--cyan);color:var(--ink);padding:14px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.contact-link small{display:block;font-size:12px;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}.contact-email{overflow-wrap:anywhere}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.field input,.field select,.field textarea{font-size:16px}
.text-link,.service a{padding-top:10px;padding-bottom:10px}.links a:not(.btn){padding:12px 0}.menu{min-height:44px;min-width:60px}.fine{color:#aab5b4}.hero .eyebrow{line-height:1.8}
@media(max-width:680px){.hero h1{font-size:clamp(44px,11vw,57px)}.actions{flex-wrap:wrap;gap:12px 24px}.service ul{columns:1}.brand strong{font-size:20px}.nav{gap:14px}.formgrid{grid-template-columns:1fr}.section-head h2{font-size:34px}.contact h2{font-size:40px}.drawing-label{font-size:8px}.eyebrow{letter-spacing:1.6px}}

/* Keep the illustration and enquiry actions comfortable on narrow phones. */
.nav{height:120px}.brand-logo{display:block;width:215px;height:auto;flex:none;mix-blend-mode:screen}
@media(max-width:680px){.nav{height:122px}.brand-logo{width:205px}.links{top:122px}}
.hero-grid,.drawing{min-width:0}.drawing{max-width:100%}
@media(max-width:680px){.actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.actions .btn{width:100%;min-height:56px}.actions .text-link{align-self:flex-start}.strip .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.strip span{width:auto;min-width:0}.drawing{overflow:hidden;margin-top:0}.drawing svg{width:100%;height:auto}.hero-foot{font-size:10px;letter-spacing:.2px}}

.service-hero{padding:64px 0 72px;background:var(--ink);color:var(--paper)}.service-hero h1{font-size:clamp(36px,5vw,62px);max-width:950px}.service-hero p{max-width:760px;color:#b7c2c0;line-height:1.85}.breadcrumbs{font-size:12px;color:#b7c2c0;margin-bottom:30px}.breadcrumbs a{text-decoration:underline}.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px}.detail-copy h2,.faq h2,.related h2{font-size:clamp(28px,3vw,38px);font-weight:500;letter-spacing:-1px;margin:0 0 22px}.detail-copy h3{font-size:21px;letter-spacing:-.5px;margin:28px 0 12px}.detail-copy p,.detail-copy li,.detail-aside p,.faq p{font-size:15px;line-height:1.85;color:#52615b}.detail-copy li{margin-bottom:12px}.detail-aside{background:#e7eae2;padding:30px;align-self:start}.detail-aside h2{font-size:25px;letter-spacing:-.7px}.faq{padding-top:0}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:600;line-height:1.6}.faq p{max-width:850px}.related{padding:45px 0 70px}.service-links{display:flex;gap:14px;flex-wrap:wrap}.service-links a{border:1px solid #9caaa5;padding:14px 18px;font-size:13px;line-height:1.5}.service-links a:hover{background:var(--cyan)}.seo-intro{font:500 20px/1.5 Manrope,Arial,sans-serif;letter-spacing:-.4px;max-width:440px;margin-bottom:18px}.footer-services{display:flex;flex-wrap:wrap;gap:14px 24px;margin:22px 0;font-size:12px;line-height:1.8}.footer-services a{text-decoration:underline;text-underline-offset:4px}@media(max-width:680px){.detail-grid{grid-template-columns:1fr;gap:30px}.service-hero{padding:38px 0 45px}.service-hero h1{font-size:40px;letter-spacing:-1.5px}.detail-aside{padding:24px}.service-links{flex-direction:column}.seo-intro{font-size:18px}.faq{padding-top:0}}

.detail-copy h2:not(:first-child){margin-top:36px}.detail-aside ul{padding-left:20px;color:#52615b;font-size:14px;line-height:1.8}.detail-aside li{margin-bottom:10px}.home-service-title{font-size:clamp(42px,4.6vw,62px)}.job-directory{padding-top:10px}.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.job-card{border:1px solid #c7cfc8;padding:26px;display:flex;flex-direction:column;transition:background .2s}.job-card:hover{background:#e7eae2}.job-card h3{font-size:20px;letter-spacing:-.6px;line-height:1.4;display:flex;justify-content:space-between;gap:14px}.job-card p{font-size:14px;line-height:1.8;color:#52615b;flex:1}.job-more{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.service-hero .text-link{min-height:44px}.detail-copy p{max-width:70ch}@media(max-width:900px){.job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .home-service-title{font-size:46px}}@media(max-width:680px){.job-grid{grid-template-columns:1fr}.hero .home-service-title{font-size:clamp(36px,9vw,49px);letter-spacing:-1.5px}.job-directory{padding-top:0}}

.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.offer-card{border:1px solid #c7cfc8;padding:30px}.offer-card h2{font-size:27px;letter-spacing:-1px}.offer-card p,.intro-text{font-size:15px;line-height:1.85;color:#52615b}.offer-card ul{list-style:none;padding:18px 0 0;margin-top:18px;border-top:1px solid var(--line)}.offer-card li a{display:block;padding:12px 0;text-decoration:underline;text-underline-offset:4px;font-size:14px}.links{gap:22px}.links a[aria-current=page]{color:var(--cyan)}.area-groups{display:grid;gap:10px}.area-groups section{border-bottom:1px solid var(--line)}@media(max-width:900px){.links{gap:13px;font-size:12px}.links .btn{padding:14px;gap:10px}.brand-logo{width:190px}}@media(max-width:680px){.offer-grid{grid-template-columns:1fr}.links{font-size:14px}.offer-card{padding:24px}.brand-logo{width:205px}}
