.altPage {
  margin-top: -80px;
  margin-bottom: -80px;
  background: #f0f7ff !important;
}

.altHero {
  padding-top: 130px !important;
  background: none !important;
}
.altHero::before {
  background: none !important;
}
.altContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.heroKicker,
.altEyebrow {
  margin: 20px 0 14px !important;
  color: #0af !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.095em;
  text-transform: uppercase;
}

.altHero h1 {
  max-width: 880px !important;
  margin: 0;
  color: var(--alt-navy);
  font-size: 58px;
  font-weight: 600;
  line-height: 1.01;
  letter-spacing: -0.038em;
  text-wrap: balance;
}

.altHeroLead {
  font-size: 16px !important;
  max-width: 600px !important;
}

.altHeroLead {
  color: #214978 !important;
}

.altBtn {
  font-weight: 500 !important;
}
.altBtnPrimary {
  color: white;
}

.altBtnPrimary {
  box-shadow: none !important;
}

.altTrustGrid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}

.altTrustBar {
  background: #f6fbff !important;
}

.altTrustGrid strong {
  font-size: 16px !important;
}

.altCriterionNumber {
  background: #8f85eb;
  color: white;
  min-width: 30px;
  border-radius: 4px;
  min-height: 30px;
  max-height: 30px;
  max-width: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-right: 7px;
}

.altCriterion b {
  display: flex;
  align-items: center;
  /* ga  p: 8px; */
}

.altCriteriaGrid,
.altSectionHead {
  max-width: 1200px;
}

.altCriteriaGrid {
  margin-top: 20px;
}

.altSectionHead h2,
.altCopy h2,
.altFaqHead h2,
.altRelatedHead h2 {
  font-weight: 600 !important;
  font-size: 38px !important;
}

.altOptionTag {
  color: #0af !important;
}

.altOptionCard h3 {
  color: #143051 !important;
  font-size: 25px !important;
}

.altOptionMeta span {
  color: #143051 !important;
}

.altOptionLink {
  color: #8f85eb !important;
}

.appStoresInner {
  width: auto !important;
}

.productAvailability {
  margin-left: 20px;
}

.altCopy {
  margin-top: 20px;
}

.altPositionCard {
  padding: 32px;
  border-radius: 22px;
  background: var(--alt-navy);
  color: #fff;

  margin-top: 90px;
  margin-bottom: -20px;
}
.glanceImg {
  width: 270px;
  position: absolute;
  margin-left: 310px;
  margin-top: -630px;
}

.altPositionCard li {
  max-width: 270px;
}

.x38382983333 {
  color: #143051 !important;
}

