.pp-experiencia-editorial-page {
  --te-paper: #fbf8ff;
  --te-cream: #f4f1de;
  --te-ink: #161a32;
  --te-muted: #55423e;
  --te-slate: #3d405b;
  --te-accent: #9a442d;
  --te-sage: #45645e;
  --te-line: rgba(61, 64, 91, .14);
  background: var(--te-paper);
}
.pp-te-shell { color: var(--te-muted); }
.pp-te-shell *, .pp-te-shell *::before, .pp-te-shell *::after { box-sizing: border-box; }
.pp-te-shell a { color: var(--te-accent); text-underline-offset: .22em; }
.pp-te-shell a:hover { color: var(--te-sage); }
.pp-te-shell a:focus-visible, .pp-te-shell summary:focus-visible { outline: 3px solid var(--te-sage); outline-offset: 5px; }
.pp-te-shell h1, .pp-te-shell h2 { color: var(--te-ink); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.025em; }
.pp-te-shell h2 { margin: .6rem 0 1.15rem; font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.2; }
.pp-te-shell h3 { color: var(--te-ink); font-size: 1.15rem; line-height: 1.45; }
.pp-te-shell p { line-height: 1.85; }
.pp-te-shell .pp-te-eyebrow { display: inline-block; color: var(--te-accent); font-size: .73rem; font-weight: 750; line-height: 1.7; letter-spacing: .07em; text-transform: uppercase; }
.pp-te-hero { padding: 1.7rem 0 3.8rem; background: radial-gradient(720px 360px at 8% 0%, rgba(224,122,95,.14), transparent 64%), radial-gradient(620px 340px at 88% 18%, rgba(132,165,157,.16), transparent 66%), linear-gradient(180deg, #f4f1de, #fbf8ff); border-bottom: 1px solid var(--te-line); }
.pp-te-breadcrumb { margin-bottom: 2.8rem; font-size: .78rem; }
.pp-te-breadcrumb .breadcrumb { flex-wrap: wrap; row-gap: .45rem; margin-bottom: 0; }
.pp-te-breadcrumb .breadcrumb-item, .pp-te-breadcrumb .breadcrumb-item.active { color: var(--te-muted); }
.pp-te-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.pp-experiencia-editorial-page .pp-te-hero h1 { margin: .8rem 0 1.4rem; font-size: clamp(2.6rem, 4.2vw, 4.3rem); line-height: 1.08; }
.pp-te-deck { max-width: 660px; font-size: 1.06rem; }
.pp-te-meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin: 1.5rem 0; color: var(--te-slate); font-size: .77rem; line-height: 1.7; }
.pp-te-meta span, .pp-te-meta time { padding-left: .65rem; border-left: 2px solid #c9a45c; }
.pp-te-photo { min-width: 0; margin: 0; padding: .6rem; border: 1px solid var(--te-line); background: #fff; }
.pp-te-photo img { display: block; width: 100%; height: auto; }
.pp-te-photo figcaption { padding: .7rem .2rem .15rem; color: var(--te-muted); font-size: .72rem; line-height: 1.7; overflow-wrap: anywhere; }
.pp-te-hero .pp-te-photo { max-width: 640px; box-shadow: 0 12px 28px rgba(61,64,91,.05); }
.pp-te-shell .pp-te-text-link { display: inline-block; font-size: .9rem; font-weight: 650; line-height: 1.65; text-decoration: underline; }
.pp-te-text-link > span { margin-left: .35rem; }
.pp-te-shell .pp-te-button { display: inline-flex; align-items: center; justify-content: center; padding: .9rem 1.2rem; border: 1px solid var(--te-accent); border-radius: .25rem; color: #fff; background: var(--te-accent); font-size: .87rem; line-height: 1.65; font-weight: 700; text-align: center; text-decoration: none; }
.pp-te-shell .pp-te-button:hover { color: #fff; background: #803923; border-color: #803923; }
.pp-te-reading-grid { display: grid; grid-template-columns: minmax(0, 780px) minmax(0, 285px); justify-content: space-between; gap: clamp(2rem, 6vw, 6rem); padding-top: 4rem; padding-bottom: 4rem; }
.pp-te-prose { min-width: 0; font-size: 1.04rem; }
.pp-te-prose section { margin-bottom: 3rem; scroll-margin-top: 110px; }
.pp-te-prose section:last-child { margin-bottom: 0; }
.pp-te-prose p { margin-bottom: 1.2rem; }
.pp-te-prose .pp-te-photo { margin-bottom: 3rem; }
.pp-te-sidebar { align-self: start; position: sticky; top: 110px; min-width: 0; }
.pp-te-sidebar nav, .pp-te-side-note { padding: 1.5rem; border: 1px solid var(--te-line); background: #fff; }
.pp-te-sidebar ol { margin: 1rem 0 0; padding-left: 1.2rem; }
.pp-te-sidebar li { padding: .35rem 0; font-size: .83rem; line-height: 1.7; }
.pp-te-sidebar .pp-te-side-note { margin-top: 1.2rem; background: #f1f6f4; }
.pp-te-side-note h2 { font-size: 1.5rem; }
.pp-te-side-note p, .pp-te-side-note a { font-size: .85rem; line-height: 1.8; }
.pp-te-note { margin: 1.8rem 0; padding: 1.5rem 1.7rem; border-left: 3px solid var(--te-accent); color: var(--te-muted); background: var(--te-cream); }
.pp-te-note strong { color: var(--te-ink); }
.pp-te-note p { margin: .5rem 0 0; }
.pp-te-sources, .pp-te-related { padding: 3.5rem 0; border-top: 1px solid var(--te-line); background: #f8f5ef; }
.pp-te-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.6rem; }
.pp-te-source { padding: 1.4rem; border: 1px solid var(--te-line); background: #fff; }
.pp-te-source h3 { font-size: .95rem; }
.pp-te-source p { margin: .7rem 0 0; font-size: .84rem; }
.pp-te-credits { max-width: 970px; margin-top: 1.8rem; font-size: .8rem; line-height: 1.85; }
.pp-te-credits p { margin-bottom: .7rem; }
.pp-te-related { background: var(--te-paper); }
.pp-te-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.pp-te-shell .pp-te-related-card { display: flex; flex-direction: column; padding: 1.7rem; border: 1px solid var(--te-line); color: var(--te-muted); background: #fff; text-decoration: none; }
.pp-te-related-card h3 { margin: .7rem 0; }
.pp-te-related-card p { font-size: .9rem; }
.pp-te-link-label { margin-top: auto; color: var(--te-accent); font-size: .85rem; font-weight: 650; line-height: 1.65; text-decoration: underline; text-underline-offset: .22em; }
.pp-te-closing { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2rem; padding: 1.6rem; background: var(--te-cream); }
.pp-te-closing p { flex: 1 1 100%; margin: 0; }
.pp-te-shell [id] { scroll-margin-top: 110px; }
/* O rodapé global usa uma linha Bootstrap g-5 com margens maiores no celular. */
.pp-experiencia-editorial-page .pp-site-footer > .container > .row.g-5 { --bs-gutter-x: 1.5rem; }
@media (max-width: 991.98px) {
 .pp-te-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
 .pp-te-hero .pp-te-photo { width: 100%; max-width: 680px; }
 .pp-te-reading-grid { grid-template-columns: minmax(0, 1fr); }
 .pp-te-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
 .pp-te-sidebar .pp-te-side-note { margin-top: 0; }
 .pp-te-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
 .pp-te-hero { padding: 1.25rem 0 2.5rem; }
 .pp-te-breadcrumb { margin-bottom: 1.8rem; }
 .pp-experiencia-editorial-page .pp-te-hero h1 { font-size: 2.55rem; }
 .pp-te-deck { font-size: 1rem; }
 .pp-te-reading-grid { padding-top: 2.5rem; padding-bottom: 2.5rem; gap: 2rem; }
 .pp-te-prose { font-size: 1rem; }
 .pp-te-sidebar, .pp-te-source-grid, .pp-te-related-grid { grid-template-columns: minmax(0, 1fr); }
 .pp-te-source, .pp-te-note, .pp-te-shell .pp-te-related-card { padding: 1.2rem; }
 .pp-te-sources, .pp-te-related { padding: 2.5rem 0; }
 .pp-te-shell .pp-te-button { width: 100%; }
}

.pp-te-hero .pp-te-portrait { max-width: 390px; justify-self: center; }
