/* Evolução visual da home 15.2: mascote-guia, produtos reais e vídeos sob demanda. */

body {
    background: #f3f0e9;
}

.mascot-entry-v7 {
    display: none;
}

/* Desktop: a vinheta renderizada ocupa o próprio fundo do hero. O contêiner
   original permanece apenas como âncora do balão; a imagem estática e os
   efeitos CSS antigos não são desenhados por cima do vídeo. */
@media (min-width: 992px) {
    /* Entrada v7: o mesmo Papaléguas compacto chega correndo sobre a fábrica
       limpa. A pose final só aparece no ponto da troca, sem um mascote antigo
       escondido dentro do vídeo. */
    .hero--video-mascot .mascot-entry-v7 {
        display: block;
        position: absolute;
        z-index: 3;
        inset: 0;
        overflow: hidden;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        animation: none;
    }

    .hero--video-mascot .mascot-entry-v7__runner {
        position: absolute;
        z-index: 3;
        right: -34vw;
        bottom: 2.5%;
        width: clamp(330px, 29vw, 465px);
        height: min(76vh, 590px);
        object-fit: contain;
        object-position: center bottom;
        transform-origin: 52% 88%;
        filter: drop-shadow(0 22px 34px rgba(0, 0, 0, .34));
        will-change: transform, opacity, filter;
        opacity: 0;
        animation: none;
    }

    .hero--video-mascot .mascot-entry-v7__streaks {
        position: absolute;
        z-index: 2;
        right: -7vw;
        top: 28%;
        width: 58vw;
        height: 48%;
        opacity: 0;
        transform: translate3d(16vw, 0, 0) skewX(-11deg);
        animation: none;
    }

    .hero--video-mascot .mascot-entry-v7__streaks i {
        position: absolute;
        right: 0;
        height: 7px;
        border-radius: 999px;
        background: linear-gradient(90deg, transparent, rgba(54, 220, 255, .88) 32%, #fff 64%, rgba(255, 121, 0, .98) 88%, transparent);
        box-shadow: 0 0 18px rgba(47, 213, 255, .68), 0 0 28px rgba(255, 121, 0, .42);
        transform-origin: right center;
    }

    .hero--video-mascot .mascot-entry-v7__streaks i:nth-child(1) { top: 5%; width: 74%; }
    .hero--video-mascot .mascot-entry-v7__streaks i:nth-child(2) { top: 32%; width: 96%; height: 4px; }
    .hero--video-mascot .mascot-entry-v7__streaks i:nth-child(3) { top: 62%; width: 68%; height: 6px; }
    .hero--video-mascot .mascot-entry-v7__streaks i:nth-child(4) { top: 88%; width: 84%; height: 3px; }

    .hero--video-mascot .mascot-entry-v7__dust {
        position: absolute;
        z-index: 4;
        right: 5vw;
        bottom: 5.5%;
        width: min(35vw, 510px);
        height: 170px;
        opacity: 0;
        animation: none;
    }

    .hero--video-mascot .mascot-entry-v7__dust i {
        position: absolute;
        bottom: 0;
        border-radius: 50%;
        background: radial-gradient(circle at 42% 38%, rgba(247, 244, 235, .92), rgba(182, 178, 168, .48) 54%, transparent 72%);
        filter: blur(2px);
    }

    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(1) { right: 4%; width: 120px; height: 76px; }
    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(2) { right: 22%; bottom: 18px; width: 150px; height: 92px; }
    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(3) { right: 48%; width: 110px; height: 65px; }
    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(4) { right: 68%; bottom: 10px; width: 86px; height: 52px; }
    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(5) { right: 82%; width: 58px; height: 38px; }

    .hero--video-mascot.mascot-entry-playing .mascot-entry-v7 {
        animation: mascot-entry-layer-v7 2.52s linear both !important;
    }

    .hero--video-mascot.mascot-entry-playing .mascot-entry-v7__runner {
        animation: mascot-sprint-v7 2.34s cubic-bezier(.18, .72, .22, 1) both !important;
    }

    .hero--video-mascot.mascot-entry-playing .mascot-entry-v7__streaks {
        animation: mascot-streak-field-v7 1.72s .08s cubic-bezier(.12, .72, .18, 1) both !important;
    }

    .hero--video-mascot.mascot-entry-playing .mascot-entry-v7__dust {
        animation: mascot-dust-cloud-v7 .82s 1.55s cubic-bezier(.16, 1, .3, 1) both !important;
    }

    .hero--video-mascot .mascot-handoff-wipe {
        position: absolute;
        z-index: 4;
        top: 0;
        right: 0;
        width: min(64vw, 930px);
        height: 100%;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .hero--video-mascot .mascot-handoff-wipe::before,
    .hero--video-mascot .mascot-handoff-wipe::after {
        content: "";
        position: absolute;
        inset: 7% -12% 3% 0;
        opacity: 0;
        transform: translate3d(24%, 0, 0) scale(.72);
        border-radius: 50%;
        will-change: transform, opacity;
    }

    .hero--video-mascot .mascot-handoff-wipe::before {
        background:
            radial-gradient(ellipse at 73% 53%, rgba(255,255,255,.97) 0 4%, rgba(83,225,255,.92) 10%, rgba(255,121,0,.92) 22%, rgba(25,31,45,.82) 42%, rgba(15,20,31,.25) 58%, transparent 70%);
        filter: blur(12px);
    }

    .hero--video-mascot .mascot-handoff-wipe::after {
        inset: 24% -6% 16% 22%;
        background:
            radial-gradient(circle at 72% 64%, rgba(240,235,220,.88) 0 5%, rgba(186,181,169,.72) 18%, rgba(102,105,110,.32) 42%, transparent 67%);
        filter: blur(18px);
    }

    .hero--video-mascot .mascot-handoff-wipe i {
        position: absolute;
        z-index: 2;
        right: -6%;
        width: 94%;
        height: 8px;
        border-radius: 999px;
        opacity: 0;
        background: linear-gradient(90deg, transparent 0%, rgba(62,220,255,.08) 9%, rgba(62,220,255,.95) 42%, rgba(255,255,255,.98) 64%, rgba(255,121,0,.95) 82%, transparent 100%);
        box-shadow: 0 0 22px rgba(44,211,255,.66), 0 0 34px rgba(255,121,0,.38);
        transform: translate3d(22%, 0, 0) scaleX(.2);
        transform-origin: right center;
        will-change: transform, opacity;
    }

    .hero--video-mascot .mascot-handoff-wipe i:nth-child(1) { top: 34%; }
    .hero--video-mascot .mascot-handoff-wipe i:nth-child(2) { top: 50%; width: 78%; height: 5px; }
    .hero--video-mascot .mascot-handoff-wipe i:nth-child(3) { top: 68%; width: 65%; height: 6px; }

    .hero--video-mascot.mascot-handoff-active .mascot-handoff-wipe {
        visibility: visible;
        animation: mascot-handoff-layer .94s linear both;
    }

    .hero--video-mascot.mascot-handoff-active .mascot-handoff-wipe::before {
        animation: mascot-handoff-burst .86s cubic-bezier(.2,.68,.24,1) both;
    }

    .hero--video-mascot.mascot-handoff-active .mascot-handoff-wipe::after {
        animation: mascot-handoff-dust .9s cubic-bezier(.16,1,.3,1) both;
    }

    .hero--video-mascot.mascot-handoff-active .mascot-handoff-wipe i {
        animation: mascot-handoff-streak .68s cubic-bezier(.16,1,.3,1) both;
    }

    .hero--video-mascot.mascot-handoff-active .mascot-handoff-wipe i:nth-child(2) { animation-delay: .04s; }
    .hero--video-mascot.mascot-handoff-active .mascot-handoff-wipe i:nth-child(3) { animation-delay: .08s; }

    .hero--video-mascot .hero-grid {
        grid-template-columns: minmax(0, 620px) minmax(0, 1fr);
        column-gap: 20px;
    }

    .hero--video-mascot .hero-copy-stack {
        width: 100%;
    }

    .hero--video-mascot .hero-video-bg video {
        filter: none;
        object-position: center top;
    }

    .hero--video-mascot .hero-video-overlay {
        background:
            radial-gradient(ellipse at 52% 46%, transparent 36%, rgba(4, 8, 18, .12) 64%, rgba(4, 8, 18, .58) 100%),
            linear-gradient(90deg, rgba(6, 10, 22, .60) 0%, rgba(6, 10, 22, .40) 43%, rgba(6, 10, 22, .08) 68%, rgba(6, 10, 22, .28) 100%),
            linear-gradient(180deg, rgba(6, 10, 22, .14) 0%, transparent 48%, rgba(6, 10, 22, .28) 100%);
    }

    .hero--video-mascot:not(.mascot-final-visible) .mascot-runner,
    .hero--video-mascot:not(.mascot-final-visible) .mascot-speed-trail,
    .hero--video-mascot:not(.mascot-final-visible) .mascot-dust {
        display: none !important;
    }

    .hero--video-mascot.mascot-final-visible .mascot-runner {
        display: block !important;
        animation: mascot-pose-reveal .56s cubic-bezier(.16, 1, .3, 1) both;
    }

    .hero--video-mascot.mascot-final-visible .mascot-hero-wrap.mascot-hero-arrival {
        pointer-events: auto;
    }

    .hero--video-mascot .mascot-hero-wrap.mascot-hero-arrival {
        width: 100%;
        min-width: 0;
        min-height: 520px;
        margin: 0;
        justify-content: flex-end;
        align-items: flex-start;
        transform: none !important;
        pointer-events: none;
    }

    .hero--video-mascot .mascot-runner {
        position: absolute;
        top: 0;
        right: 0;
        width: 390px;
        height: 520px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
    }

    .hero--video-mascot .mascot-hero--corrida {
        width: auto;
        max-width: 390px;
        height: 520px;
        max-height: 520px;
        object-fit: contain;
    }

    .hero--video-mascot:not(.mascot-final-visible) .hero-speech {
        opacity: 0 !important;
        visibility: hidden;
        transform: translate3d(18px, 8px, 0) scale(.96) !important;
    }

    .hero--video-mascot.mascot-final-visible .hero-speech.show {
        opacity: 1 !important;
        visibility: visible;
        transform: none !important;
    }
}

/* O navegador interno e tablets em paisagem têm pouco menos de 992 px. Eles
   recebem a mesma chegada, compactada para o palco central da versão empilhada. */
@media (min-width: 768px) and (max-width: 991.98px) {
    .hero--video-mascot .mascot-entry-v7 {
        display: block;
        position: absolute;
        z-index: 3;
        inset: 0;
        overflow: hidden;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        animation: none;
    }

    .hero--video-mascot .mascot-entry-v7__runner {
        position: absolute;
        z-index: 3;
        left: calc(50% - 230px);
        top: 112px;
        width: 330px;
        height: 390px;
        object-fit: contain;
        object-position: center bottom;
        transform-origin: 52% 88%;
        filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .32));
        will-change: transform, opacity, filter;
        opacity: 0;
        animation: none;
    }

    .hero--video-mascot .mascot-entry-v7__streaks {
        position: absolute;
        z-index: 2;
        right: -8%;
        top: 165px;
        width: 86%;
        height: 300px;
        opacity: 0;
        animation: none;
    }

    .hero--video-mascot .mascot-entry-v7__streaks i {
        position: absolute;
        right: 0;
        height: 6px;
        border-radius: 999px;
        background: linear-gradient(90deg, transparent, rgba(54, 220, 255, .88) 32%, #fff 64%, rgba(255, 121, 0, .98) 88%, transparent);
        box-shadow: 0 0 18px rgba(47, 213, 255, .62), 0 0 26px rgba(255, 121, 0, .4);
    }

    .hero--video-mascot .mascot-entry-v7__streaks i:nth-child(1) { top: 5%; width: 74%; }
    .hero--video-mascot .mascot-entry-v7__streaks i:nth-child(2) { top: 32%; width: 96%; height: 4px; }
    .hero--video-mascot .mascot-entry-v7__streaks i:nth-child(3) { top: 62%; width: 68%; }
    .hero--video-mascot .mascot-entry-v7__streaks i:nth-child(4) { top: 88%; width: 84%; height: 3px; }

    .hero--video-mascot .mascot-entry-v7__dust {
        position: absolute;
        z-index: 4;
        left: calc(50% - 260px);
        top: 390px;
        width: 390px;
        height: 120px;
        opacity: 0;
        animation: none;
    }

    .hero--video-mascot .mascot-entry-v7__dust i {
        position: absolute;
        bottom: 0;
        border-radius: 50%;
        background: radial-gradient(circle at 42% 38%, rgba(247, 244, 235, .92), rgba(182, 178, 168, .48) 54%, transparent 72%);
        filter: blur(2px);
    }

    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(1) { right: 4%; width: 94px; height: 58px; }
    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(2) { right: 22%; bottom: 12px; width: 120px; height: 72px; }
    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(3) { right: 48%; width: 88px; height: 52px; }
    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(4) { right: 68%; bottom: 8px; width: 68px; height: 42px; }
    .hero--video-mascot .mascot-entry-v7__dust i:nth-child(5) { right: 82%; width: 48px; height: 32px; }

    .hero--video-mascot.mascot-entry-playing .mascot-entry-v7 {
        animation: mascot-entry-layer-v7 2.52s linear both !important;
    }

    .hero--video-mascot.mascot-entry-playing .mascot-entry-v7__runner {
        animation: mascot-sprint-tablet-v7 2.34s cubic-bezier(.18, .72, .22, 1) both !important;
    }

    .hero--video-mascot.mascot-entry-playing .mascot-entry-v7__streaks {
        animation: mascot-streak-field-v7 1.72s .08s cubic-bezier(.12, .72, .18, 1) both !important;
    }

    .hero--video-mascot.mascot-entry-playing .mascot-entry-v7__dust {
        animation: mascot-dust-cloud-v7 .82s 1.55s cubic-bezier(.16, 1, .3, 1) both !important;
    }

    .hero--video-mascot:not(.mascot-final-visible) .mascot-hero-arrival .mascot-runner {
        opacity: 0 !important;
        visibility: hidden;
        animation: none !important;
    }

    .hero--video-mascot:not(.mascot-final-visible) .mascot-hero-arrival .hero-speech {
        opacity: 0 !important;
        visibility: hidden;
    }

    .hero--video-mascot.mascot-final-visible .mascot-hero-arrival .mascot-runner {
        opacity: 1 !important;
        visibility: visible;
        animation: mascot-pose-reveal .5s cubic-bezier(.16, 1, .3, 1) both !important;
    }

    .hero--video-mascot.mascot-final-visible .mascot-hero-arrival .hero-speech.show {
        opacity: 1 !important;
        visibility: visible;
    }

    .hero--video-mascot .mascot-hero--corrida {
        max-width: 230px !important;
    }
}

/* Notebook: o palco da direita é menor. Reduzimos os dois elementos para o
   balão terminar exatamente onde o mascote começa, sem cobrir rosto ou topete. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .hero--video-mascot .hero-grid {
        grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
        column-gap: 20px;
    }

    .hero--video-mascot .mascot-runner {
        width: 340px;
        height: 500px;
    }

    .hero--video-mascot .mascot-hero--corrida {
        max-width: 340px;
        height: 500px;
        max-height: 500px;
    }

    .hero--video-mascot .mascot-hero-arrival .hero-speech {
        width: 240px;
        max-width: 240px !important;
        padding: 17px 17px 16px 18px;
    }
}

/* O balão permanece no mesmo ponto durante toda a sequência. A troca de pose
   não pode fazer o texto saltar para os lados. */
@media (min-width: 1200px) {
    .hero--video-mascot .mascot-hero-arrival[data-pose-index] .hero-speech {
        left: 0 !important;
    }
}

/* Tablet deitado / notebook estreito: o balão fica acima do personagem.
   Assim cada um tem sua própria área e nenhuma pose pode invadir o texto. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .hero--video-mascot .hero-grid {
        grid-template-columns: minmax(0, 500px) minmax(0, 1fr);
        column-gap: 16px;
    }

    .hero--video-mascot .mascot-runner {
        top: 124px;
        width: 320px;
        height: 396px;
    }

    .hero--video-mascot .mascot-hero--corrida {
        max-width: 320px;
        height: 396px;
        max-height: 396px;
    }

    .hero--video-mascot .mascot-hero-arrival .hero-speech {
        top: 0 !important;
        left: auto !important;
        right: 18px !important;
        width: 240px;
        max-width: 240px !important;
        padding: 16px 17px 15px 18px;
        border-radius: 22px 22px 8px 22px;
    }

    .hero--video-mascot .mascot-hero-arrival .hero-speech.hero-speech--main::before {
        left: auto !important;
        right: 28px !important;
        top: auto !important;
        bottom: -14px !important;
        border-width: 14px 12px 0 12px !important;
        border-color: rgba(255, 121, 0, .42) transparent transparent transparent !important;
    }

    .hero--video-mascot .mascot-hero-arrival .hero-speech.hero-speech--main::after {
        left: auto !important;
        right: 29px !important;
        top: auto !important;
        bottom: -11px !important;
        border-width: 12px 10px 0 10px !important;
        border-color: #fffaf4 transparent transparent transparent !important;
    }
}

@keyframes mascot-pose-reveal {
    from { opacity: 0; transform: translate3d(12px, 3px, 0) scale(.975); filter: blur(3px); }
    64% { opacity: 1; filter: blur(0); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}

@keyframes mascot-entry-layer-v7 {
    0%, 91% { opacity: 1; visibility: visible; }
    100% { opacity: 0; visibility: hidden; }
}

@keyframes mascot-sprint-v7 {
    0% { opacity: 0; transform: translate3d(0, 8px, 0) rotate(8deg) scale3d(1.08, .82, 1); filter: blur(7px) drop-shadow(0 22px 34px rgba(0, 0, 0, .28)); }
    8% { opacity: 1; }
    25% { transform: translate3d(-30vw, 2px, 0) rotate(5deg) scale3d(1.05, .9, 1); filter: blur(3px) drop-shadow(0 22px 34px rgba(0, 0, 0, .3)); }
    58% { transform: translate3d(-76vw, 0, 0) rotate(-2deg) scale3d(.97, 1.04, 1); filter: blur(0) drop-shadow(0 22px 34px rgba(0, 0, 0, .34)); }
    78% { opacity: 1; transform: translate3d(-112vw, 0, 0) rotate(-4deg) scale3d(.94, 1.06, 1); }
    89% { opacity: 0; transform: translate3d(-136vw, -2px, 0) rotate(-7deg) scale3d(1.04, .94, 1); filter: blur(5px) drop-shadow(0 22px 34px rgba(0, 0, 0, .26)); }
    100% { opacity: 0; transform: translate3d(-142vw, -2px, 0) rotate(-7deg) scale3d(1.04, .94, 1); filter: blur(7px) drop-shadow(0 22px 34px rgba(0, 0, 0, .22)); }
}

@keyframes mascot-sprint-tablet-v7 {
    0% { opacity: 0; transform: translate3d(80vw, 8px, 0) rotate(8deg) scale3d(1.08, .82, 1); filter: blur(7px) drop-shadow(0 20px 30px rgba(0, 0, 0, .26)); }
    8% { opacity: 1; }
    25% { transform: translate3d(47vw, 2px, 0) rotate(5deg) scale3d(1.05, .9, 1); filter: blur(3px) drop-shadow(0 20px 30px rgba(0, 0, 0, .28)); }
    58% { transform: translate3d(-22vw, 0, 0) rotate(-2deg) scale3d(.97, 1.04, 1); filter: blur(0) drop-shadow(0 20px 30px rgba(0, 0, 0, .32)); }
    78% { opacity: 1; transform: translate3d(-72vw, 0, 0) rotate(-4deg) scale3d(.94, 1.06, 1); }
    89% { opacity: 0; transform: translate3d(-108vw, -2px, 0) rotate(-7deg) scale3d(1.04, .94, 1); filter: blur(5px) drop-shadow(0 20px 30px rgba(0, 0, 0, .24)); }
    100% { opacity: 0; transform: translate3d(-114vw, -2px, 0) rotate(-7deg) scale3d(1.04, .94, 1); filter: blur(7px) drop-shadow(0 20px 30px rgba(0, 0, 0, .2)); }
}

@keyframes mascot-streak-field-v7 {
    0% { opacity: 0; transform: translate3d(18vw, 0, 0) skewX(-11deg) scaleX(.42); }
    12% { opacity: .94; }
    64% { opacity: .88; }
    100% { opacity: 0; transform: translate3d(-32vw, 0, 0) skewX(-11deg) scaleX(1.18); }
}

@keyframes mascot-dust-cloud-v7 {
    0% { opacity: 0; transform: translate3d(20%, 16px, 0) scale(.58); }
    22% { opacity: .92; }
    68% { opacity: .7; transform: translate3d(-52vw, -10px, 0) scale(1.08); }
    100% { opacity: 0; transform: translate3d(-105vw, -18px, 0) scale(1.34); }
}

@keyframes mascot-handoff-layer {
    0% { opacity: 0; }
    10%, 57% { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes mascot-handoff-burst {
    0% { opacity: 0; transform: translate3d(28%, 0, 0) scale(.62); }
    13% { opacity: 1; }
    46% { opacity: .98; transform: translate3d(0, 0, 0) scale(1.08); }
    100% { opacity: 0; transform: translate3d(-12%, 0, 0) scale(1.28); }
}

@keyframes mascot-handoff-dust {
    0%, 12% { opacity: 0; transform: translate3d(20%, 7%, 0) scale(.72); }
    32% { opacity: .86; }
    100% { opacity: 0; transform: translate3d(-24%, -5%, 0) scale(1.38); }
}

@keyframes mascot-handoff-streak {
    0% { opacity: 0; transform: translate3d(25%, 0, 0) scaleX(.16); }
    18% { opacity: 1; }
    64% { opacity: .92; }
    100% { opacity: 0; transform: translate3d(-24%, 0, 0) scaleX(1); }
}

.hero-video-overlay {
    background:
        radial-gradient(ellipse at 52% 44%, transparent 30%, rgba(5, 8, 18, .20) 72%, rgba(5, 8, 18, .52) 100%),
        linear-gradient(90deg, rgba(6, 10, 22, .84) 0%, rgba(6, 10, 22, .54) 48%, rgba(6, 10, 22, .24) 100%),
        linear-gradient(180deg, rgba(6, 10, 22, .30) 0%, rgba(6, 10, 22, .08) 52%, rgba(6, 10, 22, .58) 100%);
}

.hero-video-bg video {
    filter: saturate(1.08) contrast(1.02);
}

.hero-content {
    padding: 100px 0 52px;
}

.hero-grid {
    align-items: start;
}

.hero-copy-stack {
    grid-column: 1;
    grid-row: 1 / 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 18px;
    min-width: 0;
}

.hero-copy-stack .hero-badge-wrap {
    align-self: flex-start;
    margin: 0;
    position: relative;
    z-index: 6;
    flex-shrink: 0;
    overflow: visible;
}

.hero-copy-stack .hero-text-wrap {
    width: 100%;
}

.mascot-hero--guia {
    max-width: 370px;
}

.hero-title {
    max-width: 760px;
    font-size: clamp(2.9rem, 4.35vw, 4.6rem);
    line-height: .96;
    letter-spacing: -.028em;
    overflow: visible;
}

/* Hero vivo: mensagem em arrancada + mascote chegando em alta velocidade. */
.hero-title--velocity .hero-title__line {
    display: block;
    width: fit-content;
    padding: .035em .045em .055em;
    margin: -.035em 0 -.055em -.045em;
    opacity: 0;
    transform: translate3d(-54px, 0, 0) skewX(-7deg);
    animation: hero-line-arrival .52s cubic-bezier(.16, 1, .3, 1) forwards;
}

.hero-title--velocity .hero-title__line:nth-child(2) { animation-delay: .12s; }
.hero-title--velocity .hero-title__line:nth-child(3) { animation-delay: .22s; }
.hero-title--velocity .hero-title__line:nth-child(4) { animation-delay: .32s; }

.hero-title__line--lead {
    color: #ff7900;
    font-size: .82em;
    letter-spacing: -.025em;
}

.hero-title__line--punch {
    position: relative;
    color: #ff7900;
    font-style: italic;
    padding-right: .045em;
    text-shadow: 0 0 28px rgba(255, 106, 0, .34);
}

.hero-title__line--punch::after {
    display: none;
}

.hero-text-wrap .hero-sub {
    max-width: 650px;
    padding-left: 18px;
    border-left: 3px solid #ff7900;
}

@keyframes hero-line-arrival {
    0% { opacity: 0; transform: translate3d(-54px, 0, 0) skewX(-7deg); }
    72% { opacity: 1; transform: translate3d(8px, 0, 0) skewX(-2deg); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) skewX(0); }
}

