.project-page{background:#fff}.project-page figure{margin:0}.project-page p{font-size:.96rem}.project-hero{padding:56px 0 64px}.project-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}.project-intro h1{font-size:clamp(3.2rem,5.3vw,5.4rem);max-width:700px}.project-lead{max-width:650px;font-size:1.12rem!important;margin:24px 0 30px}.project-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);max-width:650px}.project-meta>div{padding:17px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.project-meta span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.project-meta strong{font-size:.86rem}.project-hero-image{height:min(670px,72vh);min-height:520px;overflow:hidden;background:var(--soft)}.project-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.project-summary{padding:70px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-summary-grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:60px;align-items:start}.project-summary h2{max-width:760px;margin-bottom:22px}.project-summary-grid>div p{max-width:820px;font-size:1.03rem;margin:0 0 14px}.project-feature{padding:72px 0}.project-feature-soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:68px;align-items:center}.project-feature-grid.reverse{grid-template-columns:.95fr 1.05fr}.project-copy{max-width:560px}.project-copy h2{margin-bottom:20px}.project-copy p:not(.eyebrow){margin:0 0 15px;font-size:1rem}.project-photo{overflow:hidden;background:var(--soft)}.project-photo-landscape{aspect-ratio:1.25/1}.project-photo-portrait{aspect-ratio:.86/1;max-height:680px}.project-photo img{width:100%;height:100%;object-fit:cover}.project-photo-portrait img{object-position:center 45%}.project-benefits{padding:72px 0;background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-benefits-heading{max-width:760px}.project-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.project-benefit-grid>div{min-height:165px;padding:30px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px;justify-content:center}.project-benefit-grid>div:last-child{border-right:0}.project-benefit-grid strong{font-size:1rem}.project-benefit-grid span{font-size:.86rem;color:var(--muted)}.project-scope{padding:66px 0}.project-scope-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px}.scope-note{border-left:4px solid var(--blue);padding:6px 0 6px 26px;max-width:780px}.scope-note p{margin:0 0 12px;font-size:1rem}.scope-note p:last-child{margin-bottom:0}.project-final-image{padding:0 0 72px}.project-final-image figure{height:min(720px,72vh);min-height:520px;overflow:hidden;background:var(--soft)}.project-final-image img{width:100%;height:100%;object-fit:cover;object-position:center 42%}.project-cta{padding:68px 0;background:var(--ink);color:#fff}.project-cta h2{color:#fff;max-width:650px}.project-cta p{color:#c9cdd2;max-width:760px;margin:18px 0 0}.project-cta .eyebrow{color:#78a6ff}.project-cta-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.project-cta .button{flex:0 0 auto}
@media(max-width:1050px){.project-hero-grid,.project-feature-grid,.project-feature-grid.reverse{grid-template-columns:1fr 1fr;gap:40px}.project-hero-image{min-height:450px}.project-summary-grid,.project-scope-grid{grid-template-columns:.55fr 1.45fr}.project-benefit-grid{grid-template-columns:1fr 1fr}.project-benefit-grid>div:nth-child(2){border-right:0}.project-benefit-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:700px){.project-page{overflow:hidden}.project-hero{padding:34px 0 42px}.project-hero-grid,.project-summary-grid,.project-feature-grid,.project-feature-grid.reverse,.project-scope-grid{grid-template-columns:1fr;gap:28px}.project-intro h1{font-size:clamp(2.7rem,12vw,4rem)}.project-lead{font-size:1rem!important}.project-meta{grid-template-columns:1fr 1fr}.project-meta>div{padding:14px 12px}.project-hero-image{height:480px;min-height:0}.project-summary,.project-feature,.project-benefits,.project-scope{padding:46px 0}.project-summary-grid{gap:12px}.project-feature-grid.reverse .project-copy{order:2}.project-feature-grid.reverse .project-photo{order:1}.project-photo-landscape{aspect-ratio:1/1}.project-photo-portrait{aspect-ratio:1/1;max-height:none}.project-benefit-grid{grid-template-columns:1fr 1fr}.project-benefit-grid>div{min-height:150px;padding:23px 18px}.project-final-image{padding-bottom:46px}.project-final-image figure{height:500px;min-height:0}.project-cta{padding:50px 0}.project-cta-inner{display:grid;grid-template-columns:1fr;align-items:start}.project-cta .button{justify-self:start}.scope-note{padding-left:18px}}
@media(max-width:460px){.project-meta{grid-template-columns:1fr}.project-benefit-grid{grid-template-columns:1fr}.project-benefit-grid>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.project-benefit-grid>div:last-child{border-bottom:0!important}}


/* Technical CAD gallery */
.project-technical {
  background: #f5f6f8;
}
.project-section-heading {
  max-width: 820px;
  margin-bottom: 42px;
}
.project-section-heading .project-intro {
  max-width: 780px;
}
.technical-gallery {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 1px;
  background: #dfe2e6;
  border: 1px solid #dfe2e6;
}
.technical-card {
  margin: 0;
  background: #fff;
  min-width: 0;
}
.technical-card-large {
  grid-row: span 2;
}
.technical-card img {
  display: block;
  width: 100%;
  height: 310px;
  object-fit: cover;
  background: #fff;
}
.technical-card-large img {
  height: 100%;
  min-height: 620px;
  object-fit: cover;
}
.technical-card figcaption {
  padding: 22px 24px 25px;
  border-top: 1px solid #e4e6e9;
}
.technical-card figcaption strong,
.technical-card figcaption span {
  display: block;
}
.technical-card figcaption strong {
  font-size: 18px;
  margin-bottom: 7px;
}
.technical-card figcaption span {
  color: #6e737b;
  line-height: 1.55;
}
.project-process-line {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 28px;
  border-top: 1px solid #d9dde2;
  border-bottom: 1px solid #d9dde2;
}
.project-process-line span {
  position: relative;
  padding: 20px 18px;
  text-align: center;
  font-weight: 700;
}
.project-process-line span:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -7px;
  color: #3478f6;
}

