/*
 * Growth, local-service and resource pages.
 * Extends the approved service-detail language without introducing a second UI.
 */
.growth-page {
  --growth-accent: var(--lime, #c8ff39);
}

.growth-breadcrumbs {
  padding: 24px 0 0;
  color: var(--service-muted, rgba(255, 255, 255, .68));
  font-size: .75rem;
}

.growth-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.growth-breadcrumbs li + li::before {
  margin-right: 8px;
  color: var(--growth-accent);
  content: "/";
}

.growth-breadcrumbs a:hover,
.growth-breadcrumbs a:focus-visible {
  color: var(--growth-accent);
}

.growth-page .service-detail__body {
  position: relative;
}

.growth-page .service-detail__body::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10%;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--page-accent-strong, rgba(200, 255, 57, .22)) 12%, rgba(255, 255, 255, .08) 84%, transparent);
  content: "";
  pointer-events: none;
}

.growth-page .service-section {
  scroll-margin-top: 110px;
}

.growth-page .service-detail-summary {
  align-self: end;
}

.growth-page .service-detail-summary__note {
  margin-top: 18px;
  color: var(--service-muted, rgba(255, 255, 255, .68));
  font-size: .82rem;
}

.growth-page .service-feature-grid,
.growth-card-grid {
  gap: 14px;
}

.growth-page .service-feature-grid article,
.growth-card {
  position: relative;
  overflow: hidden;
}

.growth-page .service-feature-grid article::after,
.growth-card::after {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 28px;
  height: 28px;
  border: 1px solid var(--page-accent-strong, rgba(200, 255, 57, .18));
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.growth-page .service-feature-grid article p,
.growth-card p {
  max-width: 34rem;
}

.growth-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
}

.growth-card {
  min-height: 170px;
  padding: 22px;
  border: 1px solid var(--service-line);
  background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));
}

.growth-card__index {
  display: block;
  margin-bottom: 28px;
  color: var(--growth-accent);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .16em;
}

.growth-card h3 {
  margin: 0 0 8px;
  font-size: 1.02rem;
}

.growth-card:hover,
.growth-card:focus-within {
  border-color: var(--page-accent-strong, rgba(200, 255, 57, .38));
  transform: translateY(-2px);
}

.growth-journey {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin-top: 28px;
  border-top: 1px solid var(--page-accent-strong, rgba(200, 255, 57, .42));
}

.growth-journey__step {
  min-height: 150px;
  padding: 20px 18px;
  border-right: 1px solid var(--service-line);
}

.growth-journey__step:last-child {
  border-right: 0;
}

.growth-journey__step span {
  color: var(--growth-accent);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .15em;
}

.growth-journey__step strong {
  display: block;
  margin-top: 28px;
  font-size: 1rem;
}

.growth-journey__step p {
  margin: 6px 0 0;
  color: var(--service-muted, rgba(255, 255, 255, .68));
  font-size: .78rem;
}

.growth-boundaries {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(255, 255, 255, .14);
  background: linear-gradient(135deg, rgba(200, 255, 57, .08), rgba(255, 255, 255, .025));
}

.growth-boundaries h3 {
  margin-top: 0;
}

.growth-boundaries ul {
  columns: 2;
  margin: 22px 0 0;
  padding-left: 18px;
}

.growth-boundaries li + li {
  margin-top: 8px;
}

.growth-comparison {
  width: 100%;
  margin-top: 24px;
  border-collapse: collapse;
  font-size: .88rem;
}

.growth-comparison th,
.growth-comparison td {
  padding: 15px 14px;
  border-bottom: 1px solid var(--service-line);
  text-align: left;
  vertical-align: top;
}

