/* Menu único do site (barra escura + painel do hambúrguer) e breadcrumb.
   Ver api/_site_nav.js. Cores: os mesmos tokens da home (public/home-1.css):
   ink #1A1A1A, paper #F6F3E9, gold #c4a67c, bronze #734F2F. */

.iamenu-bar, .iamenu-drawer {
  --sb-ink: #1A1A1A;
  --sb-ink-deep: #141311;
  --sb-ink-panel: #1f1c18;
  --sb-paper: #F6F3E9;
  --sb-gold: #c4a67c;
  --sb-bronze: #734F2F;
  --sb-line: rgba(246, 243, 233, .15);
  --sb-line-soft: rgba(246, 243, 233, .08);
  --sb-text: rgba(246, 243, 233, .78);
  --sb-muted: rgba(246, 243, 233, .5);
  font-family: 'Work Sans', sans-serif;
  color: var(--sb-paper);
}

/* âncoras param abaixo da barra fixa (59px); na home, também abaixo do índice
   de seções (.section-dock, 47px). Vale para os links do índice e da gaveta. */
html { scroll-padding-top: 72px; }
html:has(.section-dock) { scroll-padding-top: 112px; }

/* --- barra --- */
.iamenu-bar {
  position: sticky;
  top: 0;
  z-index: 500;
  background: rgba(20, 19, 17, .94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--sb-line);
}
.iamenu-bar-inner {
  width: min(1200px, calc(100% - 40px));
  margin: auto;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0;
  /* 58px de conteúdo + 1px de borda = 59px. O índice da home (.section-dock,
     em home-1.css e home-4.css) e o .site-nav das páginas de status
     (styles.css) grudam exatamente nessa altura. */
  min-height: 58px;
}
.iamenu-brand { display: flex; align-items: center; flex: 0 0 auto; }
.iamenu-brand img { display: block; height: 26px; width: auto; }

.iamenu-ico { display: inline-block; flex: 0 0 auto; }
.iamenu-ico-sm { width: 14px; height: 14px; }
.iamenu-ico-btn { width: 15px; height: 15px; opacity: .8; }

/* estado visitante/aluno: site-nav.js troca o atributo hidden; o !important
   vence os display das classes de link e botão */
.iamenu-bar [hidden], .iamenu-drawer [hidden], .iamenu-rail [hidden] { display: none !important; }

.iamenu-nav { display: flex; align-items: center; gap: 26px; flex: 1 1 auto; }
.iamenu-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.iamenu-link {
  position: relative;
  font-size: 13px;
  letter-spacing: .01em;
  color: var(--sb-text);
  text-decoration: none;
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 0;
  transition: color .15s ease;
}
.iamenu-link::-webkit-details-marker { display: none; }
.iamenu-link::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -13px;
  height: 2px;
  background: var(--sb-gold);
  transform: scaleX(0);
  transition: transform .18s ease;
}
.iamenu-link:hover, .iamenu-link.is-active, .iamenu-dropdown[open] > .iamenu-link { color: var(--sb-paper); }
.iamenu-link.is-active::after { transform: scaleX(1); }

/* Área do aluno: ação de conta, não navegação de conteúdo, então ganha
   contorno de botão em vez do sublinhado dos itens de navegação. */
