.content-page{padding-block:clamp(3rem,7vw,6rem)}.content-intro{border-block-end:0;inline-size:100%;padding-block-end:clamp(3rem,7vw,6rem);position:relative}.content-intro:before,.content-intro:after{content:"";block-size:2px;position:absolute;inset-block-end:0;inset-inline-start:0}.content-intro:before{z-index:1;background:var(--color-brand-z-red);inline-size:3.25rem}.content-intro:after{background:var(--color-border);inline-size:100%}.content-intro h1{max-inline-size:18ch;margin:0 0 var(--space-6);color:var(--color-text);letter-spacing:-.035em;font-size:clamp(2.25rem,5vw,4rem);line-height:1.1}.content-intro p:last-child{max-inline-size:62ch;color:var(--color-muted);margin:0;font-size:1.125rem}.projects-page .content-intro{padding-block-end:0}.projects-page .content-intro:before,.projects-page .content-intro:after{display:none}.projects-page .project-list{padding-block-start:clamp(2rem,4vw,3rem)}.project-list{gap:clamp(4rem,8vw,7rem);padding-block-start:clamp(3rem,7vw,6rem);display:grid}.projects-pagination{justify-content:space-between;align-items:center;gap:var(--space-4);border-block-start:1px solid var(--color-border);flex-wrap:wrap;margin-block-start:clamp(3rem,7vw,6rem);padding-block-start:var(--space-6);display:flex}.projects-pagination__pages{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.projects-pagination a,.projects-pagination__pages span{min-block-size:2.75rem;min-inline-size:2.75rem;padding-inline:var(--space-2);border:1px solid var(--color-brand-blue);color:var(--color-brand-blue);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.projects-pagination a:hover{color:#fff;background:var(--color-brand-blue-hover)}.projects-pagination__pages span{color:#fff;background:var(--color-brand-blue)}.project-record{border-block-start:2px solid var(--color-brand-blue);padding-block-start:var(--space-8)}.project-record__heading{gap:var(--space-8) var(--space-12);grid-template-columns:minmax(0,1.2fr) minmax(14rem,.8fr);align-items:start;display:grid}.project-record h2{color:var(--color-text);margin:0;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.15}.project-record .eyebrow{margin:0 0 var(--space-4);color:var(--color-brand-blue);letter-spacing:.1em;text-transform:uppercase;font-size:.8125rem;font-weight:700}.project-meta{gap:var(--space-4);color:var(--color-muted);margin:0;display:grid}.project-meta div{gap:var(--space-1);display:grid}.project-meta dt{color:var(--color-text);text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem;font-weight:700}.project-meta dd{margin:0}.content-note{color:var(--color-muted);font-size:.9375rem;font-style:italic}.privacy-content{max-inline-size:48rem;padding-block-start:clamp(2.5rem,6vw,5rem)}.privacy-content section{margin-block-start:clamp(2rem,5vw,3.5rem)}.privacy-content h2{margin:0 0 var(--space-3);color:var(--color-text);font-size:clamp(1.35rem,2.5vw,1.75rem);line-height:1.2}.privacy-content p:last-child{margin-block-end:0}.project-description{max-inline-size:58ch;margin:var(--space-6) 0 0;color:var(--color-muted);font-size:1.05rem}.project-gallery{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-start:var(--space-8);display:grid}.project-gallery--single{grid-template-columns:minmax(0,1fr)}.project-gallery__item{min-inline-size:0;color:inherit;cursor:zoom-in;background:#f0f2f3;border:0;padding:0;display:block;position:relative;overflow:hidden}.project-gallery__item:focus-visible{outline-offset:-3px}.project-gallery__item img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#f0f2f3;block-size:100%;display:block}.project-gallery__more{padding:var(--space-1) var(--space-2);color:#fff;background:#152933e0;font-size:.875rem;font-weight:700;position:absolute;inset-block-end:var(--space-3);inset-inline-end:var(--space-3)}.project-lightbox{block-size:min(92vh,52rem);max-block-size:none;inline-size:min(92vw,76rem);max-inline-size:none;color:var(--color-text);background:var(--color-background);border:0;padding:0}.project-lightbox::backdrop{background:#152933d1}.project-lightbox__panel{block-size:100%;padding:var(--space-6);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.project-lightbox__header{justify-content:space-between;align-items:start;gap:var(--space-6);padding-block-end:var(--space-4);display:flex}.project-lightbox__header .eyebrow{margin:0 0 var(--space-1);color:var(--color-brand-blue);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:700}.project-lightbox__header h2{margin:0;font-size:clamp(1.25rem,3vw,2rem);line-height:1.2}.project-lightbox__close,.project-lightbox__control{border:1px solid var(--color-brand-blue);min-block-size:2.75rem;color:var(--color-brand-blue);background:var(--color-background);font:inherit;cursor:pointer;font-weight:700}.project-lightbox__close{padding-inline:var(--space-3)}.project-lightbox__viewport{align-items:center;gap:var(--space-4);touch-action:pan-y;grid-template-columns:auto minmax(0,1fr) auto;min-block-size:0;display:grid}.project-lightbox__viewport img{object-fit:contain;block-size:100%;min-block-size:0;inline-size:100%;display:block}.project-lightbox__control{inline-size:2.75rem;padding:0;font-size:1.25rem}.project-lightbox__control:disabled{opacity:.45;cursor:default}.project-lightbox__counter{color:var(--color-muted);text-align:center;margin:0;padding-block-start:var(--space-3);font-size:.875rem}.installation-processes{gap:clamp(3.5rem,8vw,6rem);padding-block-start:clamp(3rem,7vw,5rem);display:grid}.installation-process{gap:var(--space-8) var(--space-12);border-block-start:2px solid var(--color-brand-blue);grid-template-columns:minmax(13rem,.7fr) minmax(0,1.3fr);padding-block-start:var(--space-8);display:grid}.installation-process__intro h2{margin:0 0 var(--space-3);color:var(--color-text);font-size:clamp(1.5rem,2.8vw,2.25rem);line-height:1.15}.installation-process__intro p{max-inline-size:38ch;color:var(--color-muted);margin:0}.installation-process__gallery{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.installation-process__image{cursor:zoom-in;background:#f0f2f3;border:0;min-inline-size:0;padding:0;overflow:hidden}.installation-process__image:first-child{grid-column:span 2}.installation-process__image:focus-visible{outline-offset:-3px}.installation-process__image img{aspect-ratio:4/3;object-fit:cover;block-size:100%;inline-size:100%;display:block}.installation-process__image:first-child img{aspect-ratio:16/9}.installation-lightbox{block-size:min(92vh,52rem);max-block-size:none;inline-size:min(92vw,76rem);max-inline-size:none;color:var(--color-text);background:var(--color-background);border:0;padding:0}.installation-lightbox::backdrop{background:#152933d1}.installation-lightbox__panel{block-size:100%;padding:var(--space-6);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.installation-lightbox__header{justify-content:space-between;align-items:start;gap:var(--space-6);padding-block-end:var(--space-4);display:flex}.installation-lightbox__header .eyebrow{margin:0 0 var(--space-1);color:var(--color-brand-blue);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:700}.installation-lightbox__header h2{margin:0;font-size:clamp(1.25rem,3vw,2rem);line-height:1.2}.installation-lightbox__close,.installation-lightbox__control{border:1px solid var(--color-brand-blue);min-block-size:2.75rem;color:var(--color-brand-blue);background:var(--color-background);font:inherit;cursor:pointer;font-weight:700}.installation-lightbox__close{padding-inline:var(--space-3)}.installation-lightbox__viewport{align-items:center;gap:var(--space-4);touch-action:pan-y;grid-template-columns:auto minmax(0,1fr) auto;min-block-size:0;display:grid}.installation-lightbox__viewport img{object-fit:contain;block-size:100%;min-block-size:0;inline-size:100%;display:block}.installation-lightbox__control{inline-size:2.75rem;padding:0;font-size:1.25rem}.installation-lightbox__control:disabled{opacity:.45;cursor:default}.installation-lightbox__counter{color:var(--color-muted);text-align:center;margin:0;padding-block-start:var(--space-3);font-size:.875rem}.capability-list{gap:0 var(--space-12);max-inline-size:48rem;margin:clamp(3rem, 7vw, 6rem) 0 var(--space-6);border-block-start:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.capability-list li{padding-block:var(--space-5);border-block-end:1px solid var(--color-border);color:var(--color-text);font-size:1.125rem}.about-evidence{max-inline-size:48rem;border-block-start:2px solid var(--color-brand-blue);margin-block-start:clamp(3rem,7vw,6rem);padding-block-start:var(--space-8)}.about-evidence h2{margin:0 0 var(--space-4);color:var(--color-text);font-size:clamp(1.5rem,3vw,2.25rem)}.about-evidence p{max-inline-size:60ch;color:var(--color-muted)}.services-subheading{font-weight:700;margin-block:calc(-1 * var(--space-2)) var(--space-6)!important;color:var(--color-brand-blue)!important;font-size:clamp(1.125rem,2vw,1.375rem)!important}.services-page .content-intro{padding-block-end:0}.services-page .content-intro:before,.services-page .content-intro:after{display:none}.scope-note{padding:var(--space-4);border-inline-start:3px solid var(--color-brand-blue);background:#f5f7f8;font-weight:700;color:var(--color-text)!important}.service-detail-list{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));padding-block-start:clamp(2rem,4vw,3rem);display:grid}.service-detail,.subcontract-card{isolation:isolate;padding:var(--space-6);border-block-start:3px solid var(--color-brand-blue);background:#f5f7f8;position:relative;overflow:hidden}.service-detail{min-block-size:18rem;scroll-margin-block-start:var(--space-12)}.service-detail:target{outline:3px solid var(--color-brand-blue);outline-offset:4px;background-color:#edf5ff;box-shadow:0 0 0 2px #1972d838}.service-detail:before,.service-detail:after{pointer-events:none;content:"";position:absolute;inset:0}.service-detail:before{z-index:-2;opacity:.48;background-position:100% 100%;background-repeat:no-repeat;background-size:min(62%,22rem)}.service-detail:after{z-index:-1;background:linear-gradient(90deg,#f5f7f8 0%,#f5f7f8fa 30%,#f5f7f873 66%,#f5f7f81f 100%)}.service-detail--curtain-wall:before{background-image:url(/assets/services/curtainwallingandglazing.png)}.service-detail--windows:before{background-image:url(/assets/services/aluminiumwindows.png)}.service-detail--aluminium-doors:before{background-image:url(/assets/services/aluminiumdoors.png)}.service-detail--steel-doors:before{background-image:url(/assets/services/steeldoors.png)}.service-detail>*{z-index:1;position:relative}.service-detail h2,.subcontract-section h2,.services-cta h2{margin:0 0 var(--space-4);font-size:clamp(1.5rem,2.8vw,2.25rem);line-height:1.15}.service-detail p:last-child,.subcontract-card p:last-child,.services-cta p:last-child{margin-bottom:0}.subcontract-section,.services-work-area,.services-cta,.contact-form{border-block-start:1px solid var(--color-border);margin-block-start:clamp(3rem,7vw,6rem);padding-block-start:clamp(2rem,4vw,3rem)}.subcontract-section,.services-cta{border-block-start:0;position:relative}.subcontract-section:before,.subcontract-section:after,.services-cta:before,.services-cta:after{content:"";block-size:2px;position:absolute;inset-block-start:0;inset-inline-start:0}.subcontract-section:before,.services-cta:before{z-index:1;background:var(--color-brand-z-red);inline-size:3.25rem}.subcontract-section:after,.services-cta:after{background:var(--color-border);inline-size:100%}.subcontract-section>header{max-inline-size:55rem;margin-block-end:var(--space-8)}.subcontract-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.subcontract-card h3,.scope-clarity h3{margin:0 0 var(--space-4);font-size:1.25rem;line-height:1.25}.subcontract-card ul{padding-inline-start:1.25rem}.scope-clarity{background:0 0;border-inline-start:0;margin-block-start:var(--space-6);padding-block-start:var(--space-6);position:relative}.scope-clarity:before{background:var(--color-brand-z-red);content:"";block-size:2px;inline-size:3.25rem;position:absolute;inset-block-start:0;inset-inline-start:0}.scope-clarity p{margin:0}.services-work-area{border-inline-start:3px solid var(--color-brand-blue);background:#f5f7f8;padding:clamp(2rem,5vw,4rem)}.services-work-area h2{margin:0 0 var(--space-4)}.services-work-area p:last-child{margin-bottom:0}.services-cta{padding-block-end:clamp(2rem,4vw,3rem)}.services-cta>p{max-inline-size:60ch}.button{align-items:center;gap:var(--space-3);min-block-size:2.875rem;padding:var(--space-2) var(--space-4);color:#fff;background:var(--color-brand-blue);font-weight:700;text-decoration:none;display:inline-flex}.button--red{background:var(--color-brand-blue)}.button--red:hover{background:var(--color-brand-blue-hover)}.services-cta__note{color:var(--color-muted);margin-block-start:var(--space-6);font-size:.875rem}.contact-form{gap:var(--space-6);flex-direction:column;max-inline-size:38rem;display:flex}.contact-form__field{gap:var(--space-2);display:grid}.contact-form label{color:var(--color-text);font-weight:700}.contact-form input{min-block-size:2.875rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-text);font:inherit}.contact-form__actions{margin-block-start:var(--space-2)}.contact-form__actions button{min-block-size:2.875rem;padding:var(--space-2) var(--space-4);color:#fff;background:var(--color-brand-blue);font:inherit;border:0;font-weight:700}.contact-form button:hover:not(:disabled){background:var(--color-brand-blue-hover)}.contact-form button:disabled{opacity:.55;cursor:not-allowed}.contact-form__messages{gap:var(--space-3);flex-direction:column;display:flex}.contact-form__note,.contact-form__privacy{color:var(--color-muted);margin:0;font-size:.875rem}.contact-page .content-intro{padding-block-end:0}.contact-page .contact-form{max-inline-size:40rem;border-block-start:0;margin-block-start:var(--space-8);padding-block-start:0}.privacy-content{max-inline-size:54rem;margin-inline:auto}.contact-page .contact-form input{inline-size:100%}@media (width<=48rem){.contact-page .contact-form{margin-block-start:var(--space-6)}.project-record__heading,.installation-process,.capability-list,.service-detail-list,.subcontract-grid{grid-template-columns:minmax(0,1fr)}.service-detail{min-block-size:16rem;padding:var(--space-6) var(--space-4)}.service-detail:before{opacity:.28;background-size:min(76%,17rem)}.service-detail:after{background:linear-gradient(90deg,#f5f7f8 0%,#f5f7f8fa 48%,#f5f7f894 76%,#f5f7f83d 100%)}.project-list{gap:clamp(3rem,10vw,4rem);padding-block-start:clamp(2.5rem,10vw,4rem)}.projects-page .project-list{padding-block-start:var(--space-6)}.projects-pagination{justify-content:center}.project-record{padding-block-start:var(--space-6)}.project-gallery{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-start:var(--space-6)}.project-gallery--single{grid-template-columns:minmax(0,1fr)}.project-description{margin-block-start:var(--space-4);font-size:1rem}.project-lightbox{block-size:100%;inline-size:100%}.project-lightbox__panel{padding:var(--space-4)}.project-lightbox__header{gap:var(--space-3)}.project-lightbox__viewport{gap:var(--space-2)}.project-lightbox__control{inline-size:2.5rem}.installation-processes{gap:clamp(3rem,10vw,4rem);padding-block-start:clamp(2.5rem,10vw,4rem)}.installation-process{gap:var(--space-6);padding-block-start:var(--space-6)}.installation-process__gallery{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.installation-process__image:first-child{grid-column:span 2}.installation-lightbox{block-size:100%;inline-size:100%}.installation-lightbox__panel{padding:var(--space-4)}.installation-lightbox__header{gap:var(--space-3)}.installation-lightbox__viewport{gap:var(--space-2)}.installation-lightbox__control{inline-size:2.5rem}}.contact-page .contact-form{gap:var(--space-4);max-inline-size:52rem}.contact-page .contact-form__fields{gap:var(--space-4);border:0;grid-template-columns:minmax(0,1fr);min-inline-size:0;margin:0;padding:0;display:grid}.contact-page .contact-form textarea,.contact-page .contact-form select{inline-size:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);font:inherit}.contact-page .contact-form textarea{resize:vertical;min-block-size:9rem}.contact-page .contact-form__verification{inline-size:min(100%,20rem);min-inline-size:0}.contact-page .contact-form__hint{color:var(--color-muted);font-size:.875rem;font-weight:400}.contact-page .contact-form__status--quiet{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-page .contact-form__feedback{margin:0}.contact-page .contact-form__feedback:empty{display:none}.contact-page .contact-form__feedback:not(:empty){padding:var(--space-4);border-inline-start:3px solid var(--color-brand-blue);background:#f5f7f8}.contact-page .contact-form__feedback[data-state=error]{border-color:var(--color-brand-z-red)}.contact-page .contact-form__retry{padding:var(--space-2) var(--space-3);border:1px solid var(--color-brand-blue);min-block-size:2.75rem;color:var(--color-brand-blue);background:var(--color-background);font:inherit;cursor:pointer;align-self:start}.contact-page .contact-form__actions,.contact-page .contact-form__privacy{align-self:flex-start;max-inline-size:100%}@media (width>=48rem){.contact-page .contact-form__fields{gap:var(--space-4) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.contact-page .contact-form__field--full{grid-column:1/-1}.contact-page .contact-form textarea{block-size:10rem;min-block-size:0}}
