@import url('/assets/fonts.css');

:root{--ink:#161816;--ink-2:#20231f;--paper:#f4f2eb;--white:#fafaf5;--bronze:#a99e89;--bronze-light:#d0c4ad;--muted:#a6aaa0;--line:rgba(255,255,255,.16);--line-dark:rgba(22,24,22,.17);--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:Manrope,Arial,sans-serif;--gutter:clamp(22px,5vw,88px)}
*,*::before,*::after{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.system-image{width:100%;min-width:0}
button:disabled{opacity:.55}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--ink);color:var(--white);font-family:var(--body);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
body.menu-open,body.dialog-open{overflow:hidden}
::selection{background:var(--bronze);color:var(--ink)}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{display:block;width:100%;height:auto}button{color:inherit}button,select,input,textarea{border-radius:0}svg{display:block}
:focus-visible{outline:2px solid var(--bronze);outline-offset:5px}
.skip-link{position:fixed;top:8px;left:8px;z-index:200;background:var(--paper);color:var(--ink);padding:12px 20px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;height:96px;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:#000;transition:height .3s,background .3s}
.site-header.scrolled{height:76px;background:#000}
.brand{display:flex;align-items:center;gap:20px;flex:none}.brand img{width:151px;height:auto;max-height:58px;object-fit:contain}.brand-tag{font-size:9px;letter-spacing:1.35px;line-height:1.7;text-transform:uppercase;border-left:1px solid var(--line);padding-left:20px;color:#c6c8bf;max-width:136px}
.main-nav{display:flex;align-items:center;gap:clamp(19px,2.5vw,42px);font-size:11px;letter-spacing:.5px}.main-nav>a{padding:12px 0;position:relative}.main-nav>a:not(.nav-cta)::after{content:'';position:absolute;height:1px;background:var(--bronze);bottom:5px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s}.main-nav>a:hover::after,.main-nav>a[aria-current=page]::after{transform:scaleX(1)}.main-nav .nav-cta{border:1px solid rgba(169,158,137,.65);padding:11px 18px;display:flex;gap:17px;align-items:center;color:var(--bronze-light)}.main-nav .nav-cta:hover{background:var(--bronze);color:var(--ink)}
.menu-toggle{display:none;border:0;background:none;width:46px;height:46px;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--white);margin:8px 0;transition:transform .2s}
.container{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1800px;margin:auto}.section{padding-top:clamp(75px,8.5vw,144px);padding-bottom:clamp(75px,8.5vw,144px)}.paper{background:var(--paper);color:var(--ink)}.label{font-size:10px;text-transform:uppercase;letter-spacing:2.5px;font-weight:700;display:flex;align-items:center;gap:12px;margin:0 0 24px}.label::before{content:'';width:23px;height:1px;background:var(--bronze);flex:none}.paper .label{color:#766143}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--bronze-light)}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.03;letter-spacing:-.01em}h1{font-size:clamp(64px,8.6vw,144px)}h2{font-size:clamp(48px,5.3vw,88px);margin-bottom:30px}h3{font-size:32px;margin-bottom:17px}h4{font-size:16px;margin-bottom:12px}p{margin-bottom:22px}.muted{color:var(--muted)}.paper .muted{color:#62685e}.accent{color:var(--bronze)}.lede{font-size:clamp(16px,1.45vw,21px);line-height:1.7;max-width:610px}.small{font-size:11px;line-height:1.8}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:52px}.section-head h2{margin:0}.section-head p{max-width:355px;margin-bottom:3px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:11px;font-weight:700;letter-spacing:.4px;padding:9px 0;border-bottom:1px solid var(--bronze);transition:gap .2s}.text-link:hover{gap:34px}.arrow{font-size:18px;line-height:1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:16px 25px;border:1px solid var(--bronze);background:var(--bronze);color:var(--ink);font-size:11px;letter-spacing:.4px;font-weight:700;min-height:54px;transition:background .2s,transform .2s}.button:hover{background:var(--bronze-light);transform:translateY(-2px)}.button.outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.4)}.button.outline:hover{background:rgba(255,255,255,.1)}.paper .button.outline{color:var(--ink);border-color:var(--line-dark)}.paper .button.outline:hover{background:rgba(0,0,0,.06)}.actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}
.hero{position:relative;min-height:850px;height:min(1030px,100svh);display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-top:132px}.hero-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:60% 42%}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,17,14,.40) 0%,rgba(13,17,14,.33) 36%,rgba(13,17,14,.24) 77%),linear-gradient(0deg,rgba(13,17,14,.92) 0%,transparent 37%);z-index:1}.hero-content{z-index:2;position:relative;padding-bottom:140px}.hero .label{color:var(--bronze-light)}.hero h1{font-size:clamp(112px,13.1vw,214px);letter-spacing:-.016em;line-height:.85;margin:33px 0 34px;max-width:850px}.hero h1 span{display:block;color:var(--bronze-light)}.hero p{max-width:385px;font-size:15px;color:#e2e4db;line-height:1.9;margin-bottom:31px}.hero-bottom{position:absolute;z-index:2;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1.4fr;padding-top:25px;padding-bottom:28px;border-top:1px solid var(--line);gap:35px;background:rgba(17,21,17,.24)}.hero-proof{display:flex;align-items:center;gap:20px}.hero-proof strong{font-family:var(--display);font-size:52px;font-weight:500;line-height:1;color:var(--bronze-light)}.hero-proof span{font-size:10px;letter-spacing:1px;line-height:1.8;text-transform:uppercase;color:#d9ddd2}.hero-caption{display:flex;justify-content:flex-end;gap:18px;align-items:center;font-size:10px;letter-spacing:.5px;color:#c5c9be}.hero-caption i{font-style:normal;font-family:var(--display);font-size:36px;color:var(--bronze)}
.trust-strip{padding-top:34px;padding-bottom:34px;background:#20231e;border-bottom:1px solid var(--line);display:flex;gap:40px;justify-content:space-between;align-items:center}.trust-strip p{margin:0;font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);width:160px;flex:none}.partner-names{display:flex;justify-content:space-between;align-items:center;gap:32px;flex:1;flex-wrap:wrap}.partner-names span{font-family:var(--display);font-size:clamp(21px,2.2vw,35px);font-weight:500;letter-spacing:1px;color:#e1e0d5}.partner-names span:first-child{font-family:Georgia,serif;font-size:27px;letter-spacing:2px}.partner-names span:nth-child(3){font-weight:700;letter-spacing:3px}
.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:start}.intro-grid h2{max-width:590px}.intro-copy{padding-top:48px;max-width:510px}.intro-copy .text-link{margin-top:16px}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:65px;border-top:1px solid var(--line-dark);padding-top:37px}.proof-item strong{font-family:var(--display);font-size:clamp(64px,6.7vw,110px);line-height:1;display:block;font-weight:500;color:#766044}.proof-item span{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;display:block;margin-top:14px}.data-note{font-size:9px;color:#72766b;letter-spacing:.35px;margin:22px 0 0}
.projects-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.project-card{position:relative;display:block;overflow:hidden}.project-card .image-wrap{position:relative;overflow:hidden;aspect-ratio:4/3;background:#30352e}.project-card.featured .image-wrap{aspect-ratio:4/4.3}.project-card img{height:100%;object-fit:cover;transition:transform .7s ease;filter:saturate(.78)}.project-card:hover img{transform:scale(1.035);filter:saturate(1)}.project-card .image-wrap::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(12,15,12,.78))}.project-tag{position:absolute;top:20px;left:20px;z-index:2;font-size:8px;text-transform:uppercase;letter-spacing:1.3px;color:var(--white);background:rgba(23,28,23,.82);border:1px solid rgba(255,255,255,.22);padding:7px 12px}.image-caption{position:absolute;bottom:15px;left:20px;font-size:8px;color:#ddd;z-index:2;letter-spacing:.3px}.card-line{display:flex;align-items:center;justify-content:space-between;margin:20px 0 9px}.card-line .eyebrow{font-size:8px;color:var(--muted)}.card-line .arrow{color:var(--bronze)}.project-card h3{font-size:34px;margin-bottom:12px}.project-card p{font-size:11px;color:var(--muted);margin:0}.project-card.featured h3{font-size:46px}.projects-side{display:flex;flex-direction:column;gap:45px}.projects-side .project-card .image-wrap{aspect-ratio:1.8}.project-meta{display:flex;gap:22px;padding-top:15px;font-size:10px;color:var(--bronze-light)}.project-meta>span{border-right:1px solid var(--line);padding-right:22px}.project-meta>span:last-child{border:0}.projects-footer{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--line);margin-top:52px;padding-top:28px}.projects-footer p{max-width:390px;margin:0;font-size:12px;color:var(--muted)}
.system-stage{display:grid;grid-template-columns:1.03fr 1fr;gap:9%;align-items:center}.system-visual{position:relative;min-height:540px;background:#e8e6dd;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:28px}.system-visual::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(57,62,51,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(57,62,51,.055) 1px,transparent 1px);background-size:60px 60px}.system-visual img{position:relative;max-height:490px;object-fit:contain;width:100%;mix-blend-mode:multiply}.system-marker{position:absolute;z-index:2;left:25px;top:22px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#656d5d}.system-caption{position:absolute;bottom:18px;left:25px;font-size:9px;color:#626b5c}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line-dark);margin-bottom:32px;flex-wrap:wrap}.tab{border:0;background:transparent;color:#656c60;padding:14px 15px 13px 0;margin-right:17px;font-size:10px;position:relative}.tab[aria-selected=true]{color:var(--ink);font-weight:700}.tab[aria-selected=true]::after{content:'';position:absolute;bottom:-1px;left:0;right:15px;height:2px;background:#94754d}.system-panel h3{font-size:51px;margin-bottom:23px}.system-panel p{color:#646a5f;font-size:13px}.system-panel ul,.clean-list{list-style:none;margin:25px 0;padding:0}.system-panel li,.clean-list li{font-size:12px;padding:11px 0;border-bottom:1px solid var(--line-dark);display:flex;gap:15px}.system-panel li::before,.clean-list li::before{content:'+';color:#806544}.system-panel[hidden],.system-image[hidden]{display:none}.system-panel .text-link{margin-top:8px}
.method-section{position:relative;background:#1f241e}.method-title{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end;margin-bottom:62px}.method-title h2{margin:0;max-width:680px}.method-title p{max-width:425px;margin:0;color:#aeb5a6;font-size:13px}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;border-top:1px solid var(--line);padding-top:35px}.method-step .number{font-size:12px;letter-spacing:2px;color:var(--bronze);display:block;margin-bottom:55px}.method-step h3{font-size:30px}.method-step p{font-size:11px;color:#aeb5a6;margin-bottom:0}.method-step{padding-right:12px}
.reach-section{position:relative;overflow:hidden;background:#e9e7dd}.reach-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:11%;align-items:center}.reach-type{font-family:var(--display);font-size:clamp(60px,7.5vw,122px);line-height:.99;font-weight:500;border-left:1px solid #c6b699;padding-left:42px}.reach-type span{display:block;color:#9b805c;margin:0 0 7px}.reach-type span:nth-child(2){color:var(--ink)}.reach-type span:last-child{margin:0;color:#636e5c}.reach-location{font-size:10px;font-family:var(--body);margin-top:38px;letter-spacing:1px;color:#656c61;line-height:1.8}.reach-location strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:var(--ink)}.reach-content p{max-width:420px;color:#656d5f;font-size:13px}
.closing{position:relative;border-top:1px solid var(--line);overflow:hidden;padding-top:95px;padding-bottom:98px}.closing::after{content:'T';position:absolute;right:-50px;bottom:-100px;font-size:540px;line-height:1;font-family:var(--display);color:rgba(169,158,137,.045);pointer-events:none}.closing .container{position:relative;z-index:1;display:flex;justify-content:space-between;gap:45px;align-items:center}.closing h2{max-width:780px;margin:0}.closing .button{flex:none}.site-footer{border-top:1px solid var(--line);padding-top:47px;padding-bottom:28px;background:#121612}.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.25fr;gap:45px;padding-bottom:46px}.footer-main .brand img{width:134px}.footer-main p{color:#a2ab9b;font-size:10px;margin:21px 0 0;max-width:240px}.footer-links strong{display:block;font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:#c7b596;margin-bottom:16px}.footer-links a{display:block;font-size:10px;color:#c5cbbb;padding:3px 0;overflow-wrap:anywhere}.footer-links a:hover{color:var(--bronze-light)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:25px;align-items:center;color:#87937e;font-size:8px;letter-spacing:.6px}.footer-bottom p{margin:0}.back-top{font-size:9px;color:#c5cbbb}
.page-hero{padding-top:185px;padding-bottom:76px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.page-hero h1{max-width:1000px;margin-bottom:29px}.page-hero .lede{color:#b2baac;max-width:630px;font-size:16px}.page-hero .label{margin-bottom:25px}.breadcrumbs{display:flex;gap:14px;align-items:center;font-size:9px;color:#949e8c;margin-bottom:30px}.breadcrumbs a:hover{color:var(--bronze)}.page-hero-side{display:flex;justify-content:space-between;align-items:end;gap:45px}.page-hero-note{font-family:var(--display);font-size:40px;line-height:1.25;text-align:right;color:var(--bronze);flex:none}.page-hero-note small{display:block;font-family:var(--body);font-size:9px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin-top:7px}
.portfolio-controls{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}.search-field{position:relative;flex:1;max-width:550px}.search-field label,.select-field label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#5d6857;margin-bottom:7px}.search-field input,.select-field select{background:transparent;color:var(--ink);border:0;border-bottom:1px solid #8b9482;padding:14px 5px;width:100%;font-size:13px;min-height:50px}.search-field input{padding-right:35px}.search-symbol{position:absolute;right:9px;bottom:12px;font-size:23px}.portfolio-selects{display:flex;gap:25px}.select-field{min-width:150px}.filter-status{font-size:10px;letter-spacing:.5px;color:#68735e;margin:23px 0}.portfolio-scroll{overflow:auto}.portfolio-table{border-collapse:collapse;width:100%;text-align:left;min-width:660px}.portfolio-table th{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:#69765c;font-weight:500;padding:15px 15px 15px 0;border-bottom:1px solid #8f987f}.portfolio-table td{font-size:11px;padding:22px 15px 22px 0;border-bottom:1px solid var(--line-dark);vertical-align:middle}.portfolio-table th:first-child{width:40%}.portfolio-table th:last-child{text-align:right}.portfolio-table td:last-child{text-align:right;padding-right:0}.portfolio-title{font-family:var(--display);font-size:24px;line-height:1.2;font-weight:500;text-transform:none;display:block;margin-bottom:7px}.portfolio-sub{font-size:9px;color:#757f6c;display:block;max-width:350px}.portfolio-table tr:hover td{background:#e9e7de}.stage{display:inline-flex;align-items:center;gap:6px;font-size:8px;white-space:nowrap}.stage::before{content:'';width:5px;height:5px;border-radius:50%;background:#9c7b4d}.stage.completed::before{background:#65735a}.stage.active::before{background:#ae7838}.view-project{border:1px solid var(--line-dark);background:transparent;color:var(--ink);width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;font-size:17px}.view-project:hover{background:var(--ink);color:var(--paper)}.empty-state{border:1px solid var(--line-dark);padding:40px;text-align:center}.empty-state h3{font-size:35px}.reset-button{border:0;background:transparent;border-bottom:1px solid #97744a;color:var(--ink);padding:6px 0;font-size:11px}.load-more-row{text-align:center;margin-top:35px}.load-more-row p{font-size:10px;color:#6c7662}.portfolio-table tr[hidden],.empty-state[hidden],.load-more-row[hidden]{display:none}
.project-dialog{background:var(--paper);color:var(--ink);border:0;width:min(720px,calc(100vw - 35px));max-height:85svh;overflow:auto;padding:clamp(28px,5vw,55px)}.project-dialog::backdrop{background:rgba(10,16,10,.8);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:16px;top:16px;background:transparent;border:1px solid var(--line-dark);width:36px;height:36px;font-size:21px}.project-dialog h2{font-size:clamp(36px,4vw,61px);padding-right:18px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:35px 0}.spec-grid div{border-top:1px solid var(--line-dark);padding-top:11px}.spec-grid dt{font-size:8px;letter-spacing:1.4px;text-transform:uppercase;color:#6a7461;margin-bottom:7px}.spec-grid dd{margin:0;font-family:var(--display);font-size:27px;line-height:1.2}.spec-grid dd.text{font-family:var(--body);font-size:12px;line-height:1.7}.dialog-source{font-size:9px;color:#6a7461}
.project-cover{position:relative;max-height:810px;height:70vw;min-height:450px;overflow:hidden;background:#30372d}.project-cover img{width:100%;height:100%;object-fit:cover;object-position:center}.project-cover .image-caption{left:var(--gutter);bottom:24px;background:rgba(17,23,17,.8);padding:7px 12px}.project-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}.project-detail-grid .spec-grid{margin-top:0}.project-detail-grid p{font-size:14px;color:#646c5d}.project-challenge{padding-top:55px;border-top:1px solid var(--line-dark);margin-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.project-challenge h3{font-size:36px}.project-challenge p{font-size:13px;color:#69715f}.related-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.related-projects .project-card .image-wrap{aspect-ratio:1.4}
.systems-list{display:flex;flex-direction:column;gap:95px}.system-detail{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;scroll-margin-top:115px}.system-detail:nth-child(even) .system-visual{order:2}.system-detail .system-visual{min-height:470px}.system-detail h2{font-size:60px;margin-bottom:20px}.system-detail .label{margin-bottom:19px}.system-detail p{font-size:13px;color:#646e5b}.system-detail .clean-list{margin-bottom:30px}.system-overview-links{display:flex;gap:13px;flex-wrap:wrap;margin-top:36px}.system-overview-links a{font-size:10px;border:1px solid var(--line);padding:10px 17px}.system-overview-links a:hover{color:var(--bronze);border-color:var(--bronze)}.additional-systems{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:30px}.additional-systems div{border-top:1px solid var(--line-dark);padding-top:24px}.additional-systems h3{font-size:27px}.additional-systems p{font-size:11px;color:#697360}
.about-leader{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:center}.leader-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e5e3d8}.leader-image img{height:100%;object-fit:cover;filter:saturate(.7)}.leader-image .image-caption{color:var(--white);background:rgba(22,27,21,.65);padding:8px 13px}.about-leader blockquote{margin:30px 0 35px;border-left:1px solid #bc9664;padding-left:26px;font-family:var(--display);font-size:39px;line-height:1.2;font-weight:500}.leader-names{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:60px;margin-top:65px;border-top:1px solid var(--line-dark)}.leader-names h3{font-size:29px}.leader-names p{font-size:10px;color:#6a745f;margin-bottom:0}.leadership-caption{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#7b6547}.reach-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.reach-card{border-top:1px solid var(--line);padding-top:26px}.reach-card h3{font-size:45px}.reach-card .eyebrow{font-size:8px}.reach-card p{font-size:12px;color:var(--muted)}.reach-card ul{list-style:none;padding:0;margin:25px 0 0}.reach-card li{font-size:10px;color:#d1d7c7;border-bottom:1px solid var(--line);padding:10px 0}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;align-items:start}.contact-details h2{font-size:53px}.contact-block{border-top:1px solid var(--line-dark);padding-top:23px;margin-top:29px}.contact-block strong{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#786444}.contact-block p,.contact-block a{font-size:13px;display:block;margin:12px 0 0;color:#5a6751;overflow-wrap:anywhere}.contact-block a:hover{color:var(--ink)}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:25px}.enquiry-form .full{grid-column:1/-1}.enquiry-form label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:#637258;margin-bottom:8px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;border:1px solid #c3c9b9;background:#eeeee6;padding:15px;color:var(--ink);font-size:12px;min-height:52px}.enquiry-form textarea{resize:vertical;min-height:125px}.enquiry-form select{background-color:#eeeee6}.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{border-color:#8a6f49;outline:1px solid #8a6f49}.form-help{font-size:10px;color:#6a7660;line-height:1.8;margin:12px 0 0}.form-feedback{font-size:11px;color:#527044;margin:20px 0 0}.form-feedback:empty{display:none}.form-secondary{margin-top:17px;display:none}.form-secondary.visible{display:block}.form-secondary button{font-size:10px;background:transparent;border:0;border-bottom:1px solid #8a6f49;color:var(--ink);padding:5px 0}.question-list{margin-top:25px}.question-list details{border-top:1px solid var(--line-dark);padding:20px 0}.question-list details:last-child{border-bottom:1px solid var(--line-dark)}.question-list summary{font-size:13px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px}.question-list summary::after{content:'+';color:#957147;font-size:22px}.question-list details[open] summary::after{content:'−'}.question-list details p{font-size:12px;max-width:680px;color:#697360;padding-top:20px;margin-bottom:0}.question-list summary::-webkit-details-marker{display:none}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s}.js .reveal.visible{opacity:1;transform:none}.no-js-note{font-size:11px;padding:20px;border:1px solid var(--line-dark)}
.field-gallery{columns:3;column-gap:30px}.field-photo{break-inside:avoid;margin:0 0 43px}.field-photo>a{position:relative;display:block;overflow:hidden}.field-photo img{filter:saturate(.75);transition:transform .6s,filter .6s}.field-photo a:hover img{transform:scale(1.025);filter:saturate(1)}.field-open{position:absolute;bottom:15px;right:15px;background:rgba(20,26,19,.8);border:1px solid var(--line);width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--bronze-light)}.field-photo figcaption{padding-top:17px}.field-photo h3{font-size:30px;margin-bottom:8px}.field-photo p{font-size:10px;color:var(--muted);margin-bottom:3px}.field-photo small{font-size:8px;letter-spacing:.4px;color:#858f7c}
@media(max-width:800px){.field-gallery{columns:2;column-gap:22px}}
@media(max-width:480px){.field-gallery{columns:1}}
@media(min-width:1800px){.hero-content{width:100%}.hero-image{object-position:60% 40%}}
@media(max-width:1100px){.brand-tag{display:none}.main-nav{gap:22px}.hero{min-height:800px}.intro-grid{gap:8%}.system-stage{gap:6%}.system-visual{min-height:470px}.system-panel h3{font-size:43px}.tab{margin-right:10px;padding-right:9px}.tab[aria-selected=true]::after{right:9px}.footer-main{gap:25px}.proof-grid{gap:20px}.project-detail-grid{gap:7%}}
@media(max-width:800px){.site-header{height:78px}.site-header.scrolled{height:70px}.brand img{width:128px}.menu-toggle{display:block}.main-nav{display:none;position:fixed;top:77px;left:0;right:0;background:#171d16;padding:25px var(--gutter) 40px;min-height:calc(100svh - 77px);align-items:stretch;flex-direction:column;justify-content:flex-start;gap:0;font-size:23px}.site-header.scrolled .main-nav{top:69px;min-height:calc(100svh - 69px)}.main-nav.open{display:flex}.main-nav>a{padding:19px 0;border-bottom:1px solid var(--line)}.main-nav>a::after{display:none}.main-nav .nav-cta{margin-top:28px;font-size:14px;padding:19px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.hero{height:920px;min-height:820px;padding-top:140px;justify-content:flex-start}.hero h1{font-size:clamp(110px,20vw,170px);margin:30px 0}.hero-content{padding-bottom:0}.hero p{max-width:350px;font-size:14px}.hero-image{object-position:64% 30%}.hero::after{background:linear-gradient(90deg,rgba(13,17,14,.46),rgba(13,17,14,.28)),linear-gradient(0deg,rgba(13,17,14,.95),transparent 65%)}.hero-bottom{grid-template-columns:1fr 1fr;gap:20px;padding-top:22px;padding-bottom:23px}.hero-caption{grid-column:1/-1;justify-content:flex-start;border-top:1px solid var(--line);padding-top:14px;font-size:9px}.hero-caption i{font-size:25px}.hero-proof{gap:14px}.hero-proof strong{font-size:44px}.hero-proof span{font-size:8px}.trust-strip{flex-direction:column;align-items:flex-start;gap:22px;padding-top:27px;padding-bottom:27px}.trust-strip p{width:auto}.partner-names{gap:17px 30px;justify-content:flex-start}.partner-names span{font-size:24px}.partner-names span:first-child{font-size:20px}.intro-grid{grid-template-columns:1fr;gap:0}.intro-copy{padding-top:0;max-width:600px}.proof-grid{grid-template-columns:1fr 1fr;gap:36px 20px;margin-top:46px;padding-top:28px}.proof-item strong{font-size:75px}.proof-item span{font-size:9px}.section-head{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:35px}.projects-grid{grid-template-columns:1fr;gap:40px}.project-card.featured .image-wrap{aspect-ratio:4/3.5}.project-card.featured h3{font-size:37px}.projects-side{display:grid;grid-template-columns:1fr 1fr;gap:22px}.projects-side .project-card .image-wrap{aspect-ratio:1}.project-card h3{font-size:29px}.project-meta{gap:12px;flex-wrap:wrap}.project-meta>span{padding-right:12px}.projects-footer{flex-direction:column;align-items:flex-start;gap:23px}.system-stage{grid-template-columns:1fr;gap:34px}.system-visual{min-height:430px}.system-visual img{max-height:380px}.system-panel h3{font-size:47px}.method-title{grid-template-columns:1fr;gap:30px;margin-bottom:44px}.method-grid{grid-template-columns:1fr 1fr;gap:38px 30px}.method-step .number{margin-bottom:22px}.reach-layout{grid-template-columns:1fr;gap:45px}.reach-type{font-size:75px;padding-left:25px}.reach-location{margin-top:25px}.closing .container{flex-direction:column;align-items:flex-start;gap:33px}.closing{padding-top:70px;padding-bottom:70px}.footer-main{grid-template-columns:1fr 1fr;gap:37px 26px}.footer-bottom{align-items:flex-start;gap:17px;flex-wrap:wrap}.page-hero{padding-top:145px;padding-bottom:57px}.page-hero-side{align-items:flex-start;flex-direction:column;gap:20px}.page-hero-note{text-align:left;font-size:30px}.page-hero .lede{font-size:14px}.portfolio-controls{align-items:stretch;flex-direction:column;gap:20px}.search-field{max-width:none}.portfolio-selects{gap:25px}.select-field{flex:1;min-width:0}.portfolio-table td{padding-top:19px;padding-bottom:19px}.portfolio-title{font-size:22px}.project-cover{height:85vw;min-height:350px}.project-detail-grid{grid-template-columns:1fr;gap:35px}.project-challenge{grid-template-columns:1fr;gap:30px}.related-projects{grid-template-columns:1fr 1fr}.related-projects .project-card:last-child{display:none}.system-detail{grid-template-columns:1fr;gap:35px}.system-detail:nth-child(even) .system-visual{order:0}.system-detail h2{font-size:51px}.system-detail .system-visual{min-height:420px}.systems-list{gap:70px}.additional-systems{grid-template-columns:1fr 1fr;gap:27px}.about-leader{grid-template-columns:1fr;gap:40px}.leader-image{max-height:550px;aspect-ratio:4/4.2}.about-leader blockquote{font-size:33px}.reach-cards{grid-template-columns:1fr;gap:37px}.reach-card h3{font-size:39px}.contact-layout{grid-template-columns:1fr;gap:55px}.contact-details h2{font-size:44px}}
@media(max-width:480px){.hero{height:880px;min-height:800px;padding-top:128px}.hero h1{font-size:113px}.hero .label{font-size:8px;letter-spacing:1.7px}.hero .actions{gap:20px}.hero .actions .button{padding:14px 18px;gap:20px}.hero .actions .text-link{font-size:10px}.hero-proof strong{font-size:43px}.hero-proof span{letter-spacing:.6px}.hero-bottom{gap:18px}.hero p{max-width:310px}.projects-side{grid-template-columns:1fr;gap:35px}.projects-side .project-card .image-wrap{aspect-ratio:1.55}.project-card h3{font-size:31px}.proof-item strong{font-size:66px}.method-grid{gap:34px 22px}.method-step h3{font-size:27px}.method-step p{font-size:10px}.system-visual{min-height:330px;padding:25px}.system-visual img{max-height:290px}.tabs{gap:0}.tab{font-size:9px;margin-right:11px}.footer-main{gap:34px 25px}.footer-main>div:first-child{grid-column:1/-1}.footer-main p{max-width:280px}.footer-main .footer-links:last-child{grid-column:1/-1}.related-projects{grid-template-columns:1fr}.related-projects .project-card:nth-child(2){display:none}.leader-names{grid-template-columns:1fr;gap:26px;margin-top:45px;padding-top:35px}.enquiry-form{gap:23px}.enquiry-form>div{grid-column:1/-1}.system-detail .system-visual{min-height:340px}.additional-systems h3{font-size:26px}.reach-type{font-size:66px}.project-dialog .spec-grid{gap:20px}.project-dialog .spec-grid dd{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Original Turiim logo video, cropped to its wordmark and tagline. */
.brand-mark{position:relative;display:block;flex:none;width:151px;aspect-ratio:151/48;overflow:hidden;filter:saturate(.25) sepia(.1);}
.brand .brand-mark img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}
.brand-animation{position:absolute;width:200%;max-width:none;height:auto;left:-50%;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;mix-blend-mode:screen;clip-path:inset(0 0 45% 0);mask-image:linear-gradient(#000 0 55%,transparent 55%);-webkit-mask-image:linear-gradient(#000 0 55%,transparent 55%)}
.brand-mark.playing .brand-animation{opacity:1}

.site-header .brand-mark{width:174px}
.footer-main .brand-mark{width:134px}
@media(max-width:800px){.site-header .brand-mark{width:147px}}
@media(prefers-reduced-motion:reduce){.brand-animation{display:none}.brand-mark.playing img{visibility:visible}}

/* RAL 1035 Pearl beige: screen reference with restrained metallic highlights. */
:root{--ral-1035:#a99e89;--ral-1035-metal:linear-gradient(115deg,#8e8069 0%,#a99e89 22%,#d0c4ad 38%,#f1e6ce 44%,#c8b99e 49%,#a99e89 65%,#e6d9bc 78%,#a99e89 88%,#958770 100%)}
.button:not(.outline){background:var(--ral-1035-metal)}
.hero h1 span{padding-bottom:.18em;margin-bottom:-.18em;background:var(--ral-1035-metal);background-clip:text;-webkit-background-clip:text;color:transparent}

.hero h1{margin-bottom:58px}
.hero-content{padding-bottom:216px}
.hero-project-proof{display:flex;align-items:center;gap:44px;margin-top:0;margin-left:var(--hero-proof-offset,0px)}
.hero-bottom{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:800px){.hero-content{padding-bottom:0}.hero-project-proof{gap:24px;margin-top:0}.hero-bottom{grid-template-columns:1fr}}

@media(max-width:480px){.hero-project-proof{gap:20px}.hero-project-proof .hero-proof{gap:9px}.hero-project-proof .hero-proof strong{font-size:39px}.hero-project-proof .hero-proof span{font-size:7px;letter-spacing:.4px}}

/* Brighter pearl highlights over the approved RAL 1035 base. */
.hero h1 span{background-size:220% 100%;animation:ral-metal-shimmer 9s ease-in-out infinite alternate}
.button:not(.outline){background-size:220% 100%;animation:ral-metal-shimmer 12s ease-in-out infinite alternate;border-color:#c9b99c;box-shadow:inset 0 1px 0 rgba(255,245,220,.45)}
.hero-proof strong{background:var(--ral-1035-metal);background-clip:text;-webkit-background-clip:text;color:transparent}
@keyframes ral-metal-shimmer{from{background-position:100% 50%}to{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.hero h1 span,.button:not(.outline){animation:none;background-position:45% 50%}}

/* Share the button finish across the site's gold typography. */
.reach-type > span:nth-child(n),.reach-card h3,.bio-hero h1,.accent,.eyebrow,.hero .label,.hero h1 span,.hero-proof strong,.hero-caption i,.project-meta,.method-step .number,.page-hero-note,.proof-item strong,.paper .label,.card-line .arrow,.main-nav .nav-cta,.welcome-website,.welcome-enter{background-image:var(--ral-1035-metal);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:ral-metal-shimmer 12s ease-in-out infinite alternate}
.paper .label,.paper .proof-item strong,.paper .project-meta,.paper .card-line .arrow{background-image:linear-gradient(115deg,#665b48 0%,#8d7f68 22%,#a99e89 38%,#bcac8d 44%,#95866b 49%,#786951 65%,#a99e89 78%,#827159 88%,#665b48 100%)}
@media(prefers-reduced-motion:reduce){.reach-type > span:nth-child(n),.reach-card h3,.bio-hero h1,.accent,.eyebrow,.hero .label,.hero h1 span,.hero-proof strong,.hero-caption i,.project-meta,.method-step .number,.page-hero-note,.proof-item strong,.paper .label,.card-line .arrow,.main-nav .nav-cta,.welcome-website,.welcome-enter{animation:none;background-position:45% 50%}}

/* Official company artwork from the supplied project register. */
.trust-strip{gap:40px;padding-top:25px;padding-bottom:25px;overflow:hidden}
.partner-strip-heading{display:flex;align-items:center;gap:15px;flex:none}
.partner-strip-heading p{width:155px}
.partner-pause{width:30px;height:30px;border:1px solid var(--line);background:transparent;color:var(--bronze-light);font-size:11px;line-height:1;flex:none}
.partner-viewport{overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.partner-track{display:flex;width:max-content;animation:partner-scroll 110s linear infinite}
.partner-group{display:flex;align-items:center;gap:40px;padding-right:40px;flex:none}
.partner-logo{display:flex;align-items:center;justify-content:center;width:160px;height:62px;flex:none}
.partner-logo img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:.84}
.trust-strip:hover .partner-track,.trust-strip:focus-within .partner-track,.trust-strip.paused .partner-track{animation-play-state:paused}
@keyframes partner-scroll{to{transform:translateX(-50%)}}
@media(max-width:800px){.trust-strip{gap:19px;align-items:stretch}.partner-strip-heading{justify-content:space-between}.partner-strip-heading p{width:auto}.partner-group{gap:28px;padding-right:28px}.partner-logo{width:130px;height:49px}.partner-track{animation-duration:100s}.partner-viewport{flex:auto}}
@media(prefers-reduced-motion:reduce){.partner-track{animation:none}.partner-viewport{overflow-x:auto}.partner-group[aria-hidden=true]{display:none}.partner-pause{display:none}}

/* Three equal leadership profiles with smaller original portraits. */
.leadership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.leader-card{display:flex;flex-direction:column;min-width:0}
.leader-card .leader-portrait{width:180px;height:180px;object-fit:cover;border-radius:2px;margin-bottom:27px}
.leader-card header{min-height:119px}
.leader-card .leadership-caption{font-size:9px;letter-spacing:1px;margin:0 0 12px;min-height:31px}
.leader-card h3{font-size:34px;line-height:1.1;margin-bottom:25px}
.leader-qualification{border-top:1px solid var(--line-dark);padding-top:21px;min-height:101px;margin-bottom:20px}
.leader-qualification strong,.leader-qualification span{display:block;font-size:11px;line-height:1.7}
.leader-qualification span{color:#62685e;margin-top:5px}
.leader-card>p{font-size:12px;line-height:1.85;color:#62685e;margin-bottom:22px}
.leader-card>p strong{color:var(--ink)}
.leader-card>.text-link{margin-top:auto;align-self:flex-start}
.bio-hero{padding-bottom:70px}.bio-intro{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:70px;align-items:center}.bio-hero h1{font-size:clamp(48px,5.8vw,82px);line-height:1.05;max-width:850px}.bio-hero .lede{max-width:760px}.bio-portrait{width:180px;height:180px;object-fit:cover;border-radius:2px}
.bio-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:100px;align-items:start}.bio-main{min-width:0}.bio-main h2{font-size:44px;line-height:1.1;margin-bottom:28px}.bio-main p{font-size:13px;line-height:1.9;color:#62685e}.bio-overview{padding-bottom:52px}.bio-career-item{border-top:1px solid var(--line-dark);padding:30px 0}.bio-career-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.bio-career-item h3{font-size:30px;line-height:1.1;margin-bottom:9px}.bio-career-item .bio-role{color:var(--ink);font-size:12px;margin:0}.bio-career-item .bio-period{font-size:10px;text-align:right;flex-shrink:0;margin:0}.bio-highlights{margin-top:27px}.bio-highlights h4{font-family:var(--body);font-size:11px;font-weight:700;margin:0 0 12px}.bio-list{list-style:none;padding:0;margin:0}.bio-list li{font-size:12px;line-height:1.8;padding:8px 0;border-bottom:1px solid var(--line-dark);color:#62685e}.bio-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.bio-major-projects{border-top:1px solid var(--line-dark);padding-top:40px;margin-top:15px}
.bio-credentials{border-left:1px solid var(--line-dark);padding-left:34px}.bio-credential-group{margin-bottom:35px}.bio-credential-group h2{font-size:35px;line-height:1.08;margin-bottom:24px}.bio-credential-group h3{font-size:24px;line-height:1.1;margin-bottom:13px}.bio-credential-group strong{display:block;font-size:13px;line-height:1.7}.bio-credential-group p{font-size:12px;line-height:1.8;color:#62685e;margin-top:8px}.bio-peers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}.bio-peer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:25px;font-family:var(--display);font-size:30px}.bio-peer small{display:block;font-family:var(--body);font-size:10px;color:var(--muted);margin-top:9px}
@media(max-width:1000px){.bio-layout{grid-template-columns:minmax(0,1fr) 240px;gap:40px}.bio-credentials{padding-left:24px}.bio-career-heading{display:block}.bio-career-item .bio-period{text-align:left;margin-top:8px}.bio-intro{gap:35px}}
@media(max-width:700px){.bio-intro{grid-template-columns:1fr;gap:28px}.bio-portrait{width:160px;height:160px}.bio-layout{display:flex;flex-direction:column;gap:45px}.bio-credentials{order:-1;border-left:0;border-bottom:1px solid var(--line-dark);padding:0 0 8px;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px}.bio-credential-group:first-child{grid-column:1/-1}.bio-main h2{font-size:36px}.bio-project-list,.bio-peers{grid-template-columns:1fr}.bio-peer{font-size:27px}.bio-hero{padding-bottom:45px}}
@media(max-width:1000px){.leadership-grid{gap:27px}.leader-card h3{font-size:29px}.leader-card .leader-portrait{width:160px;height:160px}}
@media(max-width:700px){.leadership-grid{grid-template-columns:1fr;gap:55px}.leader-card{max-width:540px}.leader-card header{min-height:0}.leader-card .leadership-caption{min-height:0}.leader-qualification{min-height:0}.leader-card .leader-portrait{width:160px;height:160px}}

.reach-type span small{display:block;font-size:.34em;line-height:1.3;margin:8px 0 15px;letter-spacing:.05em}

/* Full header lockup: preserve the original tagline beneath the wordmark. */
.site-header .brand-mark{width:240px;aspect-ratio:814/228;filter:none}
.site-header .brand-mark img{clip-path:none;visibility:visible}
.site-header .brand-mark.playing img{visibility:visible}
.site-header .brand-animation{display:block;clip-path:none;mask-image:none;-webkit-mask-image:none}
@media(max-width:800px){.site-header .brand-mark{width:210px}}

/* Separate portfolio selectors with a visible reset. */
.portfolio-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;align-items:end}
.portfolio-controls .select-field{min-width:0}
.portfolio-controls select{width:100%;text-overflow:ellipsis;background:var(--paper);cursor:pointer}
.portfolio-controls .filter-reset{padding-bottom:12px}
@media(max-width:800px){.portfolio-controls{grid-template-columns:1fr;gap:16px}}

/* Project references and matched render/site photography in the register. */
.project-number{white-space:nowrap;color:#8c7957}
.portfolio-table{min-width:860px}
.portfolio-table th:first-child{width:34%}
.portfolio-media{display:flex;gap:12px;flex-wrap:wrap}
.portfolio-photo{display:block;width:132px;text-decoration:none}
.portfolio-photo img{width:132px;height:94px;object-fit:cover;display:block;border:1px solid var(--line-dark);transition:opacity .2s}
.portfolio-photo:hover img{opacity:.8}
.portfolio-photo span{display:block;font-size:9px;line-height:1.4;color:#69765c;margin-top:6px}
.dialog-media{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}
.dialog-media:empty{display:none}
.dialog-media figure{margin:0;flex:1;min-width:180px}
.dialog-media img{display:block;width:100%;max-height:320px;object-fit:contain;background:#e9e7de}
.dialog-media figcaption{font-size:11px;margin-top:8px;color:#69765c}
@media(max-width:800px){.portfolio-photo,.portfolio-photo img{width:110px}.portfolio-photo img{height:80px}}

/* All project facts are available directly in each register row. */
.portfolio-table{min-width:1200px;table-layout:auto}
.portfolio-table th:first-child{width:22%}
.portfolio-table th:nth-child(2){min-width:190px}
.portfolio-table td{font-size:10px;line-height:1.5;padding-right:16px}
.portfolio-table th:last-child,.portfolio-table td:last-child{text-align:left}
.portfolio-table .stage{white-space:normal;max-width:150px;display:inline-flex;align-items:baseline}
.portfolio-table .stage::before{flex:none}
.portfolio-photo,.portfolio-photo img{width:88px}
.portfolio-photo img{height:64px}
.portfolio-media{gap:8px;flex-wrap:wrap;min-width:184px}
.portfolio-title{font-size:23px}

/* Larger locations and system quantities in the project register. */
.project-location{display:block;font-family:var(--body);font-size:10px;line-height:1.5;color:var(--ink);margin-top:9px}
.system-quantity strong{display:block;font-family:var(--display);font-size:36px;font-weight:500;line-height:1;color:#8c7957;margin-bottom:7px}
#portfolio .system-quantity .portfolio-sub{font-size:10px;line-height:1.5}
.related-projects .card-line .eyebrow{font-size:13px;line-height:1.5}
.related-projects .project-meta>span:first-child{font-size:17px;line-height:1.4}

/* Completed projects: a RAL 1035 gold row tint and status badge distinguish finished delivery. */
.portfolio-table tr[data-stage="completed"] td{background:#e4ded2}
.portfolio-table tr[data-stage="completed"]:hover td{background:#d8cebd}
.portfolio-table tr[data-stage="completed"] td:first-child{box-shadow:inset 3px 0 #a99e89;padding-left:12px}
.portfolio-table tr[data-stage="completed"] .stage.completed{background:#d2c5ae;color:#453820;border:1px solid #b6a68b;border-radius:4px;padding:5px 8px;font-weight:600}
.portfolio-table tr[data-stage="completed"] .stage.completed::before{background:#8c7957}

/* Match the footer to the original animated gold logo. */
.footer-main .brand-mark{width:174px;max-width:100%;aspect-ratio:814/228;filter:none}
.footer-main .brand .brand-mark img{filter:none;visibility:visible}
.footer-main .brand-animation{clip-path:none;mask-image:none;-webkit-mask-image:none}
@media(prefers-reduced-motion:reduce){.site-header .brand-animation{display:none}.site-header .brand-mark.playing img{visibility:visible}}

/* GOLDX product identity, sized to remain within mobile screens. */
.goldx-identity{min-width:0;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#161816;border:1px solid #a99e89;padding:38px 24px;gap:18px}
.goldx-identity strong{font-family:var(--display);font-size:clamp(64px,8vw,120px);font-weight:500;line-height:1;letter-spacing:.02em;background-image:var(--ral-1035-metal);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:ral-metal-shimmer 12s ease-in-out infinite alternate}
.goldx-category{font-size:10px;letter-spacing:3px;color:#d0c4ad}
@media(max-width:800px){.goldx-identity{min-height:240px}}
@media(prefers-reduced-motion:reduce){.goldx-identity strong{animation:none}}

/* Original GOLDX product photography with full-size image links. */
.goldx-gallery{min-width:0;display:grid;gap:16px}
.goldx-gallery a{display:block;border:1px solid var(--line-dark);background:#e8e6dd;overflow:hidden}
.goldx-gallery img{display:block;width:100%;height:auto;object-fit:contain}
.goldx-photo-main img{aspect-ratio:4/3}
.goldx-photo-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.goldx-photo-details img{height:220px;object-fit:contain}
@media(max-width:800px){.goldx-gallery,.goldx-photo-details{gap:12px}.goldx-photo-details img{height:190px}}

/* Constrain layout columns; only the logo tracks extend beyond their own viewport. */
.container{width:100%;min-width:0}
.intro-grid>*,.projects-grid>*,.projects-side>*,.system-stage>*,.method-title>*,.method-grid>*,.reach-layout>*,.footer-main>*,.page-hero-side>*,.project-detail-grid>*,.project-challenge>*,.system-detail>*,.additional-systems>*,.contact-layout>*,.enquiry-form>*,.spec-grid>*,.bio-layout>*,.bio-intro>*{min-width:0}
.button,.text-link{max-width:100%}
.text-link .arrow,.button .arrow{flex:none}
.portfolio-scroll{width:100%;min-width:0;max-width:100%}

/* Give the two relationship rows an explicit, bounded viewport. */
#project-relationships{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
#project-relationships .partner-strip-heading{justify-content:space-between;width:100%;min-width:0}
#project-relationships .partner-strip-heading p{width:auto}
.partner-row{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:24px;min-width:0;width:100%}
.trust-strip .partner-row-label{width:auto;font-size:9px;letter-spacing:1.4px}
.partner-row .partner-viewport{width:100%;max-width:100%;min-width:0}
.partner-row .partner-track{animation-duration:var(--partner-scroll-duration,110s)}
.partner-row-contractors .partner-track{animation-direction:reverse}

@media(max-width:1024px){
  .site-header{height:78px;gap:16px}
  .site-header.scrolled{height:70px}
  .site-header .brand{min-width:0}
  .site-header .brand-mark{width:clamp(156px,44vw,210px);max-width:100%}
  .menu-toggle{display:block;flex:none}
  .main-nav{display:none;position:fixed;top:77px;left:0;right:0;background:#171d16;padding:25px var(--gutter) 40px;height:calc(100svh - 77px);min-height:0;overflow-y:auto;overscroll-behavior:contain;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:0;font-size:23px}
  .site-header.scrolled .main-nav{top:69px;height:calc(100svh - 69px);min-height:0}
  .main-nav.open{display:flex}
  .main-nav>a{padding:19px 0;border-bottom:1px solid var(--line);flex:none}
  .main-nav>a::after{display:none}
  .main-nav .nav-cta{margin-top:28px;font-size:14px;padding:19px}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
}
@media(max-width:800px){
  .hero h1{font-size:clamp(82px,27vw,170px)}
  .hero-project-proof{margin-left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .hero-proof{min-width:0;flex-wrap:wrap;gap:9px}
  .partner-row{grid-template-columns:minmax(0,1fr);gap:12px}
  h1,h2,h3,.lede,.label,.text-link,.button,.spec-grid dd{overflow-wrap:anywhere}
  .breadcrumbs{flex-wrap:wrap}
  .project-dialog{max-width:calc(100% - 32px)}
  input,select,textarea{min-width:0;max-width:100%}
  .enquiry-form input,.enquiry-form textarea,.enquiry-form select,.portfolio-controls select{font-size:16px}

  /* Each project becomes a readable card, retaining every register column. */
  .portfolio-scroll{overflow:visible}
  .portfolio-table{display:block;width:100%;min-width:0}
  .portfolio-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .portfolio-table tbody{display:block;width:100%}
  .portfolio-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;border:1px solid var(--line-dark);padding:18px;margin-bottom:20px}
  .portfolio-table td{display:block;min-width:0;width:auto;padding:12px 0;border-bottom:1px solid var(--line-dark);overflow-wrap:anywhere}
  .portfolio-table td:first-child,.portfolio-table .portfolio-photo-cell,.portfolio-table .system-quantity,.portfolio-table td:last-child{grid-column:1/-1}
  .portfolio-table td:first-child{padding-top:0}
  .portfolio-table td:last-child{border-bottom:0;padding-bottom:0}
  .portfolio-table td[data-label]::before{content:attr(data-label);display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#69765c;margin-bottom:8px}
  .portfolio-table .portfolio-title{font-size:28px}
  .portfolio-table .portfolio-media{min-width:0;max-width:100%;gap:10px}
  .portfolio-table tr[data-stage="completed"]{background:#e4ded2;box-shadow:inset 3px 0 #a99e89}
  .portfolio-table tr[data-stage="completed"] td,.portfolio-table tr:hover td{background:transparent}
  .portfolio-table tr[data-stage="completed"] td:first-child{box-shadow:none;padding-left:0}
  .portfolio-table .stage{max-width:100%;font-size:10px}
}
@media(max-width:480px){
  .hero h1{font-size:clamp(82px,27vw,113px)}
  .method-grid,.additional-systems,.bio-credentials{grid-template-columns:minmax(0,1fr)}
  .method-step{padding-right:0}
  .reach-type{font-size:clamp(46px,14vw,66px)}
  .hero-project-proof .hero-proof strong{font-size:36px}
}

/* Use the same thin diagonal arrow on desktop and mobile. */
.diagonal-arrow{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.1em}
.arrow .diagonal-arrow{display:block;width:18px;height:18px}
.card-line .arrow .diagonal-arrow{color:var(--bronze)}
.paper .card-line .arrow .diagonal-arrow{color:#8d7f68}
.hero-caption i .diagonal-arrow{color:var(--bronze)}
.main-nav .nav-cta .diagonal-arrow{color:var(--bronze-light)}
.main-nav .nav-cta:hover .diagonal-arrow{color:var(--ink)}

/* Feather the header film and hold the original sparkle without a hard video box. */
.site-header .header-logo{aspect-ratio:16/5;overflow:visible;mask-image:none;-webkit-mask-image:none}
.site-header .header-logo .brand-animation,.site-header .header-logo img.header-sparkle{width:180%;max-width:none;height:auto;inset:auto;left:-40%;top:50%;transform:translateY(-50%);clip-path:none;mask-image:linear-gradient(90deg,transparent 0 14%,rgba(0,0,0,.35) 20%,#000 25% 75%,rgba(0,0,0,.35) 80%,transparent 86% 100%),linear-gradient(to bottom,transparent 0 15%,rgba(0,0,0,.25) 28%,#000 38% 60%,rgba(0,0,0,.35) 62%,transparent 64% 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0 14%,rgba(0,0,0,.35) 20%,#000 25% 75%,rgba(0,0,0,.35) 80%,transparent 86% 100%),linear-gradient(to bottom,transparent 0 15%,rgba(0,0,0,.25) 28%,#000 38% 60%,rgba(0,0,0,.35) 62%,transparent 64% 100%);mask-composite:intersect;-webkit-mask-composite:source-in;mix-blend-mode:screen}
.site-header .header-logo img.header-sparkle{opacity:0;pointer-events:none}
.site-header .header-logo.playing img:not(.header-sparkle){opacity:0}
.site-header .header-logo.held .brand-animation{opacity:0}
.site-header .header-logo.held img.header-sparkle{opacity:1}

/* Match the welcome still's RAL 1035 pearl gold; retain white sparkle highlights. */
.brand-color-filter{position:absolute;pointer-events:none;overflow:hidden}
.site-header .brand-mark img,.site-header .brand-animation,.footer-main .brand-mark img,.footer-main .brand-animation{filter:url(#brand-ral1035)}
.deck-detail .goldx-identity strong{max-width:100%;font-size:clamp(46px,6vw,88px);text-align:center}

.portfolio-map-link{display:flex;width:44px;min-height:44px;align-items:center;justify-content:center;margin-top:6px;border-radius:4px}.portfolio-map-link .project-map-icon{width:21px;height:21px}.portfolio-map-link:hover{background:rgba(176,157,96,.12)}

/* Black footer with the same four-sided logo feather as the header. */
.site-footer{background:#000}
.footer-main .brand-mark{width:210px;max-width:100%;aspect-ratio:16/5;overflow:visible;filter:none}
.footer-main .brand-animation{width:180%;max-width:none;height:auto;inset:auto;left:-40%;top:50%;transform:translateY(-50%);clip-path:none;mask-image:linear-gradient(90deg,transparent 0 14%,rgba(0,0,0,.35) 20%,#000 25% 75%,rgba(0,0,0,.35) 80%,transparent 86% 100%),linear-gradient(to bottom,transparent 0 15%,rgba(0,0,0,.25) 28%,#000 38% 60%,rgba(0,0,0,.35) 62%,transparent 64% 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0 14%,rgba(0,0,0,.35) 20%,#000 25% 75%,rgba(0,0,0,.35) 80%,transparent 86% 100%),linear-gradient(to bottom,transparent 0 15%,rgba(0,0,0,.25) 28%,#000 38% 60%,rgba(0,0,0,.35) 62%,transparent 64% 100%);mask-composite:intersect;-webkit-mask-composite:source-in;mix-blend-mode:screen}
.footer-main .brand-mark.playing img{opacity:0}

.portfolio-detail-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.portfolio-detail-link:hover{color:#766143}.register-project-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin-bottom:50px}.register-project-images img{height:clamp(240px,45vw,650px);object-fit:contain;background:#e9e6de}.project-related-links{display:grid;gap:16px;padding-left:20px;margin-bottom:32px}.project-related-links a{text-decoration:underline;text-underline-offset:4px}

/* Give all three selected project titles equal emphasis at every screen size. */
.projects-grid .project-card h3,.projects-grid .project-card.featured h3{font-size:clamp(29px,3vw,34px)}

/* Centre the homepage message and keep it readable over the construction image. */
.hero-content{text-align:center}
.hero h1{margin-left:auto;margin-right:auto}
.hero-content>p{margin-left:auto;margin-right:auto}
.hero .actions{justify-content:center;flex-wrap:wrap}
.hero::after{background:radial-gradient(ellipse at 50% 44%,rgba(13,17,14,.55) 0%,rgba(13,17,14,.36) 42%,rgba(13,17,14,.24) 78%),linear-gradient(0deg,rgba(13,17,14,.92) 0%,transparent 37%)}
@media(max-width:800px){.hero::after{background:radial-gradient(ellipse at 50% 36%,rgba(13,17,14,.58),rgba(13,17,14,.28) 76%),linear-gradient(0deg,rgba(13,17,14,.95),transparent 65%)}}

/* The photographed global project book. */
.brochure-section{background:#e7e4da;color:#161816}
.brochure-layout{display:grid;grid-template-columns:minmax(200px,340px) minmax(0,1fr);gap:clamp(35px,7vw,105px);align-items:center}
.brochure-cover{display:block;max-width:340px;box-shadow:12px 18px 35px #16181630;transition:transform .3s ease}
.brochure-cover:hover{transform:translateY(-4px)}
.brochure-cover img{display:block;width:100%;height:auto}
.brochure-copy h2{font-size:clamp(48px,5.7vw,84px);line-height:.98;margin-bottom:26px}
.brochure-intro{max-width:590px;font-size:18px;line-height:1.65}
.brochure-meta{margin-top:22px;font-size:12px;letter-spacing:.04em;color:#5a5f55}
.brochure-copy .actions{margin-top:30px}
.brochure-downloads{display:flex;flex-wrap:wrap;gap:22px 35px;margin-top:28px}
.brochure-downloads .text-link{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.brochure-downloads small{flex-basis:100%;font-size:10px;color:#5a5f55;letter-spacing:.03em}
@media(max-width:720px){.brochure-layout{grid-template-columns:1fr;gap:40px}.brochure-cover{width:65%;max-width:260px;margin:auto}.brochure-intro{font-size:16px}.brochure-downloads{gap:25px}.brochure-copy h2{font-size:58px}}
@media(prefers-reduced-motion:reduce){.brochure-cover{transition:none}.brochure-cover:hover{transform:none}}

/* Mobile: uncropped Seahaven photo below the header, words on black beneath. */
.hero-picture{position:absolute;inset:0;z-index:0}
.hero-mobile-credit{display:none}
@media(max-width:800px){
 .hero{background:#000;height:auto;min-height:0;padding-top:78px;justify-content:flex-start}
 .hero-picture{display:block;position:relative;inset:auto;width:100%;aspect-ratio:1320/703;flex:none}
 .hero-image{position:static;width:100%;height:100%;object-fit:contain;object-position:center}
 .hero::after,.hero-caption{display:none}
 .hero .hero-mobile-credit{display:block;max-width:none;font-size:9px;line-height:1.5;color:var(--muted);text-align:right;margin:9px auto 24px}
 .hero-content{padding-bottom:38px}
 .hero-bottom{position:relative;inset:auto;background:transparent;width:100%;margin-top:0}
}

.contact-block .contact-role{font-size:12px;line-height:1.65;margin-top:4px}
