.prn-nav {
  --prn-navy: #001a36;
  --prn-blue: #0067ff;
  --prn-border: #d9e3f0;
  color: var(--prn-navy);
  margin: 2rem 0;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  background: #fff;
  padding: clamp(1rem, 3vw, 2rem);
  border-radius: 16px;
}
.prn-archive-page .elementor-element-654491a .elementor-heading-title,
.prn-calculators-page .entry-header .entry-title { font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.2; color: #fff; overflow-wrap: anywhere; }
.prn-calculators-page .entry-header {
  position: relative;
  isolation: isolate;
  display: flex;
  box-sizing: border-box;
  align-items: flex-end;
  min-height: clamp(220px, 28vw, 310px);
  padding: clamp(1.5rem, 4vw, 3.5rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background-color: #001a36;
  background-image: linear-gradient(90deg, rgba(0,26,54,.98) 0%, rgba(0,26,54,.91) 36%, rgba(0,26,54,.58) 62%, rgba(0,26,54,.24) 100%), url("calculators-hero-v1.webp");
  background-position: center;
  background-size: cover;
  box-shadow: 0 18px 48px rgba(0,26,54,.18);
}
.prn-calculators-page .entry-header .entry-title { margin: 0; }
/* The live site's global h1.entry-title rule forces black with !important. Limit the contrast fix to this new hub. */
.prn-calculators-page .entry-header h1.entry-title { color: #fff !important; }
.prn-nav, .prn-nav * { box-sizing: border-box; }
.prn-nav h2 { color: var(--prn-navy); margin: 0 0 1rem; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.25; }
.prn-nav .prn-intro { margin: 0 0 1.5rem; max-width: 72ch; line-height: 1.6; }
.prn-directory { background: linear-gradient(180deg, #fff 0%, #f7faff 100%); border: 1px solid #e6edf6; box-shadow: 0 16px 45px rgba(0,26,54,.07); }
.prn-directory .prn-benefits { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin: -.35rem 0 1.75rem; color: #34516e; font-size: .92rem; line-height: 1.5; }
.prn-directory .prn-benefits li { display: inline-flex; align-items: center; gap: .45rem; }
.prn-directory .prn-benefits span { display: inline-flex; align-items: center; justify-content: center; width: 1.35rem; height: 1.35rem; border-radius: 50%; color: #00633d; background: #dff8ee; font-size: .75rem; font-weight: 800; }
.prn-nav ul { list-style: none; margin: 0; padding: 0; }
.prn-nav li { margin: 0; padding: 0; min-width: 0; }
.prn-nav .prn-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.prn-nav .prn-grid > li { display: flex; }
.prn-nav .prn-card { display: flex; flex-direction: column; width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--prn-border); border-radius: 14px; background: #fff; }
.prn-nav .prn-card--calculator { padding: 1.5rem; background: #f4f8fe; border-top: 4px solid var(--prn-blue); }
.prn-directory .prn-grid--calculators > li:first-child { grid-column: 1 / -1; }
.prn-directory .prn-card--calculator { position: relative; padding: 1.5rem; border: 1px solid #dfe8f3; border-top: 1px solid #dfe8f3; border-radius: 17px; background: #fff; box-shadow: 0 8px 24px rgba(0,26,54,.07); }
.prn-directory .prn-card--featured { display: grid; grid-template-columns: 66px minmax(0,1fr) auto; grid-template-areas: "icon title action" "icon question action" "icon excerpt action"; column-gap: 1.25rem; align-items: center; padding: clamp(1.5rem, 3vw, 2.1rem); border-color: #b9d4ff; background: linear-gradient(105deg, #edf5ff 0%, #fff 70%); box-shadow: 0 14px 34px rgba(0,103,255,.11); }
.prn-nav .prn-card__icon { grid-area: icon; display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin: 0 0 1rem; border: 1px solid #cfe0f8; border-radius: 15px; color: #0055d4; background: #edf5ff; }
.prn-nav .prn-card__icon svg { display: block; width: 29px; height: 29px; }
.prn-directory .prn-card--featured .prn-card__icon { width: 66px; height: 66px; margin: 0; color: #fff; border-color: #0067ff; background: #0067ff; box-shadow: 0 9px 22px rgba(0,103,255,.24); }
.prn-directory .prn-card--featured .prn-card__title { grid-area: title; }
.prn-directory .prn-card--featured .prn-card__question { grid-area: question; }
.prn-directory .prn-card--featured .prn-card__excerpt { grid-area: excerpt; max-width: 62ch; }
.prn-directory .prn-card--featured .prn-card__action { grid-area: action; align-self: center; margin: 0 0 0 1rem; }
.prn-nav .prn-card__question { margin: 0 0 .75rem; color: #214a77; font-weight: 600; font-size: .95rem; line-height: 1.5; }
.prn-nav .prn-card__title { margin: 0 0 .8rem; color: var(--prn-navy); font-size: 1.2rem; line-height: 1.35; }
.prn-directory .prn-card__title { margin-bottom: .55rem; font-size: 1.22rem; }
.prn-directory .prn-card__question { margin-bottom: .55rem; color: #174b7e; }
.prn-nav .prn-card__title a { color: inherit; text-decoration: none; }
.prn-nav .prn-card__title a:hover { color: #004bbd; text-decoration: underline; text-underline-offset: .18em; }
.prn-nav .prn-card__excerpt { margin: 0 0 1.1rem; color: #334b65; font-size: 1rem; line-height: 1.6; }
.prn-nav .prn-card__action { display: inline-flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 44px; margin-top: auto; padding: .65rem 0; color: #0055d4; font-weight: 700; line-height: 1.4; text-decoration: underline; text-underline-offset: .2em; }
.prn-nav .prn-card__action span { flex: 0 0 auto; }
.prn-nav .prn-card__action:hover { color: var(--prn-navy); }
.prn-directory .prn-card__action { align-self: flex-start; justify-content: center; min-height: 46px; padding: .7rem 1rem; border: 1px solid #0067ff; border-radius: 10px; color: #fff; background: #0067ff; text-decoration: none; box-shadow: 0 5px 14px rgba(0,103,255,.18); }
.prn-directory .prn-card__action:hover { color: #fff; background: #004fca; border-color: #004fca; }
.prn-nav .prn-card__media { display: block; aspect-ratio: 16 / 9; width: 100%; overflow: hidden; background: #eaf1fb; text-decoration: none; }
.prn-nav .prn-card__media img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; }
.prn-nav .prn-card__image-fallback { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 100px; color: #466584; font-weight: 700; letter-spacing: .04em; }
.prn-nav .prn-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; min-width: 0; }
.prn-nav .prn-card__date { margin: 0 0 .65rem; color: #536982; font-size: .85rem; line-height: 1.5; }
.prn-nav .prn-topics { margin-bottom: 1.5rem; }
.prn-nav .prn-topics ul { display: flex; flex-wrap: wrap; gap: .65rem; }
.prn-nav .prn-topic { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: .65rem 1rem; border: 1px solid var(--prn-border); border-radius: 999px; color: var(--prn-navy); background: #f4f8fe; text-decoration: none; line-height: 1.4; }
.prn-nav .prn-topic:hover { border-color: var(--prn-blue); background: #eaf2ff; }
.prn-nav .prn-topic--active { color: #fff; background: var(--prn-navy); border-color: var(--prn-navy); }
.prn-nav .prn-topic--active:hover { color: #fff; background: #003063; }
.prn-nav .prn-results { margin: 0 0 1rem; color: #465e77; font-size: .95rem; }
.prn-nav .prn-notice { padding: 1.25rem; margin: 1rem 0; border: 1px solid var(--prn-border); border-radius: 10px; background: #f4f8fe; line-height: 1.65; }
.prn-nav .prn-notice a { color: #0055d4; text-decoration: underline; }
.prn-nav .prn-pagination { margin-top: 1.75rem; }
.prn-nav .prn-pagination ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; }
.prn-nav .prn-pagination a, .prn-nav .prn-pagination__current, .prn-nav .prn-pagination__ellipsis { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; max-width: 100%; padding: .55rem .85rem; border: 1px solid var(--prn-border); border-radius: 8px; line-height: 1.3; color: var(--prn-navy); text-decoration: none; }
.prn-nav .prn-pagination a:hover { border-color: var(--prn-blue); background: #eaf2ff; }
.prn-nav .prn-pagination__current { background: var(--prn-navy); border-color: var(--prn-navy); color: #fff; font-weight: 700; }
.prn-nav .prn-pagination__ellipsis { border-color: transparent; padding-left: .15rem; padding-right: .15rem; min-width: 24px; }
.prn-nav .prn-related__calculator { margin-top: 1.25rem; }
.prn-nav .prn-related__calculator .prn-card { max-width: 100%; }
.prn-nav a:focus-visible { outline: 3px solid var(--prn-blue); outline-offset: 3px; }
@media (max-width: 960px) {
  .prn-nav .prn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prn-directory .prn-card--featured { grid-template-columns: 60px minmax(0,1fr); grid-template-areas: "icon title" "icon question" ". excerpt" ". action"; align-items: start; }
  .prn-directory .prn-card--featured .prn-card__icon { width: 60px; height: 60px; }
  .prn-directory .prn-card--featured .prn-card__action { justify-self: start; margin: .15rem 0 0; }
}
@media (max-width: 600px) {
  .prn-nav { margin: 1.5rem 0; }
  .prn-nav .prn-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .prn-nav .prn-card--calculator, .prn-nav .prn-card__body { padding: 1.15rem; }
  .prn-calculators-page .entry-header { min-height: 210px; padding: 1.35rem; border-radius: 16px; background-image: linear-gradient(90deg, rgba(0,26,54,.97) 0%, rgba(0,26,54,.88) 52%, rgba(0,26,54,.42) 100%), url("calculators-hero-v1.webp"); background-position: 59% center; }
  .prn-directory .prn-benefits { display: grid; gap: .55rem; margin-bottom: 1.4rem; }
  .prn-directory .prn-grid--calculators > li:first-child { grid-column: auto; }
  .prn-directory .prn-card--featured { display: flex; padding: 1.15rem; }
  .prn-directory .prn-card--featured .prn-card__icon { width: 54px; height: 54px; margin-bottom: 1rem; }
  .prn-directory .prn-card--featured .prn-card__action { margin: auto 0 0; }
  .prn-nav .prn-topic { padding: .6rem .85rem; }
  .prn-nav .prn-pagination ul { justify-content: flex-start; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .prn-directory .prn-card--calculator { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .prn-directory .prn-card--calculator:hover { transform: translateY(-3px); border-color: #b7cef0; box-shadow: 0 14px 32px rgba(0,26,54,.12); }
  .prn-directory .prn-card--featured:hover { border-color: #83b4ff; box-shadow: 0 18px 42px rgba(0,103,255,.15); }
}
@media (forced-colors: active) {
  .prn-nav .prn-topic--active, .prn-nav .prn-pagination__current { border: 2px solid Highlight; }
}
