@font-face{font-family:Poppins;src:url("Poppins-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("Poppins-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("Poppins-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif";src:url("NotoSerif-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif";src:url("NotoSerif-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif";src:url("NotoSerif-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

:root{
  --fonte:Poppins,Arial,Helvetica,sans-serif;
  --fonte-titulo:"Noto Serif",Georgia,serif;
  --cor-fundo:#fff;
  --cor-texto:#101010;
  --cor-texto-suave:#4d4d4d;
  --cor-azul:#0c273b;
  --cor-amarelo:#ffde59;
  --cor-foco:#b38b2d;
  --cor-borda:#dedede;
  --cor-card:#fff;
  --sombra-card:0 14px 32px rgba(0,0,0,.08);
  --raio:20px;
  --raio-imagem:18px;
  --largura-site:1320px;
  --site-gutter:clamp(2rem,4vw,4rem);
  --espaco-grid:clamp(3.6rem,5vw,5rem);
  --gap-grid:clamp(2.2rem,3vw,3rem);
  --padding-card:clamp(2.4rem,3vw,2.8rem) clamp(2rem,2.5vw,2.4rem);
}

*,*:before,*:after{box-sizing:border-box}
html{font-size:62.5%;overflow-y:scroll;background:var(--cor-fundo)}
body{margin:0;overflow-x:hidden;background:var(--cor-fundo);color:var(--cor-texto);font-family:var(--fonte);font-size:1.6rem;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:600;line-height:1.22}
h1{font-size:clamp(3.52rem,2.64rem + 1.92vw,5.12rem)}
h2{font-size:clamp(1.82rem,1.45rem + .52vw,2.18rem)}
p{color:var(--cor-texto);font-size:clamp(1.62rem,1.5rem + .28vw,1.9rem)}
p+p{margin-top:2.4rem}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
main{display:block;width:100%}
h1,h2,h3,p,a,button{max-width:100%;overflow-wrap:break-word}

.site-page h1,
.site-page h2{
  color:#050505;
  font-family:var(--fonte-titulo);
  text-transform:none;
}

.site-page h1{font-weight:800}
.site-page h2{font-weight:600}

.site-header{
  display:flex;
  width:min(var(--largura-site),calc(100% - (var(--site-gutter) * 2)));
  margin:0 auto;
  padding:4.8rem 0 3.6rem;
  align-items:center;
  justify-content:space-between;
  gap:4rem;
}

.site-logo{display:flex;width:12rem;align-items:center}
.site-logo img{width:100%;height:auto;filter:invert(1)}

.site-menu-toggle{
  display:none;
  width:4.4rem;
  height:4.4rem;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}

.site-menu-toggle:focus-visible{
  outline:3px solid var(--cor-foco);
  outline-offset:3px;
  border-radius:6px;
}

.site-menu-toggle span,
.site-menu-toggle span:before,
.site-menu-toggle span:after{
  display:block;
  width:2.6rem;
  height:2px;
  background:#050505;
  content:"";
  transition:transform .2s ease,opacity .2s ease;
}

.site-menu-toggle span{position:relative;margin:0 auto}
.site-menu-toggle span:before,
.site-menu-toggle span:after{position:absolute;left:0}
.site-menu-toggle span:before{top:-8px}
.site-menu-toggle span:after{top:8px}
.site-menu-toggle.ativo span{background:transparent}
.site-menu-toggle.ativo span:before{top:0;transform:rotate(45deg)}
.site-menu-toggle.ativo span:after{top:0;transform:rotate(-45deg)}

.site-nav{display:flex;align-items:center;gap:3.6rem}
.site-nav a{
  font-size:1.86rem;
  line-height:1.2;
  text-transform:uppercase;
  white-space:nowrap;
  transition:opacity .2s ease;
}

.site-nav a:hover{opacity:.62}
.site-nav a:focus-visible{
  outline:3px solid var(--cor-foco);
  outline-offset:3px;
  border-radius:4px;
}

.site-nav__student{
  display:inline-flex;
  min-height:3.8rem;
  padding:.82rem 1.18rem;
  border-radius:999px;
  background:var(--cor-amarelo);
  color:var(--cor-azul);
  align-items:center;
  justify-content:center;
  font-size:1.62rem;
  font-weight:600;
  box-shadow:0 8px 18px rgba(255,222,89,.18);
}

.site-nav .site-nav__student:hover{opacity:1;filter:brightness(.96)}
.site-nav .site-nav__student:focus-visible{
  outline:3px solid var(--cor-foco);
  outline-offset:3px;
}

.site-main{width:100%;min-height:60vh;background:var(--cor-fundo);color:var(--cor-texto);overflow:hidden}

.home-hero{
  display:grid;
  width:min(var(--largura-site),calc(100% - (var(--site-gutter) * 2)));
  margin:3rem auto 0;
  grid-template-columns:minmax(0,1.08fr) minmax(30rem,.86fr);
  gap:6.5rem;
  align-items:center;
}

.home-hero__texto{max-width:78rem}
.home-hero h1{margin:0 0 2rem}
.home-hero p{max-width:60rem;font-size:clamp(1.72rem,1.5rem + .4vw,2rem);line-height:1.56}
.home-hero p+p{margin-top:2.6rem}
.home-hero__imagem{width:min(41rem,100%);justify-self:center}
.home-hero__imagem img{width:100%;border-radius:22px;aspect-ratio:1;object-fit:cover}

.page-hero{
  width:min(var(--largura-site),calc(100% - (var(--site-gutter) * 2)));
  margin:3rem auto 0;
  text-align:left;
}

.page-hero h1{margin:0 0 2rem}
.page-hero p{max-width:78rem;font-size:clamp(1.9rem,1.6rem + .5vw,2.2rem);line-height:1.6}

.page-grid{
  display:grid;
  width:min(var(--largura-site),calc(100% - (var(--site-gutter) * 2)));
  margin:var(--espaco-grid) auto 0;
  padding-bottom:8rem;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--gap-grid);
}

.card-paginas{
  display:flex;
  min-height:49rem;
  padding:var(--padding-card);
  border:1px solid var(--cor-borda);
  border-radius:var(--raio);
  background:var(--cor-card);
  align-items:center;
  flex-direction:column;
  text-align:center;
  transition:transform .2s ease,box-shadow .2s ease;
}

.card-paginas:hover{transform:translateY(-2px);box-shadow:var(--sombra-card)}
.card-paginas:focus-visible{outline:3px solid var(--cor-foco);outline-offset:4px}
.card-paginas img{
  width:100%;
  margin-bottom:2.2rem;
  border-radius:var(--raio-imagem);
  aspect-ratio:1;
  object-fit:cover;
}

.card-paginas h2{
  display:block;
  margin:0 0 1.45rem;
  color:#050505;
  font-family:var(--fonte-titulo);
  font-size:clamp(1.82rem,1.45rem + .52vw,2.18rem);
  font-weight:600;
  line-height:1.25;
  text-align:center;
}

.card-paginas p{
  display:block;
  max-width:100%;
  margin:0 auto 2.2rem;
  color:#151515;
  font-size:1.46rem;
  line-height:1.55;
}

.card-paginas span{
  display:block;
  margin-top:auto;
  color:#050505;
  font-size:1.58rem;
  line-height:1.2;
}

.card-paginas--ebook{padding-right:1.8rem;padding-left:1.8rem}
.card-paginas--ebook img{
  width:min(100%,31rem);
  height:auto;
  border-radius:10px;
  aspect-ratio:auto;
  object-fit:contain;
}

.site-empty-state{
  grid-column:1/-1;
  width:100%;
  padding:3rem;
  border:1px solid var(--cor-borda);
  border-radius:var(--raio);
  background:var(--cor-card);
  text-align:center;
}

.site-empty-state h2{margin:0 0 1.2rem;color:#050505}
.site-empty-state p{max-width:62rem;margin:0 auto;color:var(--cor-texto-suave);font-size:1.58rem;line-height:1.6}

/* Respeita preferência do usuário por menos movimento */
@media (prefers-reduced-motion:reduce){
  .site-nav a,
  .site-nav .site-nav__student,
  .site-menu-toggle span,
  .site-menu-toggle span:before,
  .site-menu-toggle span:after,
  .site-nav,
  .card-paginas{transition:none}
}

@media (min-width:992px){
  .cursos-page .page-hero h1{max-width:80%}
  .cursos-page .page-hero p{max-width:89.7rem}
}

@media (max-width:991px){
  .site-header{position:relative;padding:3rem 0;gap:2.4rem}
  .site-menu-toggle{display:block;margin-left:auto}
  .site-nav{
    position:fixed;
    top:0;
    left:0;
    z-index:10;
    display:flex;
    width:min(30rem,82vw);
    height:100vh;
    padding:9rem 3rem 3rem;
    background:#fff;
    box-shadow:0 14px 32px rgba(0,0,0,.12);
    flex-direction:column;
    align-items:flex-start;
    gap:2.2rem;
    transform:translateX(-105%);
    transition:transform .25s ease;
  }

  .site-nav.ativo{transform:translateX(0)}
  .site-nav a{font-size:2rem}
  .site-nav .site-nav__student{min-height:3.8rem;margin-top:1.2rem;padding:.8rem 1.12rem;font-size:1.72rem}
  .home-hero{grid-template-columns:1fr;gap:4rem;text-align:left}
  .home-hero__texto{max-width:72rem;margin:0 auto;text-align:left}
  .home-hero__imagem{width:min(50rem,100%);margin:0 auto}
  .page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:478px){
  .site-header{width:calc(100% - (var(--site-gutter) * 2));padding:2.5rem 0 3.5rem}
  .site-logo{width:7.9rem}
  .site-nav{gap:2.2rem}
  .site-nav a{font-size:2rem}
  .home-hero,
  .page-hero,
  .page-grid{
    width:calc(100% - (var(--site-gutter) * 2));
  }

  .home-hero,.page-hero{margin-top:2rem}
  .home-hero h1,.page-hero h1{font-size:3.06rem}
  .home-hero p,.page-hero p{font-size:1.62rem;line-height:1.52}
  .page-grid{grid-template-columns:1fr;justify-items:center}
  .card-paginas{width:100%;min-height:auto;padding:2.6rem 2rem}
  .card-paginas h2{font-size:2.05rem}
  .card-paginas p{font-size:1.46rem}
  .site-main{padding-bottom:5rem}
}
