/* Inspection page: supplied artwork, shared hero typography. */
.inspection-page {
  --inspection-blue: #0877bb;
  --inspection-ink: #183b58;
  color: var(--inspection-ink);
}
/* Browser margin reset is scoped to this page; grid gaps control spacing. */
.inspection-page :where(h2, h3, p, ol) {
  margin: 0;
}
.inspection-shell {
  width: min(90%, 1120px);
  margin-inline: auto;
}
@media (min-width: 768px) {
  .inspection-shell {
    width: min(80%, 1120px);
  }
}
.inspection-section {
  position: relative;
  isolation: isolate;
  padding-block: 52px;
}
@media (min-width: 768px) {
  .inspection-section {
    padding-block: 64px;
  }
}
@media (min-width: 1025px) {
  .inspection-section {
    padding-block: 72px;
  }
}
/* The image is shown whole on mobile; the desktop crop follows the rough. */
.subpage-hero--inspection .subpage-hero__photo {
  order: 2;
}
@media (min-width: 768px) {
  .subpage-hero--inspection .subpage-hero__photo img {
    object-position: right center;
  }
}
.subpage-hero--inspection .subpage-hero__inner {
  width: min(90%, 1120px);
  padding-block: 36px 72px;
}
@media (min-width: 768px) {
  .subpage-hero--inspection .subpage-hero__inner {
    width: min(80%, 1120px);
    padding-block: 72px;
  }
}
.subpage-hero--inspection .subpage-hero__copy {
  width: 100%;
  max-width: 660px;
  gap: 18px;
}
@media (min-width: 768px) {
  .subpage-hero--inspection .subpage-hero__copy {
    width: 66%;
    gap: 20px;
  }
}
.subpage-hero--inspection .subpage-hero__title {
  color: #0965a2;
}
.subpage-hero--inspection .subpage-hero__title::after {
  display: block;
  width: 85%;
  height: 8px;
  background: #30b4ec;
  border-radius: 50%;
  transform: rotate(-2deg);
  content: '';
}
.subpage-hero--inspection .subpage-hero__lead {
  color: #174c73;
}
.subpage-hero--inspection .subpage-hero__description {
  max-width: 36em;
  color: #244660;
}
.subpage-hero--inspection::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: url('../images/inspection/palm-green-left.webp') left top / 90px auto no-repeat, url('../images/inspection/palm-green-right.webp') right top / 90px auto no-repeat;
  pointer-events: none;
  content: '';
}
@media (min-width: 768px) {
  .subpage-hero--inspection::before {
    background-size: 15% auto;
  }
}
@media (min-width: 768px) {
  .subpage-hero--inspection::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .88) 31%, rgba(255, 255, 255, .5) 49%, transparent 70%);
  }
}
@media (min-width: 768px) {
  .subpage-hero--inspection .subpage-hero__photo::after {
    position: absolute;
    inset: 0;
    background: url('../images/inspection/favorite-car-lettering.webp') right 8% / 25% auto no-repeat, url('../images/inspection/good-car-lettering.webp') 75% 25% / 23% auto no-repeat;
    content: '';
  }
}
.inspection-eyebrow {
  color: #1289c7;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.inspection-heading {
  color: #135d91;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.6;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .inspection-heading {
    font-size: 1.875rem;
  }
}
.inspection-heading__phrase {
  display: inline-block;
}
.inspection-heading em {
  padding-inline: .12em;
  color: #f39220;
  font-size: 1.7em;
  font-style: normal;
  line-height: 1;
}
.inspection-section-heading {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding-bottom: 28px;
  text-align: center;
}
.inspection-section-heading > p:not(.inspection-eyebrow) {
  font-size: .875rem;
  line-height: 1.9;
  text-wrap: balance;
}
.inspection-about__layout {
  display: grid;
  gap: 28px;
  align-items: center;
}
@media (min-width: 768px) {
  .inspection-about__layout {
    grid-template-columns: 1.13fr 1fr;
    gap: 32px;
  }
}
.inspection-about__copy {
  display: grid;
  gap: 14px;
  padding-left: 14px;
  border-left: 3px solid #38b8e9;
}
.inspection-about__text {
  display: grid;
  gap: 10px;
  font-size: .9375rem;
  line-height: 1.95;
  text-wrap: balance;
}
.inspection-about__photo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.inspection-about::after {
  position: absolute;
  z-index: -1;
  right: 1%;
  bottom: 12px;
  width: 12%;
  height: 80%;
  background: url('../images/inspection/04_palm_right.webp') right bottom / contain no-repeat;
  content: '';
}
.inspection-wave-band {
  background: #edf9ff;
}
.inspection-wave-band::before,
.inspection-wave-band::after {
  position: absolute;
  z-index: -1;
  inset-inline: 0;
  height: 26px;
  background: #edf9ff;
  border-radius: 50%;
  content: '';
}
.inspection-wave-band::before {
  top: -12px;
  transform: rotate(1deg);
}
.inspection-wave-band::after {
  bottom: -12px;
  transform: rotate(-1deg);
}
.inspection-points__note {
  display: none;
}
@media (min-width: 1025px) {
  .inspection-points__note {
    position: absolute;
    top: 30px;
    right: 3%;
    display: block;
    color: #2b9bd2;
    font-family: 'Segoe Script', 'Brush Script MT', cursive;
    font-size: 1.25rem;
    font-style: italic;
    line-height: 1.5;
    text-align: center;
    transform: rotate(-8deg);
  }
}
.inspection-points__grid {
  display: grid;
  gap: 20px;
}
@media (min-width: 1025px) {
  .inspection-points__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
  }
}
.inspection-point {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  padding: 24px 20px;
  border: 1px solid #e1f0f8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 5px 14px #2475a515;
}
@media (min-width: 1025px) {
  .inspection-point {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    padding: 24px 16px;
  }
}
.inspection-point img,
.inspection-concern img,
.inspection-step img {
  display: block;
  width: 100%;
  height: auto;
}
.inspection-point > img {
  align-self: center;
}
.inspection-point__copy {
  display: grid;
  gap: 8px;
}
.inspection-point__number {
  color: #23a1d5;
  font-size: .875rem;
  font-weight: 700;
}
.inspection-point h3,
.inspection-concern h3,
.inspection-step h3 {
  color: #145e92;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  text-wrap: balance;
}
@media (min-width: 1025px) {
  .inspection-point h3 {
    display: flex;
    min-height: 1.7em;
    align-items: center;
  }
}
.inspection-point p,
.inspection-concern p {
  font-size: .875rem;
  line-height: 1.9;
  text-wrap: balance;
}
.inspection-concerns {
  background: url('../images/inspection/05_palm_left.webp') 1% 4% / 13% auto no-repeat, url('../images/inspection/04_palm_right.webp') 99% 96% / 13% auto no-repeat;
}
.inspection-concerns__grid {
  display: grid;
  gap: 20px;
}
@media (min-width: 768px) {
  .inspection-concerns__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}