/* Slogan editorial: destaque de marca, respiro e fechamento forte. */
.hero-title.hero-title--brand {
    display: grid;
    gap: .075em;
    width: min(100%, 670px);
    max-width: 670px;
    margin: 0 0 21px;
    font-size: clamp(3rem, 4.45vw, 4.65rem);
    line-height: .92;
    letter-spacing: -.045em;
}

.hero-title--brand > span {
    background: none;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    -webkit-text-fill-color: currentColor;
    filter: none;
    opacity: 0;
    animation: hero-brand-arrival .58s cubic-bezier(.16, 1, .3, 1) forwards;
}

.hero-title--brand > span:nth-child(2) { animation-delay: .11s; }
.hero-title--brand > span:nth-child(3) { animation-delay: .22s; }

.hero-title__lead {
    width: max-content;
    color: #fff;
    font-size: .82em;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.045em;
    text-shadow: 0 12px 30px rgba(3, 7, 18, .34);
}

.hero-title__lead strong {
    color: #ff7900;
    -webkit-text-fill-color: #ff7900;
    text-shadow: 0 0 28px rgba(255, 106, 0, .3);
}

.hero-title__bridge {
    display: flex !important;
    align-items: center;
    gap: 11px;
    width: min(100%, 535px);
    color: rgba(255, 255, 255, .86);
    font-size: .225em;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.hero-title__bridge::before,
.hero-title__bridge::after {
    content: "";
    height: 2px;
    border-radius: 999px;
}

.hero-title__bridge::before {
    width: 27px;
    background: #ff7900;
    box-shadow: 0 0 14px rgba(255, 121, 0, .55);
}

.hero-title__bridge::after {
    flex: 1;
    background: linear-gradient(90deg, rgba(255, 255, 255, .24), transparent);
}

.hero-title__result {
    display: flex !important;
    align-items: baseline;
    gap: .15em;
    width: fit-content;
    line-height: .88;
    white-space: nowrap;
}

.hero-title__result strong {
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-size: .9em;
    font-weight: 950;
    letter-spacing: -.06em;
    text-shadow: 0 0 30px rgba(255, 106, 0, .28);
}

.hero-title__result em {
    color: #ff7900;
    -webkit-text-fill-color: #ff7900;
    font-size: .56em;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.04em;
    transform: skewX(-7deg);
}

@keyframes hero-brand-arrival {
    0% { opacity: 0; transform: translate3d(-48px, 0, 0) skewX(-5deg); }
    72% { opacity: 1; transform: translate3d(7px, 0, 0) skewX(-1deg); }
    100% { opacity: 1; transform: none; }
}

.hero-product-lines {
    width: min(100%, 625px);
    margin: 0 0 24px;
    padding: 0 0 0 14px;
    background: transparent;
    border: 0;
    border-left: 2px solid rgba(255, 121, 0, .8);
    border-radius: 0;
    box-shadow: none;
}

.hero-product-lines__label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .9);
    font-size: .7rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .135em;
    text-transform: uppercase;
}

