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

.pp-mission-page .pp-mission-shell { overflow: clip; }
.pp-mission-page .pp-mission-hero {
  padding: 1.7rem 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(--mission-cream), var(--mission-paper));
  border-bottom: 1px solid var(--mission-line);
}
.pp-mission-page .pp-mission-breadcrumb { margin: 0 0 3.7rem; }
.pp-mission-page .pp-mission-breadcrumb .breadcrumb-item,
.pp-mission-page .pp-mission-breadcrumb .breadcrumb-item::before { color: var(--mission-slate); }
.pp-mission-page .pp-mission-breadcrumb a,
.pp-mission-page .pp-mission-content a,
.pp-mission-page .pp-mission-sources a { color: var(--mission-sage); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.pp-mission-page .pp-mission-breadcrumb a:hover,
.pp-mission-page .pp-mission-content a:hover,
.pp-mission-page .pp-mission-sources a:hover { color: var(--mission-accent); }
.pp-mission-page .pp-mission-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.pp-mission-page .pp-mission-kicker,
.pp-mission-page .pp-mission-eyebrow {
  display: block;
  color: var(--mission-accent);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}
.pp-mission-page .pp-mission-hero h1 {
  max-width: 15ch;
  margin: 1.1rem 0 1.35rem;
  color: var(--mission-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.7rem, 5.3vw, 5.3rem);
  font-weight: 500;
  line-height: .99;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.pp-martires-page .pp-mission-hero h1 { max-width: 16ch; }
.pp-mission-page .pp-mission-deck {
  max-width: 62ch;
  margin: 0;
  color: var(--mission-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  line-height: 1.57;
}
.pp-mission-page .pp-mission-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.25rem;
  margin: 1.8rem 0 0;
  padding: 0;
  color: var(--mission-slate);
  font-size: .88rem;
  list-style: none;
}
.pp-mission-page .pp-mission-meta li { display: inline-flex; align-items: center; gap: .45rem; }
.pp-mission-page .pp-mission-meta i { color: var(--mission-accent); }
.pp-mission-page .pp-mission-hero-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-top: 2.1rem;
  padding: .8rem 1.1rem;
  border: 1px solid rgba(61, 64, 91, .32);
  border-radius: 999px;
  color: var(--mission-slate);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.pp-mission-page .pp-mission-hero-link:hover { color: var(--mission-accent); background: #fff; border-color: var(--mission-accent); }
.pp-mission-page .pp-mission-hero-figure {
  overflow: hidden;
  margin: 0;
  padding: .75rem;
  border: 1px solid var(--mission-line);
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 18px 42px rgba(61, 64, 91, .11);
}
.pp-mission-page .pp-mission-hero-figure img { display: block; width: 100%; height: auto; border-radius: .2rem; }
.pp-mission-page .pp-mission-hero-figure figcaption { padding: .85rem .4rem .25rem; color: var(--mission-muted); font-size: .8rem; line-height: 1.5; }

.pp-mission-page .pp-mission-main { padding: clamp(3.5rem, 6vw, 6rem) 0; }
.pp-mission-page .pp-mission-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.05fr) minmax(230px, .75fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}
.pp-mission-page .pp-mission-content { max-width: 790px; min-width: 0; }
.pp-mission-page .pp-mission-content section { margin-top: 3.5rem; }
.pp-mission-page .pp-mission-content section:first-child { margin-top: 0; }
.pp-mission-page .pp-mission-content h2 {
  margin: .5rem 0 1.2rem;
  color: var(--mission-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.pp-mission-page .pp-mission-content h3 { margin: 0 0 .55rem; color: var(--mission-ink); font-size: 1.08rem; line-height: 1.35; }
.pp-mission-page .pp-mission-content p,
.pp-mission-page .pp-mission-content li { color: var(--mission-muted); font-size: 1.05rem; line-height: 1.81; }
.pp-mission-page .pp-mission-content p { margin: 0 0 1.15rem; }
.pp-mission-page .pp-mission-content .pp-mission-lead { color: var(--mission-slate); font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; line-height: 1.65; }
.pp-mission-page .pp-mission-content strong { color: var(--mission-ink); }
.pp-mission-page .pp-mission-aside { position: sticky; top: 1.5rem; padding: 1.5rem; border: 1px solid var(--mission-line); border-radius: .7rem; background: #fff; }
.pp-mission-page .pp-mission-aside strong { display: block; margin-bottom: .8rem; color: var(--mission-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 500; }
.pp-mission-page .pp-mission-aside ol { margin: 0; padding-left: 1.25rem; }
.pp-mission-page .pp-mission-aside li { padding: .35rem 0; color: var(--mission-accent); }
.pp-mission-page .pp-mission-aside a { color: var(--mission-slate); font-size: .88rem; line-height: 1.5; text-decoration: none; }
.pp-mission-page .pp-mission-aside a:hover { color: var(--mission-accent); text-decoration: underline; }
.pp-mission-page .pp-mission-note,
.pp-mission-page .pp-mission-quote { margin: 1.65rem 0; padding: 1.3rem 1.5rem; border-left: 4px solid var(--mission-accent); border-radius: .2rem .6rem .6rem .2rem; background: #f8f5ef; }
.pp-mission-page .pp-mission-note p,
.pp-mission-page .pp-mission-quote p { margin-bottom: 0; }
.pp-mission-page .pp-mission-quote { border-left-color: #a77a33; background: var(--mission-cream); }
.pp-mission-page .pp-mission-quote cite { display: block; margin-top: .65rem; color: var(--mission-slate); font-size: .8rem; font-style: normal; }
.pp-mission-page .pp-mission-facts,
.pp-mission-page .pp-mission-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 1.7rem 0; }
.pp-mission-page .pp-mission-facts > div,
.pp-mission-page .pp-mission-steps > div { min-width: 0; padding: 1.2rem; border: 1px solid var(--mission-line); border-radius: .55rem; background: #fff; }
.pp-mission-page .pp-mission-facts span,
.pp-mission-page .pp-mission-steps span { display: block; margin-bottom: .55rem; color: var(--mission-accent); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pp-mission-page .pp-mission-facts p,
.pp-mission-page .pp-mission-steps p { margin: 0; font-size: .91rem; line-height: 1.6; }
.pp-mission-page .pp-mission-image { overflow: hidden; margin: 1.9rem 0; border: 1px solid var(--mission-line); border-radius: .55rem; background: #fff; }
.pp-mission-page .pp-mission-image img { display: block; width: 100%; height: auto; }
.pp-mission-page .pp-mission-image figcaption { padding: .85rem 1rem; color: var(--mission-muted); font-size: .82rem; line-height: 1.5; }
.pp-mission-page .pp-mission-image-portrait { max-width: 560px; }
.pp-mission-page .pp-mission-image-history { max-width: 760px; }
.pp-mission-page .pp-mission-content section[id],
.pp-mission-page .pp-mission-sources[id] { scroll-margin-top: 6rem; }
.pp-mission-page .pp-mission-sources { padding: clamp(3rem, 5vw, 4.5rem) 0; background: var(--mission-cream); }
.pp-mission-page .pp-mission-section-heading { max-width: 760px; margin-bottom: 1.6rem; }
.pp-mission-page .pp-mission-section-heading h2,
.pp-mission-page .pp-mission-next h2 { margin: .45rem 0 .8rem; color: var(--mission-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 500; }
.pp-mission-page .pp-mission-section-heading p { margin: 0; color: var(--mission-muted); line-height: 1.7; }
.pp-mission-page .pp-mission-source-grid,
.pp-mission-page .pp-mission-next-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.pp-mission-page .pp-mission-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pp-mission-page .pp-mission-source-grid > div,
.pp-mission-page .pp-mission-next-grid > a { min-width: 0; padding: 1.3rem; border: 1px solid var(--mission-line); border-radius: .6rem; background: #fff; }
.pp-mission-page .pp-mission-source-grid span,
.pp-mission-page .pp-mission-next-grid span { display: block; margin-bottom: .55rem; color: var(--mission-accent); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pp-mission-page .pp-mission-source-grid strong,
.pp-mission-page .pp-mission-next-grid strong { display: block; color: var(--mission-ink); font-size: 1.05rem; line-height: 1.4; }
.pp-mission-page .pp-mission-source-grid p { margin: .7rem 0 0; color: var(--mission-muted); font-size: .85rem; line-height: 1.6; }
.pp-mission-page .pp-mission-article-footer { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--mission-line); color: var(--mission-muted); background: transparent; font-size: .84rem; }
.pp-mission-page .pp-mission-article-footer p { margin: 0; }
.pp-mission-page .pp-mission-next { padding: clamp(3rem, 5vw, 4.5rem) 0; background: var(--mission-paper); }
.pp-mission-page .pp-mission-next-grid > a { display: block; color: var(--mission-ink); text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.pp-mission-page .pp-mission-next-grid > a:hover { border-color: rgba(154, 68, 45, .5); transform: translateY(-3px); }
.pp-mission-page :focus-visible { outline: 3px solid var(--mission-accent); outline-offset: 3px; }
.pp-mission-page .pp-site-footer { overflow-x: clip; }

@media (max-width: 991.98px) {
  .pp-mission-page .pp-mission-hero-grid { grid-template-columns: 1fr; }
  .pp-mission-page .pp-mission-hero h1 { max-width: 17ch; }
  .pp-mission-page .pp-mission-hero-figure { max-width: 760px; }
  .pp-mission-page .pp-mission-layout { grid-template-columns: 1fr; }
  .pp-mission-page .pp-mission-aside { position: static; order: -1; }
}
@media (max-width: 767.98px) {
  .pp-mission-page .pp-mission-hero { padding-bottom: 3.5rem; }
  .pp-mission-page .pp-mission-breadcrumb { margin-bottom: 2.7rem; }
  .pp-mission-page .pp-mission-source-grid,
  .pp-mission-page .pp-mission-next-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .pp-mission-page .pp-mission-hero h1 { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .pp-mission-page .pp-mission-facts,
  .pp-mission-page .pp-mission-steps { grid-template-columns: 1fr; }
  .pp-mission-page .pp-mission-meta { display: grid; }
  .pp-mission-page .pp-mission-aside { padding: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .pp-mission-page .pp-mission-next-grid > a { transition: none; }
  .pp-mission-page .pp-mission-next-grid > a:hover { transform: none; }
}
