/* Ajustes da versão sugerida para o site nacional. */

/* leitura confortável para quem tem de 45 a 54 anos: nada de texto minúsculo */
.eyebrow { font-size:.92rem; letter-spacing:.14em; }
.mc h3 { font-size:1.32rem; line-height:1.25; }
.mc-d { font-size:1rem; line-height:1.55; }
.mc-facts li { font-size:.84rem; }
.mc-bolsa { font-size:.82rem; }
.gs-name { font-size:1.08rem; }
.gs-k { font-size:.74rem; letter-spacing:.1em; }
.gs-line { font-size:1rem; line-height:1.55; }
.proof-facts span { font-size:.92rem; }
.proof-creds span { font-size:.92rem; }
.fact-k { font-size:.76rem; }
.fact-v { font-size:.95rem; }
.fine { font-size:.86rem; }

/* cinco itens no menu: cabem sem quebrar linha */
.nav-links { gap:clamp(14px, 1.7vw, 26px); }
.nav-links a { white-space:nowrap; }
@media (min-width:769px) and (max-width:1180px) {
  .nav-links { gap:12px; }
  .nav-links a { font-size:.88rem; }
  .nav-cta .nav-login { display:none; }
}

/* Cursos: bacharelados e tecnólogos sempre à vista, sem abas */
#more #other { display:block !important; max-height:none !important; opacity:1 !important; visibility:visible !important; overflow:visible !important; margin-top:0; }
#more #associate, #more #bachelor, #more #associate[hidden], #more #bachelor[hidden] { display:block !important; }
#more #bachelor { margin-top:16px; }
#more .lvl-foot { display:none !important; }

/* matrícula */
.enroll-hero .hero-step-label { color:rgba(255,255,255,.88); font-size:.95rem; max-width:17ch; text-align:center; line-height:1.3; }
.enroll-hero .h-display .accent-it { display:block; }
.hint-inline { display:block; margin-top:4px; font-weight:400; font-size:.86rem; color:var(--muted); }
#contact .contact-merge { grid-template-columns:1fr; text-align:center; justify-items:center; }
#contact .contact-copy { max-width:62ch; }
#contact .hero-actions { justify-content:center; }

/* grade: a etapa de pesquisa */
.ga-body--pesquisa { display:block; padding:4px 22px 22px; }
.ga-body--pesquisa .ga-subs { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:8px; }

/* Cursos: título e subtítulo sem encostar */
#masters .section-head .title, #more .section-head .title { line-height:1.12; }
#masters .section-head .lead-p, #more .section-head .lead-p { margin-top:18px; position:static; }

