/* ============================================================
   PARTNERS  —  /about-us/partners
   Sections: hero / roster grid (per tier) / closing strip
============================================================ */

body { background: #fff; color: var(--navy); font-family: var(--font-sans); }

/* ------------------------------------------------------------
   1. HERO  —  small editorial intro
------------------------------------------------------------ */
.ptr-hero {
  padding: clamp(110px, 12vw, 170px) clamp(20px, 5vw, 80px) clamp(40px, 5vw, 64px);
  background: #fff;
}
.ptr-hero__wrap { max-width: 1380px; margin: 0 auto; }
.ptr-hero__crumb {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 0.78rem; font-weight: 500;
  color: rgba(11,30,61,0.55);
  margin-bottom: clamp(20px, 2.5vw, 32px);
}
.ptr-hero__crumb a { color: rgba(11,30,61,0.78); text-decoration: none; transition: color 0.3s ease; }
.ptr-hero__crumb a:hover { color: var(--gold); }
.ptr-hero__crumb span[aria-hidden] { color: rgba(11,30,61,0.32); }

.ptr-hero__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin: 0 0 14px;
  max-width: 18ch;
}
.ptr-hero__title em { font-style: italic; font-weight: 400; color: var(--gold); }

.ptr-hero__lede {
  font-family: var(--font-sans);
  font-size: clamp(1rem, 1.1vw, 1.1rem);
  line-height: 1.6;
  color: rgba(11,30,61,0.72);
  margin: 0;
  max-width: 60ch;
}
.ptr-hero__lede em { font-style: italic; color: var(--navy); font-weight: 500; }


/* ------------------------------------------------------------
   1b. PARTNERS / FOUNDING STORY  —  verbatim text + founder photos
------------------------------------------------------------ */
.ptr-founder {
  padding: clamp(20px, 3vw, 48px) clamp(20px, 5vw, 80px) clamp(48px, 6vw, 90px);
  background: #fff;
}
.ptr-founder__wrap {
  max-width: 1380px; margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(36px, 5vw, 90px);
  align-items: center;
}
.ptr-founder__eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-sans);
  font-size: 0.72rem; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 16px;
}
.ptr-founder__eyebrow-dot {
  width: 6px; height: 6px; border-radius: 999px; background: var(--gold);
  box-shadow: 0 0 0 3px rgba(184,150,110,0.16);
}
.ptr-founder__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.02;
  letter-spacing: -0.022em;
  color: var(--navy);
  margin: 0 0 clamp(18px, 2vw, 26px);
}
/* Bold variant for the "Founding Partners" heading — replaces the
   former eyebrow + h2 pairing with a single visually-strong line. */
.ptr-founder__title--bold {
  font-weight: 700;
  letter-spacing: -0.025em;
}
.ptr-founder__copy p {
  font-family: var(--font-sans);
  font-size: clamp(0.96rem, 1.02vw, 1.04rem);
  line-height: 1.75;
  color: rgba(11,30,61,0.74);
  margin: 0 0 1.1em;
}
.ptr-founder__copy p:last-child { margin-bottom: 0; }

/* Founder photo collage — two B&W portraits + accent blocks (our palette) */
.ptr-founder__collage {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(8, minmax(0, 1fr));
  gap: clamp(10px, 1.2vw, 16px);
  aspect-ratio: 1 / 1;
}
.ptr-founder__photo { margin: 0; border-radius: 12px; overflow: hidden; background: #ececea; }
.ptr-founder__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.02); transition: transform 1s var(--ease-butter); }
.ptr-founder__photo:hover img { transform: scale(1.04); }
.ptr-founder__photo--a { grid-column: 1 / 4; grid-row: 1 / 7; box-shadow: 0 24px 48px -28px rgba(11,30,61,0.4); }
.ptr-founder__photo--b { grid-column: 4 / 7; grid-row: 2 / 8; box-shadow: 0 24px 48px -28px rgba(11,30,61,0.4); }
.ptr-founder__block { border-radius: 12px; }
.ptr-founder__block--navy { grid-column: 1 / 3; grid-row: 7 / 9; background: var(--navy); }
.ptr-founder__block--gold { grid-column: 3 / 4; grid-row: 7 / 9; background: var(--gold); }
.ptr-founder__block--line { grid-column: 4 / 7; grid-row: 1 / 2; border: 1px solid rgba(184,150,110,0.5); border-radius: 12px; background: transparent; }


