  :root{
    --black: #050505;
    --black-2: #0e0e0e;
    --black-3: #161616;
    --white: #ffffff;
    --gold: #F6B400;
    --gold-deep: #C98A00;
    --gold-glow: rgba(246,180,0,0.45);
    --gray: #8a8a8a;
    --line: rgba(255,255,255,0.08);
    --ff-display: 'Bebas Neue', sans-serif;
    --ff-body: 'Montserrat', sans-serif;
  }
  
  *{margin:0;padding:0;box-sizing:border-box;}
  
  html{scroll-behavior:smooth;}
  
  body{
    background:var(--black);
    color:var(--white);
    font-family:var(--ff-body);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  
  img{max-width:100%;display:block;}
  
  a{color:inherit;text-decoration:none;}
  
  ul{list-style:none;}
  
  .container{max-width:1240px;margin:0 auto;padding:0 32px;}
  h1,h2,h3,h4{font-family:var(--ff-display);font-weight:400;letter-spacing:0.5px;line-height:0.95;}
  
  .eyebrow{
    font-family:var(--ff-body);
    font-weight:800;
    font-size:12px;
    letter-spacing:4px;
    text-transform:uppercase;
    color:var(--gold);
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{
    content:"";
    width:26px;height:2px;
    background:var(--gold);
    display:inline-block;
  }
  ::selection{background:var(--gold);color:#000;}

  /* SCROLL REVEAL */
  .reveal{opacity:0;transform:translateY(36px);transition:opacity 0.9s cubic-bezier(.2,.7,.2,1), transform 0.9s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal-scale{opacity:0;transform:scale(0.92);transition:opacity 0.8s ease, transform 0.8s cubic-bezier(.2,.7,.2,1);}
  .reveal-scale.in{opacity:1;transform:scale(1);}
  @media (prefers-reduced-motion: reduce){
    .reveal,.reveal-scale{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }
  /* BOLT SIGNATURE - background spine */
  .bolt-spine{
    position:absolute;
    top:0;left:50%;
    width:2px;height:100%;
    pointer-events:none;
    z-index:0;
  }
  /* BUTTONS */
  .btn{
    font-family:var(--ff-body);
    font-weight:800;
    font-size:14px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    padding:18px 34px;
    border-radius:100px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    border:none;
    transition:transform 0.35s cubic-bezier(.2,.7,.2,1), box-shadow 0.35s ease, background 0.35s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--gold);
    color:#0a0a0a;
    box-shadow:0 0 0 0 var(--gold-glow);
  }
  .btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 34px -6px var(--gold-glow), 0 0 40px -4px var(--gold-glow);
  }
  .btn-outline{
    background:transparent;
    color:var(--white);
    border:1.5px solid rgba(255,255,255,0.35);
  }
  .btn-outline:hover{
    border-color:var(--gold);
    color:var(--gold);
    transform:translateY(-3px);
  }
  .btn svg{width:16px;height:16px;flex-shrink:0;}
  /* NAV */
  header{
    position:fixed;top:0;left:0;right:0;
    z-index:1000;
    padding:22px 0;
    transition:background 0.4s ease, padding 0.4s ease, backdrop-filter 0.4s ease, border-color .4s ease;
    border-bottom:1px solid transparent;
  }
  header.scrolled{
    background:rgba(5,5,5,0.85);
    backdrop-filter:blur(14px);
    padding:14px 0;
    border-bottom:1px solid var(--line);
  }
  nav{display:flex;align-items:center;justify-content:space-between;}
  .logo-desktop{display:block;}
  .logo-wrap{display:flex;align-items:center;gap:15px; flex-shrink: 0;}
  .logo-wrap img{height:64px;width:auto;transition:height .4s ease; flex-shrink: 0;}
  header.scrolled .logo-wrap img{height:56px;}
  .logo-mobile{display:none;}
  .nav-links{display:flex;gap:30px;align-items:center; margin-right: 20px; margin-left: 20px;}
  .nav-links a{
    font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
    position:relative;padding:4px 0;
    color:rgba(255,255,255,0.85);
    transition:color .3s ease;
  }
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);
    transition:width .35s cubic-bezier(.2,.7,.2,1);
  }
  .nav-links a:hover{color:var(--gold);}
  .nav-links a:hover::after{width:100%;}
  .nav-cta{display:flex;gap:14px;align-items:center;}
  .nav-cta .btn{padding:12px 24px;font-size:12px;}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;z-index:1200;}
  .burger span{width:26px;height:2px;background:var(--white);transition:transform .3s ease, opacity .3s ease;}

  .close-menu{
    position:absolute;
    top:22px;
    right:22px;

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:transparent;
    border:none;

    cursor:pointer;
    z-index:1200;
  }

  .close-menu span{
      position:absolute;
      width:28px;
      height:2px;
      background:#fff;
      border-radius:2px;

      transition:.3s ease;
  }

  .close-menu span:first-child{
      transform:rotate(45deg);
  }

  .close-menu span:last-child{
      transform:rotate(-45deg);
  }

  .close-menu:hover span{
      background:var(--gold);
  }

  /* HERO */
  .hero{
    position:relative;
    width: 100%;
    min-height:100svh;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:#000;
  }
  .hero-bg{
    position:absolute;inset:0;
    background-image:
      linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 35%, rgba(5,5,5,0.9) 100%),
      linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.15) 55%, rgba(0,0,0,0.75) 100%),
      url('/assets/img/Capa\ principal.jpeg');
    background-size:cover;
    background-position:center 75%;
    animation:heroZoom 22s ease-in-out infinite alternate;
  }
  @keyframes heroZoom{from{transform:scale(1);}to{transform:scale(1.08);}}
  .hero-bolt{
    position:absolute;
    right:-6%;
    top:-4%;
    height:112%;
    opacity:0.9;
    z-index:1;
    filter:drop-shadow(0 0 60px rgba(246,180,0,0.35));
  }
  .speedlines{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background:repeating-linear-gradient(100deg, rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 90px);
  }
  .hero-content{
    position:relative;z-index:2;
    width:100%;
    padding-bottom:9vh;
  }
  .hero-inner{max-width:780px;}
  .hero-inner p {text-align: justify;}
  .hero h1{
    font-size:clamp(48px, 8vw, 104px);
    text-transform:uppercase;
    margin-bottom:22px;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--gold);
    text-shadow:0 0 44px rgba(246,180,0,0.5);
  }
  .hero p.sub{
    font-size:18px;
    line-height:1.65;
    color:rgba(255,255,255,0.82);
    max-width:560px;
    margin-bottom:38px;
    font-weight:500;
  }
  .hero-ctas{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:48px;}
  .indicators{
    display:flex;flex-wrap:wrap;gap:28px 40px;
    border-top:1px solid var(--line);
    padding-top:26px;
  }
  .indicator{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;color:rgba(255,255,255,0.9);}
  .indicator i{font-size:18px; color:var(--gold);flex-shrink:0;}
  .scroll-cue{
    position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
    z-index:3;
    display:flex;flex-direction:column;align-items:center;gap:8px;
    color:rgba(255,255,255,0.6);
    font-size:10px;letter-spacing:3px;text-transform:uppercase;
    animation:bob 2.2s ease-in-out infinite;
  }
  @keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,10px);}}
  .scroll-cue .line{width:1px;height:34px;background:linear-gradient(var(--gold), transparent);}
  section{position:relative;padding:130px 0;}
  .section-tight{padding:100px 0;}
  /* SOBRE */
  .about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
  }
  .about-copy p{text-align: justify;}
  .about-media{position:relative}
  .about-media img{
    width:90%;aspect-ratio:4/5;object-fit:cover;
    margin-left: 60px;
    border-radius:6px;
    filter:grayscale(0.15) contrast(1.08);
  }
  .frame{
    position:absolute;
    top:-18px;right:-18px;
    width:70%;height:70%;
    border:2px solid var(--gold);
    border-radius:6px;
    z-index:-1;
  }
  .badge{
    position:absolute;
    bottom:-26px;left: 20px;
    background:var(--gold);
    color:#0a0a0a;
    padding:16px 20px;
    border-radius:6px;
    font-family:var(--ff-display);
    line-height:1;
    box-shadow:0 20px 40px -12px rgba(0,0,0,0.6);
  }
  .badge .num{font-size:30px;display:block;}
  .badge .lbl{font-family:var(--ff-body);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}

  .diff-wrap .badge{
    left: 5%;
    bottom: 8px;
    right: auto;
  }

  .about h2{font-size:clamp(34px,4.5vw,54px);text-transform:uppercase;margin-bottom:24px;}
  .about p{color:rgba(255,255,255,0.72);line-height:1.8;font-size:15.5px;margin-bottom:18px;}
  .audience-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
  .audience-tags span{
    border:1px solid var(--line);
    padding:9px 18px;
    border-radius:100px;
    font-size:12.5px;font-weight:700;letter-spacing:0.5px;
    transition:border-color .3s ease, color .3s ease;
  }
  .audience-tags span:hover{border-color:var(--gold);color:var(--gold);}
  /* SECTION HEADS */
  .section-head{max-width:640px;margin-bottom:64px;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .section-head h2{font-size:clamp(34px,5vw,58px);text-transform:uppercase;}
  .section-head p{color:rgba(255,255,255,0.65);font-size:16px;margin-top:16px;line-height:1.7;}
  /* BENEFICIOS */
  .benefits-wrap{background:var(--black-2);}
  .benefits-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
  }
  .benefit-card{
    background:var(--black-2);
    padding:40px 28px;
    transition:background .4s ease, transform .4s ease;
    position:relative;
  }
  .benefit-card:hover{background:#151107;transform:translateY(-4px);}
  .benefit-icon{
    width:52px;height:52px;
    border-radius:12px;
    background:rgba(246,180,0,0.1);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:22px;
    transition:background .3s ease, transform .3s ease;
  }
  .benefit-card:hover .benefit-icon{background:var(--gold);transform:rotate(-8deg) scale(1.05);}
  .benefit-icon i{font-size: 24px;color:var(--gold);transition:color .3s ease;}
  .benefit-card:hover .benefit-icon i{color:#0a0a0a;}
  .benefit-card h3{font-family:var(--ff-body);font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;}
  .benefit-card p{font-size:13.5px;color:var(--gray);line-height:1.6;}
  /* COMO FUNCIONA */
  .steps{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    position:relative;
  }
  .step{position:relative;padding:0 28px;text-align:center;}
  .step-bolt{
    display:flex;align-items:center;justify-content:center;
    margin-bottom:28px;
  }
  .step-bolt i{color:var(--gold);font-size:56px;}
  .step .stepnum{
    font-family:var(--ff-display);
    font-size:15px;
    letter-spacing:2px;
    color:var(--gold);
    margin-bottom:10px;
  }
  .step h3{font-size:24px;text-transform:uppercase;margin-bottom:12px;}
  .step p{font-size:13.5px;color:var(--gray);line-height:1.6;}
  .step-connector{
    position:absolute;top:28px;right:-50%;width:100%;height:1px;
    background:repeating-linear-gradient(90deg, rgba(246,180,0,0.4) 0 8px, transparent 8px 16px);
    z-index:0;
  }
  .step:last-child .step-connector{display:none;}
  /* DIFERENCIAIS */
  .diff-wrap{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:0;
    background:var(--black-2);
    border-radius:14px;
    overflow:hidden;
    border:1px solid var(--line);
  }
  .diff-media{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:30px;
    background:#000;
  }

  .diff-media .badge {
    position: absolute;
    left: 25%;
    bottom: 0px;

    margin: 0;
    width: auto;
    max-width: calc(100% - 48px);

    z-index: 3;
  }

  .video-diff{
      width:100%;
      max-width:650px;
      border-radius:12px;
      object-fit:cover;
      border:1px solid rgba(255,255,255,.08);
      box-shadow:
          0 20px 60px rgba(0,0,0,.45),
          0 0 30px rgba(246,180,0,.12);

      transition:.4s ease;
      height: auto;
      object-fit: contain;
      background: #000;
  }

  .video-diff:hover{
      transform:scale(1.015);
  }
  .diff-media::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(90deg, transparent 65%, var(--black-2) 100%); pointer-events: none;
  }
  .diff-content{padding:64px 56px;}
  .diff-content h2{font-size:clamp(30px,4vw,44px);text-transform:uppercase;margin-bottom:30px;}
  .diff-list{display:flex;flex-direction:column;gap:0;}
  .diff-item{
    display:flex;gap:18px;align-items:flex-start;
    padding:18px 0;
    border-bottom:1px solid var(--line);
  }
  .diff-item:last-child{border-bottom:none;}
  .diff-item i{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:2px;}
  .diff-item span{font-size:14.5px;font-weight:600;color:rgba(255,255,255,0.88);}
  
  /* Professores */
  .prof-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:26px;
  }
  .prof-card{
    background:var(--black-2);
    border:1px solid var(--line);
    border-radius:14px;
    padding:34px;
    transition:transform .8s cubic-bezier(.2,.7,.2,1), border-color .8s ease;
    position:relative;
    overflow: hidden;
  }

  .prof-hint{
    display:none;
  }

  .prof-card h1{
    font-size: 2rem;
    text-transform: uppercase;
    text-align: center;
    margin-top: 30px;
  }

  .prof-card img{
    width:100%;
    transition: .8s ease;
  }

  .prof-card-info{
    position:absolute;
    inset:0;
    padding:25px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#111;
    color:#fff;
    width: 100%;
    height: 100%;
    border-radius: 14px;

    padding-bottom: 70px;
    
    transform:translateY(100%);
    opacity:0;
    transition:.8s ease;
    
  }

  .prof-card-info h1{
    margin: 0;
    font-size: 2rem;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
  }

  .prof-card-info p{
      margin: 8px 0 30px;
      font-size: 1.2rem;
      text-align: center;
  }

  .prof-tags{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-top: 25px;
  }

  .prof-tags span{
      flex: 1 1 240px;
      min-height: 70px;
      max-width: 280px;

      display: flex;
      align-items: center;
      gap: 12px;

      padding: 14px 18px;

      color: #fff;
      background: rgba(255,255,255,.08);
      border: 2px solid rgba(255,255,255,.5);
      border-radius: 18px;

      font-size: .95rem;
      font-weight: 600;

      transition: .5s ease;
  }

  .prof-tags span i a{
      font-size: 1.6rem;
      flex-shrink: 0;
  }
  .prof-tags a{
    text-decoration: none;
    padding: 14px 18px;
    text-align: center;
    color: #fff;
    background: rgba(255,255,255,.08);
    border: 2px solid rgba(255,255,255,.5);
    border-radius: 18px;

    margin-top: 35px;
  }

  

  .prof-tags span:hover{
      background: rgba(255,255,255,.18);
      transform: translateY(-5px);
      box-shadow: 0 10px 20px rgba(0,0,0,.15);
  }


  /* PLANOS */
  .plans-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:26px;
    align-items:stretch;
  }
  .plan{
    background:var(--black-2);
    border:1px solid var(--line);
    border-radius:16px;
    padding:44px 34px;
    display:flex;flex-direction:column;
    transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
    position:relative;
  }
  .plan:hover{transform:translateY(-8px);}
  .plan.featured{
    background:linear-gradient(160deg, #1a1508, #0e0e0e 60%);
    border:1px solid var(--gold);
    box-shadow:0 30px 60px -20px rgba(246,180,0,0.25);
    transform:scale(1.04);
  }
  .plan.featured:hover{transform:scale(1.04) translateY(-8px);}
  .plan-tag{
    position:absolute;top:-14px;left:50%;transform:translateX(-50%);
    background:var(--gold);color:#0a0a0a;
    font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
    padding:8px 18px;border-radius:100px;
    white-space:nowrap;
  }
  .plan-name{font-family:var(--ff-display);font-size:26px;text-transform:uppercase;margin-bottom:6px;}
  .plan-desc{font-size:12.5px;color:var(--gray);margin-bottom:26px;}
  .plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:30px;}
  .plan-price .currency{font-size:16px;color:var(--gold);font-weight:800;}
  .plan-price .amount{font-family:var(--ff-display);font-size:52px;line-height:1;}
  .plan-price .period{font-size:13px;color:var(--gray);}
  .plan-features{flex:1;display:flex;flex-direction:column;gap:14px;margin-bottom:34px;}
  .plan-features li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:rgba(255,255,255,0.82);}
  .plan-features i{width:16px;height:16px;color:var(--gold);flex-shrink:0;margin-top:2px;}
  .plan .btn{justify-content:center;width:100%;}
  /* FAQ */
  .faq-wrap{max-width:820px;margin:0 auto;}
  .faq-item{
    border-bottom:1px solid var(--line);
  }
  .faq-q{
    display:flex;align-items:center;justify-content:space-between;
    padding:26px 4px;
    cursor:pointer;
    font-size:16.5px;font-weight:700;
  }
  .faq-q .plus{
    width:26px;height:26px;flex-shrink:0;
    position:relative;
    margin-left:20px;
  }
  .faq-q .plus::before,.faq-q .plus::after{
    content:"";position:absolute;background:var(--gold);
    top:50%;left:50%;transform:translate(-50%,-50%);
  }
  .faq-q .plus::before{width:16px;height:2px;}
  .faq-q .plus::after{width:2px;height:16px;transition:transform .35s ease;}
  .faq-item.open .plus::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
  .faq-a{
    max-height:0;overflow:hidden;
    transition:max-height .45s cubic-bezier(.2,.7,.2,1);
  }
  .faq-a-inner{padding:0 4px 26px;font-size:14.5px;color:rgba(255,255,255,0.65);line-height:1.75;max-width:640px;}
  /* CTA FINAL */
  .cta-final{
    background:#000;
    position:relative;
    overflow:hidden;
    padding:150px 0;
    text-align:center;
  }
  .cta-final::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 50% 40%, rgba(246,180,0,0.16), transparent 60%);
  }
  .cta-final h2{
    position:relative;z-index:1;
    font-size:clamp(40px,7vw,88px);
    text-transform:uppercase;
    margin-bottom:36px;
  }
  .cta-final h2 em{font-style:normal;color:var(--gold);}
  .cta-final .btn-primary{padding:24px 52px;font-size:16px;position:relative;z-index:1;}
  /* FOOTER */
  footer{background:var(--black-2);border-top:1px solid var(--line);padding:70px 0 30px;}
  .footer-top{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;
    padding-bottom:50px;border-bottom:1px solid var(--line);
  }
  .footer-brand .logo-wrap{margin-bottom:18px;}
  .footer-brand p{font-size:13.5px;color:var(--gray);line-height:1.7;max-width:280px;}
  .footer-col h4{font-family:var(--ff-body);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
  .footer-col ul{display:flex;flex-direction:column;gap:12px;}
  .footer-col a,.footer-col span{font-size:13.5px;color:rgba(255,255,255,0.68);transition:color .3s ease;}
  .footer-col a:hover{color:var(--gold);}
  .social-row{display:flex;gap:12px;margin-top:6px;}
  .social-row a{
    width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    transition:border-color .3s ease, background .3s ease;
  }
  .social-row a:hover{border-color:var(--gold);background:rgba(246,180,0,0.08);}
  .social-row i{font-size:16px;color:white;}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:26px;font-size:12px;color:var(--gray);flex-wrap:wrap;gap:12px;
  }

  @keyframes pulse{0%,100%{box-shadow:0 10px 30px -6px rgba(246,180,0,0.55);}50%{box-shadow:0 10px 40px -2px rgba(246,180,0,0.85);}}
  /* RESPONSIVE */

  @media (max-width:1024px){
    .nav-cta .btn-primary{display:none;}
    .logo-desktop{display: none;}
    .logo-mobile{display: block;}
    .about-grid{grid-template-columns:1fr;gap:60px;}
    .about-media{max-width:420px;}
    .benefits-grid{grid-template-columns:repeat(2,1fr);}
    .steps{grid-template-columns:repeat(2,1fr);row-gap:60px;}
    .step-connector{display:none;}
    .diff-wrap{grid-template-columns:1fr;}
    .diff-media {padding: 20px;}
    .diff-media .badge {
    position: absolute;
    left: 30%;
    bottom: 0px;

    margin: 0;
    width: auto;
    max-width: calc(100% - 48px);

    z-index: 3;
    }
    .video-diff {max-width: 100%;}
    .prof-grid,.plans-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
    .plan.featured{transform:none;}
    .plan.featured:hover{transform:translateY(-8px);}
    .results-grid{grid-template-columns:1fr;gap:36px;}
    .result:not(:last-child)::after{display:none;}
    .footer-top{grid-template-columns:1fr 1fr;row-gap:40px;}
    .prof-card-info{
        padding:20px;
        justify-content:flex-start;
        overflow-y:auto;
    }

    .prof-card-info h1{
        font-size:1.5rem;
        margin:0 0 10px;
        line-height:1.2;
    }

    .prof-card-info p{
        font-size:.9rem;
        margin-bottom:15px;
    }

    .prof-tags{
        gap:12px;
    }

    .prof-tags span{
        flex:1 1 100%;
        max-width:100%;
        min-height:60px;
        font-size:.95rem;
        padding:14px 16px;
    }

    .prof-tags a{
        width:100%;
        margin-top:20px;
    }

    .prof-card-info::-webkit-scrollbar{
        width:6px;
    }

    .prof-card-info::-webkit-scrollbar-track{
        background:transparent;
    }

    .prof-card-info::-webkit-scrollbar-thumb{
        background:rgba(255,255,255,.4);
        border-radius:10px;
    }

    .prof-card-info::-webkit-scrollbar-thumb:hover{
        background:rgba(255,255,255,.7);
    }
  }

  @media (max-width:854px){

    .nav-links{
        gap:15px;
    }

    .nav-links a{
        font-size:11px;
    }

    .logo-wrap img{
        height:54px;
    }

    .nav-cta .btn{
        padding:10px 14px;
    }

    .diff-media .badge {
        left: 25%;
    }

}

  @media (max-width:768px){
    .nav-links{display:none;}
    .burger{display:flex;}
    .container{padding:0 20px;}
    .nav-cta .btn-outline{display:none;}
    .nav-cta .btn-primary{display:inline-flex;}
    .hero{align-items:flex-end;}
    .hero-content{padding-bottom:clamp(140px,18vh,190px);}
    .hero-bolt{display:none;}
    .hero p.sub{font-size:15.5px;}
    .indicators{gap:18px 26px;}
    section{padding:90px 0;}
    .about-media img{margin-left:20px;}
    .about-media .frame{margin-right:20px;}
    .diff-content{padding:40px 26px;}
    .diff-media .badge {
        left: 35%;
    }
    .cta-final .btn-primary{padding:24px 30px;}
    .footer-top{grid-template-columns:1fr;gap:36px;}
    .footer-bottom{flex-direction:column;align-items:flex-start;}
    .prof-card-info{
        padding:16px 20px;
    }

    .prof-card-info h1{
        font-size:1.6rem;
        margin:10px 0;
    }

    .prof-card-info p{
        font-size:.9rem;
        line-height:1.5;
        margin-bottom:15px;
    }

    .prof-tags{
        gap:10px;
    }

    .prof-tags span{
        min-height:52px;
        font-size:.85rem;
        padding:12px 14px;
        border-radius:14px;
    }

    .prof-tags a{
        width:100%;
        font-size:.9rem;
        padding:14px;
        margin-top:15px;
    }

  }

  @media (max-width:540px) {
    .about-media .badge {
        left:0px;
        font-size:12px;
        padding:10px 14px;
    }

    .diff-media .badge {
        left: 16px;
        bottom: 16px;

        max-width: calc(100% - 32px);

        padding: 10px 14px;
    } 
  }

  /* CELULARES PEQUENOS */