.iamenu-link-btn {
  border: 1px solid var(--sb-line);
  padding: 6px 12px 6px 10px !important;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.iamenu-link-btn::after { display: none; }
.iamenu-link-btn:hover, .iamenu-link-btn.is-active, .iamenu-dropdown[open] > .iamenu-link-btn {
  border-color: rgba(196, 166, 124, .6);
  background: rgba(196, 166, 124, .08);
  color: var(--sb-paper);
}
.iamenu-link-btn.is-active .iamenu-ico-btn { color: var(--sb-gold); opacity: 1; }

.iamenu-dropdown { position: relative; }
.iamenu-dropdown > summary { list-style: none; }
.iamenu-caret {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-right: 1.3px solid currentColor;
  border-bottom: 1.3px solid currentColor;
  transform: rotate(45deg);
  opacity: .55;
  transition: transform .18s ease;
}
.iamenu-dropdown[open] .iamenu-caret { transform: rotate(225deg); margin-top: 3px; }

/* --- painéis suspensos (escuros, com ícone em cada item) --- */
.iamenu-dropdown-panel {
  position: absolute;
  top: calc(100% + 15px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 290px;
  background: var(--sb-ink-panel);
  border: 1px solid var(--sb-line);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .45);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
/* Área do aluno fica na ponta direita da barra: painel alinhado pela direita
   em vez de centralizado, para não estourar a viewport, e em 2 colunas
   porque tem 6 itens. */
.iamenu-dropdown-panel-wide {
  min-width: 540px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
}
/* menu da conta, na ponta direita da barra: alinhado pela direita */
.iamenu-dropdown-panel-right {
  left: auto;
  right: 0;
  transform: none;
  min-width: 250px;
}
.iamenu-dropdown-sair {
  width: 100%;
  border: 0;
  border-top: 1px solid var(--sb-line);
  margin-top: 4px;
  padding-top: 12px;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.iamenu-dropdown-sair .iamenu-ico-box { color: var(--sb-muted); }
.iamenu-dropdown-item {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 9px 10px;
  text-decoration: none;
  color: var(--sb-paper);
  transition: background .15s ease;
}
.iamenu-dropdown-item:hover { background: rgba(246, 243, 233, .06); }
.iamenu-dropdown-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.iamenu-dropdown-label { font: 400 14px 'Fraunces', serif; }
.iamenu-dropdown-desc { font-size: 11.5px; color: var(--sb-muted); line-height: 1.4; }

/* caixinha do ícone, compartilhada pelos painéis suspensos e pelo hambúrguer */
.iamenu-ico-box {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sb-line);
  background: rgba(246, 243, 233, .04);
  color: var(--sb-gold);
  transition: border-color .15s ease, background .15s ease;
}
.iamenu-dropdown-item:hover .iamenu-ico-box,
.iamenu-drawer-item:hover .iamenu-ico-box,
.iamenu-drawer-feature:hover .iamenu-ico-box {
  border-color: rgba(196, 166, 124, .55);
  background: rgba(196, 166, 124, .1);
}
.iamenu-ico-box-lg { width: 40px; height: 40px; }
.iamenu-ico-box-lg .iamenu-ico { width: 20px; height: 20px; }

.iamenu-cta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--sb-bronze);
  color: var(--sb-paper);
  font-size: 12px;
  letter-spacing: .01em;
  padding: 8px 15px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s ease;
}
.iamenu-cta:hover { background: #8a5f39; }

/* hambúrguer: as três linhas viram um X quando o painel abre */
.iamenu-hamburger {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: 1px solid var(--sb-line);
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  padding: 0;
  transition: border-color .15s ease;
}
.iamenu-hamburger:hover { border-color: rgba(246, 243, 233, .4); }
.iamenu-hamburger span {
  display: block;
  width: 14px;
  height: 1.3px;
  background: var(--sb-paper);
  transition: transform .2s ease, opacity .15s ease;
}
.iamenu-hamburger.is-open span:nth-child(1) { transform: translateY(5.3px) rotate(45deg); }
.iamenu-hamburger.is-open span:nth-child(2) { opacity: 0; }
.iamenu-hamburger.is-open span:nth-child(3) { transform: translateY(-5.3px) rotate(-45deg); }

/* --- painel do hambúrguer --- */
.iamenu-drawer {
  position: fixed;
  inset: 0;
  z-index: 600;
  visibility: hidden;
  pointer-events: none;
}
.iamenu-drawer.is-open { visibility: visible; pointer-events: auto; }
.iamenu-drawer-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(10, 9, 8, .55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity .25s ease;
  cursor: pointer;
}
.iamenu-drawer.is-open .iamenu-drawer-backdrop { opacity: 1; }
.iamenu-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(460px, 92vw);
  background: var(--sb-ink-deep);
  border-left: 1px solid var(--sb-line);
  box-shadow: -24px 0 60px rgba(0, 0, 0, .35);
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.2, .7, .2, 1);
  display: flex;
  flex-direction: column;
}
.iamenu-drawer.is-open .iamenu-drawer-panel { transform: translateX(0); }

.iamenu-drawer-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 0 22px 0 26px;
  border-bottom: 1px solid var(--sb-line);
}
.iamenu-drawer-head .iamenu-brand { min-height: 44px; }
.iamenu-drawer-close {
  width: 44px;
  height: 44px;
  border: 1px solid var(--sb-line);
  background: transparent;
  color: var(--sb-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: border-color .15s ease;
}
.iamenu-drawer-close:hover { border-color: rgba(246, 243, 233, .4); }

.iamenu-drawer-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 22px 26px 26px;
  display: flex;
  flex-direction: column;
  gap: 26px;
  scrollbar-width: thin;
  scrollbar-color: rgba(246, 243, 233, .2) transparent;
}
.iamenu-drawer-group { display: flex; flex-direction: column; gap: 10px; }
.iamenu-drawer-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--sb-gold);
}
.iamenu-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border: 1px solid var(--sb-line);
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sb-muted);
}

