
/* =====================================================================
   Zyden Educação — assets/css/style.css
   CSS extraído e organizado a partir do design original da landing page.
   Mantém as mesmas classes/variáveis do protótipo para garantir 100% de
   fidelidade visual. Dividido por seções com comentários (---- NOME ----)
   para facilitar manutenção e localização rápida ao editar.
   ===================================================================== */

	  :root{
	    /* ====== PALETA ZYDEN — base azul (cores oficiais) ====== */
	    --navy-950:#011142;   /* fundo escuro principal (hero, jornada, rodapé) */
	    --navy-900:#011C6B;   /* cartões sobre fundo escuro */
	    --navy-800:#01258F;   /* cartão ativo / hover em fundo escuro */
	    --blue-700:#0231BD;   /* hover dos botões */
	    --blue-600:#023BE6;   /* cor principal: botões, links, destaques */
	    --blue-400:#5B86FF;   /* azul claro p/ detalhes sobre fundo escuro */
	    --blue-50:#EEF3FF;    /* fundo suave de seleção */

	    /* ====== CORES DE APOIO (não é tudo azul) ====== */
	    /* Cor de destaque — para trocar, mude só estas 3 linhas */
	    --gold:#FF7A45;       /* LARANJA/CORAL: palavras em destaque, números, detalhes */
	    --gold-light:#FFA27A;
	    --accent-rgb:255,122,69;
	    --star:#F5B82E;       /* estrelas de avaliação: sempre amarelas */
	    --white:#FFFFFF;      /* texto sobre fundos escuros */
	    --white-dim:#C3CCE8;  /* texto secundário sobre fundos escuros */
	    --surface:#F6F8FC;    /* fundo das seções claras */
	    --surface-2:#EDF1F9;
	    --border:#DDE3F0;
	    --ink:#0B1530;        /* texto principal sobre fundo claro */
	    --ink-dim:#4D5878;
	    --danger:#E5484D;     /* "escola comum" / alertas */
	    --success:#1FB46A;    /* "escola de elite" / confirmações */

	    /* ====== Aliases (nomes antigos usados nos templates PHP) ====== */
	    --board:var(--navy-950);
	    --board-2:var(--navy-900);
	    --board-3:var(--navy-800);
	    --wood:var(--navy-900);
	    --wood-dark:var(--navy-950);
	    --chalk:var(--white);
	    --chalk-dim:var(--white-dim);
	    --paper:var(--surface);
	    --paper-2:var(--surface-2);
	    --pen-red:var(--blue-600);
	    --pen-red-dark:var(--blue-700);
	    --green:var(--success);
	    --brass:var(--gold);
	    --brass-light:var(--gold-light);
	    --line: rgba(255,255,255,0.10);
	    --shadow: 0 24px 60px -24px rgba(1,17,66,0.55);
	  }

  *{box-sizing:border-box; margin:0; padding:0;}
	html{scroll-behavior:smooth;}
	#hero-form { scroll-margin-top: 100px; }
  body{
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer; border:none; background:none;}
  input{font-family:inherit;}

  .wrap{max-width:1080px; margin:0 auto; padding:0 28px;}

  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:600;
  }
  h1,h2,h3{font-family:'Sora', sans-serif; line-height:1.12; letter-spacing:-0.01em;}

  .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
    .cta-arrow{animation:none;}
    html{scroll-behavior:auto;}
  }

  /* ---------- scroll progress ---------- */
  .scroll-progress{
    position:fixed; top:0; left:0; height:3px; width:0%;
    background:linear-gradient(90deg, var(--blue-600), var(--gold));
    z-index:80; transition:width .1s linear;
  }

  /* ---------- NAV (single CTA, no away-links) ---------- */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:50;
    background:rgba(1,17,66,0.82);
    backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1080px; margin:0 auto; padding:14px 28px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .logo-wrapper{display:flex; align-items:center; gap:8px;}
  .logo-text{font-family:'Sora', sans-serif; font-weight:800; font-size:19px; color:var(--chalk); letter-spacing:.02em;}
  .logo-text span{color:var(--gold);}
  .logo-image{display:block; height:40px; width:auto; object-fit:contain;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--blue-600); color:#fff; font-weight:700; font-size:14px;
    padding:12px 22px; border-radius:10px; letter-spacing:.01em;
    transition:background .18s ease, transform .15s ease, box-shadow .18s ease;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 8px 24px -8px rgba(2,59,230,0.65), inset 0 1px 0 rgba(255,255,255,0.18);
  }
  .btn:hover{background:var(--blue-700); transform:translateY(-1px); box-shadow:0 12px 28px -8px rgba(2,59,230,0.75), inset 0 1px 0 rgba(255,255,255,0.18);}
  .btn:active{transform:scale(0.98);}
  .btn-sm{padding:10px 16px; font-size:13px;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative; padding:140px 0 90px;
    background:
      radial-gradient(ellipse 60% 70% at 85% 10%, rgba(2,59,230,0.45), transparent 70%),
      radial-gradient(ellipse 50% 60% at 0% 100%, rgba(1,37,143,0.55), transparent 70%),
      linear-gradient(180deg, var(--navy-950) 0%, #010D33 100%);
    color:var(--white); overflow:hidden;
  }
  .hero::before{
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 75%);
            mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 75%);
    pointer-events:none;
  }
  .hero-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start;}
  .hero-eyebrow{color:var(--gold); margin-bottom:18px; display:flex; align-items:center; gap:10px;}
  .hero-eyebrow::before{content:""; width:22px; height:2px; background:var(--gold); display:inline-block; flex-shrink:0;}
  .hero h1{font-size:46px; font-weight:800; color:var(--white); margin-bottom:20px; letter-spacing:-0.02em;}
  .hero h1 .accent{color:var(--gold);}
  .hero p.lead{font-size:17.5px; color:var(--white-dim); max-width:480px; line-height:1.6; margin-bottom:8px;}
  .underline-sketch{display:inline-block; position:relative;}
  .underline-sketch svg{position:absolute; left:0; bottom:-9px; width:100%; height:10px;}
  .trust-row{margin-top:32px; display:flex; gap:10px; flex-wrap:wrap; font-size:13px; font-weight:500; color:var(--white);}
  .trust-row span{display:flex; align-items:center; gap:8px; padding:7px 13px; border-radius:100px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.10);}
  .trust-dot{width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 3px rgba(var(--accent-rgb),0.18); display:inline-block;}
  .scarcity{
    margin-top:26px; display:inline-flex; align-items:center; gap:9px;
    font-size:13px; line-height:1.5; color:var(--white-dim);
    background:rgba(var(--accent-rgb),0.08); border:1px solid rgba(var(--accent-rgb),0.30);
    padding:11px 15px; border-radius:10px; max-width:520px;
  }
  .scarcity .dot-blink{width:8px; height:8px; border-radius:50%; background:var(--gold); flex-shrink:0; animation:dotPulse 1.8s ease-in-out infinite;}
  @keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.55);}50%{box-shadow:0 0 0 6px rgba(var(--accent-rgb),0);}}

  /* ---------- LEAD CARD (multi-step) ---------- */
  .lead-card{
    background:#fff; color:var(--ink); border-radius:18px;
    padding:36px 32px 32px; position:relative;
    box-shadow:0 30px 80px -20px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.08);
    border: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  .lead-card:focus-within { transform: translateY(-2px); z-index: 10; }
  .lead-card::before{
    content:""; position:absolute; top:0; left:0; right:0; height:5px;
    background:linear-gradient(90deg, var(--blue-600) 0%, var(--blue-400) 60%, var(--gold) 100%);
    border-radius:18px 18px 0 0;
  }
  .progress-track{display:flex; gap:6px; margin-bottom:18px;}
  .progress-seg{flex:1; height:4px; background:var(--border); border-radius:2px; overflow:hidden;}
  .progress-seg span{display:block; height:100%; width:0%; background:var(--pen-red); transition:width .35s ease;}
  .progress-seg.done span{width:100%;}
  .step-label{font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--blue-600); text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px;}
  .lead-card h3{font-size:20px; margin-bottom:5px; color:var(--ink);}
  .lead-card .sub{font-size:13.5px; color:var(--ink-dim); margin-bottom:18px; line-height:1.5;}
  .step{display:none;}
  .step.active{display:block;}
  .seg-options{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px;}
  .seg-opt{
    border:1.5px solid var(--border); border-radius:10px; padding:13px 10px; text-align:center;
    font-size:13.5px; font-weight:600; color:var(--ink); background:#fff;
    transition:border-color .15s ease, background .15s ease;
  }
  .seg-opt:hover{border-color:var(--pen-red); background:var(--blue-50);}
  .seg-opt.selected{border-color:var(--pen-red); background:var(--blue-50); color:var(--pen-red-dark);}
  .seg-options-icon{grid-template-columns:1fr; gap:9px;}
  .seg-options-icon .seg-opt{
    display:flex; align-items:flex-start; gap:13px; text-align:left;
    padding:14px 16px; border-radius:10px; border:1.5px solid var(--border); background:#fff;
    position:relative; transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .12s ease;
  }
  .seg-options-icon .seg-opt:hover{border-color:#9DB4FF; background:#F7F9FF; box-shadow:0 4px 12px rgba(2,59,230,0.08); transform:translateY(-1px);}
  .seg-options-icon .seg-opt.selected{border-color:var(--pen-red); background:var(--blue-50); box-shadow:0 6px 16px rgba(2,59,230,0.14); transform:translateY(-1px);}
	  .seg-opt-icon-wrap{
	    width:38px; height:38px; flex-shrink:0; border-radius:50%; background:rgba(2,59,230,0.09);
	    display:flex; align-items:center; justify-content:center; transition:background .18s ease;
	    pointer-events: none;
	  }
  .seg-opt.selected .seg-opt-icon-wrap{background:var(--pen-red);}
  .seg-opt-icon{width:19px; height:19px; color:var(--pen-red); transition:color .18s ease;}
  .seg-opt.selected .seg-opt-icon{color:#fff;}
	  .seg-opt-text{display:flex; flex-direction:column; gap:3px; min-width:0; pointer-events: none;}
  .seg-opt-text strong{font-size:14px; font-weight:700; color:var(--ink); line-height:1.25;}
  .seg-opt-text small{font-size:12px; font-weight:400; color:var(--ink-dim); line-height:1.4;}
  .seg-opt.selected .seg-opt-text strong{color:var(--pen-red-dark);}
  .seg-opt.selected::after{
    content:"✓"; position:absolute; top:11px; right:12px; width:18px; height:18px;
    border-radius:50%; background:var(--pen-red); color:#fff; font-size:11px; font-weight:700;
    display:flex; align-items:center; justify-content:center;
  }
  .field{margin-bottom:13px;}
  .field label{display:block; font-family:'IBM Plex Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-dim); margin-bottom:5px;}
	  .field input{width:100%; padding:12px 14px; font-size:14.5px; border:1.5px solid var(--border); border-radius:10px; background:#fff; color:var(--ink); transition:border-color .15s ease;}
	  .iti{width:100%; margin-bottom:0;}
	  .iti__country-list{z-index:100; color:var(--ink); font-family: 'Inter', sans-serif;}
  .field input:focus, .field select:focus{outline:none; border-color:var(--blue-600); box-shadow:0 0 0 4px rgba(2,59,230,0.12);}
  .field select{width:100%; padding:12px 40px 12px 14px; font-size:14.5px; border:1.5px solid var(--border); border-radius:10px; background:#fff; color:var(--ink); font-family:inherit; appearance:none; -webkit-appearance:none; cursor:pointer;
    background-image:linear-gradient(45deg, transparent 50%, #4D5878 50%), linear-gradient(135deg, #4D5878 50%, transparent 50%);
    background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat;}
  .field select:invalid{color:#9AA3BC;}
  .field input::placeholder{color:#9AA3BC;}
  .submit-btn{
    width:100%; margin-top:8px; background:var(--blue-600); color:#fff; font-weight:700; font-size:15px;
    padding:15px 16px; border-radius:10px; box-shadow:0 10px 24px -10px rgba(2,59,230,0.7); letter-spacing:.01em; transition:background .15s ease, transform .1s ease;
    display:flex; align-items:center; justify-content:center; gap:8px;
  }
  .submit-btn:hover{background:var(--pen-red-dark);}
  .submit-btn:active{transform:scale(0.99);}
  .back-link{
    display:inline-flex; align-items:center; gap:5px; font-size:12.5px; color:var(--ink-dim);
    margin-bottom:14px; font-weight:600;
  }
  .back-link:hover{color:var(--pen-red);}
  .form-note{font-size:11px; color:var(--ink-dim); margin-top:11px; text-align:center;}
  .form-success{display:none; text-align:center; padding:18px 4px;}
  .form-success.show{display:block;}
  .form-success .check{width:48px; height:48px; border-radius:50%; background:var(--success); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; font-size:20px;}
  .form-success h4{font-size:16.5px; margin-bottom:6px;}
  .form-success p{font-size:13px; color:var(--ink-dim); line-height:1.5;}

  @media (max-width:860px){ 
    .hero-grid{grid-template-columns:1fr; gap:40px;} 
    .hero h1{font-size:32px;} 
    .hero{padding:120px 0 60px;}
    .lead-card{transform:none; padding:24px 20px;}
    .nav-inner{padding:10px 20px;}
    .btn-sm{padding:8px 14px; font-size:12px;}
  }

  @media (max-width:480px){
    .hero h1{font-size:28px;}
    .hero p.lead{font-size:15px;}
    .seg-options{grid-template-columns:1fr;}
    .section-head h2{font-size:26px;}
  }

  .ruled-divider{height:3px; background:linear-gradient(90deg, var(--blue-600), var(--gold) 50%, var(--blue-600));}

  section{padding:120px 0;}
  .section-head{max-width:640px; margin-bottom:48px;}
  .section-head .eyebrow{color:var(--blue-600); margin-bottom:12px;}
  .section-head .eyebrow.on-dark{color:var(--gold);}
  .section-head h2{font-size:34px; font-weight:800; color:var(--ink); letter-spacing:-0.02em;}
  .section-head h2.on-dark{color:var(--chalk);}
  .section-head p{margin-top:14px; font-size:15.5px; color:var(--ink-dim); line-height:1.65;}
  .section-head p.on-dark{color:var(--chalk-dim);}
  .center{margin-left:auto; margin-right:auto; text-align:center;}

  /* ---------- PROBLEM ---------- */
  .problem{
    background:
      radial-gradient(ellipse 50% 40% at 100% 0%, rgba(2,59,230,0.07), transparent 70%),
      var(--surface);
    position:relative;
  }
  .check-list{display:grid; grid-template-columns:1fr 1fr; gap:14px 18px;}
  .check-item.reveal{transition-delay:calc(var(--i) * 70ms);}
  .check-item{display:flex; gap:14px; align-items:flex-start; padding:18px 20px; background:#fff; border:1px solid var(--border); border-radius:12px; box-shadow:0 1px 2px rgba(11,21,48,0.04);}
  .check-box{flex:0 0 22px; width:22px; height:22px; border:2px solid #B9C3DC; border-radius:6px; position:relative; margin-top:1px;}
  .check-box svg{position:absolute; inset:0; width:100%; height:100%; padding:3px; overflow:visible;}
  .check-box svg path{
    fill:none; stroke:var(--danger); stroke-width:2.4; stroke-linecap:round;
    stroke-dasharray:1; stroke-dashoffset:1;
    transition:stroke-dashoffset .35s ease;
    transition-delay:calc(var(--i) * 90ms + 120ms);
  }
  .check-item.in .check-box svg path:nth-child(2){transition-delay:calc(var(--i) * 90ms + 280ms);}
  .check-item.in .check-box svg path{stroke-dashoffset:0;}
  .check-item p{font-size:15px; line-height:1.5; position:relative; margin:0;}
  .scribble{
    position:absolute; left:-2px; right:-6px; bottom:-7px; width:calc(100% + 8px); height:14px;
    overflow:visible; pointer-events:none;
  }
  .scribble path{
    fill:none; stroke:var(--danger); stroke-width:2.5; stroke-linecap:round;
    stroke-dasharray:1; stroke-dashoffset:1; opacity:.45;
    transition:stroke-dashoffset .55s cubic-bezier(.3,.6,.3,1);
    transition-delay:calc(var(--i) * 90ms + 420ms);
  }
  .check-item.in .scribble path{stroke-dashoffset:0;}
  @media (max-width:760px){ .check-list{grid-template-columns:1fr;} }

  /* Hover de auto-seleção — só em dispositivos com mouse */
  @media (hover:hover){
    .check-item{transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;}
    .check-item:hover{transform:translateY(-2px); border-color:#C7D3F5; box-shadow:0 10px 24px -12px rgba(1,28,107,0.25);}
    .check-item:hover .check-box{border-color:var(--danger);}
  }

  /* Fecho / CTA da seção Problema */
  .problem-cta{margin-top:46px; text-align:center; display:flex; flex-direction:column; align-items:center;}
  .problem-cta > p{font-size:17px; color:var(--ink); font-weight:600; line-height:1.5; margin:0 auto 18px; max-width:520px;}
  .problem-cta-btn{font-size:15px; padding:15px 28px;}
  .problem-cta-btn .cta-arrow{display:inline-block; animation:ctaArrowBob 1.6s ease-in-out infinite;}
  .problem-cta-btn:hover .cta-arrow{animation:none; transform:translateX(5px);}
  .problem-cta-note{display:block; margin-top:14px; font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--ink-dim); letter-spacing:.02em;}
  @keyframes ctaArrowBob{0%,100%{transform:translateX(0);} 50%{transform:translateX(4px);}}

  /* ---------- JOURNEY TIMELINE (Premium) ---------- */
  .journey{ background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(2,59,230,0.28), transparent 70%), var(--navy-950); padding: 120px 0; position: relative; overflow: hidden; }
  .journey::before{
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--blue-600), var(--gold), var(--blue-600), transparent);
  }

  /* Grain overlay */
  .journey::after{
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events: none;
  }

  /* Header */
  .journey-eyebrow{
    display: flex; align-items: center; gap: 14px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px; font-weight: 700; letter-spacing: .18em;
    text-transform: uppercase; color: var(--gold);
  }
  .journey-eyebrow::before, .journey-eyebrow::after{
    content: ''; height: 1px;
    background: rgba(255,255,255,.18); flex: 1;
  }
  .journey-h2{ color: var(--chalk); margin: 14px 0 10px; }
  .journey-em{ color: var(--gold); font-style: normal; }
  .journey-lead{ color: var(--chalk-dim); max-width: 520px; margin: 0 auto; text-align: center; font-size: 15px; line-height: 1.65; }

  /* Progress pips */
  .journey-pips{
    display: flex; gap: 7px;
    justify-content: center;
    margin: 36px 0 48px;
  }
  .jp{
    height: 3px; width: 32px; border-radius: 2px;
    background: rgba(91,134,255,.18);
    cursor: pointer;
    transition: background .3s, width .35s cubic-bezier(.34,1.56,.64,1);
  }
  .jp.active{ background: var(--gold); width: 52px; }

  /* Track */
  .journey-track{
    position: relative;
    max-width: 760px;
    margin: 0 auto;
  }
  .journey-spine{
    position: absolute;
    left: 27px; top: 28px; bottom: 120px;
    width: 2px;
    background: linear-gradient(to bottom, var(--blue-400) 0%, var(--blue-600) 60%, transparent 100%);
    opacity: .35;
  }

  /* Steps */
  .jstep{
    display: flex; gap: 24px;
    margin-bottom: 8px;
    position: relative;
  }
  .jstep-dot-col{
    display: flex; flex-direction: column; align-items: center;
    flex-shrink: 0;
  }
  .jstep-dot{
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--navy-900);
    border: 2px solid rgba(91,134,255,.35);
    display: flex; align-items: center; justify-content: center;
    color: var(--chalk-dim);
    flex-shrink: 0; position: relative; z-index: 2;
    transition: all .4s cubic-bezier(.34,1.56,.64,1);
  }
  .jstep-dot svg{ transition: transform .3s; }
  .jstep.is-open .jstep-dot{
    background: var(--pen-red);
    border-color: var(--pen-red);
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 0 0 6px rgba(2,59,230,.25), 0 0 0 14px rgba(2,59,230,.10);
  }
  .jstep-line{
    flex: 1; width: 2px; min-height: 24px;
    background: rgba(91,134,255,.14);
    margin: 5px 0;
    transition: background .4s;
  }
  .jstep.is-open .jstep-line{ background: rgba(2,59,230,.2); }

  /* Card */
  .jstep-body{ flex: 1; padding-bottom: 8px; }
  .jstep-card{
    background: rgba(1,28,107,0.55);
    border: 1px solid rgba(91,134,255,.18);
    border-radius: 14px;
    padding: 20px 24px 22px;
    cursor: pointer;
    transition: border-color .35s, background .35s, box-shadow .35s, transform .2s;
    user-select: none;
    position: relative;
    overflow: hidden;
  }
  .jstep-card::before{
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: linear-gradient(to bottom, var(--blue-600), var(--gold));
    border-radius: 14px 0 0 14px;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .4s cubic-bezier(.25,.46,.45,.94);
  }
  .jstep-card:hover{ border-color: rgba(91,134,255,.40); transform: translateX(3px); }
  .jstep.is-open .jstep-card{
    background: var(--navy-900);
    border-color: rgba(91,134,255,.45);
    box-shadow: 0 18px 50px -12px rgba(0,0,0,.55), 0 0 0 1px rgba(2,59,230,.25);
    transform: translateX(4px);
  }
  .jstep.is-open .jstep-card::before{ transform: scaleY(1); }
  .jstep-card:focus-visible{ outline: 2px solid var(--blue-400); outline-offset: 3px; }

  .jstep-header{
    display: flex; align-items: center;
    justify-content: space-between; gap: 12px;
  }
  .jstep-phase{
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--gold); opacity: .85;
    margin-bottom: 5px;
    transition: opacity .3s;
  }
  .jstep.is-open .jstep-phase{ opacity: 1; }
  .jstep-title{
    font-family: 'Sora', sans-serif;
    font-size: 16px; font-weight: 700;
    color: var(--white); margin: 0;
    transition: color .3s;
    line-height: 1.3;
  }
  .jstep.is-open .jstep-title{ color: var(--chalk); }
  .jstep-chevron{
    color: var(--white); opacity: .45; flex-shrink: 0;
    transition: transform .4s cubic-bezier(.34,1.56,.64,1), opacity .3s;
  }
  .jstep.is-open .jstep-chevron{ transform: rotate(180deg); opacity: .9; }

  /* Expandable content */
  .jstep-expand{
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .45s cubic-bezier(.25,.46,.45,.94), opacity .35s;
  }
  .jstep-expand > * { overflow: hidden; }
  .jstep.is-open .jstep-expand{
    grid-template-rows: 1fr;
    opacity: 1;
  }
  .jstep-expand-inner{ overflow: hidden; }

  .jstep-divider{
    height: 1px;
    background: rgba(91,134,255,.1);
    margin: 18px 0;
  }
  .jstep-compare{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
  }
  .jstep-lose{
    background: rgba(229,72,77,.08);
    border: 1px solid rgba(229,72,77,.25);
  }
  .jstep-win{
    background: rgba(31,180,106,.08);
    border: 1px solid rgba(31,180,106,.28);
  }
  .jstep-badge{
    font-size: 11px; font-weight: 700;
    display: block; margin-bottom: 8px;
  }
  .jstep-badge--lose{ color: #FF8589; }
  .jstep-badge--win{ color: #4ADE95; }
  .jstep-lose p, .jstep-win p{
    font-size: 13px; line-height: 1.6;
    color: var(--chalk-dim); margin: 0;
  }
  .jstep-stat{
    font-size: 12.5px; font-weight: 600;
    color: var(--gold-light);
    background: rgba(var(--accent-rgb),.08);
    border-left: 3px solid var(--gold);
    padding: 10px 14px;
    border-radius: 0 8px 8px 0;
    line-height: 1.45;
  }

  /* Progress bar global */
  .journey-progress-bar{
    max-width: 760px; margin: 0 auto 36px;
    display: flex; align-items: center; gap: 14px;
  }
  .journey-progress-fill{
    flex: 1; height: 4px; border-radius: 4px;
    background: rgba(255,255,255,.08);
    position: relative; overflow: hidden;
  }
  .journey-progress-fill::after{
    content: '';
    position: absolute; left: 0; top: 0; height: 100%;
    width: var(--progress, 0%);
    background: linear-gradient(90deg, var(--blue-600), var(--blue-400));
    border-radius: 4px;
    transition: width .55s cubic-bezier(.25,.46,.45,.94);
    box-shadow: 0 0 12px rgba(91,134,255,.55);
  }
  .journey-progress-label{
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--white-dim); opacity: .75; white-space: nowrap;
    min-width: 140px; text-align: right;
    transition: opacity .3s;
  }
  .journey-progress-bar.all-done .journey-progress-label{
    color: #4ADE95; opacity: .9;
  }
  .journey-progress-bar.all-done .journey-progress-fill::after{
    background: linear-gradient(90deg, var(--brass), #4ADE95);
  }

  /* Scroll-reveal animation for steps */
  @keyframes jstep-in{
    from{ opacity: 0; transform: translateX(-22px) scale(.98); }
    to  { opacity: 1; transform: translateX(0)    scale(1);    }
  }
  @keyframes jstep-dot-pulse{
    0%,100%{ box-shadow: 0 0 0 0 rgba(2,59,230,.0); }
    50%    { box-shadow: 0 0 0 10px rgba(2,59,230,.18); }
  }
  @keyframes jstep-stat-slide{
    from{ opacity: 0; transform: translateY(8px); }
    to  { opacity: 1; transform: translateY(0); }
  }
  @keyframes shine{
    0%  { left: -120%; }
    100%{ left: 150%;  }
  }

  .jstep{ opacity: 0; transform: translateX(-22px) scale(.98); }
  .jstep.revealed{
    animation: jstep-in .55s cubic-bezier(.22,1,.36,1) both;
  }
  /* staggered delay per index */
  .jstep[data-index="0"].revealed{ animation-delay: .04s; }
  .jstep[data-index="1"].revealed{ animation-delay: .12s; }
  .jstep[data-index="2"].revealed{ animation-delay: .20s; }
  .jstep[data-index="3"].revealed{ animation-delay: .28s; }
  .jstep[data-index="4"].revealed{ animation-delay: .36s; }

  /* keep visible after animation ends */
  .jstep.revealed{ opacity: 1; transform: none; }

  /* dot pulse when step opens */
  .jstep.is-open .jstep-dot{
    animation: jstep-dot-pulse .8s ease-out;
  }

  /* stat line animates in when card opens */
  .jstep.is-open .jstep-stat{
    animation: jstep-stat-slide .4s .25s ease-out both;
  }

  /* shine sweep on card hover */
  .jstep-card::after{
    content: '';
    position: absolute;
    top: 0; left: -120%; width: 60%; height: 100%;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.045) 50%, transparent 100%);
    pointer-events: none;
    border-radius: 14px;
  }
  .jstep-card:hover::after{
    animation: shine .55s ease-out;
  }

  /* compare columns animate in when opened */
  .jstep-lose, .jstep-win{
    border-radius: 10px; padding: 14px 16px;
    transition: transform .3s, box-shadow .3s;
  }
  .jstep.is-open .jstep-lose{
    animation: jstep-stat-slide .4s .15s ease-out both;
  }
  .jstep.is-open .jstep-win{
    animation: jstep-stat-slide .4s .22s ease-out both;
  }
  .jstep-lose:hover{ transform: translateY(-2px); box-shadow: 0 6px 20px rgba(229,72,77,.14); }
  .jstep-win:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(31,180,106,.14); }

  /* Fecho / CTA da Jornada — mesmo padrão robusto do Problem, cores on-dark */
  .journey-cta{margin-top:64px; text-align:center; display:flex; flex-direction:column; align-items:center;}
  .journey-cta > p{font-size:17px; color:var(--white); font-weight:600; line-height:1.5; margin:0 auto 18px; max-width:480px;}
  .journey-cta-btn{font-size:15px; padding:14px 26px;}
  .journey-cta-note{display:block; margin-top:14px; font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--chalk-dim); letter-spacing:.02em;}

  @media (max-width: 680px){
    .journey-spine{ left: 19px; }
    .jstep-dot{ width: 40px; height: 40px; }
    .jstep-dot svg{ width: 17px; height: 17px; }
    .jstep{ gap: 14px; }
    .jstep-compare{ grid-template-columns: 1fr; gap: 10px; }
    .jstep-card{ padding: 16px 18px; }
    .journey-pips{ display: none; }
    .journey-progress-label{ display: none; }
  }

  /* ========== TESTIMONIALS — Board escuro, paleta completa ========== */

  .tst2{
    background: linear-gradient(180deg, #010D33 0%, var(--navy-950) 100%);
    padding: 110px 0 90px;
    position: relative;
    overflow: hidden;
  }

  /* Linha decorativa topo */
  .tst2::before{
    content: '';
    position: absolute; top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--blue-600), var(--gold), var(--blue-600), transparent);
  }

  /* Grain de fundo */
  .tst2::after{
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.022) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events: none;
  }

  .tst2-wrap{ position: relative; z-index: 2; }

  /* Badge */
  .tst2-badge{
    display: inline-flex; align-items: center; gap: 7px;
    background: rgba(var(--accent-rgb),.10);
    border: 1px solid rgba(var(--accent-rgb),.35);
    color: var(--gold);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    padding: 6px 16px; border-radius: 100px;
    margin-bottom: 20px;
  }
  .tst2-badge svg{ color: var(--star); }

  /* Header */
  .tst2-head{ text-align: center; margin-bottom: 44px; }
  .tst2-h2{
    font-family: 'Sora', sans-serif;
    font-size: 36px; font-weight: 800;
    color: var(--chalk); line-height: 1.2;
    margin: 0 0 12px; letter-spacing: -.02em;
  }
  .tst2-h2-em{ color: var(--gold); }
  .tst2-sub{
    font-size: 15px; color: var(--chalk-dim);
    max-width: 440px; margin: 0 auto; line-height: 1.65;
  }

  /* Métricas */
  .tst2-metrics{
    display: flex; align-items: center; justify-content: center;
    gap: 0; margin-bottom: 52px;
    background: linear-gradient(135deg, rgba(2,59,230,.22), rgba(1,28,107,.35));
    border: 1px solid rgba(91,134,255,.25);
    border-radius: 16px;
    padding: 28px 48px;
  }
  .tst2-metric{
    flex: 1; text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 5px;
  }
  .tst2-metric-num{
    font-family: 'Sora', sans-serif;
    font-size: 38px; font-weight: 800;
    color: var(--white); line-height: 1;
  }
  .tst2-metric-plus{
    font-family: 'Sora', sans-serif;
    font-size: 20px; font-weight: 800;
    color: var(--gold); line-height: 1;
  }
  .tst2-metric-label{
    font-size: 12px; color: var(--chalk-dim);
    font-weight: 500; letter-spacing: .03em;
    font-family: 'IBM Plex Mono', monospace;
    text-transform: uppercase;
  }
  .tst2-metric-sep{
    width: 1px; height: 48px;
    background: rgba(91,134,255,.15);
    margin: 0 36px; flex-shrink: 0;
  }

  /* Slider */
  .tst2-slider-wrap{ position: relative; overflow: hidden; }
  .tst2-fade-left, .tst2-fade-right{
    position: absolute; top: 0; bottom: 0; width: 80px;
    pointer-events: none; z-index: 4;
  }
  .tst2-fade-left { left: 0;  background: linear-gradient(to right, var(--navy-950) 0%, transparent 100%); }
  .tst2-fade-right{ right: 0; background: linear-gradient(to left,  var(--navy-950) 0%, transparent 100%); }

  /* Track */
  .tst2-track{
    display: flex; gap: 20px;
    padding: 20px 4px 28px;
    transition: transform .6s cubic-bezier(.25,.46,.45,.94);
    will-change: transform;
    cursor: grab; user-select: none;
  }
  .tst2-track:active{ cursor: grabbing; }

  /* Avatares */
  .tst2-avatar--A{ background: linear-gradient(135deg, var(--blue-600), var(--navy-800)); }
  .tst2-avatar--B{ background: linear-gradient(135deg, var(--gold-light), var(--gold)); }
  .tst2-avatar--C{ background: linear-gradient(135deg, var(--blue-400), var(--blue-600)); }
  .tst2-avatar--D{ background: linear-gradient(135deg, var(--navy-800), var(--blue-400)); }
  .tst2-avatar--E{ background: linear-gradient(135deg, #1FB46A, #12804A); }
  .tst2-avatar--F{ background: linear-gradient(135deg, var(--gold-light), var(--gold)); }

  /* Card */
  .tst2-card{
    min-width: 340px; max-width: 340px;
    flex-shrink: 0;
    background: rgba(1,28,107,.55);
    border: 1px solid rgba(91,134,255,.18);
    border-radius: 16px;
    padding: 28px 26px 24px;
    display: flex; flex-direction: column; gap: 18px;
    position: relative; overflow: hidden;
    transition: border-color .3s, transform .25s, box-shadow .3s;
  }
  /* Faixa vermelha esquerda */
  .tst2-card::before{
    content: '';
    position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
    background: linear-gradient(to bottom, var(--blue-600), var(--gold));
    border-radius: 14px 0 0 14px;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .35s ease;
  }
  .tst2-card:hover{
    border-color: rgba(91,134,255,.45);
    transform: translateY(-4px);
    box-shadow: 0 20px 44px -12px rgba(0,0,0,.6);
  }
  .tst2-card:hover::before{ transform: scaleY(1); }

  /* Estrelas — amarelas */
  .tst2-stars{
    display: flex; gap: 4px;
    color: var(--star);
    filter: drop-shadow(0 0 6px rgba(245,184,46,.35));
    position: relative; z-index: 1;
  }

  /* Texto */
  .tst2-text{
    font-size: 14.5px; line-height: 1.75;
    color: rgba(255,255,255,.88);
    margin: 0; font-style: normal;
    flex: 1; position: relative; z-index: 1;
  }

  /* Autor */
  .tst2-author{
    display: flex; align-items: center; gap: 12px;
    padding-top: 18px;
    border-top: 1px solid rgba(91,134,255,.12);
    position: relative; z-index: 1;
  }
  .tst2-avatar{
    width: 42px; height: 42px; border-radius: 50%;
    color: var(--chalk);
    font-family: 'Sora', sans-serif;
    font-size: 12px; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,.4);
  }
  .tst2-avatar--foto img{
    width: 100%; height: 100%;
    object-fit: cover; border-radius: 50%;
  }
  .tst2-name{
    display: block;
    font-family: 'Sora', sans-serif;
    font-size: 13.5px; font-weight: 700;
    color: var(--chalk);
  }
  .tst2-role{
    display: block;
    font-size: 11px; color: rgba(195,204,232,.5);
    margin-top: 2px; line-height: 1.4;
    font-family: 'IBM Plex Mono', monospace;
  }

  /* Dots */
  .tst2-dots{
    display: flex; gap: 7px;
    justify-content: center; margin-top: 8px;
  }
  .tst2-dot{
    height: 6px; width: 6px; border-radius: 3px;
    background: rgba(91,134,255,.2);
    border: none; padding: 0; cursor: pointer;
    transition: all .4s cubic-bezier(.34,1.56,.64,1);
  }
  .tst2-dot.active{
    width: 28px; border-radius: 3px;
    background: var(--gold);
  }

  /* Controles */
  .tst2-controls{
    display: flex; align-items: center; justify-content: center;
    gap: 10px; margin-top: 28px;
  }
  .tst2-btn{
    width: 42px; height: 42px; border-radius: 50%;
    background: rgba(91,134,255,.07);
    border: 1px solid rgba(91,134,255,.2);
    color: var(--chalk-dim);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all .22s;
  }
  .tst2-btn:hover{
    background: rgba(91,134,255,.16);
    border-color: rgba(91,134,255,.5);
    color: var(--white);
    transform: scale(1.1);
  }
  .tst2-btn--pause{
    background: rgba(2,59,230,.25);
    border-color: rgba(91,134,255,.45);
    color: var(--white);
  }
  .tst2-btn--pause:hover{
    background: var(--blue-600);
    border-color: var(--blue-600);
    color: var(--white);
  }

  /* Responsivo */
  @media (max-width: 900px){
    .tst2-h2{ font-size: 28px; }
    .tst2-metrics{ padding: 22px 24px; }
    .tst2-metric-num{ font-size: 28px; }
    .tst2-metric-sep{ margin: 0 20px; }
    .tst2-card{ min-width: 300px; max-width: 300px; }
  }
  @media (max-width: 600px){
    .tst2-h2{ font-size: 24px; }
    .tst2-metrics{ flex-direction: column; gap: 20px; padding: 24px 20px; }
    .tst2-metric-sep{ width: 48px; height: 1px; margin: 0; }
    .tst2-card{ min-width: calc(100vw - 72px); max-width: calc(100vw - 72px); }
    .tst2-fade-left, .tst2-fade-right{ width: 24px; }
  }

/* ---------- DIAGNÓSTICO GRATUITO ---------- */
  .diag{
    background:
      radial-gradient(ellipse 45% 40% at 0% 0%, rgba(2,59,230,0.07), transparent 70%),
      radial-gradient(ellipse 40% 35% at 100% 100%, rgba(var(--accent-rgb),0.08), transparent 70%),
      var(--surface);
  }
  .diag .section-head.center{text-align:center;}
  .diag-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:18px;}
  .diag-card{
    position:relative; background:#fff; border:1px solid var(--border); border-radius:16px;
    padding:28px 26px 26px; box-shadow:0 1px 2px rgba(11,21,48,0.04);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .diag-card.reveal{transition-delay:calc(var(--i) * 70ms);}
  .diag-card:hover{transform:translateY(-3px); border-color:#C7D3F5; box-shadow:0 18px 40px -20px rgba(1,28,107,0.35);}
  .diag-icon{
    width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--blue-600), var(--navy-800)); color:#fff; margin-bottom:18px;
    box-shadow:0 10px 22px -10px rgba(2,59,230,0.7);
  }
  .diag-icon svg{width:22px; height:22px;}
  .diag-num{position:absolute; top:24px; right:26px; font-family:'Sora', sans-serif; font-weight:800; font-size:28px; color:rgba(var(--accent-rgb),0.35); line-height:1;}
  .diag-card h3{font-size:18px; color:var(--ink); margin-bottom:8px;}
  .diag-card p{font-size:14.5px; line-height:1.65; color:var(--ink-dim);}

  .diag-how{
    margin-top:28px; border-radius:18px; padding:26px 30px;
    background:linear-gradient(135deg, var(--navy-950) 0%, var(--navy-900) 100%);
    display:flex; align-items:center; justify-content:space-between; gap:28px;
    box-shadow:0 24px 50px -24px rgba(1,17,66,0.6);
  }
  .diag-steps{list-style:none; display:flex; gap:20px; flex:1; min-width:0;}
  .diag-steps li{flex:1; display:flex; align-items:center; gap:10px; color:var(--white); font-size:14px; font-weight:600; line-height:1.35;}
  .diag-step-n{
    flex:0 0 30px; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:rgba(var(--accent-rgb),0.15); border:1px solid rgba(var(--accent-rgb),0.5); color:var(--gold);
    font-family:'Sora', sans-serif; font-weight:800; font-size:13px;
  }
  .diag-cta{display:flex; flex-direction:column; align-items:center; gap:9px; flex-shrink:0;}
  .diag-cta .btn{font-size:15px; padding:14px 24px;}
  .diag-note{font-size:12px; color:var(--white-dim);}
  @media (max-width:900px){
    .diag-how{flex-direction:column; align-items:stretch; padding:24px 22px;}
    .diag-steps{flex-direction:column; gap:14px;}
    .diag-steps li{max-width:none;}
    .diag-cta .btn{justify-content:center;}
  }
  @media (max-width:640px){ .diag-grid{grid-template-columns:1fr;} }