.inspection-concern {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 22px 18px;
  border: 1px solid #d4e9f5;
  border-radius: 14px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 4px 12px #2475a512;
}
@media (min-width: 1025px) {
  .inspection-concern {
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 22px;
    padding: 26px;
  }
}
.inspection-concern__copy {
  display: grid;
  gap: 8px;
}
@media (min-width: 768px) {
  .inspection-concern h3 {
    display: flex;
    min-height: 3.4em;
    align-items: center;
  }
}
.inspection-flow {
  padding-bottom: 120px;
  background-image: url('../images/inspection/06_sports_car_lineart.webp'), url('../images/inspection/07_smooth_and_easy_lettering.webp');
  background-position: 1% bottom, 99% 95%;
  background-repeat: no-repeat;
  background-size: 15% auto, 12% auto;
}
@media (min-width: 768px) {
  .inspection-flow {
    padding-bottom: 72px;
  }
}
.inspection-flow__grid {
  display: grid;
  gap: 32px;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .inspection-flow__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
  }
}
.inspection-step {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 14px;
  padding: 32px 16px 24px;
  border: 1px solid #d6ebf7;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 12px #2475a512;
  text-align: center;
}
.inspection-step:not(:last-child)::after {
  position: absolute;
  bottom: -21px;
  width: 12px;
  height: 12px;
  border-right: 3px solid #38a8d8;
  border-bottom: 3px solid #38a8d8;
  transform: rotate(45deg);
  content: '';
}
@media (min-width: 768px) {
  .inspection-step:not(:last-child)::after {
    top: calc(50% - 6px);
    right: -23px;
    bottom: auto;
    transform: rotate(-45deg);
  }
}
.inspection-step__number {
  position: absolute;
  top: -13px;
  left: 16px;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #27a3d9;
  color: #fff;
  font-size: .875rem;
  font-weight: 700;
}
.inspection-step img {
  width: 66px;
}
.inspection-step h3 {
  display: grid;
  min-height: 3.4em;
  align-content: center;
}
.inspection-flow__note {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 8px;
  padding-top: 26px;
  font-size: .875rem;
  line-height: 1.9;
  text-wrap: balance;
}
.inspection-flow__note i {
  color: #25a0d5;
}
.subpage-hero--inspection .subpage-hero__eyebrow-art {
  width: 240px;
  height: auto;
}
@media (min-width: 768px) {
  .subpage-hero--inspection .subpage-hero__eyebrow-art {
    width: 280px;
  }
}
