/* Shared visual refinement: team, service content and contact form. */

.master-card {
  display: flex;
  flex-direction: column;
  border-color: #dfe6e1 !important;
  box-shadow: 0 12px 34px rgba(13, 35, 23, .045);
}
.master-card__photo {
  position: relative !important;
  height: 286px !important;
  flex: 0 0 286px;
  overflow: hidden !important;
  background: #e8eeea !important;
}
.master-card__photo img {
  position: absolute !important;
  inset: 0 !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 42% !important;
}
.master-card__exp {
  top: auto !important;
  right: auto !important;
  left: 16px !important;
  bottom: 16px !important;
  padding: 7px 11px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #178d49 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  backdrop-filter: none !important;
}
.master-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 174px;
}
.master-card__spec { margin-top: auto !important; padding-top: 18px; }

.service-process { padding: 92px 0; background: #f4f7f5; }
.service-process__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
  align-items: end;
  gap: 60px;
  margin-top: 10px;
}
.service-process__head .section-sub { margin: 0 0 6px; }
.service-process__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 42px;
}
.service-step {
  min-height: 250px;
  padding: 28px;
  border: 1px solid #dfe7e2;
  border-radius: 22px;
  background: #fff;
}
.service-step > span {
  display: inline-grid;
  place-items: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #e6f6ec;
  color: #178d49;
  font-size: 13px;
  font-weight: 800;
}
.service-step h3 { margin: 45px 0 11px; color: #17211b; font-size: 20px; line-height: 1.3; }
.service-step p { margin: 0; color: #657069; font-size: 14px; line-height: 1.7; }

.service-prep { padding: 96px 0; background: #fff; }
.service-prep__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  align-items: start;
  gap: 80px;
}
.service-prep__content .section-title { max-width: 760px; }
.service-prep__content .section-sub { max-width: 720px; margin-top: 18px; }
.service-prep__list { display: grid; gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; }
.service-prep__list li {
  position: relative;
  padding: 15px 18px 15px 48px;
  border-radius: 13px;
  background: #f4f7f5;
  color: #334039;
  font-size: 15px;
  line-height: 1.55;
}
.service-prep__list li::before {
  content: "✓";
  position: absolute;
  left: 18px;
  top: 14px;
  color: #178d49;
  font-weight: 900;
}
.service-prep__aside { display: grid; gap: 14px; }
.service-prep__safe,
.service-prep__article { padding: 25px; border-radius: 20px; }
.service-prep__safe { border: 1px solid #eedfce; background: #fff8ef; }
.service-prep__safe span,
.service-prep__article span {
  display: block;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.service-prep__safe span { color: #a55c13; }
.service-prep__safe p { margin: 0; color: #5f4c39; font-size: 14px; line-height: 1.7; }
.service-prep__article { display: grid; color: #fff; background: #102218; }
.service-prep__article span { color: #65d493; }
.service-prep__article strong { font-size: 18px; line-height: 1.45; }
.service-prep__article em { margin-top: 26px; color: #65d493; font-size: 13px; font-style: normal; font-weight: 800; }

.form-section {
  position: relative !important;
  isolation: isolate;
  padding: 96px 0 !important;
  overflow: hidden !important;
  background-color: #101914 !important;
  background-image:
    linear-gradient(90deg, rgba(8, 18, 12, .96) 0%, rgba(8, 18, 12, .88) 43%, rgba(8, 18, 12, .58) 100%),
    url("/local/assets/images/service-contact-bg.webp") !important;
  background-position: center !important;
  background-size: cover !important;
  color: #fff !important;
}
.form-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1;
  background: radial-gradient(circle at 18% 28%, rgba(40, 148, 84, .18), transparent 38%) !important;
  background-size: auto !important;
  mask-image: none !important;
  opacity: 1 !important;
}
.form-section__inner { position: relative; z-index: 1; }
.form-section .section-label { color: #72dc9d !important; }
.form-section .section-title { color: #fff !important; }
.form-section .section-sub { max-width: 650px; color: rgba(255, 255, 255, .7) !important; }
.form-section .form-promise { color: rgba(255, 255, 255, .82) !important; }
.form-section .form-promise::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #65d493;
  box-shadow: 0 0 0 5px rgba(101, 212, 147, .11);
}
.form-section .form-promise__dot { display: none; }
.form-section .form-card {
  padding: 32px !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .97) !important;
  color: #17211b !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .28) !important;
  backdrop-filter: blur(14px);
}
.form-section .form-card__title { color: #17211b !important; font-size: 21px !important; font-weight: 800 !important; }
.form-section .form-label { color: #38443d !important; font-size: 13px !important; font-weight: 700 !important; }
.form-section .form-input,
.form-section .form-select {
  border-color: #dce3df !important;
  background: #f8faf9 !important;
  color: #17211b !important;
}
.form-section .form-input:focus,
.form-section .form-select:focus {
  border-color: #299759 !important;
  box-shadow: 0 0 0 3px rgba(41, 151, 89, .1);
}
.form-section .form-submit,
.form-section .btn--primary {
  background: #178d49 !important;
  box-shadow: none !important;
}
.form-section .form-submit:hover,
.form-section .btn--primary:hover { background: #11763b !important; }
.form-section .form-agree { color: #78817c !important; }
.form-section .form-agree a { color: #176f3c !important; }

@media (max-width: 1024px) {
  .service-process__head { grid-template-columns: 1fr; gap: 14px; }
  .service-prep__inner { grid-template-columns: 1fr 330px; gap: 42px; }
}
@media (max-width: 820px) {
  .service-process,
  .service-prep { padding: 72px 0; }
  .service-process__grid { grid-template-columns: 1fr; }
  .service-step { min-height: 0; }
  .service-step h3 { margin-top: 28px; }
  .service-prep__inner { grid-template-columns: 1fr; }
  .service-prep__aside { grid-template-columns: 1fr 1fr; }
  .form-section {
    padding: 76px 0 !important;
    background-position: 64% center !important;
  }
}
@media (max-width: 560px) {
  .master-card__photo { height: 250px !important; flex-basis: 250px; }
  .service-prep__aside { grid-template-columns: 1fr; }
  .form-section { background-position: 70% center !important; }
  .form-section .form-card { padding: 23px !important; }
}