/* ------------------------------------------------------------
   1c. TIER NAV BAND  —  sticky jump links to each tier
------------------------------------------------------------ */
.ptr-nav {
  position: sticky; top: 64px; z-index: 20;
  background: rgba(247,245,240,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 1px solid rgba(11,30,61,0.06);
  border-bottom: 1px solid rgba(11,30,61,0.06);
}
.ptr-nav__wrap {
  max-width: 1380px; margin: 0 auto;
  padding: 14px clamp(20px, 5vw, 80px);
  display: flex; flex-wrap: wrap; gap: clamp(20px, 3vw, 48px);
  justify-content: center;
}
.ptr-nav__link {
  font-family: var(--font-sans);
  font-size: 0.92rem; font-weight: 500;
  color: rgba(11,30,61,0.7);
  text-decoration: none;
  position: relative;
  padding-bottom: 3px;
  transition: color 0.3s ease;
}
.ptr-nav__link::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: 0;
  height: 2px; background: var(--gold);
  transition: right 0.35s var(--ease-butter);
}
.ptr-nav__link:hover { color: var(--navy); }
.ptr-nav__link:hover::after { right: 0; }
@media (max-width: 600px) {
  .ptr-nav__wrap { gap: 14px 24px; }
  .ptr-nav__link { font-size: 0.82rem; }
}
@media (max-width: 920px) {
  .ptr-founder__wrap { grid-template-columns: 1fr; gap: clamp(28px, 5vw, 44px); }
  .ptr-founder__collage { max-width: 460px; }
}


/* Practice area + qualifications on partner cards.
   Both use a small gold uppercase label on its own line, with
   dark navy body text underneath for full legibility. */
.ptr-card__practice {
  font-family: var(--font-sans);
  font-size: 0.86rem;
  line-height: 1.5;
  color: rgba(11,30,61,0.88);
  margin: 10px 0 0;
}
.ptr-card__practice span {
  display: block;
  font-size: 0.66rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 4px;
}
.ptr-card__quals {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  line-height: 1.5;
  color: rgba(11,30,61,0.82);
  margin: 10px 0 0;
}
.ptr-card__quals span {
  display: block;
  font-size: 0.66rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 4px;
}


/* ------------------------------------------------------------
   1b. ORIGIN  —  founder spotlight + founding story  (legacy / unused)
------------------------------------------------------------ */
.ptr-origin {
  padding: clamp(40px, 5vw, 72px) clamp(20px, 5vw, 80px) clamp(60px, 7vw, 110px);
  background: #fff;
}
.ptr-origin__head {
  max-width: 1180px;
  margin: 0 auto clamp(36px, 4vw, 56px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 80px);
  align-items: end;
}
.ptr-origin__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(2rem, 4.4vw, 3.6rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin: 0;
}
.ptr-origin__title em { font-style: italic; font-weight: 400; color: var(--gold); }
.ptr-origin__lede {
  font-family: var(--font-sans);
  font-size: clamp(0.95rem, 1.05vw, 1.05rem);
  line-height: 1.65;
  color: rgba(11,30,61,0.7);
  margin: 0;
}

/* CAROUSEL ROW */
.ptr-origin__carousel {
  position: relative;
  max-width: 1380px;
  margin: 0 auto;
}
.ptr-origin__track {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: clamp(14px, 1.6vw, 22px);
  align-items: stretch;
}
.ptr-origin__card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: clamp(380px, 42vw, 480px);
  box-shadow: 0 14px 32px -22px rgba(11,30,61,0.30);
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1), box-shadow 0.6s cubic-bezier(0.16,1,0.3,1);
}
.ptr-origin__card:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -22px rgba(11,30,61,0.34); }

/* Side cards (portraits) */
.ptr-origin__card--side {
  background: #ececea;
  background-image: linear-gradient(180deg, #f3f1ec 0%, #e8e6e0 100%);
}
.ptr-origin__media {
  position: absolute; inset: 0;
}
.ptr-origin__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(0.16,1,0.3,1), filter 0.6s ease;
}
.ptr-origin__media--vintage img {
  filter: grayscale(1) contrast(1.04) brightness(0.96);
}
.ptr-origin__card--side:hover .ptr-origin__media img { transform: scale(1.05); }

.ptr-origin__cap {
  position: absolute;
  left: 22px; right: 22px; bottom: 22px;
  z-index: 2;
  padding: 14px 16px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(6px);
  border-radius: 10px;
  border: 1px solid rgba(11,30,61,0.05);
  box-shadow: 0 10px 24px -14px rgba(11,30,61,0.25);
}
.ptr-origin__name {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
  letter-spacing: -0.01em;
  color: var(--navy);
  margin: 0 0 4px;
}
.ptr-origin__role {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: rgba(11,30,61,0.6);
}

