.services-hero { padding-block: 2.7rem 4rem; background: linear-gradient(120deg,#f2f5ee,#f7f5ed); }
.services-hero-grid { display: grid; grid-template-columns: 1fr .95fr; align-items: center; gap: 5rem; }
.services-hero .breadcrumbs { margin-bottom: 3rem; }
.services-title h1 { margin-bottom: 1rem; font-size: clamp(4rem,7vw,6.2rem); }
.services-title > p:not(.eyebrow) { max-width: 480px; margin-bottom: 1.6rem; font-size: .9rem; }
.services-list-section { background: #fff; }
.services-list-heading { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: end; gap: 2rem; margin-bottom: 2.7rem; }
.services-list-heading h2 { margin-bottom: 0; }
.services-list-heading > p:last-child { margin-bottom: .35rem; font-size: .78rem; }
.service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; }
.service-row { position: relative; display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: 0 5px 18px rgba(20,45,32,.07); transition: transform .3s var(--ease), box-shadow .3s ease, border-color .3s ease; }
.service-row:hover { border-color: var(--green-200); box-shadow: var(--shadow-soft); transform: translateY(-4px); }
.service-row-index { position: absolute; z-index: 1; top: .85rem; left: .85rem; padding: .4rem .55rem; color: var(--green-900); background: rgba(255,255,255,.92); font-size: .65rem; font-weight: 700; }
.service-row-image { display: block; grid-row: 1; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.service-row-copy { grid-row: 2; padding: 1.25rem 1.25rem 4rem; }
.service-row-copy h3 { margin: 0 0 .6rem; font-family: var(--display-font); font-size: 1.35rem; font-weight: 500; }
.service-row-copy p { max-width: 690px; margin-bottom: .9rem; font-size: .78rem; }
.service-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.service-tags span { padding: .25rem .55rem; border: 1px solid var(--line); color: #637064; font-size: .55rem; }
.service-arrow { position: absolute; right: 1.25rem; bottom: 1.25rem; display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid var(--line); color: var(--green-800); background: #fff; transition: color .2s ease, background .2s ease, transform .2s ease; }
.service-arrow:hover { color: white; background: var(--green-800); transform: translate(2px,-2px); }
.services-process { padding-block: var(--space-section); background: var(--green-100); }
.process-grid { display: grid; grid-template-columns: .8fr 1.4fr; gap: 5rem; }
.process-intro h2 { margin-bottom: 1rem; }
.process-intro > p:last-child { max-width: 400px; font-size: .8rem; }
.process-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.process-card { min-height: 210px; padding: 1.2rem; border: 1px solid rgba(37,76,54,.14); background: rgba(255,255,255,.5); }
.process-card > span { display: block; margin-bottom: 2.1rem; color: var(--gold-600); font-size: .62rem; font-weight: 700; }
.process-card h3 { margin-bottom: .55rem; font-size: .9rem; }
.process-card p { margin-bottom: 0; font-size: .7rem; line-height: 1.7; }
.services-cta { background: white; }
.services-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.services-cta h2 { margin-bottom: 0; }
@media (max-width: 950px) {
  .services-hero-grid { gap: 2rem; }
  .services-list-heading { grid-template-columns: 1fr 1fr; }
  .services-list-heading > p:last-child { grid-column: 2; }
  .process-grid { grid-template-columns: 1fr; gap: 2.4rem; }
}
@media (max-width: 640px) {
  .services-hero { padding-block: 1.7rem 2.8rem; }
  .services-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .services-hero .breadcrumbs { margin-bottom: 2.2rem; }
  .services-title h1 { font-size: clamp(3.6rem,15vw,5rem); }
  .services-list-heading { grid-template-columns: 1fr; gap: .7rem; }
  .services-list-heading > p:last-child { grid-column: 1; }
  .service-list { grid-template-columns: 1fr; gap: 1rem; }
  .service-row-copy { padding: 1.1rem 1.1rem 3.8rem; }
  .service-row-copy h3 { font-size: 1.1rem; }
  .service-row-copy p { font-size: .73rem; }
  .service-arrow { right: 1.1rem; bottom: 1.1rem; }
  .service-tags span { font-size: .5rem; }
  .process-cards { grid-template-columns: 1fr; }
  .process-card { min-height: auto; }
  .process-card > span { margin-bottom: .9rem; }
  .services-cta-inner { align-items: flex-start; flex-direction: column; }
}

/* Full-width landscape with a stable dark text area at every screen size. */
.services-hero.services-hero--landscape { position: relative; isolation: isolate; overflow: hidden; background: #082d1c; padding-block: 2.7rem 4rem; }
.services-hero-background { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.services-hero--landscape::before { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(90deg, rgba(3,25,14,.94) 0%, rgba(3,25,14,.85) 35%, rgba(3,25,14,.45) 60%, rgba(3,25,14,.12) 100%); }
.services-hero--landscape .services-hero-grid { min-height: 475px; grid-template-columns: minmax(0, 1fr); gap: 0; }
.services-hero--landscape .services-title { max-width: 630px; }
.services-hero--landscape .services-title > p:not(.eyebrow) { color: #fff; }
@media (max-width: 640px) {
  .services-hero.services-hero--landscape { padding-block: 1.7rem 2.8rem; }
  .services-hero--landscape .services-hero-grid { min-height: 450px; }
  .services-hero-background { object-position: 65% center; }
  .services-hero--landscape::before { background: rgba(3,25,14,.82); }
}
