html { scroll-padding-top: calc(var(--header-height) + var(--space-4)); }

.container {
  width: min(100% - (var(--container-gutter) * 2), var(--container-lg));
  margin-inline: auto;
}

.section {
  display: grid;
  min-height: 22rem;
  padding-block: var(--space-8);
  align-items: center;
  border-bottom: 1px solid var(--color-border);
}

.section--hero {
  position: relative;
  display: flex;
  min-height: calc(100svh - var(--header-height));
  padding: 0;
  overflow: hidden;
  color: var(--color-navy);
  background: var(--color-ivory);
  border-bottom-color: #e5ddcf;
  isolation: isolate;
}

.hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: inherit;
  padding-block: clamp(4.5rem, 11vh, 8rem) clamp(5rem, 10vh, 7rem);
  align-items: center;
}

.hero-copy { width: min(100%, 39rem); }

.hero-media {
  position: absolute;
  z-index: -1;
  inset: 0;
}

.hero-media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgb(247 242 232 / 98%) 0%, rgb(247 242 232 / 82%) 34%, rgb(247 242 232 / 20%) 58%, transparent 72%);
}

.hero-media,
.hero-media picture,
.hero-media img { width: 100%; height: 100%; }

.hero-media img { object-fit: cover; object-position: center; }

.hero-continuation {
  position: absolute;
  z-index: 3;
  inset: auto auto var(--space-5) 50%;
  width: 1px;
  height: 2rem;
  background: linear-gradient(180deg, var(--color-gold), transparent);
  transform: translateX(-50%);
  opacity: 0.72;
}

.section--hero::after {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 4rem;
  content: "";
  background: linear-gradient(180deg, transparent, rgb(229 221 207 / 54%));
  pointer-events: none;
}

.section--problems {
  min-height: 0;
  padding-block: var(--space-8);
  color: var(--color-navy);
  background: var(--surface-warm);
  border-top: 1px solid rgb(15 20 20 / 5%);
  border-bottom-color: transparent;
}

.problems-content { display: grid; gap: 0; }

.problems-intro {
  display: grid;
  justify-items: center;
  text-align: center;
}

.problems-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 1.25rem;
  gap: var(--space-5);
}

.problems-reassurance {
  display: grid;
  margin-top: var(--space-7);
  justify-items: center;
  text-align: center;
}

.section--insight {
  min-height: 0;
  padding-block: var(--space-8);
  color: var(--color-navy);
  background: var(--surface-cool);
  border-top: 1px solid rgb(15 20 20 / 5%);
  border-bottom-color: transparent;
}

.insight-content { display: grid; gap: var(--space-7); }

.insight-intro {
  display: grid;
  justify-items: center;
  text-align: center;
}

.operation-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.section--approach {
  min-height: 0;
  padding-block: var(--space-8);
  color: var(--color-navy);
  background: var(--surface-approach);
  border-top: 1px solid rgb(15 20 20 / 5%);
  border-bottom-color: transparent;
}

.approach-content { display: grid; gap: var(--space-7); }

.approach-intro {
  display: grid;
  justify-items: center;
  text-align: center;
}

.process-list {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  margin: 0;
  padding: 0;
  list-style: none;
}

.approach-statement { display: grid; justify-items: center; text-align: center; }

.section--partnership {
  min-height: 0;
  padding-block: var(--space-8);
  color: var(--color-navy);
  background: var(--surface-partnership);
  border-top: 1px solid rgb(15 20 20 / 5%);
  border-bottom-color: transparent;
}

.partnership-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
}

.partnership-content { display: grid; gap: var(--space-7); }
.partnership-intro { display: grid; }
.commitment-list { display: grid; }
.partnership-statement { display: grid; justify-items: center; text-align: center; }

.section--transformation {
  min-height: 0;
  padding-block: var(--space-8);
  color: var(--color-navy);
  background: var(--surface-transformation);
  border-top: 1px solid rgb(15 20 20 / 5%);
  border-bottom-color: transparent;
}

.transformation-content { display: grid; gap: var(--space-7); }
.transformation-intro { display: grid; justify-items: center; text-align: center; }
.transformation-list { display: grid; margin: 0; padding: 0; list-style: none; }
.transformation-statement { display: grid; justify-items: center; text-align: center; }

.section--industries {
  min-height: 0;
  padding-block: var(--space-8);
  color: var(--color-navy);
  background: var(--surface-industries);
  border-top: 1px solid rgb(15 20 20 / 5%);
  border-bottom-color: transparent;
}

