/* ==========================================================================
   Moore Cooperative — Pitt palette theme
   Loaded after main.css / utility.css so it can override brand colors on
   pages that opt in via `body.theme-pitt`.
   ========================================================================== */

body.theme-pitt {
  --pitt-blue: #003594;
  --pitt-blue-deep: #001e6c;
  --pitt-blue-soft: #1a4bab;
  --pitt-gold: #FFB81C;
  --pitt-gold-deep: #e0a012;
  --pitt-ink: #0b1a3a;
  --pitt-cream: #f4f2ec;
  --pitt-cream-2: #eeece5;
  --pitt-teal: #2c8a97;
  --pitt-forest: #17513c;
  --pitt-muted: #6b7280;

  background-color: var(--pitt-cream);
  color: var(--pitt-ink);
  padding: 0 !important;
}

body.theme-pitt .overflow-x-hidden.rounded-top-4 {
  border-radius: 0 !important;
  padding-top: 0 !important;
}

/* ---------- Typography ---------- */
body.theme-pitt {
  font-family: "AvenirPro35Light", "Avenir", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}
.theme-pitt .pitt-display,
.theme-pitt h1,
.theme-pitt h2,
.theme-pitt h3,
.theme-pitt h4,
.theme-pitt h5,
.theme-pitt h6,
.theme-pitt .h1,
.theme-pitt .h2,
.theme-pitt .h3,
.theme-pitt .h4,
.theme-pitt .h5,
.theme-pitt .h6 {
  font-family: "Fraunces", "Georgia", serif;
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 0;
  letter-spacing: -0.01em;
}
.theme-pitt .pitt-eyebrow {
  font-family: "AvenirPro65Medium", "AvenirPro35Light", "Avenir", "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.78rem;
  color: #8a857a;
  font-weight: 600;
}
.theme-pitt .pitt-eyebrow.on-blue {
  color: #b8cff5;
}
.theme-pitt .pitt-eyebrow.on-blue-accent {
  color: #FFB81C;
}