/* FEATURED centre card — navy with founding story */
.ptr-origin__card--featured {
  background:
    radial-gradient(circle at 90% 0%, rgba(184,150,110,0.35), transparent 55%),
    radial-gradient(circle at 0% 100%, rgba(184,150,110,0.18), transparent 60%),
    linear-gradient(180deg, #14305b 0%, #0b1e3d 100%);
  color: #fff;
  padding: clamp(28px, 3vw, 44px);
  display: flex; flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.ptr-origin__card--featured::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1.4px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse at 60% 30%, #000 30%, transparent 75%);
          mask-image: radial-gradient(ellipse at 60% 30%, #000 30%, transparent 75%);
  pointer-events: none;
}
.ptr-origin__chip {
  position: relative;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px;
  width: max-content;
  border: 1px solid rgba(184,150,110,0.55);
  border-radius: 999px;
  background: rgba(184,150,110,0.12);
  font-family: var(--font-sans);
  font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: rgba(255,255,255,0.85);
}
.ptr-origin__chip-dot {
  width: 7px; height: 7px; border-radius: 999px;
  background: var(--gold);
  box-shadow: 0 0 0 3px rgba(184,150,110,0.18);
  animation: ptrPulseDot 1.6s ease-in-out infinite;
}
@keyframes ptrPulseDot {
  0%, 100% { box-shadow: 0 0 0 3px rgba(184,150,110,0.18); }
  50%      { box-shadow: 0 0 0 7px rgba(184,150,110,0.05); }
}

.ptr-origin__feat-name {
  position: relative;
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 6px 0 4px;
}
.ptr-origin__feat-role {
  position: relative;
  font-family: var(--font-sans);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: rgba(184,150,110,0.95);
}
.ptr-origin__feat-quote {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(0.98rem, 1.1vw, 1.08rem);
  line-height: 1.55;
  color: rgba(255,255,255,0.85);
  margin: 14px 0 0;
}
.ptr-origin__feat-quote em { font-style: italic; color: var(--gold); }

.ptr-origin__pillars {
  position: relative;
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.ptr-origin__pillar {
  display: flex; align-items: baseline; gap: 8px;
  font-family: var(--font-sans);
  font-size: 0.82rem;
  color: rgba(255,255,255,0.85);
}
.ptr-origin__pillar strong {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold);
  font-size: 0.82rem;
}

/* Side nav arrows (decorative on desktop, functional on mobile) */
.ptr-origin__nav {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px;
  border-radius: 999px;
  border: none;
  background: var(--navy);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  box-shadow: 0 10px 22px -10px rgba(11,30,61,0.45);
  transition: background 0.35s ease, transform 0.35s ease;
  z-index: 4;
}
.ptr-origin__nav svg { width: 14px; height: 14px; }
.ptr-origin__nav:hover { background: var(--gold); transform: translateY(-50%) scale(1.06); }
.ptr-origin__nav--prev { left: -8px; }
.ptr-origin__nav--next { right: -8px; }

/* LEGACY block below carousel */
.ptr-origin__legacy {
  max-width: 1380px;
  margin: clamp(36px, 4vw, 56px) auto 0;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.ptr-origin__legacy p {
  font-family: var(--font-sans);
  font-size: 0.95rem;
  line-height: 1.65;
  color: rgba(11,30,61,0.72);
  margin: 0;
}
.ptr-origin__brands {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.ptr-origin__brand {
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 20px;
  border-radius: 12px;
  background: #f7f5f0;
  border: 1px solid rgba(11,30,61,0.08);
  text-decoration: none;
  transition: background 0.4s ease, transform 0.4s ease, border-color 0.4s ease;
}
.ptr-origin__brand:hover {
  background: #fff;
  border-color: rgba(184,150,110,0.45);
  transform: translateY(-3px);
}
.ptr-origin__brand-name {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(1rem, 1.15vw, 1.15rem);
  color: var(--navy);
  letter-spacing: -0.005em;
}
.ptr-origin__brand-note {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  color: rgba(11,30,61,0.6);
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .ptr-origin__head { grid-template-columns: 1fr; }
  .ptr-origin__track { grid-template-columns: 1fr; }
  .ptr-origin__card { min-height: 360px; }
  .ptr-origin__nav { display: none; }
  .ptr-origin__legacy { grid-template-columns: 1fr; }
  .ptr-origin__brands { grid-template-columns: 1fr; }
}


/* ------------------------------------------------------------
   2. TIER  —  heading + 4-col grid
------------------------------------------------------------ */
.ptr-tier {
  padding: clamp(40px, 5vw, 80px) clamp(20px, 5vw, 80px);
}
.ptr-tier--alt { background: #f7f5f0; }

.ptr-tier__head {
  max-width: 1380px;
  margin: 0 auto clamp(28px, 3vw, 48px);
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px;
}
.ptr-tier__head-l { display: flex; align-items: baseline; gap: 18px; }
.ptr-tier__count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--gold);
  border: 1px solid rgba(184,150,110,0.45);
  border-radius: 999px;
  padding: 4px 12px;
  letter-spacing: 0.04em;
}
.ptr-tier__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin: 0;
}
.ptr-tier__note {
  font-family: var(--font-sans);
  font-size: 0.9rem;
  line-height: 1.55;
  color: rgba(11,30,61,0.62);
  max-width: 38ch;
  margin: 0;
}


/* ------------------------------------------------------------
   3. GRID + CARD
------------------------------------------------------------ */
.ptr-grid {
  max-width: 1380px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 2vw, 28px);
}

.ptr-card {
  position: relative;
  display: flex; flex-direction: column;
}

/* MEDIA wrapper — light grey panel, 4:5 portrait */
.ptr-card__media {
  position: relative;
  margin: 0 0 14px;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  overflow: hidden;
  background: #ececea;
  border: 1px solid rgba(11,30,61,0.04);
  transition:
    border-color 0.5s ease,
    box-shadow 0.55s cubic-bezier(0.16,1,0.3,1),
    transform 0.55s cubic-bezier(0.16,1,0.3,1);
}
/* Initials fallback when a partner has no photo on file yet */
.ptr-card__media--noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #14294d 0%, #0b1e3d 100%);
}
.ptr-card__initials {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.92);
}
.ptr-card__media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.95) contrast(0.98);
  transition:
    transform 1.1s cubic-bezier(0.16,1,0.3,1),
    filter 0.5s ease;
}