/* ---------- QUEM ESTÁ POR TRÁS ---------- */
  .about{
    background:
      radial-gradient(ellipse 50% 60% at 15% 40%, rgba(2,59,230,0.30), transparent 70%),
      var(--navy-950);
    color:var(--white); position:relative; overflow:hidden;
  }
  .about-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center;}
  .about-photo{position:relative; max-width:360px; margin:0 auto; width:100%;}
  .about-photo-frame{
    aspect-ratio:4/5; border-radius:24px; overflow:hidden; position:relative;
    background:linear-gradient(160deg, var(--blue-600), var(--navy-800) 60%, var(--navy-900));
    box-shadow:0 30px 70px -25px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.08);
    display:flex; align-items:center; justify-content:center;
  }
  .about-photo-frame::after{content:""; position:absolute; inset:0; border-radius:24px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.10); pointer-events:none;}
  .about-photo-frame img{width:100%; height:100%; object-fit:cover;}
  .about-initials{font-family:'Sora', sans-serif; font-weight:800; font-size:96px; color:rgba(255,255,255,0.92); letter-spacing:-0.02em;}
  .about-namecard{
    position:absolute; left:50%; bottom:-22px; transform:translateX(-50%); width:max-content; max-width:92%;
    background:#fff; color:var(--ink); border-radius:14px; padding:12px 18px; text-align:center;
    box-shadow:0 18px 40px -16px rgba(0,0,0,0.55);
    border-top:3px solid var(--gold);
  }
  .about-namecard strong{display:block; font-family:'Sora', sans-serif; font-size:15px;}
  .about-namecard span{display:block; font-size:12px; color:var(--ink-dim); margin-top:2px;}
  .about-eyebrow{color:var(--gold); margin-bottom:12px;}
  .about-text h2{font-size:34px; font-weight:800; letter-spacing:-0.02em; color:var(--white); margin-bottom:18px;}
  .about-text p{font-size:16px; line-height:1.7; color:var(--white-dim); margin-bottom:14px;}
  .about-badges{display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 26px;}
  .about-badges li{
    display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--white);
    padding:8px 14px; border-radius:100px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12);
  }
  .about-badges svg{width:14px; height:14px; color:var(--gold);}
  .about-offer{
    border-radius:16px; padding:20px 22px; position:relative;
    background:linear-gradient(135deg, rgba(var(--accent-rgb),0.12), rgba(var(--accent-rgb),0.04));
    border:1px solid rgba(var(--accent-rgb),0.35);
  }
  .about-offer strong{display:block; font-family:'Sora', sans-serif; font-size:16px; color:var(--white); margin-bottom:6px;}
  .about-offer p{font-size:14.5px; margin-bottom:12px; color:var(--white-dim);}
  .about-offer-link{font-weight:700; font-size:14px; color:var(--gold); transition:color .2s ease;}
  .about-offer-link:hover{color:var(--gold-light);}
  @media (max-width:860px){
    .about-grid{grid-template-columns:1fr; gap:56px;}
    .about-photo{max-width:280px;}
    .about-text h2{font-size:28px;}
  }

  /* Frase de destaque das etapas da jornada */
  .jstep-stat::before{content:"→ "; font-weight:800;}