.hero-product-lines__label i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff7900;
    box-shadow: 0 0 0 4px rgba(255, 121, 0, .13);
}

.hero-product-lines__items {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0;
    row-gap: 8px;
    margin-top: 11px;
}

.hero-product-lines__items span {
    display: inline-flex;
    align-items: center;
    padding: 0;
    color: rgba(255, 255, 255, .75);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: clamp(.69rem, .72vw, .77rem);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.hero-product-lines__items span:not(:last-child)::after {
    content: "•";
    margin: 0 9px;
    color: #ff7900;
    font-size: .8em;
}

/* Vitrine animada do produto real: a fotografia permanece intacta e só a chama é sobreposta. */
.hero-product-showcase {
    position: relative;
    isolation: isolate;
    width: min(100%, 625px);
    height: 176px;
    margin: 0 0 24px;
    overflow: hidden;
    background: linear-gradient(104deg, rgba(7, 13, 25, .96) 0 38%, rgba(237, 241, 243, .96) 38% 100%);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 19px;
    box-shadow: 0 20px 44px rgba(2, 7, 18, .28), inset 0 1px 0 rgba(255, 255, 255, .15);
    animation: product-showcase-in .72s .34s cubic-bezier(.16, 1, .3, 1) both;
}

.hero-product-showcase::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(#ff9a20, #ff5a00);
    box-shadow: 0 0 18px rgba(255, 106, 0, .55);
}

.hero-product-showcase::after {
    content: "";
    position: absolute;
    z-index: 1;
    right: 20px;
    top: -74px;
    width: 360px;
    height: 250px;
    background: radial-gradient(circle, rgba(18, 157, 255, .24), transparent 68%);
    mix-blend-mode: screen;
    animation: burner-glow 1.25s ease-in-out infinite alternate;
    pointer-events: none;
}

.product-showcase__copy {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 38%;
    height: 100%;
    padding: 18px 12px 18px 22px;
}

.product-showcase__copy span {
    color: #ff9b4a;
    font-size: .62rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.product-showcase__copy strong {
    margin: 7px 0 5px;
    color: #fff;
    font-size: clamp(1.28rem, 1.55vw, 1.58rem);
    font-weight: 950;
    line-height: .92;
    letter-spacing: -.035em;
}

.product-showcase__copy small {
    color: rgba(255, 255, 255, .58);
    font-size: .67rem;
    font-weight: 650;
}

.product-showcase__visual {
    position: absolute;
    z-index: 2;
    top: 0;
    right: -18px;
    width: 430px;
    height: 176px;
    transform-origin: right center;
}

.product-showcase__visual img {
    position: absolute;
    inset: -10px auto auto 0;
    width: 430px;
    max-width: none;
    height: auto;
    mix-blend-mode: multiply;
    filter: contrast(1.04) saturate(.92);
}

.product-flame {
    position: absolute;
    z-index: 5;
    width: 14px;
    height: 31px;
    border-radius: 50% 50% 45% 45%;
    background:
        radial-gradient(ellipse at 50% 86%, #fff 0 7%, #75efff 18%, #149cff 43%, rgba(28, 74, 255, .82) 62%, transparent 73%);
    clip-path: polygon(50% 0, 69% 31%, 100% 68%, 76% 100%, 24% 100%, 0 68%, 31% 32%);
    filter: drop-shadow(0 0 5px #1dcaff) drop-shadow(0 0 10px rgba(17, 94, 255, .8));
    transform-origin: 50% 100%;
    animation: product-flame-flicker .42s ease-in-out infinite alternate;
}

.product-flame--1 { left: 220px; top: 30px; animation-delay: -.08s; }
.product-flame--2 { left: 266px; top: 14px; animation-delay: -.31s; }
.product-flame--3 { left: 325px; top: 16px; animation-delay: -.17s; }
.product-flame--4 { left: 364px; top: 35px; animation-delay: -.37s; }
.product-flame--5 { left: 293px; top: 41px; animation-delay: -.22s; }
.product-flame--6 { left: 256px; top: 59px; animation-delay: -.12s; }
.product-flame--7 { left: 330px; top: 59px; animation-delay: -.28s; }
.product-flame--8 { left: 232px; top: 86px; animation-delay: -.35s; }
.product-flame--9 { left: 293px; top: 86px; animation-delay: -.04s; }
.product-flame--10 { left: 354px; top: 86px; animation-delay: -.19s; }

@keyframes product-flame-flicker {
    0% { opacity: .78; transform: scale3d(.82, .82, 1) rotate(-3deg); }
    45% { opacity: 1; transform: scale3d(1.08, 1.12, 1) rotate(2deg); }
    100% { opacity: .88; transform: scale3d(.94, 1.28, 1) rotate(-1deg); }
}

@keyframes burner-glow {
    from { opacity: .45; transform: scale(.94); }
    to { opacity: .9; transform: scale(1.08); }
}

@keyframes product-showcase-in {
    from { opacity: 0; transform: translate3d(-28px, 12px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Versão fotográfica: chama real, movimento de câmera e pulsação de luz. */
.hero-product-showcase {
    height: 182px;
    width: min(calc(100% - 64px), 560px);
    margin: 0 auto 24px;
    background: #07111d;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 24px 8px 24px 8px;
    box-shadow:
        0 22px 48px rgba(2, 7, 18, .34),
        -8px 0 32px rgba(255, 103, 0, .11),
        8px 0 34px rgba(37, 194, 255, .09),
        inset 0 1px 0 rgba(255, 255, 255, .17);
}

.hero-product-showcase::before {
    z-index: 4;
    inset: 0 auto auto 0;
    width: 38%;
    height: 4px;
    background: linear-gradient(90deg, #ff7900 0%, #ff9b32 48%, rgba(45, 216, 255, .92) 78%, transparent 100%);
    box-shadow: 0 0 18px rgba(255, 106, 0, .38);
}

.hero-product-showcase::after {
    z-index: 2;
    inset: 0;
    width: auto;
    height: auto;
    background:
        linear-gradient(90deg, rgba(4, 10, 20, .22) 0%, transparent 24%, transparent 76%, rgba(4, 10, 20, .16) 100%),
        linear-gradient(180deg, rgba(4, 10, 20, .06) 0%, transparent 54%, rgba(4, 10, 20, .32) 100%);
    mix-blend-mode: normal;
    animation: none;
}

.product-showcase__photo {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 50% 50%;
    filter: saturate(1.1) contrast(1.045) brightness(.98);
    transform: scale(1.018);
    animation: product-photo-breathe 6.5s ease-in-out infinite alternate;
}

.product-showcase__flame-glow {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        radial-gradient(ellipse at 43% 40%, rgba(65, 215, 255, .2), transparent 18%),
        radial-gradient(ellipse at 68% 42%, rgba(31, 142, 255, .18), transparent 20%),
        radial-gradient(ellipse at 58% 68%, rgba(37, 181, 255, .12), transparent 22%);
    mix-blend-mode: screen;
    animation: real-flame-pulse 1.05s ease-in-out infinite alternate;
    pointer-events: none;
}

.product-showcase__copy {
    width: 44%;
    padding: 18px 10px 18px 23px;
}

.product-showcase__copy strong {
    margin: 8px 0 0;
    font-size: clamp(1.14rem, 1.36vw, 1.4rem);
    line-height: .96;
    text-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

@keyframes real-flame-pulse {
    from { opacity: .38; transform: scale(.98); }
    to { opacity: .78; transform: scale(1.035); }
}

@keyframes product-photo-breathe {
    from { transform: scale(1.018) translate3d(0, 0, 0); }
    to { transform: scale(1.055) translate3d(0, 0, 0); }
}

/* Vinheta social: o vídeo transparente faz a chegada; o HTML mantém a chamada
   nítida, clicável e acessível depois que a animação termina. */
.instagram-mascot-cta {
    --instagram-scroll-y: 0px;
    --instagram-scroll-x: 0px;
    --instagram-scroll-tilt: 0deg;
    --instagram-scroll-scale: 1;
    --instagram-bubble-y: 0px;
    --instagram-bubble-tilt: 0deg;
    --instagram-scroll-energy: 0;
    position: fixed;
    z-index: 1080;
    right: 12px;
    bottom: 8px;
    width: min(360px, calc(100vw - 18px));
    height: 354px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(115%, 10px, 0);
    transition: opacity .2s ease, visibility .2s ease, transform .45s cubic-bezier(.16,1,.3,1);
    filter: drop-shadow(0 16px 27px rgba(2,7,18,.27));
}

.instagram-mascot-cta.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
}

.instagram-mascot-cta.is-leaving {
    opacity: 0;
    transform: translate3d(115%, 0, 0);
    transition-duration: .32s;
}

.instagram-mascot-cta__video {
    position: absolute;
    z-index: 2;
    right: -4px;
    bottom: -3px;
    width: 360px;
    height: 319px;
    object-fit: contain;
    object-position: right bottom;
    pointer-events: none;
    transform: translate3d(var(--instagram-scroll-x), var(--instagram-scroll-y), 0)
               rotate(var(--instagram-scroll-tilt)) scale(var(--instagram-scroll-scale));
    transform-origin: 78% 92%;
    transition: transform .2s cubic-bezier(.2,.85,.3,1), opacity .12s ease;
}

.instagram-mascot-cta__final-pose {
    position: absolute;
    z-index: 3;
    right: 15px;
    bottom: -3px;
    width: 198px;
    height: 295px;
    object-fit: contain;
    object-position: center bottom;
    opacity: 0;
    pointer-events: none;
    filter: drop-shadow(0 13px 12px rgba(2,7,18,.24));
    transform: translate3d(var(--instagram-scroll-x), var(--instagram-scroll-y), 0)
               rotate(var(--instagram-scroll-tilt)) scale(var(--instagram-scroll-scale));
    transform-origin: 53% 91%;
    transition: transform .2s cubic-bezier(.2,.85,.3,1), opacity .12s ease;
}

.instagram-mascot-cta.video-finished .instagram-mascot-cta__video { opacity: 0; }
.instagram-mascot-cta.video-finished .instagram-mascot-cta__final-pose { opacity: 1; }

.instagram-mascot-cta__scroll-energy {
    position: absolute;
    z-index: 1;
    right: 152px;
    bottom: 104px;
    width: 88px;
    height: 92px;
    opacity: var(--instagram-scroll-energy);
    pointer-events: none;
    transition: opacity .16s ease;
}

.instagram-mascot-cta__scroll-energy i {
    position: absolute;
    right: 0;
    width: 82px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(20,218,255,.88) 52%, rgba(255,121,0,.95));
    box-shadow: 0 0 12px rgba(20,218,255,.48);
    transform: translateX(calc(var(--instagram-scroll-x) * -3)) scaleX(var(--instagram-scroll-scale));
    transform-origin: right center;
    transition: transform .18s cubic-bezier(.2,.85,.3,1);
}

.instagram-mascot-cta__scroll-energy i:nth-child(1) { top: 10px; width: 62px; }
.instagram-mascot-cta__scroll-energy i:nth-child(2) { top: 42px; }
.instagram-mascot-cta__scroll-energy i:nth-child(3) { top: 73px; width: 50px; }

.instagram-mascot-cta__bubble {
    position: absolute;
    z-index: 4;
    left: auto;
    right: 46px;
    top: 0;
    width: 205px;
    padding: 13px 14px 12px;
    color: #121a2a;
    background: linear-gradient(180deg, #ff7900 0 5px, rgba(255,250,244,.98) 5px 100%);
    border: 1px solid rgba(255,121,0,.42);
    border-radius: 18px 18px 18px 6px;
    box-shadow: 0 13px 30px rgba(3,8,20,.21);
    opacity: 0;
    transform: translate3d(0, var(--instagram-bubble-y), 0) rotate(var(--instagram-bubble-tilt));
    transform-origin: 72% 100%;
}

.instagram-mascot-cta.is-visible .instagram-mascot-cta__bubble {
    animation: instagram-bubble-in .42s 1.16s cubic-bezier(.16,1,.3,1) both;
}

.instagram-mascot-cta__bubble::after {
    content: "";
    position: absolute;
    right: 38px;
    top: auto;
    bottom: -12px;
    border-width: 13px 10px 0;
    border-style: solid;
    border-color: #fffaf4 transparent transparent;
}

.instagram-mascot-cta__bubble span {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
    color: #d62976;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.instagram-mascot-cta__bubble span i { font-size: .82rem; }

.instagram-mascot-cta__bubble strong {
    display: block;
    font-size: .9rem;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.02em;
}

.instagram-mascot-cta__bubble a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 7px 11px;
    color: #fff;
    background: linear-gradient(115deg, #d62976, #ff7900);
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(214,41,118,.22);
}

.instagram-mascot-cta__bubble a:hover { color: #fff; transform: translateY(-1px); }

.instagram-mascot-cta__close {
    position: absolute;
    z-index: 6;
    top: 82px;
    right: 3px;
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    padding: 0;
    color: #fff;
    background: rgba(10,17,31,.68);
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    font-size: 1rem;
    line-height: 1;
    opacity: 0;
    backdrop-filter: blur(8px);
}

.instagram-mascot-cta.is-visible .instagram-mascot-cta__close {
    animation: instagram-close-in .28s 1.45s ease-out both;
}

@keyframes instagram-bubble-in {
    from { opacity: 0; transform: translate3d(0,calc(12px + var(--instagram-bubble-y)),0) rotate(var(--instagram-bubble-tilt)) scale(.94); }
    to { opacity: 1; transform: translate3d(0,var(--instagram-bubble-y),0) rotate(var(--instagram-bubble-tilt)) scale(1); }
}

@keyframes instagram-close-in { from { opacity: 0; } to { opacity: .82; } }

@media (max-width: 700px) {
    .instagram-mascot-cta {
        right: 4px;
        bottom: 4px;
        width: min(328px, calc(100vw - 8px));
        height: 322px;
    }
    .instagram-mascot-cta__video { right: -5px; width: 330px; height: 292px; }
    .instagram-mascot-cta__final-pose { right: 13px; width: 182px; height: 271px; }
    .instagram-mascot-cta__scroll-energy { right: 138px; bottom: 94px; transform: scale(.9); }
    .instagram-mascot-cta__bubble { right: 39px; width: 195px; padding: 12px 13px 11px; }
    .instagram-mascot-cta__bubble strong { font-size: .84rem; }
    .instagram-mascot-cta__bubble a { font-size: .64rem; }
    .instagram-mascot-cta__close { top: 74px; right: 1px; }
}

@media (prefers-reduced-motion: reduce) {
    .instagram-mascot-cta { transition: opacity .15s ease; transform: none; }
    .instagram-mascot-cta__video { display: none; }
    .instagram-mascot-cta__final-pose { opacity: 1; transform: none; }
    .instagram-mascot-cta__scroll-energy { display: none; }
    .instagram-mascot-cta__bubble { top: 4px; opacity: 1; transform: none; }
}

.mascot-hero-wrap.mascot-hero-arrival {
    min-width: 400px;
    isolation: isolate;
    animation: none;
    overflow: visible;
}

.mascot-runner {
    position: relative;
    z-index: 3;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    transform-origin: 52% 90%;
    animation:
        papaleguas-arrival 1.12s cubic-bezier(.16, 1, .3, 1) both,
        papaleguas-showtime 6.8s 1.18s ease-in-out infinite;
}

.mascot-hero--corrida {
    display: block;
    width: auto;
    max-width: 390px;
    max-height: calc(100vh - 160px);
    animation: papaleguas-idle 3.4s ease-in-out 1.18s infinite;
    transform-origin: 52% 88%;
    transition: opacity .18s ease, filter .18s ease;
}

.mascot-hero--corrida.pose-changing {
    opacity: .04;
    filter: blur(4px) brightness(1.12);
}

.mascot-hero--corrida:hover {
    filter: drop-shadow(0 22px 64px rgba(255, 106, 0, .56));
}

@keyframes papaleguas-arrival {
    0% { opacity: 0; transform: translate3d(72vw, 4px, 0) rotate(9deg) scale3d(1.28, .76, 1); }
    24% { opacity: 1; }
    68% { transform: translate3d(-42px, 0, 0) rotate(-5deg) scale3d(.93, 1.06, 1); }
    84% { transform: translate3d(13px, 0, 0) rotate(2deg) scale3d(1.03, .98, 1); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale3d(1, 1, 1); }
}

@keyframes papaleguas-idle {
    0%, 100% { transform: translateY(0) rotate(0); }
    38% { transform: translateY(-10px) rotate(-1.4deg); }
    52% { transform: translateY(-12px) rotate(-1.4deg); }
    72% { transform: translateY(2px) rotate(.8deg); }
}

@keyframes papaleguas-showtime {
    0%, 57%, 100% { transform: translate3d(0, 0, 0) rotate(0) scale3d(1, 1, 1); }
    61% { transform: translate3d(0, 9px, 0) rotate(-2deg) scale3d(1.06, .93, 1); }
    67% { transform: translate3d(-10px, -34px, 0) rotate(-5deg) scale3d(.97, 1.05, 1); }
    72% { transform: translate3d(5px, -42px, 0) rotate(3deg) scale3d(1, 1.02, 1); }
    78% { transform: translate3d(0, 7px, 0) rotate(2deg) scale3d(1.08, .91, 1); }
    83% { transform: translate3d(0, -8px, 0) rotate(-1deg) scale3d(.98, 1.03, 1); }
    89% { transform: translate3d(0, 0, 0) rotate(0) scale3d(1, 1, 1); }
}

.mascot-speed-trail {
    position: absolute;
    z-index: 1;
    left: 45%;
    top: 35%;
    width: min(36vw, 460px);
    height: 120px;
    pointer-events: none;
}

.mascot-speed-trail i {
    position: absolute;
    right: 0;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(0, 210, 255, .9), rgba(255, 121, 0, .7), transparent);
    transform-origin: left center;
    opacity: 0;
    animation: speed-streak .72s ease-out forwards;
}

.mascot-speed-trail i:nth-child(1) { top: 14px; width: 100%; animation-delay: .16s; }
.mascot-speed-trail i:nth-child(2) { top: 54px; width: 78%; animation-delay: .24s; }
.mascot-speed-trail i:nth-child(3) { top: 92px; width: 58%; animation-delay: .31s; }

@keyframes speed-streak {
    0% { opacity: 0; transform: translateX(100px) scaleX(.2); }
    28% { opacity: .95; }
    100% { opacity: 0; transform: translateX(-30px) scaleX(1); }
}

.mascot-dust {
    position: absolute;
    z-index: 2;
    right: -18px;
    bottom: 8%;
    width: 230px;
    height: 105px;
    pointer-events: none;
}

.mascot-dust i {
    position: absolute;
    right: 12px;
    bottom: 3px;
    width: 46px;
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: 0;
    background: radial-gradient(circle at 38% 34%, rgba(255,255,255,.92), rgba(210,204,190,.66) 55%, transparent 72%);
    animation:
        dust-poof .82s cubic-bezier(.16, 1, .3, 1) forwards,
        dust-showtime 6.8s 1.18s ease-out infinite;
}

.mascot-dust i:nth-child(1) { animation-delay: .34s, 1.18s; }
.mascot-dust i:nth-child(2) { width: 68px; animation-delay: .43s, 1.26s; }
.mascot-dust i:nth-child(3) { width: 42px; animation-delay: .51s, 1.34s; }
.mascot-dust i:nth-child(4) { width: 56px; animation-delay: .59s, 1.42s; }
.mascot-dust i:nth-child(5) { width: 34px; animation-delay: .66s, 1.50s; }

@keyframes dust-poof {
    0% { opacity: 0; transform: translate3d(35px, 8px, 0) scale(.18); }
    28% { opacity: .9; }
    100% { opacity: 0; transform: translate3d(-185px, -45px, 0) scale(1.55); }
}

@keyframes dust-showtime {
    0%, 73%, 100% { opacity: 0; transform: translate3d(28px, 7px, 0) scale(.15); }
    78% { opacity: 0; transform: translate3d(20px, 6px, 0) scale(.2); }
    82% { opacity: .78; }
    92% { opacity: 0; transform: translate3d(-105px, -34px, 0) scale(1.2); }
}

.mascot-hero-arrival .hero-speech {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 12px;
    top: 110px !important;
    left: 0 !important;
    right: auto !important;
    width: 270px;
    max-width: 270px !important;
    padding: 18px 19px 17px 20px;
    color: #182033;
    background: linear-gradient(180deg, #ff7900 0 5px, rgba(255, 251, 244, .98) 5px 100%);
    border: 1px solid rgba(255, 121, 0, .42);
    border-radius: 26px 26px 8px 26px;
    box-shadow: 0 22px 54px rgba(3, 7, 18, .26), 0 4px 0 rgba(255, 121, 0, .12);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    pointer-events: none;
    animation: none;
}

/* O balão fica ancorado no palco, não na silhueta variável de cada pose. */

.mascot-hero-arrival .hero-speech.hero-speech--main::before {
    left: auto !important;
    right: -15px !important;
    top: 58% !important;
    border-width: 13px 0 13px 15px !important;
    border-color: transparent transparent transparent rgba(255, 121, 0, .42) !important;
}

.mascot-hero-arrival .hero-speech.hero-speech--main::after {
    left: auto !important;
    right: -12px !important;
    top: 58% !important;
    border-width: 11px 0 11px 13px !important;
    border-color: transparent transparent transparent #fffaf4 !important;
}

.hero-speech__eyebrow {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #bd4900;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.hero-speech__eyebrow > i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff7900;
    box-shadow: 0 0 0 5px rgba(255, 121, 0, .12);
}

.hero-speech__message {
    min-height: 2.5em;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.3;
    letter-spacing: -.015em;
}

.hero-speech__dots {
    align-self: end;
    display: flex;
    gap: 3px;
    padding-bottom: 4px;
}

.hero-speech__dots i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #ff7900;
    opacity: .28;
}

.mascot-hero-arrival.is-talking .hero-speech__dots i {
    animation: bubble-dot .62s ease-in-out infinite alternate;
}

.mascot-hero-arrival.is-talking .hero-speech__dots i:nth-child(2) { animation-delay: .12s; }
.mascot-hero-arrival.is-talking .hero-speech__dots i:nth-child(3) { animation-delay: .24s; }

@keyframes bubble-dot {
    from { opacity: .25; transform: translateY(0); }
    to { opacity: 1; transform: translateY(-4px); }
}

@media (max-width: 991px) {
    .hero-copy-stack { display: contents; }
    .hero-content { padding: 96px 0 34px !important; }
    .mascot-hero-wrap.mascot-hero-arrival { min-width: 0; }
    .mascot-runner { flex: 0 0 auto; }
    .mascot-hero--corrida { max-width: 200px !important; }
    .mascot-speed-trail { width: 250px; left: 35%; top: 30%; }
    .mascot-dust { width: 145px; right: 28%; bottom: 3%; }
    .mascot-hero-arrival .hero-speech {
        display: grid !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        max-width: 190px !important;
        border-radius: 20px 20px 20px 7px;
    }
    .hero-text-wrap .hero-sub { margin-inline: auto; text-align: left; }
    .hero-title.hero-title--brand { margin-inline: auto; font-size: clamp(2.5rem, 9vw, 4rem); }
    .hero-title__lead,
    .hero-title__bridge,
    .hero-title__result { margin-inline: auto; }
    .hero-product-lines,
    .hero-product-showcase { margin-inline: auto; }
}

/* No layout lado a lado, o mascote fica à esquerda do balão. A ponta precisa
   sair da borda esquerda e apontar de volta para ele. */
@media (min-width: 577px) and (max-width: 991.98px) {
    .hero--video-mascot .mascot-hero-arrival .hero-speech.hero-speech--main::before {
        left: -15px !important;
        right: auto !important;
        top: 58% !important;
        bottom: auto !important;
        border-width: 13px 15px 13px 0 !important;
        border-color: transparent rgba(255, 121, 0, .42) transparent transparent !important;
    }

    .hero--video-mascot .mascot-hero-arrival .hero-speech.hero-speech--main::after {
        left: -12px !important;
        right: auto !important;
        top: 58% !important;
        bottom: auto !important;
        border-width: 11px 13px 11px 0 !important;
        border-color: transparent #fffaf4 transparent transparent !important;
    }
}

@media (max-width: 576px) {
    .mascot-hero-wrap.mascot-hero-arrival {
        flex-direction: column !important;
        gap: 6px !important;
    }
    .mascot-hero-arrival .hero-speech,
    .mascot-hero-arrival[data-pose-index] .hero-speech {
        position: relative !important;
        inset: auto !important;
        order: -1;
        width: min(290px, calc(100vw - 42px)) !important;
        max-width: min(290px, calc(100vw - 42px)) !important;
        margin: 0 auto -8px !important;
        border-radius: 18px !important;
    }
    .mascot-hero-arrival .hero-speech.hero-speech--main::before {
        display: block !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: -14px !important;
        border-width: 14px 12px 0 !important;
        border-color: rgba(255, 121, 0, .42) transparent transparent !important;
        transform: translateX(-50%);
    }
    .mascot-hero-arrival .hero-speech.hero-speech--main::after {
        display: block !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: -11px !important;
        border-width: 12px 10px 0 !important;
        border-color: #fffaf4 transparent transparent !important;
        transform: translateX(-50%);
    }
    .hero-video-overlay {
        background:
            radial-gradient(ellipse at 50% 42%, transparent 30%, rgba(5,8,18,.22) 70%, rgba(5,8,18,.48) 100%),
            linear-gradient(180deg, rgba(6,10,22,.65) 0%, rgba(6,10,22,.43) 50%, rgba(6,10,22,.70) 100%) !important;
    }
    .hero-title--velocity { font-size: clamp(2rem, 10vw, 2.75rem) !important; }
    .hero-title.hero-title--brand { font-size: clamp(2.25rem, 10.5vw, 3rem) !important; }
    .hero-title__bridge { font-size: .25em; letter-spacing: .14em; }
    .hero-title__result { gap: .11em; }
    .hero-title__result em { font-size: .46em; }
    .hero-product-lines { padding: 0 0 0 12px; }
    .hero-product-lines__items { gap: 6px; }
    .hero-product-lines__items span { padding: 0; font-size: .66rem; }
    .hero-product-showcase {
        height: 154px;
        background: linear-gradient(104deg, rgba(7, 13, 25, .97) 0 46%, rgba(237, 241, 243, .97) 46% 100%);
    }
    .product-showcase__copy { width: 46%; padding: 15px 8px 15px 17px; }
    .product-showcase__copy span { font-size: .52rem; }
    .product-showcase__copy strong { font-size: 1.16rem; }
    .product-showcase__copy small { font-size: .57rem; }
    .product-showcase__visual { right: -8px; transform: scale(.72); }
    .hero-title__line--punch { padding-right: 48px; }
    .hero-title__line--punch::after { width: 45px; left: calc(100% - 40px); height: 3px; }
    .mascot-hero--corrida { max-width: 165px !important; animation: none; }
    .mascot-runner {
        animation:
            papaleguas-arrival .92s cubic-bezier(.16, 1, .3, 1) both,
            papaleguas-showtime 7.4s 1s ease-in-out infinite;
    }
    .mascot-speed-trail { width: 180px; }
    .mascot-dust { transform: scale(.72); }
    .mascot-hero-arrival .hero-speech {
        max-width: min(290px, calc(100vw - 42px)) !important;
        padding: 13px 13px 12px;
    }
    .hero-speech__eyebrow { font-size: .58rem; }
    .hero-speech__message { font-size: .8rem; }
}

.hero-sub {
    max-width: 620px;
    color: rgba(255, 255, 255, .82);
}

.stats-bar {
    padding: 32px 0;
    border: 0;
    background: #f36b21;
}

.stats-grid {
    gap: 0;
}

.stats-grid .stat-item {
    min-height: 96px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid rgba(255, 255, 255, .24);
}

.stats-grid .stat-item:last-child { border-right: 0; }

.stats-grid .stat-number,
.stats-grid .stat-number-text {
    background: none !important;
    color: #fff !important;
    -webkit-text-fill-color: currentColor !important;
}

.stats-grid .stat-label,
.stats-grid .stat-item .stat-label {
    color: rgba(255, 255, 255, .82) !important;
}

.guia-produtos {
    position: relative;
    padding: 96px 0 48px;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 20%, rgba(0, 174, 239, .08), transparent 28%),
        #f3f0e9;
}

.guia-produtos::before {
    content: "P";
    position: absolute;
    right: -45px;
    top: -110px;
    color: rgba(255, 85, 0, .045);
    font: 900 520px/1 var(--font-header, sans-serif);
    transform: rotate(-8deg);
    pointer-events: none;
}

.guia-produtos__intro {
    position: relative;
    min-height: 430px;
    display: grid;
    grid-template-columns: .78fr 1.05fr 1fr;
    align-items: center;
    border-radius: 34px;
    overflow: hidden;
    background: #071522;
    box-shadow: 0 34px 90px rgba(7, 21, 34, .18);
}

.guia-produtos__mascote {
    position: relative;
    align-self: end;
    height: 420px;
    z-index: 3;
}

.guia-produtos__mascote img {
    position: absolute;
    width: 430px;
    max-width: none;
    height: auto;
    left: -38px;
    bottom: -8px;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .35));
}

.guia-produtos__foto {
    align-self: stretch;
    min-height: 430px;
    overflow: hidden;
}

.guia-produtos__foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.guia-produtos__texto {
    padding: 48px 42px;
    color: #fff;
}

.guia-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #55c8ff;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.guia-kicker::before {
    content: "";
    width: 28px;
    height: 2px;
    background: #ff6500;
}

.guia-produtos__texto h2,
.em-acao__cabecalho h2 {
    margin: 0 0 18px;
    font: 900 clamp(2.2rem, 4vw, 4.3rem)/.98 var(--font-header, sans-serif);
    letter-spacing: -.045em;
}

.guia-produtos__texto h2 span,
.em-acao__cabecalho h2 span {
    color: #ff6500;
}

.guia-produtos__texto p {
    color: rgba(255, 255, 255, .72);
    line-height: 1.7;
}

.guia-selos {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 25px;
}

.guia-selos span {
    padding: 9px 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    color: #eaf4fa;
    font-size: .75rem;
    font-weight: 700;
}

.guia-selos i { color: #ff6500; }

/* Fábrica em movimento: composição baseada nos vídeos reais do site 15. */
.fabrica-showcase {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(275px, .78fr);
    grid-template-rows: auto minmax(0, 1.25fr) minmax(0, .75fr);
    gap: 12px;
    width: 100vw;
    height: min(820px, calc(100svh - 96px));
    min-height: 650px;
    margin-left: calc(50% - 50vw);
    padding-block: clamp(18px, 1.6vw, 24px);
    padding-inline: max(24px, calc((100vw - 1320px) / 2));
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 88% 8%, rgba(255, 101, 0, .10), transparent 25%),
        radial-gradient(circle at 8% 92%, rgba(41, 83, 104, .07), transparent 30%),
        linear-gradient(180deg, #f3f0e9 0%, #e9e4da 48%, #f3f0e9 100%);
    box-shadow: inset 0 2px 0 rgba(255, 101, 0, .72);
}

.fabrica-showcase::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -115px;
    top: -115px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(34, 72, 93, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 35px rgba(34, 72, 93, .018), 0 0 0 70px rgba(34, 72, 93, .012);
    pointer-events: none;
}

.fabrica-showcase__cabecalho {
    position: relative;
    z-index: 2;
    grid-column: 1 / 3;
    grid-row: 1;
    align-self: center;
    padding: 2px 20px 6px 4px;
    color: #111c24;
}

.fabrica-showcase__cabecalho .guia-kicker { color: #b94800; }

.fabrica-showcase__cabecalho h2 {
    max-width: 850px;
    margin: 0;
    font: 900 clamp(2.2rem, 3.4vw, 3.65rem)/.94 var(--font-header, sans-serif);
    letter-spacing: -.05em;
    color: #0b1720;
}

.fabrica-showcase__cabecalho h2 span { color: #ff6500; }

.fabrica-showcase__cabecalho > p {
    max-width: 690px;
    margin: 10px 0 0;
    color: #53616a;
    font-size: 1rem;
    line-height: 1.45;
}

.fabrica-video-card {
    position: relative;
    z-index: 2;
    min-height: 0;
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: #0c1b28;
    isolation: isolate;
    box-shadow: inset 0 0 0 1px rgba(32, 78, 104, .58), 0 14px 30px rgba(0, 0, 0, .18);
}

.fabrica-video-card::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(180deg, rgba(4, 12, 20, .02) 32%, rgba(4, 12, 20, .88) 100%);
    pointer-events: none;
}

.fabrica-video-card video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    background: #0c1b28;
    transform: scale(1.002);
    transition: transform .7s cubic-bezier(.2, .8, .2, 1), filter .35s ease;
}

.fabrica-video-card:hover video {
    transform: scale(1.035);
    filter: saturate(1.06) contrast(1.03);
}

.fabrica-video-card--wide {
    grid-column: 1 / 3;
    grid-row: 2;
}

.fabrica-video-card--solda {
    grid-column: 1;
    grid-row: 3;
}

.fabrica-video-card--laser {
    grid-column: 2;
    grid-row: 3;
}

.fabrica-video-card--mascote {
    grid-column: 3;
    grid-row: 1 / 4;
    box-shadow: inset 0 0 0 1px rgba(255, 101, 0, .34), 0 22px 55px rgba(0, 0, 0, .24);
}

.fabrica-video-card--mascote video { object-position: 52% center; }
.fabrica-video-card--solda video { object-position: center 62%; }
.fabrica-video-card--laser video { object-position: center 66%; }

.fabrica-video-card__texto {
    position: absolute;
    z-index: 4;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 40px 18px 15px;
    color: #fff;
}

.fabrica-video-card__texto > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75d7ff;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.fabrica-video-card__texto > span i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff6500;
    box-shadow: 0 0 12px rgba(255, 101, 0, .85);
}

.fabrica-video-card__texto h3 {
    margin: 6px 0 0;
    color: #fff;
    font: 850 clamp(1rem, 1.5vw, 1.35rem)/1.12 var(--font-header, sans-serif);
    letter-spacing: -.025em;
}

.fabrica-video-card__texto p {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, .7);
    font-size: .78rem;
    line-height: 1.48;
}

.fabrica-video-card--mascote .fabrica-video-card__texto {
    padding: 64px 19px 18px;
    background: linear-gradient(180deg, transparent, rgba(5, 15, 24, .25));
}

.fabrica-video-card--mascote .fabrica-video-card__texto > span {
    color: #fff;
    padding: 7px 9px;
    border-radius: 999px;
    background: rgba(255, 101, 0, .9);
    letter-spacing: .08em;
}

.fabrica-video-card--mascote .fabrica-video-card__texto > span i {
    background: #fff;
    box-shadow: 0 0 10px rgba(255, 255, 255, .7);
}

.produtos-principais {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-top: 24px;
}

.produto-principal {
    position: relative;
    padding: 18px;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid #ddd8cf;
    border-radius: 18px;
    background: #fff;
    color: #071522;
    text-decoration: none;
    box-shadow: 0 12px 35px rgba(7, 21, 34, .06);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.por-que {
    position: relative;
    padding: 110px 0;
    overflow: hidden;
    background: #f3f0e9;
}

.por-que__cabecalho {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    column-gap: 70px;
    align-items: end;
    margin-bottom: 44px;
}

.por-que__cabecalho .guia-kicker {
    grid-column: 1 / -1;
}

.por-que__cabecalho h2 {
    margin: 0;
    color: #071522;
    font: 900 clamp(2.6rem, 5vw, 5rem)/.96 var(--font-header, sans-serif);
    letter-spacing: -.05em;
}

.por-que__cabecalho h2 span { color: #f36b21; }

.por-que__cabecalho > p {
    margin: 0 0 8px;
    color: #5e6b73;
    font-size: 1.05rem;
    line-height: 1.7;
}

.por-que__grade {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #d9d4ca;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
}

.por-que__item {
    position: relative;
    min-height: 290px;
    padding: 35px;
    border-right: 1px solid #e3ded5;
}

.por-que__item:last-child { border-right: 0; }

.por-que__item > span {
    position: absolute;
    right: 24px;
    top: 20px;
    color: #d6d2ca;
    font: 900 2.2rem/1 var(--font-header, sans-serif);
}

.por-que__item > i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    margin-bottom: 58px;
    border-radius: 15px;
    background: #071522;
    color: #55c8ff;
    font-size: 1.45rem;
}

.por-que__item h3 {
    margin: 0 0 10px;
    color: #071522;
    font: 800 1.25rem/1.2 var(--font-header, sans-serif);
}

.por-que__item p {
    margin: 0;
    color: #67747c;
    line-height: 1.65;
}

.produto-principal:hover {
    transform: translateY(-7px);
    border-color: rgba(255, 101, 0, .55);
    box-shadow: 0 24px 55px rgba(7, 21, 34, .13);
    color: #071522;
}

.produto-principal__ref {
    position: absolute;
    z-index: 2;
    left: 15px;
    top: 15px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #071522;
    color: #fff;
    font: 800 .7rem/1 var(--font-header, sans-serif);
    letter-spacing: .08em;
}

.produto-principal img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    margin-bottom: 14px;
    border-radius: 14px;
    background: #fff;
}

.produto-principal strong {
    font: 800 1.05rem/1.25 var(--font-header, sans-serif);
}

.produto-principal small {
    margin-top: 8px;
    color: #697986;
    font-weight: 700;
}

.produto-principal small i { color: #ff6500; }

.em-acao {
    padding: 105px 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(0, 154, 220, .13), transparent 28%),
        radial-gradient(circle at 90% 82%, rgba(255, 91, 0, .1), transparent 25%),
        #06111c;
    color: #fff;
}

.cta-section {
    padding: 86px 0;
    background: #f3f0e9;
}

.cta-card--momento {
    position: relative;
    overflow: hidden;
    min-height: 480px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 34px;
    background:
        radial-gradient(circle at 96% 4%, rgba(85, 200, 255, .2), transparent 29%),
        linear-gradient(118deg, #06131f 0%, #0a2437 56%, #0d3045 100%) !important;
    text-align: left;
    box-shadow: 0 34px 80px rgba(7, 21, 34, .22);
}

.cta-card--momento::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: -155px;
    bottom: -235px;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 101, 0, .38), rgba(255, 101, 0, .08) 48%, transparent 70%);
}

.cta-card--momento::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    opacity: .12;
    background-image:
        linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: linear-gradient(90deg, transparent 28%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 28%, #000 100%);
    pointer-events: none;
}

.cta-card__layout {
    display: grid;
    grid-template-columns: 390px minmax(0, 1fr);
    align-items: center;
    min-height: 480px;
}

.cta-card--momento .cta-content-inner {
    position: relative;
    z-index: 4;
    max-width: 700px;
    padding: 68px 68px 68px 20px;
}

.cta-card--momento .guia-kicker {
    color: #79d8ff;
}

.cta-card--momento h2 {
    max-width: 680px;
    margin: 13px 0 34px;
    color: #fff;
    font-size: clamp(2.7rem, 5vw, 5.1rem);
    line-height: .94;
    letter-spacing: -.05em;
}

.cta-card--momento h2 span { color: #ff7426; }

.cta-mascote {
    position: relative;
    z-index: 2;
    align-self: stretch;
    min-height: 480px;
}

.cta-mascote::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 45px;
    bottom: -58px;
    width: 315px;
    height: 95px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .38);
    filter: blur(20px);
}

.cta-mascote img {
    position: absolute;
    z-index: 2;
    left: 24px;
    bottom: -112px;
    width: 330px;
    height: auto;
    filter: drop-shadow(0 20px 28px rgba(0, 0, 0, .3));
    transform-origin: 50% 85%;
    transition: transform .35s ease;
}

.cta-mascote__fala {
    position: absolute;
    z-index: 5;
    top: 38px;
    left: 176px;
    width: 195px;
    padding: 15px 17px;
    border: 2px solid rgba(85, 200, 255, .42);
    border-radius: 18px 18px 18px 4px;
    background: #fff;
    color: #102538;
    font: 800 .88rem/1.35 var(--font-header, sans-serif);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .22);
}