/* Floating social pill — bottom-right of media, fades in on hover */
.ptr-card__social {
  position: absolute;
  right: 14px; bottom: 14px;
  display: inline-flex;
  background: var(--navy);
  border-radius: 999px;
  padding: 6px;
  gap: 4px;
  opacity: 0;
  transform: translateY(8px) scale(0.92);
  transition:
    opacity 0.35s ease,
    transform 0.45s cubic-bezier(0.16,1,0.3,1);
  box-shadow: 0 14px 28px -14px rgba(11,30,61,0.4);
}
.ptr-card__sicon {
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}
.ptr-card__sicon svg { width: 13px; height: 13px; }
.ptr-card__sicon:hover { background: var(--gold); color: #0b1e3d; }

/* HOVER state — subtle zoom + gold border + social fade-in */
.ptr-card:hover .ptr-card__media {
  border-color: rgba(184,150,110,0.55);
  box-shadow:
    0 24px 50px -22px rgba(11,30,61,0.28),
    0 0 0 4px rgba(184,150,110,0.10);
  transform: translateY(-4px);
}
.ptr-card:hover .ptr-card__media img {
  transform: scale(1.06);
  filter: saturate(1.05) contrast(1.02);
}
.ptr-card:hover .ptr-card__social {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* COPY beneath the card */
.ptr-card__copy {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px;
  /* was `padding: 0 4px` — indented the name 4px relative to the
     role / practice / education lines below it. Removed 2026-06-10
     so all card text shares one left edge. */
  padding: 0;
}
.ptr-card__name {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(1rem, 1.1vw, 1.12rem);
  line-height: 1.2;
  color: var(--navy);
  margin: 0;
  letter-spacing: -0.005em;
}
.ptr-card__tag {
  display: inline-flex;
  flex-shrink: 0;
  padding: 4px 10px;
  border: 1px solid rgba(11,30,61,0.18);
  border-radius: 999px;
  background: #fff;
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(11,30,61,0.7);
  white-space: nowrap;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}
.ptr-card:hover .ptr-card__tag {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}

.ptr-card__role {
  margin: 8px 0 0;
  font-family: var(--font-sans);
  font-size: 0.86rem;
  line-height: 1.45;
  color: rgba(11,30,61,0.88);
  font-weight: 500;
}


/* ------------------------------------------------------------
   4. JOIN-THE-TEAM CARD  —  occupies the first grid slot
------------------------------------------------------------ */
.ptr-card--cta {
  aspect-ratio: 4 / 5;
  background: #eceae5;
  border-radius: 12px;
  padding: clamp(22px, 2vw, 30px);
  display: flex; flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  transition: background 0.5s ease, transform 0.5s ease;
}
.ptr-card--cta::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 100% 0%, rgba(184,150,110,0.18), transparent 55%),
    radial-gradient(circle at 0% 100%, rgba(11,30,61,0.05), transparent 50%);
  pointer-events: none;
  transition: opacity 0.5s ease;
}
.ptr-card--cta:hover { background: #e3e0d9; transform: translateY(-4px); }

.ptr-card-cta__eyebrow {
  position: relative;
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(11,30,61,0.55);
}
.ptr-card-cta__title {
  position: relative;
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(1.3rem, 1.7vw, 1.55rem);
  line-height: 1.18;
  color: var(--navy);
  margin: 14px 0 10px;
  letter-spacing: -0.01em;
}
.ptr-card-cta__title em { font-style: italic; font-weight: 400; color: var(--gold); }

.ptr-card-cta__lede {
  position: relative;
  font-family: var(--font-sans);
  font-size: 0.85rem;
  line-height: 1.5;
  color: rgba(11,30,61,0.65);
  margin: 0 0 auto;
  max-width: 24ch;
}
.ptr-card-cta__btn {
  position: relative;
  display: inline-flex; align-items: center;
  gap: 10px;
  padding: 12px 22px;
  background: var(--navy);
  color: #fff;
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: 0.84rem; font-weight: 500;
  text-decoration: none;
  width: max-content;
  margin-top: 16px;
  box-shadow: 0 8px 20px -10px rgba(11,30,61,0.45);
  transition: background 0.35s ease, transform 0.35s ease, gap 0.35s ease;
}
.ptr-card-cta__btn svg { width: 13px; height: 10px; }
.ptr-card-cta__btn:hover { background: var(--gold); color: #0b1e3d; gap: 14px; }


/* ------------------------------------------------------------
   5. CLOSING STRIP
------------------------------------------------------------ */
.ptr-close {
  padding: clamp(80px, 9vw, 140px) clamp(20px, 5vw, 80px);
  background: var(--navy);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.ptr-close::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1.4px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse at 80% 30%, rgba(0,0,0,1) 30%, transparent 75%);
          mask-image: radial-gradient(ellipse at 80% 30%, rgba(0,0,0,1) 30%, transparent 75%);
  pointer-events: none;
}
.ptr-close__wrap {
  position: relative;
  max-width: 1180px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; flex-wrap: wrap;
}
.ptr-close__line {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
}
.ptr-close__line em { font-style: italic; font-weight: 400; color: var(--gold); }

.ptr-close__cta {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 16px 26px;
  background: var(--gold);
  color: #0b1e3d;
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: 0.92rem; font-weight: 500;
  text-decoration: none;
  transition: background 0.35s ease, gap 0.35s ease, transform 0.35s ease;
}
.ptr-close__cta svg { width: 13px; height: 10px; }
.ptr-close__cta:hover { background: #cba883; gap: 16px; transform: translateY(-2px); }


/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */
@media (max-width: 1100px) {
  .ptr-grid { grid-template-columns: repeat(3, 1fr); }
  .ptr-tier__head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 760px) {
  .ptr-grid { grid-template-columns: repeat(2, 1fr); }
  .ptr-card__copy { flex-direction: column; align-items: flex-start; gap: 6px; }
  .ptr-card__tag { font-size: 0.66rem; padding: 3px 9px; }
}
@media (max-width: 460px) {
  .ptr-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   OUR INSPIRATION  —  tribute section for Late Shri Ravi Pandit
   Editorial split: framed portrait left, eyebrow + serif title +
   2-paragraph body right. Warm-cream background distinguishes
   it from the founder section above (which sits on white).
============================================================ */
.ptr-insp {
  background: #faf7f1;
  padding: clamp(80px, 9vw, 140px) clamp(20px, 5vw, 80px);
}
.ptr-insp__wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.ptr-insp__media {
  position: relative;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  box-shadow: 0 40px 80px -32px rgba(11,30,61,0.30);
}
.ptr-insp__media img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.ptr-insp__media:hover img { transform: scale(1.03); }
.ptr-insp__frame {
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,255,255,0.42);
  border-radius: 14px;
  pointer-events: none;
}
.ptr-insp__copy { max-width: 620px; }
/* "Our Inspiration" kicker — was a pill chip, now displayed as a
   serif heading per client request (2026-06-09). Sits above the
   main h2 (Pandit Sir name) like a section title. */
.ptr-insp__kicker {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: clamp(1.1rem, 1.6vw, 1.4rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--navy);
  margin: 0 0 12px;
}
/* Old pill rule kept for any other place that still uses the
   eyebrow class — currently no other usage on partners.cshtml. */
.ptr-insp__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 14px;
  background: rgba(11,30,61,0.06);
  color: var(--navy);
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: 0.72rem; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  margin-bottom: 24px;
}
.ptr-insp__eyebrow-dot {
  width: 6px; height: 6px; border-radius: 999px;
  background: var(--gold);
}
.ptr-insp__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(1.6rem, 2.6vw, 2.3rem);
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--navy);
  margin: 0 0 24px;
}
.ptr-insp__title em { font-style: italic; font-weight: 400; color: var(--gold); }
.ptr-insp__copy p {
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.72;
  color: rgba(11,30,61,0.78);
  margin: 0 0 18px;
}
.ptr-insp__copy p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  .ptr-insp__wrap { grid-template-columns: 1fr; gap: 36px; }
  .ptr-insp__media { max-width: 420px; margin: 0 auto; }
}