/* Comparison section: intentionally scoped so it cannot change the shared header. */
.altSideBySide .altCompareExample {
  margin: 0 0 18px;
  color: var(--alt-muted);
  font-size: 15px;
  line-height: 1.6;
  min-width: 100%;
  text-align: left;
}
.altSideBySide .altCompareExample strong {
  color: var(--alt-navy);
}
.altSideBySide .altCompareCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.altSideBySide .altCompareCard {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px;
  border: 1px solid var(--alt-border);
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(20, 48, 81, 0.045);
  min-width: 0;
}
.altSideBySide .altCompareCardFlow {
  border: 2px solid var(--alt-blue);
  background: linear-gradient(160deg, #eef8ff, #fff 72%);
  padding: 27px;
}
.altSideBySide .altCompareCardTop {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: space-between;
  align-items: center;
}
.altSideBySide .altCompareCard h3 {
  color: var(--alt-navy);
  margin: 0;
  font-size: 21px;
}
.altSideBySide .altCompareTag {
  border-radius: 20px;
  padding: 5px 9px;
  background: #d9efff;
  color: #0569c0;
  font-size: 11px;
  font-weight: 800;
}
.altSideBySide .altCompareCost {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  color: var(--alt-muted);
}
.altSideBySide .altCompareCost strong {
  color: var(--alt-navy);
  font-size: clamp(36px, 3.7vw, 51px);
  line-height: 1;
  letter-spacing: -0.04em;
}
.altSideBySide .altCompareCost span {
  font-size: 13px;
}
.altSideBySide .altCompareCard p {
  margin: 0;
  line-height: 1.65;
  font-size: 14px;
  color: var(--alt-muted);
  flex-grow: 1;
}
.altSideBySide .altCompareCard p b {
  color: var(--alt-navy);
}
.altSideBySide .altCompareCard a {
  color: var(--alt-blue-dark);
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}
.altSideBySide .altCompareCard a:hover {
  text-decoration: underline;
}
.altSideBySide .altCompareFootnote {
  margin: 14px 0 0;
  max-width: 960px;
  color: var(--alt-muted);
  font-size: 12px;
  line-height: 1.65;
}
.altSideBySide .altCompareTableHeader {
  margin: 44px 0 18px;
}

.altSideBySide .altCompareTableHeader h3 {
  margin: 0;
  color: var(--alt-navy);
  font-size: clamp(23px, 2.8vw, 30px);
}
.altSideBySide .altCompareTableHeader p {
  margin: 9px 0 0;
  color: var(--alt-muted);
  font-size: 15px;
}
.altSideBySide .altCompareTableScroll {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid var(--alt-border);
  border-radius: 17px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.altSideBySide .altCompareTable {
  width: 100%;
  min-width: 760px;
  border-spacing: 0;
  border-collapse: separate;
  color: var(--alt-ink);
}
.altSideBySide .altCompareTable th,
.altSideBySide .altCompareTable td {
  padding: 16px 19px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--alt-border);
  font-size: 14px;
  line-height: 1.55;
}
.altSideBySide .altCompareTable thead th {
  color: #fff;
  background: var(--alt-navy);
  font-size: 15px;
  font-weight: 800;
}
.altSideBySide .altCompareTable tbody th {
  width: 27%;
  color: var(--alt-navy);
  font-weight: 700;
}
.altSideBySide .altCompareTable tbody tr:last-child th,
.altSideBySide .altCompareTable tbody tr:last-child td {
  border-bottom: 0;
}
.altSideBySide .altCompareTable .altCompareFlowCol {
  background: #eef8ff;
}
.altSideBySide .altCompareTable thead .altCompareFlowCol {
  background: #0877cf;
}
.altSideBySide .altCompareTable td strong {
  color: #096dba;
}
.altSideBySide .altCompareTable td small {
  display: block;
  margin-top: 4px;
  color: var(--alt-muted);
  font-size: 12px;
  line-height: 1.5;
}
.altSideBySide .altCompareBottom {
  margin-top: 24px;
  padding: 26px;
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  border-radius: 16px;
  background: var(--alt-pale);
}
.altSideBySide .altCompareBottom > div {
  max-width: 770px;
}
.altSideBySide .altCompareBottom h3 {
  color: var(--alt-navy);
  margin: 0 0 9px;
  font-size: 22px;
}
.altSideBySide .altCompareBottom p {
  color: var(--alt-muted);
  margin: 0;
  line-height: 1.65;
  font-size: 14px;
}
.altSideBySide .altCompareBottom .altBtn {
  flex-shrink: 0;
}
@media (max-width: 900px) {
  .altContainer {
    padding-left: 5%;
    padding-right: 5%;
  }
  .altHero h1 {
    font-size: 36px !important;
  }
  .glanceImg {
    margin-left: 0px;
    position: relative;
    margin-top: 40px;
    min-width: 100%;
  }

  .productAvailability {
    margin: 0 auto;
    text-align: center;
  }
  .altFlowPosition {
    flex-direction: column !important;
  }

  .altSideBySide {
    padding-bottom: 0px;
  }
  .altCopy {
    min-width: 100%;
  }
  .heroKicker {
    font-size: 12px !important;
    max-width: 300px;
    line-height: 20px;
  }

  .altSideBySide .altCompareCards {
    grid-template-columns: 1fr;
  }
  .altSideBySide .altCompareBottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .altTrustGrid {
    flex-direction: column !important;
    display: none !important;
  }

  .altTrustGrid > div {
    min-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .altTrustGrid div:first-child {
    min-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media (max-width: 720px) {
  .altSideBySide .altCompareCard {
    padding: 22px;
  }
  .altSideBySide .altCompareCardFlow {
    padding: 21px;
  }
  .altSideBySide .altCompareTable th,
  .altSideBySide .altCompareTable td {
    padding: 14px 15px;
  }
  .altSideBySide .altCompareBottom {
    padding: 22px;
  }
  .altSideBySide .altCompareBottom .altBtn {
    width: 100%;
  }
}

/* Slider: scoped to the comparison section; no global header/body changes. */
.altSideBySide .altCompareCalculator {
  min-width: 100%;
  margin: 0 0 25px;
  padding: 22px 26px 19px;
  border: 1px solid var(--alt-border, rgba(20, 48, 81, 0.14));
  border-radius: 16px;
  background: #f5faff;
}
.altSideBySide .altCompareSliderHeading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 19px;
}
.altSideBySide .altCompareSliderHeading label {
  display: block;
  color: var(--alt-navy, #102d4f);
  font-size: 17px;
  font-weight: 750;
  line-height: 1.35;
}
.altSideBySide .altCompareSliderHeading p {
  margin: 5px 0 0;
  color: var(--alt-muted, #5c7085);
  font-size: 13px;
  line-height: 1.5;
}
.altSideBySide .altCompareUserCount {
  flex: 0 0 auto;
  color: var(--alt-blue-dark, #0569c0);
  font-size: 23px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.altSideBySide .altCompareUserSlider {
  display: block;
  width: 100%;
  height: 9px;
  margin: 0;
  border: none;
  border-radius: 999px;
  outline-offset: 6px;
  background: linear-gradient(
    to right,
    var(--alt-blue, #0788f5) 0%,
    var(--alt-blue, #0788f5) var(--alt-slider-progress, 8.16%),
    #ceddec var(--alt-slider-progress, 8.16%),
    #ceddec 100%
  );
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.altSideBySide .altCompareUserSlider::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--alt-blue, #0788f5);
  box-shadow: 0 2px 9px rgba(20, 48, 81, 0.23);
  appearance: none;
  -webkit-appearance: none;
}
.altSideBySide .altCompareUserSlider::-moz-range-thumb {
  width: 17px;
  height: 17px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--alt-blue, #0788f5);
  box-shadow: 0 2px 9px rgba(20, 48, 81, 0.23);
}
.altSideBySide .altCompareUserSlider:focus-visible {
  outline: 3px solid var(--alt-blue, #0788f5);
}
.altSideBySide .altCompareSliderTicks {
  display: flex;
  justify-content: space-between;
  margin-top: 13px;
  color: var(--alt-muted, #5c7085);
  font-size: 12px;
}
.altSideBySide .altCompareSavings {
  margin: 20px 0 0;
  color: var(--alt-navy, #102d4f);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
}
.altSideBySide .altCompareDeputyNote {
  display: block;
  margin-top: 6px;
  font-size: 12px;
}
@media (max-width: 600px) {
  .altSideBySide .altCompareCalculator {
    padding: 20px;
  }
  .altSideBySide .altCompareSliderHeading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .altSideBySide .altCompareUserCount {
    font-size: 25px;
  }
}

.altCompareTableHeader {
  margin-top: 80px !important;
  min-width: 100%;
  border-top: 1px solid #bbcada;
  padding-top: 40px;
}

.altCompareTableScroll {
  margin-top: 30px;
}

.altFinalCtaInner {
  margin-bottom: 100px !important;
}

.altFaqItem {
  min-width: 100%;
}

.altFaqList {
  min-width: 100%;
}

/* Connecteam comparison page only. No global html/body/header selectors. */
.ctPage .altContainer {
  display: block;
  align-items: initial;
}
.ctPage .altSectionHead {
  max-width: 900px;
  margin-bottom: 36px;
}
.ctPage .altSectionHead h2 {
  font-weight: 600;
}
.ctPage .altSectionHead p {
  max-width: 780px;
}
.ctPage .altEyebrow,
.ctPage .heroKicker {
  color: #00aaff !important;
  font-weight: 600 !important;
}
.ctPage a:focus-visible,
.ctPage input:focus-visible,
.ctPage select:focus-visible,
.ctPage summary:focus-visible {
  outline: 3px solid #0077ff;
  outline-offset: 3px;
}
.ctPage .altBtn {
  font-weight: 600 !important;
}
.ctPage .altBtnPrimary {
  color: #fff;
}
.ctPage .altHero {
  padding-top: 130px !important;
}
.ctPage .ctHero {
  background: linear-gradient(168deg, #f2f9ff 0%, #fff 80%);
}
.ctPage .ctHeroLayout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 52px;
  align-items: center;
}
.ctPage .ctHeroCopy {
  min-width: 0;
}
.ctPage .ctHero h1 {
  font-size: clamp(42px, 5.1vw, 68px);
  font-weight: 600;
}
.ctPage .ctHeroCopy .altHeroLead {
  max-width: 700px;
  font-size: 18px;
}
.ctPage .ctHeroMicro {
  margin: 28px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: #5c7085;
  max-width: 710px;
}
.ctPage .ctHeroMicro strong {
  color: #102d4f;
}
.ctPage .ctKickerDot {
  padding: 0 7px;
  color: #a3bed4;
}
.ctPage .ctHeroAside {
  background: #fff;
  padding: 28px 29px;
  border-radius: 24px;
  border: 1px solid rgba(20, 48, 81, 0.12);
  box-shadow: 0 25px 65px rgba(20, 48, 81, 0.09);
}
.ctPage .ctSnapshotTop {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.09em;
  color: #008adb;
}
.ctPage .ctUpdatedDot {
  color: #67829a;
}
.ctPage .ctHeroAside h2 {
  margin: 19px 0 14px;
  font-weight: 600;
  font-size: 25px;
  line-height: 1.24;
  color: #102d4f;
}
.ctPage .ctSnapshotItem {
  /* display: grid; */
  grid-template-columns: 40px 1fr;
  gap: 11px;
  padding: 17px 0;
  border-top: 1px solid #e1eaf2;
}
.ctPage .ctSnapshotIcon {
  width: 31px;
  height: 31px;
  border-radius: 8px;
  background: #eff6ff;
  color: #0087ee;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
}
.ctPage .ctSnapshotItem strong {
  display: block;
  color: #143051;
  font-size: 15px;
}

.ctPage .ctSnapshotItem p {
  color: #5c7085;
  line-height: 1.6;
  font-size: 13px;
  margin: 5px 0 0;
}
.ctPage .ctTrust {
  background: #f6fbff;
}
.ctPage .ctTrust .altTrustGrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.ctPage .ctTrust .altTrustGrid > div {
  color: #476781;
}
.ctPage .ctTrust .altTrustGrid strong {
  font-size: 16px;
}
.ctPage .ctChoiceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.ctPage .ctChoiceCard {
  display: flex;
  flex-direction: column;
  padding: 33px;
  background: #fff;
  border: 1px solid rgba(20, 48, 81, 0.13);
  border-radius: 22px;
  min-width: 0;
  box-shadow: 0 16px 36px rgba(20, 48, 81, 0.04);
}
.ctPage .ctChoiceFlow {
  background: linear-gradient(150deg, #f1f9ff, #fff 63%);
  border-color: #a5d6fa;
}
.ctPage .ctEyebrowTag {
  font-size: 12px;
  color: #007aca;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.ctPage .ctChoiceCard h3 {
  color: #143051;
  font-size: 25px;
  font-weight: 600;
  margin: 12px 0 16px;
}
.ctPage .ctChoiceCard ul {
  padding-left: 20px;
  margin: 0;
  display: grid;
  gap: 12px;
  color: #325676;
  line-height: 1.65;
  font-size: 15px;
}
.ctPage .ctChoiceQualifier {
  border-top: 1px solid #dce9f5;
  padding-top: 17px;
  margin: 24px 0 20px;
  color: #687e93;
  font-size: 14px;
  line-height: 1.6;
  flex: 1;
}
.ctPage .ctChoiceCard > a {
  color: #0079cf;
  font-weight: 700;
  text-decoration: none;
}
.ctPage .ctChoiceCard > a:hover {
  text-decoration: underline;
}
.ctPage .ctHonestNote {
  margin-top: 24px;
  border-left: 4px solid #8f85eb;
  padding: 20px 24px;
  background: #f5faff;
  border-radius: 0 14px 14px 0;
  color: #143051;
  line-height: 1.7;
  font-size: 15px;
}
.ctPage .ctPricing {
  background: #f5faff;
}
.ctPage .ctCalculator {
  padding: 27px;
  background: #fff;
  border: 1px solid #d8e5f1;
  border-radius: 22px;
  box-shadow: 0 16px 48px rgba(14, 53, 92, 0.07);
}
.ctPage .ctCalcControls {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 30px;
  margin-bottom: 24px;
}
.ctPage .ctSliderWrap {
  background: #f4f9ff;
  border: 1px solid #deebf6;
  border-radius: 16px;
  padding: 19px 20px;
}
.ctPage .ctSliderHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 25px;
}
.ctPage .ctSliderHeader label {
  color: #143051;
  font-weight: 750;
  font-size: 16px;
}
.ctPage .ctSliderHeader output {
  color: #007acc;
  font-weight: 800;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.ctPage #ctUsers {
  display: block;
  width: 100%;
  height: 9px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  border-radius: 99px;
  background: linear-gradient(
    to right,
    #0788f5 0%,
    #0788f5 var(--ctProgress, 8.16%),
    #d2e1ef var(--ctProgress, 8.16%),
    #d2e1ef 100%
  );
}
.ctPage #ctUsers::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 25px;
  height: 25px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.ctPage #ctUsers::-moz-range-thumb {
  width: 19px;
  height: 19px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.ctPage .ctRangeMarks {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  color: #678098;
  font-size: 12px;
}
.ctPage .ctControlRight {
  display: grid;
  gap: 14px;
  align-content: center;
}
.ctPage .ctField label {
  display: block;
  color: #143051;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.ctPage .ctField select {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #baccdc;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  color: #173951;
}
.ctPage .ctToggleLabel {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #23496f;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}
.ctPage .ctToggleLabel small {
  color: #71889c;
}
.ctPage .ctToggleLabel input {
  width: 17px;
  height: 17px;
  accent-color: #007cdd;
  flex: none;
}
.ctPage .ctPriceCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.ctPage .ctPriceCard {
  border: 1px solid #dbe6f0;
  border-radius: 18px;
  padding: 23px 22px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.ctPage .ctPriceFlow {
  border: 2px solid #0788f5;
  background: linear-gradient(155deg, #eff8ff, #fff 65%);
  padding: 22px 21px;
}
.ctPage .ctPriceFree {
  background: linear-gradient(155deg, #f1fbf6, #fff 70%);
}
.ctPage .ctPriceCardHeading {
  min-height: 63px;
}
.ctPage .ctPriceCardHeading h3 {
  margin: 0 0 7px;
  color: #143051;
  font-size: 17px;
  font-weight: 700;
}
.ctPage .ctPriceCardHeading > span {
  font-size: 12px;
  font-weight: 700;
  color: #62819b;
}
.ctPage .ctPriceValue {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 18px 0;
  flex-wrap: wrap;
}
.ctPage .ctPriceValue strong {
  font-size: clamp(28px, 3.1vw, 45px);
  letter-spacing: -0.04em;
  line-height: 1;
  color: #102d4f;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.ctPage .ctPriceFree .ctPriceValue strong {
  color: #147b57;
}
.ctPage .ctPriceValue > span {
  font-size: 12px;
  color: #6b7e92;
}
.ctPage .ctPriceCard p {
  color: #566f85;
  line-height: 1.65;
  font-size: 13px;
  margin: 0 0 12px;
  flex: 1;
}
.ctPage .ctPriceCard small {
  display: block;
  font-size: 12px;
  color: #698096;
  line-height: 1.5;
  margin-top: 4px;
}
.ctPage .ctPriceCard > a {
  margin-top: 13px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  color: #0872c0;
}
.ctPage .ctPriceCard > a:hover {
  text-decoration: underline;
}
.ctPage .ctCalculator[data-free-status="none"] .ctPriceFree {
  background: #f6f8fb;
}
.ctPage .ctCalculator[data-free-status="none"] #ctFreePrice {
  color: #657a8a;
  font-size: 26px;
  letter-spacing: -0.02em;
}
.ctPage .ctPriceSummary {
  margin: 18px 0 0;
  padding: 16px 20px;
  background: #f0f7ff;
  border-radius: 11px;
  font-size: 14px;
  line-height: 1.65;
  color: #16466b;
}
.ctPage .ctPricingFootnote {
  color: #6c8093;
  line-height: 1.7;
  font-size: 12px;
  margin: 17px 0 0;
}
.ctPage .ctPricingFootnote a {
  color: #006dbb;
}
.ctPage .ctLegend {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 0 0 18px;
  color: #43617a;
  font-size: 14px;
}
.ctPage .ctLegend > span {
  display: flex;
  align-items: center;
  gap: 9px;
}
.ctPage .ctState {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  width: 27px;
  height: 27px;
  font-style: normal;
  font-weight: 800;
  font-size: 17px;
  line-height: 1;
}
.ctPage .ctState--yes {
  color: #147d58;
  background: #dbefff;
}
.ctPage .ctState--no {
  color: #bb4a4a;
  background: #fff0f0;
}
.ctPage .ctState--unknown {
  color: #7556ae;
  background: #f2ecff;
}
.ctPage .ctTableViewport {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid #d8e4f0;
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(16, 45, 79, 0.06);
  background: #fff;
  overscroll-behavior-x: contain;
}
.ctPage .ctComparisonTable {
  width: 100%;
  min-width: 790px;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
}
.ctPage .ctComparisonTable th,
.ctPage .ctComparisonTable td {
  padding: 15px 19px;
  border-bottom: 1px solid #e3ebf3;
  vertical-align: middle;
  font-size: 14px;
  color: #45647e;
  line-height: 1.55;
}
.ctPage .ctComparisonTable thead th {
  background: #102d4f;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.ctPage .ctComparisonTable tbody th {
  font-weight: 650;
  color: #123758;
  width: 30%;
}
.ctPage .ctComparisonTable thead th:nth-child(2),
.ctPage .ctComparisonTable thead th:nth-child(3),
.ctPage .ctComparisonTable tbody td:nth-child(2),
.ctPage .ctComparisonTable tbody td:nth-child(3) {
  text-align: center;
  width: 13%;
}
.ctPage .ctComparisonTable thead .ctFlowCell {
  background: #0877cf;
}
.ctPage .ctComparisonTable tbody .ctFlowCell {
  background: #f3faff;
}
.ctPage .ctComparisonTable tbody .ctGroupRow th {
  background: #edf4fb;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  color: #284c6b;
  padding: 13px 19px;
}
.ctPage .ctComparisonTable tbody .ctFeatureNote {
  font-size: 12px;
  color: #647b90;
  width: 44%;
}
.ctPage .ctComparisonTable tr:last-child > * {
  border-bottom: 0;
}
.ctPage .ctMatrixMethod {
  margin-top: 17px;
  border-left: 3px solid #0788f5;
  background: #f5faff;
  padding: 18px 20px;
  border-radius: 0 12px 12px 0;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.ctPage .ctScreensGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.ctPage .ctScreenFrame {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8e5f0;
  border-radius: 19px;
  background: #fff;
}
.ctPage .ctScreenshotPlaceholder {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  gap: 12px;
  aspect-ratio: 16/9;
  min-height: 220px;
  background: repeating-linear-gradient(
    45deg,
    #eaf3fc 0px,
    #eaf3fc 14px,
    #f5faff 14px,
    #f5faff 28px
  );
  color: #53738e;
  padding: 22px;
}
.ctPage .ctScreenshotPlaceholder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ctPage .ctScreenshotPlaceholder strong {
  font-size: 18px;
  color: #143051;
}
.ctPage .ctScreenshotPlaceholder span:last-child {
  max-width: 290px;
  line-height: 1.5;
  font-size: 13px;
}
.ctPage .ctPlaceholderIcon {
  color: #87abd0;
  font-size: 42px;
}
.ctPage .ctScreenFrame figcaption {
  padding: 21px 23px;
}
.ctPage .ctScreenFrame figcaption strong {
  color: #143051;
}
.ctPage .ctScreenFrame figcaption p {
  margin: 6px 0 0;
  color: #627e94;
  line-height: 1.6;
  font-size: 13px;
}
.ctPage .ctScreenshotHelp {
  margin: 18px 0 0;
  font-size: 12px;
  color: #71849a;
  line-height: 1.7;
}
.ctPage .ctScreenshotHelp code {
  white-space: normal;
  overflow-wrap: anywhere;
}
.ctPage .ctFitGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
}
.ctPage .ctFitCard {
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #d9e5f0;
}
.ctPage .ctFitNumber {
  display: inline-grid;
  place-items: center;
  background: #8f85eb;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 7px;
  width: 34px;
  height: 34px;
}
.ctFitNumber {
  display: none !important;
}
.ctPage .ctFitCard h3 {
  color: #143051;
  font-size: 22px;
  margin: 20px 0 11px;
}
.ctPage .ctFitCard p {
  color: #536f89;
  font-size: 14px;
  line-height: 1.7;
}
.ctPage .ctFitCard .ctFitConcession {
  border-top: 1px solid #e0e9f2;
  padding-top: 14px;
  margin-top: 18px;
  font-size: 13px;
  color: #657c92;
}
.ctPage .ctTrial {
  margin-top: 0 !important;
  background: #f6faff;
}
.ctPage .ctTrialGrid {
  display: grid;
  grid-template-columns: 1fr minmax(290px, 0.65fr);
  gap: 56px;
  align-items: start;
}
.ctPage .ctTrial h2 {
  font-size: clamp(30px, 4vw, 43px);
  font-weight: 600;
  color: #102d4f;
  line-height: 1.16;
  margin: 10px 0 15px;
}
.ctPage .ctTrial p:not(.altEyebrow) {
  line-height: 1.7;
  color: #5f7891;
}
.ctPage .ctTrialSteps {
  padding-left: 23px;
  display: grid;
  gap: 14px;
  color: #4c6b82;
  line-height: 1.65;
}
.ctPage .ctTrialSteps strong {
  color: #143051;
}
.ctPage .ctTestPanel {
  background: #102d4f;
  color: #fff;
  border-radius: 21px;
  padding: 31px;
  box-shadow: 0 24px 50px #14305122;
}
.ctPage .ctPanelTag {
  color: #b4dfff;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ctPage .ctTestPanel h3 {
  margin: 10px 0 22px;
  color: #fff;
  font-size: 24px;
}
.ctPage .ctMetricRow {
  padding: 14px 0;
  border-top: 1px solid #ffffff29;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ctPage .ctMetricRow strong {
  font-size: 14px;
}
.ctPage .ctMetricRow span {
  color: #c1d6e6;
  font-size: 13px;
  line-height: 1.5;
}
.ctPage .ctTestPanel .altBtn {
  margin-top: 21px;
  display: flex;
}
.ctPage .ctTextLink {
  color: #d4ebff;
  display: block;
  text-align: center;
  font-size: 14px;
  margin-top: 18px;
  text-decoration: none;
}
.ctPage .ctSourceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.ctPage .ctSourceGrid > div {
  background: #f6faff;
  border: 1px solid #e0eaf4;
  border-radius: 17px;
  padding: 24px;
}
.ctPage .ctSourceGrid h3 {
  color: #143051;
  margin: 0 0 16px;
}
.ctPage .ctSourceGrid ul {
  margin: 0;
  padding-left: 20px;
}
.ctPage .ctSourceGrid li {
  padding: 7px 0;
  color: #42627e;
  line-height: 1.55;
  font-size: 14px;
}
.ctPage .ctSourceGrid a {
  color: #006ebc;
  text-decoration: none;
}
.ctPage .ctSourceGrid a:hover {
  text-decoration: underline;
}
.ctPage .ctDisclosure {
  margin: 21px 0 0;
  line-height: 1.7;
  font-size: 13px;
  color: #647e95;
}
.ctPage .ctFaq .altFaqGrid {
  display: grid;
}
.ctPage .ctRelated .altRelatedGrid {
  display: grid;
}
.ctPage .ctFinal .altFinalCtaInner h2 {
  font-weight: 600;
}
@media (max-width: 1050px) {
  .ctPage .ctHeroLayout {
    grid-template-columns: 1fr;
    gap: 33px;
  }
  .ctPage .ctHeroAside {
    max-width: 730px;
  }
  .ctPage .ctFitGrid {
    grid-template-columns: 1fr 1fr;
  }
  .ctPage .ctFitCard:last-child {
    grid-column: 1/-1;
  }
  .ctPage .ctPriceCards {
    grid-template-columns: 1fr 1fr;
  }
  .ctPage .ctPricePaid {
    grid-column: 1/-1;
  }
}
@media (max-width: 900px) {
  .ctPage .ctTrust .altTrustGrid {
    display: none !important;
  }
  .ctPage .ctCalcControls {
    grid-template-columns: 1fr;
  }
  .ctPage .ctTrialGrid {
    grid-template-columns: 1fr;
  }
  .ctPage .ctHero h1 {
    font-size: clamp(36px, 6vw, 52px) !important;
  }

  .ctSideBySideSection {
    flex-direction: column;
    margin-top: 0px !important;
  }
  .ctKickerDot {
    display: none;
  }

  .ctGroupRow th {
    font-size: 10px !important;
  }
  .x38948955343678856 {
    max-width: 210px;
  }
}
@media (max-width: 680px) {
  .ctPage .altSection {
    padding: 62px 0;
  }
  .ctPage .ctHero {
    padding-top: 122px !important;
    padding-bottom: 55px;
  }
  .ctPage .ctHero .heroKicker {
    font-size: 11px !important;
    line-height: 1.6;
  }
  .ctPage .ctHero .altHeroLead {
    font-size: 16px;
  }
  .ctPage .altSectionHead h2 {
    font-size: 32px !important;
  }
  .ctPage .ctChoiceGrid,
  .ctPage .ctPriceCards,
  .ctPage .ctScreensGrid,
  .ctPage .ctFitGrid,
  .ctPage .ctSourceGrid {
    grid-template-columns: 1fr;
  }
  .ctPage .ctFitCard:last-child,
  .ctPage .ctPricePaid {
    grid-column: auto;
  }
  .ctPage .ctChoiceCard {
    padding: 25px;
  }
  .ctPage .ctHeroAside {
    padding: 23px;
  }
  .ctPage .ctCalculator {
    padding: 15px;
  }
  .ctPage .ctSliderWrap {
    padding: 16px;
  }
  .ctPage .ctPriceCard {
    padding: 20px;
  }
  .ctPage .ctFlowCell {
    min-width: 95px;
  }
  .ctPage .ctScreenshotPlaceholder {
    min-height: 165px;
  }
  .ctPage .ctTestPanel {
    padding: 25px;
  }
  .ctPage .altActions .altBtn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ctPage .altBtn {
    transition: none !important;
  }
}

.ctSideBySideSection {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  margin-top: 80px !important;
}

.ctSideBySideImage {
  width: 100%;
  border: 3px solid #143051;
  border-radius: 15px;
  /* margin-left: 15px;
  margin-right: 15px; */
}

.csSideParnt {
  width: 45% !important;
  min-width: 45% !important;

  max-width: 45% !important;

  /* border: 3px solid #143051; */
  /* border-radius: 15px; */
  margin-left: 15px !important;
  margin-right: 15px !important;
}

.ctSideTitle {
  text-align: center !important;
  color: #0af !important;
}

.ctSideTitleFr {
  color: #143051 !important;
}

.ctScreenImage {
  width: 100%;
}

.colourNavy {
  color: #143051 !important;
}

/* RotaCloud comparison page only. No global html/body/header selectors. */
.rcPage .altContainer {
  display: block;
  align-items: initial;
}
.rcPage .altSectionHead {
  max-width: 900px;
  margin-bottom: 36px;
}
.rcPage .altSectionHead h2 {
  font-weight: 600;
}
.rcPage .altSectionHead p {
  max-width: 780px;
}
.rcPage .altEyebrow,
.rcPage .heroKicker {
  color: #00aaff !important;
  font-weight: 600 !important;
}
.rcPage a:focus-visible,
.rcPage input:focus-visible,
.rcPage select:focus-visible,
.rcPage summary:focus-visible {
  outline: 3px solid #0077ff;
  outline-offset: 3px;
}
.rcPage .altBtn {
  font-weight: 600 !important;
}
.rcPage .altBtnPrimary {
  color: #fff;
}
.rcPage .altHero {
  padding-top: 130px !important;
}
.rcPage .rcHero {
  background: linear-gradient(168deg, #f2f9ff 0%, #fff 80%);
}
.rcPage .rcHeroLayout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 52px;
  align-items: center;
}
.rcPage .rcHeroCopy {
  min-width: 0;
}
.rcPage .rcHero h1 {
  font-size: clamp(42px, 5.1vw, 68px);
  font-weight: 600;
}
.rcPage .rcHeroCopy .altHeroLead {
  max-width: 700px;
  font-size: 18px;
}
.rcPage .rcHeroMicro {
  margin: 28px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: #5c7085;
  max-width: 710px;
}
.rcPage .rcHeroMicro strong {
  color: #102d4f;
}
.rcPage .rcKickerDot {
  padding: 0 7px;
  color: #a3bed4;
}
.rcPage .rcHeroAside {
  background: #fff;
  padding: 28px 29px;
  border-radius: 24px;
  border: 1px solid rgba(20, 48, 81, 0.12);
  box-shadow: 0 25px 65px rgba(20, 48, 81, 0.09);
}
.rcPage .rcSnapshotTop {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.09em;
  color: #008adb;
}
.rcPage .rcUpdatedDot {
  color: #67829a;
}
.rcPage .rcHeroAside h2 {
  margin: 19px 0 14px;
  font-weight: 600;
  font-size: 25px;
  line-height: 1.24;
  color: #102d4f;
}
.rcPage .rcSnapshotItem {
  /* display: grid; */
  grid-template-columns: 40px 1fr;
  gap: 11px;
  padding: 17px 0;
  border-top: 1px solid #e1eaf2;
}
.rcPage .rcSnapshotIcon {
  width: 31px;
  height: 31px;
  border-radius: 8px;
  background: #eff6ff;
  color: #0087ee;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
}
.rcPage .rcSnapshotItem strong {
  display: block;
  color: #143051;
  font-size: 15px;
}
.rcPage .rcSnapshotItem p {
  color: #5c7085;
  line-height: 1.6;
  font-size: 13px;
  margin: 5px 0 0;
}
.rcPage .rcTrust {
  background: #f6fbff;
}
.rcPage .rcTrust .altTrustGrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.rcPage .rcTrust .altTrustGrid > div {
  color: #476781;
}
.rcPage .rcTrust .altTrustGrid strong {
  font-size: 16px;
}
.rcPage .rcChoiceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.rcPage .rcChoiceCard {
  display: flex;
  flex-direction: column;
  padding: 33px;
  background: #fff;
  border: 1px solid rgba(20, 48, 81, 0.13);
  border-radius: 22px;
  min-width: 0;
  box-shadow: 0 16px 36px rgba(20, 48, 81, 0.04);
}
.rcPage .rcChoiceFlow {
  background: linear-gradient(150deg, #f1f9ff, #fff 63%);
  border-color: #a5d6fa;
}
.rcPage .rcEyebrowTag {
  font-size: 12px;
  color: #007aca;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.rcPage .rcChoiceCard h3 {
  color: #143051;
  font-size: 25px;
  font-weight: 600;
  margin: 12px 0 16px;
}
.rcPage .rcChoiceCard ul {
  padding-left: 20px;
  margin: 0;
  display: grid;
  gap: 12px;
  color: #325676;
  line-height: 1.65;
  font-size: 15px;
}
.rcPage .rcChoiceQualifier {
  border-top: 1px solid #dce9f5;
  padding-top: 17px;
  margin: 24px 0 20px;
  color: #687e93;
  font-size: 14px;
  line-height: 1.6;
  flex: 1;
}
.rcPage .rcChoiceCard > a {
  color: #0079cf;
  font-weight: 700;
  text-decoration: none;
}
.rcPage .rcChoiceCard > a:hover {
  text-decoration: underline;
}
.rcPage .rcHonestNote {
  margin-top: 24px;
  border-left: 4px solid #8f85eb;
  padding: 20px 24px;
  background: #f5faff;
  border-radius: 0 14px 14px 0;
  color: #46627d;
  line-height: 1.7;
  font-size: 15px;
}
.rcPage .rcPricing {
  background: #f5faff;
}
.rcPage .rcCalculator {
  padding: 27px;
  background: #fff;
  border: 1px solid #d8e5f1;
  border-radius: 22px;
  box-shadow: 0 16px 48px rgba(14, 53, 92, 0.07);
}
.rcPage .rcCalcControls {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 30px;
  margin-bottom: 24px;
}
.rcPage .rcSliderWrap {
  background: #f4f9ff;
  border: 1px solid #deebf6;
  border-radius: 16px;
  padding: 19px 20px;
}
.rcPage .rcSliderHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 25px;
}
.rcPage .rcSliderHeader label {
  color: #143051;
  font-weight: 750;
  font-size: 16px;
}
.rcPage .rcSliderHeader output {
  color: #007acc;
  font-weight: 800;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.rcPage #rcUsers {
  display: block;
  width: 100%;
  height: 9px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  border-radius: 99px;
  background: linear-gradient(
    to right,
    #0788f5 0%,
    #0788f5 var(--rcProgress, 8.16%),
    #d2e1ef var(--rcProgress, 8.16%),
    #d2e1ef 100%
  );
}
.rcPage #rcUsers::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 25px;
  height: 25px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.rcPage #rcUsers::-moz-range-thumb {
  width: 19px;
  height: 19px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.rcPage .rcRangeMarks {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  color: #678098;
  font-size: 12px;
}
.rcPage .rcControlRight {
  display: grid;
  gap: 14px;
  align-content: center;
}
.rcPage .rcField label {
  display: block;
  color: #143051;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.rcPage .rcField select {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #baccdc;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  color: #173951;
}
.rcPage .rcToggleLabel {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #23496f;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}
.rcPage .rcToggleLabel small {
  color: #71889c;
}
.rcPage .rcToggleLabel input {
  width: 17px;
  height: 17px;
  accent-color: #007cdd;
  flex: none;
}
.rcPage .rcPriceCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.rcPage .rcPriceCard {
  border: 1px solid #dbe6f0;
  border-radius: 18px;
  padding: 23px 22px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.rcPage .rcPriceFlow {
  border: 2px solid #0788f5;
  background: linear-gradient(155deg, #eff8ff, #fff 65%);
  padding: 22px 21px;
}
.rcPage .rcPriceFree {
  background: linear-gradient(155deg, #f1fbf6, #fff 70%);
}
.rcPage .rcPriceCardHeading {
  min-height: 63px;
}
.rcPage .rcPriceCardHeading h3 {
  margin: 0 0 7px;
  color: #143051;
  font-size: 17px;
  font-weight: 700;
}
.rcPage .rcPriceCardHeading > span {
  font-size: 12px;
  font-weight: 700;
  color: #62819b;
}
.rcPage .rcPriceValue {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 18px 0;
  flex-wrap: wrap;
}
.rcPage .rcPriceValue strong {
  font-size: clamp(28px, 3.1vw, 45px);
  letter-spacing: -0.04em;
  line-height: 1;
  color: #102d4f;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.rcPage .rcPriceFree .rcPriceValue strong {
  color: #147b57;
}
.rcPage .rcPriceValue > span {
  font-size: 12px;
  color: #6b7e92;
}
.rcPage .rcPriceCard p {
  color: #566f85;
  line-height: 1.65;
  font-size: 13px;
  margin: 0 0 12px;
  flex: 1;
}
.rcPage .rcPriceCard small {
  display: block;
  font-size: 12px;
  color: #698096;
  line-height: 1.5;
  margin-top: 4px;
}
.rcPage .rcPriceCard > a {
  margin-top: 13px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  color: #0872c0;
}
.rcPage .rcPriceCard > a:hover {
  text-decoration: underline;
}
.rcPage .rcCalculator[data-free-status="none"] .rcPriceFree {
  background: #f6f8fb;
}
.rcPage .rcCalculator[data-free-status="none"] #rcFreePrice {
  color: #657a8a;
  font-size: 26px;
  letter-spacing: -0.02em;
}
.rcPage .rcPriceSummary {
  margin: 18px 0 0;
  padding: 16px 20px;
  background: #f0f7ff;
  border-radius: 11px;
  font-size: 14px;
  line-height: 1.65;
  color: #16466b;
}
.rcPage .rcPricingFootnote {
  color: #6c8093;
  line-height: 1.7;
  font-size: 12px;
  margin: 17px 0 0;
}
.rcPage .rcPricingFootnote a {
  color: #006dbb;
}
.rcPage .rcLegend {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 0 0 18px;
  color: #43617a;
  font-size: 14px;
}
.rcPage .rcLegend > span {
  display: flex;
  align-items: center;
  gap: 9px;
}
.rcPage .rcState {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  width: 27px;
  height: 27px;
  font-style: normal;
  font-weight: 800;
  font-size: 17px;
  line-height: 1;
}
.rcPage .rcState--yes {
  color: #147d58;
  background: #dbefff;
}
.rcPage .rcState--no {
  color: #bb4a4a;
  background: #fff0f0;
}
.rcPage .rcState--unknown {
  color: #7556ae;
  background: #f2ecff;
}
.rcPage .rcTableViewport {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid #d8e4f0;
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(16, 45, 79, 0.06);
  background: #fff;
  overscroll-behavior-x: contain;
}
.rcPage .rcComparisonTable {
  width: 100%;
  min-width: 790px;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
}
.rcPage .rcComparisonTable th,
.rcPage .rcComparisonTable td {
  padding: 15px 19px;
  border-bottom: 1px solid #e3ebf3;
  vertical-align: middle;
  font-size: 14px;
  color: #45647e;
  line-height: 1.55;
}
.rcPage .rcComparisonTable thead th {
  background: #102d4f;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.rcPage .rcComparisonTable tbody th {
  font-weight: 650;
  color: #123758;
  width: 30%;
}
.rcPage .rcComparisonTable thead th:nth-child(2),
.rcPage .rcComparisonTable thead th:nth-child(3),
.rcPage .rcComparisonTable tbody td:nth-child(2),
.rcPage .rcComparisonTable tbody td:nth-child(3) {
  text-align: center;
  width: 13%;
}
.rcPage .rcComparisonTable thead .rcFlowCell {
  background: #0877cf;
}
.rcPage .rcComparisonTable tbody .rcFlowCell {
  background: #f3faff;
}
.rcPage .rcComparisonTable tbody .rcGroupRow th {
  background: #edf4fb;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  color: #284c6b;
  padding: 13px 19px;
}
.rcPage .rcComparisonTable tbody .rcFeatureNote {
  font-size: 12px;
  color: #647b90;
  width: 44%;
}
.rcPage .rcComparisonTable tr:last-child > * {
  border-bottom: 0;
}
.rcPage .rcMatrixMethod {
  margin-top: 17px;
  border-left: 3px solid #0788f5;
  background: #f5faff;
  padding: 18px 20px;
  border-radius: 0 12px 12px 0;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.rcPage .rcScreensGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.rcPage .rcScreenFrame {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8e5f0;
  border-radius: 19px;
  background: #fff;
}
.rcPage .rcScreenshotPlaceholder {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  gap: 12px;
  aspect-ratio: 16/9;
  min-height: 220px;
  background: repeating-linear-gradient(
    45deg,
    #eaf3fc 0px,
    #eaf3fc 14px,
    #f5faff 14px,
    #f5faff 28px
  );
  color: #53738e;
  padding: 22px;
}
.rcPage .rcScreenshotPlaceholder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.rcPage .rcScreenshotPlaceholder strong {
  font-size: 18px;
  color: #143051;
}
.rcPage .rcScreenshotPlaceholder span:last-child {
  max-width: 290px;
  line-height: 1.5;
  font-size: 13px;
}
.rcPage .rcPlaceholderIcon {
  color: #87abd0;
  font-size: 42px;
}
.rcPage .rcScreenFrame figcaption {
  padding: 21px 23px;
}
.rcPage .rcScreenFrame figcaption strong {
  color: #143051;
}
.rcPage .rcScreenFrame figcaption p {
  margin: 6px 0 0;
  color: #627e94;
  line-height: 1.6;
  font-size: 13px;
}
.rcPage .rcScreenshotHelp {
  margin: 18px 0 0;
  font-size: 12px;
  color: #71849a;
  line-height: 1.7;
}
.rcPage .rcScreenshotHelp code {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rcPage .rcFitGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
}
.rcPage .rcFitCard {
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #d9e5f0;
}
.rcPage .rcFitNumber {
  display: inline-grid;
  place-items: center;
  background: #8f85eb;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 7px;
  width: 34px;
  height: 34px;
}
.rcPage .rcFitCard h3 {
  color: #143051;
  font-size: 22px;
  margin: 20px 0 11px;
}
.rcPage .rcFitCard p {
  color: #536f89;
  font-size: 14px;
  line-height: 1.7;
}
.rcPage .rcFitCard .rcFitConcession {
  border-top: 1px solid #e0e9f2;
  padding-top: 14px;
  margin-top: 18px;
  font-size: 13px;
  color: #657c92;
}
.rcPage .rcTrial {
  margin-top: 0 !important;
  background: #f6faff;
}
.rcPage .rcTrialGrid {
  display: grid;
  grid-template-columns: 1fr minmax(290px, 0.65fr);
  gap: 56px;
  align-items: start;
}
.rcPage .rcTrial h2 {
  font-size: clamp(30px, 4vw, 43px);
  font-weight: 600;
  color: #102d4f;
  line-height: 1.16;
  margin: 10px 0 15px;
}
.rcPage .rcTrial p:not(.altEyebrow) {
  line-height: 1.7;
  color: #5f7891;
}
.rcPage .rcTrialSteps {
  padding-left: 23px;
  display: grid;
  gap: 14px;
  color: #4c6b82;
  line-height: 1.65;
}
.rcPage .rcTrialSteps strong {
  color: #143051;
}
.rcPage .rcTestPanel {
  background: #102d4f;
  color: #fff;
  border-radius: 21px;
  padding: 31px;
  box-shadow: 0 24px 50px #14305122;
}
.rcPage .rcPanelTag {
  color: #b4dfff;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.rcPage .rcTestPanel h3 {
  margin: 10px 0 22px;
  color: #fff;
  font-size: 24px;
}
.rcPage .rcMetricRow {
  padding: 14px 0;
  border-top: 1px solid #ffffff29;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rcPage .rcMetricRow strong {
  font-size: 14px;
}
.rcPage .rcMetricRow span {
  color: #c1d6e6;
  font-size: 13px;
  line-height: 1.5;
}
.rcPage .rcTestPanel .altBtn {
  margin-top: 21px;
  display: flex;
}
.rcPage .rcTextLink {
  color: #d4ebff;
  display: block;
  text-align: center;
  font-size: 14px;
  margin-top: 18px;
  text-decoration: none;
}
.rcPage .rcSourceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.rcPage .rcSourceGrid > div {
  background: #f6faff;
  border: 1px solid #e0eaf4;
  border-radius: 17px;
  padding: 24px;
}
.rcPage .rcSourceGrid h3 {
  color: #143051;
  margin: 0 0 16px;
}
.rcPage .rcSourceGrid ul {
  margin: 0;
  padding-left: 20px;
}
.rcPage .rcSourceGrid li {
  padding: 7px 0;
  color: #42627e;
  line-height: 1.55;
  font-size: 14px;
}
.rcPage .rcSourceGrid a {
  color: #006ebc;
  text-decoration: none;
}
.rcPage .rcSourceGrid a:hover {
  text-decoration: underline;
}
.rcPage .rcDisclosure {
  margin: 21px 0 0;
  line-height: 1.7;
  font-size: 13px;
  color: #647e95;
}
.rcPage .rcFaq .altFaqGrid {
  display: grid;
}
.rcPage .rcRelated .altRelatedGrid {
  display: grid;
}
.rcPage .rcFinal .altFinalCtaInner h2 {
  font-weight: 600;
}
@media (max-width: 1050px) {
  .rcPage .rcHeroLayout {
    grid-template-columns: 1fr;
    gap: 33px;
  }
  .rcPage .rcHeroAside {
    max-width: 730px;
  }
  .rcPage .rcFitGrid {
    grid-template-columns: 1fr 1fr;
  }
  .rcPage .rcFitCard:last-child {
    grid-column: 1/-1;
  }
  .rcPage .rcPriceCards {
    grid-template-columns: 1fr 1fr;
  }
  .rcPage .rcPricePaid {
    grid-column: 1/-1;
  }
}
.altHeroLead strong {
  font-weight: 500;
}
@media (max-width: 900px) {
  .rcPage .rcTrust .altTrustGrid {
    display: none !important;
  }
  .rcPage .rcCalcControls {
    grid-template-columns: 1fr;
  }
  .rcPage .rcTrialGrid {
    grid-template-columns: 1fr;
  }
  .rcPage .rcHero h1 {
    font-size: clamp(36px, 6vw, 52px) !important;
  }
}
@media (max-width: 680px) {
  .rcPage .altSection {
    padding: 62px 0;
  }
  .rcPage .rcHero {
    padding-top: 122px !important;
    padding-bottom: 55px;
  }
  .rcPage .rcHero .heroKicker {
    font-size: 11px !important;
    line-height: 1.6;
  }
  .rcPage .rcHero .altHeroLead {
    font-size: 16px;
  }

  .rcPage .altSectionHead h2 {
    font-size: 32px !important;
  }
  .rcPage .rcChoiceGrid,
  .rcPage .rcPriceCards,
  .rcPage .rcScreensGrid,
  .rcPage .rcFitGrid,
  .rcPage .rcSourceGrid {
    grid-template-columns: 1fr;
  }
  .rcPage .rcFitCard:last-child,
  .rcPage .rcPricePaid {
    grid-column: auto;
  }
  .rcPage .rcChoiceCard {
    padding: 25px;
  }
  .rcPage .rcHeroAside {
    padding: 23px;
  }
  .rcPage .rcCalculator {
    padding: 15px;
  }
  .rcPage .rcSliderWrap {
    padding: 16px;
  }
  .rcPage .rcPriceCard {
    padding: 20px;
  }
  .rcPage .rcFlowCell {
    min-width: 95px;
  }
  .rcPage .rcScreenshotPlaceholder {
    min-height: 165px;
  }
  .rcPage .rcTestPanel {
    padding: 25px;
  }
  .rcPage .altActions .altBtn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rcPage .altBtn {
    transition: none !important;
  }
}

/* RotaCloud-specific additions, scoped under the page wrapper. */
.rcPage .rcPlanFlag {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #57738d;
}
.rcPage .rcCalculator .rcPriceCardHeading {
  min-height: 67px;
}
.rcPage .rcCalcFinePrint {
  font-size: 12px;
  line-height: 1.7;
  color: #637f94;
  margin: 12px 0 0;
}
.rcPage .rcFootValue {
  font-weight: 650;
  color: #143051;
}
.rcPage .rcPlanOptions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 3px;
}
.rcPage .rcPill {
  border-radius: 999px;
  background: #edf6ff;
  color: #125c92;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
}
.rcPage .rcPriceFree {
  background: #fff;
}
.rcFitNumber {
  display: none !important;
}
.rcPage .rcPriceFree .rcPriceValue strong {
  color: #102d4f;
}
.rcPage .rcLeadShots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: min(1160px, calc(100% - 48px));
  margin: 42px auto 0;
}
.rcPage .rcLeadShots .rcScreenshotPlaceholder {
  min-height: 200px;
  aspect-ratio: 16/8;
}
.rcPage .rcLeadShots .rcScreenFrame figcaption {
  padding: 15px 20px;
}
.rcPage .rcTableExplainer {
  margin: 12px 0 20px;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.rcPage .rcComparisonTable .rcFeatureNote a {
  color: #076aaf;
  text-decoration: underline;
}
.rcPage .rcSourceGrid a {
  overflow-wrap: anywhere;
}
@media (max-width: 680px) {
  .x28489484223453 {
    max-width: 200px;
  }
  .rcPage .rcLeadShots {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    gap: 15px;
    margin-top: 22px;
  }
  .rcPage .rcLeadShots .rcScreenshotPlaceholder {
    min-height: 140px;
    aspect-ratio: 16/7;
  }
}

/* Deputy comparison page only. No global html/body/header selectors. */
.dpPage .altContainer {
  display: block;
  align-items: initial;
}
.dpPage .altSectionHead {
  max-width: 900px;
  margin-bottom: 36px;
}
.dpPage .altSectionHead h2 {
  font-weight: 600;
}
.dpPage .altSectionHead p {
  max-width: 780px;
}
.dpPage .altEyebrow,
.dpPage .heroKicker {
  color: #00aaff !important;
  font-weight: 600 !important;
}
.dpPage a:focus-visible,
.dpPage input:focus-visible,
.dpPage select:focus-visible,
.dpPage summary:focus-visible {
  outline: 3px solid #0077ff;
  outline-offset: 3px;
}
.dpPage .altBtn {
  font-weight: 600 !important;
}
.dpPage .altBtnPrimary {
  color: #fff;
}
.dpPage .altHero {
  padding-top: 130px !important;
}
.dpPage .dpHero {
  background: linear-gradient(168deg, #f2f9ff 0%, #fff 80%);
}
.dpPage .dpHeroLayout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 52px;
  align-items: center;
}
.dpPage .dpHeroCopy {
  min-width: 0;
}
.dpPage .dpHero h1 {
  font-size: clamp(42px, 5.1vw, 68px);
  font-weight: 600;
}
.dpPage .dpHeroCopy .altHeroLead {
  max-width: 700px;
  font-size: 18px;
}
.dpPage .dpHeroMicro {
  margin: 28px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: #5c7085;
  max-width: 710px;
}
.dpPage .dpHeroMicro strong {
  color: #102d4f;
}
.dpPage .dpKickerDot {
  padding: 0 7px;
  color: #a3bed4;
}
.dpPage .dpHeroAside {
  background: #fff;
  padding: 28px 29px;
  border-radius: 24px;
  border: 1px solid rgba(20, 48, 81, 0.12);
  box-shadow: 0 25px 65px rgba(20, 48, 81, 0.09);
}
.dpPage .dpSnapshotTop {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  text-transform: uppedpase;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.09em;
  color: #008adb;
}
.dpPage .dpUpdatedDot {
  color: #67829a;
}
.dpPage .dpHeroAside h2 {
  margin: 19px 0 14px;
  font-weight: 600;
  font-size: 25px;
  line-height: 1.24;
  color: #102d4f;
}
.dpPage .dpSnapshotItem {
  /* display: grid; */
  grid-template-columns: 40px 1fr;
  gap: 11px;
  padding: 17px 0;
  border-top: 1px solid #e1eaf2;
}
.dpPage .dpSnapshotIcon {
  width: 31px;
  height: 31px;
  border-radius: 8px;
  background: #eff6ff;
  color: #0087ee;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
}
.dpPage .dpSnapshotItem strong {
  display: block;
  color: #143051;
  font-size: 15px;
}
.dpPage .dpSnapshotItem p {
  color: #5c7085;
  line-height: 1.6;
  font-size: 13px;
  margin: 5px 0 0;
}
.dpPage .dpTrust {
  background: #f6fbff;
}
.dpPage .dpTrust .altTrustGrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.dpPage .dpTrust .altTrustGrid > div {
  color: #476781;
}
.dpPage .dpTrust .altTrustGrid strong {
  font-size: 16px;
}
.dpPage .dpChoiceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.dpPage .dpChoiceCard {
  display: flex;
  flex-direction: column;
  padding: 33px;
  background: #fff;
  border: 1px solid rgba(20, 48, 81, 0.13);
  border-radius: 22px;
  min-width: 0;
  box-shadow: 0 16px 36px rgba(20, 48, 81, 0.04);
}
.dpPage .dpChoiceFlow {
  background: linear-gradient(150deg, #f1f9ff, #fff 63%);
  border-color: #a5d6fa;
}
.dpPage .dpEyebrowTag {
  font-size: 12px;
  color: #007aca;
  text-transform: uppedpase;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.dpPage .dpChoiceCard h3 {
  color: #143051;
  font-size: 25px;
  font-weight: 600;
  margin: 12px 0 16px;
}
.dpPage .dpChoiceCard ul {
  padding-left: 20px;
  margin: 0;
  display: grid;
  gap: 12px;
  color: #325676;
  line-height: 1.65;
  font-size: 15px;
}
.dpPage .dpChoiceQualifier {
  border-top: 1px solid #dce9f5;
  padding-top: 17px;
  margin: 24px 0 20px;
  color: #687e93;
  font-size: 14px;
  line-height: 1.6;
  flex: 1;
}
.dpPage .dpChoiceCard > a {
  color: #0079cf;
  font-weight: 700;
  text-decoration: none;
}
.dpPage .dpChoiceCard > a:hover {
  text-decoration: underline;
}
.dpPage .dpHonestNote {
  margin-top: 24px;
  border-left: 4px solid #8f85eb;
  padding: 20px 24px;
  background: #f5faff;
  border-radius: 0 14px 14px 0;
  color: #46627d;
  line-height: 1.7;
  font-size: 15px;
}
.dpPage .dpPricing {
  background: #f5faff;
}
.dpPage .dpCalculator {
  padding: 27px;
  background: #fff;
  border: 1px solid #d8e5f1;
  border-radius: 22px;
  box-shadow: 0 16px 48px rgba(14, 53, 92, 0.07);
}
.dpPage .dpCalcControls {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 30px;
  margin-bottom: 24px;
}
.dpPage .dpSliderWrap {
  background: #f4f9ff;
  border: 1px solid #deebf6;
  border-radius: 16px;
  padding: 19px 20px;
}
.dpPage .dpSliderHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 25px;
}
.dpPage .dpSliderHeader label {
  color: #143051;
  font-weight: 750;
  font-size: 16px;
}
.dpPage .dpSliderHeader output {
  color: #007acc;
  font-weight: 800;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.dpPage #dpUsers {
  display: block;
  width: 100%;
  height: 9px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  border-radius: 99px;
  background: linear-gradient(
    to right,
    #0788f5 0%,
    #0788f5 var(--dpProgress, 8.16%),
    #d2e1ef var(--dpProgress, 8.16%),
    #d2e1ef 100%
  );
}
.dpPage #dpUsers::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 25px;
  height: 25px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.dpPage #dpUsers::-moz-range-thumb {
  width: 19px;
  height: 19px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.dpPage .dpRangeMarks {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  color: #678098;
  font-size: 12px;
}
.dpPage .dpControlRight {
  display: grid;
  gap: 14px;
  align-content: center;
}
.dpPage .dpField label {
  display: block;
  color: #143051;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.dpPage .dpField select {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #baccdc;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  color: #173951;
}
.dpPage .dpToggleLabel {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #23496f;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}
.dpPage .dpToggleLabel small {
  color: #71889c;
}
.dpPage .dpToggleLabel input {
  width: 17px;
  height: 17px;
  accent-color: #007cdd;
  flex: none;
}
.dpPage .dpPriceCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.dpPage .dpPriceCard {
  border: 1px solid #dbe6f0;
  border-radius: 18px;
  padding: 23px 22px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.dpPage .dpPriceFlow {
  border: 2px solid #0788f5;
  background: linear-gradient(155deg, #eff8ff, #fff 65%);
  padding: 22px 21px;
}
.dpPage .dpPriceFree {
  background: linear-gradient(155deg, #f1fbf6, #fff 70%);
}
.dpPage .dpPriceCardHeading {
  min-height: 63px;
}
.dpPage .dpPriceCardHeading h3 {
  margin: 0 0 7px;
  color: #143051;
  font-size: 17px;
  font-weight: 700;
}
.dpPage .dpPriceCardHeading > span {
  font-size: 12px;
  font-weight: 700;
  color: #62819b;
}
.dpPage .dpPriceValue {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 18px 0;
  flex-wrap: wrap;
}
.dpPage .dpPriceValue strong {
  font-size: clamp(28px, 3.1vw, 45px);
  letter-spacing: -0.04em;
  line-height: 1;
  color: #102d4f;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.dpPage .dpPriceFree .dpPriceValue strong {
  color: #147b57;
}
.dpPage .dpPriceValue > span {
  font-size: 12px;
  color: #6b7e92;
}
.dpPage .dpPriceCard p {
  color: #566f85;
  line-height: 1.65;
  font-size: 13px;
  margin: 0 0 12px;
  flex: 1;
}
.dpPage .dpPriceCard small {
  display: block;
  font-size: 12px;
  color: #698096;
  line-height: 1.5;
  margin-top: 4px;
}
.dpPage .dpPriceCard > a {
  margin-top: 13px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  color: #0872c0;
}
.dpPage .dpPriceCard > a:hover {
  text-decoration: underline;
}
.dpPage .dpCalculator[data-free-status="none"] .dpPriceFree {
  background: #f6f8fb;
}
.dpPage .dpCalculator[data-free-status="none"] #dpFreePrice {
  color: #657a8a;
  font-size: 26px;
  letter-spacing: -0.02em;
}
.dpPage .dpPriceSummary {
  margin: 18px 0 0;
  padding: 16px 20px;
  background: #f0f7ff;
  border-radius: 11px;
  font-size: 14px;
  line-height: 1.65;
  color: #16466b;
}
.dpPage .dpPricingFootnote {
  color: #6c8093;
  line-height: 1.7;
  font-size: 12px;
  margin: 17px 0 0;
}
.dpPage .dpPricingFootnote a {
  color: #006dbb;
}
.dpPage .dpLegend {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 0 0 18px;
  color: #43617a;
  font-size: 14px;
}
.dpPage .dpLegend > span {
  display: flex;
  align-items: center;
  gap: 9px;
}
.dpPage .dpState {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  width: 27px;
  height: 27px;
  font-style: normal;
  font-weight: 800;
  font-size: 17px;
  line-height: 1;
}
.dpPage .dpState--yes {
  color: #147d58;
  background: #dbefff;
}
.dpPage .dpState--no {
  color: #bb4a4a;
  background: #fff0f0;
}
.dpPage .dpState--unknown {
  color: #7556ae;
  background: #f2ecff;
}
.dpPage .dpTableViewport {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid #d8e4f0;
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(16, 45, 79, 0.06);
  background: #fff;
  overscroll-behavior-x: contain;
}
.dpPage .dpComparisonTable {
  width: 100%;
  min-width: 790px;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
}
.dpPage .dpComparisonTable th,
.dpPage .dpComparisonTable td {
  padding: 15px 19px;
  border-bottom: 1px solid #e3ebf3;
  vertical-align: middle;
  font-size: 14px;
  color: #45647e;
  line-height: 1.55;
}
.dpPage .dpComparisonTable thead th {
  background: #102d4f;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.dpPage .dpComparisonTable tbody th {
  font-weight: 650;
  color: #123758;
  width: 30%;
}
.dpPage .dpComparisonTable thead th:nth-child(2),
.dpPage .dpComparisonTable thead th:nth-child(3),
.dpPage .dpComparisonTable tbody td:nth-child(2),
.dpPage .dpComparisonTable tbody td:nth-child(3) {
  text-align: center;
  width: 13%;
}
.dpPage .dpComparisonTable thead .dpFlowCell {
  background: #0877cf;
}
.dpPage .dpComparisonTable tbody .dpFlowCell {
  background: #f3faff;
}
.dpPage .dpComparisonTable tbody .dpGroupRow th {
  background: #edf4fb;
  font-size: 12px;
  text-transform: uppedpase;
  letter-spacing: 0.075em;
  color: #284c6b;
  padding: 13px 19px;
}
.dpPage .dpComparisonTable tbody .dpFeatureNote {
  font-size: 12px;
  color: #647b90;
  width: 44%;
}
.dpPage .dpComparisonTable tr:last-child > * {
  border-bottom: 0;
}
.dpPage .dpMatrixMethod {
  margin-top: 17px;
  border-left: 3px solid #0788f5;
  background: #f5faff;
  padding: 18px 20px;
  border-radius: 0 12px 12px 0;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.dpPage .dpScreensGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.dpPage .dpScreenFrame {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8e5f0;
  border-radius: 19px;
  background: #fff;
  max-height: fit-content !important;
}
.dpPage .dpScreenshotPlaceholder {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  gap: 12px;
  aspect-ratio: 16/9;
  min-height: 220px;
  background: repeating-linear-gradient(
    45deg,
    #eaf3fc 0px,
    #eaf3fc 14px,
    #f5faff 14px,
    #f5faff 28px
  );
  color: #53738e;
  padding: 22px;
}
.dpPage .dpScreenshotPlaceholder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.dpPage .dpScreenshotPlaceholder strong {
  font-size: 18px;
  color: #143051;
}
.dpPage .dpScreenshotPlaceholder span:last-child {
  max-width: 290px;
  line-height: 1.5;
  font-size: 13px;
}
.dpPage .dpPlaceholderIcon {
  color: #87abd0;
  font-size: 42px;
}
.dpPage .dpScreenFrame figcaption {
  padding: 21px 23px;
}
.dpPage .dpScreenFrame figcaption strong {
  color: #143051;
}
.dpPage .dpScreenFrame figcaption p {
  margin: 6px 0 0;
  color: #627e94;
  line-height: 1.6;
  font-size: 13px;
}
.dpPage .dpScreenshotHelp {
  margin: 18px 0 0;
  font-size: 12px;
  color: #71849a;
  line-height: 1.7;
}
.dpPage .dpScreenshotHelp code {
  white-space: normal;
  overflow-wrap: anywhere;
}
.dpPage .dpFitGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
}
.dpPage .dpFitCard {
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #d9e5f0;
}
.dpPage .dpFitNumber {
  display: inline-grid;
  place-items: center;
  background: #8f85eb;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 7px;
  width: 34px;
  height: 34px;
}
.dpPage .dpFitCard h3 {
  color: #143051;
  font-size: 22px;
  margin: 20px 0 11px;
}
.dpPage .dpFitCard p {
  color: #536f89;
  font-size: 14px;
  line-height: 1.7;
}
.dpPage .dpFitCard .dpFitConcession {
  border-top: 1px solid #e0e9f2;
  padding-top: 14px;
  margin-top: 18px;
  font-size: 13px;
  color: #657c92;
}
.dpPage .dpTrial {
  margin-top: 0 !important;
  background: #f6faff;
}
.dpPage .dpTrialGrid {
  display: grid;
  grid-template-columns: 1fr minmax(290px, 0.65fr);
  gap: 56px;
  align-items: start;
}
.dpPage .dpTrial h2 {
  font-size: clamp(30px, 4vw, 43px);
  font-weight: 600;
  color: #102d4f;
  line-height: 1.16;
  margin: 10px 0 15px;
}
.dpPage .dpTrial p:not(.altEyebrow) {
  line-height: 1.7;
  color: #5f7891;
}
.dpPage .dpTrialSteps {
  padding-left: 23px;
  display: grid;
  gap: 14px;
  color: #4c6b82;
  line-height: 1.65;
}
.dpPage .dpTrialSteps strong {
  color: #143051;
}
.dpPage .dpTestPanel {
  background: #102d4f;
  color: #fff;
  border-radius: 21px;
  padding: 31px;
  box-shadow: 0 24px 50px #14305122;
}
.dpPage .dpPanelTag {
  color: #b4dfff;
  font-size: 12px;
  text-transform: uppedpase;
  letter-spacing: 0.08em;
}
.dpPage .dpTestPanel h3 {
  margin: 10px 0 22px;
  color: #fff;
  font-size: 24px;
}
.dpPage .dpMetricRow {
  padding: 14px 0;
  border-top: 1px solid #ffffff29;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dpPage .dpMetricRow strong {
  font-size: 14px;
}
.dpPage .dpMetricRow span {
  color: #c1d6e6;
  font-size: 13px;
  line-height: 1.5;
}
.dpPage .dpTestPanel .altBtn {
  margin-top: 21px;
  display: flex;
}
.dpPage .dpTextLink {
  color: #d4ebff;
  display: block;
  text-align: center;
  font-size: 14px;
  margin-top: 18px;
  text-decoration: none;
}
.dpPage .dpSourceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.dpPage .dpSourceGrid > div {
  background: #f6faff;
  border: 1px solid #e0eaf4;
  border-radius: 17px;
  padding: 24px;
}
.dpPage .dpSourceGrid h3 {
  color: #143051;
  margin: 0 0 16px;
}
.dpPage .dpSourceGrid ul {
  margin: 0;
  padding-left: 20px;
}
.dpPage .dpSourceGrid li {
  padding: 7px 0;
  color: #42627e;
  line-height: 1.55;
  font-size: 14px;
}
.dpPage .dpSourceGrid a {
  color: #006ebc;
  text-decoration: none;
}
.dpPage .dpSourceGrid a:hover {
  text-decoration: underline;
}
.dpPage .dpDisclosure {
  margin: 21px 0 0;
  line-height: 1.7;
  font-size: 13px;
  color: #647e95;
}
.dpPage .dpFaq .altFaqGrid {
  display: grid;
}
.dpPage .dpRelated .altRelatedGrid {
  display: grid;
}
.dpPage .dpFinal .altFinalCtaInner h2 {
  font-weight: 600;
}
@media (max-width: 1050px) {
  .dpPage .dpHeroLayout {
    grid-template-columns: 1fr;
    gap: 33px;
  }
  .dpPage .dpHeroAside {
    max-width: 730px;
  }
  .dpPage .dpFitGrid {
    grid-template-columns: 1fr 1fr;
  }
  .dpPage .dpFitCard:last-child {
    grid-column: 1/-1;
  }
  .dpPage .dpPriceCards {
    grid-template-columns: 1fr 1fr;
  }
  .dpPage .dpPricePaid {
    grid-column: 1/-1;
  }
}
@media (max-width: 900px) {
  .dpPage .dpTrust .altTrustGrid {
    display: none !important;
  }
  .dpPage .dpCalcControls {
    grid-template-columns: 1fr;
  }
  .dpPage .dpTrialGrid {
    grid-template-columns: 1fr;
  }
  .dpPage .dpHero h1 {
    font-size: clamp(36px, 6vw, 52px) !important;
  }
}
@media (max-width: 680px) {
  .dpPage .altSection {
    padding: 62px 0;
  }
  .dpPage .dpHero {
    padding-top: 122px !important;
    padding-bottom: 55px;
  }
  .dpPage .dpHero .heroKicker {
    font-size: 11px !important;
    line-height: 1.6;
    max-width: 200px;
  }
  .dpPage .dpHero .altHeroLead {
    font-size: 16px;
  }
  .dpPage .altSectionHead h2 {
    font-size: 32px !important;
  }
  .dpPage .dpChoiceGrid,
  .dpPage .dpPriceCards,
  .dpPage .dpScreensGrid,
  .dpPage .dpFitGrid,
  .dpPage .dpSourceGrid {
    grid-template-columns: 1fr;
  }
  .dpPage .dpFitCard:last-child,
  .dpPage .dpPricePaid {
    grid-column: auto;
  }
  .dpPage .dpChoiceCard {
    padding: 25px;
  }
  .dpPage .dpHeroAside {
    padding: 23px;
  }
  .dpPage .dpCalculator {
    padding: 15px;
  }
  .dpPage .dpSliderWrap {
    padding: 16px;
  }
  .dpPage .dpPriceCard {
    padding: 20px;
  }
  .dpPage .dpFlowCell {
    min-width: 95px;
  }
  .dpPage .dpScreenshotPlaceholder {
    min-height: 165px;
  }
  .dpPage .dpTestPanel {
    padding: 25px;
  }
  .dpPage .altActions .altBtn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dpPage .altBtn {
    transition: none !important;
  }
}

/* Deputy-specific additions, scoped under the page wrapper. */
.dpPage .dpPlanFlag {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #57738d;
}
.dpPage .dpCalculator .dpPriceCardHeading {
  min-height: 67px;
}
.dpPage .dpCalcFinePrint {
  font-size: 12px;
  line-height: 1.7;
  color: #637f94;
  margin: 12px 0 0;
}
.dpPage .dpFootValue {
  font-weight: 650;
  color: #143051;
}
.dpPage .dpPlanOptions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 3px;
}
.dpPage .dpPill {
  border-radius: 999px;
  background: #edf6ff;
  color: #125c92;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
}
.dpPage .dpPriceFree {
  background: #fff;
}
.dpPage .dpPriceFree .dpPriceValue strong {
  color: #102d4f;
}
.dpPage .dpLeadShots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: min(1160px, calc(100% - 48px));
  margin: 42px auto 0;
}
.dpPage .dpLeadShots .dpScreenshotPlaceholder {
  min-height: 200px;
  aspect-ratio: 16/8;
}
.dpPage .dpLeadShots .dpScreenFrame figcaption {
  padding: 15px 20px;
}
.dpPage .dpTableExplainer {
  margin: 12px 0 20px;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.dpPage .dpComparisonTable .dpFeatureNote a {
  color: #076aaf;
  text-decoration: underline;
}
.dpPage .dpSourceGrid a {
  overflow-wrap: anywhere;
}
@media (max-width: 680px) {
  .dpPage .dpLeadShots {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    gap: 15px;
    margin-top: 22px;
  }
  .dpPage .dpLeadShots .dpScreenshotPlaceholder {
    min-height: 140px;
    aspect-ratio: 16/7;
  }
}

/* Deputy screenshots are deliberate placeholders until genuine licensed captures are supplied. */
.dpPage .dpShotPlaceholder {
  min-height: 225px;
  aspect-ratio: 16/9;
  border: 2px dashed #b7d3ed;
  border-radius: 17px;
  background: linear-gradient(140deg, #eff7ff, #fafcff);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  padding: 28px;
  color: #66819c;
}
.dpPage .dpShotPlaceholder strong {
  font-size: 17px;
  color: #173c62;
}
.dpPage .dpShotPlaceholder span {
  font-size: 13px;
  line-height: 1.6;
  max-width: 340px;
}
.dpPage .dpHeroShowcase .dpShotPlaceholder {
  min-height: 250px;
}
.dpPage .dpPricingFootnote code {
  background: #eaf2fc;
  border-radius: 4px;
  padding: 2px 5px;
}
.dpPage .dpPriceCard:nth-child(2) {
  background: linear-gradient(155deg, #f2f9ff, #fff 72%);
}
.dpPage .dpPriceCard:nth-child(3) {
  background: #fff;
}
.dpPage .dpPriceCard:nth-child(2) .dpPriceValue strong {
  color: #173951;
}
.dpPage .dpPriceSummary strong {
  color: #133d60;
}
.dpPage .dpDisclosure a {
  color: #0a72bb;
}
.dpPage .dpState--yes,
.dpPage .dpState--no {
  font-family: Arial, sans-serif;
}
.dpPage .dpPlanComparison {
  font-size: 13px;
  color: #55758d;
  line-height: 1.65;
  margin: 18px 0 0;
}
@media (max-width: 700px) {
  .dpPage .dpShotPlaceholder {
    min-height: 180px;
  }
  .dpPage .dpHeroShowcase .dpShotPlaceholder {
    min-height: 180px;
  }
}

/* Top comparison snapshots; self-contained even when the parent page lacks CT helper classes. */
.dpPage .ctSideBySideSection {
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
  padding: 45px 0 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.dpPage .ctSideBySideSection .csSideParnt {
  min-width: 0;
}
.dpPage .ctSideBySideSection .ctSideTitle {
  font-size: 22px;
  font-weight: 600;
  color: #102d4f;
  text-align: left;
  margin: 0 0 14px;
}
.dpPage .dpFitCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
}
.dpPage .dpFitCard > span {
  display: inline-block;
  color: #0788f5;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: 12px;
}
@media (max-width: 900px) {
  .dpPage .dpFitCards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dpPage .dpFitCards .dpFitCard:last-child {
    grid-column: 1/-1;
  }
}
@media (max-width: 700px) {
  .dpPage .ctSideBySideSection {
    width: calc(100% - 28px);
    grid-template-columns: 1fr;
    padding-top: 28px;
  }
  .dpPage .dpFitCards {
    grid-template-columns: 1fr;
  }
  .dpPage .dpFitCards .dpFitCard:last-child {
    grid-column: auto;
  }
}

/* Papershift comparison page only. No global html/body/header selectors. */
.psPage .altContainer {
  display: block;
  align-items: initial;
}
.psPage .altSectionHead {
  max-width: 900px;
  margin-bottom: 36px;
}
.psPage .altSectionHead h2 {
  font-weight: 600;
}
.psPage .altSectionHead p {
  max-width: 780px;
}
.psPage .altEyebrow,
.psPage .heroKicker {
  color: #00aaff !important;
  font-weight: 600 !important;
}
.psPage a:focus-visible,
.psPage input:focus-visible,
.psPage select:focus-visible,
.psPage summary:focus-visible {
  outline: 3px solid #0077ff;
  outline-offset: 3px;
}
.psPage .altBtn {
  font-weight: 600 !important;
}
.psPage .altBtnPrimary {
  color: #fff;
}
.psPage .altHero {
  padding-top: 130px !important;
}
.psPage .psHero {
  background: linear-gradient(168deg, #f2f9ff 0%, #fff 80%);
}
.psPage .psHeroLayout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 52px;
  align-items: center;
}
.psPage .psHeroCopy {
  min-width: 0;
}
.psPage .psHero h1 {
  font-size: clamp(42px, 5.1vw, 68px);
  font-weight: 600;
}
.psPage .psHeroCopy .altHeroLead {
  max-width: 700px;
  font-size: 18px;
}
.psPage .psHeroMicro {
  margin: 28px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: #5c7085;
  max-width: 710px;
}
.psPage .psHeroMicro strong {
  color: #102d4f;
}
.psPage .psKickerDot {
  padding: 0 7px;
  color: #a3bed4;
}
.psPage .psHeroAside {
  background: #fff;
  padding: 28px 29px;
  border-radius: 24px;
  border: 1px solid rgba(20, 48, 81, 0.12);
  box-shadow: 0 25px 65px rgba(20, 48, 81, 0.09);
}
.psPage .psSnapshotTop {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.09em;
  color: #008adb;
}
.psPage .psUpdatedDot {
  color: #67829a;
}
.psPage .psHeroAside h2 {
  margin: 19px 0 14px;
  font-weight: 600;
  font-size: 25px;
  line-height: 1.24;
  color: #102d4f;
}
.psPage .psSnapshotItem {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 11px;
  padding: 17px 0;
  border-top: 1px solid #e1eaf2;
}
.psPage .psSnapshotIcon {
  width: 31px;
  height: 31px;
  border-radius: 8px;
  background: #eff6ff;
  color: #0087ee;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
}
.psPage .psSnapshotItem strong {
  display: block;
  color: #143051;
  font-size: 15px;
}
.psPage .psSnapshotItem p {
  color: #5c7085;
  line-height: 1.6;
  font-size: 13px;
  margin: 5px 0 0;
}
.psPage .psTrust {
  background: #f6fbff;
}
.psPage .psTrust .altTrustGrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.psPage .psTrust .altTrustGrid > div {
  color: #476781;
}
.psPage .psTrust .altTrustGrid strong {
  font-size: 16px;
}
.psPage .psChoiceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.psPage .psChoiceCard {
  display: flex;
  flex-direction: column;
  padding: 33px;
  background: #fff;
  border: 1px solid rgba(20, 48, 81, 0.13);
  border-radius: 22px;
  min-width: 0;
  box-shadow: 0 16px 36px rgba(20, 48, 81, 0.04);
}
.psPage .psChoiceFlow {
  background: linear-gradient(150deg, #f1f9ff, #fff 63%);
  border-color: #a5d6fa;
}
.psPage .psEyebrowTag {
  font-size: 12px;
  color: #007aca;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.psPage .psChoiceCard h3 {
  color: #143051;
  font-size: 25px;
  font-weight: 600;
  margin: 12px 0 16px;
}
.psPage .psChoiceCard ul {
  padding-left: 20px;
  margin: 0;
  display: grid;
  gap: 12px;
  color: #325676;
  line-height: 1.65;
  font-size: 15px;
}
.psPage .psChoiceQualifier {
  border-top: 1px solid #dce9f5;
  padding-top: 17px;
  margin: 24px 0 20px;
  color: #687e93;
  font-size: 14px;
  line-height: 1.6;
  flex: 1;
}
.psPage .psChoiceCard > a {
  color: #0079cf;
  font-weight: 700;
  text-decoration: none;
}
.psPage .psChoiceCard > a:hover {
  text-decoration: underline;
}
.psPage .psHonestNote {
  margin-top: 24px;
  border-left: 4px solid #8f85eb;
  padding: 20px 24px;
  background: #f5faff;
  border-radius: 0 14px 14px 0;
  color: #46627d;
  line-height: 1.7;
  font-size: 15px;
}
.psPage .psPricing {
  background: #f5faff;
}
.psPage .psCalculator {
  padding: 27px;
  background: #fff;
  border: 1px solid #d8e5f1;
  border-radius: 22px;
  box-shadow: 0 16px 48px rgba(14, 53, 92, 0.07);
}
.psPage .psCalcControls {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 30px;
  margin-bottom: 24px;
}
.psPage .psSliderWrap {
  background: #f4f9ff;
  border: 1px solid #deebf6;
  border-radius: 16px;
  padding: 19px 20px;
}
.psPage .psSliderHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 25px;
}
.psPage .psSliderHeader label {
  color: #143051;
  font-weight: 750;
  font-size: 16px;
}
.psPage .psSliderHeader output {
  color: #007acc;
  font-weight: 800;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.psPage #psUsers {
  display: block;
  width: 100%;
  height: 9px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  border-radius: 99px;
  background: linear-gradient(
    to right,
    #0788f5 0%,
    #0788f5 var(--psProgress, 8.16%),
    #d2e1ef var(--psProgress, 8.16%),
    #d2e1ef 100%
  );
}
.psPage #psUsers::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 25px;
  height: 25px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.psPage #psUsers::-moz-range-thumb {
  width: 19px;
  height: 19px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.psPage .psRangeMarks {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  color: #678098;
  font-size: 12px;
}
.psPage .psControlRight {
  display: grid;
  gap: 14px;
  align-content: center;
}
.psPage .psField label {
  display: block;
  color: #143051;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.psPage .psField select {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #baccdc;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  color: #173951;
}
.psPage .psToggleLabel {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #23496f;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}
.psPage .psToggleLabel small {
  color: #71889c;
}
.psPage .psToggleLabel input {
  width: 17px;
  height: 17px;
  accent-color: #007cdd;
  flex: none;
}
.psPage .psPriceCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.psPage .psPriceCard {
  border: 1px solid #dbe6f0;
  border-radius: 18px;
  padding: 23px 22px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.psPage .psPriceFlow {
  border: 2px solid #0788f5;
  background: linear-gradient(155deg, #eff8ff, #fff 65%);
  padding: 22px 21px;
}
.psPage .psPriceFree {
  background: linear-gradient(155deg, #f1fbf6, #fff 70%);
}
.psPage .psPriceCardHeading {
  min-height: 63px;
}
.psPage .psPriceCardHeading h3 {
  margin: 0 0 7px;
  color: #143051;
  font-size: 17px;
  font-weight: 700;
}
.psPage .psPriceCardHeading > span {
  font-size: 12px;
  font-weight: 700;
  color: #62819b;
}
.psPage .psPriceValue {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 18px 0;
  flex-wrap: wrap;
}
.psPage .psPriceValue strong {
  font-size: clamp(28px, 3.1vw, 45px);
  letter-spacing: -0.04em;
  line-height: 1;
  color: #102d4f;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.psPage .psPriceFree .psPriceValue strong {
  color: #147b57;
}
.psPage .psPriceValue > span {
  font-size: 12px;
  color: #6b7e92;
}
.psPage .psPriceCard p {
  color: #566f85;
  line-height: 1.65;
  font-size: 13px;
  margin: 0 0 12px;
  flex: 1;
}
.psPage .psPriceCard small {
  display: block;
  font-size: 12px;
  color: #698096;
  line-height: 1.5;
  margin-top: 4px;
}
.psPage .psPriceCard > a {
  margin-top: 13px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  color: #0872c0;
}
.psPage .psPriceCard > a:hover {
  text-decoration: underline;
}
.psPage .psCalculator[data-free-status="none"] .psPriceFree {
  background: #f6f8fb;
}
.psPage .psCalculator[data-free-status="none"] #psFreePrice {
  color: #657a8a;
  font-size: 26px;
  letter-spacing: -0.02em;
}
.psPage .psPriceSummary {
  margin: 18px 0 0;
  padding: 16px 20px;
  background: #f0f7ff;
  border-radius: 11px;
  font-size: 14px;
  line-height: 1.65;
  color: #16466b;
}
.psPage .psPricingFootnote {
  color: #6c8093;
  line-height: 1.7;
  font-size: 12px;
  margin: 17px 0 0;
}
.psPage .psPricingFootnote a {
  color: #006dbb;
}
.psPage .psLegend {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 0 0 18px;
  color: #43617a;
  font-size: 14px;
}
.psPage .psLegend > span {
  display: flex;
  align-items: center;
  gap: 9px;
}
.psPage .psState {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  width: 27px;
  height: 27px;
  font-style: normal;
  font-weight: 800;
  font-size: 17px;
  line-height: 1;
}
.psPage .psState--yes {
  color: #147d58;
  background: #dbefff;
}
.psPage .psState--no {
  color: #bb4a4a;
  background: #fff0f0;
}
.psPage .psState--unknown {
  color: #7556ae;
  background: #f2ecff;
}
.psPage .psTableViewport {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid #d8e4f0;
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(16, 45, 79, 0.06);
  background: #fff;
  overscroll-behavior-x: contain;
}
.psPage .psComparisonTable {
  width: 100%;
  min-width: 790px;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
}
.psPage .psComparisonTable th,
.psPage .psComparisonTable td {
  padding: 15px 19px;
  border-bottom: 1px solid #e3ebf3;
  vertical-align: middle;
  font-size: 14px;
  color: #45647e;
  line-height: 1.55;
}
.psPage .psComparisonTable thead th {
  background: #102d4f;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.psPage .psComparisonTable tbody th {
  font-weight: 650;
  color: #123758;
  width: 30%;
}
.psPage .psComparisonTable thead th:nth-child(2),
.psPage .psComparisonTable thead th:nth-child(3),
.psPage .psComparisonTable tbody td:nth-child(2),
.psPage .psComparisonTable tbody td:nth-child(3) {
  text-align: center;
  width: 13%;
}
.psPage .psComparisonTable thead .psFlowCell {
  background: #0877cf;
}
.psPage .psComparisonTable tbody .psFlowCell {
  background: #f3faff;
}
.psPage .psComparisonTable tbody .psGroupRow th {
  background: #edf4fb;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  color: #284c6b;
  padding: 13px 19px;
}
.psPage .psComparisonTable tbody .psFeatureNote {
  font-size: 12px;
  color: #647b90;
  width: 44%;
}
.psPage .psComparisonTable tr:last-child > * {
  border-bottom: 0;
}
.psPage .psMatrixMethod {
  margin-top: 17px;
  border-left: 3px solid #0788f5;
  background: #f5faff;
  padding: 18px 20px;
  border-radius: 0 12px 12px 0;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.psPage .psScreensGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.psPage .psScreenFrame {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8e5f0;
  border-radius: 19px;
  background: #fff;
}
.psPage .psScreenshotPlaceholder {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  gap: 12px;
  aspect-ratio: 16/9;
  min-height: 220px;
  background: repeating-linear-gradient(
    45deg,
    #eaf3fc 0px,
    #eaf3fc 14px,
    #f5faff 14px,
    #f5faff 28px
  );
  color: #53738e;
  padding: 22px;
}
.psPage .psScreenshotPlaceholder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.psPage .psScreenshotPlaceholder strong {
  font-size: 18px;
  color: #143051;
}
.psPage .psScreenshotPlaceholder span:last-child {
  max-width: 290px;
  line-height: 1.5;
  font-size: 13px;
}
.psPage .psPlaceholderIcon {
  color: #87abd0;
  font-size: 42px;
}
.psPage .psScreenFrame figcaption {
  padding: 21px 23px;
}
.psPage .psScreenFrame figcaption strong {
  color: #143051;
}
.psPage .psScreenFrame figcaption p {
  margin: 6px 0 0;
  color: #627e94;
  line-height: 1.6;
  font-size: 13px;
}
.psPage .psScreenshotHelp {
  margin: 18px 0 0;
  font-size: 12px;
  color: #71849a;
  line-height: 1.7;
}
.psPage .psScreenshotHelp code {
  white-space: normal;
  overflow-wrap: anywhere;
}
.psPage .psFitGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
}
.psPage .psFitCard {
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #d9e5f0;
}
.psPage .psFitNumber {
  display: inline-grid;
  place-items: center;
  background: #8f85eb;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 7px;
  width: 34px;
  height: 34px;
  display: none !important;
}
.psPage .psFitCard h3 {
  color: #143051;
  font-size: 22px;
  margin: 20px 0 11px;
}
.psPage .psFitCard p {
  color: #536f89;
  font-size: 14px;
  line-height: 1.7;
}
.psPage .psFitCard .psFitConcession {
  border-top: 1px solid #e0e9f2;
  padding-top: 14px;
  margin-top: 18px;
  font-size: 13px;
  color: #657c92;
}
.psPage .psTrial {
  margin-top: 0 !important;
  background: #f6faff;
}
.psPage .psTrialGrid {
  display: grid;
  grid-template-columns: 1fr minmax(290px, 0.65fr);
  gap: 56px;
  align-items: start;
}
.psPage .psTrial h2 {
  font-size: clamp(30px, 4vw, 43px);
  font-weight: 600;
  color: #102d4f;
  line-height: 1.16;
  margin: 10px 0 15px;
}
.psPage .psTrial p:not(.altEyebrow) {
  line-height: 1.7;
  color: #5f7891;
}
.psPage .psTrialSteps {
  padding-left: 23px;
  display: grid;
  gap: 14px;
  color: #4c6b82;
  line-height: 1.65;
}
.psPage .psTrialSteps strong {
  color: #143051;
}
.psPage .psTestPanel {
  background: #102d4f;
  color: #fff;
  border-radius: 21px;
  padding: 31px;
  box-shadow: 0 24px 50px #14305122;
}
.psPage .psPanelTag {
  color: #b4dfff;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.psPage .psTestPanel h3 {
  margin: 10px 0 22px;
  color: #fff;
  font-size: 24px;
}
.psPage .psMetricRow {
  padding: 14px 0;
  border-top: 1px solid #ffffff29;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.psPage .psMetricRow strong {
  font-size: 14px;
}
.psPage .psMetricRow span {
  color: #c1d6e6;
  font-size: 13px;
  line-height: 1.5;
}
.psPage .psTestPanel .altBtn {
  margin-top: 21px;
  display: flex;
}
.psPage .psTextLink {
  color: #d4ebff;
  display: block;
  text-align: center;
  font-size: 14px;
  margin-top: 18px;
  text-decoration: none;
}
.psPage .psSourceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.psPage .psSourceGrid > div {
  background: #f6faff;
  border: 1px solid #e0eaf4;
  border-radius: 17px;
  padding: 24px;
}
.psPage .psSourceGrid h3 {
  color: #143051;
  margin: 0 0 16px;
}
.psPage .psSourceGrid ul {
  margin: 0;
  padding-left: 20px;
}
.psPage .psSourceGrid li {
  padding: 7px 0;
  color: #42627e;
  line-height: 1.55;
  font-size: 14px;
}
.psPage .psSourceGrid a {
  color: #006ebc;
  text-decoration: none;
}
.psPage .psSourceGrid a:hover {
  text-decoration: underline;
}
.psPage .psDisclosure {
  margin: 21px 0 0;
  line-height: 1.7;
  font-size: 13px;
  color: #647e95;
}
.psPage .psFaq .altFaqGrid {
  display: grid;
}
.psPage .psRelated .altRelatedGrid {
  display: grid;
}
.psPage .psFinal .altFinalCtaInner h2 {
  font-weight: 600;
}
@media (max-width: 1050px) {
  .psPage .psHeroLayout {
    grid-template-columns: 1fr;
    gap: 33px;
  }
  .psPage .psHeroAside {
    max-width: 730px;
  }
  .psPage .psFitGrid {
    grid-template-columns: 1fr 1fr;
  }
  .psPage .psFitCard:last-child {
    grid-column: 1/-1;
  }
  .psPage .psPriceCards {
    grid-template-columns: 1fr 1fr;
  }
  .psPage .psPricePaid {
    grid-column: 1/-1;
  }
}
@media (max-width: 900px) {
  .psPage .psTrust .altTrustGrid {
    display: none !important;
  }
  .psPage .psCalcControls {
    grid-template-columns: 1fr;
  }
  .psPage .psTrialGrid {
    grid-template-columns: 1fr;
  }
  .psPage .psHero h1 {
    font-size: clamp(36px, 6vw, 52px) !important;
  }
}
@media (max-width: 680px) {
  .psPage .altSection {
    padding: 62px 0;
  }
  .psPage .psHero {
    padding-top: 122px !important;
    padding-bottom: 55px;
  }
  .psPage .psHero .heroKicker {
    font-size: 11px !important;
    line-height: 1.6;
  }
  .psPage .psHero .altHeroLead {
    font-size: 16px;
  }
  .psPage .altSectionHead h2 {
    font-size: 32px !important;
  }
  .psPage .psChoiceGrid,
  .psPage .psPriceCards,
  .psPage .psScreensGrid,
  .psPage .psFitGrid,
  .psPage .psSourceGrid {
    grid-template-columns: 1fr;
  }
  .psPage .psFitCard:last-child,
  .psPage .psPricePaid {
    grid-column: auto;
  }
  .psPage .psChoiceCard {
    padding: 25px;
  }
  .psPage .psHeroAside {
    padding: 23px;
  }
  .psPage .psCalculator {
    padding: 15px;
  }
  .psPage .psSliderWrap {
    padding: 16px;
  }
  .psPage .psPriceCard {
    padding: 20px;
  }
  .psPage .psFlowCell {
    min-width: 95px;
  }
  .psPage .psScreenshotPlaceholder {
    min-height: 165px;
  }
  .psPage .psTestPanel {
    padding: 25px;
  }
  .psPage .altActions .altBtn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .psPage .altBtn {
    transition: none !important;
  }
}

/* Papershift-specific additions, scoped under the page wrapper. */
.psPage .psPlanFlag {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #57738d;
}
.psPage .psCalculator .psPriceCardHeading {
  min-height: 67px;
}
.psPage .psCalcFinePrint {
  font-size: 12px;
  line-height: 1.7;
  color: #637f94;
  margin: 12px 0 0;
}
.psPage .psFootValue {
  font-weight: 650;
  color: #143051;
}
.psPage .psPlanOptions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 3px;
}
.psPage .psPill {
  border-radius: 999px;
  background: #edf6ff;
  color: #125c92;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
}
.psPage .psPriceFree {
  background: #fff;
}
.psPage .psPriceFree .psPriceValue strong {
  color: #102d4f;
}
.psPage .psLeadShots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: min(1160px, calc(100% - 48px));
  margin: 42px auto 0;
}
.psPage .psLeadShots .psScreenshotPlaceholder {
  min-height: 200px;
  aspect-ratio: 16/8;
}
.psPage .psLeadShots .psScreenFrame figcaption {
  padding: 15px 20px;
}
.psPage .psTableExplainer {
  margin: 12px 0 20px;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.psPage .psComparisonTable .psFeatureNote a {
  color: #076aaf;
  text-decoration: underline;
}
.psPage .psSourceGrid a {
  overflow-wrap: anywhere;
}
@media (max-width: 680px) {
  .psPage .psLeadShots {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    gap: 15px;
    margin-top: 22px;
  }
  .psPage .psLeadShots .psScreenshotPlaceholder {
    min-height: 140px;
    aspect-ratio: 16/7;
  }
}

/* Quote-entry controls, scoped to this competitor comparison. */
.psPage .psQuoteFields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.psPage .psQuoteFields label {
  display: block;
  font-size: 12px;
  color: #345772;
  font-weight: 700;
  margin-bottom: 6px;
}
.psPage .psQuoteFields input {
  display: block;
  width: 100%;
  min-height: 45px;
  border: 1px solid #baccdc;
  border-radius: 10px;
  padding: 9px 12px;
  color: #102d4f;
  font: inherit;
  font-size: 16px;
}
.psPage .psPricingWarning {
  background: #fff8e8;
  border-left: 4px solid #d89b29;
  padding: 13px 17px;
  border-radius: 0 10px 10px 0;
  color: #694d20;
  font-size: 13px;
  line-height: 1.6;
  margin-top: 16px;
}
.psPage .psPriceValue strong.psPendingPrice {
  font-size: clamp(18px, 2vw, 26px);
  color: #637e92;
  letter-spacing: 0;
}
@media (max-width: 680px) {
  .psPage .psQuoteFields {
    grid-template-columns: 1fr;
  }
}

/* When I Work comparison page only. No global html/body/header selectors. */
.wiPage .altContainer {
  display: block;
  align-items: initial;
}
.wiPage .altSectionHead {
  max-width: 900px;
  margin-bottom: 36px;
}
.wiPage .altSectionHead h2 {
  font-weight: 600;
}
.wiPage .altSectionHead p {
  max-width: 780px;
}
.wiPage .altEyebrow,
.wiPage .heroKicker {
  color: #00aaff !important;
  font-weight: 600 !important;
}
.wiPage a:focus-visible,
.wiPage input:focus-visible,
.wiPage select:focus-visible,
.wiPage summary:focus-visible {
  outline: 3px solid #0077ff;
  outline-offset: 3px;
}
.wiPage .altBtn {
  font-weight: 600 !important;
}
.wiPage .altBtnPrimary {
  color: #fff;
}
.wiPage .altHero {
  padding-top: 130px !important;
}
.wiPage .wiHero {
  background: linear-gradient(168deg, #f2f9ff 0%, #fff 80%);
}
.wiPage .wiHeroLayout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 52px;
  align-items: center;
}
.wiPage .wiHeroCopy {
  min-width: 0;
}
.wiPage .wiHero h1 {
  font-size: clamp(42px, 5.1vw, 68px);
  font-weight: 600;
}
.wiPage .wiHeroCopy .altHeroLead {
  max-width: 700px;
  font-size: 18px;
}
.wiPage .wiHeroMicro {
  margin: 28px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: #5c7085;
  max-width: 710px;
}
.wiPage .wiHeroMicro strong {
  color: #102d4f;
}
.wiPage .wiKickerDot {
  padding: 0 7px;
  color: #a3bed4;
}
.wiPage .wiHeroAside {
  background: #fff;
  padding: 28px 29px;
  border-radius: 24px;
  border: 1px solid rgba(20, 48, 81, 0.12);
  box-shadow: 0 25px 65px rgba(20, 48, 81, 0.09);
}
.wiPage .wiSnapshotTop {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.09em;
  color: #008adb;
}
.wiPage .wiUpdatedDot {
  color: #67829a;
}
.wiPage .wiHeroAside h2 {
  margin: 19px 0 14px;
  font-weight: 600;
  font-size: 25px;
  line-height: 1.24;
  color: #102d4f;
}
.wiPage .wiSnapshotItem {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 11px;
  padding: 17px 0;
  border-top: 1px solid #e1eaf2;
}
.wiPage .wiSnapshotIcon {
  width: 31px;
  height: 31px;
  border-radius: 8px;
  background: #eff6ff;
  color: #0087ee;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
}
.wiPage .wiSnapshotItem strong {
  display: block;
  color: #143051;
  font-size: 15px;
}
.wiPage .wiSnapshotItem p {
  color: #5c7085;
  line-height: 1.6;
  font-size: 13px;
  margin: 5px 0 0;
}
.wiPage .wiTrust {
  background: #f6fbff;
}
.wiPage .wiTrust .altTrustGrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.wiPage .wiTrust .altTrustGrid > div {
  color: #476781;
}
.wiPage .wiTrust .altTrustGrid strong {
  font-size: 16px;
}
.wiPage .wiChoiceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.wiPage .wiChoiceCard {
  display: flex;
  flex-direction: column;
  padding: 33px;
  background: #fff;
  border: 1px solid rgba(20, 48, 81, 0.13);
  border-radius: 22px;
  min-width: 0;
  box-shadow: 0 16px 36px rgba(20, 48, 81, 0.04);
}
.wiPage .wiChoiceFlow {
  background: linear-gradient(150deg, #f1f9ff, #fff 63%);
  border-color: #a5d6fa;
}
.wiPage .wiEyebrowTag {
  font-size: 12px;
  color: #007aca;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.wiPage .wiChoiceCard h3 {
  color: #143051;
  font-size: 25px;
  font-weight: 600;
  margin: 12px 0 16px;
}
.wiPage .wiChoiceCard ul {
  padding-left: 20px;
  margin: 0;
  display: grid;
  gap: 12px;
  color: #325676;
  line-height: 1.65;
  font-size: 15px;
}
.wiPage .wiChoiceQualifier {
  border-top: 1px solid #dce9f5;
  padding-top: 17px;
  margin: 24px 0 20px;
  color: #687e93;
  font-size: 14px;
  line-height: 1.6;
  flex: 1;
}
.wiPage .wiChoiceCard > a {
  color: #0079cf;
  font-weight: 700;
  text-decoration: none;
}
.wiPage .wiChoiceCard > a:hover {
  text-decoration: underline;
}
.wiPage .wiHonestNote {
  margin-top: 24px;
  border-left: 4px solid #8f85eb;
  padding: 20px 24px;
  background: #f5faff;
  border-radius: 0 14px 14px 0;
  color: #46627d;
  line-height: 1.7;
  font-size: 15px;
}
.wiPage .wiPricing {
  background: #f5faff;
}
.wiPage .wiCalculator {
  padding: 27px;
  background: #fff;
  border: 1px solid #d8e5f1;
  border-radius: 22px;
  box-shadow: 0 16px 48px rgba(14, 53, 92, 0.07);
}
.wiPage .wiCalcControls {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 30px;
  margin-bottom: 24px;
}
.wiPage .wiSliderWrap {
  background: #f4f9ff;
  border: 1px solid #deebf6;
  border-radius: 16px;
  padding: 19px 20px;
}
.wiPage .wiSliderHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 25px;
}
.wiPage .wiSliderHeader label {
  color: #143051;
  font-weight: 750;
  font-size: 16px;
}
.wiPage .wiSliderHeader output {
  color: #007acc;
  font-weight: 800;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.wiPage #wiUsers {
  display: block;
  width: 100%;
  height: 9px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  border-radius: 99px;
  background: linear-gradient(
    to right,
    #0788f5 0%,
    #0788f5 var(--wiProgress, 8.16%),
    #d2e1ef var(--wiProgress, 8.16%),
    #d2e1ef 100%
  );
}
.wiPage #wiUsers::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 25px;
  height: 25px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.wiPage #wiUsers::-moz-range-thumb {
  width: 19px;
  height: 19px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #0788f5;
  box-shadow: 0 3px 10px #456b954d;
}
.wiPage .wiRangeMarks {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  color: #678098;
  font-size: 12px;
}
.wiPage .wiControlRight {
  display: grid;
  gap: 14px;
  align-content: center;
}
.wiPage .wiField label {
  display: block;
  color: #143051;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.wiPage .wiField select {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #baccdc;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  color: #173951;
}
.wiPage .wiToggleLabel {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #23496f;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}
.wiPage .wiToggleLabel small {
  color: #71889c;
}
.wiPage .wiToggleLabel input {
  width: 17px;
  height: 17px;
  accent-color: #007cdd;
  flex: none;
}
.wiPage .wiPriceCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.wiPage .wiPriceCard {
  border: 1px solid #dbe6f0;
  border-radius: 18px;
  padding: 23px 22px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.wiPage .wiPriceFlow {
  border: 2px solid #0788f5;
  background: linear-gradient(155deg, #eff8ff, #fff 65%);
  padding: 22px 21px;
}
.wiPage .wiPriceFree {
  background: linear-gradient(155deg, #f1fbf6, #fff 70%);
}
.wiPage .wiPriceCardHeading {
  min-height: 63px;
}
.wiPage .wiPriceCardHeading h3 {
  margin: 0 0 7px;
  color: #143051;
  font-size: 17px;
  font-weight: 700;
}
.wiPage .wiPriceCardHeading > span {
  font-size: 12px;
  font-weight: 700;
  color: #62819b;
}
.wiPage .wiPriceValue {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 18px 0;
  flex-wrap: wrap;
}
.wiPage .wiPriceValue strong {
  font-size: clamp(28px, 3.1vw, 45px);
  letter-spacing: -0.04em;
  line-height: 1;
  color: #102d4f;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.wiPage .wiPriceFree .wiPriceValue strong {
  color: #147b57;
}
.wiPage .wiPriceValue > span {
  font-size: 12px;
  color: #6b7e92;
}
.wiPage .wiPriceCard p {
  color: #566f85;
  line-height: 1.65;
  font-size: 13px;
  margin: 0 0 12px;
  flex: 1;
}
.wiPage .wiPriceCard small {
  display: block;
  font-size: 12px;
  color: #698096;
  line-height: 1.5;
  margin-top: 4px;
}
.wiPage .wiPriceCard > a {
  margin-top: 13px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  color: #0872c0;
}
.wiPage .wiPriceCard > a:hover {
  text-decoration: underline;
}
.wiPage .wiCalculator[data-free-status="none"] .wiPriceFree {
  background: #f6f8fb;
}
.wiPage .wiCalculator[data-free-status="none"] #wiFreePrice {
  color: #657a8a;
  font-size: 26px;
  letter-spacing: -0.02em;
}
.wiPage .wiPriceSummary {
  margin: 18px 0 0;
  padding: 16px 20px;
  background: #f0f7ff;
  border-radius: 11px;
  font-size: 14px;
  line-height: 1.65;
  color: #16466b;
}
.wiPage .wiPricingFootnote {
  color: #6c8093;
  line-height: 1.7;
  font-size: 12px;
  margin: 17px 0 0;
}
.wiPage .wiPricingFootnote a {
  color: #006dbb;
}
.wiPage .wiLegend {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 0 0 18px;
  color: #43617a;
  font-size: 14px;
}
.wiPage .wiLegend > span {
  display: flex;
  align-items: center;
  gap: 9px;
}
.wiPage .wiState {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  width: 27px;
  height: 27px;
  font-style: normal;
  font-weight: 800;
  font-size: 17px;
  line-height: 1;
}
.wiPage .wiState--yes {
  color: #147d58;
  background: #dbefff;
}
.wiPage .wiState--no {
  color: #bb4a4a;
  background: #fff0f0;
}
.wiPage .wiState--unknown {
  color: #7556ae;
  background: #f2ecff;
}
.wiPage .wiTableViewport {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid #d8e4f0;
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(16, 45, 79, 0.06);
  background: #fff;
  overscroll-behavior-x: contain;
}
.wiPage .wiComparisonTable {
  width: 100%;
  min-width: 790px;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
}
.wiPage .wiComparisonTable th,
.wiPage .wiComparisonTable td {
  padding: 15px 19px;
  border-bottom: 1px solid #e3ebf3;
  vertical-align: middle;
  font-size: 14px;
  color: #45647e;
  line-height: 1.55;
}
.wiPage .wiComparisonTable thead th {
  background: #102d4f;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.wiPage .wiComparisonTable tbody th {
  font-weight: 650;
  color: #123758;
  width: 30%;
}
.wiPage .wiComparisonTable thead th:nth-child(2),
.wiPage .wiComparisonTable thead th:nth-child(3),
.wiPage .wiComparisonTable tbody td:nth-child(2),
.wiPage .wiComparisonTable tbody td:nth-child(3) {
  text-align: center;
  width: 13%;
}
.wiPage .wiComparisonTable thead .wiFlowCell {
  background: #0877cf;
}
.wiPage .wiComparisonTable tbody .wiFlowCell {
  background: #f3faff;
}
.wiPage .wiComparisonTable tbody .wiGroupRow th {
  background: #edf4fb;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  color: #284c6b;
  padding: 13px 19px;
}
.wiPage .wiComparisonTable tbody .wiFeatureNote {
  font-size: 12px;
  color: #647b90;
  width: 44%;
}
.wiPage .wiComparisonTable tr:last-child > * {
  border-bottom: 0;
}
.wiPage .wiMatrixMethod {
  margin-top: 17px;
  border-left: 3px solid #0788f5;
  background: #f5faff;
  padding: 18px 20px;
  border-radius: 0 12px 12px 0;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.wiPage .wiScreensGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.wiPage .wiScreenFrame {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8e5f0;
  border-radius: 19px;
  background: #fff;
}
.wiPage .wiScreenshotPlaceholder {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  gap: 12px;
  aspect-ratio: 16/9;
  min-height: 220px;
  background: repeating-linear-gradient(
    45deg,
    #eaf3fc 0px,
    #eaf3fc 14px,
    #f5faff 14px,
    #f5faff 28px
  );
  color: #53738e;
  padding: 22px;
}
.wiPage .wiScreenshotPlaceholder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.wiPage .wiScreenshotPlaceholder strong {
  font-size: 18px;
  color: #143051;
}
.wiPage .wiScreenshotPlaceholder span:last-child {
  max-width: 290px;
  line-height: 1.5;
  font-size: 13px;
}
.wiPage .wiPlaceholderIcon {
  color: #87abd0;
  font-size: 42px;
}
.wiPage .wiScreenFrame figcaption {
  padding: 21px 23px;
}
.wiPage .wiScreenFrame figcaption strong {
  color: #143051;
}
.wiPage .wiScreenFrame figcaption p {
  margin: 6px 0 0;
  color: #627e94;
  line-height: 1.6;
  font-size: 13px;
}
.wiPage .wiScreenshotHelp {
  margin: 18px 0 0;
  font-size: 12px;
  color: #71849a;
  line-height: 1.7;
}
.wiPage .wiScreenshotHelp code {
  white-space: normal;
  overflow-wrap: anywhere;
}
.wiPage .wiFitGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
}
.wiPage .wiFitCard {
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #d9e5f0;
}
.wiPage .wiFitNumber {
  display: inline-grid;
  place-items: center;
  background: #8f85eb;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 7px;
  width: 34px;
  height: 34px;
}
.wiPage .wiFitCard h3 {
  color: #143051;
  font-size: 22px;
  margin: 20px 0 11px;
}
.wiPage .wiFitCard p {
  color: #536f89;
  font-size: 14px;
  line-height: 1.7;
}
.wiPage .wiFitCard .wiFitConcession {
  border-top: 1px solid #e0e9f2;
  padding-top: 14px;
  margin-top: 18px;
  font-size: 13px;
  color: #657c92;
}
.wiPage .wiTrial {
  margin-top: 0 !important;
  background: #f6faff;
}
.wiPage .wiTrialGrid {
  display: grid;
  grid-template-columns: 1fr minmax(290px, 0.65fr);
  gap: 56px;
  align-items: start;
}
.wiPage .wiTrial h2 {
  font-size: clamp(30px, 4vw, 43px);
  font-weight: 600;
  color: #102d4f;
  line-height: 1.16;
  margin: 10px 0 15px;
}
.wiPage .wiTrial p:not(.altEyebrow) {
  line-height: 1.7;
  color: #5f7891;
}
.wiPage .wiTrialSteps {
  padding-left: 23px;
  display: grid;
  gap: 14px;
  color: #4c6b82;
  line-height: 1.65;
}
.wiPage .wiTrialSteps strong {
  color: #143051;
}
.wiPage .wiTestPanel {
  background: #102d4f;
  color: #fff;
  border-radius: 21px;
  padding: 31px;
  box-shadow: 0 24px 50px #14305122;
}
.wiPage .wiPanelTag {
  color: #b4dfff;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.wiPage .wiTestPanel h3 {
  margin: 10px 0 22px;
  color: #fff;
  font-size: 24px;
}
.wiPage .wiMetricRow {
  padding: 14px 0;
  border-top: 1px solid #ffffff29;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wiPage .wiMetricRow strong {
  font-size: 14px;
}
.wiPage .wiMetricRow span {
  color: #c1d6e6;
  font-size: 13px;
  line-height: 1.5;
}
.wiPage .wiTestPanel .altBtn {
  margin-top: 21px;
  display: flex;
}
.wiPage .wiTextLink {
  color: #d4ebff;
  display: block;
  text-align: center;
  font-size: 14px;
  margin-top: 18px;
  text-decoration: none;
}
.wiPage .wiSourceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.wiPage .wiSourceGrid > div {
  background: #f6faff;
  border: 1px solid #e0eaf4;
  border-radius: 17px;
  padding: 24px;
}
.wiPage .wiSourceGrid h3 {
  color: #143051;
  margin: 0 0 16px;
}
.wiPage .wiSourceGrid ul {
  margin: 0;
  padding-left: 20px;
}
.wiPage .wiSourceGrid li {
  padding: 7px 0;
  color: #42627e;
  line-height: 1.55;
  font-size: 14px;
}
.wiPage .wiSourceGrid a {
  color: #006ebc;
  text-decoration: none;
}
.wiPage .wiSourceGrid a:hover {
  text-decoration: underline;
}
.wiPage .wiDisclosure {
  margin: 21px 0 0;
  line-height: 1.7;
  font-size: 13px;
  color: #647e95;
}
.wiPage .wiFaq .altFaqGrid {
  display: grid;
}
.wiPage .wiRelated .altRelatedGrid {
  display: grid;
}
.wiPage .wiFinal .altFinalCtaInner h2 {
  font-weight: 600;
}
@media (max-width: 1050px) {
  .wiPage .wiHeroLayout {
    grid-template-columns: 1fr;
    gap: 33px;
  }
  .wiPage .wiHeroAside {
    max-width: 730px;
  }
  .wiPage .wiFitGrid {
    grid-template-columns: 1fr 1fr;
  }
  .wiPage .wiFitCard:last-child {
    grid-column: 1/-1;
  }
  .wiPage .wiPriceCards {
    grid-template-columns: 1fr 1fr;
  }
  .wiPage .wiPricePaid {
    grid-column: 1/-1;
  }
}
@media (max-width: 900px) {
  .wiPage .wiTrust .altTrustGrid {
    display: none !important;
  }
  .wiPage .wiCalcControls {
    grid-template-columns: 1fr;
  }
  .wiPage .wiTrialGrid {
    grid-template-columns: 1fr;
  }
  .wiPage .wiHero h1 {
    font-size: clamp(36px, 6vw, 52px) !important;
  }
}
@media (max-width: 680px) {
  .wiPage .altSection {
    padding: 62px 0;
  }
  .wiPage .wiHero {
    padding-top: 122px !important;
    padding-bottom: 55px;
  }
  .wiPage .wiHero .heroKicker {
    font-size: 11px !important;
    line-height: 1.6;
  }
  .wiPage .wiHero .altHeroLead {
    font-size: 16px;
  }
  .wiPage .altSectionHead h2 {
    font-size: 32px !important;
  }
  .wiPage .wiChoiceGrid,
  .wiPage .wiPriceCards,
  .wiPage .wiScreensGrid,
  .wiPage .wiFitGrid,
  .wiPage .wiSourceGrid {
    grid-template-columns: 1fr;
  }
  .wiPage .wiFitCard:last-child,
  .wiPage .wiPricePaid {
    grid-column: auto;
  }
  .wiPage .wiChoiceCard {
    padding: 25px;
  }
  .wiPage .wiHeroAside {
    padding: 23px;
  }
  .wiPage .wiCalculator {
    padding: 15px;
  }
  .wiPage .wiSliderWrap {
    padding: 16px;
  }
  .wiPage .wiPriceCard {
    padding: 20px;
  }
  .wiPage .wiFlowCell {
    min-width: 95px;
  }
  .wiPage .wiScreenshotPlaceholder {
    min-height: 165px;
  }
  .wiPage .wiTestPanel {
    padding: 25px;
  }
  .wiPage .altActions .altBtn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .wiPage .altBtn {
    transition: none !important;
  }
}

/* When I Work-specific additions, scoped under the page wrapper. */
.wiPage .wiPlanFlag {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #57738d;
}
.wiPage .wiCalculator .wiPriceCardHeading {
  min-height: 67px;
}
.wiPage .wiCalcFinePrint {
  font-size: 12px;
  line-height: 1.7;
  color: #637f94;
  margin: 12px 0 0;
}
.wiPage .wiFootValue {
  font-weight: 650;
  color: #143051;
}
.wiPage .wiPlanOptions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 3px;
}
.wiPage .wiPill {
  border-radius: 999px;
  background: #edf6ff;
  color: #125c92;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
}
.wiPage .wiPriceFree {
  background: #fff;
}
.wiPage .wiPriceFree .wiPriceValue strong {
  color: #102d4f;
}
.wiPage .wiLeadShots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: min(1160px, calc(100% - 48px));
  margin: 42px auto 0;
}
.wiPage .wiLeadShots .wiScreenshotPlaceholder {
  min-height: 200px;
  aspect-ratio: 16/8;
}
.wiPage .wiLeadShots .wiScreenFrame figcaption {
  padding: 15px 20px;
}
.wiPage .wiTableExplainer {
  margin: 12px 0 20px;
  color: #60798f;
  font-size: 13px;
  line-height: 1.7;
}
.wiPage .wiComparisonTable .wiFeatureNote a {
  color: #076aaf;
  text-decoration: underline;
}
.wiPage .wiSourceGrid a {
  overflow-wrap: anywhere;
}
@media (max-width: 680px) {
  .wiPage .wiLeadShots {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    gap: 15px;
    margin-top: 22px;
  }
  .wiPage .wiLeadShots .wiScreenshotPlaceholder {
    min-height: 140px;
    aspect-ratio: 16/7;
  }
}

/* Quote-entry controls, scoped to this competitor comparison. */
.wiPage .wiQuoteFields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.wiPage .wiQuoteFields label {
  display: block;
  font-size: 12px;
  color: #345772;
  font-weight: 700;
  margin-bottom: 6px;
}
.wiPage .wiQuoteFields input {
  display: block;
  width: 100%;
  min-height: 45px;
  border: 1px solid #baccdc;
  border-radius: 10px;
  padding: 9px 12px;
  color: #102d4f;
  font: inherit;
  font-size: 16px;
}
.wiPage .wiPricingWarning {
  background: #fff8e8;
  border-left: 4px solid #d89b29;
  padding: 13px 17px;
  border-radius: 0 10px 10px 0;
  color: #694d20;
  font-size: 13px;
  line-height: 1.6;
  margin-top: 16px;
}
.wiPage .wiPriceValue strong.wiPendingPrice {
  font-size: clamp(18px, 2vw, 26px);
  color: #637e92;
  letter-spacing: 0;
}
@media (max-width: 680px) {
  .wiPage .wiQuoteFields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .csSideParnt {
    width: 94% !important;
    min-width: 94% !important;
    max-width: 94% !important;
  }
}

.colourNavy {
  color: #143051 !important;
}

.heroEmphasis {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  z-index: 0;
}

.heroEmphasisSage {
  font-weight: 600;
}

.heroEmphasis::after {
  content: "";
  position: absolute;
  right: -0.02em;
  bottom: -0.08em;
  left: -0.02em;
  height: 0.1em;
  min-height: 5px;
  border-radius: 50%;
  background: #0788f5;
  transform: rotate(-1.2deg);
  transform-origin: left center;
  z-index: -1;
}
