/* Andes Experience · páginas de profundidade (mesmos tokens do style.css) */
.prof__cena { --trilho-cena: 200vh; }
.prof__hero { position: absolute; z-index: 2; left: var(--lado); bottom: 12vh; right: var(--lado); }
.prof__hero p { font-size: 1.15rem; max-width: 46ch; }
.prof__hero { right: 44vw; }
.prof__hero .titulo { max-width: 13ch; }
.prof__cena .veu--baixo { background: linear-gradient(90deg, rgba(33,28,20,.78) 0%, rgba(33,28,20,.5) 38%, rgba(33,28,20,0) 64%), linear-gradient(0deg, rgba(33,28,20,.55) 0%, rgba(33,28,20,0) 55%); }
.prof__texto { columns: auto; max-width: 70ch; }
.prof { position: relative; z-index: 3; margin-top: -100dvh; background: var(--bg); border-radius: 28px 28px 0 0; box-shadow: 0 -24px 40px -24px rgba(33,28,20,.45);
  padding: 40px var(--lado) var(--pad); }
.prof__indice { position: sticky; top: 88px; z-index: 5; display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; margin-bottom: 1rem; background: var(--bg); }
.prof__indice a { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--linha); text-decoration: none; font-size: .88rem; font-weight: 500; }
.prof__indice a:hover { border-color: var(--acento); color: var(--acento); }
.prof__secao { padding: clamp(48px, 7vw, 100px) 0; border-top: 1px solid var(--linha); }
.prof__secao:first-of-type { border-top: 0; }
.prof__duo { display: grid; grid-template-columns: minmax(0, 75ch) minmax(18rem, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; margin-top: 1.4rem; }
.prof__texto { max-width: 75ch; }
.prof__texto .prof__rotulo { margin: 2em 0 .7em; }
.prof__lado { position: sticky; top: 160px; margin: 0; border-radius: 14px; overflow: hidden; box-shadow: 16px 18px 0 -10px rgba(119,106,80,.3); }
.prof__lado img { width: 100%; height: min(70vh, 640px); object-fit: cover; display: block; }
.prof__texto h3 { font: 400 1.5rem/1.15 var(--display); letter-spacing: -0.015em; margin: 1.6em 0 .5em; break-after: avoid; }
.prof__texto p, .prof__texto ul { margin: 0 0 1em; break-inside: avoid-column; }
.prof__texto ul { padding-left: 1.1em; }
.prof__fonte { font-size: .82rem; color: var(--mudo); margin-top: 1.6rem; }
.prof__foto { margin: 2rem 0; border-radius: 14px; overflow: hidden; box-shadow: 16px 18px 0 -10px rgba(119,106,80,.3); }
.prof__foto img { width: 100%; max-height: 70vh; object-fit: cover; }
.titulo--post { font-size: clamp(1.9rem, 3.4vw, 3.2rem); max-width: 26ch; }
/* diário como índice editorial (correção 13/10): cada post fechado mostra o título e "Ler o post"; abre um de cada vez */
.post.prof__secao { padding: clamp(32px, 4vw, 56px) 0; }
.post__abre summary { display: inline-flex; align-items: center; gap: .5em; cursor: pointer; list-style: none; font-weight: 600; padding-bottom: 3px; border-bottom: 1.5px solid var(--acento); }
.post__abre summary::-webkit-details-marker { display: none; }
.post__abre summary::after { content: "→"; color: var(--acento); transition: transform var(--dur-micro) var(--ease-out); }
.post__abre[open] summary::after { transform: rotate(90deg); }
.post__abre[open] summary { margin-bottom: 1.6rem; }
.post__voltar { position: sticky; bottom: 20px; margin-top: 1rem; padding: 10px 16px; border-radius: 999px; background: var(--bg); box-shadow: 0 6px 20px -8px rgba(42,37,27,.4); }
.calendario { list-style: none; padding: 0; margin: 2rem 0 0; }
.calendario li { display: grid; grid-template-columns: 15rem 1fr auto; gap: 24px; align-items: center; padding: 18px 0; border-top: 1px solid var(--linha); }
.calendario__data { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--marca); }
.calendario__nome { font: 400 1.5rem/1.2 var(--display); }
.passeios { display: grid; grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr)); gap: 24px; margin-top: 2rem; }
.passeio { padding: 26px; border-radius: 16px; background: var(--superficie); box-shadow: 12px 14px 0 -8px rgba(119,106,80,.3); display: flex; flex-direction: column; gap: .6rem; }
.passeio h3 { font: 400 1.6rem/1.1 var(--display); margin: 0 0 .4rem; }
.passeio p, .passeio ul { margin: 0; font-size: .95rem; }
.passeio .botao { margin-top: auto; align-self: flex-start; }
.etiquetas { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 1.4rem 0; }
.etiquetas li { padding: 6px 12px; border-radius: 999px; background: var(--superficie); font-size: .85rem; }
.posts-indice { columns: 2 24rem; column-gap: 48px; padding-left: 1.2em; }
.posts-indice li { margin-bottom: .6em; break-inside: avoid; }
.formulario { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; margin-top: 2rem; max-width: 52rem; }
.formulario label { display: grid; gap: 6px; font-weight: 600; font-size: .9rem; }
.formulario input, .formulario textarea { font: 400 1rem/1.4 var(--texto); padding: 13px 14px; border-radius: 10px; border: 1.5px solid var(--linha); background: #FBF8F2; color: var(--fg); }
.formulario input:focus, .formulario textarea:focus { outline: 2px solid var(--acento); outline-offset: 1px; }
.formulario__largo, .formulario .botoes { grid-column: 1 / -1; }
.formulario button { cursor: pointer; border: 0; }
.formulario .botao--linha { background: transparent; border: 1.5px solid var(--fg); }
.prof__contato { margin-top: 0; border-radius: 28px 28px 0 0; }
.nav__links a[aria-current="page"] { color: var(--acento); }
@media (max-width: 820px) {
  .prof__cena { --trilho-cena: 160vh; }
  .prof__hero { right: var(--lado); max-width: calc(100vw - 2 * var(--lado)); }
  .prof__hero p, .prof__hero .titulo { max-width: 100%; overflow-wrap: break-word; }
  .prof, .prof__texto, .prof__duo > *, .passeio, .calendario li > * { min-width: 0; overflow-wrap: break-word; }
  .prof__cena .veu--baixo { background: linear-gradient(0deg, rgba(33,28,20,.85) 0%, rgba(33,28,20,.55) 50%, rgba(33,28,20,0) 80%); }
  .prof { margin-top: 0; border-radius: 0; }
  .prof__indice { top: 72px; }
  .calendario li { grid-template-columns: 1fr; gap: 6px; }
  .prof__duo { grid-template-columns: 1fr; }
  .prof__lado { position: static; }
  .prof__lado img { height: auto; aspect-ratio: 4 / 3; }
  .formulario { grid-template-columns: 1fr; }
}