@media (max-width: 760px) {
  .technical-gallery {
    grid-template-columns: 1fr;
  }
  .technical-card-large {
    grid-row: auto;
  }
  .technical-card img,
  .technical-card-large img {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
  .project-process-line {
    grid-template-columns: 1fr 1fr;
  }
  .project-process-line span:nth-child(2)::after {
    display: none;
  }
}


/* Generic project additions */
.project-two-photo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.project-two-photo figure{min-height:340px;overflow:hidden;background:var(--soft)}
.project-two-photo img{width:100%;height:100%;object-fit:cover}
.project-note{margin-top:24px;padding:22px 24px;border-left:4px solid var(--blue);background:var(--soft)}
.project-note p{margin:0}.project-back{display:inline-block;margin-bottom:20px;color:var(--blue);font-weight:700;text-decoration:none}
.projects-page{padding:56px 0 78px}.projects-page-intro{max-width:900px;margin-bottom:48px}.projects-page-intro h1{max-width:850px}.projects-page-intro .lead{max-width:820px}
.projects-showcase{display:grid;gap:24px}.projects-showcase-card{display:grid;grid-template-columns:.72fr 1.28fr;min-height:330px;border:1px solid var(--line);color:var(--ink);text-decoration:none;overflow:hidden;background:#fff}
.projects-showcase-card:hover{border-color:#cbd1d8;box-shadow:0 14px 35px rgba(26,35,50,.07)}.projects-showcase-card img{width:100%;height:100%;object-fit:cover}
.projects-showcase-copy{padding:38px 42px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.projects-showcase-copy h2{font-size:clamp(1.8rem,2.6vw,2.6rem);margin-bottom:14px}.projects-showcase-copy p:not(.eyebrow){max-width:650px;margin:0 0 20px}
.projects-range{margin:56px 0 0;padding:42px;background:var(--soft);border:1px solid var(--line)}.projects-range h2{margin-bottom:16px}.projects-range p{max-width:850px}
.projects-grid-small{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.projects-grid-small div{background:#fff;border:1px solid var(--line);padding:24px}.projects-grid-small strong{display:block;margin-bottom:8px}.projects-grid-small span{font-size:.86rem;color:var(--muted)}
@media(max-width:800px){.project-two-photo{grid-template-columns:1fr}.projects-showcase-card{grid-template-columns:1fr;min-height:0}.projects-showcase-card figure{aspect-ratio:4/3}.projects-showcase-copy{padding:28px 24px}.projects-grid-small{grid-template-columns:1fr}}
