/*
 * Visual Polish — August 2026
 * Purpose: reduce black-heavy presentation, tighten vertical rhythm,
 * improve service-page image/content balance, and keep the existing
 * structure/components intact.
 */
:root {
  --color-black: #181715;
  --color-carbon: #24231f;
  --color-charcoal: #302e29;
  --color-graphite: #45423c;
  --color-warm-white: #fbf9f4;
  --color-stone: #ece7de;
  --section-space: 68px;
}

/* Global rhythm */
.c-inner-page {
  --inner-section-space: clamp(60px, 5.4vw, 82px);
  --inner-section-compact: clamp(44px, 4.2vw, 60px);
}

.c-inner-section {
  padding-block: var(--inner-section-space);
}

.c-section-heading {
  gap: var(--space-4);
}

.c-section-heading--split {
  gap: clamp(30px, 4vw, 56px);
}

.c-section-heading h2,
.c-section-heading h3 {
  font-size: clamp(2.2rem, 3.15vw, 3.35rem);
}

.c-section-heading__summary p {
  line-height: 1.62;
}

.c-editorial-media img {
  height: clamp(350px, 36vw, 470px);
}

/* Inner heroes: still cinematic, but less black and less oversized. */
.c-inner-hero {
  min-height: clamp(430px, 56svh, 540px);
  background: var(--color-carbon);
}

.c-inner-hero__overlay {
  background:
    linear-gradient(90deg, rgba(24, 23, 21, .82) 0%, rgba(24, 23, 21, .6) 42%, rgba(24, 23, 21, .16) 76%, rgba(24, 23, 21, .26) 100%),
    linear-gradient(0deg, rgba(24, 23, 21, .38), transparent 54%);
}

.c-inner-hero__linework {
  opacity: .24;
}

.c-inner-hero__inner {
  gap: var(--space-5);
  padding-top: calc(var(--header-height) + var(--space-6));
  padding-bottom: var(--space-6);
}

.c-inner-hero__content {
  gap: var(--space-4);
  padding-block: var(--space-4);
}

.c-inner-hero h1 {
  font-size: clamp(2.8rem, 4.25vw, 4.55rem);
}

/* Home hero */
.c-home-hero {
  min-height: 660px;
  min-height: max(660px, 88svh);
  background: var(--color-carbon);
}

.c-home-hero__video {
  object-position: center 48%;
  filter: brightness(1.04) contrast(.98) saturate(.96);
}

.c-home-hero__overlay {
  background:
    linear-gradient(90deg, rgba(20, 19, 17, .68) 0%, rgba(20, 19, 17, .42) 42%, rgba(20, 19, 17, .08) 72%, rgba(20, 19, 17, .14) 100%),
    linear-gradient(180deg, rgba(20, 19, 17, .16), transparent 28%);
}

.c-home-hero__vignette {
  background:
    radial-gradient(circle at 84% 58%, rgba(198, 161, 91, .07), transparent 28%),
    linear-gradient(180deg, transparent 60%, rgba(20, 19, 17, .48) 100%);
}

.c-home-hero__grid {
  opacity: .12;
}

.c-home-hero__inner {
  padding-top: calc(var(--header-height) + var(--space-14));
  padding-bottom: clamp(72px, 9vh, 104px);
}

.c-home-hero__eyebrow {
  margin-bottom: var(--space-4);
}

.c-home-hero__title {
  font-size: clamp(3.7rem, 6.9vw, 7.25rem);
}

.c-home-hero__summary,
.c-home-hero__actions,
.c-home-hero__service-line {
  margin-top: var(--space-6);
}

/* Home section rhythm */
.c-home-section {
  padding-block: clamp(64px, 6.2vw, 92px);
}

.c-home-section-heading {
  gap: var(--space-4);
}

.c-home-section-heading h2 {
  font-size: clamp(2.25rem, 3.8vw, 4.25rem);
}

.c-home-intro__copy {
  gap: clamp(36px, 5vw, 72px);
}

.c-home-intro__media {
  margin-top: clamp(38px, 4.5vw, 60px);
}

.c-home-intro__media img {
  height: clamp(360px, 39vw, 520px);
}

/* Warm charcoal instead of pure black. */
.c-home-services {
  background:
    radial-gradient(circle at 82% 18%, rgba(198, 161, 91, .11), transparent 25%),
    linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px),
    #2b2925;
}

.c-home-services__header,
.c-featured-projects__header,
.c-process-preview__header,
.c-home-industries__header {
  gap: clamp(32px, 5vw, 72px);
}

