/* Internal pages extend the approved homepage palette, geometry and type system. */
.recruitment-invitation { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 40px; padding: 28px 32px; background: var(--green-pale); border: 1px solid var(--line); }
.recruitment-invitation > div { min-width: 0; }
.recruitment-invitation .eyebrow { margin-bottom: 12px; }
.recruitment-invitation h2 { margin: 0; color: var(--ink); font-size: clamp(1.5rem, 2.3vw, 1.75rem); font-weight: 600; line-height: 1.2; }
.recruitment-invitation .recruitment-description { max-width: 68ch; margin: 10px 0 0; color: #39564a; font-size: 1rem; line-height: 1.6; }
.recruitment-invitation .button { flex: none; border-color: var(--green-on-pale); color: var(--green-on-pale); }
.recruitment-invitation .button:hover { background: var(--green); color: var(--white); }
@media (max-width: 700px) {
  .recruitment-invitation { flex-direction: column; align-items: start; gap: 22px; margin-top: 32px; padding: 24px; }
}

.reviews { padding: 64px 0; background: var(--white); border-top: 1px solid var(--line); }
.reviews-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.reviews-heading .section-title { max-width: 20ch; }
.reviews-heading .text-link { flex: none; }
.review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.review-card { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 24px; border: 1px solid var(--line); background: var(--paper); }
.review-stars { color: var(--green); letter-spacing: 3px; font-size: 1.125rem; line-height: 1; }
.review-card blockquote { margin: 12px 0 14px; }
.review-card blockquote p { margin: 0; font-size: 1.0625rem; line-height: 1.65; color: var(--ink); }
.review-card figcaption { display: grid; gap: 2px; margin-top: auto; font-size: 0.875rem; line-height: 1.5; }
.review-card figcaption strong { font-weight: 600; }
.review-card figcaption a { color: var(--green); padding-block: 4px; text-decoration: underline; text-underline-offset: 4px; }
.careers-layout { align-items: start; }
.application-panel { min-width: 0; padding: 36px; background: var(--paper); border: 1px solid var(--line); }
.application-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; padding-left: 20px; margin: 24px 0; line-height: 1.6; }
.application-checklist li { padding-left: 3px; }
.application-reminder { font-weight: 500; }
.application-email { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.application-email p { margin: 0 0 8px; }
.application-email-link { display: block; color: var(--green); overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; }
.copy-email-button { min-height: 44px; margin-top: 6px; padding: 6px 0; border: 0; background: transparent; color: var(--green); font: inherit; font-size: 0.875rem; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.copy-email-button:disabled { cursor: wait; }
.application-email .copy-email-status { min-height: 1.6em; margin: 0; font-size: 0.875rem; }
.application-privacy { margin-bottom: 0; font-size: 0.875rem; color: var(--steel); }
.application-privacy a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  .reviews-heading { align-items: start; flex-direction: column; gap: 12px; }
  .review-grid { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px) {
  .reviews { padding: 48px 0; }
  .review-card, .application-panel { padding: 24px; }
  .application-checklist { grid-template-columns: 1fr; gap: 8px; }
}

.page-inner main {
  --copy: var(--steel);
  --title: var(--ink);
  --rule: var(--line);
  --accent: var(--green);
}
.page-inner main h1, .page-inner main h2, .page-inner main h3 {
  margin: 0;
  color: var(--title);
  font-weight: 600;
  letter-spacing: 0;
  overflow-wrap: break-word;
}
.page-inner main h1 { font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: 1.05; }
.page-inner main h2 { font-size: clamp(2rem, 3.05vw, 2.75rem); line-height: 1.1; }
.page-inner main h3 { font-size: 1.4rem; line-height: 1.25; }
.page-inner main p { line-height: 1.7; }
.page-inner main figure { margin-inline: 0; }
.page-inner main figcaption { margin-top: 12px; color: var(--copy); font-size: 0.8125rem; line-height: 1.55; }

.breadcrumb-wrap { border-bottom: 1px solid var(--line); }
.breadcrumb { padding-block: 18px; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px 0; margin: 0; padding: 0; list-style: none; }
.breadcrumb li { display: inline-flex; align-items: baseline; color: var(--steel); font-size: 0.8125rem; line-height: 1.55; min-width: 0; }
.breadcrumb li + li::before { content: "/"; margin-inline: 12px; color: var(--steel); }
.breadcrumb a { padding-block: 4px; text-decoration: underline; text-underline-offset: 4px; }
.breadcrumb [aria-current] { color: var(--ink); overflow-wrap: anywhere; }

.internal-hero { padding: 56px 0 68px; }
.internal-hero-grid { display: grid; grid-template-columns: 1.16fr 1fr; gap: 64px; align-items: center; }
.internal-hero-grid > * { min-width: 0; }
.internal-hero h1 { max-width: 21ch; text-wrap: balance; }
.internal-hero .eyebrow { margin-bottom: 22px; }
.internal-lead { max-width: 58ch; margin: 24px 0; color: var(--steel); font-size: 1.125rem; }
.internal-hero-media { margin-block: 0; }
.internal-hero-media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--paper-deep); }
.internal-hero--editorial .internal-hero-grid { grid-template-columns: 1.4fr 0.6fr; align-items: end; gap: 88px; }
.internal-hero--editorial h1 { max-width: 24ch; }
.hero-context { border-top: 1px solid var(--line); padding-top: 20px; margin-bottom: 12px; }
.hero-context p { margin: 0; color: var(--steel); }
.page-services .internal-hero h1, .page-suppliers .internal-hero h1 { max-width: 19ch; }
.page-flooring .internal-hero-media img { object-position: 62% center; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 44px;
  padding-block: 8px;
  color: var(--accent, var(--green));
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.text-link span[aria-hidden] { flex: none; text-decoration: none; font-family: "IBM Plex Mono", monospace; }
.text-link:hover { text-decoration-thickness: 2px; }
.link-stack { display: grid; justify-items: start; gap: 8px; margin-top: 22px; }

.page-section { padding: 88px 0; border-top: 1px solid var(--rule); }
.page-section p { color: var(--copy); }
.page-section .eyebrow { color: var(--accent); }
.surface-white { background: var(--white); }
.surface-pale { --copy: #39564a; --title: #143226; --rule: rgba(20, 50, 38, 0.3); --accent: var(--green-on-pale); background: var(--green-pale); }
.surface-navy { --copy: #b9c5cc; --title: var(--white); --rule: rgba(255, 255, 255, 0.2); --accent: var(--green-bright); background: var(--navy); }
.section-intro { max-width: 770px; margin-bottom: 40px; }
.section-intro .eyebrow { margin-bottom: 18px; }
.section-intro > p:last-child:not(.eyebrow) { max-width: 65ch; margin: 22px 0 0; }
.section-intro--split { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 80px; max-width: none; }
.section-intro--split > p:last-child { margin: 0; }
.editorial-split { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.editorial-split--ledger { grid-template-columns: 0.92fr 1.08fr; }
.editorial-split > *, .section-intro--split > * { min-width: 0; }
.body-lead { font-size: 1.125rem; margin: 24px 0 18px; }
.prose > p:first-child { margin-top: 0; }
.prose p { margin-bottom: 22px; max-width: 66ch; }
.editorial-photo { margin-block: 30px 0; }
.editorial-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--paper-deep); }
.editorial-photo--tall { margin-top: 0; }
.editorial-photo--tall img { aspect-ratio: 4 / 5; }

.service-index { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.service-index li { border-bottom: 1px solid var(--rule); }
.service-index-link { display: grid; grid-template-columns: 38px minmax(0, 1.3fr) minmax(180px, 0.7fr) 24px; align-items: start; gap: 28px; padding: 32px 20px 34px 0; transition: background-color 180ms ease; }
.service-number, .step-number, .mono-label { color: var(--accent); font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; line-height: 1.5; }
.service-number { padding-top: 6px; }
.page-inner main .service-index h3 { max-width: 29ch; font-size: clamp(1.4rem, 2.1vw, 1.75rem); }
.service-index p { max-width: 59ch; margin: 12px 0 0; }
.service-index-note { color: var(--copy); font-size: 0.9375rem; line-height: 1.65; padding-top: 5px; }
.service-link-arrow { color: var(--accent); font-size: 1.5rem; font-family: "IBM Plex Mono", monospace; }
.service-index-link:hover { background: var(--paper); }
.service-index-link:focus-visible { outline-offset: -3px; }
.index-followup { margin-top: 26px; }

.scope-ledger { margin: 0; border-top: 1px solid var(--rule); }
.scope-ledger > div { padding: 24px 0 26px; border-bottom: 1px solid var(--rule); }
.scope-ledger dt { color: var(--title); font-size: 1.25rem; line-height: 1.35; font-weight: 600; }
.scope-ledger dd { margin: 10px 0 0; color: var(--copy); line-height: 1.7; }
.detail-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.detail-list li { padding: 23px 0 25px; border-bottom: 1px solid var(--rule); }
.detail-list strong { display: block; color: var(--title); font-size: 1.125rem; line-height: 1.4; }
.detail-list span { display: block; margin-top: 10px; color: var(--copy); line-height: 1.7; }

.delivery-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-block: 1px solid var(--rule); }
.delivery-flow li { position: relative; padding: 26px 28px 32px; border-right: 1px solid var(--rule); min-width: 0; }
.delivery-flow li:first-child { padding-left: 0; }
.delivery-flow li:last-child { border-right: 0; padding-right: 0; }
.delivery-flow .step-number { display: block; margin-bottom: 38px; }
.delivery-flow h3 { max-width: 15ch; }
.delivery-flow p { margin: 15px 0 0; }
.product-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.flow-note { max-width: 78ch; margin: 24px 0 0; font-size: 0.9375rem; }

.equipment-scope { display: grid; grid-template-columns: 1.25fr 0.75fr; border: 1px solid var(--rule); }
.equipment-group { padding: 34px; }
.equipment-group--support { background: var(--paper); border-left: 1px solid var(--rule); }
.equipment-list { margin: 26px 0 0; padding: 0; list-style: none; }
.equipment-list li { padding: 14px 0; border-bottom: 1px solid var(--rule); font-size: 1.0625rem; }
.equipment-list li:last-child { border-bottom: 0; }
.equipment-group--support p { margin-top: 26px; }
.responsibility-grid { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--rule); }
.responsibility-column { padding: 32px 44px 30px 0; }
.responsibility-column--field { border-left: 1px solid var(--rule); padding-inline: 44px 0; }
.page-section p.mono-label { margin: 0 0 20px; color: var(--accent); }
.responsibility-column p { max-width: 55ch; margin: 18px 0 0; }
.boundary-note { max-width: 88ch; margin: 26px 0 0; font-size: 0.9375rem; }
.hardware-scope { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--rule); }
.hardware-scope > div { padding: 28px 40px 30px 0; border-bottom: 1px solid var(--rule); }
.hardware-scope > div:nth-child(even) { padding-left: 40px; padding-right: 0; border-left: 1px solid var(--rule); }
.hardware-scope dt { font-size: 1.25rem; color: var(--title); font-weight: 600; line-height: 1.35; }
.hardware-scope dd { margin: 12px 0 0; color: var(--copy); line-height: 1.7; }
.page-connected .scope-ledger { margin-top: 30px; }
.logistics-editorial { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 72px; align-items: start; }
.logistics-editorial .detail-list { margin-top: 32px; }

