.carroussel-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #070707;
    isolation: isolate;
}

.carroussel-hero-reference-ratio-yes .carroussel-hero {
    aspect-ratio: 12 / 5;
    height: auto;
}

.carroussel-hero__slides,
.carroussel-hero__slide,
.carroussel-hero__media,
.carroussel-hero__overlay,
.carroussel-hero__content {
    position: absolute;
    inset: 0;
}

.carroussel-hero__slides {
    z-index: 1;
}

.carroussel-hero__slide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1;
    will-change: opacity, transform;
    transition: opacity var(--crsl-transition, 650ms) ease, transform var(--crsl-transition, 650ms) cubic-bezier(.22,.61,.36,1), visibility var(--crsl-transition, 650ms) ease;
}

.carroussel-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
}

.carroussel-hero[data-transition="slide"] .carroussel-hero__slide {
    opacity: 1;
    visibility: visible;
    transform: translate3d(100%,0,0);
}

.carroussel-hero[data-transition="slide"] .carroussel-hero__slide.is-before {
    transform: translate3d(-100%,0,0);
}

.carroussel-hero[data-transition="slide"] .carroussel-hero__slide.is-after {
    transform: translate3d(100%,0,0);
}

.carroussel-hero[data-transition="slide"] .carroussel-hero__slide.is-active {
    transform: translate3d(0,0,0);
    z-index: 3;
}

.carroussel-hero[data-transition="fade"] .carroussel-hero__image {
    transform: none;
}

.carroussel-hero[data-transition="fade_zoom"] .carroussel-hero__image {
    transform: scale(1.035);
}

.carroussel-hero[data-transition="fade_zoom"] .carroussel-hero__slide.is-active .carroussel-hero__image {
    transform: scale(1);
}

.carroussel-hero__media {
    background: radial-gradient(circle at 75% 50%, #241010 0%, #080808 48%, #000 100%);
}

.carroussel-hero__media picture,
.carroussel-hero__media img,
picture.carroussel-hero__media {
    display: block;
    width: 100%;
    height: 100%;
}

.carroussel-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--crsl-object-position, center center);
    transform: scale(1.008);
    transition: transform calc(var(--crsl-transition, 650ms) * 1.7) ease;
}

.carroussel-hero__slide.is-active .carroussel-hero__image {
    transform: scale(1);
}

.carroussel-hero__overlay {
    z-index: 2;
    pointer-events: none;
}

.carroussel-hero__content {
    z-index: 3;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

.carroussel-hero__content-box {
    width: 100%;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

.carroussel-hero__content-box.is-align-left {
    text-align: left;
    margin-right: auto;
}

.carroussel-hero__content-box.is-align-center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.carroussel-hero__content-box.is-align-right {
    text-align: right;
    margin-left: auto;
}

.carroussel-hero__title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    text-transform: uppercase;
}

.carroussel-hero__content-box.is-align-center .carroussel-hero__title {
    align-items: center;
}

.carroussel-hero__content-box.is-align-right .carroussel-hero__title {
    align-items: flex-end;
}

.carroussel-hero__title-line {
    font-family: 'Russo One', 'Arial Black', sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: .95;
    letter-spacing: -1.2px;
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    text-shadow: 0 4px 16px rgba(0,0,0,.26);
    --crsl-title-skew: -5.5deg;
    --crsl-title-scale-x: 1.18;
    transform: skewX(var(--crsl-title-skew)) scaleX(var(--crsl-title-scale-x));
    transform-origin: left center;
}


.carroussel-hero__description {
    display: flex;
    align-items: flex-start;
}

.carroussel-hero__content-box.is-align-center .carroussel-hero__description {
    justify-content: center;
}

.carroussel-hero__content-box.is-align-right .carroussel-hero__description {
    justify-content: flex-end;
}

.carroussel-hero__description-line {
    --crsl-line-base: #fff;
    --crsl-line-accent: #ef5047;
    flex: 0 0 auto;
    display: block;
    margin-top: .62em;
    background: linear-gradient(90deg, var(--crsl-line-base) 0 72%, var(--crsl-line-accent) 72% 100%);
}

.carroussel-hero__description-text {
    font-family: 'Montserrat', Arial, sans-serif;
    font-weight: 400;
    line-height: 1.28;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0,0,0,.34);
}

