/* SGTM V521 — Mazda case study design alignment; scoped exclusively to the Mazda page.
   Sharper section edges, existing SGTM blue/navy contrasts, and floating hero photo. */
body#sgtm-premium-v223 main.maz518.maz521-theme {
  --maz521-navy:#071b2e;--maz521-navy2:#0a2e4a;--maz521-cyan:#2bbcf5;
  --maz521-blue:#087ac6;--maz521-ink:#0e2d46;--maz521-line:#c7dbe9;
}
/* No decorative rounded cards, hero photo frames or pills on this case-study page. */
body#sgtm-premium-v223 main.maz518.maz521-theme :is(.maz518-button,.maz518-tags span,.maz518-hero-photo,.maz518-spec-grid>div,.maz518-split,.maz518-inline-note,.maz518-step,.maz518-postal-step,.maz518-gallery-grid figure,.maz518-gallery-grid img,.maz518-video-block,.maz518-video video,.maz518-safety-grid article,.maz518-warning,.maz518-links-grid>a,.maz518-faq-list details,.maz518-final,.maz521-hero-label,.maz521-photo-wash,.maz518-image-panel,.maz518-copy-panel){
  border-radius:0!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero{
  background:radial-gradient(ellipse at 75% 43%,rgba(24,94,154,.28) 0%,transparent 49%),
    linear-gradient(115deg,#071929 0%,#0a2942 65%,#061b2e 100%)!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero::before{
  background-image:linear-gradient(to right,rgba(59,157,220,.065) 1px,transparent 1px),
   linear-gradient(to bottom,rgba(59,157,220,.065) 1px,transparent 1px)!important;
  background-size:72px 72px!important;opacity:1!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
  gap:clamp(24px,3vw,48px)!important;
  min-height:590px;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-copy{position:relative;z-index:3}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero .maz518-eyebrow{border-left:0!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero .maz518-eyebrow::before{
  content:"";display:inline-block!important;width:48px;height:2px;vertical-align:middle;
  margin-right:12px;background:#2bbcf5;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero h1{max-width:19ch!important;letter-spacing:-.038em!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-tags span{padding:8px 11px!important;border:1px solid rgba(110,214,255,.24)!important}

/* Floating real workshop module: no photo-card background or rounded frame. */
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating{
  display:block!important;
  margin:0!important;padding:0!important;min-height:480px!important;
  overflow:visible!important;border:0!important;background:transparent!important;
  box-shadow:none!important;position:relative!important;
  isolation:isolate;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz521-hero-glow{
  position:absolute;z-index:-1;width:90%;height:78%;left:4%;top:8%;border-radius:50%;
  background:radial-gradient(circle,rgba(48,181,245,.24) 0%,rgba(7,84,152,.08) 47%,transparent 74%);
  filter:blur(18px);pointer-events:none;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz521-hero-ring{
  position:absolute;z-index:-1;left:5%;top:6%;width:85%;aspect-ratio:1;
  border:1px solid rgba(55,179,240,.24);border-radius:50%;
  box-shadow:0 0 0 46px rgba(38,169,231,.035),0 0 0 94px rgba(38,169,231,.025);
  pointer-events:none;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating img{
  position:relative;z-index:1;display:block!important;width:112%!important;max-width:none!important;
  height:510px!important;object-fit:cover!important;object-position:48% 58%!important;
  transform:translateX(-3%) rotate(-2.2deg);
  /* fade busy workbench edges naturally into the hero, without modifying the photograph */
  -webkit-mask-image:radial-gradient(ellipse 65% 63% at 51% 51%, #000 56%, transparent 100%);
  mask-image:radial-gradient(ellipse 65% 63% at 51% 51%, #000 56%, transparent 100%);
  filter:drop-shadow(0 24px 25px rgba(0,0,0,.2));
  animation:maz521-float 7s ease-in-out infinite;
}
@keyframes maz521-float{
  0%,100%{transform:translateX(-3%) translateY(0) rotate(-2.2deg)}
  50%{transform:translateX(-3%) translateY(-13px) rotate(-1.3deg)}
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating figcaption{
  z-index:3;position:absolute;left:auto;right:0;bottom:6%;width:min(300px,78%);padding:17px 20px!important;
  border-left:3px solid var(--maz521-cyan);
  background:linear-gradient(115deg,rgba(4,18,32,.94),rgba(10,42,69,.94))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating figcaption span{font-size:10px!important;line-height:1.3}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating figcaption strong{font-size:16px!important;line-height:1.4}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz521-hero-coordinate{
  position:absolute;left:8%;top:9%;font-size:10px;letter-spacing:.2em;color:#78d3f2;
  font-weight:800;opacity:.84;
}
/* Crisp editorial spacing + one intentional cyan accent per intro. */
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-block{margin-bottom:clamp(48px,6vw,80px)!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-section-head{align-items:start!important;gap:clamp(28px,3.5vw,52px)!important;margin-bottom:30px!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-section-head h2{max-width:21ch!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-section-head>p{max-width:55ch!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-spec-grid>div{
  border-top:2px solid rgba(18,146,215,.78)!important;
  box-shadow:0 12px 27px rgba(5,45,79,.055)!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-split{
  align-items:stretch!important;border-radius:0!important;overflow:hidden!important;
  border:1px solid rgba(9,94,160,.10)!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-image-panel{
  padding:0!important;margin:0!important;background:#f4f8fc!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-image-panel img{
  width:100%!important;min-height:0!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;border-radius:0!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-image-panel figcaption{
  border-left:3px solid var(--maz521-cyan);background:#0b2a42!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-copy-panel{
  padding:clamp(28px,3.6vw,54px)!important;
  display:flex;flex-direction:column;justify-content:center;
  border-radius:0!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-copy-panel .maz518-eyebrow{color:#087ac6!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-copy-panel h3{max-width:25ch!important}
/* Service cards, photos, FAQs and final enquiry: square-edged consistent site grammar. */
body#sgtm-premium-v223 main.maz518.maz521-theme :is(.maz518-step,.maz518-postal-step,.maz518-safety-grid article,.maz518-links-grid>a){
  border-top:2px solid rgba(16,140,206,.58)!important;
  border-radius:0!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-gallery-grid figure{border:0!important;border-radius:0!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-gallery-grid img{border-radius:0!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-gallery-grid figcaption{min-height:76px}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-video-block{border-top:3px solid #19b7f5!important;border-radius:0!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-faq-list details{border-radius:0!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-final{border-radius:0!important;border-top:3px solid var(--maz521-cyan)!important}
/* preserve the muted MP4 and existing FAQ interaction unchanged */
@media(max-width:1050px){
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-grid{grid-template-columns:1fr 1fr!important;min-height:0}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating img{height:440px!important}
}
@media(max-width:760px){
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-grid{grid-template-columns:1fr!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating{min-height:330px!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating img{width:100%!important;height:350px!important;transform:none!important;animation:none!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating figcaption{right:2%;bottom:0}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-split{grid-template-columns:1fr!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-image-panel img{height:auto!important;min-height:0!important;max-height:440px!important;aspect-ratio:4/3!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-copy-panel{padding:25px 22px!important}
}
@media(max-width:500px){
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating img{height:305px!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating{min-height:325px!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating figcaption{width:90%;right:0}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero h1{font-size:clamp(29px,7.5vw,42px)!important}
}
@media(prefers-reduced-motion:reduce){body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating img{animation:none!important}}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating img{filter:none!important;transform:none!important;animation:none!important}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating{isolation:auto!important}

/* V521 floating module photo: softer edges, reliable without a new or duplicate image */
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating img{
  -webkit-mask-image:radial-gradient(ellipse 65% 63% at 51% 51%,#000 56%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 65% 63% at 51% 51%,#000 56%,transparent 100%)!important;
  transform:translateY(-10px) rotate(-1deg)!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz521-hero-ring,
body#sgtm-premium-v223 main.maz518.maz521-theme .maz521-hero-glow{z-index:0!important}


/* V522 — Mazda transparent floating hero module */
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating.maz521-hero-cutout{
  min-height:500px!important;
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating.maz521-hero-cutout img{
  width:116%!important;
  max-width:none!important;
  height:520px!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:translateX(-2%) rotate(-2.4deg)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:drop-shadow(0 30px 42px rgba(1,12,24,.34)) drop-shadow(0 0 26px rgba(53,188,245,.14))!important;
  animation:maz521-cutout-float 7s ease-in-out infinite!important;
}
@keyframes maz521-cutout-float{
  0%,100%{transform:translateX(-2%) translateY(0) rotate(-2.4deg)}
  50%{transform:translateX(-2%) translateY(-12px) rotate(-1.4deg)}
}
body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating.maz521-hero-cutout figcaption{
  bottom:4%!important;
  right:1%!important;
}
@media (max-width: 980px){
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating.maz521-hero-cutout{min-height:360px!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating.maz521-hero-cutout img{width:100%!important;height:360px!important;transform:none!important;animation:none!important}
}
@media (max-width: 640px){
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating.maz521-hero-cutout{min-height:320px!important}
  body#sgtm-premium-v223 main.maz518.maz521-theme .maz518-hero-photo.maz521-hero-floating.maz521-hero-cutout img{height:300px!important}
}
