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

.pp-bosco-morte-page .pp-bosco-morte-shell{ overflow: clip; }

.pp-bosco-morte-page .pp-bosco-morte-hero{
  padding: 1.6rem 0 5rem;
  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, var(--article-cream), var(--article-paper));
  border-bottom: 1px solid var(--article-line);
}

.pp-bosco-morte-page .pp-bosco-morte-breadcrumb{ margin-bottom: clamp(2.2rem,5vw,4rem); }
.pp-bosco-morte-page .pp-bosco-morte-breadcrumb .breadcrumb-item,
.pp-bosco-morte-page .pp-bosco-morte-breadcrumb .breadcrumb-item::before{ color: var(--article-slate); }
.pp-bosco-morte-page .pp-bosco-morte-breadcrumb a{ color: var(--article-slate); text-underline-offset: .18em; }

.pp-bosco-morte-page .pp-bosco-morte-hero-grid{
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  gap: clamp(2rem,5vw,5rem);
  align-items: center;
}

.pp-bosco-morte-page .pp-bosco-morte-kicker,
.pp-bosco-morte-page .pp-bosco-morte-number,
.pp-bosco-morte-page .pp-bosco-morte-aside-label{
  display: block;
  color: var(--article-accent);
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pp-bosco-morte-page .pp-bosco-morte-hero h1{
  max-width: 14ch;
  margin: 1rem 0 1.3rem;
  color: var(--article-ink);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(2.7rem,5.1vw,5.5rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.pp-bosco-morte-page .pp-bosco-morte-deck{
  max-width: 650px;
  margin: 0;
  color: var(--article-muted);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.07rem,1.55vw,1.3rem);
  line-height: 1.65;
}

.pp-bosco-morte-page .pp-bosco-morte-meta{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.3rem;
  margin-top: 1.7rem;
  color: var(--article-slate);
  font-size: .89rem;
}
.pp-bosco-morte-page .pp-bosco-morte-meta span{ display: inline-flex; gap: .42rem; align-items: baseline; }
.pp-bosco-morte-page .pp-bosco-morte-start{
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin-top: 2rem;
  padding: .75rem 1.1rem;
  border: 1px solid rgba(61,64,91,.32);
  border-radius: 999px;
  color: var(--article-slate);
  background: rgba(255,255,255,.55);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.pp-bosco-morte-page .pp-bosco-morte-start:hover{ color: var(--article-accent); border-color: var(--article-accent); }

.pp-bosco-morte-page .pp-bosco-morte-hero-figure{
  margin: 0;
  padding: .55rem;
  border: 1px solid var(--article-line);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 18px 48px rgba(61,64,91,.08);
}
.pp-bosco-morte-page .pp-bosco-morte-hero-figure img{
  display: block;
  width: 100%;
  height: clamp(350px,39vw,520px);
  border-radius: .6rem;
  object-fit: cover;
  object-position: 50% 68%;
}
.pp-bosco-morte-page figcaption{
  color: var(--article-muted);
  font-size: .84rem;
  line-height: 1.55;
}
.pp-bosco-morte-page .pp-bosco-morte-hero-figure figcaption{ padding: .8rem .65rem .25rem; }

.pp-bosco-morte-page .pp-bosco-morte-main{ padding: clamp(3.5rem,7vw,6rem) 0; }
.pp-bosco-morte-page .pp-bosco-morte-layout{
  display: grid;
  grid-template-columns: minmax(180px,235px) minmax(0,800px);
  justify-content: center;
  gap: clamp(2rem,5vw,5rem);
  align-items: start;
}
.pp-bosco-morte-page .pp-bosco-morte-aside{ position: sticky; top: 7rem; }
.pp-bosco-morte-page .pp-bosco-morte-aside-card{
  padding: 1.2rem;
  border: 1px solid var(--article-line);
  border-radius: .7rem;
  background: #fff;
}
.pp-bosco-morte-page .pp-bosco-morte-aside-card + .pp-bosco-morte-aside-card{ margin-top: 1rem; }
.pp-bosco-morte-page .pp-bosco-morte-aside-card nav{ display: grid; gap: .7rem; margin-top: 1.1rem; }
.pp-bosco-morte-page .pp-bosco-morte-aside-card a{ color: var(--article-slate); text-underline-offset: .18em; }
.pp-bosco-morte-page .pp-bosco-morte-aside-card a:hover{ color: var(--article-accent); }
.pp-bosco-morte-page .pp-bosco-morte-aside-context{ background: var(--article-cream); }
.pp-bosco-morte-page .pp-bosco-morte-aside-context p{ margin: .7rem 0 0; color: var(--article-muted); font-size: .91rem; line-height: 1.65; }

.pp-bosco-morte-page .pp-bosco-morte-article{ min-width: 0; }
.pp-bosco-morte-page .pp-bosco-morte-article p{
  color: var(--article-muted);
  font-size: 1.05rem;
  line-height: 1.84;
}
.pp-bosco-morte-page .pp-bosco-morte-article .pp-bosco-morte-lead{
  color: var(--article-ink);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.26rem,2vw,1.55rem);
  line-height: 1.65;
}
.pp-bosco-morte-page .pp-bosco-morte-article a{ color: var(--article-accent); text-decoration: underline; text-underline-offset: .19em; }
.pp-bosco-morte-page .pp-bosco-morte-article a:hover{ color: #78321f; }
.pp-bosco-morte-page .pp-bosco-morte-section{ margin-top: clamp(3.1rem,6vw,5rem); scroll-margin-top: 7rem; }
.pp-bosco-morte-page .pp-bosco-morte-section h2,
.pp-bosco-morte-page .pp-bosco-morte-sources h2,
.pp-bosco-morte-page .pp-bosco-morte-next h2{
  margin: .6rem 0 1.45rem;
  color: var(--article-ink);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(2rem,3vw,3rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.pp-bosco-morte-page .pp-bosco-morte-quote{
  margin: 2rem 0;
  padding: 1.4rem clamp(1.3rem,3vw,2rem);
  border-left: 4px solid var(--article-accent);
  border-radius: .25rem .7rem .7rem .25rem;
  background: var(--article-cream);
}
.pp-bosco-morte-page .pp-bosco-morte-quote p{
  margin-bottom: .6rem;
  color: var(--article-ink);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.3rem,2vw,1.6rem);
  line-height: 1.5;
}
.pp-bosco-morte-page .pp-bosco-morte-quote cite{ color: var(--article-muted); font-size: .85rem; font-style: normal; line-height: 1.55; }
.pp-bosco-morte-page .pp-bosco-morte-note{
  margin: 1.8rem 0;
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(69,100,94,.2);
  border-radius: .7rem;
  color: var(--article-muted);
  background: #f1f6f4;
  line-height: 1.75;
}
.pp-bosco-morte-page .pp-bosco-morte-note strong{ color: var(--article-sage); }
.pp-bosco-morte-page .pp-bosco-morte-inline-photo{
  margin: 3.5rem 0 0;
  padding: .55rem;
  border: 1px solid var(--article-line);
  border-radius: .8rem;
  background: #fff;
}
.pp-bosco-morte-page .pp-bosco-morte-inline-photo img{ display: block; width: 100%; height: auto; border-radius: .45rem; }
.pp-bosco-morte-page .pp-bosco-morte-inline-photo figcaption{ padding: .75rem .65rem .25rem; }

.pp-bosco-morte-page .pp-bosco-morte-sources{
  margin-top: clamp(4rem,7vw,6rem);
  padding: clamp(1.4rem,3vw,2.3rem);
  border: 1px solid var(--article-line);
  border-radius: .8rem;
  background: var(--article-cream);
  scroll-margin-top: 7rem;
}
.pp-bosco-morte-page .pp-bosco-morte-source-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.pp-bosco-morte-page .pp-bosco-morte-source-grid > div{ padding: 1.2rem; border: 1px solid var(--article-line); border-radius: .55rem; background: #fff; }
.pp-bosco-morte-page .pp-bosco-morte-source-grid strong{ display: block; margin-bottom: .55rem; color: var(--article-ink); }
.pp-bosco-morte-page .pp-bosco-morte-source-grid p,
.pp-bosco-morte-page .pp-bosco-morte-source-note{ margin: 0; font-size: .92rem; line-height: 1.65; }
.pp-bosco-morte-page .pp-bosco-morte-source-note{ margin-top: 1.2rem; }

.pp-bosco-morte-page .pp-bosco-morte-last-photo{
  max-width: 540px;
  margin: 4rem auto 0;
  padding: .7rem;
  border: 1px solid var(--article-line);
  border-radius: .8rem;
  background: #fff;
}
.pp-bosco-morte-page .pp-bosco-morte-last-photo img{ display: block; width: 100%; height: auto; border-radius: .35rem; }
.pp-bosco-morte-page .pp-bosco-morte-last-photo figcaption{ padding: .8rem .4rem .15rem; }

.pp-bosco-morte-page .pp-bosco-morte-next{
  padding: clamp(3.5rem,7vw,5.5rem) 0;
  border-top: 1px solid var(--article-line);
  background: linear-gradient(180deg,var(--article-cream),var(--article-paper));
}
.pp-bosco-morte-page .pp-bosco-morte-next-grid{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.pp-bosco-morte-page .pp-bosco-morte-next-grid a{
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-width: 0;
  padding: 1.5rem;
  border: 1px solid var(--article-line);
  border-radius: .7rem;
  color: var(--article-muted);
  background: #fff;
  text-decoration: none;
}
.pp-bosco-morte-page .pp-bosco-morte-next-grid a:hover{ border-color: rgba(154,68,45,.45); }
.pp-bosco-morte-page .pp-bosco-morte-next-grid a > span:first-child{ color: var(--article-accent); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pp-bosco-morte-page .pp-bosco-morte-next-grid strong{ color: var(--article-ink); font-family: Georgia,"Times New Roman",serif; font-size: 1.3rem; line-height: 1.3; }
.pp-bosco-morte-page .pp-bosco-morte-next-grid a > span:last-child{ font-size: .9rem; line-height: 1.55; }
.pp-bosco-morte-page .pp-bosco-morte-next-grid a > span:last-child span{ color: var(--article-accent); }

.pp-bosco-morte-page a:focus-visible{ outline: 3px solid var(--article-accent); outline-offset: 3px; }

@media (max-width: 991.98px){
  .pp-bosco-morte-page .pp-bosco-morte-hero-grid{ grid-template-columns: 1fr; }
  .pp-bosco-morte-page .pp-bosco-morte-hero h1{ max-width: 18ch; }
  .pp-bosco-morte-page .pp-bosco-morte-hero-figure img{ height: min(58vw,520px); }
  .pp-bosco-morte-page .pp-bosco-morte-layout{ grid-template-columns: minmax(0,1fr); }
  .pp-bosco-morte-page .pp-bosco-morte-aside{ position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .pp-bosco-morte-page .pp-bosco-morte-aside-card + .pp-bosco-morte-aside-card{ margin-top: 0; }
}
@media (max-width: 767.98px){
  .pp-bosco-morte-page .pp-bosco-morte-hero{ padding-bottom: 3.3rem; }
  .pp-bosco-morte-page .pp-bosco-morte-hero h1{ font-size: clamp(2.55rem,10vw,3.6rem); }
  .pp-bosco-morte-page .pp-bosco-morte-hero-figure img{ height: min(82vw,430px); }
  .pp-bosco-morte-page .pp-bosco-morte-aside{ grid-template-columns: 1fr; }
  .pp-bosco-morte-page .pp-bosco-morte-aside-card nav{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pp-bosco-morte-page .pp-bosco-morte-source-grid{ grid-template-columns: 1fr; }
  .pp-bosco-morte-page .pp-bosco-morte-next-grid{ grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce){
  .pp-bosco-morte-page *{ scroll-behavior: auto; }
}
