@font-face{font-family:Big Shoulders;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/big600.woff2)format("woff2")}@font-face{font-family:Big Shoulders;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/big800.woff2)format("woff2")}@font-face{font-family:Public Sans;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/pubsans400.woff2)format("woff2")}@font-face{font-family:Public Sans;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/pubsans500.woff2)format("woff2")}@font-face{font-family:Public Sans;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/pubsans600.woff2)format("woff2")}@font-face{font-family:Public Sans;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/pubsans700.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/jbmono400.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/jbmono500.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/jbmono600.woff2)format("woff2")}:root{--ground:#f3f4f2;--surface:#fff;--ink:#0b0e13;--ink-2:#3a4250;--ink-3:#4a5260;--line:#cdd1d4;--line-strong:#9aa3b2;--blue:#1c86f2;--blue-hover:#4da3ff;--blue-text:#1266c4;--on-blue:#060a10;--error:#b42318;--tag-bg:#0b0e13;--tag-ink:#f1f3f6;--tag-v:#4da3ff;--font-display:"Big Shoulders", "Arial Narrow", sans-serif;--font-body:"Public Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--space-m:3rem;--space-l:6rem;--wrap:1240px;--gutter:clamp(1rem, 5vw, 3rem)}.dark{--ground:#0b0e13;--surface:#151a23;--ink:#f1f3f6;--ink-2:#b4bcc8;--ink-3:#9aa3b2;--line:#232a35;--line-strong:#3a4250;--blue-text:#4da3ff;--error:#ff8a80;background:var(--ground);color:var(--ink)}@media (width<=700px){:root{--space-m:2rem;--space-l:3.5rem}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6}img{max-width:100%;height:auto;display:block}picture{display:block}a{color:var(--blue-text);text-underline-offset:.18em}a:hover{color:var(--ink)}::selection{background:var(--blue);color:var(--on-blue)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance;margin:0;font-weight:800;line-height:.95}p{max-width:64ch;margin:0 0 1.1em}.measure{max-width:64ch}.wrap{max-width:var(--wrap);padding-inline:var(--gutter);margin:0 auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-text);margin:0;font-size:.8rem}.eyebrow a{color:inherit;text-decoration:none}.eyebrow a:hover{text-decoration:underline}.btn{min-height:48px;font-family:var(--font-mono);border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.6em;padding:.7em 1.3em;font-size:.95rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--ink);color:var(--ground)}.btn-primary{background:var(--blue);border-color:var(--blue);color:var(--on-blue);font-weight:600}.btn-primary:hover{background:var(--blue-hover);border-color:var(--blue-hover);color:var(--on-blue)}.btn:disabled{opacity:.6;cursor:progress}.btn svg{flex:none}.spec-tag{font-family:var(--font-mono);letter-spacing:.02em;background:var(--tag-bg);color:var(--tag-ink);border:1px solid var(--tag-ink);white-space:nowrap;align-items:baseline;gap:.5em;padding:.45em .65em;font-size:.78rem;line-height:1.2;display:inline-flex}.spec-tag .k{text-transform:uppercase}.spec-tag .v{color:var(--tag-v);font-weight:600}.photo-tagged{display:block;position:relative}.photo-tagged>.spec-tag{z-index:1;position:absolute;bottom:.75rem;left:.75rem}.photo-tagged>.spec-tag.top-right{inset:.75rem .75rem auto auto}.skip-link{background:var(--blue);color:var(--on-blue);z-index:100;font-family:var(--font-mono);padding:.75em 1.2em;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.site-header{z-index:50;border-bottom:1px solid var(--line);position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:1.5rem;height:72px;display:flex}.wordmark{color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:flex}.wordmark:hover{color:var(--ink)}.wordmark img{width:32px;height:32px}.wordmark-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;font-size:1.65rem;font-weight:800;line-height:1}.wordmark-place{font-family:var(--font-mono);color:var(--ink-3);border-left:1px solid var(--line-strong);padding-left:.75rem;font-size:.75rem}.site-nav{align-items:center;gap:1.75rem;display:flex}.site-nav a{white-space:nowrap}.site-nav a:not(.btn){font-family:var(--font-mono);color:var(--ink-2);border-bottom:2px solid #0000;padding:.4em 0;font-size:.875rem;text-decoration:none}.site-nav a:not(.btn):hover,.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--blue)}.site-nav .btn{min-height:44px;font-size:.875rem}.nav-toggle{display:none}@media (width<=1100px){.site-header-inner{height:60px}.wordmark-place{display:none}.nav-toggle{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.site-nav{background:var(--ground);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1.5rem;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open{display:flex}.site-nav a:not(.btn){border-bottom:1px solid var(--line);padding:.9rem 0;font-size:1rem}.site-nav .btn{margin-top:1rem}}.site-footer{--ground:#05070a;background:var(--ground)}.site-footer-inner{grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding-block:3.5rem 2.5rem;display:grid}.site-footer p{color:var(--ink-2);font-size:.95rem}.site-footer a{color:var(--ink);text-decoration:none}.site-footer a:hover{color:var(--blue-text)}.site-footer .wordmark{margin-bottom:1rem}.footer-links{gap:.45rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:grid}.site-footer .eyebrow{margin-bottom:1rem}.footer-bottom{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-3);justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem 2rem;font-size:.8rem;display:flex}@media (width<=760px){.site-footer-inner{grid-template-columns:1fr;gap:2rem}}.section{padding-top:var(--space-l)}.section-last{padding-bottom:var(--space-l)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.25rem;display:flex}.section-head>div{gap:.7rem;max-width:46rem;display:grid}.section-head h2{font-size:clamp(2.2rem,5vw,3.5rem)}.hero{padding-top:clamp(2rem,6vw,4.5rem)}.hero-inner{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.hero-copy{justify-items:start;gap:1.5rem;display:grid}.hero-copy h1{font-size:clamp(3.4rem,8.4vw,6.25rem);line-height:.88}.hero-copy .lede{color:var(--ink-2);max-width:34ch;margin:0;font-size:clamp(1.1rem,1.6vw,1.3rem)}.hero-actions{flex-wrap:wrap;gap:.9rem;display:flex}.hero-media img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);width:100%}.proof-strip{border-top:1px solid var(--line);font-family:var(--font-mono);grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(2.5rem,6vw,4rem) 0 0;font-size:.9rem;display:grid}.proof-strip>div{align-content:start;gap:.2rem;padding:1.35rem 1.5rem;display:grid}.proof-strip>div:first-child{padding-left:0}.proof-strip>div+div{border-left:1px solid var(--line)}.proof-strip dt{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:.72rem}.proof-strip dd{margin:0}@media (width<=900px){.hero-inner{grid-template-columns:1fr}.proof-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-strip>div:nth-child(3){border-left:0;padding-left:0}.proof-strip>div:nth-child(n+3){border-top:1px solid var(--line)}}@media (width<=560px){.hero-actions{width:100%}.hero-actions .btn{flex:100%}.proof-strip>div{padding:1rem 0 1rem 1rem}}.page-hero{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(2rem,5vw,3.5rem)}.page-hero .wrap{gap:1rem;display:grid}.page-hero h1{font-size:clamp(2.8rem,7vw,4.75rem);line-height:.9}.page-hero .lede{color:var(--ink-2);max-width:60ch;margin:0;font-size:clamp(1.05rem,1.5vw,1.2rem)}.page-body{padding-block:var(--space-m) var(--space-l)}.page-body .wrap>*+*{margin-top:var(--space-m)}.page-body h2{margin-bottom:1rem;font-size:clamp(1.8rem,3.8vw,2.5rem)}.page-body h3{margin:1.5rem 0 .6rem;font-size:1.4rem}.prose picture{max-width:760px;margin-top:1.5rem}.prose picture img{border:1px solid var(--line)}.page-actions{flex-wrap:wrap;gap:.9rem;display:flex}.doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.door{background:var(--surface);border:1px solid var(--line);flex-direction:column;display:flex}.door.dark{background:var(--ground);border-color:var(--ground)}.door img{aspect-ratio:16/9;object-fit:cover;width:100%}.door-body{flex-direction:column;flex-grow:1;align-items:flex-start;gap:1rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.door h3{font-size:clamp(1.9rem,3.5vw,2.4rem);line-height:1}.door p{color:var(--ink-2);margin:0}.door .btn{margin-top:auto}.chips{flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.chips a{min-height:36px;font-family:var(--font-mono);color:var(--ink);border:1px solid var(--line-strong);align-items:center;padding:.3em .75em;font-size:.82rem;text-decoration:none;display:inline-flex}.chips a:hover{border-color:var(--ink);background:var(--ink);color:var(--ground)}@media (width<=800px){.doors{grid-template-columns:1fr}}.steps{border-top:2px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.step{align-content:start;gap:.75rem;padding:1.75rem 1.75rem 0;display:grid}.step:first-child{padding-left:0}.step+.step{border-left:1px dashed var(--line-strong)}.step-num{font-family:var(--font-mono);color:var(--blue-text);font-size:2.75rem;font-weight:500;line-height:1}.step h3{font-size:1.75rem}.step p{color:var(--ink-2);margin:0}@media (width<=800px){.steps{grid-template-columns:1fr}.step{grid-template-columns:3rem 1fr;gap:.4rem 1rem;padding:1.25rem 0}.step-num{grid-row:span 2;font-size:1.75rem}.step+.step{border-left:0;border-top:1px dashed var(--line-strong)}}.job-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.5rem;display:grid}.job-card{color:var(--ink);flex-direction:column;gap:.8rem;text-decoration:none;display:flex}.job-card:hover{color:var(--ink)}.job-card img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:opacity .15s}.job-card:hover img{opacity:.88}.job-card-title{font-weight:600;line-height:1.35}.job-card:hover .job-card-title{text-underline-offset:.18em;text-decoration:underline}@media (width<=900px){.job-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}}@media (width<=560px){.job-card .spec-tag{font-size:.66rem;bottom:.5rem;left:.5rem}.job-card-title{font-size:.92rem}}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem 1rem;display:grid}.gallery-item{flex-direction:column;gap:.5rem;margin:0;display:flex}.gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery-item figcaption{color:var(--ink-2);font-size:.88rem;font-weight:500;line-height:1.35}@media (width<=560px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .75rem}}.work-orders{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.work-order{background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:1rem;margin:0;padding:1.75rem;display:flex}.work-order-head{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px dashed var(--line-strong);justify-content:space-between;gap:1rem;padding-bottom:.75rem;font-size:.75rem;display:flex}.work-order blockquote{margin:0;font-size:1.05rem}.work-order blockquote p{margin:0}.work-order figcaption{font-family:var(--font-mono);color:var(--blue-text);margin-top:auto;font-size:.85rem}@media (width<=900px){.work-orders{grid-template-columns:1fr}}.about-split{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2rem,5vw,3.5rem);display:grid}.about-split img{aspect-ratio:5/4;object-fit:cover;width:100%}.about-copy{justify-items:start;gap:1.1rem;display:grid}.about-copy h2{font-size:clamp(2.2rem,4.5vw,3.25rem)}.about-copy p{color:var(--ink-2);margin:0}.about-copy .sign{font-family:var(--font-mono);color:var(--ink);font-size:.95rem}@media (width<=800px){.about-split{grid-template-columns:1fr}}.enquire{padding-block:var(--space-l)}.enquire-inner{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.enquire-copy{gap:1.1rem;display:grid}.enquire-copy h2{font-size:clamp(2.6rem,6vw,4.5rem);line-height:.9}.enquire-copy p{color:var(--ink-2);max-width:40ch;margin:0}.contact-lines{font-family:var(--font-mono);gap:.35rem;margin-top:.5rem;font-size:.92rem;display:grid}.contact-lines a{color:var(--ink);text-decoration:none}.contact-lines a:hover{color:var(--blue-text)}@media (width<=860px){.enquire-inner{grid-template-columns:1fr}}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;display:grid}.form-grid .full{grid-column:1/-1}.field{gap:.45rem;display:grid}label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:.75rem}input,select,textarea{width:100%;font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:0;padding:.8em .9em;font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}textarea{resize:vertical;min-height:130px}input[type=file]{font-family:var(--font-mono);color:var(--ink-2);cursor:pointer;border-style:dashed;padding:1.1em;font-size:.85rem}input[type=file]::file-selector-button{font-family:var(--font-mono);border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;margin-right:1em;padding:.55em 1em;font-size:.85rem}.hint{color:var(--ink-3);margin:0;font-size:.85rem}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.form-status{margin:0;font-size:.95rem}.form-status[data-state=error]{color:var(--error)}@media (width<=600px){.form-grid{grid-template-columns:1fr}.form-actions .btn{width:100%}}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);color:var(--ink);flex-direction:column;text-decoration:none;transition:border-color .15s;display:flex}.card:hover{border-color:var(--ink);color:var(--ink)}.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.card-body{align-content:start;gap:.7rem;padding:1.5rem;display:grid}.card-body>.spec-tag{justify-self:start}.card h3{font-size:1.6rem}.card p{color:var(--ink-2);margin:0;font-size:.95rem}.stat-row{border-top:2px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-row>div{padding:1.25rem 1.25rem 0 0}.stat-num{font-family:var(--font-display);color:var(--blue-text);font-size:2.6rem;font-weight:800;line-height:1}.stat-label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-top:.5rem;font-size:.75rem}@media (width<=700px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.25rem}}.spec-list{border-top:1px solid var(--line-strong);max-width:760px;margin-top:1.25rem}.spec-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.9rem 0;display:flex}.spec-row .item{font-weight:500}.spec-row .price{font-family:var(--font-mono);color:var(--blue-text);white-space:nowrap}@media (width<=560px){.spec-row{flex-direction:column;gap:.2rem}}.sub-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.5rem;padding-block:1.25rem;display:flex}.sub-nav a{min-height:40px;font-family:var(--font-mono);border:1px solid var(--line-strong);color:var(--ink);align-items:center;padding:.35em .9em;font-size:.82rem;text-decoration:none;display:inline-flex}.sub-nav a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--ground)}.sub-nav a:hover:not([aria-current=page]){border-color:var(--ink)}.story-row{grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;display:grid}.story-row p,.story-figure{margin:0}.story-figure img{aspect-ratio:4/3;object-fit:cover;width:100%}.story-figure figcaption{color:var(--ink-3);margin-top:.6rem;font-size:.88rem}@media (width<=900px){.story-row{grid-template-columns:1fr}}.contact-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.contact-details{gap:.5rem;display:grid}.contact-details .eyebrow{margin-top:1.25rem}.contact-details .eyebrow:first-child{margin-top:0}.contact-details p{margin:0}.map-embed{border:1px solid var(--line);width:100%;height:240px;margin-top:1.5rem}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}.update-single{padding-block:var(--space-m) var(--space-l)}.update-single .wrap{gap:1.25rem;max-width:900px;display:grid}.update-meta{font-family:var(--font-mono);color:var(--ink-3);margin:0;font-size:.85rem}.update-single h1{font-size:clamp(2.4rem,6vw,4rem);line-height:.92}.update-single picture img{border:1px solid var(--line);width:100%}.update-body{font-size:1.12rem}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
