.home{--section-space:clamp(3rem, 7vw, 6rem);--color-surface:#f5f7f8;color:#182126}.home .eyebrow{margin:0 0 var(--space-4);color:var(--color-brand-blue);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:700}.home h1,.home h2{color:var(--color-text);letter-spacing:-.04em;margin:0;font-weight:600}.home h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.03}.home h2{max-inline-size:22ch;font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.1}.home h3{margin:0 0 var(--space-3);color:var(--color-text);font-size:1.25rem;line-height:1.2}.home p{color:var(--color-muted)}.hero{grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.hero-copy>p{max-inline-size:60ch}.hero-copy .lead{margin-block:var(--space-6);color:var(--color-text);font-size:clamp(1.125rem,1.8vw,1.3125rem);line-height:1.45}.hero-geographic{margin-block:var(--space-4);font-weight:600;color:var(--color-muted)!important}.hero-emphasis{margin-block:var(--space-6);font-weight:700;color:var(--color-brand-blue)!important}.action-group{gap:var(--space-3);flex-wrap:wrap;display:flex}.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)}.button--red:disabled{opacity:.55;cursor:not-allowed}.button--secondary{color:var(--color-brand-blue);background:0 0;border:1px solid}.button:hover{text-decoration:underline}.hero-image{margin:0}.hero-image img{aspect-ratio:3/2;object-fit:cover;background:var(--color-surface);inline-size:100%;display:block}.hero-image figcaption{padding-block:var(--space-2);color:var(--color-muted);border-block-end:1px solid var(--color-border);font-size:.8125rem}.home-section{border-block-start:0;margin-block-start:var(--section-space);padding-block-start:clamp(2rem,4vw,3rem);position:relative}.home-section:before,.home-section:after{content:"";block-size:2px;position:absolute;inset-block-start:0;inset-inline-start:0}.home-section:before{z-index:1;background:var(--color-brand-z-red);inline-size:3.25rem}.home-section:after{background:var(--color-border);inline-size:100%}.home .section-heading{gap:var(--space-6) var(--space-12);grid-template-columns:minmax(0,1fr) minmax(0,.9fr);margin-block-end:var(--space-8);display:grid}.section-intro p{margin-block-end:var(--space-3)}.text-link{padding-block:var(--space-2);font-weight:700;text-decoration-thickness:1px;display:inline-block}.service-grid,.project-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.service-card,.project-preview{background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.service-card>img,.project-preview>img{aspect-ratio:16/10;object-fit:cover;background:#e9edef;inline-size:100%;display:block}.service-card--aluminium-doors>img{object-fit:cover;object-position:center 85%}.service-card--steel-doors>img{object-fit:contain;object-position:center;background:0 0}.service-card__body,.project-preview__body{padding:var(--space-6)}.service-card p,.project-preview p{margin-block-end:var(--space-3)}.service-card:not(:has(img)){align-items:stretch;display:flex}.service-card:not(:has(img)) .service-card__body{border-block-start:3px solid var(--color-brand-blue)}.work-summary{gap:var(--space-6);padding:var(--space-6);background:var(--color-surface);border-inline-start:3px solid var(--color-brand-blue);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.work-summary p{margin:0}.work-area{background:var(--color-surface);border-inline-start:3px solid var(--color-brand-blue);margin-block-start:var(--section-space);padding:clamp(2rem,5vw,4rem)}.work-area h2{margin-block-end:var(--space-6)}.work-area p:last-child{margin-bottom:0}.contact-section{padding-block-end:clamp(2rem,4vw,3rem)}@media (width<=48rem){.hero,.home .section-heading,.work-summary{grid-template-columns:minmax(0,1fr)}.hero{gap:var(--space-6);padding-block:var(--space-8)}.hero-image img{aspect-ratio:16/10}.home .section-heading{gap:var(--space-4);margin-block-end:var(--space-6)}.service-grid,.project-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.service-card__body,.project-preview__body{padding:var(--space-4)}.work-summary{gap:var(--space-4);padding:var(--space-4)}}
