/* Página /atequando — mote de indignação.
   Herda tokens, tipografia e o cartão de cadastro de assets/css/site.css.
   Aqui só vive o que é próprio desta página: a superfície escura, a abertura
   e a caixa do player vertical. Nenhum recurso externo: font-src e img-src
   continuam fechados em 'self'. */

body.ate-quando {
  background: var(--ink);
  color: var(--sand);
}

/* ---------- cabeçalho ---------- */

.ate-header {
  border-bottom: 1px solid rgba(247, 244, 240, .16);
  padding-block: 18px;
}

.ate-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ate-wordmark img {
  display: block;
  width: clamp(132px, 19vw, 186px);
  height: auto;
}

.ate-header-psb {
  width: clamp(40px, 6vw, 54px);
  height: auto;
}

/* ---------- abertura ---------- */

/* O titulo abre a pagina sozinho: o video vem logo abaixo, e as perguntas
   depois dele, quando ja fazem sentido como resposta ao que foi dito. */
.ate-hero {
  padding-block: clamp(28px, 5vw, 60px) clamp(20px, 3vw, 32px);
}

.ate-hero-inner {
  display: grid;
  justify-items: center;
  gap: clamp(12px, 2vw, 18px);
  max-width: 820px;
  text-align: center;
}

.ate-charges-section {
  padding-block: clamp(28px, 4vw, 48px) clamp(36px, 5vw, 64px);
}

.ate-charges-inner {
  display: grid;
  justify-items: center;
  gap: clamp(18px, 2.6vw, 28px);
  max-width: 820px;
  text-align: center;
}

.ate-eyebrow {
  margin: 0;
  color: var(--orange);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

#ate-title {
  margin: 0;
  font-family: "Archivo Black", Archivo, Arial, sans-serif;
  font-size: clamp(2.9rem, 12vw, 6.4rem);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.ate-mark {
  color: var(--orange);
}

.ate-charges {
  display: grid;
  gap: 12px;
  max-width: 34ch;
}

.ate-charges p {
  margin: 0;
  border-left: 3px solid var(--orange);
  padding-left: 14px;
  font-size: clamp(1rem, 2.6vw, 1.18rem);
  line-height: 1.45;
  text-align: left;
  text-wrap: pretty;
}

.ate-turn {
  margin: 0;
  max-width: 46ch;
  color: rgba(247, 244, 240, .82);
  font-size: clamp(.95rem, 2.3vw, 1.05rem);
  line-height: 1.6;
  text-wrap: pretty;
}

.ate-turn strong {
  color: var(--sand);
}

.ate-scroll {
  margin: 0;
  color: var(--orange);
  font-size: 1.5rem;
  line-height: 1;
}

/* ---------- player vertical ---------- */

.ate-video {
  padding-block: 0;
}

.ate-video-inner {
  display: grid;
  justify-items: center;
  gap: 14px;
}

/* O master HLS entrega 1080x1920. A caixa acompanha o vídeo para não
   produzir tarja preta, e a largura é limitada porque em tela grande um
   9:16 de largura total ficaria mais alto que a janela. */
.ate-player {
  width: min(100%, 26rem);
  aspect-ratio: 9 / 16;
  border: 3px solid var(--sand);
  box-shadow: 14px 14px 0 var(--orange);
  background: #000000;
}

.ate-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.ate-player-note {
  margin: 0;
  color: rgba(247, 244, 240, .6);
  font-size: .8rem;
}

/* Tela larga e baixa: encolhe o player para ele caber sem rolagem. */
@media (min-width: 721px) and (max-height: 860px) {
  .ate-player {
    width: min(100%, 20rem);
  }
}

/* ---------- cadastro ---------- */

.ate-signup {
  border-top: 1px solid rgba(247, 244, 240, .16);
  padding-block: clamp(40px, 6vw, 78px);
}

.ate-signup-inner {
  display: grid;
  align-items: start;
  gap: clamp(26px, 4vw, 52px);
  max-width: 1040px;
}

.ate-signup-intro {
  display: grid;
  gap: 12px;
}

.ate-signup-title {
  margin: 0;
  font-family: "Archivo Black", Archivo, Arial, sans-serif;
  font-size: clamp(1.9rem, 6vw, 3rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.01em;
  text-transform: uppercase;
}

.ate-signup-intro > p:last-child {
  margin: 0;
  max-width: 42ch;
  color: rgba(247, 244, 240, .78);
  font-size: clamp(.95rem, 2.2vw, 1.05rem);
  line-height: 1.6;
  text-wrap: pretty;
}

@media (min-width: 941px) {
  .ate-signup-inner {
    grid-template-columns: 1fr minmax(0, 1.05fr);
  }

  .ate-signup-intro {
    position: sticky;
    top: 40px;
  }
}

/* O cartão branco herda a caixa de site.css; aqui só ganha o respiro que
   a home resolvia com a grade do hero.
   O `color: var(--ink)` é obrigatório: o cartão é branco sobre uma página de
   texto areia, e sem reafirmar a cor tudo que herda do body (título do cartão,
   rótulos dos campos) sai areia sobre branco — cerca de 1,1:1 de contraste. */
.ate-signup .signup-card {
  margin-inline: auto;
  width: 100%;
  max-width: 560px;
  color: var(--ink);
}

/* ---------- foco visível sobre superfície escura ---------- */

.ate-quando a:focus-visible,
.ate-quando button:focus-visible,
.ate-quando iframe:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .ate-quando * {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}