/* cartão destacado da Imersão */
.iamenu-drawer-feature {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--sb-line);
  background: linear-gradient(135deg, rgba(196, 166, 124, .12), rgba(196, 166, 124, .02));
  color: var(--sb-paper);
  text-decoration: none;
  transition: border-color .15s ease;
}
.iamenu-drawer-feature:hover, .iamenu-drawer-feature.is-active { border-color: rgba(196, 166, 124, .55); }
.iamenu-drawer-feature-text { display: flex; flex-direction: column; gap: 3px; flex: 1 1 auto; min-width: 0; }
.iamenu-drawer-feature-label { font: 300 20px 'Fraunces', serif; line-height: 1.1; }
.iamenu-drawer-feature-desc { font-size: 12px; color: var(--sb-muted); line-height: 1.45; }
.iamenu-ico-arrow { width: 16px; height: 16px; color: var(--sb-muted); transition: transform .15s ease, color .15s ease; }
.iamenu-drawer-feature:hover .iamenu-ico-arrow, .iamenu-drawer-item:hover .iamenu-ico-arrow { transform: translateX(3px); color: var(--sb-gold); }

/* "Nesta página": âncoras da home, só na gaveta da home (etapa 7), com alvo de 44px */
.iamenu-drawer-anchors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.iamenu-drawer-anchors a {
  display: flex;
  align-items: center;
  min-height: 44px;
  border-bottom: 1px solid var(--sb-line-soft);
  font-size: 14px;
  color: var(--sb-text);
  text-decoration: none;
  transition: color .15s ease;
}
.iamenu-drawer-anchors a:hover { color: var(--sb-paper); }

/* listas de Conteúdos abertos e Área do aluno */
.iamenu-drawer-list { display: flex; flex-direction: column; }
.iamenu-drawer-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 6px 9px 0;
  border-bottom: 1px solid var(--sb-line-soft);
  color: var(--sb-paper);
  text-decoration: none;
}
.iamenu-drawer-item:last-child { border-bottom: 0; }
.iamenu-drawer-item-text { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.iamenu-drawer-item-label { font: 400 15px 'Fraunces', serif; }
.iamenu-drawer-item-desc { font-size: 11.5px; color: var(--sb-muted); line-height: 1.4; }
.iamenu-drawer-group.is-active .iamenu-drawer-eyebrow { color: var(--sb-paper); }

.iamenu-drawer-foot {
  flex: 0 0 auto;
  display: flex;
  gap: 10px;
  padding: 16px 26px 22px;
  border-top: 1px solid var(--sb-line);
  background: var(--sb-ink-deep);
}
.iamenu-drawer-cta { flex: 1 1 auto; min-height: 44px; padding: 13px 16px; font-size: 13px; }
.iamenu-drawer-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 12px 16px;
  border: 1px solid var(--sb-line);
  background: transparent;
  color: var(--sb-paper);
  font: inherit;
  font-size: 13px;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .15s ease;
}
.iamenu-drawer-btn:hover { border-color: rgba(246, 243, 233, .4); }
.iamenu-drawer-user {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  margin-right: 12px;
  font-size: 12px;
  color: var(--sb-muted);
}
.iamenu-drawer-user .iamenu-ico { color: var(--sb-gold); }

/* com Checklists e Radar de IA a barra tem oito links: até 1080px eles ficam
   só no hambúrguer; entre 1081 e 1180px o espaçamento aperta para caber
   (medido também com o botão do aluno, mais largo que "entrar") */
