.tj-testimonials-page {
  background: var(--color-white);
}

.tj-proof {
  --font-proof: 'Public Sans', sans-serif;
  --font-proof-quote: Georgia, serif;
  --proof-navy: #002e54;
  --proof-ink: #193448;
  --proof-muted: #526678;
  --proof-line: #dbe4eb;
  font-family: var(--font-proof);
  color: var(--proof-ink);
}

.tj-proof *, .tj-proof *::before, .tj-proof *::after { box-sizing: border-box; }
.tj-proof [hidden] { display: none !important; }
.tj-proof-container { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.tj-proof section[id], .tj-review-card[id] { scroll-margin-top: 125px; }
.tj-proof h1, .tj-proof h2, .tj-proof h3 {
  font-family: var(--font-proof);
  font-weight: 700;
  color: var(--proof-navy);
  letter-spacing: -.035em;
}
.tj-proof h2 { font-size: clamp(1.8rem, 2.8vw, 2.6rem); line-height: 1.18; margin: 0 0 18px; }
.tj-proof p { margin: 0; }
.tj-proof p, .tj-proof blockquote { line-height: 1.75; }
.tj-proof a { text-underline-offset: 5px; }
.tj-proof :is(a, button, input, summary):focus-visible {
  outline: 3px solid #0879cc;
  outline-offset: 5px;
}
.tj-proof-eyebrow {
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #526a7d;
  margin: 0 0 18px !important;
}
.tj-proof-hero {
  padding: 140px 0 0;
  background: #f1f6fa;
  text-align: center;
}
.tj-proof-hero h1 {
  font-size: clamp(2.35rem, 5.3vw, 4rem);
  line-height: 1.09;
  margin: 0 auto 24px;
}
.tj-proof-lede {
  max-width: 610px;
  margin: 0 auto !important;
  color: var(--proof-muted);
  font-size: 1.13rem;
}
.tj-proof-jumps {
  display: flex;
  justify-content: center;
  gap: 36px;
  margin-top: 42px;
  border-top: 1px solid var(--proof-line);
}
.tj-proof-jumps a {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  min-height: 68px;
  color: var(--proof-navy);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 600;
}
.tj-proof-jumps a:hover { text-decoration: underline; }
.tj-google-section { padding: 72px 0 64px; }
.tj-proof-section-head { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-bottom: 30px; }
.tj-proof-section-head > div { max-width: 700px; }
.tj-proof-section-head p:not(.tj-proof-eyebrow) { color: var(--proof-muted); font-size: .98rem; }
.tj-proof-source-link { color: var(--proof-navy); font-size: .88rem; font-weight: 600; flex-shrink: 0; }
.tj-google-frame { min-height: 285px; }
.tj-google-status {
  min-height: 270px;
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  background: #f7f9fb;
  border: 1px solid var(--proof-line);
  border-radius: 12px;
  text-align: center;
  color: var(--proof-muted);
}
.tj-google-status a { font-weight: 600; color: var(--proof-navy); }
.tj-proof-footnote { font-size: .78rem; color: var(--proof-muted); margin-top: 24px !important; }
.tj-longfellow-section { padding: 76px 0; background: #002e54; }
.tj-longfellow-grid { display: grid; grid-template-columns: .9fr 1.3fr; gap: 80px; align-items: start; }
.tj-longfellow-intro .tj-proof-eyebrow { color: #aac9e1; }
.tj-longfellow-intro h2 { color: white; max-width: 360px; }
.tj-longfellow-intro > p:not(.tj-proof-eyebrow) { color: #d3e1ed; font-size: .98rem; }
.tj-longfellow-source { margin-top: 32px !important; font-size: .78rem !important; line-height: 1.9 !important; }
.tj-longfellow-source strong { color: var(--color-white); font-weight: 500; }
.tj-longfellow-story { padding: 34px 38px; border-radius: 12px; background: white; }
.tj-quote-mark { display: block; height: 35px; color: #82b6dc; font-size: 3.9rem; font-family: var(--font-proof-quote); line-height: 1; }
.tj-longfellow-excerpt { font-size: 1.35rem; line-height: 1.6 !important; font-weight: 500; margin: 12px 0 20px; color: var(--proof-navy); }
.tj-excerpt-caption { color: var(--proof-muted); font-size: .76rem; }
.tj-full-story { margin-top: 18px; }
.tj-full-story summary { cursor: pointer; color: var(--proof-navy); font-size: .85rem; font-weight: 600; line-height: 1.7; padding-block: 12px; min-height: 44px; }
.tj-full-story summary::marker { color: #1d75b5; }
.tj-full-story[open] > summary { margin-bottom: 12px; }
.tj-featured-full { border-top: 1px solid var(--proof-line); padding-top: 4px; margin-top: 26px; }
.tj-featured-full blockquote { font-size: .98rem; font-weight: 400; margin: 0; }
.tj-archive-section { padding: 88px 0 76px; background: #f7f9fb; }
.tj-archive-section .tj-proof-section-head { margin-bottom: 32px; }
.tj-archive-tools { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 24px 0; border-block: 1px solid var(--proof-line); }
.tj-review-filters { display: flex; flex-wrap: wrap; gap: 6px; border: 0; padding: 0; margin: 0; }
.tj-review-filters label { position: relative; cursor: pointer; margin: 0; }
.tj-review-filters input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tj-review-filters span { display: block; padding: 12px 18px; border: 1px solid transparent; border-radius: 6px; font-size: .85rem; font-weight: 600; color: var(--proof-muted); line-height: 20px; }
.tj-review-filters input:checked + span { background: var(--proof-navy); color: var(--color-white); }
.tj-review-filters input:focus-visible + span { outline: 3px solid #0879cc; outline-offset: 3px; }
.tj-review-filters input:not(:checked) + span:hover { background: #e7eff5; color: var(--proof-navy); }
.tj-review-search { width: min(330px, 100%); }
.tj-review-search label { display: block; font-size: .76rem; font-weight: 600; margin-bottom: 8px; color: var(--proof-muted); }
.tj-review-search input { font: inherit; font-size: .85rem; line-height: 1.5; width: 100%; height: 46px; padding: 10px 14px; border: 1px solid #aabac7; background: white; color: var(--proof-ink); border-radius: 6px; }
.tj-review-search input::placeholder { color: #687c8d; opacity: 1; }
.tj-archive-status-row { display: flex; align-items: center; justify-content: space-between; min-height: 66px; gap: 12px; }
.tj-archive-status-row p { font-size: .78rem; color: var(--proof-muted); }
.tj-review-reset { min-height: 44px; padding: 8px 4px; color: var(--proof-navy); background: none; border: 0; font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tj-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.tj-review-card { padding: 28px; background: white; border: 1px solid var(--proof-line); border-radius: 10px; overflow-wrap: anywhere; }
.tj-review-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; justify-content: space-between; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid #e8eef3; font-size: .67rem; line-height: 1.5; font-weight: 600; letter-spacing: .01em; color: var(--proof-muted); }
.tj-review-meta span:first-child { color: var(--proof-navy); }
.tj-review-card blockquote, .tj-review-excerpt { margin: 0; font-size: .95rem; font-weight: 400; color: var(--proof-ink); line-height: 1.8; }
.tj-review-excerpt-label { font-size: .76rem; color: var(--proof-muted); }
.tj-review-card .tj-full-story { margin-top: 10px; }
.tj-review-author { margin-top: 24px !important; font-size: .75rem; font-weight: 600; color: var(--proof-navy); }
.tj-review-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 28px; margin-top: 36px; align-items: center; }
.tj-proof-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; border: 1px solid var(--proof-navy); background: var(--proof-navy); color: var(--color-white); border-radius: 6px; font-family: var(--font-proof); font-size: .88rem; font-weight: 600; line-height: 1.5; padding: 15px 22px; min-height: 48px; text-decoration: none; cursor: pointer; }
.tj-proof-button:hover { background: #084b7b; border-color: #084b7b; color: white; }
.tj-proof-text-button { min-height: 48px; padding: 10px; border: 0; background: none; font: inherit; font-size: .85rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; color: var(--proof-navy); }
.tj-review-empty { border: 1px solid var(--proof-line); padding: 38px; text-align: center; border-radius: 10px; color: var(--proof-muted); background: white; }
.tj-proof-editorial-note { margin-top: 56px; padding-top: 26px; border-top: 1px solid var(--proof-line); display: grid; grid-template-columns: 1fr 3fr; gap: 32px; }
.tj-proof-editorial-note h3 { font-size: .9rem; letter-spacing: 0; margin: 0; line-height: 1.7; }
.tj-proof-editorial-note p { color: var(--proof-muted); font-size: .8rem; }
.tj-proof-next { padding: 64px 0; background: white; }
.tj-proof-next .tj-proof-container { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.tj-proof-next h2 { font-size: clamp(1.65rem, 2.5vw, 2rem); margin-bottom: 12px; }
.tj-proof-next p:not(.tj-proof-eyebrow) { color: var(--proof-muted); font-size: .95rem; }
.tj-proof-next .tj-proof-button { flex-shrink: 0; }
.tj-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.tj-proof-skip { position: fixed; left: 16px; top: -100px; z-index: 10001; background: var(--color-white); color: #002e54; padding: 14px; border: 2px solid #002e54; border-radius: 4px; }
.tj-proof-skip:focus { top: 16px; }

@media (max-width: 960px) {
  .tj-proof-section-head { flex-direction: column; align-items: start; gap: 18px; }
  .tj-longfellow-grid { gap: 36px; grid-template-columns: .85fr 1.15fr; }
  .tj-longfellow-story { padding: 28px; }
  .tj-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tj-proof-jumps { gap: 24px; }
  .tj-proof-jumps a { gap: 8px; font-size: .78rem; }
}

@media (max-width: 640px) {
  .tj-proof-container { width: calc(100% - 40px); }
  .tj-proof-hero { padding-top: 130px; }
  .tj-proof-hero h1 { font-size: clamp(2.15rem, 9.6vw, 2.6rem); }
  .tj-proof-lede { font-size: 1rem; }
  .tj-proof-jumps { margin-top: 30px; flex-wrap: wrap; gap: 0 20px; padding: 12px 0; }
  .tj-proof-jumps a { min-height: 44px; font-size: .76rem; }
  .tj-google-section, .tj-longfellow-section, .tj-archive-section { padding: 48px 0; }
  .tj-google-status { padding: 24px; font-size: .9rem; }
  .tj-google-frame { min-height: 270px; }
  .tj-longfellow-grid { grid-template-columns: 1fr; gap: 30px; }
  .tj-longfellow-intro h2 { max-width: none; }
  .tj-longfellow-source { margin-top: 20px !important; }
  .tj-longfellow-story { padding: 26px; }
  .tj-longfellow-excerpt { font-size: 1.2rem; }
  .tj-archive-tools { flex-direction: column; align-items: stretch; gap: 22px; padding-block: 20px; }
  .tj-review-search { width: 100%; }
  .tj-review-filters { gap: 2px; }
  .tj-review-filters span { padding: 12px 13px; font-size: .8rem; }
  .tj-review-grid { grid-template-columns: 1fr; gap: 16px; }
  .tj-review-card { padding: 26px; }
  .tj-proof-editorial-note { margin-top: 36px; grid-template-columns: 1fr; gap: 12px; }
  .tj-proof-next { padding: 44px 0; }
  .tj-proof-next .tj-proof-container { flex-direction: column; align-items: start; gap: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .tj-testimonials-page { scroll-behavior: auto; }
}
