  :root{
    --bg:#0a0806;
    --bg-raised:#121009;
    --ink:#f5f1ec;
    --ink-dim:#c9c2b8;
    --ink-mute:#8c8378;
    --line:#2a241d;
    --orange:#df4710;
    --orange-bright:#ff6a33;
    --ember:#8f2e0b;
    --glass:rgba(245,241,236,0.04);
    color-scheme: dark;
    --font-display: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --font-body: -apple-system, "Segoe UI", system-ui, sans-serif;
    --font-mono: "SF Mono", "JetBrains Mono", ui-monospace, "Courier New", monospace;
  }

  *{ box-sizing:border-box; }
  html{ background:var(--bg); }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    position:relative;
  }

  /* ---------- ambient glow field ---------- */
  body::before, body::after{
    content:"";
    position:fixed;
    z-index:0;
    pointer-events:none;
    filter:blur(2px);
  }
  body::before{
    top:-20%; left:-15%;
    width:70vw; height:70vw;
    background:radial-gradient(circle, rgba(223,71,16,0.28) 0%, rgba(223,71,16,0.08) 40%, transparent 70%);
  }
  body::after{
    bottom:-25%; right:-15%;
    width:80vw; height:80vw;
    background:radial-gradient(circle, rgba(223,71,16,0.22) 0%, rgba(223,71,16,0.06) 40%, transparent 70%);
  }

  .noise-line{
    position:fixed; inset:0; z-index:0; pointer-events:none;
    background:
      linear-gradient(90deg, rgba(245,241,236,0.02) 1px, transparent 1px);
    background-size: 64px 100%;
    opacity:.4;
  }

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

  .wrap{ max-width:1240px; margin:0 auto; padding:0 32px; position:relative; z-index:1; }
  @media (max-width:720px){ .wrap{ padding:0 20px; } }

  .eyebrow{
    font-family:var(--font-mono);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.72rem;
    color:var(--orange-bright);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px; height:1px;
    background:var(--orange-bright);
    display:inline-block;
  }

  h1,h2,h3{
    font-family:var(--font-display);
    font-weight:800;
    letter-spacing:-0.03em;
    transform:scaleX(0.97);
    transform-origin:left center;
    text-wrap:balance;
    margin:0;
    color:var(--ink);
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-family:var(--font-body);
    font-weight:600;
    font-size:.95rem;
    padding:15px 30px;
    border-radius:6px;
    text-decoration:none;
    cursor:pointer;
    border:1px solid transparent;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:linear-gradient(180deg, var(--orange-bright), var(--orange));
    color:#160a04;
    box-shadow:0 0 0 1px rgba(255,255,255,0.08) inset, 0 8px 30px -8px rgba(223,71,16,.7);
  }
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 0 0 1px rgba(255,255,255,0.12) inset, 0 14px 40px -8px rgba(223,71,16,.9); }
  .btn-ghost{
    background:transparent;
    color:var(--ink);
    border-color:var(--line);
  }
  .btn-ghost:hover{ border-color:var(--orange); color:var(--orange-bright); }

  /* ---------- nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    backdrop-filter:blur(14px);
    background:rgba(10,8,6,0.72);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 0;
  }
  .logo{
    text-decoration:none;
    display:flex; align-items:center;
  }
  .logo-img{
    height:26px; width:auto; display:block;
  }
  .nav-links{
    display:flex; gap:34px; list-style:none; margin:0; padding:0;
  }
  .nav-links a{
    font-size:.88rem; text-decoration:none; color:var(--ink-dim);
    transition:color .2s ease;
  }
  .nav-links a:hover{ color:var(--orange-bright); }
  .nav-cta{ display:flex; align-items:center; gap:18px; }
  @media (max-width:860px){ .nav-links{ display:none; } }

  /* ---------- reveal ---------- */
  .reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
  .reveal.is-visible{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

  /* ---------- hero ---------- */
  .hero{ padding:96px 0 60px; position:relative; }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
  }
  @media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; } }

  .hero h1{ font-size:clamp(2.4rem, 5vw, 4.1rem); line-height:1.02; margin:22px 0 24px; }
  .hero h1 em{ font-style:normal; color:var(--orange-bright); }
  .hero p.lede{ font-size:1.12rem; color:var(--ink-dim); max-width:520px; margin:0 0 34px; }
  .hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:38px; }

  .proof-row{ display:flex; align-items:center; gap:14px; }
  .avatars{ display:flex; }
  .avatars span{
    width:34px; height:34px; border-radius:50%;
    border:2px solid var(--bg);
    margin-left:-10px;
    font-family:var(--font-mono); font-size:.62rem; font-weight:700;
    display:flex; align-items:center; justify-content:center;
    color:#1a0d05;
  }
  .avatars span:first-child{ margin-left:0; }
  .avatars span:nth-child(1){ background:#f2b28d; }
  .avatars span:nth-child(2){ background:#e8916a; }
  .avatars span:nth-child(3){ background:var(--orange-bright); }
  .avatars span:nth-child(4){ background:#c96a34; }
  .proof-row small{ color:var(--ink-mute); font-size:.85rem; }

  /* hero visual */
  .hero-visual{ position:relative; height:460px; }
  .orbit-field{
    position:absolute; inset:0;
    border-radius:18px;
    background:
      radial-gradient(circle at 30% 20%, rgba(223,71,16,.35), transparent 55%),
      radial-gradient(circle at 75% 75%, rgba(223,71,16,.2), transparent 50%),
      linear-gradient(155deg, #161008, #0a0705 60%);
    border:1px solid var(--line);
    overflow:hidden;
  }
  .orbit-field svg{ position:absolute; inset:0; width:100%; height:100%; opacity:.55; }
  .float-card{
    position:absolute;
    background:rgba(18,16,9,0.75);
    backdrop-filter:blur(10px);
    border:1px solid rgba(223,71,16,.35);
    border-radius:10px;
    padding:14px 18px;
    box-shadow:0 0 30px -6px rgba(223,71,16,.35);
    display:flex; align-items:center; gap:10px;
    font-size:.86rem; font-weight:600;
    animation:drift 7s ease-in-out infinite;
  }
  .float-card .dot{ width:7px; height:7px; border-radius:50%; background:var(--orange-bright); box-shadow:0 0 10px 2px rgba(255,106,51,.9); flex-shrink:0; }
  .float-card.c1{ top:8%; left:6%; animation-delay:0s; }
  .float-card.c2{ top:44%; right:4%; animation-delay:1.4s; }
  .float-card.c3{ bottom:9%; left:16%; animation-delay:2.8s; }
  @keyframes drift{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }
  @media (prefers-reduced-motion:reduce){ .float-card{ animation:none; } }
  @media (max-width:980px){ .hero-visual{ height:340px; } .float-card{ font-size:.76rem; padding:10px 14px; } }

  /* ---------- section shell ---------- */
  section{ padding:100px 0; position:relative; }
  .section-head{ max-width:640px; margin-bottom:52px; }
  .section-head h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin-top:16px; }
  .section-head p{ color:var(--ink-dim); margin-top:16px; font-size:1.03rem; }

  /* ---------- professions grid ---------- */
  .prof-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  @media (max-width:1100px){ .prof-grid{ grid-template-columns:repeat(3,1fr); } }
  @media (max-width:700px){ .prof-grid{ grid-template-columns:repeat(2,1fr); } }
  .prof-card{
    background:var(--glass);
    border:1px solid var(--line);
    border-radius:10px;
    padding:26px 20px;
    transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease;
  }
  .prof-card:hover{
    transform:translateY(-6px);
    border-color:rgba(223,71,16,.55);
    background:rgba(223,71,16,0.06);
    box-shadow:0 20px 50px -20px rgba(223,71,16,.55), 0 0 0 1px rgba(223,71,16,.15) inset;
  }
  .prof-icon{
    width:38px; height:38px; margin-bottom:18px;
    color:var(--orange-bright);
  }
  .prof-card h3{ font-size:1.02rem; font-weight:700; margin-bottom:8px; letter-spacing:-0.01em; transform:none; }
  .prof-card p{ font-size:.86rem; color:var(--ink-mute); margin:0; }

  /* ---------- how it works ---------- */
  .flow{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative;
  }
  @media (max-width:820px){ .flow{ grid-template-columns:1fr; gap:36px; } }
  .flow::before{
    content:"";
    position:absolute; top:29px; left:calc(100%/6); right:calc(100%/6);
    height:1px;
    background:linear-gradient(90deg, var(--orange) 0%, rgba(223,71,16,.15) 100%);
  }
  @media (max-width:820px){ .flow::before{ display:none; } }
  .flow-step{ position:relative; padding:0 24px; text-align:left; }
  .flow-step:first-child{ padding-left:0; }
  .flow-step:last-child{ padding-right:0; }
  .flow-num{
    width:58px; height:58px; border-radius:50%;
    background:var(--bg-raised);
    border:1px solid var(--orange);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-mono); color:var(--orange-bright); font-size:.95rem;
    margin-bottom:22px; position:relative; z-index:2;
    box-shadow:0 0 24px -4px rgba(223,71,16,.6);
  }
  .flow-step h3{ font-size:1.3rem; margin-bottom:10px; }
  .flow-step p{ color:var(--ink-mute); font-size:.92rem; max-width:280px; }

  /* ---------- testimonials ---------- */
  .rail{
    display:flex; gap:20px; overflow-x:auto; padding-bottom:14px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .rail::-webkit-scrollbar{ height:6px; }
  .rail::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px; }
  .t-card{
    scroll-snap-align:start;
    flex:0 0 320px;
    background:var(--glass);
    border:1px solid var(--line);
    border-radius:12px;
    padding:26px;
    display:flex; flex-direction:column; gap:16px;
    transition:border-color .3s ease, box-shadow .3s ease;
  }
  .t-card:hover{ border-color:rgba(223,71,16,.5); box-shadow:0 20px 46px -22px rgba(223,71,16,.5); }
  .t-thumb{
    height:150px; border-radius:8px;
    background:linear-gradient(135deg, #2a1409, #120a05);
    position:relative; overflow:hidden;
    border:1px solid var(--line);
  }
  .t-thumb::after{
    content:""; position:absolute; inset:0;
    background:radial-gradient(circle at 70% 30%, rgba(223,71,16,.35), transparent 60%);
  }
  .play-btn{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:44px; height:44px; border-radius:50%;
    background:rgba(223,71,16,.9);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 0 24px -2px rgba(223,71,16,.9);
    z-index:2;
  }
  .play-btn svg{ width:14px; height:14px; fill:#160a04; margin-left:2px; }
  .t-quote{ font-size:.95rem; color:var(--ink-dim); line-height:1.55; }
  .t-person{ display:flex; align-items:center; gap:12px; margin-top:auto; }
  .t-avatar{
    width:38px; height:38px; border-radius:50%;
    background:linear-gradient(135deg, var(--orange-bright), var(--ember));
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-mono); font-weight:700; font-size:.78rem; color:#160a04;
    flex-shrink:0;
  }
  .t-person strong{ display:block; font-size:.88rem; }
  .t-person span{ display:block; font-size:.78rem; color:var(--ink-mute); }

  /* ---------- stats ---------- */
  .stats{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
  }
  @media (max-width:760px){ .stats{ grid-template-columns:repeat(2,1fr); } }
  .stat{
    background:var(--bg-raised);
    padding:36px 24px;
    text-align:center;
  }
  .stat b{
    display:block;
    font-family:var(--font-display);
    font-weight:800;
    font-size:2.4rem;
    color:var(--orange-bright);
    font-variant-numeric:tabular-nums;
    text-shadow:0 0 30px rgba(223,71,16,.5);
  }
  .stat span{ font-size:.82rem; color:var(--ink-mute); text-transform:uppercase; letter-spacing:.08em; }

  /* ---------- final cta ---------- */
  .cta-banner{
    border-radius:20px;
    padding:80px 48px;
    text-align:center;
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 20% 15%, rgba(255,106,51,.35), transparent 55%),
      radial-gradient(circle at 85% 85%, rgba(223,71,16,.3), transparent 55%),
      linear-gradient(180deg, #171009, #0a0705);
    border:1px solid rgba(223,71,16,.3);
  }
  .cta-banner h2{ font-size:clamp(2rem,4vw,3.1rem); max-width:680px; margin:0 auto 20px; }
  .cta-banner p{ color:var(--ink-dim); max-width:480px; margin:0 auto 34px; }
  @media (max-width:640px){ .cta-banner{ padding:56px 24px; } }

  /* ---------- footer ---------- */
  footer{ border-top:1px solid var(--line); padding:56px 0 40px; }
  .foot-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:36px; margin-bottom:40px; }
  .foot-links{ display:flex; gap:40px; flex-wrap:wrap; }
  .foot-col h4{ font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-mute); margin:0 0 14px; font-weight:600; }
  .foot-col a{ display:block; font-size:.9rem; color:var(--ink-dim); text-decoration:none; margin-bottom:10px; }
  .foot-col a:hover{ color:var(--orange-bright); }
  .foot-social{ display:flex; gap:14px; }
  .foot-social a{
    width:36px; height:36px; border-radius:50%; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    color:var(--ink-dim); transition:border-color .2s ease, color .2s ease;
  }
  .foot-social a:hover{ border-color:var(--orange); color:var(--orange-bright); }
  .foot-bottom{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
    padding-top:24px; border-top:1px solid var(--line);
    font-size:.8rem; color:var(--ink-mute);
  }

  /* ---------- inner-page hero ---------- */
  .page-hero{ padding:76px 0 56px; }
  .page-hero h1{ font-size:clamp(2.1rem,4.4vw,3.3rem); line-height:1.06; max-width:800px; margin:18px 0 20px; }
  .page-hero p.lede{ font-size:1.08rem; color:var(--ink-dim); max-width:600px; margin:0; }

  /* ---------- quem somos: audiences + mission ---------- */
  .audience-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  @media (max-width:700px){ .audience-grid{ grid-template-columns:1fr; } }
  .audience-card{ background:var(--glass); border:1px solid var(--line); border-radius:12px; padding:32px; }
  .audience-card .eyebrow{ margin-bottom:14px; }
  .audience-card h3{ font-size:1.2rem; margin-bottom:10px; }
  .audience-card p{ color:var(--ink-mute); font-size:.95rem; margin:0; line-height:1.6; }

  .mission-quote{
    position:relative; border:1px solid var(--line); border-radius:16px;
    padding:56px 40px; text-align:center;
    background:radial-gradient(circle at 50% 0%, rgba(223,71,16,.16), transparent 60%), var(--bg-raised);
  }
  .mission-quote .eyebrow{ display:inline-flex; margin-bottom:22px; }
  .mission-quote p{
    font-family:var(--font-display); font-weight:800; font-size:clamp(1.5rem,3vw,2.2rem);
    letter-spacing:-0.02em; color:var(--ink); max-width:720px; margin:0 auto; text-wrap:balance;
  }

  /* ---------- blog ---------- */
  .blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  @media (max-width:980px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } }
  .blog-card{
    background:var(--glass); border:1px solid var(--line); border-radius:12px;
    padding:26px; display:flex; flex-direction:column; gap:12px;
    transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
    text-decoration:none; color:inherit;
  }
  .blog-card:hover{ transform:translateY(-6px); border-color:rgba(223,71,16,.5); box-shadow:0 20px 46px -22px rgba(223,71,16,.5); }
  .blog-card time{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--orange-bright); }
  .blog-card h3{ font-size:1.08rem; font-weight:700; letter-spacing:-0.01em; transform:none; line-height:1.32; }
  .blog-card p{ font-size:.88rem; color:var(--ink-mute); margin:0; line-height:1.55; }
  .blog-card .read-more{ margin-top:auto; font-size:.82rem; font-weight:600; color:var(--orange-bright); display:inline-flex; align-items:center; gap:6px; }

  /* ---------- depoimentos: video grid + trailer ---------- */
  .trailer-card{
    position:relative; border-radius:16px; overflow:hidden;
    border:1px solid rgba(223,71,16,.3);
    background:radial-gradient(circle at 15% 10%, rgba(223,71,16,.2), transparent 55%), linear-gradient(160deg,#171009,#0a0705);
    padding:64px 40px; text-align:center; margin-bottom:24px;
  }
  .trailer-card .play-btn{ position:static; transform:none; margin:0 auto 22px; width:56px; height:56px; }
  .trailer-card .play-btn svg{ width:18px; height:18px; }
  .trailer-card .eyebrow{ justify-content:center; margin-bottom:16px; }
  .trailer-card h3{ font-size:clamp(1.4rem,3vw,2rem); margin-bottom:10px; }
  .trailer-card p{ color:var(--ink-dim); margin:0; }

  .video-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  @media (max-width:980px){ .video-grid{ grid-template-columns:repeat(3,1fr); } }
  @media (max-width:640px){ .video-grid{ grid-template-columns:repeat(2,1fr); } }
  .video-card{ display:flex; flex-direction:column; gap:10px; }
  .video-thumb{
    aspect-ratio:3/4; border-radius:10px;
    background:linear-gradient(135deg,#2a1409,#120a05);
    border:1px solid var(--line); position:relative; overflow:hidden;
    transition:border-color .3s ease, box-shadow .3s ease;
  }
  .video-thumb::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 60% 30%, rgba(223,71,16,.3), transparent 60%); }
  .video-card:hover .video-thumb{ border-color:rgba(223,71,16,.55); box-shadow:0 16px 40px -18px rgba(223,71,16,.55); }
  .video-card span{ font-size:.86rem; font-weight:600; text-align:center; }

  /* ---------- matricule-se: bonus, guarantee, pricing ---------- */
  .bonus-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  @media (max-width:1100px){ .bonus-grid{ grid-template-columns:repeat(3,1fr); } }
  @media (max-width:700px){ .bonus-grid{ grid-template-columns:repeat(2,1fr); } }
  .bonus-card{
    background:var(--glass); border:1px solid var(--line); border-radius:10px; padding:22px 18px;
    transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .bonus-card:hover{ transform:translateY(-4px); border-color:rgba(223,71,16,.5); box-shadow:0 16px 40px -18px rgba(223,71,16,.5); }
  .bonus-card .bonus-tag{ font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; color:var(--orange-bright); margin-bottom:10px; display:block; }
  .bonus-card h3{ font-size:.98rem; font-weight:700; margin-bottom:6px; transform:none; }
  .bonus-card p{ font-size:.82rem; color:var(--ink-mute); margin:0; }

  .guarantee-box{
    display:flex; gap:24px; align-items:flex-start;
    border:1px solid rgba(223,71,16,.35); border-radius:16px; padding:36px;
    background:radial-gradient(circle at 10% 10%, rgba(223,71,16,.12), transparent 55%), var(--bg-raised);
  }
  .guarantee-box svg{ width:44px; height:44px; flex-shrink:0; color:var(--orange-bright); }
  .guarantee-box h3{ font-size:1.2rem; margin-bottom:10px; }
  .guarantee-box p{ color:var(--ink-dim); font-size:.95rem; line-height:1.6; margin:0; }
  .guarantee-box small{ display:block; margin-top:10px; color:var(--ink-mute); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
  @media (max-width:640px){ .guarantee-box{ flex-direction:column; } }

  .pricing-card{
    max-width:440px; margin:0 auto; text-align:center;
    border:1px solid rgba(223,71,16,.4); border-radius:18px; padding:44px 36px;
    background:radial-gradient(circle at 50% 0%, rgba(223,71,16,.18), transparent 60%), var(--bg-raised);
    box-shadow:0 30px 70px -30px rgba(223,71,16,.4);
  }
  .pricing-card .old-price{ color:var(--ink-mute); text-decoration:line-through; font-size:.95rem; }
  .pricing-card .price{ font-family:var(--font-display); font-weight:800; font-size:3rem; color:var(--orange-bright); margin:6px 0; text-shadow:0 0 30px rgba(223,71,16,.5); }
  .pricing-card .price small{ font-size:1rem; font-weight:600; color:var(--ink-dim); }
  .pricing-card .installments{ color:var(--ink-dim); font-size:.9rem; margin-bottom:26px; }
  .pricing-card .btn{ width:100%; }
  .pricing-card .fine-print{ margin-top:16px; font-size:.78rem; color:var(--ink-mute); }