.c-service-experience {
  min-height: 560px;
  gap: clamp(30px, 4vw, 58px);
  margin-top: clamp(42px, 4.8vw, 64px);
}

.c-featured-projects__grid {
  grid-template-rows: repeat(2, minmax(250px, 1fr));
  margin-top: clamp(42px, 4.8vw, 64px);
}

.c-project-card {
  min-height: 310px;
}

.c-project-card--feature {
  min-height: 620px;
}

.c-multi-scope__grid,
.c-safety-quality__grid {
  gap: clamp(38px, 5vw, 76px);
}

.c-multi-scope__visual,
.c-multi-scope__visual > img {
  min-height: 520px;
}

.c-process-timeline {
  margin-top: clamp(44px, 4.8vw, 64px);
}

/* Make the Safety & Quality block a light section to break up the dark run. */
.c-safety-quality {
  background:
    radial-gradient(circle at 12% 80%, rgba(198, 161, 91, .1), transparent 30%),
    #ece6dc;
  color: var(--color-ink);
}

.c-safety-quality .c-home-section-heading--light {
  color: var(--color-ink);
}

.c-safety-quality .c-home-section-heading--light .c-home-section-heading__number {
  color: var(--color-gold-deep);
}

.c-safety-quality__content > p,
.c-safety-quality__pillars p {
  color: var(--color-graphite);
}

.c-safety-quality__pillars {
  border-top-color: rgba(21, 21, 21, .14);
}

.c-safety-quality__pillars article {
  border-bottom-color: rgba(21, 21, 21, .14);
}

.c-safety-quality__pillars article:nth-child(odd) {
  border-right-color: rgba(21, 21, 21, .14);
}

.c-safety-quality__pillars h3 {
  color: var(--color-gold-deep);
}

.c-safety-quality__media,
.c-safety-quality__media img {
  min-height: 520px;
}

.c-industry-grid {
  margin-top: clamp(42px, 4.8vw, 64px);
}

.route-home .c-pre-footer-cta {
  padding-block: clamp(52px, 4.8vw, 72px);
}

.c-contact-strip__inner {
  min-height: 126px;
  padding-block: var(--space-5);
}

/* Services overview/detail — smaller images, tighter copy balance. */
.c-services-page,
.c-service-detail {
  --service-section-space: clamp(58px, 5.2vw, 80px);
  --service-section-compact: clamp(44px, 4.2vw, 60px);
}

.c-services-intro__grid,
.c-service-intro__grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .72fr);
  gap: clamp(36px, 5vw, 66px);
}

.c-services-intro__copy,
.c-service-intro__copy,
.c-service-feature__copy {
  gap: var(--space-6);
}

.c-services-intro__media img,
.c-service-intro__media img {
  height: clamp(340px, 33vw, 450px);
}

.c-service-editorial__list {
  gap: clamp(34px, 4vw, 52px);
  margin-top: clamp(38px, 4.5vw, 56px);
}

.c-service-editorial-row {
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr);
  min-height: 370px;
}

.c-service-editorial-row__media img {
  min-height: 370px;
}

.c-service-editorial-row__content {
  gap: var(--space-4);
  padding: clamp(30px, 3.7vw, 48px);
}

.c-service-editorial-row h3 {
  font-size: clamp(1.65rem, 2.35vw, 2.55rem);
}

.c-service-editorial-row p {
  line-height: 1.6;
}

.c-scope-flow {
  background: #302e29;
}

.c-scope-flow__rail {
  margin-top: clamp(40px, 4.5vw, 58px);
}

.c-scope-flow__rail li {
  min-height: 165px;
  padding: var(--space-6) var(--space-4) var(--space-4);
}

.c-service-proof__grid,
.c-related-projects__grid {
  margin-top: clamp(38px, 4vw, 56px);
}

.c-proof-card figure {
  height: clamp(235px, 24vw, 320px);
}

.c-proof-card > div {
  padding: var(--space-5);
}

.c-technical-ledger {
  margin-top: clamp(38px, 4vw, 56px);
}

.c-service-considerations {
  background: #ece7de;
  color: var(--color-ink);
}

.c-service-considerations .c-section-heading--dark {
  color: var(--color-ink);
}

.c-service-considerations .c-section-heading--dark .c-section-heading__summary p {
  color: var(--color-graphite);
}

.c-service-considerations .c-section-heading__number {
  color: var(--color-gold-deep);
}

