/* Homepage — editorial agency story */

.home-page .main-content {
  padding-top: 0;
}

/* Hero — full-bleed under fixed nav */
.home-hero {
  position: relative;
  margin-top: calc(-1 * (var(--nav-height) + env(safe-area-inset-top, 0px)));
  min-height: min(100vh, 56rem);
  display: grid;
  align-items: end;
  padding-block: calc(var(--nav-height) + env(safe-area-inset-top, 0px) + var(--space-16)) var(--space-16);
  overflow: hidden;
  background: var(--brand-ink);
  color: var(--color-text-inverse);
}

.home-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home-hero__media img,
.home-hero__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9) brightness(0.78);
}

.home-hero__overlay {
  position: absolute;
  inset: 0;
  /* Stronger bottom weight so hero type stays readable on any photo */
  background:
    linear-gradient(
      180deg,
      rgb(23 25 28 / 0.45) 0%,
      rgb(23 25 28 / 0.62) 36%,
      rgb(23 25 28 / 0.88) 66%,
      rgb(23 25 28 / 0.97) 100%
    );
  z-index: 1;
}

.home-hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.home-hero__content {
  position: relative;
  z-index: 2;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
  width: 100%;
}

.home-hero__brand {
  display: block;
  margin-bottom: var(--space-3);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3.5vw, var(--text-title));
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-inverse);
  line-height: 1.1;
}

.home-hero__tagline {
  display: block;
  margin-bottom: var(--space-5);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--brand-blue-on-ink);
  text-shadow: 0 1px 2px rgb(0 0 0 / 0.35);
}

.home-hero__title {
  max-width: var(--title-measure);
  margin-bottom: var(--space-5);
  color: var(--color-text-inverse);
  text-shadow: 0 1px 3px rgb(0 0 0 / 0.4);
}

.home-hero__lede {
  max-width: var(--lede-measure);
  margin-bottom: var(--space-8);
  font-size: var(--text-lg);
  line-height: var(--leading-normal);
  color: var(--color-text-inverse-soft);
  text-shadow: 0 1px 3px rgb(0 0 0 / 0.4);
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.home-hero__actions .btn-secondary {
  border-color: rgb(255 255 255 / 0.35);
  color: var(--color-text-inverse);
}

.home-hero__actions .btn-secondary:hover {
  border-color: rgb(255 255 255 / 0.8);
  color: var(--color-text-inverse);
  background: transparent;
}

.home-hero__trust {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  max-width: min(52rem, 100%);
  margin: var(--space-6) 0 0;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  color: rgb(255 255 255 / 0.82);
  text-shadow: 0 1px 2px rgb(0 0 0 / 0.35);
}

.home-hero__trust > span {
  display: block;
  max-width: 100%;
  text-wrap: pretty;
}

/* Legacy sep (if cached HTML still has it) — never leave · alone on a line */
.home-hero__trust-sep {
  display: none !important;
}

/* Outcomes — light conversion bridge under hero */
.home-outcomes__list {
  display: grid;
  gap: var(--space-6);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 800px) {
  .home-outcomes__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-8);
  }
}

.home-outcomes__list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-3);
  align-items: start;
}

.home-outcomes__list h3 {
  margin: 0 0 var(--space-2);
  font-size: var(--text-lg);
}

.home-outcomes__list p {
  margin: 0;
  font-size: var(--text-sm);
  max-width: none;
}

/* Selected work styles: components/work.css */

/* Services rows: components/services.css */

/* Process — bg fills existing section height only */
.process-band {
  position: relative;
  overflow: hidden;
  background: var(--brand-ink);
  color: var(--color-text-inverse);
}

.process-band__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.process-band__media picture,
.process-band__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Keep the desk / notebook focal point readable behind copy */
  object-position: 62% 45%;
  filter: saturate(0.85) brightness(0.72);
}

.process-band__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  /* Same opacity language as About ink bands; angled for desk composition */
  background:
    linear-gradient(
      105deg,
      rgb(23 25 28 / 0.9) 0%,
      rgb(23 25 28 / 0.78) 42%,
      rgb(23 25 28 / 0.7) 72%,
      rgb(23 25 28 / 0.78) 100%
    );
}

@media (max-width: 767px) {
  .process-band__media img {
    object-position: 55% 40%;
  }

  .process-band__veil {
    background:
      linear-gradient(
        180deg,
        rgb(23 25 28 / 0.86) 0%,
        rgb(23 25 28 / 0.78) 45%,
        rgb(23 25 28 / 0.84) 100%
      );
  }
}

.process-band__content {
  position: relative;
  z-index: 2;
}

.process-band .section__header .eyebrow {
  color: var(--brand-blue-on-ink);
}

.process-band .section__header h2 {
  color: var(--color-text-inverse);
}

.process-band .section__header p {
  color: var(--color-text-inverse-soft);
}

.process-band .process-step {
  border-top-color: rgb(255 255 255 / 0.28);
}

.process-band .process-step__num {
  color: var(--brand-blue-on-ink);
}

.process-band .process-step__title {
  color: var(--color-text-inverse);
}

.process-band .process-step__copy {
  color: var(--color-text-inverse-soft);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
}

.process-steps {
  display: grid;
  gap: var(--space-6);
}

@media (min-width: 768px) {
  .process-steps {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-6);
  }
}

/* Mobile: icon beside content; desktop cards stay vertical in 4-col grid */
.process-step {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--space-4);
  row-gap: var(--space-2);
  align-items: start;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.process-step__icon {
  grid-column: 1;
  grid-row: 1 / span 3;
  margin: 0;
}

.process-step__num {
  grid-column: 2;
  display: block;
  margin: 0;
  font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--brand-blue-deep);
}

.process-step__title {
  grid-column: 2;
  margin: 0;
  font-size: var(--text-lg);
  color: var(--color-text);
}

.process-step__copy {
  grid-column: 2;
  font-size: var(--text-base);
  color: var(--color-text-body);
  line-height: var(--leading-normal);
  max-width: none;
}

@media (min-width: 768px) {
  .process-step {
    display: block;
  }

  .process-step__icon {
    display: inline-flex;
    margin-bottom: var(--space-4);
  }

  .process-step__num {
    margin-bottom: var(--space-3);
  }

  .process-step__title {
    margin-bottom: var(--space-3);
  }
}

.process-band .icon-well {
  background: rgb(255 255 255 / 0.12);
  color: var(--brand-blue-on-ink);
}

/* CTA secondary on ink: foundation.css handles shared band styles */
