:root{
    --bg:#e9eef2;
    --text:#0b0f14;
    --muted:#5a6672;
    --card:#ffffff;
    --line:rgba(17, 24, 39, .12);
    --red:#ff1e2d;
    --red2:#e6001a;
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:var(--text);
    background:var(--bg);
    overflow-x:hidden;
}

img{max-width:100%;display:block}

.container{
    width:calc(100% - 64px);
    max-width:100%;
    margin:0 auto;
}

.site-header{
    position:fixed;
    inset:0 0 auto 0;
    z-index:50;
    background:rgba(0,0,0,.42);
    backdrop-filter:saturate(140%) blur(10px);
}

.header-inner{
    height:64px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    column-gap:18px;
}

.brand{
    color:#fff;
    text-decoration:none;
    font-weight:800;
    letter-spacing:.5px;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:10px;
}

.brand img{
    height:30px;
    width:auto;
    display:block;
}

.main-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
}

.main-nav a{
    color:#fff;
    text-decoration:none;
    font-weight:700;
    font-size:13px;
    letter-spacing:.8px;
}

.main-nav a:hover{opacity:.85}

.nav-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    cursor:pointer;
    padding:0;
}

.nav-toggle-bars{
    position:relative;
    display:block;
    width:18px;
    height:2px;
    background:#fff;
    border-radius:2px;
}

.nav-toggle-bars::before,
.nav-toggle-bars::after{
    content:"";
    position:absolute;
    left:0;
    width:18px;
    height:2px;
    background:#fff;
    border-radius:2px;
}

.nav-toggle-bars::before{top:-6px}
.nav-toggle-bars::after{top:6px}

.mobile-nav-backdrop{
    display:none;
    position:fixed;
    inset:64px 0 0 0;
    background:rgba(0,0,0,.35);
    z-index:48;
}

.mobile-nav{
    display:none;
    position:fixed;
    inset:64px 0 auto 0;
    background:rgba(0,0,0,.92);
    backdrop-filter:saturate(140%) blur(12px);
    border-top:1px solid rgba(255,255,255,.08);
    padding:14px;
    z-index:49;
}

.mobile-nav a{
    display:block;
    padding:12px 12px;
    border-radius:12px;
    color:#fff;
    text-decoration:none;
    font-weight:900;
    letter-spacing:.7px;
    font-size:13px;
}

.mobile-nav a:hover{background:rgba(255,255,255,.08)}

.mobile-nav-open{overflow:hidden}
.mobile-nav-open body{overflow:hidden}
.mobile-nav-open .mobile-nav{display:block}
.mobile-nav-open .mobile-nav-backdrop{display:block}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:999px;
    text-decoration:none;
    font-weight:800;
    letter-spacing:.6px;
    padding:12px 18px;
    border:1px solid transparent;
    white-space:nowrap;
    cursor:pointer;
}

.btn-order{
    background:var(--red);
    color:#fff;
    padding:12px 18px;
}

.btn-order:hover{background:var(--red2)}

.btn-primary{
    background:var(--red);
    color:#fff;
    padding:14px 22px;
    font-size:13px;
}

.btn-primary:hover{background:var(--red2)}

.btn-pill{
    background:var(--red);
    color:#fff;
    padding:12px 18px;
    font-size:12px;
}

.btn-pill:hover{background:var(--red2)}

.w-full{width:100%}

.hero{
    position:relative;
    min-height:610px;
    display:flex;
    align-items:center;
    padding:110px 0 70px;
    color:#fff;
    overflow:hidden;
    background:#0b0b0b;
}

.hero-bg{
    position:absolute;
    inset:0;
    background-image:var(--hero-bg-image, url("assets/Hero.jpg"));
    background-size:cover;
    background-position:center;
    filter:saturate(1.1) contrast(1.02);
    transform:scale(1.02);
}

.hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(255, 20, 40, .46));
}

.hero-content{
    position:relative;
    z-index:1;
    text-align:center;
}

.hero h1{
    margin:0;
    font-size:56px;
    line-height:1.02;
    letter-spacing:.2px;
    text-shadow:0 10px 22px rgba(0,0,0,.55);
}

.hero p{
    margin:18px auto 26px;
    max-width:720px;
    font-size:13px;
    line-height:1.7;
    opacity:.95;
}

