
/* ---------- Stat band (residency) ---------- */
.p2-band { padding: clamp(3rem, 6vw, 4.6rem) 0; }
.p2-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.p2-stat { padding: 10px 28px; text-align: center; border-left: 1px solid var(--rule-dark); }
.p2-stat:first-child { border-left: none; }
.p2-stat__num {
  display: block; font-family: var(--ff-display); font-weight: 500;
  font-size: clamp(2.6rem, 5vw, 3.8rem); line-height: 1; color: var(--gold);
}
.p2-stat__label {
  display: block; margin-top: 14px;
  font-size: 0.72rem; font-weight: 500; letter-spacing: 0.26em; text-transform: uppercase;
  color: rgba(248, 248, 248, 0.72);
}
.p2-band__note {
  margin: 34px auto 0; max-width: 760px; text-align: center;
  font-size: 0.88rem; line-height: 1.6; color: rgba(248, 248, 248, 0.7);
}
.p2-band__note a { color: var(--gold); }

/* Home band: five stats (index.html uses .fdr-stats from restore-founder.css) */
.fdr-stats.p2-fdr5 { grid-template-columns: repeat(5, 1fr); }
.fdr-stats.p2-fdr5 .fdr-stat { padding-left: 18px; padding-right: 18px; }

/* ---------- Track duration line ---------- */
.p2-duration {
  margin: -2px 0 16px; padding: 10px 0; border-top: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark);
  font-size: 0.9rem; letter-spacing: 0.02em;
}
.p2-duration strong { font-family: var(--ff-display); font-size: 1.35rem; font-weight: 500; color: var(--gold); margin-right: 6px; }

/* ---------- Comparison table extras ---------- */
table.compare th .p2-th-sub {
  display: block; margin-top: 8px; font-family: var(--ff-body); font-size: 0.8rem; font-weight: 400;
  letter-spacing: 0.02em; color: var(--gold-soft);
}
table.compare tr.p2-group td {
  background: rgba(201, 169, 97, 0.12); color: var(--ink); width: auto;
  font-size: 0.7rem; letter-spacing: 0.26em; padding-top: 14px; padding-bottom: 14px;
}
table.compare ul.p2-cell { margin: 0; padding-left: 18px; }
table.compare ul.p2-cell li + li { margin-top: 4px; }
.p2-notes { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; gap: 26px 44px; }
.p2-notes h3 { margin-bottom: 10px; }
.p2-notes p + p, .p2-notes p + ul, .p2-notes ul + p { margin-top: 10px; }
.p2-notes ul { margin-left: 20px; }
.p2-closing {
  margin-top: 40px; font-family: var(--ff-display); font-style: italic; font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  text-align: center;
}

/* ---------- Provides / does not provide (apply) ---------- */
.p2-provides { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--rule); }
.p2-provides > div { padding: 30px 32px; }
.p2-provides > div + div { border-left: 1px solid var(--rule); }
.p2-provides h3 { margin-bottom: 16px; }
.p2-provides ul { list-style: none; margin: 0; padding: 0; }
.p2-provides li { position: relative; padding: 9px 0 9px 30px; border-top: 1px solid var(--rule); font-size: 0.96rem; }
.p2-provides li:first-child { border-top: none; }
.p2-provides li::before { position: absolute; left: 0; top: 8px; font-weight: 600; }
.p2-provides .p2-yes li::before { content: "\2713"; color: var(--gold); }
.p2-provides .p2-no li::before { content: "\2715"; color: #a8553f; }

/* ---------- Stage list (apply) ---------- */
.p2-stages .timeline__item p { max-width: 720px; }

/* ---------- Salary figures (apply) ---------- */
.p2-salaries { margin-top: 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 760px; }
.p2-salary { padding: 8px 28px; border-left: 1px solid var(--rule-dark); }
.p2-salary:first-child { border-left: none; padding-left: 0; }
.p2-salary__where {
  display: block; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.26em; text-transform: uppercase;
  color: rgba(248, 248, 248, 0.72);
}
.p2-salary__fig {
  display: block; margin-top: 10px; font-family: var(--ff-display); font-weight: 500;
  font-size: clamp(2rem, 4vw, 2.9rem); line-height: 1.05; color: var(--gold);
}
.p2-subhead {
  margin-top: 46px; font-size: 0.74rem; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold);
}

