@font-face{font-family:'Gilroy';src:url('../fonts/Gilroy-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Gilroy';src:url('../fonts/Gilroy-RegularItalic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Gilroy';src:url('../fonts/Gilroy-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Gilroy';src:url('../fonts/Gilroy-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Gilroy';src:url('../fonts/Gilroy-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Gilroy';src:url('../fonts/Gilroy-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Gilroy';src:url('../fonts/Gilroy-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

        body { font-family: 'Gilroy', sans-serif; }
        @keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
        .animate-marquee { animation: marquee 25s linear infinite; display: flex; width: max-content; }
        .animate-marquee:hover { animation-play-state: paused; }
        .hide-scrollbar::-webkit-scrollbar { display: none; }
        .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
        html { scroll-behavior: smooth; scroll-padding-top: 96px; }

        /* ==================== ANIMACOES DE SCROLL ==================== */
        :root { --ease-out: cubic-bezier(0.22, 1, 0.36, 1); }

        [data-reveal],
        [data-stagger] > * {
            opacity: 0;
            will-change: opacity, transform;
            transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
            transition-delay: var(--d, 0ms);
        }
        [data-reveal],
        [data-stagger] > *,
        [data-reveal="up"] { transform: translateY(32px); }
        [data-reveal="left"]  { transform: translateX(-40px); }
        [data-reveal="right"] { transform: translateX(40px); }
        [data-reveal="zoom"]  { transform: scale(0.94); }

        .is-visible,
        [data-stagger] > .is-visible {
            opacity: 1 !important;
            transform: none !important;
        }

        /* linha tracejada da jornada: cresce do centro */
        [data-line] { transform: translateY(-50%) scaleX(0); transform-origin: center; transition: transform 1.2s var(--ease-out) 0.2s; }
        [data-line].is-visible { transform: translateY(-50%) scaleX(1); }

        /* entrada do hero no carregamento */
        [data-hero] > * { opacity: 0; transform: translateY(28px); transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out); transition-delay: var(--d, 0ms); }
        body.loaded [data-hero] > * { opacity: 1; transform: none; }
        #hero-bg { opacity: 0; transform: scale(1.05); transition: opacity 1.4s var(--ease-out), transform 1.6s var(--ease-out); }
        body.loaded #hero-bg { opacity: 1; transform: none; }
        #hero-rua, #hero-mulher { opacity: 0; transform: translateY(20px); transition: opacity 1.1s var(--ease-out) 0.15s, transform 1.1s var(--ease-out) 0.15s; }
        body.loaded #hero-rua, body.loaded #hero-mulher { opacity: 1; transform: none; }
        .hero-bg-mobile { opacity: 0 !important; transition: opacity 1.2s var(--ease-out); }
        body.loaded .hero-bg-mobile { opacity: 0.16 !important; }

        /* ==================== HERO RESPONSIVO ==================== */
        /* tipografia fluida: acompanha laptop -> widescreen sem saltos de breakpoint */
        .hero-title { font-size: clamp(2rem, 1.25rem + 2.4vw, 4.125rem); }
        .hero-claim { font-size: clamp(1.0625rem, 0.95rem + 0.5vw, 1.5rem); }
        .hero-lead  { font-size: clamp(1rem, 0.92rem + 0.3vw, 1.15rem); }

        /* mobile / tablet: a mulher vira fundo, quase sumindo.
           Sobe do rodape para o celular na mao dela aparecer dentro da primeira tela. */
        .hero-bg-mobile { bottom: 20%; height: 66%; right: -14%; }
        @media (min-width: 480px) { .hero-bg-mobile { bottom: 18%; height: 72%; right: -8%; } }
        @media (min-width: 768px) { .hero-bg-mobile { bottom: 12%; height: 78%; right: -2%; } }

        /* ---- desktop: 3 camadas independentes (fundo / estrada / mulher) ----
           Assim o aviao nunca e cortado e a mulher nunca encosta no caminhao,
           porque cada elemento tem sua propria ancora em vez de um crop unico. */
        #hero-visual { width: 78%; }
        #hero-rua    { width: clamp(920px, 72vw, 1480px); right: 4vw; bottom: 0; }
        #hero-mulher { width: clamp(340px, 30vw, 570px); right: clamp(1rem, 9vw, 10.5rem); bottom: 0; height: auto; }
        /* cidade um pouco mais presente, para nao sobrar area chapada entre texto e imagem */
        #hero-bg { filter: saturate(1.18) contrast(1.1); }
        /* degrade branco na borda esquerda do visual, para o texto respirar */
        #hero-visual::before {
            content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
            background: linear-gradient(to right, #fff 0%, rgba(255,255,255,.88) 12%, rgba(255,255,255,.35) 24%, transparent 36%);
        }
        /* telas menores que full HD: o texto ocupa fatia maior, entao tudo recua um pouco */
        @media (min-width: 1024px) and (max-width: 1439px) {
            #hero-visual { width: 74%; }
            #hero-rua    { right: 1vw; }
            #hero-mulher { right: clamp(0.5rem, 5vw, 4.5rem); }
            #hero-visual::before {
                background: linear-gradient(to right, #fff 0%, rgba(255,255,255,.9) 16%, rgba(255,255,255,.4) 30%, transparent 42%);
            }
        }

        /* ==================== CTAs: nunca em duas linhas ==================== */
        .cta-wa { white-space: nowrap !important; }
        @media (max-width: 639px) {
            .cta-wa {
                font-size: 0.9375rem !important;
                padding-left: 1.5rem !important; padding-right: 1.5rem !important;
                padding-top: 0.9rem !important; padding-bottom: 0.9rem !important;
                gap: 0.625rem !important;
            }
            .cta-wa svg { width: 1.25rem !important; height: 1.25rem !important; }
        }
        @media (max-width: 359px) {
            .cta-wa {
                font-size: 0.875rem !important;
                padding-left: 1.05rem !important; padding-right: 1.05rem !important;
                gap: 0.5rem !important;
            }
            .cta-wa svg { width: 1.125rem !important; height: 1.125rem !important; }
        }

        /* nav encolhe e ganha sombra ao rolar */
        #site-nav .container { transition: height 0.3s var(--ease-out); }
        #site-nav.nav-scrolled { box-shadow: 0 6px 24px rgba(5, 26, 18, 0.08); }
        #site-nav.nav-scrolled .container { height: 4rem; }
        #site-nav img { transition: height 0.3s var(--ease-out); }
        #site-nav.nav-scrolled img { height: 2rem; }

        /* micro-interacoes */
        a, button { transition: all 0.25s var(--ease-out); }
        #menu-mobile { animation: menuIn 0.3s var(--ease-out); }
        @keyframes menuIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

        /* acessibilidade: respeita quem desativou animacoes no sistema */
        @media (prefers-reduced-motion: reduce) {
            [data-reveal], [data-stagger] > *, [data-hero] > *, #hero-bg, #hero-rua, #hero-mulher, [data-line] {
                opacity: 1 !important; transform: none !important; transition: none !important;
            }
            .animate-marquee { animation: none; }
            html { scroll-behavior: auto; }
        }
    
/* ===== WordPress / preview ===== */
.admin-bar #site-nav{top:32px}
@media (max-width:782px){.admin-bar #site-nav{top:46px}}
@media (max-width:600px){.admin-bar #site-nav{top:0}}
.cv-flash{animation:cvFlash 1.8s ease-out 1}
@keyframes cvFlash{0%{box-shadow:inset 0 0 0 4px rgb(var(--cv-primary)/.65),0 0 0 6px rgb(var(--cv-primary)/.25)}100%{box-shadow:inset 0 0 0 4px rgb(var(--cv-primary)/0),0 0 0 6px rgb(var(--cv-primary)/0)}}
.cv-live-flash{animation:cvLive 1.2s ease-out 1}
@keyframes cvLive{0%{background-color:rgb(var(--cv-gold)/.55)}100%{background-color:transparent}}
.cv-preview a{cursor:default}

/* ===== Páginas internas (modelo "Página de conteúdo CANVIA") ===== */
.cv-prose{color:#334155;font-size:1.0625rem;line-height:1.75}
.cv-prose > *+*{margin-top:1.25em}
.cv-prose h2{font-size:1.75rem;line-height:1.25;font-weight:800;color:#0f172a;letter-spacing:-.02em;margin-top:2.25em}
.cv-prose h3{font-size:1.25rem;line-height:1.35;font-weight:800;color:#0f172a;margin-top:1.75em}
.cv-prose h2+*,.cv-prose h3+*{margin-top:.75em}
.cv-prose p{margin:0}
.cv-prose strong{color:#0f172a;font-weight:700}
.cv-prose a{color:rgb(var(--cv-primary-dark));font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cv-prose a:hover{color:rgb(var(--cv-primary))}
.cv-prose ul,.cv-prose ol{padding-left:1.35em;margin:0}
.cv-prose ul{list-style:disc}.cv-prose ol{list-style:decimal}
.cv-prose li{margin-top:.5em}
.cv-prose li::marker{color:rgb(var(--cv-primary));font-weight:700}
.cv-prose blockquote{border-left:4px solid rgb(var(--cv-primary)/.35);padding-left:1.1em;font-style:normal;color:#475569}
.cv-prose img{border-radius:1rem;height:auto}
.cv-prose hr{border:0;border-top:1px solid #e2e8f0;margin:2.5em 0}
.cv-prose table{width:100%;border-collapse:collapse;font-size:.95rem}
.cv-prose th,.cv-prose td{border:1px solid #e2e8f0;padding:.6em .8em;text-align:left}
.cv-prose th{background:#f8faf9;font-weight:700;color:#0f172a}
.cv-prose .not-prose{color:inherit}

/* ===== Blog ===== */
.cv-blog .cv-filter{top:4rem}
.admin-bar.cv-blog .cv-filter{top:calc(4rem + 32px)}
@media (max-width:782px){.admin-bar.cv-blog .cv-filter{top:calc(4rem + 46px)}}
@media (max-width:600px){.admin-bar.cv-blog .cv-filter{top:4rem}}
.cv-pills{-webkit-mask-image:linear-gradient(to right,#000 92%,transparent);mask-image:linear-gradient(to right,#000 92%,transparent);padding-right:2rem}
.cv-pages .page-numbers{min-width:2.75rem;height:2.75rem;padding:0 .9rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-weight:800;font-size:.9375rem;color:#64748b}
.cv-pages a.page-numbers:hover{border-color:rgb(var(--cv-primary));color:rgb(var(--cv-primary))}
.cv-pages .page-numbers.current{background:rgb(var(--cv-primary));border-color:rgb(var(--cv-primary));color:#fff;box-shadow:0 4px 14px 0 rgb(var(--cv-primary)/.3)}
.cv-pages .page-numbers.dots{border-color:transparent;background:transparent}
.cv-share:hover{color:#fff;border-color:transparent;transform:translateY(-2px)}
.cv-share-whatsapp:hover{background:#25d366}.cv-share-facebook:hover{background:#1877f2}.cv-share-linkedin:hover{background:#0a66c2}
.cv-share-x:hover{background:#0f172a}.cv-share-telegram:hover{background:#229ed9}.cv-share-mail:hover,.cv-share-copy:hover{background:rgb(var(--cv-primary))}
.cv-toc a.is-active{color:rgb(var(--cv-primary-dark));border-left-color:rgb(var(--cv-primary));font-weight:800}
#cv-progress{transition:transform .1s linear}
.cv-post-body{font-size:1.125rem;line-height:1.8}
.cv-post-body h2,.cv-post-body h3{scroll-margin-top:110px}
.cv-post-body > p:first-child{font-size:1.25rem;line-height:1.7;color:#1e293b;font-weight:500}
.cv-post-body figure{margin-left:0;margin-right:0}
.cv-post-body figcaption,.cv-post-body .wp-caption-text{font-size:.875rem;color:#64748b;text-align:center;margin-top:.6em}
.cv-post-body .wp-caption{max-width:100%}
.cv-post-body .alignleft{float:left;margin:.4em 1.5em 1em 0;max-width:50%}
.cv-post-body .alignright{float:right;margin:.4em 0 1em 1.5em;max-width:50%}
.cv-post-body .aligncenter{margin-left:auto;margin-right:auto;display:block}
.cv-post-body iframe,.cv-post-body video{max-width:100%;border-radius:1rem}
.cv-post-body blockquote{background:#f8faf9;border-left-width:4px;border-radius:0 1rem 1rem 0;padding:1.1em 1.4em;font-size:1.15rem;font-weight:600;color:#0f172a}
.cv-post-body pre{background:#0f172a;color:#e2e8f0;border-radius:1rem;padding:1.2em;overflow:auto;font-size:.9rem}
.cv-post-body::after{content:"";display:table;clear:both}
details > summary::-webkit-details-marker{display:none}
.cv-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);background:#0f172a;color:#fff;font-weight:700;font-size:14px;padding:12px 22px;border-radius:999px;opacity:0;transition:all .25s;z-index:100;pointer-events:none}
.cv-toast.is-on{opacity:1;transform:translate(-50%,0)}
@media (max-width:767px){.cv-toast{bottom:96px}}
/* espaçamento entre parágrafos e listas nos textos (páginas e posts) */
.cv-prose > * + :is(p,ul,ol,blockquote,figure,table,pre){margin-top:1.25em}
.cv-prose :is(h2,h3) + :is(p,ul,ol){margin-top:.75em}
.cv-prose a.cta-wa,.cv-prose .not-prose a.cta-wa{color:#fff;text-decoration:none}
.cv-prose .not-prose :is(h2,h3,p){margin-top:0}
.cv-prose .not-prose details p{margin-top:.75rem}
/* no post, o botão de WhatsApp dentro do texto fica alinhado à esquerda, junto do texto */
.cv-post-body .not-prose.flex{justify-content:flex-start}

/* ===== Faixa promocional: consulta a preço popular (abaixo da faixa animada) ===== */
.cv-promo,.cv-promo *{box-sizing:border-box}
.cv-promo{background:#000;color:#fff;overflow:hidden;position:relative}
.cv-promo::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 80% at 50% 0%,rgba(70,217,48,.14),transparent 70%)}
.cv-promo__link{display:block;position:relative;color:inherit;text-decoration:none;padding:clamp(2.75rem,6vw,4.5rem) 1.25rem}
.cv-promo__inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.cv-promo__title{margin:0;display:flex;flex-direction:column;align-items:center;line-height:1;letter-spacing:-.02em}
.cv-promo__t1{font-weight:800;color:#fff;font-size:clamp(2rem,9.6vw,6rem)}
.cv-promo__t2{display:inline-block;font-weight:800;font-style:normal;transform:skewX(-11deg);color:#46d930;font-size:clamp(1.65rem,7.8vw,4.6rem);margin-top:.12em}
.cv-promo__offer{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:clamp(1.5rem,3.5vw,2.25rem)}
.cv-promo__lead{margin:0;font-weight:700;font-size:clamp(1.15rem,3vw,2.35rem);letter-spacing:-.01em}
.cv-promo__price{margin:0;display:inline-flex;align-items:center;gap:.08em;background:rgb(var(--cv-gold));color:#000;border-radius:clamp(14px,2vw,22px);padding:.08em .32em .1em;font-weight:900;line-height:1;font-size:clamp(3.4rem,11vw,5.6rem);box-shadow:0 10px 40px rgb(var(--cv-gold)/.28);transition:transform .35s var(--ease-out)}
.cv-promo__cur{font-size:.62em;letter-spacing:-.04em}
.cv-promo__val{letter-spacing:-.05em}
.cv-promo__unit{font-size:.36em;font-weight:800;margin-left:.2em;align-self:center}
.cv-promo__cta{margin-top:clamp(1.75rem,3.5vw,2.5rem)}
.cv-promo__link:hover .cv-promo__price{transform:scale(1.04) rotate(-1deg)}
.cv-promo__link:focus-visible{outline:3px solid rgb(var(--cv-gold));outline-offset:-6px}
/* desktop: chamada e preço lado a lado, como na arte */
@media (min-width:768px){
  .cv-promo__offer{flex-direction:row;gap:1.75rem}
}
@media (prefers-reduced-motion:reduce){.cv-promo__price{transition:none}}