/* matrícula: destaque legível no fundo escuro */
.enroll-hero .accent-it { color:#a9c9ff; background:none; -webkit-text-fill-color:currentColor; }

/* as fotos do e-book têm um lado esmaecido: o recorte fica na pessoa */
.ga-art picture { display:block; overflow:hidden; border-radius:inherit; height:100%; }
.ga-art img { transform:scale(1.28); transform-origin:88% 30%; }
@media (max-width:768px) { .ga-art img { transform:none; } }

/* ---------- 02/11: bolsa refeita, sem amarelo. Faixa azul do manual; cartões brancos descem dela */
.bolsa2.section { position:relative; display:flow-root; padding-top:clamp(64px, 8vw, 96px); padding-bottom:0; margin-bottom:112px; margin-top:0; color:#fff; background:linear-gradient(135deg, #1e417d 0%, #1b3a72 55%, #142c5c 100%); isolation:isolate; }
.bolsa2 .b2-fundo { position:absolute; inset:0; overflow:hidden; z-index:-1; pointer-events:none; color:#fff; opacity:.07; }
.bolsa2 .b2-fundo svg { position:absolute; right:-120px; top:-150px; width:min(48vw, 520px); height:auto; transform:rotate(-10deg); }
.bolsa2 .eyebrow { color:#a9c9ff; }
.bolsa2 .eyebrow::before, .bolsa2 .eyebrow::after { background:#a9c9ff; }
.b2-topo { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(28px, 5vw, 72px); align-items:end; }
.bolsa2 .title { color:#fff; text-align:left; margin:14px 0 0; font-size:clamp(2.1rem, 3.7vw, 3.15rem); line-height:1.1; text-wrap:balance; }
.bolsa2 .accent-it { display:block; color:#a9c9ff !important; background:none !important; -webkit-text-fill-color:currentColor !important; }
.b2-lado .lead { color:rgba(255,255,255,.9); margin:0 0 22px; font-size:1.12rem; line-height:1.6; max-width:42ch; text-align:left; }
.b2-btn { background:#fff; color:#1e417d; border:1px solid #fff; font-weight:700; box-shadow:0 14px 30px -14px rgba(0,0,0,.5); }
.b2-btn:hover { background:#e8efff; border-color:#e8efff; color:#1b3a72; }
.b2-btn:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.b2-passos { list-style:none; margin:clamp(40px, 5vw, 56px) 0 0; padding:0; transform:translateY(64px); display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; position:relative; }
.b2-passos li { background:#fff; color:#131a2b; border-radius:18px; padding:26px 26px 28px; border:1px solid rgba(16,22,38,.08); box-shadow:0 24px 50px -28px rgba(11,31,77,.55); }
[data-theme="dark"] .b2-passos li { background:#0e1c3d; color:#f4f6fb; border-color:rgba(255,255,255,.12); }
.b2-n { display:block; font-family:var(--font-display, "Instrument Serif", serif); font-style:italic; font-size:2.6rem; line-height:1; color:#2563eb; margin-bottom:10px; }
[data-theme="dark"] .b2-n { color:#7db4ff; }
.b2-passos h3 { margin:0; font-size:1.25rem; line-height:1.25; font-weight:800; letter-spacing:-.02em; color:inherit; }
.b2-passos p { margin:8px 0 0; font-size:1rem; line-height:1.55; color:#515c72; }
[data-theme="dark"] .b2-passos p { color:#9aa6bf; }
@media (max-width:900px) {
  .b2-topo { grid-template-columns:1fr; align-items:start; }
  .b2-passos { grid-template-columns:1fr; transform:translateY(48px); }
  .bolsa2.section { margin-bottom:88px; }
  .b2-passos li { display:grid; grid-template-columns:52px 1fr; column-gap:12px; padding:20px; }
  .b2-n { grid-row:1 / 3; font-size:2.6rem; margin:0; }
  .b2-btn { width:100%; justify-content:center; }
}

/* selo de bolsa nos cartões: azul, não dourado */
.mc .mc-bolsa, [data-theme="dark"] .mc .mc-bolsa { color:var(--accent-text); background:var(--accent-soft); border-color:var(--accent-line); }

/* ---------- Cursos: bacharelados e tecnólogos no desenho dos mestrados */
.gr-bloco { margin-top:44px; }
.gr-h { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid var(--line); font-size:1.5rem; line-height:1.25; font-weight:800; letter-spacing:-.02em; color:var(--text); }
.gr-h span { font-size:1rem; font-weight:400; letter-spacing:0; color:var(--muted); }
.gr-grade { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.gr-grade--2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.gr-grade .mc { height:auto; }
.mc-bolsa svg.ic, .mc-bolsa svg { width:14px; height:14px; flex:none; stroke-width:2; }
#more #contact { margin-top:48px; }
@media (max-width:940px) { .gr-grade { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:620px) { .gr-grade, .gr-grade--2 { grid-template-columns:1fr; } }

/* ---------- mestrado: o fechamento, com um formulário só */
.fim-grade { display:grid; grid-template-columns:1fr minmax(0, 460px); gap:clamp(32px, 5vw, 72px); align-items:start; }
.fim2 .title { text-align:left; margin:14px 0 0; }
.fim-passos { list-style:none; margin:28px 0 0; padding:0; counter-reset:f; display:grid; gap:18px; }
.fim-passos li { counter-increment:f; position:relative; padding-left:48px; font-size:1.05rem; line-height:1.55; color:var(--muted); }
.fim-passos li::before { content:counter(f); position:absolute; left:0; top:0; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--accent-soft); color:var(--accent-text); font-weight:800; font-size:.95rem; }
.fim-passos b { display:block; color:var(--text); font-weight:700; }
.fim-link { margin:26px 0 0; font-size:.95rem; color:var(--muted); }
.fim-link a { color:var(--accent-text); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:900px) { .fim-grade { grid-template-columns:1fr; } }

/* quem você pode se tornar: frase mais forte que a lista de tarefas */
.prep li span:last-child { font-size:1.05rem; line-height:1.45; font-weight:500; }

.gr-foot { justify-content:flex-end; }
.hero-guarantee { max-width:none; }

/* edX em cartão claro, para não encostar um bloco escuro na faixa azul da bolsa */
#edx .who-edx { background:var(--surface); border:1px solid var(--line); box-shadow:0 24px 50px -36px rgba(14,26,51,.35); color:var(--text); }
#edx .who-edx::before, #edx .who-edx::after { display:none; }
#edx .who-k { color:var(--accent-text); }
#edx .teach-h { color:var(--text); }
#edx .teach-h .accent-it { color:var(--accent-text) !important; -webkit-text-fill-color:currentColor !important; background:none !important; }
#edx .teach-note { color:var(--muted); }
#edx .edx-mark { filter:invert(1) brightness(.32) sepia(1) hue-rotate(185deg) saturate(4); transform:scale(.62); transform-origin:right top; }
#edx .edx-tile { background:var(--surface-2, #f1f4fa); border-color:var(--line); }
#edx .edx-tile .teach-logo, #edx .edx-tile:hover .teach-logo { filter:brightness(0) opacity(.68); }
#edx .edx-tile .teach-name { display:none; }
#edx .edx-tile { justify-content:center; align-items:center; min-height:84px; }
#edx .teach-note { font-size:1rem; line-height:1.6; }
[data-theme="dark"] #edx .edx-mark { filter:none; }
[data-theme="dark"] #edx .edx-tile .teach-logo { filter:brightness(0) invert(1) opacity(.78); }

/* ---------- marca: o fecho do título é uma cor só, sem degradê nem animação */
.accent-it { background:none !important; -webkit-text-fill-color:currentColor !important; animation:none !important; color:#1e417d; }
.hero .accent-it, .hero-home .accent-it, .section--dark .accent-it, #standards .accent-it, .enroll-hero .accent-it, .bolsa2 .accent-it, [data-theme="dark"] .accent-it { color:#a9c9ff !important; }
.hero .eyebrow { color:#a9c9ff; }
.nav-links a[aria-current="page"] { color:inherit; font-weight:600; text-decoration:none; }
.mc-tag { font-size:.72rem; }
.mc-tag--l { color:#9a3412; }

/* ---------- formulário do topo: campos visíveis no cartão escuro, sem pedir o país */
.lf .fld:has(select[name="country"]) { display:none; }
.hero .lf input, .hero .lf select { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.34); color:#fff; }
.hero .lf select option { color:#131a2b; }
.hero .lf .fine, .hero .lf-sub { color:rgba(255,255,255,.82); }
.lf.sent h3, .lf.sent .lf-sub { display:none; }
.envio-falha { margin:12px 0 0; font-size:.95rem; color:var(--danger, #c02626); }
.envio-falha a { font-weight:700; text-decoration:underline; }
.lead-form button:disabled, .lf button:disabled { opacity:.6; }
#leadNote { font-size:.95rem; }
.fim2 .accent-it { white-space:nowrap; }
@media (max-width:420px) { .fim2 .accent-it { white-space:normal; } }

/* ---------- quem você pode se tornar: nome do papel e o que a pessoa faz */
.prep li { grid-template-columns:1fr; }
.prep li b { display:block; font-size:1.12rem; font-weight:800; letter-spacing:-.01em; margin-bottom:4px; color:var(--text); }
.prep li span:last-child { font-weight:400; color:var(--muted); font-size:1rem; }

/* ---------- tecnólogos: índice por área, no lugar de 12 cartões */
.tc-lista { background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:8px 26px; }
.tc-area { display:grid; grid-template-columns:150px 1fr; gap:16px; padding:18px 0; border-top:1px solid var(--line); }
.tc-area:first-child { border-top:0; }
.tc-area h4 { margin:10px 0 0; font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-text); }
.tc-area ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:4px 28px; }
.tc-area a { position:relative; display:block; padding:9px 30px 9px 10px; border-radius:10px; color:inherit; text-decoration:none; transition:background .25s cubic-bezier(.22,.61,.36,1); }
.tc-area a b { display:block; font-size:1.05rem; font-weight:700; color:var(--text); line-height:1.3; }
.tc-area a span { display:block; font-size:.92rem; line-height:1.4; color:var(--muted); }
.tc-area a svg { position:absolute; right:8px; top:14px; width:16px; height:16px; color:var(--accent-text); }
.tc-area a:hover, .tc-area a.is-picked { background:var(--accent-soft); }
.tc-area a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
#matricula.section { padding-top:0; }
#matricula #contact { margin-top:0; }
@media (max-width:820px) {
  .tc-lista { padding:6px 16px; }
  .tc-area { grid-template-columns:1fr; gap:6px; }
  .tc-area h4 { margin:0 0 0 10px; }
  .tc-area ul { grid-template-columns:1fr; }
}

/* matrícula: contraste do que era claro demais */
.captcha-hint { color:var(--muted); }
.footer h5 { color:#aab6d0; }

/* ---------- 02/11: preço. Nos cartões e no topo do curso */
.mc-preco { font-size:.92rem; color:var(--muted); }
.mc-preco b { font-size:1.08rem; font-weight:800; letter-spacing:-.01em; color:var(--text); }
.pc2 { display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:30px 28px; }
.pc2-k { font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#a9c9ff; }
.pc2-v { margin:2px 0 8px; font-size:clamp(2.3rem, 3.4vw, 3rem); line-height:1.05; font-weight:800; letter-spacing:-.03em; color:#fff; }
.pc2-v small { display:block; margin-top:4px; font-size:1.02rem; font-weight:500; letter-spacing:0; color:rgba(255,255,255,.82); }
.pc2-l { list-style:none; margin:6px 0 20px; padding:0; display:grid; gap:10px; }
.pc2-l li { position:relative; padding-left:26px; font-size:1rem; line-height:1.4; color:rgba(255,255,255,.92); }
.pc2-l li::before { content:""; position:absolute; left:2px; top:5px; width:12px; height:7px; border-left:2px solid #a9c9ff; border-bottom:2px solid #a9c9ff; transform:rotate(-45deg); }
.pc2 .btn { justify-content:center; width:100%; }
.pc2 .fine { margin:10px 0 0; text-align:center; }

/* ---------- perguntas à esquerda, dúvida à direita */
.faq-grade { display:grid; grid-template-columns:minmax(0, 1.45fr) minmax(0, 1fr); gap:clamp(24px, 4vw, 48px); align-items:start; margin-top:12px; }
.faq-grade .faq { max-width:none; margin:0; }
.dv-card { position:sticky; top:96px; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:0 24px 50px -36px rgba(14,26,51,.35); }
.dv-card h3 { margin:0; font-size:1.3rem; line-height:1.25; font-weight:800; letter-spacing:-.02em; color:var(--text); }
.dv-card > p { margin:6px 0 16px; font-size:1rem; line-height:1.5; color:var(--muted); }
.dv-card form { display:grid; gap:12px; }
.dv-card label { display:grid; gap:5px; font-size:.92rem; font-weight:600; color:var(--text); }
.dv-card input, .dv-card textarea { width:100%; min-height:46px; padding:11px 13px; font:inherit; font-size:16px; font-weight:400; color:var(--text); background:var(--bg); border:1px solid var(--line-strong, rgba(16,22,38,.2)); border-radius:12px; }
.dv-card textarea { resize:vertical; }
.dv-card input:focus-visible, .dv-card textarea:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.dv-card .btn { width:100%; justify-content:center; }
.dv-hp { position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }
.dv-nota { margin:0; font-size:.95rem; line-height:1.45; }
.dv-nota:empty { display:none; }
.dv-nota.is-ok { color:var(--accent-text); font-weight:600; }
.dv-nota.is-erro { color:var(--danger, #c02626); }
.dv-nota a { font-weight:700; text-decoration:underline; }
@media (max-width:900px) { .faq-grade { grid-template-columns:1fr; } .dv-card { position:static; } }

/* ---------- matrícula: direto no formulário, sem capa. Pensada primeiro para o celular */
.mt2 { padding:112px 0 72px; min-height:80vh; }
.mt-wrap { max-width:680px; }
.mt-head { margin-bottom:22px; }
.mt-titulo { margin:0; font-size:clamp(2rem, 5.6vw, 3.15rem); line-height:1.1; font-weight:800; letter-spacing:-.02em; color:var(--text); text-wrap:balance; }
.mt-titulo .accent-it { display:block; color:#1e417d; font-weight:400; }
[data-theme="dark"] .mt-titulo .accent-it { color:#a9c9ff !important; }
.mt-head p { margin:10px 0 0; font-size:1.12rem; color:var(--muted); }
.mt-curso { display:grid; grid-template-columns:1fr auto auto; gap:6px 18px; align-items:center; padding:14px 18px; margin-bottom:18px; background:var(--accent-soft); border:1px solid var(--accent-line); border-radius:14px; }
.mt-curso[hidden] { display:none; }
.mt-curso span { display:block; font-size:.8rem; color:var(--muted); }
.mt-curso b { display:block; font-size:1.05rem; line-height:1.3; color:var(--text); }
.mt-preco { text-align:right; }
.mt-curso button { min-height:44px; padding:0 4px; font:inherit; font-size:.92rem; font-weight:600; color:var(--accent-text); background:none; border:0; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.mt-prog { list-style:none; margin:0 0 18px; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; counter-reset:none; }
.mt-prog[hidden] { display:none; }
.mt-prog li { display:flex; align-items:center; gap:8px; padding-top:10px; border-top:3px solid var(--line); font-size:.92rem; font-weight:600; color:var(--muted); }
.mt-prog i { font-style:normal; display:none; }
.mt-prog li.on { border-color:#2563eb; color:var(--text); }
.mt-prog li.feito { border-color:#1e417d; color:var(--text); }
#mtForm { background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:clamp(20px, 4vw, 32px); }
#mtForm[hidden], .mt-head[hidden], .mt-ok[hidden], .mt-escolha[hidden], .mt-passo[hidden], .mt-c[hidden], .mt-gcep[hidden], .mt-aviso[hidden], .mt-erro[hidden] { display:none; }
.mt-escolha { margin-bottom:16px; }
.mt-passo { border:0; margin:0; padding:0; display:grid; gap:16px; min-width:0; }
.mt-passo legend { padding:0; margin-bottom:14px; font-size:1.3rem; font-weight:800; letter-spacing:-.02em; color:var(--text); }
.mt-g2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mt-gcep { grid-template-columns:1.6fr 1fr; }
.mt-c { display:grid; gap:6px; font-size:.95rem; font-weight:600; color:var(--text); min-width:0; }
.mt-c input[type="text"], .mt-c input[type="email"], .mt-c input[type="tel"], .mt-c select { width:100%; min-height:50px; padding:12px 14px; font:inherit; font-size:16px; font-weight:400; color:var(--text); background:var(--bg); border:1px solid var(--line-strong, rgba(16,22,38,.22)); border-radius:12px; }
.mt-c input:focus-visible, .mt-c select:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.mt-c small { font-size:.86rem; font-weight:400; color:var(--muted); }
.mt-r { display:block; }
.mt-op { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.mt-op label { flex:1 1 auto; position:relative; cursor:pointer; }
.mt-op input { position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.mt-op span { display:flex; align-items:center; justify-content:center; min-height:48px; padding:8px 14px; text-align:center; font-weight:500; font-size:.96rem; line-height:1.2; color:var(--text); background:var(--bg); border:1px solid var(--line-strong, rgba(16,22,38,.22)); border-radius:12px; }
.mt-op input:checked + span { color:#fff; background:#1e417d; border-color:#1e417d; font-weight:700; }
.mt-op input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }
.mt-fora { display:flex; align-items:center; gap:8px; min-height:44px; font-size:.95rem; color:var(--muted); cursor:pointer; }
.mt-fora input { width:18px; height:18px; }
.mt-aviso { margin:0; padding:12px 14px; font-size:.95rem; line-height:1.45; color:var(--text); background:var(--accent-soft); border-radius:12px; }
.mt-captcha .captcha-box { display:flex; align-items:center; gap:10px; margin-top:6px; }
.mt-captcha canvas { max-width:calc(100% - 54px); height:auto; border-radius:12px; }
#captchaRefresh { flex:none; width:44px; height:44px; font-size:1.3rem; color:var(--accent-text); background:var(--bg); border:1px solid var(--line-strong, rgba(16,22,38,.22)); border-radius:12px; cursor:pointer; }
#captchaMsg.is-ok { color:var(--accent-text); font-weight:600; }
#captchaMsg.is-erro { color:var(--danger, #c02626); }
.mt-erro { margin:16px 0 0; font-size:.98rem; font-weight:600; color:var(--danger, #c02626); }
.mt-erro a { text-decoration:underline; }
.mt-acoes { display:flex; align-items:center; gap:12px; margin-top:22px; }
.mt-acoes .btn { flex:1; justify-content:center; }
.mt-acoes [hidden] { display:none; }
.mt-voltar { flex:none; min-height:48px; padding:0 16px; font:inherit; font-weight:600; color:var(--muted); background:none; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.mt-fino { margin:14px 0 0; font-size:.88rem; line-height:1.5; color:var(--muted); }
.mt-fino a { color:var(--accent-text); text-decoration:underline; }
.mt-ok { padding:clamp(24px, 5vw, 40px); background:var(--surface); border:1px solid var(--line); border-radius:18px; outline:0; }
.mt-ok h2 { margin:0; font-size:clamp(1.8rem, 4.6vw, 2.6rem); line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--text); }
.mt-ok .accent-it { display:block; font-weight:400; }
.mt-ok p { margin:14px 0 0; font-size:1.1rem; line-height:1.6; color:var(--muted); }
@media (max-width:560px) {
  .mt2 { padding-top:92px; }
  .mt-g2 { grid-template-columns:1fr; }
  .mt-gcep { grid-template-columns:1.5fr 1fr; }
  .mt-curso { grid-template-columns:1fr auto; }
  .mt-preco { grid-column:1; text-align:left; }
  .mt-preco b, .mt-preco span { display:inline; }
  .mt-curso button { grid-column:2; grid-row:1 / 3; }
  .mt-prog li { font-size:.84rem; }
  .mt-acoes { position:sticky; bottom:0; margin:22px -20px -20px; padding:12px 20px; background:var(--surface); border-top:1px solid var(--line); border-radius:0 0 18px 18px; }
  .mt-fino { margin-top:30px; }
}

/* acertos depois de ver na tela */
.hero .lf.pc2 { align-self:center; justify-content:center; }
.hero .pc2 .pc2-v { font-size:clamp(2.4rem, 3.4vw, 3.1rem); font-weight:800; color:#fff; line-height:1.05; margin:2px 0 8px; }
.hero .pc2 .pc2-v small { display:block; font-size:1.02rem; font-weight:500; color:rgba(255,255,255,.82); margin-top:4px; }
.mt-gcep { align-items:start; }
.mt-preco span { margin-left:4px; }

/* ---------- 02/11: letra maior no site inteiro. Quase tudo é em rem, então a base escala junto.
   03/11 (Giovanna): tinha passado do ponto, uma seção ocupava uma tela e meia; a base fica em 15px no desktop e no celular */
html { font-size:93.75%; }
body { font-size:1.0625rem; }
@media (max-width:768px) { html { font-size:93.75%; } }

/* nenhum texto de leitura abaixo de 13 px: rótulos que continuavam miúdos */
.k, .fd, .cert-tag, .pk, .ps, .th, th, .sl, .ox-code, .ga-k, .xps-k, .xps-note, .xps-p, .xp-next-k, .xp-cap, .cert-k, .cert-by, .omt-kicker,
.mc-k, .who-k, .fact-k, .jc-k, .hn-r, .xp-lote, .gs-k, .news-note, .std-deg { font-size:.76rem !important; }
.mc-tag { font-size:.74rem; }
.fine, .lf .fine { font-size:.82rem; }
.mc-facts li { font-size:.82rem; }
.tc-area h4 { font-size:.76rem; }

/* o menu mantém o tamanho, para os cinco itens caberem */
.nav-links a { font-size:.88rem; }
.nav-cta .btn { font-size:.88rem; }
@media (min-width:769px) and (max-width:1180px) { .nav-links a { font-size:.8rem; } .nav-links { gap:10px; } .nav-cta .btn { font-size:.8rem; padding-left:14px; padding-right:14px; } }

/* topo dos cursos, com mais presença */
.hero .h-display { font-size:clamp(2.6rem, 5.4vw, 5rem); line-height:1.04; }
.hero .hero-promise { font-size:clamp(1.15rem, 1.7vw, 1.42rem); line-height:1.42; max-width:30em; }
.hero .hero-guarantee { font-size:.92rem; }
.hero .eyebrow { font-size:.86rem; }
.hero-facts b, .hero .hero-points b { font-size:1rem; }
.hero .pc2-l li { font-size:1.02rem; }
.hero .pc2 .pc2-v { font-size:clamp(2.5rem, 3.6vw, 3.3rem); }
.hero .pc2 .pc2-v small { font-size:1rem; }
.hero-facts span { font-size:.82rem; }

/* com a letra maior, o Login sai do menu antes de faltar espaço */

/* topo dos cursos: quatro destaques em duas linhas, com diploma e duração à vista */
.hero .hero-facts { display:grid; grid-template-columns:1fr 1fr; gap:0; max-width:620px; }
.hero .hero-facts li { padding:14px 18px; border:0; border-left:1px solid rgba(255,255,255,.16); border-top:1px solid rgba(255,255,255,.16); }
.hero .hero-facts li:nth-child(odd) { border-left:0; }
.hero .hero-facts li:nth-child(-n+2) { border-top:0; }
.hero .hero-facts b { display:block; font-size:1.02rem; line-height:1.25; color:#fff; }
.hero .hero-facts span { display:block; margin-top:3px; font-size:.84rem; line-height:1.3; color:rgba(255,255,255,.82); }

/* ---------- topo dos cursos, refeito: nome em duas linhas, quadro ao lado do título, tudo na mesma altura */
.hero-inner.has-form .hero-copy { min-width:0; }
.hero .h-display { font-size:clamp(2.1rem, 8.6vw, 2.6rem); line-height:1.08; }
.hero .hero-promise { font-size:1.05rem; line-height:1.5; max-width:none; margin-top:14px; }
.hero .hero-facts { width:100%; max-width:none; margin-top:20px; }
.hero .hero-facts li { padding:12px 16px; }
.hero .hero-facts b { font-size:.94rem; }
.hero .hero-facts span { font-size:.78rem; }
.hero .hero-guarantee { font-size:.82rem; margin-top:14px; }
.hero .lf.pc2 { padding:24px 26px; }
.hero .pc2-l { margin:4px 0 16px; gap:8px; }
.hero .pc2-l li { font-size:.94rem; }
@media (min-width:900px) {
  .hero { min-height:0; padding:128px 0 64px; }
  .hero-inner.has-form { display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(0, 1fr); gap:clamp(28px, 3vw, 44px); align-items:stretch; max-width:var(--maxw, 1180px); }
  .hero-inner.has-form .hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; max-width:none; }
  .hero .h-display { font-size:clamp(2.1rem, 3.8vw, 3.05rem); margin:10px 0 0; max-width:none; }
  .hero h1 .h1-b { display:block; white-space:nowrap; }
  .hero .hero-facts b, .hero .hero-facts span { white-space:nowrap; }
  .hero .hero-guarantee { margin-bottom:0; white-space:nowrap; }
  .hero .lf.pc2 { align-self:stretch; justify-content:space-between; margin:0; width:auto; max-width:none; }
  .hero .pc2 .btn { margin-top:auto; }
}

/* ---------- topo dos cursos, 02/11: desce até quase o fim da tela, letra maior e as quatro informações numa faixa sólida */
.hero .hero-facts { display:grid; grid-template-columns:1fr 1fr; width:100%; max-width:none; margin:20px 0 0; padding:0; list-style:none; background:#fff; border:0; border-radius:18px; overflow:hidden; box-shadow:0 18px 40px rgba(4,18,46,.32); backdrop-filter:none; -webkit-backdrop-filter:none; }
.hero .hero-facts li { padding:14px 16px; border:0; border-left:1px solid rgba(16,22,38,.12); border-top:1px solid rgba(16,22,38,.12); background:none; }
.hero .hero-facts li:nth-child(odd) { border-left:0; }
.hero .hero-facts li:nth-child(-n+2) { border-top:0; }
.hero .hero-facts b { display:block; font-size:1rem; line-height:1.25; font-weight:800; color:#1e417d; white-space:normal; }
.hero .hero-facts span { display:block; margin-top:4px; font-size:.86rem; line-height:1.35; color:#3c3c43; white-space:normal; }
@media (min-width:900px) {
  .hero:has(.hero-inner.has-form) { display:flex; align-items:center; min-height:min(calc(100svh - 64px), 1040px); padding:104px 0 40px; }
  .hero-inner.has-form { width:100%; grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr); grid-template-rows:1fr auto; row-gap:24px; }
  .hero-inner.has-form .hero-copy { justify-content:flex-start; }
  .hero .hero-copy .eyebrow { font-size:1rem; }
  .hero .h-display { font-size:clamp(2.5rem, 4.3vw, 3.5rem); line-height:1.06; margin:12px 0 0; }
  .hero .hero-promise { font-size:clamp(1.2rem, 1.75vw, 1.55rem); line-height:1.42; margin-top:20px; }
  .hero .hero-guarantee { font-size:.98rem; margin-top:auto; padding-top:18px; color:rgba(255,255,255,.88); white-space:normal; }
  .hero .lf.pc2 { padding:28px 30px; }
  .hero .pc2-k { font-size:.92rem; }
  .hero .pc2 .pc2-v { font-size:clamp(2.7rem, 4vw, 3.4rem); }
  .hero .pc2 .pc2-v small { font-size:1.14rem; margin-top:6px; }
  .hero .pc2-l { margin:8px 0 22px; gap:10px; }
  .hero .pc2-l li { font-size:1.1rem; line-height:1.35; padding-left:28px; }
  .hero .pc2-l li::before { top:6px; }
  .hero .pc2 .btn { font-size:1.12rem; min-height:60px; }
  .hero .hero-facts { grid-column:1 / -1; grid-template-columns:repeat(4, auto); margin:0; }
  .hero .hero-facts li, .hero .hero-facts li:nth-child(odd) { padding:20px clamp(14px, 1.6vw, 22px); border-top:0; border-left:1px solid rgba(16,22,38,.12); }
  .hero .hero-facts li:first-child { border-left:0; }
  .hero .hero-facts b { font-size:clamp(1rem, 1.4vw, 1.16rem); }
  .hero .hero-facts span { font-size:clamp(.86rem, 1.1vw, .94rem); }
}
@media (min-width:1280px) { .hero .hero-facts b, .hero .hero-facts span { white-space:nowrap; } }
/* no celular o script leva o quadro de preço para fora do topo, para um fundo claro: ele continua escuro, senão o texto branco some */
[data-mslot="form"] .pc2 { padding:26px 24px; background:#0e1c3d; border:1px solid rgba(255,255,255,.12); color:#fff; }
[data-mslot="form"] .pc2 .pc2-k { color:#a9c9ff; }
[data-mslot="form"] .pc2 .pc2-v { font-size:2.7rem; font-weight:800; line-height:1.05; color:#fff; }
[data-mslot="form"] .pc2 .pc2-v small { display:block; margin-top:4px; font-size:1.05rem; font-weight:500; color:rgba(255,255,255,.82); }
[data-mslot="form"] .pc2 .pc2-l li { font-size:1.02rem; }
.hero-inner.has-form .hero-scroll { display:none; }

#curriculum .title .accent-it { display:block; }
/* foto da dupla na grade de Business e IA: sem o zoom das fotos do e-book, para os dois rostos caberem */
.ga-art img[src*="business-ia-grafico"] { transform:none !important; }
@media (min-width:769px) {
  .grade-acc details:first-child .ga-art:has(img[src*="business-ia-grafico"]) { position:relative; min-height:0; }
  .grade-acc details:first-child .ga-art img[src*="business-ia-grafico"] { position:absolute; inset:0; object-position:85% 50%; }
}
@media (max-width:768px) { .grade-acc .ga-art img[src*="business-ia-grafico"] { aspect-ratio:4 / 3; object-position:center; } }

/* ---------- carreira refeita: um bloco só, com as áreas em lista num quadro */
.car3-grade { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); gap:clamp(28px, 4vw, 56px); align-items:center; }
.car3 .title { font-size:clamp(1.85rem, 2.9vw, 2.45rem); line-height:1.14; margin:12px 0 0; text-wrap:pretty; }
.car3 .accent-it { display:block; margin-top:4px; }
.car3 .lead { margin:18px 0 0; font-size:1.05rem; line-height:1.55; color:var(--muted); max-width:44ch; text-align:left; }
.car3-quadro { background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:26px 28px 14px; box-shadow:0 24px 50px -36px rgba(14,26,51,.35); }
.car3-quadro h3 { margin:0 0 8px; font-size:1.15rem; line-height:1.3; font-weight:800; letter-spacing:-.02em; color:var(--text); }
.car3-quadro ul { list-style:none; margin:0; padding:0; }
.car3-quadro li { position:relative; padding:12px 0 12px 28px; border-top:1px solid var(--line); font-size:1rem; line-height:1.35; font-weight:500; color:var(--text); }
.car3-quadro li:first-child { border-top:0; }
.car3-quadro li::before { content:""; position:absolute; left:3px; top:18px; width:12px; height:7px; border-left:2px solid #2563eb; border-bottom:2px solid #2563eb; transform:rotate(-45deg); }
[data-theme="dark"] .car3-quadro li::before { border-color:#7db4ff; }
@media (max-width:860px) { .car3-grade { grid-template-columns:1fr; } .car3-quadro { padding:22px 20px 10px; } }

/* ---------- formulário de dúvida: fica parado, não acompanha a rolagem */
.dv-card { position:static; }

/* ---------- edX numa seção só: conteúdo à esquerda, certificado à direita */
.ox2-grade { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); gap:clamp(28px, 4vw, 56px); align-items:center; }
.ox2 .title { font-size:clamp(1.85rem, 2.9vw, 2.45rem); line-height:1.16; margin:0; text-align:left; }
.ox2 .edx-lite-mark { display:inline-block; width:auto; height:1.15em; margin:0 .08em; vertical-align:-.2em; }
.ox2-nome { display:block; }
.ox2-sub { margin:14px 0 0; font-size:1.1rem; font-weight:600; color:#a9c9ff; }
.ox2-p { margin:10px 0 0; font-size:1rem; line-height:1.55; color:rgba(255,255,255,.82); }
.ox2 .edx-inst { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; margin:20px 0 0; padding:0; max-width:none; }
.ox2 .edx-inst li { min-height:70px; padding:10px 12px; }
.ox2 .edx-inst li > span { display:none; }
.ox2 .edx-inst li img, .ox2 .edx-inst .edx-word { max-height:30px; }
.ox2-cert { min-width:0; }
.ox2-cert .cert { margin:0; max-width:none; }
.ox2-cert .ox2-p { margin-top:12px; text-align:center; }
.ox2 .ox-acc { margin-top:24px; }
@media (max-width:900px) { .ox2-grade { grid-template-columns:1fr; } }

/* ---------- AGTU Experience: identidade do evento, azul meia-noite e dourado */
.xp2.section { position:relative; overflow:hidden; isolation:isolate; color:#fff; background:#253150; padding-block:clamp(64px, 8vw, 104px); }
.xp2::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(60% 55% at 85% 0%, rgba(228,174,80,.28), transparent 70%), radial-gradient(50% 50% at 0% 100%, rgba(228,174,80,.14), transparent 70%); }
.xp2-topo { text-align:center; max-width:820px; margin:0 auto; }
.xp2-marca { margin:0; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:.2em; font-size:clamp(3rem, 7.4vw, 6rem); line-height:1; font-weight:800; letter-spacing:-.03em; color:#fff; }
.xp2-marca em { font-family:"Times New Roman", Times, serif; font-style:italic; font-weight:400; letter-spacing:-.01em; color:#E4AE50; }
.xp2-frase { margin:16px 0 0; font-size:clamp(1.25rem, 2.2vw, 1.7rem); line-height:1.3; font-weight:600; color:#fff; }
.xp2-frase em { font-family:"Times New Roman", Times, serif; font-style:italic; font-weight:400; color:#E4AE50; }
.xp2-p { margin:10px auto 0; max-width:56ch; font-size:1.02rem; line-height:1.55; color:rgba(255,255,255,.84); }
.xp2-grade { display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr); gap:clamp(20px, 3vw, 36px); align-items:start; margin-top:clamp(28px, 4vw, 44px); }
.xp2 .xp-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); grid-auto-rows:clamp(84px, 9vw, 128px); gap:10px; margin:0; padding:0; list-style:none; }
.xp2 .xp-grid li { overflow:hidden; border-radius:14px; grid-column:auto; grid-row:auto; }
.xp2 .xp-grid li:first-child { grid-column:1 / 3; grid-row:1 / 3; }
.xp2 .xp-grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.22,.61,.36,1); }
.xp2 .xp-grid li:hover img { transform:scale(1.05); }
.xp2 .xp-cap { margin:10px 0 0; text-align:left; color:rgba(255,255,255,.72); }
.xp2-hist h3 { margin:0 0 12px; font-family:"Times New Roman", Times, serif; font-style:italic; font-weight:400; font-size:clamp(1.5rem, 2.3vw, 1.9rem); line-height:1.2; color:#E4AE50; }
.xp2-videos { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.xp2 .xps { margin:0; background:rgba(255,255,255,.07); border:1px solid rgba(228,174,80,.3); border-radius:14px; overflow:hidden; color:#fff; box-shadow:none; }
.xp2 .xps-media video { display:block; width:100%; aspect-ratio:9 / 13; height:auto; object-fit:cover; }
.xp2 .xps-meta { padding:10px 12px 12px; background:none; }
.xp2 .xps-q { display:none; }
.xp2 .xps-k { color:#E4AE50; }
.xp2 .xps-n { color:#fff; font-size:1rem; }
.xp2 .xps-p { color:rgba(255,255,255,.76); }
.xp2 .xp-next { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; max-width:none; margin:clamp(24px, 3vw, 36px) 0 0; padding:18px 24px; color:#253150; background:linear-gradient(100deg, #E4AE50, #f1cd86); border:0; border-radius:14px; text-decoration:none; }
.xp2 .xp-next-k { color:#253150; }
.xp2 .xp-next b { color:#253150; font-size:1.05rem; }
.xp2 .xp-next-go { padding:10px 18px; font-weight:700; color:#fff; background:#253150; border-radius:999px; }
.xp2 .xp-next:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media (max-width:900px) {
  .xp2-grade { grid-template-columns:1fr; }
  .xp2 .xp-grid { grid-auto-rows:clamp(84px, 24vw, 170px); }
}
@media (max-width:560px) { .xp2 .xp-next { flex-direction:column; align-items:flex-start; } }

/* edX: fundo escuro próprio, com as mesmas variáveis nas três montagens */
.ox2.section { --bg:#060d1f; --bg-2:#0a1530; --surface:#0e1c3d; --surface-2:#15264f; --line:rgba(255,255,255,.1); --line-strong:rgba(255,255,255,.18); --text:#f4f6fb; --muted:#aab6d0; --muted-2:#8d9ab6; --accent-text:#a9c9ff; color:#f4f6fb; background:linear-gradient(150deg, #0a1530, #060d1f); }
.ox2 .title { color:#fff; }
.ox2 .accent-it { color:#a9c9ff !important; }
.ox2-grade--um { grid-template-columns:minmax(0, 760px); justify-content:center; }
.ox2 .edx-inst { list-style:none; grid-template-columns:repeat(3, minmax(0, 1fr)); }
.ox2 .edx-inst li { display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:12px; }
.ox2 .edx-inst img { display:block; max-width:100%; height:auto; max-height:28px; filter:brightness(0) invert(1) opacity(.85); }
.ox2 .edx-word { font-size:1.05rem; color:#fff; }
.ox2 .ox-acc { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:14px; }

/* acertos: vídeo sem faixa preta, as seis fotos também no celular, sem lista repetida de logos */
.xp2 .xps-media { position:relative; aspect-ratio:9 / 13; overflow:hidden; background:#15264f; }
.xp2 .xps-media video { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.xp2 .xp-grid li { display:block !important; }
.ox2 .omt-list .inst, .ox2 .omt-list .omt-count { display:none; }
.ox2 .omt-list { padding:0; margin-top:16px; }

/* ---------- 02/11: ritmo de cor da página do curso. Carreira em tom próprio, edX escuro com luz, padrões em branco, bolsa azul, Experience em azul-noite e ouro */
.car3.section { background:#1e417d; padding-block:clamp(56px, 6vw, 80px); }
#curriculum.section { background:var(--surface); padding-top:clamp(56px, 6vw, 80px); }
.car3 .eyebrow { color:#a9c9ff; }
.car3 .title { color:#fff; }
.car3 .accent-it { color:#a9c9ff !important; background:none; -webkit-text-fill-color:currentColor; animation:none; }
.car3 .lead { color:rgba(255,255,255,.88); }

.ox2.section { background:radial-gradient(55% 70% at 90% 12%, rgba(59,130,246,.24), transparent 70%), radial-gradient(45% 60% at 4% 100%, rgba(37,99,235,.16), transparent 70%), radial-gradient(150% 90% at 50% -10%, #0e1c3d 0%, transparent 58%), #060d1f; }

.std-claro { position:relative; overflow:hidden; isolation:isolate; color:var(--text); background:var(--surface); }
.std-claro .std-crest { color:var(--accent-text); opacity:.05; }
.std-claro .std-head .eyebrow { color:var(--accent-text); }
.std-claro .std-head .title { color:var(--text); }
#standards.std-claro .accent-it { color:var(--accent-text) !important; background:none; -webkit-text-fill-color:currentColor; animation:none; }
.std-claro .std-photo { border:1px solid var(--line); box-shadow:0 24px 48px -28px rgba(16,22,38,.45); }
.std-claro .std-words blockquote p { color:var(--text); }
.std-claro .std-words figcaption { border-top-color:var(--line); }
.std-claro .std-name { color:var(--text); }
.std-claro .std-role { color:var(--muted); }
.std-claro .std-deg, .std-claro .std-n { color:var(--accent-text); }
.std-claro .std-rule { border-top-color:var(--line); }
.std-claro .std-rule li { border-color:var(--line); }
.std-claro .std-rule b { color:var(--text); }
.std-claro .std-rule p { color:var(--muted); }

.xp2::before { display:none; }
.xp2 .xps { background:none; border:1px solid rgba(255,255,255,.16); }
.xp2 .xp-grid li { border-color:rgba(255,255,255,.16); background:none; }
.xp2 .xp-next { background:#E4AE50; }
@media (min-width:901px) {
  .xp2-grade { align-items:stretch; }
  .xp2-fotos { display:flex; flex-direction:column; min-height:0; }
  .xp2 .xp-grid { flex:1; grid-template-rows:repeat(3, minmax(84px, 1fr)); grid-auto-rows:unset; min-height:0; }
  .xp2 .xp-grid li { position:relative; min-height:0; }
  .xp2 .xp-grid img { position:absolute; inset:0; aspect-ratio:auto; }
  .xp2-videos { align-items:stretch; }
}

@media (min-width:901px) {
  #community .li-band { max-width:none; width:100%; }
}

.ga-body .gs-chamada { margin:0 0 8px; font-size:1.2rem; line-height:1.3; font-weight:800; letter-spacing:-.01em; color:var(--text); }

/* acertos da revisão do topo: faixa alinhada ao quadro de preço, sem a sombra dele por cima; texto maior, para o buraco na coluna diminuir */
@media (min-width:900px) {
  .hero .hero-facts { position:relative; z-index:1; grid-template-columns:30.5% 31% 1fr 1.25fr; }
  .hero .hero-promise { font-size:clamp(1.4rem, 1.9vw, 1.6rem); margin-top:26px; }
  .hero .h-display { margin-top:18px; }
}
.hero-inner.has-form .hero-scroll { display:none !important; }
.gs-k, .subs-m .k { font-size:.82rem !important; }

/* Experience: só a palavra Experience em ouro; AGTU e o subtítulo ficam brancos (Giovanna, 02/11) */
.xp2-p { max-width:64ch; }

/* Experience em fundo branco (Giovanna, 02/11): letras azul-noite, só "Experience" e o título dos vídeos em ouro. O ouro claro do manual não lê em branco, então vale o ouro escuro da marca. No tema escuro segue o azul-noite */
:root:not([data-theme="dark"]) .xp2.section { background:#fff; color:#253150; }
:root:not([data-theme="dark"]) .xp2-marca { color:#253150; }
:root:not([data-theme="dark"]) .xp2-marca em, :root:not([data-theme="dark"]) .xp2-hist h3 { color:#bc840e; }
:root:not([data-theme="dark"]) .xp2-frase, :root:not([data-theme="dark"]) .xp2-frase em { color:#253150; }
:root:not([data-theme="dark"]) .xp2-p { color:#3c4557; }
:root:not([data-theme="dark"]) .xp2 .xp-cap { color:#515c72; }
:root:not([data-theme="dark"]) .xp2 .xps { color:#253150; border-color:rgba(37,49,80,.16); }
:root:not([data-theme="dark"]) .xp2 .xp-grid li { border-color:rgba(37,49,80,.12); }
:root:not([data-theme="dark"]) .xp2 .xps-k, :root:not([data-theme="dark"]) .xp2 .xps-n { color:#253150; }
:root:not([data-theme="dark"]) .xp2 .xps-p { color:#515c72; }
[data-theme="dark"] .xp2-frase em { color:#fff; }
[data-theme="dark"] .xp2-p { color:#fff; }

/* LinkedIn: o destaque do título novo fica branco sobre o azul */
.li-wid .accent-it { color:#fff !important; background:none; -webkit-text-fill-color:currentColor; animation:none; }
#community .li-band-copy p:last-child { margin-bottom:0; }

/* auditoria de contraste: rodapé da matrícula sem o fundo escuro, rótulos do rodapé e disciplinas dos professores no tema escuro */
body:has(.mt2) .footer { background:#070d1c; color:#f4f6fb; --text:#f4f6fb; --muted:#9aa6bf; --muted-2:#9aa6bf; --line:rgba(255,255,255,.1); }
body:has(.mt2) .footer-bottom, body:has(.mt2) .footer-bottom span, body:has(.mt2) .footer-tm { color:#9aa6bf; }
.footer .fc-k { color:#9aa6bf; }
[data-theme="dark"] .fac .fs { color:var(--muted); }

/* ---------- topo dos cursos segundo a referência da Giovanna (02/11): foto da universidade com véu azul, nome em duas cores, quadro de vidro escuro e as quatro informações soltas sobre o fundo escuro. Tipografia do site */
.hero .h-display { color:#fff; }
.hero h1 .h1-b, .hero h1 .h1-b .h1-ai { background:none; color:#60a5fa; -webkit-text-fill-color:currentColor; font-style:normal; font-family:inherit; font-weight:inherit; animation:none; }
.hero-barra { display:block; width:72px; height:5px; margin:20px 0 0; border-radius:3px; background:#2563eb; }
.hero .hero-copy .eyebrow { color:#60a5fa; }
.hero .hero-promise { font-size:clamp(1.05rem, 1.3vw, 1.18rem); line-height:1.5; margin-top:20px; max-width:34em; color:rgba(255,255,255,.94); }
.hero .lf.pc2 { background:rgba(6,20,58,.82); border:1px solid rgba(255,255,255,.34); border-radius:24px; box-shadow:0 24px 60px -24px rgba(2,10,32,.7); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.hero .pc2-k, [data-mslot="form"] .pc2 .pc2-k { font-size:1rem; font-weight:600; letter-spacing:0; text-transform:none; color:#a9c9ff; }
.hero .pc2 .pc2-v, [data-mslot="form"] .pc2 .pc2-v { font-size:clamp(2.3rem, 3vw, 2.7rem); margin:4px 0 0; }
.hero .pc2 .pc2-v small, [data-mslot="form"] .pc2 .pc2-v small { font-size:.98rem; margin-top:6px; }
.hero .pc2-l, [data-mslot="form"] .pc2 .pc2-l { margin:16px 0 22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.22); gap:10px; }
.hero .pc2-l li, [data-mslot="form"] .pc2 .pc2-l li { font-size:.98rem; line-height:1.35; padding-left:30px; color:#fff; }
.hero .pc2-l li::before, [data-mslot="form"] .pc2 .pc2-l li::before { left:2px; top:4px; width:15px; height:8px; border-left:2.5px solid #2563eb; border-bottom:2.5px solid #2563eb; }
.pc2 .btn { display:flex; align-items:center; justify-content:center; gap:12px; }
.pc2-seta { width:22px; height:22px; flex:none; }
.hero .hero-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px 14px; margin:24px 0 0; background:none; border-radius:0; overflow:visible; box-shadow:none; }
.hero .hero-facts li, .hero .hero-facts li:nth-child(odd), .hero .hero-facts li:nth-child(-n+2) { display:flex; align-items:center; gap:12px; padding:0; background:none; border:0; }
.hf-ic { width:30px; height:30px; flex:none; color:#a9c9ff; }
.hero .hero-facts div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.hero .hero-facts b { font-size:.98rem; font-weight:700; line-height:1.25; color:#fff; }
.hero .hero-facts span { margin:0; font-size:.86rem; line-height:1.3; color:rgba(255,255,255,.86); }
@media (min-width:900px) {
  .hero-inner.has-form { grid-template-columns:minmax(0, 1.55fr) minmax(0, 1fr); row-gap:clamp(24px, 4vh, 44px); }
  .hero .h-display { font-size:clamp(2.5rem, 4.3vw, 3.5rem); margin-top:14px; }
  .hero .lf.pc2 { align-self:start; padding:28px 30px 30px; }
  .hero .pc2 .btn { min-height:56px; font-size:1.05rem; }
  .hero .hero-facts { grid-column:1 / -1; grid-template-columns:repeat(4, auto); justify-content:space-between; gap:0; margin:0; padding-top:4px; }
  .hero .hero-facts li, .hero .hero-facts li:nth-child(odd), .hero .hero-facts li:nth-child(-n+2) { padding:6px clamp(12px, 1.5vw, 22px); border-left:1px solid rgba(255,255,255,.3); }
  .hero .hero-facts li:first-child { padding-left:0; border-left:0; }
  .hero .hero-facts li:last-child { padding-right:0; }
  .hf-ic { width:clamp(30px, 2.6vw, 38px); height:clamp(30px, 2.6vw, 38px); }
  .hero .hero-facts b { font-size:clamp(1rem, 1.3vw, 1.1rem); }
  .hero .hero-facts span { font-size:clamp(.86rem, 1.05vw, .9rem); }
}
@media (max-width:899px) {
  }

/* Histórias reais alinhada às outras seções, com respiro entre o título e o texto */
@media (min-width:901px) { #social .wrap { max-width:var(--maxw, 1180px); } }
#social .title + .lead { margin-top:18px; }

/* citação do provost: a serifada itálica pesava na leitura; fica na fonte do site */
#standards .std-words blockquote p { font-family:inherit; font-style:normal; font-weight:500; font-size:clamp(1.2rem, 1.7vw, 1.45rem); line-height:1.5; letter-spacing:-.005em; text-wrap:pretty; }

/* bolsa: ícone no lugar do número, porque os três cartões não são etapas */
.b2-passos { list-style:none; }
.b2-ic { display:block; width:40px; height:40px; color:var(--accent-text, #1e417d); }
.b2-passos li > h3 { margin-top:16px; }
@media (max-width:900px) {
  .b2-ic { grid-row:1 / 3; }
  .b2-passos li > h3 { margin-top:0; }
}

/* ---------- matrícula em fundo azul (Giovanna, 02/11): título no centro, curso e valor maiores, formulário em cartão */
.mt2 { background:radial-gradient(70% 55% at 50% 0%, rgba(59,130,246,.24), transparent 70%), #1e417d; padding:124px 0 80px; }
.mt-wrap { max-width:900px; }
.mt-head { text-align:center; margin-bottom:30px; }
.mt-titulo { font-size:clamp(1.95rem, 4.2vw, 3rem); color:#fff; }
.mt-titulo .accent-it, [data-theme="dark"] .mt-titulo .accent-it { color:#a9c9ff !important; background:none; -webkit-text-fill-color:currentColor; animation:none; }
.mt-head p { color:rgba(255,255,255,.88); }
.mt-curso, .mt-prog, #mtForm, .mt-ok { width:100%; max-width:720px; margin-inline:auto; }
.mt-curso { gap:6px 24px; padding:22px 26px; margin-bottom:24px; background:var(--surface); border:0; border-radius:18px; box-shadow:0 24px 50px -28px rgba(2,10,32,.8); }
.mt-curso span { font-size:.95rem; }
.mt-curso b { font-size:clamp(1.25rem, 2.2vw, 1.5rem); line-height:1.25; font-weight:800; letter-spacing:-.01em; }
.mt-preco b { font-size:clamp(1.4rem, 2.6vw, 1.75rem); white-space:nowrap; }
.mt-prog li { color:rgba(255,255,255,.72); border-top-color:rgba(255,255,255,.26); }
.mt-prog li.on { color:#fff; border-color:#60a5fa; }
.mt-prog li.feito { color:#fff; border-color:#a9c9ff; }
.mt-festa { position:fixed; inset:0; width:100%; height:100%; z-index:9999; pointer-events:none; }
@media (max-width:640px) {
  .mt2 { padding:96px 0 56px; }
  .mt-curso { padding:18px 20px; }
  .mt-preco b { display:inline; }
}

/* matrícula em uma tela só (Giovanna, 02/11): o formulário abre para os lados e cada passo cabe sem rolar */
.mt2 { min-height:100svh; }
.mt-passo legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (min-width:900px) {
  .mt2 { padding:clamp(92px, 12vh, 104px) 0 24px; }
  .mt-wrap { max-width:calc(1120px + 56px); }
  .mt-head { margin-bottom:clamp(10px, 2vh, 18px); }
  .mt-titulo { font-size:clamp(1.9rem, 3.2vw, 2.5rem); line-height:1.1; }
  .mt-head p { margin-top:4px; font-size:1rem; }
  .mt-curso, .mt-prog, #mtForm, .mt-ok { max-width:1120px; }
  .mt-curso { padding:12px 24px; margin-bottom:12px; }
  .mt-curso b { font-size:1.3rem; }
  .mt-preco { display:flex; align-items:baseline; gap:8px; }
  .mt-preco b { font-size:1.5rem; }
  .mt-prog { margin-bottom:10px; }
  .mt-prog li { padding-top:6px; font-size:.88rem; }
  #mtForm { padding:18px 24px 14px; }
  .mt-escolha { margin-bottom:12px; }
  .mt-passo { grid-template-columns:repeat(12, minmax(0, 1fr)); gap:12px 16px; }
  .mt-passo .mt-g2, .mt-passo .mt-gcep:not([hidden]) { display:contents; }
  [data-passo="1"] > .mt-fora { grid-column:1 / -1; min-height:28px; }
  .mt-captcha .captcha-box { margin-top:2px; }
  .mt-captcha canvas { height:56px; width:auto; }
  .mt-c { gap:4px; font-size:.9rem; }
  .mt-c input[type="text"], .mt-c input[type="email"], .mt-c input[type="tel"], .mt-c select { min-height:46px; padding:9px 12px; }
  .mt-c small { font-size:.8rem; }
  .mt-op { margin-top:2px; }
  .mt-op span { min-height:44px; padding:6px 12px; }
  .mt-aviso { padding:8px 12px; font-size:.86rem; }
  .mt-acoes { margin-top:12px; justify-content:flex-end; }
  .mt-acoes .btn { flex:0 0 auto; min-width:280px; min-height:48px; }
  .mt-voltar { margin-right:auto; }
  .mt-fino { margin:8px 0 0; font-size:.8rem; text-align:right; }
}
@media (min-width:900px) and (max-height:760px) {
  .mt-head p { display:none; }
  .mt-titulo { font-size:1.9rem; }
  .mt-curso { padding:8px 22px; }
}
@media (max-width:899px) {
  .mt2 { padding:82px 0 20px; min-height:0; }
  .mt-head { margin-bottom:12px; }
  .mt-titulo { font-size:1.55rem; line-height:1.15; }
  .mt-head p { margin-top:4px; font-size:.92rem; }
  .mt-curso { padding:10px 14px; margin-bottom:10px; column-gap:12px; }
  .mt-curso span { font-size:.8rem; }
  .mt-curso b { font-size:1.02rem; }
  .mt-curso button { min-height:36px; }
  .mt-preco b { font-size:1.05rem; }
  .mt-prog { margin-bottom:8px; }
  .mt-prog li { padding-top:6px; font-size:.78rem; }
  #mtForm { padding:14px 16px; }
  .mt-passo { gap:9px; }
  .mt-g2 { gap:10px; }
  .mt-c { gap:3px; font-size:.86rem; }
  .mt-c input[type="text"], .mt-c input[type="email"], .mt-c input[type="tel"], .mt-c select { min-height:44px; padding:8px 11px; }
  .mt-c small { font-size:.76rem; }
  .mt-fora { min-height:32px; font-size:.86rem; }
  .mt-acoes { position:static; margin:10px 0 0; padding:0; border:0; background:none; }
  .mt-acoes .btn { min-height:46px; }
  .mt-fino { margin:8px 0 0; font-size:.74rem; line-height:1.35; }
  .mt-captcha canvas { height:52px; width:auto; }
  .mt-op span { min-height:42px; padding:6px 10px; }
}

/* olho do topo menor (Giovanna, 02/11) */
.hero .hero-copy .eyebrow { font-size:.78rem; }

/* quadro de preço minimalista (Giovanna, 02/11): azul-escuro do site, degradê discreto que se mexe devagar e, ao passar o mouse, uma luz azul baixa. Nada de branco nem de outras cores */
.hero .lf.pc2, [data-mslot="form"] .pc2 { position:relative; overflow:hidden; isolation:isolate; border:1px solid rgba(255,255,255,.2); background:linear-gradient(130deg, #142c5c 0%, #1e417d 35%, #264f96 50%, #1e417d 65%, #142c5c 100%); background-size:260% 260%; background-position:0% 50%; -webkit-backdrop-filter:none; backdrop-filter:none; animation:pc2-mexe 16s ease-in-out infinite alternate; }
.hero .lf.pc2::before, [data-mslot="form"] .pc2::before, .pc2::before { content:none; }
.pc2::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0; background:radial-gradient(260px circle at var(--pc2-x, 50%) var(--pc2-y, 30%), rgba(47,125,251,.2), transparent 70%); transition:opacity .3s cubic-bezier(.22,.61,.36,1); }
.pc2:hover::after { opacity:1; }
@keyframes pc2-mexe { to { background-position:100% 50%; } }
@media (prefers-reduced-motion:reduce) {
  .hero .lf.pc2, [data-mslot="form"] .pc2 { animation:none; }
  .pc2::after { display:none; }
}

/* matrícula no celular: campos curtos lado a lado, para o passo caber na tela */
@media (max-width:899px) {
  .mt-head p { display:none; }
  .mt-passo .mt-g2 { grid-template-columns:1fr 1fr; }
  .mt-passo .mt-gcep { grid-template-columns:1fr 1fr; }
  .mt-passo .mt-c input, .mt-passo .mt-c select { min-width:0; max-width:100%; }
  .mt-c small { display:none; }
  .mt-captcha .captcha-box { max-width:100%; }
  .mt-captcha canvas { max-width:calc(100% - 54px); min-width:0; }
  .mt-prog li { overflow-wrap:anywhere; }
}

/* matrícula: os campos alinham pelo topo, e os dois botões cabem na largura do celular */
.mt-c { align-content:start; }
@media (max-width:899px) {
  .mt-acoes .btn { flex:1 1 0; min-width:0; padding-inline:14px; font-size:.95rem; white-space:normal; line-height:1.2; }
  .mt-voltar { padding:0 8px; }
}

/* um azul só no topo dos cursos: o mesmo do menu e dos botões (Giovanna, 02/11) */
.hero h1 .h1-b, .hero h1 .h1-b .h1-ai, .hero .hero-copy .eyebrow { color:#2563eb; }
.hero-barra { background:#2563eb; }
.hf-ic { color:#2563eb; }
.hero .pc2-l li::before, [data-mslot="form"] .pc2 .pc2-l li::before { border-left-color:#2563eb; border-bottom-color:#2563eb; }

/* fundos azuis num tom só, o #1E417D da marca (Giovanna, 02/11): Carreira, quadro de preço, bolsa, LinkedIn e matrícula. O edX segue escuro com luz, como ela pediu antes */
.car3.section, .bolsa2.section, .mt2 { background:#1e417d; }
.hero .lf.pc2, [data-mslot="form"] .pc2 { background:linear-gradient(130deg, #18376c 0%, #1e417d 35%, #264f96 50%, #1e417d 65%, #18376c 100%); background-size:260% 260%; }
.hero .pc2-l li::before, [data-mslot="form"] .pc2 .pc2-l li::before { border-left-color:#fff; border-bottom-color:#fff; }
.pc2::after { background:radial-gradient(260px circle at var(--pc2-x, 50%) var(--pc2-y, 30%), rgba(255,255,255,.07), transparent 70%); }

/* título do topo todo branco e a seção do profissional em fundo branco (Giovanna, 02/11) */
.hero h1 .h1-b, .hero h1 .h1-b .h1-ai { color:#fff; }
#prepared.section { background:var(--surface); }

/* matrícula com identidade (Giovanna, 02/11): a Susana à esquerda, dentro do arco da campanha em azul, e o formulário à direita */
.mt-foto { display:none; }
@media (min-width:1000px) {
  .mt-corpo { display:grid; grid-template-columns:minmax(0, .6fr) minmax(0, 1fr); gap:clamp(20px, 3vw, 40px); align-items:stretch; max-width:1120px; margin-inline:auto; }
  .mt-col { min-width:0; }
  .mt-foto { display:block; position:relative; margin:0; min-height:0; isolation:isolate; }
  .mt-foto img { position:absolute; left:50%; bottom:0; z-index:2; height:100%; max-width:94%; width:auto; object-fit:contain; object-position:bottom; transform:translateX(-50%); -webkit-mask-image:linear-gradient(to top, transparent 0, #000 9%); mask-image:linear-gradient(to top, transparent 0, #000 9%); animation:mt-sobe .9s cubic-bezier(.22,.61,.36,1) both; }
  @keyframes mt-sobe { from { opacity:0; transform:translate(-50%, 18px); } to { opacity:1; transform:translate(-50%, 0); } }
}
@media (prefers-reduced-motion:reduce) {
  .mt-foto img { animation:none; }
}

/* com a foto ao lado o formulário fica mais estreito: faixa do curso, título e rodapé mais compactos, para continuar cabendo em uma tela */
@media (min-width:1000px) {
  .mt-titulo { font-size:clamp(1.8rem, 2.6vw, 2.2rem); }
  .mt-head { margin-bottom:12px; }
  .mt-curso { grid-template-columns:minmax(0, 1fr) auto auto; gap:2px 16px; padding:8px 18px; margin-bottom:10px; }
  .mt-curso span { font-size:.8rem; }
  .mt-curso b { font-size:1.1rem; line-height:1.2; }
  .mt-preco b { font-size:1.25rem; }
  .mt-prog { margin-bottom:8px; }
  #mtForm { padding:14px 20px 12px; }
  .mt-passo { gap:10px 12px; }
  .mt-acoes { margin-top:10px; }
  .mt-fino { margin-top:6px; font-size:.74rem; line-height:1.3; }
}
@media (min-width:1000px) and (max-height:840px) { .mt-head p { display:none; } }
@media (min-width:1000px) and (max-height:760px) {
  .mt2 { padding-top:90px; }
  .mt-titulo { font-size:1.7rem; }
  .mt-c input[type="text"], .mt-c input[type="email"], .mt-c input[type="tel"], .mt-c select { min-height:42px; }
  .mt-op span { min-height:40px; }
}

/* Carreira: o mesmo #1E417D com transparência, só para separar a seção; a letra volta a ser escura (Giovanna, 02/11) */
.car3.section { background:rgba(30, 65, 125, .14); }
.car3 .eyebrow { color:var(--accent-text); }
.car3 .title { color:var(--text); }
.car3 .accent-it { color:var(--accent-text) !important; }
.car3 .lead { color:var(--muted); }

/* bolsa: o #1E417D em degradê, com uma luz discreta, para não ficar um bloco chapado (Giovanna, 02/11) */
.bolsa2.section { background:radial-gradient(60% 90% at 88% 0%, rgba(96,165,250,.26), transparent 70%), linear-gradient(120deg, #1e417d 0%, #1b3a72 50%, #142c5c 100%); }

/* ---------- matrícula em fundo branco (Giovanna, 02/11): Susana maior à esquerda; título, curso e formulário à direita; todos os campos na mesma grade de duas colunas */
.mt2 { background:var(--surface); }
.mt-titulo { color:var(--text); }
.mt-titulo .accent-it, [data-theme="dark"] .mt-titulo .accent-it { color:var(--accent-text) !important; }
.mt-head p { color:var(--muted); }
.mt-curso { background:var(--bg); border:1px solid var(--line); box-shadow:none; }
.mt-prog li { color:var(--muted); border-top-color:var(--line); }
.mt-prog li.on { color:var(--text); border-color:#2563eb; }
.mt-prog li.feito { color:var(--text); border-color:#1e417d; }
#mtForm { box-shadow:0 18px 40px -30px rgba(16,22,38,.35); }
.mt-c small:empty { display:none; }
@media (min-width:900px) {
  .mt-passo .mt-c { grid-column:span 6; }
  [data-passo="1"] > .mt-fora { grid-column:1 / -1; }
  [data-passo="2"] > .mt-c:has(input[type="email"]) { grid-column:1 / -1; }
  [data-passo="3"] > .mt-c:not(#mtQual):not(.mt-captcha) { order:1; }
  [data-passo="3"] > #mtQual { order:2; grid-column:1 / -1; }
  [data-passo="3"] > .mt-aviso { order:3; grid-column:1 / -1; }
  [data-passo="3"] > .mt-captcha { order:4; grid-column:1 / -1; display:grid; grid-template-columns:auto minmax(0, 1fr); column-gap:12px; align-items:center; }
  [data-passo="3"] > .mt-captcha .mt-r, [data-passo="3"] > .mt-captcha small { grid-column:1 / -1; }
  .mt-acoes { justify-content:flex-start; }
  .mt-acoes .btn { flex:1 1 auto; min-width:0; }
  .mt-voltar { margin-right:0; }
  .mt-fino { text-align:center; }
}
@media (min-width:1000px) {
  .mt-wrap { max-width:calc(1240px + 56px); }
  .mt-corpo { grid-template-columns:minmax(0, .86fr) minmax(0, 1fr); gap:clamp(16px, 2vw, 32px); max-width:1240px; }
  .mt-titulo { font-size:clamp(1.9rem, 2.7vw, 2.4rem); }
  .mt-curso { padding:14px 22px; gap:2px 18px; margin-bottom:12px; }
  .mt-curso span { font-size:.88rem; }
  .mt-curso b { font-size:1.3rem; line-height:1.2; }
  .mt-preco b { font-size:1.5rem; }
  #mtForm { padding:18px 22px 14px; }
  .mt-passo { gap:12px 16px; }
  .mt-foto img { height:100%; max-width:none; }
}
@media (min-width:1000px) and (max-height:760px) {
  .mt-curso { padding:9px 20px; }
  .mt-curso b { font-size:1.15rem; }
  .mt-preco b { font-size:1.3rem; }
  .mt-passo { gap:8px 14px; }
}

/* foto da grade em todos os cursos: inteira no zoom normal, do tamanho da coluna de texto (Giovanna, 02/11) */
.ga-art img { transform:none !important; }
@media (min-width:769px) {
  .grade-acc details:first-child .ga-art { position:relative; min-height:0; }
  .grade-acc details:first-child .ga-art img { position:absolute; inset:0; object-position:72% 40%; }
  .grade-acc details:first-child .ga-art img[src*="business-ia-grafico"] { object-position:85% 50%; }
}

/* matrícula: o nome do curso cabe em uma linha sempre que possível */
@media (min-width:1000px) {
  .mt-curso { padding:12px 18px; column-gap:14px; }
  .mt-curso b { font-size:1.25rem; }
  .mt-preco b { font-size:1.4rem; }
}

/* próximo evento na home: Experience e Paraguai em dourado, data em branco (Giovanna, 02/11) */
.xp-ouro span, .xp-ouro .accent-it { color:#bc840e !important; background:none; -webkit-text-fill-color:currentColor; animation:none; }
.xp-date { color:#fff; }

/* Sobre a AGTU: texto e foto com a mesma altura (Giovanna, 02/11) */
@media (min-width:901px) {
  #about .about-grid { display:grid; grid-template-areas:none; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); grid-template-rows:auto auto auto; gap:0 clamp(32px, 4vw, 56px); align-items:start; }
  #about .about-head { grid-area:auto; grid-column:1; grid-row:1; margin:0; max-width:none; }
  #about .about-head .eyebrow { white-space:nowrap; font-size:.72rem; }
  #about .about-head .title { margin:10px 0 0; font-size:clamp(1.9rem, 2.9vw, 2.45rem); line-height:1.12; }
  #about .about-body { grid-area:auto; grid-column:1; grid-row:2; max-width:none; margin:16px 0 0; }
  #about .about-body p { margin:12px 0 0; font-size:1rem; line-height:1.55; }
  #about .about-body .about-lead { margin-top:0; font-size:1.06rem; line-height:1.5; }
  #about .about-close { grid-area:auto; grid-column:1; grid-row:3; max-width:none; margin:16px 0 0; padding-top:14px; font-size:1.06rem; line-height:1.4; }
  #about .about-photo { grid-area:auto; grid-column:2; grid-row:1 / 4; position:relative; align-self:stretch; height:auto; min-height:0; max-height:none; aspect-ratio:auto; margin:0; }
  #about .about-photo img { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:60% 60%; }
}
#about .about-long { display:block; }

/* um dourado só no site, o #E4AE50 do manual do evento e da faixa do Paraguai (Giovanna, 02/11) */
.xp-ouro span, .xp-ouro .accent-it { color:#E4AE50 !important; }
:root:not([data-theme="dark"]) .xp2-marca em, :root:not([data-theme="dark"]) .xp2-hist h3 { color:#E4AE50; }
.xp-banner .btn:last-child { background:#E4AE50; border-color:#E4AE50; }
/* no tema claro o #E4AE50 some no fundo branco (1,9:1); o título usa o mesmo dourado mais fechado, #B67F21 (3,2:1). No escuro segue o do manual (03/11) */
:root:not([data-theme="dark"]) .xp-ouro span, :root:not([data-theme="dark"]) .xp-ouro .accent-it { color:#B67F21 !important; }

/* tecnólogos em acordeão por área: fechados, só a área e a quantidade; o curso aparece ao abrir (Giovanna, 02/11) */
.tc-lista { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; align-items:start; }
.tc-lista .tc-area { padding:0; margin:0; background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.tc-area > summary { list-style:none; display:flex; align-items:center; gap:12px; min-height:60px; padding:12px 20px; cursor:pointer; }
.tc-area > summary::-webkit-details-marker { display:none; }
.tc-area > summary::after { content:"+"; flex:none; margin-left:auto; font-size:1.5rem; font-weight:400; line-height:1; color:var(--accent-text); }
.tc-area[open] > summary::after { content:"\2212"; }
.tc-area > summary:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; border-radius:14px; }
.tc-lista .tc-area h4 { margin:0; font-size:1.12rem !important; font-weight:700; letter-spacing:-.01em; text-transform:none; color:var(--text); }
.tc-qtd { font-size:.92rem; color:var(--muted); }
.tc-lista .tc-area ul { list-style:none; margin:0; padding:0 20px 8px; border-top:1px solid var(--line); }
@media (max-width:760px) { .tc-lista { grid-template-columns:1fr; } }

/* acordeão dos tecnólogos: o título em cima e a lista embaixo, nunca lado a lado */
.tc-lista { background:none; border:0; border-radius:0; padding:0; }
.tc-lista .tc-area { display:block; }
.tc-lista .tc-area ul { display:grid; grid-template-columns:minmax(0, 1fr); gap:2px; padding:8px 10px 10px; }

/* Carreira no mesmo azul do aviso de cookies (Giovanna, 02/11) */
.car3.section { background:radial-gradient(120% 140% at 12% 0%, rgba(96,165,250,.34), transparent 58%), linear-gradient(140deg, #0a2a5e 0%, #0d3572 48%, #071d44 100%); }
.car3 .eyebrow { color:#a9c9ff; }
.car3 .title { color:#fff; }
.car3 .accent-it { color:#a9c9ff !important; }
.car3 .lead { color:rgba(255,255,255,.88); }

/* nome do curso no menu: sobre a foto em branco, para ler; com o menu claro, no azul do menu */
.nav-links a.nav-curso { font-weight:700; }
.nav:not(.scrolled) .nav-links a.nav-curso { color:#fff !important; }
.drawer .pillars a.nav-curso-m { font-weight:800; }

/* Business e ESG ao lado dos textos, como nos outros cursos; mostra mais a TV e corta a lateral direita (Giovanna, 02/11) */
@media (min-width:769px) { .grade-acc details:first-child .ga-art img[src*="business-esg-equipe"] { object-position:6% 40%; } }

/* Carreira: quadro de áreas num azul de outro tom, em vez de branco (Giovanna, 02/11) */
.car3-quadro, .car3 .car3-quadro { background:#1e417d; border:1px solid rgba(255,255,255,.16); box-shadow:none; color:#fff; }
.car3-quadro h3, .car3 .car3-quadro h3 { color:#fff; }
.car3 .car3-quadro li { color:#fff; border-color:rgba(255,255,255,.16); }
.car3 .car3-quadro li::before { border-color:#fff; }

/* foto de IA ao lado dos textos, como nos outros cursos; o corte mantém o rosto, as mãos e o centro do painel (Giovanna, 02/11) */
@media (min-width:769px) { .grade-acc details:first-child .ga-art img[src*="ia-holograma"] { object-position:35% 45%; } }
@media (max-width:768px) { .grade-acc .ga-art img[src*="ia-holograma"] { aspect-ratio:4 / 3; object-position:center; } }

@media (min-width:769px) { .grade-acc details:first-child .ga-art img[src*="cyber-datacenter"] { object-position:100% 40%; } }

@media (min-width:769px) { .grade-acc details:first-child .ga-art img[src*="educacao-esg-professora"] { object-position:52% 30%; } }

@media (min-width:769px) { .grade-acc details:first-child .ga-art img[src*="saude-medica"] { object-position:55% 30%; } }

@media (min-width:769px) { .grade-acc details:first-child .ga-art img[src*="direito-toga"] { object-position:50% 12%; } }

/* matrícula no tema claro: o recorte antigo da Susana sobre o branco mostrava as bordas do cabelo,
   então entra o recorte da foto nova, solta, sem cartão (Murilo, 03/11). O tema escuro segue com o recorte antigo. */
.mt-foto .mt-foto-claro { display:none; }
@media (min-width:1000px) {
  :root:not([data-theme="dark"]) .mt-foto img:not(.mt-foto-claro) { display:none; }
  :root:not([data-theme="dark"]) .mt-foto .mt-foto-claro { display:block; }
}

/* matrícula no tema escuro (Murilo, 03/11), em duas camadas da mesma foto do topo da home:
   atrás, o retrato com o fundo azul do estúdio numa máscara circular, que vira uma luz redonda saindo de trás dela;
   na frente, o recorte da Susana, na mesma posição, por cima da luz. Embaixo as duas camadas somem juntas. */
@media (min-width:1000px) {
  [data-theme="dark"] .mt-col { position:relative; z-index:2; }
  [data-theme="dark"] .mt-foto { background:url("susana-matricula-escuro.webp") 50% 10% / auto 112% no-repeat;
    -webkit-mask-image:linear-gradient(to bottom, #000 78%, transparent 98%); mask-image:linear-gradient(to bottom, #000 78%, transparent 98%);
    animation:mt-surge .9s cubic-bezier(.22,.61,.36,1) both; }
  [data-theme="dark"] .mt-foto::before { content:""; position:absolute; inset:0; z-index:-1; background:url("../../images/hero-mobile.webp") 50% 10% / auto 112% no-repeat;
    -webkit-mask-image:radial-gradient(farthest-side ellipse at 50% 42%, #000 34%, rgba(0,0,0,.7) 52%, rgba(0,0,0,.28) 72%, transparent 92%);
            mask-image:radial-gradient(farthest-side ellipse at 50% 42%, #000 34%, rgba(0,0,0,.7) 52%, rgba(0,0,0,.28) 72%, transparent 92%); }
  [data-theme="dark"] .mt-foto img { display:none; }
  @keyframes mt-surge { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
}
@media (prefers-reduced-motion:reduce) {
  [data-theme="dark"] .mt-foto { animation:none; }
}

/* faixa da próxima edição do Experience, versão premium (Murilo, 03/11): cartão azul-noite com as Cataratas
   se misturando à direita, filete dourado, "Experience" em itálico dourado e botão dourado com seta. */
.xp2 .xp-next { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:20px 32px;
  padding:clamp(24px, 3vw, 34px) clamp(24px, 3.4vw, 44px); color:#fff; border:1px solid rgba(228,174,80,.42); border-radius:20px;
  background:linear-gradient(90deg, #1a2440 0%, #1f2b4b 42%, rgba(31,43,75,.72) 64%, rgba(31,43,75,.18) 100%), url("../../images/experience/paraguai-2026-cataratas-800.webp") right 40% / 58% auto no-repeat, #1f2b4b;
  box-shadow:0 30px 60px -34px rgba(20,28,52,.7), inset 0 1px 0 rgba(255,255,255,.08); transition:transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s; }
.xp2 .xp-next::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(#E4AE50, rgba(228,174,80,.25)); z-index:-1; }
.xp2 .xp-next:hover { transform:translateY(-3px); box-shadow:0 36px 70px -34px rgba(20,28,52,.8), inset 0 1px 0 rgba(255,255,255,.1); }
.xp2 .xp-next-txt { display:grid; gap:6px; min-width:0; }
.xp2 .xp-next-k { display:flex; align-items:center; gap:10px; color:#E4AE50; font-size:.78rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.xp2 .xp-next-k::before { content:""; width:22px; height:1px; background:currentColor; }
.xp2 .xp-next b { color:#fff; font-size:clamp(1.3rem, 2vw, 1.7rem); font-weight:700; line-height:1.15; letter-spacing:-.01em; }
.xp2 .xp-next b i { font-family:var(--font-display, "Instrument Serif", serif); font-style:italic; font-weight:400; font-size:1.12em; color:#E4AE50; }
.xp2 .xp-next-d { color:rgba(255,255,255,.78); font-size:1rem; }
.xp2 .xp-next-go { flex:none; display:inline-flex; align-items:center; gap:10px; padding:14px 24px; font-weight:700; color:#253150; background:#E4AE50; border-radius:999px; box-shadow:0 10px 24px -10px rgba(228,174,80,.7); transition:gap .25s, background .25s; }
.xp2 .xp-next:hover .xp-next-go { gap:14px; background:#ecbd68; }
.xp2 .xp-next:focus-visible { outline:2px solid #E4AE50; outline-offset:4px; }
@media (max-width:640px) {
  .xp2 .xp-next { flex-direction:column; align-items:flex-start; background:linear-gradient(180deg, rgba(31,43,75,.35) 0%, #1f2b4b 46%, #1a2440 100%), url("../../images/experience/paraguai-2026-cataratas-800.webp") center top / 100% auto no-repeat, #1a2440; padding-top:120px; }
  .xp2 .xp-next-go { align-self:stretch; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .xp2 .xp-next, .xp2 .xp-next-go { transition:none; } .xp2 .xp-next:hover { transform:none; } }

/* seção da edX com mais respiro em cima e embaixo (Murilo, 03/11) */
.ox2.section { padding-block:clamp(64px, 7vw, 104px); }

/* bandeira dos EUA ao lado do botão de tema: retangular, leva à versão em inglês da mesma página (Giovanna, 03/11) */
.nav-flag { order:-1; display:inline-flex; align-items:center; flex:none; line-height:0; border-radius:4px; box-shadow:0 0 0 1px rgba(16,22,38,.18); transition:box-shadow .25s, transform .25s; }
.nav-flag img { display:block; width:30px; height:auto; aspect-ratio:19 / 10; border-radius:4px; }
.nav-flag:hover { transform:translateY(-2px); box-shadow:0 0 0 1px var(--accent); }
.nav:not(.scrolled) .nav-flag { box-shadow:0 0 0 1px rgba(255,255,255,.45); }
.nav:not(.scrolled) .nav-flag:hover { box-shadow:0 0 0 1px #fff; }

/* letra dos mestrados igual à da home (Murilo, 03/11): com a base de 15px o texto corrido
   dos cursos tinha caído para 13–14px; agora nada de leitura abaixo de 1rem, e o título do
   topo cresce para ficar perto do da home. Títulos continuam sendo o que é grande. */
.grade-acc .ga-body p, .subs-m .sub p { font-size:1rem; }
.inc-grid span { font-size:1rem; }
.std-rule p { font-size:1rem; }
#faq .faq .faq-body, .faq .faq-body { font-size:1rem; }
#faq .faq summary, .faq summary { font-size:1.05rem; }
@media (min-width:769px) {
  .hero h1.h-display { font-size:clamp(2.8rem, 4.4vw, 4.2rem); }
}

/* matrícula centralizada na altura da tela (03/11): em tela alta o bloco ficava colado no topo e sobrava vazio embaixo.
   A coluna tem altura mínima do passo mais alto, para o formulário não subir e descer a cada "Continuar". */
@media (min-width:900px) {
  .mt2 { display:flex; flex-direction:column; justify-content:center; }
  .mt2 > .mt-wrap { width:100%; margin-inline:auto; }
  .mt-col { min-height:42rem; }
}

/* seções mais baixas na home (Giovanna, 03/11): cartões de cursos e blocos de números mais compactos no desktop.
   Cursos vai de 1,24 para 1,07 tela em 1440x900; o resto da altura vem do conteúdo, não do espaçamento. */
@media (min-width:1000px) {
  #programs .section-head { margin-bottom:6px; }
  .mc-grid { gap:12px; margin-top:22px; }
  .mc { padding:15px 18px 13px; gap:5px; }
  .fact { min-height:128px; }
  .reach-tile { padding:18px 24px 16px; }
  #proof .sec-foot, #institution .sec-foot { margin-top:16px; padding-top:14px; }
  #proof .section-head, #institution .section-head { margin-bottom:22px; }
}