/* ============================================================
   3-card tier override (.ptr-tier--few)
   ------------------------------------------------------------
   The default 4-column grid leaves an awkward empty cell when a
   tier has only 3 members (current case: Leaders). For those
   tiers we use a centred 3-column grid with a narrower inner
   max-width so the cards spread comfortably without ballooning
   to oversized portraits.
============================================================ */
.ptr-tier--few .ptr-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1100px;
}
/* Match the header rail to the narrower grid so the tier title
   (left) and the tier note (right) sit exactly above the leftmost
   and rightmost photos instead of bleeding into the gutters. */
.ptr-tier--few .ptr-tier__head {
  max-width: 1100px;
}

/* ------------------------------------------------------------------
   2-card tier override (.ptr-tier--few-2)
   ------------------------------------------------------------------
   When a tier has exactly 2 cards (current case: Our Leaders, after
   Suhas Deshpande was moved to Our Mentors on 2026-06-09), we render
   a CENTRED 2-column grid with a narrower max-width so the two
   portraits sit symmetrically on the page. The header rail is set
   to the same max-width and centred so the tier title aligns to the
   LEFT edge of the leftmost card and the tier note aligns to the
   RIGHT edge of the rightmost card.
------------------------------------------------------------------ */
.ptr-tier--few-2 .ptr-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 740px;
}
.ptr-tier--few-2 .ptr-tier__head {
  max-width: 740px;
}

