/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--white:#fff;--paper:#f5f4f1;--paper-deep:#eceae5;--ink:#151515;--muted:#656565;--line:#d9d7d2;--red:#c81720;--red-dark:#a90e16;--header-height:78px;--shell:min(1380px, calc(100% - 96px));--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);background:var(--white)}body{background:var(--white);color:var(--ink);font-family:var(--font-geist-sans), "Helvetica Neue", Arial, sans-serif;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}body.lightbox-active{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p,h1,h2,h3,ul,ol{margin-top:0}h1,h2,h3{letter-spacing:-.055em;margin-bottom:0;font-weight:760;line-height:.96}.shell{width:var(--shell);margin-inline:auto}.section{padding-block:clamp(96px,10vw,160px)}.section-anchor{scroll-margin-top:var(--header-height)}.skip-link{z-index:1000;color:var(--white);background:var(--ink);padding:12px 18px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.eyebrow{color:var(--red);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:12px;margin-bottom:24px;font-size:.74rem;font-weight:760;line-height:1;display:flex}.eyebrow:before{content:"";background:currentColor;width:26px;height:2px}.eyebrow-light{color:var(--white)}.button{border:1px solid var(--red);background:var(--red);min-height:54px;color:var(--white);letter-spacing:.09em;text-transform:uppercase;transition:background-color .22s ease, border-color .22s ease, transform .22s var(--ease);justify-content:center;align-items:center;gap:26px;padding:14px 22px;font-size:.78rem;font-weight:720;line-height:1;display:inline-flex}.button:hover{border-color:var(--red-dark);background:var(--red-dark);transform:translateY(-2px)}.button-small{gap:18px;min-height:44px;padding:11px 16px;font-size:.69rem}.button-light{border-color:var(--white);background:var(--white);color:var(--ink)}.button-light:hover{border-color:var(--ink);background:var(--ink);color:var(--white)}.arrow{flex:none;width:28px;height:10px;display:inline-block;position:relative}.arrow:before,.arrow:after,.arrow span{content:"";background:currentColor;display:block;position:absolute}.arrow span{width:27px;height:1px;transition:width .18s;top:4px;left:0}.arrow:before,.arrow:after{transform-origin:100%;width:7px;height:1px;right:0}.arrow:before{top:4px;transform:rotate(40deg)}.arrow:after{top:4px;transform:rotate(-40deg)}.arrow-left{transform:rotate(180deg)}.button:hover .arrow span,.text-link:hover .arrow span{width:22px}.text-link{min-height:44px;color:var(--ink);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:16px;font-size:.76rem;font-weight:720;line-height:1;transition:color .18s;display:inline-flex}.text-link:hover{color:var(--red)}.text-link-dark{margin-top:20px}.site-header{z-index:100;height:var(--header-height);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-bottom:1px solid #1515151f;position:sticky;top:0}.header-inner{align-items:center;height:100%;display:flex}.logo-link{flex:none;align-items:center;width:260px;height:58px;display:inline-flex}.brand-logo{background:transparent;width:250px;height:58px;display:block;position:relative;overflow:hidden}.brand-logo img{width:265px;max-width:none;height:265px;position:absolute;top:-103px;left:-19px}.desktop-nav{align-self:stretch;align-items:stretch;gap:clamp(20px,2.4vw,42px);margin-left:auto;display:flex}.desktop-nav a{color:#3b3b3b;letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:.73rem;font-weight:680;transition:color .18s;display:inline-flex;position:relative}.desktop-nav a:after{background:var(--red);content:"";transform-origin:0;height:3px;transition:transform .26s var(--ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--ink)}.desktop-nav a.is-active:after{transform:scaleX(1)}.header-cta{margin-left:clamp(24px,3vw,54px)}.menu-toggle,.mobile-nav{display:none}.hero{min-height:calc(100svh - var(--header-height));background:var(--white);grid-template-columns:minmax(0,47%) minmax(0,53%);display:grid}.hero-copy{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-width:0;display:flex;position:relative;overflow:hidden}.hero-copy:before{content:"";background:linear-gradient(#0000,#15151514 20% 80%,#0000);width:1px;position:absolute;top:0;bottom:0;right:15%}.hero-copy-inner{z-index:1;width:min(100%,760px);margin-block:auto;padding:clamp(72px,9vh,120px) clamp(36px,5vw,86px);position:relative}.hero-eyebrow{margin-bottom:32px}.hero h1{letter-spacing:-.074em;max-width:800px;font-size:clamp(3.8rem,6.1vw,6.9rem);line-height:.9}.hero h1 span{color:var(--red)}.hero-intro{color:#565656;max-width:560px;margin:38px 0 0;font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.7}.hero-actions{align-items:center;gap:34px;margin-top:44px;display:flex}.hero-trades{z-index:2;border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid;position:relative}.hero-trades span{color:#505050;letter-spacing:.12em;text-align:center;text-transform:uppercase;padding:18px clamp(18px,2.5vw,38px);font-size:.66rem;font-weight:690}.hero-trades span+span{border-left:1px solid var(--line)}.hero-media{background:#d8d8d8;min-height:620px;position:relative;overflow:hidden}.hero-media>img{object-fit:cover;object-position:48% center;width:100%;height:100%;transform:scale(1.025)}.hero-media-shade{pointer-events:none;background:linear-gradient(#0000 62%,#0a0a0a75),linear-gradient(90deg,#0a0a0a1a,#0000 42%);position:absolute;inset:0}.hero-stamp{color:var(--white);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.68rem;font-style:normal;font-weight:720;display:flex;position:absolute;bottom:32px;left:36px;right:36px}.hero-stamp i{color:#ff424a;padding-inline:9px;font-style:normal}.hero-stamp-index{border:1px solid #ffffffbd;place-items:center;width:48px;height:48px;display:grid}.proof-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--white)}.proof-grid{grid-template-columns:.9fr .9fr 1fr 1.45fr;display:grid}.proof-grid>*{min-height:116px;padding:24px clamp(20px,2.6vw,42px)}.proof-grid>*+*{border-left:1px solid var(--ink)}.proof-grid div{flex-direction:column;justify-content:center;display:flex}.proof-grid strong{letter-spacing:-.05em;margin-bottom:3px;font-size:1.62rem;font-weight:740;line-height:1}.proof-grid div span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.71rem;font-weight:640}.proof-grid>a{background:var(--ink);color:var(--white);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.74rem;font-weight:700;transition:background-color .2s;display:flex}.proof-grid>a:hover{background:var(--red)}.about{background:var(--white)}.about-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(64px,10vw,160px);display:grid}.about-media{width:88%;margin-left:auto;position:relative}.about-media:before{z-index:0;border:1px solid var(--ink);content:"";position:absolute;inset:-22px 24px 22px -22px}.about-media:after{z-index:2;border-top:8px solid var(--red);border-right:8px solid var(--red);content:"";width:86px;height:86px;position:absolute;top:-30px;right:-30px}.about-media img{z-index:1;aspect-ratio:4/5;object-fit:cover;object-position:50% center;width:100%;position:relative}.image-index{z-index:3;background:var(--white);color:var(--ink);letter-spacing:.13em;padding:12px 16px;font-size:.62rem;font-weight:720;position:absolute;bottom:0;right:0}.about-copy{max-width:680px;padding-right:clamp(0px,4vw,56px)}.about-copy h2,.section-heading h2,.process h2,.contact h2{font-size:clamp(3.1rem,5.3vw,6.1rem)}.red-rule{background:linear-gradient(to right, var(--red) 0 84px, var(--line) 84px);transform-origin:0;width:100%;height:2px;margin-block:38px}.about-copy p{max-width:620px;color:var(--muted);margin-bottom:22px;font-size:1rem;line-height:1.75}.about-copy .lead{color:var(--ink);font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.65}.services{border-top:1px solid var(--line);background:var(--paper);overflow:hidden}.section-heading{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:64px;margin-bottom:clamp(52px,6vw,86px);display:grid}.section-heading h2{max-width:880px}.section-heading>p{max-width:470px;color:var(--muted);margin:0;padding-bottom:8px;font-size:.96rem;line-height:1.75}.service-grid{border-top:1px solid var(--ink);border-left:1px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.service-card{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--white);min-height:530px;transition:color .32s var(--ease), background-color .32s var(--ease);padding:clamp(30px,3.5vw,54px);position:relative}.service-card:hover{background:var(--ink);color:var(--white)}.service-number{color:var(--red);letter-spacing:.16em;margin-bottom:58px;font-size:.69rem;font-weight:760}.service-card h3{margin:36px 0 24px;font-size:clamp(2.1rem,3vw,3.6rem)}.service-card>p{max-width:360px;color:var(--muted);transition:color .32s var(--ease);margin-bottom:28px;font-size:.93rem;line-height:1.7}.service-card:hover>p{color:#bdbdbd}.service-card ul{margin:0;padding:0;list-style:none}.service-card li{border-top:1px solid var(--line);color:#494949;letter-spacing:.08em;text-transform:uppercase;transition:color .32s var(--ease), border-color .32s var(--ease);align-items:center;gap:12px;padding-block:8px;font-size:.72rem;font-weight:660;display:flex}.service-card li:before{color:var(--red);content:"+";font-size:1rem}.service-card:hover li{color:#d6d6d6;border-color:#3a3a3a}.service-icon{width:82px;height:74px;position:relative}.service-icon span{transition:transform .32s var(--ease);border:2px solid;display:block;position:absolute}.service-icon span:first-child{inset:0 24px 16px 0}.service-icon span:nth-child(2){inset:14px 0 0 24px}.service-icon span:nth-child(3){background:var(--red);border:0;width:2px;height:62px;top:8px;left:31px;transform:rotate(42deg)}.service-card:hover .service-icon span:first-child{transform:translate(-4px,-4px)}.service-card:hover .service-icon span:nth-child(2){transform:translate(4px,4px)}.service-icon-steel span:first-child,.service-icon-steel span:nth-child(2),.service-icon-steel span:nth-child(3){background:currentColor;border:0;width:82px;height:2px;inset:auto;transform:none}.service-icon-steel span:first-child{top:12px}.service-icon-steel span:nth-child(2){top:35px}.service-icon-steel span:nth-child(3){background:var(--red);top:58px}.service-card:hover .service-icon-steel span:first-child{transform:translate(6px)}.service-card:hover .service-icon-steel span:nth-child(2){transform:translate(-6px)}.service-icon-concrete span:first-child{inset:5px;transform:rotate(45deg)}.service-icon-concrete span:nth-child(2){border-color:var(--red);inset:21px;transform:rotate(45deg)}.service-icon-concrete span:nth-child(3){width:82px;height:2px;top:35px;left:0;transform:none}.service-card:hover .service-icon-concrete span:first-child{transform:rotate(135deg)}.service-card:hover .service-icon-concrete span:nth-child(2){transform:rotate(-45deg)}.projects{background:var(--white)}.projects-heading{align-items:end}.projects-heading>.text-link{justify-self:end;margin-bottom:8px}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(18px,2.2vw,32px);display:grid}.project-card{grid-column:span 4}.project-card:first-child{grid-column:span 7}.project-card:nth-child(2){grid-column:span 5}.project-card:nth-child(6),.project-card:nth-child(7){grid-column:span 6}.project-button{text-align:left;cursor:zoom-in;background:0 0;border:0;width:100%;margin:0;padding:0;display:block}.project-image{aspect-ratio:1.18;background:var(--paper-deep);width:100%;display:block;position:relative;overflow:hidden}.project-featured .project-image{aspect-ratio:1.45}.project-portrait .project-image{aspect-ratio:1.04}.project-card:nth-child(6) .project-image,.project-card:nth-child(7) .project-image{aspect-ratio:1.52}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease)}.project-card:nth-child(2) .project-image img{object-position:50% 43%}.project-card:nth-child(4) .project-image img{object-position:50% 44%}.project-card:nth-child(5) .project-image img{object-position:50% 58%}.project-button:hover .project-image img{transform:scale(1.045)}.project-open{background:var(--white);min-width:88px;min-height:42px;color:var(--ink);letter-spacing:.12em;opacity:0;text-transform:uppercase;transition:opacity .24s ease, transform .24s var(--ease);justify-content:space-between;align-items:center;gap:18px;padding:10px 12px;font-size:.64rem;font-weight:720;display:inline-flex;position:absolute;bottom:14px;right:14px;transform:translateY(8px)}.project-open b{color:var(--red);font-size:1rem}.project-button:hover .project-open,.project-button:focus-visible .project-open{opacity:1;transform:translateY(0)}.project-caption{justify-content:space-between;align-items:flex-start;gap:24px;padding-top:16px;display:flex}.project-caption>span{flex-direction:column;gap:4px;display:flex}.project-caption strong{letter-spacing:-.02em;font-size:1rem;font-weight:720}.project-caption small{color:var(--muted);letter-spacing:.05em;font-size:.72rem;font-weight:520}.project-caption em{color:var(--red);letter-spacing:.12em;font-size:.68rem;font-style:normal;font-weight:720}.process{border-top:1px solid var(--line);background:var(--paper)}.process-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(70px,10vw,160px);display:grid}.process-heading{top:calc(var(--header-height) + 48px);align-self:start;position:sticky}.process-heading p:last-child{max-width:440px;color:var(--muted);margin:32px 0 0;line-height:1.75}.process-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.process-list li{border-bottom:1px solid var(--ink);grid-template-columns:74px 1fr;align-items:center;gap:28px;min-height:180px;display:grid}.process-list>li>span{border:1px solid var(--red);width:58px;height:58px;color:var(--red);letter-spacing:.12em;place-items:center;font-size:.68rem;font-weight:760;display:grid}.process-list h3{margin-bottom:12px;font-size:clamp(1.7rem,2.4vw,2.6rem)}.process-list p{max-width:480px;color:var(--muted);margin:0}.contact{background:var(--white);overflow:hidden}.contact-grid{--contact-inner-padding:clamp(48px, 4vw, 96px);--contact-outer-padding:clamp(48px, calc((100vw - 1380px) / 2), 240px);grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);display:grid}.contact-primary,.contact-details{min-height:640px;padding-block:clamp(70px,9vw,140px);padding-inline:var(--contact-inner-padding)}.contact-primary{padding-left:var(--contact-outer-padding);background:var(--red);color:var(--white)}.contact-primary h2{max-width:820px}.contact-primary>p:not(.eyebrow){color:#ffffffd1;max-width:570px;margin:36px 0 44px;font-size:1.05rem;line-height:1.75}.contact-actions{flex-wrap:wrap;align-items:center;gap:18px 28px;display:flex}.contact-call-link{min-height:54px;color:var(--white);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #ffffffd1;align-items:center;gap:22px;padding-inline:2px;font-size:.76rem;font-weight:720;transition:border-color .18s,opacity .18s;display:inline-flex}.contact-call-link:hover{border-color:var(--white);opacity:.78}.contact-details{padding-right:var(--contact-outer-padding);background:var(--paper);flex-direction:column;justify-content:space-between;display:flex}.contact-details>*{width:min(100%,720px)}.enquiry-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.enquiry-list li{border-bottom:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:22px;min-height:68px;font-size:.83rem;font-weight:670;display:flex}.enquiry-list span{color:var(--red);letter-spacing:.12em;font-size:.65rem;font-weight:760}.contact-channels{margin-top:60px}.contact-channels .eyebrow{margin-bottom:20px}.contact-channel-list{border-top:1px solid var(--ink)}.contact-channel-list a{border-bottom:1px solid var(--line);min-height:68px;transition:color .18s ease, padding .22s var(--ease);justify-content:space-between;align-items:center;gap:24px;padding-inline:2px;display:flex}.contact-channel-list span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.63rem;font-weight:700}.contact-channel-list a:hover{color:var(--red);padding-inline:8px}.contact-channel-list strong{overflow-wrap:anywhere;text-align:right;font-size:clamp(.82rem,1.05vw,1rem);font-weight:760}.site-footer{background:var(--ink);color:var(--white)}.footer-top{grid-template-columns:260px 1fr auto;align-items:start;gap:60px;padding-block:72px;display:grid}.footer-logo{background:var(--white);width:fit-content;padding:4px 10px;display:inline-flex}.footer-contact{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.footer-contact>p{color:#a8a8a8;max-width:440px;margin:0 0 10px;line-height:1.75}.footer-contact>a{color:#d0d0d0;font-size:.78rem;font-weight:620;transition:color .18s}.footer-contact>a:hover{color:var(--white)}.footer-top nav{grid-template-columns:repeat(2,minmax(90px,1fr));gap:14px 38px;display:grid}.footer-top nav a,.footer-bottom a{color:#c8c8c8;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:680;transition:color .18s}.footer-top nav a:hover,.footer-bottom a:hover{color:var(--white)}.footer-bottom{color:gray;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #343434;justify-content:space-between;align-items:center;padding-block:24px;font-size:.65rem;display:flex}.lightbox{z-index:500;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.lightbox-backdrop{cursor:zoom-out;background:#0a0a0af0;border:0;width:100%;position:absolute;inset:0}.lightbox-inner{z-index:1;width:min(1180px,100%);max-height:calc(100svh - 56px);color:var(--white);flex-direction:column;display:flex;position:relative}.lightbox-topbar,.lightbox-footer{justify-content:space-between;align-items:center;gap:24px;display:flex}.lightbox-topbar{letter-spacing:.14em;padding-bottom:18px;font-size:.66rem;font-weight:700}.lightbox-close{min-width:96px;min-height:44px;color:var(--white);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:12px;font-size:.66rem;font-weight:700;display:inline-flex}.lightbox-close b{color:var(--red);font-size:1.8rem;font-weight:400;line-height:1}.lightbox-image-wrap{flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.lightbox-image-wrap img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 190px)}.lightbox-footer{padding-top:18px}.lightbox-footer>div:first-child{flex-direction:column;gap:2px;display:flex}.lightbox-footer strong{font-size:1rem;font-weight:720}.lightbox-footer span{color:#a9a9a9;font-size:.72rem}.lightbox-controls{gap:8px;display:flex}.lightbox-controls button{width:48px;height:48px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #595959;place-items:center;transition:border-color .18s,background-color .18s;display:grid}.lightbox-controls button:hover{border-color:var(--red);background:var(--red)}[data-hero]{animation:hero-enter .8s var(--ease) both}[data-hero="1"]{animation-delay:80ms}[data-hero="2"]{animation-delay:.15s}[data-hero="3"]{animation-delay:.23s}[data-hero="4"]{animation-delay:.31s}[data-hero="5"]{animation-delay:.44s}[data-hero=image]{animation-name:hero-image-enter;animation-duration:1.1s;animation-delay:80ms}.js-ready [data-reveal]{opacity:0;transition:opacity .72s var(--ease), transform .72s var(--ease);transform:translateY(28px)}.js-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}.service-grid [data-reveal]:nth-child(2),.project-grid [data-reveal]:nth-child(2){transition-delay:80ms}.service-grid [data-reveal]:nth-child(3),.project-grid [data-reveal]:nth-child(3){transition-delay:.15s}@keyframes hero-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image-enter{0%{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}@media (width<=1120px){:root{--shell:min(100% - 64px, 1380px)}.desktop-nav{gap:18px}.desktop-nav a{font-size:.68rem}.header-cta{margin-left:22px}.hero{grid-template-columns:minmax(0,50%) minmax(0,50%)}.hero-copy-inner{padding-inline:42px}.hero h1{font-size:clamp(3.7rem,6.8vw,5.8rem)}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.service-card{min-height:560px;padding-inline:32px}.contact-primary,.contact-details{padding-inline:52px}}@media (width<=920px){:root{--header-height:72px;--shell:calc(100% - 48px)}.desktop-nav,.header-cta{display:none}.menu-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:48px;height:48px;margin-left:auto;padding:0;display:flex}.menu-toggle span{background:var(--ink);width:26px;height:2px;transition:transform .22s var(--ease);display:block}.menu-toggle.is-open span:first-child{transform:translateY(4.5px)rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-4.5px)rotate(-45deg)}.mobile-nav{z-index:-1;top:var(--header-height);visibility:hidden;max-height:calc(100svh - var(--header-height));border-top:1px solid var(--line);background:var(--white);opacity:0;transition:opacity .22s ease, transform .22s var(--ease), visibility .22s;display:block;position:fixed;left:0;right:0;overflow-y:auto;transform:translateY(-12px)}.mobile-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.mobile-nav-inner{flex-direction:column;padding-block:28px 38px;display:flex}.mobile-nav-inner>a:not(.button){border-bottom:1px solid var(--line);letter-spacing:-.04em;align-items:center;gap:20px;min-height:64px;font-size:1.5rem;font-weight:700;display:flex}.mobile-nav-inner>a>span{color:var(--red);letter-spacing:.12em;font-size:.64rem;font-weight:760}.mobile-nav-inner .button{margin-top:26px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{min-height:calc(82svh - var(--header-height));border-right:0}.hero-copy-inner{width:var(--shell);margin-inline:auto;padding:84px 0 72px}.hero h1{font-size:clamp(4.2rem,11vw,6.5rem)}.hero-intro{max-width:640px}.hero-actions{flex-direction:row;align-items:center}.hero-media{min-height:64svh}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-grid>:nth-child(3){border-left:0;border-top:1px solid var(--ink)}.proof-grid>:nth-child(4){border-top:1px solid var(--ink)}.about-grid{grid-template-columns:1fr;gap:88px}.about-media{width:74%;margin-right:auto}.about-copy{max-width:720px}.section-heading{grid-template-columns:1fr;align-items:start;gap:28px}.section-heading>p{max-width:610px}.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:92px minmax(0,1fr);column-gap:34px;min-height:0;padding:42px;display:grid}.service-number{grid-column:1;margin-bottom:26px}.service-icon{grid-area:2/1/span 3}.service-card h3,.service-card>p,.service-card ul{grid-column:2}.service-card h3{margin-top:0}.project-card,.project-card:first-child,.project-card:nth-child(2),.project-card:nth-child(6),.project-card:nth-child(7){grid-column:span 6}.project-featured .project-image,.project-portrait .project-image,.project-card:nth-child(6) .project-image,.project-card:nth-child(7) .project-image{aspect-ratio:1.15}.process-grid{grid-template-columns:1fr;gap:64px}.process-heading{position:static}.contact-grid{grid-template-columns:1fr}.contact-primary,.contact-details{min-height:0;padding:96px 52px}.contact-details{gap:70px}.footer-top{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}}@media (width<=620px){:root{--header-height:68px;--shell:calc(100% - 40px)}.section{padding-block:88px}.logo-link{width:196px;height:48px}.brand-logo{width:188px;height:48px}.brand-logo img{width:210px;height:210px;top:-82px;left:-15px}.hero-copy{min-height:0}.hero-copy-inner{padding-block:74px 64px}.hero h1{font-size:clamp(3.25rem,16vw,4.75rem)}.hero-intro{margin-top:30px;font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch;gap:16px;margin-top:34px}.hero-actions .button{width:100%}.hero-actions .text-link{width:fit-content}.hero-trades span{letter-spacing:.07em;padding:16px 8px;font-size:.56rem}.hero-media{min-height:58svh}.hero-media>img{object-position:58% center}.hero-stamp{bottom:20px;left:20px;right:20px}.hero-stamp>span:last-child{text-align:right;max-width:190px;line-height:1.7}.proof-grid>*{min-height:102px;padding:20px}.proof-grid strong{font-size:1.35rem}.proof-grid div span{font-size:.6rem}.proof-grid>a{flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;font-size:.62rem}.about-grid{gap:66px}.about-media{width:calc(100% - 24px);margin-left:24px}.about-media:before{inset:-14px 14px 14px -14px}.about-media:after{width:62px;height:62px;top:-20px;right:-8px}.about-copy h2,.section-heading h2,.process h2,.contact h2{font-size:clamp(2.8rem,13vw,4.25rem)}.red-rule{margin-block:28px}.service-card{padding:34px 28px 38px;display:block}.service-number{margin-bottom:36px}.service-card h3{margin-top:32px}.project-grid{grid-template-columns:1fr;gap:42px}.project-card,.project-card:first-child,.project-card:nth-child(2),.project-card:nth-child(6),.project-card:nth-child(7){grid-column:auto}.project-featured .project-image,.project-portrait .project-image,.project-card:nth-child(6) .project-image,.project-card:nth-child(7) .project-image,.project-image{aspect-ratio:1.12}.projects-heading>.text-link{justify-self:start}.process-list li{grid-template-columns:58px 1fr;gap:20px;min-height:166px}.process-list>li>span{width:48px;height:48px}.contact-primary,.contact-details{padding:82px 20px}.contact-primary .button{width:100%}.contact-actions{flex-direction:column;align-items:stretch}.contact-call-link{width:fit-content}.contact-channel-list a{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:78px}.contact-channel-list strong{text-align:left}.footer-top{grid-template-columns:1fr;gap:38px;padding-block:58px}.footer-logo{grid-column:auto}.footer-top nav{justify-self:start}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}.lightbox{padding:18px}.lightbox-image-wrap img{max-height:calc(100svh - 210px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js-ready [data-reveal]{opacity:1;transform:none}}
.footer-logo{background:transparent;padding:0}.footer-logo .brand-logo img{content:url("/images/rl-formwork-logo-footer.png")}