.industries-content { display: grid; gap: var(--space-7); }
.industries-intro { display: grid; justify-items: center; text-align: center; }
.industries-list { display: grid; margin: 0; padding: 0; list-style: none; }
.industries-statement { display: grid; justify-items: center; text-align: center; }

.section--first-step {
  min-height: 0;
  padding-block: var(--space-8);
  color: var(--color-navy);
  background: var(--surface-first-step);
  border-top: 1px solid rgb(15 20 20 / 5%);
  border-bottom-color: transparent;
}

.first-step-content { display: grid; gap: var(--space-7); }
.first-step-intro { display: grid; justify-items: center; text-align: center; }
.first-step-list { position: relative; display: grid; margin: 0; padding: 0; list-style: none; }
.first-step-statement { display: grid; justify-items: center; text-align: center; }

.section--final-cta {
  position: relative;
  min-height: 0;
  overflow: hidden;
  padding-block: var(--space-9);
  color: var(--color-cream);
  background: var(--surface-final-cta);
  border-top: 1px solid rgb(244 237 223 / 10%);
  border-bottom-color: transparent;
}

.final-cta-content {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  text-align: center;
}

.contact-page {
  min-height: 0;
  color: var(--color-navy);
  background: var(--color-ivory);
  border-bottom-color: transparent;
}

.contact-layout { display: grid; gap: var(--space-8); }
.contact-intro { display: grid; align-content: start; }
.next-steps__list { display: grid; margin: 0; padding: 0; list-style: none; }
.contact-form { display: grid; gap: var(--space-7); }
.form-grid { display: grid; gap: var(--space-5); }
.checkbox-grid { display: grid; gap: var(--space-3); }

.review-hero {
  position: relative;
  display: grid;
  min-height: min(42rem, calc(100svh - var(--header-height)));
  overflow: hidden;
  align-items: center;
  color: var(--color-cream);
  background: var(--color-navy);
  border-bottom: 1px solid rgb(244 237 223 / 10%);
  isolation: isolate;
}

.review-hero__media,
.review-hero__media::after { position: absolute; inset: 0; }
.review-hero__media { z-index: -1; }
.review-hero__media::after { content: ""; background: linear-gradient(90deg, rgb(10 18 28 / 38%) 0%, rgb(10 18 28 / 18%) 46%, transparent 72%); }
.review-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.review-hero__content { display: grid; padding-block: var(--space-8); }
.review-hero__copy { width: min(100%, 40rem); }

.section--review-process,
.section--whole-picture,
.section--review-friction,
.section--review-outcomes { min-height: 0; color: var(--color-navy); border-bottom-color: transparent; }
.section--review-process { background: var(--surface-approach); }
.section--whole-picture { background: var(--surface-cool); }
.section--review-friction { background: var(--surface-partnership); }
.section--review-outcomes { background: var(--surface-transformation); }
.review-section-content { display: grid; gap: var(--space-7); }
.review-section-intro { display: grid; justify-items: center; text-align: center; }
.review-process-list,
.friction-list,
.review-outcomes-list,
.operational-flow__list { display: grid; margin: 0; padding: 0; list-style: none; }
.review-reassurance { display: grid; justify-items: center; text-align: center; }

.section--work-flow,
.section--consequences,
.section--friction-cost,
.section--real-problem,
.section--start-differently { min-height: 0; color: var(--color-navy); border-bottom-color: transparent; }
.section--work-flow { background: var(--surface-approach); }
.section--consequences { background: var(--surface-cool); }
.section--friction-cost { background: var(--surface-partnership); }
.section--real-problem { background: var(--surface-transformation); }
.section--start-differently { background: var(--surface-first-step); }
.consequence-list,
.friction-cost-list,
.start-differently-list { display: grid; margin: 0; padding: 0; list-style: none; }
.real-problem-layout,
.start-differently-layout { display: grid; gap: var(--space-7); }

.sitemap-page { min-height: calc(100svh - var(--header-height)); color: var(--color-navy); background: var(--surface-approach); border-bottom-color: transparent; }
.sitemap-content { display: grid; gap: var(--space-7); }
.sitemap-links { display: grid; margin: 0; padding: 0; list-style: none; }

.site-footer {
  padding-block: var(--space-7) var(--space-5);
  color: var(--color-navy);
  background: var(--surface-footer);
  border-top: 1px solid rgb(15 20 20 / 8%);
}

.site-footer__content { display: grid; gap: var(--space-7); }
.site-footer__top { display: grid; gap: var(--space-7); }
.site-footer__bottom { padding-top: var(--space-5); border-top: 1px solid rgb(20 36 58 / 12%); }

.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;
}
