/* Modernizacao exclusiva do corpo da Home. Cabecalho e rodape nao sao alterados. */
.home-modern {
    --home-primary: var(--theme-primary, #1db954);
    --home-primary-dark: var(--theme-primary-dark, #159b45);
    --home-ink: #101512;
    --home-muted: #66706a;
    --home-surface: #ffffff;
    background: #f5f7f6;
    color: var(--home-ink);
    overflow: hidden;
}

.home-modern *,
.home-modern *::before,
.home-modern *::after {
    box-sizing: border-box;
}

.home-modern img {
    max-width: 100%;
}

.home-section {
    position: relative;
    padding: 64px 0;
}

.home-modern h1,
.home-modern h2,
.home-modern h3,
.home-modern p {
    margin-top: 0;
}

.home-modern h2 {
    color: var(--home-ink);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.06;
}

.home-btn {
    align-items: center;
    border: 0;
    border-radius: 8px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 9px;
    justify-content: center;
    letter-spacing: .025em;
    min-height: 46px;
    padding: 0 23px;
    text-transform: uppercase;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.home-btn:hover,
.home-btn:focus {
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

.home-btn-primary,
.home-btn-small {
    background: var(--home-primary);
    box-shadow: 0 12px 28px rgba(29, 185, 84, .25);
    color: #fff;
}

.home-btn-primary:hover,
.home-btn-primary:focus,
.home-btn-small:hover,
.home-btn-small:focus {
    background: var(--home-primary-dark);
    box-shadow: 0 16px 34px rgba(29, 185, 84, .34);
}

.home-btn-small {
    font-size: 12px;
    min-height: 38px;
    padding: 0 16px;
}

/* Hero */
.home-hero {
    background: #06100a;
    margin: 0;
    min-height: 420px;
    width: 100%;
}

.home-hero .flexslider {
    background: #06100a;
    border: 0;
    border-radius: 0;
    margin: 0;
    overflow: hidden;
}

.home-hero .flex-viewport,
.home-hero .slides,
.home-hero .home-hero-slide {
    min-height: clamp(460px, 43vw, 760px);
}

.home-hero .home-hero-slide {
    background: #07120b;
    overflow: hidden;
    position: relative;
}

.home-hero .home-hero-slide > img {
    height: clamp(460px, 43vw, 760px);
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.home-hero .home-hero-dynamic > img {
    object-fit: contain;
}

.home-hero-shade {
    background: linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(1, 9, 4, .58) 39%, rgba(0, 0, 0, .04) 72%), linear-gradient(0deg, rgba(0, 0, 0, .5), transparent 48%);
    inset: 0;
    position: absolute;
}

.home-hero-copy {
    color: #fff;
    left: max(6vw, calc((100vw - 1170px) / 2));
    max-width: 570px;
    position: absolute;
    top: 51%;
    transform: translateY(-50%);
    z-index: 3;
}

.home-hero-copy-right {
    left: auto;
    right: max(7vw, calc((100vw - 1170px) / 2));
}

.home-hero-events .home-hero-shade {
    background: linear-gradient(270deg, rgba(0, 0, 0, .92) 0%, rgba(1, 9, 4, .6) 40%, rgba(0, 0, 0, .04) 72%), linear-gradient(0deg, rgba(0, 0, 0, .48), transparent 48%);
}

.home-hero-copy h1,
.home-hero-copy h2 {
    background: none;
    color: #fff;
    font-size: clamp(42px, 5.4vw, 78px);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: .98;
    margin: 15px 0 20px;
    padding: 0;
    text-shadow: 0 8px 30px rgba(0, 0, 0, .48);
}

.home-hero-copy p {
    color: rgba(255, 255, 255, .88);
    font-size: clamp(18px, 1.8vw, 25px);
    line-height: 1.4;
    margin-bottom: 28px;
    max-width: 510px;
}

.home-eyebrow,
.home-kicker {
    color: var(--home-primary);
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.home-eyebrow i {
    margin-right: 7px;
}

.home-hero .flex-direction-nav a {
    align-items: center;
    background: rgba(0, 0, 0, .62);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    bottom: auto;
    color: #fff;
    display: flex;
    height: 48px;
    justify-content: center;
    margin-top: -24px;
    opacity: 1;
    top: 50%;
    width: 48px;
}

.home-hero .flex-direction-nav a:hover {
    background: var(--home-primary);
}

.home-hero .flex-direction-nav .flex-prev { left: 24px; }
.home-hero .flex-direction-nav .flex-next { right: 24px; }
.home-hero .flex-control-nav {
    bottom: 20px;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 8;
}

.home-hero .flex-control-paging li a {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, .75);
    height: 10px;
    width: 10px;
}

.home-hero .flex-control-paging li a.flex-active {
    background: var(--home-primary);
    border-color: var(--home-primary);
}

/* Ao vivo */
.home-live {
    background: radial-gradient(circle at 16% 0, rgba(29, 185, 84, .13), transparent 31%), #f7faf8;
    padding: 38px 0;
}

.home-live-grid {
    align-items: center;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1.15fr) minmax(240px, .7fr) minmax(300px, .85fr);
}

.home-panel {
    background: #fff;
    border: 1px solid rgba(16, 21, 18, .08);
    border-radius: 12px;
    box-shadow: 0 16px 45px rgba(14, 33, 21, .1);
    overflow: hidden;
}

.home-panel-label,
.home-panel-title {
    align-items: center;
    background: #111714;
    color: #fff;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: .08em;
    min-height: 40px;
    padding: 0 16px;
    text-transform: uppercase;
}

.home-panel-title i { color: var(--home-primary); }
.home-live-dot {
    background: var(--home-primary);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(29, 185, 84, .18);
    height: 8px;
    width: 8px;
}

.home-video-frame {
    background: #050806;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
}

.home-video-frame iframe {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.home-live-info {
    align-items: flex-start;
    display: flex;
    gap: 18px;
}

.home-live-info h2 {
    font-size: 29px;
    margin: 5px 0 9px;
}

.home-live-info p {
    color: var(--home-muted);
    line-height: 1.5;
    margin-bottom: 21px;
}

.home-audio-icon {
    align-items: center;
    background: rgba(29, 185, 84, .12);
    border-radius: 50%;
    color: var(--home-primary);
    display: flex;
    flex: 0 0 48px;
    font-size: 22px;
    height: 48px;
    width: 48px;
    min-width: 48px;
    justify-content: center;
}

.home-request-embed {
    background: #151b18;
    height: 316px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px;
}

.home-request-embed iframe {
    border-radius: 7px !important;
    height: 300px !important;
    max-width: none !important;
    overflow-y: auto;
    overflow-x: hidden;
    width: 100% !important;
}

/* Anunciantes */
.home-advertisers {
    background: #fff;
    border-bottom: 1px solid #e4e9e6;
    border-top: 1px solid #e4e9e6;
    padding: 14px 0;
}

.home-advertisers-reference-wrap {
    max-width: 1276px;
    padding-left: 0;
    padding-right: 0;
}

.home-advertisers-reference {
    display: block;
    line-height: 0;
    overflow: hidden;
    width: 100%;
}

.home-advertisers-reference img {
    display: block;
    height: auto;
    margin: 0 auto;
    width: 100%;
}

/* Aplicativos */
.home-apps {
    background: radial-gradient(circle at 12% 28%, rgba(29, 185, 84, .35), transparent 24%), radial-gradient(circle at 87% 92%, rgba(29, 185, 84, .2), transparent 26%), linear-gradient(115deg, #07110b 0%, #0c2817 48%, #050806 100%);
    color: #fff;
    min-height: 390px;
    overflow: hidden;
}

.home-apps::before,
.home-apps::after {
    border: 1px solid rgba(29, 185, 84, .18);
    border-radius: 50%;
    content: '';
    height: 500px;
    position: absolute;
    right: -160px;
    top: -250px;
    width: 500px;
}

.home-apps::after { height: 370px; right: -95px; top: -185px; width: 370px; }
.home-apps-grid {
    align-items: center;
    display: grid;
    gap: 38px;
    grid-template-columns: 230px minmax(250px, .8fr) minmax(500px, 1.45fr);
    position: relative;
    z-index: 2;
}

.home-phone-art { grid-column: 1; height: 278px; position: relative; }
.home-phone {
    background: linear-gradient(150deg, #f2f5f3, #8e9992);
    border: 6px solid #151a17;
    border-radius: 27px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .48);
    height: 260px;
    overflow: hidden;
    padding: 38px 16px;
    position: absolute;
    width: 132px;
}

.home-phone::before {
    background: #202622;
    border-radius: 5px;
    content: '';
    height: 6px;
    left: 50%;
    position: absolute;
    top: 15px;
    transform: translateX(-50%);
    width: 42px;
}

.home-phone img { border-radius: 50%; margin-top: 26px; }
.home-phone-back { left: 87px; top: 3px; transform: rotate(8deg); }
.home-phone-front { left: 16px; top: 20px; transform: rotate(-8deg); z-index: 2; }
.home-phone-play {
    align-items: center;
    background: var(--home-primary);
    border-radius: 50%;
    bottom: 28px;
    display: flex;
    height: 28px;
    justify-content: center;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 28px;
}

.home-apps-copy { grid-column: 2; }
.home-apps-copy h2 { color: #fff; font-size: 39px; margin: 8px 0 15px; text-transform: uppercase; }
.home-apps-copy p { color: rgba(255, 255, 255, .75); font-size: 17px; line-height: 1.5; }
.home-app-cards { display: grid; gap: 12px; grid-column: 3; grid-template-columns: repeat(3, 1fr); }
.home-app-card {
    align-items: center;
    background: rgba(7, 14, 9, .62);
    border: 1px solid rgba(29, 185, 84, .55);
    border-radius: 14px;
    color: #fff;
    display: flex;
    flex-direction: column;
    min-height: 214px;
    padding: 23px 13px 18px;
    text-align: center;
    transition: background .22s ease, transform .22s ease;
}

.home-app-card:hover,
.home-app-card:focus { background: rgba(29, 185, 84, .14); color: #fff; text-decoration: none; transform: translateY(-5px); }
.home-app-card img { height: 74px; margin-bottom: 14px; object-fit: contain; width: 74px; }
.home-app-card strong { font-size: 14px; margin-bottom: 5px; text-transform: uppercase; }
.home-app-card span { color: rgba(255, 255, 255, .62); font-size: 10px; line-height: 1.3; }

/* Titulos e carrosseis */
.home-heading { margin: 0 auto 34px; max-width: 820px; text-align: center; }
.home-heading-icon { color: var(--home-primary); display: block; font-size: 28px; margin-bottom: 8px; }
.home-heading h2 { margin-bottom: 8px; text-transform: uppercase; }
.home-heading p { color: var(--home-muted); font-size: 15px; }
.home-heading-light h2,
.home-heading-light p { color: #fff; }
.home-promos,
.home-team { background: linear-gradient(140deg, #fff, #f0f4f2); }
.home-carousel .owl-item { padding: 0 10px; }
.home-carousel.owl-theme .owl-controls,
.home-testimonial-carousel.owl-theme .owl-controls { margin-top: 22px; }
.home-carousel.owl-theme .owl-controls .owl-buttons div {
    align-items: center;
    background: var(--home-primary);
    border: 0;
    border-radius: 50%;
    color: #fff;
    display: flex;
    height: 40px;
    justify-content: center;
    opacity: 1;
    position: absolute;
    top: calc(50% - 40px);
    width: 40px;
}

.home-carousel.owl-theme .owl-controls .owl-buttons .owl-prev { left: -48px; }
.home-carousel.owl-theme .owl-controls .owl-buttons .owl-next { right: -48px; }
.home-carousel.owl-theme .owl-controls .owl-page span,
.home-testimonial-carousel.owl-theme .owl-controls .owl-page span { background: #b8c0bb; height: 8px; margin: 4px; width: 8px; }
.home-carousel.owl-theme .owl-controls .owl-page.active span,
.home-testimonial-carousel.owl-theme .owl-controls .owl-page.active span { background: var(--home-primary); }

/* Promocoes */
.home-promo-card {
    background: #101512;
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(10, 28, 17, .14);
    height: 335px;
    overflow: hidden;
    position: relative;
}

.home-promo-card > img { height: 100%; object-fit: cover; transition: transform .5s ease; width: 100%; }
.home-promo-card:hover > img { transform: scale(1.045); }
.home-card-overlay { background: linear-gradient(0deg, rgba(0, 0, 0, .96) 0%, rgba(0, 0, 0, .48) 50%, rgba(0, 0, 0, .05) 100%); inset: 0; position: absolute; }
.home-card-content { bottom: 0; color: #fff; left: 0; padding: 25px; position: absolute; right: 0; z-index: 2; }
.home-card-content h3 { color: #fff; font-size: 22px; font-weight: 700; margin-bottom: 7px; text-transform: uppercase; }
.home-card-content p { color: rgba(255, 255, 255, .74); line-height: 1.4; margin-bottom: 16px; }

/* Videos */
.home-videos {
    background: linear-gradient(rgba(2, 5, 3, .87), rgba(2, 5, 3, .93)), url('../images/parallax-3.jpg') center/cover fixed;
}

.home-video-card { color: #fff; }
.home-video-card > a { border: 1px solid rgba(255, 255, 255, .4); display: block; aspect-ratio: 16 / 9; overflow: hidden; position: relative; border-radius: 8px; }
.home-video-card img { display: block; height: 100%; object-fit: cover; object-position: center center; width: 100%; }
.home-video-card h3 { color: #fff; font-size: 15px; margin-top: 10px; }
.home-play { align-items: center; background: rgba(0, 0, 0, .65); border: 2px solid #fff; border-radius: 50%; color: #fff; display: flex; font-size: 17px; height: 48px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 48px; }

/* Equipe */
.home-team-card {
    background: #fff;
    border: 1px solid #e5eae7;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(16, 35, 23, .08);
    min-height: 360px;
    overflow: hidden;
}

.home-team-card > a { display: block; height: 220px; overflow: hidden; }
.home-team-card > a img { height: 100%; object-fit: cover; transition: transform .4s ease; width: 100%; }
.home-team-card:hover > a img { transform: scale(1.04); }
.home-team-content { padding: 18px; }
.home-team-content h3 { color: var(--home-primary); font-size: 16px; font-weight: 700; margin-bottom: 4px; text-transform: uppercase; }
.home-team-content span { color: var(--home-ink); font-size: 13px; font-weight: 700; }
.home-team-content p { color: var(--home-muted); font-size: 12px; line-height: 1.45; margin: 9px 0 0; }

/* Depoimentos */
.home-testimonials {
    background: linear-gradient(90deg, rgba(1, 8, 4, .95), rgba(3, 24, 10, .78), rgba(1, 8, 4, .95)), url('../images/parallax-3.jpg') center 60%/cover fixed;
    padding: 46px 0;
}

.home-testimonial-card {
    align-items: center;
    background: linear-gradient(100deg, var(--home-primary), var(--home-primary-dark));
    border-radius: 9px;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .32);
    color: #fff;
    display: flex;
    gap: 26px;
    margin: 0 auto;
    max-width: 930px;
    min-height: 150px;
    padding: 25px 38px;
}

.home-testimonial-card > img { border: 4px solid rgba(255, 255, 255, .8); border-radius: 50%; flex: 0 0 110px; height: 110px; object-fit: cover; width: 110px; }
.home-testimonial-card blockquote { border: 0; color: #fff; font-size: 18px; line-height: 1.45; margin: 5px 0 8px; padding: 0; }
.home-testimonial-card cite { color: rgba(255, 255, 255, .78); font-size: 12px; }
.home-quote-open { color: rgba(255, 255, 255, .85); font-size: 20px; }
.home-testimonials .owl-controls { margin-bottom: -28px; }
.home-testimonials .owl-theme .owl-controls .owl-page span { background: rgba(255, 255, 255, .6); }
.home-testimonials .owl-theme .owl-controls .owl-page.active span { background: #fff; }

/* CTA final */
.home-ad-cta { background: #fff; padding: 46px 0; }
.home-ad-cta-inner {
    align-items: center;
    background: linear-gradient(100deg, #ff9700, #ffb318);
    border-radius: 5px;
    box-shadow: 0 14px 30px rgba(255, 151, 0, .2);
    color: #19211c;
    display: grid;
    gap: 25px;
    grid-template-columns: 58px 1fr 48px;
    margin: 0 auto;
    max-width: 850px;
    min-height: 104px;
    padding: 20px 38px;
}

.home-ad-cta-inner:hover,
.home-ad-cta-inner:focus { color: #19211c; text-decoration: none; transform: translateY(-2px); }
.home-ad-cta-inner > i { font-size: 37px; text-align: center; }
.home-ad-cta-inner span { text-align: center; }
.home-ad-cta-inner strong { display: block; font-size: 32px; line-height: 1; text-transform: uppercase; }
.home-ad-cta-inner small { display: block; font-size: 11px; margin-top: 7px; text-transform: uppercase; }

@media (max-width: 1260px) {
    .home-carousel.owl-theme .owl-controls .owl-buttons .owl-prev { left: 4px; }
    .home-carousel.owl-theme .owl-controls .owl-buttons .owl-next { right: 4px; }
    .home-apps-grid { grid-template-columns: 190px minmax(220px, .72fr) minmax(450px, 1.3fr); }
    .home-phone-back { left: 67px; }
    .home-phone-front { left: 0; }
}

@media (max-width: 1024px) {
    .home-section { padding: 54px 0; }
    .home-live-grid { grid-template-columns: 1fr 1fr; }
.home-request { grid-column: 1 / -1; }
    .home-request-embed { height: auto; min-height: 0; overflow: visible; }
    .home-request-embed iframe { height: auto; min-height: 0; }
    .home-apps-grid { grid-template-columns: 185px 1fr; }
    .home-phone-art { grid-column: 1; }
    .home-apps-copy { grid-column: 2; }
    .home-app-cards { grid-column: 1 / -1; }
    .home-app-card { min-height: 190px; }
}

@media (max-width: 767px) {
    .home-section { padding: 44px 0; }
    .home-hero .flex-viewport,
    .home-hero .slides,
    .home-hero .home-hero-slide,
    .home-hero .home-hero-slide > img { min-height: 540px; height: 540px; }
    .home-hero .home-hero-featured > img { object-position: 65% center; }
    .home-hero-shade { background: linear-gradient(0deg, rgba(0, 0, 0, .94) 0%, rgba(0, 0, 0, .42) 72%, rgba(0, 0, 0, .1) 100%); }
    .home-hero-copy { bottom: 62px; left: 24px; max-width: calc(100% - 48px); top: auto; transform: none; }
    .home-hero-copy-right { left: 24px; right: auto; }
    .home-hero-events .home-hero-shade { background: linear-gradient(0deg, rgba(0, 0, 0, .94) 0%, rgba(0, 0, 0, .42) 72%, rgba(0, 0, 0, .1) 100%); }
    .home-hero-copy h1,
    .home-hero-copy h2 { font-size: 42px; margin: 10px 0 14px; }
    .home-hero-copy p { font-size: 17px; margin-bottom: 20px; }
    .home-hero .flex-direction-nav a { height: 40px; width: 40px; }
    .home-hero .flex-direction-nav .flex-prev { left: 12px; }
    .home-hero .flex-direction-nav .flex-next { right: 12px; }
    .home-live-grid { grid-template-columns: 1fr; }
    .home-request { grid-column: auto; }
    .home-live-info { padding: 8px 2px; }
    .home-advertisers-reference { overflow-x: auto; scrollbar-width: thin; }
    .home-advertisers-reference img { margin: 0; max-width: none; min-width: 920px; width: 920px; }
    .home-apps-grid { grid-template-columns: 1fr; text-align: center; }
    .home-phone-art { display: none; }
    .home-apps-copy { grid-column: 1; margin: 0 auto; max-width: 540px; }
    .home-app-cards { grid-column: 1; }
    .home-apps-copy h2 { font-size: 33px; }
    .home-card-content { padding: 20px; }
    .home-promo-card { height: 315px; }
    .home-testimonial-card { margin: 0 10px; padding: 22px; }
    .home-ad-cta-inner { margin: 0 10px; }
    .home-videos,
    .home-testimonials { background-attachment: scroll; }
}

@media (max-width: 560px) {
    .home-modern h2 { font-size: 27px; }
    .home-app-cards { grid-template-columns: 1fr; }
    .home-app-card { min-height: 0; padding: 18px; }
    .home-live-info { display: block; text-align: center; }
.home-audio-icon { margin: 0 auto 14px; }
    .home-request-embed { height: auto; min-height: 0; overflow: visible; }
    .home-request-embed iframe { height: auto; min-height: 0; }
    .home-testimonial-card { display: block; text-align: center; }
    .home-testimonial-card > img { margin-bottom: 14px; }
    .home-testimonial-card blockquote { font-size: 16px; }
    .home-ad-cta-inner { gap: 10px; grid-template-columns: 40px 1fr 36px; min-height: 92px; padding: 17px 12px; }
    .home-ad-cta-inner > i { font-size: 28px; }
    .home-ad-cta-inner strong { font-size: 24px; }
    .home-ad-cta-inner small { font-size: 9px; }
}

@media (max-width: 390px) {
    .home-hero-copy { left: 18px; max-width: calc(100% - 36px); }
    .home-hero-copy h1,
    .home-hero-copy h2 { font-size: 36px; }
    .home-btn { min-height: 43px; padding: 0 18px; }
.home-live-grid { gap: 22px; }
    .home-request-embed { height: auto; min-height: 0; overflow: visible; }
    .home-request-embed iframe { height: auto; min-height: 0; }
    .home-heading { margin-bottom: 26px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-modern *,
    .home-modern *::before,
    .home-modern *::after { scroll-behavior: auto !important; transition: none !important; }
}


/* Banner publicitario 728x90 empilhado (topo e rodape) */
.siteBannerAd { display: block; margin: 0 auto 18px; width: 100%; }
.siteBannerAd a, .siteBannerAd span { display: block; line-height: 0; width: 100%; }
.siteBannerAd img { border-radius: 8px; display: block; height: auto; max-width: 100%; width: 100%; }


/* Banners 728x90 no corpo moderno (topo e rodape) */
.home-ad-banner { background: #fff; border-bottom: 1px solid #e4e9e6; padding: 18px 0; }
.home-ad-banner-rodape { border-bottom: 0; border-top: 1px solid #e4e9e6; }
.home-ad-banner .siteBannerAd { display: block; margin: 0 auto; width: 100%; }
.home-ad-banner .siteBannerAd h1 { color: var(--home-ink); font-size: 24px; line-height: 1.2; margin: 6px 0; padding: 0; }
