:root{
  --black:#090909;
  --charcoal:#141414;
  --ivory:#f6f4ef;
  --warm:#ece9e1;
  --white:#fff;
  --ink:#171717;
  --muted:#68655f;
  --line:#d5d0c6;
  --dark-line:rgba(255,255,255,.14);
  --green:#5f8f59;
  --green-light:#b9d6b2;
  --green-wash:#e7f0e4;
  --green-ink:#4f744b;
  --radius:8px;
  --shell:1280px;
  --header:78px;
  --ease:cubic-bezier(.22,.72,.22,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--green);color:#fff}
.shell{width:min(calc(100% - 56px),var(--shell));margin-inline:auto}
.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}
.skip-link{position:fixed;left:16px;top:-70px;z-index:999;padding:10px 14px;background:#fff;color:#000;border-radius:6px}
.skip-link:focus{top:16px}

.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header);color:#fff;border-bottom:1px solid transparent;transition:height .25s ease,background .25s ease,border-color .25s ease}
.site-header.is-scrolled{height:68px;background:rgba(9,9,9,.94);border-color:var(--dark-line);backdrop-filter:blur(14px)}
.nav-shell{height:100%;display:flex;align-items:center;gap:34px}
.brand{width:132px;flex:0 0 auto}
.brand img{width:100%;height:54px;object-fit:contain;object-position:left center}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:11px;font-weight:700}
.site-nav>a:not(.nav-action){color:#d1d0cb}
.site-nav>a:hover,.site-nav .is-active{color:#fff}
.nav-action{padding:11px 14px;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff}
.nav-action:hover{background:#fff;color:#111}
.menu-toggle{display:none;width:40px;height:40px;border:0;background:none;padding:10px;cursor:pointer}
.menu-toggle>span:not(.sr-only){display:block;height:1px;background:#fff;margin:6px 0;transition:transform .25s ease}

.hero{position:relative;min-height:760px;display:flex;align-items:flex-end;background:#111;color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1678774055152-834067778e82?auto=format&fit=crop&w=2200&q=86");background-size:cover;background-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.92) 0%,rgba(5,5,5,.72) 43%,rgba(5,5,5,.13) 73%,rgba(5,5,5,.1) 100%)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;padding:170px 0 70px}
.hero-copy{max-width:850px}
.hero h1{margin:0;font-size:clamp(66px,7.5vw,108px);line-height:.86;letter-spacing:-.064em;font-weight:760}
.hero h1 span{color:#d8d7d2}
.hero-copy>p{max-width:660px;margin:30px 0 0;color:#c1c0bb;font-size:17px;line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:34px}
.hero-side{justify-self:end;max-width:280px;padding:20px 0;border-top:1px solid rgba(255,255,255,.28)}
.hero-side strong{display:block;font-size:16px}
.hero-side p{margin:8px 0 0;color:#b5b4af;font-size:12px;line-height:1.55}

.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 17px;border:1px solid transparent;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.02em;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.button:hover{transform:translateY(-1px)}
.button-light{background:#fff;color:#111;border-color:#fff}
.button-light:hover{background:#e9e8e3;border-color:#e9e8e3}
.button-dark{background:#111;color:#fff;border-color:#111}
.button-dark:hover{background:#2a2a2a}
.button-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.button-outline-light:hover{background:#fff;color:#111;border-color:#fff}
.text-action{display:inline-flex;align-items:center;padding:6px 0;border-bottom:1px solid currentColor;font-size:10px;font-weight:800;letter-spacing:.02em}
.text-action-light{color:#fff}

.section{padding:96px 0}
.section-dark{background:var(--black);color:#fff}
.section-warm{background:var(--warm)}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:72px;align-items:end;margin-bottom:44px}
.section-head h2,.intro h2,.portfolio-card h2,.group-row h2,.project-enquiries h2{margin:0;font-size:clamp(48px,5.5vw,74px);line-height:.92;letter-spacing:-.054em;font-weight:740}
.section-head>p{margin:0;color:var(--muted);font-size:15px;line-height:1.62}
.section-dark .section-head>p{color:#a5a49f}
.section-link{margin-top:24px;text-align:right}

.intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:start}
.intro-copy{padding-top:6px}
.intro-copy p{margin:0 0 18px;color:#5d5b56;font-size:16px;line-height:1.72}
.intro-copy .text-action{margin-top:12px}

.process{background:#f4f1ea}
.process-heading{margin-bottom:34px}
.process-gates{
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 55px rgba(30,28,22,.045);
}
.process-stage-nav{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-bottom:1px solid var(--line);
  background:#f8f6f1;
}
.process-stage-nav::before{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  top:25px;
  height:1px;
  background:#d1cdc4;
  pointer-events:none;
}
.process-stage-nav button{
  position:relative;
  z-index:1;
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:20px 12px 14px;
  border:0;
  border-right:1px solid var(--line);
  background:transparent;
  color:#77746d;
  cursor:pointer;
}
.process-stage-nav button:last-child{border-right:0}
.process-stage-nav button strong{
  font-size:11px;
  letter-spacing:.01em;
}
.process-stage-dot{
  width:11px;
  height:11px;
  border:2px solid #c9c4bb;
  border-radius:50%;
  background:#f8f6f1;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.process-stage-nav button.is-active{
  color:#111;
  background:#fff;
}
.process-stage-nav button.is-active .process-stage-dot{
  border-color:var(--green);
  background:var(--green);
  box-shadow:0 0 0 5px rgba(95,143,89,.12);
}
.process-gate-panel{
  min-height:330px;
  display:grid;
  grid-template-columns:.7fr 1.15fr .75fr;
  animation:processGateIn .3s var(--ease);
}
.process-gate-title,
.process-control-block,
.process-release-block{
  padding:34px;
}
.process-gate-title{
  display:flex;
  align-items:flex-end;
  border-right:1px solid var(--line);
  background:#111;
  color:#fff;
}
.process-gate-title h3{
  margin:0;
  font-size:clamp(46px,5.2vw,70px);
  line-height:.9;
  letter-spacing:-.055em;
}
.process-control-block{
  border-right:1px solid var(--line);
}
.process-gate-label{
  display:block;
  margin-bottom:22px;
  color:#77746d;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.process-control-block ul{
  list-style:none;
  margin:0;
  padding:0;
}
.process-control-block li{
  position:relative;
  padding:13px 0 13px 18px;
  border-bottom:1px solid var(--line);
  color:#34322f;
  font-size:14px;
  line-height:1.45;
}
.process-control-block li:last-child{border-bottom:0}
.process-control-block li::before{
  content:"";
  position:absolute;
  left:0;
  top:20px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--green);
}
.process-release-block{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:#f7f5ef;
}
.process-release-block p{
  margin:0;
  color:#181715;
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.22;
  letter-spacing:-.025em;
}
@keyframes processGateIn{
  from{opacity:.45;transform:translateY(5px)}
  to{opacity:1;transform:none}
}

.fit-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:16px;align-items:start}
.fit-tabs{border:1px solid #cec9bf;border-radius:var(--radius);overflow:hidden;background:#f8f6f1}
.fit-tabs button{width:100%;min-height:66px;padding:0 20px;border:0;border-bottom:1px solid #cec9bf;background:transparent;text-align:left;font-size:13px;font-weight:800;cursor:pointer}
.fit-tabs button:last-child{border-bottom:0}
.fit-tabs button.is-active{background:#111;color:#fff}
.fit-content{min-height:330px;padding:34px;border:1px solid #cec9bf;border-radius:var(--radius);background:#f8f6f1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.fit-content h3{max-width:820px;margin:0;font-size:clamp(40px,4.4vw,60px);line-height:.95;letter-spacing:-.048em}
.fit-content p{max-width:740px;margin:20px 0 26px;color:#625f59;font-size:14px;line-height:1.62}

.control{background:#f6f4ef}
.control-heading{margin-bottom:34px}
.control-board{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
  box-shadow:0 16px 48px rgba(30,28,22,.035);
}
.control-board-item{
  min-height:300px;
  display:flex;
  flex-direction:column;
  padding:30px 26px 28px;
  border-right:1px solid var(--line);
  box-shadow:inset 0 3px 0 var(--green-light);
}
.control-board-item:last-child{border-right:0}
.control-board-label{
  color:var(--green-ink);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.control-board-item h3{
  max-width:250px;
  margin:26px 0 0;
  font-size:clamp(25px,2.3vw,34px);
  line-height:1;
  letter-spacing:-.035em;
}
.control-board-item p{
  max-width:270px;
  margin:auto 0 0;
  color:#66635d;
  font-size:12px;
  line-height:1.58;
}
.control-action{
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
}

.portfolio-section{padding-top:64px;padding-bottom:64px}
.portfolio-card{display:grid;grid-template-columns:.82fr 1.18fr auto;gap:50px;align-items:center;padding:32px;border-radius:var(--radius);background:#111;color:#fff}
.portfolio-card h2{font-size:clamp(36px,4.1vw,54px)}
.portfolio-card>p{margin:0;color:#aaa9a4;font-size:13px;line-height:1.62}

.group-section{padding:46px 0;background:#f8f6f1}
.group-row{display:grid;grid-template-columns:.72fr 1.08fr auto;gap:44px;align-items:center;padding:28px 0;border-top:1px solid #cbc7be;border-bottom:1px solid #cbc7be}
.group-row h2{font-size:32px}
.group-row>p{margin:0;color:#67645e;font-size:13px;line-height:1.58}

.project-enquiries{padding:84px 0;background:#090909;color:#fff}
.enquiry-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:76px;align-items:end}
.project-enquiries h2{font-size:clamp(48px,5.4vw,72px)}
.enquiry-grid>div{display:grid;gap:22px;justify-items:start}
.enquiry-grid p{max-width:480px;margin:0;color:#a5a49f;font-size:14px;line-height:1.58}

.site-footer{padding:58px 0 24px;background:#090909;color:#fff;border-top:1px solid var(--dark-line)}
.footer-main{display:grid;grid-template-columns:1.15fr 1.25fr .7fr;gap:72px;align-items:start}
.footer-brand{display:block;width:126px}
.footer-brand img{height:50px;object-fit:contain;object-position:left center}
.footer-identity p{max-width:270px;margin:18px 0 0;color:#8f8e89;font-size:11px;line-height:1.55}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-column strong{margin-bottom:7px;color:var(--green-light);font-size:10px;letter-spacing:.08em}
.footer-column a,.footer-column address{color:#b1b0ab;font-size:11px;line-height:1.55;font-style:normal}
.footer-column a:hover{color:#fff}
.footer-contact address{max-width:340px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:46px;padding-top:20px;border-top:1px solid var(--dark-line)}
.footer-bottom p,.footer-bottom a{margin:0;color:#6f6e69;font-size:9px}
.footer-bottom a:hover{color:#fff}

@keyframes imageIn{
  from{opacity:.35;transform:scale(1.012)}
  to{opacity:1;transform:scale(1)}
}

@media(max-width:1040px){
  :root{--header:72px}
  .shell{width:min(calc(100% - 38px),var(--shell))}
  .menu-toggle{display:block;margin-left:auto;z-index:3}
  .site-nav{position:fixed;inset:0;padding:110px 26px 38px;background:#090909;flex-direction:column;align-items:flex-start;gap:18px;font-size:28px;letter-spacing:-.025em;transform:translateX(100%);transition:transform .3s var(--ease)}
  .site-nav.is-open{transform:translateX(0)}
  .nav-action{margin-top:14px;font-size:11px}
  .menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}

  .hero-inner{grid-template-columns:1fr;gap:38px;padding-top:150px}
  .hero-side{justify-self:start}
  .intro-grid,.section-head,.capability-layout,.fit-grid,.portfolio-card,.group-row,.enquiry-grid{grid-template-columns:1fr}
  .section-head{gap:18px}
  .section-head>p{max-width:620px}
  .capability-stage{min-height:330px}
  .portfolio-card,.group-row{gap:22px}
  .portfolio-card>.button{justify-self:start}
  .footer-grid{grid-template-columns:1fr;justify-items:start}
  .footer-grid>p{text-align:left}
}

@media(max-width:700px){
  .shell{width:min(calc(100% - 26px),var(--shell))}
  .brand{width:112px}
  .hero{min-height:680px}
  .hero-media{background-position:62% center}
  .hero-shade{background:linear-gradient(180deg,rgba(5,5,5,.32),rgba(5,5,5,.87) 66%,rgba(5,5,5,.96))}
  .hero-inner{padding:132px 0 46px}
  .hero h1{font-size:clamp(54px,15vw,76px)}
  .hero-copy>p{font-size:15px}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .section{padding:72px 0}
  .section-head h2,.intro h2{font-size:clamp(40px,12vw,58px)}
  .intro-grid{gap:28px}
  .capability-list button{min-height:72px}
  .capability-stage{min-height:300px;padding:24px}
  .fit-tabs{display:grid;grid-template-columns:1fr 1fr}
  .fit-tabs button{min-height:60px;border-right:1px solid #cec9bf}
  .fit-tabs button:nth-child(2n){border-right:0}
  .fit-tabs button:nth-last-child(-n+2){border-bottom:0}
  .fit-content{min-height:290px;padding:24px}
  .portfolio-card{padding:24px}
  .group-row{padding:24px 0}
  .project-enquiries{padding:70px 0}
  .project-enquiries h2{font-size:clamp(54px,15vw,78px)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* Specialised capabilities — centered premium carousel */
.capability-shell{display:flex;flex-direction:column;align-items:center}
.capability-section-head{width:min(100%,1080px);margin-bottom:38px;text-align:center}
.capability-section-head h2{margin:0;font-size:clamp(48px,5.5vw,74px);line-height:.92;letter-spacing:-.054em;font-weight:740}
.capability-center{width:min(100%,1040px)}
.capability-card-main{
  position:relative;
  width:100%;
  min-height:420px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  border:1px solid rgba(185,214,178,.24);
  border-radius:10px;
  overflow:hidden;
  background:linear-gradient(145deg,#151515 0%,#0f0f0f 100%);
  box-shadow:0 28px 80px rgba(0,0,0,.24);
  color:#fff;
}
.capability-card-front{animation:capabilityCardIn .38s var(--ease)}
.capability-card-header{
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:26px 30px 22px;
  border-bottom:1px solid var(--dark-line);
}
.capability-card-header h3{
  max-width:760px;
  margin:0;
  font-size:clamp(34px,3.7vw,50px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:720;
}
.capability-arrows{display:flex;gap:8px;flex:0 0 auto}
.capability-arrows button{
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:6px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.capability-arrows button:hover{background:#fff;color:#111;border-color:#fff;transform:translateY(-1px)}
.capability-story{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  min-height:250px;
}
.capability-industry-issue{
  display:flex;
  align-items:center;
  margin:0;
  padding:34px 36px;
  border-right:1px solid var(--dark-line);
  color:#e7e6e1;
  font-size:clamp(18px,1.65vw,23px);
  line-height:1.42;
  letter-spacing:-.018em;
}
.capability-intervention{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 36px;
  background:linear-gradient(135deg,rgba(185,214,178,.11),rgba(185,214,178,.035));
}
.capability-intervention h4{
  max-width:390px;
  margin:0;
  color:var(--green-light);
  font-size:clamp(23px,2.2vw,31px);
  line-height:1.03;
  letter-spacing:-.035em;
}
.capability-intervention p{
  max-width:430px;
  margin:20px 0 0;
  color:#aaa9a4;
  font-size:13px;
  line-height:1.62;
}
.capability-card-footer{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 30px;
  border-top:1px solid var(--dark-line);
  box-shadow:inset 0 2px 0 rgba(185,214,178,.08);
}
.capability-bottom-link{width:min(100%,1040px);margin-top:22px;text-align:right}
.capability-stack{display:none}

@keyframes capabilityCardIn{
  from{opacity:.3;transform:translateX(18px)}
  to{opacity:1;transform:none}
}

@media(max-width:1040px) and (min-width:701px){
  .capability-section-head{margin-bottom:32px}
  .capability-center{width:min(100%,900px)}
  .capability-card-main{min-height:420px}
  .capability-bottom-link{width:min(100%,900px)}
}

@media(max-width:700px){
  .capability-section-head{margin-bottom:28px;text-align:left}
  .capability-section-head h2{font-size:clamp(40px,12vw,58px)}
  .capability-center{display:none}
  .capability-stack{
    position:relative;
    display:block;
    width:100%;
    min-height:570px;
    padding:0 8px 18px 0;
  }
  .capability-card-main{
    min-height:548px;
    border-radius:9px;
  }
  .capability-card-back{
    position:absolute;
    inset:12px 0 6px 12px;
    z-index:1;
    opacity:.5;
    transform:translateX(10px) scale(.97);
    pointer-events:none;
    filter:brightness(.82);
  }
  .capability-stack[data-direction="prev"] .capability-card-back{transform:translateX(-10px) scale(.97)}
  .capability-card-front{
    position:relative;
    z-index:2;
    touch-action:pan-y;
    user-select:none;
    transition:transform .48s var(--ease);
    animation:none;
    will-change:transform;
  }
  .capability-card-front:active{cursor:grabbing}
  .capability-card-header{
    min-height:auto;
    padding:24px 22px 20px;
  }
  .capability-card-header h3{
    font-size:clamp(30px,9vw,40px);
    line-height:1;
  }
  .capability-story{
    grid-template-columns:1fr;
    min-height:0;
  }
  .capability-industry-issue{
    min-height:220px;
    padding:24px 22px;
    border-right:0;
    border-bottom:1px solid var(--dark-line);
    align-items:flex-start;
    font-size:17px;
    line-height:1.42;
  }
  .capability-intervention{
    min-height:220px;
    padding:24px 22px;
  }
  .capability-intervention h4{
    font-size:25px;
    line-height:1.05;
  }
  .capability-intervention p{
    margin-top:16px;
    font-size:12px;
    line-height:1.55;
  }
  .capability-card-footer{
    min-height:62px;
    padding:0 22px;
  }
  .capability-bottom-link{
    width:100%;
    margin-top:18px;
    text-align:left;
  }
}

@media(max-width:430px){
  .capability-stack{min-height:620px}
  .capability-card-main{min-height:598px}
}

@media(prefers-reduced-motion:reduce){
  .capability-card-front{animation:none!important;transition:none!important}
}

/* From mobilisation to handover — construction control gates */
@media(max-width:1040px){
  .process-gate-panel{grid-template-columns:.72fr 1.28fr}
  .process-release-block{
    grid-column:1/-1;
    min-height:150px;
    border-top:1px solid var(--line);
  }
  .process-control-block{border-right:0}
}
@media(max-width:700px){
  .process-stage-nav{
    display:flex;
    overflow-x:auto;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .process-stage-nav::-webkit-scrollbar{display:none}
  .process-stage-nav::before{display:none}
  .process-stage-nav button{
    flex:0 0 112px;
    min-height:64px;
    align-items:flex-start;
    gap:8px;
    padding:14px 16px;
    border-right:1px solid var(--line);
    scroll-snap-align:start;
  }
  .process-stage-dot{width:8px;height:8px;border-width:1px}
  .process-stage-nav button.is-active .process-stage-dot{box-shadow:0 0 0 4px rgba(95,143,89,.12)}
  .process-gate-panel{grid-template-columns:1fr;min-height:0}
  .process-gate-title,
  .process-control-block,
  .process-release-block{padding:24px}
  .process-gate-title{
    min-height:150px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .process-gate-title h3{font-size:52px}
  .process-control-block{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .process-release-block{
    grid-column:auto;
    min-height:140px;
    border-top:0;
  }
  .process-control-block li{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .process-gate-panel{animation:none!important}
}


/* Mobilisation-to-handover alignment refinement */
.process-heading{
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
}
.process-heading h2,
.process-heading>p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.process-stage-nav button{
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.process-gate-title{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.process-gate-title h3{
  width:100%;
  text-align:center;
}
.process-control-block,
.process-release-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.process-gate-label{
  width:100%;
  text-align:center;
}
.process-control-block ul{
  width:100%;
  max-width:520px;
}
.process-control-block li{
  padding-left:0;
  text-align:center;
}
.process-control-block li::before{
  display:none;
}
.process-release-block p{
  max-width:320px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

@media(max-width:700px){
  .process-stage-nav button{
    align-items:center;
    text-align:center;
  }
  .process-gate-title,
  .process-control-block,
  .process-release-block{
    text-align:center;
    align-items:center;
    justify-content:center;
  }
}


/* Restrained H2M light-green accents */
.text-action{border-bottom-color:var(--green-light)}
.text-action-light{border-bottom-color:var(--green-light)}
.capability-card-label{color:var(--green-light)}
.capability-card-main{border-color:rgba(185,214,178,.24)}
.capability-card-footer{box-shadow:inset 0 2px 0 rgba(185,214,178,.1)}
.process-gate-label{color:var(--green-ink)}
.process-gates{border-color:#cbd7c8}
.process-stage-nav button.is-active{box-shadow:inset 0 -3px 0 var(--green-light)}
.fit-tabs button.is-active{box-shadow:inset 3px 0 0 var(--green-light)}
.nav-action{border-color:rgba(185,214,178,.46)}
.button-outline-light{border-color:rgba(185,214,178,.42)}

@media(max-width:1040px){
  .control-board{grid-template-columns:1fr 1fr}
  .control-board-item{
    min-height:240px;
    border-bottom:1px solid var(--line);
  }
  .control-board-item:nth-child(2){border-right:0}
  .control-board-item:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:700px){
  .control-board{grid-template-columns:1fr}
  .control-board-item{
    min-height:210px;
    padding:24px;
    border-right:0;
    border-bottom:1px solid var(--line)!important;
  }
  .control-board-item:last-child{border-bottom:0!important}
  .control-board-item h3{
    max-width:100%;
    margin-top:20px;
    font-size:30px;
  }
  .control-board-item p{
    max-width:100%;
    margin-top:32px;
  }
  .control-action{justify-content:flex-start}
}


/* Stronger project CTA under Site Control */
.control-action{
  margin-top:26px;
  padding:22px 24px;
  align-items:center;
  justify-content:space-between;
  border-radius:var(--radius);
  background:#111;
  box-shadow:inset 4px 0 0 var(--green-light);
}
.control-action::before{
  content:"Project enquiries";
  color:#d9d8d3;
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}
.control-action .button{
  min-width:220px;
  min-height:56px;
  padding:0 28px;
  background:var(--green-wash);
  color:#162015;
  border-color:var(--green-light);
  font-size:12px;
}
.control-action .button:hover{
  background:#fff;
  color:#111;
  border-color:#fff;
}
@media(max-width:700px){
  .control-action{
    align-items:stretch;
    flex-direction:column;
    gap:16px;
  }
  .control-action .button{
    width:100%;
    min-width:0;
  }
}


/* Mobilisation-to-handover — one top selector + two equal content panels */
.process-gate-panel{
  grid-template-columns:1fr 1fr;
  min-height:300px;
}
.process-control-block,
.process-release-block{
  min-height:300px;
  padding:38px 42px;
}
.process-control-block{
  border-right:1px solid var(--line);
}
.process-release-block{
  grid-column:auto;
  border-top:0;
  background:#f7f5ef;
}
.process-gate-label{
  margin-bottom:24px;
}
.process-release-block p{
  max-width:430px;
}

@media(max-width:1040px){
  .process-gate-panel{
    grid-template-columns:1fr 1fr;
  }
  .process-control-block,
  .process-release-block{
    min-height:280px;
  }
  .process-control-block{
    border-right:1px solid var(--line);
  }
  .process-release-block{
    grid-column:auto;
    border-top:0;
  }
}

@media(max-width:700px){
  .process-gate-panel{
    grid-template-columns:1fr;
  }
  .process-control-block,
  .process-release-block{
    min-height:220px;
    padding:28px 24px;
  }
  .process-control-block{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .process-release-block{
    border-top:0;
  }
}


/* Project enquiries emphasis */
.project-enquiries .button{
  min-width:240px;
  min-height:58px;
  padding:0 30px;
  font-size:12px;
}

/* Footer responsive refinement */
@media(max-width:1040px){
  .footer-main{grid-template-columns:1fr 1fr;gap:42px}
  .footer-identity{grid-column:1/-1}
  .footer-bottom{margin-top:36px}
}
@media(max-width:700px){
  .footer-main{grid-template-columns:1fr;gap:34px}
  .footer-identity{grid-column:auto}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}
  .project-enquiries .button{width:100%;min-width:0}
}
