/* GLOW DETAIL v5.5: authentic approved hero scene, full-bleed service banners.
   Other pages, typography, colors, service texts, photos of genuine work, forms, map unchanged. */
:root { --hero-shell:#f0ece9; --gold-soft:#b88b43; }
html,body,.site {max-width:100%;overflow-x:clip}
/* Restore the original approved photographic workshop scene, not a pixelated cut-out. */
.home-stage{height:auto!important; min-height:0!important;background:var(--hero-shell)!important;overflow:hidden!important;isolation:isolate}
.home-stage::before,.home-stage::after{display:none!important;content:none!important}
.home-hero{
  width:min(1672px,100%)!important;max-width:1672px!important;
  height:auto!important;min-height:0!important;aspect-ratio:1672 / 490!important;
  display:block!important;position:relative!important;margin-inline:auto!important;
  padding:0!important;overflow:hidden!important;text-align:left!important;
}
.home-hero .hero-photo{
  display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;
  margin:0!important;padding:0!important;transform:none!important;
  overflow:hidden!important;aspect-ratio:auto!important;z-index:0!important;pointer-events:none!important;
}
.home-hero .hero-photo picture{display:block!important;width:100%!important;height:100%!important}
.home-hero .hero-photo img{
  display:block!important;width:100%!important;height:100%!important;max-height:none!important;max-width:100%!important;
  object-fit:contain!important;object-position:center!important;image-rendering:auto!important;
  transform:none!important;filter:none!important;content:normal!important;
  -webkit-mask-image:none!important;mask-image:none!important;
}
.home-hero .hero-photo::after{display:none!important;content:none!important}
.home-hero .hero-copy{
  position:absolute!important;z-index:2!important;left:clamp(110px,7vw,148px)!important;top:50%!important;
  width:min(43%,610px)!important;max-width:610px!important;min-width:0!important;
  margin:0!important;padding:0!important;transform:translateY(-50%)!important;text-align:left!important;
}
.home-hero h1.hero-title{font-size:clamp(42px,4.5vw,76px)!important;line-height:1.08!important;white-space:nowrap!important}
.home-hero h2.hero-subtitle{font-size:clamp(19px,1.8vw,28px)!important;line-height:1.28!important}
.home-hero p.hero-description{font-size:clamp(14px,1.2vw,18px)!important;line-height:1.45!important;margin-bottom:22px!important}
.home-hero .hero-actions{justify-content:flex-start!important;flex-wrap:wrap!important}
.home-hero .hero-actions .btn{padding-inline:19px!important;min-height:45px!important;font-size:12px!important}
.social-rail{left:max(12px,calc((100vw - 1730px)/2 + 12px))!important}
/* Service hero is a full-width photograph. Text remains genuine responsive HTML. */
.service-detail-hero.service-immersive{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  padding:0!important;min-height:clamp(650px,49vw,790px)!important;
  background:#e9e7e3!important;display:flex!important;align-items:stretch!important;
}
.service-immersive .service-detail-layout{
  position:relative!important;z-index:2!important;
  width:min(1510px,calc(100% - 110px))!important;max-width:1510px!important;
  min-height:inherit!important;height:auto!important;display:flex!important;
  align-items:center!important;justify-content:flex-start!important;gap:0!important;
  margin:auto!important;padding:55px 0!important;
}
.service-immersive .service-detail-photo{
  position:absolute!important;inset:0!important;display:block!important;z-index:-2!important;
  margin:0!important;padding:0!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;min-height:0!important;
  aspect-ratio:auto!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;background:transparent!important;overflow:hidden!important;
}
.service-immersive .service-detail-photo img{
  display:block!important;width:100%!important;height:100%!important;max-height:none!important;
  object-fit:cover!important;object-position:center 46%!important;filter:none!important;
  transform:none!important;image-rendering:auto!important;
}
/* Layer on top of the picture, below text. Prevent text from disappearing into detailed objects. */
.service-immersive::before{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(248,245,241,.98) 0%, rgba(247,244,240,.96) 24%,
    rgba(247,244,240,.84) 39%,rgba(247,244,240,.42) 55%,rgba(247,244,240,.06) 76%,transparent 100%)!important;
}
.service-immersive::after{content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important;
 background:linear-gradient(0deg,rgba(237,232,225,.14),transparent 21%)!important}
