img {
  display: block !important;
  max-width: 100% !important;
}

picture,
figure {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.hero img,
.hero-image img,
.hero-img img,
[class*="hero"] img {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.service-card img,
.service-image img,
.card img,
[class*="service"] img,
[class*="photo"] img,
[class*="image"] img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 1024px) {
  img {
    max-width: 100% !important;
  }

  .hero img,
  .hero-image img,
  .hero-img img,
  [class*="hero"] img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }
}

/* HOMEPAGE PORSCHE IMAGE FIX */
img[src$="img-829f3452b4.webp"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
}

@media (max-width: 768px) {
  img[src$="img-829f3452b4.webp"] {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }
}

/* HOMEPAGE WORK GALLERY TEXT FIX */
.work-card,
[class*="work-card"],
.portfolio-card,
.gallery-card {
  position: relative !important;
  overflow: hidden !important;
}

.work-card::after,
[class*="work-card"]::after,
.portfolio-card::after,
.gallery-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.08) 20%,
    rgba(0,0,0,0.72) 100%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.work-card h3,
.work-card p,
.work-card span,
[class*="work-card"] h3,
[class*="work-card"] p,
[class*="work-card"] span,
.portfolio-card h3,
.portfolio-card p,
.gallery-card h3,
.gallery-card p {
  position: relative !important;
  z-index: 2 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important;
}

.work-card p,
[class*="work-card"] p,
.portfolio-card p,
.gallery-card p {
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.work-card .location,
[class*="work-card"] .location,
.portfolio-card .location,
.gallery-card .location {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* ACTUAL HOMEPAGE GALLERY TEXT FIX */
.gal-item {
  position: relative !important;
  overflow: hidden !important;
}

.gal-item::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.08) 15%,
    rgba(0, 0, 0, 0.82) 100%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.gal-cap {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 22px !important;
  color: #ffffff !important;
}

.gal-cap .job-svc,
.gal-cap .job-desc,
.gal-cap .job-loc {
  position: relative !important;
  z-index: 3 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.95) !important;
}

.gal-cap .job-svc {
  align-self: flex-start !important;
  background: #d71920 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  padding: 8px 12px !important;
  margin-bottom: 12px !important;
  border-radius: 4px !important;
}

.gal-cap .job-desc {
  font-size: 17px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}

.gal-cap .job-loc {
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* GALLERY VEHICLE TITLE FIX */
.gal-cap h3,
.gal-cap h2,
.gal-cap .job-title,
.gal-cap .vehicle-title,
.gal-cap strong {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 5px rgba(0,0,0,0.95) !important;
  position: relative !important;
  z-index: 3 !important;
}

/* GALLERY VEHICLE NAME — ACTUAL B TAG */
.gal-cap b,
.gal-cap div b,
.gal-item .gal-cap b {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 900 !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 1) !important;
  position: relative !important;
  z-index: 5 !important;
}

/* FINAL HOMEPAGE PORSCHE IMAGE CORRECTION */
img[src$="img-829f3452b4.webp"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 18px !important;
}

div:has(> img[src$="img-829f3452b4.webp"]) {
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  align-self: center !important;
}

/* HOMEPAGE ABOUT SECTION — WIDEN IMAGE COLUMN */
section:has(img[src$="img-829f3452b4.webp"]) .wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) !important;
  align-items: center !important;
  gap: 48px !important;
  width: min(1280px, calc(100% - 48px)) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
}

section:has(img[src$="img-829f3452b4.webp"]) picture,
section:has(img[src$="img-829f3452b4.webp"]) div:has(> img[src$="img-829f3452b4.webp"]) {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  overflow: visible !important;
}

section:has(img[src$="img-829f3452b4.webp"]) img[src$="img-829f3452b4.webp"] {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 18px !important;
}

@media (max-width: 850px) {
  section:has(img[src$="img-829f3452b4.webp"]) .wrap {
    grid-template-columns: 1fr !important;
    width: min(100% - 32px, 760px) !important;
    gap: 28px !important;
  }
}

/* EXACT ABOUT-SECTION IMAGE FIX */
#about .about-grid img[src$="img-a76a092766.webp"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 8px !important;
}

/* FINAL GALLERY LABEL AND TEXT POSITIONING */
.gal-item {
  position: relative !important;
  overflow: hidden !important;
}

.gal-cap {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 72px 20px 20px !important;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.08) 10%,
    rgba(0,0,0,0.82) 100%
  ) !important;
}

.gal-cap .job-svc {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin: 0 !important;
  padding: 9px 13px !important;
  background: #d71920 !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  z-index: 10 !important;
}

.gal-cap b,
.gal-cap .job-desc,
.gal-cap .job-loc {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 5px rgba(0,0,0,0.95) !important;
}

.gal-cap b {
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.gal-cap .job-desc {
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

.gal-cap .job-loc {
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

@media (max-width: 768px) {
  .gal-cap {
    padding: 62px 16px 16px !important;
  }

  .gal-cap .job-svc {
    top: 12px !important;
    left: 12px !important;
    max-width: calc(100% - 24px) !important;
    font-size: 11px !important;
    padding: 7px 10px !important;
  }

  .gal-cap b {
    font-size: 16px !important;
  }

  .gal-cap .job-desc {
    font-size: 14px !important;
  }
}

/* GALLERY LIGHTBOX */
.gal-item {
  cursor: zoom-in !important;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.92);
}

.gallery-lightbox.is-open {
  display: flex;
}

.gallery-lightbox img {
  display: block;
  max-width: min(1100px, 92vw);
  max-height: 86vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.5);
}

.gallery-lightbox-close {
  position: fixed;
  top: 18px;
  right: 22px;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #111111;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.gallery-lightbox-caption {
  position: fixed;
  left: 24px;
  right: 24px;
  bottom: 18px;
  color: #ffffff;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
}

/* FINAL HOMEPAGE HERO IMAGE SIZE */
html body header .hero-photo {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: start !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

html body header .hero-photo > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 190px) !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
}

@media (max-width: 768px) {
  html body header .hero-photo > img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }
}

/* RESTORE AND SIZE HOMEPAGE HERO PHOTO */
html body .hero-photo {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: clamp(380px, 40vw, 500px) !important;
  min-height: 380px !important;
  max-height: calc(100vh - 220px) !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body .hero-photo picture {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

html body .hero-photo img,
html body .hero-photo picture img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 768px) {
  html body .hero-photo {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
  }
}