.growth-comparison th {
  color: var(--growth-accent);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.growth-article__summary {
  margin-top: 28px;
  padding: 22px;
  border-left: 2px solid var(--growth-accent);
  background: rgba(255, 255, 255, .045);
}

.growth-article__summary strong {
  display: block;
  margin-bottom: 10px;
  color: var(--growth-accent);
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.growth-article__summary p {
  margin: 0;
}

.growth-related-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.growth-related-links a {
  display: block;
  padding: 16px;
  border: 1px solid var(--service-line);
  color: var(--white);
}

.growth-related-links a:hover,
.growth-related-links a:focus-visible {
  border-color: var(--growth-accent);
  color: var(--growth-accent);
}

@media (max-width: 760px) {
  .growth-page .service-detail__body::before {
    left: 16px;
  }

  .growth-card-grid,
  .growth-related-links {
    grid-template-columns: 1fr;
  }

  .growth-journey {
    grid-template-columns: 1fr;
    margin-left: 10px;
    border-top: 0;
    border-left: 1px solid var(--page-accent-strong, rgba(200, 255, 57, .42));
  }

  .growth-journey__step {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--service-line);
  }

  .growth-journey__step strong {
    margin-top: 18px;
  }

  .growth-boundaries ul {
    columns: 1;
  }

  .growth-comparison {
    display: block;
    overflow-x: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .growth-card:hover,
  .growth-card:focus-within {
    transform: none;
  }
}

/* Final marketing-page composition polish: preserve the approved layout while
 * bringing the first-screen hierarchy into a more editorial balance. */
body:has(.growth-page) .nav-menu > a[aria-current="page"] {
  color: var(--green, #bdff4a);
}

body:has(.growth-page) .nav-menu > a[aria-current="page"]::after {
  right: auto;
  left: 0;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  transform: scaleX(1);
}

@media (min-width: 901px) {
  .growth-page .service-detail-hero {
    min-height: 680px;
    padding: clamp(110px, 10vw, 150px) 0 clamp(72px, 8vw, 108px);
    background:
      radial-gradient(circle at 84% 24%, var(--page-glow, rgba(120, 235, 232, .1)), transparent 27%),
      radial-gradient(circle at 10% 86%, var(--page-glow-secondary, rgba(140, 168, 255, .08)), transparent 26%),
      linear-gradient(145deg, #061025, #0a172b 56%, #0b191e);
    border-bottom-color: var(--page-line, rgba(72, 220, 190, .14));
  }

  .growth-page .service-detail-hero__grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .42fr);
    align-items: center;
    gap: clamp(42px, 5vw, 76px);
  }

  .growth-page .service-detail-hero h1 {
    max-width: 980px;
    font-size: clamp(4.8rem, 6.2vw, 7.5rem);
    line-height: .88;
    letter-spacing: -.055em;
  }

  .growth-page .service-detail-hero__grid > div > p:not(.kicker),
  .growth-page .service-detail-summary > p {
    color: rgba(245, 248, 250, .68);
  }

  .growth-page .service-detail-summary {
    align-self: center;
  }
}

@media (min-width: 661px) and (max-width: 900px) {
  .growth-page .service-detail-hero {
    min-height: auto;
    padding: 148px 0 86px;
  }

  .growth-page .service-detail-hero__grid {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 42px;
  }

  .growth-page .service-detail-hero h1 {
    font-size: clamp(3.4rem, 8.6vw, 5.8rem);
    line-height: .9;
  }

  .growth-page .service-detail-summary {
    width: min(100%, 620px);
    align-self: start;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  body:has(.growth-page) .brand__logo {
    width: 156px;
  }

  body:has(.growth-page) .nav-menu {
    position: static;
    justify-content: flex-end;
    gap: clamp(8px, 1vw, 14px);
    font-size: clamp(.62rem, .9vw, .72rem);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  body:has(.growth-page) .nav-menu > a:not(.button) {
    display: inline-flex;
    white-space: nowrap;
  }

  body:has(.growth-page) .nav-menu > .button {
    min-height: 36px;
    padding-inline: 10px;
    font-size: .64rem;
  }
}

/* Let specialized service pages inherit the same restrained page signature. */
.growth-page {
  --growth-accent: var(--page-accent, var(--lime, #c8ff39));
  --growth-accent-soft: var(--page-accent-soft, rgba(200, 255, 57, .14));
}

/* Keep every growth/service detail route in the shared Zomfy night palette.
 * The accent identifies the page; it does not replace the common atmosphere. */
.growth-page .service-detail-hero {
  background:
    radial-gradient(circle at 84% 24%, var(--page-glow, rgba(120, 235, 232, .1)), transparent 27%),
    radial-gradient(circle at 10% 86%, var(--page-glow-secondary, rgba(140, 168, 255, .08)), transparent 26%),
    linear-gradient(145deg, #061025, #0a172b 56%, #0b191e);
  border-bottom-color: var(--page-line, rgba(72, 220, 190, .14));
}

.growth-page .growth-card:hover,
.growth-page .growth-card:focus-within {
  border-color: var(--page-accent-strong, rgba(200, 255, 57, .38));
}

.growth-page .growth-journey {
  border-top-color: var(--page-accent-strong, rgba(200, 255, 57, .42));
}

.growth-page .growth-boundaries {
  background: linear-gradient(135deg, var(--growth-accent-soft), rgba(255, 255, 255, .025));
}