.cta-mascote__fala::after {
    content: "";
    position: absolute;
    left: 12px;
    bottom: -15px;
    width: 24px;
    height: 24px;
    background: #fff;
    clip-path: polygon(0 0, 100% 0, 0 100%);
}

.cta-mascote__gesto {
    position: absolute;
    z-index: 4;
    top: 276px;
    right: -42px;
    width: 110px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff6500, #ffd09d 68%, transparent);
    box-shadow: 0 0 18px rgba(255, 101, 0, .65);
    animation: cta-gesture-pulse 1.6s ease-in-out infinite;
}

.cta-mascote__gesto::before,
.cta-mascote__gesto::after {
    content: "";
    position: absolute;
    top: 50%;
    border-radius: 50%;
    background: #ff7a2a;
    transform: translateY(-50%);
}

.cta-mascote__gesto::before { left: -2px; width: 9px; height: 9px; }
.cta-mascote__gesto::after { right: 6px; width: 6px; height: 6px; }

.cta-catalogo-btn {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 14px;
    width: min(100%, 520px);
    padding: 13px 16px 13px 13px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 19px;
    background: linear-gradient(105deg, #fff 0%, #fff7f0 100%);
    color: #0b2030;
    text-decoration: none;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .26), 0 0 0 5px rgba(255, 101, 0, .1);
    transition: transform .28s ease, box-shadow .28s ease;
}