@media (max-width: 1180px) {
  .iamenu-bar-inner { gap: 18px; }
  .iamenu-nav { gap: 18px; }
}
@media (max-width: 1080px) {
  .iamenu-nav { display: none; }
  .iamenu-actions { display: none; }
}
@media (max-width: 480px) {
  .iamenu-drawer-head { padding: 0 16px 0 20px; }
  .iamenu-drawer-body { padding: 18px 20px 22px; gap: 22px; }
  .iamenu-drawer-foot { padding: 14px 20px 18px; }
  .iamenu-drawer-item-desc { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .iamenu-drawer-panel, .iamenu-drawer-backdrop, .iamenu-hamburger span, .iamenu-ico-arrow { transition: none; }
}

/* --- portão único das páginas protegidas --- */
/* Só aparece com body.locked, e então esconde tudo que não é a casca:
   o portão fica no lugar do conteúdo, nunca por cima dele. */
.iamenu-gate { display: none; }
body.locked .iamenu-gate { display: block; }
body.locked > :not(.iamenu-bar):not(.iamenu-drawer):not(.iamenu-breadcrumb):not(.iamenu-gate):not(.iamenu-shell):not(.iamenu-footer):not(script):not(style):not(link) { display: none !important; }
.iamenu-gate {
  width: min(1200px, calc(100% - 40px));
  margin: 34px auto 0;
  font-family: 'Work Sans', sans-serif;
  color: #1A1A1A;
}
.iamenu-gate > * { max-width: 560px; }
.iamenu-gate {
  --gate-hair: rgba(26, 26, 26, .14);
}
.iamenu-gate-k, .iamenu-gate h2, .iamenu-gate-text, .iamenu-gate-form, .iamenu-gate-error, .iamenu-gate-sec {
  margin-left: 0;
}
.iamenu-gate-k {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #734F2F;
}
.iamenu-gate h2 {
  margin: 0 0 12px;
  font: 300 clamp(30px, 3.4vw, 40px)/1.1 'Fraunces', serif;
  letter-spacing: -.02em;
}
.iamenu-gate-text { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: #51463B; }
.iamenu-gate-form { display: flex; gap: 8px; margin: 0 0 10px; }
.iamenu-gate-form input {
  flex: 1 1 auto;
  min-width: 0;
  font: inherit;
  font-size: 14px;
  padding: 12px 14px;
  border: 1px solid var(--gate-hair);
  background: #fff;
  color: inherit;
}
.iamenu-gate-form input:focus { outline: 2px solid #c4a67c; outline-offset: 1px; }
.iamenu-gate-form button {
  flex: 0 0 auto;
  font: inherit;
  font-size: 13px;
  padding: 12px 18px;
  border: 0;
  background: #734F2F;
  color: #F6F3E9;
  cursor: pointer;
}
.iamenu-gate-form button:hover { background: #8a5f39; }
.iamenu-gate-error { margin: 0; min-height: 1.2em; font-size: 13px; line-height: 1.5; color: #9A3A24; }
.iamenu-gate-error:empty { display: none; }
.iamenu-gate-sec { margin: 14px 0 0; font-size: 13px; color: #6f655c; }
.iamenu-gate-sec a { color: #734F2F; }
@media (max-width: 480px) {
  .iamenu-gate-form { flex-direction: column; }
}

/* --- rodapé comum, em toda página --- */
/* Escuro como a barra. As regras têm a classe no seletor para vencer os
   "footer p, footer a" globais de styles.css e home-4.css. */
.iamenu-footer {
  --sb-ink-deep: #141311;
  --sb-paper: #F6F3E9;
  --sb-gold: #c4a67c;
  --sb-line: rgba(246, 243, 233, .15);
  margin-top: 72px;
  padding: 48px 0 0;
  background: var(--sb-ink-deep);
  color: rgba(246, 243, 233, .6);
  font-family: 'Work Sans', sans-serif;
  border-top: 1px solid var(--sb-line);
}
.iamenu-footer-inner {
  width: min(1200px, calc(100% - 40px));
  margin: auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 40px;
}
.iamenu-footer-brand img { display: block; height: 24px; width: auto; margin-bottom: 16px; }
.iamenu-footer-brand p, .iamenu-footer p { margin: 0; max-width: 360px; font-size: 13px; line-height: 1.6; color: rgba(246, 243, 233, .6); }
.iamenu-footer-col { display: flex; flex-direction: column; gap: 6px; }
.iamenu-footer .iamenu-footer-h {
  margin: 0 0 6px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--sb-gold);
}
.iamenu-footer .iamenu-footer-col a {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(246, 243, 233, .78);
  text-decoration: none;
  transition: color .15s ease;
}
.iamenu-footer .iamenu-footer-col a:hover { color: var(--sb-paper); }
.iamenu-footer .iamenu-footer-line {
  width: min(1200px, calc(100% - 40px));
  margin: auto;
  max-width: none;
  padding: 16px 0 22px;
  border-top: 1px solid var(--sb-line);
  font-size: 11.5px;
  color: rgba(246, 243, 233, .45);
}
@media (max-width: 880px) {
  .iamenu-footer-inner { grid-template-columns: 1fr 1fr; gap: 28px 24px; }
  .iamenu-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .iamenu-footer-inner { grid-template-columns: 1fr; }
}

/* --- casca das páginas internas: lateral + coluna de conteúdo --- */
/* Medidas do patch de navegação (seção 6): lateral de 250px, 56px de espaço,
   sticky logo abaixo da barra (59px), trilha na primeira linha da coluna. */
.iamenu-shell {
  --rail-w: 250px;
  --casca-hair: rgba(26, 26, 26, .14);
  width: min(1200px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: var(--rail-w) minmax(0, 1fr);
  column-gap: 56px;
  font-family: 'Work Sans', sans-serif;
}
.iamenu-shell-norail { grid-template-columns: minmax(0, 1fr); }
.iamenu-content { min-width: 0; padding-top: 34px; }
/* os invólucros próprios das páginas passam a ocupar a coluna, não a tela */
.iamenu-content .wrap { width: auto; max-width: none; margin-left: 0; margin-right: 0; }
.iamenu-content .hero, .iamenu-content .case-hero { padding-top: 0; }
/* título da página na coluna: a medida do patch (seção 6), mais contida que a das páginas de tela cheia */
.iamenu-content .hero h1, .iamenu-content .case-hero h1 { font-size: clamp(40px, 5.2vw, 68px); line-height: .98; letter-spacing: -.045em; }
.iamenu-content h2[id], .iamenu-content h3[id] { scroll-margin-top: 80px; }

.iamenu-rail {
  position: sticky;
  top: 59px;
  align-self: start;
  max-height: calc(100vh - 59px);
  overflow: auto;
  padding: 34px 14px 30px 0;
  border-right: 1px solid var(--casca-hair);
  scrollbar-width: thin;
}
.iamenu-rail-k {
  margin: 0 0 6px;
  font: 600 11px/1.2 'Work Sans', sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #734F2F;
}
.iamenu-rail-t {
  display: block;
  margin: 0 0 22px;
  font: 300 26px/1.05 'Fraunces', serif;
  letter-spacing: -.02em;
  color: #1A1A1A;
  text-decoration: none;
}
.iamenu-rail-t:hover { color: #734F2F; }
.iamenu-rail-h {
  margin: 22px 0 8px;
  font: 600 11px/1.2 'Work Sans', sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #6f655c;
}
.iamenu-rail ul { list-style: none; margin: 0; padding: 0; }
.iamenu-rail li a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-left: -1px;
  padding: 7px 0 7px 12px;
  border-left: 2px solid transparent;
  font-size: 14px;
  line-height: 1.35;
  color: #1A1A1A;
  text-decoration: none;
}
.iamenu-rail li a:hover { color: #734F2F; }
.iamenu-rail li a.on { border-left-color: #9A3A24; color: #9A3A24; font-weight: 500; }
.iamenu-rail li li a { padding-left: 28px; font-size: 13.5px; color: #3d362f; }
.iamenu-rail li li a.on { color: #9A3A24; }
.iamenu-rail-num { min-width: 20px; font: 400 13px 'Fraunces', serif; color: #734F2F; }
.iamenu-rail-count { margin-left: auto; padding-left: 10px; font: 400 12px 'Work Sans', sans-serif; color: #6f655c; }
.iamenu-rail li a.on .iamenu-rail-count { color: #9A3A24; }
.iamenu-rail-diagnostico li.done a { color: #6f655c; }
.iamenu-rail-diagnostico li.done a::before { content: '✓'; color: #734F2F; font-weight: 600; }
.iamenu-rail-diagnostico li:not(.done) a:not(.on) { color: #a89f95; pointer-events: none; }
.iamenu-rail-lock {
  margin-left: 4px;
  padding: 1px 6px;
  border: 1px solid var(--casca-hair);
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #6f655c;
  white-space: nowrap;
}
.iamenu-rail-card {
  margin: 26px 0 0;
  padding: 16px;
  background: #E7E3DF;
  font-size: 13px;
  line-height: 1.5;
  color: #1A1A1A;
}
.iamenu-rail-card p { margin: 0 0 10px; }
.iamenu-rail-card .iamenu-cta { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; background: #734F2F; color: #F6F3E9; }
.iamenu-rail-card .iamenu-cta:hover { background: #8a5f39; }
.iamenu-rail-card-aluno { background: #fff; border: 1px solid var(--casca-hair); }
.iamenu-rail-card small { display: block; margin-bottom: 4px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #6f655c; }
.iamenu-rail-card-aluno a { display: block; margin-top: 4px; color: #734F2F; text-decoration: none; }
.iamenu-rail-card-aluno a:hover { text-decoration: underline; }

/* trilha: primeira linha da coluna, no estilo do antigo rótulo acima do h1 */
.iamenu-crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 18px;
  font: 600 11px/1.6 'Work Sans', sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #734F2F;
}
.iamenu-crumb-full { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.iamenu-crumb a { color: #734F2F; text-decoration: none; }
.iamenu-crumb a:hover { text-decoration: underline; }
.iamenu-crumb-sep { margin: 0 2px; font-weight: 400; color: rgba(26, 26, 26, .5); }
.iamenu-crumb-here { color: #6f655c; }
.iamenu-crumb-back { display: none; }

/* seletor compacto: só no celular */
.iamenu-jump { display: none; }

/* páginas protegidas: a lateral fica visível e apagada, a coluna mostra só o portão */
body.locked .iamenu-content > :not(.iamenu-crumb):not(.iamenu-jump):not(.iamenu-gate):not(script):not(style) { display: none !important; }
body.locked .iamenu-gate { margin-left: 0; width: auto; margin-top: 0; }
body.locked .iamenu-rail ul a { opacity: .45; pointer-events: none; }
/* diretórios filhos na lateral do aluno */
.iamenu-rail li ul { margin: 0 0 4px; }

@media (max-width: 880px) {
  .iamenu-shell { grid-template-columns: minmax(0, 1fr); width: min(100% - 32px, 1200px); }
  .iamenu-content { order: 1; padding-top: 24px; }
  .iamenu-rail {
    order: 2;
    position: static;
    max-height: none;
    margin-top: 34px;
    padding: 22px 0 0;
    border-right: 0;
    border-top: 1px solid var(--casca-hair);
  }
  .iamenu-rail-t { display: flex; align-items: center; min-height: 44px; font-size: 22px; margin-bottom: 12px; }
  .iamenu-rail li a { min-height: 44px; align-items: center; }
  .iamenu-crumb-full { display: none; }
  .iamenu-crumb-back { display: inline; }
  .iamenu-jump { display: block; position: relative; margin: 0 0 18px; font-size: 13px; }
  .iamenu-jump summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--casca-hair);
    background: #fff;
    border-radius: 4px;
    list-style: none;
    cursor: pointer;
  }
  .iamenu-jump summary::-webkit-details-marker { display: none; }
  .iamenu-jump summary::after { content: '▾'; color: #734F2F; }
  .iamenu-jump[open] summary::after { content: '▴'; }
  .iamenu-jump-menu {
    position: absolute;
    z-index: 450;
    margin-top: 6px;
    min-width: 260px;
    max-width: calc(100vw - 32px);
    padding: 6px 0;
    background: #fff;
    border: 1px solid var(--casca-hair);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
  }
  .iamenu-jump-menu a { display: flex; align-items: center; min-height: 44px; padding: 0 16px; font-size: 14px; color: #1A1A1A; text-decoration: none; }
  .iamenu-jump-menu a.on { color: #9A3A24; font-weight: 500; }
  .iamenu-jump-menu:empty, .iamenu-jump:has(.iamenu-jump-menu:empty) { display: none; }
}

/* --- breadcrumb, visível em toda página exceto a home --- */
.iamenu-breadcrumb {
  width: min(1200px, calc(100% - 40px));
  margin: auto;
  padding: 14px 0 0;
  font-family: 'Work Sans', sans-serif;
}
.iamenu-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  color: #6e655d;
}
.iamenu-breadcrumb a { color: #734F2F; text-decoration: none; }
.iamenu-breadcrumb a:hover { text-decoration: underline; }
.iamenu-breadcrumb li[aria-current="page"] { color: #6e655d; }
.iamenu-breadcrumb .iamenu-breadcrumb-sep { color: rgba(26, 26, 26, .3); }

/* Paginas com .wrap mais estreito (980px, como as fichas) alinham o breadcrumb com o conteudo. */
.iamenu-breadcrumb.iamenu-breadcrumb-narrow { width: min(980px, calc(100% - 40px)); }