.logos{
    background:var(--bg);
    padding:18px 0;
}

.carousel{
    position:relative;
    overflow:hidden;
    width:100%;
    mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.logos .carousel,
#featured .carousel{
    width:100vw;
    margin-left:calc(50% - 50vw);
}

.carousel-track{
    display:flex;
    gap:16px;
    align-items:center;
    width:max-content;
    animation:scroll-x var(--carousel-duration, 36s) linear infinite;
    will-change:transform;
    padding:8px 0;
}

.carousel-item{flex:0 0 auto}

.carousel:hover .carousel-track{animation-play-state:paused}

@keyframes scroll-x{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

.carousel-logos{--carousel-duration: 26s}
.carousel-logo{
    height:64px;
    padding:12px 18px;
    background:rgba(255,255,255,.7);
    border:1px solid var(--line);
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.carousel-logo img{
    height:32px;
    width:auto;
    display:block;
}

.section{
    padding:64px 0;
}

.section-alt{
    background:var(--bg);
}

.section-kicker{
    text-align:center;
    color:var(--red);
    font-weight:900;
    letter-spacing:1.4px;
    font-size:12px;
}

.section-title{
    margin:10px 0 0;
    text-align:center;
    font-size:44px;
    letter-spacing:.4px;
}

.section-subtitle{
    margin:14px auto 0;
    text-align:center;
    max-width:760px;
    color:var(--muted);
    line-height:1.6;
    font-size:13px;
}

.carousel-shows{
    margin-top:28px;
    --carousel-duration: 34s;
}

.show-card{
    display:block;
    border-radius:14px;
    overflow:hidden;
    border:2px solid var(--red);
    background:#0b0f14;
    box-shadow:0 14px 28px rgba(0,0,0,.12);
}

.show-card img{
    width:220px;
    aspect-ratio:5 / 7;
    height:auto;
    object-fit:contain;
    background:#0b0f14;
}

.center{
    display:flex;
    justify-content:center;
    margin-top:18px;
}

.card-grid{
    margin-top:34px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
}

.info-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:16px;
    padding:30px 24px;
    text-align:center;
    box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.info-card h3{
    margin:14px 0 0;
    font-size:20px;
}

.info-card p{
    margin:10px 0 0;
    color:var(--muted);
    line-height:1.7;
    font-size:12px;
}

.icon{
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    margin:0 auto;
    color:var(--red);
    font-weight:900;
    font-size:22px;
}

.icon svg{
    width:44px;
    height:44px;
    display:block;
}

.icon img{
    width:44px;
    height:44px;
    display:block;
}

.reveal{
    opacity:0;
    transform:translateY(18px) scale(.985);
    transition:opacity .7s cubic-bezier(.2,.75,.2,1), transform .7s cubic-bezier(.2,.75,.2,1);
    transition-delay:var(--reveal-delay, 0ms);
    will-change:opacity, transform;
}

.reveal.is-visible{
    opacity:1;
    transform:translateY(0) scale(1);
}

.reviews-section{
    position:relative;
    background:
        radial-gradient(1200px 520px at 18% 18%, rgba(37, 99, 235, .18), transparent 60%),
        radial-gradient(900px 520px at 90% 22%, rgba(59, 130, 246, .18), transparent 55%),
        linear-gradient(180deg, rgba(248, 250, 252, 1), rgba(241, 245, 249, 1));
}

.reviews-rows{
    margin-top:34px;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.reviews-scroll{
    overflow:hidden;
    mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.reviews-track{
    display:flex;
    gap:16px;
    width:max-content;
    padding:8px 0;
    will-change:transform;
}

@keyframes reviews-scroll-left{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

@keyframes reviews-scroll-right{
    from{transform:translateX(-50%)}
    to{transform:translateX(0)}
}

.reviews-scroll-left .reviews-track{
    animation:reviews-scroll-left 42s linear infinite;
}

.reviews-scroll-right .reviews-track{
    animation:reviews-scroll-right 42s linear infinite;
}

.reviews-scroll:hover .reviews-track{
    animation-play-state:paused;
}

.review-card{
    flex:0 0 auto;
    width:380px;
    border-radius:18px;
    padding:18px 18px 16px;
    background:rgba(15, 23, 42, .42);
    border:1px solid rgba(148, 163, 184, .22);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    color:#e2e8f0;
    box-shadow:0 20px 44px rgba(2, 6, 23, .18);
}

.review-stars{
    color:#38bdf8;
    letter-spacing:2px;
    font-size:14px;
    margin-bottom:10px;
}

.review-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}

.review-name{
    font-weight:950;
    color:#f8fafc;
    font-size:13px;
}

.review-date{
    font-size:11px;
    color:rgba(226, 232, 240, .65);
}

.review-title{
    font-weight:950;
    color:#f1f5f9;
    font-size:13px;
    margin-bottom:8px;
}

.review-text{
    margin:0;
    font-size:12px;
    line-height:1.7;
    color:rgba(226, 232, 240, .82);
}

.reviews-link{
    display:flex;
    justify-content:center;
    margin-top:8px;
}

.reviews-cta{
    color:var(--red);
    font-weight:900;
    text-decoration:none;
}

.reviews-cta:hover{text-decoration:underline}

.steps-grid{
    margin-top:34px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
}

.step-card{
    background:#fff;
    border:1px solid rgba(255, 30, 45, .55);
    padding:26px 22px;
    text-align:center;
    min-height:240px;
}

.step-icon{
    height:74px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
}

.step-icon img{
    width:74px;
    height:74px;
    display:block;
}

.step-title{
    margin:0;
    font-weight:900;
    font-size:14px;
    color:#0b0f14;
}

.step-desc{
    margin:16px 0 0;
    font-size:12px;
    line-height:1.7;
    color:#111827;
}

@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    .reveal{
        opacity:1;
        transform:none;
        transition:none;
    }
    .reviews-scroll-left .reviews-track,
    .reviews-scroll-right .reviews-track{
        animation:none;
        transform:none;
    }
}

.plan-grid{
    margin-top:30px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
    align-items:stretch;
}

.plan-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:22px;
    padding:26px 22px;
    box-shadow:0 18px 44px rgba(0,0,0,.08);
    display:flex;
    flex-direction:column;
    flex:0 1 260px;
    max-width:275px;
    position:relative;
    overflow:hidden;
}

.plan-card .plan-list{
    flex:1 1 auto;
}

.plan-featured{
    border:2px solid rgba(255, 30, 45, .85);
    background:var(--red);
    color:#fff;
    transform:translateY(-10px);
}

.plan-duration{
    font-weight:900;
    letter-spacing:1px;
    color:var(--red);
    text-align:center;
    font-size:14px;
}

.plan-price{
    text-align:center;
    font-weight:950;
    font-size:46px;
    color:#0b0f14;
    margin:14px 0 8px;
}

.plan-tag{
    text-align:center;
    color:var(--red);
    font-weight:800;
    letter-spacing:.8px;
    font-size:12px;
    text-transform:uppercase;
}

.plan-list{
    margin:18px 0 18px;
    padding:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:0;
    color:#1f2937;
    font-size:12px;
}

.plan-list li{
    position:relative;
    padding:11px 0 11px 28px;
    border-bottom:1px solid rgba(17, 24, 39, .10);
    line-height:1.25;
}

.plan-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:16px;
    height:16px;
    border-radius:999px;
    background:var(--red);
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:950;
    font-size:11px;
}

.plan-list li:last-child{border-bottom:none}

.plan-btn{
    border-radius:999px;
    margin-top:16px;
    padding:14px 18px;
    text-transform:uppercase;
}

.plan-activation{
    margin-top:12px;
    text-align:center;
    font-weight:950;
    letter-spacing:.6px;
    font-size:12px;
    color:var(--red);
}

.plan-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    margin:0 auto 14px;
    background:#fff;
    color:var(--red);
    font-weight:950;
    font-size:11px;
    letter-spacing:.9px;
    padding:9px 18px;
    border-radius:999px;
    text-transform:uppercase;
    box-shadow:0 14px 30px rgba(0,0,0,.12);
}

