/* Ícones Phosphor 2.1.1 (MIT): só os usados no site. Faltou um? Gere de novo com o ícone novo. */
@font-face { font-family: "Phosphor-Bold"; src: url("data:font/woff2;base64,d09GMgABAAAAAAaEAA0AAAAADXAAAAYzAAIZmgAAAAAAAAAAAAAAAAAAAAAAAAAAGxAcGgZgAIEUEQgKk1yQQQE2AiQDHgseAAQgBYE0ByAb0gpRVG6iED8PbMcriwhbJMkhtDz+mcUHx0Sd0fx97gL/BN5ZxLwya8WBd2plrDuDLgNxK0W8ajN9JkUXH9B7e6mUlHJabz8Vf06up4M4lRugGfRlaF3NppPbOdqVcVHqNej/Q991PaE+FKUBqG6b7ez5SdCg+Pu1Vu9/zNv1m02NxBDD37frf09ME+KWjlBJhCRqqTOUxBBpLMPpUrNR4uhlLxCARoF6BJ514DSogMhPuVoIMcDZUvA/8RTCgHgnMADgAro5rsGe4oCGGtF193T+4nfBFq7lVgQjITEFJELtAuiXQWQlgCkIJVonhPA3ngMKgiim86efz8jM0DMlM2NzYnM1c4vzUvPP5w8Xv3McoPA7awvarNaBVp1WqZaDBqfBauir/1e/pa6kmgcCgYCBHAcS15dhzh5rAPkGUG6AKcrACnVmiQrk6q+BZHRVxrpGhqTMCqFgmacwdGmSNZIQWiokONApV4bSNVbVGm+kKrvDmiUzli4d6ecXpJ2jNmU92nIfNvjr6nxSXq6Ba4qCXBwRYaO5hNKkaqg4pi5vNaL99RXxykX08rQoWp0goAjIxIZMKMqIjewIPKxPIicqhWbomdfD0rhrS7qZyYLYbcsusMD0E0X6o+K/Kf8Chh/jiK7EHdRpIwLpFrZhU95bac9Oo3SrEdobUMwlqy5ZxA1Ja1Tblq5HY7oXVXgwv9+TWYmPWMhQyAbhwwbqkiIzY8G70Yhm9L/4q3wwptynn9hdQOASC9yAZIveSEwZiXMD9bJhpLaap0X1X5W1Owh1Luu3ZzF0Q3NUu3tH/05LVzaGdpSeYyaOMbBB3IjVNC2i+gzR5kpIbEW0Ke0r03SUTNLiyqjV+2rCIFT/Xo49nmuCpKs0vEG4u+ZPoMT7Z9gcvA9h7FntEcxN+YAjU38kXuDwfYoN/fUe5pFy1myjNOFIoiF8cykQSJgyR5x6WIzhzUaVOm8484aK2bek+27K7VeUfg0YUq9g68XY1j3Ntk9CCpCUabB9xIKpI8p00wuGGgztESXlP2NHWFa9JV1v0HZxUDhe45xyk3x3WJbrs+Pp2at80XpRbPpSkoalE4RF11qDYg3DYiORWXq4o1gev3nh/cD8gWo95atb9wx8fvZwdregN9nZvsA6zevs12PU3YMAWfHr4Scce360JKPxAyjshZz4N5jeO1ytQ4hYtg2D1XowsWdPAs/I1EuypW199RmdDggx/XVJRqYBP5y8wyGS5vPpaA9Es2w0dFbcMJlUQM4FVRSbCXX6tD+tmvHTsm0Kdg3Ta7e8i3yKph4UFRU1NzMtDNwW3ee4TBEJPS1xaiqTKVonkcHGxomJcn4BsFlS0P2rizhC8ujpl87GZs1LAxWJqErNyEaEm8JBPGVp8wPhAc0zN+fRN4QPoqBZb6jFhaLbVhldPRC9EPT0F475ysD18u+amn8DstTAv42Nd4MUALw1ERvlhvk/f74foGQH3t80rVdXr7cfvnvnTpw91cTf/8OHkJAxB1VpU2U1wukht56GNZHWwkZ92QpuNTPJC6g9WruwNNS9KDW23BpVCXZpU9DIdIys7+sKzlmKSmpBrtctdXQYQcFuHehQhONRU1KUgYYtZlr706S105enRgmdHcxKiOlj3cpQs1MwHZ1GCU+/OI0wOzF9tRUmGhszRehrMplTUwnKEhLVA8ACSdEBmoGa2dlxNICmNYFM7LRMkxZZET2I55ZfPZwCIyPj0zw80uLR0kAngSVj1sdFRTke8qw1k5GQ6Mng81PV8/mJStmqQegeABPKTlsm94K2rCoXQepaQA8XSh4JHAXb3/3dISHdFXfV1O6WEzihLdndy/rdyYSgy/+HpRuu8K15ZV0nXqAGX/ZigmX/+qWF0IaxDrbm5rWMahwrDPnP6hSh+n78DnmXR3ociJnUJ/XHQp1FZS74W4So/4lCNRCG3H9NXigo6LbzgECgdJU9jhHQp5eFzVrH4qm3CFUMMDHUE6chuYpA6F+NVgiCQrX/3/AkQ8yCBiNQj41TpWiqAqaCaQigVdCbRjb4uAIWbX4ZOghF2pq/EFfEXkv4ocflIx2xyEAWriEfKSJvIjIQomrLgek314EdrGALQQQA") format("woff2"); font-weight: normal; font-style: normal; font-display: block; }
.ph-bold {
  font-family: "Phosphor-Bold" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  letter-spacing: 0;
  -webkit-font-feature-settings: "liga";
  -moz-font-feature-settings: "liga=1";
  -moz-font-feature-settings: "liga";
  -ms-font-feature-settings: "liga" 1;
  font-feature-settings: "liga";
  -webkit-font-variant-ligatures: discretionary-ligatures;
  font-variant-ligatures: discretionary-ligatures;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.ph-bold.ph-arrow-right:before { content: "\e06c"; }
.ph-bold.ph-arrow-up-right:before { content: "\e092"; }
.ph-bold.ph-camera:before { content: "\e10e"; }
.ph-bold.ph-chart-bar:before { content: "\e150"; }
.ph-bold.ph-check:before { content: "\e182"; }
.ph-bold.ph-credit-card:before { content: "\e1d2"; }
.ph-bold.ph-lock-simple:before { content: "\e308"; }
.ph-bold.ph-pencil-line:before { content: "\e3b2"; }
.ph-bold.ph-qr-code:before { content: "\e3e6"; }
.ph-bold.ph-shield-check:before { content: "\e40c"; }
.ph-bold.ph-sparkle:before { content: "\e6a2"; }
.ph-bold.ph-timer:before { content: "\e492"; }
.ph-bold.ph-x:before { content: "\e4f6"; }
@font-face { font-family: "Phosphor-Fill"; src: url("data:font/woff2;base64,d09GMgABAAAAAAI8AA0AAAAABBwAAAHrAAIZmgAAAAAAAAAAAAAAAAAAAAAAAAAAGxAcGgZgADQRCAqCGIIaATYCJAMGCwYABCAFgTQHIBszAwCOwrZtE4vJ5O9UfEg89H9v3pl5KbVQjodXOMANpBUNlyoWjEhAViPwLVjH/+wTGQEzEZWM4k/M8JntkN5kaJMkkGmA40BmnPikQKMuCqS7gQaa2xgSYVMMe7kCo8ZNAjVnkRQ6jsnPBBeAKoa6wU4+s1yBJ98W/0yDG0JNk17/uTXrXrfHurgNBNQvYJsqSBTmsQrMY7MNmiboPzMMD5dXB4EQHQNBkKChcAbOATRAzZipZlXP8RBf6wLVLPISf9s8wm6qqVpu/FprTkusfxi43rqRHSKuGZWgBZ2FW4VJohrTzTu3y6C2Nt42l/Mb43XU1BAF3t4GSrS28rTOoXpEnPf4T3lgmjfk08IzNEajdxX5VfjRM8n3TjHIweOgimNHxUfMPQhJydrLArhOauriBx87OlUcGgd14PyxGhH1/NWJiJ3F5c/vqKjVXReAq31+p/h4Bz4hYiV+FX6+D9/E6eaWLavAB0Sx0PoHPmJlAQjkyuiX0uPMKEHzb1y8bIC+ntw4MNTtNWLdA8MSBP8KQUPHsBGCPBMN+AIhIxB8IIk35AiraNxgHXaEVXJIkw5tZbYBAxbZ50HU3pJlyZPt43MpcREnS6a8/Pv1OUqRLp2vBEkKpIuRK1CCXHlSZMmkxIQBY6wEAAA=") format("woff2"); font-weight: normal; font-style: normal; font-display: block; }
.ph-fill {
  font-family: "Phosphor-Fill" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  letter-spacing: 0;
  -webkit-font-feature-settings: "liga";
  -moz-font-feature-settings: "liga=1";
  -moz-font-feature-settings: "liga";
  -ms-font-feature-settings: "liga" 1;
  font-feature-settings: "liga";
  -webkit-font-variant-ligatures: discretionary-ligatures;
  font-variant-ligatures: discretionary-ligatures;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.ph-fill.ph-lightbulb:before { content: "\e2dc"; }

:root {
  --tinta: #0E1530;
  --tinta-2: #1B2550;
  --papel: #F3F4F8;
  --cartao: #FFFFFF;
  --linha: #E1E4EE;
  --suave: #5E6480;
  --lima: #C8FF3D;
  --azul: #3D5AFE;
  --azul-claro: #E8ECFF;
  --vermelho: #FF4D4F;
  --amarelo: #FFC53D;
  --verde: #18B26B;
  --raio: 18px;
  --sombra: 0 10px 30px rgba(14, 21, 48, .10);
  --titulo: 'Bricolage Grotesque', system-ui, sans-serif;
  --texto: 'Plus Jakarta Sans', system-ui, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--papel);
  color: var(--tinta);
  font: 16px/1.5 var(--texto);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1, h2, h3 { font-family: var(--titulo); line-height: 1.08; margin: 0 0 .5em; letter-spacing: -.02em; }
button { font: inherit; color: inherit; }

/* ---------- telas ---------- */
.tela { display: none; min-height: 100dvh; }
.tela.ativa { display: block; animation: entra .35s ease both; }
@keyframes entra { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ---------- botões ---------- */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  width: 100%; border: 0; cursor: pointer;
  background: var(--tinta); color: #fff;
  padding: 16px 22px; border-radius: 14px;
  font-weight: 700; font-size: 1.02rem;
  box-shadow: 0 4px 0 #000;
  transition: transform .12s ease, box-shadow .12s ease, opacity .2s;
}
.botao:active { transform: translateY(3px); box-shadow: 0 1px 0 #000; }
.botao:disabled { opacity: .35; cursor: not-allowed; }
.botao-grande { padding: 19px 22px; font-size: 1.1rem; }
.botao-claro { background: var(--lima); color: var(--tinta); box-shadow: 0 4px 0 #8DB82A; }
.botao-pulsa { animation: pulsa 1.8s ease-in-out infinite; }
@keyframes pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.025); } }
.link { background: none; border: 0; color: var(--suave); text-decoration: underline; cursor: pointer; padding: 14px 0; width: 100%; font-size: .92rem; }
.link-mini { width: auto; padding: 0 0 0 4px; font-size: inherit; }

/* ---------- peças comuns (resultado, oferta, rodapé) ---------- */
.selo {
  display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  background: rgba(200, 255, 61, .14); color: var(--lima); padding: 6px 12px; border-radius: 99px; margin: 0 0 16px;
}
.sub { color: rgba(255,255,255,.82); font-size: 1.04rem; margin: 0 0 24px; }
.rodape { text-align: center; font-size: .78rem; color: var(--suave); padding: 24px 20px 110px; }

/* ---------- entrada (landing escura: combina com a foto de estudo à noite) ---------- */
.tela-inicio {
  --noite: #0B1330;
  --noite-2: #121C42;
  --noite-3: #1A2654;
  --texto-claro: #EEF1FA;
  --texto-suave: #A9B2D6;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  background: var(--noite);
  color: var(--texto-claro);
}
.tela-inicio h2 { font-size: clamp(1.9rem, 6vw, 2.9rem); font-weight: 800; max-width: 18ch; }

.faixa-contagem {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--lima); color: var(--tinta); font-size: .9rem; font-weight: 700; padding: 9px 16px;
}
.faixa-contagem i { font-size: 1.05rem; }

