/* Adapted from the sibling's four solution pages; base components live in interface.css. */
html:has(main.fi-solution-page),
body:has(main.fi-solution-page) { min-width: 0; }
.fi-solution-page {
  --fi-solution-shell: min(calc(var(--jp-content-max, 1280px) + 30px), calc(100% - 2 * var(--jp-content-gutter, 48px) + 30px));
  overflow-wrap: anywhere;
}
body main.fi-solution-page .container {
  width: var(--fi-solution-shell);
  max-width: none;
  padding-left: 15px;
  padding-right: 15px;
}
body main.fi-solution-page .jp-solution-hero { padding: 106px 0 96px; }
body main.fi-solution-page .jp-solution-section { padding: 96px 0; }
body main.fi-solution-page .jp-solution-final { padding: 96px 0; }
body main.fi-solution-page .jp-solution-question-card,
body main.fi-solution-page .jp-solution-resolution-card,
body main.fi-solution-page .jp-solution-public-file,
body main.fi-solution-page .jp-solution-decision-card { box-shadow: none; }
:root body main.jp-solution-page.fi-solution-page h1,
:root body main.jp-solution-page.fi-solution-page h2,
:root body main.jp-solution-page.fi-solution-page h3 { font-weight: 600; }
:root body main.fi-solution-page .jp-solution-hero h1 { font-family: "Source Serif 4", Georgia, serif; }
.fi-solution-page .jp-solution-lead { max-width: 710px; }
.fi-solution-page .jp-solution-trust-list { font-size: 13px; }
.fi-solution-page .jp-solution-button {
  background-size: 200% 100%;
  background-position: 100% 0;
  transition: background-position .34s ease;
  font-weight: 600;
}
.fi-solution-page .jp-solution-button-primary {
  background-color: #032d5e;
  background-image: linear-gradient(90deg, #084175 0 50%, #032d5e 50% 100%);
  color: #fff;
}
.fi-solution-page .jp-solution-button-primary:visited,
.fi-solution-page .jp-solution-button-primary:hover,
.fi-solution-page .jp-solution-button-primary:focus { color: #fff; }
.fi-solution-page .jp-solution-button:hover,
.fi-solution-page .jp-solution-button:focus { background-position: 0 0; }
.fi-solution-page .jp-solution-text-link { font-weight: 600; }
.fi-solution-page .jp-solution-question-card > p { font-size: 27px; line-height: 1.35; }
.fi-solution-page .jp-solution-public-file { min-width: 0; }
.fi-solution-page .jp-solution-resolution-card p.fi-solution-note { color: #5d6978; font-size: 14px; line-height: 1.75; }
.fi-solution-page .jp-solution-resolution-card dl div + div { margin-top: 15px; }
.fi-solution-page .jp-solution-resolution-card dl div { grid-template-columns: 105px minmax(0, 1fr); }
.fi-solution-page .jp-solution-resolution-card dd { line-height: 1.65; }
.fi-solution-page .jp-solution-public-record-card dd { min-width: 0; }
.fi-solution-inline-link { display: inline-block; margin-top: 22px; color: #032d5e; font-size: 14px; font-weight: 600; }
.fi-solution-page .fi-solution-inline { margin-top: 24px; font-size: 14px; }
.fi-solution-inline a,
.fi-solution-inline-link,
.fi-solution-page .jp-solution-outcome-grid h3 a { color: #032d5e; }
.fi-solution-context-note { max-width: 940px; margin: 32px 0 0; color: #5d6978; font-size: 14px; line-height: 1.75; }
.fi-solution-context-note a, .fi-tax-reading a { color: #032d5e; text-decoration: underline; text-underline-offset: 4px; }
.fi-solution-context-note span { margin: 0 12px; }
.fi-solution-resources .jp-solution-outcome-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.fi-solution-resources .jp-solution-outcome-grid article { background: #f7f8fa; border-color: #dfe4e9; }
.fi-solution-resources .jp-solution-outcome-grid h3 { margin-top: 0; }
.fi-tax-collections { background: #f7f7f7; }
.fi-tax-collections .jp-solution-outcome-grid article { border-color: #dfe4e9; }
.fi-tax-editorial-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 90px; align-items: start; }
:root body main.fi-solution-page .fi-tax-editorial h2,
:root body main.fi-solution-page .fi-labor-technical h2,
:root body main.fi-solution-page .fi-labor-employer h2,
:root body main.fi-solution-page .fi-solution-overview-heading h2 { font-family: "Source Serif 4", Georgia, serif; font-size: 44px; line-height: 1.15; letter-spacing: -.025em; }
.fi-tax-editorial-grid > div > p, .fi-labor-technical-grid p, .fi-labor-employer-heading > p { margin: 22px 0 0; color: #596575; font-size: 17px; line-height: 1.75; }
.fi-tax-topics { display: grid; gap: 26px; padding-left: 30px; border-left: 2px solid #d6a64e; }
.fi-tax-topics article p { margin: 0; color: #5d6978; font-size: 15px; line-height: 1.75; }
:root body main.fi-solution-page .fi-tax-topics h3 { margin: 0 0 10px; font-size: 20px; }
.fi-tax-reading { display: flex; flex-wrap: wrap; gap: 20px 36px; margin-top: 40px; font-size: 14px; }
.fi-labor-technical { background: #f7f8fa; }
.fi-labor-technical-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 100px; }
.fi-labor-technical-grid > div > p:first-child { margin-top: 0; }
.fi-solution-checklist { margin: 28px 0 0; padding-left: 20px; color: #5d6978; font-size: 15px; line-height: 1.8; }
.fi-solution-checklist li + li { margin-top: 14px; }
.fi-labor-employer-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 90px; margin-bottom: 44px; align-items: start; }
.fi-labor-employer-heading > p { margin-top: 0; }
.fi-labor-employer .jp-solution-outcome-grid article { background: #f7f7f7; border-color: #dfe4e9; }
.fi-solution-final-actions { justify-content: center; gap: 16px; }
.fi-solution-page .jp-solution-final .jp-solution-button { margin: 0; background-color: #fff; background-image: linear-gradient(90deg, #e5e9ee 0 50%, #fff 50% 100%); color: #032d5e; }
.fi-solution-page .jp-solution-final .jp-solution-button:hover,
.fi-solution-page .jp-solution-final .jp-solution-button:focus { color: #032d5e; }
.fi-solution-page .jp-solution-contrast-header { font-size: 11px; }
.fi-solution-overview .jp-solution-outcome-grid article { background: #fff; border-color: #dfe4e9; }
.fi-solution-overview-heading { max-width: 850px; margin-bottom: 42px; }
.fi-solution-overview-heading p { margin-top: 22px; color: #596575; font-size: 18px; line-height: 1.7; }
@media (max-width: 1050px) {
  .fi-tax-editorial-grid, .fi-labor-technical-grid, .fi-labor-employer-heading { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .fi-solution-page .jp-solution-outcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fi-solution-page .jp-solution-faq-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
@media (max-width: 767.98px) {
  body main.fi-solution-page .jp-solution-hero { padding: 64px 0; }
  body main.fi-solution-page .jp-solution-section, body main.fi-solution-page .jp-solution-final { padding: 64px 0; }
  :root body main.fi-solution-page .fi-tax-editorial h2,
  :root body main.fi-solution-page .fi-labor-technical h2,
  :root body main.fi-solution-page .fi-labor-employer h2,
  :root body main.fi-solution-page .fi-solution-overview-heading h2 { font-size: 34px; }
  .fi-solution-page .jp-solution-outcome-grid { grid-template-columns: minmax(0, 1fr); }
  .fi-tax-topics { padding-left: 20px; }
  .fi-solution-page .jp-solution-contrast-row { grid-template-columns: minmax(0, 1fr); }
  .fi-solution-page .jp-solution-contrast-row span + span { border-left: 0; border-top: 1px solid rgb(255 255 255 / 10%); }
  .fi-solution-page .jp-solution-public-risks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fi-solution-page .jp-solution-public-risks article { padding: 24px 12px; }
  .fi-tax-reading { flex-direction: column; gap: 18px; }
  .fi-solution-final-actions { flex-direction: column; }
}
@media (max-width: 480px) {
  .fi-solution-page .jp-solution-public-risks { grid-template-columns: minmax(0, 1fr); }
  .fi-solution-page .jp-solution-resolution-card dl div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .fi-solution-page .jp-solution-button { transition: none; } }