.cta-catalogo-btn::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 -55%;
    width: 34%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.85), transparent);
    transform: skewX(-18deg);
    transition: left .55s ease;
}

.cta-catalogo-btn__icone {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(145deg, #ff7a25, #e94d00);
    color: #fff;
    font-size: 1.55rem;
    box-shadow: 0 10px 24px rgba(233, 77, 0, .28);
}

.cta-catalogo-btn__texto { display: flex; flex-direction: column; gap: 3px; }
.cta-catalogo-btn__texto small {
    color: #6b7b86;
    font: 800 .66rem/1 var(--font-header, sans-serif);
    letter-spacing: .1em;
    text-transform: uppercase;
}
.cta-catalogo-btn__texto strong {
    color: #0b2030;
    font: 900 1.08rem/1.15 var(--font-header, sans-serif);
}
.cta-catalogo-btn__seta {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #0b2030;
    color: #fff;
    transition: transform .28s ease, background .28s ease;
}

.cta-catalogo-btn:hover {
    color: #0b2030;
    transform: translateY(-4px) scale(1.015);
    box-shadow: 0 24px 52px rgba(0, 0, 0, .32), 0 0 0 7px rgba(255, 101, 0, .15);
}
.cta-catalogo-btn:hover::before { left: 125%; }
.cta-catalogo-btn:hover .cta-catalogo-btn__seta { transform: translateX(4px); background: #e95600; }
.cta-card--momento:has(.cta-catalogo-btn:hover) .cta-mascote img { transform: translateX(6px) rotate(1deg); }

.cta-b2b-audiencia {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.cta-b2b-audiencia span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    color: #c8d9e3;
    font: 800 .66rem/1 var(--font-header, sans-serif);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cta-b2b-audiencia i { color: #65d2ff; }

@keyframes cta-gesture-pulse {
    0%, 100% { opacity: .45; transform: scaleX(.82); transform-origin: left; }
    50% { opacity: 1; transform: scaleX(1); transform-origin: left; }
}

/* CTA B2B — composição nova: mascote apresenta o botão circular */
.cta-b2b-card {
    position: relative;
    display: grid;
    grid-template-columns: 430px minmax(0, 1fr);
    min-height: 520px;
    overflow: hidden;
    border: 1px solid #dfe5e8;
    border-radius: 36px;
    background: #fbfcfc;
    box-shadow: 0 32px 75px rgba(13, 39, 54, .18);
}

.cta-b2b-card::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    width: 9px;
    height: 100%;
    background: linear-gradient(#ff7827, #e95000);
}

.cta-b2b-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -130px;
    right: -110px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(25, 135, 183, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 45px rgba(25, 135, 183, .035), 0 0 0 90px rgba(25, 135, 183, .025);
}

.cta-b2b-scene {
    position: relative;
    z-index: 2;
    min-height: 520px;
    overflow: hidden;
    background:
        linear-gradient(155deg, rgba(255,255,255,.07), transparent 42%),
        linear-gradient(145deg, #0b2b3d, #06141f);
    clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%);
}

.cta-b2b-scene__glow {
    position: absolute;
    left: -120px;
    bottom: -185px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 101, 0, .62), rgba(255, 101, 0, .12) 48%, transparent 69%);
}

.cta-b2b-scene__glow::after {
    content: "P";
    position: absolute;
    right: 68px;
    top: 62px;
    color: rgba(255,255,255,.06);
    font: italic 900 14rem/1 var(--font-header, sans-serif);
}

.cta-b2b-mascote {
    position: absolute;
    z-index: 3;
    left: 24px;
    bottom: -112px;
    width: 330px;
    height: auto;
    filter: drop-shadow(0 22px 28px rgba(0, 0, 0, .34));
    transform-origin: 48% 88%;
    transition: transform .35s ease;
}

.cta-b2b-fala {
    position: absolute;
    z-index: 5;
    top: 38px;
    left: 178px;
    width: 190px;
    padding: 14px 16px;
    border: 2px solid rgba(85, 200, 255, .5);
    border-radius: 18px 18px 18px 4px;
    background: #fff;
    color: #102538;
    font: 800 .82rem/1.28 var(--font-header, sans-serif);
    box-shadow: 0 15px 32px rgba(0, 0, 0, .24);
}

.cta-b2b-fala strong {
    display: block;
    margin-top: 2px;
    color: #e95600;
    font-size: .94rem;
}

.cta-b2b-fala::after {
    content: "";
    position: absolute;
    left: 12px;
    bottom: -15px;
    width: 23px;
    height: 23px;
    background: #fff;
    clip-path: polygon(0 0, 100% 0, 0 100%);
}

.cta-b2b-copy {
    position: relative;
    z-index: 3;
    align-self: center;
    padding: 65px 70px 65px 115px;
}

.cta-b2b-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #317b9c;
    font: 900 .72rem/1 var(--font-header, sans-serif);
    letter-spacing: .13em;
    text-transform: uppercase;
}

.cta-b2b-kicker i {
    width: 26px;
    height: 3px;
    border-radius: 999px;
    background: #ff6500;
}

.cta-b2b-copy h2 {
    max-width: 610px;
    margin: 17px 0 31px;
    color: #0a2232;
    font: 900 clamp(2.8rem, 4.7vw, 5rem)/.94 var(--font-header, sans-serif);
    letter-spacing: -.055em;
}

.cta-b2b-copy h2 span {
    display: block;
    color: #ed5b0c;
}

.cta-b2b-publicos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cta-b2b-publicos span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border: 1px solid #dbe4e8;
    border-radius: 999px;
    background: #fff;
    color: #486270;
    font: 800 .67rem/1 var(--font-header, sans-serif);
    letter-spacing: .05em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(15, 52, 71, .06);
}