.botao-lima { background: var(--lima); color: var(--tinta); box-shadow: 0 4px 0 #8DB82A; }
.botao-lima i { font-size: 1.1em; transition: transform 200ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .botao-lima:hover i { transform: translateX(3px); }
}

/* hero */
.hero {
  position: relative; overflow: hidden;
  padding: 32px 20px 56px;
  background: radial-gradient(90% 60% at 85% 10%, #1F2E6E 0%, var(--noite) 70%);
  display: grid; gap: 34px;
}
.hero h1 { font-size: clamp(2.6rem, 11vw, 4.6rem); font-weight: 800; line-height: 1.02; letter-spacing: -.035em; margin: 0 0 16px; }
.marca { color: var(--lima); }
.hero .sub { color: var(--texto-suave); font-size: 1.08rem; margin: 0 0 24px; max-width: 36ch; }
.micro { font-size: .86rem; color: var(--texto-suave); margin: 12px 0 0; }
.hero .micro { text-align: center; }

.hero-visual { position: relative; margin: 0; }
/* Fotos de comemoração giram aqui. Sem moldura: as bordas se dissolvem no azul
   (máscara nos 4 lados), então a foto parece parte da página, não colada nela. */
.hero-visual { margin-bottom: 158px; }
.hero-visual::before {
  /* brilho quente atrás da foto: a luz do dia "vaza" um pouco pro azul */
  content: ''; position: absolute; left: 50%; top: 4%; width: 125%; height: 80%; transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(255, 140, 60, .18), rgba(200, 255, 61, .06) 55%, transparent);
  pointer-events: none;
}
.hero-foto {
  position: relative; margin: 0 -20px; aspect-ratio: 4 / 4.6;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 80%, transparent 100%), linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 80%, transparent 100%), linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%);
  mask-composite: intersect;
}
.hero-foto img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; display: block;
  opacity: 0; transition: opacity 1200ms ease, transform 6000ms linear;
}
.hero-foto img.ativa { opacity: 1; }

