.pp-pesciallo-page {
  --pesciallo-paper: #fbf8ff;
  --pesciallo-cream: #f4f1de;
  --pesciallo-ink: #161a32;
  --pesciallo-slate: #3d405b;
  --pesciallo-muted: #55423e;
  --pesciallo-accent: #9a442d;
  --pesciallo-sage: #45645e;
  --pesciallo-gold: #c9a45c;
  --pesciallo-line: rgba(61, 64, 91, .14);
  color: var(--pesciallo-ink);
  background: var(--pesciallo-paper);
}

.pp-pesciallo-shell a {
  color: var(--pesciallo-accent);
  text-decoration: underline;
  text-decoration-thickness: .065em;
  text-underline-offset: .2em;
}
.pp-pesciallo-shell a:hover { color: var(--pesciallo-sage); }
.pp-pesciallo-shell :is(a, summary):focus-visible {
  outline: 3px solid var(--pesciallo-accent);
  outline-offset: 5px;
  border-radius: 2px;
}
.pp-pesciallo-shell :is(section, h3, li[id]) { scroll-margin-top: 7.5rem; }
.pp-pesciallo-shell :is(h1, h2, h3, h4) { color: var(--pesciallo-ink); text-wrap: balance; }
.pp-pesciallo-shell :is(p, a, th, td, figcaption) { overflow-wrap: break-word; }
.pp-pesciallo-shell > section > .container { max-width: 1180px; }

