.services-page {
  --sv-green: #004b38;
  --sv-green-dark: #00372a;
  --sv-gold: #e6a423;
  --sv-line: #e1e5e0;
  color: #17201c;
  background: #fbfbf8;
  font-size: 14px;
}

.sv-shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.sv-hero {
  position: relative;
  min-height: 325px;
  color: white;
  background:
    url("../images/photo-1600607688969-a5bfcd646154.jpg") center 57% / cover no-repeat,
    var(--sv-green-dark);
}
.sv-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 55, 42, .98) 0%, rgba(0, 55, 42, .88) 34%, rgba(0, 55, 42, .13) 76%);
}
.sv-hero-content { position: relative; z-index: 1; padding-top: 57px; }
.sv-hero h1 { margin: 0; font: 700 clamp(42px, 4.5vw, 56px)/1.1 "Manrope", Arial, sans-serif; }
.sv-hero nav { display: flex; align-items: center; gap: 12px; margin-top: 10px; font-size: 13px; }
.sv-hero nav span { color: rgba(255,255,255,.7); font-size: 20px; }
.sv-hero p { margin: 18px 0 0; color: rgba(255,255,255,.94); font-size: 15px; line-height: 1.55; }

.sv-core { padding-top: 26px; padding-bottom: 27px; }
.sv-section-heading h2 { margin: 0 0 2px; color: #163f32; font: 700 27px/1.25 "Manrope", Arial, sans-serif; }
.sv-section-heading p { margin: 0; color: #65706a; font-size: 13px; }
.sv-core-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 9px; margin-top: 17px; }
.sv-core-grid article {
  min-height: 224px;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 18px 10px 13px;
  border: 1px solid #e2e5e1;
  border-radius: 8px;
  background: white;
  text-align: center;
  box-shadow: 0 6px 17px rgba(0, 57, 41, .05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.sv-core-grid article:hover { transform: translateY(-3px); box-shadow: 0 13px 25px rgba(0, 57, 41, .1); }
.sv-core-grid article > svg { width: 42px; height: 42px; color: #07533e; stroke-width: 1.5; }
.sv-core-grid h3 { min-height: 38px; display: grid; place-items: center; margin: 10px 0 5px; color: #153d31; font-size: 12.5px; line-height: 1.35; }
.sv-core-grid p { margin: 0; color: #68726d; font-size: 11.5px; line-height: 1.55; }
.sv-core-grid a { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 10px; color: #0b533e; font-size: 11.5px; font-weight: 800; }
.sv-core-grid a span { color: var(--sv-gold); font-size: 15px; }

.sv-details { display: grid; grid-template-columns: 1fr 1fr; column-gap: 38px; }
.sv-detail {
  min-width: 0;
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid #e1e5e0;
  scroll-margin-top: 90px;
}
.sv-detail-image { min-height: 194px; border-radius: 5px; background-position: center; background-size: cover; box-shadow: 0 6px 16px rgba(0, 48, 34, .08); }
.sv-image-sales { background-image: url("../images/photo-1560518883-ce09059eeffa.jpg"); }
.sv-image-rentals { background-image: url("../images/photo-1600566753086-00f18fb6b3ea.jpg"); }
.sv-image-advisory { background-image: url("../images/photo-1554224155-8d04cb21cd6c.jpg"); }
.sv-image-management { background-image: url("../images/photo-1560518883-ce09059eeffa.jpg"); }
.sv-image-legal { background-image: url("../images/photo-1589829545856-d10d557cf95f.jpg"); }
.sv-image-analysis { background-image: url("../images/photo-1551288049-bebda4e38f71.jpg"); }
.sv-image-visits { background-image: url("../images/photo-1504307651254-35680f356dfd.jpg"); }
.sv-image-documentation { background-image: url("../images/photo-1450101499163-c8848c66ca85.jpg"); }
.sv-detail-copy { position: relative; padding-top: 43px; }
.sv-detail-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #f1b52f;
  background: var(--sv-green);
  box-shadow: 0 5px 13px rgba(0, 67, 48, .18);
}
.sv-detail-icon svg { width: 23px; height: 23px; }
.sv-detail h2 { margin: 7px 0 4px; color: #153e31; font-size: 17px; }
.sv-detail-copy > p { margin: 0 0 8px; color: #616c66; font-size: 12px; line-height: 1.55; }
.sv-detail ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; color: #4f5a54; font-size: 11px; }
.sv-detail li { position: relative; padding-left: 19px; }
.sv-detail li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  width: 13px;
  height: 13px;
  display: grid;
  place-items: center;
  border: 1px solid #c79a32;
  border-radius: 50%;
  color: #0d654b;
  font-size: 8px;
  font-weight: 800;
}

.sv-process { padding-top: 25px; padding-bottom: 28px; }
.sv-process-heading { text-align: center; }
.sv-process-heading h2 { margin: 0; color: #153e31; font: 700 22px/1.3 "Manrope", Arial, sans-serif; }
.sv-process-heading p { margin: 3px 0 0; color: #69736e; font-size: 11px; }
.sv-process-track { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 25px; margin-top: 20px; }
.sv-process-track::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 27px;
  right: 10%;
  left: 10%;
  border-top: 1px dashed #aebcb4;
}
.sv-process-track article { position: relative; z-index: 1; text-align: center; }
.sv-process-track article::after {
  content: "";
  position: absolute;
  top: 24px;
  right: -18px;
  width: 7px;
  height: 7px;
  border: 3px solid #fbfbf8;
  border-radius: 50%;
  background: var(--sv-green);
}
.sv-process-track article:last-child::after { display: none; }
.sv-process-track span { width: 55px; height: 55px; display: grid; place-items: center; margin: auto; border: 4px solid #f5f1df; border-radius: 50%; color: #efb02b; background: var(--sv-green); }
.sv-process-track span svg { width: 24px; height: 24px; }
.sv-process-track h3 { margin: 8px 0 3px; color: #153c30; font-size: 12px; }
.sv-process-track p { width: 165px; max-width: 100%; margin: auto; color: #69736e; font-size: 10px; line-height: 1.5; }

.sv-stats { color: white; background: linear-gradient(100deg, #00543d, #00392b); }
.sv-stats-grid { min-height: 101px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.sv-stats article { min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 16px; border-right: 1px solid rgba(255,255,255,.24); }
.sv-stats article:last-child { border-right: 0; }
.sv-stats svg { width: 42px; height: 42px; color: #efb029; }
.sv-stats p { display: flex; flex-direction: column; margin: 0; }
.sv-stats strong { color: #f2b634; font-size: 22px; line-height: 1.1; }
.sv-stats span { margin-top: 4px; font-size: 11px; }

.sv-reviews { display: grid; grid-template-columns: minmax(0, 1fr) 365px; gap: 20px; padding-top: 17px; padding-bottom: 23px; }
.sv-testimonials > h2 { margin: 0 0 9px; color: #1d2b25; font-size: 20px; }
.sv-testimonial-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.sv-testimonial-grid article { min-height: 150px; padding: 12px; border: 1px solid #e1e5e0; border-radius: 7px; background: white; box-shadow: 0 4px 12px rgba(0, 48, 34, .04); }
.sv-stars { color: #f0a413; font-size: 13px; letter-spacing: 1px; }
.sv-testimonial-grid article > p { min-height: 66px; margin: 7px 0 8px; color: #4f5b55; font-size: 10px; line-height: 1.45; }
.sv-testimonial-grid article > div:last-child { display: flex; align-items: center; gap: 8px; }
.sv-avatar { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; color: white; background: #0a5d45; font-size: 9px; font-weight: 800; }
.sv-testimonial-grid article > div p { display: flex; flex-direction: column; margin: 0; }
.sv-testimonial-grid strong { font-size: 10px; }
.sv-testimonial-grid small { color: #6c7671; font-size: 9px; }
.sv-review-cta {
  min-height: 187px;
  overflow: hidden;
  padding: 18px 20px;
  border-radius: 8px;
  color: white;
  background:
    linear-gradient(90deg, rgba(0, 71, 51, .98), rgba(0, 71, 51, .84)),
    url("../images/photo-1600607687939-ce8a6c25118c.jpg") center / cover no-repeat;
}
.sv-review-cta h2 { margin: 0 0 9px; font: 700 22px/1.2 "Manrope", Arial, sans-serif; }
.sv-review-cta p { width: 80%; margin: 0 0 14px; font-size: 11px; line-height: 1.5; }
.sv-review-cta a { min-height: 41px; display: inline-flex; align-items: center; gap: 20px; padding: 0 16px; border-radius: 5px; color: #173c30; background: #f2b738; font-size: 11px; font-weight: 800; }
.services-page + footer .footer-cta { display: none; }

@media (max-width: 1120px) {
  .sv-core-grid { grid-template-columns: repeat(4, 1fr); }
  .sv-detail { grid-template-columns: 165px 1fr; gap: 18px; }
  .sv-reviews { grid-template-columns: 1fr; }
  .sv-review-cta { min-height: 170px; }
}

@media (max-width: 820px) {
  .sv-shell { width: calc(100% - 30px); }
  .sv-core-grid { grid-template-columns: repeat(2, 1fr); }
  .sv-details { grid-template-columns: 1fr; }
  .sv-detail { grid-template-columns: 200px 1fr; }
  .sv-process-track { grid-template-columns: 1fr; gap: 17px; }
  .sv-process-track::before { top: 25px; bottom: 25px; left: 27px; width: 1px; height: auto; border-top: 0; border-left: 1px dashed #aebcb4; }
  .sv-process-track article { display: grid; grid-template-columns: 55px 1fr; column-gap: 17px; text-align: left; }
  .sv-process-track article::after { display: none; }
  .sv-process-track span { grid-row: 1 / span 2; margin: 0; }
  .sv-process-track h3 { align-self: end; margin: 0 0 2px; }
  .sv-process-track p { width: auto; margin: 0; }
  .sv-stats-grid { grid-template-columns: 1fr 1fr; padding: 14px 0; }
  .sv-stats article:nth-child(2) { border-right: 0; }
  .sv-testimonial-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
  .services-page { width: 100vw; overflow-x: hidden; }
  .sv-shell { width: calc(100vw - 24px); max-width: calc(100vw - 24px); }
  .sv-hero { min-height: 330px; }
  .sv-hero-content { padding-top: 48px; }
  .sv-hero h1 { font-size: 40px; }
  .sv-hero p { font-size: 14px; }
  .sv-hero p br { display: none; }
  .sv-core-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .sv-core-grid article { min-height: 225px; padding-inline: 8px; }
  .sv-details { display: block; }
  .sv-detail { grid-template-columns: 1fr; gap: 14px; padding: 20px 0; }
  .sv-detail-image { min-height: 220px; }
  .sv-detail-copy { padding-top: 45px; }
  .sv-detail-copy > p { font-size: 12px; }
  .sv-detail ul { font-size: 11px; }
  .sv-stats-grid { grid-template-columns: 1fr; }
  .sv-stats article { justify-content: flex-start; padding: 12px 20px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .sv-stats article:last-child { border-bottom: 0; }
  .sv-testimonial-grid { grid-template-columns: 1fr; }
  .sv-testimonial-grid article > p { min-height: 0; font-size: 11px; }
}
