/* 01. Services index typography and palette. Scoped to this route only. */
.services-index-page {
  --green: #00863c; --forest: #102d27; --ink: #132d29; --beige: #f4f2e9;
  --line: #d6dcd1; --font: 'Golos Text'; --heading: 'Golos Text';
  background: var(--beige); color: var(--ink);
  font: 400 16px/1.6 var(--font), Arial, sans-serif;
}
.services-index-page h1, .services-index-page h2, .services-index-page h3, .services-index-page p { margin: 0; }
.services-index-page h1, .services-index-page h2, .services-index-page h3 {
  font-family: var(--heading), Arial, sans-serif; font-weight: 600; line-height: 1.12;
}
.services-index-page h1 { letter-spacing: -.025em; }
.services-index-page h2 { font-size: clamp(30px, 3.1vw, 48px); letter-spacing: -.025em; }
.services-index-page h3 { font-size: 23px; }
.services-index-page button, .services-index-page input, .services-index-page textarea, .services-index-page select { font-family: var(--font), Arial, sans-serif; }
.services-index-page .contact-popover__phone, .services-index-page .form-card__title { font-family: var(--heading), Arial, sans-serif; }
.services-index-page a { text-decoration: none; }
.services-index-page :focus-visible { outline: 3px solid #32b575; outline-offset: 4px; }
.services-index-page .container, .services-index-page .page-shell, .services-index-page .original-footer__inner {
  width: min(1280px, 100%); max-width: 1280px; padding: 0 42px; margin: auto;
}
/* 02. Existing functional header: original logo, dropdowns, search and modal hooks. */
.services-index-page .site-header, .services-index-page .site-header.is-scrolled {
  position: sticky; top: 0; padding: 0; background: var(--forest); color: white;
  border-bottom: 1px solid #426352; box-shadow: none; backdrop-filter: none; transition: none;
}
.services-index-page .site-header__inner, .services-index-page .site-header.is-scrolled .site-header__inner {
  max-width: 1280px; min-height: 86px; padding: 0 42px; border-radius: 0;
  background: transparent; color: white; box-shadow: none; gap: 16px;
}
.services-index-page .site-header__logo { margin: 0; width: 160px; flex-basis: 160px; }
.services-index-page .site-header__logo-lockup, .services-index-page .site-header__logo img { width: 160px; height: 49px; }
.services-index-page .site-header__logo-image { object-fit: contain; filter: none !important; }
.services-index-page .site-header__logo-text-dark { display: none !important; }
.services-index-page .site-header__nav { margin-left: auto; }
.services-index-page .site-header__nav ul { gap: 28px; }
.services-index-page .site-header__nav a, .services-index-page .site-header.is-scrolled .site-header__nav a {
  height: 86px; padding: 0; color: white; font-size: 14px; font-weight: 500; line-height: 1.6;
}
.services-index-page .site-header__nav a:hover { color: #bcd9c6; }
.services-index-page .site-header__contact { margin-left: 0; flex: 0 0 32px; justify-content: center; }
.services-index-page .site-header__contact span { display: none; }
.services-index-page .site-header__search { margin-left: 0; flex-basis: 32px; width: 32px; }
.services-index-page .site-header__cta { margin-left: 0; white-space: nowrap; }
.services-index-page .site-header__dropdown a { color: var(--ink) !important; }
.services-index-page .site-header__dropdown a:hover { color: var(--green) !important; }

/* 03. Approved CTA treatment; existing form validation and status remain visible. */
.services-index-page .btn, .services-index-page .site-header__cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 30px;
  background: var(--forest); color: #fffefa; border: 1.5px solid #93b965;
  border-radius: 999px; box-shadow: 0 0 0 1px #b6ce8c30, 0 0 5px #a4c77626;
  padding: 14px 24px; min-height: 49px; font-size: 14px; font-weight: 600; line-height: 1.3;
  cursor: pointer; transform: none; transition: border-color .18s, box-shadow .18s, background .18s;
}
.services-index-page .btn:hover, .services-index-page .site-header__cta:hover {
  background: #173c30; border-color: #b6d787; color: #fffefa; transform: none;
  box-shadow: 0 0 0 1px #b6d78750, 0 0 8px #a4c77640;
}
.services-index-page .site-header__cta { font-size: 12px; padding: 10px 18px; min-height: 40px; gap: 0; }
.services-index-page .btn--block { width: auto; justify-self: start; }

/* 04. Four footer groups match the approved home; every link remains present. */
.services-index-page .original-footer { padding: 28px 0 20px; background: #0f2523; color: #c3d3c9; }
.services-index-page .original-footer__inner { display: grid; grid-template-columns: 1.65fr .9fr 1fr .6fr; gap: 24px; }
.services-index-page .original-footer__links, .services-index-page .original-footer__side { display: contents; }
.services-index-page .original-footer__panel { background: transparent; border-radius: 0; min-width: 0; padding: 0; }
.services-index-page .original-footer h2 { font-size: 19px; margin-bottom: 14px; color: inherit; }
.services-index-page .original-footer ul { display: block; list-style: none; padding: 0; margin: 0; }
.services-index-page .original-footer li { max-width: none; font-size: 12px; line-height: 1.45; margin: 6px 0; color: inherit; }
.services-index-page .original-footer a:hover { color: inherit; text-decoration: underline; }
.services-index-page .original-footer__contacts { display: block; }
.services-index-page .original-footer__contacts > a { display: block; font-size: 13px; line-height: 1.7; margin: 0; }
.services-index-page .original-footer__phone { font-family: var(--font), Arial, sans-serif; color: inherit; }
.services-index-page .original-footer__contacts p { font-size: 12px; line-height: 1.5; margin-top: 12px; color: inherit; }
.services-index-page .original-footer__social { display: block; align-self: start; }
.services-index-page .original-footer__social > strong { display: block; font-family: var(--heading), Arial, sans-serif; font-size: 19px; font-weight: 600; line-height: 1.12; margin-bottom: 14px; }
.services-index-page .original-footer .social-links { display: flex; flex-direction: column; gap: 7px; margin-top: 0; font-size: 12px; }
.services-index-page .original-footer .social-links a { display: block; width: auto; height: auto; border-radius: 0; font-size: inherit; background: transparent; overflow: visible; }
.services-index-page .original-footer .social-links a::before { display: none; }
.services-index-page .original-footer__bottom { grid-column: 1 / -1; display: flex; flex-direction: row; justify-content: space-between; gap: 25px; border-top: 1px solid #436055; margin: 0; padding-top: 16px; font-size: 10px; color: inherit; }

/* 05. Approved services composition; reset the legacy breadcrumb/hero spacing. */
.services-index-page .breadcrumbs { padding-top: 24px; padding-bottom: 0; font-size: 12px; line-height: 1.6; color: #52605a; }
.services-index-page .breadcrumbs ol { gap: 12px; }
.services-index-page .breadcrumbs li:not(:last-child)::after { content: none; }
.services-index-page .breadcrumbs li + li::before { content: '·'; margin-right: 12px; color: #849084; }
.services-index-page .inner-hero { padding: 24px 0; background: transparent; }
.services-index-page .services-index-hero h1 { font-size: clamp(38px, 4.3vw, 67px); margin: 0 0 14px; }
.services-index-page .services-index-hero p:not(.service-landing-hero__eyebrow) { max-width: 900px; font-size: 18px; line-height: 1.6; color: #52605a; }
.services-index-page .service-landing-hero__eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; color: var(--green); margin: 0 0 14px; }
.services-index-page .services-index-section { padding: 0 0 32px; }
.services-index-page .site-header__nav a[aria-current="page"] { color: #b5d6bc; }

/* 06. Five compact desktop cards per row; full copy must never shrink or clamp. */
.services-index-page .service-showcase { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.services-index-page .service-showcase__card { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; min-height: 395px; padding: 22px 16px 24px; border-radius: 14.4px; background: var(--forest); color: #fffefa; }
.services-index-page .service-showcase__card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.services-index-page .service-showcase__card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #0519151a 0%, #05191560 25%, #051915d9 65%, #051915f5 100%); }
.services-index-page .service-showcase__card::after { display: none; }
.services-index-page .service-showcase__card > span, .services-index-page .service-showcase__card > small, .services-index-page .service-showcase__card > em { flex-shrink: 0; }
.services-index-page .service-showcase__card > span, .services-index-page .service-showcase__card > small { display: block; max-width: 100%; min-width: 0; overflow: visible; -webkit-line-clamp: unset; }
.services-index-page .service-showcase__card > span { font-family: var(--heading), Arial, sans-serif; font-size: 23px; font-weight: 600; line-height: 1.23; letter-spacing: -.015em; color: #c8e3cf; overflow-wrap: break-word; }
.services-index-page .service-showcase__card > small { font-size: 14px; font-weight: 400; line-height: 1.6; color: #fffefa; margin-top: 14px; }
.services-index-page .service-showcase__card > em { display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; line-height: 1.3; min-height: 38px; padding: 9px 17px; margin-top: 20px; color: #fffefa; background: #102d27; border: 1.5px solid #93b965; border-radius: 999px; box-shadow: 0 0 0 1px #b6ce8c30, 0 0 5px #a4c77626; transition: background .18s, border-color .18s, box-shadow .18s; }
.services-index-page .service-showcase__card:hover > em { background: #173c30; border-color: #b6d787; box-shadow: 0 0 0 1px #b6d78750, 0 0 8px #a4c77640; }

/* 07. Full-width CTA uses the existing request modal, with no prototype dialog. */
.services-index-page .service-landing-cta { background: var(--forest); color: #fffefa; padding: 32px 0; }
.services-index-page .service-landing-cta > .container { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.services-index-page .service-landing-cta p { font-size: 12px; color: #c2dfcd; margin-bottom: 14px; }
.services-index-page .service-landing-cta h2 { font-size: clamp(30px, 3.1vw, 42px); max-width: 820px; color: inherit; }
.services-index-page .service-landing-cta .btn { flex-shrink: 0; }

/* 08. Header/footer breakpoints match home; cards match services-template.css. */
@media (min-width: 1051px) {
  .services-index-page .service-showcase__card > span { font-size: 21px; }
}
@media (max-width: 1050px) {
  .services-index-page .container, .services-index-page .page-shell, .services-index-page .original-footer__inner { padding-left: 28px; padding-right: 28px; }
  .services-index-page .breadcrumbs { padding-top: 0; }
  .services-index-page .site-header__inner, .services-index-page .site-header.is-scrolled .site-header__inner { padding: 0 28px; }
  .services-index-page .site-header__nav { display: none; }
  .services-index-page .site-header__burger { display: grid; }
  .services-index-page .site-header__contact { margin-left: auto; }
  .services-index-page .original-footer__inner { grid-template-columns: 1.4fr 1fr; gap: 24px 30px; }
  .services-index-page .service-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-index-page .service-showcase__card { min-height: 420px; padding: 25px 24px 30px; }
  .services-index-page .service-landing-cta > .container { align-items: flex-start; flex-direction: column; gap: 24px; }
}
@media (max-width: 700px) {
  .services-index-page .container, .services-index-page .page-shell, .services-index-page .original-footer__inner { padding-left: 22px; padding-right: 22px; }
  .services-index-page .site-header__inner, .services-index-page .site-header.is-scrolled .site-header__inner { min-height: 72px; padding: 0 22px; gap: 10px; }
  .services-index-page .site-header__logo { width: 140px; flex-basis: 140px; }
  .services-index-page .site-header__logo-lockup, .services-index-page .site-header__logo img { width: 140px; height: auto; }
  .services-index-page .site-header__contact { display: none; }
  .services-index-page .site-header__search { margin-left: auto; }
  .services-index-page .site-header__cta { display: none; }
  .services-index-page .breadcrumbs { padding-top: 20px; }
  .services-index-page .services-index-hero h1 { font-size: 35px; }
  .services-index-page .services-index-hero p:not(.service-landing-hero__eyebrow) { font-size: 16px; }
  .services-index-page .service-showcase__card { min-height: 440px; padding: 24px 20px; }
  .services-index-page .service-showcase__card > span { font-size: 21px; }
  .services-index-page .service-showcase__card > small { font-size: 13px; }
  .services-index-page .services-index-section { padding-bottom: 24px; }
  .services-index-page .service-landing-cta { padding: 24px 0; }
  .services-index-page .service-landing-cta h2 { font-size: 30px; }
  .services-index-page .original-footer { padding: 24px 0 18px; }
  .services-index-page .original-footer__inner { grid-template-columns: 1fr 1fr; gap: 22px 18px; }
  .services-index-page .original-footer__links > div:first-child, .services-index-page .original-footer__social { grid-column: 1 / -1; }
  .services-index-page .original-footer .social-links { flex-direction: row; flex-wrap: wrap; gap: 18px; }
  .services-index-page .original-footer__bottom { flex-direction: column; gap: 8px; }
  .services-index-page .original-footer h2, .services-index-page .original-footer__social > strong { font-size: 17px; }
}
@media (max-width: 450px) {
  .services-index-page .service-showcase { grid-template-columns: 1fr; }
  .services-index-page .service-showcase__card { min-height: 390px; padding: 25px 24px 30px; }
  .services-index-page .services-index-hero h1 { font-size: clamp(28px, 8vw, 36px); }
  .services-index-page .service-showcase__card > em { font-size: 11px; padding: 8px 13px; }
  .services-index-page .service-landing-cta h2 { font-size: 28px; }
  .services-index-page .original-footer li { overflow-wrap: anywhere; }
}
@media (max-width: 370px) {
  .services-index-page .original-footer__inner { grid-template-columns: 1fr; }
  .services-index-page .original-footer__links > div:first-child, .services-index-page .original-footer__social { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(> .services-index-page) { scroll-behavior: auto; }
  .services-index-page .btn, .services-index-page .site-header__cta, .services-index-page .service-showcase__card > em, .services-index-page .service-showcase__card > img { transition: none; }
  .services-index-page .service-showcase__card:hover > img { transform: none; }
}