.cta-b2b-publicos i { color: #168bbb; }

.cta-b2b-botao {
    position: absolute;
    z-index: 8;
    left: 335px;
    top: 260px;
    width: 174px;
    height: 174px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 7px solid #fbfcfc;
    border-radius: 50%;
    background: linear-gradient(145deg, #ff7c2a, #e84d00);
    color: #fff;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 22px 45px rgba(219, 72, 0, .35), 0 0 0 1px rgba(255, 101, 0, .22);
    transition: transform .3s ease, box-shadow .3s ease;
}

.cta-b2b-botao::before,
.cta-b2b-botao::after {
    content: "";
    position: absolute;
    inset: -17px;
    border: 1px solid rgba(255, 101, 0, .22);
    border-radius: 50%;
    animation: cta-b2b-ring 2.4s ease-out infinite;
}

.cta-b2b-botao::after { animation-delay: 1.2s; }

.cta-b2b-botao__icone {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    margin-bottom: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,.17);
    font-size: 1.15rem;
}

.cta-b2b-botao__texto {
    font: 800 .68rem/1.05 var(--font-header, sans-serif);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cta-b2b-botao__texto strong {
    display: block;
    margin-top: 3px;
    font-size: 1.2rem;
    letter-spacing: -.02em;
}

.cta-b2b-botao__seta {
    position: absolute;
    right: 22px;
    bottom: 20px;
    transition: transform .28s ease;
}

.cta-b2b-botao:hover {
    color: #fff;
    transform: translateY(-7px) rotate(-2deg) scale(1.04);
    box-shadow: 0 29px 54px rgba(219, 72, 0, .43), 0 0 0 1px rgba(255, 101, 0, .26);
}

.cta-b2b-botao:focus-visible {
    outline: 4px solid #29b9f0;
    outline-offset: 6px;
}

.cta-b2b-botao:active { transform: scale(.97); }

.cta-b2b-botao:hover .cta-b2b-botao__seta { transform: translateX(6px); }
.cta-b2b-card:has(.cta-b2b-botao:hover) .cta-b2b-mascote { transform: translateX(7px) rotate(1.2deg); }

@keyframes cta-b2b-ring {
    0% { opacity: .75; transform: scale(.9); }
    100% { opacity: 0; transform: scale(1.18); }
}

.em-acao__cabecalho {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 45px;
    margin-bottom: 38px;
}

.em-acao__cabecalho h2 { margin-bottom: 0; }

.em-acao__cabecalho > p {
    max-width: 430px;
    margin: 0 0 8px;
    color: #aebfcb;
    line-height: 1.65;
}

.em-acao__grade {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.acao-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(16, 42, 61, .96), rgba(7, 23, 36, .98));
    box-shadow: 0 20px 50px rgba(0, 0, 0, .22);
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.acao-card:hover {
    transform: translateY(-6px);
    border-color: rgba(85, 200, 255, .28);
    box-shadow: 0 28px 65px rgba(0, 0, 0, .34);
}

.acao-card__midia {
    position: relative;
    isolation: isolate;
    aspect-ratio: 1;
    overflow: hidden;
    background: #030a10;
    cursor: pointer;
}

.acao-card__midia::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(3, 10, 16, .28) 0%, transparent 35%, rgba(3, 10, 16, .46) 100%);
}

