*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#082b46;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #00858b;outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid #dbe5eb;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand b{font-size:38px;letter-spacing:-4px;line-height:1}.brand strong{font-size:13px;letter-spacing:2px}nav{display:flex;gap:30px;font-size:14px}nav a{padding:8px 0}nav a[aria-current]{border-bottom:2px solid #082b46}.header-cta{font-size:14px;font-weight:bold;border:1px solid #082b46;padding:10px 24px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:630px}.hero-copy{padding:72px 7% 35px 10%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.5rem,4.6vw,4.8rem);line-height:1.08;letter-spacing:-2.5px;font-weight:500;margin-bottom:28px}h1 em{font-family:Georgia,serif;font-weight:400}h2{font-size:clamp(2rem,3vw,3.2rem);line-height:1.15;letter-spacing:-1.3px;font-weight:500}h3{font-size:22px;line-height:1.3;font-weight:500}.hero-copy>p:not(.eyebrow){max-width:430px;color:#516675;font-size:18px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:32px 0 58px}.button{display:inline-block;padding:15px 23px;background:#ffcd57;color:#082b46;font-size:14px;font-weight:bold;border:1px solid transparent}.button:hover{background:#f3b932}.button.dark{background:#082b46;color:#fff}.text-link{font-size:14px;border-bottom:1px solid;padding:5px 0}.hero-foot{font-size:12px;letter-spacing:1px;font-weight:bold;border-top:1px solid #dbe5eb;padding-top:20px}.hero-foot span{display:block;font-size:14px;font-weight:400;letter-spacing:0;margin-top:4px}figure{margin:0;position:relative;background:#dbe5eb;min-height:500px}figure img{width:100%;height:100%;object-fit:cover;position:absolute}figcaption{position:absolute;bottom:0;padding:9px 18px;color:white;background:#061e36cc;font-size:12px;width:100%}.section{padding:80px 5%}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:32px;align-items:start}.section-heading p:last-child{color:#516675}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dbe5eb;margin-top:30px}.service-grid article{padding:28px 28px 16px 0;margin-right:25px;display:flex;flex-direction:column}.service-grid article:last-child{margin-right:0}.number{color:#087e85;font-size:14px;margin-bottom:35px}.service-grid p{color:#516675;font-size:16px}.service-grid a{font-size:14px;margin-top:auto;padding-top:15px;font-weight:bold}.service-grid a span{float:right}.steps{background:#f0f6f8}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.three span{font-size:12px;letter-spacing:1px}.three h3{margin-top:20px}.three p{color:#516675}.contact-band{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;background:#082b46;color:#fff;padding:70px 8%}.contact-band .eyebrow{color:#ffcd57}.contact-band h2{margin:0}.contact-band>div:last-child{align-self:center;max-width:390px}.small{font-size:14px;margin-top:15px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:35px 5%}footer p{font-size:12px;margin:0;color:#516675}.page-head{padding:80px 8%;background:#f0f6f8}.page-head p:last-child{max-width:550px;font-size:18px;color:#516675}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-left:8%;padding-right:8%}.split p{color:#516675}.legal{font-size:14px;border-top:1px solid #dbe5eb;padding-top:25px;margin-top:30px}.phone{font-size:30px;display:block;margin-bottom:20px}.brief{background:#f0f6f8;padding:30px}.brief ul{padding-left:20px}.brief li{margin-bottom:12px}.menu{display:none}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}@media(max-width:1000px){nav{gap:17px}.hero-copy{padding-top:45px}.hero{min-height:580px}.service-grid{grid-template-columns:repeat(2,1fr)}.section-heading{grid-template-columns:1fr 2fr}.section-heading p:last-child{grid-column:2}.brand strong{font-size:12px;letter-spacing:1px}}@media(max-width:700px){header{flex-wrap:wrap;padding:18px 6%;gap:15px}.header-cta{display:none}.menu{display:block;border:1px solid #082b46;background:white;padding:9px 15px;color:inherit;font:inherit;font-size:14px}nav{display:none;width:100%;flex-wrap:wrap;gap:15px 25px}nav.open{display:flex}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 6% 30px}h1{letter-spacing:-1.5px}.hero figure{min-height:370px}.actions{margin:25px 0 35px}.section{padding:50px 6%}.section-heading{display:block}.service-grid{grid-template-columns:1fr}.service-grid article{margin:0;padding:25px 0;border-bottom:1px solid #dbe5eb}.number{margin-bottom:15px}.three,.split,.contact-band{grid-template-columns:1fr;gap:30px}.three{margin-top:25px}.contact-band{padding:45px 6%}footer{align-items:flex-start;flex-direction:column;padding:30px 6%}.page-head{padding:50px 6%}.brief{padding:24px}.phone{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Brand refresh: navy structure, teal detail and restrained gold accents. */
header{padding:5px 5%;border-bottom:1px solid #dbe5eb;background:#fff}
.brand{flex-shrink:0;line-height:0}.brand img{display:block;width:150px;height:150px;object-fit:contain}.brand b,.brand strong{display:none}
nav a{font-weight:600}nav a:hover{color:#087e85}nav a[aria-current]{border-bottom-color:#009da4;color:#087e85}
.header-cta{background:#082b46;color:#fff;border-radius:5px;border-color:#082b46}.header-cta:hover{background:#0d4565}
.hero{background:linear-gradient(125deg,#f0f7fa 0%,#fff 58%);border-bottom:1px solid #dbe5eb}.hero-copy{padding-top:62px}.hero .eyebrow{color:#08747a;display:flex;align-items:center;gap:12px}.hero .eyebrow:before{content:"";width:24px;height:3px;background:#e8b33c;flex-shrink:0}h1 em{color:#087e85}
.button{border-radius:5px;box-shadow:0 5px 12px #082b4610;transition:background .15s ease}.button.dark{background:#08747a}.button.dark:hover{background:#065f65}.text-link{border-color:#009da4}
.hero-foot{border-top-color:#c6dce4}.hero figure{border-left:5px solid #009da4}
.service-grid{border-top:0;gap:20px}.service-grid article{padding:28px 24px;margin:0;border:1px solid #dbe5eb;border-top:3px solid #009da4;border-radius:6px;background:#fff;box-shadow:0 8px 25px #082b4607}.service-grid article:nth-child(even){border-top-color:#082b46}.service-grid article a{color:#08747a}.number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:#e9f6f6;border-radius:50%;font-weight:700;margin-bottom:25px}
.steps{background:linear-gradient(110deg,#eef5f8,#f5f9fa)}.three>div{border-left:2px solid #c8dce5;padding-left:24px}.three>div:first-child{border-color:#009da4}.three span{color:#08747a;font-weight:bold}
.contact-band{background:linear-gradient(110deg,#061e36,#0b3b54);border-top:4px solid #009da4}.contact-band .eyebrow{color:#66dedc}.contact-band .small{color:#c5d7e1}
.page-head{background:linear-gradient(110deg,#edf6f8,#f8fafc);border-bottom:1px solid #dbe5eb;border-left:6px solid #009da4}.page-head .eyebrow{color:#08747a}.brief{border-top:3px solid #009da4;border-radius:6px}.legal{border-color:#dbe5eb}footer{border-top:1px solid #dbe5eb;padding-top:15px;padding-bottom:15px}footer .brand img{width:170px;height:170px}
@media(max-width:1000px){header{gap:16px}nav{gap:18px}.hero-copy{padding-top:45px}}
@media(max-width:700px){header{padding:4px 6%;gap:0 15px}.brand img{width:124px;height:124px}.menu{border-color:#c6dce4;border-radius:5px;color:#082b46;background:#f0f6f8}nav.open{padding:0 0 18px}.hero-copy{padding-top:38px}.hero figure{border-left:0;border-top:4px solid #009da4}.service-grid{gap:16px}.service-grid article{padding:25px;border-bottom:1px solid #dbe5eb}.three{gap:24px}.page-head{border-left-width:4px}footer{gap:15px;padding-top:10px;padding-bottom:30px}footer .brand img{width:150px;height:150px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

#services{scroll-margin-top:24px}.services-heading{grid-template-columns:1fr 1fr;align-items:center;gap:30px}.services-heading h2{margin-bottom:0}.services-heading p:last-child{grid-column:auto;max-width:480px;margin:0}.hero-copy .actions{margin-bottom:20px}@media(max-width:700px){.services-heading h2{margin-bottom:18px}.services-heading p:last-child{max-width:none}}

/* More prominent bottom-section introductions. */
.steps .section-intro,.contact-band .section-intro{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.625rem,2.5vw,2rem);font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none;margin-bottom:22px}.steps .section-intro{color:#08747a}.contact-band .section-intro{color:#66dedc}

.enquiry-faq{max-width:1050px;margin:auto;padding-top:20px}.enquiry-faq details{border-bottom:1px solid #dbe5eb;padding:20px 0}.enquiry-faq summary{cursor:pointer;font-size:18px;font-weight:600;color:#082b46}.enquiry-faq details p{margin:16px 0 0;color:#516675;max-width:750px}.enquiry-faq summary:focus-visible{outline:3px solid #00858b;outline-offset:5px}

.hero figure img{object-position:65% center}@media(max-width:700px){.hero figure{min-height:0;aspect-ratio:4/3}.hero figure img{object-position:center}}

/* Preserve the complete project photo at its original proportions. */
.hero figure{align-self:center;display:flex;flex-direction:column;min-height:0;aspect-ratio:auto;margin:28px 28px 28px 0;border:1px solid #dbe5eb;border-radius:8px;overflow:hidden;background:#082b46;box-shadow:0 12px 28px #082b4615}.hero figure img{position:static;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center}.hero figcaption{position:static;background:#082b46;padding:12px 16px;line-height:1.5}.coverage-note{color:#516675;font-size:14px;margin:24px 0 0;max-width:900px}.coverage-note strong{color:#08747a;margin-right:8px}@media(max-width:700px){.hero figure{align-self:stretch;margin:0 6% 32px;min-height:0;aspect-ratio:auto}.hero figcaption{font-size:12px}.coverage-note{font-size:14px}}

/* About page: company context, project evidence and practical enquiry guidance. */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-left:8%;padding-right:8%}.about-intro p:not(.eyebrow),.about-columns p,.about-coverage p:not(.eyebrow){color:#516675}.about-project{min-height:0;background:#082b46;border-radius:8px;overflow:hidden;border:1px solid #dbe5eb}.about-project img{position:static;display:block;width:100%;height:auto;object-fit:contain}.about-project figcaption{position:static;background:#082b46;padding:12px 16px;line-height:1.5}.about-scope{background:#f0f6f8;padding-left:8%;padding-right:8%}.about-section-title{max-width:720px}.about-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:35px 0}.about-columns article{border-top:2px solid #009da4;padding-top:24px}.about-columns .number{background:#fff}.about-columns p{margin-bottom:0}.about-coverage{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:60px 8%;background:#f0f6f8}.business-details{background:#fff;border-top:3px solid #009da4;border-radius:6px;padding:30px;align-self:start}.business-details h3{margin-bottom:24px}.business-details dl{margin:0}.business-details dt{font-size:14px;color:#516675;margin-top:18px}.business-details dd{margin:4px 0 0;overflow-wrap:anywhere}.business-details a{color:#08747a;font-weight:bold}@media(max-width:850px){.about-intro{gap:32px}.about-columns{gap:22px}.about-coverage{gap:32px}}@media(max-width:700px){.about-intro,.about-columns,.about-coverage{grid-template-columns:1fr}.about-intro,.about-scope,.about-coverage{padding:45px 6%}.about-columns{margin:28px 0;gap:24px}.about-intro{gap:25px}.business-details{padding:25px}}

/* Completed project photographs retain their full proportions. */
.project-gallery{max-width:1240px;margin:0 auto}.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:28px}.gallery-heading h2{margin:0}.gallery-heading p{color:#516675;margin:0;font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.project-card{min-height:0;background:#fff;border:1px solid #dbe5eb;border-radius:8px;overflow:hidden;align-self:start}.project-card>a{display:block;background:#eef5f8}.project-card img{position:static;display:block;width:100%;height:auto;object-fit:contain}.project-card figcaption{position:static;background:#fff;color:#082b46;padding:22px 24px;border-top:3px solid #009da4}.project-card figcaption h3{margin:0 0 8px;font-size:22px}.project-card figcaption p{margin:0;color:#516675;font-size:16px}.project-exterior{margin-top:32px}.project-card>a:focus-visible{outline-offset:-4px}@media(max-width:700px){.gallery-heading{display:block}.gallery-heading p{margin-top:12px}.project-grid{grid-template-columns:1fr;gap:24px}.project-card figcaption{padding:20px}.project-exterior{margin-top:24px}}

/* Distinct service colours, reinforced by service names and numbers. */
.service-grid article:nth-child(1){background:#d9f3ee;border-color:#aadacf;border-top:5px solid #078578}.service-grid article:nth-child(1) .number{background:#08796e;color:#fff}.service-grid article:nth-child(1) a{color:#075d55}
.service-grid article:nth-child(2){background:#fff0c2;border-color:#e8d397;border-top:5px solid #b47707}.service-grid article:nth-child(2) .number{background:#8c5900;color:#fff}.service-grid article:nth-child(2) a{color:#754800}
.service-grid article:nth-child(3){background:#e5f0ff;border-color:#bfd4ef;border-top:5px solid #316fae}.service-grid article:nth-child(3) .number{background:#275d94;color:#fff}.service-grid article:nth-child(3) a{color:#204f7e}
.service-grid article:nth-child(4){background:#153b58;border-color:#153b58;border-top:5px solid #009da4;color:#fff}.service-grid article:nth-child(4) .number{background:#d4f4ef;color:#153b58}.service-grid article:nth-child(4) p{color:#e0ebf2}.service-grid article:nth-child(4) a{color:#ffdc82}

/* Unified typography: confident Manrope headings and readable Source Sans 3 text. */
:root{--font-heading:"Manrope",Arial,sans-serif;--font-body:"Source Sans 3",Arial,sans-serif}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;font-weight:400}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:var(--font-heading);font-style:normal;overflow-wrap:break-word;text-wrap:balance}h1{font-weight:700;font-size:clamp(2.375rem,4.1vw,4.25rem);line-height:1.13;letter-spacing:-.035em}h1 em{font-family:inherit;font-style:normal;font-weight:700}h2{font-weight:700;font-size:clamp(1.875rem,2.8vw,2.875rem);line-height:1.2;letter-spacing:-.03em}h3,.project-card figcaption h3{font-weight:600;font-size:1.25rem;line-height:1.4;letter-spacing:-.02em}.eyebrow,.three span{font-family:var(--font-heading);font-weight:700;font-size:.875rem;line-height:1.5;letter-spacing:.025em;text-transform:none}.hero .eyebrow{flex-wrap:wrap}.steps .section-intro,.contact-band .section-intro{font-family:var(--font-heading);font-weight:600;font-size:clamp(1.625rem,2.5vw,2rem);font-style:normal;line-height:1.3;letter-spacing:-.025em}nav,.header-cta,.button,.text-link,.service-grid a{font-family:var(--font-heading);font-size:.875rem;font-weight:600;line-height:1.5}nav a,.coverage-note strong,.enquiry-faq summary,.business-details a,strong,b{font-weight:600}.number{font-family:var(--font-heading);font-weight:700;font-size:.875rem}.service-grid p,.project-card figcaption p,.coverage-note,.small,.business-details dt{font-size:1rem;line-height:1.65}.hero-copy>p:not(.eyebrow),.page-head p:last-child{font-size:1.1875rem;line-height:1.65}.about-intro p:not(.eyebrow),.about-columns p,.split p:not(.eyebrow),.three p{font-size:1.0625rem}.legal,footer p,figcaption,.hero figcaption,.about-project figcaption{font-family:var(--font-body);font-size:.875rem;line-height:1.6}.phone{font-family:var(--font-heading);font-weight:600;letter-spacing:-.025em}.business-details dd{line-height:1.6}.hero-copy,.section-heading>*,.split>*,.about-intro>*,.about-coverage>*,.service-grid article,.three>div{min-width:0}@media(max-width:700px){h1{letter-spacing:-.03em}.hero .eyebrow{font-size:.8125rem}.hero figcaption{font-size:.875rem}.coverage-note{font-size:1rem}.hero-copy{padding-top:38px}}