.carroussel-hero__button {
    font-family: 'Montserrat', Arial, sans-serif;
    font-weight: 700;
    --crsl-btn-start: #f7443f;
    --crsl-btn-end: #ff1e19;
    --crsl-btn-hover-start: #ff5b52;
    --crsl-btn-hover-end: #f6231b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0 24px;
    color: #fff;
    background: linear-gradient(90deg, var(--crsl-btn-start), var(--crsl-btn-end));
    text-decoration: none !important;
    border: 0;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.carroussel-hero__button:hover,
.carroussel-hero__button:focus {
    color: #fff;
    background: linear-gradient(90deg, var(--crsl-btn-hover-start), var(--crsl-btn-hover-end));
    transform: translateY(-2px);
    outline: none;
}

.carroussel-hero__content-box.is-align-center .carroussel-hero__button {
    margin-left: auto;
    margin-right: auto;
}

.carroussel-hero__content-box.is-align-right .carroussel-hero__button {
    margin-left: auto;
}

.carroussel-hero__button-arrow {
    display: block;
    flex: 0 0 auto;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    transform: rotate(45deg);
}

.carroussel-hero__bullets {
    position: absolute;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: #fff;
    transform: translateY(-50%);
    box-shadow: none;
}

/* Preset fiel ao layout 1920x800: cápsula ~37x120px, dots 15px, centros a cada 25px. */
.carroussel-bullets-orientation-vertical .carroussel-hero__bullets {
    flex-direction: column;
    width: 37px;
    padding-top: 27.5px;
    padding-bottom: 27.5px;
    gap: 10px;
    border-radius: 18.5px;
}

.carroussel-bullets-orientation-horizontal .carroussel-hero__bullets {
    flex-direction: row;
    padding-top: 0;
    padding-bottom: 0;
}

.carroussel-hero__bullet {
    display: block;
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: #202020;
    cursor: pointer;
    transition: transform .2s ease, background-color .2s ease;
    box-shadow: none;
    width: 15px;
    height: 15px;
}

.carroussel-hero__bullet:hover,
.carroussel-hero__bullet:focus-visible {
    transform: scale(1.12);
    outline: none;
}

.carroussel-hero__bullet.is-active {
    background: #ef5047;
}

@media (max-width: 767px) {
    .carroussel-hero-reference-ratio-yes .carroussel-hero {
        aspect-ratio: auto;
        min-height: 620px;
    }

    .carroussel-hero__image {
        object-position: var(--crsl-object-position-mobile, var(--crsl-object-position, center center));
    }

    .carroussel-hero__title-line {
        white-space: normal;
        width: auto;
        --crsl-title-scale-x: 1.08;
    }

    .carroussel-bullets-orientation-vertical .carroussel-hero__bullets {
        width: 34px;
        padding-top: 16px;
        padding-bottom: 16px;
        border-radius: 17px;
    }

    .carroussel-hero__bullet {
        width: 12px;
        height: 12px;
    }

    .carroussel-hero__description {
        align-items: flex-start;
    }

    .carroussel-hide-bullets-mobile-yes .carroussel-hero__bullets {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .carroussel-hero__slide,
    .carroussel-hero__image,
    .carroussel-hero__button,
    .carroussel-hero__bullet {
        transition: none !important;
    }
}


/* v1.7.5 — preset mobile: reduz a altura para mostrar muito mais da arte horizontal
   e evita o recorte extremo visto em telas estreitas. Ao usar uma imagem mobile própria,
   estas regras deixam de ser aplicadas. */
@media(max-width:767px){
  .carroussel-hero.carroussel-hero--preset-art{height:290px!important;min-height:290px!important;aspect-ratio:auto!important}
  .carroussel-hero.carroussel-hero--preset-art .carroussel-hero__image{object-fit:cover!important;object-position:42% center!important}
  .carroussel-hero.carroussel-hero--preset-art .carroussel-hero__bullets{right:12px!important}
}
@media(max-width:420px){
  .carroussel-hero.carroussel-hero--preset-art{height:260px!important;min-height:260px!important}
  .carroussel-hero.carroussel-hero--preset-art .carroussel-hero__image{object-position:40% center!important}
}


/* v1.12.7 — preset oficial 2 banners mobile 450x500.
   As artes mobile têm a mesma proporção do container, portanto não há zoom/corte.
   O bullet permanece um elemento funcional do widget e não faz parte das imagens. */
@media (max-width: 767px) {
    .carroussel-hero.carroussel-hero--preset-pair {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 9 / 10 !important;
        overflow: hidden;
    }

    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__slides,
    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__slide,
    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__media,
    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__image {
        width: 100%;
        height: 100%;
    }

    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__image {
        object-fit: cover !important;
        object-position: center center !important;
        transform: none !important;
    }

    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__bullets {
        right: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}

/* v1.12.8 — correção definitiva da altura da Hero mobile.
   Os filhos do slider são absolutos; por isso o container recebe uma altura
   explícita proporcional às artes 450x500, evitando colapso/altura zero. */
@media (max-width: 767px) {
    .carroussel-hero.carroussel-hero--preset-pair {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        height: 111.111vw !important; /* 500 / 450 */
        min-height: 111.111vw !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        overflow: hidden !important;
        background: #070707;
    }

    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__slides,
    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__slide,
    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__media,
    .carroussel-hero.carroussel-hero--preset-pair picture.carroussel-hero__media,
    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__image {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__image {
        display: block !important;
        object-fit: cover !important;
        object-position: center center !important;
        transform: none !important;
    }
}

/* v1.15.3 — Banner 1 reconstruído como quatro elementos absolutos.
   O canvas usa as mesmas coordenadas do Photoshop (1920 × 800). O restante
   do carrossel permanece com regras originais, sem herdar esses estilos. */
.carroussel-hero__slide--sprint { --crsl153-b-alpha:.88; --crsl153-b-radius:12px; }
.carroussel-hero__slide--sprint .carroussel-hero__overlay { background:transparent!important; opacity:0!important; }
.carroussel-hero__slide--sprint .carroussel-hero__content {
    position:absolute!important; inset:0!important; display:block!important;
    width:100%!important; height:100%!important; padding:0!important;
    box-sizing:border-box!important; z-index:3;
}
.carroussel-hero__slide--sprint .carroussel-hero__content-box {
    box-sizing:border-box!important; display:block!important;
    position:absolute!important; left:0!important; top:0!important;
    width:1920px!important; max-width:none!important; height:800px!important;
    margin:0!important; padding:0!important;
    transform:scale(var(--crsl-sprint-scale,1))!important;
    transform-origin:0 0!important; text-align:left!important;
}
.carroussel-hero__slide--sprint .carroussel-hero__title {
    display:block!important; position:static!important;
    margin:0!important; padding:0!important; width:auto!important;
    font-family:var(--crsl-sprint-heading-family,'Bebas Neue'),Impact,'Arial Narrow',sans-serif!important;
    font-weight:400!important; text-transform:uppercase!important;
    color:#fff!important; letter-spacing:0!important;
}
.carroussel-hero__slide--sprint .carroussel-hero__title-line {
    display:block!important; position:absolute!important;
    width:max-content!important; max-width:1450px!important;
    margin:0!important; padding:0!important;
    color:#fff!important; font-weight:400!important;
    font-family:var(--crsl-sprint-heading-family,'Bebas Neue'),Impact,'Arial Narrow',sans-serif!important;
    white-space:nowrap!important; overflow-wrap:normal!important;
    text-transform:uppercase!important; letter-spacing:0!important;
    text-shadow:0 2px 7px rgba(0,0,0,.38);
    text-align:left!important; transform:none!important;
}
.carroussel-hero__slide--sprint .carroussel-hero__title-primary {
    left:var(--crsl153-t1-x,335px)!important; top:var(--crsl153-t1-y,64px)!important;
    font-size:var(--crsl-sprint-line1,90px)!important;
    line-height:var(--crsl-sprint-line1-leading,73px)!important;
}
.carroussel-hero__slide--sprint .carroussel-hero__title-highlight {
    left:var(--crsl153-t2-x,335px)!important; top:var(--crsl153-t2-y,137px)!important;
    font-size:var(--crsl-sprint-line2,80px)!important;
    line-height:var(--crsl-sprint-line2-leading,68px)!important;
    max-width:none!important; width:var(--crsl153-t2-w,1040px)!important;
}
.carroussel-hero__slide--sprint .carroussel-hero__description {
    position:static!important; display:block!important;
    padding:0!important; margin:0!important; max-width:none!important;
}
.carroussel-hero__slide--sprint .carroussel-hero__description-line { display:none!important; }
.carroussel-hero__slide--sprint .carroussel-hero__description-text {
    display:block!important; position:absolute!important;
    left:var(--crsl153-p-x,335px)!important; top:var(--crsl153-p-y,224px)!important;
    width:var(--crsl153-p-w,920px)!important; max-width:none!important;
    padding:0!important; margin:0!important; text-align:left!important;
    color:#fff!important; font-family:var(--crsl-sprint-body-family,Roboto),Arial,sans-serif!important;
    font-weight:700!important; font-size:var(--crsl-sprint-paragraph-size,30px)!important;
    line-height:1.19!important; letter-spacing:0!important;
    text-shadow:0 2px 8px rgba(0,0,0,.45);
}
.carroussel-hero__slide--sprint .carroussel-hero__button {
    display:inline-flex!important; position:absolute!important;
    left:var(--crsl153-b-x,335px)!important; top:var(--crsl153-b-y,349px)!important;
    width:var(--crsl153-b-w,458px)!important; height:var(--crsl153-b-h,76px)!important;
    min-height:0!important; max-width:none!important;
    padding:0 22px!important; margin:0!important;
    box-sizing:border-box!important; text-decoration:none!important;
    justify-content:center!important; align-items:center!important; gap:9px!important;
    border-radius:var(--crsl153-b-radius,12px)!important;
    border:2px solid rgba(255,94,100,.40)!important;
    background:transparent!important; color:#fff!important;
    box-shadow:0 0 16px rgba(233,4,17,.54),inset 0 0 4px rgba(255,255,255,.08)!important;
    font-family:var(--crsl-sprint-button-family,Roboto),Arial,sans-serif!important;
    font-weight:500!important; font-size:var(--crsl-sprint-button-text-size,26px)!important;
    line-height:1.1!important; letter-spacing:0!important;
    isolation:isolate; overflow:hidden;
    transform:none!important;
}
.carroussel-hero__slide--sprint .carroussel-hero__button::before {
    content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
    background:var(--crsl-sprint-button,#ef2026);
    opacity:var(--crsl153-b-alpha,.88);
    transition:opacity .2s ease;
}
.carroussel-hero__slide--sprint .carroussel-hero__button:hover::before,
.carroussel-hero__slide--sprint .carroussel-hero__button:focus-visible::before { opacity:1; }
.carroussel-hero__slide--sprint .carroussel-hero__button:hover,
.carroussel-hero__slide--sprint .carroussel-hero__button:focus-visible {
    background:transparent!important; color:#fff!important;
    box-shadow:0 0 21px rgba(233,4,17,.72)!important;
}
.carroussel-hero__slide--sprint .carroussel-hero__button > span { position:relative; z-index:1; }
.carroussel-hero__slide--sprint .carroussel-hero__button-icon {
    position:relative; z-index:1;
    display:inline-block!important; width:var(--crsl-sprint-icon-size,29px)!important;
    height:auto!important; aspect-ratio:33/24!important;
    margin:0!important; padding:0!important;
    flex:0 0 auto; object-fit:contain!important;
}
@media(max-width:767px) {
    .carroussel-hero-reference-ratio-yes .carroussel-hero:has(.carroussel-hero__slide--sprint),
    .carroussel-hero.carroussel-hero--preset-pair:has(.carroussel-hero__slide--sprint) {
        height:580px!important; min-height:580px!important; aspect-ratio:auto!important;
    }
    .carroussel-hero__slide--sprint .carroussel-hero__image {
        object-fit:cover!important; object-position:62% center!important;
    }
    .carroussel-hero__slide--sprint .carroussel-hero__content {
        background:linear-gradient(180deg,rgba(0,0,0,.87) 0%,rgba(0,0,0,.72) 34%,transparent 75%)!important;
    }
    .carroussel-hero__slide--sprint .carroussel-hero__content-box {
        width:100%!important; height:100%!important;
        transform:none!important;
    }
    .carroussel-hero__slide--sprint .carroussel-hero__title-primary,
    .carroussel-hero__slide--sprint .carroussel-hero__title-highlight {
        max-width:calc(100vw - 48px)!important; width:auto!important; white-space:normal!important; overflow-wrap:break-word!important;
    }
    .carroussel-hero__slide--sprint .carroussel-hero__description-text {
        width:min(var(--crsl153-p-w,340px),calc(100vw - 48px))!important;
    }
    .carroussel-hero__slide--sprint .carroussel-hero__button {
        width:min(var(--crsl153-b-w,290px),calc(100vw - 48px))!important;
        padding:0 12px!important; gap:6px!important;
    }
}

/* v1.15.4 — Alinhamento exato do parágrafo com o primeiro H2, somente no Banner 1.
   Usa a mesma variável de posição X, inclusive quando o Elementor mantém
   um valor antigo em --crsl153-p-x. O Banner 2 não recebe essa classe. */
.carroussel-hero__slide--sprint.carroussel-hero__slide--sprint-paragraph-aligned .carroussel-hero__description-text {
    left: var(--crsl153-t1-x, 335px) !important;
}


/* v1.15.5 — ajuste de alinhamento visual, exclusivamente para o Banner 1.
   O Elementor pode aplicar coordenadas salvas com diferença entre o H2 e o p.
   O JS mede os dois elementos reais após a renderização e compensa apenas
   a diferença de X, respeitando o canvas 1920 × 800 e sua escala responsiva. */
.carroussel-hero__slide--sprint.carroussel-hero__slide--sprint-paragraph-aligned .carroussel-hero__description-text {
    transform: translate3d(var(--crsl-sprint-paragraph-optical-offset, 0px), 0, 0) !important;
    transform-origin: left top !important;
}

/* v1.15.6 — Banner 2 Studio. Fully isolated from the approved Sprint styles.
   Desktop geometry matches the 1920 × 800 Photoshop reference, with independently
   positioned native H2, paragraph and linked button; no text baked into artwork. */
.carroussel-hero__slide--studio .carroussel-hero__overlay {
    background: transparent !important; opacity: 0 !important;
}
.carroussel-hero__slide--studio .carroussel-hero__content {
    position: absolute !important; inset:0!important; display:block!important;
    box-sizing:border-box!important; padding:0!important;
    width:100%!important; height:100%!important; z-index:3;
}
.carroussel-hero__slide--studio .carroussel-hero__content-box {
    position:absolute!important; top:0!important; left:0!important;
    display:block!important; padding:0!important; margin:0!important;
    width:1920px!important; max-width:none!important; height:800px!important;
    text-align:left!important; box-sizing:border-box!important;
    transform:scale(var(--crsl-studio-scale,1))!important;
    transform-origin:0 0!important;
}
.carroussel-hero__slide--studio .carroussel-hero__title {
    position:static!important; display:block!important;
    margin:0!important; padding:0!important; width:auto!important;
    text-align:left!important;
}
.carroussel-hero__slide--studio .carroussel-hero__title-line {
    position:absolute!important; display:block!important; width:max-content!important;
    max-width:1200px!important; margin:0!important; padding:0!important;
    letter-spacing:0!important; font-style:normal!important;
    font-weight:400!important; text-transform:uppercase!important;
    white-space:nowrap!important; text-align:left!important;
    text-shadow:0 2px 5px rgba(0,0,0,.45);
    transform:none!important;
}
.carroussel-hero__slide--studio .carroussel-hero__title-primary {
    left:var(--crsl-studio-t1-x,350px)!important;
    top:var(--crsl-studio-t1-y,93px)!important;
    font-family:var(--crsl-studio-f1,'Bebas Neue'),Impact,'Arial Narrow',sans-serif!important;
    font-size:var(--crsl-studio-size1,90px)!important;
    line-height:var(--crsl-studio-lead1,73px)!important;
    color:var(--crsl-studio-c1,#cc1517)!important;
}
.carroussel-hero__slide--studio .carroussel-hero__title-highlight {
    left:var(--crsl-studio-t2-x,350px)!important;
    top:var(--crsl-studio-t2-y,167px)!important;
    font-family:var(--crsl-studio-f2,'Bebas Neue'),Impact,'Arial Narrow',sans-serif!important;
    font-size:var(--crsl-studio-size2,80px)!important;
    line-height:var(--crsl-studio-lead2,70px)!important;
    color:var(--crsl-studio-c2,#fff)!important;
}
.carroussel-hero__slide--studio .carroussel-hero__description {
    position:static!important; display:block!important;
    padding:0!important; margin:0!important; max-width:none!important;
}
.carroussel-hero__slide--studio .carroussel-hero__description-line {display:none!important;}
.carroussel-hero__slide--studio .carroussel-hero__description-text {
    position:absolute!important; display:block!important;
    left:var(--crsl-studio-p-x,350px)!important;
    top:var(--crsl-studio-p-y,255px)!important;
    width:var(--crsl-studio-p-w,770px)!important; max-width:none!important;
    padding:0!important; margin:0!important;
    font-family:var(--crsl-studio-fbody,Roboto),Arial,sans-serif!important;
    font-size:var(--crsl-studio-sizebody,30px)!important;
    font-weight:400!important; line-height:var(--crsl-studio-body-leading,36px)!important;
    color:#fff!important; text-align:left!important; letter-spacing:0!important;
    text-shadow:0 2px 6px rgba(0,0,0,.6);
    transform:none!important;
}
.carroussel-hero__slide--studio .carroussel-hero__studio-lead {
    font-family:inherit!important; font-size:inherit!important;
    font-weight:700!important; color:inherit!important;
}
.carroussel-hero__slide--studio .carroussel-hero__button {
    position:absolute!important; display:inline-flex!important;
    left:var(--crsl-studio-b-x,350px)!important;
    top:var(--crsl-studio-b-y,379px)!important;
    width:var(--crsl-studio-b-w,458px)!important;
    height:var(--crsl-studio-b-h,78px)!important;
    min-height:0!important; max-width:none!important;
    margin:0!important; padding:0 16px!important;
    box-sizing:border-box!important; justify-content:center!important;
    align-items:center!important; gap:10px!important;
    border:4px solid var(--crsl-studio-button-color,#e31b23)!important;
    border-radius:var(--crsl-studio-radius,14px)!important;
    background:rgba(0,0,0,.72)!important;
    box-shadow:0 0 14px rgba(240,11,27,.70)!important;
    color:var(--crsl-studio-button-color,#e31b23)!important;
    font-family:var(--crsl-studio-fbutton,Roboto),Arial,sans-serif!important;
    font-weight:500!important;
    font-size:var(--crsl-studio-sizebutton,26px)!important;
    line-height:1.1!important; letter-spacing:0!important;
    text-align:center!important; text-decoration:none!important;
    transform:none!important;
}
.carroussel-hero__slide--studio .carroussel-hero__button:hover,
.carroussel-hero__slide--studio .carroussel-hero__button:focus-visible {
    background:rgba(17,0,0,.93)!important;
    color:var(--crsl-studio-button-color,#e31b23)!important;
    box-shadow:0 0 21px rgba(240,11,27,.90)!important;
}
.carroussel-hero__slide--studio .carroussel-hero__button-icon {
    display:inline-block!important; width:30px!important; height:30px!important;
    color:var(--crsl-studio-button-color,#e31b23)!important;
    flex-shrink:0; margin:0!important;
}
@media(max-width:767px){
    .carroussel-hero-reference-ratio-yes .carroussel-hero:has(.carroussel-hero__slide--studio),
    .carroussel-hero.carroussel-hero--preset-pair:has(.carroussel-hero__slide--studio){
        height:580px!important; min-height:580px!important; aspect-ratio:auto!important;
    }
    .carroussel-hero__slide--studio .carroussel-hero__image {
        object-fit:cover!important; object-position:66% center!important;
    }
    .carroussel-hero__slide--studio .carroussel-hero__content {
        background:linear-gradient(180deg,rgba(0,0,0,.84),rgba(0,0,0,.55) 40%,transparent 78%)!important;
    }
    .carroussel-hero__slide--studio .carroussel-hero__content-box {
        width:100%!important; height:100%!important; transform:none!important;
    }
    .carroussel-hero__slide--studio .carroussel-hero__title-line {
        white-space:normal!important; max-width:calc(100vw - 42px)!important;
        overflow-wrap:break-word!important;
    }
    .carroussel-hero__slide--studio .carroussel-hero__description-text {
        width:min(var(--crsl-studio-p-w,342px),calc(100vw - 42px))!important;
    }
    .carroussel-hero__slide--studio .carroussel-hero__button {
        width:min(var(--crsl-studio-b-w,330px),calc(100vw - 42px))!important;
        border-width:3px!important; padding:0 10px!important; gap:6px!important;
    }
    .carroussel-hero__slide--studio .carroussel-hero__button-icon {
        width:22px!important; height:22px!important;
    }
}


/* v1.15.7 — Banner 2 Studio: alinhar a descrição ao H2, independentemente
   dos valores X antigos salvos no Elementor e da métrica das fontes.
   Classe exclusiva do Studio; nenhum efeito no Banner 1, botão ou bullets. */
.carroussel-hero__slide--studio.carroussel-hero__slide--studio-paragraph-aligned .carroussel-hero__description-text {
    left: var(--crsl-studio-t1-x, 350px) !important;
    transform: translate3d(var(--crsl-studio-paragraph-optical-offset, 0px), 0, 0) !important;
    transform-origin: left top !important;
}

/* v1.15.9 — PRIMEIRO PAINT ESTÁVEL: não esperar JS nem fontes para
   posicionar o canvas de 1920×800. O query container é a largura REAL
   do widget, inclusive dentro da coluna do Elementor (não a viewport).
   Respeita a ordem invertida e não muda imagens, botões nem bullets. */
.carroussel-hero {
    container-type: inline-size;
}
@supports (transform: scale(calc(100cqw / 1920px))) {
    @media (min-width: 768px) {
        .carroussel-hero__slide--sprint .carroussel-hero__content-box,
        .carroussel-hero__slide--studio .carroussel-hero__content-box {
            transform: scale(calc(100cqw / 1920px)) !important;
            transform-origin: 0 0 !important;
        }
    }
}
/* A margem esquerda do parágrafo vinculado ao título é calculada pela
   mesma coordenada do H2 no CSS inicial, sem correção assíncrona. */
.carroussel-hero__slide--sprint.carroussel-hero__slide--sprint-paragraph-aligned .carroussel-hero__description-text {
    left: var(--crsl153-t1-x, 335px) !important;
    transform: none !important;
}
.carroussel-hero__slide--studio.carroussel-hero__slide--studio-paragraph-aligned .carroussel-hero__description-text {
    left: var(--crsl-studio-t1-x, 350px) !important;
    transform: none !important;
}

/* v1.15.10 — proteção contra FOUC do canvas nos navegadores sem suporte a
   divisão tipada do container query. Eles não devem exibir o texto no scale=1
   antes da medição síncrona feita pelo fallback JS.
   Navegadores atuais mantêm a renderização imediata por CSS (v1.15.9).
   Restrito ao canvas de desktop dos banners oficiais, sem alterar bullets,
   botões, coordenadas Elementor ou as versões mobile. */
@supports not (transform: scale(calc(100cqw / 1920px))) {
    @media (min-width: 768px) {
        .carroussel-hero__slide--sprint .carroussel-hero__content-box,
        .carroussel-hero__slide--studio .carroussel-hero__content-box {
            opacity: 0 !important;
        }
        .carroussel-hero__slide--sprint[data-canvas-scale-ready="1"] .carroussel-hero__content-box,
        .carroussel-hero__slide--studio[data-canvas-scale-ready="1"] .carroussel-hero__content-box {
            opacity: 1 !important;
        }
    }
}


/* v1.15.11 — Correção da causa real do deslocamento nos banners oficiais.
   O controle LEGADO do Elementor `description_offset_x` injeta
   transform:translateX(-26px) no CONTÊINER .carroussel-hero__description.
   Alinhar só o P pela propriedade left nunca anulava esse deslocamento
   herdado do contêiner; a antiga rotina JS corrigia depois, com salto.

   Os slides Sprint e Studio têm posições individuais próprias, portanto
   não devem herdar esse offset genérico. Neutralizá-lo aqui, no CSS inicial,
   garante a mesma origem visual do H2 e do P desde a primeira pintura.
   Não tocar nos demais slides, posição do botão, bullets nem texto.
*/
.carroussel-hero__slide--sprint .carroussel-hero__description,
.carroussel-hero__slide--studio .carroussel-hero__description {
    transform: none !important;
    translate: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* v1.15.39: only mobile backgrounds / spacing. Desktop imagery and button styles untouched. */
@media (max-width:767px) {
 .carroussel-hero.carroussel-hero--preset-pair:has(.carroussel-hero__slide--sprint),
 .carroussel-hero-reference-ratio-yes .carroussel-hero:has(.carroussel-hero__slide--sprint) {
   height:var(--crsl-v1539-mobile-height,680px)!important;
   min-height:var(--crsl-v1539-mobile-height,680px)!important;
   aspect-ratio:auto!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__image,
 .carroussel-hero__slide--studio .carroussel-hero__image {
   object-fit:cover!important;object-position:center center!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__content,
 .carroussel-hero__slide--studio .carroussel-hero__content {
   background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.12) 55%,transparent 79%)!important;
 }
 .carroussel-hero__slide--studio .carroussel-hero__description-text {
   top:max(var(--crsl-studio-p-y,179px),220px)!important;
 }
 .carroussel-hero__slide--studio .carroussel-hero__button {
   top:max(var(--crsl-studio-b-y,342px),365px)!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__button {
   top:max(var(--crsl153-b-y,354px),355px)!important;
 }
}
/* Prevent hover compositor shifts in the heading while preserving CTA glow. */
.carroussel-hero__slide--sprint .carroussel-hero__button:hover,
.carroussel-hero__slide--sprint .carroussel-hero__button:focus-visible,
.carroussel-hero__slide--studio .carroussel-hero__button:hover,
.carroussel-hero__slide--studio .carroussel-hero__button:focus-visible {
 transform:none!important;
}


/* v1.15.40 - exclusivamente mobile: composição aprovada 450 x 500.
   Desktop 1920x800, textos, URLs e desenhos originais dos botões não mudam.
   Textos ficam em HTML editável, NUNCA gravados na imagem. */
@media (max-width:767px) {
 .carroussel-hero.carroussel-hero--preset-pair:has(.carroussel-hero__slide--sprint),
 .carroussel-hero-reference-ratio-yes .carroussel-hero:has(.carroussel-hero__slide--sprint),
 .carroussel-hero.carroussel-hero--preset-pair:has(.carroussel-hero__slide--studio),
 .carroussel-hero-reference-ratio-yes .carroussel-hero:has(.carroussel-hero__slide--studio) {
    width:100%!important;
    height:min(500px,clamp(345px,111.111cqw,var(--crsl-v1539-mobile-height,500px)))!important;
    min-height:0!important;
    max-height:500px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__image,
 .carroussel-hero__slide--studio .carroussel-hero__image {
    object-fit:cover!important; object-position:center center!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__content,
 .carroussel-hero__slide--studio .carroussel-hero__content {
    position:absolute!important; inset:0!important;
    display:block!important; padding:0!important;
    width:100%!important; height:100%!important;
    background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,0) 54%, transparent 68%)!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__content-box,
 .carroussel-hero__slide--studio .carroussel-hero__content-box {
    position:relative!important; inset:auto!important;
    display:flex!important; flex-direction:column!important; align-items:flex-start!important;
    gap:0!important; box-sizing:border-box!important;
    width:100%!important; max-width:none!important; height:auto!important;
    padding:clamp(14px,4.2cqw,22px) clamp(14px,4.5cqw,24px)!important;
    margin:0!important; transform:none!important;
    text-align:left!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__title,
 .carroussel-hero__slide--studio .carroussel-hero__title {
    position:static!important; display:flex!important; flex-direction:column!important;
    align-items:flex-start!important; width:100%!important; padding:0!important; margin:0!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__title-line,
 .carroussel-hero__slide--studio .carroussel-hero__title-line {
    display:block!important; position:static!important; inset:auto!important;
    width:100%!important; max-width:100%!important; height:auto!important;
    padding:0!important; margin:0!important;
    white-space:normal!important; overflow-wrap:normal!important;
    transform:none!important; letter-spacing:0!important;
    font-style:normal!important; font-weight:400!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__title-primary {
    font-size:clamp(28px,8.1cqw,43px)!important; line-height:.94!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__title-highlight {
    font-size:clamp(25px,7.3cqw,38px)!important; line-height:.95!important;
 }
 .carroussel-hero__slide--studio .carroussel-hero__title-primary {
    font-size:clamp(28px,8.1cqw,43px)!important; line-height:.94!important;
 }
 .carroussel-hero__slide--studio .carroussel-hero__title-highlight {
    font-size:clamp(25px,7.2cqw,38px)!important; line-height:.95!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__description,
 .carroussel-hero__slide--studio .carroussel-hero__description {
    position:static!important; display:block!important;
    width:100%!important; margin:clamp(7px,2.2cqw,12px) 0 0!important;
    padding:0!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__description-text,
 .carroussel-hero__slide--studio .carroussel-hero__description-text {
    position:static!important; inset:auto!important; display:block!important;
    width:100%!important; max-width:100%!important; height:auto!important;
    margin:0!important; padding:0!important; transform:none!important;
    font-size:clamp(12px,3.3cqw,16px)!important;
    line-height:1.22!important; text-align:left!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__description-text {font-weight:700!important;}
 .carroussel-hero__slide--studio .carroussel-hero__description-text {font-weight:400!important;}
 .carroussel-hero__slide--sprint .carroussel-hero__button,
 .carroussel-hero__slide--studio .carroussel-hero__button {
    display:inline-flex!important; position:relative!important; inset:auto!important;
    flex:none!important; align-items:center!important; justify-content:center!important;
    margin:clamp(10px,2.5cqw,14px) 0 0!important;
    width:auto!important; min-width:0!important; max-width:100%!important;
    height:auto!important; min-height:clamp(40px,10cqw,48px)!important;
    padding:0 clamp(14px,4cqw,22px)!important;
    font-size:clamp(12px,3.3cqw,16px)!important;
    gap:6px!important; line-height:1.08!important;
    white-space:normal!important;
    text-align:center!important; transform:none!important;
 }
 .carroussel-hero__slide--sprint .carroussel-hero__button-icon,
 .carroussel-hero__slide--studio .carroussel-hero__button-icon {
    width:clamp(17px,5cqw,22px)!important; height:auto!important; flex-shrink:0!important;
 }
 .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__bullets {
    right:8px!important; top:50%!important;
 }
}


/* v1.15.41 - reconstrução real da composição MOBILE da campanha oficial.
   A arte serve apenas como cenário/foto. Textos, CTA, links e bullets são HTML
   do widget, editáveis no Elementor. DESKTOP continua o mesmo 1920×800. */
@media (max-width:767px) {
  .carroussel-hero.carroussel-hero--preset-pair:has(.carroussel-hero__slide--sprint),
  .carroussel-hero-reference-ratio-yes .carroussel-hero:has(.carroussel-hero__slide--sprint) {
    height: min(500px, 111.111cqw) !important;
    min-height: 0 !important;
    max-height: 500px !important;
    width: 100% !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__image,
  .carroussel-hero__slide--studio .carroussel-hero__image {
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__content,
  .carroussel-hero__slide--studio .carroussel-hero__content {
    position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;
    display:block!important;padding:0!important;
    background:none!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__content-box,
  .carroussel-hero__slide--studio .carroussel-hero__content-box {
    position:relative!important;inset:auto!important;
    width:100%!important;max-width:none!important;
    height:auto!important;box-sizing:border-box!important;
    padding:clamp(29px,9.1cqw,43px) clamp(19px,7.1cqw,34px) 0!important;
    margin:0!important;display:flex!important;
    flex-direction:column!important;align-items:flex-start!important;
    gap:0!important;text-align:left!important;
    transform:none!important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__content-box {
    padding-top:clamp(24px,8.3cqw,38px)!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__title,
  .carroussel-hero__slide--studio .carroussel-hero__title {
    display:flex!important;position:static!important;
    flex-direction:column!important;align-items:flex-start!important;
    width:100%!important;max-width:100%!important;
    margin:0!important;padding:0!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__title-line,
  .carroussel-hero__slide--studio .carroussel-hero__title-line {
    display:block!important;position:static!important;
    inset:auto!important;width:max-content!important;max-width:none!important;
    min-width:0!important;height:auto!important;
    margin:0!important;padding:0!important;
    white-space:nowrap!important;
    text-transform:uppercase!important;
    transform:none!important;
    text-align:left!important;
    font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif!important;
    font-weight:400!important;font-style:normal!important;
    letter-spacing:0!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__title-primary,
  .carroussel-hero__slide--studio .carroussel-hero__title-primary {
    font-size:clamp(30px,8.6cqw,40px)!important;
    line-height:.96!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__title-highlight {
    font-size:clamp(21px,6.35cqw,29px)!important;
    line-height:1.04!important;
    letter-spacing:-.2px!important;
    transform:scaleX(.78)!important;transform-origin:left center!important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__title-highlight {
    font-size:clamp(25px,7.25cqw,34px)!important;
    line-height:.99!important;
    transform:scaleX(.84)!important;transform-origin:left center!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__description,
  .carroussel-hero__slide--studio .carroussel-hero__description {
    display:block!important;position:static!important;
    width:100%!important;max-width:100%!important;
    margin:clamp(8px,2.6cqw,12px) 0 0!important;
    padding:0!important;
    transform:none!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__description-text,
  .carroussel-hero__slide--studio .carroussel-hero__description-text {
    display:block!important;position:static!important;
    inset:auto!important;width:100%!important;max-width:100%!important;
    margin:0!important;padding:0!important;
    height:auto!important;line-height:1.22!important;
    font-family:Roboto,Arial,sans-serif!important;
    text-align:left!important;transform:none!important;
    font-size:clamp(12px,3.3cqw,15px)!important;
    white-space:normal!important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__description-text {
    font-size:clamp(12px,3.2cqw,15px)!important;
    line-height:1.25!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__button,
  .carroussel-hero__slide--studio .carroussel-hero__button {
    display:inline-flex!important;position:relative!important;
    inset:auto!important;flex:0 0 auto!important;
    align-items:center!important;justify-content:center!important;
    align-self:flex-start!important;
    margin:clamp(12px,3.15cqw,16px) 0 0!important;
    padding:0 clamp(15px,4.2cqw,22px)!important;
    width:auto!important;max-width:calc(100% - 4px)!important;
    min-width:0!important;height:clamp(37px,10cqw,46px)!important;
    min-height:0!important;
    box-sizing:border-box!important;
    font-size:clamp(12px,3.25cqw,15px)!important;
    line-height:1.1!important;
    gap:7px!important;text-align:center!important;
    font-family:Roboto,Arial,sans-serif!important;
    transform:none!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__button-icon,
  .carroussel-hero__slide--studio .carroussel-hero__button-icon {
    width:clamp(16px,4.6cqw,22px)!important;
    max-height:23px!important;
    height:auto!important;object-fit:contain!important;
  }
  /* Keep the original vertical functional bullets, away from all copy and CTAs. */
  .carroussel-hero.carroussel-hero--preset-pair .carroussel-hero__bullets {
    top:auto!important;bottom:13px!important;right:10px!important;
    transform:none!important;
    scale:.80;transform-origin:bottom right;
  }
}
@media (max-width:359px) {
  .carroussel-hero__slide--sprint .carroussel-hero__content-box,
  .carroussel-hero__slide--studio .carroussel-hero__content-box {
    padding-left:16px!important;padding-right:16px!important;
    padding-top:24px!important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__title-highlight {
    font-size:20px!important;letter-spacing:-.4px!important;transform:scaleX(.75)!important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__title-highlight {
    font-size:24px!important;transform:scaleX(.83)!important;
  }
}


/* v1.15.42 - FIX: Elementor mobile typography controls MUST actually work.
   Earlier v1.15.40/.41 blocks hardcoded font sizes with !important and hid
   user changes. Use the official widget's existing responsive custom properties.
   Desktop positioning/design is deliberately NOT changed. */
@media (max-width: 767px) {
  .carroussel-hero__slide--sprint .carroussel-hero__title-primary {
    font-size: var(--crsl-sprint-line1, 38px) !important;
    line-height: 0.97 !important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__title-highlight {
    font-size: var(--crsl-sprint-line2, 30px) !important;
    line-height: 1.01 !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__title-primary {
    font-size: var(--crsl-studio-size1, 38px) !important;
    line-height: 0.97 !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__title-highlight {
    font-size: var(--crsl-studio-size2, 30px) !important;
    line-height: 1.01 !important;
  }
  /* For enlarged type, permit the second H2 line to wrap normally instead
     of squeezing or scaling a long sentence into an unreadable strip. */
  .carroussel-hero__slide--sprint .carroussel-hero__title-highlight,
  .carroussel-hero__slide--studio .carroussel-hero__title-highlight {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    transform: none !important;
    overflow-wrap: normal !important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__description-text {
    font-size: var(--crsl-sprint-paragraph-size, 16px) !important;
    line-height: 1.23 !important;
    text-wrap: pretty;
  }
  .carroussel-hero__slide--studio .carroussel-hero__description-text {
    font-size: var(--crsl-studio-sizebody, 16px) !important;
    line-height: 1.23 !important;
    text-wrap: pretty;
  }
  /* Old explicitly inserted newlines make single-word orphans in the narrower
     mobile layout. Desktop still uses the customer-approved manual line breaks. */
  .carroussel-hero__slide--sprint .carroussel-hero__description-text br,
  .carroussel-hero__slide--studio .carroussel-hero__description-text br:not(.carroussel-hero__lead-break) {
    display: none !important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__button {
    font-size: var(--crsl-sprint-button-text-size, 15px) !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__button {
    font-size: var(--crsl-studio-sizebutton, 15px) !important;
  }
  .carroussel-hero__slide--sprint .carroussel-hero__button,
  .carroussel-hero__slide--studio .carroussel-hero__button {
    height:auto !important;
    min-height:clamp(38px, 10cqw, 46px) !important;
    white-space:normal !important;
    padding-top:7px !important;
    padding-bottom:7px !important;
  }
  /* General Style > Title / Description apply only when saved by the user,
     otherwise each banner's independent size settings continue to operate. */
  .carroussel-hero--mobile-title-custom .carroussel-hero__slide--sprint .carroussel-hero__title-primary,
  .carroussel-hero--mobile-title-custom .carroussel-hero__slide--sprint .carroussel-hero__title-highlight,
  .carroussel-hero--mobile-title-custom .carroussel-hero__slide--studio .carroussel-hero__title-primary,
  .carroussel-hero--mobile-title-custom .carroussel-hero__slide--studio .carroussel-hero__title-highlight {
    font-size:var(--crsl-style-title-size, 38px) !important;
  }
  .carroussel-hero--mobile-desc-custom .carroussel-hero__slide--sprint .carroussel-hero__description-text,
  .carroussel-hero--mobile-desc-custom .carroussel-hero__slide--studio .carroussel-hero__description-text {
    font-size:var(--crsl-style-desc-size, 16px) !important;
  }
}

/* 1.15.42 - Keep official desktop/manual line breaks while allowing the mobile
   text to reflow naturally, with correct spaces between words. */
.carroussel-hero__description-mobile-copy { display:none; }
@media(max-width:767px){
  .carroussel-hero__slide--sprint .carroussel-hero__description-desktop-copy,
  .carroussel-hero__slide--studio .carroussel-hero__description-desktop-copy { display:none; }
  .carroussel-hero__slide--sprint .carroussel-hero__description-mobile-copy,
  .carroussel-hero__slide--studio .carroussel-hero__description-mobile-copy { display:inline; }
}

/* v1.15.48 — Studio desktop: manter a rasterização do H2/descrição estável.
   O canvas 1920×800 do slide é escalado como um único compositor. A antiga
   troca da sombra e do fundo do botão no :hover forçava o compositor a
   repintar o canvas (inclusive os caracteres dos títulos), parecendo que
   as letras tremiam. O brilho agora é uma camada própria só do botão, cuja
   opacidade é animada; o fundo/sombra do botão permanecem constantes.
   NÃO altera o Sprint, a versão mobile, nem botões, textos ou posições. */
@media (min-width: 768px) {
  .carroussel-hero__slide--studio .carroussel-hero__button {
    background: rgba(0, 0, 0, .72) !important;
    box-shadow: 0 0 14px rgba(240, 11, 27, .70) !important;
    transform: none !important;
    transition: none !important;
    isolation: isolate;
  }

  .carroussel-hero__slide--studio .carroussel-hero__button::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: inherit;
    background: rgba(45, 0, 0, .24);
    box-shadow: 0 0 21px rgba(240, 11, 27, .90);
    pointer-events: none;
    opacity: 0;
    transition: opacity .22s ease;
    will-change: opacity;
    z-index: -1;
  }

  .carroussel-hero__slide--studio .carroussel-hero__button:hover,
  .carroussel-hero__slide--studio .carroussel-hero__button:focus-visible {
    background: rgba(0, 0, 0, .72) !important;
    box-shadow: 0 0 14px rgba(240, 11, 27, .70) !important;
    transform: none !important;
    filter: none !important;
  }

  .carroussel-hero__slide--studio .carroussel-hero__button:hover::before,
  .carroussel-hero__slide--studio .carroussel-hero__button:focus-visible::before {
    opacity: 1;
  }
}

/* v1.15.49 — Studio desktop: o título não compartilha mais a camada
   transformada com o botão; hover não re-rasteriza Bebas Neue / Roboto.
   Coordenadas e escala originais 1920×800 são mantidas por camada irmã. */
@media (min-width: 768px) {
  .carroussel-hero__slide--studio .carroussel-hero__button--mobile {
    display: none !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__button-layer {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 1920px;
    height: 800px;
    padding: 0;
    margin: 0;
    z-index: 5;
    pointer-events: none;
    transform: scale(var(--crsl-studio-scale, 1));
    transform-origin: 0 0;
    isolation: isolate;
  }
  @supports (transform: scale(calc(100cqw / 1920px))) {
    .carroussel-hero__slide--studio .carroussel-hero__button-layer {
      transform: scale(calc(100cqw / 1920px));
    }
  }
  .carroussel-hero__slide--studio .carroussel-hero__button-layer .carroussel-hero__button--desktop {
    display: inline-flex !important;
    pointer-events: auto;
    background: rgba(0,0,0,.72) !important;
    box-shadow: 0 0 14px rgba(240,11,27,.70) !important;
    transform: none !important;
    transition: color .18s ease, border-color .18s ease !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__button-layer .carroussel-hero__button--desktop::before {
    display: none !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__button-layer .carroussel-hero__button--desktop:hover,
  .carroussel-hero__slide--studio .carroussel-hero__button-layer .carroussel-hero__button--desktop:focus-visible {
    color: #ff444a !important;
    border-color: #ff444a !important;
    background: rgba(0,0,0,.72) !important;
    box-shadow: 0 0 14px rgba(240,11,27,.70) !important;
    transform: none !important;
  }
}
@media (max-width: 767px) {
  .carroussel-hero__slide--studio .carroussel-hero__button-layer {
    display: none !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__button--mobile {
    display: inline-flex !important;
  }
}


/* v1.15.50 — Studio desktop: CSS zoom substitutes a fractional transform of
   the full text canvas. Geometric dimensions remain the same (1920x800
   coordinates, scaled to widget width), but glyphs are laid out at their
   final visual size. This avoids Chromium/Safari GPU re-rasterization of
   Bebas Neue when the sibling CTA changes hover state. Mobile untouched. */
@media (min-width: 768px) {
  @supports (zoom: calc(100cqw / 1920px)) {
    .carroussel-hero__slide--studio .carroussel-hero__content-box,
    .carroussel-hero__slide--studio .carroussel-hero__button-layer {
      transform: none !important;
      zoom: calc(100cqw / 1920px) !important;
    }
  }
  /* Avoid forcing the active slide into a permanently promoted 3D texture.
     The existing horizontal transition still interpolates the offscreen slides. */
  .carroussel-hero__slide--studio.is-active {
    will-change: auto;
  }
  .carroussel-hero[data-transition="slide"] .carroussel-hero__slide--studio.is-active {
    transform: none;
  }
}


/* v1.15.51 — Stable Studio typography on desktop.
   Root cause mitigation: render headings, copy and CTA at FINAL viewport-size
   values. NO parent transform or CSS zoom during hover (both techniques can
   re-rasterize anti-aliased glyphs on Windows/Chromium with layer invalidation).
   Original 1920x800 coordinates, fonts, colors and button style are preserved.
   This section does not affect the Sprint slide or any mobile breakpoint. */
@media (min-width: 768px) {
  .carroussel-hero__slide--studio .carroussel-hero__content-box,
  .carroussel-hero__slide--studio .carroussel-hero__button-layer {
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    scale: none !important;
    zoom: 1 !important;
    transform-origin: 0 0 !important;
    will-change: auto !important;
  }
  /* Native layout avoids scaled texture for text when a nearby CTA repaints. */
  .carroussel-hero__slide--studio .carroussel-hero__title,
  .carroussel-hero__slide--studio .carroussel-hero__title-line,
  .carroussel-hero__slide--studio .carroussel-hero__description-text {
    transform: none !important;
    scale: none !important;
    zoom: 1 !important;
    will-change: auto !important;
    transition: none !important;
    animation: none !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__title-primary {
    left: calc(var(--crsl-studio-t1-x,350px) * var(--crsl-studio-native-scale,1)) !important;
    top: calc(var(--crsl-studio-t1-y,93px) * var(--crsl-studio-native-scale,1)) !important;
    font-size: calc(var(--crsl-studio-size1,90px) * var(--crsl-studio-native-scale,1)) !important;
    line-height: calc(var(--crsl-studio-lead1,73px) * var(--crsl-studio-native-scale,1)) !important;
    max-width: calc(1200px * var(--crsl-studio-native-scale,1)) !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__title-highlight {
    left: calc(var(--crsl-studio-t2-x,350px) * var(--crsl-studio-native-scale,1)) !important;
    top: calc(var(--crsl-studio-t2-y,167px) * var(--crsl-studio-native-scale,1)) !important;
    font-size: calc(var(--crsl-studio-size2,80px) * var(--crsl-studio-native-scale,1)) !important;
    line-height: calc(var(--crsl-studio-lead2,70px) * var(--crsl-studio-native-scale,1)) !important;
    max-width: calc(1200px * var(--crsl-studio-native-scale,1)) !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__description-text {
    left: calc(var(--crsl-studio-t1-x,350px) * var(--crsl-studio-native-scale,1)) !important;
    top: calc(var(--crsl-studio-p-y,255px) * var(--crsl-studio-native-scale,1)) !important;
    width: calc(var(--crsl-studio-p-w,770px) * var(--crsl-studio-native-scale,1)) !important;
    font-size: calc(var(--crsl-studio-sizebody,30px) * var(--crsl-studio-native-scale,1)) !important;
    line-height: calc(var(--crsl-studio-body-leading,36px) * var(--crsl-studio-native-scale,1)) !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__button-layer .carroussel-hero__button--desktop {
    left: calc(var(--crsl-studio-b-x,350px) * var(--crsl-studio-native-scale,1)) !important;
    top: calc(var(--crsl-studio-b-y,379px) * var(--crsl-studio-native-scale,1)) !important;
    width: calc(var(--crsl-studio-b-w,458px) * var(--crsl-studio-native-scale,1)) !important;
    height: calc(var(--crsl-studio-b-h,78px) * var(--crsl-studio-native-scale,1)) !important;
    padding: 0 calc(16px * var(--crsl-studio-native-scale,1)) !important;
    border-width: calc(4px * var(--crsl-studio-native-scale,1)) !important;
    border-radius: calc(var(--crsl-studio-radius,14px) * var(--crsl-studio-native-scale,1)) !important;
    font-size: calc(var(--crsl-studio-sizebutton,26px) * var(--crsl-studio-native-scale,1)) !important;
    gap: calc(10px * var(--crsl-studio-native-scale,1)) !important;
    transform: none !important;
    scale: none !important;
    zoom: 1 !important;
  }
  .carroussel-hero__slide--studio .carroussel-hero__button-layer .carroussel-hero__button-icon {
    width: calc(30px * var(--crsl-studio-native-scale,1)) !important;
    height: calc(30px * var(--crsl-studio-native-scale,1)) !important;
  }
}


/* 1.15.57 — unchanged desktop markup, independently populated mobile clone.
   Content layout and absolute coordinates remain 1.15.55. */
.carroussel-hero__content-box.crsl-layout-mobile { display: none !important; }
@media (max-width:767px) {
 .carroussel-hero__slide--sprint .carroussel-hero__content-box.crsl-layout-desktop,
 .carroussel-hero__slide--studio .carroussel-hero__content-box.crsl-layout-desktop { display:none !important; }
 .carroussel-hero__slide--sprint .carroussel-hero__content-box.crsl-layout-mobile,
 .carroussel-hero__slide--studio .carroussel-hero__content-box.crsl-layout-mobile { display:block !important; }
}
