/* Black, distressed white and orange, drawn from the supplied ProSafe artwork. */
:root{--orange:#ff5000;--orange-light:#ff5000;--muted:#aaa6a0;--light-muted:#b0aaa2;--line:#393734;--ink2:#171717;--paper:#f2f0eb}
body{background:#0e0e0e;color:var(--paper)}
body::before{content:"";position:fixed;inset:0;z-index:11;pointer-events:none;background:url("./assets/grain.svg");opacity:.035}
h1,h2{font-family:Impact,"Arial Narrow","Arial Black",Arial,sans-serif;font-style:italic;text-transform:uppercase;font-weight:900;letter-spacing:-.035em;line-height:.98}
h3{letter-spacing:-.02em}.button{color:#111;border-radius:0;font-size:12px;text-transform:uppercase;letter-spacing:.35px;box-shadow:4px 4px 0 #ff50001b}.button:hover{background:#ff5000}.top-line{background:var(--orange);color:#101010}
.site-header{background:#080808;border-bottom-color:#ffffff21}.header-inner{height:94px}.brand{display:flex;align-items:center;gap:9px;width:204px}.brand-mark{display:block;width:65px;height:65px;overflow:hidden;flex:none}.brand .brand-mark img{width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:screen}.brand-name{display:block}.brand-name strong{display:block;font-family:Impact,"Arial Black",Arial,sans-serif;font-style:italic;font-size:22px;letter-spacing:-1px;color:#f3f2ee}.brand-name strong span{color:var(--orange)}.brand-name small{display:block;font-size:8px;letter-spacing:4px;font-weight:700;margin-top:5px}.main-nav{gap:26px;font-size:10px;letter-spacing:.3px;text-transform:uppercase}.main-nav .button{font-size:10px}.menu-toggle{border-radius:0}
.hero{background:#080808;position:relative;border-bottom:5px solid var(--orange)}.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,#171717 0 9px,var(--orange) 9px 18px)}.hero-grid{grid-template-columns:1fr 1fr;min-height:630px;gap:35px;padding-top:50px;padding-bottom:36px}.hero h1{font-size:clamp(68px,6.3vw,94px);letter-spacing:-.04em;text-shadow:2px 2px 0 #ffffff09}.hero .eyebrow{font-size:9px;letter-spacing:1px}.hero-lead{font-size:20px;line-height:1.5}.hero-description{font-size:13px;color:#a8a29a}.hero-art{aspect-ratio:1;min-height:0;align-self:center;overflow:hidden;width:100%;position:relative;isolation:isolate}.hero-art::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 42px 20px #080808;pointer-events:none}.hero-logo{display:block;width:100%;height:100%;max-height:none;max-width:100%;position:absolute;inset:0;object-fit:cover;object-position:center center;filter:none;transform:none}.credentials{position:relative;z-index:1;border-top-color:#ffffff26}.credential-icon{color:var(--orange)}.credentials strong{text-transform:uppercase;letter-spacing:.6px;font-size:12px}.hero-phone{border-bottom-color:var(--orange);color:var(--paper)}.text-link{letter-spacing:.2px}.explore-link{color:#b0aaa2}.circle-arrow{border-radius:0}
.services,.areas,.faq{background:#101010;color:var(--paper)}.dark-eyebrow,.eyebrow{color:var(--orange-light)}.section-heading h2{font-size:clamp(40px,4vw,60px)}.section-heading>div>p{color:#b0aaa2}.service-row,.service-row:last-child,.faq-list>details,.faq-list>details:last-child{border-color:#393632}.service-row[open] summary strong{color:var(--orange-light)}.service-row summary strong{font-size:22px}.expand-icon::before,.expand-icon::after{background:var(--orange)}.service-body>p,.service-row summary small,.service-aside p,.section-intro,.muted,.faq details p{color:#aaa59d}.service-number{color:var(--orange-light)}.tags span{border-color:#393632;color:#c9c4bb}.dark-link{color:var(--paper);border-bottom-color:#ff500080}.service-aside .small-label{color:#d3cfc8}.drawing svg{stroke:#8c877f}.drawing .drawing-accent{stroke:var(--orange)}.service-list{min-width:0}
.approach{background:#1a1816;border-top:1px solid #332e29;border-bottom:1px solid #332e29}.process-number{border-top-color:#514337}.process-grid h3{font-size:24px}.builder-note{border-top-color:#514337}.region-graphic{background:#080808;border:1px solid #403931;box-shadow:12px 12px 0 #ff500017;border-radius:0}.area-buttons button{border-color:#51473d;color:#e1dcd4;border-radius:0}.area-buttons button:hover{background:#2a211a;border-color:var(--orange)}.area-buttons span{color:var(--orange)}.area-instruction{color:#c4beb4}
.quote{background:#1c1917;border-color:#39312b}.quote-note strong{color:#e7ded3}.contact-email{border-color:#6b5847}.contact-phone>span,.quote-note>span{color:var(--orange)}.enquiry-panel{background:#101010;border:1px solid #5a4230;border-top:3px solid var(--orange);border-radius:0;box-shadow:12px 12px 0 #0004}.form-heading>span:last-child,.field-help,.field-label small,.form-footnote{color:#ada59a}.step-indicators{border-color:#41362c}.step-indicators li{color:#a99d90}.step-indicators li>span{border-color:#5f4b3b;border-radius:0}.step-indicators .active{color:var(--paper)}.step-indicators .active>span{color:#111}.step-indicators .complete>span{color:var(--orange);background:#32251c;border-color:#5c3921}legend{font-size:23px;color:var(--paper)}.service-option{background:#181614;border-color:#44372b;border-radius:0}.service-option:has(input:checked){background:#2c1d13;border-color:var(--orange)}.service-option strong{color:#e9e3db}.service-option small{color:#aaa094}.service-option:has(input:checked) .option-icon{color:var(--orange)}.option-icon{color:#958878}.radio-mark{border-color:#736251}.service-option:has(input:checked) .radio-mark{border-color:var(--orange);background:#1c1917}.field-label{color:#d8d1c7}.field-label>span,.form-footnote>span{color:var(--orange)}input:not([type=radio]),select,textarea{color:#f0e9df;background:#1e1a17;border-color:#67513e;border-radius:0;color-scheme:dark}input::placeholder,textarea::placeholder{color:#9d9080}.form-actions{border-top-color:#45382c}.enquiry-review{background:#231d17;border-color:var(--orange)}.enquiry-review p{color:#ded3c6}.enquiry-review>.small-label{color:#c6b29d}.form-status{background:#24271c;color:#d3dbba;border-color:#91a56e}.copy-enquiry{color:#d6c8b7;border-color:#85715a}.footer-call>span:last-child{color:var(--orange)}.site-footer{background:#080808;border-top:1px solid #3e3127}.footer-top h2{color:#efede6}.footer-bottom{border-color:#47392d}
.work-gallery{background:#090909;border-top:1px solid #393029;border-bottom:1px solid #393029;position:relative}.work-gallery::before{content:"";position:absolute;top:0;left:0;width:15%;height:3px;background:var(--orange)}.gallery-heading{margin-bottom:32px}.gallery-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;border-bottom:1px solid #393029;padding-bottom:22px}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap}.gallery-filter{background:transparent;color:#b5aa9c;border:1px solid #493b2e;padding:11px 15px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.gallery-filter span{margin-left:10px;font:9px "Courier New",monospace;color:#9e8064}.gallery-filter[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:#111}.gallery-filter[aria-pressed=true] span{color:#522a13}.gallery-filter:hover{border-color:var(--orange)}.gallery-count{font:10px "Courier New",monospace;color:#bca995;white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}.gallery-card{margin:0;min-width:0}.gallery-open{display:block;aspect-ratio:4/3;overflow:hidden;position:relative;background:#1b1713;border:1px solid #4b3a2b}.gallery-open>img{width:100%;height:100%;object-fit:cover;transition:transform .35s,filter .35s;filter:saturate(.83)}.gallery-open:hover>img{transform:scale(1.035);filter:saturate(1)}.gallery-zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;background:var(--orange);color:#111;width:32px;height:32px;font-size:22px;box-shadow:2px 2px 0 #0007}.gallery-card figcaption{border-bottom:1px solid #332a22;padding:15px 0 18px}.work-index{font:9px "Courier New",monospace;letter-spacing:1px;color:var(--orange-light);text-transform:uppercase}.gallery-card h3{font-size:15px;font-weight:600;line-height:1.5;margin:7px 0 0;color:#e2d9cd}.gallery-hint{font:10px/1.8 "Courier New",monospace;color:#a39380;letter-spacing:.3px;margin:28px 0 0}.gallery-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:35px;padding-top:25px;border-top:1px solid #453226}.gallery-cta p{margin:0;font-size:14px;color:#d0c3b2}.gallery-cta .text-link{color:#e2d9cd;border-color:var(--orange)}
.gallery-viewer{background:#11100e;color:var(--paper);border:1px solid #725033;padding:23px;width:min(1280px,calc(100% - 48px));height:calc(100dvh - 56px);max-height:calc(100dvh - 56px);max-width:none;overflow:hidden}.gallery-viewer[open]{display:flex;flex-direction:column}.gallery-viewer::backdrop{background:#000e;backdrop-filter:blur(5px)}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.viewer-counter{font:10px "Courier New",monospace;text-transform:uppercase;color:#bba68e;letter-spacing:1px}.viewer-close{background:transparent;border:1px solid #65503c;color:#f3ece2;padding:11px 15px;font-size:11px;text-transform:uppercase;letter-spacing:1px}.viewer-close>span{font-size:16px;color:var(--orange);margin-left:16px}.viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;touch-action:pan-y pinch-zoom}.viewer-image{width:100%;height:100%;object-fit:contain}.viewer-prev,.viewer-next{position:absolute;top:50%;transform:translateY(-50%);width:45px;height:48px;border:1px solid #ab6129;background:#111d;color:var(--orange);font-size:25px}.viewer-prev{left:0}.viewer-next{right:0}.viewer-prev:hover,.viewer-next:hover{background:#332114}.viewer-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:20px}.viewer-caption p{margin:0;font-size:14px;color:#e6d6c1}.viewer-caption p:last-child{font:9px/1.8 "Courier New",monospace;color:#ab947a;text-align:right}.modal-open{overflow:hidden}
@media(min-width:1500px){.hero h1{font-size:99px}.hero-logo{max-height:none}}
@media(max-width:1100px){.brand{width:190px}.brand-mark{width:58px;height:58px}.brand-name strong{font-size:21px}.main-nav{gap:19px}.main-nav .button{padding:14px}.hero-grid{min-height:570px;gap:22px}.hero h1{font-size:72px}.hero .eyebrow{font-size:8px}.hero-art{min-height:0}.hero-logo{max-height:none}.section-heading h2{font-size:48px}.gallery-grid{gap:25px 16px}}
@media(max-width:850px){.brand{width:170px;gap:5px}.brand-mark{width:48px;height:48px}.brand-name strong{font-size:19px}.brand-name small{font-size:7px;letter-spacing:3.6px}.main-nav{gap:14px;font-size:9px}.main-nav .button{font-size:9px;gap:15px;padding:12px}.hero h1{font-size:60px}.hero-grid{min-height:550px;gap:16px}.hero-lead{font-size:18px}.hero-art{min-height:0}.hero-logo{width:100%;max-width:100%;max-height:none}.section-heading h2{font-size:49px}.gallery-tools{align-items:flex-start}.gallery-filter{padding:10px;font-size:9px}.gallery-filter span{margin-left:5px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card:last-child{grid-column:1/-1;max-width:calc(50% - 8px)}.gallery-viewer{width:calc(100% - 28px);height:calc(100dvh - 30px);max-height:calc(100dvh - 30px);padding:18px}}
@media(max-width:700px){.header-inner{height:75px}.brand{width:auto;gap:7px}.brand-mark{width:52px;height:52px}.brand-name strong{font-size:20px}.brand-name small{font-size:7px;letter-spacing:4px}.main-nav{background:#0b0b0b;font-size:12px;gap:6px}.main-nav .button{font-size:11px;padding:15px}.hero-grid{min-height:0;display:flex;flex-direction:column;padding-top:34px;padding-bottom:16px;gap:7px}.hero-copy{width:100%}.hero .eyebrow{font-size:8px;letter-spacing:.6px;margin-bottom:22px}.hero h1{font-size:clamp(59px,11.2vw,79px);letter-spacing:-.035em}.hero-lead{font-size:18px}.hero-description{font-size:12px}.hero-actions>.button{font-size:10px}.hero-phone{font-size:10px}.hero-art{height:auto;width:min(400px,100%);min-height:0;aspect-ratio:1;margin:0 auto}.hero-logo{height:100%;width:100%;max-height:none;max-width:100%;transform:none}.hero-art::after{box-shadow:inset 0 0 24px 12px #080808}.hero{border-bottom-width:4px}.hero::after{height:5px}.credentials{padding-top:24px}.credentials strong{font-size:10px}.section-heading h2,h2{font-size:43px}.service-row summary strong{font-size:19px}.process-grid h3{font-size:22px}.region-graphic{box-shadow:8px 8px 0 #ff50001b}.enquiry-panel{box-shadow:7px 7px 0 #0004}.gallery-heading{margin-bottom:24px}.gallery-tools{display:block;padding-bottom:18px;margin-bottom:22px}.gallery-filters{gap:7px}.gallery-filter{padding:10px 11px;font-size:9px;letter-spacing:.1px;flex-grow:1}.gallery-count{display:block;margin-top:16px;font-size:9px}.gallery-grid{gap:22px 12px}.gallery-open{aspect-ratio:3/4}.gallery-card h3{font-size:12px;line-height:1.5}.gallery-card figcaption{padding:11px 0 13px}.work-index{font-size:7px;letter-spacing:.6px}.gallery-zoom{width:25px;height:25px;right:8px;bottom:8px;font-size:18px}.gallery-card:last-child{max-width:calc(50% - 6px)}.gallery-hint{font-size:9px;margin-top:22px}.gallery-cta{display:block;margin-top:26px;padding-top:22px}.gallery-cta p{font-size:12px;margin-bottom:14px}.gallery-cta .text-link{font-size:11px}.gallery-viewer{padding:12px;width:calc(100% - 16px);height:calc(100dvh - 22px);max-height:calc(100dvh - 22px)}.viewer-top{margin-bottom:10px}.viewer-counter{font-size:8px;letter-spacing:.4px}.viewer-close{padding:10px;font-size:9px}.viewer-close>span{margin-left:10px}.viewer-prev,.viewer-next{width:34px;height:43px;font-size:22px;top:auto;bottom:12px;transform:none}.viewer-prev{left:6px}.viewer-next{right:6px}.viewer-caption{display:block;padding-top:14px}.viewer-caption p{font-size:12px}.viewer-caption p:last-child{font-size:8px;text-align:left;margin-top:9px}.footer-top h2{font-size:45px}.mobile-contact{background:#080808}.mobile-contact a{border-radius:0}.quote h2{font-size:43px}}
@media(max-width:370px){.hero h1{font-size:54px}.gallery-filter{font-size:8px;padding:10px 7px}.gallery-filter span{margin-left:3px}.gallery-card h3{font-size:11px}.service-row summary strong{font-size:17px}.brand-name strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.gallery-open>img{transition:none}.gallery-open:hover>img{transform:none}}
