/* Protocol Finance page — body only. Header/footer come from site chrome. */

.sol-alison .ph-thin.ph-paper-plane-tilt::before {
  content: '\e398';
}
.sol-alison .ph-thin.ph-flow-arrow::before {
  content: '\e6ec';
}
.sol-alison .ph-thin.ph-waves::before {
  content: '\e6de';
}

.sol-alison h2[style*='clamp(26px, 2.6vw, 36px)'] {
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
  line-height: 1.12;
}

.sol-alison h1[style*='clamp(30px, 3.1vw, 44px)'] {
  font-size: clamp(1.875rem, 4vw, 2.75rem) !important;
  line-height: 1.1;
}

.sol-alison > section[data-screen-label='Hero'] {
  position: relative;
  overflow: hidden;
}

.sol-alison > section[data-screen-label='CTA'] {
  position: relative;
  overflow: hidden;
}

.pf-page,
.pf-page * {
  box-sizing: border-box;
}

.pf-page {
  overflow-x: clip;
  max-width: 100%;
}

.pf-page [style*='grid-template-columns'] {
  min-width: 0;
}

.pf-page h1,
.pf-page h2,
.pf-page h3,
.pf-page p {
  overflow-wrap: break-word;
}

/* Four-up rows stay on one line, matching the source HTML */
@media (min-width: 900px) {
  .pf-page .pf-quad {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .pf-page .pf-quad h3 {
    font-size: 1.0625rem !important;
    line-height: 1.25;
  }
}

/* Keep the Function / Where it sits pairing on a phone */
@media (max-width: 899px) {
  .pf-page .pf-compare {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr) !important;
  }

  .pf-page > section[data-screen-label='Hero'] > div[style*='90deg'] {
    background: linear-gradient(
      180deg,
      rgba(18, 26, 32, 0.78) 0%,
      rgba(18, 26, 32, 0.9) 100%
    ) !important;
  }
}

@media (max-width: 767px) {
  .pf-page h1[style*='clamp(30px, 3.1vw, 44px)'] {
    font-size: 2rem !important;
    line-height: 1.15;
  }

  .pf-page h2[style*='clamp(26px, 2.6vw, 36px)'],
  .pf-page h2[style*='clamp(24px, 2.4vw, 32px)'] {
    font-size: 1.5rem !important;
    line-height: 1.2;
  }

  .pf-page > section h3 {
    font-size: 1.125rem !important;
    line-height: 1.3;
  }

  .pf-page p[style*='clamp(16px, 1.3vw, 19px)'],
  .pf-page p[style*='clamp(17px, 1.3vw, 20px)'] {
    font-size: 1rem !important;
    line-height: 1.55;
  }

  .pf-page p[style*='clamp(30px, 3vw, 40px)'] {
    font-size: 1.75rem !important;
  }

  .pf-page .pf-compare p {
    font-size: 0.8125rem !important;
    padding: 12px 10px !important;
  }

  .pf-page [style*='flex-wrap: wrap'] > a[style*='border-radius'] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .pf-page > section[data-screen-label='CTA'] [style*='flex-wrap: wrap'] {
    width: 100%;
  }
}
