:root{
    /* Base escura com leve tom azulado (clima da referência) */
    --ink:        #08090f;
    --ink-2:      #0d0f18;
    --panel:      #14172270;
    --line:       rgba(255,255,255,.09);
    --line-strong:rgba(255,255,255,.16);

    /* CMYK — a identidade da WL como luz */
    --cyan:    #16c5e6;
    --cyan-2:  #8be7f3;
    --magenta: #f4297f;
    --yellow:  #ffc31f;
    --key:     #0b0c12;

    --text:    #f3f5fb;
    --muted:   #9aa3b6;
    --muted-2: #6f7892;

    --form-bg: #ffffff;
    --form-text: #111827;
    --form-muted: #667085;
    --form-line: #d9dee8;
    --form-field: #f7f9fc;

    --radius: 18px;
    --maxw: 1240px;
    --ease: cubic-bezier(.22,.61,.36,1);

    /* Ritmo padronizado de títulos de seção (kicker + h2/h1 com linhas empilhadas + texto de apoio) */
    --wl-title-top-gap: 16px;        /* kicker -> título */
    --wl-title-bottom-gap: 48px;     /* título -> próximo conteúdo (desktop) */
    --wl-title-bottom-gap-mobile: 32px; /* título -> próximo conteúdo (mobile) */
    --wl-title-line-height: 1.05;    /* altura de linha de títulos com múltiplas linhas */
    --wl-title-line-gap: .04em;      /* respiro entre as linhas empilhadas do título */
    --wl-title-intro-gap: 18px;      /* título -> texto de apoio (kicker+h2 -> parágrafo) */
    --wl-hero-line-height: 1.3;      /* altura de linha de títulos hero muito grandes (evita sobreposição) */
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Inter",system-ui,sans-serif;
    background:var(--ink);
    color:var(--text);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer}

  /* ====== FUNDO ANIMADO (CMYK) ====== */
  .bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:
      radial-gradient(120% 80% at 50% 100%, #11131f 0%, var(--ink) 55%);}
  .pbg{position:absolute;inset:0;background:#06070c center/cover no-repeat;
       filter:blur(42px) saturate(1.2) brightness(.5);transform:scale(1.22);
       opacity:0;transition:opacity .8s ease;will-change:opacity;z-index:0}
  .pbg.on{opacity:1}
  .bg .ov{position:absolute;inset:0;z-index:1;background:
       linear-gradient(180deg,rgba(6,7,12,.5) 0%,rgba(6,7,12,.8) 100%)}
  .bg canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}
  @keyframes drift1{to{transform:translate(8vw,-6vh) scale(1.12)}}
  @keyframes drift2{to{transform:translate(-7vw,-4vh) scale(1.08)}}
  @keyframes drift3{to{transform:translate(-5vw,-8vh) scale(1.15)}}

  /* ====== HEADER - MODELO EDITORIAL CLEAN ====== */
  header{
    position:fixed;top:0;left:0;right:0;z-index:30;
    padding:16px 28px;background:#fff;border-bottom:1px solid rgba(8,9,15,.08);
    transition:padding .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)
  }
  header.scrolled{padding-top:10px;padding-bottom:10px;box-shadow:0 12px 34px rgba(8,9,15,.12)}
  .nav{
    max-width:var(--maxw);margin:0 auto;min-height:76px;padding:0;
    display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px;position:relative
  }
  .brand{
    display:inline-flex;align-items:center;justify-content:flex-start;justify-self:start;
    position:relative;z-index:2;padding:0;transition:transform .25s var(--ease),opacity .25s
  }
  .brand:hover{transform:translateY(-1px);opacity:.9}
  .logo-img{height:58px;width:auto;display:block}
  .desktop-nav{justify-self:center;display:flex;align-items:center;gap:6px;position:relative;z-index:2}
  .desktop-nav a{
    display:inline-flex;align-items:center;justify-content:center;min-height:42px;
    padding:0 15px;border-radius:999px;color:#151722;font-size:14px;font-weight:700;
    letter-spacing:.15px;position:relative;transition:background .25s,color .25s,transform .25s
  }
  .desktop-nav a:hover{background:#f1f3f7;color:#000;transform:translateY(-1px)}
  .desktop-nav a::after{
    content:"";position:absolute;left:16px;right:16px;bottom:7px;height:2px;
    border-radius:99px;background:var(--cyan);transform:scaleX(0);transform-origin:center;
    transition:transform .28s var(--ease)
  }
  .desktop-nav a:hover::after{transform:scaleX(1)}
  .burger{
    display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;
    width:44px;height:44px;border:1px solid rgba(8,9,15,.14);border-radius:50%;background:#fff;position:relative;z-index:4
  }
  .burger span{width:20px;height:2px;background:#08090f;border-radius:2px;transition:transform .25s var(--ease),opacity .25s}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{
    display:none;position:absolute;left:24px;right:24px;top:calc(100% + 10px);z-index:29;
    padding:10px;border:1px solid rgba(8,9,15,.1);border-radius:22px;background:#fff;
    box-shadow:0 22px 50px rgba(8,9,15,.18)
  }
  .mobile-menu a{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:14px;color:#151722;font-weight:700;font-size:14px}
  .mobile-menu a::after{content:"";width:7px;height:7px;border-radius:50%;background:#000;opacity:.75}
  .mobile-menu a:hover{background:#f1f3f7}
  .mobile-menu.open{display:block;animation:menuIn .28s var(--ease) both}
  @keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

  /* ====== HERO ====== */
  .hero{position:relative;z-index:10;max-width:var(--maxw);margin:0 auto;padding:130px 28px 80px;display:flex;flex-direction:column;align-items:center}

  h1{font-family:"Sora";font-weight:800;letter-spacing:-1px;line-height:var(--wl-hero-line-height);text-align:center;text-transform:uppercase;
     font-size:clamp(2.2rem,6.2vw,5rem);margin:0 auto;max-width:none}
  h1 .line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
  h1 .grad{background:var(--cyan);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
  .headline-dot{display:inline-block;width:.18em;height:.18em;border-radius:50%;margin:0 .18em .16em;
    background:var(--cyan);box-shadow:0 0 18px rgba(22,197,230,.75);vertical-align:middle}
  /* revelação por linha (sobe suave) */
  .rise{display:inline-block;transform:translateY(115%);opacity:0;animation:rise 1s var(--ease) forwards}
  @keyframes rise{to{transform:translateY(0);opacity:1}}

  .lead{margin:22px auto 0;max-width:50ch;text-align:center;font-size:clamp(1rem,1.4vw,1.18rem);color:var(--muted);line-height:1.6}

  /* painel centralizado sobre o hero */
  .stage{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:0;align-items:stretch;
    position:relative;
    max-width:1100px;
    margin:16px auto 0;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(0,0,0,.32);
    height:620px;
  }

  /* ---- Carrossel ---- */
  .carousel{position:relative;overflow:hidden;background:#0a0c14;height:100%;isolation:isolate;min-width:0;}
  .track{display:flex;transition:transform .74s cubic-bezier(.2,.72,.18,1);height:100%;will-change:transform}
  .slide{min-width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:32px 36px 92px;position:relative;overflow:hidden}
  .slide-bg{
    position:absolute;inset:0;z-index:0;
    background-size:cover;background-position:center;
    transform:scale(1.06);opacity:.85;
    transition:transform 1.2s var(--ease),opacity .74s var(--ease);
    will-change:transform;
  }
  .slide.is-active .slide-bg{transform:scale(1);opacity:1}
  .slide-overlay{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,rgba(4,5,10,.25) 0%,rgba(4,5,10,.30) 35%,rgba(4,5,10,.80) 65%,rgba(4,5,10,.97) 100%);
  }
  .slide-content{
    position:relative;z-index:2;
    display:flex;flex-direction:column;justify-content:flex-end;height:100%;
    max-width:min(92%,520px);
  }
  .slide .ic{
    position:absolute;top:0;left:0;
    width:44px;height:44px;display:grid;place-items:center;
    border:1px solid rgba(255,255,255,.2);border-radius:12px;
    background:rgba(8,9,15,.5);backdrop-filter:blur(6px);
    transition:opacity .74s var(--ease);
  }
  .slide .ic svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.6}
  .slide h3{
    font-family:"Sora";font-weight:800;
    font-size:clamp(1.4rem,2.4vw,2rem);
    letter-spacing:-.5px;line-height:1.1;color:#fff;
    transition:transform .74s var(--ease),opacity .74s var(--ease);
  }
  .slide p{
    color:#c8d2e4;font-size:.95rem;
    margin-top:8px;max-width:36ch;line-height:1.5;
    transition:transform .74s var(--ease),opacity .74s var(--ease);
  }
  .slide .tag{
    margin-top:16px;align-self:flex-start;
    font-size:11px;letter-spacing:1.8px;text-transform:uppercase;
    font-weight:700;color:#06121a;padding:7px 16px;border-radius:99px;
    transition:transform .74s var(--ease),opacity .74s var(--ease);
  }
  .slide:not(.is-active) .slide-content{opacity:.35;transform:translateY(8px);transition:opacity .74s var(--ease),transform .74s var(--ease)}
  .slide.is-active .slide-content{opacity:1;transform:translateY(0)}

  .car-ui{position:absolute;top:32px;right:32px;display:flex;gap:10px;z-index:4}
  .car-ui button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);
    background:rgba(8,9,15,.5);backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;transition:.25s}
  .car-ui button:hover{background:rgba(255,255,255,.14);transform:scale(1.08)}
  .dots{position:absolute;bottom:34px;left:36px;display:flex;gap:7px;z-index:4}
  .dots b{width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.32);transition:width .35s var(--ease),background .35s var(--ease),opacity .35s var(--ease);cursor:pointer}
  .dots b.on{width:24px;background:var(--cyan);opacity:1}
  .slide .tag{position:relative;z-index:3}
  .slide h3,.slide p{max-width:100%}

  /* ══════ QUIZ / FORMULÁRIO ══════ */
  .form{
    height:100%;padding:0;position:relative;overflow:hidden;
    border-left:1px solid rgba(8,9,15,.1);
    background:#fff;color:var(--form-text);
    display:flex;flex-direction:column;
  }

  /* Cabeçalho fixo: logo + título + subtítulo */
  .quiz-head{
    flex-shrink:0;
    padding:20px 36px 16px;
    border-bottom:1px solid #f0f2f6;
    text-align:center;
  }
  .quiz-head-logo{
    height:48px;width:auto;display:block;margin:0 auto 12px;
  }
  .quiz-head-title{
    font-family:"Sora";font-weight:800;font-size:1.1rem;
    letter-spacing:1.5px;text-transform:uppercase;
    color:var(--form-text);line-height:1.1;margin-bottom:4px;
  }
  .quiz-head-sub{
    font-size:.76rem;color:var(--form-muted);line-height:1.45;max-width:34ch;margin:0 auto;
  }

  /* Barra de progresso fina abaixo do header */
  .quiz-prog-wrap{flex-shrink:0;padding:10px 36px 0}
  .quiz-prog-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
  .quiz-prog-label{font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--cyan)}
  .quiz-prog-count{font-size:10px;color:#a0aab8;font-weight:600}
  .quiz-prog-track{height:3px;background:#eef0f5;border-radius:99px;overflow:hidden}
  .quiz-prog-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--magenta));
    border-radius:99px;transition:width .5s var(--ease)}

  /* Área de cada passo */
  .quiz-steps{flex:1;overflow-y:auto;overflow-x:hidden}
  .quiz-step{
    padding:22px 36px 18px;
    display:none;flex-direction:column;justify-content:center;min-height:100%;
  }
  .quiz-step.active{
    display:flex;
    animation:stepIn .3s var(--ease) both;
  }
  @keyframes stepIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}

  /* Pergunta + dica */
  .quiz-question{
    font-family:"Sora";font-weight:800;
    font-size:1.18rem;letter-spacing:-.3px;line-height:1.2;
    color:var(--form-text);margin-bottom:6px;
  }
  .quiz-hint{
    font-size:.82rem;color:#8a94a6;line-height:1.5;
    margin-bottom:20px;font-style:italic;
  }

  /* Campos */
  .qfield{margin-bottom:10px}
  .qfield label{display:block;font-size:11.5px;font-weight:700;
    color:#475467;margin-bottom:5px;letter-spacing:.3px;text-transform:uppercase}
  .qfield input,.qfield select,.qfield textarea{
    width:100%;padding:13px 15px;border-radius:11px;
    border:1.5px solid #dde2ec;
    background:#f7f9fc;color:var(--form-text);
    font-family:"Inter",sans-serif;font-size:14.5px;
    transition:border-color .22s,box-shadow .22s,background .22s;resize:none}
  .qfield input::placeholder,.qfield textarea::placeholder{color:#a8b0c0}
  .qfield input:focus,.qfield select:focus,.qfield textarea:focus{
    outline:none;background:#fff;
    border-color:var(--cyan);box-shadow:0 0 0 4px rgba(22,197,230,.13)}
  .qfield select{
    -webkit-appearance:none;appearance:none;cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%239aa3b6' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center}

  /* Botões */
  .quiz-btn-row{display:flex;gap:10px;margin-top:8px}
  .quiz-btn{
    flex:1;padding:14px;border:0;border-radius:11px;
    font-family:"Sora",sans-serif;font-weight:800;font-size:14.5px;
    color:#06121a;cursor:pointer;
    background:linear-gradient(110deg,var(--cyan),#0adace);
    transition:transform .2s,box-shadow .28s,filter .22s;
  }
  .quiz-btn:hover{filter:brightness(1.06);transform:translateY(-2px);
    box-shadow:0 12px 30px -12px var(--cyan)}

  /* Rodapé de proteção */
  .quiz-footer{
    flex-shrink:0;display:flex;align-items:center;justify-content:center;
    gap:6px;padding:12px 40px;font-size:11px;color:#a8b0c0;
    border-top:1px solid #f0f2f6;
  }
  .quiz-footer svg{width:11px;height:11px;stroke:#a8b0c0;fill:none;stroke-width:1.8}




  /* ══════ MODAL DO QUIZ (etapas 2-5) ══════ */
  .qmodal-overlay{
    position:fixed;inset:0;z-index:100;
    background:rgba(6,7,14,.72);backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center;
    padding:20px;
    opacity:0;pointer-events:none;
    transition:opacity .32s var(--ease);
  }
  .qmodal-overlay.open{opacity:1;pointer-events:all}

  .qmodal{
    width:100%;max-width:480px;
    background:#fff;border-radius:24px;
    overflow:hidden;
    box-shadow:0 40px 100px rgba(0,0,0,.32);
    transform:translateY(28px) scale(.97);
    transition:transform .38s var(--ease),opacity .32s var(--ease);
    opacity:0;
    display:flex;flex-direction:column;
    max-height:calc(100vh - 40px);
  }
  .qmodal-overlay.open .qmodal{transform:translateY(0) scale(1);opacity:1}
  .qmodal.is-dragging{transition:none !important}

  /* topo do modal: barra CMYK + logo pequena + fechar */
  .qmodal-top{
    flex-shrink:0;
    background:linear-gradient(90deg,var(--cyan),var(--magenta),var(--yellow));
    height:4px;
  }
  .qmodal-header{
    flex-shrink:0;
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 28px 16px;
    border-bottom:1px solid #f0f2f6;
  }
  .qmodal-logo{height:28px;width:auto;display:block}
  .qmodal-close{
    width:34px;height:34px;border-radius:50%;border:1.5px solid #e4e8f0;
    background:#fff;cursor:pointer;display:grid;place-items:center;
    color:#6b7a90;font-size:18px;line-height:1;
    transition:background .2s,border-color .2s,color .2s;
  }
  .qmodal-close:hover{background:#f4f6fa;border-color:#c0c8d4;color:#222}

  /* progresso dentro do modal */
  .qmodal-prog{flex-shrink:0;padding:14px 28px 0}
  .qmodal-prog-meta{display:flex;justify-content:space-between;margin-bottom:7px}
  .qmodal-prog-label{font-size:11px;font-weight:700;letter-spacing:1.6px;
    text-transform:uppercase;color:var(--cyan)}
  .qmodal-prog-count{font-size:11px;color:#a0aab8;font-weight:600}
  .qmodal-prog-track{height:3px;background:#eef0f5;border-radius:99px;overflow:hidden}
  .qmodal-prog-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--magenta));
    border-radius:99px;transition:width .45s var(--ease)}

  /* corpo do modal */
  .qmodal-body{
    flex:1;overflow-y:auto;
    padding:20px 28px 24px;
    display:flex;flex-direction:column;
  }

  /* saudação personalizada */
  .qmodal-greet{
    font-size:.82rem;font-weight:700;letter-spacing:.8px;
    color:var(--cyan);text-transform:uppercase;margin-bottom:6px;
  }
  .qmodal-question{
    font-family:"Sora";font-weight:800;font-size:1.28rem;
    letter-spacing:-.3px;line-height:1.2;
    color:var(--form-text);margin-bottom:6px;
  }
  .qmodal-hint{
    font-size:.82rem;color:#8a94a6;line-height:1.5;
    font-style:italic;margin-bottom:22px;
  }
  .qarte-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
  .qarte-opt{
    padding:14px 10px;border:1.5px solid #dde2ec;border-radius:12px;
    background:#f7f9fc;color:#374151;
    font-family:"Sora",sans-serif;font-weight:700;font-size:13px;
    cursor:pointer;transition:border-color .2s,background .2s,color .2s;
    display:flex;flex-direction:column;align-items:center;gap:6px;line-height:1.3;
  }
  .qarte-opt:hover{border-color:var(--cyan);background:#f0fbfe}
  .qarte-opt.selected{border-color:var(--cyan);background:#e8f9fd;color:var(--cyan)}
  .qarte-ico{font-size:20px}
  /* erros de validação inline */
  .qfield-error{
    display:block;font-size:11.5px;color:#e0244a;font-weight:600;
    margin-top:5px;min-height:16px;
    animation:fadeUp .2s ease both;
  }
  .qdesc-count{
    display:block;text-align:right;font-size:11px;
    color:#a0aab8;margin-top:4px;
  }
  /* campo inválido */
  input.q-invalid, select.q-invalid, textarea.q-invalid{
    border-color:#e0244a !important;
    box-shadow:0 0 0 3px rgba(224,36,74,.12) !important;
  }

  /* badge de quantidade mínima */
  .qmin-badge{
    display:flex;align-items:flex-start;gap:8px;
    margin-top:10px;padding:11px 14px;
    border-radius:10px;
    background:#f0fbfe;border:1.5px solid rgba(22,197,230,.35);
    color:#0d7a96;font-size:13px;line-height:1.45;
    animation:fadeUp .28s var(--ease) both;
  }
  .qmin-badge svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;stroke:var(--cyan)}
  @keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

  .qlabel-tip{
    font-size:10.5px;font-weight:500;color:#a8b4c4;
    font-style:italic;margin-left:4px;
    text-transform:none;letter-spacing:0;
  }

  /* campos dentro do modal: reutilizam .qfield */
  .qmodal-btn-row{display:flex;gap:10px;margin-top:8px}
  .qmodal-btn{
    flex:1;padding:14px;border:0;border-radius:11px;
    font-family:"Sora",sans-serif;font-weight:800;font-size:14.5px;
    color:#06121a;cursor:pointer;
    background:linear-gradient(110deg,var(--cyan),#0adace);
    transition:transform .2s,box-shadow .28s,filter .22s;
  }
  .qmodal-btn:hover{filter:brightness(1.06);transform:translateY(-2px);
    box-shadow:0 12px 30px -12px var(--cyan)}
  .qmodal-back{
    flex-shrink:0;min-width:98px;
    padding:0 14px;
    border:1.5px solid #dde2ec;border-radius:11px;
    background:#fff;color:#6b7a90;
    font-family:"Sora",sans-serif;font-size:13px;font-weight:800;
    cursor:pointer;transition:.22s;
    display:inline-flex;align-items:center;justify-content:center;gap:7px;
  }
  .qmodal-back .qback-text{font-size:12px;letter-spacing:.2px}
  .qmodal-back:hover{border-color:#b0bac8;background:#f4f6fa;color:#333}

  /* sucesso dentro do modal */
  .qmodal-success{
    display:flex;flex-direction:column;align-items:center;
    text-align:center;gap:14px;padding:16px 0 8px;
  }
  .qmodal-ok{
    width:62px;height:62px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,var(--cyan),var(--magenta));
    display:grid;place-items:center;
  }
  .qmodal-ok svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round}
  .qmodal-success h3{font-family:"Sora";font-weight:800;font-size:1.3rem;color:var(--form-text);margin:0}
  .qmodal-success p{color:#6b7a90;font-size:.88rem;line-height:1.6;max-width:28ch;margin:0}

  /* rodapé do modal */
  .qmodal-footer{
    flex-shrink:0;display:flex;align-items:center;justify-content:center;
    gap:6px;padding:12px 28px;font-size:11px;color:#a8b0c0;
    border-top:1px solid #f0f2f6;
  }
  .qmodal-footer svg{width:11px;height:11px;stroke:#a8b0c0;fill:none;stroke-width:1.8}

  @media(max-width:720px){
    /* bottom sheet */
    .qmodal-overlay{align-items:flex-end;padding:0}
    .qmodal{
      border-radius:20px 20px 0 0;
      max-height:90vh;
      position:fixed;bottom:0;left:0;right:0;
      transform:translateY(100%);
      max-width:100%;
      width:100%;
    }
    .qmodal-overlay.open .qmodal{transform:translateY(0)}
    /* padding uniforme em todos os blocos: 20px lateral */
    .qmodal-header{padding:26px 20px 14px;position:relative;touch-action:none;cursor:grab}
    .qmodal-header::before{content:"";position:absolute;top:9px;left:50%;width:44px;height:5px;border-radius:999px;background:#d7dee9;transform:translateX(-50%)}
    .qmodal-header:active{cursor:grabbing}
    .qmodal-top{touch-action:none}
    .qmodal-prog{padding:10px 20px 0}
    .qmodal-body{padding:16px 20px 20px}
    .qmodal-footer{padding:10px 20px 14px}
    /* campos mais confortáveis no touch */
    .qfield input,.qfield select,.qfield textarea{
      padding:14px 15px;font-size:16px; /* 16px evita zoom automático no iOS */
    }
    .qmodal-btn{padding:16px;font-size:15px}
    .qmodal-back{min-width:96px;padding:0 14px}
    .qmodal-question{font-size:1.15rem}
    .qmodal-hint{font-size:.8rem;margin-bottom:16px}
    .qmodal-greet{font-size:.78rem}
    /* arte buttons: empilhar se muito estreito */
    .qarte-row{gap:8px}
    .qarte-opt{padding:14px 8px;font-size:12.5px}
  }

  /* ====== SEÇÃO DE CONFIANÇA / OVERDELIVERY ====== */
  .trust-section{
    position:relative;z-index:10;background:#fff;color:#08090f;
    padding:96px 56px 104px;overflow:hidden
  }
  .trust-section::before{
    content:"";position:absolute;inset:0;pointer-events:none;background:
      radial-gradient(circle at 10% 15%,rgba(22,197,230,.12),transparent 26%),
      radial-gradient(circle at 88% 20%,rgba(22,197,230,.08),transparent 22%);
  }
  .trust-wrap{max-width:1180px;margin:0 auto;position:relative;z-index:1;padding:0 28px}
  .section-kicker{font-size:12px;font-weight:800;letter-spacing:2.8px;text-transform:uppercase;color:var(--cyan);margin-bottom:var(--wl-title-top-gap)}

  /* Classe utilitária: aplica o mesmo respiro entre linhas empilhadas de título em qualquer seção do site */
  .wl-title-line{display:block}
  .wl-title-line + .wl-title-line{margin-top:var(--wl-title-line-gap)}
  .trust-head{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center;margin-bottom:var(--wl-title-bottom-gap)}
  .trust-head h2{font-family:"Sora";font-weight:800;letter-spacing:-1.4px;line-height:var(--wl-title-line-height);text-transform:uppercase;max-width:820px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--wl-title-line-gap)}
  .trust-head h2 .trust-title-line{display:block;white-space:nowrap}
  .trust-head h2 .trust-title-line.line-one{color:#08090f;font-size:clamp(2.3rem,4.05vw,3.95rem)}
  .trust-head h2 .trust-title-line.line-two{color:var(--cyan);font-size:clamp(2.1rem,3.7vw,3.6rem)}
  .trust-head h2 .trust-title-line.line-three{color:#08090f;font-size:clamp(2.15rem,3.8vw,3.72rem)}
  .trust-copy{display:flex;flex-direction:column;gap:24px;align-items:flex-start;justify-content:center;padding-top:34px}
  .trust-copy p{color:#526070;font-size:1.05rem;line-height:1.75;max-width:640px;margin:0}
  .trust-icon-strip{display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:16px;width:100%;max-width:700px}
  /* mini-cards = tabs clicáveis */
  .trust-mini{
    min-width:0;min-height:130px;padding:20px 14px 16px;
    border:1.5px solid #e7ebf0;border-radius:20px;background:#fff;
    box-shadow:0 12px 32px rgba(8,9,15,.06);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:11px;text-align:center;cursor:pointer;
    transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease),background .28s;
    user-select:none;
  }
  .trust-mini:hover{transform:translateY(-4px);border-color:rgba(22,197,230,.4);box-shadow:0 20px 52px rgba(8,9,15,.1)}
  .trust-mini.active{
    border-color:var(--cyan);background:#f0fbfe;
    box-shadow:0 0 0 4px rgba(22,197,230,.14),0 16px 40px rgba(8,9,15,.1);
    transform:translateY(-4px);
  }
  .trust-mini .mini-icon{
    width:52px;height:52px;border-radius:50%;background:#08090f;color:var(--cyan);
    display:grid;place-items:center;
    transition:background .28s;
  }
  .trust-mini.active .mini-icon{background:var(--cyan);color:#08090f}
  .trust-mini svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .trust-mini span{font-family:"Sora";font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#08090f;line-height:1.15}

  /* slider de cards */
  .trust-grid-wrap{
    overflow:hidden;
    position:relative;
    /* respiro vertical para a sombra, sem deixar o próximo card aparecer na lateral */
    padding:24px 0 28px;
    margin:-24px 0 -28px;
  }
  .trust-grid{
    display:flex;flex-direction:row;gap:36px;
    transition:transform .48s cubic-bezier(.22,.72,.18,1);
    will-change:transform;
  }
  .trust-card{
    flex:0 0 calc(100% - 36px);
    min-width:calc(100% - 36px);
    padding:38px 56px 42px;
    border:1px solid #e7ebf0;border-radius:24px;background:#fff;
    box-shadow:0 26px 68px rgba(8,9,15,.13),0 4px 14px rgba(8,9,15,.07);
    position:relative;
  }
  /* linha ciano no rodapé — dentro do raio da borda */
  .trust-card::after{
    content:"";position:absolute;
    left:0;right:0;bottom:0;height:4px;
    background:linear-gradient(90deg,var(--cyan),var(--magenta));
    border-radius:0 0 24px 24px;
  }
  .trust-icon{width:54px;height:54px;border-radius:18px;background:#08090f;color:var(--cyan);display:grid;place-items:center;margin-bottom:24px}
  .trust-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .trust-card h3{font-family:"Sora";font-size:1.25rem;line-height:1.15;letter-spacing:-.35px;margin-bottom:12px;color:#08090f}
  .trust-card p{font-size:.97rem;line-height:1.68;color:#5e6978}
  .trust-note{margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 40px;border-radius:20px;background:#08090f;color:#fff;box-shadow:0 22px 58px rgba(8,9,15,.18)}
  .trust-note strong{font-family:"Sora";font-size:1.02rem;letter-spacing:-.2px}
  .trust-note span{color:#bac3d2;line-height:1.6;font-size:.94rem;max-width:720px}
  .trust-note b{color:var(--cyan);font-weight:800}



  /* ====== SEÇÃO DE DEPOIMENTOS ====== */
  .testimonials-section{
    position:relative;z-index:10;color:var(--text);
    padding:106px 56px 112px;
    background:transparent;
    overflow:hidden;
  }
  /* Usa o mesmo fundo fixo/animado da hero para manter continuidade visual. */
  .testimonials-section::before{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:linear-gradient(180deg,rgba(6,7,12,.18) 0%,rgba(6,7,12,.36) 100%);
  }
  .testimonials-section::after{
    content:none;
  }
  .testimonials-wrap{max-width:1180px;margin:0 auto;position:relative;z-index:1;padding:0 28px}
  .testimonials-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--wl-title-intro-gap);margin-bottom:var(--wl-title-bottom-gap)}
  .testimonials-kicker{font-size:12px;font-weight:800;letter-spacing:2.8px;text-transform:uppercase;color:var(--cyan);margin:0 0 16px;text-align:center}
  .testimonials-head h2{font-family:"Sora";font-weight:800;letter-spacing:-1.35px;line-height:var(--wl-title-line-height);font-size:clamp(2.2rem,4.7vw,4.5rem);text-transform:uppercase;color:#fff;max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--wl-title-line-gap)}
  .testimonials-head h2 .testimonials-title-line{display:block;white-space:nowrap}
  .testimonials-head h2 .testimonials-title-line.line-one{color:#fff;font-size:clamp(2.05rem,4.25vw,4.15rem)}
  .testimonials-head h2 .testimonials-title-line.line-two{color:var(--cyan);font-size:clamp(2rem,4.1vw,3.95rem)}
  .testimonials-head h2 .testimonials-title-line.line-three{color:#fff;font-size:clamp(2.1rem,4.35vw,4.18rem)}
  .testimonials-intro{color:#b8c2d4;font-size:1.02rem;line-height:1.75;max-width:760px;margin:0 auto;text-align:center}
  .testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:920px;margin:0 auto}
  .testimonial-card{
    position:relative;border:1px solid rgba(255,255,255,.11);border-radius:26px;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
    box-shadow:0 30px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
    overflow:hidden;min-height:520px;display:flex;flex-direction:column;
    transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease);
  }
  .testimonial-card:hover{transform:translateY(-6px);border-color:rgba(22,197,230,.36);box-shadow:0 36px 92px rgba(0,0,0,.34),0 0 0 4px rgba(22,197,230,.08)}
  .video-embed{position:relative;aspect-ratio:9/16;min-height:410px;background:#08090f;overflow:hidden}
  .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#08090f}
  .testimonial-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
  .testimonial-body h3{font-family:"Sora";font-size:1.05rem;letter-spacing:-.2px;color:#fff;line-height:1.25}
  .testimonial-body p{color:#aeb9cb;font-size:.9rem;line-height:1.62;margin:0}
  .testimonial-meta{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;gap:12px;color:#79849a;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;text-align:center}
  .testimonial-meta b{color:var(--cyan);font-weight:800}
  .testimonial-client-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--cyan);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;transition:opacity .22s,transform .22s}
  .testimonial-client-link:hover{opacity:.85;transform:translateY(-1px)}
  .testimonial-client-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .testimonial-note{margin-top:28px;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#c3ccdc}
  .testimonial-note strong{font-family:"Sora";font-size:1rem;color:#fff}
  .testimonial-note span{line-height:1.6;font-size:.94rem;max-width:760px}

  /* ====== SEÇÃO SEO / PROCESSO VISUAL ====== */
  .process-section{
    position:relative;z-index:10;background:#fff;color:#08090f;
    padding:104px 56px 112px;overflow:hidden;
  }
  .process-section::before{
    content:"";position:absolute;inset:0;pointer-events:none;background:
      radial-gradient(circle at 12% 18%,rgba(22,197,230,.12),transparent 27%),
      radial-gradient(circle at 90% 14%,rgba(22,197,230,.08),transparent 24%),
      linear-gradient(180deg,#fff 0%,#f7fbfd 100%);
  }
  .process-wrap{max-width:1180px;margin:0 auto;position:relative;z-index:1;padding:0 28px}
  .process-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--wl-title-intro-gap);margin-bottom:var(--wl-title-bottom-gap)}
  .process-head > div{width:100%}
  .process-kicker{font-size:12px;font-weight:800;letter-spacing:2.8px;text-transform:uppercase;color:var(--cyan);margin:0 0 var(--wl-title-top-gap);text-align:center}
  .process-head h2{font-family:"Sora";font-weight:800;letter-spacing:-1.5px;line-height:var(--wl-title-line-height);font-size:clamp(2.4rem,5.1vw,4.9rem);text-transform:uppercase;color:#08090f;max-width:1080px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--wl-title-line-gap)}
  .process-head h2 .process-title-line{display:block}
  .process-head h2 .process-title-line.line-one{color:#08090f}
  .process-head h2 .process-title-line.line-two{color:var(--cyan)}
  .process-head h2 .process-title-line.line-three{color:#08090f}
  .process-intro{color:#526070;font-size:1.04rem;line-height:1.82;max-width:900px;margin:0 auto}
  .process-keywords{margin:28px auto 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:980px}
  .process-keywords span{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 18px;border-radius:999px;background:#fff;border:1px solid rgba(22,197,230,.2);box-shadow:0 14px 28px rgba(8,9,15,.06),0 3px 8px rgba(8,9,15,.03);color:#087f9c;font-size:12.5px;font-weight:800;letter-spacing:.35px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
  .process-keywords span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px rgba(22,197,230,.12)}
  .process-keywords span:hover{transform:translateY(-2px);border-color:rgba(22,197,230,.42);box-shadow:0 18px 34px rgba(8,9,15,.08),0 0 0 4px rgba(22,197,230,.08)}
  .process-flow{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:38px}
  .process-flow::before{content:"";position:absolute;left:8%;right:8%;top:42px;height:2px;background:linear-gradient(90deg,rgba(22,197,230,.18),rgba(22,197,230,.56),rgba(22,197,230,.18));z-index:0}
  .process-step{position:relative;z-index:1;background:#fff;border:1px solid #e7ebf0;border-radius:24px;padding:24px 20px 22px;box-shadow:0 20px 54px rgba(8,9,15,.08),0 4px 12px rgba(8,9,15,.04);display:flex;flex-direction:column;min-height:260px;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
  .process-step:hover{transform:translateY(-5px);border-color:rgba(22,197,230,.42);box-shadow:0 28px 70px rgba(8,9,15,.12),0 0 0 4px rgba(22,197,230,.1)}
  .process-number{width:46px;height:46px;border-radius:16px;background:#08090f;color:var(--cyan);display:grid;place-items:center;font-family:"Sora";font-weight:800;font-size:.92rem;margin-bottom:22px}
  .process-step h3{font-family:"Sora";font-size:1rem;line-height:1.18;letter-spacing:-.25px;color:#08090f;margin-bottom:10px}
  .process-step p{color:#5d6878;font-size:.9rem;line-height:1.58;margin:0}
  .process-term{margin-top:auto;padding-top:18px;color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
  .process-bottom{margin-top:30px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;padding:26px 30px;border-radius:24px;background:#08090f;color:#fff;box-shadow:0 24px 64px rgba(8,9,15,.18)}
  .process-bottom strong{font-family:"Sora";font-size:1.06rem;letter-spacing:-.2px}
  .process-bottom p{color:#bac3d2;line-height:1.65;font-size:.95rem;margin:6px 0 0;max-width:790px}
  .process-bottom b{color:var(--cyan)}
  .process-bottom .process-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;background:var(--cyan);color:#06121a;font-family:"Sora";font-weight:800;font-size:13px;white-space:nowrap;transition:transform .22s,filter .22s}
  .process-bottom .process-cta:hover{filter:brightness(1.05);transform:translateY(-2px)}


  /* ====== RESPONSIVO ====== */
  @media (max-width:1020px){
    /* ── Header ── */
    header{padding:12px 18px}
    .nav{grid-template-columns:auto 1fr auto;min-height:64px;gap:12px}
    .desktop-nav,.header-action{display:none}
    .brand{justify-self:start}
    .logo-img{height:44px}
    .burger{display:flex;justify-self:end}

    /* ── Hero ── */
    .hero{padding:118px 20px 36px}
    .lead{font-size:.95rem;max-width:38ch;margin-top:16px}

    /* ── Stage / Carrossel ── */
    .stage{grid-template-columns:1fr;margin:0 0 0;height:auto;box-shadow:none}
    .carousel{height:56vw;min-height:240px;max-height:380px}
    .slide{min-height:240px;padding:20px 20px 64px}
    .slide h3{font-size:1.25rem;line-height:1.1}
    .slide p{font-size:.84rem;max-width:26ch}
    .slide-content{max-width:100%}
    .slide .tag{margin-top:10px;padding:6px 13px;font-size:10px;letter-spacing:1.4px}
    .car-ui{top:14px;right:14px;gap:7px}
    .car-ui button{width:36px;height:36px}
    .dots{left:20px;bottom:18px}

    /* ── Quiz inline ── */
    .form{border-left:0;border-top:3px solid var(--cyan);height:auto;overflow:visible}
    .quiz-steps{overflow:visible}
    .quiz-step{min-height:auto}
    .quiz-head{padding:20px 24px 16px}
    .quiz-head-logo{height:42px;margin-bottom:14px}
    .quiz-head-title{font-size:1rem;letter-spacing:1.2px}
    .quiz-head-sub{font-size:.78rem;max-width:38ch}
    .quiz-prog-wrap{padding:10px 24px 0}
    .quiz-steps .quiz-step{padding:16px 24px 16px}
    .quiz-footer{padding:10px 24px 14px}
    .quiz-btn{padding:16px;font-size:15px}
    .qfield input,.qfield select,.qfield textarea{font-size:16px;padding:14px 15px}

    /* ── Trust ── */
    .trust-section{padding:72px 24px 80px}
    .trust-wrap{padding:0 14px}
    .trust-head{grid-template-columns:1fr;gap:22px;margin-bottom:var(--wl-title-bottom-gap-mobile)}
    .trust-copy{gap:18px;padding-top:0}
    .trust-icon-strip{max-width:100%;grid-template-columns:repeat(3,1fr);gap:12px}
    .trust-grid-wrap{overflow:hidden}
    .trust-grid{display:flex;flex-direction:row}
    .trust-card{min-width:100%;padding:28px 26px 32px;border-radius:16px}
    .trust-note{align-items:flex-start;flex-direction:column}

    /* ── Restantes ── */
    .testimonials-section{padding:72px 24px 80px}
    .testimonials-wrap{padding:0 14px}
    .testimonials-head{gap:var(--wl-title-intro-gap);margin-bottom:var(--wl-title-bottom-gap-mobile);text-align:center}
    .testimonial-grid{grid-template-columns:1fr;gap:16px;max-width:520px}
    .testimonial-card{min-height:auto}
    .video-embed{min-height:340px}
    .testimonial-note{align-items:flex-start;flex-direction:column}
    .process-section{padding:72px 24px 80px}
    .process-wrap{padding:0 14px}
    .process-head{gap:var(--wl-title-intro-gap);margin-bottom:var(--wl-title-bottom-gap-mobile)}
    .process-intro{max-width:760px}
    .process-keywords{max-width:760px}
    .process-flow{grid-template-columns:1fr;gap:12px;margin-top:28px}
    .process-flow::before{left:32px;right:auto;top:32px;bottom:32px;width:2px;height:auto;background:linear-gradient(180deg,rgba(22,197,230,.18),rgba(22,197,230,.55),rgba(22,197,230,.18))}
    .process-step{min-height:auto;padding:20px 20px 20px 84px}
    .process-number{position:absolute;left:20px;top:20px;margin:0}
    .process-term{padding-top:12px}
    .process-bottom{grid-template-columns:1fr;align-items:flex-start}
  }
  @media (max-width:520px){
    /* ── Header ── */
    header{padding:10px 14px}
    header.scrolled{padding-top:8px;padding-bottom:8px}
    .nav{min-height:56px}
    .logo-img{height:36px}
    .burger{width:40px;height:40px}
    .mobile-menu{left:12px;right:12px;border-radius:16px}

    /* ── Hero: título compacto, 3 linhas preservadas ── */
    .hero{padding:112px 16px 28px}
    h1{width:100%;max-width:100%;font-size:clamp(1.7rem,8.5vw,2.1rem);line-height:var(--wl-hero-line-height);letter-spacing:-1.2px}
    h1 .line{padding-bottom:.04em;margin-bottom:-.02em}
    h1 .rise{white-space:nowrap}
    h1 .line-boutique{font-size:clamp(1.32rem,6.5vw,1.62rem)}
    h1 .line-impresso{font-size:clamp(1.4rem,6.9vw,1.72rem)}
    h1 .line-solucoes{font-size:clamp(1.32rem,6.5vw,1.62rem)}
    .headline-dot{width:.14em;height:.14em;margin:0 .12em .13em;box-shadow:0 0 10px rgba(22,197,230,.6)}
    .lead{margin-top:14px;font-size:.88rem;line-height:1.52;max-width:34ch}

    /* ── Stage / Carrossel ── */
    .stage{margin:0;border-radius:0}
    .carousel,.slide{min-height:52vw}
    .slide{padding:18px 18px 60px}
    .slide h3{font-size:1.15rem;line-height:1.1}
    .slide p{font-size:.8rem;line-height:1.42;max-width:24ch}
    .slide .ic{width:36px;height:36px;border-radius:9px}
    .dots{left:18px;bottom:14px}
    .car-ui{top:12px;right:12px}
    .car-ui button{width:34px;height:34px}

    /* ── Quiz ── */
    .quiz-head{padding:18px 18px 14px}
    .quiz-head-logo{height:38px;margin-bottom:10px}
    .quiz-head-title{font-size:.9rem;letter-spacing:1px}
    .quiz-head-sub{font-size:.74rem}
    .quiz-prog-wrap{padding:8px 18px 0}
    .quiz-steps .quiz-step{padding:14px 18px 14px}
    .quiz-question{font-size:1.05rem}
    .quiz-hint{font-size:.78rem;margin-bottom:16px}
    .quiz-btn{padding:15px;font-size:14.5px}
    .quiz-footer{padding:8px 18px 12px}
    .qfield{margin-bottom:9px}
    .qfield label{font-size:11px;margin-bottom:4px}
    .qfield input,.qfield select,.qfield textarea{
      padding:13px 14px;font-size:16px;border-radius:10px
    }

    /* ── Trust ── */
    .trust-section{padding:60px 16px 68px}
    .trust-wrap{padding:0 8px}
    .trust-head h2{letter-spacing:-1px;line-height:var(--wl-title-line-height);max-width:100%}
    .trust-head h2 .trust-title-line{white-space:nowrap}
    .trust-head h2 .trust-title-line.line-one{font-size:clamp(1.85rem,9.4vw,2.7rem)}
    .trust-head h2 .trust-title-line.line-two{font-size:clamp(1.62rem,8.2vw,2.4rem)}
    .trust-head h2 .trust-title-line.line-three{font-size:clamp(1.7rem,8.6vw,2.52rem)}
    .trust-copy p{font-size:.93rem;line-height:1.62}
    .trust-icon-strip{gap:8px}
    .trust-mini{min-height:108px;padding:12px 8px 10px;border-radius:14px;gap:8px}
    .trust-mini .mini-icon{width:42px;height:42px}
    .trust-mini svg{width:20px;height:20px}
    .trust-mini span{font-size:.62rem;letter-spacing:.03em}
    .trust-card{padding:24px 20px 28px;border-radius:16px}
    .trust-card h3{font-size:1.05rem}
    .trust-card p{font-size:.88rem;line-height:1.55}
    .trust-note{padding:20px 18px;border-radius:16px}

    /* ── Depoimentos ── */
    .testimonials-section{padding:60px 16px 68px}
    .testimonials-wrap{padding:0 8px}
    .testimonials-head h2{letter-spacing:-1px;line-height:var(--wl-title-line-height);max-width:100%;gap:var(--wl-title-line-gap)}
    .testimonials-head h2 .testimonials-title-line.line-one{font-size:clamp(1.6rem,8vw,2.4rem)}
    .testimonials-head h2 .testimonials-title-line.line-two{font-size:clamp(1.55rem,7.8vw,2.32rem)}
    .testimonials-head h2 .testimonials-title-line.line-three{font-size:clamp(1.66rem,8.3vw,2.48rem)}
    .testimonials-intro{font-size:.93rem;line-height:1.62;text-align:center;margin:0 auto}
    .testimonials-kicker{text-align:center}
    .testimonial-body{padding:18px}
    .testimonial-note{padding:18px;border-radius:16px}

    /* ── Processo ── */
    .process-section{padding:60px 16px 68px}
    .process-wrap{padding:0 8px}
    .process-head h2{font-size:clamp(1.85rem,9.4vw,2.7rem);letter-spacing:-1px;line-height:var(--wl-title-line-height);max-width:100%}
    .process-intro{font-size:.93rem;line-height:1.62;max-width:100%}
    .process-keywords{gap:8px;max-width:100%;margin-top:20px}
    .process-keywords span{font-size:10.5px;min-height:34px;padding:0 12px}
    .process-step{border-radius:18px;padding:18px 16px 18px 74px}
    .process-number{width:40px;height:40px;border-radius:13px;left:16px;top:18px}
    .process-bottom{padding:20px 18px;border-radius:16px}
    .process-bottom .process-cta{width:100%}
  }

  @media (max-width:380px){
    .hero{padding-left:14px;padding-right:14px;padding-top:106px}
    h1 .line-boutique{font-size:clamp(1.18rem,6.1vw,1.38rem)}
    h1 .line-impresso{font-size:clamp(1.26rem,6.5vw,1.5rem)}
    h1 .line-solucoes{font-size:clamp(1.18rem,6.1vw,1.38rem)}
    .lead{font-size:.82rem;max-width:30ch}
    .quiz-head{padding:16px 14px 12px}
    .quiz-prog-wrap{padding:7px 14px 0}
    .quiz-steps .quiz-step{padding:12px 14px 12px}
    .quiz-footer{padding:7px 14px 10px}
    .trust-section{padding-left:12px;padding-right:12px}
    .trust-wrap{padding-left:6px;padding-right:6px}
    .trust-mini{min-height:98px;padding:10px 6px;gap:7px}
    .trust-mini .mini-icon{width:38px;height:38px}
    .trust-card{padding:20px 16px 24px}
    .testimonials-section{padding-left:12px;padding-right:12px}
    .process-section{padding-left:12px;padding-right:12px}
    .process-step{padding-left:18px;padding-top:72px}
    .process-number{left:18px}
  }

  @media (prefers-reduced-motion:reduce){
    .rise{animation:none;transform:none;opacity:1}
    .track, .slide h3, .slide p, .slide .tag, .slide .ic{transition:none}
    html{scroll-behavior:auto}
  }

  /* ====== SEÇÃO DE CATEGORIAS ====== */
  .cat-section{
    position:relative;z-index:10;
    background:transparent;
    color:var(--text);
    padding:96px 0 34px;
    overflow:hidden;
  }
  .cat-wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  .cat-head{margin-bottom:var(--wl-title-bottom-gap);text-align:center}
  .cat-kicker{font-size:12px;font-weight:800;letter-spacing:2.8px;
    text-transform:uppercase;color:var(--cyan);margin:0 0 var(--wl-title-top-gap);text-align:center}
  .cat-head-grid{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--wl-title-intro-gap)}
  .cat-head h2{
    font-family:"Sora";font-weight:800;
    letter-spacing:-1.35px;line-height:var(--wl-title-line-height);
    color:var(--text);text-transform:uppercase;
    max-width:980px;margin:0 auto;
    display:flex;flex-direction:column;align-items:center;gap:var(--wl-title-line-gap);
  }
  .cat-head h2 .cat-title-line{display:block;white-space:nowrap}
  .cat-head h2 .cat-title-line.line-one{color:var(--text);font-size:clamp(2.05rem,4.25vw,4.1rem)}
  .cat-head h2 .cat-title-line.line-two{color:var(--cyan);font-size:clamp(2rem,4.1vw,3.95rem)}
  .cat-head h2 .cat-title-line.line-three{color:var(--text);font-size:clamp(2.02rem,4.18vw,4rem)}
  .cat-intro{color:#b8c2d4;font-size:1.02rem;line-height:1.75;max-width:760px;margin:0 auto;text-align:center}

  /* trilho */
  .cat-rail-wrap{position:relative;margin-top:-28px}
  .cat-rail{
    display:flex;gap:24px;
    padding:0 28px 0;
    overflow-x:auto;scroll-snap-type:x mandatory;
    scroll-padding-inline:28px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .cat-rail::-webkit-scrollbar{display:none}

  /* bloco deslizante */
  .cat-block{
    flex:0 0 340px;height:480px;overflow:hidden;
    position:relative;background:#0a0c14;scroll-snap-align:center;cursor:pointer;
  }
  .cat-block-bg{
    position:absolute;inset:0;background-size:cover;background-position:center;
    transition:transform .6s var(--ease),filter .4s;
  }
  .cat-block.is-centered .cat-block-bg,.cat-block.open .cat-block-bg{transform:scale(1.04);filter:brightness(.78)}
  .cat-block-ov{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(4,5,10,.25) 0%,rgba(4,5,10,.35) 40%,rgba(4,5,10,.70) 100%);
    transition:opacity .4s;
  }
  .cat-block.is-centered .cat-block-ov,.cat-block.open .cat-block-ov{opacity:1}
  /* nome sempre visível — centralizado sobre a imagem */
  .cat-block-name{
    position:absolute;left:50%;top:50%;
    width:min(86%,300px);min-height:118px;
    transform:translate(-50%,-50%);
    padding:0;z-index:2;
    display:flex;align-items:center;justify-content:center;
    font-family:"Sora";font-weight:800;
    font-size:clamp(1.65rem,2.9vw,2.35rem);
    letter-spacing:-1.15px;line-height:1.02;
    color:#fff;text-transform:uppercase;
    text-align:center;
    text-shadow:0 5px 28px rgba(0,0,0,.78),0 1px 2px rgba(0,0,0,.55);
    transition:transform .45s var(--ease),opacity .45s var(--ease);
  }
  .cat-block.open .cat-block-name{
    transform:translate(-50%,calc(-50% - 16px));
    opacity:0;
  }

  #catblock-sacolas-personalizadas .cat-block-name{
    width:min(82%,280px);
    font-size:clamp(1.42rem,2.35vw,2.02rem);
    letter-spacing:-.95px;
    line-height:1.02;
  }
  .cat-block-more{
    position:absolute;left:50%;bottom:34px;z-index:3;
    transform:translate(-50%,10px);
    min-height:40px;padding:0 18px;border:1.5px solid rgba(255,255,255,.34);
    border-radius:999px;background:rgba(8,9,15,.58);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:"Sora";font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
    backdrop-filter:blur(10px);box-shadow:0 16px 34px rgba(0,0,0,.28);
    opacity:0;pointer-events:none;
    transition:opacity .28s var(--ease),transform .28s var(--ease),background .22s,border-color .22s;
  }
  .cat-block-more::after{content:"+";font-size:16px;line-height:1;color:var(--cyan)}
  .cat-block.is-centered:not(.open) .cat-block-more{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
  .cat-block-more:hover{background:rgba(8,9,15,.78);border-color:var(--cyan)}

  @media (min-width:1021px){
    .cat-block:not(.open) .cat-block-more{
      opacity:1;
      pointer-events:auto;
      transform:translate(-50%,0);
    }
  }

  /* painel branco deslizante */
  .cat-block-panel{
    position:absolute;left:0;right:0;bottom:0;
    background:#fff;
    padding:14px 22px 22px;z-index:4;
    transform:translateY(100%);
    transition:transform .45s var(--ease);
  }
  .cat-block.open .cat-block-panel{transform:translateY(0)}
  .cat-block-handle{
    width:34px;height:4px;border-radius:99px;
    background:#dde2ec;margin:0 auto 14px;
  }
  /* pílula */
  .cat-block-pill{
    display:inline-flex;align-items:center;gap:5px;
    background:#f0fbfe;border:1.5px solid rgba(22,197,230,.35);
    color:#0d7a96;font-size:11px;font-weight:700;
    padding:4px 11px;border-radius:99px;margin-bottom:12px;
  }
  .cat-block-pill svg{width:11px;height:11px;stroke:var(--cyan);fill:none;stroke-width:2.2;flex-shrink:0}
  /* frase curta no painel deslizante */
  .cat-block-panel-name{
    font-family:"Sora";font-weight:800;
    font-size:.96rem;color:#08090f;
    margin-bottom:13px;letter-spacing:-.2px;line-height:1.28;
  }
  /* botões */
  .cat-block-actions{display:flex;gap:8px}
  .cat-btn-orcamento{
    flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:11px 8px;border-radius:10px;
    background:linear-gradient(110deg,var(--cyan),#0adace);
    color:#06121a;font-family:"Sora";font-weight:800;font-size:12px;
    border:0;cursor:pointer;text-decoration:none;
    transition:filter .2s,transform .2s;white-space:nowrap;
  }
  .cat-btn-orcamento:hover{filter:brightness(1.06);transform:translateY(-2px)}
  .cat-btn-ver{
    flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:11px 8px;border-radius:10px;
    border:1.5px solid #dde2ec;background:#fff;
    color:#374151;font-family:"Sora";font-weight:700;font-size:12px;
    text-decoration:none;cursor:pointer;
    transition:border-color .2s,color .2s;white-space:nowrap;
  }
  .cat-btn-ver:hover{border-color:var(--cyan);color:var(--cyan)}
  .cat-btn-orcamento svg,.cat-btn-ver svg{
    width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;flex-shrink:0;
  }

  /* scrollbar + nav */
  .cat-scrollbar-wrap{
    padding:42px 28px 0;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:18px;
    max-width:calc(1180px + 56px);
    margin:0 auto;
  }
  .cat-scrollbar-track{
    position:relative;
    height:10px;
    padding:3px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    overflow:hidden;
    box-shadow:inset 0 1px 8px rgba(0,0,0,.22),0 14px 34px rgba(0,0,0,.18);
  }
  .cat-scrollbar-track::before{
    content:"";
    position:absolute;inset:3px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.18),rgba(255,255,255,.08));
    opacity:.55;
  }
  .cat-scrollbar-fill{
    position:relative;z-index:1;
    height:100%;
    min-width:34px;
    background:linear-gradient(90deg,var(--cyan),#65dff0);
    border-radius:999px;
    width:0%;
    box-shadow:0 0 18px rgba(22,197,230,.32);
    transition:width .25s var(--ease);
  }
  .cat-nav{display:flex;gap:10px}
  .cat-nav button{
    width:48px;height:48px;border-radius:50%;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#fff;
    display:grid;place-items:center;cursor:pointer;transition:transform .22s var(--ease),border-color .22s,background .22s,color .22s,box-shadow .22s,opacity .22s;
    flex-shrink:0;
    backdrop-filter:blur(10px);
    box-shadow:0 14px 30px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
  }
  .cat-nav button:hover{border-color:rgba(22,197,230,.58);color:var(--cyan);background:rgba(22,197,230,.12);transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,0,0,.28),0 0 0 4px rgba(22,197,230,.08)}
  .cat-nav button:active{transform:translateY(0) scale(.96)}
  .cat-nav button[disabled]{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
  .cat-nav button svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round}


  /* mini-modal de categoria: mantido oculto para não criar espaço vazio no layout */
  .catmodal-overlay{display:none}

  @media(max-width:1020px){
    .cat-section{padding:72px 0 30px}
    .cat-wrap{padding:0 20px}
    .cat-head{margin-bottom:var(--wl-title-bottom-gap-mobile)}
    .cat-head-grid{gap:var(--wl-title-intro-gap)}
    .cat-head h2{line-height:var(--wl-title-line-height);max-width:100%;gap:var(--wl-title-line-gap)}
    .cat-head h2 .cat-title-line.line-one{font-size:clamp(1.72rem,4.7vw,2.55rem)}
    .cat-head h2 .cat-title-line.line-two{font-size:clamp(1.68rem,4.6vw,2.48rem)}
    .cat-head h2 .cat-title-line.line-three{font-size:clamp(1.7rem,4.65vw,2.52rem)}
    .cat-rail-wrap{margin-top:0}
    .cat-rail{padding:0 max(20px,calc((100vw - 290px)/2)) 0;scroll-padding-inline:max(20px,calc((100vw - 290px)/2));gap:16px}
    .cat-block{flex:0 0 290px;height:420px}
    .cat-scrollbar-wrap{padding:38px 20px 0;max-width:none;gap:12px}
  }
  @media(max-width:520px){
    .cat-section{padding:60px 0 26px}
    .cat-wrap{padding:0 16px}
    .cat-head{margin-bottom:var(--wl-title-bottom-gap-mobile)}
    .cat-head-grid{gap:14px}
    .cat-head h2{letter-spacing:-1px;line-height:var(--wl-title-line-height);max-width:100%;gap:var(--wl-title-line-gap)}
    .cat-head h2 .cat-title-line.line-one{font-size:clamp(1.46rem,7.4vw,2.12rem)}
    .cat-head h2 .cat-title-line.line-two{font-size:clamp(1.42rem,7.2vw,2.06rem)}
    .cat-head h2 .cat-title-line.line-three{font-size:clamp(1.45rem,7.35vw,2.1rem)}
    .cat-intro{font-size:.9rem;line-height:1.65}
    .cat-kicker{margin-bottom:var(--wl-title-top-gap)}
    .cat-rail{padding:0 13vw 0;scroll-padding-inline:13vw;gap:14px}
    .cat-block{flex:0 0 74vw;height:400px}
    .cat-block-name{width:min(84%,260px);min-height:104px;font-size:clamp(1.62rem,9vw,2.18rem);letter-spacing:-1px}
    .cat-block-more{bottom:28px;min-height:38px;padding:0 16px;font-size:10px;letter-spacing:1px}
    .cat-block-panel{padding:13px 18px 18px}
    .cat-block-panel-name{font-size:.93rem;margin-bottom:10px}
    .cat-btn-orcamento,.cat-btn-ver{font-size:11px;padding:10px 7px}
    .cat-scrollbar-wrap{padding:34px 16px 0;gap:10px}
    .cat-nav button{width:42px;height:42px}
    .cat-scrollbar-track{height:9px}
  }
  /* ====== SEÇÃO DE CONCLUSÃO / CTA FINAL ====== */
  .final-section{
    position:relative;z-index:10;background:#fff;color:#08090f;
    padding:108px 56px 116px;overflow:hidden;
  }
  .final-section::before{
    content:"";position:absolute;inset:0;pointer-events:none;background:
      radial-gradient(circle at 12% 18%,rgba(22,197,230,.13),transparent 28%),
      radial-gradient(circle at 88% 78%,rgba(22,197,230,.08),transparent 25%),
      linear-gradient(180deg,#fff 0%,#f7fbfd 100%);
  }
  .final-wrap{max-width:1180px;margin:0 auto;position:relative;z-index:1;padding:0 28px;text-align:center}
  .final-kicker{
    font-size:12px;font-weight:800;letter-spacing:2.8px;text-transform:uppercase;
    color:var(--cyan);margin:0 0 var(--wl-title-top-gap);text-align:center;
  }
  .final-head h2{
    font-family:"Sora";font-weight:800;letter-spacing:-1.45px;line-height:var(--wl-title-line-height);
    text-transform:uppercase;color:#08090f;max-width:960px;margin:0 auto;
    display:flex;flex-direction:column;align-items:center;gap:var(--wl-title-line-gap);
  }
  .final-title-line{display:block;white-space:nowrap}
  .final-title-line.line-one{color:#08090f;font-size:clamp(2.25rem,4.7vw,4.45rem)}
  .final-title-line.line-two{color:var(--cyan);font-size:clamp(2.05rem,4.25vw,4.05rem)}
  .final-title-line.line-three{color:#08090f;font-size:clamp(2.18rem,4.55vw,4.32rem)}
  .final-intro{
    max-width:850px;margin:var(--wl-title-intro-gap) auto 0;color:#526070;
    font-size:1.06rem;line-height:1.78;
  }
  .final-points{
    margin:var(--wl-title-bottom-gap) auto 0;
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;
    max-width:1040px;
  }
  .final-point{
    background:#fff;border:1px solid #e7ebf0;border-radius:22px;
    padding:24px 18px 22px;text-align:center;
    box-shadow:0 18px 46px rgba(8,9,15,.08),0 3px 10px rgba(8,9,15,.04);
    transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease);
  }
  .final-point:hover{transform:translateY(-4px);border-color:rgba(22,197,230,.42);box-shadow:0 24px 62px rgba(8,9,15,.11),0 0 0 4px rgba(22,197,230,.08)}
  .final-point-ico{
    width:50px;height:50px;border-radius:17px;background:#08090f;color:var(--cyan);
    display:grid;place-items:center;margin:0 auto 16px;
  }
  .final-point-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .final-point h3{
    font-family:"Sora";font-size:.92rem;line-height:1.18;letter-spacing:.05em;text-transform:uppercase;
    color:#08090f;margin:0 0 8px;
  }
  .final-point p{font-size:.88rem;line-height:1.55;color:#5d6878;margin:0}
  .final-cta-wrap{
    margin:42px auto 0;padding:28px 32px;border-radius:28px;
    background:#08090f;color:#fff;display:flex;align-items:center;justify-content:space-between;
    gap:28px;text-align:left;box-shadow:0 24px 64px rgba(8,9,15,.2);
    max-width:1040px;
  }
  .final-cta-wrap strong{font-family:"Sora";font-size:1.15rem;letter-spacing:-.25px;display:block}
  .final-cta-wrap span{display:block;margin-top:6px;color:#bac3d2;line-height:1.62;font-size:.95rem;max-width:680px}
  .final-cta{
    flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;
    min-height:50px;padding:0 22px;border-radius:999px;background:var(--cyan);color:#06121a;
    font-family:"Sora";font-weight:800;font-size:13px;letter-spacing:.2px;text-transform:uppercase;
    transition:transform .22s,filter .22s,box-shadow .22s;
  }
  .final-cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .final-cta:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 18px 36px rgba(22,197,230,.28)}

  @media(max-width:1020px){
    .final-section{padding:76px 24px 84px}
    .final-wrap{padding:0 14px}
    .final-intro{font-size:.98rem;line-height:1.68;max-width:760px}
    .final-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:var(--wl-title-bottom-gap-mobile)}
    .final-cta-wrap{flex-direction:column;align-items:flex-start;padding:24px 24px;border-radius:22px}
    .final-cta{width:100%}
  }
  @media(max-width:520px){
    .final-section{padding:62px 16px 70px}
    .final-wrap{padding:0 8px}
    .final-kicker{font-size:11px;letter-spacing:2.2px;margin-bottom:var(--wl-title-top-gap)}
    .final-head h2{letter-spacing:-1px;line-height:var(--wl-title-line-height);gap:var(--wl-title-line-gap)}
    .final-title-line.line-one{font-size:clamp(1.55rem,7.8vw,2.28rem)}
    .final-title-line.line-two{font-size:clamp(1.48rem,7.4vw,2.16rem)}
    .final-title-line.line-three{font-size:clamp(1.52rem,7.6vw,2.22rem)}
    .final-intro{font-size:.93rem;line-height:1.62;margin-top:var(--wl-title-intro-gap)}
    .final-points{grid-template-columns:1fr;gap:12px;margin-top:var(--wl-title-bottom-gap-mobile)}
    .final-point{padding:22px 18px 20px;border-radius:18px}
    .final-point-ico{width:46px;height:46px;border-radius:15px}
    .final-cta-wrap{margin-top:28px;padding:22px 18px;border-radius:18px;text-align:left}
    .final-cta-wrap strong{font-size:1.02rem;line-height:1.35}
    .final-cta-wrap span{font-size:.9rem}
  }

  /* ====== SEÇÃO QUEM ATENDEMOS / CLIENTES ====== */
  .clients-section{
    position:relative;z-index:10;color:var(--text);
    padding:104px 0 108px;
    background:transparent;
    overflow:hidden;
  }
  .clients-section::before{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:linear-gradient(180deg,rgba(6,7,12,.22) 0%,rgba(6,7,12,.38) 100%);
  }
  .clients-wrap{
    max-width:1180px;margin:0 auto;position:relative;z-index:1;
    padding:0 28px;text-align:center;
  }
  .clients-kicker{
    font-size:12px;font-weight:800;letter-spacing:2.8px;text-transform:uppercase;
    color:var(--cyan);margin:0 0 16px;text-align:center;
  }
  .clients-head h2{
    font-family:"Sora";font-weight:800;letter-spacing:-1.35px;line-height:.96;
    text-transform:uppercase;color:#fff;max-width:900px;margin:0 auto;
    display:flex;flex-direction:column;align-items:center;gap:.02em;
  }
  .clients-title-line{display:block;white-space:nowrap}
  .clients-title-line.line-one{color:#fff;font-size:clamp(2.15rem,4.45vw,4.25rem)}
  .clients-title-line.line-two{color:var(--cyan);font-size:clamp(2rem,4.15vw,4rem)}
  .clients-title-line.line-three{color:#fff;font-size:clamp(2.08rem,4.3vw,4.12rem)}
  .clients-intro{
    max-width:760px;margin:26px auto 0;color:#b8c2d4;
    font-size:1.02rem;line-height:1.75;
  }

  .clients-marquee{
    --logo-gap:22px;
    --logo-width:210px;
    position:relative;z-index:1;
    margin-top:46px;overflow:hidden;
    padding:12px 0;
    mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
  }
  .clients-track{
    display:flex;align-items:center;gap:var(--logo-gap);
    width:max-content;
    animation:clientsMarquee 28s linear infinite;
    will-change:transform;
  }
  .clients-marquee:hover .clients-track{animation-play-state:paused}
  @keyframes clientsMarquee{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-50% - (var(--logo-gap) / 2)))}
  }
  .client-logo-card{
    flex:0 0 var(--logo-width);
    height:116px;border-radius:24px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.94);
    box-shadow:0 24px 70px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.7);
    display:flex;align-items:center;justify-content:center;
    padding:22px 26px;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);
  }
  .client-logo-card:hover{
    transform:translateY(-4px);
    border-color:rgba(22,197,230,.42);
    box-shadow:0 30px 84px rgba(0,0,0,.3),0 0 0 4px rgba(22,197,230,.08);
  }
  .client-logo-card img{
    display:block;max-width:100%;max-height:64px;width:auto;height:auto;
    object-fit:contain;
  }
  .clients-note{
    margin:34px auto 0;max-width:980px;
    display:flex;align-items:center;justify-content:center;gap:16px;
    padding:18px 24px;border-radius:999px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.06);
    color:#c3ccdc;font-size:.94rem;line-height:1.55;
  }
  .clients-note b{color:var(--cyan)}

  @media(max-width:1020px){
    .clients-section{padding:76px 0 84px}
    .clients-wrap{padding:0 24px}
    .clients-intro{font-size:.98rem;line-height:1.68}
    .clients-marquee{--logo-width:190px;--logo-gap:16px;margin-top:34px}
    .client-logo-card{height:104px;border-radius:20px;padding:20px 22px}
    .clients-note{border-radius:22px;text-align:center;max-width:760px}
  }
  @media(max-width:520px){
    .clients-section{padding:62px 0 70px}
    .clients-wrap{padding:0 16px}
    .clients-kicker{font-size:11px;letter-spacing:2.2px;margin-bottom:14px}
    .clients-head h2{letter-spacing:-1px;line-height:.98;gap:.03em}
    .clients-title-line.line-one{font-size:clamp(1.55rem,7.8vw,2.28rem)}
    .clients-title-line.line-two{font-size:clamp(1.48rem,7.4vw,2.16rem)}
    .clients-title-line.line-three{font-size:clamp(1.52rem,7.6vw,2.22rem)}
    .clients-intro{font-size:.93rem;line-height:1.62;margin-top:22px}
    .clients-marquee{--logo-width:164px;--logo-gap:12px;margin-top:28px}
    .client-logo-card{height:92px;border-radius:18px;padding:18px 20px}
    .client-logo-card img{max-height:52px}
    .clients-note{margin-top:26px;padding:16px 18px;border-radius:18px;font-size:.88rem}
  }

  /* ====== RODAPÉ ====== */
  .site-footer{
    position:relative;z-index:10;background:#fff;color:#08090f;
    padding:72px 56px 34px;overflow:hidden;
  }
  .site-footer::before{
    content:"";position:absolute;inset:0;pointer-events:none;background:
      radial-gradient(circle at 16% 18%,rgba(22,197,230,.09),transparent 28%),
      radial-gradient(circle at 88% 26%,rgba(22,197,230,.06),transparent 22%),
      linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
  }
  .footer-wrap{
    max-width:1180px;margin:0 auto;position:relative;z-index:1;padding:0 28px;
  }
  .footer-main{
    display:grid;grid-template-columns:1.05fr 1fr .78fr 1.02fr;gap:42px;align-items:start;
  }
  .footer-block h3{
    font-family:"Sora";font-size:.98rem;font-weight:800;letter-spacing:-.15px;
    color:#08090f;margin:0 0 22px;
  }
  .footer-block p,.footer-block li{
    color:#4f5b6c;font-size:.93rem;line-height:1.68;margin:0;
  }
  .footer-contact-list{display:flex;flex-direction:column;gap:13px;list-style:none;padding:0;margin:0}
  .footer-contact-item{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
  .footer-contact-item strong{flex:0 0 auto}
  .footer-contact-item span,.footer-contact-item a{min-width:0}
  .footer-contact-list strong{color:#08090f;font-weight:800}
  .footer-contact-list a{color:#4f5b6c;transition:color .22s;overflow-wrap:anywhere}
  .footer-contact-list a:hover{color:var(--cyan)}
  .footer-email{flex-wrap:nowrap}
  .footer-email a{white-space:nowrap;overflow-wrap:normal}
  @media (max-width:540px){
    .footer-email{flex-wrap:wrap}
    .footer-email a{white-space:normal}
  }

  .footer-about p + p{margin-top:12px}
  .footer-about b{color:#08090f}
  .footer-brand-area{
    display:contents;
  }
  .footer-wl-logo{
    width:min(260px,100%);height:auto;display:block;
    justify-self:center;align-self:start;margin-top:-8px;
  }
  .footer-group-card{
    width:100%;max-width:300px;justify-self:end;
    border:1px solid #e7ebf0;border-radius:24px;background:#fff;
    padding:22px 20px;box-shadow:0 18px 46px rgba(8,9,15,.07),0 3px 10px rgba(8,9,15,.04);
  }
  .footer-group-kicker{
    font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;
    color:var(--cyan);margin-bottom:12px;text-align:center;width:100%;
  }
  .footer-group-logo{max-width:190px;max-height:68px;width:auto;height:auto;object-fit:contain;display:block;margin:0 auto 12px}
  .footer-group-card p{font-size:.85rem;line-height:1.55;color:#5d6878;max-width:280px;margin:0 auto}
  .footer-socials{
    display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;
  }
  .footer-socials a{
    width:40px;height:40px;border-radius:50%;
    display:grid;place-items:center;background:#08090f;color:#fff;
    transition:transform .22s,background .22s,box-shadow .22s;
  }
  .footer-socials a:hover{transform:translateY(-3px);background:var(--cyan);color:#06121a;box-shadow:0 14px 28px rgba(22,197,230,.22)}
  .footer-socials svg{width:18px;height:18px;fill:currentColor}
  .footer-socials svg.stroke-icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .footer-bottom{
    margin-top:48px;padding-top:26px;border-top:1px solid #e7ebf0;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    color:#8a94a6;font-size:.84rem;
  }
  .footer-bottom strong{color:#08090f}
  .footer-bottom-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .footer-bottom-links a{color:#6b7280;transition:color .22s}
  .footer-bottom-links a:hover{color:var(--cyan)}

  @media(max-width:1020px){
    .site-footer{padding:64px 24px 30px}
    .footer-wrap{padding:0 14px}
    .footer-main{grid-template-columns:1fr 1fr;gap:34px}
    .footer-brand-area{
      grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;
      align-items:center;gap:28px;text-align:left;
    }
    .footer-wl-logo{max-width:260px;margin:0;justify-self:center}
    .footer-group-card{max-width:360px;justify-self:center}
  }
  @media(max-width:720px){
    .footer-main{grid-template-columns:1fr;gap:30px}
    .footer-brand-area{grid-template-columns:1fr;text-align:center;gap:24px}
    .footer-bottom{flex-direction:column;text-align:center}
  }
  @media(max-width:520px){
    .site-footer{padding:56px 16px 28px}
    .footer-wrap{padding:0 8px}
    .footer-block h3{margin-bottom:16px}
    .footer-block p,.footer-block li{font-size:.9rem}
    .footer-wl-logo{max-width:230px}
    .footer-group-card{border-radius:18px;padding:20px 18px}
    .footer-socials a{width:38px;height:38px}
    .footer-bottom{margin-top:36px;padding-top:22px;font-size:.8rem}
  }


  /* ====== BOTÃO FLUTUANTE WHATSAPP ====== */
  .wl-floating-whatsapp{
    position:fixed;
    right:clamp(18px,3vw,32px);
    bottom:calc(22px + env(safe-area-inset-bottom));
    z-index:80;
    width:64px;
    height:64px;
    min-width:64px;
    padding:0;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient(135deg,#25D366 0%,#128C7E 100%);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 18px 42px rgba(18,140,126,.38),0 6px 16px rgba(0,0,0,.24);
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s var(--ease),opacity .25s var(--ease);
  }
  .wl-floating-whatsapp.is-dimmed{
    opacity:0;
    transform:translateY(14px) scale(.82);
    pointer-events:none;
  }
  .wl-floating-whatsapp::before{
    content:"";
    position:absolute;
    inset:-7px;
    border-radius:inherit;
    border:1px solid rgba(37,211,102,.32);
    animation:wlWhatsappPulse 2.4s ease-out infinite;
    pointer-events:none;
  }
  .wl-floating-whatsapp:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:0 22px 52px rgba(18,140,126,.46),0 8px 20px rgba(0,0,0,.28);
    filter:saturate(1.08);
  }
  .wl-floating-whatsapp svg{
    width:26px;
    height:26px;
    fill:currentColor;
    flex:0 0 auto;
  }
  @keyframes wlWhatsappPulse{
    0%{opacity:.72;transform:scale(.94)}
    70%{opacity:0;transform:scale(1.2)}
    100%{opacity:0;transform:scale(1.2)}
  }
  @media(max-width:640px){
    .wl-floating-whatsapp{
      right:18px;
      bottom:calc(18px + env(safe-area-inset-bottom));
      width:58px;
      height:58px;
      min-width:58px;
      padding:0;
      border-radius:50%;
    }
    .wl-floating-whatsapp svg{width:25px;height:25px}
  }


  /* ====== AJUSTE DE RESPIRO ENTRE SEÇÕES - WL ====== */
  /* Ajuste criado para deixar a home menos empilhada, principalmente no mobile. */
  .hero{
    padding-top:clamp(142px, 13vw, 168px);
    padding-bottom:clamp(92px, 9vw, 124px);
  }
  .lead{
    margin-top:28px;
    margin-bottom:0;
  }
  .stage{
    margin-top:46px;
    border-radius:28px;
  }

  .trust-section,
  .testimonials-section,
  .process-section,
  .final-section,
  .clients-section{
    padding-top:clamp(64px, 6vw, 96px);
    padding-bottom:clamp(64px, 6vw, 96px);
  }
  .cat-section{
    padding-top:clamp(64px, 6vw, 96px);
    padding-bottom:clamp(48px, 4vw, 64px);
  }

  /* margin-bottom dos títulos já é definido por --wl-title-bottom-gap em cada seção;
     removida a regra duplicada que sobrescrevia esse valor com clamp(54px,5vw,74px). */

  .process-flow,
  .final-points,
  .clients-marquee{
    margin-top:clamp(42px, 4vw, 58px);
  }

  .trust-note,
  .testimonial-note,
  .process-bottom,
  .final-cta-wrap,
  .clients-note{
    margin-top:clamp(38px, 4vw, 56px);
  }

  @media(max-width:1020px){
    .hero{
      padding-top:126px;
      padding-bottom:76px;
    }
    .lead{
      margin-top:22px;
    }
    .stage{
      margin-top:36px;
      gap:24px;
      border-radius:0;
    }
    .carousel{
      border-radius:24px;
      box-shadow:0 22px 52px rgba(0,0,0,.28);
    }
    .form{
      border-top:3px solid var(--cyan);
      border-radius:24px;
      box-shadow:0 18px 46px rgba(0,0,0,.18);
    }
    .trust-section,
    .testimonials-section,
    .process-section,
    .final-section,
    .clients-section{
      padding-top:92px;
      padding-bottom:96px;
    }
    .cat-section{
      padding-top:92px;
      padding-bottom:54px;
    }
    .trust-head,
    .testimonials-head,
    .process-head,
    .cat-head,
    .final-head,
    .clients-head{
      margin-bottom:42px;
    }
    .process-flow,
    .final-points,
    .clients-marquee{
      margin-top:34px;
    }
  }

  @media(max-width:520px){
    header{
      padding-top:12px;
      padding-bottom:12px;
    }
    .nav{
      min-height:60px;
    }
    .hero{
      padding-top:122px;
      padding-left:18px;
      padding-right:18px;
      padding-bottom:68px;
    }
    h1{
      line-height:var(--wl-hero-line-height);
    }
    h1 .line{
      margin-bottom:.05em;
    }
    .lead{
      margin-top:24px;
      line-height:1.68;
      max-width:35ch;
    }
    .stage{
      margin-top:38px;
      gap:26px;
    }
    .carousel{
      min-height:430px;
      height:58vh;
      max-height:520px;
      border-radius:24px;
    }
    .slide{
      min-height:430px;
      padding:24px 22px 76px;
    }
    .slide h3{
      font-size:1.38rem;
    }
    .slide p{
      margin-top:10px;
      font-size:.92rem;
      line-height:1.55;
      max-width:28ch;
    }
    .slide .tag{
      margin-top:18px;
    }
    .dots{
      bottom:26px;
      left:22px;
    }
    .form{
      border-radius:24px;
      overflow:hidden;
    }
    .quiz-head{
      padding:30px 22px 22px;
    }
    .quiz-head-logo{
      height:46px;
      margin-bottom:18px;
    }
    .quiz-head-title{
      margin-bottom:10px;
      line-height:1.2;
    }
    .quiz-head-sub{
      line-height:1.6;
      max-width:30ch;
    }
    .quiz-prog-wrap{
      padding:18px 22px 0;
    }
    .quiz-steps .quiz-step{
      padding:24px 22px 24px;
    }

    .trust-section,
    .testimonials-section,
    .process-section,
    .final-section,
    .clients-section{
      padding-top:82px;
      padding-bottom:86px;
    }
    .cat-section{
      padding-top:82px;
      padding-bottom:46px;
    }
    .trust-head,
    .testimonials-head,
    .process-head,
    .cat-head,
    .final-head,
    .clients-head{
      margin-bottom:36px;
    }
    .trust-copy,
    .testimonials-head,
    .process-head,
    .cat-head-grid{
      gap:22px;
    }
    .trust-copy p,
    .testimonials-intro,
    .process-intro,
    .cat-intro,
    .final-intro,
    .clients-intro{
      line-height:1.72;
    }
    .trust-icon-strip{
      margin-top:6px;
    }
    .process-flow,
    .final-points,
    .clients-marquee{
      margin-top:34px;
    }
    .trust-note,
    .testimonial-note,
    .process-bottom,
    .final-cta-wrap,
    .clients-note{
      margin-top:34px;
    }
  }

  @media(max-width:380px){
    .hero{
      padding-top:116px;
      padding-bottom:62px;
    }
    .stage{
      margin-top:34px;
      gap:22px;
    }
    .carousel{
      min-height:390px;
      height:56vh;
    }
    .slide{
      min-height:390px;
    }
  }


/* Ajuste: remover sombras do bloco de confiança/overdelivery */
.trust-grid-wrap{
  padding:0 !important;
  margin:0 !important;
}
.trust-card{
  box-shadow:none !important;
}
.trust-note{
  box-shadow:none !important;
}


/* Ajuste: remoção de sombras quadradas do bloco hero/carrossel */
.stage{
  box-shadow:none !important;
  background:transparent !important;
}
.carousel,
.form{
  box-shadow:none !important;
}
@media(max-width:1020px){
  .stage,
  .carousel,
  .form{
    box-shadow:none !important;
  }
}

/* Ajuste fino: alinhar a barra colorida do card Overdelivery com o card */
.trust-grid{
  gap:0 !important;
}
.trust-card{
  flex:0 0 100% !important;
  min-width:100% !important;
  overflow:hidden !important;
}
.trust-card::after{
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  border-radius:0 0 inherit inherit !important;
}


/* Ajuste: header no modelo do site atual - logo centralizada e menu abaixo */
header{
  padding:18px 28px 14px !important;
  background:#fff !important;
  }
header.scrolled{
  padding-top:14px !important;
  padding-bottom:12px !important;
  box-shadow:0 10px 28px rgba(8,9,15,.08) !important;
  }
.nav{
  max-width:var(--maxw) !important;
  min-height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  }
.brand{
  justify-self:center !important;
  justify-content:center !important;
  }
.logo-img{
  height:82px !important;
  }
.desktop-nav{
  justify-self:center !important;
  display:flex !important;
  justify-content:center !important;
  gap:10px !important;
  }
.desktop-nav a{
  min-height:32px !important;
  padding:0 10px !important;
  font-size:14px !important;
  font-weight:800 !important;
  }
.desktop-nav a::after{
  bottom:0 !important;
  left:10px !important;
  right:10px !important;
  }
.burger{
  display:none !important;
  }
.hero{
  padding-top:185px !important;
  }

@media(max-width:1020px){
  header{
    padding:12px 18px !important;
  }
  header.scrolled{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
  .nav{
    min-height:64px !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    gap:12px !important;
  }
  .brand{
    justify-self:start !important;
  }
  .logo-img{
    height:44px !important;
  }
  .desktop-nav{
    display:none !important;
  }
  .burger{
    display:flex !important;
    justify-self:end !important;
  }
  .hero{
    padding-top:110px !important;
  }
  }

@media(max-width:520px){
  header{
    padding:10px 14px !important;
  }
  .nav{
    min-height:56px !important;
  }
  .logo-img{
    height:38px !important;
  }
  .hero{
    padding-top:100px !important;
  }
  }

/* Compensa o header fixo ao navegar por âncoras (#solucoes, #depoimentos, etc.),
   independente do padding-top "visual" de cada seção. */
#orcamento,
#solucoes,
#depoimentos,
#processo,
#produtos,
#clientes,
#institucional,
.product-section,
.product-hero{
  scroll-margin-top:173px;
}
@media(max-width:1020px){
  #orcamento,
  #solucoes,
  #depoimentos,
  #processo,
  #produtos,
  #clientes,
  #institucional,
  .product-section,
  .product-hero{
    scroll-margin-top:97px;
  }
}
@media(max-width:520px){
  #orcamento,
  #solucoes,
  #depoimentos,
  #processo,
  #produtos,
  #clientes,
  #institucional,
  .product-section,
  .product-hero{
    scroll-margin-top:85px;
  }
}


/* Ajuste: carrossel de clientes sempre em movimento, sem pausa ou destaque no hover/touch */
.clients-marquee:hover .clients-track{
  animation-play-state: running !important;
}
.client-logo-card{
  transition: none !important;
}
.client-logo-card:hover{
  transform: none !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.7) !important;
}

/* ====== FORMULÁRIO WL - NOVA TRILHA DE ORÇAMENTO ====== */
.qconsent-box{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 15px;border:1.5px solid #dde2ec;border-radius:14px;
  background:#f7f9fc;color:#344054;font-size:.88rem;line-height:1.55;
  cursor:pointer;margin:12px 0 10px;
}
.qconsent-box input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--cyan)}
.qprivacy-link{
  border:0;background:transparent;color:var(--cyan);
  font-family:"Sora",sans-serif;font-weight:800;font-size:12px;
  text-transform:uppercase;letter-spacing:.8px;padding:0;margin:2px 0 10px;
  cursor:pointer;
}
.qprivacy-card{
  padding:14px 15px;border-radius:14px;background:#fff;
  border:1.5px solid rgba(22,197,230,.32);color:#475467;
  font-size:.83rem;line-height:1.62;margin-bottom:10px;
  box-shadow:0 12px 28px rgba(8,9,15,.06);
}
.qprivacy-card strong{display:block;color:#08090f;font-family:"Sora";font-size:.86rem;margin-bottom:5px}
.qprivacy-card p{margin:0}
.qgrid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}
.qgrid-city{grid-template-columns:1.4fr .6fr}
.qgrid-number{grid-template-columns:.72fr 1.28fr}
.qfield input[readonly]{background:#eef2f7;color:#667085}
.qarte-row-3{grid-template-columns:repeat(3,1fr)}
.q-invalid-group .qarte-opt{border-color:#e0244a;box-shadow:0 0 0 3px rgba(224,36,74,.12)}
.qupload-field{margin-top:14px;animation:fadeUp .28s var(--ease) both}
.qupload-box{
  display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;
  padding:16px;border:1.5px dashed rgba(22,197,230,.48)!important;border-radius:14px;
  background:#f0fbfe!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;
}
.qupload-title{font-family:"Sora";font-size:.88rem;font-weight:800;color:#08090f}
.qupload-sub{font-size:.78rem;line-height:1.48;color:#667085;font-weight:500;text-transform:none;letter-spacing:0}
.qupload-file{margin-top:4px;font-size:.78rem;color:#0d7a96;font-weight:800;word-break:break-word;text-transform:none;letter-spacing:0}
.qsuccess-file{
  padding:10px 12px;border-radius:12px;background:#f0fbfe;color:#0d7a96!important;
  border:1px solid rgba(22,197,230,.28);font-weight:700;
}
.qupsell{width:100%;margin-top:6px;padding-top:14px;border-top:1px solid #eef0f5}
.qupsell span{display:block;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:#98a2b3;margin-bottom:10px}
.qupsell div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.qupsell button,.qupsell a{
  min-height:34px;padding:0 14px;border-radius:999px;border:1.5px solid rgba(22,197,230,.32);
  background:#fff;color:#0d7a96;font-family:"Sora";font-weight:800;font-size:11px;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;white-space:nowrap;
  transition:transform .2s,border-color .2s,background .2s;
}
.qupsell button:hover,.qupsell a:hover{transform:translateY(-1px);border-color:var(--cyan);background:#f0fbfe}
@media(max-width:720px){
  .qgrid-2,.qgrid-city,.qgrid-number{grid-template-columns:1fr}
  .qarte-row-3{grid-template-columns:1fr}
  .qconsent-box{font-size:.84rem;padding:13px 14px}
}

/* ====== PÁGINA GALERIA DE PRODUTOS ====== */
.product-gallery-page{
  position:relative;
  z-index:10;
  color:#0b1020;
  background:#f6f7fb;
  min-height:100vh;
  padding:148px 28px 92px;
}
.product-gallery-title-stacked{
  display:flex;
  flex-direction:column;
  text-transform:uppercase;
  gap:var(--wl-title-line-gap);
}
.product-gallery-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  font-weight:850;
  font-size:14px;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);
}
.product-gallery-cta{
  color:#041018;
  background:var(--cyan);
  box-shadow:0 18px 34px rgba(22,197,230,.22);
}
.product-gallery-cta:hover{transform:translateY(-2px)}
.product-gallery-cta svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-gallery-grid{
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.product-card{
  position:relative;
  overflow:hidden;
  min-height:430px;
  border-radius:30px;
  background:#0a0c14;
  box-shadow:0 24px 62px rgba(8,9,15,.13);
  isolation:isolate;
}
.product-card-media{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
  transition:transform .6s var(--ease),filter .6s var(--ease);
}
.product-card:hover .product-card-media{transform:scale(1.08);filter:saturate(1.08)}
.product-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 18%,rgba(255,255,255,.28),transparent 20%),
    linear-gradient(180deg,rgba(5,7,13,.06) 0%,rgba(5,7,13,.22) 38%,rgba(5,7,13,.88) 100%);
}
.product-card-body{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  padding:24px;
  color:#fff;
}
.product-card-min{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16);
  color:#eaf2ff;
  font-size:11px;
  font-weight:850;
  letter-spacing:.4px;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.product-card-min svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-card h2{
  margin:13px 0 8px;
  font-family:"Sora";
  font-size:1.45rem;
  line-height:1.08;
  letter-spacing:-.5px;
}
.product-card p{
  color:#d3dbea;
  line-height:1.55;
  font-size:.94rem;
  min-height:44px;
}
.product-card-actions{
  display:flex;
  gap:10px;
  margin-top:18px;
}
.product-card-btn{
  flex:1;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  color:#07101a;
  font-size:13px;
  font-weight:900;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.product-card-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.22)}
.product-card-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-gallery-final{
  max-width:var(--maxw);
  margin:34px auto 0;
  border-radius:32px;
  padding:30px;
  background:#08090f;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  overflow:hidden;
  position:relative;
}
.product-gallery-final::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-110px;
  top:-130px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,197,230,.45),transparent 62%);
}
.product-gallery-final strong{
  display:block;
  font-family:"Sora";
  font-size:clamp(1.25rem,2vw,2rem);
  line-height:1.15;
  letter-spacing:-.7px;
  position:relative;
  z-index:2;
}
.product-gallery-final span{
  display:block;
  max-width:62ch;
  margin-top:8px;
  color:#b9c4d5;
  line-height:1.6;
  position:relative;
  z-index:2;
}
.product-gallery-final a{
  position:relative;
  z-index:2;
  flex:0 0 auto;
}
@media (max-width:1020px){
  .product-gallery-page{padding:132px 20px 72px}
  .product-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .product-gallery-final{align-items:flex-start;flex-direction:column}
}
@media (max-width:720px){
  .product-gallery-page{padding:118px 16px 62px}
  .product-gallery-grid{grid-template-columns:1fr}
  .product-card{min-height:405px;border-radius:24px}
  .product-card-body{padding:20px}
  .product-gallery-final{border-radius:24px;padding:24px}
}

/* Ajuste home: botão único pós-formulário */
.qupsell.qupsell-single{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.qupsell.qupsell-single span{margin-bottom:0;text-align:center}
.qupsell.qupsell-single > a{
  min-height:42px;
  padding:0 22px;
  width:min(100%,260px);
  background:var(--cyan);
  border-color:var(--cyan);
  color:#071015;
  box-shadow:0 12px 26px rgba(22,197,230,.18);
}
.qupsell.qupsell-single > a:hover{background:#22d7f7;color:#071015}


/* Performance safeguards v31 */
img{max-width:100%;height:auto}
.section-particles .particle-dot{animation-play-state:paused}
.section-particles.wl-particles-active .particle-dot{animation-play-state:running}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@supports (content-visibility:auto){
  .product-section,.trust-section,.testimonials-section,.logos-section,.product-gallery-final{content-visibility:auto;contain-intrinsic-size:900px}
}


/* ============================================================
   Motion system v32 — animações editoriais suaves
   ============================================================ */
:root{
  --wl-motion-distance:22px;
  --wl-motion-duration:760ms;
  --wl-motion-stagger:70ms;
  --wl-motion-ease:cubic-bezier(.22,1,.36,1);
}

.wl-motion-ready [data-wl-reveal]{
  opacity:0;
  transform:translate3d(0,var(--wl-motion-distance),0);
  transition:
    opacity var(--wl-motion-duration) var(--wl-motion-ease),
    transform var(--wl-motion-duration) var(--wl-motion-ease);
  transition-delay:var(--wl-reveal-delay,0ms);
  will-change:opacity,transform;
}
.wl-motion-ready [data-wl-reveal="soft"]{
  --wl-motion-distance:14px;
}
.wl-motion-ready [data-wl-reveal="scale"]{
  transform:translate3d(0,14px,0) scale(.985);
}
.wl-motion-ready [data-wl-reveal].wl-in-view{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  will-change:auto;
}

/* Microinterações discretas, com linguagem boutique */
@media (hover:hover) and (pointer:fine){
  .app-card,.spec-card,.process-card,.value-card,.objective-card,
  .segment-card,.trust-card,.testimonial-card,.product-card,
  .group-feature-item,.feature-item,.final-point,.client-logo-card{
    transition:
      transform .42s var(--wl-motion-ease),
      box-shadow .42s var(--wl-motion-ease),
      border-color .42s var(--wl-motion-ease);
  }
  .app-card:hover,.spec-card:hover,.process-card:hover,.value-card:hover,
  .objective-card:hover,.segment-card:hover,.trust-card:hover,
  .testimonial-card:hover,.group-feature-item:hover,.feature-item:hover,
  .final-point:hover,.client-logo-card:hover{
    transform:translate3d(0,-4px,0);
  }
}

@media (max-width:720px){
  :root{
    --wl-motion-distance:16px;
    --wl-motion-duration:620ms;
    --wl-motion-stagger:45ms;
  }
}

@media (prefers-reduced-motion:reduce){
  .wl-motion-ready [data-wl-reveal]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* ============================================================
   Motion v33 — revelação dos títulos principais das páginas
   Inspirada na headline da home, com leitura imediata e suave.
   ============================================================ */
.wl-page-title-motion > span{
  display:block;
  opacity:0;
  transform:translate3d(0,108%,0);
  clip-path:inset(0 0 100% 0);
  animation:wlPageTitleRise 920ms var(--ease) forwards;
  will-change:transform,opacity,clip-path;
}
.wl-page-title-motion > span:nth-child(1){animation-delay:180ms}
.wl-page-title-motion > span:nth-child(2){animation-delay:360ms}
.wl-page-title-motion > span:nth-child(3){animation-delay:540ms}
.wl-page-title-motion > span:nth-child(4){animation-delay:680ms}
.wl-page-title-motion > span:nth-child(n+5){animation-delay:760ms}

@keyframes wlPageTitleRise{
  0%{
    opacity:0;
    transform:translate3d(0,108%,0);
    clip-path:inset(0 0 100% 0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0);
    clip-path:inset(0 0 0 0);
    will-change:auto;
  }
}

@media (max-width:720px){
  .wl-page-title-motion > span{
    transform:translate3d(0,72%,0);
    animation-duration:760ms;
  }
  .wl-page-title-motion > span:nth-child(1){animation-delay:100ms}
  .wl-page-title-motion > span:nth-child(2){animation-delay:220ms}
  .wl-page-title-motion > span:nth-child(3){animation-delay:340ms}
  .wl-page-title-motion > span:nth-child(4){animation-delay:440ms}
}

@media (prefers-reduced-motion:reduce){
  .wl-page-title-motion > span{
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    animation:none!important;
    will-change:auto!important;
  }
}