.c-service-considerations__grid {
  gap: clamp(36px, 5vw, 72px);
}

.c-consideration-list {
  border-top-color: rgba(21, 21, 21, .16);
}

.c-consideration-list li {
  min-height: 64px;
  border-bottom-color: rgba(21, 21, 21, .14);
  color: #4b4740;
}

.c-consideration-list span {
  color: var(--color-gold-deep);
}

.c-service-feature__grid {
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  gap: clamp(36px, 5vw, 72px);
}

.c-service-feature__media img {
  height: clamp(350px, 34vw, 460px);
}

.c-service-process__rail {
  margin-top: clamp(40px, 4.5vw, 60px);
}

.c-service-process__rail > li {
  min-height: 210px;
  padding: var(--space-6) var(--space-5) var(--space-5);
}

.c-service-gallery {
  background: #34312c;
}

.c-service-gallery__grid {
  gap: var(--space-5);
  margin-top: clamp(38px, 4.5vw, 58px);
}

.c-service-gallery figure {
  height: clamp(320px, 34vw, 430px);
}

.c-service-gallery figure:not(.is-large) {
  margin-top: clamp(34px, 5vw, 58px);
}

.c-related-services__grid {
  margin-top: clamp(38px, 4vw, 56px);
}

.c-related-service-card {
  min-height: 230px;
}

/* Projects — keep one dark gallery, lighten surrounding sections and reduce scale. */
.c-projects-page,
.c-project-detail {
  --project-section-space: clamp(58px, 5.2vw, 78px);
}

.c-featured-project__grid {
  gap: clamp(36px, 5vw, 68px);
}

.c-featured-project__media {
  height: clamp(390px, 40vw, 520px);
}

.c-project-filters {
  margin-top: clamp(34px, 4vw, 50px);
}

.c-portfolio-card__media {
  height: clamp(320px, 32vw, 440px);
}

.c-project-standards {
  background: #ece7de;
  color: var(--color-ink);
}

.c-project-standards .c-section-heading--dark {
  color: var(--color-ink);
}

.c-project-standards .c-section-heading--dark .c-section-heading__summary p {
  color: var(--color-graphite);
}

.c-project-standards__grid {
  margin-top: clamp(38px, 4vw, 54px);
  background: rgba(21, 21, 21, .13);
}

.c-project-standards__grid article {
  min-height: 220px;
  background: var(--color-warm-white);
}

.c-project-standards__grid h3 {
  color: var(--color-ink);
}

.c-project-standards__grid p {
  color: var(--color-graphite);
}

.c-project-standards__grid span {
  color: var(--color-gold-deep);
}

.c-project-hero {
  min-height: clamp(460px, 56svh, 570px);
  background: var(--color-carbon);
}

.c-project-hero__overlay {
  background:
    linear-gradient(90deg, rgba(24, 23, 21, .82) 0%, rgba(24, 23, 21, .58) 46%, rgba(24, 23, 21, .14) 100%),
    linear-gradient(0deg, rgba(24, 23, 21, .34), transparent 54%);
}

.c-project-hero__inner {
  padding-bottom: clamp(38px, 4.5vw, 56px);
}

.c-project-gallery {
  background: #302e29;
}

.c-project-gallery__grid {
  grid-auto-rows: clamp(230px, 25vw, 340px);
  margin-top: clamp(38px, 4.5vw, 58px);
}

.c-project-highlights__grid {
  margin-top: clamp(36px, 4vw, 54px);
}

.c-project-highlights__grid article {
  min-height: 210px;
}

.c-project-capabilities {
  background: #302e29;
}

.c-project-capabilities .c-related-service-card {
  background: #3a3731;
}

/* Footer remains an intentional visual anchor but no longer reads as pitch-black. */
.c-pre-footer-cta,
.c-site-footer,
.c-site-footer__main::before {
  background-color: var(--color-carbon);
}

.c-pre-footer-cta {
  padding-block: var(--space-14);
}

.c-site-footer__main {
  padding-block: clamp(38px, 3.6vw, 52px);
}