@media (max-width:420px){

    .container{
        padding:0 16px;
    }

    /* =========================
       HEADER
    ========================= */

    header{
        padding:12px 0;
    }

    .logo-wrap{
        gap:6px;
    }

    .logo-wrap img{
        height:46px;
        width:auto;
    }

    header.scrolled .logo-wrap img{
        height:42px;
    }

    .nav-cta{
        gap:8px;
    }

    .nav-cta .btn{
        padding:9px 13px;
        font-size:10px;
        letter-spacing:1px;
    }

    .burger{
        padding:5px;
    }

    .burger span{
        width:22px;
        height:2px;
    }


    /* =========================
       HERO
    ========================= */

    .hero{
        min-height:100svh;
    }

    .hero-content{
        padding-bottom:clamp(105px, 15vh, 145px);
    }

    .hero-inner{
        width:100%;
    }

    .hero h1{
        font-size:clamp(38px, 11vw, 48px);
        line-height:.92;
        margin-bottom:18px;
    }

    .hero p.sub{
        font-size:14px;
        line-height:1.55;
        margin-bottom:28px;
    }

    .hero-ctas{
        flex-direction:column;
        gap:10px;
        margin-bottom:34px;
    }

    .hero-ctas .btn{
        width:100%;
        justify-content:center;
        padding:15px 18px;
    }

    .indicators{
        gap:14px 18px;
        padding-top:20px;
    }

    .indicator{
        font-size:10px;
        gap:7px;
    }

    .indicator i{
        font-size:15px;
    }

    .scroll-cue{
        bottom:18px;
        font-size:8px;
    }


    /* =========================
       SEÇÕES
    ========================= */

    section{
        padding:70px 0;
    }

    .section-tight{
        padding:65px 0;
    }

    .eyebrow{
        font-size:10px;
        letter-spacing:3px;
        gap:7px;
        margin-bottom:14px;
    }

    .eyebrow::before{
        width:20px;
    }

    .section-head{
        margin-bottom:40px;
    }

    .section-head h2{
        font-size:clamp(34px, 10vw, 44px);
    }

    .section-head p{
        font-size:14px;
        line-height:1.6;
    }


    /* =========================
       SOBRE
    ========================= */

    .about-grid{
        gap:45px;
    }

    .about-media{
        width:100%;
        max-width:100%;
    }

    .about-media img{
        width:calc(100% - 12px);
        margin-left:12px;
    }

    .about-media .frame{
        top:-10px;
        right:-6px;
        width:70%;
        height:70%;
        margin:0;
    }

    .badge{
        left:8px;
        bottom:-18px;
        padding:12px 15px;
    }

    .badge .num{
        font-size:25px;
    }

    .badge .lbl{
        font-size:9px;
    }

    .about h2{
        font-size:clamp(34px, 10vw, 44px);
    }

    .about p{
        font-size:14px;
        line-height:1.7;
    }

    .audience-tags{
        gap:8px;
        margin-top:22px;
    }

    .audience-tags span{
        padding:8px 13px;
        font-size:11px;
    }


    /* =========================
       BENEFÍCIOS
    ========================= */

    .benefits-grid{
        grid-template-columns:1fr;
    }

    .benefit-card{
        padding:30px 22px;
    }

    .benefit-icon{
        width:46px;
        height:46px;
        margin-bottom:18px;
    }

    .benefit-icon i{
        font-size:21px;
    }

    .benefit-card h3{
        font-size:15px;
    }

    .benefit-card p{
        font-size:13px;
    }


    /* =========================
       COMO FUNCIONA
    ========================= */

    .steps{
        grid-template-columns:1fr;
        row-gap:45px;
    }

    .step{
        padding:0 10px;
    }

    .step-bolt i{
        font-size:46px;
    }

    .step h3{
        font-size:22px;
    }

    .step p{
        font-size:13px;
    }


    /* =========================
       DIFERENCIAIS
    ========================= */

    .diff-wrap{
        border-radius:10px;
    }

    .video-diff{
        border-radius:7px;
    }

    .diff-media .badge {
        left: 12px;
        bottom: 12px;

        max-width: calc(100% - 24px);
        padding: 9px 12px;
    }

    .diff-media .badge .num {
        font-size: 22px;
    }

    .diff-media .badge .lbl {
        font-size: 8px;
    }

    .diff-content{
        padding:32px 18px;
    }

    .diff-content h2{
        font-size:clamp(32px, 9vw, 40px);
        margin-bottom:22px;
    }

    .diff-item{
        gap:10px;
        padding:13px 0;
    }

    .diff-item i{
        width:18px;
        height:18px;
    }

    .diff-item span{
        font-size:12.5px;
        line-height:1.5;
    }


    /* =========================
       PROFESSORES
    ========================= */

    .prof-grid{
        grid-template-columns:1fr;
        gap:18px;
        max-width:100%;
    }

    .prof-card{
        padding:14px;
        border-radius:12px;
    }

    .prof-card-info{
        padding:14px;
        justify-content:flex-start;
        overflow-y:auto;
    }

    .prof-card-info h1{
        font-size:1.25rem;
        margin:3px 0 8px;
        line-height:1.1;
    }

    .prof-card-info p{
        font-size:.78rem;
        line-height:1.4;
        margin-bottom:8px;
    }

    .prof-tags{
        margin-top:8px;
        gap:7px;
    }

    .prof-tags span{
        min-height:44px;
        padding:9px;
        font-size:.75rem;
        border-radius:10px;
        gap:8px;
    }

    .prof-tags span i{
        font-size:1.1rem;
    }

    .prof-tags a{
        width:100%;
        margin-top:12px;
        padding:12px;
        font-size:.82rem;
        border-radius:12px;
    }

    .prof-hint{
        font-size:.72rem;
        padding:7px 20px;
    }


    /* =========================
       PLANOS
    ========================= */

    .plans-grid{
        grid-template-columns:1fr;
        gap:20px;
        max-width:100%;
    }

    .plan{
        padding:32px 20px;
        border-radius:13px;
    }

    .plan.featured{
        transform:none;
    }

    .plan.featured:hover{
        transform:translateY(-5px);
    }

    .plan-name{
        font-size:24px;
    }

    .plan-desc{
        font-size:12px;
    }

    .plan-price .amount{
        font-size:44px;
    }

    .plan-features{
        gap:12px;
    }

    .plan-features li{
        font-size:13px;
    }

    .plan-tag{
        font-size:9px;
        padding:7px 14px;
    }


    /* =========================
       FAQ
    ========================= */

    .faq-q{
        font-size:13.5px;
        line-height:1.4;
        padding:19px 0;
    }

    .faq-q .plus{
        width:22px;
        height:22px;
        margin-left:12px;
    }

    .faq-q .plus::before{
        width:14px;
    }

    .faq-q .plus::after{
        height:14px;
    }

    .faq-a-inner{
        font-size:13px;
        line-height:1.65;
        padding-bottom:20px;
    }


    /* =========================
       CTA FINAL
    ========================= */

    .cta-final{
        padding:90px 0;
    }

    .cta-final h2{
        font-size:clamp(38px, 11vw, 48px);
        margin-bottom:28px;
    }

    .cta-final .btn-primary{
        width:100%;
        padding:18px 20px;
        font-size:13px;
        justify-content:center;
    }


    /* =========================
       FOOTER
    ========================= */

    footer{
        padding:55px 0 25px;
    }

    .footer-top{
        gap:30px;
        padding-bottom:35px;
    }

    .footer-brand p{
        font-size:12.5px;
    }

    .footer-col h4{
        font-size:11px;
        margin-bottom:15px;
    }

    .footer-col ul{
        gap:10px;
    }

    .footer-col a,
    .footer-col span{
        font-size:12.5px;
    }

    .footer-bottom{
        font-size:10.5px;
    }
  }

  @media (max-width:360px) {
    .diff-media .badge {
        left: 60px;
        bottom: 0px;

        max-width: calc(100% - 32px);

        padding: 8px 10px;
    } 
  }

  @media (hover: none) and (pointer: coarse){

    .prof-hint{
        position:relative;
        bottom:10px;
        left:50%;
        transform:translateX(-50%);

        display:flex;
        align-items:center;

        padding:8px 30px;

        background:rgba(0,0,0,.75);
        backdrop-filter:blur(8px);

        border-radius:50px;

        color:#fff;
        font-size:.8rem;
        font-weight:600;

        z-index:20;

        animation:pulseHint 2s infinite;
        transition: 0.8s ease ;
    }

    .prof-hint i{
        color:var(--gold);
    }

    @keyframes pulseHint{
    0%,100%{
        transform:translateX(-50%) scale(1);
    }
    50%{
        transform:translateX(-50%) scale(1.06);
    }
}
  }
  /* MOBILE MENU OVERLAY */
  .mobile-menu{
    position:fixed;inset:0;background:#020202;
    z-index:1100;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;
    transform:translateY(-100%);
    transition:transform .5s cubic-bezier(.2,.7,.2,1);
  }
  .mobile-menu.open{transform:translateY(0);}
  .mobile-menu a{font-family:var(--ff-display);font-size:34px;text-transform:uppercase;letter-spacing:1px;}
  .mobile-menu .btn{margin-top:20px;}