.plan-card.plan-featured .plan-duration,
.plan-card.plan-featured .plan-price,
.plan-card.plan-featured .plan-tag,
.plan-card.plan-featured .plan-list{
    color:#fff;
}

.plan-card.plan-featured .plan-list li{
    border-bottom:1px solid rgba(255,255,255,.38);
}

.plan-card.plan-featured .plan-list li::before{
    background:#fff;
    color:var(--red);
}

.plan-card.plan-featured .plan-btn{
    background:#fff;
    color:#0b0f14;
}

.plan-card.plan-featured .plan-btn:hover{
    background:rgba(255,255,255,.92);
}

.plan-card.plan-featured .plan-activation{
    color:#fff;
}

footer{
    background:#0b0f14;
    color:#cbd5e1;
    text-align:center;
    padding:26px 0;
}

.page{
    padding-top:92px;
}

.content{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:16px;
    padding:22px 18px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.legal-text{
    color:var(--muted);
    line-height:1.7;
    font-size:13px;
}

.legal-text h1,.legal-text h2,.legal-text h3,.legal-text h4{
    color:#0b0f14;
    margin:14px 0 8px;
    line-height:1.25;
    font-weight:950;
}
.legal-text h1{font-size:20px}
.legal-text h2{font-size:16px}
.legal-text h3{font-size:14px}

.legal-text p{
    margin:0 0 10px;
}

.legal-text ul,.legal-text ol{
    margin:0 0 12px;
    padding-left:18px;
}

.legal-text li{
    margin:6px 0;
}

.faq-list{
    margin-top:18px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.faq-item{
    border:1px solid rgba(17, 24, 39, .10);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
}

.faq-item summary{
    cursor:pointer;
    padding:14px 14px;
    font-weight:900;
    color:#111827;
    list-style:none;
}

.faq-item summary::-webkit-details-marker{display:none}

.faq-item .faq-body{
    padding:0 14px 14px;
    color:var(--muted);
    line-height:1.7;
    font-size:13px;
}

.channels-sections{
    margin-top:18px;
}

.channels-loading{
    padding:18px 14px;
    border:1px dashed rgba(17, 24, 39, .22);
    border-radius:14px;
    background:rgba(255,255,255,.65);
    color:var(--muted);
    text-align:center;
    font-weight:800;
}

.channels-error{
    padding:18px 14px;
    border:1px solid rgba(255, 30, 45, .35);
    border-radius:14px;
    background:#fff;
    color:#7f1d1d;
    text-align:center;
    font-weight:900;
}

.elementor-container{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.elementor-column{
    min-width:0;
    display:flex;
}

.elementor-column.elementor-col-100{
    flex:1 1 100%;
}

.elementor-column.elementor-col-50{
    flex:1 1 460px;
}

.elementor-widget-wrap{
    width:100%;
}

.elementskit-section-title-wraper{
    text-align:center;
    width:100%;
}

.elementskit-section-title{
    margin:18px 0 6px;
    font-size:30px;
    letter-spacing:.4px;
}

.elementskit-accordion{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.elementskit-card{
    border:1px solid rgba(17, 24, 39, .10);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
}

.elementskit-card-header{
    cursor:pointer;
    padding:14px 14px;
    font-weight:900;
    color:#111827;
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.elementskit-card-header::-webkit-details-marker{display:none}

.ekit_accordion_icon_group{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    color:var(--red);
}

.ekit_accordion_normal_icon,
.ekit_accordion_active_icon{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    font-size:18px;
    line-height:1;
}

.elementskit-card[open] .ekit_accordion_normal_icon{display:none}
.elementskit-card:not([open]) .ekit_accordion_active_icon{display:none}

.elementskit-card[open] .elementskit-card-header{
    border-bottom:1px solid rgba(17, 24, 39, .08);
}

.elementskit-card-body{
    padding:12px 14px 14px;
    color:var(--muted);
    line-height:1.7;
    font-size:13px;
}

.elementskit-card-body ul{
    margin:0;
    padding-left:18px;
    display:flex;
    flex-direction:column;
    gap:6px;
    color:#1f2937;
    font-size:12px;
    line-height:1.5;
}

.faq-home .elementskit-accordion{
    max-width:980px;
    margin:26px auto 0;
    gap:14px;
}

.faq-home .elementskit-card{
    border-radius:12px;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
    border:1px solid rgba(17, 24, 39, .06);
}

.faq-home .elementskit-card-header{
    padding:18px 18px;
    font-size:15px;
}

.faq-home .ekit_accordion_icon_group{
    color:#fff;
}

.faq-home .ekit_accordion_normal_icon,
.faq-home .ekit_accordion_active_icon{
    width:28px;
    height:28px;
    border-radius:999px;
    background:var(--red);
    color:#fff;
    font-size:18px;
    font-weight:950;
}

.faq-home .elementskit-card-body{
    padding:16px 18px 18px;
    font-size:13px;
}

.faq-home-bar{
    margin-top:34px;
    background:var(--red);
    color:#fff;
    font-weight:900;
    text-align:center;
    padding:26px 14px;
}

.channel-columns{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}

.channel-group{
    border:1px solid rgba(17, 24, 39, .10);
    border-radius:14px;
    padding:12px 12px 10px;
    background:#fff;
}

.channel-group-title{
    font-weight:950;
    letter-spacing:.3px;
    color:#111827;
    margin:2px 0 10px;
    font-size:13px;
}

.channel-list{
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:8px;
    color:#1f2937;
    font-size:12px;
    line-height:1.5;
}

.channel-list li{
    padding-bottom:8px;
    border-bottom:1px solid rgba(17, 24, 39, .08);
}

.channel-list li:last-child{border-bottom:none;padding-bottom:0}

.floating{
    position:fixed;
    bottom:22px;
    z-index:60;
}

.floating-left{left:20px}
.floating-right{right:20px}

.lang-btn{
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:10px 12px;
    font-weight:800;
    cursor:pointer;
}

.flag{font-size:18px}
.caret{opacity:.6}

.floating-right{
    width:54px;
    height:54px;
    border-radius:999px;
    background:#25d366;
    color:#fff;
    display:grid;
    place-items:center;
    text-decoration:none;
    box-shadow:0 18px 40px rgba(0,0,0,.22);
}

.wa{
    font-size:22px;
    font-weight:900;
}

.contact-dock{
    position:fixed;
    right:20px;
    bottom:22px;
    z-index:99999;
    display:flex;
    align-items:center;
    gap:10px;
}

.contact-dock-above-crisp{
    bottom:92px;
}

.contact-dock-left{
    right:auto;
    left:20px;
}

.contact-actions{
    display:flex;
    align-items:center;
    gap:10px;
    pointer-events:none;
    opacity:0;
    transform:translateX(10px);
    transition:opacity .18s ease, transform .18s ease;
}

.contact-dock.is-open .contact-actions{
    pointer-events:auto;
    opacity:1;
    transform:translateX(0);
}

.contact-toggle{
    width:54px;
    height:54px;
    border-radius:999px;
    border:0;
    cursor:pointer;
    background:#0b0f14;
    color:#fff;
    display:grid;
    place-items:center;
    text-decoration:none;
    box-shadow:0 18px 40px rgba(0,0,0,.22);
    padding:0;
}

.contact-action{
    width:46px;
    height:46px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#fff;
    color:#0b0f14;
    border:1px solid rgba(148, 163, 184, .35);
    text-decoration:none;
    font-weight:950;
    letter-spacing:.2px;
    font-size:12px;
    box-shadow:0 14px 30px rgba(0,0,0,.16);
    transition:transform .12s ease, filter .12s ease;
}

.contact-toggle img{
    width:26px;
    height:26px;
    display:block;
}

.contact-action img{
    width:22px;
    height:22px;
    display:block;
}

.contact-action:hover{
    transform:translateY(-1px);
    filter:brightness(.98);
}

@media (max-width: 980px){
    .main-nav{display:none}
    .header-inner{display:flex;align-items:center;column-gap:12px}
    .nav-toggle{display:inline-flex;margin-left:auto}
    .hero h1{font-size:44px}
    .show-card img{width:200px}
    .card-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
    .steps-grid{grid-template-columns:1fr}
    .review-card{width:320px}
    .plan-card{flex:1 1 320px; max-width:420px}
    .plan-featured{transform:none}
    .channel-columns{grid-template-columns:1fr}
    .elementor-container{gap:12px}
    .elementor-column.elementor-col-50{flex-basis:100%}
}

@media (max-width: 640px){
    .card-grid{grid-template-columns:1fr}
    .plan-card{flex:1 1 100%; max-width:520px}
}

@media (max-width: 520px){
    .hero{min-height:560px}
    .hero h1{font-size:36px}
    .container{width:calc(100% - 28px)}
}