/* ---------- Responsive ---------- */
@media (max-width: 1020px) {
  .fdr-stats.p2-fdr5 { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
  .fdr-stats.p2-fdr5 .fdr-stat:nth-child(odd) { border-left: none; }
  .fdr-stats.p2-fdr5 .fdr-stat:nth-child(2n) { border-left: 1px solid var(--rule-dark); }
  .fdr-stats.p2-fdr5 .fdr-stat:last-child { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .p2-stats { grid-template-columns: 1fr; row-gap: 30px; }
  .p2-stat { border-left: none; padding: 0 0 26px; border-bottom: 1px solid var(--rule-dark); }
  .p2-stat:last-child { border-bottom: none; padding-bottom: 0; }
  .fdr-stats.p2-fdr5 { grid-template-columns: 1fr; }
  .fdr-stats.p2-fdr5 .fdr-stat:nth-child(2n) { border-left: none; }
  .p2-notes, .p2-provides { grid-template-columns: 1fr; }
  .p2-provides > div + div { border-left: none; border-top: 1px solid var(--rule); }
  .p2-provides > div { padding: 24px 20px; }
  .p2-salaries { grid-template-columns: 1fr; row-gap: 22px; }
  .p2-salary { border-left: none; padding: 0; }
}

.designations { margin-top: 64px; }
.designations .card .num { font-size: 1.15rem; letter-spacing: 0.04em; }


/* Group heading: decorative ordinal above the gold rule */
.faq-group__n {
  display: block; margin-bottom: 10px;
  font-family: var(--ff-display); font-style: italic; font-weight: 500;
  font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1; color: var(--gold);
}
.faq-group .title-rule { margin-bottom: 20px; }
.faq-group h2.title { margin-bottom: 14px; }
.faq-group .faq-intro { margin-top: 0; }

/* Accordion as a stack of quiet cards rather than one continuous wall */
.faq-accordion { border-top: none; margin-top: 32px; max-width: 920px; }
.faq-accordion .accordion__item {
  border: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
  background: rgba(255, 255, 255, 0.55);
  transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.faq-accordion .accordion__item + .accordion__item { margin-top: 12px; }
.faq-accordion .accordion__item:hover { border-color: var(--gold-soft); }
.faq-accordion .accordion__item.open {
  border-color: var(--gold); background: #fff;
  box-shadow: 0 16px 36px rgba(18, 19, 23, 0.06);
}
.faq-accordion .accordion__q { padding: 22px 26px; font-size: 1.14rem; line-height: 1.35; }
.faq-accordion .accordion__a > div { padding: 0 26px 26px; max-width: 780px; }
.faq-accordion .accordion__item.open .accordion__q { color: var(--navy); }

@media (max-width: 720px) {
  .faq-accordion .accordion__q { padding: 18px 18px; font-size: 1.05rem; }
  .faq-accordion .accordion__a > div { padding: 0 18px 22px; }
}


/* Horizontal-scroll affordance (shown only when the table overflows) */
.cmp-hint {
  display: none; margin: 0 0 16px;
  font-size: 0.68rem; font-weight: 500; letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--grey);
}
.cmp-wrap { margin-top: 0; box-shadow: 0 18px 44px rgba(18, 19, 23, 0.06); }

table.compare { min-width: 880px; background: #fff; }
table.compare th, table.compare td { padding: 22px 26px; }
table.compare td { font-size: 0.95rem; line-height: 1.6; }

/* Column headers that hold their own */
table.compare thead th {
  padding-top: 30px; padding-bottom: 26px; vertical-align: bottom;
  font-size: clamp(1.15rem, 1.8vw, 1.38rem); line-height: 1.15;
  border-bottom: 2px solid var(--gold);
}
table.compare thead th + th { border-left: 1px solid rgba(255, 255, 255, 0.14); }
table.compare th .p2-th-sub { letter-spacing: 0.08em; line-height: 1.45; }

/* Row-label column: anchored left so it stays legible while the table scrolls */
table.compare thead th:first-child { position: sticky; left: 0; z-index: 3; background: var(--navy); }
table.compare td:first-child {
  position: sticky; left: 0; z-index: 2;
  background: var(--cream); color: var(--ink);
  min-width: 190px; font-size: 0.74rem; letter-spacing: 0.15em;
  border-right: 1px solid var(--rule);
  box-shadow: 9px 0 12px -10px rgba(18, 19, 23, 0.3);
}

/* Hairline between the two track columns */
table.compare tbody td + td + td { border-left: 1px solid var(--rule); }

/* Group rows read as band headings, not as data */
table.compare tr.p2-group td {
  position: static; width: auto; min-width: 0;
  background: var(--navy-3); color: var(--gold);
  font-weight: 500; letter-spacing: 0.26em;
  padding-top: 15px; padding-bottom: 15px;
  border-right: none; border-bottom: none; box-shadow: none;
}

/* Row read-across on hover (opaque values: the label cell overlaps scrolled content) */
table.compare tbody tr:not(.p2-group):hover td { background: #fbf7ee; }
table.compare tbody tr:not(.p2-group):hover td:first-child { background: #eee6d4; }

table.compare ul.p2-cell li + li { margin-top: 7px; }

/* Paired notes below the table */
.p2-notes { gap: 34px 44px; }
.p2-notes > div { border-top: 1px solid var(--rule); padding-top: 26px; }
.p2-notes h3 { font-size: 1.22rem; }

/* Designations as a distinct composed block */
.section--navy2 .designations { margin-top: 0; }
#designations { scroll-margin-top: calc(var(--header-h) + 24px); }
.section--navy2 .designations .card h3 { color: var(--white); }
.cmp-fineprint { margin-top: 26px; max-width: 840px; font-size: 0.92rem; }
.section--navy2 .cmp-fineprint { color: rgba(248, 248, 248, 0.7); }

@media (max-width: 900px) { .cmp-hint { display: block; } }
@media (max-width: 720px) {
  table.compare th, table.compare td { padding: 17px 18px; }
  table.compare thead th { padding-top: 22px; padding-bottom: 20px; }
  table.compare td:first-child { min-width: 150px; }
}

/* Group-row label stays readable while the table is scrolled sideways */
table.compare tr.p2-group td > span { position: sticky; left: 26px; display: inline-block; }
@media (max-width: 720px) { table.compare tr.p2-group td > span { left: 18px; } }