/* Below tablet, the responsive media queries further down the
   file already collapse the grid to fewer columns — this rule
   only governs the desktop layout where the empty cell shows. */
@media (max-width: 980px) {
  .ptr-tier--few .ptr-grid { grid-template-columns: repeat(2, 1fr); max-width: 100%; }
  .ptr-tier--few-2 .ptr-grid { max-width: 100%; }
  .ptr-tier--few-2 .ptr-tier__head { max-width: 100%; }
}
@media (max-width: 600px) {
  .ptr-tier--few .ptr-grid { grid-template-columns: 1fr; }
  .ptr-tier--few-2 .ptr-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   Topbar legibility override for the partners page.
   The page has a light cream hero, so the homepage's default
   33% navy gradient + white logo / nav don't read against the
   page. Darken the top gradient and add a backdrop blur so the
   bar is legible at scroll = 0. Confined to the topbar's own
   height (~85px); fades to transparent at its bottom edge so
   nothing leaks into the breadcrumb / hero below.
============================================================ */
.topbar[data-state="top"] {
  background: linear-gradient(to bottom,
    rgba(11,30,61,0.82) 0%,
    rgba(11,30,61,0.55) 50%,
    rgba(11,30,61,0.0) 100%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}


/* Partner LinkedIn icon block — re-enabled 2026-06-09 after the
   client supplied 41/43 LinkedIn URLs (Excel: "Partners and
   Directors Linkedin.xlsx"). The Razor markup only renders the
   block when p.LinkedIn is non-empty, so the two partners
   without a URL (CA. Kishor Phadke, CA. R.U. Kamath) silently
   omit the icon — no dead link. */