.flooring-materials { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: 84px; }
.material-ledger { margin: 0; border-top: 1px solid var(--rule); }
.material-ledger > div { display: grid; grid-template-columns: minmax(120px, 0.65fr) 1fr; gap: 28px; padding: 32px 0; border-bottom: 1px solid var(--rule); }
.material-ledger dt { color: var(--title); font-size: 1.625rem; line-height: 1.2; font-weight: 600; }
.material-ledger dd { margin: 0; color: var(--copy); line-height: 1.7; }
.environment-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.environment-list li { padding: 26px 0 30px; border-bottom: 1px solid var(--rule); }
.environment-list .mono-label { display: block; margin-bottom: 14px; }
.environment-list p { margin: 14px 0 0; }
.supplier-model { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 96px; }
.supplier-sequence { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.supplier-sequence li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 22px; padding: 27px 0 30px; border-bottom: 1px solid var(--rule); }
.supplier-sequence .step-number { padding-top: 4px; }
.supplier-sequence p { margin: 12px 0 0; }

.related-services { background: var(--paper); }
.related-services .section-intro { margin-bottom: 30px; }
.related-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 36px; list-style: none; padding: 0; margin: 0; }
.related-links li { min-width: 0; border-top: 1px solid var(--rule); padding-top: 16px; }
.related-links .text-link { align-items: baseline; }
.related-links p { font-size: 0.9375rem; margin: 8px 0 0; }
.page-cta { --title: var(--white); background: var(--forest); color: var(--white); padding: 72px 0 78px; }
.page-cta-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; align-items: start; gap: 88px; }
.page-cta-grid > * { min-width: 0; }
.page-cta p:not(.eyebrow) { margin: 0 0 26px; color: #e0ece5; }
.page-cta .button { min-width: 190px; }

@media (max-width: 1150px) {
  .internal-hero-grid { gap: 40px; }
  .internal-hero--editorial .internal-hero-grid { gap: 48px; }
  .editorial-split, .section-intro--split, .logistics-editorial, .flooring-materials, .supplier-model, .page-cta-grid { gap: 48px; }
  .service-index-link { gap: 20px; }
  .delivery-flow li { padding-inline: 20px; }
  .material-ledger > div { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 900px) {
  .internal-hero { padding: 42px 0 54px; }
  .internal-hero-grid, .internal-hero--editorial .internal-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .internal-hero h1 { max-width: 24ch; font-size: clamp(2.25rem, 5.7vw, 3rem); }
  .internal-lead { max-width: 65ch; }
  .internal-hero-media img { aspect-ratio: 16 / 9; max-height: 400px; }
  .hero-context { max-width: 64ch; margin: 0; }
  .page-section { padding: 66px 0; }
  .editorial-split, .section-intro--split, .logistics-editorial, .flooring-materials, .supplier-model, .page-cta-grid { grid-template-columns: 1fr; gap: 34px; }
  .flooring-materials .section-intro { margin-bottom: 0; }
  .material-ledger > div { grid-template-columns: minmax(150px, 0.65fr) 1fr; gap: 28px; }
  .editorial-photo--tall img { aspect-ratio: 3 / 2; max-height: 470px; }
  .page-section .section-intro--split { margin-bottom: 30px; gap: 22px; }
  .service-index-link { grid-template-columns: 32px minmax(0, 1fr) 24px; gap: 10px 20px; padding-block: 26px; padding-right: 8px; }
  .service-index-note { grid-column: 2; padding-top: 0; }
  .service-link-arrow { grid-column: 3; grid-row: 1 / 3; }
  .service-index-link > div { grid-column: 2; grid-row: 1; }
  .service-number { grid-row: 1; }
  .delivery-flow { grid-template-columns: 1fr 1fr; }
  .delivery-flow li { padding: 24px; }
  .delivery-flow li:nth-child(2) { border-right: 0; }
  .delivery-flow li:nth-child(-n + 2) { border-bottom: 1px solid var(--rule); }
  .delivery-flow li:nth-child(odd) { padding-left: 0; }
  .delivery-flow li:nth-child(even) { padding-right: 0; }
  .delivery-flow .step-number { margin-bottom: 24px; }
  .product-flow { grid-template-columns: 1fr; }
  .product-flow li { border-right: 0; padding-inline: 0; }
  .product-flow h3 { max-width: none; }
  .equipment-scope { grid-template-columns: 1.1fr 0.9fr; }
  .equipment-group { padding: 26px; }
  .page-cta { padding: 60px 0 66px; }
}

@media (max-width: 620px) {
  .breadcrumb { padding-block: 14px; }
  .breadcrumb li { font-size: 0.75rem; }
  .breadcrumb li + li::before { margin-inline: 8px; }
  .internal-hero { padding: 34px 0 44px; }
  .internal-hero h1 { font-size: clamp(2rem, 8.2vw, 2.625rem); max-width: 100%; }
  .internal-lead { font-size: 1.0625rem; margin: 22px 0 18px; }
  .internal-hero-media img { aspect-ratio: 4 / 3; }
  .page-section { padding: 52px 0; }
  .page-inner main h2 { font-size: 2rem; }
  .page-inner main h3 { font-size: 1.25rem; }
  .section-intro { margin-bottom: 28px; }
  .body-lead { font-size: 1.0625rem; }
  .service-index-link { grid-template-columns: 24px minmax(0, 1fr) 20px; column-gap: 12px; padding-block: 24px; }
  .page-inner main .service-index h3 { font-size: 1.375rem; }
  .service-index-note { font-size: 0.875rem; }
  .service-index p { font-size: 0.9375rem; }
  .service-link-arrow { font-size: 1.25rem; }
  .delivery-flow, .equipment-scope, .responsibility-grid, .hardware-scope { grid-template-columns: 1fr; }
  .delivery-flow li, .delivery-flow li:first-child, .delivery-flow li:last-child {
    padding: 23px 0 26px;
    border-right: 0;
    border-bottom: 1px solid var(--rule);
  }
  .delivery-flow li:last-child { border-bottom: 0; }
  .delivery-flow h3 { max-width: none; }
  .equipment-group { padding: 24px; }
  .equipment-group--support { border-left: 0; border-top: 1px solid var(--rule); }
  .responsibility-column, .responsibility-column--field { padding: 26px 0; border-left: 0; }
  .responsibility-column--field { border-top: 1px solid var(--rule); }
  .hardware-scope > div, .hardware-scope > div:nth-child(even) { padding: 24px 0; border-left: 0; }
  .material-ledger > div { grid-template-columns: 1fr; gap: 14px; padding-block: 26px; }
  .material-ledger dt { font-size: 1.5rem; }
  .supplier-sequence li { grid-template-columns: 30px minmax(0, 1fr); gap: 16px; }
  .related-links { gap: 26px; }
  .page-cta .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .service-index-link { transition: none; }
}

/* Evidence and company pages reuse the existing editorial rhythm. */
.evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 32px; }
.evidence-card { min-width: 0; border-bottom: 1px solid var(--rule); padding-bottom: 28px; }
.evidence-image-link { display: block; }
.evidence-card img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.evidence-copy { padding-top: 24px; }
.evidence-copy .eyebrow { margin: 0 0 10px; }
.page-inner main .evidence-copy h3 .text-link { font-size: clamp(1.4rem, 2.1vw, 1.75rem); color: var(--title); }
.evidence-grid > :only-child { display: grid; grid-template-columns: 1fr 1fr; grid-column: 1 / -1; gap: 40px; }
.evidence-grid > :only-child .evidence-copy { padding-top: 0; }
.project-facts-wrap { background: var(--green-pale); border-block: 1px solid var(--line); }
.project-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.project-facts > div { padding: 28px 32px; border-left: 1px solid #adc6b8; min-width: 0; }
.project-facts > div:first-child { border: 0; padding-left: 0; }
.project-facts dt { font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; color: #39564a; }
.project-facts dd { margin: 10px 0 0; color: #143226; font-size: 1.25rem; line-height: 1.4; font-weight: 600; }
.project-return { padding-block: 24px; }
.page-project-detail .internal-hero h1 { font-size: clamp(2.15rem, 3.5vw, 3.1rem); }
.internal-hero-media img[src$="airport-hardware.jpg"] { object-position: 75% top; }
.page-sectors .editorial-photo--tall img { object-position: 75% top; }
.page-connected .editorial-photo img { object-position: center top; }
.project-title-link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.project-title-link::after { content: ""; position: absolute; inset: 0; }
.project-card:focus-within { outline: 3px solid var(--green); outline-offset: 4px; }
.project-card .project-meta span { background: var(--navy); color: var(--green-bright); padding: 6px 8px; }
.home-contact-panel { border-top: 1px solid #617a6d; padding-top: 30px; }
.home-contact-panel h3 { font-size: clamp(1.75rem, 2.5vw, 2.5rem); line-height: 1.15; margin: 20px 0; }
.home-contact-panel p:not(.eyebrow) { color: #d3e2d9; line-height: 1.7; margin-bottom: 28px; }
.imagery-disclosure { grid-column: 1 / -1; font-size: 0.75rem; line-height: 1.5; margin: 0; max-width: 85ch; }
.footer-legal-links a { padding-block: 8px; text-decoration: underline; text-underline-offset: 4px; }
.contact-details { margin-block: 30px; }
.contact-details .direct-contact-label { color: var(--steel); }
.contact-details .direct-contact-value { color: var(--green); }
.contact-enquiry { --title: var(--white); --accent: var(--green-bright); }
.policy-layout { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: 88px; }
.policy-nav { display: flex; flex-direction: column; align-items: start; gap: 8px; }
.policy-nav a { padding-block: 10px; color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.policy-copy h2:not(:first-child) { margin-top: 46px; }
.policy-copy a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.policy-copy p { margin-top: 22px; }
@media (max-width: 900px) {
  .evidence-grid, .evidence-grid > :only-child { grid-template-columns: 1fr; }
  .evidence-grid > :only-child { gap: 24px; }
  .policy-layout { grid-template-columns: 1fr; gap: 34px; }
  .policy-nav { flex-direction: row; flex-wrap: wrap; gap: 6px 22px; border-bottom: 1px solid var(--line); padding-bottom: 20px; }
}
@media (max-width: 620px) {
  .project-facts { grid-template-columns: 1fr; }
  .project-facts > div, .project-facts > div:first-child { padding: 20px 0; border-left: 0; border-bottom: 1px solid #adc6b8; }
  .project-facts > div:last-child { border-bottom: 0; }
  .project-card.featured h3 { font-size: 2rem; }
  .evidence-grid { gap: 32px; }
}

/* Short evidence accounts follow their content length. */
.project-story-entry + .project-story-entry { margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--line); }

/* Restored shared enquiry form and balanced project collection. */
.page-contact .enquiry-inner { padding-block: 56px 72px; align-items: start; }
.page-contact .enquiry-copy h1 { max-width: 13ch; }
.specialist-projects .mono-label { display: block; margin-bottom: 12px; }
.specialist-projects .text-link { margin-bottom: 4px; }
.page-project-story .project-story-entry { grid-template-columns: 0.8fr 1.2fr; gap: 72px; }
@media (max-width: 900px) {
  .page-project-story .project-story-entry { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 600px) {
  .page-contact .enquiry-inner { padding-block: 36px 52px; }
}

.project-card img[src$="workplace-fixture-installation.jpg"],
.internal-hero-media img[src$="workplace-fixture-installation.jpg"] { object-position: right center; }
.project-card img[src$="office-corridor-fixture-installation.jpg"],
.evidence-card img[src$="office-corridor-fixture-installation.jpg"],
.internal-hero-media img[src$="office-corridor-fixture-installation.jpg"] { object-position: center 30%; }