.hero-cartao {
  /* fica quase todo abaixo da foto, encostando só na parte que já some, pra não cobrir as palavras nos braços */
  position: absolute; left: 0; bottom: -150px; width: min(74%, 290px);
  background: var(--cartao); color: var(--tinta); border-radius: 18px; padding: 14px;
  box-shadow: 0 24px 50px rgba(3, 7, 25, .5); transform: rotate(-3deg);
}
.hc-topo { display: flex; justify-content: space-between; align-items: center; font-size: .78rem; font-weight: 700; color: var(--suave); }
.hc-barra { height: 7px; background: var(--linha); border-radius: 9px; margin: 8px 0 10px; overflow: hidden; }
.hc-barra i { display: block; height: 100%; width: 27%; background: linear-gradient(90deg, var(--azul), #7C4DFF); border-radius: 9px; }
.hc-q { font-size: .86rem; font-weight: 600; margin: 0 0 8px; line-height: 1.35; }
.hc-op { display: flex; gap: 8px; align-items: center; border: 2px solid var(--azul); background: var(--azul-claro); border-radius: 10px; padding: 7px 10px; font-size: .84rem; }
.hc-op b { width: 22px; height: 22px; border-radius: 6px; background: var(--azul); color: #fff; display: grid; place-items: center; font-size: .72rem; }
.hc-pop {
  position: absolute; left: 18px; top: -20px; display: flex; align-items: center; gap: 6px;
  background: var(--amarelo); color: var(--tinta); font-weight: 800; font-size: .82rem;
  padding: 8px 12px; border-radius: 12px; box-shadow: 0 10px 24px rgba(3, 7, 25, .35); transform: rotate(5deg);
}

/* entrada da hero: uma vez, no carregamento */
@media (prefers-reduced-motion: no-preference) {
  .entra { animation: sobe 700ms var(--ease-out) both; animation-delay: calc(var(--i) * 90ms + 80ms); }
  .hero-foto { animation: aparece 1100ms var(--ease-out) both 120ms; }
  /* zoom lento na foto da vez */
  .hero-foto img { transform: scale(1.08); }
  .hero-foto img.ativa { transform: scale(1); }
  .hero-cartao { animation: cartao 800ms var(--ease-out) both 700ms; }
  .hc-barra i { animation: barra 900ms var(--ease-out) both 1100ms; }
  .hc-pop { animation: pop 500ms cubic-bezier(.2, 1.6, .4, 1) both 1300ms; }
}
@keyframes sobe { from { opacity: 0; transform: translateY(14px); } }
@keyframes aparece { from { opacity: 0; transform: translateY(20px); } }
@keyframes cartao { from { opacity: 0; transform: translateY(24px) rotate(-3deg); } to { opacity: 1; transform: rotate(-3deg); } }
@keyframes barra { from { transform: scaleX(0); transform-origin: left; } }
@keyframes pop { from { opacity: 0; transform: scale(.85) rotate(5deg); } to { opacity: 1; transform: rotate(5deg); } }

/* faixa de faculdades (única marquee da página) */
.faculdades { padding: 34px 0 30px; border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); background: var(--noite-2); }
.fac-titulo { text-align: center; font-weight: 700; font-size: .95rem; margin: 0 20px 18px; color: var(--texto-claro); }
.fac-titulo span { display: block; font-weight: 500; font-size: .8rem; color: var(--texto-suave); margin-top: 2px; }
.fac-trilho {
  display: flex; overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
}
.fac-lista { display: flex; flex: none; align-items: center; gap: 14px; padding: 4px 7px; margin: 0; list-style: none; }
/* logos nas cores originais, cada uma numa plaquinha branca do mesmo tamanho
   (o azul da página apagaria as logos escuras e as que vêm com fundo branco) */
.fac-lista li {
  flex: none; display: grid; place-items: center; width: 150px; height: 76px; padding: 12px 18px;
  background: #fff; border-radius: 16px; box-shadow: 0 6px 18px rgba(3, 7, 25, .28);
}
.fac-lista img { max-width: 100%; max-height: 46px; width: auto; height: auto; object-fit: contain; }
/* as que são só brasão/símbolo ganham mais altura pra não parecerem menores */
.fac-lista .logo-ufpe, .fac-lista .logo-ufba, .fac-lista .logo-ufsc, .fac-lista .logo-metodista,
.fac-lista .logo-mackenzie, .fac-lista .logo-puc, .fac-lista .logo-unicamp { max-height: 56px; }
@media (prefers-reduced-motion: no-preference) {
  .fac-lista { animation: corre 48s linear infinite; }
  .fac-trilho:hover .fac-lista { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) {
  .fac-trilho { mask-image: none; -webkit-mask-image: none; }
  .fac-lista { flex: 1; flex-wrap: wrap; justify-content: center; gap: 12px; }
  .fac-lista[aria-hidden] { display: none; }
}
@keyframes corre { to { transform: translateX(-100%); } }

/* como funciona */
.como, .descobre, .faq, .final { padding: 64px 20px; max-width: 1080px; margin: 0 auto; }
.passos { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 22px; }
.passos li { display: flex; gap: 18px; align-items: flex-start; }
.passo-n {
  flex: none; font-family: var(--titulo); font-weight: 800; font-size: 3.4rem; line-height: .9;
  color: transparent; -webkit-text-stroke: 1.5px var(--lima); width: 44px;
}
.passos b { display: block; font-size: 1.15rem; margin-bottom: 4px; }
.passos p { margin: 0; color: var(--texto-suave); max-width: 46ch; }

/* bento do resultado */
.bento { display: grid; gap: 12px; margin-top: 28px; }
.bt {
  border-radius: 22px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px;
  background: var(--noite-2); border: 1px solid rgba(255,255,255,.07);
}
.bt-txt b { display: block; font-family: var(--titulo); font-size: 1.25rem; font-weight: 800; letter-spacing: -.01em; }
.bt-txt p { margin: 4px 0 0; color: var(--texto-suave); font-size: .95rem; }
.bt-nota { background: linear-gradient(150deg, #24357C 0%, var(--noite-2) 70%); }
.bt-decorar { background: var(--lima); color: var(--tinta); border: 0; }
.bt-decorar .bt-txt p { color: rgba(14, 21, 48, .72); }

.mini-nota { background: var(--cartao); color: var(--tinta); border-radius: 16px; padding: 14px 16px; }
.mn-linha { display: flex; align-items: center; justify-content: space-between; }
.mn-num { font-family: var(--titulo); font-size: 2.6rem; font-weight: 800; line-height: 1; }
.mn-falta { background: #FFE3E3; color: #C62828; font-weight: 800; font-size: .78rem; padding: 6px 10px; border-radius: 99px; }
.mn-barra { position: relative; height: 10px; background: var(--linha); border-radius: 99px; margin: 12px 0 8px; }
.mn-barra i { position: absolute; inset: 0 auto 0 0; width: 65.6%; border-radius: 99px; background: linear-gradient(90deg, var(--azul), #7C4DFF); }
.mn-barra em { position: absolute; left: 73%; top: -5px; bottom: -5px; width: 3px; border-radius: 2px; background: var(--vermelho); }
.mini-nota small { color: var(--suave); font-size: .76rem; }
.mini-resp { display: grid; gap: 8px; }
.mini-resp span { display: flex; align-items: center; gap: 8px; border-radius: 12px; padding: 10px 12px; font-weight: 600; font-size: .92rem; color: var(--tinta); }
.mr-errada { background: #FFECEC; box-shadow: inset 4px 0 0 var(--vermelho); }
.mr-certa { background: #E4F8EE; box-shadow: inset 4px 0 0 var(--verde); }
.mini-regra { margin: 0; display: flex; gap: 10px; align-items: center; background: rgba(14,21,48,.08); border-radius: 14px; padding: 12px 14px; font-weight: 700; }
.mini-regra i { font-size: 1.3rem; }
.mini-flash { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: var(--cartao); color: var(--tinta); border-radius: 14px; padding: 12px 14px; font-weight: 600; font-size: .92rem; }
.mini-flash b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: var(--azul); color: #fff; font-size: .74rem; margin-right: 6px; }
.mf-resp { color: #0E8A51; font-weight: 800; }

/* perguntas */
.faq details { border-bottom: 1px solid rgba(255,255,255,.1); padding: 18px 0; }
.faq summary { font-weight: 700; font-size: 1.05rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-size: 1.4rem; line-height: 1; color: var(--lima); transition: transform 200ms var(--ease-out); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 10px 0 0; color: var(--texto-suave); max-width: 60ch; }

.final { text-align: center; padding-bottom: 40px; }
.final h2 { margin: 0 auto 24px; max-width: 16ch; }
.final .botao { max-width: 420px; }

.tela-inicio .rodape { color: var(--texto-suave); border-top: 1px solid rgba(255,255,255,.07); }
.cta-fixo {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 5;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: linear-gradient(to top, var(--noite) 65%, rgba(11, 19, 48, 0));
  transform: translateY(calc(100% + 24px)); visibility: hidden;
  transition: transform 300ms var(--ease-out), visibility 0s linear 300ms;
}
.cta-fixo.visivel { transform: none; visibility: visible; transition: transform 300ms var(--ease-out), visibility 0s; }
body[data-tela="inicio"] { background: #0B1330; }
.cta-fixo .botao { max-width: 520px; margin: 0 auto; display: flex; }

/* revela ao rolar (uma vez) */
@media (prefers-reduced-motion: no-preference) {
  [data-revela] { opacity: 0; transform: translateY(18px); transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out); }
  [data-revela].visto { opacity: 1; transform: none; }
}

@media (min-width: 760px) {
  .bento { grid-template-columns: 1.35fr 1fr; }
  .bt-flash { grid-column: 2; }
  .bt-decorar { grid-row: 2; grid-column: 1; }
  .passos { grid-template-columns: repeat(3, 1fr); gap: 32px; }
  .passos li { flex-direction: column; gap: 12px; }
}
@media (min-width: 960px) {
  .hero {
    grid-template-columns: 1.05fr .95fr; align-items: center; gap: 56px;
    padding: 56px max(40px, calc((100vw - 1160px) / 2)) 80px;
    min-height: min(820px, calc(100dvh - 40px));
  }
  .hero .micro { text-align: left; }
  .hero .botao-grande { width: auto; padding-left: 32px; padding-right: 32px; }
  .hero-visual { margin-bottom: 0; }
  .hero-foto {
    margin: 0; aspect-ratio: 4 / 5;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 84%, transparent 100%), linear-gradient(to right, transparent 0%, #000 14%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 84%, transparent 100%), linear-gradient(to right, transparent 0%, #000 14%, #000 92%, transparent 100%);
  }
  .hero-cartao { left: -110px; bottom: -96px; }
  .hero { padding-bottom: 120px; }
  .faculdades .fac-titulo { font-size: 1.05rem; }
  .fac-lista { gap: 18px; }
  .como, .descobre, .faq, .final { padding-top: 96px; padding-bottom: 96px; }
}

/* ---------- quiz ---------- */
.topo-quiz {
  position: sticky; top: 0; z-index: 4; background: var(--papel);
  padding: 14px 16px 12px; border-bottom: 1px solid var(--linha);
}
.topo-linha { display: flex; justify-content: space-between; font-size: .88rem; font-weight: 600; color: var(--suave); max-width: 560px; margin: 0 auto; }
.topo-linha b { color: var(--tinta); }
.barra { max-width: 560px; margin: 8px auto 0; height: 12px; background: var(--linha); border-radius: 99px; overflow: hidden; }
.barra i {
  display: block; height: 100%; width: 0; border-radius: 99px;
  background: linear-gradient(90deg, var(--azul), #7C4DFF);
  transition: width .45s cubic-bezier(.2,.8,.2,1);
}
.quiz-corpo { max-width: 560px; margin: 0 auto; padding: 22px 16px 40px; }
.quiz-corpo.troca { animation: troca .32s ease both; }
@keyframes troca { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }

.q-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.tag { font-size: .74rem; font-weight: 700; padding: 5px 10px; border-radius: 99px; background: var(--azul-claro); color: var(--azul); }
.tag-facil { background: #DFF7EA; color: #0E8A51; }
.tag-medio { background: #FFF3D6; color: #A86B00; }
.tag-dificil { background: #FFE3E3; color: #C62828; }
.q-enunciado { font-size: 1.08rem; font-weight: 600; margin: 0 0 18px; }
.pergunta-perfil { font-size: 1.7rem; }
.dica { color: var(--suave); margin: -6px 0 18px; font-size: .95rem; }

.opcoes { display: grid; gap: 10px; }
.opcao {
  display: flex; gap: 12px; align-items: flex-start; text-align: left; width: 100%;
  background: var(--cartao); border: 2px solid var(--linha); border-radius: 14px;
  padding: 14px; cursor: pointer; font-size: .98rem; line-height: 1.4;
  box-shadow: 0 3px 0 var(--linha);
  transition: border-color .15s, background .15s, transform .12s;
}
.opcao:active { transform: translateY(2px); }
.opcao .letra {
  flex: none; width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center;
  background: var(--papel); font-weight: 800; font-size: .85rem;
}
.opcao.marcada { border-color: var(--azul); background: var(--azul-claro); box-shadow: 0 3px 0 var(--azul); }
.opcao.marcada .letra { background: var(--azul); color: #fff; }
@media (hover: hover) { .opcao:hover { border-color: #B9C3FF; } }

.grade-perfil { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.grade-perfil .opcao { flex-direction: column; gap: 6px; align-items: flex-start; }
.grade-perfil .emoji { font-size: 1.5rem; }
.grade-perfil .opcao small { color: var(--suave); font-size: .8rem; }

/* ---------- popup ---------- */
.popup-fundo {
  position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 20px;
  background: rgba(14, 21, 48, .55); backdrop-filter: blur(4px);
}
.popup-fundo[hidden] { display: none; }
.popup {
  background: var(--cartao); border-radius: 24px; padding: 28px 22px 22px; text-align: center;
  max-width: 360px; width: 100%; box-shadow: var(--sombra);
  animation: estoura .5s cubic-bezier(.2,1.6,.4,1) both;
}
@keyframes estoura { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.popup-icone { font-size: 3.4rem; line-height: 1; margin-bottom: 10px; animation: balanca 1.2s ease-in-out infinite; }
@keyframes balanca { 25% { transform: rotate(-10deg); } 75% { transform: rotate(10deg); } }
.popup h3 { font-size: 1.6rem; }
.popup p { color: var(--suave); margin: 0 0 20px; }
.confete { position: fixed; inset: 0; pointer-events: none; z-index: 30; width: 100%; height: 100%; }

/* ---------- redação ---------- */
.rotulo { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--azul); margin: 0 0 6px; }
.tema { font-size: 1.45rem; }
.abas { display: grid; grid-template-columns: 1fr 1fr; background: var(--linha); border-radius: 14px; padding: 4px; margin-bottom: 14px; }
.aba { border: 0; background: none; padding: 11px; border-radius: 11px; font-weight: 700; cursor: pointer; }
.aba.ativa { background: var(--cartao); box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.painel { display: none; margin-bottom: 18px; }
.painel.ativo { display: block; }
.envio {
  display: grid; place-items: center; min-height: 200px; border: 2px dashed #B9B3A5; border-radius: var(--raio);
  background: var(--cartao); cursor: pointer; text-align: center; padding: 16px; overflow: hidden;
}
.envio-vazio b { display: block; }
.envio-vazio small { color: var(--suave); }
.envio-previa { max-width: 100%; max-height: 320px; border-radius: 10px; }
textarea {
  width: 100%; border: 2px solid var(--linha); border-radius: var(--raio); padding: 14px;
  font: 16px/1.6 var(--texto); resize: vertical; background: var(--cartao); color: var(--tinta);
}
textarea:focus { outline: none; border-color: var(--azul); }
.contador { font-size: .85rem; color: var(--suave); margin: 6px 0 0; text-align: right; }
.contador.ok { color: var(--verde); font-weight: 700; }

/* ---------- carregando ---------- */
.tela-carregando { background: var(--tinta); color: #fff; }
.carga { max-width: 420px; margin: 0 auto; padding: 18vh 24px 40px; text-align: center; }
.anel { position: relative; width: 140px; height: 140px; margin: 0 auto 26px; }
.anel svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.anel circle { fill: none; stroke-width: 10; }
.anel-fundo { stroke: rgba(255,255,255,.12); }
.anel-progresso { stroke: var(--lima); stroke-linecap: round; stroke-dasharray: 327; stroke-dashoffset: 327; transition: stroke-dashoffset .3s linear; }
.anel b { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--titulo); font-size: 2rem; }
.carga-passos { list-style: none; padding: 0; margin: 20px 0 0; text-align: left; }
.carga-passos li { padding: 9px 0; color: rgba(255,255,255,.35); transition: color .3s; display: flex; gap: 10px; }
.carga-passos li::before { content: '○'; color: rgba(255,255,255,.35); }
.carga-passos li.rodando { color: #fff; }
.carga-passos li.rodando::before { content: '◌'; color: var(--lima); animation: gira 1s linear infinite; display: inline-block; }
.carga-passos li.feito { color: rgba(255,255,255,.8); }
.carga-passos li.feito::before { content: '✓'; color: var(--lima); }
@keyframes gira { to { transform: rotate(360deg); } }

/* ---------- resultado ---------- */
.res-topo { background: var(--tinta); color: #fff; padding: 32px 20px 70px; }
.res-topo > * { max-width: 560px; margin-left: auto; margin-right: auto; }
.res-topo h1 { font-size: clamp(1.9rem, 7.5vw, 2.8rem); }
.res-topo .sub { max-width: none; margin-bottom: 0; }
.res-topo .sub b { color: var(--lima); }

.cofre { position: relative; max-width: 560px; margin: -50px auto 0; padding: 0 16px; }
.cofre-conteudo {
  filter: blur(9px); user-select: none; pointer-events: none; transition: filter .8s ease;
}
.cofre:not(.aberto) .cofre-conteudo { max-height: 440px; overflow: hidden; }
.cofre.aberto .cofre-conteudo { filter: none; user-select: auto; pointer-events: auto; }
.cofre-cadeado {
  position: absolute; inset: 0 16px; display: grid; place-content: start center; padding-top: 70px; text-align: center; gap: 4px;
  background: linear-gradient(to bottom, rgba(245,243,238,0) 0%, rgba(245,243,238,.55) 40%, rgba(245,243,238,.55) 100%);
  border-radius: var(--raio);
}
.cofre.aberto .cofre-cadeado { display: none; }
.cadeado {
  width: 76px; height: 76px; margin: 0 auto 8px; border-radius: 24px; background: var(--tinta);
  display: grid; place-items: center; font-size: 2.2rem; box-shadow: var(--sombra);
  animation: treme 3s ease-in-out infinite;
}
@keyframes treme { 0%, 86%, 100% { transform: rotate(0); } 89% { transform: rotate(-12deg); } 92% { transform: rotate(10deg); } 95% { transform: rotate(-6deg); } }
.cofre-cadeado small { color: var(--suave); }

/* cards do resultado */
.card { background: var(--cartao); border-radius: var(--raio); padding: 18px; box-shadow: var(--sombra); }
.card-rotulo { margin: 0; font-weight: 700; font-size: .9rem; }
.card-rotulo small { color: var(--suave); font-weight: 500; }
.r-nota { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }
.r-nota b { font-family: var(--titulo); font-size: 3.4rem; line-height: 1; }
.r-veredito { font-weight: 800; font-size: .85rem; padding: 7px 12px; border-radius: 99px; }
.r-veredito.abaixo { background: #FFE3E3; color: #C62828; }
.r-veredito.acima { background: #DFF7EA; color: #0E8A51; }
.r-corte { height: 14px; border-radius: 99px; background: var(--linha); position: relative; margin: 14px 0 10px; }
.r-corte i { position: absolute; inset: 0 auto 0 0; border-radius: 99px; background: linear-gradient(90deg, var(--azul), #7C4DFF); }
.r-corte em { position: absolute; top: -6px; bottom: -6px; width: 3px; border-radius: 2px; background: var(--vermelho); }
.card-legenda { margin: 0; font-size: .82rem; color: var(--suave); }
.leg-corte { display: inline-block; width: 3px; height: 12px; background: var(--vermelho); vertical-align: middle; margin-right: 4px; }

.grade-areas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0; }
.card-area { padding: 14px; display: flex; flex-direction: column; gap: 2px; box-shadow: 0 4px 14px rgba(14,21,48,.07); }
.ca-emoji { font-size: 1.3rem; }
.card-area b { font-size: .92rem; }
.ca-nota { font-family: var(--titulo); font-size: 2rem; font-weight: 800; line-height: 1.1; }
.card-area small { color: var(--suave); font-size: .8rem; margin-bottom: 6px; }
.card-area .tag { align-self: flex-start; }

/* gavetas */
.gaveta { background: var(--cartao); border-radius: var(--raio); box-shadow: 0 4px 14px rgba(14,21,48,.07); margin-bottom: 10px; padding: 0; border: 0; }
.gaveta > summary {
  list-style: none; display: flex; align-items: center; gap: 12px; padding: 16px; cursor: pointer;
  font-family: var(--titulo); font-size: 1.12rem; font-weight: 800;
}
.gaveta > summary::-webkit-details-marker { display: none; }
.gaveta > summary::after { content: '⌄'; margin-left: 4px; font-size: 1.3rem; line-height: 1; transition: transform .25s; color: var(--suave); }
.gaveta[open] > summary::after { transform: rotate(180deg); }
.g-icone { width: 38px; height: 38px; border-radius: 12px; background: var(--papel); display: grid; place-items: center; font-size: 1.1rem; flex: none; }
.g-titulo { flex: 1; }
.g-cont { background: var(--tinta); color: #fff; font-family: var(--texto); font-size: .8rem; padding: 3px 9px; border-radius: 99px; }
.g-corpo { padding: 0 12px 12px; display: grid; gap: 10px; animation: entra .3s ease both; }
.vazio { margin: 0; padding: 14px; background: var(--papel); border-radius: 14px; color: var(--suave); }
.nota-rodape { margin: 0; font-size: .78rem; color: var(--suave); text-align: center; }

.c-erro, .c-red, .c-dec { background: var(--papel); border-radius: 14px; padding: 14px; }
.c-enunciado { font-weight: 600; font-size: .95rem; margin: 10px 0; }
.c-resp { border-radius: 10px; padding: 9px 12px; font-size: .92rem; margin-bottom: 6px; border-left: 4px solid; }
.c-resp small { display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.c-resp-errada { background: #FFECEC; border-color: var(--vermelho); }
.c-resp-errada small { color: #C62828; }
.c-resp-certa { background: #E4F8EE; border-color: var(--verde); }
.c-resp-certa small { color: #0E8A51; }
.c-porque { margin: 8px 0 0; font-size: .9rem; }

.c-red { border-left: 5px solid var(--amarelo); }
.c-red-alto { border-left-color: var(--vermelho); }
.c-red-topo { display: flex; gap: 8px; align-items: center; }
.c-red ul { margin: 8px 0 0; padding-left: 18px; font-size: .9rem; }
.c-red p { margin: 8px 0 0; font-size: .88rem; color: var(--suave); }

.c-dec-topo { display: flex; align-items: center; gap: 8px; }
.c-dec-topo b { flex: 1; font-family: var(--titulo); font-size: 1.05rem; }
.c-regra { margin: 10px 0; font-size: .92rem; background: var(--cartao); border-radius: 10px; padding: 10px 12px; }
.c-sub { margin: 0 0 6px; font-size: .78rem; font-weight: 700; color: var(--suave); text-transform: uppercase; letter-spacing: .04em; }
.flash { background: var(--cartao); border-radius: 10px; margin-bottom: 6px; border: 0; padding: 0; }
.flash summary { list-style: none; display: flex; gap: 10px; padding: 11px 12px; cursor: pointer; font-size: .92rem; font-weight: 600; }
.flash summary::-webkit-details-marker { display: none; }
.flash summary span { flex: none; width: 22px; height: 22px; border-radius: 7px; background: var(--azul-claro); color: var(--azul); display: grid; place-items: center; font-size: .75rem; font-weight: 800; }
.flash[open] summary span { background: var(--azul); color: #fff; }
.flash p { margin: 0; padding: 0 12px 12px 44px; color: #0E8A51; font-weight: 700; font-size: .92rem; }

/* upsell da redação */
.banner-redacao {
  max-width: 528px; margin: 14px auto 0; display: flex; align-items: center; gap: 12px;
  background: var(--tinta); color: #fff; border-radius: var(--raio); padding: 14px 14px 14px 16px;
  box-shadow: var(--sombra);
}
@media (max-width: 560px) { .banner-redacao { margin: 14px 16px 0; } }
.banner-redacao[hidden] { display: none; }
.br-icone { font-size: 1.6rem; }
.banner-redacao div { flex: 1; display: flex; flex-direction: column; }
.banner-redacao small { color: rgba(255,255,255,.7); font-size: .82rem; }
.banner-redacao .botao { width: auto; padding: 10px 16px; font-size: .92rem; }
.popup-upsell { position: relative; text-align: left; padding: 26px 20px 14px; }
.popup-upsell h3 { font-size: 1.7rem; margin-top: 4px; }
.popup-upsell > p { margin: 0 0 14px; }
.selo-escuro { background: var(--azul-claro); color: var(--azul); margin-bottom: 8px; }
.popup-fechar { position: absolute; top: 10px; right: 12px; border: 0; background: var(--papel); width: 34px; height: 34px; border-radius: 50%; font-size: 1.3rem; cursor: pointer; color: var(--suave); }
.up-lista { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 8px; }
.up-lista li { background: var(--papel); border-radius: 12px; padding: 10px 12px; font-size: .93rem; font-weight: 600; }
.up-preco { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; }
.up-preco small { color: var(--suave); }
.up-preco b { font-family: var(--titulo); font-size: 2rem; }
.popup-upsell .link { padding: 10px 0 4px; }
.c-notared { background: var(--papel); border-radius: 14px; padding: 14px; }
.c-notared .r-nota b { font-size: 2.2rem; }
.c-notared .r-nota small { font-size: 1rem; color: var(--suave); }
.c-comp { display: flex; justify-content: space-between; gap: 10px; font-size: .88rem; padding: 7px 0; border-bottom: 1px dashed var(--linha); }
.c-comp b { white-space: nowrap; }
.tela-redacao .topo-linha { align-items: center; }

.oferta { max-width: 560px; margin: 0 auto; padding: 28px 20px 10px; }
.oferta h2 { font-size: 1.7rem; }
.oferta ul { list-style: none; padding: 0; margin: 0 0 20px; }
.oferta li { padding: 7px 0; }
.preco { text-align: center; background: var(--cartao); border: 2px solid var(--tinta); border-radius: var(--raio); padding: 14px; margin-bottom: 14px; }
.preco b { display: block; font-family: var(--titulo); font-size: 2.8rem; line-height: 1.1; }
.preco small { color: var(--suave); font-size: .82rem; }
.oferta .micro { color: var(--suave); }
.tela-resultado .rodape { padding-bottom: 40px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Hero cartaz: texto, recorte e faixa de ação com espaço próprio. */
.hero-cartaz { isolation: isolate; display: block; padding: 64px 6vw 56px; background: var(--noite); }
.hero-fundo-tipo { position: absolute; z-index: -2; inset: 10px -5% auto; font: 800 clamp(150px, 28vw, 420px)/.85 var(--titulo); letter-spacing: -.04em; color: var(--lima); opacity: .1; transform: rotate(-9deg); pointer-events: none; }
.hero-palco { position: relative; max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; isolation: isolate; }
.hero-palco::before { content: ''; position: absolute; z-index: -1; inset: 65px 10px 0; background: var(--azul); border: 3px solid var(--tinta); border-radius: 75px 75px 35px 35px; box-shadow: 5px 6px 0 var(--lima); }
.hero-cartaz .hero-texto { position: relative; z-index: 2; padding: 110px 0 54px 60px; }
.hero-cartaz h1 { font-size: clamp(64px, 7.3vw, 104px); line-height: .87; text-transform: uppercase; font-weight: 800; margin: 0 0 26px; letter-spacing: -.035em; }
.hero-cartaz .hero-pergunta { display: block; color: var(--cartao); font-size: .38em; line-height: 1.05; letter-spacing: -.02em; margin-bottom: 22px; text-shadow: 2px 2px 0 var(--tinta); }
.hero-cartaz h1 .marca { display: block; -webkit-text-stroke: 2px var(--tinta); paint-order: stroke fill; text-shadow: 4px 5px 0 var(--tinta); }
.hero-resumo { margin: 0; color: var(--cartao); font-size: 1rem; line-height: 1.6; font-weight: 600; }
.hero-cartaz .hero-visual { position: relative; align-self: stretch; display: flex; align-items: end; margin: 0 0 0 -70px; min-width: 0; z-index: 1; }
.hero-cartaz .hero-visual::before { display: none; }
.hero-recorte { display: block; width: 100%; height: 600px; object-fit: contain; object-position: center bottom; }
.hero-cartaz .hero-selo { position: absolute; right: 0; top: 78px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 118px; height: 118px; border: 3px solid var(--tinta); border-radius: 50%; background: var(--lima); color: var(--tinta); transform: rotate(12deg); box-shadow: 3px 4px 0 var(--tinta); }
.hero-selo i { font-size: 38px; }
.hero-selo span { font-size: 9px; line-height: 1.3; font-weight: 800; text-align: center; }
.hero-cartaz .hero-acao { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 30px; max-width: 1020px; margin: -8px auto 0; padding: 25px 34px; background: var(--noite-2); border: 2px solid var(--lima); border-radius: 28px; box-shadow: 0 12px 25px rgba(0,0,0,.2); }
.hero-acao-texto { display: grid; gap: 4px; }
.hero-acao-texto b { font-family: var(--titulo); font-size: 1.45rem; line-height: 1.15; color: var(--cartao); }
.hero-acao-texto span { color: var(--texto-claro); font-size: .9rem; }
.hero-acao-botao { flex: 0 0 auto; }
.hero-cartaz .botao-grande { width: auto; border: 2px solid var(--tinta); border-radius: 99px; padding: 17px 25px; font-size: 1rem; }
.hero-cartaz .micro { position: relative; display: block; color: var(--cartao); opacity: 1; font-size: .78rem; margin: 13px 0 0; text-align: center; }
.hero-cartaz .botao:focus-visible { outline: 3px solid white; outline-offset: 5px; }
@media (max-width: 959px) and (min-width: 601px) {
 .hero-cartaz { padding: 35px 24px 42px; }
 .hero-cartaz .hero-texto { padding: 105px 0 40px 35px; }
 .hero-cartaz h1 { font-size: 8vw; }
 .hero-recorte { height: 520px; }
 .hero-cartaz .hero-selo { width: 96px; height: 96px; right: 0; }
 .hero-cartaz .hero-acao { padding: 23px; gap: 18px; }
 .hero-acao-texto b { font-size: 1.15rem; }
 .hero-cartaz .botao-grande { font-size: .85rem; padding: 15px 17px; }
}
@media (max-width: 600px) {
 .hero-cartaz { padding: 26px 16px 36px; }
 .hero-fundo-tipo { top: 20px; font-size: 47vw; line-height: 1.5; }
 .hero-palco { grid-template-columns: 1fr; }
 .hero-palco::before { inset: 65px 0 0; border-radius: 45px 45px 20px 20px; box-shadow: 3px 4px 0 var(--lima); }
 .hero-cartaz .hero-texto { padding: 20px 17px 0; }
 .hero-cartaz h1 { font-size: clamp(64px, 16vw, 90px); margin-bottom: 22px; }
 .hero-cartaz .hero-pergunta { font-size: .36em; margin-bottom: 25px; }
 .hero-resumo { font-size: .9rem; line-height: 1.5; max-width: 29ch; }
 .hero-cartaz .hero-visual { margin: -8px 0 0; height: 350px; justify-content: center; }
 .hero-recorte { width: 100%; height: 370px; }
 .hero-cartaz .hero-selo { right: 4px; top: 25px; width: 91px; height: 91px; }
 .hero-selo i { font-size: 29px; }
 .hero-selo span { font-size: 7px; }
 .hero-cartaz .hero-acao { margin: -3px 4px 0; flex-direction: column; gap: 20px; text-align: center; padding: 24px 14px; border-radius: 24px; }
 .hero-acao-texto b { font-size: 1.3rem; }
 .hero-acao-botao { width: 100%; }
 .hero-cartaz .botao-grande { width: 100%; padding: 17px 12px; font-size: .95rem; }
 .hero-cartaz .micro { font-size: .72rem; line-height: 1.5; }
}

/* Edição 03 — linguagem de cartaz em toda a landing. */
.tela-inicio ::selection { background: var(--lima); color: var(--tinta); }
.tela-inicio button:focus-visible, .tela-inicio summary:focus-visible { outline: 3px solid var(--lima); outline-offset: 5px; }
.hero-cartaz { padding-top: 35px; padding-bottom: 46px; min-height: 0; }
.hero-cartaz .hero-texto { padding-top: 115px; padding-bottom: 95px; }
.hero-cartaz h1 { font-size: clamp(66px, 7.8vw, 108px); }
.hero-cartaz .hero-resumo { max-width: 28ch; font-size: .95rem; margin-top: 32px; }
.hero-resumo > span { color: var(--lima); font-weight: 800; }
.hero-cartaz .hero-visual { display: block; margin-left: -80px; align-self: stretch; }
.hero-galeria { height: 640px; width: 100%; position: relative; }
.hero-galeria .hero-recorte { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; opacity: 0; transition: opacity 850ms ease; }
.hero-galeria .hero-recorte.ativa { opacity: 1; }
.hero-cartaz .hero-selo { width: 146px; height: 146px; top: 110px; right: -18px; border: none; background: none; box-shadow: none; border-radius: 0; transform: rotate(10deg); display: block; }
.selo-medalha { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(3px 4px 0 var(--tinta)); }
.selo-medalha polygon { fill: var(--lima); stroke: var(--tinta); stroke-width: 2.5; stroke-linejoin: round; }
.selo-medalha circle { fill: none; stroke: var(--tinta); stroke-width: 1.3; }
.selo-medalha path { fill: none; stroke: var(--tinta); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; transform: translateY(-14px); }
.hero-cartaz .hero-selo .selo-topo { position: absolute; top: 24px; width: 100%; font-size: 10px; letter-spacing: .12em; }
.hero-cartaz .hero-selo b { position: absolute; top: 79px; width: 100%; text-align: center; font: 800 25px/1 var(--titulo); }
.hero-cartaz .hero-selo .selo-base { position: absolute; top: 109px; width: 100%; font-size: 8px; letter-spacing: .06em; }
.hero-giro-controles { position: absolute; bottom: 18px; right: 12px; z-index: 2; display: grid; justify-items: center; gap: 7px; background: var(--noite); color: var(--texto-claro); border: 1px solid var(--lima); border-radius: 16px; padding: 8px 14px; }
.hero-giro-controles > span { font-size: 9px; }
.hero-giro-dots { display: flex; align-items: center; gap: 4px; }
.hero-giro-botao { width: 28px; height: 27px; border: 0; background: none; cursor: pointer; display: grid; place-items: center; padding: 0; }
.hero-giro-botao::after { content: ''; width: 7px; height: 7px; background: var(--texto-suave); border-radius: 50%; }
.hero-giro-botao.atual::after { width: 18px; border-radius: 5px; background: var(--lima); }
.hero-giro-pausa { width: 28px; height: 27px; padding: 0; border: 0; background: none; color: var(--lima); cursor: pointer; }
.hero-cartaz .hero-acao { margin-top: -5px; border-radius: 60px; padding: 25px 40px; }
/* Uma faixa editorial liga a hero ao conteúdo. */
.faculdades { background: var(--noite); border: 0; padding-top: 24px; padding-bottom: 50px; }
.fac-titulo { font-family: var(--titulo); font-size: 1.2rem; }
.fac-titulo span { font-family: var(--texto); }
.fac-lista li { border-radius: 9px; width: 136px; height: 66px; }
.como, .descobre, .faq, .final { max-width: 1120px; padding: 80px 32px; }
.tela-inicio h2 { text-transform: uppercase; font-size: clamp(2.25rem, 4.9vw, 4.4rem); max-width: 23ch; line-height: .99; letter-spacing: -.035em; }
.tela-inicio h2 span { color: var(--lima); }
.como { border-top: 2px solid var(--lima); }
.passos { margin-top: 54px; gap: 35px; }
.passos li { position: relative; gap: 22px; }
.passo-n { width: 70px; height: 70px; display: grid; place-items: center; border: 2px solid var(--tinta); border-radius: 18px; background: var(--lima); color: var(--tinta); -webkit-text-stroke: 0; font-size: 2.8rem; transform: rotate(-6deg); box-shadow: 4px 4px 0 var(--azul); }
.passos li:nth-child(2) .passo-n { transform: rotate(4deg); background: var(--azul); color: white; box-shadow: 4px 4px 0 var(--lima); }
.passos b { font-family: var(--titulo); font-size: 1.4rem; line-height: 1.15; }
.passos p { font-size: .95rem; line-height: 1.7; }
.descobre { position: relative; background: var(--noite-2); border: 2px solid var(--azul); border-radius: 48px; padding: 55px; margin-top: 15px; }
.descobre h2 { font-size: clamp(2.1rem, 4.5vw, 4rem); }
.bento { gap: 20px; margin-top: 40px; }
.bt { border: 2px solid var(--tinta); border-radius: 22px; background: var(--noite-3); padding: 28px; min-height: 245px; }
.bt-nota { background: var(--azul); box-shadow: 4px 5px 0 var(--tinta); }
.bt-nota .bt-txt p { color: white; }
.bt-txt b { font-size: 1.55rem; line-height: 1.07; max-width: 19ch; }
.bt-txt p { margin-top: 10px; font-size: .9rem; }
.bt-decorar { background: var(--lima); color: var(--tinta); transform: rotate(-1deg); }
.bt-erros { transform: rotate(1deg); }
.mini-nota { border-radius: 12px; }
.faq { display: grid; grid-template-columns: .9fr 1.1fr; column-gap: 65px; align-items: start; }
.faq h2 { grid-column: 1; grid-row: 1 / span 4; margin-top: 14px; }
.faq details { grid-column: 2; border-bottom: 1px solid var(--azul); padding: 21px 0; }
.faq summary { font-family: var(--titulo); font-size: 1.2rem; }
.faq details p { line-height: 1.7; }
.final { padding: 20px 0 0; }
.final-texto { position: relative; overflow: hidden; isolation: isolate; background: var(--azul); border: 3px solid var(--tinta); border-radius: 55px; padding: 65px; box-shadow: 6px 7px 0 var(--lima); }
.final h2 { max-width: 17ch; position: relative; }
.final-fundo { position: absolute; z-index: -1; right: -30px; bottom: -25px; font: 800 clamp(140px, 23vw, 300px)/1 var(--titulo); color: var(--noite); opacity: .18; transform: rotate(-9deg); }
.final .botao { width: auto; border-radius: 99px; border: 2px solid var(--tinta); margin-top: 12px; }
.tela-inicio > .rodape { max-width: 750px; margin: 35px auto 0; line-height: 1.7; padding-bottom: 110px; }
@media (max-width: 959px) and (min-width: 601px) {
 .hero-cartaz h1 { font-size: 8.4vw; }
 .hero-cartaz .hero-texto { padding: 110px 0 100px 32px; }
 .hero-galeria { height: 570px; }
 .hero-cartaz .hero-selo { width: 126px; height: 126px; right: -7px; }
 .hero-cartaz .hero-selo .selo-topo { top: 21px; font-size: 9px; }
 .hero-cartaz .hero-selo b { top: 68px; font-size: 22px; }
 .hero-cartaz .hero-selo .selo-base { top: 94px; font-size: 7px; }
 .hero-cartaz .hero-acao { border-radius: 30px; padding: 23px; }
 .descobre { margin: 0 24px; padding: 40px 28px; }
 .faq { column-gap: 30px; }
 .final { margin: 0 25px; }
}
@media (max-width: 600px) {
 .hero-cartaz { padding: 28px 16px 34px; }
 .hero-cartaz .hero-texto { padding: 15px 17px 0; }
 .hero-cartaz h1 { font-size: clamp(60px, 16vw, 90px); margin-bottom: 20px; }
 .hero-cartaz .hero-resumo { margin-top: 20px; font-size: .88rem; max-width: 24ch; }
 .hero-cartaz .hero-visual { height: auto; margin: 0 -5px; }
 .hero-galeria { height: 390px; }
 .hero-cartaz .hero-selo { width: 124px; height: 124px; top: 15px; right: -1px; }
 .hero-cartaz .hero-selo .selo-topo { top: 20px; font-size: 9px; }
 .hero-cartaz .hero-selo b { top: 66px; font-size: 23px; }
 .hero-cartaz .hero-selo .selo-base { top: 92px; font-size: 7px; }
 .hero-giro-controles { right: 13px; bottom: 13px; padding: 5px 9px; gap: 3px; }
 .hero-giro-controles > span { font-size: 8px; }
 .hero-cartaz .hero-acao { border-radius: 26px; padding: 24px 14px; margin: -3px 4px 0; }
 .faculdades { padding-bottom: 35px; }
 .como, .descobre, .faq, .final { padding: 48px 24px; }
 .como { margin: 0 20px; padding-left: 4px; padding-right: 4px; }
 .tela-inicio h2 { font-size: clamp(2rem, 8.9vw, 2.8rem); }
 .passos { margin-top: 34px; gap: 33px; }
 .passos li { gap: 20px; }
 .passo-n { flex: 0 0 50px; width: 50px; height: 55px; font-size: 2.1rem; border-radius: 13px; }
 .passos b { font-size: 1.25rem; }
 .passos p { font-size: .88rem; line-height: 1.6; }
 .descobre { margin: 0 16px; padding: 34px 18px; border-radius: 30px; }
 .bento { margin-top: 28px; gap: 18px; }
 .bt { padding: 23px; min-height: 230px; }
 .bt-txt b { font-size: 1.5rem; }
 .faq { display: block; padding: 55px 25px; }
 .faq h2 { margin-bottom: 25px; }
 .faq details { padding: 20px 0; }
 .faq summary { font-size: 1.05rem; }
 .final { padding: 0; margin: 0 20px; }
 .final-texto { border-radius: 30px; padding: 35px 22px; }
 .final h2 { font-size: 2.35rem; }
 .final .botao { width: 100%; font-size: .92rem; padding: 18px 12px; }
}

.fac-lista li { overflow: hidden; }
.fac-lista li img[class] { max-height: 42px; }

/* Selo em imagem e CTA com acabamento de botão físico. */
.hero-cartaz .hero-selo-imagem { display: block; object-fit: contain; width: 160px; height: 160px; right: -24px; top: 100px; transform: rotate(9deg); filter: drop-shadow(0 7px 8px rgba(3,7,25,.25)); }
.hero-cartaz .hero-botao { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding: 12px 12px 12px 25px; border-radius: 20px; border: 1px solid rgba(14,21,48,.25); background: var(--lima); color: var(--tinta); box-shadow: inset 0 2px 0 rgba(255,255,255,.6), 0 5px 0 #8DB82A, 0 10px 22px rgba(0,0,0,.2); text-align: left; transform: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.hero-botao > span { font-size: 1rem; line-height: 1.3; font-weight: 800; }
.hero-botao small { display: block; margin-top: 2px; font-size: .75rem; font-weight: 600; }
.hero-cartaz .hero-botao > i { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; background: var(--tinta); color: var(--lima); border-radius: 12px; font-size: 23px; transition: transform 180ms ease; }
.hero-cartaz .hero-botao:active { transform: translateY(3px); box-shadow: inset 0 2px 0 rgba(255,255,255,.4), 0 2px 0 #8DB82A; }
.faixa-contagem .js-dias { display: inline-grid; place-items: center; min-width: 3ch; font-variant-numeric: tabular-nums; font-size: 1.15em; line-height: 1.1; }
.final .js-dias { display: inline-block; min-width: 1.7em; font-variant-numeric: tabular-nums; }
@media (hover: hover) and (pointer: fine) {
 .hero-cartaz .hero-botao:hover { transform: translateY(-2px); box-shadow: inset 0 2px 0 rgba(255,255,255,.6), 0 7px 0 #8DB82A, 0 14px 24px rgba(0,0,0,.25); }
 .hero-cartaz .hero-botao:hover > i { transform: rotate(5deg); }
}
@media (max-width: 959px) {
 .hero-cartaz .hero-selo-imagem { width: 140px; height: 140px; right: -12px; }
 .hero-cartaz .hero-botao { padding-left: 18px; gap: 16px; }
 .hero-botao > span { font-size: .92rem; }
}
@media (max-width: 600px) {
 .hero-cartaz .hero-selo-imagem { top: 13px; right: -5px; width: 137px; height: 137px; }
 .hero-cartaz .hero-botao { padding: 13px 13px 13px 22px; border-radius: 18px; }
 .hero-botao > span { font-size: 1rem; }
 .hero-cartaz .hero-acao-botao .micro { margin-top: 17px; }
}

/* CTA integrado ao cartaz, sobre a composição, sem caixa externa. */
.hero-cartaz .hero-texto { padding-bottom: 190px; }
.hero-cartaz .hero-acao { position: absolute; left: 60px; bottom: 35px; right: auto; display: block; width: 355px; max-width: calc(50% - 65px); margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.hero-cartaz .hero-acao-botao { width: 100%; }
.hero-cartaz .hero-acao .micro { color: white; font-size: .72rem; margin-top: 17px; text-align: center; text-shadow: 0 1px 4px var(--tinta); }
.hero-cartaz .hero-visual { min-height: 640px; }
.hero-cartaz .hero-galeria { position: absolute; inset: 0; height: auto; }
@media (max-width: 959px) and (min-width: 601px) {
 .hero-cartaz .hero-texto { padding-bottom: 180px; }
 .hero-cartaz .hero-acao { left: 33px; width: 310px; max-width: calc(55% - 45px); bottom: 32px; }
 .hero-cartaz .hero-visual { min-height: 570px; }
 .hero-cartaz .hero-botao { gap: 10px; padding-left: 16px; }
 .hero-cartaz .hero-botao > span { font-size: .86rem; }
}
@media (max-width: 600px) {
 .hero-cartaz .hero-texto { padding-bottom: 0; }
 .hero-cartaz .hero-visual { min-height: 0; height: 445px; }
 .hero-cartaz .hero-acao { left: 21px; right: 21px; bottom: 23px; width: auto; max-width: none; }
 .hero-cartaz .hero-acao .micro { font-size: .67rem; margin-top: 14px; }
 .hero-cartaz .hero-botao { border: 2px solid var(--tinta); box-shadow: 0 5px 0 var(--tinta), 0 10px 20px rgba(0,0,0,.2); }
}

/* Legibilidade e chamada da hero. */
.hero-cartaz .hero-botao > span { font-size: 1.4rem; font-weight: 800; line-height: 1.2; }
.hero-cartaz .hero-acao .micro { font-size: .82rem; font-weight: 700; line-height: 1.45; }
@media (max-width: 600px) {
 .hero-cartaz .hero-resumo { font-size: 1.05rem; line-height: 1.5; max-width: 28ch; text-wrap: balance; }
 .hero-cartaz .hero-botao > span { font-size: clamp(1.2rem, 5.6vw, 1.5rem); }
 .hero-cartaz .hero-acao .micro { font-size: .82rem; font-weight: 700; line-height: 1.45; }
}

/* Headline de ação: contagem no próprio título e convite explícito ao quiz. */
.hero-cartaz h1 { font-size: clamp(54px, 6vw, 80px); line-height: .96; }
.hero-cartaz .hero-pergunta { font-size: .6em; line-height: 1.13; margin-bottom: 22px; }
.hero-cartaz .hero-dias { display: inline-block; text-align: center; min-width: 3ch; font-variant-numeric: tabular-nums; color: var(--lima); }
.hero-cartaz .hero-resumo { margin-top: 24px; max-width: 30ch; font-size: 1.13rem; line-height: 1.4; font-weight: 700; }
.hero-detalhe { max-width: 37ch; margin: 14px 0 0; color: white; font-size: .96rem; line-height: 1.6; }
@media (max-width: 959px) and (min-width: 601px) {
 .hero-cartaz h1 { font-size: 6.1vw; }
 .hero-cartaz .hero-resumo { font-size: 1rem; max-width: 25ch; }
 .hero-detalhe { max-width: 30ch; font-size: .91rem; }
}
@media (max-width: 600px) {
 .hero-cartaz h1 { font-size: clamp(36px, 11.2vw, 58px); line-height: 1; margin-bottom: 20px; }
 .hero-cartaz .hero-pergunta { font-size: .65em; margin-bottom: 22px; }
 .hero-cartaz .hero-resumo { font-size: 1.1rem; max-width: 26ch; text-wrap: balance; margin-top: 20px; }
 .hero-detalhe { max-width: 33ch; font-size: .95rem; margin-top: 12px; }
 .faixa-contagem { font-size: .78rem; letter-spacing: .02em; }
}

/* Preparação do resultado: uma folha que se transforma em diagnóstico. */
.tela-carregando { background: #0B1330; color: #EEF1FA; overflow: hidden; }
.carga { max-width: 1020px; padding: 9vh 35px 45px; display: grid; grid-template-columns: 1fr 1.05fr; gap: 0 65px; text-align: left; }
.carga-marca { grid-column: 1 / -1; margin-bottom: 55px; font: 800 23px/1 var(--titulo); letter-spacing: -.03em; }
.carga-marca span { color: var(--lima); }
.carga-visual { position: relative; grid-column: 1; grid-row: 2 / span 3; min-height: 330px; align-self: center; }
.carga-folha { position: absolute; width: 290px; height: 245px; border: 2px solid var(--tinta); border-radius: 20px; left: 50%; top: 30px; }
.carga-folha-tras { background: var(--lima); transform: translateX(-50%) rotate(-12deg); }
.carga-folha-meio { background: var(--azul); transform: translateX(-50%) rotate(7deg); }
.carga-folha-frente { padding: 26px; background: var(--cartao); color: var(--tinta); transform: translateX(-50%) rotate(-3deg); box-shadow: 0 20px 35px rgba(0,0,0,.18); }
.carga-folha-topo { display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 800; letter-spacing: .07em; }
.carga-folha-topo i { color: var(--azul); font-size: 23px; }
.carga-folha-frente > b { display: block; font: 800 83px/1.1 var(--titulo); font-variant-numeric: tabular-nums; letter-spacing: -.04em; margin: 12px 0 14px; }
.carga-trilho { height: 10px; overflow: hidden; background: var(--azul-claro); border-radius: 6px; }
.carga-trilho i { display: block; width: 0; height: 100%; background: var(--azul); border-radius: inherit; }
.carga-folha-base { display: block; font-size: 8px; font-weight: 800; margin-top: 16px; letter-spacing: .04em; }
.carga-check { position: absolute; width: 67px; height: 67px; right: 8px; bottom: 27px; border: 3px solid var(--tinta); border-radius: 50%; background: var(--lima); color: var(--tinta); display: grid; place-items: center; transform: rotate(12deg); font-size: 33px; }
.carga h2 { font-size: clamp(30px, 3.6vw, 42px); margin: 0 0 14px; line-height: 1.07; }
.carga-intro { color: #A9B2D6; margin: 0; font-size: .94rem; line-height: 1.7; }
.carga-passos { margin: 24px 0 0; }
.carga-passos li { display: flex; gap: 13px; align-items: center; padding: 11px 0; color: #A9B2D6; font-size: .85rem; line-height: 1.5; }
.carga-passos li::before { display: none; }
.carga-passos li.rodando { color: white; font-weight: 700; }
.carga-passos li.feito { color: #EEF1FA; }
.carga-etapa-icone { flex: 0 0 29px; width: 29px; height: 29px; border: 1px solid #5E6480; border-radius: 9px; display: grid; place-items: center; font-size: 11px; }
.carga-etapa-icone i { display: none; }
.rodando .carga-etapa-icone { background: var(--azul); color: white; border-color: var(--azul); }
.feito .carga-etapa-icone { background: var(--lima); color: var(--tinta); border-color: var(--lima); }
.feito .carga-etapa-icone b { display: none; }
.feito .carga-etapa-icone i { display: block; font-size: 14px; }
.carga-rodape { grid-column: 1 / -1; text-align: center; margin: 52px 0 0; color: #A9B2D6; font-size: .75rem; }
.carga-rodape i { color: var(--lima); margin-right: 6px; }
@media (prefers-reduced-motion: no-preference) {
 .tela-carregando.ativa .carga-visual { animation: diagnostico-entra 700ms cubic-bezier(.23,1,.32,1) both; }
 @keyframes diagnostico-entra { from { transform: translateY(18px) rotate(-4deg); opacity: .4; } to { transform: none; opacity: 1; } }
}
@media (max-width: 700px) {
 .carga { display: block; max-width: 440px; padding: 30px 27px; }
 .carga-marca { text-align: center; font-size: 20px; margin-bottom: 20px; }
 .carga-visual { min-height: 270px; margin-bottom: 14px; }
 .carga-folha { width: 255px; height: 220px; top: 20px; }
 .carga-folha-frente { padding: 22px; }
 .carga-folha-frente > b { font-size: 74px; margin: 9px 0 13px; }
 .carga-folha-topo { font-size: 9px; }
 .carga-folha-base { font-size: 7px; margin-top: 14px; }
 .carga-check { width: 58px; height: 58px; right: 12px; bottom: 8px; font-size: 27px; }
 .carga h2 { text-align: center; font-size: 31px; }
 .carga-intro { text-align: center; font-size: .85rem; }
 .carga-passos { margin-top: 20px; }
 .carga-passos li { padding: 8px 0; font-size: .8rem; }
 .carga-rodape { margin-top: 25px; font-size: .68rem; }
}
/* Métodos de pagamento, com seleção explícita antes do checkout. */
.oferta .preco { background: var(--tinta); color: white; border: 0; padding: 24px; border-radius: 22px; }
.oferta .preco b { color: var(--lima); margin: 6px 0; }
.oferta .preco small { color: #EEF1FA; }
.pagamentos { border: 0; margin: 0 0 20px; padding: 0; display: flex; gap: 9px; }
.pagamentos legend { margin-bottom: 12px; font-weight: 700; font-size: .85rem; }
.pagamento-opcao { flex: 1; position: relative; min-width: 0; cursor: pointer; }
.pagamento-opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pagamento-opcao span { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 55px; border: 2px solid var(--linha); border-radius: 12px; background: white; font-weight: 700; font-size: .8rem; }
.pagamento-opcao i { font-size: 21px; }
.pagamento-opcao input:checked + span { background: var(--azul-claro); border-color: var(--azul); color: var(--tinta); }
.pagamento-opcao input:focus-visible + span { outline: 3px solid var(--azul); outline-offset: 3px; }
.pagamento-feedback { padding: 12px 14px; background: var(--azul-claro); color: var(--tinta); font-size: .84rem; border-radius: 12px; line-height: 1.5; }
.oferta[hidden], .pagamento-feedback[hidden] { display: none; }
.oferta .js-comprar { font-size: 1rem; }
/* Saída com urgência baseada no calendário real, sem cronômetro fictício. */
.saida-dialog { position: fixed; max-width: 510px; width: calc(100% - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; margin: auto; padding: 32px; background: #0B1330; color: #EEF1FA; border: 2px solid var(--lima); border-radius: 28px; box-shadow: 0 24px 80px rgba(0,0,0,.4); }
.saida-dialog:not([open]) { display: none; }
.saida-dialog::backdrop { background: rgba(5,10,26,.82); backdrop-filter: blur(5px); }
.saida-fechar { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #5E6480; background: transparent; color: white; border-radius: 50%; cursor: pointer; }
.saida-relogio { display: inline-grid; place-items: center; width: 52px; height: 52px; background: var(--azul); border-radius: 15px; margin-bottom: 20px; font-size: 29px; transform: rotate(-8deg); }
.saida-dialog h2 { font-size: 37px; line-height: 1.04; margin: 0 0 18px; letter-spacing: -.03em; text-transform: uppercase; }
.saida-dialog h2 em { color: var(--lima); font-style: normal; }
.saida-dialog > p { font-size: .88rem; line-height: 1.65; color: #A9B2D6; }
.saida-investimento { margin: 23px 0 0; padding-top: 20px; border-top: 1px solid #1A2654; }
.saida-investimento > span { font-size: .8rem; }
.saida-investimento b { display: block; font-family: var(--titulo); color: var(--lima); font-weight: 800; font-size: 39px; line-height: 1.1; margin-top: 6px; }
.saida-investimento small { display: inline-block; font: 600 16px/1.2 var(--texto); margin-left: 7px; color: white; }
.saida-dialog .saida-equivalencia { font-size: .72rem; color: #EEF1FA; margin: 12px 0 22px; }
.saida-dialog .saida-cta { border-radius: 15px; font-size: .95rem; box-shadow: 0 4px 0 #8DB82A; }
.saida-dialog .saida-garantia { text-align: center; font-size: .75rem; margin: 15px 0 12px; color: #EEF1FA; }
.saida-garantia i { color: var(--lima); }
.saida-continuar { display: block; margin: 0 auto; padding: 10px 0; background: none; border: 0; color: #A9B2D6; text-decoration: underline; text-underline-offset: 4px; font-size: .75rem; cursor: pointer; }
.saida-dialog button:focus-visible { outline: 3px solid white; outline-offset: 4px; }
@media (max-width: 380px) {
 .saida-dialog { padding: 25px 22px; }
 .saida-dialog h2 { font-size: 30px; }
 .saida-investimento b { font-size: 34px; }
 .saida-investimento small { display: block; margin: 4px 0 0; font-size: 14px; }
 .pagamento-opcao span { flex-direction: column; gap: 4px; padding: 9px 3px; font-size: .72rem; }
 .pagamentos { gap: 6px; }
}
.carga .carga-passos li::before { display: none; content: none; }
.tela-carregando.ativa, .tela-carregando.ativa .carga-visual { animation: none; }

/* Upsell de redação: uma oferta editorial, no mesmo universo do simulado. */
.upsell-dialog { width: calc(100% - 28px); max-width: 520px; max-height: calc(100dvh - 28px); padding: 0; margin: auto; border: 0; border-radius: 27px; overflow-y: auto; overscroll-behavior: contain; background: var(--cartao); color: var(--tinta); box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.upsell-dialog[hidden], .upsell-dialog:not([open]) { display: none; }
.upsell-dialog::backdrop { background: rgba(5,10,26,.8); backdrop-filter: blur(5px); }
.upsell-dialog .popup-upsell { position: relative; padding: 0; text-align: left; }
.up-fechar { position: absolute; top: 12px; right: 12px; z-index: 2; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; color: white; background: var(--tinta); cursor: pointer; }
.up-hero { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 32px 32px 28px; background: var(--azul); color: white; }
.upsell-dialog h3 { margin: 0 0 14px; font-size: 43px; line-height: .98; letter-spacing: -.03em; }
.upsell-dialog h3 span { color: var(--lima); }
.up-hero-texto > p { margin: 0; font-size: .87rem; line-height: 1.5; }
.up-hero-texto strong { display: block; }
.up-folha { position: relative; width: 116px; height: 142px; flex: 0 0 auto; border-radius: 12px; background: white; color: var(--tinta); padding: 16px 13px; transform: rotate(9deg); box-shadow: 5px 6px 0 var(--tinta); text-align: center; margin-right: 8px; }
.up-folha > span { display: block; font-weight: 800; font-size: 7px; letter-spacing: .05em; }
.up-folha > b { display: block; font: 800 65px/.95 var(--titulo); margin: 5px 0; color: var(--azul); }
.up-folha > strong { display: block; font-size: 8px; letter-spacing: .02em; }
.up-folha > div { display: flex; gap: 3px; justify-content: center; margin-top: 12px; }
.up-folha i { display: block; height: 6px; width: 13px; border-radius: 2px; background: var(--lima); }
.up-corpo { padding: 23px 28px 17px; }
.upsell-dialog #upsell-descricao { margin: 0 0 14px; color: var(--suave); font-size: .89rem; line-height: 1.6; }
.upsell-dialog .up-lista { list-style: none; display: block; padding: 0; margin: 0 0 18px; }
.upsell-dialog .up-lista li { display: flex; align-items: center; gap: 13px; padding: 12px 0; border-radius: 0; border-bottom: 1px solid var(--linha); background: transparent; }
.upsell-dialog .up-lista li:last-child { border-bottom: 0; }
.up-beneficio-icone { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border-radius: 10px; background: var(--azul-claro); color: var(--azul); font-size: 20px; }
.up-lista li div b { display: block; font-size: .88rem; line-height: 1.3; margin-bottom: 4px; }
.up-lista li div > span { display: block; color: var(--suave); font-weight: 400; font-size: .77rem; line-height: 1.45; }
.upsell-dialog .up-preco { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 18px; margin: 0 0 17px; background: var(--tinta); color: white; border-radius: 17px; }
.up-preco div > span { display: block; font-size: .8rem; font-weight: 700; margin-bottom: 4px; }
.upsell-dialog .up-preco small { display: block; color: #A9B2D6; font-size: .68rem; line-height: 1.4; }
.upsell-dialog .up-preco b { color: var(--lima); white-space: nowrap; font: 800 39px/1 var(--titulo); letter-spacing: -.03em; }
.upsell-dialog .up-cta { border-radius: 14px; padding: 17px 14px; box-shadow: 0 4px 0 #8DB82A; font-size: .95rem; }
.up-envio { display: flex; justify-content: center; align-items: center; gap: 6px; margin: 15px 0 8px; font-size: .71rem; line-height: 1.5; color: var(--suave); }
.up-envio i { color: var(--azul); font-size: 15px; }
.upsell-dialog .up-sozinho { margin-top: 12px; border: 2px solid var(--linha); border-radius: 14px; padding: 15px 14px; background: #fff; color: var(--tinta); box-shadow: 0 4px 0 var(--linha); font-size: .95rem; }
.upsell-dialog .up-sozinho:active { box-shadow: 0 1px 0 var(--linha); }
.upsell-dialog button:focus-visible { outline: 3px solid var(--azul); outline-offset: 4px; }
.upsell-dialog .up-fechar:focus-visible { outline-color: white; }
@media (max-width: 420px) {
 .up-hero { padding: 31px 23px 24px; gap: 13px; }
 .upsell-dialog h3 { font-size: 35px; }
 .up-hero-texto > p { font-size: .77rem; }
 .up-folha { width: 96px; height: 127px; padding: 14px 9px; margin-right: 7px; }
 .up-folha > b { font-size: 55px; }
 .up-folha > strong { font-size: 7px; }
 .up-folha > span { font-size: 6px; }
 .up-corpo { padding: 20px 22px 12px; }
 .upsell-dialog .up-lista li { padding: 10px 0; gap: 10px; }
 .up-lista li div b { font-size: .81rem; }
 .up-lista li div > span { font-size: .72rem; }
 .upsell-dialog .up-preco { padding: 14px; }
 .upsell-dialog .up-preco b { font-size: 34px; }
 .upsell-dialog .up-cta, .upsell-dialog .up-sozinho { font-size: .85rem; }
}
@media (max-width: 350px) {
 .up-hero { padding-left: 20px; padding-right: 18px; gap: 9px; }
 .upsell-dialog h3 { font-size: 31px; }
 .up-folha { width: 84px; height: 118px; margin-right: 3px; padding-top: 12px; }
 .up-folha > b { font-size: 48px; }
 .up-folha > strong { font-size: 6px; }
 .up-corpo { padding-left: 18px; padding-right: 18px; }
 .upsell-dialog .up-preco b { font-size: 29px; }
 .upsell-dialog .up-cta, .upsell-dialog .up-sozinho { font-size: .77rem; }
}

/* Faixa de urgência e assinatura institucional. */
.faixa-contagem { background: #C92B35; color: #FFFFFF; padding: 10px 16px; font-size: .9rem; font-weight: 800; text-align: center; }
.tela-inicio > .rodape-site { max-width: none; margin: 52px 0 0; padding: 35px 24px 110px; background: #0B1330; border-top: 1px solid #1A2654; text-align: left; }
.rodape-conteudo { max-width: 1056px; margin: 0 auto; }
.rodape-topo { display: flex; justify-content: space-between; align-items: center; gap: 25px; }
.rodape-marca { margin: 0; color: #EEF1FA; font: 800 25px/1.1 var(--titulo); letter-spacing: -.025em; }
.rodape-marca span { color: var(--lima); }
.rodape-copyright { margin: 0; color: #A9B2D6; font-size: .74rem; line-height: 1.7; }
.rodape-aviso { max-width: 74ch; margin: 22px 0 0; color: #A9B2D6; font-size: .75rem; line-height: 1.8; }
@media (max-width: 600px) {
 .rodape-topo { flex-direction: column; align-items: flex-start; gap: 15px; }
 .rodape-marca { font-size: 24px; }
 .rodape-aviso { margin-top: 20px; font-size: .73rem; }
}

/* ---------- pagamento Pix ---------- */
.pix-dialog {
  width: min(420px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto;
  border: 0; border-radius: 24px; padding: 26px 22px 20px; background: var(--cartao); color: var(--tinta);
  box-shadow: 0 30px 80px rgba(3, 7, 25, .5);
}
.pix-dialog::backdrop { background: rgba(11, 19, 48, .72); backdrop-filter: blur(4px); }
.pix-dialog h3 { font-size: 1.55rem; margin: 0 0 12px; padding-right: 36px; }
.pix-fechar { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--papel); color: var(--suave); cursor: pointer; display: grid; place-items: center; }
.pix-resumo { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 16px; padding: 12px 14px; background: var(--papel); border-radius: 12px; font-size: .92rem; }
.pix-resumo b { font-family: var(--titulo); font-size: 1.2rem; white-space: nowrap; }
.pix-form, .pix-pagar { display: flex; flex-direction: column; }
.pix-form[hidden], .pix-pagar[hidden] { display: none; }
.pix-dialog label { font-weight: 700; font-size: .88rem; margin: 10px 0 5px; }
.pix-dialog input { width: 100%; font: 16px/1.3 var(--texto); padding: 13px 14px; border: 2px solid var(--linha); border-radius: 12px; background: #fff; color: var(--tinta); }
.pix-dialog input:focus { outline: none; border-color: var(--azul); }
.pix-dialog .botao { margin-top: 14px; }
.pix-dialog .botao:disabled { opacity: .55; cursor: wait; }
.pix-erro { margin: 10px 0 0; color: #C62828; font-weight: 600; font-size: .9rem; }
.pix-nota { margin: 10px 0 0; color: var(--suave); font-size: .8rem; text-align: center; }
.pix-qr { align-self: center; width: 200px; height: 200px; margin-bottom: 4px; image-rendering: pixelated; }
.pix-aguarda { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 14px 0 0; font-weight: 600; font-size: .88rem; }
.pix-giro { flex: none; width: 15px; height: 15px; border: 2px solid var(--linha); border-top-color: var(--azul); border-radius: 50%; animation: pix-gira 800ms linear infinite; }
@keyframes pix-gira { to { transform: rotate(360deg); } }

/* ---------- etapa do nome ---------- */
.form-nome { display: flex; flex-direction: column; }
.form-nome label { font-weight: 700; font-size: .9rem; margin-bottom: 6px; }
.form-nome input { width: 100%; font: 18px/1.3 var(--texto); padding: 15px 16px; border: 2px solid var(--linha); border-radius: 14px; background: var(--cartao); color: var(--tinta); }
.form-nome input:focus { outline: none; border-color: var(--azul); }
.form-nome .botao { margin-top: 16px; }
.campo-erro { margin: 8px 0 0; color: #C62828; font-weight: 600; font-size: .9rem; }

/* tela cheia depois do nome (fica abaixo do confete) */
.boas-vindas {
  position: fixed; inset: 0; z-index: 25; display: flex; flex-direction: column; justify-content: center;
  padding: 24px clamp(24px, 7vw, 96px); background: var(--lima); color: #0B1330;
}
.boas-vindas[hidden] { display: none; }
.bv-linha { margin: 0; overflow: hidden; font-family: var(--titulo); font-weight: 800; font-size: clamp(3rem, 13vw, 7.5rem); line-height: 1.04; letter-spacing: -.035em; overflow-wrap: anywhere; }
.bv-linha span, .bv-detalhe span { display: block; }
.bv-linha + .bv-linha { opacity: .62; }
.bv-linha b { font-weight: inherit; }
.bv-detalhe { margin: 22px 0 0; overflow: hidden; font-weight: 700; font-size: clamp(1rem, 3vw, 1.3rem); }

/* e-mail no meio do carregamento */
.carga-email[hidden] { display: none; }
.carga-email { display: flex; flex-direction: column; margin-top: 20px; text-align: left; }
.carga-email label { font-weight: 700; margin-bottom: 8px; }
.carga-email input { width: 100%; font: 17px/1.3 var(--texto); padding: 15px 16px; border: 2px solid rgba(255, 255, 255, .22); border-radius: 14px; background: #fff; color: #0B1330; }
.carga-email input:focus { outline: none; border-color: var(--lima); }
.carga-email .botao { margin-top: 12px; }
.carga-email-erro { margin: 8px 0 0; color: #FFB4B4; font-weight: 600; font-size: .9rem; }
.carga-email-nota { margin: 12px 0 0; color: #A9B2D6; font-size: .8rem; line-height: 1.45; }
.carga.pedindo-email .carga-intro, .carga.pedindo-email .carga-passos, .carga.pedindo-email .carga-rodape { display: none; }

/* forma de pagamento e campos do cartão */
.pix-metodos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border: 0; margin: 0 0 4px; padding: 0; }
.pix-metodos legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.pix-metodos label { margin: 0; cursor: pointer; }
.pix-metodos input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pix-metodos span { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 12px; border: 2px solid var(--linha); border-radius: 12px; font-weight: 700; }
.pix-metodos input:checked + span { border-color: var(--azul); background: var(--azul-claro); }
.pix-metodos input:focus-visible + span { outline: 2px solid var(--azul); outline-offset: 2px; }
.pix-cartao { display: flex; flex-direction: column; }
.pix-cartao[hidden] { display: none; }
.pix-cartao-linha { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pix-cartao-linha > div { display: flex; flex-direction: column; }
.pix-codigo-area { display: flex; flex-direction: column; }
.pix-codigo-area[hidden] { display: none; }

/* upsell de quem já comprou: sem campos pessoais */
.pix-dados { display: flex; flex-direction: column; }
.pix-dados[hidden] { display: none; }
.pix-quem { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0 0; font-size: .86rem; color: var(--suave); }
.pix-quem[hidden] { display: none; }
.pix-quem .link { width: auto; padding: 0; flex: none; }

/* volta à redação e link pessoal */
.redacao-envios { margin: 0 0 14px; font-weight: 700; font-size: .92rem; }
.redacao-erro { margin: 0 0 10px; color: #C62828; font-weight: 600; font-size: .9rem; }
.acesso-link {
  max-width: 528px; margin: 14px auto 0; display: flex; flex-direction: column; gap: 4px;
  background: var(--cartao); color: var(--tinta); border-radius: var(--raio); padding: 16px; box-shadow: var(--sombra);
}
@media (max-width: 560px) { .acesso-link { margin: 14px 16px 0; } }
.acesso-link[hidden] { display: none; }
.acesso-link small { color: var(--suave); font-size: .84rem; line-height: 1.4; }
.acesso-link-linha { display: flex; gap: 8px; margin-top: 10px; align-items: stretch; }
.acesso-link-linha input { flex: 1; min-width: 0; font: 15px/1.3 var(--texto); padding: 10px 12px; border: 2px solid var(--linha); border-radius: 12px; background: #fff; color: var(--tinta); }
.acesso-link-linha .botao { width: auto; flex: none; padding: 10px 16px; font-size: .92rem; }

/* cadeado do banner da redação: fechado até o servidor confirmar o pagamento */
.br-cadeado { position: relative; flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; background: rgba(255, 197, 61, .14); transition: background 400ms ease; }
.br-cadeado svg { width: 30px; height: 30px; overflow: visible; }
.br-corpo { fill: #FFC53D; transition: fill 300ms ease; }
.br-argola { fill: none; stroke: #FFC53D; stroke-width: 3; stroke-linecap: round; transform-box: fill-box; transform-origin: 100% 100%; transition: stroke 300ms ease; }
.br-furo { fill: #0B1330; }
/* fechado: uma balançada de vez em quando chama o olho sem incomodar */
.br-cadeado[data-estado="fechado"] svg { animation: cadeado-balanca 4.2s ease-in-out infinite; transform-origin: 50% 70%; }
@keyframes cadeado-balanca { 0%, 84%, 100% { transform: rotate(0); } 87% { transform: rotate(-11deg); } 90% { transform: rotate(9deg); } 93% { transform: rotate(-6deg); } 96% { transform: rotate(3deg); } }
.br-cadeado[data-estado="abrindo"], .br-cadeado[data-estado="aberto"] { background: rgba(200, 255, 61, .16); }
.br-cadeado[data-estado="abrindo"] .br-corpo, .br-cadeado[data-estado="aberto"] .br-corpo { fill: var(--lima); }
.br-cadeado[data-estado="abrindo"] .br-argola, .br-cadeado[data-estado="aberto"] .br-argola { stroke: var(--lima); transform: translateY(-3px) rotate(34deg); }
.br-cadeado[data-estado="abrindo"] .br-argola { animation: cadeado-abre 650ms cubic-bezier(.2, 1.5, .4, 1) both; }
.br-cadeado[data-estado="abrindo"] svg { animation: cadeado-pula 650ms cubic-bezier(.2, 1.5, .4, 1) both; }
.br-cadeado[data-estado="abrindo"]::after { content: ''; position: absolute; inset: 0; border-radius: inherit; border: 2px solid var(--lima); animation: cadeado-onda 800ms ease-out both; pointer-events: none; }
@keyframes cadeado-abre { from { transform: none; } to { transform: translateY(-3px) rotate(34deg); } }
@keyframes cadeado-pula { 0% { transform: scale(1); } 35% { transform: scale(.88); } 70% { transform: scale(1.14); } 100% { transform: scale(1); } }
@keyframes cadeado-onda { from { transform: scale(.8); opacity: .9; } to { transform: scale(1.9); opacity: 0; } }

/* tela da redação: abas Enviar / Avaliadas */
.redacao-abas { display: flex; gap: 4px; padding: 4px; margin-bottom: 20px; background: var(--linha); border-radius: 14px; }
.redacao-aba { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 8px 10px; border: 0; border-radius: 11px; background: none; color: var(--suave); font-weight: 700; font-size: .92rem; cursor: pointer; transition: background 160ms ease, color 160ms ease; }
.redacao-aba.ativa { background: var(--cartao); color: var(--tinta); box-shadow: 0 2px 6px rgba(14, 21, 48, .1); }
.redacao-aba[hidden] { display: none; }
.redacao-contagem { min-width: 20px; padding: 1px 6px; border-radius: 99px; background: var(--tinta); color: #fff; font-size: .74rem; }
.redacao-contagem[hidden] { display: none; }
.lista-avaliadas { display: grid; gap: 10px; }
.avaliada-data { display: block; margin-top: 2px; font-family: var(--texto); font-weight: 500; font-size: .8rem; color: var(--suave); }
.avaliada-texto { background: var(--papel); border-radius: 14px; padding: 12px 14px; }
.avaliada-texto summary { font-weight: 700; font-size: .9rem; cursor: pointer; }
.avaliada-texto p { margin: 10px 0 0; font-size: .92rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.outro-aparelho { margin-top: 18px; }
.outro-aparelho > summary { color: var(--suave); font-size: .88rem; font-weight: 600; cursor: pointer; text-align: center; padding: 8px; }
.outro-aparelho .acesso-link { margin: 8px 0 0; max-width: none; }

/* Marca no topo do quiz: logo, contagem e barra de progresso. */
.topo-marca { padding: max(8px, env(safe-area-inset-top)) 16px 13px; background: #0E1530; border-bottom: 0; box-shadow: 0 6px 18px rgba(14, 21, 48, .18); }
.topo-cabeca { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 560px; margin: 0 auto; }
.topo-logo { display: block; flex: none; width: 76px; height: auto; }
.topo-marca .topo-linha { align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px 10px; margin: 0; color: #C2CAE0; font-size: .84rem; text-align: right; }
.topo-marca .topo-linha b { color: #fff; font-variant-numeric: tabular-nums; }
.topo-faltam { padding: 3px 9px; border-radius: 99px; background: rgba(200, 255, 61, .13); color: var(--lima); font-size: .74rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.topo-marca .barra { height: 14px; margin-top: 9px; padding: 3px; overflow: visible; border-radius: 99px; background: #050A1E; box-shadow: inset 0 1px 2px rgba(0, 0, 0, .7), 0 1px 0 rgba(255, 255, 255, .1); }
.topo-marca .barra i {
  position: relative; min-width: 8px; background-color: var(--lima);
  background-image: repeating-linear-gradient(115deg, transparent 0 7px, rgba(14, 21, 48, .13) 7px 13px);
  box-shadow: 0 0 10px rgba(200, 255, 61, .45);
}
.topo-marca .barra i::after {
  content: ''; position: absolute; right: -4px; top: 50%; width: 16px; height: 16px; border: 3px solid var(--lima);
  border-radius: 50%; background: #fff; transform: translateY(-50%); box-shadow: 0 0 0 2px #0E1530;
}
.carga-marca img { display: block; width: 150px; height: auto; }

/* Transição do botão para o quiz. */
.transicao { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; overflow: hidden; }
.transicao[hidden] { display: none; }
.transicao-lima, .transicao-noite { position: absolute; inset: 0; clip-path: circle(0 at 50% 50%); }
.transicao-lima { background: var(--lima); }
.transicao-noite { background: #0E1530; }
.transicao img { position: relative; width: min(66vw, 300px); height: auto; opacity: 0; }

@media (max-width: 700px) {
  .carga-marca { margin-bottom: 14px; }
  .carga-marca img { width: 118px; margin: 0 auto; }
}

/* Correção da redação por IA. */
.c-zero { margin: 10px 0 0; padding: 9px 12px; border-radius: 10px; background: #FFE3E3; color: #C62828; font-size: .88rem; font-weight: 700; }
.c-resumo { margin: 10px 0 4px; font-size: .92rem; }
.c-tema { margin: 4px 0 8px; text-align: left; }
.c-comp-item > summary { cursor: pointer; list-style: none; }
.c-comp-item > summary::-webkit-details-marker { display: none; }
.c-comp-item > summary span::after { content: ' ▾'; color: var(--suave); }
.c-comp-item[open] > summary span::after { content: ' ▴'; }
.c-comp-item p { margin: 8px 0; font-size: .88rem; color: var(--suave); }
.c-comp-item p b { color: var(--tinta); }
.c-prioridades { border-left-color: var(--azul); }
.c-prioridades ol { margin: 8px 0 0; padding-left: 20px; font-size: .9rem; }
.c-red-topo b { overflow-wrap: anywhere; }
.c-red p b { color: var(--tinta); }
.c-notared .r-nota b { white-space: nowrap; }
