@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Oxanium:wght@500;700;800&display=swap');

  :root{
    --bg-0:#120726;
    --bg-1:#1d0d3d;
    --bg-2:#3d217b;
    --bg-3:#5a3aa0;

    --panel-a:rgba(24, 10, 52, .90);
    --panel-b:rgba(40, 16, 86, .88);
    --panel-c:rgba(20, 8, 44, .82);

    --cyan:#5ff6ff;
    --blue:#4eb8ff;
    --magenta:#ff4fc3;
    --pink:#ff78d6;
    --violet:#8f5bff;
    --violet-2:#b08cff;

    --text:#f7f4ff;
    --muted:#d9d2ff;
    --muted-2:#bfb7eb;

    --line-1:rgba(95,246,255,.28);
    --line-2:rgba(255,79,195,.24);
    --line-3:rgba(176,140,255,.20);

    --shadow:0 14px 34px rgba(8, 2, 24, .34);
    --shadow-strong:0 18px 42px rgba(5, 2, 18, .44);

    --r:4px;
    --r2:8px;
    --max:1140px;
    --ease:.28s ease;
  }

  *{
    margin:0;
    padding:0;
    box-sizing:border-box;
  }

  body{
    font-family:'Rajdhani', sans-serif;
    color:var(--text);
    background:
      linear-gradient(180deg, rgba(255,255,255,.02), transparent 18%),
      radial-gradient(circle at 15% 20%, rgba(95,246,255,.10), transparent 18%),
      radial-gradient(circle at 82% 18%, rgba(255,79,195,.10), transparent 18%),
      linear-gradient(180deg, var(--bg-3) 0%, var(--bg-2) 28%, var(--bg-1) 68%, var(--bg-0) 100%);
    min-height:100vh;
  }

  a{ color:inherit; text-decoration:none; }

  .sms-container{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    padding:28px 16px 60px;
    background:
      linear-gradient(90deg, rgba(95,246,255,.03), transparent 18%, transparent 82%, rgba(255,79,195,.03)),
      linear-gradient(180deg, rgba(255,255,255,.03), transparent 30%);
  }

  .sms-container::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size:42px 42px;
    opacity:.18;
  }

  .sms-container::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(120deg, transparent 0 48%, rgba(95,246,255,.05) 50%, transparent 52%),
      linear-gradient(300deg, transparent 0 48%, rgba(255,79,195,.04) 50%, transparent 52%);
    opacity:.4;
  }

  .content-wrapper{
    position:relative;
    z-index:2;
    max-width:var(--max);
    margin:0 auto;
  }

  .message-bubbles,
  .floating-chars{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:1;
  }

  .bubble,
  .char{
    position:absolute;
    animation:floatUp linear infinite;
    opacity:.18;
  }

  .bubble{
    padding:7px 12px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--cyan);
    border:1px solid var(--line-1);
    background:rgba(17, 8, 39, .45);
  }

  .bubble.purple{
    color:var(--pink);
    border-color:var(--line-2);
  }

  .char{
    font-family:'Oxanium', sans-serif;
    font-size:11px;
    color:var(--violet-2);
    letter-spacing:.12em;
  }

  @keyframes floatUp{
    0%{ transform:translateY(120vh); opacity:0; }
    15%{ opacity:.18; }
    85%{ opacity:.18; }
    100%{ transform:translateY(-120px); opacity:0; }
  }

  /* BASE DOS PAINÉIS */
  .pixel-header,
  .section,
  .reward-card,
  .mystical-card,
  .educator-separator,
  .short-section{
    position:relative;
    overflow:hidden;
    border:1px solid var(--line-3);
    background:
      linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.006)),
      linear-gradient(135deg, rgba(95,246,255,.03), transparent 40%, rgba(255,79,195,.03)),
      var(--panel-b);
    box-shadow:var(--shadow);
    transition:
      transform var(--ease),
      border-color var(--ease),
      box-shadow var(--ease),
      background var(--ease);
  }

  .pixel-header::before,
  .section::before,
  .reward-card::before,
  .mystical-card::before,
  .educator-separator::before,
  .short-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.04), transparent);
    transform:translateX(-100%);
    transition:transform .7s ease;
  }

  .pixel-header:hover::before,
  .section:hover::before,
  .reward-card:hover::before,
  .mystical-card:hover::before,
  .educator-separator:hover::before,
  .short-section:hover::before{
    transform:translateX(100%);
  }

  .pixel-header:hover,
  .section:hover,
  .reward-card:hover,
  .mystical-card:hover,
  .educator-separator:hover,
  .short-section:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-strong);
    border-color:rgba(95,246,255,.34);
  }

  /* RECORTE DIAGONAL */
  .pixel-header,
  .section,
  .reward-card,
  .mystical-card,
  .educator-separator,
  .short-section,
  .short-video-wrap,
  .video-button,
  .music-player,
  .glossary-item,
  .app-list li,
  .connection-list li,
  .tag,
  .pbl-box,
  .pbl-steps li,
  .opening-quote,
  .sms-icon,
  .hero-image-wrap{
    clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  }

  .pixel-header{
    margin-bottom:28px;
    padding:34px 24px;
    background:
      linear-gradient(90deg, rgba(95,246,255,.10), transparent 28%, transparent 72%, rgba(255,79,195,.10)),
      linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
      var(--panel-a);
  }

  .pixel-header h1{
    font-family:'Oxanium', sans-serif;
    font-size:24px;
    line-height:1.55;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:10px;
    text-shadow:0 0 18px rgba(95,246,255,.08);
    position:relative;
    z-index:1;
  }

  .subtitle{
    font-family:'Oxanium', sans-serif;
    font-size:21px;
    font-weight:700;
    letter-spacing:.22em;
    color:var(--cyan);
    position:relative;
    z-index:1;
  }

  .opening-quote{
    margin-bottom:28px;
    padding:18px 22px;
    background:
      linear-gradient(90deg, rgba(95,246,255,.07), transparent 40%, rgba(255,79,195,.06)),
      rgba(21, 9, 46, .84);
    border-left:4px solid var(--cyan);
    font-size:22px;
    text-align:center;
    box-shadow:var(--shadow);
    transition:transform var(--ease), border-color var(--ease), box-shadow var(--ease);
  }

  .opening-quote:hover{
    transform:translateX(4px);
    border-left-color:var(--magenta);
    box-shadow:var(--shadow-strong);
  }

  .short-section{
    display:grid;
    grid-template-columns:minmax(260px, 360px) 1fr;
    gap:26px;
    align-items:center;
    margin-bottom:24px;
    padding:24px;
    background:
      linear-gradient(135deg, rgba(95,246,255,.05), transparent 42%, rgba(255,79,195,.06)),
      var(--panel-b);
  }

  .short-video-wrap{
    width:100%;
    max-width:340px;
    margin:0 auto;
    overflow:hidden;
    border:1px solid var(--line-1);
    background:
      linear-gradient(180deg, rgba(95,246,255,.06), transparent 20%),
      rgba(10, 5, 28, .82);
    box-shadow:0 14px 30px rgba(0,0,0,.34);
    transition:transform var(--ease), box-shadow var(--ease), border-color var(--ease);
  }

  .short-video-wrap:hover{
    transform:translateY(-4px) scale(1.01);
    border-color:rgba(95,246,255,.44);
    box-shadow:0 18px 36px rgba(0,0,0,.42);
  }

  .short-video{
    width:100%;
    aspect-ratio:9 / 16;
    background:#0e0722;
  }

  .short-video iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
  }

  .short-side-text{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 8px;
    text-align:center;
    font-size:25px;
    line-height:1.75;
    color:#fff;
    font-style:italic;
  }

  .short-side-text p{
    max-width:560px;
  }

  .section,
  .reward-card,
  .mystical-card{
    margin-bottom:24px;
    padding:26px;
  }

  .section-title{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    font-family:'Oxanium', sans-serif;
    font-size:15px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff;
  }

  .section-title .emoji{
    font-size:24px;
    flex-shrink:0;
    transition:transform var(--ease), filter var(--ease);
  }

  .section:hover .emoji,
  .reward-card:hover .emoji,
  .mystical-card:hover .emoji{
    transform:scale(1.08);
    filter:drop-shadow(0 0 10px rgba(95,246,255,.25));
  }

  .section-content{
    font-size:20px;
    line-height:1.8;
    color:var(--muted);
    font-weight:500;
  }

  .section-content p{
    margin-bottom:16px;
  }

  .highlight{
    color:var(--cyan);
    font-weight:700;
  }

  .purple-highlight{
    color:var(--pink);
    font-weight:700;
  }

  .app-list,
  .connection-list,
  .pbl-steps{
    list-style:none;
    padding:0;
    margin:18px 0 0;
  }

  .app-list{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
    gap:12px;
  }

  .app-list li,
  .connection-list li,
  .glossary-item,
  .tag,
  .pbl-steps li,
  .music-player,
  .pbl-box{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(95,246,255,.12);
    background:
      linear-gradient(90deg, rgba(95,246,255,.03), transparent 45%, rgba(255,79,195,.04)),
      rgba(255,255,255,.03);
    transition:
      transform var(--ease),
      border-color var(--ease),
      box-shadow var(--ease),
      background var(--ease);
  }

  .app-list li::after,
  .connection-list li::after,
  .glossary-item::after,
  .tag::after,
  .pbl-steps li::after,
  .music-player::after,
  .pbl-box::after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:4px;
    height:100%;
    background:linear-gradient(180deg, var(--cyan), var(--magenta));
    opacity:0;
    transition:opacity var(--ease);
  }

  .app-list li:hover::after,
  .connection-list li:hover::after,
  .glossary-item:hover::after,
  .tag:hover::after,
  .pbl-steps li:hover::after,
  .music-player:hover::after,
  .pbl-box:hover::after{
    opacity:1;
  }

  .app-list li{
    padding:14px 12px;
    text-align:center;
    color:#fff;
    font-size:18px;
    font-weight:700;
  }

  .app-list li:hover{
    transform:translateY(-4px);
    border-color:rgba(255,79,195,.30);
    background:
      linear-gradient(90deg, rgba(95,246,255,.08), transparent 45%, rgba(255,79,195,.08)),
      rgba(255,255,255,.05);
    box-shadow:0 12px 22px rgba(0,0,0,.18);
  }

  .connection-list li{
    padding:18px 18px 18px 54px;
    margin:12px 0;
    font-size:19px;
    color:var(--muted);
  }

  .connection-list li::before{
    content:"✦";
    position:absolute;
    left:18px;
    top:18px;
    color:var(--cyan);
    font-size:16px;
    font-family:'Oxanium', sans-serif;
    font-weight:800;
  }

  .connection-list li:hover{
    transform:translateX(8px);
    border-color:rgba(95,246,255,.30);
    background:
      linear-gradient(90deg, rgba(95,246,255,.07), transparent 45%, rgba(255,79,195,.07)),
      rgba(255,255,255,.05);
    box-shadow:0 12px 24px rgba(0,0,0,.18);
  }

  .reward-card{
    text-align:center;
    background:
      linear-gradient(90deg, rgba(95,246,255,.08), rgba(255,79,195,.10)),
      var(--panel-c);
  }

  .reward-text{
    font-size:25px;
    line-height:1.7;
    color:#fff;
    font-weight:600;
  }

  .music-player{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px;
    margin-bottom:18px;
    background:
      linear-gradient(90deg, rgba(95,246,255,.04), transparent 45%, rgba(255,79,195,.05)),
      rgba(14, 7, 34, .76);
  }

  .music-player:hover{
    transform:translateY(-3px);
    border-color:rgba(95,246,255,.30);
    box-shadow:0 12px 24px rgba(0,0,0,.22);
  }

  .music-icon{
    font-size:38px;
    flex-shrink:0;
    transition:transform var(--ease);
  }

  .music-player:hover .music-icon{
    transform:scale(1.08);
  }

  .video-button{
    display:block;
    overflow:hidden;
    border:1px solid rgba(95,246,255,.20);
    background:
      linear-gradient(90deg, rgba(95,246,255,.14), rgba(255,79,195,.14)),
      rgba(16, 8, 38, .90);
    transition:
      transform var(--ease),
      box-shadow var(--ease),
      border-color var(--ease),
      filter var(--ease);
  }

  .video-button:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 30px rgba(0,0,0,.24);
    border-color:rgba(95,246,255,.40);
    filter:brightness(1.04);
  }

  .video-button-content{
    display:flex;
    align-items:center;
    gap:18px;
    padding:20px 22px;
  }

  .play-icon{
    font-size:42px;
    color:var(--cyan);
    flex-shrink:0;
    transition:transform var(--ease), color var(--ease);
  }

  .video-button:hover .play-icon{
    transform:scale(1.1);
    color:#fff;
  }

  .video-title{
    font-family:'Oxanium', sans-serif;
    font-size:14px;
    line-height:1.5;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:8px;
  }

  .video-subtitle{
    font-size:18px;
    color:var(--muted);
    font-weight:600;
  }

  .mystical-card{
    text-align:center;
    background:
      linear-gradient(135deg, rgba(255,79,195,.10), transparent 45%, rgba(95,246,255,.08)),
      rgba(31, 14, 73, .90);
  }

  .glossary-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:16px;
    margin-top:10px;
  }

  .glossary-item{
    padding:18px;
  }

  .glossary-item:hover{
    transform:translateY(-4px);
    border-color:rgba(95,246,255,.28);
    background:
      linear-gradient(90deg, rgba(95,246,255,.08), transparent 45%, rgba(255,79,195,.07)),
      rgba(255,255,255,.05);
    box-shadow:0 12px 24px rgba(0,0,0,.18);
  }

  .glossary-term{
    font-family:'Oxanium', sans-serif;
    font-size:12px;
    line-height:1.6;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:12px;
  }

  .glossary-definition{
    font-size:18px;
    line-height:1.7;
    color:var(--muted);
    font-weight:500;
  }

  .educator-separator{
    margin:34px 0 24px;
    padding:28px 18px;
    text-align:center;
    background:
      linear-gradient(90deg, rgba(95,246,255,.08), transparent 50%, rgba(255,79,195,.08)),
      rgba(22, 10, 52, .88);
  }

  .separator-title{
    font-family:'Oxanium', sans-serif;
    font-size:18px;
    line-height:1.6;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:14px;
  }

  .arrow-down{
    display:flex;
    justify-content:center;
    gap:18px;
  }

  .arrow{
    font-size:26px;
    color:var(--cyan);
    transition:transform var(--ease), opacity var(--ease), color var(--ease);
  }

  .educator-separator:hover .arrow{
    transform:translateY(4px);
    opacity:.85;
    color:var(--magenta);
  }

  .tag-container{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
  }

  .tag{
    padding:10px 14px;
    font-size:16px;
    line-height:1.55;
    color:#fff;
    font-weight:700;
    background:
      linear-gradient(90deg, rgba(95,246,255,.04), transparent 45%, rgba(255,79,195,.05)),
      rgba(255,255,255,.035);
  }

  .tag:hover{
    transform:translateY(-3px);
    border-color:rgba(255,79,195,.28);
    box-shadow:0 10px 20px rgba(0,0,0,.16);
  }

  .pbl-box{
    padding:20px;
    background:
      linear-gradient(90deg, rgba(95,246,255,.04), transparent 45%, rgba(255,79,195,.04)),
      rgba(16, 9, 50, .54);
  }

  .pbl-box:hover{
    border-color:rgba(95,246,255,.28);
    box-shadow:0 12px 24px rgba(0,0,0,.16);
  }

  .pbl-steps li{
    position:relative;
    padding:14px 16px 14px 56px;
    margin:10px 0;
    font-size:18px;
    color:var(--muted);
    font-weight:600;
  }

  .pbl-steps li:hover{
    transform:translateX(5px);
    border-color:rgba(95,246,255,.26);
    background:
      linear-gradient(90deg, rgba(95,246,255,.08), transparent 45%, rgba(255,79,195,.06)),
      rgba(255,255,255,.05);
  }

  .pbl-steps li::before{
    content:attr(data-step);
    position:absolute;
    left:14px;
    top:14px;
    width:26px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, var(--cyan), var(--blue));
    color:#120726;
    font-family:'Oxanium', sans-serif;
    font-size:11px;
    font-weight:800;
    clip-path:polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px));
  }

  .sms-icon{
    position:fixed;
    right:18px;
    bottom:100px;
    z-index:30;
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
      linear-gradient(180deg, rgba(95,246,255,.22), rgba(255,79,195,.18)),
      rgba(17,8,39,.92);
    border:1px solid rgba(95,246,255,.30);
    box-shadow:0 10px 25px rgba(0,0,0,.28);
    font-size:26px;
    cursor:pointer;
    user-select:none;
    transition:transform var(--ease), box-shadow var(--ease), border-color var(--ease), filter var(--ease);
  }

  .sms-icon:hover{
    transform:translateY(-4px) scale(1.04);
    box-shadow:0 16px 28px rgba(0,0,0,.36);
    border-color:rgba(95,246,255,.46);
    filter:brightness(1.08);
  }

  .hero-image-wrap{
    margin:20px 0 6px;
    overflow:hidden;
    border:1px solid rgba(95,246,255,.20);
    background:rgba(17, 10, 52, .55);
    box-shadow:var(--shadow);
    transition:transform var(--ease), box-shadow var(--ease), border-color var(--ease);
  }

  .hero-image-wrap:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-strong);
    border-color:rgba(95,246,255,.34);
  }

  .hero-image{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
  }

  .img-caption{
    padding:12px 16px;
    font-size:16px;
    color:var(--muted);
    border-top:1px solid rgba(95,246,255,.14);
    background:rgba(255,255,255,.03);
  }

  @media (max-width:768px){
    .sms-container{
      padding:18px 12px 44px;
    }

    .pixel-header{
      padding:24px 16px;
    }

    .pixel-header h1{
      font-size:17px;
    }

    .subtitle{
      font-size:18px;
    }

    .opening-quote{
      font-size:18px;
    }

    .short-section{
      grid-template-columns:1fr;
      padding:18px;
      gap:18px;
    }

    .short-side-text{
      font-size:20px;
      padding:8px 4px 2px;
    }

    .short-video-wrap{
      max-width:320px;
    }

    .section,
    .reward-card,
    .mystical-card{
      padding:18px;
    }

    .section-title{
      font-size:12px;
      gap:10px;
    }

    .section-title .emoji{
      font-size:20px;
    }

    .section-content,
    .reward-text,
    .glossary-definition,
    .video-subtitle,
    .tag,
    .pbl-steps li,
    .app-list li,
    .connection-list li{
      font-size:17px;
    }

    .music-player,
    .video-button-content{
      padding:16px;
      gap:14px;
    }

    .video-title{
      font-size:11px;
    }

    .play-icon{
      font-size:34px;
    }

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

    .separator-title{
      font-size:13px;
    }

    .sms-icon{
      width:48px;
      height:48px;
      font-size:22px;
      right:14px;
      bottom:14px;
    }
  }