/* ==========================================================================
   Grupo Impulso — Portfólio de Landing Pages
   Folha de estilos principal
   Organização: Base/Reset > Header > Hero > Seções gerais > Portfólio >
                Diferenciais > Processo > Estatísticas > Sobre (Quem está
                por trás) > Provas sociais > CTA > Footer > Microinterações >
                Animações de scroll > Responsividade
   ========================================================================== */


    :root{
      --bg:#030303; --bg2:#0a0a0a; --card:#0d0d0d; --line:rgba(255,255,255,.14);
      --line2:rgba(255,106,0,.36); --text:#f7f7f7; --muted:#b7b7b7;
      --orange:#ff6a00; --orange2:#ff8a1f; --radius:24px; --shadow:0 24px 80px rgba(0,0,0,.55); --max:1180px;
      --red:#ff3b24; --pink:#ff4fa3; --blue:#4d7dff;
    }
    .section-alt{background:var(--bg2)}
    *{box-sizing:border-box;margin:0;padding:0}
    html{}
    body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top right,rgba(255,106,0,.11),transparent 30rem),radial-gradient(circle at 8% 90%,rgba(255,59,36,.07),transparent 34rem),#030303;color:var(--text);overflow-x:hidden}
    body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 78%)}
    a{color:inherit;text-decoration:none} img{max-width:100%;display:block} .container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
    .nav-wrap{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.76);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
    .nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand{display:flex;align-items:center;min-width:max-content} .brand img{width:132px;height:54px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(255,106,0,.16))}
    .menu{display:flex;align-items:center;gap:28px;color:#d7d7d7;font-size:14px;font-weight:800} .menu a{opacity:.86;transition:.2s} .menu a:hover{opacity:1;color:var(--orange)}
    .btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--line);font-weight:900;font-size:14px;transition:.25s ease;white-space:nowrap}
    .btn::after{content:"";position:absolute;inset:-40% auto -40% -65%;width:42%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:.6s ease}
    .btn:hover::after{left:125%} .btn-primary{background:linear-gradient(135deg,var(--orange),var(--red));color:#080808;border-color:transparent;box-shadow:0 14px 44px rgba(255,59,36,.28)}
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 60px rgba(255,59,36,.4)} .btn-ghost{background:rgba(255,255,255,.035);color:#fff} .btn-ghost:hover{border-color:var(--line2);color:var(--orange)}
    .btn-short{display:none}
    section{padding:88px 0;border-bottom:1px solid var(--line)}
    .hero{padding:86px 0 70px;position:relative;overflow:hidden} .hero::after{content:"";position:absolute;right:-120px;bottom:-140px;width:380px;height:380px;border-radius:50%;background:rgba(255,106,0,.15);filter:blur(70px);animation:floatGlow 8s ease-in-out infinite}
    @keyframes floatGlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-28px)}}
    .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--orange);font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px} .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 18px var(--orange)}
    h1{font-size:clamp(38px,5.5vw,68px);line-height:1.03;letter-spacing:-.06em;font-weight:900;max-width:720px} .accent{color:var(--orange)}
    .lead{margin-top:22px;color:#cfcfcf;font-size:clamp(16px,1.5vw,18.5px);line-height:1.65;max-width:610px;font-weight:500}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px} .hero-actions .btn{min-width:155px}
    .trust-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px} .trust-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,106,0,.22);background:rgba(255,106,0,.06);font-size:12px;font-weight:850;color:#e7e7e7} .trust-pill i{width:7px;height:7px;border-radius:50%;background:var(--orange)}
    .showcase{position:relative;min-height:410px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:var(--shadow);overflow:hidden;padding:28px;animation:heroCard 6s ease-in-out infinite}
    @keyframes heroCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
    .showcase::before{content:"";position:absolute;inset:-45%;background:radial-gradient(circle,rgba(255,106,0,.24),transparent 35%);transform:translate(30%,0)}
    .browser{position:relative;z-index:2;border:1px solid rgba(255,255,255,.12);background:#070707;border-radius:22px;min-height:300px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
    .dots{display:flex;gap:8px;margin-bottom:42px} .dots span{width:10px;height:10px;border-radius:50%;background:var(--orange)} .dots span:nth-child(2){background:#ff9f3f} .dots span:nth-child(3){background:#fff}
    .mock-title{font-size:clamp(28px,4vw,46px);line-height:1.02;letter-spacing:-.05em;font-weight:900;max-width:420px} .mock-title em{font-style:normal;color:var(--orange)} .mock-lines{margin-top:24px;display:grid;gap:12px} .mock-lines span{height:10px;border-radius:99px;background:rgba(255,255,255,.08)} .mock-lines span:nth-child(1){width:82%} .mock-lines span:nth-child(2){width:63%} .mock-lines span:nth-child(3){width:44%}
    .scroll-cue{margin-top:34px;display:inline-flex;align-items:center;gap:10px;color:#d8d8d8;font-size:13px;font-weight:850} .scroll-cue span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line2);color:var(--orange);animation:bounce 1.6s ease-in-out infinite} @keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
    .section-head{display:grid;grid-template-columns:1fr .92fr;gap:44px;align-items:end;margin-bottom:42px} .kicker{color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:13px} h2{font-size:clamp(32px,4.8vw,56px);line-height:1.02;letter-spacing:-.065em;font-weight:900;max-width:700px} .section-text{color:#bdbdbd;font-size:18px;line-height:1.7;font-weight:500;max-width:540px}
    .pain-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch} .pain-card,.pain-list{border:1px solid var(--line);border-radius:26px;background:var(--card);padding:30px;position:relative;overflow:hidden} .pain-card::after{content:"";position:absolute;right:-50px;bottom:-60px;width:180px;height:180px;background:rgba(255,59,36,.16);filter:blur(32px)} .pain-card h2{font-size:clamp(31px,4vw,48px)} .pain-card p{margin-top:18px;color:#cfcfcf;line-height:1.7;font-size:17px;font-weight:500} .pain-list{display:grid;gap:12px} .pain-list div{display:flex;gap:12px;align-items:flex-start;padding:15px;border-radius:16px;background:#050505;border:1px solid rgba(255,255,255,.09);color:#d1d1d1;font-weight:700} .pain-list span{color:var(--orange);font-weight:900} .pain-list div:nth-child(2n) span{color:var(--red)}
    .click-hint{margin:-18px 0 28px;display:inline-flex;align-items:center;gap:10px;padding:13px 18px;border-radius:999px;border:1px solid rgba(255,106,0,.44);background:linear-gradient(135deg,rgba(255,106,0,.18),rgba(255,255,255,.035));color:#fff;font-size:15px;line-height:1.25;font-weight:900;letter-spacing:-.02em;box-shadow:0 0 0 1px rgba(255,106,0,.08) inset,0 14px 40px rgba(255,106,0,.10);animation:hintPulse 2.6s ease-in-out infinite} .click-hint span{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--orange);box-shadow:0 0 18px rgba(255,106,0,.85)} @keyframes hintPulse{0%,100%{box-shadow:0 0 0 1px rgba(255,106,0,.08) inset,0 14px 40px rgba(255,106,0,.08)}50%{box-shadow:0 0 0 1px rgba(255,106,0,.18) inset,0 18px 54px rgba(255,106,0,.20)}}
    .projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px} .project-card{display:flex;flex-direction:column;min-height:390px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));padding:18px;position:relative;overflow:hidden;transition:.25s ease;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,106,0,.04)} .project-card::after{content:"";position:absolute;inset:auto -60px -90px auto;width:180px;height:180px;background:radial-gradient(circle,rgba(255,106,0,.25),transparent 68%);transition:.25s ease} .project-card:hover{transform:translateY(-7px);border-color:var(--line2);box-shadow:0 22px 70px rgba(0,0,0,.45),0 0 0 1px rgba(255,106,0,.10) inset} .project-card:active{transform:scale(.975)} .project-card:hover::after{transform:scale(1.25)}
    .project-thumb{height:150px;border-radius:18px;background:linear-gradient(135deg,#151515,#080808 58%,rgba(255,106,0,.22));border:1px solid rgba(255,106,0,.18);display:flex;align-items:end;padding:18px;margin-bottom:18px;position:relative;z-index:2;overflow:hidden} .project-thumb::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 38%,rgba(255,106,0,.18),transparent 64%);opacity:.8} .project-thumb strong{position:relative;z-index:2;font-size:25px;line-height:.96;letter-spacing:-.055em;font-weight:900} .project-thumb span{color:var(--orange)} .project-thumb em{position:absolute;right:14px;top:13px;z-index:3;font-style:normal;color:#080808;background:var(--orange);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900} .cover-mf em{background:var(--pink)} .cover-eu em{background:var(--blue)} .cover-cr em{background:var(--red)}
    .mini-window{position:absolute;top:14px;left:14px;display:flex;gap:5px;z-index:3} .mini-window span{width:6px;height:6px;border-radius:50%;background:var(--orange)} .mini-window span:nth-child(2){background:#ff9f3f} .mini-window span:nth-child(3){background:#fff}
    .cover-gi{background:linear-gradient(135deg,#1a1004,#080808 55%,rgba(255,106,0,.30))} .cover-mf{background:linear-gradient(135deg,#210f18,#0a0808 54%,rgba(255,79,163,.26))} .cover-eu{background:linear-gradient(135deg,#070d18,#0a0a0d 45%,rgba(77,125,255,.30))} .cover-cr{background:linear-gradient(135deg,#1c0a06,#0d0808 55%,rgba(255,59,36,.26))}
    .tag{color:var(--orange);font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:6px;position:relative;z-index:2} .tag-pink{color:var(--pink)} .tag-blue{color:var(--blue)} .tag-red{color:var(--red)} .project-card h3{font-size:22px;letter-spacing:-.04em;line-height:1.05;margin-bottom:12px;position:relative;z-index:2} .project-card p{color:#c6c6c6;font-size:15px;line-height:1.5;font-weight:500;position:relative;z-index:2} .card-link{margin-top:auto;padding-top:24px;color:#fff;font-weight:900;font-size:14px;position:relative;z-index:2} .card-link span{color:var(--orange)}
    .post-portfolio-cta{margin-top:26px;border:1px solid var(--line2);border-radius:24px;background:linear-gradient(135deg,rgba(255,106,0,.12),rgba(255,255,255,.025));padding:26px;display:flex;align-items:center;justify-content:space-between;gap:18px} .post-portfolio-cta h3{font-size:26px;letter-spacing:-.05em;margin-bottom:6px} .post-portfolio-cta p{color:#cfcfcf;font-weight:600}
    .feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px} .feature{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:20px;min-height:132px} .feature b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(255,106,0,.12);color:var(--orange);margin-bottom:16px} .feature h3{font-size:17px;margin-bottom:7px;letter-spacing:-.03em} .feature p{color:#bdbdbd;font-size:14px;line-height:1.45;font-weight:500}
    .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid var(--line2)} .step{padding:0 24px;border-right:1px solid var(--line2);position:relative} .step-number{color:var(--orange);font-weight:900;font-size:18px;margin-bottom:18px} .step:nth-child(2n) .step-number{color:var(--red)} .step h3{font-size:20px;letter-spacing:-.04em;margin-bottom:7px} .step p{color:#bdbdbd;line-height:1.5;font-weight:500}
    .stats{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:0;border:1px solid var(--line2);border-radius:24px;overflow:hidden;background:linear-gradient(90deg,rgba(255,106,0,.12),rgba(255,255,255,.025));margin-top:12px} .stat{padding:30px;border-right:1px solid var(--line)} .stat:last-child{border-right:0} .stat strong{display:block;font-size:30px;color:var(--orange);letter-spacing:-.06em;line-height:1;font-weight:900} .stat span{display:block;margin-top:9px;color:#d8d8d8;font-weight:800;font-size:13px;text-transform:uppercase;line-height:1.45} .stat-title{font-size:30px;font-weight:900;letter-spacing:-.06em;line-height:1.05} .stat-title span{color:var(--orange);display:inline;text-transform:none;font-size:inherit;line-height:inherit;font-weight:inherit;margin:0}
    .testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} .quote{border:1px solid var(--line);border-radius:22px;background:var(--card);padding:28px} .quote-mark{color:var(--red);font-size:42px;font-weight:900;line-height:.8} .quote p{color:#dfdfdf;line-height:1.65;font-weight:500;margin-top:12px} .person{margin-top:24px;display:flex;align-items:center;gap:12px} .avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--orange),#fff);padding:2px} .avatar div{width:100%;height:100%;border-radius:50%;background:#111} .person strong{display:block;font-size:14px} .person span{color:#999;font-size:12px;text-transform:uppercase;font-weight:800}
    .cta{border-bottom:0;padding-bottom:60px} .cta-box{border:1px solid var(--line2);border-radius:30px;background:radial-gradient(circle at top right,rgba(255,106,0,.22),transparent 34rem),linear-gradient(135deg,rgba(255,106,0,.12),rgba(255,255,255,.025));padding:48px;display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;box-shadow:var(--shadow)} .cta-box h2{font-size:clamp(32px,4.6vw,56px)} .cta-box p{color:#d0d0d0;font-size:18px;line-height:1.65;font-weight:500;margin-top:16px} .cta-actions{justify-self:end;display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
    footer{border-top:1px solid var(--line);padding:28px 0 38px;color:#aaa} .footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px} .footer-grid img{width:54px;height:54px;object-fit:cover;border-radius:10px} .social{display:flex;gap:10px} .social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:#fff;font-weight:900} .social a:hover{border-color:var(--line2);color:var(--orange)}
    .reveal-item{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease,border-color .35s ease,box-shadow .35s ease} .reveal-item.is-visible{opacity:1;transform:translateY(0)}
    .marquee-track{will-change:transform}
    @media (max-width:620px){ .hero::after{ display:none } .showcase{ animation:none } }
    @media (max-width:1000px){.hero-grid,.section-head,.cta-box,.pain-grid{grid-template-columns:1fr}.showcase{min-height:auto}.projects-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.testimonials{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.stat{border-bottom:1px solid var(--line)}.process-grid{grid-template-columns:repeat(2,1fr);gap:28px;border-left:0}.step{border-right:0;border-left:1px solid var(--line2)}.cta-actions{justify-self:start}.menu{display:none}}
    @media (max-width:620px){.container{width:min(100% - 28px,var(--max))}.nav{height:66px;gap:10px}.brand img{width:104px;height:42px}.nav .btn{padding:0 14px;min-height:38px;font-size:12.5px}.btn-full{display:none}.btn-short{display:inline}.hero{padding:36px 0 44px}h1{font-size:38px;line-height:1.06;letter-spacing:-.05em}h2{font-size:32px}.lead,.section-text{font-size:15.5px;line-height:1.62}.hero-actions .btn{width:100%}.trust-row{gap:8px}.trust-pill{font-size:11px;padding:8px 10px}.showcase{padding:16px;border-radius:24px}.browser{min-height:240px;padding:16px}section{padding:54px 0}.section-head{gap:20px;margin-bottom:25px}.pain-card,.pain-list{padding:22px;border-radius:22px}.click-hint{width:100%;font-size:14px;border-radius:18px;align-items:flex-start}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card{min-height:286px;padding:12px;border-radius:18px;border-color:rgba(255,106,0,.34);background:radial-gradient(circle at 92% 8%,rgba(255,106,0,.16),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));box-shadow:inset 0 0 0 1px rgba(255,106,0,.08),0 12px 30px rgba(0,0,0,.28)}.project-thumb{height:92px;border-radius:14px;padding:12px;margin-bottom:13px;border-color:rgba(255,106,0,.24)}.project-thumb strong{font-size:19px}.project-thumb em{width:24px;height:24px;font-size:12px}.tag{font-size:10px;margin-bottom:5px;line-height:1.1}.project-card h3{font-size:16.5px;line-height:1.08;margin-bottom:8px}.project-card p{font-size:12.5px;line-height:1.37;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#cfcfcf}.card-link{font-size:11.5px;padding-top:13px}.post-portfolio-cta{display:grid;padding:22px}.post-portfolio-cta .btn{width:100%}.feature-grid{grid-template-columns:1fr 1fr;gap:10px}.feature{padding:15px;min-height:132px}.feature h3{font-size:15px}.feature p{font-size:12.5px}.process-grid{grid-template-columns:1fr;gap:22px}.step{padding:0 0 0 18px}.stats{grid-template-columns:1fr}.stat{border-right:0}.cta-box{padding:26px;border-radius:24px}.cta-actions,.cta-actions .btn{width:100%}.footer-grid{align-items:flex-start;flex-direction:column}.footer-grid img{width:54px;height:54px;object-fit:cover;border-radius:10px}}
    @media (max-width:380px){.container{width:min(100% - 22px,var(--max))}h1{font-size:34px}.projects-grid{gap:10px}.project-card{padding:10px;border-radius:16px;min-height:268px}.project-thumb{height:80px;padding:10px;margin-bottom:11px}.project-thumb strong{font-size:17px}.project-card h3{font-size:15px}.project-card p{font-size:11.8px;line-height:1.34}.card-link{font-size:11px}.feature-grid{grid-template-columns:1fr}}
    @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-item{opacity:1!important;transform:none!important}}
    .marquee-strip{padding:20px 0;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,106,0,.09),rgba(255,255,255,.02));overflow:hidden;position:relative}
    .marquee-strip::before,.marquee-strip::after{content:"";position:absolute;top:0;bottom:0;width:140px;z-index:2;pointer-events:none}
    .marquee-strip::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(5,5,5,0))}
    .marquee-strip::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(5,5,5,0))}
    .marquee-track{display:flex;width:max-content;animation:marqueeScroll 30s linear infinite}
    .marquee-strip:hover .marquee-track{animation-play-state:paused}
    .marquee-group{display:flex;align-items:center;flex-shrink:0}
    .marquee-item{display:flex;align-items:center;gap:14px;padding:0 26px;font-size:14.5px;font-weight:800;letter-spacing:-.01em;color:#eaeaea;white-space:nowrap}
    .marquee-item b{color:var(--orange);font-weight:900} .marquee-item b.hot{color:var(--red)}
    .marquee-dot{width:5px;height:5px;border-radius:50%;background:var(--orange);opacity:.75;flex:0 0 auto}
    @keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
    @media (max-width:620px){.marquee-strip{padding:14px 0}.marquee-strip::before,.marquee-strip::after{width:60px}.marquee-item{padding:0 18px;font-size:13px}.marquee-track{animation-duration:22s}}

    /* Cabeçalho ajustado para ficar idêntico ao site principal */
    .nav-wrap{
      position:fixed;
      top:0;
      left:0;
      right:0;
      width:100%;
      z-index:9999;
      background:rgba(5,5,5,.86);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(255,106,0,.16);
      box-shadow:0 10px 35px rgba(0,0,0,.35);
      transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;
    }
    .nav-wrap.scrolled{
      background:rgba(5,5,5,.94);
      border-bottom-color:rgba(255,106,0,.35);
      box-shadow:0 14px 45px rgba(0,0,0,.55);
    }
    .nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand{display:flex;align-items:center;gap:12px;min-width:max-content;font-weight:800;letter-spacing:-.4px;font-size:18px;color:#fff}
    .brand img{width:42px;height:42px;object-fit:cover;border-radius:8px;filter:none}
    .brand span{color:var(--orange)}
    .menu{display:flex;gap:26px;color:var(--muted);font-size:14px;font-weight:700}
    .menu a:hover{color:var(--orange2)}
    .header-whatsapp{min-width:140px;padding:0 24px;border-radius:999px}
    .marquee-strip{padding:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:0;background:linear-gradient(90deg,rgba(255,59,36,.10),rgba(255,255,255,.02));overflow:hidden;position:relative}
    .marquee-strip::before,.marquee-strip::after{width:90px}
    .marquee-strip::before{background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,0))}
    .marquee-strip::after{background:linear-gradient(270deg,rgba(5,5,5,.94),rgba(5,5,5,0))}
    .marquee-track{animation:marqueeScroll 28s linear infinite}
    .marquee-item{gap:12px;padding:11px 22px;font-size:13px;font-weight:800;letter-spacing:.01em}
    .marquee-item b{color:var(--orange2)}
    .marquee-dot{width:4px;height:4px}
    .hero{padding-top:168px}
    @media (max-width:1000px){.menu{display:none}}
    @media (max-width:620px){
      .nav{height:76px}
      .brand img{width:42px;height:42px}
      .brand{font-size:17px;gap:12px}
      .header-whatsapp{min-width:118px;min-height:48px;padding:0 18px;font-size:13px}
      .marquee-strip{padding:0}
      .marquee-strip::before,.marquee-strip::after{width:60px}
      .marquee-item{padding:9px 16px;font-size:12px}
      .marquee-track{animation-duration:20s}
      .hero{padding-top:150px}
    }
    @media (max-width:390px){
      .brand{font-size:15.5px}
      .brand img{width:38px;height:38px}
      .header-whatsapp{min-width:104px;padding:0 14px}
    }
  
/* ==========================================================================
   ADIÇÕES — versão premium
   Novidades: seção "Quem está por trás", bandeiras nos projetos, brilho no
   notebook do Hero, variantes de reveal (fade/scale/blur/slide), foco de
   teclado, pequenos refinamentos de microinteração.
   ========================================================================== */

/* ---- Acessibilidade: foco visível ---- */
a:focus-visible,
button:focus-visible,
.project-card:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 3px;
  border-radius: 8px;
}

/* ---- Hero: brilho passando na tela do "notebook" ---- */
.showcase { position: relative; }
.showcase::after {
  content: "";
  position: absolute;
  inset: 28px;
  z-index: 3;
  border-radius: 22px;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.10) 45%, rgba(255,255,255,.22) 50%, rgba(255,255,255,.10) 55%, transparent 70%);
  background-size: 250% 250%;
  background-position: -40% -40%;
  animation: screenShine 6.5s ease-in-out infinite;
  pointer-events: none;
  mix-blend-mode: screen;
}
@keyframes screenShine {
  0%   { background-position: -60% -60%; opacity: 0; }
  15%  { opacity: 1; }
  45%  { background-position: 60% 60%; opacity: 0; }
  100% { background-position: 60% 60%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .showcase::after { animation: none; opacity: 0; } }

/* ---- Cards: glow de borda mais vivo no hover (feature + project) ---- */
.feature, .project-card, .quote, .pain-card, .pain-list {
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.feature:hover {
  transform: translateY(-4px);
  border-color: var(--line2);
  box-shadow: 0 16px 44px rgba(0,0,0,.4), 0 0 0 1px rgba(255,106,0,.12) inset;
}
.quote:hover {
  transform: translateY(-4px);
  border-color: rgba(255,106,0,.30);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}

/* ---- Bandeiras nos cards de projeto ---- */
.tag-flag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tag-flag .flag {
  font-size: 13px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.4));
}

/* ==========================================================================
   SEÇÃO: Quem está por trás da Grupo Impulso
   ========================================================================== */
.about-section { position: relative; overflow: hidden; }
.about-section::before {
  content: "";
  position: absolute;
  left: -140px;
  top: -80px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(255,106,0,.13);
  filter: blur(90px);
  pointer-events: none;
}
.about-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 56px;
  align-items: center;
}
.about-photo-wrap {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  aspect-ratio: 3 / 4;
  background: linear-gradient(160deg, rgba(255,106,0,.14), rgba(255,255,255,.02));
}
.about-photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(.08) contrast(1.03);
  transition: transform .6s ease, filter .6s ease;
}
.about-photo-wrap:hover img { transform: scale(1.035); filter: grayscale(0) contrast(1.05); }
.about-photo-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(3,3,3,.55) 0%, transparent 38%);
  pointer-events: none;
}
.about-photo-badge {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(5,5,5,.7);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,106,0,.35);
  font-size: 13px;
  font-weight: 850;
  color: #f2f2f2;
}
.about-photo-badge i {
  width: 7px; height: 7px; border-radius: 50%;
  background: #34e07a; box-shadow: 0 0 10px #34e07a;
  flex: 0 0 auto;
}
.about-text .kicker { margin-bottom: 13px; }
.about-text h2 { max-width: 640px; }
.about-text .about-bio {
  margin-top: 20px;
  color: #cfcfcf;
  font-size: 17px;
  line-height: 1.75;
  font-weight: 500;
  max-width: 620px;
}
.about-text .about-bio p + p { margin-top: 14px; }
.about-signature {
  margin-top: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.about-signature strong { font-size: 15px; letter-spacing: -.02em; }
.about-signature span { color: #999; font-size: 12px; font-weight: 800; text-transform: uppercase; }

.about-stats {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.about-stat {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--card);
  padding: 20px 18px;
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.about-stat::after {
  content: "";
  position: absolute;
  right: -30px; bottom: -30px;
  width: 100px; height: 100px;
  background: rgba(255,106,0,.14);
  filter: blur(26px);
}
.about-stat:hover {
  transform: translateY(-4px);
  border-color: var(--line2);
  box-shadow: 0 14px 38px rgba(0,0,0,.4), 0 0 0 1px rgba(255,106,0,.10) inset;
}
.about-stat strong {
  display: block;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.04em;
  color: var(--orange);
  line-height: 1.05;
  position: relative; z-index: 2;
}
.about-stat span {
  display: block;
  margin-top: 8px;
  color: #d8d8d8;
  font-weight: 750;
  font-size: 12.5px;
  line-height: 1.4;
  position: relative; z-index: 2;
}

@media (max-width: 1000px) {
  .about-grid { grid-template-columns: 1fr; gap: 34px; }
  .about-photo-wrap { max-width: 380px; margin: 0 auto; aspect-ratio: 4 / 5; }
  .about-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .about-stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .about-stat { padding: 16px 14px; border-radius: 16px; }
  .about-stat strong { font-size: 20px; }
  .about-text .about-bio { font-size: 15.5px; }
}

/* ==========================================================================
   VARIANTES DE ANIMAÇÃO DE SCROLL
   Reaproveita .reveal-item (fade + translateY) como padrão e adiciona
   variantes suaves para dar ritmo às seções, sem exagero.
   ========================================================================== */
.reveal-scale { opacity: 0; transform: scale(.94); transition: opacity .6s ease, transform .6s ease; }
.reveal-scale.is-visible { opacity: 1; transform: scale(1); }

.reveal-blur { opacity: 0; filter: blur(10px); transform: translateY(14px); transition: opacity .7s ease, filter .7s ease, transform .7s ease; }
.reveal-blur.is-visible { opacity: 1; filter: blur(0); transform: translateY(0); }

.reveal-left { opacity: 0; transform: translateX(-26px); transition: opacity .65s ease, transform .65s ease; }
.reveal-left.is-visible { opacity: 1; transform: translateX(0); }

.reveal-right { opacity: 0; transform: translateX(26px); transition: opacity .65s ease, transform .65s ease; }
.reveal-right.is-visible { opacity: 1; transform: translateX(0); }

@media (prefers-reduced-motion: reduce) {
  .reveal-scale, .reveal-blur, .reveal-left, .reveal-right { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* ---- Imagens com lazy-load: fade suave quando carregam ---- */
img.lazy-fade { opacity: 0; transition: opacity .5s ease; }
img.lazy-fade.is-loaded { opacity: 1; }

/* ==========================================================================
   Hero: imagem real do mockup (notebook/celular) dentro do showcase
   ========================================================================== */
.showcase-img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 22px;
  display: block;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
}

/* ==========================================================================
   Provas sociais: coluna com os prints reais de feedback (WhatsApp)
   ========================================================================== */
.feedback-grid {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  max-width: 760px;
}
.feedback-card {
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
  background: var(--card);
}
.feedback-card:hover {
  transform: translateY(-6px);
  border-color: var(--line2);
  box-shadow: 0 22px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(255,106,0,.10) inset;
}
.feedback-card img { width: 100%; height: auto; display: block; }

@media (max-width: 620px) {
  .feedback-grid { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; gap: 16px; }
}
