/*
 * Camada tipográfica do portal do aluno.
 * Mantém as cores e a composição existentes, mas reduz o peso excessivo,
 * amplia a entrelinha e evita espaçamentos negativos em textos de leitura.
 */
.ews-portal-page.logged-in .ews-app{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-synthesis:none;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}

.ews-portal-page.logged-in .ews-app :is(p, li, summary, textarea, input, button){
  letter-spacing:0;
}

.ews-portal-page.logged-in .ews-app :is(p, li){
  line-height:1.6;
}

/* Marca e navegação: firme, sem o aspecto comprimido. */
.ews-portal-page.logged-in .ews-app-brand strong{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1.12;
}
.ews-portal-page.logged-in .ews-app-header nav a{
  font-size:14px;
  font-weight:700;
  letter-spacing:-.012em;
  line-height:1.35;
}

/* Hero: título forte, com formas mais legíveis e ritmo vertical confortável. */
.ews-portal-page.logged-in .ews-hero:before{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.3;
}
.ews-portal-page.logged-in .ews-hero h1{
  max-width:620px;
  font-size:clamp(40px,4.5vw,64px);
  font-weight:800;
  letter-spacing:-.052em;
  line-height:1.04;
  text-wrap:balance;
}
.ews-portal-page.logged-in .ews-hero > p{
  max-width:590px;
  font-size:clamp(16px,1.35vw,18px);
  font-weight:400;
  letter-spacing:-.012em;
  line-height:1.55;
}

/* Cartão de apoio e benefícios: contraste e escaneabilidade da mensagem. */
.ews-portal-page.logged-in .ews-channel-note strong{
  font-size:16px;
  font-weight:800;
  letter-spacing:-.018em;
  line-height:1.3;
}
.ews-portal-page.logged-in .ews-channel-note span{
  font-size:14px;
  font-weight:400;
  line-height:1.55;
}
.ews-portal-page.logged-in .ews-channel-note a,
.ews-portal-page.logged-in .ews-app button{
  font-weight:700;
  letter-spacing:-.012em;
  line-height:1.25;
}
.ews-portal-page.logged-in .ews-learning-benefits h2{
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:-.018em!important;
  line-height:1.24!important;
}
.ews-portal-page.logged-in .ews-learning-benefits article p{
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.48!important;
}

/* Catálogo e conteúdos: prioridade para leitura, não para decoração. */
.ews-portal-page.logged-in .ews-card h2{
  font-size:clamp(21px,1.8vw,25px);
  font-weight:800;
  letter-spacing:-.032em;
  line-height:1.18;
  text-wrap:balance;
}
.ews-portal-page.logged-in .ews-card > p:not(.eyebrow){
  font-size:15px;
  font-weight:400;
  line-height:1.58;
}
.ews-portal-page.logged-in .eyebrow{
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.2;
}
.ews-portal-page.logged-in .ews-player h1{
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.12;
  text-wrap:balance;
}
.ews-portal-page.logged-in .ews-player > p{
  font-size:16px;
  font-weight:400;
  line-height:1.68;
}
.ews-portal-page.logged-in .ews-sidebar details,
.ews-portal-page.logged-in .ews-lesson{
  font-weight:600;
  letter-spacing:-.008em;
  line-height:1.5;
}

@media (max-width:600px){
  .ews-portal-page.logged-in .ews-hero h1{
    font-size:clamp(37px,11vw,48px);
    letter-spacing:-.045em;
    line-height:1.07;
  }
  .ews-portal-page.logged-in .ews-hero > p{font-size:16px;line-height:1.58}
  .ews-portal-page.logged-in .ews-card h2{font-size:23px;line-height:1.2}
  .ews-portal-page.logged-in .ews-player h1{font-size:29px;line-height:1.16}
}
