:root {
      --bg: #08090b;
      --bg2: #0a0c11;
      --card: #0f1115;
      --card2: #181c1b;
      --ink: #e9eef2;
      --muted: #b9c2c9;
      --soft: #cfd5db;
      --blue: #03d9f5;
      --blue2: #00bcd4;
      --green: #22c55e;
      --gold: #ffd43b;
      --red: #ff4e4e;
      --stroke: #1a1e24;
      --shadow-blue: 0 0 28px rgba(3,217,245,.18);
      --radius: 14px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      background: var(--bg);
      color: var(--ink);
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; height: auto; }
    button { font: inherit; }

    .top-alert {
      position: fixed;
      inset: 0 0 auto;
      z-index: 50;
      background: linear-gradient(180deg, #d11d1d 0%, #a91010 100%);
      color: #fff;
      text-align: center;
      padding: 8px 12px;
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .04em;
      border-bottom: 1px solid rgba(255,255,255,.18);
      box-shadow: 0 8px 24px rgba(0,0,0,.22);
      text-transform: uppercase;
      white-space: nowrap;
    }

    .container {
      width: min(100%, 1120px);
      margin: 0 auto;
      padding: 0 18px;
    }

    .section {
      padding: clamp(48px, 8vw, 82px) 0;
      background: var(--bg2);
      border-top: 1px solid var(--stroke);
    }

    .blue { color: var(--blue); text-shadow: 0 0 14px rgba(3,217,245,.32); }
    .center { text-align: center; }
    .lead {
      max-width: 780px;
      margin: 0 auto 22px;
      color: var(--muted);
      line-height: 1.6;
      font-size: clamp(1rem, 2.8vw, 1.12rem);
    }

    .hero {
      min-height: 90svh;
      display: flex;
      align-items: flex-end;
      position: relative;
      overflow: hidden;
      border-bottom: 1px solid var(--stroke);
      background:
        radial-gradient(700px 360px at 18% 0%, rgba(3,217,245,.16), transparent 64%),
        radial-gradient(620px 320px at 88% -5%, rgba(3,217,245,.12), transparent 60%),
        linear-gradient(180deg,#0b0d12 0%, #08090b 70%);
    }
    .hero::after {
      content: "";
      position: absolute;
      inset: auto 0 0;
      height: 42%;
      background: linear-gradient(180deg, transparent, rgba(8,9,11,.96));
      pointer-events: none;
    }
    .hero-inner {
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: 1080px;
      margin: 0 auto;
      padding: 74px 18px 34px;
    }
    .hero-card {
      width: clamp(132px, 42vw, 178px);
      aspect-ratio: 1;
      margin: 0 auto 18px;
      border-radius: 16px;
      overflow: hidden;
      background: #0b0e13;
      border: 1px solid rgba(255,255,255,.08);
      box-shadow: 0 0 0 6px rgba(3,217,245,.08), 0 20px 60px rgba(3,217,245,.18);
    }
    .hero-card img { width: 100%; height: 100%; object-fit: cover; }
    h1 {
      max-width: 980px;
      margin: 0 auto 12px;
      text-align: center;
      font-size: clamp(1.75rem, 8.2vw, 3.2rem);
      line-height: 1.08;
      font-weight: 950;
      letter-spacing: 0;
    }
    .hero-sub {
      max-width: 780px;
      margin: 0 auto 18px;
      color: var(--ink);
      text-align: center;
      font-weight: 850;
      line-height: 1.35;
      font-size: clamp(1rem, 4vw, 1.25rem);
    }
    .benefits {
      display: grid;
      gap: 10px;
      max-width: 420px;
      margin: 17px auto 0;
      padding: 0;
      list-style: none;
    }
    .benefits li,
    .pc-list li {
      display: flex;
      align-items: flex-start;
      gap: 9px;
      padding: 10px 12px;
      border: 1px solid var(--stroke);
      border-radius: 12px;
      background: rgba(255,255,255,.035);
      color: #f4f7f8;
      line-height: 1.35;
      font-weight: 650;
    }
    .mark,
    .pc-list li::before {
      width: 22px;
      height: 22px;
      display: grid;
      place-items: center;
      flex: 0 0 22px;
      border-radius: 7px;
      font-size: .82rem;
      font-weight: 900;
    }
    .mark,
    .pc-list .ok::before {
      color: var(--green);
      background: rgba(34,197,94,.14);
      border: 1px solid rgba(34,197,94,.48);
    }
    .mark::before { content: "✓"; }
    .pc-list .ok::before { content: "✓"; }
    .pc-list .no::before {
      content: "×";
      color: var(--red);
      background: rgba(255,78,78,.12);
      border: 1px solid rgba(255,78,78,.44);
    }

    .cta-wrap { display: flex; justify-content: center; margin-top: 18px; }
    .cta {
      min-height: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      width: min(100%, 430px);
      padding: 15px 20px;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 12px;
      color: #031016;
      background: linear-gradient(180deg, var(--blue) 0%, var(--blue2) 100%);
      box-shadow: 0 14px 26px rgba(3,217,245,.28);
      font-weight: 950;
      font-size: .94rem;
      letter-spacing: .02em;
      text-transform: uppercase;
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
      animation: pulseCta 2.25s ease-in-out infinite;
    }
    .cta:hover { transform: translateY(-2px); box-shadow: 0 17px 32px rgba(3,217,245,.38); filter: brightness(1.03); }
    .cta:active { transform: translateY(0); }
    .cta.green {
      background: linear-gradient(135deg,#16a34a,#22c55e);
      box-shadow: 0 14px 28px rgba(34,197,94,.24);
    }
    .cta.gold {
      background: linear-gradient(135deg,#b99b2c,#f2cb48);
      box-shadow: 0 10px 22px rgba(0,0,0,.24);
      animation: none;
    }
    .cta.gold:hover {
      box-shadow: 0 12px 24px rgba(0,0,0,.30);
    }
    @keyframes pulseCta {
      0%,100% { transform: scale(1); box-shadow: 0 14px 26px rgba(3,217,245,.28); }
      50% { transform: scale(1.015); box-shadow: 0 20px 38px rgba(3,217,245,.42); }
    }

    .reading {
      background: #fff;
      color: #131417;
      padding: 46px 0;
    }
    .reading h2 {
      margin: 0 0 6px;
      font-size: clamp(1.35rem, 6vw, 2.2rem);
      line-height: 1.15;
      font-weight: 950;
    }
    .reading h3 {
      margin: 0 0 18px;
      color: #565b62;
      font-size: clamp(1rem, 4vw, 1.2rem);
      letter-spacing: .09em;
    }
    .reading blockquote {
      margin: 0;
      color: #2a2f35;
      line-height: 1.65;
      font-size: clamp(1rem, 3.7vw, 1.16rem);
    }

    .pq-container { max-width: 980px; margin: 0 auto; padding: 0 18px; }
    .section-title {
      margin: 0 auto 14px;
      max-width: 900px;
      font-size: clamp(1.55rem, 7vw, 2.35rem);
      line-height: 1.15;
      font-weight: 950;
      text-align: center;
    }
    .section-kicker {
      margin: 0 auto 18px;
      max-width: 820px;
      color: var(--soft);
      line-height: 1.58;
      font-weight: 700;
      font-size: clamp(1rem, 3.8vw, 1.13rem);
      text-align: center;
    }
    .copy {
      color: var(--soft);
      line-height: 1.78;
      margin: 12px auto 16px;
      max-width: 860px;
      font-size: clamp(1.05rem, 3.7vw, 1.14rem);
    }
    .copy strong,
    .lead strong {
      color: #fff;
      font-weight: 950;
    }
    .media-frame {
      margin: 18px auto;
      overflow: hidden;
      border-radius: var(--radius);
      border: 1px solid var(--stroke);
      background: #0f1115;
      box-shadow: 0 0 18px rgba(3,217,245,.08);
    }
    .media-frame.narrow { max-width: 760px; }
    .divider {
      max-width: 860px;
      border: 0;
      border-top: 1px dashed #2a3038;
      margin: 20px auto;
    }
    .clean-list {
      display: grid;
      gap: 8px;
      max-width: 820px;
      margin: 12px auto;
      padding: 0;
      list-style: none;
    }
    .clean-list li {
      color: #eaf1f4;
      line-height: 1.5;
      padding-left: 28px;
      position: relative;
    }
    .clean-list li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--green);
      font-weight: 950;
    }
    .payment-proof {
      max-width: 360px;
      margin: 18px auto;
      padding: 18px;
      text-align: center;
      border-radius: 14px;
      background: #fff;
      color: #0f1115;
      border: 1px solid #e5e9ef;
      box-shadow: 0 10px 26px rgba(0,0,0,.12);
      font-weight: 850;
    }
    .payment-proof span {
      display: block;
      margin-top: 4px;
      font-size: 1.8rem;
      font-weight: 950;
    }

    .steps-grid,
    .price-grid {
      display: grid;
      gap: 18px;
      max-width: 1050px;
      margin: 28px auto 0;
    }
    .step-card,
    .price-card,
    .important-box,
    .faq-item {
      border: 1px solid var(--stroke);
      border-radius: var(--radius);
      background: var(--card);
      box-shadow: 0 0 22px rgba(3,217,245,.05);
    }
    .step-card {
      padding: 20px;
      border-top: 5px solid var(--blue);
      background: var(--card2);
    }
    .step-card h3 {
      margin: 0 0 8px;
      color: var(--blue);
      font-size: 1.12rem;
      line-height: 1.25;
    }
    .step-card p { margin: 0; color: #ddd; line-height: 1.55; }

    .important-box {
      max-width: 820px;
      margin: 0 auto;
      padding: 24px 18px;
      text-align: center;
      border: 2px solid var(--blue);
      background: var(--card2);
      box-shadow: var(--shadow-blue);
    }
    .important-box p {
      margin: 0 0 12px;
      color: #e8e8e8;
      line-height: 1.58;
      font-size: 1.05rem;
    }
    .important-box .price {
      margin: 0;
      color: var(--blue);
      font-size: 1.25rem;
      font-weight: 950;
    }

    .carousel-section {
      background: #111;
      padding: 48px 0 56px;
      border-top: 1px solid var(--stroke);
      overflow: hidden;
    }
    .carousel-title,
    .depo-title {
      max-width: 880px;
      margin: 0 auto 26px;
      padding: 0 18px;
      color: #fff;
      text-align: center;
      font-size: clamp(1.45rem, 6vw, 2rem);
      line-height: 1.2;
      font-weight: 950;
    }
    .carousel-shell {
      position: relative;
      max-width: 1100px;
      margin: 0 auto;
      overflow: hidden;
    }
    .carousel-viewport {
      overflow-x: auto;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      scroll-snap-type: x mandatory;
      padding: 8px 24px 18px;
    }
    .carousel-viewport::-webkit-scrollbar { display: none; }
    .carousel-track { display: flex; gap: 18px; width: max-content; }
    .slide-card {
      flex: 0 0 min(58vw, 220px);
      width: min(58vw, 220px);
      scroll-snap-align: center;
      border-radius: 14px;
      background: #232323;
      padding: 8px 8px 12px;
      box-shadow: 0 2px 18px rgba(0,0,0,.25);
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .slide-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(3,217,245,.16); }
    .slide-img {
      overflow: hidden;
      border-radius: 10px;
      border: 2px solid var(--blue);
      background: #1a1a1a;
      aspect-ratio: 2 / 3;
    }
    .slide-img img { width: 100%; height: 100%; object-fit: cover; }
    .slide-label {
      min-height: 20px;
      margin-top: 8px;
      color: #aaa;
      text-align: center;
      font-size: .74rem;
      line-height: 1.25;
      font-weight: 700;
    }
    .carousel-btn {
      position: absolute;
      top: 50%;
      z-index: 3;
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      transform: translateY(-50%);
      border: 2px solid var(--blue);
      border-radius: 50%;
      background: #232323;
      color: var(--blue);
      cursor: pointer;
      box-shadow: 0 2px 12px rgba(0,0,0,.35);
    }
    .carousel-btn:hover { background: var(--blue); color: #111; }
    .carousel-btn.prev { left: 7px; }
    .carousel-btn.next { right: 7px; }
    .modules-section .carousel-track { gap: 22px; }
    .modules-section .slide-card {
      flex-basis: min(74vw, 300px);
      width: min(74vw, 300px);
      padding: 10px 10px 14px;
    }
    .modules-section .carousel-viewport { padding-bottom: 24px; }

    .depoimentos-section { background: #111; padding: 48px 0 36px; border-top: 1px solid var(--stroke); }
    .depo-grid {
      display: grid;
      gap: 20px;
      max-width: 1080px;
      margin: 0 auto;
      padding: 0 18px;
    }
    .depo-card {
      overflow: hidden;
      border-radius: 14px;
      border: 2px solid var(--blue);
      background: #232323;
      box-shadow: 0 3px 20px rgba(0,0,0,.26);
    }

    .alerta-vagas {
      text-align: center;
      background: var(--bg2);
      padding: 42px 18px 28px;
      border-top: 1px solid var(--stroke);
    }
    .alerta-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 16px;
      padding: 8px 22px;
      border: 1px solid var(--blue);
      border-radius: 999px;
      background: rgba(3,217,245,.08);
      box-shadow: 0 0 20px rgba(3,217,245,.12);
      color: #fff;
      font-weight: 950;
      letter-spacing: .04em;
    }
    .alerta-vagas p {
      max-width: 760px;
      margin: 0 auto 18px;
      color: var(--ink);
      font-size: clamp(1.05rem, 4.2vw, 1.28rem);
      line-height: 1.4;
      font-weight: 650;
    }
    .alerta-vagas .destaque { color: var(--red); font-weight: 950; }
    .urgency-strip {
      width: min(100%, 620px);
      margin: 18px auto 0;
      padding: 12px;
      border: 1px solid rgba(255,212,59,.22);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255,212,59,.065), rgba(15,17,21,.94));
      box-shadow: 0 0 18px rgba(255,212,59,.06), 0 0 18px rgba(3,217,245,.06);
    }
    .urgency-label {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
      margin: 0 0 9px;
      color: #f2dc8d;
      font-size: .82rem;
      font-weight: 950;
      letter-spacing: .035em;
      text-transform: uppercase;
    }
    .hourglass {
      display: inline-block;
    }
    .timer {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      width: min(100%, 340px);
      margin: 0 auto;
    }
    .time-box {
      padding: 9px 6px;
      border-radius: 12px;
      border: 1px solid rgba(3,217,245,.28);
      background: radial-gradient(circle at top, rgba(255,212,59,.075), transparent 58%), #0f1115;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
    }
    .time-box strong {
      display: block;
      color: var(--gold);
      font-size: 1.6rem;
      line-height: 1;
      font-weight: 950;
    }
    .time-box span {
      color: #9aa5b1;
      font-size: .72rem;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .pricing-section { background: var(--bg2); padding: 28px 18px; }
    .pricing-urgency {
      width: min(100%, 520px);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin: 0 auto 22px;
      padding: 10px 14px;
      border: 1px solid rgba(3,217,245,.22);
      border-radius: 999px;
      background: rgba(255,255,255,.035);
      box-shadow: 0 0 18px rgba(3,217,245,.08);
      color: #dbe5ec;
      font-size: .88rem;
      font-weight: 850;
      text-align: center;
    }
    .pricing-urgency strong {
      color: var(--gold);
      font-size: .98rem;
      letter-spacing: .03em;
      text-shadow: 0 0 12px rgba(255,212,59,.20);
    }
    .price-grid { max-width: 900px; }
    .price-card {
      padding: 22px 18px;
      color: var(--ink);
    }
    .price-card.featured {
      position: relative;
      border: 2px solid var(--blue);
      box-shadow: var(--shadow-blue);
    }
    .pc-header { text-align: center; margin-bottom: 12px; }
    .pc-header h3 {
      margin: 0;
      font-size: clamp(1.5rem, 6vw, 1.9rem);
      line-height: 1.12;
      font-weight: 950;
      letter-spacing: .02em;
    }
    .pc-header h3 span { color: var(--gold); }
    .tag-melhor {
      display: inline-block;
      margin-top: 10px;
      padding: 6px 14px;
      border-radius: 999px;
      border: 1px solid var(--blue);
      background: rgba(3,217,245,.08);
      box-shadow: 0 0 16px rgba(3,217,245,.12);
      font-size: .9rem;
      font-weight: 950;
    }
    .pc-list {
      display: grid;
      gap: 8px;
      padding: 0;
      margin: 15px 0 12px;
      list-style: none;
    }
    .pc-list li { background: #101318; }
    .pc-list li.no { opacity: .78; }
    .pc-price { margin: 14px 0 16px; text-align: center; }
    .pc-price .de {
      color: #ff8585;
      font-size: .9rem;
      font-weight: 900;
      letter-spacing: .03em;
      text-transform: uppercase;
    }
    .pc-price .old-price {
      display: inline-block;
      position: relative;
      margin-left: 4px;
      color: #ff5c64;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      font-size: clamp(1.35rem, 5vw, 1.75rem);
      line-height: 1;
      font-weight: 950;
      letter-spacing: .01em;
    }
    .pc-price .old-price::after {
      content: "";
      position: absolute;
      left: -7%;
      right: -7%;
      top: 50%;
      height: 3px;
      border-radius: 999px;
      background: linear-gradient(90deg, rgba(255,78,78,.18), #ff333d 18%, #ff333d 82%, rgba(255,78,78,.18));
      transform: rotate(-6deg);
      box-shadow: 0 0 9px rgba(255,78,78,.36);
    }
    .pc-price .por-apenas {
      margin-top: 5px;
      color: #dbe5ec;
      font-size: .86rem;
      font-weight: 900;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .pc-price .parc { margin-top: 5px; color: var(--ink); font-size: 1.08rem; font-weight: 850; }
    .pc-price .valor {
      margin: 2px 0 6px;
      color: var(--ink);
      font-size: 2.25rem;
      line-height: 1.05;
      font-weight: 950;
      letter-spacing: 0;
    }
    .pc-price .valor.grande {
      color: var(--gold);
      font-size: 2.85rem;
      text-shadow: 0 6px 26px rgba(255,212,59,.18);
    }
    .pc-price .avista { color: #dbe5ec; font-weight: 800; }
    .pc-price .pagamento { margin-top: 6px; color: #7dd3fc; font-weight: 900; }
    .trust-icons {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 12px 18px;
      margin-top: 16px;
      color: #d5e0e6;
      font-size: .95rem;
      font-weight: 700;
    }
    .trust-icons span {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      line-height: 1.25;
    }

    .sobre h2,
    .garantia h2,
    .faq-title {
      margin: 0 auto 26px;
      max-width: 860px;
      text-align: center;
      font-size: clamp(1.55rem, 6vw, 2rem);
      line-height: 1.22;
      font-weight: 950;
    }
    .sobre-gallery {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap;
      margin: 24px auto;
    }
    .about-img {
      width: min(100%, 360px);
      aspect-ratio: 1;
      object-fit: cover;
      border-radius: 14px;
      border: 2px solid var(--blue);
      background: #111;
      box-shadow: 0 0 18px rgba(3,217,245,.15);
    }
    .sobre .copy { text-align: left; }

    .garantia { text-align: center; }
    .garantia-img {
      width: min(220px, 64vw);
      margin: 26px auto 22px;
      border-radius: 12px;
      border: 2px solid var(--blue);
      overflow: hidden;
      box-shadow: 0 0 25px rgba(3,217,245,.20);
      background: #111;
    }
    .subtexto { color: #9aa5b1; font-weight: 800; }

    .faq-list {
      display: grid;
      gap: 12px;
      max-width: 880px;
      margin: 0 auto;
    }
    .faq-item { overflow: hidden; transition: border-color .22s ease, box-shadow .22s ease; }
    .faq-item.open { border-color: var(--blue); box-shadow: var(--shadow-blue); }
    .faq-question {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 18px 16px;
      border: 0;
      background: transparent;
      color: #fff;
      text-align: left;
      cursor: pointer;
      font-size: 1rem;
      line-height: 1.35;
      font-weight: 850;
    }
    .faq-question:hover { color: var(--blue); }
    .arrow { color: var(--blue); transition: transform .22s ease; }
    .faq-item.open .arrow { transform: rotate(90deg); }
    .faq-answer {
      display: none;
      padding: 0 16px 18px;
      color: var(--soft);
      line-height: 1.62;
    }
    .faq-item.open .faq-answer { display: block; }

    .sticky-cta {
      position: fixed;
      inset: auto 0 0;
      z-index: 45;
      display: none;
      padding: 11px 12px calc(10px + env(safe-area-inset-bottom));
      border-top: 1px solid rgba(3,217,245,.32);
      background: rgba(8,9,11,.94);
      backdrop-filter: blur(12px);
      box-shadow: 0 -12px 30px rgba(0,0,0,.30);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translate3d(0, calc(100% + 22px), 0) scale(.985);
      transition: opacity .72s cubic-bezier(.16, 1, .3, 1), transform .72s cubic-bezier(.16, 1, .3, 1), visibility .72s step-end;
      will-change: transform, opacity;
    }
    .sticky-cta.is-visible {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translate3d(0, 0, 0) scale(1);
      transition: opacity .72s cubic-bezier(.16, 1, .3, 1), transform .72s cubic-bezier(.16, 1, .3, 1), visibility 0s step-start;
    }
    .sticky-cta .cta {
      width: 100%;
      min-height: 48px;
      font-size: .86rem;
      animation: none;
    }
    .sticky-note {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 6px;
      margin: 0 0 7px;
      color: #dbe5ec;
      text-align: center;
      font-size: .78rem;
      font-weight: 800;
    }
    .sticky-note strong {
      color: var(--gold);
      font-size: .9rem;
      text-shadow: 0 0 12px rgba(255,212,59,.28);
    }
    .purchase-toast {
      position: fixed;
      left: 18px;
      bottom: 24px;
      z-index: 46;
      width: min(318px, calc(100vw - 36px));
      display: flex;
      gap: 9px;
      align-items: center;
      padding: 10px 12px;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 12px;
      background: rgba(246,249,251,.97);
      color: #f4f8fa;
      box-shadow: 0 16px 36px rgba(0,0,0,.32);
      transform: translate3d(-22px, 18px, 0) scale(.94);
      opacity: 0;
      pointer-events: none;
      transition: opacity .68s cubic-bezier(.16, 1, .3, 1), transform .68s cubic-bezier(.16, 1, .3, 1);
      will-change: transform, opacity;
    }
    .purchase-toast.show { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
    .toast-avatar {
      width: 36px;
      height: 36px;
      display: grid;
      place-items: center;
      flex: 0 0 36px;
      border-radius: 50%;
      background: #172026;
      color: #f4f8fa;
      font-size: .82rem;
      font-weight: 950;
      box-shadow: 0 0 0 3px rgba(23,32,38,.08);
    }
    .toast-text {
      margin: 0;
      color: #172026;
      font-size: .84rem;
      line-height: 1.3;
      font-weight: 750;
    }
    .toast-text strong { color: #0b1014; font-weight: 950; }
    .toast-text span { display: block; color: #68747c; font-size: .73rem; margin-top: 2px; }

    @media (min-width: 680px) {
      .depo-grid { grid-template-columns: repeat(2, 1fr); }
      .steps-grid { grid-template-columns: repeat(2, 1fr); }
      .slide-card { flex-basis: 200px; width: 200px; }
      .modules-section .slide-card { flex-basis: 300px; width: 300px; }
      .alunos-section .slide-card { flex-basis: 260px; width: 260px; }
    }
    @media (min-width: 980px) {
      .price-grid { grid-template-columns: 1fr 1.04fr; align-items: start; }
      .depo-grid { grid-template-columns: repeat(3, 1fr); }
      .hero-inner { padding-bottom: 46px; }
      .sobre .copy { text-align: justify; }
    }
    @media (max-width: 720px) {
      body { padding-bottom: 92px; }
      .sticky-cta { display: block; }
      .top-alert { font-size: .70rem; letter-spacing: .025em; }
      .section { padding: 52px 0; }
      .modules-section .slide-card { flex-basis: 72vw; width: 72vw; }
      .alunos-section .slide-card { flex-basis: 72vw; width: 72vw; }
      .modules-section .carousel-title { font-size: clamp(1.7rem, 7.8vw, 2.1rem); }
      .alunos-section .carousel-title { font-size: clamp(1.65rem, 7vw, 2rem); }
      .carousel-btn { width: 36px; height: 36px; }
      .carousel-shell::before,
      .carousel-shell::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: 48px;
        z-index: 2;
        pointer-events: none;
      }
      .carousel-shell::before { left: 0; background: linear-gradient(to right, #111, transparent); }
      .carousel-shell::after { right: 0; background: linear-gradient(to left, #111, transparent); }
      .purchase-toast { bottom: 102px; left: 12px; width: min(308px, calc(100vw - 24px)); }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .cta { animation: none; }
      * { transition-duration: .001ms !important; animation-duration: .001ms !important; }
    }

html.backend-disabled .cta {
  pointer-events: none;
  filter: grayscale(.35);
  opacity: .58;
}
.backend-control-warning {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 88px;
  z-index: 10050;
  max-width: 460px;
  margin: 0 auto;
  padding: 12px 14px;
  border: 1px solid rgba(255, 78, 78, .58);
  border-radius: 10px;
  background: rgba(12, 14, 18, .96);
  color: #fff;
  text-align: center;
  font-weight: 900;
  box-shadow: 0 14px 34px rgba(0,0,0,.36);
}