.service-immersive .service-detail-copy{
  position:relative!important;z-index:3!important;flex:0 1 650px!important;
  width:min(46%,650px)!important;max-width:650px!important;min-width:0!important;
  padding:0!important;margin:0!important;background:none!important;text-align:left!important;
}
.service-immersive .service-detail-copy h1{font-size:clamp(46px,4.65vw,75px)!important;color:#19191a!important;line-height:1.08!important;letter-spacing:-.045em!important}
.service-immersive .service-detail-copy h2{font-size:clamp(21px,2.05vw,30px)!important;line-height:1.28!important;color:#aa7d3c!important;max-width:650px!important}
.service-immersive .service-detail-copy p{font-size:clamp(15px,1.15vw,18px)!important;color:#393635!important;line-height:1.65!important;max-width:600px!important}
.service-immersive .crumb-link{color:#5f5145!important}
.service-immersive .detail-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:11px!important}
/* 12-to-18-inch screens: retain natural photo height without clipping BMW or text. */
@media(min-width:951px) and (max-width:1300px){
 .home-hero .hero-copy{left:clamp(72px,7vw,105px)!important;width:43%!important}
 .home-hero h1.hero-title{font-size:clamp(40px,4.6vw,57px)!important}
 .home-hero h2.hero-subtitle{font-size:clamp(18px,1.8vw,24px)!important;margin-bottom:10px!important}
 .home-hero p.hero-description{font-size:14px!important;margin-bottom:15px!important}
 .home-hero .hero-actions .btn{font-size:11px!important;min-height:42px!important}
}
/* 1100px and below: text first, full uncropped mobile car photo as a separate band. */
@media(max-width:1100px){
 .home-hero{width:100%!important;max-width:none!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;overflow:hidden!important;
  padding:33px 0 0!important;text-align:center!important}
 .home-hero .hero-copy{position:relative!important;left:auto!important;top:auto!important;transform:none!important;
  width:min(92%,740px)!important;max-width:740px!important;min-width:0!important;
  margin:0 auto!important;padding:0!important;text-align:center!important;order:0!important}
 .home-hero h1.hero-title{font-size:clamp(40px,7vw,65px)!important}
 .home-hero h2.hero-subtitle{font-size:clamp(18px,3vw,27px)!important}
 .home-hero p.hero-description{margin:0 auto 19px!important}
 .home-hero .hero-short-rule{margin:11px auto 15px!important}
 .home-hero .hero-actions{justify-content:center!important}
 .home-hero .hero-photo{position:relative!important;inset:auto!important;width:min(100%,900px)!important;height:auto!important;
  aspect-ratio:790 / 330!important;margin:22px 0 0!important;order:1!important;transform:none!important}
 .home-hero .hero-photo picture,.home-hero .hero-photo img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
 .social-rail{display:none!important}
}
@media(max-width:800px){
 .service-detail-hero.service-immersive{min-height:760px!important;}
 .service-immersive .service-detail-layout{width:calc(100% - 46px)!important;align-items:flex-start!important;padding:48px 0 250px!important;}
 .service-immersive .service-detail-copy{width:100%!important;max-width:640px!important;flex-basis:auto!important;align-self:flex-start!important}
 .service-immersive::before{
  background:linear-gradient(180deg,rgba(248,245,241,.99) 0%,rgba(248,245,241,.98) 24%,
    rgba(248,245,241,.9) 40%,rgba(248,245,241,.35) 74%,rgba(248,245,241,.1) 100%)!important;
 }
 .service-immersive .service-detail-photo img{object-position:57% center!important}
 .service-immersive .service-detail-copy h1{font-size:clamp(37px,7vw,58px)!important}
 .service-immersive .service-detail-copy h2{font-size:clamp(19px,3vw,25px)!important}
}
@media(max-width:560px){
 .home-hero{padding-top:25px!important}
 .home-hero h1.hero-title{font-size:clamp(34px,9vw,50px)!important}
 .home-hero .hero-actions{gap:8px!important;flex-wrap:nowrap!important}
 .home-hero .hero-actions .btn{font-size:10px!important;min-height:42px!important;padding:0 11px!important}
 .home-hero .hero-photo{width:100%!important;margin-top:15px!important}
 .service-detail-hero.service-immersive{min-height:770px!important}
 .service-immersive .service-detail-layout{width:calc(100% - 36px)!important;padding:37px 0 230px!important}
 .service-immersive .service-detail-copy h1{font-size:clamp(35px,8vw,45px)!important}
 .service-immersive .service-detail-copy h2{font-size:19px!important}
 .service-immersive .service-detail-copy p{font-size:14px!important;line-height:1.5!important}
 .service-immersive .detail-hero-actions .btn{font-size:11px!important;padding:0 13px!important}
}
@media(prefers-reduced-motion:reduce){.service-immersive *{scroll-behavior:auto!important}}

/* Photo is a direct child of the hero section, so the gradient can sit above it and below the copy. */
.service-immersive>.service-detail-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;isolation:auto!important}
.service-immersive>.service-detail-layout{position:relative!important;z-index:3!important}
.service-immersive::before{z-index:1!important}
.service-immersive::after{z-index:2!important}
