@font-face{font-family:'Fredoka';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fontes/fonte-1.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fontes/fonte-2.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:italic;font-weight:300 800;font-display:swap;src:url(/assets/fontes/fonte-3.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fontes/fonte-4.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root { color-scheme: light; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: #1F140F; font-family: Montserrat, sans-serif; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
a { color: #47256A; text-decoration: none; }
a:hover { color: #EA4D65; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid #EA4D65; outline-offset: 2px; }

@keyframes floatY { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes floatYr { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-11px) rotate(-2.5deg); } }
/* fidelidade ao protótipo: reduced-motion desliga só o flutuar dos ícones */
@media (prefers-reduced-motion: reduce) {
  [data-float] { animation: none !important; }
}



/* hover dos botões do navegador de cursos, compilado pelo runtime do protótipo */
.scp0:hover { background: rgb(71, 37, 106) !important; color: rgb(255, 255, 255) !important; }
.scp1:hover { background: rgb(33, 206, 156) !important; color: rgb(255, 255, 255) !important; }
.scp2:hover { background: rgb(248, 171, 67) !important; color: rgb(31, 20, 15) !important; }
.scp3:hover { background: rgb(234, 77, 101) !important; color: rgb(255, 255, 255) !important; }
.scp4:hover { }


/* embeds de vídeo: o CSP do artefato bloqueia iframes externos */
.mw-embed {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  width: 100%; height: 100%; min-height: 220px; box-sizing: border-box; padding: 24px;
  background: #F4F0FA; border: 2px dashed #C9B8DD; border-radius: 14px; text-align: center;
}
.mw-embed:hover { background: #EDE5F6; border-color: #A98CC7; }
.mw-embed-play {
  width: 46px; height: 46px; border-radius: 50%; background: #EA4D65; flex-shrink: 0;
  clip-path: circle(50%);
  background-image: linear-gradient(transparent, transparent);
  position: relative;
}
.mw-embed-play::after {
  content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%);
  border-left: 15px solid #fff; border-top: 9px solid transparent; border-bottom: 9px solid transparent;
}
.mw-embed-t { font-weight: 700; font-size: 14px; color: #47256A; }
.mw-embed-s { font-size: 12px; color: #7A5B9B; }














/* embeds de vídeo reais (no site, diferente da prévia, não há CSP bloqueando) */
.mw-video { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #F4F0FA; }
.mw-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mw-reel { position: relative; width: 100%; aspect-ratio: 9 / 16; border-radius: 14px; overflow: hidden; background: #F4F0FA; }
.mw-reel iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* menu móvel: a navegação do cabeçalho quebra em telas estreitas */
@media (max-width: 640px) {
  header nav { gap: 6px 14px !important; font-size: 13px !important; }
}