/* ---------- Backgrounds ---------- */
.theme-pitt .bg-pitt-blue    { background-color: var(--pitt-blue) !important; }
.theme-pitt .bg-pitt-deep    { background-color: var(--pitt-blue-deep) !important; }
.theme-pitt .bg-pitt-cream   { background-color: var(--pitt-cream) !important; }
.theme-pitt .bg-pitt-cream-2 { background-color: var(--pitt-cream-2) !important; }
.theme-pitt .bg-pitt-white   { background-color: #ffffff !important; }
.theme-pitt .bg-pitt-forest  { background-color: var(--pitt-forest) !important; }

.theme-pitt .text-pitt-blue  { color: var(--pitt-blue) !important; }
.theme-pitt .text-pitt-gold  { color: var(--pitt-gold) !important; }
.theme-pitt .text-pitt-ink   { color: var(--pitt-ink) !important; }
.theme-pitt .text-pitt-muted { color: var(--pitt-muted) !important; }
.theme-pitt .text-pitt-cream { color: var(--pitt-cream) !important; }
.theme-pitt .text-pitt-teal  { color: var(--pitt-teal) !important; }
.theme-pitt .text-pitt-forest{ color: var(--pitt-forest) !important; }

/* ---------- Header / Navigation ---------- */
.theme-pitt .pitt-topbar {
  background-color: var(--pitt-blue);
}
.theme-pitt .pitt-topbar .navbar-brand img {
  height: 62px;
  width: auto;
}
@media (min-width: 576px) {
  .theme-pitt .pitt-topbar .navbar-brand img { height: 72px; }
}
@media (min-width: 768px) {
  .theme-pitt .pitt-topbar .navbar-brand img { height: 76px; }
}
@media (min-width: 992px) {
  .theme-pitt .pitt-topbar .navbar-brand img { height: 92px; }
}
@media (min-width: 1200px) {
  .theme-pitt .pitt-topbar .navbar-brand img { height: 104px; }
}
.theme-pitt .pitt-topbar .nav-link {
  color: #ffffff !important;
  font-weight: 500;
  font-size: 1rem;
  padding: 0.5rem 0.9rem !important;
  border-radius: 0;
}
.theme-pitt .pitt-topbar .nav-link:hover,
.theme-pitt .pitt-topbar .nav-link.active {
  color: var(--pitt-blue) !important;
  background-color: #ffffff;
  border-radius: 999px;
  padding: 0.4rem 1rem !important;
  font-weight: 600;
}
.theme-pitt .pitt-topbar .nav-link.active:hover,
.theme-pitt .pitt-topbar .nav-link:hover {
  background-color: #f4f2ec;
}
.theme-pitt .pitt-topbar .navbar-toggler {
  color: #fff;
  border-color: rgba(255,255,255,0.4);
}
.theme-pitt .pitt-topbar .navbar-toggler-icon {
  filter: invert(1);
}
.theme-pitt .pitt-topbar .dropdown-menu {
  background-color: var(--pitt-blue-deep);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 0.5rem;
  padding: 0.5rem 0;
}
.theme-pitt .pitt-topbar .dropdown-item {
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 0.95rem;
}
.theme-pitt .pitt-topbar .dropdown-item:hover,
.theme-pitt .pitt-topbar .dropdown-item:focus {
  background-color: var(--pitt-blue-soft);
  color: var(--pitt-gold);
}

/* ---------- Buttons ---------- */
.theme-pitt .btn-pitt-gold {
  background-color: var(--pitt-gold);
  color: var(--pitt-blue);
  font-weight: 600;
  border: 2px solid var(--pitt-gold);
  padding: 0.65rem 1.4rem;
  border-radius: 0.35rem;
  transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.theme-pitt .btn-pitt-gold:hover,
.theme-pitt .btn-pitt-gold:focus {
  background-color: var(--pitt-gold-deep);
  border-color: var(--pitt-gold-deep);
  color: var(--pitt-blue);
}
.theme-pitt .btn-pitt-outline-light {
  background-color: transparent;
  color: #ffffff;
  font-weight: 600;
  border: 2px solid #ffffff;
  padding: 0.65rem 1.4rem;
  border-radius: 0.35rem;
  transition: background-color .15s ease, color .15s ease;
}
.theme-pitt .btn-pitt-outline-light:hover,
.theme-pitt .btn-pitt-outline-light:focus {
  background-color: #ffffff;
  color: var(--pitt-blue);
}
.theme-pitt .btn-pitt-blue {
  background-color: var(--pitt-blue);
  color: #ffffff;
  font-weight: 600;
  border: 2px solid var(--pitt-blue);
  padding: 0.85rem 2rem;
  border-radius: 999px;
  transition: background-color .15s ease, color .15s ease;
}
.theme-pitt .btn-pitt-blue:hover,
.theme-pitt .btn-pitt-blue:focus {
  background-color: var(--pitt-blue-deep);
  border-color: var(--pitt-blue-deep);
  color: #ffffff;
}
.theme-pitt .btn-pitt-outline-blue {
  background-color: transparent;
  color: var(--pitt-blue);
  font-weight: 600;
  border: 2px solid var(--pitt-blue);
  padding: 0.85rem 2rem;
  border-radius: 999px;
}
.theme-pitt .btn-pitt-outline-blue:hover {
  background-color: var(--pitt-blue);
  color: #ffffff;
}

/* ---------- Hero ---------- */
.theme-pitt .pitt-hero {
  background-color: var(--pitt-blue);
  color: #ffffff;
  padding-top: 3rem;
  padding-bottom: 0;
  position: relative;
}
.theme-pitt .pitt-hero h1 {
  font-size: clamp(2.1rem, 5vw + 1rem, 3.75rem);
  font-weight: 600;
  line-height: 1.1;
  color: #ffffff;
}
.theme-pitt .pitt-hero h1 .accent {
  color: var(--pitt-gold);
}
.theme-pitt .pitt-hero p.lead {
  color: #dbe4f6;
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Wave Dividers ----------
   Each divider is an absolutely-positioned block sitting flush at the top
   or bottom of its parent section. The parent must be position:relative.
*/
.theme-pitt .pitt-section { position: relative; }

.theme-pitt .pitt-wave {
  position: relative;
  width: 100%;
  line-height: 0;
  display: block;
  /* Prevents a 1px seam between the wave SVG and the next section on
     mobile widths where sub-pixel rounding leaves a gap. */
  margin-bottom: -1px;
}
.theme-pitt .pitt-wave svg {
  display: block;
  width: 100%;
  height: 60px;
}
@media (min-width: 768px) {
  .theme-pitt .pitt-wave svg { height: 90px; }
}

/* ---------- Trusted-by ---------- */
.theme-pitt .pitt-trusted {
  background-color: var(--pitt-cream);
  padding: 2rem 0 2.25rem;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.theme-pitt .pitt-trusted .trusted-name {
  font-family: "Fraunces", "Georgia", serif;
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 0;
  font-size: 1.5rem;
  color: #8a857a;
  font-weight: 600;
}
.theme-pitt .pitt-trusted .trusted-logo {
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 36px;
  width: auto;
  margin: 0 auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.9;
  transition: filter .15s ease, opacity .15s ease;
}
.theme-pitt .pitt-trusted .trusted-logo.trusted-logo-tall {
  max-height: 80px;
}
.theme-pitt .pitt-trusted .trusted-logo:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* ---------- Pay Transparency country pill nav ---------- */
.theme-pitt .pt-country-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #ffffff;
  color: var(--pitt-blue);
  border: 1px solid var(--pitt-blue);
  border-radius: 999px;
  padding: 0.45rem 1rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
.theme-pitt .pt-country-pill:hover {
  background: var(--pitt-blue);
  color: #ffffff;
  text-decoration: none;
}
.theme-pitt .pt-country-pill.active {
  background: var(--pitt-blue);
  color: #ffffff;
  cursor: default;
}

/* ---------- Service cards ---------- */
.theme-pitt .pitt-services {
  background-color: var(--pitt-cream);
  padding: 2.5rem 0 0;
}
.theme-pitt .pitt-service-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  padding: 1.75rem 1.6rem;
  height: 100%;
  transition: box-shadow .15s ease, transform .15s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.theme-pitt .pitt-service-card:hover {
  box-shadow: 0 10px 24px rgba(0,53,148,0.10);
  transform: translateY(-2px);
}
.theme-pitt .pitt-service-card h3 {
  color: var(--pitt-blue);
  font-weight: 700;
  font-size: 1.4rem;
  margin-top: 1.25rem;
  margin-bottom: 0.65rem;
}
.theme-pitt .pitt-service-card p {
  color: #4b5563;
  margin: 0;
  line-height: 1.55;
}
.theme-pitt .pitt-service-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.6rem;
}
.theme-pitt .pitt-service-icon.bg-blue  { background: var(--pitt-blue); }
.theme-pitt .pitt-service-icon.bg-gold  { background: var(--pitt-gold); color: var(--pitt-blue); }
.theme-pitt .pitt-service-icon.bg-teal  { background: #55917f; }
.theme-pitt a.pitt-service-icon {
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.theme-pitt a.pitt-service-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,53,148,0.20);
}

/* ---------- Process bullets ---------- */
.theme-pitt .pitt-process {
  background-color: #ffffff;
  padding: 4rem 0 0;
}
.theme-pitt .pitt-process h2 {
  color: var(--pitt-blue);
  font-weight: 700;
  font-size: clamp(1.75rem, 3vw + 1rem, 2.5rem);
  line-height: 1.15;
}
.theme-pitt .pitt-process ul {
  list-style: none;
  padding-left: 0;
  color: var(--pitt-blue);
  font-size: 1.15rem;
  line-height: 1.65;
}
.theme-pitt .pitt-process ul li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 1.1rem;
}
.theme-pitt .pitt-process ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 7px;
  height: 7px;
  background: var(--pitt-blue);
  border-radius: 50%;
}

/* ---------- Pay Equity feature block ---------- */
.theme-pitt .pitt-payequity {
  background-color: #55917f;
  padding: 1rem 0 0;
  color: #ffffff;
}
.theme-pitt .pitt-payequity h2 {
  color: #ffffff;
  font-weight: 700;
  font-size: clamp(1.9rem, 3vw + 1rem, 2.75rem);
  line-height: 1.15;
}
.theme-pitt .pitt-payequity p { color: #d6e4dc; }
.theme-pitt .pitt-payequity a.text-pitt-blue { color: var(--pitt-gold) !important; }
.theme-pitt .pitt-payequity .text-pitt-muted { color: #a9c1b3 !important; }
.theme-pitt .pitt-payequity .text-pitt-ink { color: #eef4f0 !important; }

/* ---------- Testimonial / Contact ---------- */
.theme-pitt .pitt-contact {
  background-color: var(--pitt-blue-deep);
  color: #ffffff;
  padding: 4rem 0;
}
.theme-pitt .pitt-contact a { color: var(--pitt-gold); }
.theme-pitt .pitt-contact h2 { color: #ffffff; font-weight: 700; }
.theme-pitt .pitt-contact .subscribe-input {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.25);
  color: #fff;
}
.theme-pitt .pitt-contact .subscribe-input::placeholder { color: rgba(255,255,255,0.55); }

/* ---------- Footer ---------- */
.theme-pitt .pitt-future-proof {
  background: var(--pitt-cream);
}
.theme-pitt .pitt-future-proof h2 {
  color: var(--pitt-blue);
  font-family: "Fraunces", "Georgia", serif;
  font-variation-settings: "SOFT" 0, "WONK" 0;
}
.theme-pitt footer {
  background: #ffffff;
  color: var(--pitt-ink);
}
.theme-pitt footer a { color: var(--pitt-blue); }
.theme-pitt footer a:hover { color: var(--pitt-gold-deep); }

/* Future-proof CTA (footer top) */
.theme-pitt footer h2 { color: var(--pitt-blue); font-family: "Fraunces", "Georgia", serif; }
.theme-pitt footer .btn.btn-dark,
.theme-pitt .pitt-future-proof .btn.btn-dark {
  background-color: var(--pitt-blue) !important;
  border-color: var(--pitt-blue) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 0.75rem 1.75rem !important;
  font-weight: 600 !important;
}
.theme-pitt footer .btn.btn-dark:hover,
.theme-pitt .pitt-future-proof .btn.btn-dark:hover {
  background-color: var(--pitt-blue-deep) !important;
  border-color: var(--pitt-blue-deep) !important;
  color: #ffffff !important;
}

/* Sans-serif ampersand inside serif headings */
.theme-pitt .amp-sans {
  font-family: "AvenirPro35Light", "Avenir", "Avenir Next", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

/* ---------- Utilities ---------- */
.theme-pitt .rounded-lg-16 { border-radius: 16px !important; }
.theme-pitt .maxw-720 { max-width: 720px; }
.theme-pitt .maxw-880 { max-width: 880px; }
.theme-pitt .maxw-1080 { max-width: 1080px; }

/* ---------- Subpage hero: "White canvas" (Option A) ------------------------
   Structure:
     <section class="pitt-hero-white pitt-section">
       <div class="pitt-hero-wave-in"><svg><path fill="#fff" .../></svg></div>
       <div class="pitt-hero-body"> ...content... </div>
     </section>
--------------------------------------------------------------------------- */
.theme-pitt .pitt-hero-white {
  background-color: #ffffff;
  position: relative;
}
.theme-pitt .pitt-hero-wave-in {
  background-color: var(--pitt-blue);
  line-height: 0;
  /* Prevents a 1px seam at the top of the white hero on mobile widths. */
  margin-bottom: -1px;
}
.theme-pitt .pitt-hero-wave-in svg {
  display: block;
  width: 100%;
  height: 50px;
}
@media (min-width: 768px) {
  .theme-pitt .pitt-hero-wave-in svg { height: 80px; }
}
.theme-pitt .pitt-hero-body {
  padding: 1rem 0 4rem;
}
@media (min-width: 768px) {
  .theme-pitt .pitt-hero-body { padding: 1.75rem 0 5rem; }
}
.theme-pitt .pitt-hero-body .pitt-eyebrow {
  color: var(--pitt-blue);
  letter-spacing: 0.22em;
}
.theme-pitt .pitt-hero-body h1 {
  color: var(--pitt-blue-deep);
  font-weight: 700;
  font-size: clamp(2.25rem, 5vw + 1rem, 4rem);
  line-height: 1.05;
  margin-bottom: 1.5rem;
  /* Balance line lengths so short trailing words like "with" don't sit
     alone on a line on narrow mobile widths. */
  text-wrap: balance;
}
.theme-pitt .pitt-hero-body h1 .gold-underline {
  display: inline;
  color: var(--pitt-blue-deep);
  background-image: linear-gradient(transparent 18%, rgba(255,184,28,0.85) 18%, rgba(255,184,28,0.85) 96%, transparent 96%);
  background-repeat: no-repeat;
  padding: 0 0.05em;
}
.theme-pitt .pitt-hero-body .lead {
  color: #33384b;
  font-size: 1.15rem;
  line-height: 1.6;
  max-width: 640px;
}
.theme-pitt .pitt-hero-body .rule {
  display: inline-block;
  width: 3rem;
  height: 3px;
  background: var(--pitt-gold);
  margin-bottom: 1.25rem;
}
.theme-pitt .pitt-hero-body .breadcrumb-line {
  color: var(--pitt-muted);
  font-size: 0.95rem;
  margin-bottom: 1rem;
}
.theme-pitt .pitt-hero-body .breadcrumb-line a {
  color: var(--pitt-blue);
  text-decoration: none;
}
.theme-pitt .pitt-hero-body .breadcrumb-line a:hover {
  text-decoration: underline;
}

/* ---------- Section: standard heading intro (used on inner pages) ---------- */
.theme-pitt .pitt-intro {
  background-color: var(--pitt-cream);
  padding: 3.5rem 0 0;
}.theme-pitt .pitt-intro h1 {
  color: var(--pitt-blue);
  font-weight: 700;
  font-size: clamp(2.1rem, 4vw + 1rem, 3.25rem);
  line-height: 1.1;
}
.theme-pitt .pitt-intro p {
  font-size: 1.15rem;
  line-height: 1.65;
  color: #33384b;
}

/* ---------- Pricing / package cards ---------- */
.theme-pitt .pitt-packages {
  background-color: var(--pitt-cream);
  padding: 0 0 0;
}

/* ---------- Principles strip (inner pages) ---------- */
.theme-pitt .pitt-principles {
  background-color: var(--pitt-cream);
  padding: 3rem 0 2.5rem;
}
.theme-pitt .pitt-principle {
  padding: 0.5rem 0.25rem;
}
.theme-pitt .pitt-principle-num {
  font-family: "Fraunces", "Georgia", serif;
  font-variation-settings: "SOFT" 0, "WONK" 0;
  font-weight: 700;
  color: var(--pitt-gold);
  font-size: 2.25rem;
  line-height: 1;
  margin-bottom: 0.5rem;
}
.theme-pitt .pitt-principle h4 {
  color: var(--pitt-blue);
  font-weight: 700;
  font-size: 1.15rem;
  margin-bottom: 0.5rem;
}
.theme-pitt .pitt-principle p {
  color: #4b5563;
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
}

/* ---------- About Us: leadership & team ---------- */
.theme-pitt .pitt-leaders {
  background-color: #ffffff;
  padding: 4rem 0 0;
}
.theme-pitt .pitt-leader {
  padding: 2rem 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.theme-pitt .pitt-leader:last-child { border-bottom: 0; }
.theme-pitt .pitt-leader h2 {
  color: var(--pitt-blue);
  font-weight: 700;
  font-size: clamp(1.9rem, 3vw + 0.75rem, 2.5rem);
  line-height: 1.1;
  margin-bottom: 0.25rem;
}
.theme-pitt .pitt-leader h3 {
  color: var(--pitt-gold-deep);
  font-family: "AvenirPro65Medium", "AvenirPro35Light", "Avenir", "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
.theme-pitt .pitt-leader p {
  color: #33384b;
  font-size: 1.05rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.theme-pitt .pitt-leader-photo {
  width: 100%;
  max-width: 260px;
  border-radius: 999px;
  display: block;
  margin: 0 auto 1.25rem;
  border: 4px solid var(--pitt-cream);
  box-shadow: 0 6px 18px rgba(0,53,148,0.10);
}
.theme-pitt .pitt-leader .pitt-social a {
  color: var(--pitt-blue);
  font-size: 1.4rem;
  margin: 0 0.5rem;
  transition: color .15s ease;
}
.theme-pitt .pitt-leader .pitt-social a:hover {
  color: var(--pitt-gold-deep);
}

/* Cooperative model callout */
.theme-pitt .pitt-model {
  background-color: var(--pitt-cream);
  padding: 4rem 0 0;
}
.theme-pitt .pitt-model h2 {
  color: var(--pitt-blue);
  font-weight: 700;
  font-size: clamp(2rem, 3vw + 1rem, 2.75rem);
  line-height: 1.15;
}
.theme-pitt .pitt-model p {
  color: #33384b;
  font-size: 1.1rem;
  line-height: 1.65;
}

/* Extended team grid */
.theme-pitt .pitt-team {
  background-color: #ffffff;
  padding: 4rem 0 0;
}
.theme-pitt .pitt-team h2 {
  color: var(--pitt-blue);
  font-weight: 700;
  font-size: clamp(2rem, 3vw + 1rem, 2.75rem);
  line-height: 1.15;
}
.theme-pitt .pitt-team-card {
  padding: 1.5rem 0.5rem;
  text-align: center;
}
.theme-pitt .pitt-team-card h3 {
  color: var(--pitt-blue);
  font-weight: 700;
  font-size: 1.35rem;
  margin: 0.75rem 0 0.5rem;
}
.theme-pitt .pitt-team-card p {
  color: #33384b;
  font-size: 0.98rem;
  line-height: 1.6;
  text-align: left;
}
.theme-pitt .pitt-team-photo {
  width: 180px;
  height: 180px;
  object-fit: cover;
  border-radius: 999px;
  border: 4px solid var(--pitt-cream);
  box-shadow: 0 6px 18px rgba(0,53,148,0.10);
  margin: 0 auto;
  display: block;
}
.theme-pitt .pitt-team-card .pitt-social a {
  color: var(--pitt-blue);
  font-size: 1.25rem;
  margin: 0 0.35rem;
}
.theme-pitt .pitt-team-card .pitt-social a:hover {
  color: var(--pitt-gold-deep);
}.theme-pitt .pitt-package {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 1.75rem 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
  transition: box-shadow .15s ease, transform .15s ease;
}
.theme-pitt .pitt-package:hover {
  box-shadow: 0 12px 28px rgba(0,53,148,0.10);
  transform: translateY(-2px);
}
.theme-pitt .pitt-package .pitt-package-head {
  padding: 1.25rem 1.25rem 1.15rem;
  border-radius: 10px;
  margin-bottom: 1.25rem;
}
.theme-pitt .pitt-package .pitt-package-head h3 {
  font-weight: 700;
  margin-bottom: 0.35rem;
  font-size: 1.4rem;
}
.theme-pitt .pitt-package .pitt-package-head p {
  margin: 0;
  font-size: 1rem;
  font-family: "AvenirPro35Light", "Avenir", "Helvetica Neue", Arial, sans-serif;
}
.theme-pitt .pitt-package-head.head-gold {
  background: var(--pitt-gold);
  color: var(--pitt-blue);
}
.theme-pitt .pitt-package-head.head-gold h3,
.theme-pitt .pitt-package-head.head-gold p { color: var(--pitt-blue); }

.theme-pitt .pitt-package-head.head-blue {
  background: var(--pitt-blue);
  color: #ffffff;
}
.theme-pitt .pitt-package-head.head-blue h3,
.theme-pitt .pitt-package-head.head-blue p { color: #ffffff; }

.theme-pitt .pitt-package-head.head-cream {
  background: var(--pitt-cream-2);
  color: var(--pitt-blue);
  border: 1px solid rgba(0,53,148,0.15);
}
.theme-pitt .pitt-package-head.head-cream h3,
.theme-pitt .pitt-package-head.head-cream p { color: var(--pitt-blue); }

.theme-pitt .pitt-package ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.theme-pitt .pitt-package ul li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 0.85rem;
  color: #33384b;
  line-height: 1.5;
  font-size: 0.98rem;
}
.theme-pitt .pitt-package ul li::before {
  content: "\F26E"; /* bootstrap-icons check */
  font-family: "bootstrap-icons";
  position: absolute;
  left: 0;
  top: -0.05rem;
  color: var(--pitt-blue);
  font-size: 1.25rem;
  line-height: 1;
}
.theme-pitt .pitt-package.gold-check ul li::before { color: var(--pitt-gold-deep); }

/* Card variants: whole-card color fills */
.theme-pitt .pitt-package.card-blue {
  background: var(--pitt-blue);
  border-color: var(--pitt-blue);
}
.theme-pitt .pitt-package.card-blue .pitt-package-head {
  background: transparent;
  padding: 0.25rem 0 0.9rem;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  margin-bottom: 1.25rem;
  color: #ffffff;
}
.theme-pitt .pitt-package.card-blue .pitt-package-head h3,
.theme-pitt .pitt-package.card-blue .pitt-package-head p { color: #ffffff; }
.theme-pitt .pitt-package.card-blue ul li { color: #eaf0fb; }
.theme-pitt .pitt-package.card-blue ul li strong { color: #ffffff; }
.theme-pitt .pitt-package.card-blue ul li::before { color: var(--pitt-gold); }

.theme-pitt .pitt-package.card-gold {
  background: var(--pitt-gold);
  border-color: var(--pitt-gold);
}
.theme-pitt .pitt-package.card-gold .pitt-package-head {
  background: transparent;
  padding: 0.25rem 0 0.9rem;
  border-bottom: 1px solid rgba(0,53,148,0.25);
  margin-bottom: 1.25rem;
  color: var(--pitt-blue);
}
.theme-pitt .pitt-package.card-gold .pitt-package-head h3,
.theme-pitt .pitt-package.card-gold .pitt-package-head p { color: var(--pitt-blue); }
.theme-pitt .pitt-package.card-gold ul li { color: var(--pitt-blue-deep); }
.theme-pitt .pitt-package.card-gold ul li strong { color: var(--pitt-blue-deep); }
.theme-pitt .pitt-package.card-gold ul li::before { color: var(--pitt-blue); }

.theme-pitt .pitt-lane-labels h4 {
  font-family: "AvenirPro65Medium", "AvenirPro35Light", "Avenir", "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.85rem;
  color: var(--pitt-blue);
  font-weight: 700;
  padding-bottom: 0.4rem;
  border-bottom: 3px solid var(--pitt-gold);
  display: inline-block;
}
.theme-pitt .pitt-lane-labels h4.lane-blue {
  color: var(--pitt-blue);
  border-bottom-color: var(--pitt-blue);
}

/* ---------- Dark blue "process" section (inner pages) ---------- */
.theme-pitt .pitt-audit {
  background-color: var(--pitt-blue-deep);
  color: #ffffff;
  padding: 4rem 0 0;
}
.theme-pitt .pitt-audit h2 { color: #ffffff; font-weight: 700; }
.theme-pitt .pitt-audit .lead { color: #cfd8ee; font-size: 1.1rem; line-height: 1.6; }
.theme-pitt .pitt-audit .step-label {
  font-family: "Fraunces", "Georgia", serif;
  font-variation-settings: "SOFT" 0, "WONK" 0;
  color: var(--pitt-gold);
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.1;
}
.theme-pitt .pitt-audit .step-body {
  color: #dbe4f6;
  font-size: 1.05rem;
  line-height: 1.6;
}

/* ---------- Stat callout ---------- */
.theme-pitt .pitt-stat {
  background-color: var(--pitt-cream);
  padding: 3.5rem 0 0;
}
.theme-pitt .pitt-stat .stat-line {
  color: var(--pitt-blue);
  font-family: "Fraunces", "Georgia", serif;
  font-variation-settings: "SOFT" 0, "WONK" 0;
  font-weight: 700;
  font-size: clamp(1.4rem, 2.4vw + .5rem, 2rem);
  line-height: 1.25;
}
.theme-pitt .pitt-stat .stat-follow {
  color: #33384b;
  font-size: 1.1rem;
  line-height: 1.5;
  margin-top: .75rem;
}
.theme-pitt .pitt-stat .stat-source {
  color: #8a857a;
  font-size: .85rem;
  margin-top: 1rem;
}
