/* Package checker only. Shared navigation and other tools retain their styles. */
html.page-tool .package-checker-page .psc-page { background: #f7f8fc; color: #172139; padding-bottom: 36px; }
html.page-tool .package-checker-page .psc-page .container { width: min(1240px, 100%); padding-left: 24px; padding-right: 24px; }
html.page-tool .package-checker-page .psc-page > .section { padding: 0 0 28px; background: transparent; }
html.page-tool .package-checker-page .psc-page > .psc-hero { padding: 36px 0 24px; background: linear-gradient(180deg,#fff,#f7f8fc); }
.package-checker-page .psc-hero-layout { display: grid; grid-template-columns: 1fr 200px; align-items: center; gap: 40px; }
.package-checker-page .psc-hero-layout img { width: 200px; height: 180px; object-fit: contain; }
html.page-tool .package-checker-page .psc-page .portal-section-head { margin: 0; max-width: none; }
html.page-tool .package-checker-page .psc-page h1 { font-size: clamp(30px,3.2vw,44px); line-height: 1.2; margin: 18px 0 14px; }
html.page-tool body.ds.package-checker-page .psc-page .psc-card h2 { font-size: 22px; line-height: 1.4; margin: 0 0 16px; color: #192544; }
html.page-tool body.ds.package-checker-page .psc-page .psc-card h3 { font-size: 17px; line-height: 1.55; margin: 0 0 10px; color: #192544; }
html.page-tool .package-checker-page .psc-page p { font-size: 15px; line-height: 1.75; color: #526077; margin: 0 0 16px; }
html.page-tool .package-checker-page .psc-page .psc-card { padding: 26px; border: 1px solid #e1e6f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(28,42,78,.045); background: #fff; }
.package-checker-page .psc-workspace-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 18px; align-items: stretch; }
.package-checker-page .psc-workspace-grid > *, .package-checker-page .psc-comparison-layout > * { min-width: 0; }
.package-checker-page .psc-visual-card { display: flex; flex-direction: column; }
.package-checker-page .psc-visual { flex: 1; display: flex; align-items: center; border: 0; background: linear-gradient(180deg,#f9faff,#fff); padding: 0; min-height: 290px; }
.package-checker-page #psc-svg { width: 100%; max-height: 350px; }
.package-checker-page #psc-text-l,.package-checker-page #psc-text-w,.package-checker-page #psc-text-h { font-size: 14px; stroke-width: 2px; }
.package-checker-page #psc-text-l { fill: #344ac3; }
.package-checker-page #psc-text-w { fill: #21723c; }
.package-checker-page #psc-text-h { fill: #aa3735; }
html.page-tool .package-checker-page .psc-page .psc-help { font-size: 13px; line-height: 1.7; color: #65718a; margin: 12px 0 0; }
html.page-tool .package-checker-page .psc-page .psc-visual-tip { background: #f0f3fc; border-radius: 10px; padding: 14px; margin: 18px 0 0; font-size: 14px; }
html.page-tool .package-checker-page .psc-page .psc-eyebrow { color: #4659b8; font-size: 13px; margin: -8px 0 18px; }
.package-checker-page .psc-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.package-checker-page .lead-form .form-group { margin: 0; }
.package-checker-page .lead-form label { display: block; font-size: 13px; line-height: 1.5; margin-bottom: 7px; }
.package-checker-page .lead-form input,.package-checker-page .lead-form select { width: 100%; height: 45px; padding: 10px 12px; border: 1px solid #d9dfeb; border-radius: 8px; background: #fff; font-size: 15px; color: #192544; }
.package-checker-page .lead-form input[aria-invalid="true"] { border-color: #b6353b; }
.package-checker-page .psc-field-error { display: block; font-size: 12px; color: #b12f35; line-height: 1.5; margin-top: 5px; }
.package-checker-page .psc-field-error:empty { display: none; }
.package-checker-page .lead-form button[type="submit"] { margin-top: 20px; min-width: 170px; min-height: 44px; }
.package-checker-page .psc-page :is(button,a,input,select,[tabindex]):focus-visible { outline: 3px solid #7c8bf0; outline-offset: 3px; }
html.page-tool .package-checker-page .psc-page .form-status { font-size: 13px; margin: 12px 0 0; min-height: 0; }
html.page-tool .package-checker-page .psc-page .form-status.is-error { color: #b12f35; }
.package-checker-page .psc-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.package-checker-page .psc-metric { background: #f9fafc; padding: 16px; min-width: 0; }
.package-checker-page .psc-metric__label { font-size: 13px; line-height: 1.5; }
.package-checker-page .psc-metric strong { font-size: 20px; margin-top: 6px; overflow-wrap: anywhere; }
.package-checker-page .psc-metric--billable { grid-column: span 2; background: #f0f3ff; border-color: #c9d2f5; }
.package-checker-page .psc-insight { border-left: 3px solid #5964d9; padding: 4px 0 4px 18px; margin: 22px 0; }
.package-checker-page .psc-insight strong { display: block; margin-bottom: 6px; }
html.page-tool .package-checker-page .psc-page .psc-insight p { margin-bottom: 0; }
html.page-tool .package-checker-page .psc-page .psc-state { color: #995715; font-size: 14px; }
.package-checker-page .psc-state:empty { display: none; }
.package-checker-page .psc-comparison-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 28px; align-items: start; margin-top: 24px; }
.package-checker-page .psc-subheading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
html.page-tool .package-checker-page .psc-page .psc-subheading h3 { margin: 0; }
.package-checker-page .psc-subheading button { padding: 9px 14px; font-size: 13px; min-height: 40px; }
.package-checker-page .psc-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid #e1e6f0; border-radius: 10px; }
.package-checker-page table { width: 100%; min-width: 410px; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.package-checker-page th,.package-checker-page td { padding: 15px 12px; text-align: left; border-bottom: 1px solid #e8edf5; }
.package-checker-page thead { background: #f4f6fc; }
.package-checker-page tbody th { font-weight: 500; }
.package-checker-page tbody tr:last-child > * { border-bottom: 0; }
.package-checker-page .psc-change-decrease { color: #176b50; }
.package-checker-page .psc-change-increase { color: #9b4d20; }
html.page-tool .package-checker-page .psc-page .psc-comparison-summary { padding: 14px; background: #f1f4fd; border-radius: 8px; margin-top: 16px; font-size: 14px; }
.package-checker-page .psc-scenarios { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.package-checker-page .psc-scenario { display: flex; flex-direction: column; border: 1px solid #e2e7f1; padding: 18px; border-radius: 12px; background: #fbfcff; }
.package-checker-page .psc-scenario-number { font-size: 12px; font-weight: 700; color: #5366c4; margin-bottom: 16px; letter-spacing: .08em; }
html.page-tool .package-checker-page .psc-page .psc-example-dims { font-size: 13px; color: #3b4b70; font-variant-numeric: tabular-nums; }
html.page-tool .package-checker-page .psc-page .psc-scenario p { font-size: 14px; }
.package-checker-page .psc-text-button { text-align: left; color: #3a4bbb; background: none; border: 0; padding: 10px 0 0; font-weight: 600; font-size: 14px; margin-top: auto; min-height: 44px; }
.package-checker-page .psc-measure-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 40px; }
.package-checker-page .psc-measure-figure { margin: 0; padding: 20px; border-radius: 12px; background: #fafbff; }
.package-checker-page .psc-measure-figure svg { width: 100%; height: auto; display: block; }
.package-checker-page .psc-measure-figure text { font-size: 15px; font-weight: 600; }
.package-checker-page figcaption { text-align: center; color: #435677; font-size: 13px; line-height: 1.6; margin-top: 12px; }
html.page-tool .package-checker-page .psc-page .psc-note { background: #f4f6fb; padding: 18px; border-radius: 10px; margin: 24px 0 14px; font-size: 14px; }
.package-checker-page .psc-source { font-size: 13px; color: #4054ba; }
.package-checker-page .psc-faq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 36px; }
.package-checker-page .psc-faq-grid .faq { padding: 22px 0; border-bottom: 1px solid #e4e9f2; }
.package-checker-page .psc-faq-grid .faq + .faq { margin-top: 0; }
html.page-tool .package-checker-page .psc-page .faq__q { font-size: 16px; margin-bottom: 10px; }
html.page-tool .package-checker-page .psc-page .faq__a { font-size: 14px; margin: 0; }
.package-checker-page .psc-related { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.package-checker-page .psc-related a { display: flex; justify-content: space-between; gap: 12px; padding: 18px; border: 1px solid #dce3f2; border-radius: 10px; color: #344caa; font-size: 15px; }
.package-checker-page .psc-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding: 24px; border-radius: 12px; background: #f0f3fd; }
html.page-tool .package-checker-page .psc-page .psc-cta p { margin: 0; }
.package-checker-page .psc-cta a { flex-shrink: 0; }
.package-checker-page > .footer-cta { display: none; }
.package-checker-page .psc-page [hidden] { display: none !important; }
.package-checker-page .psc-page { scroll-padding-bottom: 90px; }
.package-checker-page .psc-page :is(input,button,a) { scroll-margin-top: 105px; scroll-margin-bottom: 95px; }
@media (max-width: 991px) {
  .package-checker-page > .sticky-cta { display: none; }
  .package-checker-page .psc-workspace-grid,.package-checker-page .psc-comparison-layout { grid-template-columns: 1fr; }
  .package-checker-page .psc-visual { min-height: 0; }
  .package-checker-page #psc-svg { height: 250px; }
  .package-checker-page .psc-scenarios { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .package-checker-page .psc-measure-grid { gap: 24px; }
  .package-checker-page .psc-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  html.page-tool .package-checker-page .psc-page .container { padding-left: 16px; padding-right: 16px; }
  html.page-tool .package-checker-page .psc-page > .psc-hero { padding: 28px 0 24px; }
  .package-checker-page .psc-hero-layout { grid-template-columns: 1fr; gap: 0; }
  .package-checker-page .psc-hero-layout img { display: none; }
  html.page-tool .package-checker-page .psc-page .psc-card { padding: 20px; border-radius: 12px; }
  html.page-tool body.ds.package-checker-page .psc-page .psc-card h2 { font-size: 20px; }
  .package-checker-page #psc-svg { height: 180px; }
  .package-checker-page .psc-visual-tip { display: none; }
  .package-checker-page .psc-fields { gap: 16px 12px; }
  .package-checker-page .lead-form input,.package-checker-page .lead-form select { font-size: 16px; }
  .package-checker-page .lead-form button[type="submit"] { width: 100%; }
  .package-checker-page .psc-metric { padding: 12px; }
  .package-checker-page .psc-metric strong { font-size: 18px; }
  .package-checker-page .psc-scenarios,.package-checker-page .psc-measure-grid,.package-checker-page .psc-faq-grid,.package-checker-page .psc-related { grid-template-columns: 1fr; }
  .package-checker-page .psc-scenario { padding: 18px; }
  .package-checker-page .psc-cta { flex-direction: column; align-items: stretch; padding: 20px; }
  .package-checker-page .psc-cta a { text-align: center; }
  /* This page already has an in-flow consultation action; keep mobile controls unobscured. */
  .package-checker-page > .sticky-cta { display: none; }
}