/* Tablet */
@media (max-width: 1023px) {
  .c-home-hero {
    min-height: max(620px, 82svh);
  }

  .c-home-hero__inner {
    padding-top: calc(var(--header-height) + var(--space-10));
    padding-bottom: 72px;
  }

  .c-home-section {
    padding-block: clamp(54px, 7vw, 70px);
  }

  .c-home-intro__media img {
    height: min(58vw, 460px);
  }

  .c-featured-projects__grid {
    margin-top: 40px;
  }

  .c-project-card--feature {
    min-height: 540px;
  }

  .c-multi-scope__visual,
  .c-multi-scope__visual > img,
  .c-safety-quality__media,
  .c-safety-quality__media img {
    min-height: 440px;
  }

  .c-inner-page {
    --inner-section-space: 58px;
  }

  .c-services-page,
  .c-service-detail {
    --service-section-space: 56px;
  }

  .c-services-intro__grid,
  .c-service-intro__grid,
  .c-service-feature__grid,
  .c-service-considerations__grid {
    gap: 34px;
  }

  .c-services-intro__media img,
  .c-service-intro__media img,
  .c-service-feature__media img {
    height: clamp(310px, 48vw, 410px);
  }

  .c-service-editorial-row__media img {
    height: min(54vw, 380px);
    min-height: 320px;
  }

  .c-service-editorial-row__content {
    padding: 32px;
  }

  .c-service-gallery figure {
    height: clamp(290px, 38vw, 380px);
  }

  .c-featured-project__media {
    height: min(54vw, 450px);
  }

  .c-portfolio-card__media {
    height: min(42vw, 390px);
  }
}

/* Mobile */
@media (max-width: 767px) {
  :root {
    --section-space: 48px;
  }

  .c-home-hero {
    min-height: max(590px, 78svh);
  }

  .c-home-hero__inner {
    padding-top: calc(var(--header-height) + var(--space-8));
    padding-bottom: 56px;
  }

  .c-home-hero__title {
    font-size: clamp(3rem, 12vw, 4.5rem);
  }

  .c-home-hero__summary,
  .c-home-hero__actions,
  .c-home-hero__service-line {
    margin-top: var(--space-5);
  }

  .c-home-section {
    padding-block: clamp(42px, 11vw, 54px);
  }

  .c-home-intro__media {
    margin-top: 30px;
  }

  .c-home-intro__media img {
    height: min(70vw, 360px);
  }

  .c-service-card__media {
    aspect-ratio: 16 / 10;
  }

  .c-featured-projects__grid,
  .c-industry-grid,
  .c-process-timeline {
    margin-top: 32px;
  }

  .c-project-card,
  .c-project-card--feature {
    min-height: 390px;
  }

  .c-multi-scope__visual,
  .c-multi-scope__visual > img,
  .c-safety-quality__media,
  .c-safety-quality__media img {
    min-height: 350px;
  }

  .c-inner-page {
    --inner-section-space: 48px;
  }

  .c-inner-hero {
    min-height: 400px;
  }

  .c-inner-hero__inner {
    gap: var(--space-4);
    padding-top: calc(var(--header-height) + var(--space-4));
    padding-bottom: var(--space-4);
  }

  .c-inner-hero__content {
    width: 100%;
    gap: var(--space-3);
    padding-block: var(--space-3);
  }

  .c-inner-hero h1 {
    font-size: clamp(2.3rem, 10vw, 3.35rem);
  }

  .c-editorial-media img {
    height: min(78vw, 360px);
  }

  .c-services-page,
  .c-service-detail {
    --service-section-space: 46px;
  }

  .c-services-intro__grid,
  .c-service-intro__grid,
  .c-service-feature__grid,
  .c-service-considerations__grid {
    gap: 28px;
  }

  .c-services-intro__media img,
  .c-service-intro__media img,
  .c-service-feature__media img {
    height: min(72vw, 340px);
  }

  .c-service-editorial__list {
    gap: 26px;
    margin-top: 32px;
  }

  .c-service-editorial-row__media img {
    height: min(66vw, 320px);
    min-height: 240px;
  }

  .c-service-editorial-row__content {
    padding: 24px 20px 26px;
  }

  .c-scope-flow__rail,
  .c-service-process__rail,
  .c-service-proof__grid,
  .c-related-projects__grid,
  .c-technical-ledger,
  .c-service-gallery__grid,
  .c-related-services__grid {
    margin-top: 32px;
  }

  .c-proof-card figure,
  .c-service-proof__grid .c-proof-card:last-child figure {
    height: min(64vw, 310px);
  }

  .c-service-gallery figure,
  .c-service-gallery figure:not(.is-large) {
    height: min(72vw, 340px);
  }

  .c-related-service-card {
    min-height: 190px;
  }

  .c-projects-page,
  .c-project-detail {
    --project-section-space: 48px;
  }

  .c-featured-project__media {
    height: min(72vw, 360px);
  }

  .c-portfolio-card__media {
    height: min(70vw, 350px);
  }

  .c-project-hero {
    min-height: 420px;
  }

  .c-project-gallery__grid,
  .c-project-highlights__grid,
  .c-project-standards__grid {
    margin-top: 32px;
  }

  .c-project-highlights__grid article,
  .c-project-standards__grid article {
    min-height: 0;
  }

  .c-pre-footer-cta {
    padding-block: var(--space-10);
  }

  .c-site-footer__main {
    padding-block: var(--space-8);
  }
}

