.one-line,
.two-lines,
.three-lines,
.content-loop .wp-block-post-title,
.wp-block-post-excerpt__excerpt,
.four-lines {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical; }

.one-line {
  -webkit-line-clamp: 1; }

.two-lines {
  -webkit-line-clamp: 2; }

.three-lines, .content-loop .wp-block-post-title, .wp-block-post-excerpt__excerpt {
  -webkit-line-clamp: 3; }

.four-lines {
  -webkit-line-clamp: 4; }

.blog-featured .wp-block-post:after {
  clear: both;
  content: " ";
  display: block; }
.blog-featured figure {
  float: left; }
.blog-featured .wp-block-post-title a {
  display: inherit; }
.blog-featured .wp-block-post-excerpt__more-link {
  background-color: var(--wp--preset--color--primary);
  border-radius: 20px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  height: 40px;
  line-height: 40px;
  padding: 0 20px;
  transition: 0.3s all; }
  .blog-featured .wp-block-post-excerpt__more-link:hover {
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    transform: translateY(-2px); }
.blog-featured .taxonomy-category .wp-block-post-terms__separator {
  display: none; }
.blog-featured .taxonomy-category a {
  display: none;
  color: var(--wp--preset--color--primary); }
  .blog-featured .taxonomy-category a:first-child {
    display: inline-block; }
  .blog-featured .taxonomy-category a:hover {
    color: #ff9900; }

@media (min-width: 600px) {
  .content-loop .wp-block-post-template.is-flex-container.is-flex-container.columns-2 > li {
    width: calc(50% - 0.85rem); } }
.content-loop .wp-block-post-template.is-flex-container {
  gap: 1.7rem; }
.content-loop .wp-block-post {
  margin: 0 0 1rem 0 !important;
  position: relative; }
  .content-loop .wp-block-post:last-child {
    margin-bottom: 0; }
  .content-loop .wp-block-post:after {
    clear: both;
    content: " ";
    display: block; }
.content-loop .has-post-thumbnail .taxonomy-category {
  display: block; }
.content-loop .wp-block-post-title a {
  display: inherit; }
.content-loop .wp-block-post-terms__separator {
  display: none; }
.content-loop .wp-block-post-author-name a:hover {
  color: #222; }
.content-loop .taxonomy-category {
  margin: 0 0 10px 0; }
  .content-loop .taxonomy-category a {
    display: none; }
    .content-loop .taxonomy-category a:first-child {
      display: inline-block; }
    .content-loop .taxonomy-category a:hover {
      color: #f48924; }
.content-loop .wp-block-post-excerpt__excerpt {
  margin: 10px 0 0 0; }

.wp-block-post-date {
  height: 24px;
  line-height: 24px; }

.wp-block-post-excerpt__excerpt {
  line-height: 1.8; }

.footer-list {
  padding: 0; }
  .footer-list li {
    list-style: none;
    margin-bottom: 5px; }

.bottom-contact figure {
  line-height: 1.3; }

/*
 * Legacy VisualBlocks pagination skin removed in favour of the Impowr
 * pagination pills defined later in this file. It used `color: #333
 * !important` plus a grey #f0f0f0 fill and the retired #0099e5 blue for
 * `.current`, all of which overrode the branded styling.
 */
.wp-block-query-pagination {
  gap: 0 !important; }

.single .wp-block-post-terms.taxonomy-category .wp-block-post-terms__separator {
  display: none; }
.single .wp-block-post-terms.taxonomy-category a {
  background-color: #f7f9f9;
  border-radius: 3px;
  color: #555;
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  margin-right: 5px;
  padding: 2px 8px; }
  .single .wp-block-post-terms.taxonomy-category a:hover {
    background-color: #222;
    color: #fff; }
.single .wp-block-post-terms.taxonomy-category .wp-block-post-terms__separator {
  display: none; }
.single .wp-block-post-terms.taxonomy-post_tag a {
  background-color: #f7f9f9;
  border-radius: 3px;
  color: #666;
  display: inline-block;
  font-size: 12px;
  margin-right: 5px;
  padding: 2px 8px; }
  .single .wp-block-post-terms.taxonomy-post_tag a:hover {
    background-color: #222;
    color: #fff; }
.single .wp-block-post-terms.taxonomy-post_tag .wp-block-post-terms__separator {
  display: none; }
.single .entry-content a {
  text-decoration: underline; }
  .single .entry-content a:hover {
    color: #222; }

/* =========================================== */
/* IMPOWR IN-CONTENT LINKS */
/* =========================================== */

/*
 * Body-copy links previously inherited the legacy VisualBlocks blue
 * (#0099e5). These use the Impowr purple with a underline that thickens
 * on hover, scoped to prose so buttons and nav are unaffected.
 */
/*
 * `li` is included for prose lists, but query-loop items are also `li`, so
 * post-template descendants are excluded to keep card titles/meta clean.
 */
.entry-content :where(p, li, dd, figcaption, blockquote):not(.wp-block-post) a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-title a),
.wp-block-post-content :where(p, li, dd, figcaption, blockquote):not(.wp-block-post) a:not(.wp-block-button__link):not(.wp-element-button) {
  color: var(--color-purple, #7f1396);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  text-decoration-color: rgba(127, 19, 150, 0.4);
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.entry-content :where(p, li, dd, figcaption, blockquote):not(.wp-block-post) a:not(.wp-block-button__link):not(.wp-element-button):hover,
.wp-block-post-content :where(p, li, dd, figcaption, blockquote):not(.wp-block-post) a:not(.wp-block-button__link):not(.wp-element-button):hover,
.entry-content :where(p, li, dd, figcaption, blockquote):not(.wp-block-post) a:not(.wp-block-button__link):not(.wp-element-button):focus-visible,
.wp-block-post-content :where(p, li, dd, figcaption, blockquote):not(.wp-block-post) a:not(.wp-block-button__link):not(.wp-element-button):focus-visible {
  color: var(--color-indigo, #0b01a2);
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
}

/* Links on dark brand backgrounds need a light treatment. */
.is-style-impowr-page-header :where(p, li) a,
.is-style-impowr-final-cta-section :where(p, li) a,
.has-background-color :where(p, li) a:not(.wp-block-button__link):not(.wp-element-button) {
  color: #ffffff;
  text-decoration-color: rgba(255, 255, 255, 0.5);
}

/* =========================================== */
/* IMPOWR BLOG CARDS (Resources / Blog) */
/* =========================================== */

.impowr-blog-grid .wp-block-post-template.impowr-blog-cards {
  gap: 1.75rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.impowr-blog-grid .impowr-blog-cards > li {
  margin: 0;
  display: flex;
}

.impowr-blog-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  padding: 1.75rem;
  border: 1px solid rgba(7, 9, 101, 0.09);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(7, 9, 101, 0.04);
  transition: 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.impowr-blog-card:hover,
.impowr-blog-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(127, 19, 150, 0.28);
  box-shadow: 0 12px 28px rgba(7, 9, 101, 0.1);
}

/* Category label. */
.impowr-blog-card__category {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.impowr-blog-card__category a {
  color: var(--color-purple, #7f1396);
  text-decoration: none;
}

.impowr-blog-card__category a:hover,
.impowr-blog-card__category a:focus-visible {
  text-decoration: underline;
}

/* Title. */
.impowr-blog-card__title {
  margin: 0;
  font-size: 1.1875rem !important;
  font-weight: 700;
  line-height: 1.35;
}

/*
 * Wins over the generic in-content link rule, which would otherwise give
 * card titles a body-copy underline.
 */
.impowr-blog-card .impowr-blog-card__title a,
.entry-content .impowr-blog-card__title a,
.wp-block-post-content .impowr-blog-card__title a {
  color: var(--color-navy, #070965);
  text-decoration: none;
}

.impowr-blog-card .impowr-blog-card__title a:hover,
.impowr-blog-card .impowr-blog-card__title a:focus-visible,
.entry-content .impowr-blog-card__title a:hover,
.entry-content .impowr-blog-card__title a:focus-visible,
.wp-block-post-content .impowr-blog-card__title a:hover,
.wp-block-post-content .impowr-blog-card__title a:focus-visible {
  color: var(--color-purple, #7f1396);
  text-decoration: none;
}

/* Excerpt fills remaining height so dates align across the row. */
.impowr-blog-card__excerpt {
  margin: 0;
  flex: 1 1 auto;
  color: var(--color-text-body, #21304a);
  font-size: 0.9375rem;
  line-height: 1.65;
}

.impowr-blog-card__excerpt .wp-block-post-excerpt__more-link {
  display: inline-block;
  margin-top: 0.5rem;
  color: var(--color-purple, #7f1396);
  font-weight: 600;
  text-decoration: none;
}

.impowr-blog-card__excerpt .wp-block-post-excerpt__more-link:hover,
.impowr-blog-card__excerpt .wp-block-post-excerpt__more-link:focus-visible {
  text-decoration: underline;
}

/* Date. */
.impowr-blog-card__date {
  margin: 0;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(7, 9, 101, 0.07);
  color: rgba(33, 48, 74, 0.62);
  font-size: 0.8125rem;
}

@media (max-width: 781px) {
  .impowr-blog-card {
    padding: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .impowr-blog-card {
    transition: none;
  }
  .impowr-blog-card:hover,
  .impowr-blog-card:focus-within {
    transform: none;
  }
}

/* =========================================== */
/* IMPOWR PAGINATION */
/* =========================================== */

.wp-block-query-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  margin: 0 4px;
  border-radius: 10px;
  border: 1px solid rgba(7, 9, 101, 0.12);
  background: #ffffff;
  color: var(--color-navy, #070965);
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.wp-block-query-pagination .page-numbers:hover,
.wp-block-query-pagination .page-numbers:focus-visible {
  border-color: rgba(127, 19, 150, 0.35);
  color: var(--color-purple, #7f1396);
  transform: translateY(-1px);
}

.wp-block-query-pagination .page-numbers.current {
  background-image: linear-gradient(90deg, var(--color-purple, #7f1396), var(--color-indigo, #0b01a2));
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(197, 87, 239, 0.25);
}

.wp-block-query-pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
}

/* Previous / Next links. */
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 18px;
  border-radius: 10px;
  border: 1px solid rgba(7, 9, 101, 0.12);
  color: var(--color-navy, #070965);
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  transition: 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
.wp-block-query-pagination .wp-block-query-pagination-next:hover,
.wp-block-query-pagination .wp-block-query-pagination-previous:focus-visible,
.wp-block-query-pagination .wp-block-query-pagination-next:focus-visible {
  border-color: rgba(127, 19, 150, 0.35);
  color: var(--color-purple, #7f1396);
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-query-pagination .page-numbers,
  .wp-block-query-pagination .wp-block-query-pagination-previous,
  .wp-block-query-pagination .wp-block-query-pagination-next {
    transition: none;
  }
  .wp-block-query-pagination .page-numbers:hover,
  .wp-block-query-pagination .wp-block-query-pagination-previous:hover,
  .wp-block-query-pagination .wp-block-query-pagination-next:hover {
    transform: none;
  }
}
.single .wp-block-comments a {
  text-decoration: underline; }
  .single .wp-block-comments a:hover {
    color: #222; }

/* Colour now comes from the Impowr in-content link rule above. */
.single .wp-block-post-content p a {
  text-decoration: underline; }

.wp-block-comments .comment {
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  padding: 2rem 0 0 0; }
  .wp-block-comments .comment p {
    margin: 0 0 20px 0; }
    .wp-block-comments .comment p:last-child {
      margin-bottom: 0; }
  .wp-block-comments .comment .wp-block-comment-author-name {
    font-weight: bold; }
  .wp-block-comments .comment time a:hover,
  .wp-block-comments .comment .wp-block-comment-edit-link a:hover,
  .wp-block-comments .comment .wp-block-comment-reply-link a:hover {
    color: #222; }
.wp-block-comments .comment-reply-title {
  font-weight: bold; }
.wp-block-comments .logged-in-as {
  color: #999;
  font-size: 14px; }
  .wp-block-comments .logged-in-as a {
    color: #0099e5; }
.wp-block-comments .required {
  color: red; }

.wp-block-post-comments-form input[type=submit] {
  border-radius: 21px !important;
  font-size: 0.9em;
  line-height: 42px;
  padding: 0 25px; }

.wp-block-post-author__name a:hover {
  color: #222; }

.author-box {
  border: 1px solid #f0f0f0;
  border-radius: 3px;
  padding: 1.5rem; }
  .author-box:after {
    clear: both;
    content: " ";
    display: block; }
  .author-box .wp-block-post-author {
    height: 24px;
    line-height: 24px; }
    .author-box .wp-block-post-author a {
      text-decoration: none; }
      .author-box .wp-block-post-author a:hover {
        color: #0099e5; }
    .author-box .wp-block-post-author .wp-block-post-author__avatar img {
      border-radius: 50%;
      width: 24px;
      height: auto; }
  .author-box .wp-block-post-author__avatar {
    margin-right: 10px; }
  .author-box .wp-block-post-author__name {
    color: #222;
    font-weight: bold; }
  .author-box .wp-block-post-author-biography {
    font-size: 0.95em; }
    .author-box .wp-block-post-author-biography a {
      color: var(--color-purple, #7f1396);
      text-decoration: underline; }
      .author-box .wp-block-post-author-biography a:hover {
        text-decoration: none; }

.wp-block-post-comments-form input:not([type=submit]),
.wp-block-post-comments-form textarea {
  border-color: #e9e9e9; }

/* Site Header */
.wp-block-site-title a {
  background: none;
  padding: 0; }

/* Navigation */
@media only screen and (min-width: 1180px) {
  .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    border: none;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 4px; }

  .wp-block-navigation .wp-block-navigation-item__content {
    padding-top: 10px;
    padding-bottom: 10px; }
    .wp-block-navigation .wp-block-navigation-item__content:hover {
      color: var(--wp--preset--color--primary); }

  .wp-block-navigation .wp-block-navigation__submenu-container {
    padding: 0 20px;
    width: 230px !important; }
    .wp-block-navigation .wp-block-navigation__submenu-container li {
      border-bottom: 1px dotted #f0f0f0;
      line-height: 1.5;
      padding: 0; }
      .wp-block-navigation .wp-block-navigation__submenu-container li:last-child {
        border-bottom: none; }
      .wp-block-navigation .wp-block-navigation__submenu-container li a {
        color: #333 !important;
        padding: 10px 0; }
        .wp-block-navigation .wp-block-navigation__submenu-container li a:hover {
          color: var(--wp--preset--color--primary) !important; } }
.full-width-image .wp-block-image.size-full img {
  width: 100%; }

.has-box-shadow {
  box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; }

.line-height-clear {
  line-height: 0.5; }

.wp-block-group iframe {
  width: 100%; }

/* Entry Content */
.entry-content {
  /*
  h3 {
      font-size: var(--wp--preset--font-size--large);
  }
  h4 {
      font-size: 1.4rem;
  }
  h5,h6 {
      font-size: var(--wp--preset--font-size--medium);
  }
  */ }
  .entry-content p {
    margin-bottom: 30px; }
    .entry-content p:last-child {
      margin-bottom: 0; }
  .entry-content table {
    width: 100%; }
  .entry-content fieldset {
    border: 1px solid #e9e9e9;
    margin: 0 2px 20px 2px;
    padding: 0.35em 0.625em 0.75em; }
  .entry-content pre,
  .entry-content .wp-block-preformatted {
    white-space: pre-wrap; }

.sidebar .section-header {
  border-bottom: 1px solid #f0f0f0;
  position: relative;
  margin: -4px 0 1rem 0 !important;
  padding-bottom: 12px;
  position: relative; }
  .sidebar .section-header:after {
    background-color: #0099e5;
    content: " ";
    position: absolute;
    width: 20px;
    height: 3px;
    left: 0;
    bottom: -1px; }
.sidebar .wp-block-search__button {
  padding-left: 12px;
  padding-right: 12px;
  border-radius: 3px; }
.sidebar .wp-block-categories-list {
  padding: 0 !important; }
  .sidebar .wp-block-categories-list li {
    list-style: none;
    margin-bottom: 10px; }
    .sidebar .wp-block-categories-list li:last-child {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0; }
    .sidebar .wp-block-categories-list li:hover .post-count {
      background-color: #0099e5;
      color: #fff; }
  .sidebar .wp-block-categories-list .post-count {
    float: right;
    background: #f7f9f9;
    border-radius: 3px;
    color: #666;
    font-size: 11px;
    font-weight: 400;
    text-align: center;
    min-width: 22px;
    height: 22px;
    line-height: 22px;
    position: relative;
    top: 1px; }
.sidebar .wp-block-latest-posts__list li {
  margin-bottom: 20px; }
  .sidebar .wp-block-latest-posts__list li:after {
    clear: both;
    content: " ";
    display: block; }
  .sidebar .wp-block-latest-posts__list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0; }
.sidebar .wp-block-latest-posts__list .wp-block-latest-posts__post-date {
  margin-top: 5px; }
.sidebar .wp-block-tag-cloud a {
  background-color: #f7f9f9;
  color: #555;
  font-size: 12px !important;
  margin: 0 1px 0 0;
  padding: 1px 10px;
  text-decoration: none;
  text-transform: lowercase;
  border-radius: 12px; }
  .sidebar .wp-block-tag-cloud a:hover {
    background-color: var(--wp--preset--color--primary);
    color: #fff; }

footer.wp-block-template-part p a:hover,
footer.wp-block-template-part li a:hover {
  color: #0099e5; }

.service-item .wp-block-image img {
  width: 100%; }

.icon-feature {
  background-color: #fff;
  transition: 0.3s all; }
  .icon-feature:hover {
    background-color: #fff; }

.client-logos figure {
  height: 100px;
  margin-bottom: 0 !important; }

/* Pricing Table */
.pricing-table ul {
  border-top: 1px solid #f0f0f0;
  margin-top: 10px !important;
  padding: 25px 0 0 0 !important; }
  .pricing-table ul li {
    list-style: none;
    margin-bottom: 5px;
    position: relative;
    padding-left: 24px;
    background-image: url("assets/images/check-solid.png");
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-position: 0 center; }
    .pricing-table ul li.no {
      background-image: url("assets/images/times-solid.png"); }
.pricing-table .wp-block-column {
  position: relative;
  box-shadow: 0px 0px 1px rgba(23, 52, 110, 0.08), 4px 8px 16px rgba(7, 39, 106, 0.12);
  border: 1px solid transparent;
  border-radius: 4px;
  transition: 0.3s all; }
  .pricing-table .wp-block-column:hover {
    border-color: var(--wp--preset--color--primary);
    box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; }
  .pricing-table .wp-block-column .recommend-text {
    display: inline-block;
    width: auto !important;
    height: 30px;
    line-height: 30px;
    position: absolute;
    top: -15px;
    left: 2rem; }
    .pricing-table .wp-block-column .recommend-text p {
      border-radius: 15px;
      padding: 0 18px !important; }

.feature-style-2 {
  box-shadow: 0px 0px 1px rgba(23, 52, 110, 0.08), 4px 8px 16px rgba(7, 39, 106, 0.12);
  border: 1px solid transparent;
  border-radius: 4px;
  transition: 0.3s all; }
  .feature-style-2:hover {
    border-color: var(--wp--preset--color--primary);
    box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; }

.client-quotes .columns-1 .wp-block-column:nth-of-type(1) {
  background-color: #f0faff;
  border-top: 4px solid #00acff; }
.client-quotes .columns-1 .wp-block-column:nth-of-type(2) {
  background-color: #fff9ea;
  border-top: 4px solid #ffc233; }
.client-quotes .columns-1 .wp-block-column:nth-of-type(3) {
  background-color: #feecfb;
  border-top: 4px solid #f75fde; }
.client-quotes .columns-2 .wp-block-column:nth-of-type(1) {
  background-color: #fafafa;
  border-top: 4px solid #9628c6; }
.client-quotes .columns-2 .wp-block-column:nth-of-type(2) {
  background-color: #eefbf4;
  border-top: 4px solid #2dca72; }
.client-quotes .columns-2 .wp-block-column:nth-of-type(3) {
  background-color: #fff2ee;
  border-top: 4px solid #ff7d52; }

.wp-block-button .wp-block-button__link.is-style-outline,
.wp-block-button.is-style-outline > .wp-block-button__link {
  padding-top: 0;
  padding-bottom: 0;
  height: 45px;
  line-height: 41px; }

.home-features .wp-block-column {
  background: url("assets/images/check-solid.png") no-repeat left 10px;
  background-size: 20px 20px;
  padding-left: 40px; }

.repopackage-template-default.single .wp-block-query .wp-block-post-featured-image,
.home .wp-block-query .wp-block-post-featured-image {
  margin-bottom: -15px !important; }
.repopackage-template-default.single .wp-block-query .wp-block-post-title,
.home .wp-block-query .wp-block-post-title {
  padding-top: 20px; }

/*# sourceMappingURL=design.css.map */

/* =========================================== */
/* IMPOWR CUSTOM STYLES */
/* =========================================== */

/* 
   Global Full Width Fix:
   Instead of using 'alignfull' breakout (which causes scrollbar issues),
   we use the "Padding Container" approach.
   The container takes 100% width of the parent (which must be full width),
   and uses calculated padding to center the content.
*/

/* Impowr Hero Section */
.wp-block-group.is-style-impowr-hero-container {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(250,249,252,1) 100%);
  
  /* Full Width & Centering Logic */
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  
  /* Vertical Padding */
  padding-top: 6rem !important;
  padding-bottom: 4rem !important;
  
  /* Horizontal Padding (Airgap + Centering) */
  /* 1180px is the max content width. 2rem is the minimum airgap. */
  padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
  padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  
  min-height: 650px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 0 !important;
  box-sizing: border-box;
}

/* Reset alignfull overrides */
.wp-block-group.is-style-impowr-hero-container.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Hero Background Splashes - Consolidated into Pseudo Elements */
.wp-block-group.is-style-impowr-hero-container::before {
  content: "";
  position: absolute;
  inset: -50%;
  z-index: 0;
  pointer-events: none;
  /* Combined gradients from previous s1-s6 classes */
  background:
    /* s1 */ radial-gradient(circle at 30% 30%, rgba(127,19,150,0.15), rgba(11,1,162,0.04) 52%, transparent 72%),
    /* s2 */ radial-gradient(circle at 70% 30%, rgba(11,1,162,0.14), rgba(127,19,150,0.03) 52%, transparent 72%),
    /* s3 */ radial-gradient(circle at 40% 60%, rgba(245,108,228,0.09), rgba(206,94,251,0.03) 50%, transparent 68%),
    /* s4 */ radial-gradient(circle at 60% 60%, rgba(11,1,162,0.07), rgba(127,19,150,0.02) 50%, transparent 68%),
    /* Original background splashes */
    radial-gradient(1800px 1400px at 6% 14%, rgba(127,19,150,0.36), rgba(11,1,162,0.08) 44%, transparent 60%),
    radial-gradient(1600px 1300px at 94% 12%, rgba(11,1,162,0.32), rgba(127,19,150,0.06) 44%, transparent 60%),
    radial-gradient(1200px 1000px at 50% 86%, rgba(127,19,150,0.18), transparent 44%);
  filter: blur(80px);
  opacity: 0.98;
  mix-blend-mode: normal;
}

.wp-block-group.is-style-impowr-hero-container::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  /* Combined accents from a1-a5 */
  background:
    /* a1 */ radial-gradient(circle at 14% 66%, rgba(245,108,228,0.15), transparent 15%),
    /* a2 */ radial-gradient(circle at 80% 16%, rgba(206,94,251,0.14), transparent 12%),
    /* a3 */ radial-gradient(circle at 48% 12%, rgba(0,161,253,0.16), transparent 10%),
    /* a4 */ radial-gradient(circle at 92% 82%, rgba(247,189,0,0.15), transparent 10%),
    /* Original after splashes */
    radial-gradient(circle at 40% 40%, rgba(245,108,228,0.18), rgba(206,94,251,0.12) 48%, transparent 66%),
    radial-gradient(circle at 82% 82%, rgba(0,161,253,0.08), transparent 50%);
  filter: blur(60px);
  mix-blend-mode: screen;
  opacity: 0.96;
}

/* Hero Graphic - Native Image Block Style */
.wp-block-image.is-style-impowr-hero-graphic {
  position: absolute;
  top: -35%;
  /* Align right edge to the content max-width (1180px) */
  right: max(2rem, calc(50% - 1180px / 2));
  bottom: -35%;
  width: 80%;
  z-index: 1;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0 !important;
}

.wp-block-image.is-style-impowr-hero-graphic img {
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: contain;
  object-position: right center;
}

.wp-block-group.is-style-impowr-hero-container .wp-block-columns {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
}

/* Adjust graphic position on smaller desktops to prevent text overlap */
@media (min-width: 1025px) and (max-width: 1440px) {
  .wp-block-image.is-style-impowr-hero-graphic {
    right: 0 !important;
    width: 50% !important;
    justify-content: center !important;
  }
  .wp-block-image.is-style-impowr-hero-graphic img {
    object-position: center center !important;
  }
}

/* =========================================== */
/* IMPOWR SOCIAL PROOF / TRUSTED BY SECTION */
/* =========================================== */

/* Trusted Section Container */
.wp-block-group.is-style-impowr-trusted-section {
  background: linear-gradient(180deg, var(--color-navy) 0%, var(--color-indigo) 100%);
  color: #ffffff;
  
  /* Full Width & Centering Logic */
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  
  /* Vertical Padding */
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  
  /* Horizontal Padding (Airgap + Centering) */
  padding-left: max(1.5rem, calc(50% - 1180px / 2)) !important;
  padding-right: max(1.5rem, calc(50% - 1180px / 2)) !important;
  
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0 !important;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .wp-block-group.is-style-impowr-trusted-section {
    padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
    padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  }
}

/* Reset alignfull */
.wp-block-group.is-style-impowr-trusted-section.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Trusted Heading */
.wp-site-blocks h2.wp-block-heading.is-style-impowr-trusted-heading {
  font-size: clamp(2rem, 1.65rem + 1.5vw, 2.5rem) !important;
  font-weight: 700 !important;
  margin: 0 0 18px 0;
  line-height: 1.25;
  color: #ffffff;
}

/* Highlight Purple Text */
.highlight-purple {
  background: linear-gradient(90deg, var(--color-violet), var(--color-pink));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 700;
}

/* Logo Grid */
.wp-block-group.is-style-impowr-logo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 18px;
  align-items: center;
  justify-items: center;
  margin: 0 0 12px 0;
  padding: 0 6px;
  width: 100%;
  max-width: 1200px;
}

/* Logo Item */
.wp-block-image.is-style-impowr-logo-item {
  width: 96px;
  height: 44px;
  background-color: rgba(255,255,255,0.16);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
  overflow: hidden;
  margin: 0;
}

.wp-block-image.is-style-impowr-logo-item:hover {
  transform: translateY(-4px) scale(1.03);
  background-color: rgba(255,255,255,0.28);
  box-shadow: 0 6px 18px rgba(7,9,101,0.12);
}

.wp-block-image.is-style-impowr-logo-item img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
}

/* Rating */
p.is-style-impowr-rating {
  font-size: 0.95rem;
  font-weight: 500;
  opacity: 0.95;
  margin-top: 8px;
  color: #ffffff;
}

@media (max-width: 1024px) {
  .wp-block-image.is-style-impowr-hero-graphic {
    display: none;
  }
}

/* Full width hero alignment - Reset */
.wp-block-group.is-style-impowr-hero-container.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Legacy classes kept for reference or fallback, but effectively replaced above */
.impowr-hero-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(250,249,252,1) 100%);
  padding-top: 6rem !important;
  padding-bottom: 4rem !important;
  min-height: 650px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Hero Background Splashes */
.impowr-hero-section::before {
  content: "";
  position: absolute;
  inset: -36% -36% -10% -36%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(1800px 1400px at 6% 14%, rgba(127,19,150,0.36), rgba(11,1,162,0.08) 44%, transparent 60%),
    radial-gradient(1600px 1300px at 94% 12%, rgba(11,1,162,0.32), rgba(127,19,150,0.06) 44%, transparent 60%),
    radial-gradient(1200px 1000px at 50% 86%, rgba(127,19,150,0.18), transparent 44%);
  filter: blur(70px);
  opacity: 0.98;
  mix-blend-mode: normal;
}

.impowr-hero-section::after {
  content: "";
  position: absolute;
  right: -12%;
  top: 2%;
  height: 1100px;
  width: 1100px;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 40% 40%, rgba(245,108,228,0.18), rgba(206,94,251,0.12) 48%, transparent 66%),
    radial-gradient(circle at 82% 82%, rgba(0,161,253,0.08), transparent 50%);
  filter: blur(88px);
  mix-blend-mode: screen;
  opacity: 0.96;
}

/* Hero Graphic Container */
.impowr-hero-graphic-container {
  position: absolute;
  top: -35%;
  right: max(10%, calc(50% - 600px));
  bottom: -35%;
  width: 80%;
  z-index: 1;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.impowr-hero-graphic-container img {
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: contain;
  object-position: right center;
}

.impowr-hero-section .wp-block-columns {
  position: relative;
  z-index: 2;
}

@media (max-width: 1024px) {
  .impowr-hero-graphic-container {
    display: none;
  }
}

/* Full width hero alignment */
.impowr-hero-section.alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: none;
}

/* Decorative Splashes */
.impowr-splash {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: screen;
  filter: blur(72px);
  opacity: 0.15;
}

.impowr-splash.s1 {
  width: 1800px;
  height: 1800px;
  left: -700px;
  top: -560px;
  background: radial-gradient(circle at 30% 30%, rgba(127,19,150,0.40), rgba(11,1,162,0.10) 52%, transparent 72%);
  opacity: 0.38;
  filter: blur(92px);
  mix-blend-mode: normal;
}

.impowr-splash.s2 {
  width: 1660px;
  height: 1660px;
  right: -640px;
  top: -520px;
  background: radial-gradient(circle at 70% 30%, rgba(11,1,162,0.38), rgba(127,19,150,0.08) 52%, transparent 72%);
  opacity: 0.34;
  filter: blur(88px);
  mix-blend-mode: normal;
}

.impowr-splash.s3 {
  width: 1180px;
  height: 1180px;
  left: -420px;
  bottom: -480px;
  background: radial-gradient(circle at 40% 60%, rgba(245,108,228,0.24), rgba(206,94,251,0.08) 50%, transparent 68%);
  opacity: 0.13;
  filter: blur(64px);
}

.impowr-splash.s4 {
  width: 980px;
  height: 980px;
  right: -340px;
  bottom: -420px;
  background: radial-gradient(circle at 60% 60%, rgba(11,1,162,0.18), rgba(127,19,150,0.06) 50%, transparent 68%);
  opacity: 0.12;
  filter: blur(56px);
}

.impowr-splash.s5 {
  width: 720px;
  height: 720px;
  left: 6%;
  top: 20%;
  background: radial-gradient(circle at 50% 50%, rgba(206,94,251,0.14), transparent 48%);
  filter: blur(48px);
  opacity: 0.11;
}

.impowr-splash.s6 {
  width: 680px;
  height: 680px;
  right: 10%;
  top: 34%;
  background: radial-gradient(circle at 50% 50%, rgba(245,108,228,0.12), transparent 46%);
  filter: blur(48px);
  opacity: 0.10;
}

/* Decorative Accents */
.impowr-accent {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: screen;
  filter: blur(36px);
  opacity: 0.18;
}

.impowr-accent.a1 {
  width: 220px;
  height: 220px;
  left: 14%;
  top: 66%;
  background: radial-gradient(circle at 50% 50%, rgba(245,108,228,0.42), transparent 42%);
}

.impowr-accent.a2 {
  width: 180px;
  height: 180px;
  right: 20%;
  top: 16%;
  background: radial-gradient(circle at 50% 50%, rgba(206,94,251,0.38), transparent 42%);
}

.impowr-accent.a3 {
  width: 140px;
  height: 140px;
  left: 48%;
  top: 12%;
  background: radial-gradient(circle at 50% 50%, rgba(0,161,253,0.44), transparent 42%);
  opacity: 0.22;
}

.impowr-accent.a4 {
  width: 130px;
  height: 130px;
  right: 8%;
  bottom: 18%;
  background: radial-gradient(circle at 50% 50%, rgba(247,189,0,0.40), transparent 42%);
  opacity: 0.20;
}

.impowr-accent.a5 {
  width: 100px;
  height: 100px;
  left: 24%;
  bottom: 14%;
  background: radial-gradient(circle at 50% 50%, rgba(245,108,228,0.36), transparent 42%);
  opacity: 0.16;
}

/* Hero Content Styling */
.impowr-hero-title {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif) !important;
  position: relative;
  z-index: 2;
  line-height: 1.02 !important;
  color: var(--color-navy) !important;
  margin: 0 !important;
  letter-spacing: -0.008em !important;
  min-width: 488px;
}

/* Text Gradient Effect for 'Import' */
.text-gradient {
  background: linear-gradient(90deg, var(--color-purple), var(--color-indigo));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Decorative Title Underline */
.title-underline,
.wp-block-separator.is-style-impowr-gradient {
  height: 6px !important;
  width: 96px !important;
  border: none !important;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--color-purple), var(--color-indigo)) !important;
  margin-top: 8px !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 12px 36px rgba(11,1,162,0.08);
  opacity: 1 !important;
  margin-left: 0 !important;
}

.hero-lead,
.is-style-impowr-hero-lead {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif) !important;
  position: relative;
  z-index: 2;
  color: #6b7280 !important;
  font-size: 1.125rem !important;
  line-height: 1.6 !important;
  max-width: 72ch;
  margin-top: 0 !important;
  margin-bottom: 3rem !important;
}

/* CTA Row */
.cta-row {
  position: relative;
  z-index: 2;
}

/* Site-wide Button Styles - Matching Design */
.is-style-impowr-primary .wp-block-button__link {
  background: linear-gradient(90deg, var(--color-purple), var(--color-indigo)) !important;
  color: #ffffff !important;
  border: 1px solid rgba(7,9,101,0.02) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif) !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  padding: 0.875rem 2rem !important;
  font-size: 1rem !important;
  box-shadow: 0 4px 12px rgba(197,87,239,0.2) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.is-style-impowr-primary .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 36px rgba(197,87,239,0.3) !important;
}

.is-style-impowr-secondary .wp-block-button__link {
  background: rgba(255,255,255,0.6) !important;
  color: var(--color-navy) !important;
  border: 2px solid rgba(7,9,101,0.08) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif) !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  padding: 0.875rem 2rem !important;
  font-size: 1rem !important;
  backdrop-filter: blur(4px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.is-style-impowr-secondary .wp-block-button__link:hover {
  background: rgba(255,255,255,0.9) !important;
  border-color: rgba(7,9,101,0.15) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 20px rgba(7,9,101,0.12) !important;
}

/* Tertiary Button: text link with directional arrow */
.wp-block-button.is-style-impowr-tertiary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 0.375rem;
  padding: 0 !important;
  background: transparent !important;
  color: var(--color-purple, #7f1396) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  text-decoration: none !important;
  transition: color 0.18s ease;
}

.wp-block-button.is-style-impowr-tertiary .wp-block-button__link::after {
  content: "\2192";
  display: inline-block;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.wp-block-button.is-style-impowr-tertiary .wp-block-button__link:hover {
  color: var(--color-indigo, #0b01a2) !important;
}

.wp-block-button.is-style-impowr-tertiary .wp-block-button__link:hover::after {
  transform: translateX(4px);
}

.wp-block-button.is-style-impowr-tertiary .wp-block-button__link:active {
  color: var(--color-navy, #070965) !important;
}

.wp-block-button.is-style-impowr-tertiary .wp-block-button__link:focus-visible {
  border-radius: 2px !important;
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.wp-block-button.is-style-impowr-tertiary .wp-block-button__link:visited {
  color: var(--color-purple, #7f1396) !important;
}

.wp-block-impowr-feature-row.impowr-feature-row-section--navy .wp-block-button.is-style-impowr-tertiary .wp-block-button__link,
.wp-block-impowr-feature-row.impowr-feature-row-section--navy .wp-block-button.is-style-impowr-tertiary .wp-block-button__link:visited {
  color: #fff !important;
}

.wp-block-impowr-feature-row.impowr-feature-row-section--navy .wp-block-button.is-style-impowr-tertiary .wp-block-button__link:hover {
  color: var(--color-pink, #f56ce4) !important;
}

/* Hero Image */
.impowr-hero-image {
  position: relative;
  z-index: 2;
  margin: 0;
}

.impowr-hero-image img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  max-width: none;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  object-fit: contain;
}

/* Responsive: Hide hero image on mobile and tablet */
@media only screen and (max-width: 1024px) {
  .impowr-hero-image {
    display: none;
  }
  
  /* Adjust hero layout when image is hidden */
  .impowr-hero-section .wp-block-columns {
    justify-content: center;
  }
  
  .impowr-hero-section .wp-block-column:first-child {
    flex-basis: 100% !important;
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
  }
}

/* Dashboard mockup specific styling */
.impowr-dashboard-mockup {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  padding: 20px;
  border: 1px solid #e5e7eb;
}

.impowr-dashboard-mockup .dashboard-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
}

.impowr-dashboard-mockup .dashboard-dots {
  display: flex;
  gap: 6px;
}

.impowr-dashboard-mockup .dashboard-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #d1d5db;
}

.impowr-dashboard-mockup .dashboard-dot.red { background: #ef4444; }
.impowr-dashboard-mockup .dashboard-dot.yellow { background: #f59e0b; }
.impowr-dashboard-mockup .dashboard-dot.green { background: #10b981; }

/* =========================================== */
/* EDITOR SPECIFIC FIXES */
/* =========================================== */

/* 
   These styles target the Gutenberg editor to ensure the layout matches the frontend.
   The editor wraps blocks in containers that can disrupt flex/grid layouts.
*/

/* Ensure the hero section handles absolute positioning correctly in editor */
.editor-styles-wrapper .impowr-hero-section {
  position: relative;
  isolation: isolate;
}

/* 
   Target the wrapper of the Custom HTML block containing the graphic.
   We use :has() to find the specific block wrapper containing our graphic class.
   This takes the wrapper out of the flex flow so it doesn't push content around.
*/
.editor-styles-wrapper .impowr-hero-section .block-editor-block-list__block:has(.impowr-hero-graphic-container) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* Ensure the content columns sit above the graphic in the editor */
.editor-styles-wrapper .impowr-hero-section .wp-block-columns {
  position: relative;
  z-index: 2;
}

/* =========================================== */
/* IMPOWR RESPONSIVE STYLES (Standardized) */
/* =========================================== */

/* Tablet & Mobile (Max Width: 1024px) */
@media (max-width: 1024px) {
  /* Reset min-height to avoid large gaps */
  .wp-block-group.is-style-impowr-hero-container {
    min-height: auto !important;
    padding-top: 4rem !important;
  }

  /* Hide the absolute graphic to prevent overlap */
  .wp-block-image.is-style-impowr-hero-graphic {
    display: none !important;
  }

  /* Center the content */
  .wp-block-group.is-style-impowr-hero-container .wp-block-columns {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .wp-block-group.is-style-impowr-hero-container .wp-block-column {
    flex-basis: 100% !important;
    max-width: 700px; /* Limit width for readability */
    margin: 0 auto;
  }

  /* Adjust Typography */
  .impowr-hero-title {
    text-align: center;
  }

  .hero-lead,
  .is-style-impowr-hero-lead {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
  }

  /* Center the separator/underline */
  .wp-block-separator.is-style-impowr-gradient {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Center Buttons */
  .cta-row {
    justify-content: center;
  }
}

/* Mobile Only (Max Width: 767px) */
@media (max-width: 767px) {
  .wp-block-group.is-style-impowr-hero-container {
    padding-top: 2.5rem !important;
    padding-bottom: 2rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  /* Simplify Background */
  .wp-block-group.is-style-impowr-hero-container::before,
  .wp-block-group.is-style-impowr-hero-container::after {
    opacity: 0.5; /* Reduce intensity */
    filter: blur(100px); /* Soften edges further */
  }

  /* Typography Scaling */
  .impowr-hero-title {
    min-width: auto;
  }

  .hero-lead,
  .is-style-impowr-hero-lead {
    font-size: 1rem !important;
  }

  /* Stack Buttons */
  .cta-row {
    flex-direction: column;
    gap: 1rem !important;
    width: 100%;
  }

  .cta-row .wp-block-button {
    width: 100%;
    margin: 0 !important;
  }

  .cta-row .wp-block-button__link {
    width: 100%;
    justify-content: center;
    padding: 1rem !important;
  }
}

/* =========================================== */
/* IMPOWR FEATURES SECTION */
/* =========================================== */

.wp-block-group.is-style-impowr-features-section {
  position: relative;
  overflow: hidden;
  background-color: #fdfcff;
  background-image: radial-gradient(#e2e8f0 1px, transparent 1px);
  background-size: 40px 40px;
  isolation: isolate;
  
  /* Full Width & Centering Logic */
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  
  /* Vertical Padding */
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
  
  /* Horizontal Padding (Airgap + Centering) */
  padding-left: max(1.5rem, calc(50% - 1180px / 2)) !important;
  padding-right: max(1.5rem, calc(50% - 1180px / 2)) !important;
  
  margin-top: 0 !important;
  box-sizing: border-box;
}

/* Decorative Splashes for Features */
.wp-block-group.is-style-impowr-features-section::before {
  content: "";
  position: absolute;
  top: -20%;
  left: -10%;
  width: 70%;
  height: 80%;
  background: radial-gradient(circle, rgba(245, 108, 228, 0.06) 0%, transparent 70%);
  filter: blur(80px);
  z-index: -1;
  pointer-events: none;
}

.wp-block-group.is-style-impowr-features-section::after {
  content: "";
  position: absolute;
  bottom: -20%;
  right: -10%;
  width: 70%;
  height: 80%;
  background: radial-gradient(circle, rgba(11, 1, 162, 0.05) 0%, transparent 70%);
  filter: blur(80px);
  z-index: -1;
  pointer-events: none;
}

@media (min-width: 768px) {
  .wp-block-group.is-style-impowr-features-section {
    padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
    padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  }
}

/* Reset alignfull */
.wp-block-group.is-style-impowr-features-section.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Feature Row */
.wp-block-columns.is-style-impowr-feature-row {
  gap: 48px;
  margin-bottom: 48px !important;
  position: relative;
  z-index: 2;
}

/* Reverse even rows on desktop */
@media (min-width: 782px) {
  .wp-block-columns.is-style-impowr-feature-row:nth-of-type(even) {
    flex-direction: row-reverse;
  }
}

/* Feature Heading */
h3.is-style-impowr-feature-heading {
  margin: 0 0 12px 0;
  line-height: 1.1;
  letter-spacing: -0.01em;
  background: linear-gradient(90deg, var(--color-purple), var(--color-indigo));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Highlight Span */
.impowr-highlight {
  color: var(--color-pink);
  font-weight: 700;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  background: none;
}

/* Feature Image Container */
.wp-block-group.is-style-impowr-feature-image-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
}

/* Image Glow */
.wp-block-group.is-style-impowr-feature-image-container::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 120%;
  height: 120%;
  z-index: 0;
  border-radius: 18px;
  background: #fff;
  mix-blend-mode: screen;
  opacity: 0.9;
  pointer-events: none;
}

.wp-block-group.is-style-impowr-feature-image-container figure {
  position: relative;
  z-index: 1;
  margin: 0;
  width: 100%;
}

.wp-block-group.is-style-impowr-feature-image-container img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(7,9,101,0.1);
  box-shadow: 0 12px 36px rgba(11,1,162,0.08);
}

/* Responsive adjustments */
@media (max-width: 781px) {
  .wp-block-columns.is-style-impowr-feature-row {
    gap: 24px;
    margin-bottom: 60px !important;
  }
  
  h3.is-style-impowr-feature-heading {
    text-align: center;
  }
  
  .wp-block-columns.is-style-impowr-feature-row p {
    text-align: center;
  }
}

/* =========================================== */
/* IMPOWR VIDEO CTA SECTION */
/* =========================================== */

.wp-block-group.is-style-impowr-video-section {
  background: radial-gradient(circle at top left, var(--color-navy) 0%, var(--color-purple) 100%);
  
  /* Full Width & Centering Logic */
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  
  /* Vertical Padding */
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
  
  /* Horizontal Padding (Airgap + Centering) */
  padding-left: max(1.5rem, calc(50% - 1180px / 2)) !important;
  padding-right: max(1.5rem, calc(50% - 1180px / 2)) !important;
  
  text-align: center;
  color: #ffffff;
  margin-top: 0 !important;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .wp-block-group.is-style-impowr-video-section {
    padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
    padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  }
}

/* Reset alignfull */
.wp-block-group.is-style-impowr-video-section.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Light Lead Paragraph */
p.is-style-impowr-lead-light {
  font-size: 2rem;
  font-weight: 600;
  max-width: 900px;
  margin: 0 auto 1.5rem auto;
  line-height: 1.4;
  color: #ffffff;
}

/* Pink Button */
.is-style-impowr-pink .wp-block-button__link {
  background: var(--color-pink);
  color: var(--color-navy);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  border: none;
  border-radius: 10px;
  font-weight: 600;
  padding: 1rem 2.25rem; /* lg size */
  font-size: 1.125rem;
  text-decoration: none;
  transition: all 0.2s;
}

.is-style-impowr-pink .wp-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(245,108,228,0.4);
}

/* Video Wrapper */
.wp-block-group.is-style-impowr-video-wrapper {
  margin-top: 40px;
  max-width: 1180px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  display: block;
}

/* Play Button Overlay */
.wp-block-group.is-style-impowr-video-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background-color: rgba(245,108,228,0.8);
  border-radius: 50%;
  cursor: pointer;
  /* SVG Play Icon encoded */
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 5V19L19 12L8 5Z' fill='%23070965'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px;
  transition: transform 0.2s ease;
}

.wp-block-group.is-style-impowr-video-wrapper:hover::after {
  transform: translate(-50%, -50%) scale(1.1);
}

.wp-block-group.is-style-impowr-video-wrapper figure {
  margin: 0;
}

.wp-block-group.is-style-impowr-video-wrapper img {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================== */
/* IMPOWR HOW IT WORKS SECTION */
/* =========================================== */

.wp-block-group.is-style-impowr-how-it-works-section {
  position: relative;
  overflow: hidden;
  background-color: #fdfcff;
  background-image: radial-gradient(#e2e8f0 1px, transparent 1px);
  background-size: 40px 40px;
  isolation: isolate;
  
  /* Full Width & Centering Logic */
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  
  /* Vertical Padding */
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
  
  /* Horizontal Padding (Airgap + Centering) */
  padding-left: max(1.5rem, calc(50% - 1180px / 2)) !important;
  padding-right: max(1.5rem, calc(50% - 1180px / 2)) !important;
  
  margin-top: 0 !important;
  box-sizing: border-box;
}

/* Decorative Splashes for How It Works */
.wp-block-group.is-style-impowr-how-it-works-section::before {
  content: "";
  position: absolute;
  top: -20%;
  right: -10%;
  width: 70%;
  height: 80%;
  background: radial-gradient(circle, rgba(245, 108, 228, 0.06) 0%, transparent 70%);
  filter: blur(80px);
  z-index: -1;
  pointer-events: none;
}

.wp-block-group.is-style-impowr-how-it-works-section::after {
  content: "";
  position: absolute;
  bottom: -20%;
  left: -10%;
  width: 70%;
  height: 80%;
  background: radial-gradient(circle, rgba(11, 1, 162, 0.05) 0%, transparent 70%);
  filter: blur(80px);
  z-index: -1;
  pointer-events: none;
}

@media (min-width: 768px) {
  .wp-block-group.is-style-impowr-how-it-works-section {
    padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
    padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  }
}

/* Reset alignfull */
.wp-block-group.is-style-impowr-how-it-works-section.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Section Heading */
h2.is-style-impowr-section-heading {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--color-navy);
  margin-bottom: 4rem;
  text-align: center;
}

/* Steps Container */
.wp-block-group.is-style-impowr-steps-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .wp-block-group.is-style-impowr-steps-container {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
  }
}

/* Step Card */
.wp-block-group.is-style-impowr-step-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 320px;
}

/* Step Number */
.is-style-impowr-step-number {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, var(--color-yellow), #e6a800);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 12px rgba(247,189,0,0.3);
}

/* Step Heading */
.wp-block-group.is-style-impowr-step-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 1rem;
  line-height: 1.3;
}

/* Step Description */
.wp-block-group.is-style-impowr-step-card p:not(.impowr-step-number) {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.6;
}

/* Step Arrow */
.impowr-step-arrow {
  display: none;
  color: #d1d5db;
  margin-top: 3rem;
  flex-shrink: 0;
}

.impowr-step-arrow svg {
  width: 60px;
  height: auto;
}

@media (min-width: 1024px) {
  .impowr-step-arrow {
    display: block;
  }
}

/* =========================================== */
/* IMPOWR COMPARISON SECTION */
/* =========================================== */

.wp-block-group.is-style-impowr-comparison-section {
  background-color: #fdfcff;
  background-image: 
    radial-gradient(circle at 50% 0%, rgba(245, 108, 228, 0.08) 0%, transparent 10%),
    radial-gradient(circle at 0% 0%, rgba(245, 108, 228, 0.08) 0%, transparent 10%),
    radial-gradient(circle at 100% 50%, rgba(245, 108, 228, 0.08) 0%, transparent 20%),
    radial-gradient(circle at 100% 100%, rgba(11, 1, 162, 0.06) 0%, transparent 10%),
    radial-gradient(circle at 100% 0%, rgba(247, 189, 0, 0.05) 0%, transparent 10%);
  background-attachment: scroll;
  
  /* Full Width & Centering Logic */
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  
  /* Vertical Padding */
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
  
  /* Horizontal Padding (Airgap + Centering) */
  padding-left: max(1.5rem, calc(50% - 1180px / 2)) !important;
  padding-right: max(1.5rem, calc(50% - 1180px / 2)) !important;
  
  margin-top: 0 !important;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .wp-block-group.is-style-impowr-comparison-section {
    padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
    padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  }
}

/* Reset alignfull */
.wp-block-group.is-style-impowr-comparison-section.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Comparison Columns */
.wp-block-columns.is-style-impowr-comparison-columns {
  gap: 2rem;
  margin-bottom: 3rem !important;
  align-items: stretch;
}

/* Comparison Card Base */
.is-style-impowr-comparison-card-success,
.is-style-impowr-comparison-card-failure {
  padding: 2.5rem;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
}

/* Success Card (Impowr) */
.is-style-impowr-comparison-card-success {
  background-color: #ffffff;
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
  border: 1px solid rgba(245, 108, 228, 0.2);
  position: relative;
  overflow: hidden;
}

/* Pink Top Border for Success */
.is-style-impowr-comparison-card-success::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #f56ce4, #7f1396);
}

/* Failure Card (Without Impowr) */
.is-style-impowr-comparison-card-failure {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  opacity: 0.9;
}

/* Gray Top Border for Failure */
.is-style-impowr-comparison-card-failure::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: #d1d5db;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

/* Card Titles */
h3.impowr-comparison-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  color: var(--color-navy);
}

.is-style-impowr-comparison-card-failure h3.impowr-comparison-title {
  color: #6b7280;
}

/* Comparison Lists */
ul.is-style-impowr-comparison-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

ul.is-style-impowr-comparison-list li {
  position: relative;
  padding-left: 2.5rem;
  margin-bottom: 1.25rem;
  font-size: 1.05rem;
  line-height: 1.5;
  color: #374151;
}

ul.is-style-impowr-comparison-list li:last-child {
  margin-bottom: 0;
}

/* Success List Icons (Pink Check) */
ul.is-style-impowr-comparison-list.success li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23f56ce4'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

/* Failure List Icons (Gray Cross) */
ul.is-style-impowr-comparison-list.failure li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239CA3AF'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

/* Responsive */
@media (max-width: 767px) {
  .wp-block-columns.is-style-impowr-comparison-columns {
    flex-direction: column;
    gap: 1.5rem;
  }
  
  .is-style-impowr-comparison-card-success,
  .is-style-impowr-comparison-card-failure {
    padding: 1.5rem;
  }
}

/* =========================================== */
/* IMPOWR PAGE HEADER (404 / single / archive / search) */
/* =========================================== */

/*
 * Branded replacement for the inherited VisualBlocks stock-photo cover.
 * Uses the navy + radial gradient language of the final CTA section so
 * content pages read as part of the Impowr site.
 */
.wp-block-group.is-style-impowr-page-header {
  position: relative;
  overflow: hidden;
  background-color: var(--color-navy);
  background-image:
    radial-gradient(circle at 18% 120%, rgba(127, 19, 150, 0.55) 0%, rgba(127, 19, 150, 0) 55%),
    radial-gradient(circle at 82% -10%, rgba(0, 161, 253, 0.28) 0%, rgba(0, 161, 253, 0) 52%),
    radial-gradient(circle at 50% 0%, #2a2d55 0%, var(--color-navy) 72%);
  color: #ffffff;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;

  padding-top: clamp(3rem, 7vw, 5.5rem) !important;
  padding-bottom: clamp(3rem, 7vw, 5.5rem) !important;
  padding-left: max(1.5rem, calc(50% - 1180px / 2)) !important;
  padding-right: max(1.5rem, calc(50% - 1180px / 2)) !important;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
}

/* Subtle grid texture, echoing the hero treatment. */
.wp-block-group.is-style-impowr-page-header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at 50% 50%, #000 25%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 25%, transparent 78%);
}

.wp-block-group.is-style-impowr-page-header > * {
  position: relative;
  z-index: 1;
}

.wp-block-group.is-style-impowr-page-header.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Title: scales down properly on small screens. */
.wp-block-group.is-style-impowr-page-header :where(h1, h2, .wp-block-query-title, .wp-block-post-title) {
  margin: 0;
  color: #ffffff;
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: clamp(1.75rem, 1.1rem + 2.6vw, 3rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 20ch;
}

/* Optional supporting line beneath the title. */
.wp-block-group.is-style-impowr-page-header .impowr-page-header__lead {
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(0.95rem, 0.9rem + 0.3vw, 1.125rem);
  line-height: 1.6;
  max-width: 56ch;
}

/* Eyebrow label above the title (e.g. "Blog", "Error 404"). */
.wp-block-group.is-style-impowr-page-header .impowr-page-header__eyebrow {
  margin: 0 0 0.75rem;
  color: var(--color-violet, #ce5efb);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* post-terms renders links, so colour them to match the eyebrow. */
.wp-block-group.is-style-impowr-page-header .impowr-page-header__eyebrow a {
  color: inherit;
  text-decoration: none;
}

.wp-block-group.is-style-impowr-page-header .impowr-page-header__eyebrow a:hover,
.wp-block-group.is-style-impowr-page-header .impowr-page-header__eyebrow a:focus-visible {
  color: #ffffff;
  text-decoration: underline;
}

/* Byline / date row on single posts. */
.wp-block-group.is-style-impowr-page-header .impowr-page-header__meta {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.875rem;
}

.wp-block-group.is-style-impowr-page-header .impowr-page-header__meta p,
.wp-block-group.is-style-impowr-page-header .impowr-page-header__meta div {
  margin: 0;
}

.wp-block-group.is-style-impowr-page-header .impowr-page-header__meta a {
  color: #ffffff;
  text-decoration: none;
}

.wp-block-group.is-style-impowr-page-header .impowr-page-header__meta a:hover,
.wp-block-group.is-style-impowr-page-header .impowr-page-header__meta a:focus-visible {
  text-decoration: underline;
}

/* The date paragraph uses the lead class on archives; keep it compact there. */
.wp-block-group.is-style-impowr-page-header .wp-block-post-date.impowr-page-header__lead {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.875rem;
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-group.is-style-impowr-page-header {
    transition: none;
  }
}

/* =========================================== */
/* IMPOWR FINAL CTA SECTION */
/* =========================================== */

.wp-block-group.is-style-impowr-final-cta-section {
  background-color: var(--color-navy);
  background-image: radial-gradient(circle at 50% 0%, #2a2d55 0%, var(--color-navy) 70%);
  color: #ffffff;
  
  /* Full Width & Centering Logic */
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  
  /* Vertical Padding */
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
  
  /* Horizontal Padding */
  padding-left: max(1.5rem, calc(50% - 1180px / 2)) !important;
  padding-right: max(1.5rem, calc(50% - 1180px / 2)) !important;
  
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0 !important;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .wp-block-group.is-style-impowr-final-cta-section {
    padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
    padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  }
}

/* Reset alignfull */
.wp-block-group.is-style-impowr-final-cta-section.alignfull {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
}

/* Title */
h2.final-cta-title {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 1.5rem;
  color: #ffffff;
}

/* Text */
p.final-cta-text {
  font-size: 1.25rem;
  max-width: 600px;
  margin: 0 auto 2.5rem auto;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
}

/* Buttons Container */
.final-cta-buttons {
  margin-bottom: 2rem;
  gap: 1rem;
}

/* White Button */
.is-style-impowr-white .wp-block-button__link {
  background: #ffffff;
  color: var(--color-navy);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  border: none;
  border-radius: 10px;
  font-weight: 600;
  padding: 1rem 2.25rem;
  font-size: 1.125rem;
  text-decoration: none;
  transition: all 0.2s;
}

.is-style-impowr-white .wp-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(255,255,255,0.2);
}

/* Sub Text */
p.final-cta-sub {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 1rem;
}

/* Responsive */
@media (max-width: 767px) {
  h2.final-cta-title {
    font-size: 2rem;
  }
  
  .final-cta-buttons {
    flex-direction: column;
    width: 100%;
  }
  
  .final-cta-buttons .wp-block-button {
    width: 100%;
  }
  
  .final-cta-buttons .wp-block-button__link {
    width: 100%;
    justify-content: center;
  }
}


/* ================================================
 * START CUSTOM PRICING ADDITION
 * ================================================ */
/* ==============================================
   IMPOWR PRICING — "Additional CSS" test snippet
   Paste this into: Appearance → Customize → Additional CSS
   ============================================== */

/* ---- Fallback variables & keyframe (safe if already defined) ---- */
:root {
  --color-navy: #070965;
  --color-purple: #7f1396;
  --color-indigo: #0b01a2;
  --color-pink: #f56ce4;
  --color-violet: #ce5efb;
  --color-bg-light: #fbfbfd;
  --color-text-body: #21304a;
  --radius-md: 14px;
  --shadow-sm: 0 6px 18px rgba(7,9,101,0.12);
  --shadow-md: 0 12px 36px rgba(11,1,162,0.08);
}

@keyframes impowr-fadeUp {
  from { opacity: 0; transform: translateY(12px); filter: blur(4px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0px); }
}

/* ---- Hero ---- */
.wp-block-group.is-style-impowr-pricing-hero {
  position: relative;
  overflow: hidden;
  width: 100% !important;
  max-width: none !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #ffffff;
  padding: 4rem 2rem 7rem 2rem;
  background-color: var(--color-navy);
  background-image: radial-gradient(circle at 50% 0%, #2a2d55 0%, var(--color-navy) 70%);
}
@media (min-width: 768px) {
  .wp-block-group.is-style-impowr-pricing-hero {
    padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
    padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  }
}
.pricing-hero-breadcrumb {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: 14px;
  color: rgba(255,255,255,0.78);
  letter-spacing: 0.5px;
  font-weight: 500;
}
.pricing-hero-breadcrumb a {
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  transition: color 0.2s ease;
}
.pricing-hero-breadcrumb a:hover {
  color: rgba(255,255,255,0.9);
  text-decoration: underline;
}
.pricing-hero-title {
  font-family: var(--wp--preset--font-family--inter) !important;
  font-size: clamp(2rem, 1.5rem + 2vw, 3.25rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  animation: impowr-fadeUp 0.6s ease-out both;
}
.pricing-hero-subtitle {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: clamp(0.95rem, 0.88rem + 0.3vw, 1.1rem);
  color: rgba(255,255,255,0.82) !important;
  max-width: 640px;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.7;
  animation: impowr-fadeUp 0.6s ease-out 0.12s both;
}

/* ---- Cards Section ---- */
.wp-block-group.is-style-impowr-pricing-cards {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: none !important;
  margin-top: -4rem !important;
  padding: 3rem 2rem 5rem 2rem;
  background-color: var(--color-bg-light, #fbfbfd);
}
@media (min-width: 768px) {
  .wp-block-group.is-style-impowr-pricing-cards {
    padding-left: max(2rem, calc(50% - 1180px / 2)) !important;
    padding-right: max(2rem, calc(50% - 1180px / 2)) !important;
  }
}
.impowr-pricing-columns {
  align-items: stretch;
}
.is-style-impowr-pricing-card > .wp-block-group {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.is-style-impowr-pricing-card .wp-block-buttons {
  margin-top: auto;
}
.is-style-impowr-pricing-card .wp-block-buttons .wp-block-button__link {
  min-width: 160px;
  text-align: center;
  justify-content: center;
}

/* ---- Individual Card ---- */
.wp-block-column.is-style-impowr-pricing-card {
  position: relative;
  background: #ffffff;
  border-radius: var(--radius-md, 14px);
  border: 1px solid rgba(7,9,101,0.08);
  box-shadow: var(--shadow-sm, 0 6px 18px rgba(7,9,101,0.12));
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.wp-block-column.is-style-impowr-pricing-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  z-index: 2;
}
.impowr-pricing-columns > .wp-block-column.is-style-impowr-pricing-card:nth-child(1)::before {
  background: var(--color-pink);
}
.impowr-pricing-columns > .wp-block-column.is-style-impowr-pricing-card:nth-child(2)::before {
  background: var(--color-purple);
}
.impowr-pricing-columns > .wp-block-column.is-style-impowr-pricing-card:nth-child(3)::before {
  background: var(--color-indigo);
}
.wp-block-column.is-style-impowr-pricing-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md, 0 12px 36px rgba(11,1,162,0.08));
}

/* Stagger entrance animations */
.pricing-card-stagger-1 { animation: impowr-fadeUp 0.5s ease-out 0.2s both; }
.pricing-card-stagger-2 { animation: impowr-fadeUp 0.5s ease-out 0.35s both; }
.pricing-card-stagger-3 { animation: impowr-fadeUp 0.5s ease-out 0.5s both; }



/* ---- Typography inside cards ---- */
.is-style-impowr-pricing-card .pricing-tier-name {
  font-family: var(--wp--preset--font-family--inter) !important;
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  font-weight: 700 !important;
  color: var(--color-navy);
}
.is-style-impowr-pricing-card .pricing-description {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: 0.92rem;
  color: var(--color-text-body, #21304a);
  line-height: 1.65;
  flex-grow: 1;
}

/* ---- Price Block ---- */
.is-style-impowr-pricing-card .pricing-price-block {
  border-top: 1px solid rgba(7,9,101,0.08);
  padding-top: 1.5rem;
  margin-top: auto;
  margin-bottom: 1.75rem;
}
.is-style-impowr-pricing-card .pricing-price {
  font-family: var(--wp--preset--font-family--inter) !important;
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--color-navy) !important;
  line-height: 1.2;
}
.is-style-impowr-pricing-card .pricing-price .pricing-price-unit {
  font-size: 0.55em;
  font-weight: 500;
  color: var(--color-text-body, #21304a);
  opacity: 0.65;
  letter-spacing: 0;
}
.is-style-impowr-pricing-card .pricing-subprice {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: 0.85rem;
  color: var(--color-text-body, #21304a);
  opacity: 0.6;
  line-height: 1.4;
}

/* ---- Buttons ---- */
.is-style-impowr-pricing-btn-free .wp-block-button__link,
.is-style-impowr-pricing-btn-premium .wp-block-button__link,
.is-style-impowr-pricing-btn-enterprise .wp-block-button__link {
  background: var(--color-navy) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(7,9,101,0.18);
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.is-style-impowr-pricing-btn-free .wp-block-button__link:hover,
.is-style-impowr-pricing-btn-premium .wp-block-button__link:hover,
.is-style-impowr-pricing-btn-enterprise .wp-block-button__link:hover {
  background: var(--color-indigo) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(7,9,101,0.28);
}

/* ---- Bottom CTA ---- */
.wp-block-group.is-style-impowr-pricing-cta {
  width: 100% !important;
  max-width: none !important;
  text-align: center;
  padding: 2.5rem 2rem 3.5rem !important;
}
.pricing-cta-title {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif) !important;
  font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.3rem) !important;
  color: var(--color-text-body, #21304a) !important;
  font-weight: 400 !important;
}
.pricing-cta-title strong {
  font-weight: 700;
  color: var(--color-navy) !important;
}
.is-style-impowr-pricing-cta .is-style-impowr-pink .wp-block-button__link {
  background: var(--color-navy) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 1rem 2.25rem !important;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(7,9,101,0.18);
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.is-style-impowr-pricing-cta .is-style-impowr-pink .wp-block-button__link:hover {
  background: var(--color-indigo) !important;
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(7,9,101,0.28);
}

/* ==============================================
   RESPONSIVE OVERRIDES
   ============================================== */

/* Tablet / Small Desktop */
@media (max-width: 960px) {
  .impowr-pricing-columns {
    flex-direction: column !important;
    align-items: center !important;
  }
  .impowr-pricing-columns > .wp-block-column {
    max-width: 480px !important;
    width: 100% !important;
    flex-basis: auto !important;
  }
  .wp-block-column.is-style-impowr-pricing-card-featured {
    transform: none;
  }
  .wp-block-column.is-style-impowr-pricing-card-featured:hover {
    transform: translateY(-6px);
  }
  .wp-block-group.is-style-impowr-pricing-cards {
    margin-top: -2rem !important;
  }
  .is-style-impowr-pricing-card > .wp-block-group {
    height: auto;
  }
}

/* Small tablets / large phones */
@media (max-width: 768px) {
  .wp-block-group.is-style-impowr-pricing-hero {
    padding-top: 3rem !important;
    padding-bottom: 5rem !important;
  }
  .pricing-card-stagger-1 { animation-delay: 0.1s; }
  .pricing-card-stagger-2 { animation-delay: 0.2s; }
  .pricing-card-stagger-3 { animation-delay: 0.3s; }
  .wp-block-group.is-style-impowr-pricing-cta {
    padding: 3.5rem 1.5rem !important;
  }
}


@media (max-width: 768px) {
  .pricing-card-stagger-1,
  .pricing-card-stagger-2,
  .pricing-card-stagger-3 {
    animation: none !important;
    filter: none !important;
  }
}


/* Mobile portrait */
@media (max-width: 480px) {
  .is-style-impowr-pricing-card .wp-block-group {
    padding: 1.5rem !important;
  }
  .is-style-impowr-pricing-btn-free .wp-block-button__link,
  .is-style-impowr-pricing-btn-premium .wp-block-button__link,
  .is-style-impowr-pricing-btn-enterprise .wp-block-button__link {
    width: 100% !important;
    justify-content: center;
    text-align: center;
  }
  .is-style-impowr-pricing-card .wp-block-buttons {
    width: 100%;
  }
  .is-style-impowr-pricing-card .wp-block-button {
    width: 100%;
  }
}


/* ================================================
 * END CUSTOM PRICING ADDITION
 * ================================================ */



/* =========================================================
   MIGRATED FROM GLOBAL STYLES (Appearance > Editor > Styles)
   Moved into the theme on fork to impowr-theme so it is
   version-controlled and cannot be lost to DB sanitisation.
   Recovered from wp_global_styles revision 17049 (2026-08-07).
   ========================================================= */

.card-hover {
  /* This ensures the effect is smooth and not jumpy */
  transition: all 0.25s ease-in-out;
}

.card-hover:hover {
  /* This "raises" the card */
  transform: translateY(-6px);
  
  /* This adds the shadow */
  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

/* Header gets wrapped in additional container so this moves the sticky type to the outer container */
header:has(>.is-position-sticky) {
    position: sticky; 
    top: 0; 
    z-index: 100; /* High z-index is crucial */
}

/* Stops wordpress black bar hiding the header */
header:has(>.is-position-sticky) {
    top: var(--wp-admin--admin-bar--height, 0px); 
}

/* Stop Primary CTA from changing shape in screen resizing */

.is-style-impowr-primary {

    white-space: nowrap !important; 
    

    min-width: fit-content !important; 
  
    flex-shrink: 0 !important;
}

/* Button style for Max Mega Menu free top bar */
#mega-menu-wrap-primary #mega-menu-primary li.menu-btn > a span.menu-btn,
#mega-menu-wrap-primary #mega-menu-primary li.menu-btn > a span.menu-btn * {
    display: inline-block !important;
    background-color: #f56ce4 !important;
    color: #0b01a2 !important;
    padding: 10px 22px !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    line-height: normal !important;
    text-decoration: none !important;
    border: 2px solid #f56ce4 !important;
    transition: all 0.25s ease-in-out !important;
}

/* Hover state */
#mega-menu-wrap-primary #mega-menu-primary li.menu-btn > a span.menu-btn:hover,
#mega-menu-wrap-primary #mega-menu-primary li.menu-btn > a span.menu-btn:focus {
    background-color: #d642c3 !important;
    border-color: #d642c3 !important;
    color: #ffffff !important;
}

/* Customer Stories: responsive story grid */
@media (max-width: 767px) {
  body.page-id-76
  .wp-block-post-template.columns-4.has-native-responsive-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 2.5rem;
  }

  body.page-id-76
  .wp-block-post-template.columns-4 > li {
    width: 100%;
    min-width: 0;
  }

  body.page-id-76
  .wp-block-post-template .wp-block-post-featured-image {
    width: 100%;
    max-width: 240px;
    margin-inline: auto !important;
  }

  body.page-id-76
  .wp-block-post-template .wp-block-post-title {
    text-align: center !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  body.page-id-76
  .wp-block-post-template.columns-4.has-native-responsive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/*
 * Fix double aspect-ratio spacing caused by
 * Complianz placeholders inside Gutenberg YouTube embeds.
 */
body.wp-embed-responsive
.wp-block-embed-youtube.wp-has-aspect-ratio:has(.cmplz-blocked-content-container)
.wp-block-embed__wrapper::before,
body.wp-embed-responsive
.wp-block-embed-youtube.wp-has-aspect-ratio.cmplz-blocked-content-container
.wp-block-embed__wrapper::before {
    padding-top: 0 !important;
}

/* =========================================================
   Impowr feature comparison table
   ========================================================= */

/* Keep migrated content on one heading family and weight sitewide. */
.wp-site-blocks :is(h1, h2, h3, h4, h5, h6):not(.impowr-hero-title) {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif) !important;
}

/* The site-wide responsive Inter type scale. */
.wp-site-blocks,
.editor-styles-wrapper {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
  font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
  font-weight: 400;
}

.wp-site-blocks :is(h1, h2, h3, h4),
.editor-styles-wrapper :is(h1, h2, h3, h4) {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif) !important;
  line-height: 1.2;
}

.wp-site-blocks h1,
.editor-styles-wrapper h1 {
  font-size: clamp(2.5rem, 2.1rem + 1.7vw, 3rem) !important;
  font-weight: 700 !important;
}

.wp-site-blocks h2,
.editor-styles-wrapper h2 {
  font-size: clamp(2rem, 1.65rem + 1.5vw, 2.5rem) !important;
  font-weight: 700 !important;
}

.wp-site-blocks h3,
.editor-styles-wrapper h3 {
  font-size: clamp(1.5rem, 1.35rem + 0.7vw, 1.75rem) !important;
  font-weight: 600 !important;
}

.wp-site-blocks h4,
.editor-styles-wrapper h4 {
  font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.25rem) !important;
  font-weight: 600 !important;
}

.wp-site-blocks .impowr-hero-title,
.editor-styles-wrapper .impowr-hero-title {
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif) !important;
  font-size: clamp(2.5rem, 2.1rem + 1.7vw, 3rem) !important;
  font-weight: 700 !important;
}

.wp-block-table.impowr-feature-comparison {
	--impowr-purple: #7f1396;
	--impowr-darkest-blue: #070965;
    --impowr-blue: #0b01a2;
	--impowr-text: #202124;
	--impowr-muted: #667085;
	--impowr-border: #e3e4e8;
	--impowr-hover: #fbf7fc;

	width: calc(100% - 2rem) !important;
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	margin: 2rem auto !important;
	padding: 0 !important;
	overflow-x: auto;
	background: #fff;
	border: 1px solid var(--impowr-border);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(7, 9, 101, 0.07);
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
	scrollbar-color: #c8c9ce transparent;
}

/* Table layout */
.wp-block-table.impowr-feature-comparison table {
	width: 100% !important;
	min-width: 880px;
	margin: 0 !important;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
  font-family: var(--wp--preset--font-family--inter);
}

/* Feature column */
.wp-block-table.impowr-feature-comparison thead th:first-child,
.wp-block-table.impowr-feature-comparison tbody th,
.wp-block-table.impowr-feature-comparison tbody td:first-child {
	width: 37%;
	text-align: left !important;
}

/* Version columns */
.wp-block-table.impowr-feature-comparison thead th:not(:first-child),
.wp-block-table.impowr-feature-comparison tbody td:not(:first-child) {
  width: calc(63% / var(--impowr-plan-count, 3));
	text-align: center !important;
}

/* =========================================================
   Header
   ========================================================= */

.wp-block-table.impowr-feature-comparison thead th {
	padding: 1.4rem 1.1rem !important;
	background: var(--impowr-purple);
	color: #fff;
	font-size: clamp(
		1.25rem,
		2vw,
		var(--wp--preset--font-size--large, 2rem)
	) !important;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	vertical-align: middle;
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, 0.22);
}

/* Treat “Feature” as a table label rather than a plan name */
.wp-block-table.impowr-feature-comparison thead th:first-child {
	font-size: 0.9rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-top-left-radius: 13px;
}

.wp-block-table.impowr-feature-comparison thead th:last-child {
	border-right: 0;
	border-top-right-radius: 13px;
}

/* =========================================================
   Body
   ========================================================= */

.wp-block-table.impowr-feature-comparison tbody th,
.wp-block-table.impowr-feature-comparison tbody td {
	padding: 1rem 1.1rem !important;
	background: #fff;
	color: var(--impowr-text);
	font-size: 1rem;
	line-height: 1.5;
	vertical-align: middle;
	border: 0;
	border-right: 1px solid var(--impowr-border);
	border-bottom: 1px solid var(--impowr-border);
	transition: background-color 160ms ease;
}

/* Feature names */
.wp-block-table.impowr-feature-comparison tbody th,
.wp-block-table.impowr-feature-comparison tbody td:first-child {
	color: var(--impowr-darkest-blue);
  font-weight: 700;
}

/* Supporting descriptions and values */
.wp-block-table.impowr-feature-comparison tbody td:not(:first-child) {
	color: var(--impowr-text);
}

/* Remove borders around the outside edge */
.wp-block-table.impowr-feature-comparison tbody tr > *:last-child {
	border-right: 0;
}

.wp-block-table.impowr-feature-comparison tbody tr:last-child > * {
	border-bottom: 0;
}

/* Quiet hover state without zebra-striping the table */
.wp-block-table.impowr-feature-comparison tbody tr:hover > * {
	background: var(--impowr-hover);
}

/* =========================================================
   Included / not included
   ========================================================= */

.wp-block-table.impowr-feature-comparison .impowr-status-cell {
	text-align: center !important;
}

/* Plain icon: no circle or background */
.wp-block-table.impowr-feature-comparison .impowr-status-icon {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 0;
	background: transparent !important;
	border: 0;
	border-radius: 0;
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1;
}

/* Included */
.wp-block-table.impowr-feature-comparison
	.is-included
	.impowr-status-icon {
	color: var(--impowr-blue);
}

/* Not included */
.wp-block-table.impowr-feature-comparison
	.is-not-included
	.impowr-status-icon {
	color: var(--impowr-muted);
	font-size: 1.45rem;
	font-weight: 500;
}

/* Retain the semantic label for extraction and accessibility */
.wp-block-table.impowr-feature-comparison .impowr-status-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* =========================================================
Mobile
========================================================= */

/* =========================================================
   Mobile containment

   Content authored for desktop carries inline pixel widths on images
   (for example width:572px and width:1203px on the Features page) and
   percentage column widths with narrow 5% spacer columns. Below 782px
   those overflow the viewport and clip headings and body copy.

   These rules cap intrinsic widths and let columns stack, without
   touching the page content itself, so the fix applies everywhere and
   editors keep working in the block sidebar as normal.
   ========================================================= */

@media (max-width: 781px) {

	/* Nothing may exceed the viewport. */
	.wp-site-blocks img,
	.wp-site-blocks figure,
	.wp-site-blocks video,
	.wp-site-blocks iframe {
		max-width: 100% !important;
		height: auto !important;
	}

	/* Override inline pixel widths set on images by the editor. */
	.wp-block-image img[style*="width"] {
		width: 100% !important;
	}

	/* Stack every multi-column row. */
	.wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-wrap: wrap !important;
		gap: 1.5rem;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	/*
	 * Narrow spacer columns (5% gutters in the desktop layout) add nothing
	 * once the row has stacked and would otherwise leave dead vertical gaps.
	 */
	.wp-block-columns > .wp-block-column:empty {
		display: none !important;
	}

	/* Long unbroken strings (URLs, org names) must not force a scrollbar. */
	.wp-site-blocks p,
	.wp-site-blocks li,
	.wp-site-blocks h1,
	.wp-site-blocks h2,
	.wp-site-blocks h3,
	.wp-site-blocks h4 {
		overflow-wrap: break-word;
	}
}

/* Belt and braces: never allow sideways scrolling of the document. */
@media (max-width: 781px) {
	html,
	body {
		overflow-x: hidden;
		max-width: 100%;
	}
}

/* =========================================================
   Inline explanations (.impowr-note)

   Replaces the hover-only, JS-positioned su_tooltip with a native
   <details> disclosure: works on touch, works via keyboard, works with
   JavaScript disabled, and keeps the text crawlable.
   ========================================================= */

.impowr-note {
	display: block;
}

.impowr-note__summary {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	cursor: pointer;
	list-style: none;
	border-radius: 6px;
}

/* Remove the default disclosure triangle. */
.impowr-note__summary::-webkit-details-marker {
	display: none;
}

.impowr-note__summary::marker {
	content: '';
}

.impowr-note__summary:focus-visible {
	outline: 2px solid var(--impowr-purple, #7f1396);
	outline-offset: 3px;
}

/* A real, recognisable info affordance rather than a bare emoji. */
.impowr-note__marker {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.1rem;
	height: 1.1rem;
	border: 1.5px solid currentColor;
	border-radius: 50%;
  font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: 0.78rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	opacity: 0.6;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.impowr-note__summary:hover .impowr-note__marker,
.impowr-note__summary:focus-visible .impowr-note__marker {
	opacity: 1;
	transform: scale(1.08);
}

.impowr-note[open] .impowr-note__marker {
	opacity: 1;
	background: var(--impowr-purple, #7f1396);
	border-color: var(--impowr-purple, #7f1396);
	color: #fff;
}

.impowr-note__body {
	margin-top: 0.5rem;
	padding: 0.7rem 0.85rem;
	background: #f7f4fb;
	border-left: 3px solid var(--impowr-purple, #7f1396);
	border-radius: 0 8px 8px 0;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--impowr-text, #202124);
	text-align: left;
}

.impowr-note__body p {
	margin: 0;
}

.impowr-note__body p + p {
	margin-top: 0.5rem;
}

.impowr-note__title {
	display: block;
	margin-bottom: 0.25rem;
}

@media (prefers-reduced-motion: reduce) {
	.impowr-note__marker {
		transition: none;
	}

	.impowr-note__summary:hover .impowr-note__marker,
	.impowr-note__summary:focus-visible .impowr-note__marker {
		transform: none;
	}
}

/* =========================================================
   Site logo

   Source image is 309x192 (ratio ~1.609) and the site-logo block sets a
   width of 163px. The flex header was compressing it to 65x16 (ratio
   ~4.1), squashing the wordmark flat. Width is therefore driven from the
   block's intended 163px with the true aspect ratio locked, so the
   wordmark stays legible and correctly proportioned.

   flex-shrink is disabled because the header is a nowrap flex row: without
   it the logo is the element that gets squeezed when the nav is wide.
   ========================================================= */

.wp-block-site-logo,
.wp-block-site-logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	line-height: 0;
}

.wp-block-site-logo img.custom-logo {
	width: 163px !important;
	height: auto !important;
	max-width: 100%;
	aspect-ratio: 309 / 192;
	object-fit: contain;
	flex: 0 0 auto;
}

/* Tablet: ease down slightly so the nav keeps room. */
@media (max-width: 1024px) {
	.wp-block-site-logo img.custom-logo {
		width: 140px !important;
	}
}

/*
 * Mobile: the mega-menu collapses to a burger, so there is plenty of
 * width. Keep the logo prominent rather than shrinking it.
 */
@media (max-width: 781px) {
	.wp-block-site-logo img.custom-logo {
		width: 132px !important;
	}
}

/* =========================================================
   Comparison table: stacked cards on small screens

   Below the table's 880px minimum width, side-by-side columns force
   horizontal scrolling and only the first plan stays visible. Rows are
   therefore reflowed into one card per feature, with each plan's value
   labelled from the data-plan attribute set in
   impowr_render_feature_comparison_table(). No JavaScript involved, so
   this also renders correctly in the block editor.
   ========================================================= */

@media (max-width: 781px) {

	/*
	 * The figure carries inline padding from the editor
	 * (padding-right: var(--wp--preset--spacing--60); padding-left: 34px)
	 * and sits inside a group that already applies 32px of horizontal
	 * padding. Combined, that consumed ~88px of a 390px viewport and left
	 * the cards in a narrow ribbon. Both are neutralised here so content
	 * uses the full width, with a single consistent gutter from the group.
	 */
	.wp-block-table.impowr-feature-comparison {
		width: 100% !important;
		border-radius: 12px;
		overflow-x: visible;
		border: 0;
		background: transparent;
		box-shadow: none;
		padding: 0 !important;
		margin-inline: 0 !important;
	}

	/* Reduce the section gutter so cards get usable width. */
	.is-style-impowr-pricing-cards {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* Collapse the table's own layout so rows can become cards. */
	.wp-block-table.impowr-feature-comparison table,
	.wp-block-table.impowr-feature-comparison tbody,
	.wp-block-table.impowr-feature-comparison tbody tr,
	.wp-block-table.impowr-feature-comparison tbody th,
	.wp-block-table.impowr-feature-comparison tbody td {
		display: block;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	.wp-block-table.impowr-feature-comparison table {
		min-width: 0;
		table-layout: auto;
	}

	/* The plan names live on each cell instead. */
	.wp-block-table.impowr-feature-comparison thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	/* One card per feature. */
	.wp-block-table.impowr-feature-comparison tbody tr {
		margin-bottom: 1rem;
		background: #fff;
		border: 1px solid var(--impowr-border);
		border-radius: 14px;
		box-shadow: 0 6px 18px rgba(7, 9, 101, 0.06);
		overflow: hidden;
	}

	.wp-block-table.impowr-feature-comparison tbody tr:hover > * {
		background: transparent;
	}

	/*
	 * Feature name becomes the card header. Kept light rather than solid
	 * purple: repeated across ~19 cards a saturated fill overwhelms the
	 * values, which are the information the reader actually wants.
	 */
	.wp-block-table.impowr-feature-comparison tbody th {
		position: static;
		background: #faf7fc !important;
		color: var(--impowr-darkest-blue);
		font-size: 1rem;
    font-weight: 500;
		line-height: 1.35;
		padding: 0.8rem 1rem !important;
		border: 0;
		border-bottom: 2px solid var(--impowr-purple);
		box-shadow: none;
		text-align: left !important;
	}

	.wp-block-table.impowr-feature-comparison tbody th strong {
		color: inherit;
	}

	/* Each plan's value on its own labelled row. */
	.wp-block-table.impowr-feature-comparison tbody td {
		display: grid !important;
		grid-template-columns: 6.5rem 1fr;
		align-items: baseline;
		column-gap: 0.75rem;
		padding: 0.65rem 1rem !important;
		text-align: left !important;
		border: 0;
		border-top: 1px solid var(--impowr-border);
	}

	.wp-block-table.impowr-feature-comparison tbody tr td:first-of-type {
		border-top: 0;
	}

	.wp-block-table.impowr-feature-comparison tbody td::before {
		content: attr(data-plan);
    font-weight: 500;
		color: var(--impowr-muted);
		font-size: 0.9rem;
	}

	/*
	 * Status cells: show the icon next to the readable word rather than
	 * relying on the icon alone, and keep both in the value column so the
	 * plan labels stay aligned down the card.
	 */
	.wp-block-table.impowr-feature-comparison td.impowr-status-cell {
		text-align: left !important;
	}

	.wp-block-table.impowr-feature-comparison
		td.impowr-status-cell
		.impowr-status-label {
		position: static !important;
		grid-column: 2;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		overflow: visible !important;
		clip: auto !important;
		clip-path: none !important;
		white-space: normal !important;
	}

	.wp-block-table.impowr-feature-comparison
		td.impowr-status-cell.is-included
		.impowr-status-label {
		color: var(--impowr-blue);
		font-weight: 600;
	}

	.wp-block-table.impowr-feature-comparison
		td.impowr-status-cell.is-not-included
		.impowr-status-label {
		color: var(--impowr-muted);
	}

	/* The tick/cross is decorative here; the word carries the meaning. */
	.wp-block-table.impowr-feature-comparison
		td.impowr-status-cell
		.impowr-status-icon {
		display: none;
	}

	/*
	 * The "key" legend explains the tick/cross glyphs, which the card
	 * layout replaces with words. Hidden here so it cannot contradict
	 * what is on screen; it still shows on the desktop table.
	 *
	 * Add the class impowr-comparison-key to that paragraph for a more
	 * explicit hook; the :has() fallback below keeps it working with the
	 * existing content untouched.
	 */
	.impowr-comparison-key,
	.is-style-impowr-pricing-cta:has(> strong:first-child) {
		display: none;
	}

}

/* Make the Features heading match the version headings */
.wp-block-table.impowr-feature-comparison thead th:first-child {
	font-size: clamp(
		1.25rem,
		2vw,
		var(--wp--preset--font-size--large, 2rem)
	) !important;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-transform: none;
}

/* Make the not-included cross stronger and clearer */
.wp-block-table.impowr-feature-comparison
	.is-not-included
	.impowr-status-icon {
	color: #808080;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1;
}
