/*
  Junk2Go supplied-image placement revision (2026-08-23 R2)
  These rules use the supplied illustrations as separate, intentional visual
  panels. They also turn off the earlier repeated decorative mascot placements.
  No booking, pricing, upload, contact, coupon, payment, API, PHP or JavaScript
  behaviour is modified here.
*/

/* Remove the previous repeated cutout mascot decorations. */
body.j2g-cartoon-enhanced .j2g-section-head-mascot,
body.j2g-cartoon-enhanced .j2g-contact-mascot{display:none!important}
body.j2g-cartoon-enhanced #how .grid .card{padding-right:22px!important}
body.j2g-cartoon-enhanced #how .grid .card::after{content:none!important;display:none!important}
body.j2g-cartoon-enhanced .seo-hero-panel::after,
body.j2g-cartoon-enhanced .seo-cta::after{content:none!important;display:none!important}
body.j2g-cartoon-enhanced .seo-hero-panel{padding-right:22px!important}
body.j2g-cartoon-enhanced .seo-cta{padding-right:28px!important}

/* Homepage: one strong hero image, not a full-page background or floating image. */
.j2g-featured-hero-card{
  position:relative;
  min-height:500px;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(15,143,59,.22);
  background:#10251a;
  isolation:isolate;
}
.j2g-featured-hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(2,20,13,.02) 45%,rgba(2,20,13,.82) 100%);
  pointer-events:none;
}
.j2g-featured-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.j2g-featured-hero-overlay{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:64px;
  max-width:520px;
  color:#fff;
  text-shadow:0 2px 16px rgba(0,0,0,.48);
}
.j2g-featured-hero-overlay span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(134,196,64,.94);
  color:#082918;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:none;
}
.j2g-featured-hero-overlay strong{
  display:block;
  margin-top:10px;
  max-width:36ch;
  font-size:clamp(19px,2.3vw,29px);
  line-height:1.15;
}
.j2g-featured-hero-card .badge{
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:16px;
  color:#113923;
  background:rgba(255,255,255,.93);
}

/* Photo upload remains fully functional; the layout is simply no longer padded for a repeated character. */
.j2g-photo-layout--text{grid-template-columns:minmax(0,1fr)!important}

/* One discrete two-person visual after the service cards. */
.j2g-feature-band{
  margin-top:22px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  border-radius:22px;
  background:linear-gradient(135deg,#f3faf2 0%,#fff 62%);
  box-shadow:0 18px 38px rgba(2,38,23,.08);
}
.j2g-feature-band__copy{padding:30px;align-self:center}
.j2g-feature-band__copy h3{margin:8px 0 10px;font-size:clamp(25px,3vw,38px);line-height:1.08}
.j2g-feature-band__copy p{color:var(--muted);max-width:58ch}
.j2g-feature-band__kicker{color:var(--brand-700);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.j2g-feature-band__media{min-height:390px;background:#eaf3e9}
.j2g-feature-band__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}

/* Confidence/about visual uses a different supplied image once. */
.j2g-confidence-visual--photo{min-height:410px;background:#0b2f1d}
.j2g-confidence-visual--photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
  filter:none;
}
.j2g-confidence-visual--photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.48));
  pointer-events:none;
}
.j2g-confidence-visual--photo .j2g-confidence-visual__label{top:auto;bottom:18px;max-width:310px;z-index:2}

.j2g-service-area-visual--text{grid-template-columns:1fr!important;padding-bottom:18px}

/* Internal page hero images: each supplied image is placed once on the page it best supports. */
.j2g-page-hero-visual{
  position:relative;
  min-height:360px!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(15,143,59,.20);
  background:#0b2d1c!important;
}
.j2g-page-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.j2g-page-hero-visual::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 42%,rgba(0,0,0,.76) 100%);
}
.j2g-page-hero-caption{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:18px;
  padding:14px 16px;
  border-radius:15px;
  color:#fff;
  background:rgba(3,39,25,.88);
  box-shadow:0 14px 28px rgba(0,0,0,.20);
}
.j2g-page-hero-caption strong{display:block;color:#fff;font-size:18px}
.j2g-page-hero-caption span{display:block;margin-top:4px;color:rgba(255,255,255,.82);font-size:13px;line-height:1.4}

/* About page supplied crew-chief image. */
.j2g-about-visual--photo img{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover;
  object-position:center;
  transform:none!important;
  filter:none!important;
}
.j2g-about-band--text{grid-template-columns:1fr!important}

@media(max-width:980px){
  .j2g-feature-band{grid-template-columns:1fr}
  .j2g-feature-band__media{min-height:360px}
  .j2g-featured-hero-card{min-height:470px}
}
@media(max-width:700px){
  .j2g-featured-hero-card{min-height:420px}
  .j2g-featured-hero-overlay{left:16px;right:16px;bottom:76px}
  .j2g-featured-hero-card .badge{left:12px;right:12px;bottom:12px;font-size:12px}
  .j2g-feature-band__copy{padding:22px}
  .j2g-feature-band__media{min-height:315px}
  .j2g-page-hero-visual{min-height:330px!important}
}