/* Very small screens */
@media (max-width: 479px) {
  .c-home-hero {
    min-height: 560px;
  }

  .c-home-section {
    padding-block: 40px;
  }

  .c-inner-page {
    --inner-section-space: 44px;
  }

  .c-services-page,
  .c-service-detail,
  .c-projects-page,
  .c-project-detail {
    --service-section-space: 42px;
    --project-section-space: 42px;
  }

  .c-services-intro__media img,
  .c-service-intro__media img,
  .c-service-feature__media img {
    height: min(76vw, 320px);
  }

  .c-service-editorial-row__media img {
    min-height: 220px;
  }
}

/* Contact + reviews: keep the later functional update visually aligned with the tighter rhythm. */
.c-home-testimonials {
  padding-block: clamp(58px, 5.8vw, 82px);
}

.c-home-testimonials__header {
  gap: clamp(28px, 4vw, 52px);
  margin-bottom: clamp(34px, 4vw, 50px);
}

.c-home-testimonials__header > div:first-child {
  gap: var(--space-4);
}

.c-home-testimonials__header h2 {
  font-size: clamp(2.25rem, 3.55vw, 3.85rem);
}

.c-testimonial-card {
  gap: var(--space-4);
  padding: clamp(22px, 2.2vw, 30px);
}

.c-project-conversation {
  padding-block: clamp(56px, 5.4vw, 78px) !important;
}

.c-project-conversation__grid {
  gap: clamp(34px, 4.8vw, 62px);
}

.c-project-conversation__copy h2 {
  font-size: clamp(2.25rem, 3.3vw, 3.55rem);
}

.c-contact-form-wrap {
  padding: clamp(24px, 2.5vw, 34px);
}

.c-contact-form {
  gap: var(--space-5);
}

.c-contact-form__grid {
  gap: var(--space-4);
}

.c-form-field textarea {
  min-height: 124px;
}

.c-contact-main__grid {
  gap: clamp(34px, 4.8vw, 62px);
}

.c-contact-main__intro > h2,
.c-contact-expectations h2 {
  font-size: clamp(2.2rem, 3.15vw, 3.35rem);
}

.c-contact-guidance {
  margin-top: var(--space-3);
}

.c-contact-guidance article {
  padding-block: var(--space-4);
}

.c-contact-expectations {
  background: #ece7de;
  color: var(--color-ink);
}

.c-contact-expectations__grid {
  gap: clamp(34px, 5vw, 66px);
}

.c-contact-expectations__list {
  border-top-color: rgba(21, 21, 21, .15);
}

.c-contact-expectations__list li {
  padding-block: var(--space-4);
  border-bottom-color: rgba(21, 21, 21, .14);
  color: var(--color-graphite);
}

@media (max-width: 767px) {
  .c-home-testimonials {
    padding-block: 46px;
  }

  .c-home-testimonials__header {
    margin-bottom: 30px;
  }

  .c-project-conversation {
    padding-block: 44px !important;
  }

  .c-contact-form-wrap {
    padding: 22px 18px;
  }

  .c-contact-main__grid,
  .c-contact-expectations__grid {
    gap: 28px;
  }
}

/* Final compact-header correction.
   Keeps the user-approved layout and navigation structure; only header/logo dimensions are reduced. */
:root {
  --header-height: 72px;
  --header-height-scrolled: 62px;
}
.c-site-header__brand {
  width: 76px;
  height: 58px;
}
.c-site-header__logo--gold {
  width: 138px;
  height: 138px;
}
.c-site-header__logo--dark {
  width: 76px;
  height: 58px;
}
@media (max-width: 767px) {
  :root {
    --header-height: 64px;
    --header-height-scrolled: 58px;
  }
  .c-site-header__brand {
    width: 68px;
    height: 52px;
  }
  .c-site-header__logo--gold {
    width: 124px;
    height: 124px;
  }
  .c-site-header__logo--dark {
    width: 68px;
    height: 52px;
  }
}
