/*
 * Page sections: shared .pc-home reset, typography and buttons.
 * Loaded (with the other sections/*.css, in order) on pages built from
 * PrimoCRM page patterns. Everything is scoped under .pc-home.
 */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../../fonts/InterVariable.woff2") format("woff2");
}
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
}

.pc-home {
  font-family: "Inter", system-ui, sans-serif;
  color: #485653;
  background: #FAF9F6;
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}
.pc-home ul, .pc-home ol {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.pc-home li {
  margin: 0 !important;
  padding: 0 !important;
}
.pc-home p {
  margin: 0;
}
.pc-home a {
  text-decoration: none;
}
.pc-home *,
.pc-home *::before,
.pc-home *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/* Button classes style both a bare <a class="btn"> (the site header's button)
   and the link of a core/button whose wrapper carries the class.
   core/buttons: the link is the flex item, as a bare <a> would be. Front end
   only: in the editor the wrapper is the block (.wp-block) and must keep its
   box. */
.pc-home .wp-block-buttons > .wp-block-button:not(.wp-block) {
  display: contents;
}
/* core/image: the <img> lays out as the bare image it replaced did, sized by
   the section against the box it sits in. Front end only, as above. */
.pc-home .wp-block-image:not(.wp-block) {
  display: contents;
}
/* core/table: the <table> lays out as the bare table did; the core cell
   borders and padding are dropped so the section's own rules decide. */
.pc-home .wp-block-table:not(.wp-block) {
  display: contents;
}
.pc-home .wp-block-table :is(th, td) {
  border: 0;
  padding: 0;
}
.pc-home .wp-block-table :is(thead, tfoot) {
  border: 0;
}
/* Undo the core flex layout (display, wrap, centring, 0.5em gap): the
   section's own class on the container decides, as it did for the <div>. */
.pc-home .wp-block-buttons {
  display: block;
  flex-wrap: nowrap;
  align-items: normal;
  gap: normal;
}
.pc-home .wp-block-buttons .wp-block-button__link {
  width: auto;
  height: auto;
}
/* Icon lists (a core/list with is-icons--<name>): the icon each item used to
   carry inline is drawn by ::before, in the item's text colour unless the
   section says otherwise. Size and spacing are set per section. */
.pc-home .is-icons > li::before {
  content: "";
  background-color: currentColor;
  -webkit-mask: var(--pc-icon) center / contain no-repeat;
  mask: var(--pc-icon) center / contain no-repeat;
}
.pc-home .is-icons--check { --pc-icon: url("../../svg/check.svg"); }
.pc-home .is-icons--x { --pc-icon: url("../../svg/x.svg"); }
/* A picture rather than a shape: drawn as it is, in its own colours. */
.pc-home .is-icons--check-badge > li::before {
  -webkit-mask: none;
  mask: none;
  background: url("../../svg/check-badge.svg") center / contain no-repeat;
}
.pc-home ::selection {
  background: #0E9488;
  color: #FFFFFF;
}
.pc-home ::-moz-selection {
  background: #0E9488;
  color: #FFFFFF;
}
.pc-home img {
  max-width: 100%;
  display: block;
}
.pc-home a {
  text-decoration: none;
  color: inherit;
}
.pc-home ul {
  list-style: none;
}
.pc-home button {
  font-family: inherit;
  cursor: pointer;
}
.pc-home h1,
.pc-home h2,
.pc-home h3,
.pc-home h4 {
  color: #0E1A18;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.pc-home .container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}
.pc-home :is(a.btn, .btn > .wp-block-button__link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14.5px;
  transition: transform 0.15s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  border: 1px solid transparent;
  white-space: nowrap;
}
.pc-home :is(a.btn--primary, .btn--primary > .wp-block-button__link) {
  background: #0E9488;
  color: #fff;
  box-shadow: 0 6px 18px -8px rgba(14, 148, 136, 0.55);
}
.pc-home :is(a.btn--primary, .btn--primary > .wp-block-button__link):hover {
  background: #0A7567;
  transform: translateY(-1px);
}
.pc-home :is(a.btn--outline, .btn--outline > .wp-block-button__link) {
  background: transparent;
  color: #0E9488;
  border-color: #0E9488;
}
.pc-home :is(a.btn--outline, .btn--outline > .wp-block-button__link):hover {
  background: #E9F7F3;
}
.pc-home :is(a.btn--outline-dark, .btn--outline-dark > .wp-block-button__link) {
  background: transparent;
  color: #F2F8F6;
  border-color: rgba(255, 255, 255, 0.28);
}
.pc-home :is(a.btn--outline-dark, .btn--outline-dark > .wp-block-button__link):hover {
  background: rgba(255, 255, 255, 0.06);
}
.pc-home :is(a.btn--text, .btn--text > .wp-block-button__link) {
  color: #0E1A18;
  padding: 10px 14px;
}
.pc-home :is(a.btn--text, .btn--text > .wp-block-button__link):hover {
  color: #0E9488;
}
.pc-home :is(a.btn--highlight, .btn--highlight > .wp-block-button__link) {
  background: #4FD0B4;
  color: #06302B;
  padding: 14px 26px;
  font-size: 15.5px;
  font-weight: 700;
}
.pc-home :is(a.btn--highlight, .btn--highlight > .wp-block-button__link):hover {
  background: rgb(103.1506726457, 214.4493273543, 190.2914798206);
  transform: translateY(-1px);
}
.pc-home :is(a.btn--white, .btn--white > .wp-block-button__link) {
  background: #fff;
  color: #06302B;
  padding: 14px 26px;
  font-size: 15.5px;
  font-weight: 700;
}
.pc-home :is(a.btn--white, .btn--white > .wp-block-button__link):hover {
  background: #f2f2f0;
}
.pc-home :is(a.btn--lg, .btn--lg > .wp-block-button__link) {
  padding: 15px 28px;
  font-size: 15.5px;
}
.pc-home .text-highlight {
  color: #4FD0B4;
}
.pc-home .text-highlight-teal {
  color: #0E9488;
}
.pc-home section {
  padding: 96px 0;
}