.acao-card__preview-video {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.acao-card__midia > video.acao-card__video-full {
    position: relative;
    z-index: 8;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.acao-card__preview-label {
    position: absolute;
    z-index: 4;
    top: 15px;
    left: 15px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(3, 14, 23, .72);
    color: rgba(255, 255, 255, .9);
    font: 800 .62rem/1 var(--font-header, sans-serif);
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(9px);
}

.acao-card__preview-label i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff6500;
    box-shadow: 0 0 0 4px rgba(255, 101, 0, .15);
}

.acao-card__midia > button {
    position: absolute;
    z-index: 5;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    display: grid;
    place-items: center;
    color: #fff;
    cursor: pointer;
}

.acao-card__play {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    background: rgba(255, 91, 0, .92);
    font-size: 2rem;
    box-shadow: 0 15px 38px rgba(255, 91, 0, .3);
    backdrop-filter: blur(7px);
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.acao-card__play > i { transform: translateX(2px); }

.acao-card__midia > button:hover .acao-card__play,
.acao-card__midia > button:focus-visible .acao-card__play {
    transform: scale(1.1);
    background: #ff6500;
    box-shadow: 0 18px 45px rgba(255, 91, 0, .48);
}

.acao-card__midia > button:focus-visible { outline: 3px solid #55c8ff; outline-offset: -3px; }

.acao-card__texto { position: relative; padding: 20px 23px 19px; }
.acao-card__texto::before {
    content: "";
    position: absolute;
    top: 0;
    left: 23px;
    width: 34px;
    height: 2px;
    background: linear-gradient(90deg, #ff6500, #55c8ff);
}
.acao-card__texto span {
    color: #55c8ff;
    font: 800 .72rem/1 var(--font-header, sans-serif);
    letter-spacing: .12em;
}
.acao-card__texto h3 {
    margin: 8px 0 0;
    color: #fff;
    font: 800 1.2rem/1.25 var(--font-header, sans-serif);
}

@media (max-width: 1100px) {
    .fabrica-showcase {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
        grid-template-rows: auto 340px 230px 315px;
        height: auto;
        min-height: 0;
    }
    .fabrica-showcase__cabecalho { grid-column: 1 / 3; grid-row: 1; }
    .fabrica-video-card--mascote { grid-column: 1; grid-row: 2 / 4; }
    .fabrica-video-card--wide { grid-column: 2; grid-row: 2; }
    .fabrica-video-card--solda { grid-column: 2; grid-row: 3; }
    .fabrica-video-card--laser { grid-column: 1 / 3; grid-row: 4; }
    .guia-produtos__intro { grid-template-columns: .72fr 1fr; }
    .guia-produtos__foto { display: none; }
    .produtos-principais { grid-template-columns: repeat(2, 1fr); }
    .por-que__cabecalho { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 1050px) {
    .cta-b2b-card {
        display: block;
        min-height: 720px;
    }
    .cta-b2b-copy {
        position: relative;
        z-index: 5;
        padding: 48px 42px 375px;
    }
    .cta-b2b-copy h2 {
        max-width: 760px;
        font-size: clamp(3.1rem, 7vw, 4.5rem);
    }
    .cta-b2b-scene {
        position: absolute;
        z-index: 2;
        inset: auto 0 0;
        min-height: 350px;
        clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 100%);
    }
    .cta-b2b-scene__glow { left: -160px; bottom: -220px; }
    .cta-b2b-mascote { left: 0; bottom: -82px; width: 255px; }
    .cta-b2b-fala { top: 82px; left: 180px; }
    .cta-b2b-botao {
        left: 205px;
        top: auto;
        bottom: 62px;
        width: 158px;
        height: 158px;
        border-width: 6px;
    }
}

@media (max-width: 767px) {
    .mascot-hero--guia { max-width: 150px !important; }
    .hero-title { font-size: clamp(2.75rem, 14vw, 4.2rem); }
    .stats-grid .stat-item { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
    .stats-grid .stat-item:last-child { border-bottom: 0; }
    .guia-produtos { padding: 58px 0 36px; }
    .fabrica-showcase {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: none;
        height: auto;
        min-height: 0;
        gap: 12px;
        padding: 14px;
        border-radius: 0;
    }
    .fabrica-showcase__cabecalho,
    .fabrica-video-card--mascote,
    .fabrica-video-card--wide,
    .fabrica-video-card--solda,
    .fabrica-video-card--laser {
        grid-column: 1;
        grid-row: auto;
    }
    .fabrica-showcase__cabecalho { padding: 22px 10px 18px; }
    .fabrica-showcase__cabecalho h2 { font-size: clamp(2.25rem, 11vw, 3.15rem); }
    .fabrica-showcase__cabecalho > p { margin-top: 14px; font-size: .9rem; }
    .fabrica-video-card { border-radius: 14px; }
    .fabrica-video-card--mascote { aspect-ratio: 9 / 15; }
    .fabrica-video-card--wide { aspect-ratio: 4 / 3; }
    .fabrica-video-card--solda,
    .fabrica-video-card--laser { aspect-ratio: 4 / 5; }
    .fabrica-video-card__texto { padding: 44px 17px 16px; }
    .fabrica-video-card__texto h3 { font-size: 1rem; }
    .guia-produtos__intro {
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: 24px;
    }
    .guia-produtos__mascote {
        order: 2;
        width: 100%;
        height: 260px;
    }
    .guia-produtos__mascote img {
        width: 290px;
        left: 50%;
        bottom: -10px;
        transform: translateX(-50%);
    }
    .guia-produtos__texto { order: 1; padding: 34px 26px 0; }
    .guia-produtos__texto h2 { font-size: 2.45rem; }
    .produtos-principais {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 14px;
    }
    .produto-principal { padding: 10px; border-radius: 16px; }
    .produto-principal__ref { left: 8px; top: 8px; font-size: .58rem; }
    .produto-principal strong { font-size: .88rem; }
    .produto-principal small { font-size: .72rem; }
    .por-que { padding: 68px 0; }
    .por-que__cabecalho h2 { font-size: 2.7rem; }
    .por-que__grade { grid-template-columns: 1fr; }
    .por-que__item { min-height: 0; border-right: 0; border-bottom: 1px solid #e3ded5; }
    .por-que__item:last-child { border-bottom: 0; }
    .por-que__item > i { margin-bottom: 34px; }
    .em-acao { padding: 68px 0; }
    .em-acao__cabecalho { align-items: flex-start; flex-direction: column; gap: 14px; }
    .em-acao__cabecalho h2 { font-size: 2.45rem; }
    .em-acao__grade { grid-template-columns: 1fr; }
    .cta-section { padding: 58px 0; }
    .cta-card--momento { min-height: 590px; border-radius: 24px; }
    .cta-card__layout { display: block; min-height: 590px; }
    .cta-card--momento .cta-content-inner {
        position: static;
        max-width: none;
        padding: 38px 23px 300px;
    }
    .cta-card--momento h2 {
        max-width: 100%;
        margin: 10px 0 25px;
        font-size: clamp(2.45rem, 12vw, 3.2rem);
    }
    .cta-mascote {
        position: absolute;
        z-index: 2;
        inset: auto 0 0;
        min-height: 300px;
    }
    .cta-mascote::after { left: -8px; bottom: -45px; width: 230px; }
    .cta-mascote img { left: -27px; bottom: -80px; width: 235px; }
    .cta-mascote__fala {
        top: 46px;
        left: 157px;
        width: min(155px, 43vw);
        padding: 12px 13px;
        font-size: .74rem;
    }
    .cta-mascote__gesto { top: 198px; right: auto; left: 167px; width: 82px; }
    .cta-catalogo-btn {
        position: absolute;
        z-index: 6;
        right: 16px;
        bottom: 68px;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 9px;
        width: calc(100% - 155px);
        min-width: 158px;
        padding: 10px;
        border-radius: 16px;
    }
    .cta-catalogo-btn__icone { width: 46px; height: 46px; border-radius: 12px; font-size: 1.2rem; }
    .cta-catalogo-btn__texto small { display: none; }
    .cta-catalogo-btn__texto strong { font-size: .88rem; }
    .cta-catalogo-btn__seta { display: none; }
    .cta-b2b-audiencia {
        position: absolute;
        z-index: 5;
        right: 15px;
        bottom: 21px;
        justify-content: flex-end;
        gap: 5px;
        width: calc(100% - 145px);
        margin: 0;
    }
    .cta-b2b-audiencia span { padding: 5px 7px; font-size: .52rem; }
    .cta-b2b-audiencia i { display: none; }

    .cta-b2b-card {
        display: block;
        min-height: 700px;
        border-radius: 26px;
    }
    .cta-b2b-card::before { width: 6px; }
    .cta-b2b-card::after { top: -180px; right: -210px; }
    .cta-b2b-copy {
        position: relative;
        z-index: 5;
        padding: 36px 23px 355px;
    }
    .cta-b2b-copy h2 {
        max-width: none;
        margin: 14px 0 23px;
        font-size: clamp(2.45rem, 12vw, 3.25rem);
    }
    .cta-b2b-publicos { gap: 5px; }
    .cta-b2b-publicos span { padding: 7px 8px; font-size: .54rem; }
    .cta-b2b-publicos i { display: none; }
    .cta-b2b-scene {
        position: absolute;
        z-index: 2;
        inset: auto 0 0;
        min-height: 330px;
        clip-path: polygon(0 19%, 100% 0, 100% 100%, 0 100%);
    }
    .cta-b2b-scene__glow { left: -180px; bottom: -225px; }
    .cta-b2b-scene__glow::after { right: 62px; top: 42px; font-size: 11rem; }
    .cta-b2b-mascote { left: -28px; bottom: -78px; width: 238px; }
    .cta-b2b-fala {
        top: 73px;
        left: 150px;
        width: min(154px, 43vw);
        padding: 11px 12px;
        font-size: .7rem;
    }
    .cta-b2b-fala strong { font-size: .8rem; }
    .cta-b2b-botao {
        left: auto;
        top: auto;
        right: 20px;
        bottom: 58px;
        width: 142px;
        height: 142px;
        border-width: 5px;
    }
    .cta-b2b-botao__icone { width: 34px; height: 34px; margin-bottom: 5px; }
    .cta-b2b-botao__texto { font-size: .58rem; }
    .cta-b2b-botao__texto strong { font-size: 1rem; }
    .cta-b2b-botao__seta { right: 18px; bottom: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-title--velocity .hero-title__line,
    .hero-product-showcase,
    .hero-product-showcase::after,
    .product-showcase__photo,
    .product-showcase__flame-glow,
    .product-flame,
    .mascot-runner,
    .mascot-hero--corrida,
    .hero-speech__dots i {
        opacity: 1;
        transform: none;
        animation: none;
    }
    .mascot-speed-trail,
    .mascot-dust { display: none; }
    .produto-principal:hover,
    .acao-card:hover { transform: none; }
    .acao-card,
    .acao-card__play { transition: none; }
    .cta-mascote__gesto { animation: none; }
    .cta-mascote img,
    .cta-catalogo-btn,
    .cta-catalogo-btn::before,
    .cta-catalogo-btn__seta { transition: none; }
    .cta-b2b-botao::before,
    .cta-b2b-botao::after { animation: none; }
    .cta-b2b-mascote,
    .cta-b2b-botao,
    .cta-b2b-botao__seta { transition: none; }
}

/* ==============================================================
   ACABAMENTO RESPONSIVO — tablet e celular
   Mantido no fim do arquivo para consolidar os breakpoints da home
   sem alterar a composição aprovada para desktop (acima de 1100px).
   ============================================================== */

@media (min-width: 768px) and (max-width: 1100px) {
    html,
    body { overflow-x: hidden; }

    html { scroll-padding-top: 72px; }

    #fabrica-showcase,
    #em-acao,
    #contato { scroll-margin-top: 72px; }

    .hero--video-mascot .hero-content > .container,
    .guia-produtos > .container,
    .por-que > .container,
    .em-acao > .container,
    .cta-section > .container {
        max-width: calc(100% - 32px);
    }

    .hero-actions {
        flex-wrap: wrap;
    }

    .stats-bar .stats-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .stats-grid .stat-item {
        min-width: 0;
        padding-inline: 12px !important;
    }

    .stats-grid .stat-number-text {
        font-size: clamp(1.22rem, 2.7vw, 1.7rem) !important;
        text-align: center;
    }

    .fabrica-showcase {
        gap: 14px;
        padding: 20px;
        border-radius: 24px;
    }

    .fabrica-video-card__texto p {
        max-width: 34rem;
    }

    .em-acao__grade {
        gap: 14px;
    }

    .acao-card__texto {
        padding: 18px 17px 17px;
    }

    .acao-card__texto::before { left: 17px; }
    .acao-card__texto h3 { font-size: 1.05rem; }

    .cta-section { padding-block: 70px; }

    .navbar-toggler {
        width: 46px;
        height: 46px;
        padding: 8px;
        border-radius: 12px;
    }

    .navbar-collapse {
        margin-top: 7px;
        padding: 8px 0 12px;
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .navbar-nav,
    .navbar .nav-item { width: 100%; }

    .navbar .navbar-nav { align-items: stretch !important; }

    .navbar .nav-link {
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .footer-simple__route,
    .footer-simple__instagram {
        min-width: 44px;
        min-height: 44px;
    }
}

@media (max-width: 767px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    html { scroll-padding-top: 72px; }

    #fabrica-showcase,
    #em-acao,
    #contato { scroll-margin-top: 72px; }

    .hero--video-mascot .hero-content > .container,
    .guia-produtos > .container,
    .por-que > .container,
    .em-acao > .container,
    .cta-section > .container {
        width: 100%;
        max-width: 100%;
        padding-inline: 14px;
    }

    .hero--video-mascot .hero-grid,
    html.mobile-device body .hero--video-mascot .hero-grid {
        width: 100% !important;
        min-width: 0 !important;
    }

    .hero-copy-stack,
    .hero-text-wrap,
    .hero-product-showcase,
    .hero-actions {
        width: 100%;
        min-width: 0;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px !important;
    }

    .hero-actions .btn-glow,
    .hero-actions .btn-glass {
        width: 100%;
        min-height: 48px;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }

    .navbar {
        padding-top: max(6px, env(safe-area-inset-top));
    }

    .navbar-toggler {
        width: 46px;
        height: 46px;
        display: grid;
        place-items: center;
        padding: 8px;
        border-radius: 12px;
    }

    .navbar-collapse {
        margin-top: 7px;
        padding: 8px 0 12px;
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .navbar-nav,
    .navbar .nav-item { width: 100%; }

    .navbar .navbar-nav { align-items: stretch !important; }

    .navbar .nav-link {
        width: 100%;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .hero-product-showcase { border-radius: 16px; }

    .product-showcase__photo,
    .product-showcase__flame-glow,
    .mascot-runner {
        animation-iteration-count: 1 !important;
    }

    .stats-bar .stats-grid,
    html.mobile-device .stats-bar .stats-grid {
        grid-template-columns: 1fr !important;
        gap: 0;
    }

    .stats-grid .stat-item {
        min-height: 86px;
        padding: 15px 10px !important;
    }

    .stats-grid .stat-number-text {
        font-size: 1.35rem !important;
        text-align: center;
    }

    .fabrica-showcase {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        padding-inline: 14px;
    }

    .fabrica-video-card--mascote { aspect-ratio: 4 / 5; }
    .fabrica-video-card--wide { aspect-ratio: 4 / 3; }
    .fabrica-video-card--solda,
    .fabrica-video-card--laser { aspect-ratio: 1 / 1; }

    .fabrica-video-card--mascote video { object-position: 52% 45%; }
    .fabrica-video-card--solda video { object-position: center 58%; }
    .fabrica-video-card--laser video { object-position: center 60%; }

    .fabrica-video-card__texto p {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .guia-produtos__texto {
        padding-inline: 20px;
    }

    .guia-produtos__texto h2,
    .por-que__cabecalho h2,
    .em-acao__cabecalho h2 {
        overflow-wrap: anywhere;
    }

    .por-que__item {
        padding: 28px 24px;
    }

    .por-que__item > i {
        margin-bottom: 28px;
    }

    .acao-card__play {
        width: 58px;
        height: 58px;
        font-size: 1.65rem;
    }

    .acao-card__texto {
        padding: 18px 18px 17px;
    }

    .acao-card__texto::before { left: 18px; }

    .cta-section { padding: 54px 0; }

    .cta-b2b-card {
        min-height: 660px;
    }

    .cta-b2b-copy {
        padding: 32px 20px 330px;
    }

    .cta-b2b-scene {
        min-height: 310px;
    }

    .cta-b2b-mascote {
        left: -22px;
        bottom: -70px;
        width: 218px;
    }

    .cta-b2b-fala {
        top: 64px;
        left: 139px;
        width: min(148px, 42vw);
        font-size: .78rem;
    }

    .cta-b2b-fala strong { font-size: .87rem; }

    .cta-b2b-publicos span { font-size: .64rem; }

    .cta-b2b-botao {
        right: 15px;
        bottom: 48px;
        width: 132px;
        height: 132px;
    }

    .cta-b2b-botao::before,
    .cta-b2b-botao::after { animation: none; }

    .cta-b2b-botao__texto { font-size: .64rem; }

    .instagram-mascot-cta {
        right: 6px;
        bottom: max(6px, env(safe-area-inset-bottom));
        width: min(300px, calc(100vw - 12px));
        height: 284px;
    }

    .instagram-mascot-cta__video {
        right: -4px;
        width: 294px;
        height: 260px;
        transform: none;
    }

    .instagram-mascot-cta__final-pose {
        right: 11px;
        width: 164px;
        height: 244px;
        transform: none;
    }

    .instagram-mascot-cta__scroll-energy { display: none; }

    .instagram-mascot-cta__bubble {
        right: 38px;
        width: 180px;
        transform: none;
    }

    .instagram-mascot-cta__bubble a {
        min-height: 40px;
        padding: 10px 14px;
        font-size: .72rem;
    }

    .instagram-mascot-cta__close {
        top: 65px;
        right: 0;
        width: 44px;
        height: 44px;
        font-size: 1.25rem;
    }

    .footer-simple__brand {
        gap: 12px;
    }

    .footer-simple__brand > img {
        width: min(145px, calc(100% - 50px));
    }

    .footer-simple__route,
    .footer-simple__instagram {
        min-width: 44px;
        min-height: 44px;
    }

    .footer-simple__channels > a {
        min-height: 48px;
    }

    .footer-bottom a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        padding-block: 8px;
    }
}

@media (max-width: 420px) {
    .hero-title.hero-title--brand {
        font-size: clamp(2.1rem, 10.8vw, 2.75rem) !important;
    }

    .hero-product-showcase { height: 145px; }

    .fabrica-showcase__cabecalho h2,
    .guia-produtos__texto h2,
    .por-que__cabecalho h2,
    .em-acao__cabecalho h2 {
        font-size: clamp(2rem, 10.5vw, 2.55rem);
    }

    .instagram-mascot-cta {
        right: 5px;
        width: min(266px, calc(100vw - 10px));
        height: 250px;
    }

    .instagram-mascot-cta__video {
        right: -3px;
        width: 260px;
        height: 230px;
    }

    .instagram-mascot-cta__final-pose {
        right: 9px;
        width: 145px;
        height: 216px;
    }

    .instagram-mascot-cta__bubble {
        right: 34px;
        width: 166px;
        padding: 10px 11px;
    }

    .instagram-mascot-cta__bubble strong { font-size: .78rem; }
    .instagram-mascot-cta__close { top: 61px; right: 0; }

    .cta-b2b-copy h2 {
        font-size: clamp(2.1rem, 11vw, 2.7rem);
    }

    .cta-b2b-publicos span {
        flex: 1 1 calc(50% - 5px);
        justify-content: center;
        text-align: center;
    }

    .cta-b2b-mascote {
        left: -29px;
        width: 205px;
    }

    .cta-b2b-fala {
        left: 127px;
        width: min(138px, 42vw);
    }

    .cta-b2b-botao {
        right: 11px;
        width: 122px;
        height: 122px;
    }
}

@media (hover: none) {
    .fabrica-video-card:hover video { transform: scale(1.01); }
    .produto-principal:hover,
    .acao-card:hover { transform: none; }
    .cta-b2b-botao:hover { transform: none; }
}