/* ---------- FAQ ---------- */
  .faq{background:var(--surface); padding: 120px 0;}
  .faq-item{background:#fff; border:1px solid var(--border); border-radius:12px; margin-bottom:12px; transition:border-color .2s ease, box-shadow .2s ease;}
  .faq-item:hover{border-color:#C7D3F5;}
  .faq-item.open{border-color:var(--blue-600); box-shadow:0 10px 30px -14px rgba(2,59,230,0.35);}
  .faq-q{
    width:100%; display:flex; align-items:center; justify-content:space-between;
    padding:20px 22px; font-size:15.5px; font-weight:600; text-align:left; color:var(--ink);
  }
  .faq-q .plus{font-family:'Sora', sans-serif; font-size:18px; color:var(--blue-600); width:30px; height:30px; border-radius:50%; background:var(--blue-50); display:flex; align-items:center; justify-content:center; line-height:1; transition:transform .25s ease; flex-shrink:0; margin-left:14px;}
  .faq-item.open .faq-q .plus{transform:rotate(45deg); background:var(--blue-600); color:#fff;}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-a p{font-size:14.5px; color:var(--ink-dim); line-height:1.7; padding:0 22px 22px;}

/* ---------- FINAL CTA ---------- */
  .final{background:radial-gradient(ellipse 70% 90% at 50% 0%, rgba(91,134,255,0.45), transparent 70%), linear-gradient(135deg, var(--blue-600) 0%, var(--navy-800) 55%, var(--navy-900) 100%); color:var(--white); position:relative; overflow:hidden; text-align:center;}
  .final::before{content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px); background-size:56px 56px; -webkit-mask-image:radial-gradient(ellipse at center, #000 20%, transparent 70%); mask-image:radial-gradient(ellipse at center, #000 20%, transparent 70%); pointer-events:none;}
  .final-inner{position:relative; z-index:2; max-width:620px; margin:0 auto;}
  .final h2{font-size:38px; font-weight:800; margin-bottom:16px; letter-spacing:-0.02em;}
  .final h2 .accent{color:var(--gold);}
  .final p, #main-content .final .final-inner > p{font-size:16.5px; color:#FFFFFF; opacity:.92; line-height:1.6; margin-bottom:30px;}
  .final .btn{font-size:15.5px; padding:16px 30px; background:#fff; color:var(--blue-600); border-color:#fff; box-shadow:0 14px 34px -10px rgba(0,0,0,0.45);}
  .final .btn:hover{background:var(--gold); color:#fff; border-color:var(--gold);}

  /* ---------- FOOTER (Elite V6) ---------- */
  .site-footer{
    background:#010D33;
    padding:80px 0 50px;
    color:var(--white-dim);
    font-size:14px;
    line-height:1.7;
    border-top:none;
    position:relative;
  }
  .site-footer::before{
    content:'';
    position:absolute;
    top:0; left:0; right:0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(91,134,255,.5), transparent);
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    gap:60px;
    margin-bottom:60px;
    padding-bottom:60px;
    border-bottom:1px solid rgba(255,255,255,0.07);
  }

  /* Coluna 1 — info */
  .footer-info{}
  .f-logo-wrapper{display:flex; align-items:center; margin-bottom:12px;}
  .f-logo-image{display:block; height:50px; width:auto; object-fit:contain;}
  .f-logo{font-family:'Sora', sans-serif; font-weight:800; font-size:26px; color:var(--chalk); letter-spacing:-0.02em;}
  .f-logo span{color:var(--gold);}
  .f-tagline{color:var(--chalk); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:.08em; margin:0 0 20px; opacity:.85;}

  .f-cnpj{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px; opacity:.7; margin-bottom:6px;
    display:flex; align-items:center; gap:7px;
  }
  .f-cnpj i{color:var(--blue-400);}
  .f-address{
    font-size:13.5px; opacity:.75; margin-bottom:6px;
    display:flex; align-items:flex-start; gap:7px;
  }
  .f-address i{color:var(--blue-400); margin-top:3px; flex-shrink:0;}
  .f-email{
    font-size:13.5px; margin-bottom:6px;
    display:flex; align-items:center; gap:7px;
  }
  .f-email i{color:var(--blue-400);}
  .f-email a{color:var(--chalk-dim); text-decoration:none; transition:color .2s;}
  .f-email a:hover{color:var(--white);}

  /* Redes sociais */
  .f-social{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; margin-bottom:20px;}
  .social-link{
    display:flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,0.07);
    color:var(--chalk);
    font-size:15px;
    transition:all .2s ease;
    text-decoration:none;
    border:1px solid rgba(255,255,255,0.08);
  }
  .social-link:hover{transform:translateY(-3px); border-color:transparent;}
  .social-link--instagram:hover{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color:#fff;}
  .social-link--facebook:hover{background:#1877f2; color:#fff;}
  .social-link--linkedin:hover{background:#0077b5; color:#fff;}
  .social-link--youtube:hover{background:#ff0000; color:#fff;}
  .social-link--tiktok:hover{background:#010101; color:#fff; box-shadow:0 0 0 2px #69c9d0;}
  .social-link--reclameaqui:hover{background:#00b038; color:#fff;}
  .social-link svg{display:block; pointer-events:none;}
  .f-cnpj svg, .f-address svg, .f-email svg{color:var(--blue-400); flex-shrink:0; margin-top:2px;}

  /* Reclame Aqui badge */
  .f-trust-badges{margin-top:8px;}
  .f-ra-badge{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(0,176,56,.1);
    border:1px solid rgba(0,176,56,.25);
    border-radius:8px;
    padding:8px 14px;
    color:var(--chalk-dim);
    text-decoration:none;
    font-size:12.5px;
    transition:all .2s;
  }
  .f-ra-badge svg{color:#00b038; flex-shrink:0;}
  .f-ra-badge strong{color:#00b038;}
  .f-ra-badge:hover{background:rgba(0,176,56,.18); border-color:rgba(0,176,56,.5); transform:translateY(-1px);}

  /* Coluna 2 — nav */
  .footer-nav{}
  .f-col-title{
    font-family:'Sora', sans-serif;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--gold);
    margin:0 0 20px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .f-nav-list{list-style:none; margin:0 0 30px; padding:0;}
  .f-nav-list li{margin-bottom:2px;}
  .f-nav-list a{
    color:var(--chalk-dim);
    text-decoration:none;
    font-size:14px;
    padding:5px 0;
    display:inline-flex;
    align-items:center;
    gap:6px;
    transition:color .2s, gap .2s;
    opacity:.85;
  }
  .f-nav-list a::before{
    content:'→';
    font-size:12px;
    color:var(--blue-400);
    opacity:0;
    transition:opacity .2s, transform .2s;
    transform:translateX(-4px);
  }
  .f-nav-list a:hover{color:var(--chalk); opacity:1; gap:10px;}
  .f-nav-list a:hover::before{opacity:1; transform:translateX(0);}

  /* CTA block no rodapé */
  .f-cta-block{
    margin-top:30px;
    padding:22px;
    background:linear-gradient(135deg, rgba(2,59,230,0.18), rgba(1,28,107,0.3));
    border:1px solid rgba(91,134,255,0.22);
    border-radius:14px;
    text-align:center;
  }
  .f-cta-text{font-size:13px; color:var(--chalk-dim); margin:0 0 14px; opacity:.8;}
  .f-cta-btn{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--blue-600);
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    padding:12px 22px;
    border-radius:10px;
    transition:all .2s;
    font-family:'Sora', sans-serif;
  }
  .f-cta-btn:hover{background:var(--blue-700); transform:translateY(-2px); box-shadow:0 6px 20px rgba(2,59,230,.3);}
  .f-cta-btn i{font-size:11px;}

  /* Footer bottom */
  .footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
  }
  .f-copy{font-size:12px; opacity:.55;}
  .f-privacy-links{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
  .f-privacy{opacity:.4; font-size:11px;}

  @media (max-width: 768px) {
    .footer-grid{grid-template-columns:1fr; gap:40px; margin-bottom:40px; padding-bottom:40px;}
    .footer-bottom{flex-direction:column; text-align:center; gap:12px;}
    .site-footer{padding:60px 0 120px;}
    .f-social{justify-content:center;}
    .f-trust-badges{text-align:center;}
    .footer-nav{text-align:center;}
    .f-nav-list a::before{display:none;}
  }

  /* ---------- STICKY MOBILE BAR ---------- */
  .sticky-bar{
    position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:rgba(1,17,66,0.96); backdrop-filter:blur(10px); border-top:1px solid rgba(91,134,255,0.3);
    padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px;
    transform:translateY(100%); transition:transform .3s ease;
  }
  .sticky-bar.show{transform:translateY(0);}
  .sticky-bar span{color:var(--chalk); font-size:13px; font-weight:600;}
  .sticky-bar .btn{padding:10px 16px; font-size:13px; flex-shrink:0;}
  @media (min-width:861px){ .sticky-bar{display:none;} }

  /* ---------- EXIT MODAL ---------- */
  .modal-overlay{
    position:fixed; inset:0; background:rgba(1,17,66,0.75); z-index:90;
    display:none; align-items:center; justify-content:center; padding:20px;
  }
  .modal-overlay.show{display:flex;}
  .modal-box{
    background:#fff; max-width:420px; width:100%; border-radius:18px;
    padding:32px 28px 26px; position:relative; box-shadow:0 30px 60px -20px rgba(0,0,0,0.6);
  }
  .modal-close{position:absolute; top:14px; right:16px; font-size:20px; color:var(--ink-dim); line-height:1;}
  .modal-close:hover{color:var(--pen-red);}
  .modal-box h3{font-size:19px; margin-bottom:8px;}
  .modal-box .sub{font-size:13.5px; color:var(--ink-dim); margin-bottom:18px; line-height:1.5;}

/* ---------- WORDPRESS: ajustes extras do tema ---------- */

/* Botão flutuante de WhatsApp */
	.zyden-whatsapp-float{
	  position:fixed; right:20px; bottom:20px; z-index:65;
	  width:48px; height:48px; border-radius:50%;
	  background:#25D366; color:#fff;
	  display:flex; align-items:center; justify-content:center;
	  box-shadow:0 8px 20px -6px rgba(0,0,0,0.45);
	  transition:all .15s ease;
	  opacity: 0.7; /* Mais discreto para não roubar a conversão do formulário */
	}
	.zyden-whatsapp-float:hover{ opacity: 1; transform:scale(1.1); }
@media (max-width:860px){
  .zyden-whatsapp-float{ right:14px; bottom:84px; width:50px; height:50px; } /* acima da sticky-bar */
}

/* Template "Tela Cheia / Elementor" — remove qualquer respiro extra do tema
   para que o conteúdo montado no Elementor controle 100% do layout. */
.zyden-canvas{ padding:0; margin:0; }

/* Bloco de conteúdo padrão do WordPress (the_content) em páginas genéricas,
   como a área de texto livre da página de Obrigado. */
#main-content article, #main-content .wrap:not(.final-inner) > p{
  font-size:15.5px; line-height:1.7; color:var(--ink-dim);
}

/* Garante que imagens inseridas via editor do WordPress sigam o mesmo
   comportamento responsivo do restante do tema. */
.wp-block-image img, #main-content img{ border-radius:3px; }

/* Acessibilidade: foco visível em links e botões ao navegar por teclado. */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2.5px solid var(--blue-400);
  outline-offset:2px;
}

/* Estrela da métrica de avaliação: sempre amarela */
.tst2-metric-plus.tst2-metric-star{ color: var(--star); }

/* Cabeçalho da jornada centralizado */
.journey .section-head{max-width:720px; margin-left:auto; margin-right:auto; text-align:center;}
.journey-h2{font-size:34px; font-weight:800; letter-spacing:-0.02em;}
@media (max-width:900px){ .diag-cta{text-align:center;} .diag-cta .btn{text-align:center;} }

/* ---------- PÁGINAS DE TEXTO (Política de Privacidade etc.) ---------- */
.zyden-page-content{background:var(--surface);}
.zyden-page-content article{max-width:760px; margin:0 auto; background:#fff; border:1px solid var(--border); border-radius:20px; padding:48px 52px; box-shadow:0 20px 50px -30px rgba(1,28,107,0.25);}
.zyden-page-content article h1{font-size:36px; font-weight:800; color:var(--ink); letter-spacing:-0.02em; margin-bottom:10px; padding-bottom:20px; border-bottom:3px solid transparent; border-image:linear-gradient(90deg, var(--blue-600), var(--gold)) 1;}
.zyden-page-content article h2{font-size:20px; color:var(--ink); margin:36px 0 12px;}
.zyden-page-content article p, .zyden-page-content article li{font-size:15.5px; line-height:1.75; color:var(--ink-dim);}
.zyden-page-content article p{margin-bottom:14px;}
.zyden-page-content article ul{list-style:none; margin:0 0 16px; padding:0;}
.zyden-page-content article li{position:relative; padding-left:22px; margin-bottom:8px;}
.zyden-page-content article li::before{content:""; position:absolute; left:4px; top:11px; width:7px; height:7px; border-radius:50%; background:var(--gold);}
.zyden-page-content article a{color:var(--blue-600); text-decoration:underline; text-underline-offset:3px;}
.zyden-page-content article strong{color:var(--ink);}
@media (max-width:640px){
  .zyden-page-content article{padding:30px 22px; border-radius:16px;}
  .zyden-page-content article h1{font-size:28px;}
}

/* Links de privacidade (formulários e rodapé) */
.form-note a{color:var(--blue-600); text-decoration:underline; text-underline-offset:2px;}
.f-privacy-link{font-size:12px; color:var(--white-dim); text-decoration:underline; text-underline-offset:3px; transition:color .2s ease;}
.f-privacy-link:hover{color:var(--white);}
.zyden-page-content article a.page-back{display:inline-block; margin-bottom:18px; font-size:13.5px; font-weight:600; color:var(--blue-600); text-decoration:none;}
.zyden-page-content article a.page-back:hover{text-decoration:underline;}
