/*
 * Managed hero copy lives inside the approved page-specific media shells.
 * These rules neutralize the standalone Gutenberg-section treatment so an
 * editor can change words and links without replacing video, imagery, grids,
 * carousel controls, or spacing supplied by the template.
 */
.managed-hero-copy {
  position:relative;
  width:100%;
  max-width:none;
  color:inherit;
  background:transparent;
}

.managed-hero-copy > :where(.roova-pattern-section,.wp-block-group,.wp-block-cover),
.managed-hero-copy > .roova-pattern-section.roova-pattern-hero {
  display:block;
  min-height:0;
  width:100%;
  max-width:none!important;
  margin:0;
  padding:0;
  color:inherit;
  background:transparent;
  background-image:none;
}

.managed-hero-copy > .roova-pattern-section > * {
  width:auto;
  max-width:none;
  margin-inline:0;
}

.managed-hero-copy .roova-pattern-title,
.managed-hero-copy .roova-pattern-intro,
.managed-hero-copy .wp-block-buttons,
.managed-hero-copy .wp-block-button {
  margin-bottom:0;
}

.managed-hero-copy .wp-block-button__link {
  display:inline-flex;
  min-width:0;
  height:clamp(46px,3.229167vw,70px);
  align-items:center;
  justify-content:center;
  gap:clamp(12px,1.041667vw,22px);
  padding:0 clamp(24px,2.083333vw,48px);
  border:0;
  border-left:4px solid var(--red);
  border-radius:0;
  color:#fff;
  background:#353535;
  font:700 clamp(10px,.729167vw,16px)/1 Arial,sans-serif;
  text-transform:uppercase;
}

.managed-hero-copy .wp-block-button__link::before {
  content:"+";
  color:var(--red);
  font:400 20px/1 Arial,sans-serif;
}

.managed-hero-copy .wp-block-button__link:hover {
  color:#fff;
  background:#191919;
}

/* Home: retain the accepted slide typography and staggered slide animation. */
.hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
  max-width:1100px;
  margin:0;
  color:#fff;
  font-size:clamp(42px,4.479167vw,108px);
  font-weight:700;
  line-height:1.07;
  letter-spacing:-.045em;
  text-transform:uppercase;
}

.hero .managed-hero-copy .roova-pattern-intro {
  max-width:80%;
  margin-top:2.34375vw;
  color:#fff;
  font:italic clamp(13px,1.145833vw,25px)/1.4 Arial,sans-serif;
  text-transform:uppercase;
}

.hero .managed-hero-copy .wp-block-buttons {
  margin-top:3.125vw;
}

/* About: keep the factory image, overlay, grid, and the approved text scale. */
.about-hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
  max-width:1120px;
  margin-top:0;
  color:#fff;
  font-size:clamp(46px,5.4vw,112px);
  font-weight:750;
  line-height:.98;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.about-hero .managed-hero-copy .roova-pattern-intro {
  max-width:760px;
  margin-top:clamp(24px,2.2vw,42px);
  color:#e2e3e5;
  font:clamp(15px,1.05vw,21px)/1.7 Arial,sans-serif;
}

.about-hero .managed-hero-copy .wp-block-buttons {
  margin-top:clamp(28px,2.6vw,50px);
}

/* Contact: keep the workshop image and align managed copy with the original. */
.contact-hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
  max-width:1160px;
  margin:0;
  color:#fff;
  font-size:clamp(50px,6.2vw,116px);
  font-weight:700;
  line-height:.95;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.contact-hero .managed-hero-copy .roova-pattern-intro {
  max-width:720px;
  margin-top:clamp(26px,2.8vw,48px);
  color:#d0d3d8;
  font:clamp(15px,1vw,19px)/1.75 Arial,sans-serif;
}

.contact-hero .managed-hero-copy .wp-block-buttons {
  margin-top:clamp(30px,3.6vw,62px);
}

.contact-hero .managed-hero-copy .wp-block-button__link {
  border-left-color:var(--red);
  background:var(--red);
}

.contact-hero .managed-hero-copy .wp-block-button__link::before {
  color:#fff;
}

.contact-hero .managed-hero-copy .wp-block-button__link:hover {
  background:#bb0500;
}

/* Wheels and Suspension: the three-video switcher and its controls stay intact. */
.topic-hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
  max-width:1100px;
  margin:clamp(38px,2.916667vw,56px) 0 0;
  color:#fff;
  font-size:clamp(58px,4.479167vw,86px);
  font-weight:700;
  line-height:1.0698;
  letter-spacing:-.045em;
  text-transform:uppercase;
}

.topic-hero .managed-hero-copy .roova-pattern-intro {
  max-width:710px;
  margin-top:clamp(24px,1.354167vw,26px);
  color:#e0e1e3;
  font:italic clamp(13px,.833333vw,16px)/1.25 Arial,sans-serif;
}

.topic-hero-wheels .managed-hero-copy .roova-pattern-intro {
  max-width:681px;
}

.topic-hero .managed-hero-copy .wp-block-buttons {
  margin-top:clamp(48px,3.90625vw,75px);
}

.topic-hero .managed-hero-copy .wp-block-button__link {
  width:242px;
  padding-inline:0;
  gap:15px;
  border-left-width:8px;
  white-space:nowrap;
}

@media(max-width:991.98px) {
  .hero .managed-hero-copy .roova-pattern-intro {
    max-width:95%;
  }

  .hero .managed-hero-copy .wp-block-buttons {
    margin-top:30px;
  }

  .topic-hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
    font-size:clamp(48px,8.6vw,74px);
  }

  .topic-hero .managed-hero-copy .roova-pattern-intro {
    max-width:620px;
  }

  .topic-hero .managed-hero-copy .wp-block-buttons {
    margin-top:42px;
  }
}

@media(max-width:767.98px) {
  .about-hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
    max-width:620px;
  }

  .about-hero .managed-hero-copy .roova-pattern-intro {
    max-width:540px;
  }

  .contact-hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
    font-size:clamp(46px,13vw,70px);
  }

  .topic-hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
    font-size:clamp(46px,12vw,68px);
  }
}

@media(max-width:575.98px) {
  .about-hero .managed-hero-copy :is(h1,h2).roova-pattern-title:not(.screen-reader-text) {
    font-size:clamp(40px,13vw,62px);
  }

  .about-hero .managed-hero-copy .roova-pattern-intro {
    font-size:14px;
  }

  .topic-hero .managed-hero-copy .roova-pattern-intro {
    font-size:12px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .managed-hero-copy .wp-block-button__link {
    transition:none;
  }
}