.pp-pesciallo-hero {
  padding: 1.8rem 0 3.5rem;
  border-bottom: 1px solid var(--pesciallo-line);
  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);
}
.pp-pesciallo-breadcrumb { margin-bottom: 3rem; }
.pp-pesciallo-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--pesciallo-muted);
  font-size: .8rem;
}
.pp-pesciallo-breadcrumb li + li::before { content: "/"; margin-right: .7rem; color: var(--pesciallo-slate); }
.pp-pesciallo-breadcrumb a { color: var(--pesciallo-slate); }
.pp-pesciallo-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 4.3vw, 4rem);
  align-items: center;
}
.pp-pesciallo-hero-copy { grid-column: 2; grid-row: 1; min-width: 0; }
.pp-pesciallo-kicker,
.pp-pesciallo-label,
.pp-pesciallo-section-number {
  color: var(--pesciallo-accent);
  font-size: .71rem;
  font-weight: 700;
  letter-spacing: .095em;
  line-height: 1.6;
  text-transform: uppercase;
}
.pp-pesciallo-kicker { margin: 0 0 1.3rem; }
.pp-pesciallo-kicker span { display: block; margin-top: .3rem; color: var(--pesciallo-sage); }
.pp-pesciallo-hero h1 {
  max-width: 25ch;
  margin: 0 0 1.5rem;
  font-size: clamp(2.4rem, 4.4vw, 4rem);
  font-weight: 700;
  line-height: 1.09;
  letter-spacing: -.045em;
}
.pp-pesciallo-deck { margin: 0; color: var(--pesciallo-muted); font-size: clamp(1.05rem, 1.35vw, 1.18rem); line-height: 1.75; }
.pp-pesciallo-meta {
  margin: 1.8rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--pesciallo-line);
  color: var(--pesciallo-muted);
  font-size: .78rem;
  line-height: 1.7;
}
.pp-pesciallo-meta p { margin: 0 0 .25rem; }
.pp-pesciallo-meta p + p { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.pp-pesciallo-hero-figure,
.pp-pesciallo-figure { margin: 0; padding: .65rem; border: 1px solid var(--pesciallo-line); border-radius: .35rem; background: #fff; }
.pp-pesciallo-hero-figure {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  max-width: 540px;
  justify-self: center;
  box-shadow: 0 14px 35px rgba(61, 64, 91, .06);
}
.pp-pesciallo-shell figure img { display: block; width: 100%; height: auto; border-radius: .15rem; }
.pp-pesciallo-shell figcaption { padding: 1rem .5rem .35rem; color: var(--pesciallo-muted); font-size: .82rem; line-height: 1.8; }
.pp-pesciallo-hero-figure figcaption { max-width: 108ch; }
.pp-pesciallo-shell figcaption > .pp-pesciallo-label { display: block; margin-bottom: .45rem; }
.pp-pesciallo-credit { display: block; margin-top: .55rem; color: var(--pesciallo-slate); font-size: .76rem; line-height: 1.75; }
.pp-pesciallo-credit a { color: var(--pesciallo-sage); }

.pp-pesciallo-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 235px;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
  max-width: 1180px;
  padding-top: 4.5rem;
  padding-bottom: 5rem;
}
.pp-pesciallo-shell .pp-pesciallo-layout { max-width: 1180px; }
.pp-pesciallo-sidebar { grid-column: 2; grid-row: 1; position: sticky; top: 7rem; max-height: calc(100vh - 8rem); overflow-y: auto; padding-left: 1.4rem; border-left: 1px solid var(--pesciallo-line); }
.pp-pesciallo-sidebar ol { margin: 0; padding: 0; list-style: none; }
.pp-pesciallo-sidebar .pp-pesciallo-label { margin: 0 0 .8rem; color: var(--pesciallo-sage); }
.pp-pesciallo-sidebar a { display: block; padding: .45rem 0; color: var(--pesciallo-slate); font-size: .79rem; line-height: 1.55; text-decoration-color: var(--pesciallo-line); }
.pp-pesciallo-sidebar a:hover { color: var(--pesciallo-accent); text-decoration-color: currentColor; }
.pp-pesciallo-toc-mobile { display: none; }
.pp-pesciallo-article { grid-column: 1; grid-row: 1; min-width: 0; width: 100%; max-width: 74ch; color: var(--pesciallo-muted); font-size: 1.0625rem; line-height: 1.9; }
.pp-pesciallo-article p { margin: 0 0 1.4rem; }
.pp-pesciallo-intro > p:first-child { color: var(--pesciallo-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; line-height: 1.75; }
.pp-pesciallo-section { margin-top: 3.8rem; padding-top: 2rem; border-top: 1px solid var(--pesciallo-line); }
.pp-pesciallo-section-number { display: block; margin-bottom: .7rem; color: var(--pesciallo-sage); }
.pp-pesciallo-article h2 { margin: 0 0 1.6rem; font-size: clamp(1.7rem, 2.5vw, 2.25rem); line-height: 1.25; letter-spacing: -.025em; }
.pp-pesciallo-article h3 { margin: 2.4rem 0 1.2rem; font-size: 1.3rem; line-height: 1.45; }
.pp-pesciallo-section > .pp-pesciallo-figure { margin-top: 2rem; }
.pp-pesciallo-shell .pp-pesciallo-photo-limited { max-width: 740px; margin-inline: auto; }
.pp-pesciallo-shell .pp-pesciallo-quote { margin: 2rem 0 1.5rem; padding: 1.5rem 1.7rem; color: var(--pesciallo-ink); border-left: 4px solid var(--pesciallo-gold); border-radius: 0 .25rem .25rem 0; background: var(--pesciallo-cream); }
.pp-pesciallo-quote p { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; line-height: 1.6; }
.pp-pesciallo-table { width: 100%; margin: 2rem 0 1.5rem; border-collapse: collapse; font-size: .86rem; line-height: 1.8; }
.pp-pesciallo-table caption { caption-side: top; padding: 0 0 .9rem; color: var(--pesciallo-sage); font-size: .8rem; font-weight: 600; }
.pp-pesciallo-table :is(th, td) { padding: 1rem .85rem; border-bottom: 1px solid var(--pesciallo-line); vertical-align: top; }
.pp-pesciallo-table thead { color: var(--pesciallo-ink); background: var(--pesciallo-cream); }
.pp-pesciallo-table tbody { background: #fff; }
.pp-pesciallo-table th[scope="row"] { width: 29%; color: var(--pesciallo-ink); font-weight: 600; }
.pp-pesciallo-timeline { margin: 1.8rem 0; padding: 0 0 0 1.5rem; list-style: none; border-left: 2px solid var(--pesciallo-line); }
.pp-pesciallo-timeline li { position: relative; padding-bottom: 1.5rem; }
.pp-pesciallo-timeline li:last-child { padding-bottom: 0; }
.pp-pesciallo-timeline li::before { position: absolute; top: .6rem; left: -1.83rem; width: .55rem; height: .55rem; border-radius: 50%; content: ""; background: var(--pesciallo-accent); }
.pp-pesciallo-timeline strong { color: var(--pesciallo-sage); font-size: .9rem; }
.pp-pesciallo-timeline p { margin: .4rem 0 0; font-size: .95rem; }
.pp-pesciallo-article #nota-pesquisa { padding-top: 1.8rem; border-top: 1px solid var(--pesciallo-line); color: var(--pesciallo-sage); }
.pp-pesciallo-article #nota-pesquisa + p { padding: 1.4rem; border-left: 3px solid var(--pesciallo-sage); background: #f1f6f4; font-size: .9rem; line-height: 1.85; }

.pp-pesciallo-sources { margin-top: 4rem; padding: 2rem; border: 1px solid var(--pesciallo-line); border-radius: .35rem; background: linear-gradient(145deg, #f4f1de, #f1f6f4); }
.pp-pesciallo-sources > h2 { margin: .7rem 0 1.6rem; font-size: 1.8rem; }
.pp-pesciallo-source-group { margin-top: 2.2rem; }
.pp-pesciallo-source-group > h3 { font-size: 1.1rem; line-height: 1.5; }
.pp-pesciallo-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.pp-pesciallo-source-group:nth-of-type(-n+2) .pp-pesciallo-source-grid { grid-template-columns: 1fr; }
.pp-pesciallo-source-card { min-width: 0; padding: 1.2rem; border: 1px solid var(--pesciallo-line); border-radius: .25rem; background: #fff; }
.pp-pesciallo-source-card h4 { margin: 0 0 .8rem; font-size: 1rem; line-height: 1.5; }
.pp-pesciallo-source-card p { margin: .65rem 0 0; font-size: .8rem; line-height: 1.85; }
.pp-pesciallo-sources .pp-pesciallo-license-note { margin: 1.7rem 0 0; font-size: .8rem; line-height: 1.8; }
.pp-pesciallo-next { padding: 4.5rem 0; border-top: 1px solid var(--pesciallo-line); color: var(--pesciallo-muted); background: linear-gradient(180deg, var(--pesciallo-cream), var(--pesciallo-paper)); }
.pp-pesciallo-next h2 { margin: 1rem 0 2rem; font-size: clamp(2rem, 3.4vw, 3rem); letter-spacing: -.035em; }
.pp-pesciallo-next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; }
.pp-pesciallo-next-grid article { padding: 1.8rem; border: 1px solid var(--pesciallo-line); border-radius: .35rem; background: #fff; }
.pp-pesciallo-next-grid h3 { margin: 1rem 0 .9rem; font-size: 1.4rem; line-height: 1.4; }
.pp-pesciallo-next-grid h3 a { color: var(--pesciallo-ink); }
.pp-pesciallo-next-grid p { margin: 0; font-size: .9rem; line-height: 1.8; }
.pp-pesciallo-collections { display: flex; flex-wrap: wrap; gap: .7rem 1.3rem; margin-top: 2.5rem; font-size: .82rem; }
.pp-pesciallo-collections > span { color: var(--pesciallo-slate); }

@media (max-width: 991.98px) {
  .pp-pesciallo-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .pp-pesciallo-hero-copy { grid-column: 1; grid-row: 1; max-width: 740px; }
  .pp-pesciallo-hero-figure { grid-column: 1; grid-row: 2; }
  .pp-pesciallo-hero h1 { font-size: clamp(2.6rem, 5.8vw, 3.8rem); }
  .pp-pesciallo-layout { display: flex; flex-direction: column; gap: 2rem; padding-top: 2rem; }
  .pp-pesciallo-sidebar { position: static; width: 100%; max-height: none; overflow: visible; padding: 0; border: 0; }
  .pp-pesciallo-toc-desktop { display: none; }
  .pp-pesciallo-toc-mobile { display: block; padding: 1rem 1.2rem; border: 1px solid var(--pesciallo-line); border-radius: .3rem; background: #fff; }
  .pp-pesciallo-toc-mobile summary { color: var(--pesciallo-sage); font-weight: 600; font-size: .88rem; cursor: pointer; }
  .pp-pesciallo-toc-mobile[open] nav { margin-top: 1rem; }
  .pp-pesciallo-article { align-self: center; }
}
@media (max-width: 575.98px) {
  .pp-pesciallo-shell > section > .container,
  .pp-pesciallo-layout { padding-left: 1.25rem; padding-right: 1.25rem; }
  .pp-pesciallo-hero { padding-top: 1.3rem; padding-bottom: 2.4rem; }
  .pp-pesciallo-breadcrumb { margin-bottom: 2rem; }
  .pp-pesciallo-breadcrumb ol { font-size: .72rem; }
  .pp-pesciallo-kicker { font-size: .66rem; }
  .pp-pesciallo-kicker span { display: block; margin-top: .3rem; }
  .pp-pesciallo-hero h1 { font-size: clamp(2.1rem, 9.2vw, 3rem); }
  .pp-pesciallo-deck { font-size: 1rem; }
  .pp-pesciallo-meta { margin-bottom: 1.8rem; }
  .pp-pesciallo-hero-figure,
  .pp-pesciallo-figure { padding: .45rem; }
  .pp-pesciallo-shell figcaption { padding-inline: .3rem; font-size: .8rem; }
  .pp-pesciallo-article { font-size: 1rem; line-height: 1.85; }
  .pp-pesciallo-intro > p:first-child { font-size: 1.3rem; }
  .pp-pesciallo-section { margin-top: 2.8rem; padding-top: 1.5rem; }
  .pp-pesciallo-article h2 { font-size: 1.65rem; }
  .pp-pesciallo-source-grid,
  .pp-pesciallo-next-grid { grid-template-columns: 1fr; }
  .pp-pesciallo-sources { padding: 1.2rem; }
  .pp-pesciallo-next { padding-block: 3rem; }
  .pp-pesciallo-next-grid article { padding: 1.3rem; }
  .pp-pesciallo-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .pp-pesciallo-table tbody { display: block; background: transparent; }
  .pp-pesciallo-table tr { display: block; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--pesciallo-line); border-radius: .3rem; background: #fff; }
  .pp-pesciallo-table :is(th[scope="row"], td) { display: block; width: 100%; padding: .35rem 0; border: 0; }
  .pp-pesciallo-table th[scope="row"] { margin-bottom: .3rem; font-size: 1rem; }
  .pp-pesciallo-table td::before { display: block; margin-top: .45rem; content: attr(data-label); color: var(--pesciallo-sage); font-size: .75rem; font-weight: 600; }
}
