/* Theme Name: PEMFiT
Theme URI: https://pemfit.co.uk
Author: Oliver Foxley
Author URI: https://foxley.studio
Description: A bespoke Foxley Studio site crafted to look slick and stay slick
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pemfit
*/
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

main {
    display: block;
}

h1 {
    font-size: 2em;
    margin: .67em 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: var(--Hanken-Grotesk);
    font-size: 1em;
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp {
    font-family: var(--Hanken-Grotesk);
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -.25em;
}

sup {
    top: 0em;
}

img {
    border-style: none;
}

picture {
    display: contents;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: .35em .75em .625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}

/* ***** Elad Shechter's RESET ******
/* ** box sizing border-box for all elements ** */
*,
*::before,
*::after {
    box-sizing: border-box;
}

a {
    text-decoration: none!important;
    color: inherit;
    cursor: pointer;
}

button {
    background-color: transparent;
    color: inherit;
    border-width: 0;
    padding: 0;
    cursor: pointer;
}

figure {
    margin: 0;
}

input::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0;
}

ul,
ol,
dd {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

p {
    margin: 0;
    line-height: 1.6;
    margin-bottom: 3rem;
    max-width: 850px;
}

cite {
    font-style: normal;
}

fieldset {
    border-width: 0;
    padding: 0;
    margin: 0;
}

a:not(#copyright-info a):not(.ab-item):not(nav li a),
figcaption {
    font-size: clamp(1.4rem, calc(1.1rem + (72 - 60) * (100vw - 400px) / (2000 - 400)), 1.8rem);
    font-family: var(--DM-Sans);
}

.cta,
.info-button {
    padding-left: clamp(2.2rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3rem);
    padding-right: clamp(2.2rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3rem);
    padding-top: clamp(1.2rem, calc(0.4rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.6rem);
    padding-bottom: clamp(1.2rem, calc(0.4rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.6rem);
    background-color: var(--orange);
    border-radius: 10rem;
    color: #fff;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    display: block;
    white-space: nowrap!important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex: 1;
    text-align: center;
    transition: background-color 0.2s ease;
}

@font-face {
    font-family: "DM-Sans-Regular";
    src: url("fonts/DMSans-VariableFont.woff2") format("woff2 supports variations"),
         url("fonts/DMSans-VariableFont.woff2") format("woff2-variations");
    font-weight: 100 1000;
}

@font-face {
    font-family: "Source-Serif-4-Italic";
    src: url("fonts/SourceSerif4-Italic-VariableFont.woff2") format("woff2 supports variations"),
         url("fonts/SourceSerif4-Italic-VariableFont.woff2") format("woff2-variations");
    font-weight: 100 1000;
}

@-ms-viewport {
    width: device-width;
    initial-scale: 1;
    zoom: 1;
    min-zoom: 1;
    max-zoom: 1;
    user-zoom: fixed;
}

@-o-viewport {
    width: device-width;
    initial-scale: 1;
    zoom: 1;
    min-zoom: 1;
    max-zoom: 1;
    user-zoom: fixed;
}

@viewport {
    width: device-width;
    initial-scale: 1;
    zoom: 1;
    min-zoom: 1;
    max-zoom: 1;
    user-zoom: fixed;
}

:root {
    --DM-Sans: "DM-Sans-Regular", Arial, Helvetica, sans-serif;
    --Source-Serif-Italic: "Source-Serif-4-Italic",  Arial, Helvetica, sans-serif;
    --sage-grey: #D0D1C6;
    --forest-green: #3A4742;
    --off-white: #F5F2EE;
    --beige: #F0E0C9;
    --orange: #F37122;
    --light-beige: #F8EBDD;
    --dun: #D6C9B7;
    --brown: #856D5C;
    --thin-gutter: clamp(1rem, calc(1rem + (100 - 83) * (100vw - 400px) / (2000 - 400)), 2.5rem);
    --medium-gutter: clamp(2rem, calc(1.8rem + (100 - 40) * (100vw - 400px) / (2000 - 400)), 5.5rem);
    --large-gutter: clamp(4rem, calc(2.5rem + (100 - 10) * (100vw - 400px) / (2000 - 400)), 14rem);
    --rounded-corners: clamp(10px, calc(10px + (20 - 10) * (100vw - 320px) / (1600 - 320)), 20px);
}

html {
    touch-action: manipulation;
    background-color: #ffffff;
    font-size: 62.5%;
    pointer-events: all;
}

/* Safari 6.1-10.0 */
@media screen and (min-color-index: 0) and (-webkit-min-device-pixel-ratio: 0) {
    @media {
        h1,
        h2,
        input {
            -webkit-font-smoothing: antialiased;
        }
    }
}

/* Safari 10.1+ */
@media not all and (min-resolution: .001dpcm) {
    @media {
        @supports (-webkit-appearance: none) {
            input {
                -webkit-font-smoothing: antialiased;
            }
        }
    }
}

::-moz-selection {
    background-color: var(--orange);
    color: #000;
}

::selection {
    background-color: var(--orange);
    color: #000;
}

::-moz-selection:not(h1,h2,h3,h4,h5,h6,p,a,div,span,time) {
    background-color: transparent;
}

::selection:not(h1,h2,h3,h4,h5,h6,p,a,div,span,time) {
    background-color: transparent;
}

iframe {
    outline: none!important;
    border: none!important;
}

html,
body {
    width: 100%;
    height: 100%;
    background-color: var(--off-white);
}

body {
    -webkit-animation: bugfix infinite 1s;
}

@-webkit-keyframes bugfix {
    from {
        padding: 0;
    }

    to {
        padding: 0;
    }

    /* Android checkbox hack */
}

body {
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    font-size: clamp(1.6rem, calc(1.1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.1rem);
    font-family: var(--DM-Sans);
    font-weight: 450;
    height: auto;

    /* background: -o-linear-gradient(#F5F2EE, transparent),
        -o-linear-gradient(bottom right, #D0D1C6, transparent),
        -o-linear-gradient(bottom left, #F0E0C9, transparent)!important;
    background: -webkit-gradient(linear, left top, left bottom, from(#F5F2EE), to(transparent)),
        -webkit-gradient(linear, right bottom, left top, from(#D0D1C6), to(transparent)),
        -webkit-gradient(linear, left bottom, right top, from(#F0E0C9), to(transparent))!important;
    background: linear-gradient(#F5F2EE, transparent),
        linear-gradient(to top left, #D0D1C6, transparent),
        linear-gradient(to top right, #F0E0C9, transparent)!important;
    background-blend-mode: screen; */
}

.page-template-testimonials #content-wrap {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
}

.page-template-testimonials.loaded #content-wrap {
    opacity: 1;
    pointer-events: all;
}

.flex {
    display: flex!important;
}

.grid {
    display: grid!important;
}

/* navbar container */
#menu-container {
    height: 90px;
    padding: 0 var(--thin-gutter);
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    justify-items: left;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
    transition: top 0.3s ease;
}

.page-template-studio-microsite-v2 #menu-container {
    z-index: 10002;
}

#menu-container:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(242, 237, 231, 0.85);
    -webkit-backdrop-filter: blur(24px) brightness(1.2) contrast(1.2);
    backdrop-filter: blur(24px) brightness(1.2) contrast(1.2);
    z-index: -1;
}

#menu-container.scrolled:before {
    box-shadow: 0px 1px 10px -8px rgba(0,0,0,1);
}

.nav-container {
    height: 100%;
}

#menu-container.nav-up {
    top: -90px;
}

.main-menu {
    margin: auto;
    height: 100%;
}

.main-menu ul:not(.dropdown-menu) {
    height: 100%;
}

.main-menu ul:not(.dropdown-menu) li,
.accordion-label {
    display: inline-block;
    height: 100%;
    position: relative;
}

.accordion-label {
    padding: 0 0.5rem;
}

.main-menu ul li a {
    padding: 1rem;
    width: 100%;
    display: block;
}

.main-menu ul:not(.dropdown-menu) li a:not(#socials a),
.main-menu ul li.dropdown label {
    padding: 1rem 1.5rem;
    transition: opacity 0.2s ease, background-color 0.3s ease;
    border-radius: 10rem;
    grid-area: 1 / 2 / 2 / 3;
    height: 100%;
    line-height: 1;
    align-items: center;
    display: flex;
    cursor: pointer;
}

.main-menu ul:not(.dropdown-menu) li {
    border-radius: var(--rounded-corners) var(--rounded-corners) 0 0;
}

.main-menu ul:hover li a:not(#socials a),
.main-menu ul:hover li label {
    opacity: 0.6;
}

.main-menu ul li:hover a:not(#socials a),
.main-menu ul li:hover label {
    /* background-color: var(--forest-green); */
    opacity: 1;
}

ul.dropdown-menu,
ul.dropdown-menu li {
    display: block;
}

ul.dropdown-menu {
    position: absolute;
    left: -1rem;
    top: 100%;

    /* background-color: rgba(242, 237, 231, 0.75) */
    background-color: rgba(58, 71, 66, 0.85);
    -webkit-backdrop-filter: blur(24px) brightness(1.2) contrast(1.2);
    backdrop-filter: blur(24px) brightness(1.2) contrast(1.2);
    padding: 1.5rem 0;
    border-radius: 1.5rem;

    /* margin-left: -1.5rem; */
    /* -webkit-box-shadow: 0px 3px 16px -11px rgba(0,0,0,1);
    box-shadow: 0px 3px 16px -11px rgba(0,0,0,1); */
    box-shadow: 0,0 8px 33px #0000000d,0 4px 18px #0000000a,0 2px 10px #00000008;
}

ul.dropdown-menu:not(.dropdown-submenu) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.submenu-container {
    position: absolute;
    left: 100%;
    top: -1.5rem;
}

.submenu-container {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

ul.dropdown-submenu {
    top: 0;
    left: 0;
    margin-left: 1.4rem;
    position: relative;
}

.menu-arrow {
    position: absolute;
    width: 100%;
    margin-top: -29px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.depth-1 .menu-arrow {
    margin-top: 0;
    left: 100%;
    top: 50%;
    margin-left: -1px;
}

.menu-arrow-svg {
    position: absolute;
    width: 22px;
    height: 50px;
    left: 50%;
    transform: translateX(-50%);
}

.depth-1 .menu-arrow-svg {
    transform: none;
    transform: translateY(-50%) rotate(-90deg);
    left: 0;
}

li.depth-2 {
    display: block!important;
}

/* .menu-arrow-svg path {
    -webkit-filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, 0.7));
            filter: drop-shadow( -1px -1px 12px rgba(0, 0, 0, 0.6));
    border-top: 1px solid #ccc
} */
/* ul.dropdown-menu:after {
    bottom: 100%;
    left: 20%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-bottom-color: rgba(58, 71, 66, 0.85);
    border-width: 15px;
    margin-left: -15px;
} */
ul.dropdown-menu li {
    white-space: nowrap;
}

ul.dropdown-menu li,
ul.dropdown-menu li a {
    display: block;
    width: 100%;

    /* color: #fff; */
    color: #fff;
}

.main-menu ul.dropdown-menu li a,
.main-menu ul.dropdown-menu li label {
    padding: 1rem 3rem!important;
}

@media (hover: hover) and (min-width: 992px) {
    .main-menu ul li:hover ul.dropdown-menu,
    .main-menu ul li.depth-1:hover .submenu-container {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
        transition: opacity 0.3s ease;
    }

    .submenu-container:hover,
    .main-menu ul li.depth-1:hover .menu-arrow {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
        transition: opacity 0.3s ease visibility 0s linear 0.3s;
    }

    .main-menu ul li:hover .menu-arrow:not(.depth-1 .menu-arrow) {
        opacity: 1;
    }

    /* Dim only direct dropdown items */
    .main-menu ul.dropdown-menu:hover > li > a:not(#socials a),
    .main-menu ul.dropdown-menu:hover > li > label {
        opacity: 0.6;
    }

    /* Restore hovered dropdown item */
    .main-menu ul.dropdown-menu > li:hover > a:not(#socials a),
    .main-menu ul.dropdown-menu > li:not(.depth-2):hover > label {
        opacity: 1;
    }

    /* Submenu dim */
    .main-menu ul.dropdown-submenu:hover > li > a {
        opacity: 0.6;
    }

    /* Submenu highlight */
    .main-menu ul.dropdown-submenu > li:hover > a {
        opacity: 1;
    }
}

.accordion-checkbox {
    display: none;
}

#logo {
    max-width: 130px;
    min-width: 50px;
    width: calc(8rem + (100 - 45) * (100vw - 400px) / (2000 - 400));
}

.page-template-studio-microsite-v2 footer {
    z-index: 10001;
    background: var(--off-white);
}

#footer-logo {
    max-width: 200px;
    min-width: 100px;
    width: calc(10rem + (100 - 45) * (100vw - 400px) / (2000 - 400));
}

#logo a,
#footer-logo a {
    display: block;
    padding: 1rem;
}

#logo img,
#footer-logo img {
    display: block;
    width: 100%;
    margin: 0;
}

h1 {
    font-family: var(--DM-Sans);
    font-size: clamp(5rem, calc(4rem + (100 - 10) * (100vw - 400px) / (2000 - 400)), 13rem);
    font-weight: 520;
    letter-spacing: clamp(-0.3rem, calc(-0.36vw + (100 - 96) * (100vw - 400px) / (2000 - 400)), -0.1rem);
    margin-bottom: 3rem;
    align-self: center;
    line-height: 1;
}

/* h1:not(.wp-block-kadence-advancedheading):not(.kadence-advancedheading-text) {
    padding-left: 6%;
} */
.spacer-standard {
    height: var(--large-gutter);
}

h2 {
    font-family: var(--DM-Sans);
    font-size: clamp(3rem, calc(2.4rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 6rem);
    font-weight: 500;

    /* letter-spacing: calc(-0.05vw + (100 - 96) * (40vw - 400px) / (2000 - 400)) */
    letter-spacing: -0.03em;
    margin-bottom: 3rem;
    line-height: 1.3;
}

h3 {
    font-family: var(--DM-Sans);
    font-size: clamp(2.3rem, calc(2rem + (100 - 86) * (100vw - 400px) / (2000 - 400)), 4rem);
    font-weight: 530;
    letter-spacing: clamp(-0.1rem, -0.08vw, -0.1rem);
    margin-bottom: 3rem;
    line-height: 1.3;
}

h4 {
    font-family: var(--DM-Sans);
    font-size: 2.2rem;
    font-weight: 530;
    letter-spacing: clamp(-0.08rem, -0.07vw, -0.1rem);
    margin-bottom: 3rem;
    line-height: 1.3;
}

h1 .alternate-title,
h1 em {
    font-family: var(--Source-Serif-Italic);
    font-size: clamp(7.15rem, calc(4.25rem + (100 - 5) * (100vw - 400px) / (2000 - 400)), 14.9rem);
    display: block;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    letter-spacing: clamp(-0.6rem, calc(-0.45vw + (100 - 96) * (100vw - 400px) / (2000 - 400)), -0.15rem);
}

ul:not(.main-menu ul):not(.opening-hours):not(.four-card-pricing ul) {
    padding-left: 2rem;
}

ul li {
    list-style: disc;
    line-height: 2;
}

.logged-in #menu-container {
    margin-top: 32px;
}

#menu-container .cta {
    margin-left: auto;
    margin-right: 1rem;
}

/* .single main {
    max-width: 1200px;
    width: 60%;
    margin: 150px auto 150px auto;
}

.single main img {
    margin-bottom: 3rem;
    max-width: 100%;
} */
.expand {
    width: 100%;
}

#menu-toggle {
    display: none!important;
}

#main-nav-check {
    display: none;
    pointer-events: none;
}

li#socials {
    position: fixed;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 50svh;
    transform: translateY(-50%);
    right: calc(var(--thin-gutter) + 1rem);
    width: 44px;
    padding: 1rem;
    height: auto;
    background-color: rgba(245, 242, 238, 0.7);
    -webkit-backdrop-filter: blur(24px) brightness(1.2) contrast(1.4);
    backdrop-filter: blur(24px) brightness(1.2) contrast(1.4);
    border-radius: 10rem;
    z-index: 10;
}

li#socials a {
    display: flex;
    flex-direction: column;
    width: 40px;
    height: 40px;
}

li#socials a img {
    margin: auto;
}

/* centered-info block */
.centered-info {
    text-align: center;
    flex-direction: column;
    padding: 100px var(--thin-gutter);
}

.centered-info p {
    margin: 0 auto;
}

.review-score {
    line-height: 1;
    margin: 0 auto;
}

.review-score h3 {
    margin: 0;
}

.review-score span {
    margin: 0 var(--thin-gutter);
}

.review-score span img {
    align-self: center;
    width: 20px;
    height: 20px;
}

/* testimonials template base styles */
body.page-template-testimonials {
    background-color: var(--dun);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

/* .sp-testimonial-pro {
    border-radius: var(--rounded-corners)!important;
} */
/* @media screen and (max-width: 1920px) {
    body {
        font-size: 2.2rem;
    }
} */
/* testimonials drop down select menus */
.select-menu {
    /* max-width: 330px; */
    margin: 50px auto;
    line-height: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.select-menu .select-btn {
    display: flex;
    width: auto;
    width: 220px;
    background: #fff;
    padding: 8px 16px;
    position: relative;
    font-size: 15px;
    height: 36px;
    font-weight: 400;
    border-radius: 100px;
    align-items: center;
    cursor: pointer;
    justify-content: space-between;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.select-menu .options {
    position: absolute;
    width: auto;
    overflow-y: auto;
    max-height: 295px;
    padding: 10px;
    margin-top: 10px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    animation-name: fadeInDown;
    -webkit-animation-name: fadeInDown;
    animation-duration: 0.35s;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.35s;
    -webkit-animation-fill-mode: both;
}

.select-menu .options li {
    display: flex;
    cursor: pointer;
    padding: 6px 0;
    border-radius: 8px;
    align-items: center;
    background: #fff;
}

.select-menu .options li a {
    background: none!important;
    border: none!important;
    color: #000!important;
}

.select-menu .options .option:hover {
    background: #f2f2f2;
}

.select-menu .options .option .option-text {
    font-size: 18px;
    color: #333;
}

.select-btn:after {
    content: '\203A';
    display: inline-block;
    transform: rotate(90deg);
    font-size: 25px;
    transition: 0.3s;
    transform-origin: 50% 50%;
}

.select-menu.active .select-btn:after {
    transform: rotate(-90deg);
}

.select-menu.active .options {
    display: block;
    opacity: 0;
    z-index: 10;
    animation-name: fadeInUp;
    -webkit-animation-name: fadeInUp;
    animation-duration: 0.4s;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.4s;
    -webkit-animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
    from {
        transform: translate3d(0, 30px, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes fadeInUp {
    from {
        transform: translate3d(0, 30px, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@-webkit-keyframes fadeInDown {
    from {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }

    to {
        transform: translate3d(0, 20px, 0);
        opacity: 0;
    }
}

@keyframes fadeInDown {
    from {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }

    to {
        transform: translate3d(0, 20px, 0);
        opacity: 0;
    }
}

/* cookie consent banner button */
.cky-revisit-bottom-left {
    bottom: var(--thin-gutter)!important;
    right: var(--thin-gutter)!important;
    margin: 1rem!important;
}

/* @media screen and (max-width: 1400px) {
    .single main {
        width: 70%;
    }
} */
@media screen and (max-width: 1200px) {
    #menu-container {
        grid-template-columns: auto auto auto;
    }
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 1.6rem;
    }

    h4 {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 991px) {
    #menu-container {
        height: 70px;
        grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    }

    #menu-container:before {
        background: var(--off-white);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .nav-container {
        position: absolute;
        width: 100%;
        top: 70px;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        box-shadow: none;

        /* border-radius: 2.8rem; */
        opacity: 0;
        pointer-events: none;
        transition: box-shadow 0.3s ease-in-out 0.1s, opacity 0s linear 0.3s;
    }

    #logo {
        order: 1;
    }

    #menu-toggle {
        display: block!important;
        position: relative;
        padding: 2rem;
        width: 2rem;
        height: 2rem;
        margin-left: auto;
        justify-content: center;
        order: 4;
    }

    #main-nav-check {
        order: 2;
    }

    #menu-toggle:before,
    #menu-toggle:after {
        content: '';
        width: 20px;
        height: 2px;
        background-color: #000;
        position: absolute;
        left: 1rem;
        align-self: center;
        top: 1.2rem;
    }

    #menu-toggle:before {
        transform: translateY(3px);
    }

    #menu-toggle:after {
        transform: translateY(12px);
    }

    #menu-container .cta {
        order: 3;
        margin: 0;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    #main-nav-check:checked ~ .nav-container {
        opacity: 1;
        box-shadow: inset 0 0 0 var(--thin-gutter) var(--off-white);
        transition: box-shadow 0.3s ease-in-out;
    }

    #main-nav-check:checked ~ .nav-container .main-menu {
        opacity: 1;
        pointer-events: all;
        transform: translate3d(0,0,0);
        transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    }

    .main-menu {
        position: relative;
        height: auto;
        z-index: 1;
        width: calc(100% - var(--thin-gutter) * 2);
        top: 0;
        border-radius: var(--rounded-corners);
        padding: 2rem 0;
        background-color: rgba(255, 255, 255, 0.7);
        -webkit-backdrop-filter: blur(24px) brightness(1.1) contrast(1.3);
        backdrop-filter: blur(24px) brightness(1.1) contrast(1.3);
        transform: translate3d(0,-2rem,0);

        /* background: linear-gradient(to right, rgba(222, 224, 216, 0.9) 0%,rgba(203, 204, 195, 0.8) 100%) */
        opacity: 0;
        transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
        pointer-events: none;
    }

    .main-menu ul li {
        padding: 0;
        width: 100%;
    }

    li#socials {
        flex-direction: row;
        position: relative;
        padding: 1rem 4.5vw 0 4.5vw;
        justify-content: space-between;
        align-items: center;
        max-width: 400px;
        background: none;
        transform: none;
        -webkit-backdrop-filter: unset;
        backdrop-filter: unset;
        right: auto;
        top: auto;
        width: auto;
        justify-content: space-between;
    }

    li#socials a {
        display: inline-flex;
        width: 46px;
        height: 46px;
        padding: 1rem!important;
        align-items: center;
        justify-content: center;

        /* background-repeat: no-repeat;
        background-position: 50% 50%; */
    }

    li#socials a img {
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: 50% 50%;
        object-position: 50% 50%;
    }

    #linked-in img {
        margin: 0!important;
        margin-top: -3px!important;
    }

    /* #facebook {
        background-image: url('graphics/facebook.svg');
        background-size: 31%;
    }
    #x {
        background-image: url('graphics/x.svg');
        background-size: 55%;
        margin-top: 1px;
    }
    #instagram {
        background-image: url('graphics/instagram.svg');
        background-size: 51.1%;
        margin-top: 1px;
    }
    #linked-in {
        background-image: url('graphics/linked-in.svg');
        background-size: 47%;
        margin-top: -1px
    }
    #youtube {
        background-image: url('graphics/youtube.svg');
        background-size: 69%;
        margin-top: 1px;
        margin-right: 1rem;
    } */
    .main-menu ul li a {
        font-weight: 550;
        padding: 1.8rem 8% !important;

        /* font-size: 2rem */
        display: block;
        color: #000;
    }

    /* .main-menu ul li:hover ul.dropdown-menu {
        opacity: 0;
        pointer-events: none;
        -webkit-transition: none;
        -o-transition: none;
        transition: none;
    } */
    .accordion-label {
        padding: 1.8rem 8% !important;
    }

    .menu-arrow {
        display: none;
    }

    .dropdown-container {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-rows: 0fr;
        opacity: 0;
        transition: grid-template-rows 0.3s ease, opacity 0.3s ease;
        transition: grid-template-rows 0.3s ease, opacity 0.3s ease, -ms-grid-rows 0.3s ease;
    }

    .accordion-checkbox:checked ~ .dropdown-container {
        grid-template-rows: 1fr;
        opacity: 1;
    }

    ul.dropdown-menu {
        position: relative;
        top: 0;
        pointer-events: none;
        width: 100%;

        /* background-color: rgba(242, 237, 231, 0.75); */
        background-color: rgba(58, 71, 66, 0.75);
        box-shadow: none;
        margin: 0;
        border-radius: 0;
        height: auto;
        visibility: visible!important;
        left: 0;
        padding: 0;
        transform-origin: 50% 0;
        overflow: hidden;
        opacity: 1!important;
    }

    .main-menu ul.dropdown-menu li a:not(#socials a) {
        color: #fff;
    }

    .main-menu ul:not(.dropdown-menu) li,
    .accordion-label {
        display: block;
        height: auto;
    }

    .main-menu ul:not(.dropdown-menu) li:not(.depth-2):first-of-type {
        padding: 1.5rem 0 0 0;
    }

    .main-menu ul:not(.dropdown-menu) li:not(.depth-2):last-of-type {
        padding: 0 0 1.5rem 0;
    }

    .accordion-checkbox:checked ~ .dropdown-container ul.dropdown-menu {
        pointer-events: all;
        visibility: visible;
    }

    .submenu-container {
        position: relative;
        left: 0;
        width: auto;
        text-indent: 5vw;
        top: 0;
        opacity: 1;
    }

    ul.dropdown-submenu li {
        background: none;
    }

    .accordion-checkbox:checked ~ .submenu-container {
        height: auto;
    }

    .accordion-checkbox:checked ~ .submenu-container ul.dropdown-submenu {
        opacity: 1;
        pointer-events: all;
    }

    .main-menu ul.dropdown-menu li a,
    .main-menu ul.dropdown-menu li label {
        padding: 1rem 8%!important;
    }
}

@media screen and (max-height: 500px) {
    #menu-container {
        position: absolute;
    }
}

@media screen and (max-width: 850px) {
    #footer-links {
        gap: 4rem;
        justify-content: flex-start;
    }
}

@media screen and (max-width: 782px) {
    .logged-in #menu-container {
        margin-top: 46px;
    }
}

@media screen and (max-width: 767px) {
    #disclaimer {
        margin-top: 2rem;
    }

    /* .single main {
        width: 82%;
    } */
}

@media screen and (max-width: 600px) {
    #menu-container {
        height: 60px;
    }

    .nav-container {
        top: 60px;
    }

    #menu-container .cta,
    .cta {
        padding: 1rem 1.4rem!important;
        font-size: 1.4rem!important;
    }

    .main-menu {
        /* top: 60px */
    }

    .centered-info {
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .review-score {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }

    .studio-hero-info {
        width: 88%;
    }
}

@media screen and (max-width: 480px) {
    #menu-toggle {
        margin-right: -0.6rem;
    }

    #logo {
        margin-left: -0.6rem;
    }

    #footer-info {
        margin-top: 4rem;
        padding: 2rem;
        border-radius: var(--rounded-corners);
    }

    footer {
        margin: 0;
    }

    #footer-background {
        padding-left: 0;
        padding-right: 0;
        border-radius: 0;
    }

    #footer-background figure {
        border-radius: var(--rounded-corners);
    }

    #footer-links {
        gap: 4rem 1rem;
    }

    #copyright-info:before {
        border-radius: 0;
    }

    /* .cta {
        white-space: wrap;
        line-height: 1.3;
    } */
    /* #find-studio:before {
        white-space: wrap;
    } */
}

/* @media screen and (max-width: 442px) {
    #find-studio {
        text-align: left;
        padding-left: 1rem;
    }
    #find-studio .cta {
        align-self: flex-start;
    }
} */
/* @media screen and (max-width: 380px) {
    .cta {
        padding: 0.8rem 1.2rem;
        font-size: 1.3rem;
    }
} */
@font-face {
    font-family: "DM-Sans-Regular";
    src: url("fonts/DMSans-VariableFont.woff2") format("woff2 supports variations"),
         url("fonts/DMSans-VariableFont.woff2") format("woff2-variations");
    font-weight: 100 1000;
}

@font-face {
    font-family: "Source-Serif-4-Italic";
    src: url("fonts/SourceSerif4-Italic-VariableFont.woff2") format("woff2 supports variations"),
         url("fonts/SourceSerif4-Italic-VariableFont.woff2") format("woff2-variations");
    font-weight: 100 1000;
}

:root {
    --DM-Sans: "DM-Sans-Regular", Arial, Helvetica, sans-serif;
    --Source-Serif-Italic: "Source-Serif-4-Italic",  Arial, Helvetica, sans-serif;
    --sage-grey: #D0D1C6;
    --forest-green: #3A4742;
    --light-teal: #9cbbaf;
    --off-white: #F5F2EE;
    --beige: #F0E0C9;
    --orange: #F37122;
    --light-beige: #F8EBDD;
    --dun: #D6C9B7;
    --brown: #856D5C;
    --rose-gold: #D8BEAA;
    --extra-thin-gutter: clamp(0.5rem, calc(0.5rem + (100 - 83) * (100vw - 400px) / (2000 - 400)), 1.5rem);
    --thin-gutter: clamp(1rem, calc(1rem + (100 - 83) * (100vw - 400px) / (2000 - 400)), 2.5rem);
    --medium-gutter: clamp(2rem, calc(1.8rem + (100 - 40) * (100vw - 400px) / (2000 - 400)), 5.5rem);
    --large-gutter: clamp(4rem, calc(2.5rem + (100 - 10) * (100vw - 400px) / (2000 - 400)), 14rem);
    --extra-large-gutter: clamp(6rem, calc(4.5rem + (100 - 10) * (100vw - 400px) / (2000 - 400)), 18rem);
    --rounded-corners: clamp(10px, calc(10px + (20 - 10) * (100vw - 320px) / (1600 - 320)), 20px);

    /* spacing presets */
    --global-xs-spacing: var(--extra-thin-gutter);
    --global-sm-spacing: var(--thin-gutter);
    --global-md-spacing: var(--medium-gutter);
    --global-lg-spacing: var(--large-gutter);
    --global-xl-spacing: var(--extra-large-gutter);

    /* font size presets */
    --global-kb-font-size-sm: clamp(2.25rem, 1.728rem + 1.63vw, 3rem);
    --global-kb-font-size-md: clamp(2.5rem, 1.456rem + 3.26vw, 4rem);
    --global-kb-font-size-lg: clamp(2.75rem, 0.489rem + 7.065vw, 6rem);
    --global-kb-font-size-xl: clamp(3rem, -1.174rem + 13.043vw, 9rem);
    --global-kb-font-size-xxl: clamp(3.25rem, -3.881rem + 22.283vw, 13.5rem);
    --global-kb-font-size-xxxl: clamp(3.5rem, -7.978rem + 35.87vw, 20rem);
}

:where(:not(.wp-toolbar *))::-moz-selection {
    background-color: var(--orange);
    color: #000;
}

:where(:not(.wp-toolbar *))::selection {
    background-color: var(--orange);
    color: #000;
}

:where(:not(.wp-toolbar *))::-moz-selection:not(h1,h2,h3,h4,h5,h6,p,a,div,span,time) {
    background-color: transparent;
}

:where(:not(.wp-toolbar *))::selection:not(h1,h2,h3,h4,h5,h6,p,a,div,span,time) {
    background-color: transparent;
}

iframe:where(:not(.wp-toolbar *)) {
    outline: none!important;
    border: none!important;
}

html:where(:not(.wp-toolbar)) {
    font-size: 62.5%;
    scroll-behavior: smooth;

    /* -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory; */
}

html:where(:not(.wp-toolbar)),
body:where(:not(.wp-toolbar *)) {
    width: 100%;
    height: 100%;
    background-color: var(--off-white);
}

body:where(:not(.wp-toolbar *)):not(.wp-admin),
.editor-styles-wrapper {
    -webkit-animation: bugfix infinite 1s;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    font-family: var(--DM-Sans);
    font-weight: 450;
    height: auto;
    min-width: 300px;
    font-size: clamp(1.6rem, calc(1.1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.1rem);

    /* background: -o-linear-gradient(#F5F2EE, transparent),
        -o-linear-gradient(bottom right, #D0D1C6, transparent),
        -o-linear-gradient(bottom left, #F0E0C9, transparent)!important;
    background: -webkit-gradient(linear, left top, left bottom, from(#F5F2EE), to(transparent)),
        -webkit-gradient(linear, right bottom, left top, from(#D0D1C6), to(transparent)),
        -webkit-gradient(linear, left bottom, right top, from(#F0E0C9), to(transparent))!important;
    background: linear-gradient(#F5F2EE, transparent),
        linear-gradient(to top left, #D0D1C6, transparent),
        linear-gradient(to top right, #F0E0C9, transparent)!important;
    background-blend-mode: screen; */
}

@-webkit-keyframes bugfix {
    from {
        padding: 0;
    }

    to {
        padding: 0;
    }

    /* Android checkbox hack */
}

#content-wrap {
    max-width: 2560px;
    margin: 0 auto;
}

.flex {
    display: flex!important;
}

.grid {
    display: grid!important;
}

p:where(:not(.wp-toolbar *)) {
    max-width: 850px;
}

p:where(:not(.wp-toolbar *)):not(footer p) {
    font-size: clamp(1.4rem, calc(1.1rem + (72 - 60) * (100vw - 400px) / (2000 - 400)), 1.8rem);
    font-family: var(--DM-Sans);
    font-weight: 450;
    line-height: 1.6;
    overflow-wrap: break-word;
}

.spaced {
    margin-bottom: 3rem!important;
}

a:where(:not(.wp-toolbar *)):not(#copyright-info a):not(.ab-item),
figcaption:where(:not(.wp-toolbar *)) {
    /* font-size: clamp(1.4rem, calc(1.1rem + (72 - 60) * (100vw - 400px) / (2000 - 400)), 1.8rem) */
    font-family: var(--DM-Sans);
}

h1:where(:not(.wp-toolbar *)):not(.components-truncate) {
    font-family: var(--DM-Sans);
    font-size: clamp(4.95rem, calc(4.1rem + (100 - 10) * (100vw - 400px) / (2000 - 400)), 14rem);
    font-weight: 520;
    letter-spacing: calc(-0.1vw + (100 - 96) * (16vw - 400px) / (2000 - 400));
    margin-bottom: 3rem;
    align-self: center;
    line-height: 1;
}

.media-frame-title h1 {
    font-size: 4.4rem;
    letter-spacing: -0.04rem;
}

/* h1:not(.wp-block-kadence-advancedheading):not(.kadence-advancedheading-text) {
    padding-left: 6%;
} */
em:where(:not(.wp-toolbar *)) {
    font-style: normal!important;
}

h1:where(:not(.wp-toolbar *)):not(.components-truncate) em,
.modal h2 em,
h1:where(:not(.wp-toolbar *)).wp-block-heading em,
h2:where(:not(.wp-toolbar *)).wp-block-heading em,
h3:where(:not(.wp-toolbar *)).wp-block-heading em,
h4:where(:not(.wp-toolbar *)).wp-block-heading em,
h5:where(:not(.wp-toolbar *)).wp-block-heading em,
h6:where(:not(.wp-toolbar *)).wp-block-heading em,
.wp-block-kadence-advancedheading em {
    font-family: var(--Source-Serif-Italic);

    /* font-size: clamp(5.02rem, calc(4.25rem + (100 - 5) * (100vw - 400px) / (2000 - 400)), 14.9rem) */
    font-size: 1.04em;
    display: inline-block;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    letter-spacing: -0.04em;
}

h1:where(:not(.wp-toolbar *)).wp-block-post-title {
    font-size: clamp(2.3rem, calc(2rem + (100 - 86) * (100vw - 400px) / (2000 - 400)), 4rem);
    max-width: none;
    padding-left: 4%;
}

h2:where(:not(.wp-toolbar *)) {
    font-family: var(--DM-Sans);
    font-size: clamp(3rem, calc(2.8rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 6rem);
    font-weight: 500;
    letter-spacing: calc(-0.05vw + (100 - 96) * (40vw - 400px) / (2000 - 400));
    margin-bottom: 3rem;
    line-height: 1.3;
    color: var(--forest-green);
}

h1:where(:not(.wp-toolbar *)) strong,
h1:where(:not(.wp-toolbar *)) b,
h2:where(:not(.wp-toolbar *)) strong,
h2:where(:not(.wp-toolbar *)) b,
h3:where(:not(.wp-toolbar *)) strong,
h3:where(:not(.wp-toolbar *)) b,
h4:where(:not(.wp-toolbar *)) strong,
h4:where(:not(.wp-toolbar *)) b {
    font-weight: 520;
}

h3:where(:not(.wp-toolbar *)),
.author h2 {
    font-family: var(--DM-Sans);
    font-size: clamp(2rem, calc(2rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 4.6rem);
    font-weight: 530;
    letter-spacing: clamp(-0.1rem, -0.08vw, -0.1rem);
    margin-bottom: 2rem;
    line-height: 1.3;
    color: var(--forest-green);
}

h4:where(:not(.wp-toolbar *)) {
    font-family: var(--DM-Sans);
    font-size: clamp(1.8rem, calc(1.8rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.8rem);
    font-weight: 530;
    letter-spacing: -0.05rem;
    margin-bottom: 1.5rem;
    line-height: 1.3;
    color: var(--forest-green);
    margin-top: 0;
}

span:where(:not(.wp-toolbar *)) {
    color: var(--forest-green);
}

/* Spans inside headings inherit the heading's colour, so a colour set on a heading
   (e.g. Kadence Advanced Text) is not overridden by the generic span rule above.
   Colour classes and inline colours on the span still win (higher specificity). */
:where(h1, h2, h3, h4, h5, h6):where(:not(.wp-toolbar *)) span:where(:not(.wp-toolbar *)) {
    color: inherit;
}

.centered {
    margin: 0 auto;
}

.flex-review-score {
    order: 2;
}

/* Full Width Hero Block */
.hero-text-container {
    position: relative;

    /* height: 800px */
    padding: 0 0 0 calc(var(--large-gutter) + var(--thin-gutter));
    border-radius: 0px var(--rounded-corners) var(--rounded-corners) 0px;

    /* padding-bottom: var(--large-gutter) */
    align-self: center;
    flex-direction: column;
    align-items: flex-start;
    margin-top: calc(var(--thin-gutter) * -1) + 1rem;
    z-index: 1;

    /* backdrop-filter: blur(6px) */
    /* background: rgba(0, 0, 0, 0.1) */
}

.faq-hero .hero-text-container {
    padding: var(--large-gutter) 0 var(--large-gutter) var(--large-gutter);
}

.hero-text-container h1,
.home-hero h1 {
    padding-left: 0;
    align-self: flex-start;

    /* min-width: 330px */
    font-size: clamp(3.1rem, calc(3rem + (100 - 45) * (100vw - 400px) / (2000 - 400)), 10.7rem);
    color: var(--light-beige);
}

.home-hero .heading-wrap {
    grid-area: 4 / 2 / 5 / 3;
    z-index: 1;
}

.home-hero .subheading-wrap {
    width: 100%;
    grid-area: 5 / 2 / 6 / 3;
    z-index: 1;
}

.hero-text-container h1 em,
.home-hero h1 em {
    font-size: 1.14em;
}

.hero-text-container p,
.home-hero p {
    color: #dcd5cb;
    margin-bottom: 0;
}

.home-hero p:not(.info-snippet p) {
    min-width: auto;
    width: 35vw;
}

.cta-container {
    gap: var(--thin-gutter);
    justify-content: center;
    flex-wrap: wrap;
}

/* Half Hero Block */
.half-hero {
    min-height: 300px;

    /* max-height: 100svh */
    height:  calc(100svh - 260px);
    max-width: 2560px;
    margin: 90px auto 0 auto;
    flex-direction: column;
    gap: 0 var(--medium-gutter);
    padding-left: var(--large-gutter);
    grid-template-columns: 55% 1fr;
    grid-template-rows: auto 12svh auto;
}

.post-hero {
    padding-right: var(--large-gutter);
}

.half-hero h1 {
    font-size: clamp(4rem, calc(1rem + (90 - 20) * (100vw - 400px) / (2000 - 400)), 7.5rem) !important;

    /* letter-spacing: calc(-0.1vw + (100 - 96) * (16vw - 400px) / (2000 - 400)); */
    color: var(--forest-green);
    min-width: 450px;

    /* max-width: 850px; */
    line-height: 1.2;
    padding-left: 0;

    /* padding-right: 4% */
    margin: 0;
    overflow-wrap: break-word;
    grid-area: 1 / 1 / 3 / 2;
}

.half-hero h1 em {
    font-family: var(--Source-Serif-Italic);

    /* font-size: clamp(3.5rem, calc(1rem + (80 - 2) * (100vw - 400px) / (2000 - 400)), 8rem); */
    font-size: 1.15em;
    display: inline-block;
    font-weight: 400;
    line-height: 1;

    /* letter-spacing: calc(-0.2vw + (100 - 96) * (16vw - 400px) / (2000 - 400)); */
    letter-spacing: -0.04em;
    padding: 0 0.5rem;
    margin-left: -0.5rem;
}

.featured-image-container {
    width: 100%;
    margin-left: auto;
    margin-right: 0!important;
    position: relative;
    grid-area: 1 / 2 / 3 / 3;
}

.featured-image-container figure {
    width: 100%;
    margin: 0!important;

    /* height: 100% */
    padding-bottom: 90%;

    /* overflow: visible */
}

.auto-height {
    height: auto!important;
}

.full-height-hero {
    position: relative;
    z-index: 0;
    grid-template-rows: repeat(5, auto);
    grid-template-columns: 1fr;

    /* height: calc(100svh - calc(var(--thin-gutter) + 90px)) */
    /* min-height: calc(100svh + var(--thin-gutter)) */
    min-height: 100svh;
    padding: 90px var(--thin-gutter) var(--thin-gutter) var(--thin-gutter);
}

.full-height-hero.home-hero {
    min-height: 70svh;
}

.home-hero {
    grid-template-columns: var(--large-gutter) auto var(--large-gutter);
    grid-template-rows: var(--medium-gutter) auto 1fr auto auto auto 1fr auto var(--medium-gutter);
    align-items: start;
}

.home-hero .hero-img-wrap:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(90deg,rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.5) 29%, rgba(0, 0, 0, 0.35) 52%, rgba(0, 0, 0, 0) 75%);
}

.page-template-home .hero-text-container {
    position: relative;
    justify-content: space-between;
    grid-area: 1 / 1 / 5 / 2;
    height: 100%;
    z-index: 1;

    /* top: calc(50% + var(--large-gutter) + 45px) */
    /* min-height: 100svh */
    width: 100%;

    /* -webkit-transform: translateY(-50%) */
    /* -ms-transform: translateY(-50%) */
    /* transform: translateY(-50%) */
    padding: var(--medium-gutter) calc(var(--large-gutter) + var(--thin-gutter));
}

figure:where(:not(.wp-toolbar *)):not(.wp-block-kadence-image) {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--rounded-corners);
}

.rounded-corners {
    border-radius: var(--rounded-corners);
    overflow: hidden;
}

figure:where(:not(.wp-toolbar *)).aspect-4-3 {
    aspect-ratio: 4/3;
}

figure:where(:not(.wp-toolbar *)).auto-image-height {
    padding-bottom: 0!important;
    position: relative;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    align-self: center;
}

figure:where(:not(.wp-toolbar *)).auto-image-height img {
    position: relative;
    height: auto;
}

.full-height-hero figure {
    position: relative;
    grid-area: 1 / 1 / 10 / 4;
    z-index: 0;
    height: 100%;

    /* left: var(--thin-gutter) */
    /* width: calc(100% - calc(var(--thin-gutter) * 2)) */
    /* height: calc(100% - calc(var(--thin-gutter) + 90px)) */
}

.full-height-hero.home-hero figure {
    position: absolute;
}

.page-template-studio-microsite-v2 .full-height-hero figure:not(.studio-details-accordion figure),
.page-template-head-office .full-height-hero figure,
.page-template-PULSE-PEMF .full-height-hero figure,
.page-template-Optimal-Hydration .full-height-hero figure {
    position: absolute;
    height: calc(100% - 90px - var(--thin-gutter));
    width: calc(100% - var(--thin-gutter) *2);
}

.page-template-home .full-height-hero .gradient-container {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    width: 50%;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0) 100%);
    z-index: 1;
}

.gradient-blur > div,
.gradient-blur:before,
.gradient-blur:after {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.gradient-blur:before {
    content: "";
    z-index: 1;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 0) 37.5%
  );
    mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 0) 37.5%
  );
}

.gradient-blur > div:nth-of-type(1) {
    z-index: 2;
    -webkit-backdrop-filter: blur(32px);
    backdrop-filter: blur(32px);
    -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 0) 50%
  );
    mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 0) 50%
  );
}

.gradient-blur > div:nth-of-type(2) {
    z-index: 3;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 0) 62.5%
  );
    mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 0) 62.5%
  );
}

.gradient-blur > div:nth-of-type(3) {
    z-index: 4;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 0) 75%
  );
    mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 0) 75%
  );
}

.gradient-blur > div:nth-of-type(4) {
    z-index: 5;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 0) 87.5%
  );
    mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 0) 87.5%
  );
}

.gradient-blur > div:nth-of-type(5) {
    z-index: 6;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 0) 100%
  );
    mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 0) 100%
  );
}

.gradient-blur > div:nth-of-type(6) {
    z-index: 7;
    -webkit-backdrop-filter: blur(1px);
    backdrop-filter: blur(1px);
    -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
    mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
}

.gradient-blur:after {
    content: "";
    z-index: 8;
    -webkit-backdrop-filter: blur(0.5px);
    backdrop-filter: blur(0.5px);
    -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
    mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
}

.page-template-home .full-height-hero p:not(.info-snippet p) {
    /* width: 70% */
    max-width: 600px;
    z-index: 1;
    margin-bottom: 4.5rem;

    /* text-shadow: 4px 4px 20px #fff */
}

.home-hero img.cover-fit {
    -o-object-position: 50% 30%;
    object-position: 50% 30%;
    position: relative;
}

.cta,
.info-button {
    padding-left: clamp(2.2rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3rem);
    padding-right: clamp(2.2rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3rem);
    padding-top: clamp(1.2rem, calc(0.4rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.6rem);
    padding-bottom: clamp(1.2rem, calc(0.4rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.6rem);
    background-color: var(--orange);
    border-radius: 10rem;
    color: #fff;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    display: block;
    white-space: nowrap!important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex: 1;
    text-align: center;
    transition: background-color 0.2s ease;
}

.info-button {
    width: -webkit-fit-content!important;
    width: -moz-fit-content!important;
    width: fit-content!important;
    max-width: none!important;
    min-width: auto!important;
    display: flex;
    background-color: var(--forest-green);
    border: 1px solid #60746c;
    padding-left: clamp(1.6rem, calc(1.2rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2rem);
    padding-right: clamp(1.6rem, calc(1.2rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2rem);
    padding-top: clamp(0.4rem, calc(0.1rem + (70 - 68) * (100vw - 400px) / (2000 - 400)), 1.2rem);
    padding-bottom: clamp(0.4rem, calc(0.1rem + (70 - 68) * (100vw - 400px) / (2000 - 400)), 1.2rem);
    color: #bddbd0!important;
    font-size: clamp(1rem, calc(1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.5rem) !important;
}

.home-hero .info-button-wrap {
    grid-area: 2 / 2 / 3 / 3;
    z-index: 1;
}

.home-hero .cta-container {
    grid-area: 6 / 2 / 7 / 3;
    z-index: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.info-button:before {
    content: '';
    display: inline-block;
    width: 1.2vw;
    height: 1.2vw;
    max-width: 0.7rem;
    max-height: 0.7rem;
    border-radius: 50%;
    background: var(--light-teal);
    margin-right: 0.5em;
    align-self: center;
}

.cta-green {
    background-color: var(--forest-green);
}

.cta-green:hover {
    background-color: var(--orange);
}

.cta-outline {
    border: 1px solid var(--orange);
    background: none;
    color: #000;
    transition: border-color 0.2s ease;
}

.cta-white-text {
    color: #fff;
}

.cta-border-outline:before {
    content: '';
    position: absolute;
    top: -50%;
    left: -15%;
    width: 130%;
    height: 200%;
    border-radius: 10rem;
    border: 1px solid #fff;
}

/* .cta:after {
    content: '\2197';
    padding-left: 1rem;
} */
/* .cta.down-arrow:after {
    content: '\2198';
} */
.cta:hover {
    background: var(--forest-green);
    color: #fff!important;
}

.cta-outline:hover {
    border: 1px solid var(--forest-green);
    background: none;
    color: var(--forest-green)!important;
}

.cta-outline.cta-white-text:hover {
    color: var(--light-teal)!important;
}

.cta-telephone {
    display: flex;
    align-items: center;
}

/* .cta-telephone:after {
    content: none;
} */
.cta-telephone img {
    margin-left: 1rem;

    /* margin-top: -0.1rem */
}

.cta.beige {
    background-color: var(--light-beige);
    color: #000;
}

.cta.beige:hover {
    background: var(--forest-green);
}

.info-snippet {
    display: grid;
    grid-template-columns: repeat(4, auto);
    margin-top: 4.5rem;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
    row-gap: 1rem;
    width: 100%;
    align-items: end;

    /* flex-wrap: wrap */
    border-top: 1px solid #60746c;
    padding-top: 4rem;
    grid-area: 8 / 2 / 9 / 3;
    z-index: 1;
}

.info-snippet .secondary {
    width: auto!important;
    max-width: none!important;
    min-width: auto!important;
    color: #bddbd0 !important;
    font-size: clamp(1.2rem, calc(1.2rem + (72 - 60) * (100vw - 400px) / (2000 - 400)), 1.7rem) !important;
    font-weight: 350;
    margin-bottom: 0!important;
}

.info-snippet p span:not(.container):not(.secondary) {
    color: #fff;
    font-weight: 550;
    font-size: clamp(1.2rem, calc(1.2rem + (72 - 60) * (100vw - 400px) / (2000 - 400)), 1.7rem);
}

.reviews-snippet {
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
}

span:where(:not(.wp-toolbar *)).container,
span:where(:not(.wp-toolbar *)).review-stars {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    color: #bddbd0 !important;
}

.no-wrap {
    white-space: nowrap;
}

img:where(:not(.wp-toolbar *)).cover-fit,
.cover-fit img {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
}

.quote-box {
    border-radius: 2rem;
    min-width: 300px;
    width: 50%;
    max-width: 400px;
    padding: 3rem;
    justify-self: right;
    margin: 0!important;
    margin-right: 4rem!important;
    margin-top: 6rem !important;
    background: rgba(237, 237, 237, 0.7);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    grid-area: 2 / 2 / 4 / 3;
}

.quote-box p {
    font-size: 2rem;
    margin: 0;
    font-style: italic;
    font-weight: 350;
}

.expand {
    width: 100%;
}

.article section:not(.wider),
main:where(:not(.wp-toolbar *)) article,
.wider-inner {
    max-width: 1200px;

    /* width: 80%; */
    box-sizing: content-box;
    margin: 0 auto;
    padding: 0 var(--medium-gutter) var(--medium-gutter) var(--medium-gutter);
}

main:where(:not(.wp-toolbar *)).a-z {
    position: relative;
    z-index: 0;
}

main:where(:not(.wp-toolbar *)).a-z:before {
    /* content: '' */
    position: absolute;
    top: -25%;
    left: 0;
    width: 100%;
    height: 150%;
    z-index: -1;
    background: radial-gradient(ellipse at 81% 50%, rgba(240, 224, 201, 0.5) 0%, rgba(245, 242, 238, 0.5) 70%);
}

/* main.a-z section {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
} */
.bg-image-wrapper {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
}

.bg-image-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: -1;
}

.article-bg-image {
    opacity: 0.15;
    mix-blend-mode: overlay;
}

.sticky-spacer {
    height: 40svh;
}

.article-bg-image:nth-of-type(1) {
    width: 35%;
    left: 0;
    top: 10%;
    padding-bottom: 36%;
    border-radius: 0 var(--rounded-corners) var(--rounded-corners) 0;
}

.article-bg-image:nth-of-type(2) {
    width: 30%;
    margin-left: auto;
    padding-bottom: 32%;
    margin-top: 100px;
    border-radius: var(--rounded-corners) 0 0 var(--rounded-corners);
}

.wider-inner {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.article p {
    max-width: none;
}

article:where(:not(.wp-toolbar *)),
article:where(:not(.wp-toolbar *)) * {
    max-width: none;
}

.single main img,
.block-editor-page main img {
    max-width: 100%;
}

.editor-styles-wrapper {
    background: var(--off-white);
}

.wp-block-image:not(.half-hero .wp-block-image) {
    margin-bottom: 3rem;
}

.wp-block-image.size-full img {
    max-width: 100%;
    height: auto;
    width: 100%;
}

.wp-block-list {
    list-style: disc;
    line-height: 2;
    padding-left: 2rem;
    padding-bottom: 3rem;
    font-family: var(--DM-Sans);
}

.wp-block-gallery {
    gap: var(--thin-gutter)!important;
    margin-bottom: 3rem;
}

.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
    width: calc(33.33% - var(--thin-gutter))!important;
}

.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
    width: calc(25% - var(--thin-gutter))!important;
}

.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
    width: calc(33.33% - var(--thin-gutter))!important;
}

.wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image) {
    width: calc(50% - var(--thin-gutter))!important;
}

.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
    width: 100%!important;
}

.single main a,
.article main a,
.wp-block a {
    text-decoration: none!important;
    cursor: pointer;
    min-width: 0!important;
}

.single main a:not(.cta),
.article main a:not(.cta),
.wp-block a:not(.cta) {
    color: var(--orange)!important;
}

.single main a:active,
.single main a:hover,
.article main a:active,
.article main a:hover,
.wp-block a:active,
.wp-block a:hover {
    color: #000;
}

/* Front end — targets the figure directly */
.wp-block-pemfit-half-text-image.is-image-left .wp-block-pemfit-hti-image {
    order: -1;
}

/* Editor — targets the block wrapper div that wraps the figure */
.editor-styles-wrapper .wp-block-pemfit-half-text-image.is-image-left
    .block-editor-block-list__block:has(.wp-block-pemfit-hti-image) {
    order: -1;
}

/* Editor Style Overrides */
/* Focal Point Adjust circle picker */
.wp-block-image:not(.half-hero .wp-block-image) img {
    border-radius: var(--rounded-corners)!important;
}

.components-focal-point-picker__icon_container {
    background: rgba(243, 113, 34, 0.7)!important;
}

/* left-info and right-info blocks */
.left-info,
.right-info {
    padding: var(--large-gutter) var(--medium-gutter);
    gap: var(--medium-gutter);
    align-items: center;
    max-width: calc(1600px + var(--large-gutter) + var(--medium-gutter));
    justify-content: center;
    margin: 0 auto;
}

.right-info figure {
    flex-basis: 50%;
    align-self: stretch;
}

.right-info.small figure {
    flex-basis: 20%;
    min-width: 200px;
}

#pete-comparison figure {
    position: relative;
    padding-bottom: 110%;

    /* overflow: visible */
    width: 25vw;
    min-width: 129px;
    max-width: 300px;
    flex-direction: column;
    justify-content: flex-end;
}

#pete-comparison .flex {
    gap: 3rem;
}

#pete-comparison figure img {
    border-radius: var(--rounded-corners);
    position: absolute;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
}

#pete-comparison figure > img:nth-of-type(1),
#pete-comparison figure > picture:nth-of-type(1) img {
    -o-object-position: 50% 8%;
    object-position: 50% 8%;
    justify-content: center;
}

#pete-comparison .caption span {
    text-align: center;
    width: 100%;
    padding: 2rem;
}

.right-info p.summary {
    font-size: clamp(2.2rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3.4rem);
    font-weight: 500;
    margin-bottom: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.right-info figure img {
    position: relative;
    height: 100%;
    -o-object-position: 0% 50%;
    object-position: 0% 50%;
}

.info-container {
    flex-basis: 50%;
}

.card-grid {
    flex-basis: 50%;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 2rem;
    max-width: 700px;
}

.card-grid figure {
    /* height: 182px; */
    padding: 3rem 3rem 0 3rem;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #FCF9F4;
    box-shadow: 0px 3px 16px -11px rgba(0,0,0,0.2);
}

.card-grid figure img {
    width: calc(4rem + (100 - 50) * (100vw - 400px) / (2000 - 400));
    max-width: 75px;
    min-width: 50px;
    height: auto;
}

.card-grid figcaption {
    padding: 2rem 1rem;
}

/* centered-info block */
.centered-info {
    text-align: center;
    flex-direction: column;
    padding: var(--large-gutter) var(--thin-gutter);
}

.review-info {
    gap: 3rem;
}

.review-info h2 {
    margin-bottom: 0;
}

.centered-info p {
    margin: 0 auto;
}

.review-score {
    line-height: 1;
    margin: 0 auto;
}

.review-score h3 {
    margin: 0;
}

.review-score span {
    margin: 0 var(--thin-gutter);
}

.review-score span img,
.info-snippet p span img {
    align-self: center;
    width: 20px;
    height: 20px;
    padding: 0.2rem;
}

/* three-image-text-grid block */
.three-image-text-grid {
    grid-template-columns: 35% 10% 10% 25% calc(20% - 2vw);
    margin: 0 var(--thin-gutter);
    padding: var(--medium-gutter);
    border-radius: var(--rounded-corners);
    grid-template-rows: auto 10vw 20vw auto;
    background-image: linear-gradient(
    135deg,
    hsl(35deg 57% 86%) 0%,
    hsl(35deg 54% 85%) 8%,
    hsl(35deg 52% 84%) 17%,
    hsl(35deg 50% 82%) 25%,
    hsl(35deg 49% 81%) 33%,
    hsl(35deg 48% 79%) 42%,
    hsl(35deg 47% 78%) 50%,
    hsl(35deg 46% 77%) 58%,
    hsl(35deg 45% 75%) 67%,
    hsl(35deg 44% 74%) 75%,
    hsl(35deg 43% 72%) 83%,
    hsl(35deg 43% 71%) 92%,
    hsl(35deg 42% 70%) 100%
  );
}

.three-image-text-grid .title-p {
    grid-area: 1 / 1 / 3 / 3;
}

.three-image-text-grid .title-p p {
    margin-bottom: 0;
}

/* .three-image-text-grid .title-p,
.three-image-text-grid p:not(.title-p p) {
    max-width: 850px;
} */
.three-image-text-grid .p-cta {
    grid-area: 5 / 3 / auto / 6;
    margin: 2vw 0 0 2vw;
    width: 100%;
}

.three-image-text-grid p {
    max-width: none;
}

.three-image-text-grid figure:nth-of-type(1) {
    grid-area: 1 / 3 / 5 / 6;
    margin-left: 2vw;
    padding-bottom: 50%;
}

.three-image-text-grid figure:nth-of-type(2) {
    grid-area: 3 / 1 / 6 / 3;
    margin: 2vw 0 0 0;
}

.three-image-text-grid figure:nth-of-type(3) {
    grid-area: 5 / 3 / 7 / 6;
    margin-left: 2vw;
    margin-top: 2vw;
}

.three-image-text-grid figure:nth-of-type(3) img {
    -o-object-position: 30% 50%;
    object-position: 30% 50%;
}

/* full-width-image block */
.full-width-image {
    margin: 0 var(--thin-gutter);
}

.full-width-image figure {
    padding-bottom: 46%;
}

.full-width-image figure img {
    -o-object-position: 50% 40%;
    object-position: 50% 40%;
}

/* sign-up form block */
.sign-up {
    position: relative;
    align-items: center;
    justify-content: center;
}

.sign-up:before {
    content: 'Join Us';
    text-transform: uppercase;
    height: 100%;
    width: 100%;
    z-index: 1;
    font-weight: 500;
    color: var(--forest-green);
    line-height: 1;
    opacity: 0.05;
    font-size: clamp(5rem, calc(9rem + (300 - 10) * (100vw - 400px) / (2000 - 400)), 50rem);
}

.sign-up-info {
    position: absolute;
    align-self: center;
    z-index: 1;
    min-height: 200px;
    flex-direction: column;
    justify-content: center;
}

/* footer styles */
footer:where(:not(.wp-toolbar *)) {
    position: relative;
    z-index: 10001;
    padding: 0 var(--thin-gutter);
    padding-bottom: var(--thin-gutter);
}

/* .page-template-studio-microsite-v2 footer {
    background: var(--off-white)
} */
#footer-background {
    position: relative;
    z-index: 1;
}

#footer-background,
#footer-info {
    padding: var(--thin-gutter) calc(var(--medium-gutter) - var(--thin-gutter)) 0 calc(var(--medium-gutter) - var(--thin-gutter));

    /* border-radius: var(--rounded-corners) */
}

#footer-info {
    margin: var(--thin-gutter);
    padding: 2rem;
}

#footer-background figure:not(#footer-logo) {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    z-index: 0;
}

#footer-top {
    height: 60px;
    width: 100%;
}

#footer-info {
    position: relative;
    z-index: 1;
    flex-direction: column;
    align-items: center;
    gap: var(--medium-gutter);
    background: rgba(242, 237, 232, 0.8);
    -webkit-backdrop-filter: blur(18px) contrast(1.2);
    backdrop-filter: blur(18px) contrast(1.2);
    border-radius: var(--rounded-corners);
}

#footer-links {
    gap: var(--large-gutter) 2rem;
    flex-wrap: wrap;
    max-width: 1400px;
    width: 100%;
    justify-content: space-evenly;
}

#footer-links ul {
    min-width: 165px;
    padding: 0;
}

ul:where(:not(.wp-toolbar *)) li {
    font-size: clamp(1.6rem, calc(1.1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.1rem);
}

#footer-links ul li {
    list-style: none;
}

#footer-links h4 {
    padding-left: 1rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--dun);
    padding-bottom: 1rem;
    color: #746654;
}

#footer-links a {
    padding: 1rem;
    display: block;
    line-height: 1;
}

#find-studio {
    position: relative;
    width: 100%;
    text-align: center;
    justify-content: center;
}

#find-studio:before {
    content: attr(data-watermark);
    position: relative;

    /* left: 0 */
    text-transform: uppercase;
    height: 100%;
    width: 100%;
    z-index: -1;
    font-weight: 500;
    color: var(--pemfit-watermark-color, var(--forest-green));
    line-height: 1;
    opacity: 0.15;
    font-size: clamp(2rem, calc(4.4rem + (240 - 10) * (100vw - 400px) / (2000 - 250)), 50rem);
    white-space: nowrap;
}


#find-studio .cta {
    position: absolute;
    align-self: center;
}

#disclaimer {
    font-size: 1rem;
    text-align: center;
    max-width: 858px;
}

#disclaimer {
    margin-bottom: 0;
}

#copyright-info {
    position: relative;
    z-index: 0;
    background: var(--forest-green);
    padding: 0 var(--medium-gutter);
    font-size: 1.4rem;
    font-weight: 250;
    padding-top: var(--rounded-corners);
    padding-bottom: 1rem;
    text-align: center;
    border-radius: 0 0 var(--rounded-corners) var(--rounded-corners);
    margin-top: calc(var(--rounded-corners)* -1);
}

#copyright-info {
    color: #fff;
}

#copyright-info p,
#copyright-info a {
    display: inline-block;
    line-height: 1;
    padding: 1rem;
    margin: 0.9rem 0 0 0;
}

/* text follows the bar's colour (set it on the copyright group); links follow the paragraph's
   colour unless that block sets its own Link colour */
#copyright-info p,
#copyright-info > a,
#copyright-info p:not(.has-link-color) a {
    color: inherit;
}

/* Studio Microsite template */
.studio-hero-info,
.brand-feature-hero-info {
    position: relative;
    flex-direction: column;
    padding: var(--medium-gutter);
    align-items: center;
    border-radius: var(--rounded-corners);
    background: rgba(255,255,255,0.8);
    -webkit-backdrop-filter: blur(24px) contrast(1.2);
    backdrop-filter: blur(24px) contrast(1.2);
    gap: 3rem;

    /* top: calc(var(--thin-gutter) * -1) */
    margin-top: 2rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
    width: calc(40rem + (300 - 40) * (100vw - 400px) / (2000 - 400));
    max-width: 850px;
    min-width: 250px;
    align-self: center;
    z-index: 2;
}

.brand-feature-hero-info {
    background: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    gap: 0;
    align-self: flex-end;
    width: calc(60rem + (300 - 40) * (100vw - 400px) / (2000 - 400));
    max-width: 1200px;
    min-width: 250px;
    padding: var(--thin-gutter) var(--medium-gutter);
}

.page-template-Optimal-Hydration .brand-feature-hero-info {
    width: calc(80rem + (300 - 40) * (100vw - 400px) / (2000 - 400));
    max-width: 1200px;
    min-width: 250px;
    padding-bottom: var(--medium-gutter);
}

.page-template-PULSE-PEMF .full-height-hero .brand-feature-hero-info figure {
    position: relative;
    width: clamp(25rem, calc(60% + (380 - 180) * (100vw - 400px) / (2000 - 400)), 68rem);
}

.page-template-Optimal-Hydration .full-height-hero .brand-feature-hero-info figure {
    position: relative;
    width: clamp(25rem, calc(30% + (380 - 180) * (100vw - 400px) / (2000 - 400)), 50rem);
}

.page-template-PULSE-PEMF .full-height-hero .brand-feature-hero-info figure img,
.page-template-Optimal-Hydration .full-height-hero .brand-feature-hero-info figure img {
    position: relative;
}

.studio-hero-info h1,
.brand-feature-hero-info h1 {
    color: var(--forest-green);
    text-align: center;
    padding-left: 0;
    margin-bottom: 0;
    font-size: clamp(3.5rem, calc(3rem + (100 - 60) * (100vw - 400px) / (2000 - 400)), 8rem);
    letter-spacing: clamp(-0.3rem, calc(-0.2vw + (100 - 96) * (100vw - 400px) / (2000 - 400)), -0.1rem);
}

.studio-hero-info h1 em,
.brand-feature-hero-info h1 em {
    font-size: 1.14em;
}

.page-template-Optimal-Hydration .brand-feature-hero-info h1 em {
    font-size: clamp(2.02rem, calc(1.6rem + (100 - 60) * (100vw - 400px) / (2000 - 400)), 8rem);
    letter-spacing: clamp(-0.15rem, calc(-0.15vw + (100 - 96) * (100vw - 400px) / (2000 - 400)), -0.1rem);
}

.brand-feature-hero-info h1 {
    color: #fff;
    padding: 1rem 0 3rem 0;
    border-bottom: 1px solid #fff;
    width: 100%;
}

.page-template-Optimal-Hydration .brand-feature-hero-info h1 {
    padding: 3rem 0 0 0;
    border-top: 1px solid #fff;
    border-bottom: none;
}

.page-template-Optimal-Hydration .studio-hero figure {
    padding-bottom: 3rem;
}

.brand-feature-hero-info h2 {
    color: #fff;
    font-size: clamp(1.6rem, calc(1.1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.1rem);
    margin-top: 3rem;
    text-align: center;
}

.studio-hero-info ul {
    width: 100%;
    max-width: 345px;
    padding-left: 0;
    margin: 0 auto;
}

.studio-hero-info ul li {
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid #D8BEAA;
}

.studio-hero-info ul li:last-of-type {
    border-bottom: none;
}

.OH-product-intro {
    text-align: center;
    flex-direction: column;
    align-items: center;
    padding: var(--medium-gutter) var(--large-gutter);
    width: 60%;
    margin: 0 auto;
    background: #F7F7F7;
    border-radius: var(--rounded-corners);
    margin-top: calc(var(--large-gutter) - var(--thin-gutter));
}

.OH-product-intro h2 {
    line-height: 1;
    font-size: clamp(2.6rem, calc(2.6rem + (100 - 50) * (100vw - 400px) / (2000 - 400)), 7.8rem);
}

.OH-product-intro p {
    margin-bottom: 0;
}

.OH-product-intro figure {
    width: calc(100% + var(--large-gutter) *2);
    margin-left: calc(var(--large-gutter) * -1);
}

.OH-product-intro figure img {
    position: relative;
}

/* Video Container Block */
.video-container {
    margin: var(--large-gutter);
}

sup:where(:not(.wp-toolbar *)) {
    line-height: 0;
}

.citations {
    margin-bottom: 0;
    margin-top: 3rem;
    font-size: clamp(1.4rem, calc(0.8rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.8rem);
}

.citations a {
    font-size: clamp(1.4rem, calc(0.8rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.8rem)!important;
}

/* Map + Info Block */
.map-info {
    margin: 0 var(--thin-gutter);
    justify-content: flex-start;
    gap: var(--thin-gutter);
}

.map {
    flex-basis: 50%;
    border-radius: var(--rounded-corners);
    background: var(--beige);
    background-image: linear-gradient(45deg, #D6C9B7 0%, #e6ded2 100%);
    height: auto;
}

/* map block styles */
/* .map iframe {
    border: 0 !important;
    border-radius: var(--rounded-corners)!important;
    position: relative;
    padding: 0!important;
    margin: 0!important;
} */
.page-template-studio-microsite .mapp-layout {
    aspect-ratio: auto!important;
}

.essential-info {
    text-align: center;

    /* -ms-flex-preferred-size: 35% */
    /* flex-basis: 50% */
    flex-direction: column;
    gap: 3rem;
    width: 100%;

    /* height: 700px */
    /* padding: 4rem */
    border-radius: var(--rounded-corners);
    align-items: center;
    justify-content: center;

    /* background-image: -o-linear-gradient(315deg, #E5E5DC 0%, #D0D1C6 100%) */
    /* background-image: linear-gradient(135deg, #E5E5DC 0%, #D0D1C6 100%) */
}

.essential-info figure {
    border-radius: 0;
    margin-bottom: 1rem;
    height: auto;
    width: auto;
    position: relative;
    margin: 0 auto;
    left: auto;
}

.essential-info h3 {
    margin-bottom: 2rem;
    font-size: clamp(2.2rem, calc(1.6rem + (100 - 86) * (100vw - 400px) / (2000 - 400)), 3rem);
    font-weight: 530;
    letter-spacing: clamp(-0.1rem, -0.08vw, -0.1rem);
}

/* .info-wrap {
    max-width: 90%
} */
.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 4rem;
    width: 4rem;
}

.social-link.linked-in img {
    padding-bottom: 1px;
}

.essential-info p {
    margin: 0 auto;

    /* width: 100% */
    overflow-wrap: break-word;
}

/* Image Side & Below + Text Block */
.image-side-below-text {
    grid-template-columns: auto 40% 40% auto;
    grid-template-rows: 1fr 25vw;
    padding: var(--large-gutter);
    margin: 0 auto;
    gap: 0 var(--large-gutter);
    max-width: 2560px;
    grid-area: 1 / 1 / 3 / 2;
}

.image-side-below-text figure:nth-of-type(1) {
    grid-area: 1 / 2 / auto / 3;
    padding-bottom: 100%;
}

.image-side-below-text-info {
    padding-top: var(--large-gutter);
    grid-area: 1 / 3 / 2 / 4;
    flex-direction: column;
    justify-content: center;
}

.image-side-below-text-info p {
    margin-bottom: 0;
    padding-bottom: var(--large-gutter);
}

.image-side-below-text .cta {
    grid-area: 2 / 2 / 3 / 3;
    align-self: center;
    justify-self: center;
}

.image-side-below-text figure:nth-of-type(2) {
    grid-area: 2 / 3 / 3 / 4;
}

/* 2 & 3 card blocks */
.two-card {
    text-align: center;
    position: relative;
    z-index: 0;
}

.two-card h2 {
    margin-bottom: 6rem;
}

.card-container {
    gap: var(--large-gutter);
    justify-content: center;
}

.three-card-grid .card-container {
    gap: var(--thin-gutter);
    padding: 0 var(--medium-gutter);
    margin-bottom: var(--large-gutter);
}

.three-card-grid h2 {
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1;
    margin: var(--large-gutter) 0;
}

.card {
    background: #EDE7DF;
    flex-direction: column;

    /* padding: 4rem 12rem */
    border-radius: var(--rounded-corners);
    flex-basis: 30%;
    border-radius: var(--rounded-corners);
    max-width: 500px;
    min-width: 300px;
    padding-bottom: 4rem;
}

.card-large {
    padding-bottom: 0;
    background-color: var(--sage-grey);
    text-align: center;
    flex-basis: 33.33%;
    width: 100%;
    min-width: 0;
}

.card-large figure {
    flex-direction: column;
    height: 100%;
    padding: 22% var(--medium-gutter);
}

.card-large figcaption {
    font-size: 2.2rem;
    font-weight: 570;
    margin: 3rem 0;
}

.card-large figure img {
    margin: 0 auto;
    width: calc(6rem + (100 - 50) * (100vw - 400px) / (2000 - 400));
    max-width: 110px;
    min-width: 50px;
    height: auto;
}

.card-large p {
    /* margin-top: auto */
    margin-bottom: 0;
}

.card .cta {
    flex: initial;
}

.card ul li {
    padding: 1rem 0;
    border-bottom: 1px solid #000;
    font-weight: 550;
    list-style: none;
    line-height: 1.6;
    font-size: clamp(1.8rem, calc(1.3rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.1rem);
}

.card ul li:last-of-type {
    border: none;
}

.card ul li img {
    margin-right: 0.6rem;
}

.card-header {
    color: #fff;
    border-radius: var(--rounded-corners) var(--rounded-corners) 0 0;
    position: relative;
}

.card-header p:not(.card-label p) {
    padding: 2rem;
}

.card:nth-of-type(1) .card-header {
    background: var(--forest-green);
}

.card:not(.four-card .card):nth-of-type(2) .card-header {
    background: var(--orange);
}

.card-label {
    text-transform: uppercase;
    font-size: 1.6rem;
    position: absolute;
    right: 0;
}

.card-label:before {
    content: '';
    text-transform: uppercase;
    position: absolute;
    top: -40px;
    right: -40px;
    width: 108px;
    height: 108px;
    border-radius: 100px;
    background: var(--forest-green);
    z-index: -1;
}

.card-label p {
    letter-spacing: 0.3rem;
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    margin-top: -2rem;
    overflow-wrap: normal;
}

.card-label p span {
    display: inline-flex;
    transform: rotate(90deg);
    margin-right: -60px;
    margin-left: 0.3rem;
    margin-top: 1.3rem;
    position: relative;
    color: #fff;
}

.card-label p span:before {
    content: '';
    position: absolute;
    top: 1px;
    left: -17px;
    height: 16px;
    width: 16px;
    transform: rotate(-90deg);
    background-image: url('graphics/gift-white.svg');
    background-repeat: no-repeat;
    z-index: 1;
}

.card-header p {
    margin-bottom: 0;
}

.card h3 {
    padding: 4rem 10% 0 10%;
    color: #fff;
    font-size: clamp(2rem, calc(2.4rem + (100 - 86) * (100vw - 400px) / (2000 - 400)), 4rem);
    letter-spacing: clamp(-0.05rem, -0.06vw, -0.1rem);
}

.card .price {
    font-size: clamp(3rem, calc(2.4rem + (100 - 86) * (100vw - 400px) / (2000 - 400)), 4.5rem);
    font-weight: 600;
    color: var(--forest-green);
}

.card-main {
    padding: 0 var(--medium-gutter);
}

.card .cta {
    align-self: center;
    margin-top: auto;
}

.t-and-c {
    font-size: 1.2rem;
}

.three-card-grid .centered {
    margin: 0 auto 4rem auto;
}

.three-card-grid p.centered {
    display: block;
    text-align: center;
}

/* Join Us Form */
.join-us {
    width: 40%;
    max-width: 1200px;
    margin: 0 auto;
}

.inline-fields .wpforms-field-layout-rows,
.join-us .wpforms-field-layout {
    width: 100%!important;
}

.wpforms-container.inline-fields {
    padding: 0 1.5rem!important;
}

/* Global Overrides */
input:where(:not(.wp-toolbar *)):-webkit-autofill,
input:where(:not(.wp-toolbar *)):-webkit-autofill:hover,
input:where(:not(.wp-toolbar *)):-webkit-autofill:focus,
input:where(:not(.wp-toolbar *)):-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
    background-color: #fff!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form label.wpforms-error,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form em.wpforms-error {
    position: absolute!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container input[type=date]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=datetime]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=datetime-local]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=email]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=month]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=number]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=password]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=range]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=search]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=tel]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=text]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=time]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=url]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=week]:focus,
div:where(:not(.wp-toolbar *)).wpforms-container select:focus,
div:where(:not(.wp-toolbar *)).wpforms-container textarea:focus,
.wp-core-ui div.wpforms-container input[type=date]:focus,
.wp-core-ui div.wpforms-container input[type=datetime]:focus,
.wp-core-ui div.wpforms-container input[type=datetime-local]:focus,
.wp-core-ui div.wpforms-container input[type=email]:focus,
.wp-core-ui div.wpforms-container input[type=month]:focus,
.wp-core-ui div.wpforms-container input[type=number]:focus,
.wp-core-ui div.wpforms-container input[type=password]:focus,
.wp-core-ui div.wpforms-container input[type=range]:focus,
.wp-core-ui div.wpforms-container input[type=search]:focus,
.wp-core-ui div.wpforms-container input[type=tel]:focus,
.wp-core-ui div.wpforms-container input[type=text]:focus,
.wp-core-ui div.wpforms-container input[type=time]:focus,
.wp-core-ui div.wpforms-container input[type=url]:focus,
.wp-core-ui div.wpforms-container input[type=week]:focus,
.wp-core-ui div.wpforms-container select:focus,
.wp-core-ui div.wpforms-container textarea:focus {
    border-color: var(--forest-green)!important;
    box-shadow: 0 0 0 1px var(--forest-green),0px 1px 2px rgba(0,0,0,0.15)!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container input[type=submit]:not(:hover):not(:active),
div:where(:not(.wp-toolbar *)).wpforms-container button[type=submit]:not(:hover):not(:active),
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-page-button:not(:hover):not(:active),
.wp-core-ui div.wpforms-container input[type=submit]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container button[type=submit]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container .wpforms-page-button:not(:hover):not(:active) {
    background-color: var(--orange)!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container input[type=submit]:focus:after,
div:where(:not(.wp-toolbar *)).wpforms-container button[type=submit]:focus:after,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-page-button:focus:after,
.wp-core-ui div.wpforms-container input[type=submit]:focus:after,
.wp-core-ui div.wpforms-container button[type=submit]:focus:after,
.wp-core-ui div.wpforms-container .wpforms-page-button:focus:after {
    content: none!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container input[type=submit]:hover,
div:where(:not(.wp-toolbar *)).wpforms-container input[type=submit]:active,
div:where(:not(.wp-toolbar *)).wpforms-container button[type=submit]:hover,
div:where(:not(.wp-toolbar *)).wpforms-container button[type=submit]:active,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-page-button:hover,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-page-button:active,
.wp-core-ui div.wpforms-container input[type=submit]:hover,
.wp-core-ui div.wpforms-container input[type=submit]:active,
.wp-core-ui div.wpforms-container button[type=submit]:hover,
.wp-core-ui div.wpforms-container button[type=submit]:active,
.wp-core-ui div.wpforms-container .wpforms-page-button:hover,
.wp-core-ui div.wpforms-container .wpforms-page-button:active {
    background: var(--forest-green)!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form .wpforms-field input.wpforms-error,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form .wpforms-field input.user-invalid,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form .wpforms-field textarea.wpforms-error,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form .wpforms-field textarea.user-invalid,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form .wpforms-field select.wpforms-error,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form .wpforms-field select.user-invalid {
    border-color: var(--orange)!important;
    box-shadow: 0 0 1px var(--orange)!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form label.wpforms-error,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form em.wpforms-error {
    color: var(--orange)!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form label.wpforms-error:before,
div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-form em.wpforms-error:before {
    background-color: var(--orange)!important;
}

div:where(:not(.wp-toolbar *)).wpforms-container .wpforms-confirmation-container-full,
div:where(:not(.wp-toolbar *))[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
    background: var(--light-beige)!important;
    border: 1px solid var(--orange)!important;
    border-radius: var(--rounded-corners)!important;
    padding: 4rem 2rem!important;
}

/* End Global Overrides */
.inline-fields.wpforms-container-full .wpforms-form .wpforms-submit-container {
    margin-top: 15px!important;
    align-self: flex-start!important;
}

.inline-fields.wpforms-container.inline-fields .wpforms-submit-container {
    width: 150px!important;
}

.inline-fields.wpforms-container.inline-fields .wpforms-field-container {
    width: 100%!important;
}

.inline-fields.wpforms-container.inline-fields .wpforms-field-container .wpforms-field {
    padding-left: 0!important;
}

.wpforms-container.inline-fields .wpforms-form {
    gap: 1.5rem!important;
}

.inline-fields .wpforms-form .wpforms-field-layout .wpforms-layout-row,
.inline-fields .wpforms-form .wpforms-field-repeater .wpforms-layout-row {
    margin: 0!important;
    gap: 1.5rem!important;
}

.inline-fields .wpforms-form .wpforms-field-layout .wpforms-layout-column,
.inline-fields .wpforms-form .wpforms-field-repeater .wpforms-layout-column {
    padding: 0!important;
}

.join-us .wpforms-form input {
    width: 300px!important;
}

.join-us .wpforms-form input,
.wpforms-submit {
    border-radius: 10rem!important;
    height: 45px!important;
    font-size: inherit!important;
}

/* affiliate logos block */
.affiliate-logos {
    justify-content: space-evenly;
    max-width: 1200px;
    width: 80%;
    margin: 0 auto;
    gap: 0 4rem;
    padding: 0 var(--medium-gutter);
    align-items: center;
}

.affiliate-logos figure {
    position: relative;
    border-radius: 0;
    max-width: 200px;
}

.affiliate-logos figure img {
    position: relative;
    width: 100%;
    height: auto;
}

/* Borderless Image Half Hero Block */
.borderless-image {
    padding-left: 0;
    justify-content: center;
}

.hero-map {
    height: 70svh;
}

.borderless-image h1,
.borderless-image-right h1,
.borderless-image-gallery-right h1 {
    font-size: clamp(4rem, calc(3.6rem + (90 - 60) * (100vw - 400px) / (2000 - 400)), 7.5rem);
    margin-bottom: 3rem;
    line-height: 1;
}

.borderless-image h1 em,
.borderless-image-right h1 em,
.borderless-image-gallery-right h1 em {
    /* font-size: clamp(3.6rem, calc(3rem + (90 - 60) * (100vw - 400px) / (2000 - 400)), 8rem) */
    font-size: 1.1em;
    display: inline;
}

.borderless-image figure,
.hero-map .map-container {
    /* padding-bottom: 30% */
    flex-basis: 50%;
    border-radius: 0 var(--rounded-corners) var(--rounded-corners) 0;

    /* left: calc(var(--rounded-corners) * -1 - 3%) */
}

.borderless-image figure {
    padding-bottom: 30%;
}

.borderless-image figure img,
.borderless-image-right figure img {
    -o-object-position: 50% 100%;
    object-position: 50% 100%;
}

.borderless-image .hero-text-container {
    padding: 0 var(--medium-gutter);
    flex-basis: 50%;
}

.borderless-image p {
    color: var(--forest-green);
    margin-bottom: 0;
}

.page-template-wellness-A-Z-v2 .borderless-image p {
    margin-bottom: 3rem;
}

:where(figure) {
    margin: 0;
}

/* Author Block */
.author {
    padding: 0 var(--large-gutter);
}

.author .inner-hero-wrap {
    justify-content: center;
    gap: var(--large-gutter);
}

.author .hero-text-container {
    align-self: flex-start;
    padding: var(--medium-gutter) 0;
}

.author .wp-block-list {
    max-width: 850px;
}

.author figure {
    position: -webkit-sticky;
    position: sticky;
    top: 10svh;
    flex-basis: 40%;
    align-self: flex-start;
    height: 80svh;

    /* padding-bottom: 40% */
}

.author.half-hero h1 {
    margin-bottom: 3rem;
}

.author.borderless-image figure {
    padding-bottom: 42% !important;
}

.author.borderless-image figure img {
    height: 100%;
    position: absolute;
    -o-object-position: 20% 70%;
    object-position: 20% 70%;
}

.author.borderless-image .inner-hero-wrap {
    height: auto;
}

.author p {
    margin-bottom: 3rem;
    color: #000;
}

.author p:last-of-type() {
    margin-bottom: 0;
}

/* Borderless Image Right Half Hero Block */
.borderless-image-right {
    height: calc(100svh - 180px);
    padding: var(--medium-gutter) 0;

    /* min-height: 80% */
    /* padding: var(--medium-gutter) 0 var(--medium-gutter) 0 */
    padding: 0;
    justify-content: center;
}

.borderless-image-right .hero-text-container {
    /* padding: var(--medium-gutter) */
    flex-basis: 40%;
    min-width: 0;
}

.borderless-image-right p {
    color: var(--forest-green);
}

.borderless-image-right figure {
    /* padding-bottom: 36% */
    border-radius: var(--rounded-corners) 0px 0px var(--rounded-corners);
    flex-basis: 60%;
}

/* Borderless Image Gallery Right Block */
.borderless-image-gallery-right {
    grid-template-columns: 1fr 20% 40%;
    grid-template-rows: minmax(auto, 20vw) minmax(auto, 20vw) 1fr;
    gap: var(--thin-gutter);

    /* min-height: calc(100svh - var(--medium-gutter) *2 - 90px) */
    /* min-height: calc(100svh - var(--thin-gutter) - 90px) */
    min-height: calc(100svh - var(--thin-gutter) - 90px);
    padding: var(--medium-gutter) 0 var(--medium-gutter) var(--medium-gutter);
    position: relative;
    z-index: 1;
}

.borderless-image-gallery-right .hero-text-container {
    grid-area: 1 / 1 / 4 / 2;
    margin-top: auto;
    margin-bottom: auto;
    padding: 0;
    align-self: flex-start;

    /* justify-content: center */
    width: 100%;
    padding-right: 2rem;
}

.borderless-image-gallery-right .hero-text-container p {
    margin-bottom: 3rem;
}

.borderless-image-gallery-right .hero-text-container h1,
.borderless-image-gallery-right .hero-text-container ul:not(.wp-block-list) {
    margin: 0 0 3rem 0;
    white-space: pre-line;
    min-width: 0;
}

h2:where(:not(.wp-toolbar *)).smaller {
    font-size: clamp(2.3rem, calc(2rem + (100 - 86) * (100vw - 400px) / (2000 - 400)), 4rem);
    letter-spacing: clamp(-0.1rem, -0.08vw, -0.1rem);
}

.borderless-image-gallery-right .hero-text-container p {
    color: #000;
}

.borderless-image-gallery-right figure {
    min-height: 250px;
}

.borderless-image-gallery-right figure:nth-of-type(1) {
    grid-area: 1 / 2 / 2 / 3;
}

.borderless-image-gallery-right figure:nth-of-type(2) {
    grid-area: 2 / 2 / 3 / 3;
}

.borderless-image-gallery-right figure:nth-of-type(3) {
    grid-area: 1 / 3 / 3 / 4;
    border-radius: var(--rounded-corners) 0px 0px var(--rounded-corners);
}

/* Infographic Block */
.infographic {
    padding: var(--large-gutter);
    margin: 0 var(--thin-gutter);
    grid-template-columns: 36% 6% 1fr 6% 16% 20%;
    grid-template-rows: 1fr 1fr;
    background-color: #f0e0c9;
    background-image: linear-gradient(45deg, #f0e0c9 0%, #f1e7dc 100%);
    border-radius: var(--rounded-corners);
    position: relative;
}

.infographic p {
    max-width: none;
}

.infographic.our-story {
    margin-top: 90px;

    /* background: rgb(231, 232, 222);
    background: -o-linear-gradient(225deg, rgb(231, 232, 222) 0%, rgb(209, 210, 198) 100%);
    background: linear-gradient(225deg, rgb(231, 232, 222) 0%, rgb(209, 210, 198) 100%); */
    background: none;
}

.info-container {
    flex-direction: column;
    grid-area: 1 / 1 / 3 / 2;
}

.infographic .info-container {
    width: 100%;
}

.infographic.our-story {
    grid-template-rows: auto auto 1fr;
}

.infographic.our-story .info-container {
    grid-area: 1 / 1 / 4 / 4;
}

.infographic figure {
    position: relative;
}

.infographic:not(.our-story) figure:nth-of-type(1) {
    grid-area: 1 / 3 / 2 / 4;
    align-self: flex-start;
    max-width: 220px;
    margin: 0 auto;
}

.infographic.our-story h1 {
    color: var(--forest-green);
    padding-left: 0;
    align-self: flex-start;
    display: inline-block;
    font-size: clamp(4rem, calc(3.6rem + (90 - 60) * (100vw - 400px) / (2000 - 400)), 7.5rem);
}

.infographic.our-story h1 em {
    display: inline-block;

    /* font-size: clamp(4.1rem, calc(3.8rem + (90 - 60) * (100vw - 400px) / (2000 - 400)), 8.2rem); */
    font-size: 1.15em;
}

.infographic.our-story figure:nth-of-type(1) {
    grid-area: 2 / 5 / 3 / 7;
    margin-bottom: 3rem;
}

.infographic.our-story figure:nth-of-type(2) {
    grid-area: 2 / 5 / 3 / 7;
}

.infographic figure:nth-of-type(1),
.infographic figure:nth-of-type(2) {
    min-width: 150px;
}

.infographic:not(.our-story) figure:nth-of-type(1) img {
    position: relative;
    max-height: 80%;
}

.infographic figure:nth-of-type(2) img {
    position: relative;
}

.infographic figure:nth-of-type(2) {
    grid-area: 2 / 3 / 3 / 4;
    align-self: flex-end;
    width: 100%;
    margin: 0 auto;
}

.infographic figure:nth-of-type(3) {
    grid-area: 2 / 5 / 3 / 7;
    position: absolute;
    width: 65%;
    top: 0;
    right: 10%;
    min-width: 200px;
    max-width: 450px;
}

.infographic.our-story figure {
    position: relative;
    width: 100%;
    grid-area: 2 / 5 / 3 / 7;
    top: 0;
    min-width: 200px;

    /* padding-bottom: 60% */
}

.infographic.our-story figure img {
    position: relative;
}

.infographic figure:nth-of-type(3) img {
    position: relative;
}

.infographic .summary {
    grid-area: 1 / 5 / 2 / 7;
    align-self: flex-start;
    font-size: 2.2rem;
    font-weight: 550;
    overflow-wrap: break-word;
}

.infographic .sticky-info {
    grid-area: 1 / 5 / 2 / 7;
    position: -webkit-sticky;
    position: sticky;
    top: 3rem;
}

.infographic.our-story .summary {
    font-size: clamp(2.2rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3.4rem);
    margin-bottom: 3rem;
    grid-area: auto;
}

.three-image-grid {
    gap: var(--thin-gutter);
    padding: 0 var(--medium-gutter);
    margin: 0 auto;
    justify-content: center;
    max-width: 1667px;
}

.three-image-grid figure {
    padding-bottom: 33.33%;
    height: auto;
}

section:where(:not(.wp-toolbar *)).wider {
    max-width: calc(2560px - (var(--large-gutter) *2));
    width: 88%;
    box-sizing: border-box;
    background-color: var(--dun);
    background-image: linear-gradient(25deg, #dedace 0%, #ece8dd 100%);
    border-radius: var(--rounded-corners);
    margin: var(--large-gutter) auto 0 var(--large-gutter);
    padding: 6%;
}

/* Three Card Block */
.three-card {
    padding: 0 var(--medium-gutter);
    margin: 0 auto;
    justify-content: center;

    /* max-width: 1667px */
}

.three-card .card-container {
    gap: var(--medium-gutter);
    align-items: stretch;
    justify-content: center;
}

.three-card .card-inner {
    flex-basis: 33.33%;
    flex-direction: column;
    border-radius: var(--rounded-corners);
    box-shadow: 0px 3px 10px -9px rgba(0,0,0,0.8);
}

/* .three-card .card-inner:not(:last-of-type) {
    margin-right: var(--thin-gutter);
} */
.three-card .card-inner p {
    /* margin-top: 3rem */
    /* margin-bottom: 0.8rem */
    text-align: center;
}

.three-card .card-inner .cta-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto auto 0 auto;
}

.three-card .card-inner figure {
    /* padding-bottom: 90% */
    height: 30vw;
    justify-content: center;
    border-radius: var(--rounded-corners) var(--rounded-corners) 0 0 ;
}

.three-card .card-inner figure figcaption {
    position: absolute;
    z-index: 2;
    color: #fff;

    /* font-size: clamp(1.8rem, calc(1.8rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 3.6rem); */
    font-size: clamp(2.8rem, calc(1.8rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 4rem);
    padding: 3rem var(--medium-gutter);
    bottom: 0;
}

.three-card .card-inner figure:after {
    content: '';
    position: absolute;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgb(255, 255, 255, 0) 100%);
    height: 100px;
    width: 100%;
    z-index: 1;
    bottom: 0;
}

.three-card .card-inner .card-info {
    background: #e7e7e0;
    padding: var(--medium-gutter);
    border-radius: 0 0 var(--rounded-corners)var(--rounded-corners);
    height: auto;
    flex-grow: 1;
    margin-top: calc(var(--rounded-corners) * -1);
    flex-direction: column;
}

.three-card .card-inner:nth-of-type(1) figure img {
    -o-object-position: 20% 50%;
    object-position: 20% 50%;
}

.three-card .card-inner:nth-of-type(3) figure img {
    -o-object-position: 50% 60%;
    object-position: 50% 60%;
}

/* Four Card Block */
.four-card {
    padding: var(--medium-gutter);
    margin: 0 auto;
    justify-content: center;
}

.four-card .card-container {
    gap: var(--medium-gutter);
    -webkit-box-align: stretch;
    width: calc(100% + var(--medium-gutter));
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.four-card .card-inner {
    position: relative;
    flex-basis: calc(25% - var(--medium-gutter));
    flex-direction: column;
    border-radius: var(--rounded-corners);
    box-shadow: 0px 3px 10px -9px rgba(0,0,0,0.8);
    min-width: 260px;
}

.card-inner .telephone-info {
    margin-top: auto;
}

.price-cards a.card {
    position: relative;
}

.price-cards h3,
.price-cards .cta {
    position: relative;
    z-index: 1;
}

.four-card a.card-inner:after,
.price-cards a.card:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(58, 71, 66, 0.5);
    opacity: 0;
    z-index: 0;
    border-radius: var(--rounded-corners);
    transition: opacity 0.3s ease, color 0.3s ease;
}

.price-cards a.card:after {
    background-color: rgba(58, 71, 66, 0.7);
}

.four-card a.card-inner:hover:after,
.price-cards a.card:hover:after {
    opacity: 1;
}

.price-per-session {
    position: relative;
    z-index: 1;
}

.price-cards a.card:hover h3.price,
.price-cards a.card:hover h4.price-per-session {
    color: #fff;
}

.link-wrap {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 9999;
    display: block;
    border-radius: var(--rounded-corners);
    background: rgba(0,0,0,0.5);
}

.link-wrap:after:hover {
    opacity: 1;
}

.four-card .card-inner p {
    margin: 0;
}

/* .four-card a:hover {
    color: var(--orange)
} */
.four-card .card-inner .cta-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto auto 0 auto;
    padding-top: 3rem;
    position: relative;
    z-index: 1;
}

.four-card .card-inner figure {
    padding-bottom: 70%;
    border-radius: var(--rounded-corners) var(--rounded-corners) 0 0 ;
}

.four-card .card-inner figure figcaption {
    position: absolute;
    text-align: center;
    z-index: 2;
    color: #fff;
    font-size: clamp(2.8rem, calc(1.8rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 4rem);
    padding: 6% 9%;
    width: 100%;
    bottom: 0;
}

.four-card .card-inner figure:after {
    content: '';
    position: absolute;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, rgb(255, 255, 255, 0) 100%);
    height: 160px;
    width: 100%;
    z-index: 1;
    bottom: 0;
}

.four-card .card-inner .card-info {
    background: #e7e7e0;
    padding: 6% 9%;
    border-radius: 0 0 var(--rounded-corners)var(--rounded-corners);
    flex-direction: column;
    gap: 3rem 0;
    height: 100%;
    text-align: center;
}

.four-card .card-info img {
    /* margin-right: 1.2rem */
    margin: 0 auto 1.5rem;
    display: block;
    align-self: flex-start;

    /* margin-left: -2.3rem; */
}

/* ==========================================================================
   Stat Counter Block
   ========================================================================== */
/* ── Section ─────────────────────────────────────────────────────────────── */
.wp-block-pemfit-stat-counter.stat-counter-section {
    padding: var(--large-gutter) var(--medium-gutter);
    width: 100%;
    box-sizing: border-box;
}

/* ── Section title ───────────────────────────────────────────────────────── */
.wp-block-pemfit-stat-counter .stat-counter-title {
    font-family: var(--DM-Sans);
    color: var(--forest-green);
    text-align: center;
    font-size: clamp(2rem, 2.5vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    text-transform: none;
    margin: 0 auto var(--thin-gutter);
    max-width: none;
}

/* ── Grid — 3 columns, 6 explicit pixel rows ─────────────────────────────── */
/* The grid's own box is now LOCKED to a fixed aspect ratio (derived from
   the column/row fr totals: 5 column units by 8 row units = 5:8 → 1.6
   height:width). Because every card's grid-row/grid-column span is a
   fraction of this now-fixed box, every card's pixel dimensions become
   fixed too — they no longer change size as the animated numbers grow
   from "0" to their target value. Content (numbers, headings) is simply
   centred within that fixed box rather than dictating its size. */
.wp-block-pemfit-stat-counter .stat-counter-grid {
    display: grid !important;
    grid-template-columns: 0.5fr 0.6fr 1.3fr 0.6fr 0.5fr !important;
    grid-template-rows: 3vw 3vw 6vw 6vw 3vw 3vw !important;
    max-width: 1600px;

    /* aspect-ratio: 3 / 1; */
    margin: 0 auto;
    width: 100%;
    gap: var(--thin-gutter);
}

/* ── Placement: left column — item 1 short/wide, item 2 small/square ─────── */
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) {
    grid-row: 1 / 4 !important;
    grid-column: 1 / 3 !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(2) {
    grid-row: 4 / 7 !important;
    grid-column: 2 / 3 !important;
}

/* ── Placement: centre spans rows 2–7, shorter than the side columns ────── */
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) {
    grid-row: 2 / 6 !important;
    grid-column: 3 !important;
}

/* ── Placement: right column — item 4 small/square, item 5 short/wide ────── */
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(4) {
    grid-row: 1 / 4 !important;
    grid-column: 4 / 5 !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) {
    grid-row: 4 / 7 !important;
    grid-column: 4 / 6 !important;
}

/* ── Card base ───────────────────────────────────────────────────────────── */
/* overflow: hidden is added as a safety net — even with the grid box now
   geometrically fixed, this guarantees that if any text content is ever
   wider/taller than its card (e.g. a very long custom heading), it clips
   rather than forcing the grid track to grow and shifting every other
   card's position. */
.wp-block-pemfit-stat-counter-item {
    font-family: var(--DM-Sans);
    background-color: var(--pf-item-bg, var(--pf-sc-item-bg, var(--beige))) !important;
    border-radius: var(--rounded-corners) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: var(--thin-gutter) var(--medium-gutter) !important;
    gap: 0.4rem;
    overflow: hidden !important;

    /* stretch fills the full grid cell height */
    align-self: stretch !important;
}

.wp-block-pemfit-stat-counter-item::before,
.wp-block-pemfit-stat-counter-item::after {
    display: none !important;
}

/* ── Number wrap ─────────────────────────────────────────────────────────── */
.wp-block-pemfit-stat-counter-item .stat-number-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0.05em;
    line-height: 1;
    color: var(--pf-sc-num-color, var(--forest-green)) !important;
    margin-bottom: 0.15rem;
}

/* ── Number ──────────────────────────────────────────────────────────────── */
/* Font sizes increased ~25% across the board (proportionally — every
   text element below keeps the same ratio to one another as before). */
.wp-block-pemfit-stat-counter-item .stat-number {
    font-family: var(--DM-Sans) !important;
    font-size: clamp(2rem, 3vw, 6rem) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
    color: var(--pf-leaf-color, var(--pf-sc-num-color, var(--forest-green))) !important;
    font-variant-numeric: tabular-nums;
}

/* ── Suffix / prefix ─────────────────────────────────────────────────────── */
.wp-block-pemfit-stat-counter-item .stat-suffix,
.wp-block-pemfit-stat-counter-item .stat-prefix {
    font-family: var(--DM-Sans) !important;
    font-size: clamp(2rem, 3vw, 6rem) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: var(--pf-leaf-color, var(--pf-sc-num-color, var(--forest-green))) !important;

    /* margin-top: 0.18em; */
}

/* ── Heading ─────────────────────────────────────────────────────────────── */
.wp-block-pemfit-stat-counter-item .stat-heading {
    font-family: var(--DM-Sans) !important;
    color: var(--pf-leaf-color, var(--pf-sc-head-color, var(--forest-green))) !important;
    font-size: clamp(1.3rem, 2vw, 2rem) !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* ── Description ─────────────────────────────────────────────────────────── */
.wp-block-pemfit-stat-counter-item .stat-counter-description {
    font-family: var(--DM-Sans) !important;
    color: var(--pf-leaf-color, var(--pf-sc-desc-color, var(--brown))) !important;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem) !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: auto !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   CENTRE CARD — large number, vertically centred
   ══════════════════════════════════════════════════════════════════════════ */
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) {
    justify-content: center !important;
    align-items: center !important;
    padding: 15% 0 !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) .stat-number {
    font-size: clamp(3rem, 4vw, 11rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) .stat-suffix,
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) .stat-prefix {
    font-size: clamp(3rem, 4vw, 11rem) !important;
    font-weight: 800 !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) .stat-heading {
    font-size: clamp(1.75rem, 2.5vw, 3.75rem) !important;
    margin-top: 0.5rem !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) .stat-counter-description {
    font-size: clamp(1.25rem, 1.6vw, 1.6rem) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   HORIZONTAL CARDS — items 1 and 5 (the short landscape rectangles)
   Number on left, heading + description stacked as one centred unit right.
   Single grid row: .stat-number-wrap is one grid item (column 1),
   .stat-text-wrap is the other (column 2). Centring the row via
   align-items on the card means both items — including the heading+
   description stack inside .stat-text-wrap — sit vertically centred
   against each other, and the heading alone still centres correctly
   inside .stat-text-wrap when description is empty (PHP renders nothing
   for an empty description, so there's no leftover gap to offset against).
   ══════════════════════════════════════════════════════════════════════════ */
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1),
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto !important;
    -moz-column-gap: var(--thin-gutter) !important;
    column-gap: var(--thin-gutter) !important;
    align-items: center !important;
    text-align: left !important;
    padding: var(--thin-gutter) var(--medium-gutter) !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) .stat-number-wrap,
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) .stat-number-wrap {
    grid-row: 1 !important;
    grid-column: 1 !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    margin-bottom: 0 !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) .stat-text-wrap,
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) .stat-text-wrap {
    grid-row: 1 !important;
    grid-column: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 0.2rem !important;
    text-align: left !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) .stat-heading,
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) .stat-heading {
    text-align: left !important;
    margin: 0 !important;
}

.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) .stat-counter-description,
.wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) .stat-counter-description {
    text-align: left !important;
    margin: 0 !important;
}

/* 4 card pricing block */
.four-card-pricing {
    text-align: center;
    position: relative;
}

.four-card-pricing .card-container {
    flex-wrap: nowrap;
}

.four-card-pricing .card-container h4 {
    font-size: clamp(1.8rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.8rem);
}

.four-card-pricing .card {
    flex-basis: calc(25% - var(--medium-gutter));
    max-width: none;
}

/* .four-card-pricing .card-main {
    padding: 0 var(--thin-gutter);
} */
.four-card-pricing p {
    margin: 0 auto 3rem auto;
}

.four-card-pricing .card-header {
    background-color: var(--forest-green);
}

.four-card-pricing h3 {
    /* font-size: clamp(2rem, calc(2.4rem + (100 - 90) * (100vw - 400px) / (2000 - 400)), 4rem); */
    padding: 2rem 2rem 0 2rem;
}

.four-card-pricing .card-header p {
    font-size: clamp(1.8rem, calc(1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.1rem);
}

/* Large Intro Block */
.large-intro {
    padding: var(--large-gutter);
    padding-bottom: var(--thin-gutter);
    position: relative;
    z-index: 0;
    margin-top: 90px;
    text-align: center;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto auto 1fr;
}

.large-intro figure {
    position: relative;
    min-width: 150px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    z-index: -1;
}

.large-intro figure:nth-of-type(1) {
    grid-area: 1 / 1 / 2 / 3;
    margin-top: -10%;
    width: 95%;
}

.large-intro:not(.pemf-session) figure:nth-of-type(2) {
    grid-area: 2 / 5 / 3 / 7;
    width: 85%;
    margin-left: 15%;
    margin-top: -10%;
}

.large-intro figure img.cover-fit {
    position: relative;
    height: auto;
}

.large-intro h1 {
    font-size: clamp(5rem, calc(4.1rem + (100 - 10) * (100vw - 400px) / (2000 - 400)), 14rem);
    letter-spacing: calc(-0.1vw + (100 - 96) * (16vw - 400px) / (2000 - 400));
    padding-left: 0;
    color: var(--forest-green);
    grid-area: 1 / 1 / auto / 7;
}

.large-intro p {
    margin: 0 auto;
    max-width: 650px;
    overflow-wrap: break-word;
    grid-area: 2 / 3 / auto / 5;
}

body:where(:not(.wp-toolbar *)).page-template-testimonials #content-wrap:before,
body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 #content-wrap:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 180%;
    width: 100%;
    z-index: 0;
    background: rgba(245, 242, 238, 1.0);
    background: linear-gradient(  180deg,  rgba(245, 242, 238, 1) 0%,  rgba(214, 201, 183, 1) 90%,  rgba(214, 201, 183, 0) 100%);
}

/* body.page-template-testimonials,
body.page-template-wellness-A-Z,
body.page-template-wellness-A-Z-v2 {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(245, 242, 238, 1.0)), to(transparent));
    background: -o-linear-gradient(top, rgba(245, 242, 238, 1.0), transparent);
    background: linear-gradient(180deg, rgba(245, 242, 238, 1.0), transparent);
    background: -o-linear-gradient(150deg, rgba(214, 196, 172, 0.8), transparent);
    background: linear-gradient(300deg, rgba(214, 196, 172, 0.8), transparent);
    background: -o-linear-gradient(350deg, rgba(216, 190, 170, 0.5), transparent);
    background: linear-gradient(100deg, rgba(216, 190, 170, 0.5), transparent);
    background: -o-linear-gradient(330deg, rgba(208, 209, 198, 0.6) 20%, transparent);
    background: linear-gradient(120deg, rgba(208, 209, 198, 0.6) 20%, transparent);
} */
.large-intro.pemf-session {
    grid-template-columns: repeat(24, 1fr);
    grid-template-rows: repeat(5, auto);
}

.large-intro.pemf-session h1 {
    grid-area: 1 / 1 / 2 / 25;

    /* mix-blend-mode: multiply */
}

.large-intro.pemf-session figure:nth-of-type(1) {
    grid-area: 1 / 1 / 1 / 1;
}

.large-intro.pemf-session figure:nth-of-type(2) {
    grid-area: 2 / 19 / 4 / 25;
}

.large-intro.pemf-session p {
    grid-area: 2 / 8 / auto / 18;
}

/* .large-intro.pemf-session figure:nth-of-type(1) {
    padding-bottom: 140%;
}

.large-intro.pemf-session figure:nth-of-type(2) {
    padding-bottom: 60%;
}

.large-intro.pemf-session figure img {
    position: absolute;
    height: 100%;
} */
.large-intro.pemf-session figure:nth-of-type(1) {
    grid-area: 1 / 1 / 3 / 6;
    margin-bottom: 3rem;
}

/* Wellness A-Z styles */
body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z,
body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 {
    background-color: #E4DCCF;
}

body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z .half-hero:before,
body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 .half-hero:before {
    background: linear-gradient(180deg, rgba(245, 242, 238, 1.0), rgba(228, 220, 207, 1.0));
}

.borderless-image {
    position: relative;
    z-index: 0;
    padding: 0;
}

body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z main,
body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 main {
    position: relative;
    z-index: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z .article-bg-image:nth-of-type(1),
body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 .article-bg-image:nth-of-type(1) {
    /* left: auto */
    margin-left: auto;

    /* right: 2% */
    position: -webkit-sticky;
    position: sticky;
    border-radius: var(--rounded-corners) 0px 0px var(--rounded-corners);

    /* margin-top: 10vh */
    top: 0;
    width: 100%;

    /* height: 100svh */
    padding-bottom: 56%;
    opacity: 0.3;
}

.wp-block-pemfit-article-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* body.page-template-wellness-A-Z .article-bg-image img,
body.page-template-wellness-A-Z-v2 .article-bg-image img {
    mix-blend-mode: darken!important
} */
body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z .article-bg-image:nth-of-type(2),
body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 .article-bg-image:nth-of-type(2) {
    border-radius: 0px var(--rounded-corners) var(--rounded-corners) 0px;
    top: 0;
    margin-top: 40svh;
    width: 74%;
    padding-bottom: 70%;
    opacity: 0.2;
}

body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 .sticky-wrap {
    position: absolute;
    width: calc(100% - (var(--thin-gutter) * 2));
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;

    /* border: 1px solid var(--rose-gold) */
    border-radius: var(--rounded-corners);
    pointer-events: none;
    margin: 0 var(--thin-gutter);
}

body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 .article-bg-image:nth-of-type(1) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border-radius: var(--rounded-corners);
    height: 100%;
    padding-bottom: 0;
    margin: 0;
    z-index: -1;
}

body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 .article-bg-image:nth-of-type(1) img {
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
}

.a-z-letters {
    gap: 1.4rem;
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex-wrap: wrap;
    padding: var(--medium-gutter);
    justify-content: center;
}

.a-z-letters a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background-color: rgba(242, 237, 232, 1);
    border: 1px solid var(--rose-gold);
    border-radius: 1rem;
    transition: background-color 0.3s ease;
}

.a-z-letters a:hover,
.a-z-letters a.highlighted {
    background-color: var(--forest-green);
    color: #fff;
}

.conditions {
    position: relative;
    grid-template-columns: repeat(auto-fit, minmax(calc(342px + var(--medium-gutter)), 1fr));

    /* grid-auto-flow: column dense; */
    gap: var(--medium-gutter);
    padding: var(--medium-gutter) var(--large-gutter);
    border-radius: var(--rounded-corners);

    /* margin-bottom: 100px */
    z-index: 1;
}

.condition-wrap {
    padding: var(--medium-gutter);
    background-color: rgba(242, 237, 232, 0.8);
    border-radius: var(--rounded-corners);
    -webkit-backdrop-filter: blur(2px) contrast(1.2);
    backdrop-filter: blur(2px) contrast(1.2);
    transition: background-color 0.3s ease;
    position: relative;
    z-index: 1;
}

.condition-wrap:hover {
    background-color: rgba(242, 237, 232, 1);
}

.condition-wrap:hover p {
    color: var(--forest-green);
    font-family: var(--Source-Serif-Italic);
}

.condition-wrap.highlighted {
    background-color: rgba(58, 71, 66, 1);
}

.condition-wrap.highlighted p {
    color: var(--dun);
    font-family: var(--Source-Serif-Italic);
}

.condition-wrap.highlighted ul li a {
    color: #fff;
}

.condition-wrap p {
    font-size: clamp(5rem, calc(4.1rem + (100 - 10) * (100vw - 400px) / (2000 - 400)), 14rem);
    color: rgba(58, 71, 66, 0.4);
    font-weight: 400;
    text-indent: -0.1em;
    line-height: 0.8!important;

    /* margin-bottom: 0 */
}

body:where(:not(.wp-toolbar *)) .condition-wrap ul {
    padding-left: 2rem!important;
    width: calc(100% - 2rem);
}

.condition-wrap ul li {
    list-style: none;
    border-bottom: 1px solid var(--rose-gold);
    line-height: 2;
}

.condition-wrap ul li a {
    padding: 1rem 2rem;
    display: block;
    margin-left: -2rem;
    transition: font-weight 0.2s ease;
    position: relative;
    z-index: 1;
}

.condition-wrap ul li:last-of-type {
    border: none;
}

/* contact form container block */
.contact-form-container {
    max-width: calc(1200px + (var(--medium-gutter) * 2));
    margin: var(--large-gutter) auto;
    padding: 0 var(--medium-gutter);
}

.contact-form-container .inner {
    background-color: var(--dun);
    background-image: linear-gradient(25deg, #dedace 0%, #ece8dd 100%);
    border-radius: var(--rounded-corners);
    padding: var(--medium-gutter);
}

.essential-info .cta {
    flex: 0;
}

/* search form styles */
.search-container {
    margin-top: 5rem;
    width: 100%;
}

.custom-search-form {
    background: rgba(255,255,255,0.4);
    border-radius: 10rem;
    padding-right: 0.7rem;
    overflow: hidden;
    align-items: center;
    height: 60px;
    border: 1px solid var(--rose-gold);
    width: 100%;
    max-width: 500px;
}

input:where(:not(.wp-toolbar *)).search {
    background: none;
    border: 0;
    outline: none;
    padding: 2rem;
    height: 60px;
    width: 100%;
}

.search-submit {
    padding: 2rem;
    align-items: center;
    height: 48px;
    justify-content: center;
    width: 48px;
    border: 1px solid var(--rose-gold);
    border-radius: 10rem;
}

.search-results {
    height: 0;
    background-color: rgba(242, 237, 232, 0.8);
    position: relative;
    margin: var(--thin-gutter);
    margin-bottom: -0;
    border-radius: var(--rounded-corners);
    overflow: hidden;
    display: none;
}

.inner-search-results {
    padding: var(--medium-gutter);
}

/* Post Info Block */
.post-info {
    width: 100%;
    padding-bottom: 3rem;
}

.post-info p {
    display: inline-block;
    margin-bottom: 0!important;
    font-style: italic;
    font-size: 1.6rem;
    color: var(--forest-green)!important;
    margin-right: 2rem;
}

.post-info p a {
    padding: 0.5rem 0.8rem;
    color: var(--orange);
    font-size: 1.6rem!important;
}

.inner-hero-wrap {
    height: 90%;
    gap: 0 var(--medium-gutter);
}

.borderless-image .inner-hero-wrap {
    height: 100%;
}

.borderless-image-right .inner-hero-wrap {
    justify-content: space-between;
}

body:where(:not(.wp-toolbar *)).page-template-our-story .borderless-image-right figure img {
    -o-object-position: 50% 20%;
    object-position: 50% 20%;
}

/* Microsite table styles */
.table {
    padding: 3rem var(--medium-gutter) 0 var(--medium-gutter);
}

.table h2 {
    text-align: center;
}

.table h2,
.table p {
    margin-left: auto;
    margin-right: auto;
}

.table p {
    max-width: 1200px;
    text-align: center;
}

table:where(:not(.wp-toolbar *)).pemfit-prices {
    width: 100%;
    text-align: center;
    max-width: 1200px;
    border-radius: var(--rounded-corners);
    border-collapse: collapse;
    border: none;
    overflow: hidden;
    margin: 0 auto;
}

table:where(:not(.wp-toolbar *)).pemfit-prices:last-of-type {
    margin-bottom: 3rem;
}

table:where(:not(.wp-toolbar *)).pemfit-prices td:not(:nth-of-type(1)),
table:where(:not(.wp-toolbar *)).pemfit-prices th:not(:nth-of-type(1)) {
    border-left: 2px solid var(--off-white);
}

table:where(:not(.wp-toolbar *)).pemfit-prices thead {
    background: var(--forest-green);
}

table:where(:not(.wp-toolbar *)).pemfit-prices thead th {
    font-weight: 500;
    color: #FFFFFF;
    text-align: center;
    width: 50%;
    padding: 2rem 4%;
}

table:where(:not(.wp-toolbar *)).pemfit-prices thead th:nth-of-type(1) {
    font-size: clamp(1.6rem, calc(2rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.6rem);
}

table:where(:not(.wp-toolbar *)).pemfit-prices td {
    font-weight: 450;
    background: #EDE7DF;
    padding: 2rem;
    border-bottom: 2px solid var(--off-white);
}

/* Book Now section */
.book-now {
    padding: 0 var(--medium-gutter);
    max-width: calc(1200px + (var(--medium-gutter) * 2));
    margin: 0 auto;
    text-align: center;
}

.book-now .inner {
    border: 2px solid var(--orange);
    border-radius: var(--rounded-corners);
    padding: var(--medium-gutter);
}

.book-now a {
    color: var(--orange);
    display: inline-block;
    padding: 2rem;
}

.book-now h2,
.book-now-phone {
    margin-bottom: 2rem;
}

.book-now p {
    max-width: none;
    font-weight: 550;
    margin-bottom: 0;
}

.book-now-phone {
    width: 3rem;
}

/* Before the Session/ During the Session blocks */
.before-the-session ol {
    list-style: decimal;
    font-size: clamp(1.6rem, calc(1.1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.1rem);
    padding-left: 2rem;
    line-height: 1.5;
}

.before-the-session ol li::marker,
.before-the-session ol li span {
    font-weight: 750;
}

.before-the-session ol li {
    padding-bottom: 2rem;
}

.text-image-right,
.during-the-session {
    padding: var(--large-gutter);
}

.before-the-session {
    padding-top: 0;
}

.before-the-session h2 {
    width: 200%;
}

.before-intro {
    font-weight: 550;
}

.text-image-right .flex {
    gap: var(--large-gutter);
    align-items: center;
}

.text-image-right figure {
    padding-bottom: 50%;
}

.before-the-session-info {
    flex-basis: 95%;
}

.during-the-session {
    padding: 0 var(--large-gutter);
    padding-bottom: var(--large-gutter);
}

.during-the-session .flex {
    gap: var(--large-gutter);
}

.during-the-session figure {
    align-self: flex-start;
    padding-bottom: 40%;
    flex-basis: 50%;
    position: -webkit-sticky;
    position: sticky;
    top: 90px;
}

.during-the-session .sticky-list {
    flex-basis: 50%;
}

.during-the-session .sticky-list p {
    padding: 3rem 4rem;
    background: #FFFCF8;
    border-radius: var(--rounded-corners);
    box-shadow: 0px 3px 16px -11px rgba(0,0,0,0.2);
}

.during-the-session .sticky-list p:last-of-type {
    margin-bottom: 0;
}

.during-the-session .sticky-list p span {
    font-weight: 750;
}

.sticky-list h4 {
    margin-bottom: 3rem;
}

.sticky-list h4:not(:nth-of-type(1)) {
    margin-top: 5rem;
}

/* Image/Text Cascade Block */
.image-text-cascade {
    border-radius: var(--rounded-corners);
    padding: var(--large-gutter);
    background: linear-gradient(to right, #EDE5DA 0%,#F1ECE6 100%);
    padding-bottom: var(--large-gutter);
}

.image-text-cascade p {
    max-width: 1200px;
}

.cascade-one {
    border-radius: var(--rounded-corners) var(--rounded-corners) 0 0;
    padding-bottom: calc(var(--large-gutter) + var(--rounded-corners));
}

.page-template-studio-microsite-v2 .image-text-cascade {
    margin: var(--thin-gutter);
    border-radius: var(--rounded-corners);
}

.page-template-studio-microsite-v2 .image-text-cascade figure.full-width-team-photo img {
    position: relative;
}

figure:where(:not(.wp-toolbar *)).full-width-team-photo {
    margin: var(--thin-gutter) 0 var(--large-gutter) 0;
}

.page-template-studio-microsite-v2 .image-text-cascade #our-story p {
    max-width: none;
}

.cascade-two {
    background: linear-gradient(to right, #E9DFD5 0%,#E9D2C1 100%);
    margin-top: calc(var(--rounded-corners) * -1);
}

.cascade-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.narrow-text-left-image-right .cascade-inner {
    max-width: 1200px;
}

.image-text-cascade:not(.page-template-studio-microsite-v2 .image-text-cascade):not(.pemfit-vision):not(.narrow-text-left-image-right) .cascade-inner h2 {
    margin-bottom: var(--large-gutter);
}

.pemfit-vision {
    margin-top: 90px;
    border-radius: var(--rounded-corners);
}

.pemfit-vision h1 {
    font-size: clamp(3.8rem, calc(3.1rem + (90 - 60) * (100vw - 400px) / (2000 - 400)), 5.7rem);
    color: var(--forest-green);
    padding-left: 0;
}

.pemfit-vision .cascade-inner h2,
.narrow-text-left-image-right .cascade-inner h2 {
    font-size: clamp(3rem, calc(2rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 4.5rem);
    margin-bottom: 3rem;
}

.narrow-text-left-image-right .cascade-inner .flex {
    margin-bottom: var(--large-gutter);
}

.image-text-cascade.narrow-text-left-image-right {
    background: none;
}

.cascade-inner .flex {
    gap: var(--large-gutter);
    align-items: center;
}

.narrow-text-left-image-right .cascade-inner .flex {
    gap: var(--medium-gutter);
}

.narrow-text-left-image-right p:not(.cascade-inner p) {
    text-align: center;
    margin: 0 auto;
}

.narrow-text-left-image-right a {
    color: var(--orange);
}

.cascade-inner .flex:not(:first-of-type) {
    margin-top: var(--large-gutter);
}

.cascade-inner .flex figure {
    flex-basis: 60%;
    padding-bottom: 28%;
}

.cascade-inner .meet-the-team figure {
    padding-bottom: 0;
}

.cascade-inner .meet-the-team figure img {
    position: relative;
}

.cascade-text-container {
    flex-basis: 50%;
}

.narrow-text-left-image-right .cascade-inner .flex figure {
    flex-basis: 50%;
}

.pemfit-vision .cascade-inner .flex figure,
.narrow-text-left-image-right .cascade-inner .flex figure {
    padding-bottom: 0;
}

.pemfit-vision .cascade-inner .flex figure img,
.narrow-text-left-image-right .cascade-inner .flex figure img {
    position: relative;
}

.cascade-inner .flex p {
    margin-bottom: 0;
}

.complete figure {
    flex-basis: 60%;
    align-self: stretch;
}

.complete figure img {
    -o-object-position: 60% 50%;
    object-position: 60% 50%;
}

/* Gallery Grid Block */
.gallery-grid {
    grid-template-columns: 37.5% 20% 42.5%;
    grid-template-rows: auto 12.5vw 12.5vw 10vw 18vw;
    gap: var(--thin-gutter);
    padding: 0 var(--medium-gutter);
    width: calc(100% - (var(--thin-gutter) * 2));
    margin-top: var(--large-gutter);
}

.gallery-info {
    grid-area: 1 / 1 / 2 / 4;
    margin-bottom: var(--thin-gutter);
    text-align: center;
}

.gallery-info p {
    margin: 3rem auto;
}

.gallery-info .cta {
    margin: 0 auto;
}

.gallery-grid figure:nth-of-type(1) {
    grid-area: 2 / 1 / 5 / 3;
}

.gallery-grid figure:nth-of-type(2) {
    grid-area: 2 / 3 / 4 / 4;
}

.gallery-grid figure:nth-of-type(3) {
    grid-area: 5 / 1 / 6 / 2;
}

.gallery-grid figure:nth-of-type(3) img {
    -o-object-position: 50% 90%;
    object-position: 50% 90%;
}

.gallery-grid figure:nth-of-type(4) {
    grid-area: 5 / 2 / 6 / 3;
}

.gallery-grid figure:nth-of-type(5) {
    grid-area: 4 / 3 / 6 / 4;
}

.gallery-grid figure:nth-of-type(5) img {
    -o-object-position: 70% 80%;
    object-position: 70% 80%;
}

/* Map Hero Block */
.hero-map .hero-text-container p {
    margin-bottom: 3rem;
}

.hero-map .hero-text-container h1 {
    white-space: normal;
}

.mapp-layout * {
    font-family: var(--DM-Sans)!important;
    font-size: 16px!important;
}

mappress-map:where(:not(.wp-toolbar *)).mapp-layout {
    border-radius: 0 var(--rounded-corners) var(--rounded-corners) 0!important;
    overflow: hidden!important;
    height: 100%!important;
    aspect-ratio: 50 / 100!important;
}

.page-template-studio-microsite-v2 mappress-map.mapp-layout {
    aspect-ratio: auto!important;
}

/* FAQ / Studio Accordion Block */
.faq-hero {
    height: auto;
}

.faq-hero .hero-text-container {
    align-self: flex-start;
    position: -webkit-sticky;
    position: sticky;
    top: 3rem;
}

.faq-hero .hero-text-container p {
    margin-bottom: 3rem;
}

.faq-accordion,
.studio-details-accordion {
    flex-basis: 60%;
    height: auto;
    padding: var(--large-gutter) var(--medium-gutter);
}

.studio-details-accordion {
    padding: 0;
    max-width: 450px;
    flex-basis: 100%;
    width: 100%;
}

.faq-inner {
    align-self: center;
}

.faq-container:not(:last-of-type),
.studio-details:not(:last-of-type) {
    border-bottom: 1px solid var(--rose-gold);
}

.question p,
.detail-item p {
    font-size: clamp(2rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 2.6rem);
    font-weight: 600;
    padding: 20px 80px 20px 20px;
    position: relative;
    display: -ms-flexbox;
    overflow-wrap: break-word;
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-bottom: 0;
    max-width: none;
}

.detail-item p {
    font-size: clamp(1.6rem, calc(1.6rem + (70 - 61) * (100vw - 400px) / (2000 - 400)), 2.3rem);
    font-weight: 550;
    padding: 20px 50px 20px 3%;
    flex-basis: 100%;
}

.detail-item {
    position: relative;
    align-items: center;
    width: 100%;
}

.detail-item figure {
    position: relative;
    width: auto;
    padding-right: 3%;
    border-radius: none;
    overflow: visible;
}

.question p:after,
.detail-item p:after {
    content: "\002B";
    font-size: 3.2rem;
    position: absolute;
    right: 20px;
    transition: 0.2s;
}

.question.active p:after,
.detail-item.active p:after {
    transform: rotate(45deg);
}

.answercont,
.detail-content {
    max-height: 0;
    overflow: hidden;
    transition: 0.3s;
}

.answer {
    padding: 0 3rem 3rem;
}

.detail {
    text-align: center;
    padding: 0 1rem 3rem;
}

.detail p {
    margin: 2rem 0;
}

.detail-item img {
    width: 16px;
    height: auto;
}

/* .detail {
    text-align: center;
} */
.answer a {
    color: var(--orange);
}

.detail .cta {
    width: 100%;
}

.detail a:hover {
    color: var(--orange);
}

/* Disclaimer Block */
.disclaimer {
    position: relative;
    margin: 0;
}

.disclaimer p {
    margin: 0 auto;
    max-width: 1100px;
    padding: var(--medium-gutter);
    overflow-wrap: break-word;
    text-align: center;

    /* font-size: clamp(1.4rem, calc(1rem + (70 - 64) * (100vw - 400px) / (2000 - 400)), 1.6rem) */
    font-size: 1.4rem;
}

.disclaimer-article {
    margin: var(--medium-gutter) auto!important;
    padding: 0 var(--medium-gutter)!important;
}

.disclaimer-article p {
    max-width: 1200px;
    padding: 0;
    text-align: left;
}

/* CSS Only Modal Window */
.modal-window {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10003;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-window:target {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.modal-window .modal-backdrop {
    position: fixed;
    background-color: rgba(58, 71, 66, 0.8);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
}

.modal-window .modal {
    padding: var(--medium-gutter);
    background: var(--off-white);
    position: relative;
    box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.25);
    border-radius: var(--rounded-corners);
    text-align: center;
}

.modal h2 {
    margin-bottom: 5rem;
}

.modal h2 em {
    font-size: clamp(3rem, calc(3.4rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 6rem);
    display: inline-block;
    letter-spacing: clamp(-0.6rem, calc(-0.36vw + (100 - 96) * (100vw - 400px) / (2000 - 400)), -0.1rem);
}

.modal-window .modal a {
    transition: color 0.3s ease;
}

.modal-window .modal a img {
    margin-right: 1rem;
}

.modal-window .modal a:hover {
    color: var(--orange);
}

.modal-window .modal-close {
    color: #aaa;
    font-size: 80%;
    position: absolute;
    right: 0;
    top: 0;
    text-align: center;
    text-decoration: none;
    margin: 0;
    padding: 1rem;
}

.btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    font-size: inherit;
    color: inherit;
    background: #F5F5F5;
    text-decoration: none;
    border: solid 1px #F5F5F5;
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    margin: 0 auto;
    min-width: 5rem;
    max-width: 10rem;
    cursor: pointer;
}

.btn:hover,
.btn:focus {
    background: rgba(255, 255, 255, 0.5);
}

/* Studio Microsite bottom navbar */
#bottom-menu-container {
    height: 90px;
    padding: 0 var(--thin-gutter);
    grid-template-columns: 1fr;
    align-items: center;
    justify-items: center;
    position: fixed;
    bottom: -90px;
    width: 100%;
    z-index: 10000;
    pointer-events: none;
    transition: bottom 0.3s ease;
}

#bottom-menu-container.nav-up {
    bottom: 0;
    pointer-events: all;
}

#bottom-menu-container:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(242, 237, 231, 0.5);
    -webkit-backdrop-filter: blur(24px) brightness(1.2) contrast(1.2);
    backdrop-filter: blur(24px) brightness(1.2) contrast(1.2);
    z-index: -1;
}

#bottom-menu-container:before {
    box-shadow: 0px 1px 10px -8px rgba(0,0,0,1);
}

/* Blog Homepage Styles */
.blog-grid {
    gap: var(--thin-gutter);
    margin-top: 90px;
    height: calc(60vw - calc(90px + var(--thin-gutter)));
    max-height: calc(100svh - calc(90px + var(--thin-gutter)));
    margin-left: var(--thin-gutter);
    margin-right: var(--thin-gutter);
}

.blog-grid-one {
    grid-template-columns: calc(75% - var(--thin-gutter)) 25%;
    grid-template-rows: 1fr 1fr;
}

.blog-grid-two {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: -webkit-max-content;
    grid-auto-rows: max-content;
    grid-auto-flow: dense;
    margin-top: 0;
    height: auto;
    max-height: none;
}

.blog-grid-two .blog-article {
    grid-area: span 1 / span 1!important;
    height: 25vw;
    max-height: calc(50svh - calc(var(--thin-gutter) / 2) - var(--thin-gutter));
}

/* .blog-grid-two .blog-article:nth-of-type(1) {
    grid-area: 1 / 1 / 2 / 2;
}

.blog-grid-two .blog-article:nth-of-type(2) {
    grid-area: 1 / 2 / 2 / 3;
}

.blog-grid-two .blog-article:nth-of-type(3) {
    grid-area: 2 / 1 / 4 / 2;
}

.blog-grid-two .blog-article:nth-of-type(4) {
    grid-area: 2 / 2 / 4 / 3;
} */
.blog-grid-two .blog-article:nth-of-type(5n + 1) {
    grid-area: span 2 / span 2!important;
    align-items: flex-end;
    position: relative;
    z-index: 0;
    height: auto;
    max-height: none;
}

.blog-grid-two .blog-article:nth-of-type(5n + 1):nth-last-child(1),
.blog-grid-two .blog-article:nth-of-type(5n + 1):nth-last-child(2),
.blog-grid-two .blog-article:nth-of-type(5n + 1):nth-last-child(3) {
    height: 25vw;
    max-height: calc(50svh - calc(var(--thin-gutter) / 2) - var(--thin-gutter));
}

.blog-grid-two .blog-article:nth-of-type(10n + 1) {
    grid-column: 3 / 5!important;
}

.blog-grid-two .blog-article:nth-of-type(5n + 1) .cta-article {
    justify-self: right;
    position: relative;
    z-index: 1;
}

.blog-grid-two .blog-article:nth-of-type(5n + 1) .excerpt-container {
    padding: var(--thin-gutter);
}

.blog-grid .blog-article .excerpt {
    display: none;
}

.blog-grid-one .blog-article:nth-of-type(1) .excerpt,
.blog-grid-two .blog-article:nth-of-type(5n + 1) .excerpt {
    display: block;
}

.average-rating-section {
    margin-bottom: 0;
}

.search-nav {
    align-items: center;
    padding: var(--medium-gutter);
    min-height: var(--large-gutter);
    gap: var(--medium-gutter);
    justify-content: space-between;
}

.search-nav h3 {
    line-height: 1;
    margin-bottom: 0;
    margin-right: 50px;
}

.blog-social-links {
    align-items: center;
    margin-left: auto;
}

.blog-social-links a {
    display: inline-flex;
    flex-shrink: 0;
    height: 5rem;
    width: 5rem;
    border-radius: 50%;
    border: 1px solid #ccc;
    justify-content: center;
}

.blog-social-links a:not(.blog-social-links a:nth-of-type(1)) {
    margin-left: 1.2rem;
}

.blog-social-links a img {
    display: block;
    height: 1.8rem;
    width: 1.8rem;
    align-self: center;
}

.blog-social-links a img.linked-in {
    transform: translateY(-0.1rem);
}

.blog-article {
    position: relative;
    padding: var(--thin-gutter);
    align-items: center;
    grid-template-columns: auto;
    grid-template-rows: minmax(auto, 15vw) 1fr;
    border-radius: var(--rounded-corners);
    z-index: 0;
    overflow: hidden;
}

.blog-article figure {
    position: absolute;
    height: 100%;
    top: 0;
    width: 100%;
    left: 0;
    z-index: -1;
}

.blog-article h2,
.blog-article .excerpt-container {
    grid-area: 2 / 1 / 3 / 1;
}

.blog-article .excerpt-container {
    align-self: flex-end;
}

.blog-article h2,
.blog-article .excerpt {
    color: #fff;
}

.blog-article h2:not(.blog-grid-one .blog-article:nth-of-type(1) h2) {
    font-size: clamp(1.6rem, calc(1.2rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 4rem);
    margin-bottom: 0;
    align-self: flex-end;

    /* max-height: 30% */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog-grid:last-of-type {
    margin-bottom: calc(var(--large-gutter) - var(--thin-gutter));
}

.blog-article p.excerpt {
    margin-bottom: 0;
    margin-top: 2rem;
}

.cta-article {
    background: none;
    border: 1px solid #fff;
}

.cta-minimal,
.blog-article .cta-article:not(.blog-grid-one .blog-article:nth-of-type(1) .cta-article):not(.blog-grid-two .blog-article:nth-of-type(5n + 1) .cta-article) {
    width: 4vw;
    height: 4vw;
    max-height: 66px;
    max-width: 66px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    align-self: flex-start;
}

.blog-article .cta-article:after {
    content: '\2197';
    position: relative;
}

.cta-minimal:after,
.blog-grid-one .blog-article:nth-of-type(1) .cta-article:after,
.blog-grid-two .blog-article:nth-of-type(5n + 1) .cta-article:after {
    content: 'Read Article';
}

.blog-grid-one .blog-article:nth-of-type(1) {
    grid-template-columns: auto auto;
    padding: var(--medium-gutter);
    align-items: flex-end;
}

.blog-grid-one .blog-article:nth-of-type(1):before,
.blog-grid-two .blog-article:nth-of-type(5n + 1):before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0,0,0,0) 100%);
    z-index: 0;
}

.blog-article:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0,0,0,0) 100%);
    z-index: -1;
}

.blog-grid-one .blog-article:nth-of-type(1):after,
.blog-grid-two .blog-article:nth-of-type(5n + 1):after {
    height: 40%;
}

.blog-grid-one .blog-article:nth-of-type(1) .cta-article {
    grid-area: 2 / 2 / 3 / 3;
    margin-left: var(--medium-gutter);
    justify-self: right;
    align-self: flex-end;
}

.blog-grid h1 {
    grid-area: 1 / 1 / 2 / 2;
    position: relative;
    z-index: 1;
    color: #fff;
    align-self: flex-start;
    font-size: clamp(3rem, calc(2.6rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 6rem);
    padding-left: var(--medium-gutter);
    padding-top: var(--medium-gutter);
    letter-spacing: -0.05vw;
}

/* .blog-article figure {
    height: 100%;
} */
.blog-article:nth-of-type(1) {
    grid-area: 1 / 1 / 3 / 2;
}

.blog-article:nth-of-type(2) {
    grid-area: 1 / 2 / 2 / 3;
}

.blog-article:nth-of-type(3) {
    grid-area: 2 / 2 / 3 / 3;
}

@media screen and (min-width: 992px) {
    .shv2-gradient-blur {
        display: block;
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
    }

    .gradient-blur > div,
    .gradient-blur::before {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
    }

    .gradient-blur::before {
        content: "";
        z-index: 1;
        -webkit-backdrop-filter: blur(32px);
        backdrop-filter: blur(32px);
        -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 7%, rgba(0, 0, 0, 0) 14%);
        mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 7%, rgba(0, 0, 0, 0) 14%);
    }
}

@media screen and (min-width: 1519px) {
    .wider-inner {
        margin: 0 auto;
    }
}

@media screen and (min-width: 1920px) {
    .inner-hero-wrap {
        gap: 0 var(--medium-gutter);
    }

    .half-hero:not(.author):not(.post-hero):not(.borderless-image-gallery-right):not(.borderless-image) {
        padding: 0 var(--large-gutter) 0 0 !important;
    }

    .half-hero.borderless-image,
    .half-hero.borderless-image-gallery-right {
        padding: 0 var(--large-gutter)!important;
    }

    .half-hero.borderless-image.hero-map {
        padding: 0 var(--medium-gutter)!important;
    }

    .borderless-image figure,
    .hero-map .map-container {
        flex-basis: 60%;
    }

    .half-hero.borderless-image .hero-text-container {
        padding: 3rem 0 0 var(--medium-gutter);
    }

    .half-hero figure,
    mappress-map:where(:not(.wp-toolbar *)).mapp-layout {
        border-radius: var(--rounded-corners)!important;
    }
}

/* @media screen and (max-width: 1920px) {
    p:not(footer p) {
        font-size: 1.8rem;
    }

    a:not(footer a),
    figcaption {
        font-size: 1.8rem;
    }

    .cta {
        padding: 1.2rem 2.2rem !important;
    }
} */
/* @media screen and (max-width: 1800px) {
    section.wider {
        width: 92%;
    }
} */
/* Privacy/Cookie policy styles */
.privacy-policy h1,
.cookie-policy h1 {
    font-size: clamp(3rem, calc(2.8rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 6rem);
    padding-left: 0;
}

.privacy-policy h2,
.cookie-policy h2 {
    font-size: clamp(2rem, calc(1.8rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 4.6rem);
}

.privacy-policy h3,
.cookie-policy h3 {
    font-size: clamp(2rem, calc(1.4rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 4.6rem);
}

/* padding override styles */
.padding-medium {
    padding: var(--medium-gutter)!important;
}

.padding-zero-tb {
    padding-top: 0!important;
    padding-bottom: 0!important;
}

.padding-zero-lr {
    padding-left: 0!important;
    padding-right: 0!important;
}

.padding-zero {
    padding: 0!important;
}

/* marign override styles */
.margin-zero-tb {
    margin-top: 0!important;
    margin-bottom: 0!important;
}

.margin-zero-lr {
    margin-left: 0!important;
    margin-right: 0!important;
}

.margin-zero {
    margin: 0!important;
}

.margin-auto-lr {
    margin-left: auto!important;
    margin-right: auto!important;
}

/* testimonials drop down select menus */
.select-menu {
    /* max-width: 330px; */
    margin: 50px auto;
    line-height: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.select-menu .select-btn {
    display: flex;
    width: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background: #fff;
    padding: 8px 16px;
    position: relative;
    font-size: 15px;
    height: 36px;
    font-weight: 400;
    border-radius: 100px;
    align-items: center;
    cursor: pointer;
    justify-content: space-between;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.select-menu .options {
    position: absolute;
    width: auto;
    overflow-y: auto;
    max-height: 295px;
    padding: 10px;
    margin-top: 10px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    animation-name: fadeInDown;
    -webkit-animation-name: fadeInDown;
    animation-duration: 0.35s;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.35s;
    -webkit-animation-fill-mode: both;
}

.select-menu .options li {
    display: flex;
    cursor: pointer;
    padding: 6px 0;
    border-radius: 8px;
    align-items: center;
    background: #fff;
}

.select-menu .options li a {
    background: none!important;
    border: none!important;
    color: #000!important;
}

.select-menu .options .option:hover {
    background: #f2f2f2;
}

.select-menu .options .option .option-text {
    font-size: 18px;
    color: #333;
}

.select-btn:after {
    content: '\203A';
    display: inline-block;
    transform: rotate(90deg);
    font-size: 25px;
    transition: 0.3s;
    transform-origin: 50% 50%;
}

.select-menu.active .select-btn:after {
    transform: rotate(-90deg);
}

.select-menu.active .options {
    display: block;
    opacity: 0;
    z-index: 10;
    animation-name: fadeInUp;
    -webkit-animation-name: fadeInUp;
    animation-duration: 0.4s;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.4s;
    -webkit-animation-fill-mode: both;
}

.centre-image-cta {
    align-items: center;
    flex-direction: column;

    /* margin-top: var(--large-gutter) */
    text-align: center;
}

.page-template-PULSE-PEMF .centre-image-cta {
    padding-top: calc(var(--medium-gutter) - var(--thin-gutter));
}

.page-template-PULSE-PEMF .centre-image-cta .cta {
    margin-bottom: var(--medium-gutter);
}

.centre-image-cta figure {
    width: 60%;
    margin-bottom: 3rem;
}

.centre-image-cta figure img {
    position: relative;
}

/* .pulse-xl-text-image {
    gap: var(--large-gutter);
} */
.page-template-PULSE-PEMF .studio-hero {
    z-index: 0;
}

.page-template-PULSE-PEMF .studio-hero:after,
.page-template-Optimal-Hydration .studio-hero:after {
    content: '';
    position: absolute;
    bottom: var(--thin-gutter);
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0,0,0,0) 100%);
    width: calc(100% - var(--thin-gutter) *2);
    border-radius: var(--rounded-corners);
    z-index: 1;
}

.pulse-xl-text-image {
    margin-bottom: var(--large-gutter);
}

.pulse-xl-text-image div {
    align-self: center;

    /* padding-right: var(--large-gutter) */
    flex-basis: 40%;
}

.pulse-xl-text-image div p {
    margin-bottom: 0;
}

.pulse-xl-text-image figure {
    flex-basis: 50%;
    padding-bottom: 40%;
    display: flex;
    justify-content: center;
}

.pulse-xl-text-image figure img {
    position: absolute;
    width: auto;
    height: 100%;
}

.pulse-title {
    font-size: clamp(3.02rem, calc(3.05rem + (100 - 60) * (100vw - 400px) / (2000 - 400)), 9rem);
}

.pulse-title em {
    /* font-size: clamp(3.12rem, calc(3.2rem + (100 - 60) * (100vw - 400px) / (2000 - 400)), 9.25rem) */
    font-size: 1.04em;
    font-family: var(--Source-Serif-Italic);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;

    /* letter-spacing: clamp(-0.6rem, calc(-0.45vw + (100 - 96) * (100vw - 400px) / (2000 - 400)), -0.15rem) */
    letter-spacing: -0.04em;
}

.standalone {
    padding: 0 var(--large-gutter);
}

.pulse-sticky {
    gap: var(--large-gutter);
    padding: 0 var(--thin-gutter) var(--large-gutter) var(--large-gutter);
}

.pulse-sticky.flex-reverse {
    flex-flow: row-reverse;
    padding: 0 var(--large-gutter) var(--large-gutter) var(--thin-gutter);
}

/* .pulse-sticky div p {
    margin-bottom: 0
} */
.pulse-sticky figure {
    /* height: 34vw */
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.pulse-accessories {
    position: relative;
}

.pulse-sticky:not(.pulse-accessories) figure:not(:last-of-type) {
    margin-bottom: var(--thin-gutter);
}

.pulse-sticky figure img {
    position: relative;
    -o-object-fit: contain;
    object-fit: contain;
}

.pulse-sticky div:not(.image-container),
.pulse-accessories .image-container {
    position: -webkit-sticky;
    position: sticky;
    top: var(--large-gutter);
    flex-basis: 40%;
    align-self: flex-start;
    min-height: 34vw;
    width: 100%;
    flex-direction: column;
    justify-content: center;
}

/* .product-text-container {
    -ms-scroll-snap-type: y mandatory;
        scroll-snap-type: y mandatory;
    overflow-y: scroll;
}
.product-text {
    scroll-snap-align: start;
} */
.product-text .top-sentinel,
.product-text .bottom-sentinel {
    position: relative;

    /* margin-top: calc(var(--medium-gutter) *-1); */
    width: 100%;
    height: 1px;
    pointer-events: none;
    opacity: 0;
}

.product-text .top-sentinel {
    position: absolute;
    top: 0;
}

.pulse-accessories figure {
    position: absolute;
    left: 0;
    width: 100%;
    height: 34vw;
}

.pulse-accessories.pulse-sticky div:not(.image-container) {
    position: relative;
    top: auto;
}

.pulse-accessories figure {
    opacity: 0;
    transition: all 0.5s ease;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.pulse-accessories figure.active {
    opacity: 1;
}

.pulse-sticky div.image-container {
    flex-basis: 60%;
    align-items: center;
}

.pulse-sticky.product-focus {
    padding-bottom: 0;
    margin-bottom: var(--thin-gutter);

    /* scroll-snap-align: center; */
}

.OH-benefits {
    position: relative;
    z-index: 0;
    padding: var(--large-gutter) 0;

    /* margin-top: calc(var(--large-gutter) *2) */
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
}

.OH-benefits h2 {
    grid-area: 1 / 1 / 2 / 2;
    width: 80%;
    margin: 0 auto 3rem auto;
}

.OH-benefits figure {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 0;
    top: 0;
    border-radius: 0;
    grid-area: 2 / 1 / 3 / 2;
}

.benefit-info {
    position: relative;
    z-index: 1;
    width: 80%;
    padding: var(--large-gutter);
    background: rgba(255,255,255,0.9);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    border-radius: var(--rounded-corners);
    margin: var(--large-gutter) auto;
    grid-template-columns: 1fr 1fr;
    gap: var(--large-gutter);
}

.OH-info-container figure img {
    position: relative;
    z-index: -1;
}

.OH-info-container .cta {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    margin-bottom: var(--large-gutter);
    font-size: clamp(2rem, calc(1.6rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3rem)!important;
    padding-left: clamp(2.2rem, calc(2rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3rem);
    padding-right: clamp(2.2rem, calc(2rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 3rem);
    padding-top: clamp(1.2rem, calc(1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.6rem);
    padding-bottom: clamp(1.2rem, calc(1rem + (70 - 60) * (100vw - 400px) / (2000 - 400)), 1.6rem);
}

.regenerus-hero {
    margin: 0 auto;
    text-align: center;
    flex-direction: column;
    align-items: center;
    padding: 0 var(--large-gutter);
}

.regenerus-banner {
    border-radius: 0;
    position: relative;
    z-index: 0;
    justify-content: center;
    padding-bottom: 40%;
    width: calc(100% + var(--large-gutter) *2);
}

.regenerus-hero figure:not(.regenerus-banner) img {
    position: relative;
}

.regenerus-logo {
    width: 36%;
    max-width: 600px;
    margin-top: 120px;
    min-width: 250px;
}

.regenerus-hero .cta {
    position: absolute;
    top: var(--medium-gutter);
    z-index: 1;
}

.page-template-Regenerus h1 {
    padding-left: 0;
}

.half-text-image {
    gap: var(--large-gutter);
    align-items: center;
    padding: var(--large-gutter);
    padding-bottom: 0;
}

.half-text-image:last-of-type {
    padding-bottom: var(--large-gutter);
}

.half-text-image figure {
    flex-basis: 55%;
    padding-bottom: 30%;
}

.half-text-image div {
    flex-basis: 45%;
}

/* .half-text-image p {
    margin-bottom: 0;
} */
.centre-image-cta.small-margin figure {
    margin-bottom: var(--thin-gutter);
}

.centre-image-cta.small-image figure {
    width: 50%;
    min-width: 300px;
}

.centre-image-cta.large-image figure {
    width: 80%;
    min-width: 300px;
}

.centre-image-cta {
    padding: var(--large-gutter);

    /* padding-bottom: 0 */
}

.flex-reverse {
    flex-flow: row-reverse;
}

.wellness-360-title {
    grid-template-columns: auto auto;
    grid-template-rows: 0.5fr 0.2fr;
    text-align: left;
}

.wellness-360-title span {
    line-height: 1;
    color: #000;
}

.wellness-360-title span:nth-of-type(1) {
    grid-area: 1 / 1 / 2 / 2;
    font-size: clamp(4rem, calc(4.5rem + (100 - 50) * (100vw - 400px) / (2000 - 400)), 11rem);
    text-align: right;
    line-height: 0.8;
    align-self: flex-end;
}

.wellness-360-title span:nth-of-type(2) {
    grid-area: 1 / 2 / 3 / 3;
    font-size: clamp(7.2rem, calc(7.7rem + (140 - 42) * (100vw - 400px) / (2000 - 400)), 19rem);
    margin-left: 2%;

    /* margin-top: 0.6vw */
    line-height: 0.85;
    align-self: center;
}

.wellness-360-title span:nth-of-type(3) {
    grid-area: 2 / 1 / 3 / 2;
    font-size: clamp(2rem, calc(2.1rem + (160 - 130) * (100vw - 400px) / (2000 - 400)), 5.6rem);
    text-align: right;

    /* line-height: 1 */
    align-self: flex-start;
    color: #807C7C;
}

.sixty-forty {
    justify-content: space-between;
}

.sixty-forty figure,
.sixty-forty.flex-reverse div {
    flex-basis: 55%;
}

.sixty-forty div,
.sixty-forty.flex-reverse figure {
    flex-basis: 45%;
}

.sixty-forty.flex-reverse figure {
    padding-bottom: 30%;
}

.sixty-forty figure {
    padding-bottom: 35%;
}

.echelon-hero {
    grid-template-columns: 30% 30% auto 38%;
    grid-template-rows: 60% 20% 20%;
    margin-top: 90px;
    min-height: calc(100svh - 90px);
    padding: 0 0 0 var(--large-gutter);
}

.echelon-hero .cover-image {
    grid-area: 1 / 2 / 3 / 5;
    margin-left: 4.8rem;

    /* max-width: 1200px */
}

.echelon-hero .echelon-logo {
    grid-area: 2 / 1 / 3 / 4;
    align-self: flex-end;
}

.echelon-hero h2 {
    grid-area: 3 / 1 / 4 / 3;
    justify-self: right;
    text-align: right;
    align-self: center;
    margin-right: var(--medium-gutter);
}

.echelon-hero .cta {
    grid-area: 3 / 3 / 4 / 4;
    text-align: right;
    justify-self: flex-end;
    align-self: center;
}

.page-template-Echelon h2 {
    font-family: var(--Source-Serif-Italic);
    font-size: clamp(2.6rem, calc(2.6rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 6rem);
    letter-spacing: clamp(-0.6rem, calc(-0.2vw + (100 - 96) * (100vw - 400px) / (2000 - 400)), -0.15rem);
}

.page-template-Echelon .echelon-hero h2 {
    margin-bottom: 0;
    font-size: clamp(2.6rem, calc(1rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 4rem);
}

.echelon-hero h2 span {
    display: block;
}

.echelon-logo img {
    position: relative;
    width: 100%;
}

.large-quote {
    padding: var(--large-gutter);
}

.large-quote p {
    font-family: var(--Source-Serif-Italic);
    color: #000;
    font-weight: 550;
    text-align: center;
    margin: 0 auto;
    font-size: clamp(2rem, calc(1rem + (100 - 80) * (100vw - 400px) / (2000 - 400)), 3rem);
}

.large-quote span {
    display: block;
    margin-top: 3rem;
    color: #535353;
    font-weight: 450;
}

.blog-article .cta-article {
    align-self: flex-start;
}

.swiper-slide {
    width: 33%;
}

.slider-header {
    justify-content: space-between;
    align-items: center;
}

.slider-header {
    padding: 3rem 0;
}

.slider-header h2 {
    margin-bottom: 0;
}

.swiper-slide h3 {
    margin-bottom: 3rem;
}

.slider-header .cta {
    flex-grow: 0;
}

.swiper-slide figure {
    padding-bottom: 100%;
}

/* *
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025 */
/* FONT_START */
@font-face {
    font-family: 'swiper-icons';
    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
    font-weight: 400;
    font-style: normal;
}

/* FONT_END */
:root {
    --swiper-theme-color: #007aff;

    /* --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial; */
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;

    /* Fix of Webkit flickering */
    z-index: 1;
    display: block;
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
    touch-action: pan-y;
}

.swiper-vertical {
    touch-action: pan-x;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto;
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
}

.swiper-3d {
    perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;

    /* For Firefox */
    -ms-overflow-style: none;

    /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    -ms-scroll-snap-type: none;
    scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    -webkit-animation: swiper-preloader-spin 1s infinite linear;
    animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}

@-webkit-keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Slide styles end */
/* ==========================================================================
   Feature Cards Block  —  auto-loaded by WordPress via block registration.
   No manual include needed.
   ========================================================================== */
/* ── Section wrapper ─────────────────────────────────────────────────────── */
.wp-block-pemfit-feature-cards.fc-section {
    padding: var(--large-gutter) var(--medium-gutter);
    width: 100%;
    box-sizing: border-box;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.fc-header {
    margin-bottom: var(--thin-gutter);
    max-width: 700px;
}

/* ── Eyebrow ─────────────────────────────────────────────────────────────── */
/* * Colour, size and transform are CSS custom properties set on the section
 * wrapper via inline style — same pattern as heading/desc text controls. */
.fc-eyebrow {
    color: var(--pf-ey-color, var(--orange)) !important;
    font-family: var(--DM-Sans) !important;
    font-size: var(--pf-ey-size, 1.2rem) !important;
    font-weight: 600 !important;
    text-transform: var(--pf-ey-tx, uppercase) !important;
    letter-spacing: 0.15em;
    margin: 0 0 1.2rem !important;
    max-width: none;
    line-height: 1.6 !important;
}

/* ── Section heading ─────────────────────────────────────────────────────── */
.fc-heading {
    color: var(--forest-green);
    font-family: var(--DM-Sans);
    font-size: clamp(2.8rem, 4vw, 5.5rem);
    font-weight: 500;
    margin-top: var(--pf-h2-mt, 0);
    margin-bottom: var(--pf-h2-mb, 0);
    padding-top: var(--pf-h2-pt, 0);
    padding-bottom: var(--pf-h2-pb, 0);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.fc-heading em {
    font-family: var(--Source-Serif-Italic);
    font-style: normal !important;
    font-weight: 400;
    font-size: 1.05em;
    letter-spacing: -0.04em;
}

/* ── Card grid ───────────────────────────────────────────────────────────── */
.fc-grid {
    display: grid;
    grid-template-columns: repeat( var(--fc-cols, 3), 1fr );
    gap: var(--medium-gutter);
    margin-top: var(--thin-gutter);
    align-items: stretch;

    /* all cells in a row stretch to row height */
}

/* ── Individual card ─────────────────────────────────────────────────────── */
.wp-block-pemfit-feature-card-item.fc-item {
    /* border-radius is also set via inline style from PHP to guarantee it shows */
    border-radius: var(--rounded-corners) !important;
    background: #ffffff;

    /* fallback — overridden by inline style */
    box-sizing: border-box;
    box-shadow: 0 2px 20px -8px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    /* stretch to fill grid cell so all cards in a row are equal height */
    align-self: stretch;
    flex: 1 1 auto;
}

.wp-block-pemfit-feature-card-item.fc-item.is-dark {
    box-shadow: none;
}

/* ── Icon container ──────────────────────────────────────────────────────── */
.fc-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 10px;

    /* default; overridden by inline style */
    background: var(--light-beige);

    /* default; overridden by inline style */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.6rem;

    /* default; overridden by inline style */
    flex-shrink: 0;
    box-sizing: border-box;
}

/* SVG built-in icons */
.fc-icon-wrap svg {
    display: block;
    color: var(--orange);
    width: 22px;
    height: 22px;
}

/* Font Awesome icons */
.fc-icon-wrap i {
    font-size: 22px;
    color: var(--orange);
    line-height: 1;
    display: block;
}

/* Dark card overrides */
.fc-item.is-dark .fc-icon-wrap {
    background: rgba(255, 255, 255, 0.12) !important;
}

.fc-item.is-dark .fc-icon-wrap svg,
.fc-item.is-dark .fc-icon-wrap i {
    color: #9cbbaf;
}

/* ── Card heading ────────────────────────────────────────────────────────── */
.fc-item-heading {
    font-family: var(--DM-Sans) !important;
    font-weight: 600 !important;
    color: var(--pf-h-color, var(--forest-green)) !important;
    font-size: var(--pf-h-size, clamp(1.6rem, 1.8vw, 2rem)) !important;
    margin: 0 0 var(--pf-h-mb, 0.8rem) !important;
    letter-spacing: -0.01em;
    line-height: 1.3 !important;
}

.fc-item.is-dark .fc-item-heading {
    color: #ffffff !important;
}

/* ── Card description ────────────────────────────────────────────────────── */
.fc-item-desc {
    font-family: var(--DM-Sans) !important;
    color: var(--pf-d-color, var(--brown)) !important;
    font-size: var(--pf-d-size, clamp(1.35rem, 1.5vw, 1.65rem)) !important;
    line-height: 1.65 !important;
    margin: var(--pf-d-mt, 0) 0 0 !important;
    max-width: none !important;

    /* grows to fill remaining card space, keeping cards uniform within a row */
    flex-grow: 1;
}

.fc-item.is-dark .fc-item-desc {
    color: rgba(255, 255, 255, 0.72) !important;
}

/* *
 * PEMFiT — Scrolling Link Marquee block styles
 * blocks/scrolling-link-marquee/scrolling-link-marquee.css
 *
 * Two horizontal marquee rows that scroll in opposite directions.
 * Row 1 scrolls right-to-left, Row 2 scrolls left-to-right.
 * Hovering or focusing ANY link inside the component pauses BOTH rows. */
.component-scrolling-link-marquee-sec {
    position: relative;
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--slm-row-gap, var(--thin-gutter));
    padding-top: var(--slm-padding-top, var(--medium-gutter));
    padding-bottom: var(--slm-padding-bottom, var(--medium-gutter));
    background: var(--slm-bg, transparent);
}

.component-scrolling-link-marquee-sec.has-custom-mt {
    margin-top: var(--slm-margin-top);
}

.component-scrolling-link-marquee-sec.has-custom-mb {
    margin-bottom: var(--slm-margin-bottom);
}

/* ---------------------------------------------------------------------
 * Row + track
 * ------------------------------------------------------------------ */
.component-scrolling-link-marquee-sec .slm-row {
    width: 100%;
    overflow: hidden;
}

.component-scrolling-link-marquee-sec .slm-track {
    display: flex;
    align-items: center;
    gap: var(--slm-gap, var(--thin-gutter));
    list-style: none;
    margin: 0;
    padding: 0;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

/* ---------------------------------------------------------------------
 * Pause on hover / focus
 *
 * Animation is JS-driven (see wp_footer script). The script reads
 * this data attribute each frame and pauses advancing the offset
 * when set — avoiding the jump/restart that CSS @keyframes cause
 * when the track's width changes (e.g. new items added/removed).
 * ------------------------------------------------------------------ */
/* ---------------------------------------------------------------------
 * Items / links
 * ------------------------------------------------------------------ */
.component-scrolling-link-marquee-sec li.slm-item {
    flex: 0 0 auto;
    list-style: none;
}

.component-scrolling-link-marquee-sec .slm-item .slm-item-link,
.component-scrolling-link-marquee-sec li.slm-item a.slm-item-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: var(--slm-item-py, 0.8rem) var(--slm-item-px, 2rem);
    border-radius: var(--slm-item-radius, 999px);
    border: var(--slm-item-border-w, 0px) solid var(--slm-item-border, transparent);
    background-color: var(--slm-item-bg, #ffffff);
    color: var(--slm-item-text, #161616);
    font-size: var(--slm-font-size, 1.4rem) !important;
    line-height: 1.2 !important;
    font-weight: var(--slm-font-weight, 600);
    letter-spacing: var(--slm-letter-spacing, 0.05em);
    text-transform: var(--slm-text-transform, uppercase);
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.component-scrolling-link-marquee-sec li.slm-item a.slm-item-link:hover,
.component-scrolling-link-marquee-sec li.slm-item a.slm-item-link:focus-visible {
    background-color: var(--slm-item-hover-bg, var(--slm-item-bg, #ffffff));
    color: var(--slm-item-hover-text, var(--slm-item-text, #161616));
}

/* Respect reduced-motion preference */
/* Reduced-motion preference is honoured in JS (wp_footer script checks
   matchMedia('(prefers-reduced-motion: reduce)') and skips animating
   the transform if set, leaving tracks static at their initial position). */
/* ---------------------------------------------------------------------
 * Editor canvas
 * ------------------------------------------------------------------ */
.editor-styles-wrapper .component-scrolling-link-marquee-sec {
    border: 1px dashed rgba(0, 0, 0, 0.15);
}

/* Inner item block placeholder styling inside editor */
.editor-styles-wrapper .slm-item-editor-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--slm-gap, var(--thin-gutter));
    padding: 1rem;
}

.editor-styles-wrapper .slm-row-label {
    width: 100%;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.5;
    margin-bottom: 0.4rem;
}

nd · CSS
/* =========================================================================
   pemfit/pemf-info-grid — "What is PEMF?" information grid
   Append to blocks/block-styles.css, then bump ?ver= / filemtime.
   ====================================================================== */
 
.three-image-text-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: var(--pemf-grid-column-gap, var(--pemf-space-m, 2rem));
    column-gap: var(--pemf-grid-column-gap, var(--pemf-space-m, 2rem));
    row-gap: var(--pemf-grid-row-gap, var(--pemf-space-m, 2rem));
    align-items: start;
}

.three-image-text-grid.is-reversed {
    direction: rtl;
}

.three-image-text-grid.is-reversed > * {
    direction: ltr;
}

.three-image-text-grid.has-text-align-center .title-p,
.three-image-text-grid.has-text-align-center .p-cta {
    text-align: center;
}

.three-image-text-grid.has-text-align-right .title-p,
.three-image-text-grid.has-text-align-right .p-cta {
    text-align: right;
}

/* --- Text columns ------------------------------------------------------ */
.three-image-text-grid .title-p,
.three-image-text-grid .p-cta {
    display: flex;
    flex-direction: column;
    gap: var(--pemf-space-s, 1rem);
    align-self: center;
}

.three-image-text-grid .pemf-info-grid__title {
    color: var(--pemf-heading-colour, currentColor);
    margin: 0;
}

.three-image-text-grid .pemf-info-grid__description {
    margin: 0;
}

.three-image-text-grid .p-cta .cta {
    align-self: flex-start;
}

.three-image-text-grid.has-text-align-center .p-cta .cta {
    align-self: center;
}

.three-image-text-grid.has-text-align-right .p-cta .cta {
    align-self: flex-end;
}

/* --- Media slots ------------------------------------------------------- */
.three-image-text-grid .pemf-info-grid__media {
    /* position, overflow, height and padding-bottom are set inline per
	   block instance (padding-bottom intrinsic-ratio box, matching the
	   same technique used on the HTI image block) — not set here, since
	   the ratio is per-block, not fixed in the stylesheet. */
    margin: 0;
    background-color: var(--pemf-colour-neutral-100, #f2f2f0);
    line-height: 0;

    /* stops descender gap under replaced elements */
}

/* The ratio-box fill wrapper — absolutely positioned inline per instance
   (top/left/width/height) so image, video and embed content all fill the
   padding-bottom box identically, the same way a plain <img> would. */
.three-image-text-grid .pemf-info-grid__media-inner {
    line-height: normal;
}

.three-image-text-grid .pemf-info-grid__media-inner img,
.three-image-text-grid .pemf-info-grid__media-inner > video {
    display: block;
    width: 100%;
    height: 100%;
}

.three-image-text-grid .pemf-info-grid__media-inner img.is-cover,
.three-image-text-grid .pemf-info-grid__media-inner > video.is-cover {
    -o-object-fit: cover;
    object-fit: cover;
}

.three-image-text-grid .pemf-info-grid__media-inner img.is-contain,
.three-image-text-grid .pemf-info-grid__media-inner > video.is-contain {
    -o-object-fit: contain;
    object-fit: contain;
}

/* Embeds / shortcode output — force any iframe or player to fill the frame.
   No position:absolute here — the .pemf-info-grid__media-inner wrapper
   above already handles that when a fixed aspect ratio is set. */
.three-image-text-grid .pemf-info-grid__embed {
    width: 100%;
    height: 100%;
}

.three-image-text-grid .pemf-info-grid__embed > *,
.three-image-text-grid .pemf-info-grid__embed iframe,
.three-image-text-grid .pemf-info-grid__embed video,
.three-image-text-grid .pemf-info-grid__embed .wp-video,
.three-image-text-grid .pemf-info-grid__embed .mejs-container {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    border: 0;
    display: block;
}

/* 'auto' aspect (no ratio box, no .pemf-info-grid__media-inner wrapper) —
   content sizes naturally, embed/video allowed to set their own height. */
.three-image-text-grid .pemf-info-grid__media > .pemf-info-grid__embed:only-child {
    width: 100%;
}

/* --- Editor-only affordances ------------------------------------------ */
.pemf-info-grid__media-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed var(--pemf-colour-neutral-300, #c9c9c4);
    line-height: normal;
}

.pemf-info-grid__embed--placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    text-align: center;
    border: 1px dashed var(--pemf-colour-neutral-300, #c9c9c4);
    overflow: hidden;
}

.pemf-info-grid__embed-label {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.6;
}

.pemf-info-grid__embed--placeholder code {
    font-size: 0.75rem;
    word-break: break-all;
    max-height: 6em;
    overflow: hidden;
}

.pemf-media-slot__buttons {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.75rem;
}

@media screen and (max-aspect-ratio: 1/1) {
    .page-template-PULSE-PEMF .full-height-hero,
    .page-template-Optimal-Hydration .full-height-hero {
        min-height: 40svh;
        height: 80vw;
    }
}

/* @media screen and (max-height: 600px) {
    .page-template-PULSE-PEMF .full-height-hero,
    .page-template-Optimal-Hydration .full-height-hero {
        min-height: 70svh;
        height: 80vw;
    }
} */
@media screen and (min-width: 2000px) {
    .wp-block-pemfit-stat-counter .stat-counter-grid {
        grid-template-rows: 2vw 2vw 5vw 5vw 2vw 2vw !important;
    }
}

@media screen and (max-width: 2000px) {
    .author.half-hero h1 {
        min-width: 0;
    }

    .author figure {
        flex-basis: 50%;
    }

    .author .hero-text-container {
        flex-basis: 50%;
    }
}

@media screen and (max-width: 1600px) {
    .echelon-hero .cover-image img {
        -o-object-position: 80% 50%;
        object-position: 80% 50%;
    }
}

@media screen and (max-width: 1500px) {
    .info-snippet {
        grid-template-columns: repeat(2, auto);
        justify-content: start;
    }

    .author figure {
        flex-basis: 60%;
    }

    .author .hero-text-container {
        flex-basis: 40%;
    }

    .four-card-pricing {
        padding: var(--medium-gutter) var(--large-gutter);
    }

    .four-card-pricing .card-container {
        flex-wrap: wrap;
        gap: var(--large-gutter);
        width: calc(100% + var(--large-gutter));
    }

    .four-card-pricing .card {
        flex-basis: calc(50% - var(--large-gutter));
    }
}

@media screen and (max-width: 1400px) {
    .four-card:not(.four-card-pricing) {
        padding: var(--thin-gutter);
    }

    .four-card:not(.four-card-pricing) .card-info .cta-container {
        width: 100%;
    }

    .borderless-image-right .inner-hero-wrap {
        height: 80%;
    }

    .infographic:not(.our-story) figure:nth-of-type(1),
    .infographic:not(.our-story) figure:nth-of-type(2) {
        align-self: center;
    }

    /* .half-text-image figure {
        -ms-flex-item-align: stretch;
            align-self: stretch;
    } */
    .half-text-image figure {
        align-self: flex-start;
    }
}

@media screen and (max-width: 1200px) {
    .main-menu ul:not(.dropdown-menu) li a:not(#socials a) {
        padding: 1.5rem 1.2rem;
    }

    .regenerus-logo {
        width: 40%;
        max-width: none;
    }

    .echelon-hero h2 span {
        display: inline;
    }

    .OH-product-intro {
        width: 80%;
    }

    .search-nav h3 {
        display: none;
    }

    #pete-comparison .flex {
        gap: 2rem;
    }

    .author {
        padding: 0 var(--medium-gutter);
    }

    .author .inner-hero-wrap {
        gap: var(--medium-gutter);
    }

    .four-card .card-inner {
        flex-basis: calc(33.33% - var(--medium-gutter));
    }

    .three-card-grid figure {
        padding: 3rem;
    }

    .infographic:not(.our-story) figure:nth-of-type(1) {
        align-self: flex-end;
        margin-bottom: 2rem;
    }

    .infographic figure:nth-of-type(2) {
        align-self: flex-start;
        margin-top: 2rem;
    }

    #footer-info {
        padding: 3rem;
    }

    .three-image-text-grid {
        grid-template-columns: 35% 5% 5% 35% 20%;
        grid-template-rows: 5vw auto 5vw auto;
    }

    .three-image-text-grid figure:nth-of-type(1) {
        grid-area: 1 / 4 / 3 / 6;
        margin: 0;
    }

    .three-image-text-grid figure:nth-of-type(2) {
        grid-area: 3 / 1 / 6 / 3;
        margin: 5vw 0 0 0;
    }

    .three-image-text-grid figure:nth-of-type(2) img {
        -o-object-position: 50% 35%;
        object-position: 50% 35%;
    }

    .three-image-text-grid figure:nth-of-type(3) {
        grid-area: 4 / 4 / 7 / 6;
        margin: 0;
    }

    .three-image-text-grid .p-cta {
        grid-area: 4 / 4 / auto / 6;
        margin: 0;
    }

    .three-image-text-grid .title-p {
        grid-area: 1 / 1 / 3 / 3;
    }

    .infographic.our-story .info-container {
        grid-area: 1 / 1 / 3 / 3;
    }

    .infographic.our-story .summary {
        grid-area: 1 / 4 / 2 / 7;
    }

    .infographic.our-story figure {
        grid-area: 2 / 4 / 3 / 7;
    }

    .infographic.our-story figure img {
        -o-object-position: 30% 50%;
        object-position: 30% 50%;
    }

    /* .home-hero {
        min-height: 80svh
    } */
}

@media screen and (max-width: 1024px) {
    .pulse-sticky.product-focus {
        margin-bottom: var(--large-gutter);
    }

    .blog-article .excerpt {
        display: none;
    }

    .blog-article h2 {
        margin-bottom: 0;
    }

    .before-the-session figure {
        padding-bottom: 0;
    }

    .before-the-session figure img {
        position: relative;
    }

    .home-hero {
        min-height: 0;
        height: auto;
    }

    .page-template-home .full-height-hero p {
        z-index: 8;

        /* -webkit-backdrop-filter: blur(0.5px);
        backdrop-filter: blur(0.5px);
        -webkit-mask-image: -webkit-gradient(
        linear,
        left bottom, left top,
        color-stop(87.5%, rgba(0, 0, 0, 0)),
        to(rgba(0, 0, 0, 1))
      );
        -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 87.5%,
        rgba(0, 0, 0, 1) 100%
      );
        mask-image: -webkit-gradient(
        linear,
        left bottom, left top,
        color-stop(87.5%, rgba(0, 0, 0, 0)),
        to(rgba(0, 0, 0, 1))
      );
        mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 87.5%,
        rgba(0, 0, 0, 1) 100%
      ); */
    }

    .page-template-home .full-height-hero p:not(.info-button):not(.info-snippet p) {
        width: 60%;
    }

    /* .page-template-home .hero-text-container {
        margin-top: 120px
        grid-area: 2 / 1 / 5 / 2;
    } */
    /* p:not(footer p),
    a:not(footer a),
    figcaption,
    label {
        font-size: 1.6rem
    }

    h4 {
        font-size: 1.8rem
    } */
    .complete figure {
        flex-basis: 80%;
    }

    .complete figure img {
        -o-object-position: 65% 50%;
        object-position: 65% 50%;
    }
}

@media screen and (max-width: 991px) {
    .wp-block-pemfit-stat-counter.stat-counter-section {
        padding: var(--medium-gutter) var(--thin-gutter);
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid {
        grid-template-columns: 0.5fr 0.8fr 1.1fr 0.8fr 0.5fr !important;
        grid-template-rows: auto !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) .stat-number,
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) .stat-suffix {
        font-size: clamp(4rem, 4vw, 11rem) !important;
    }

    .wp-block-pemfit-feature-cards .fc-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .product-text-container,
    .pulse-sticky div:not(.image-container),
    .pulse-accessories .image-container {
        flex-basis: 50%;
    }

    .pulse-sticky div.image-container {
        flex-basis: 50%;
    }

    .regenerus-banner {
        padding-bottom: 50%;
    }

    .echelon-hero {
        display: block!important;
        padding: 0 var(--thin-gutter);
    }

    .echelon-hero .cover-image {
        padding-bottom: 60%;
        margin: 0;
        border-radius: var(--rounded-corners);
    }

    .echelon-hero .echelon-logo {
        position: relative;
        padding: 3rem 0;
        width: 60%;
        margin: 0 auto;
        min-width: 250px;
    }

    .echelon-hero h2 {
        text-align: center;
        margin: 0;
        padding: 1rem var(--medium-gutter);
    }

    .echelon-hero .cta {
        margin: 3rem auto;
    }

    #find-studio {
        flex-direction: column;
        justify-content: flex-end;
    }

    .full-height-hero {
        padding: 70px var(--thin-gutter) var(--thin-gutter) var(--thin-gutter);
    }

    .page-template-studio-microsite-v2 .full-height-hero figure:not(.studio-details-accordion figure),
    .page-template-head-office .full-height-hero figure,
    .page-template-PULSE-PEMF .full-height-hero figure,
    .page-template-Optimal-Hydration .full-height-hero figure {
        height: calc(100% - 70px - var(--thin-gutter));
    }

    .echelon-hero {
        height: auto;
        min-height: 0;
        margin-top: 70px;
    }

    #find-studio .cta {
        position: relative;
        margin-top: 2rem;
    }

    #find-studio .cta-border-outline:before {
        content: none;
    }

    .video-container {
        margin: var(--thin-gutter);
    }

    .three-card .card-inner .card-info {
        margin-top: 0;
    }

    .borderless-image-right .inner-hero-wrap {
        height: 60%;
    }

    .during-the-session .flex {
        gap: var(--medium-gutter);
    }

    .inner-hero-wrap {
        height: calc(100% - 70px);
    }

    .author .hero-text-container {
        padding-right: var(--medium-gutter);
    }

    .author figure {
        top: 70px;
        border-radius: 0 var(--rounded-corners) var(--rounded-corners) 0;
    }

    .infographic {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto auto 1fr;
        gap: 0 var(--medium-gutter);
    }

    .infographic.our-story {
        grid-template-columns: repeat(3, auto);
    }

    .infographic .info-container {
        grid-area: 1 / 1 / 3 / 4;
    }

    .infographic.our-story .info-container {
        grid-area: 1 / 1 / 3 / 4;
    }

    .infographic .summary {
        grid-area: 3 / 1 / auto / 3;
        margin: 3rem 0 0 0;
    }

    .infographic.our-story .summary {
        margin: 0 0 var(--medium-gutter) 0;
    }

    .infographic figure:nth-of-type(1) {
        grid-area: 1 / 3 / 2 / 4;
        align-self: flex-start;
    }

    .infographic figure:nth-of-type(2) {
        grid-area: 2 / 3 / auto / 4;
        margin: 3rem 0;

        /* align-self: flex-end */
    }

    .infographic figure:nth-of-type(3) {
        grid-area: 3 / 3 / auto / 4;
        position: relative;
        right: 0;
    }

    .infographic.our-story figure {
        grid-area: 2 / 4 / auto / 7;
    }

    .large-intro:not(.pemf-session) p {
        text-align: left;
        margin: 0;
        grid-area: 2 / 1 / auto / 5;
    }

    /* .search-container {
        justify-content: center
    } */
    .borderless-image {
        flex-direction: column;

        /* padding: 0 var(--thin-gutter)!important */
    }

    .half-hero.borderless-image {
        margin-bottom: 0;
    }

    .borderless-image .hero-text-container {
        max-width: none;
        min-width: 0;

        /* padding: 3rem 1rem 0 1rem */
    }

    .borderless-image-gallery-right {
        grid-template-columns: 1fr 0.6fr;
        grid-template-rows: 1fr 1fr 1fr;

        /* height: calc(100svh - var(--medium-gutter) *2) */
    }

    .borderless-image-gallery-right figure {
        border-radius: var(--rounded-corners) 0px 0px var(--rounded-corners);
    }

    .borderless-image-gallery-right .hero-text-container {
        grid-area: 1 / 1 / 4 / 2;
        padding-left: var(--medium-gutter);
    }

    .borderless-image-gallery-right figure:nth-of-type(1) {
        grid-area: 3 / 2 / 4 / 3;
    }

    .borderless-image-gallery-right figure:nth-of-type(2) {
        grid-area: 2 / 2 / 3 / 3;
    }

    .borderless-image-gallery-right figure:nth-of-type(3) {
        grid-area: 1 / 2 / 2 / 3;
    }

    .image-side-below-text {
        grid-template-columns: 40% 40% calc(20% - var(--medium-gutter) *2);
        gap: var(--medium-gutter);
    }

    .image-side-below-text-info {
        margin-left: 0;
        grid-area: 1 / 2 / 1 / 4;
    }

    .image-side-below-text-info p {
        padding-bottom: 0;
    }

    .image-side-below-text figure:nth-of-type(1) {
        align-self: flex-start;
        height: 55%;
        grid-area: 1 / 1 / 2 / 2;
    }

    .image-side-below-text figure:nth-of-type(2) {
        margin-left: 0;
        grid-area: 2 / 2 / 3 / 4;
    }

    .half-hero:not(.post-hero) {
        margin: 70px auto 0 auto;
        padding: 0;

        /* grid-template-columns: 1fr 50% */
    }

    .pemfit-vision,
    .infographic.our-story {
        margin-top: 70px;
    }

    .half-hero h1 {
        grid-area: 1 / 1 / 4 / 2;
        min-width: 0;
    }

    .home-hero {
        padding: 70px var(--thin-gutter) 0 var(--thin-gutter);
    }

    .large-intro {
        margin-top: 70px;
    }

    .quote-box {
        grid-area: 3 / 2 / 4 / 3;
        margin: -3rem 0 0 0!important;
        width: 100%;
        min-width: 0;
        max-width: none;
        border-radius: 0 0 var(--rounded-corners) var(--rounded-corners);
    }

    .featured-image-container,
    .quote-box {
        min-width: 250px;
    }

    .quote-box p {
        font-size: 1.8rem;
    }

    .card-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .three-image-grid,
    .three-card-grid .card-container {
        padding: 0 var(--thin-gutter);
    }

    .map-info {
        flex-direction: column;
    }

    .map {
        height: 450px;
        flex-basis: auto;
    }

    .essential-info {
        flex-basis: auto;
    }

    .affiliate-logos {
        width: 90%;
    }

    #footer-links ul {
        margin-right: auto;
    }

    .right-info {
        padding: var(--large-gutter);
    }

    /* .home-hero .hero-text-container {
        margin-top: 70px
    } */
    .infographic .info-container {
        grid-area: 1 / 1 / 3 / 3;
    }

    .infographic:not(.our-story) figure:nth-of-type(1) {
        align-self: flex-start;
    }
}

@media screen and (max-width: 767px) {
    .pulse-accessories {
        padding-top: 0!important;
    }

    .standalone {
        position: relative;
        z-index: 1;
        padding: 0 var(--medium-gutter);
    }

    .image-switch:before {
        content: '';
        position: absolute;
        top: calc(var(--medium-gutter) *-1);
        left: 0;
        width: 100%;
        height: calc(100% + var(--medium-gutter) *2);
        background: var(--off-white);
    }

    .pulse-sticky div.image-container {
        top: 70px;
        min-height: 60vw;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
    }

    .pulse-sticky div.image-container.image-switch {
        top: var(--medium-gutter);
    }

    .pulse-sticky,
    .pulse-sticky.flex-reverse {
        flex-direction: column;
        padding: 0 var(--medium-gutter)var(--large-gutter)var(--medium-gutter);
        gap: 0;
    }

    .pulse-sticky.pulse-accessories.flex-reverse {
        flex-direction: column-reverse!important;

        /* padding: var(--large-gutter) var(--medium-gutter) */
    }

    .page-template-PULSE-PEMF .centre-image-cta figure {
        order: 3;
    }

    .page-template-PULSE-PEMF .centre-image-cta p {
        order: 1;
        margin-top: calc(3rem - var(--thin-gutter));
        padding: 0 var(--thin-gutter);
    }

    .page-template-PULSE-PEMF .centre-image-cta .cta {
        margin-bottom: 3rem;
        order: 2;
    }

    .blog-grid-one .blog-article:nth-of-type(1) .excerpt,
    .blog-grid-two .blog-article:nth-of-type(5n + 1) .excerpt {
        display: none;
    }

    .benefit-info {
        grid-template-columns: 1fr;
    }

    .page-template-PULSE-PEMF .centre-image-cta figure {
        width: 100%;
        margin-bottom: 0;

        /* margin-top: var(--thin-gutter) */
    }

    .page-template-PULSE-PEMF .centre-image-cta {
        padding: 0 var(--thin-gutter) var(--large-gutter) var(--thin-gutter);

        /* flex-flow: column-reverse */
    }

    .pulse-xl-text-image div {
        flex-basis: 50%;
        padding-right: var(--thin-gutter);
    }

    .page-template-PULSE-PEMF .full-height-hero,
    .page-template-Optimal-Hydration .full-height-hero {
        height: 66svh;
    }

    .page-template-PULSE-PEMF .studio-hero:after,
    .page-template-Optimal-Hydration .studio-hero:after {
        background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0,0,0,0) 100%);
    }

    .page-template-PULSE-PEMF .full-height-hero figure img,
    .page-template-Optimal-Hydration .full-height-hero figure img {
        -o-object-position: 30% 50%;
        object-position: 30% 50%;
    }

    .brand-feature-hero-info {
        margin-bottom: 0;
    }

    .pulse-sticky.product-focus {
        flex-direction: column;
        padding: 0 var(--medium-gutter);
    }

    .pulse-sticky div:not(.image-container) {
        position: relative;

        /* margin-top: var(--large-gutter) */
        top: 0;
        min-height: 0;
    }

    .pulse-sticky.pulse-accessories div:not(.image-container) {
        margin-top: var(--large-gutter);
    }

    .pulse-sticky figure {
        height: 60vw;
    }

    .regenerus-hero {
        padding: 0 var(--medium-gutter);
    }

    .regenerus-logo {
        width: 60%;
        max-width: none;
    }

    .centre-image-cta {
        padding: var(--large-gutter) var(--medium-gutter);
    }

    .half-text-image {
        flex-direction: column;
        flex-flow: column-reverse;
        padding: var(--medium-gutter);
        gap: 3rem;
    }

    .half-text-image figure {
        padding-bottom: 60%!important;
    }

    .blog-grid.grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 1fr;
        height: auto;
        max-height: none;
    }

    .blog-grid-two .blog-article:nth-of-type(5n + 1) .excerpt-container {
        padding: 0;
    }

    /* .blog-grid-one .blog-article:nth-of-type(1) {
        padding: var(--thin-gutter);
    } */
    .blog-grid-one {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr;
    }

    .cta-minimal:after,
    .blog-grid-one .blog-article:nth-of-type(1) .cta-article:after,
    .blog-grid-two .blog-article:nth-of-type(5n + 1) .cta-article:after {
        content: '\2197';
    }

    .cta-minimal,
    .blog-article .cta-article {
        width: 5vw!important;
        height: 5vw!important;
        min-width: 30px;
        min-height: 30px;
        padding: 0;
        max-height: 80px!important;
        max-width: 80px!important;
        display: flex;
        align-items: center;
        margin-left: auto;
        align-self: flex-start;
        justify-content: center;
    }

    .blog-article h2:not(.blog-grid-one .blog-article:nth-of-type(1) h2),
    .blog-grid-one .blog-article:nth-of-type(1) h2 {
        font-size: clamp(1.8rem, calc(1.6rem + (100 - 50) * (100vw - 400px) / (2000 - 400)), 4rem);
    }

    .blog-article:nth-of-type(1) {
        grid-area: 1 / 1 / 2 / 2;
    }

    .blog-article:nth-of-type(2) {
        grid-area: 2 / 1 / 3 / 2;
    }

    .blog-article:nth-of-type(3) {
        grid-area: 3 / 1 / 4 / 2;
    }

    .blog-article {
        height: 60vw!important;
        padding: var(--medium-gutter);
    }

    .blog-article h2 {
        align-self: flex-end;
    }

    .blog-grid-two .blog-article:nth-of-type(5n + 1) {
        grid-area: span 1 / span 1!important;
    }

    .blog-grid-two .blog-article,
    .blog-grid-two .blog-article:nth-of-type(10n + 1) {
        grid-column: 1 / 2!important;
    }

    .search-nav {
        flex-direction: column;
        align-items: center;
    }

    .blog-social-links {
        margin-left: 0;
    }

    .text-image-right .flex {
        flex-direction: column;
        gap: 3rem;
    }

    .before-the-session-info p {
        margin-bottom: 0;
    }

    .during-the-session .flex {
        flex-direction: column;
    }

    .during-the-session figure {
        position: relative;
        top: 0;
    }

    .infographic .info-container .cta-container {
        /* -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2; */
        margin-bottom: 3rem;
    }

    .infographic figure:nth-of-type(2) {
        margin: 0;
    }

    .author .hero-text-container {
        padding: var(--medium-gutter);
    }

    .author figure {
        position: relative;
        padding: 35%;
        border-radius: var(--rounded-corners);
        top: 0;
    }

    .image-text-cascade {
        padding: var(--medium-gutter);
    }

    .cascade-inner .flex {
        flex-direction: column;
    }

    .cascade-inner .flex figure {
        padding-bottom: 0;
    }

    .cascade-inner .flex figure img {
        position: relative;
    }

    .page-template-studio-microsite-v2 .cascade-inner .flex div {
        order: 2;
    }

    .page-template-studio-microsite-v2 .cascade-inner .flex figure {
        order: 1;
    }

    .four-card .card-inner {
        flex-basis: calc(50% - var(--medium-gutter));
    }

    .hero-map .hero-text-container {
        order: 1;
    }

    .hero-map .map-container {
        order: 2;
    }

    mappress-map:where(:not(.wp-toolbar *)).mapp-layout {
        aspect-ratio: 100 / 90!important;
    }

    .gallery-grid.grid {
        display: flex!important;
        flex-direction: column;
        width: 100%;
    }

    .gallery-grid figure {
        padding-bottom: 70%;
    }

    .gallery-grid figure:nth-of-type(4) {
        padding-bottom: 100%;
    }

    .three-card {
        padding-top: var(--large-gutter);
    }

    .three-card .card-container {
        gap: var(--large-gutter);
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .three-card .card-inner p {
        margin-bottom: 3rem;
    }

    #pete-comparison {
        margin-top: 0;
        padding: var(--large-gutter);
    }

    .right-info.small figure {
        max-width: 300px;
        margin: 0 auto;
    }

    .right-info p.summary {
        text-align: center;
    }

    .large-intro.pemf-session p {
        grid-area: 2 / 7 / 3 / 25;
        text-align: left;

        /* margin-top: 3rem */
    }

    .large-intro.pemf-session h1 {
        grid-area: 1 / 7 / 2 / 25;
        text-align: left;
    }

    .large-intro.pemf-session figure:nth-of-type(1) {
        margin-right: 3rem;
    }

    .large-intro.pemf-session figure:nth-of-type(2) {
        grid-area: 4 / 19 / 8 / 25;
        margin-top: 3rem;
    }

    body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z .half-hero,
    body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 .half-hero,
    .half-hero.borderless-image-right {
        padding: var(--thin-gutter);
    }

    .borderless-image-right {
        height: auto;
    }

    .borderless-image figure,
    .half-hero.borderless-image-right figure {
        border-radius: var(--rounded-corners);
        margin: 0 var(--thin-gutter);
        padding-bottom: 55%;
        width: auto;
    }

    .author.borderless-image figure {
        padding-bottom: 80%!important;
    }

    mappress-map:where(:not(.wp-toolbar *)).mapp-layout {
        border-radius: var(--rounded-corners)!important;
    }

    .hero-map .map-container {
        padding-bottom: 0;
    }

    body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z .half-hero,
    body:where(:not(.wp-toolbar *)).page-template-wellness-A-Z-v2 .half-hero {
        height: auto;
    }

    .borderless-image .hero-text-container {
        width: 100%;
        padding: 3rem var(--large-gutter) 0 var(--large-gutter);
    }

    .complete .flex {
        flex-direction: column;
    }

    .complete figure {
        order: 1;
    }

    .complete div {
        order: 2;
    }

    .page-template-what-is-a-pemf-session section {
        padding: var(--large-gutter)var(--medium-gutter) 0 var(--medium-gutter);
    }

    .right-info {
        flex-direction: column;
        padding: var(--large-gutter) var(--thin-gutter);
    }

    .right-info .info-container {
        padding: 0 var(--thin-gutter);
    }

    .inner-hero-wrap {
        flex-direction: column;
        padding: 0;
    }

    .borderless-image-right .hero-text-container {
        order: 2;
        width: auto;
        padding: var(--large-gutter) var(--medium-gutter) 0 var(--medium-gutter);
        min-width: 0;
    }

    .faq-hero .hero-text-container {
        order: 1;
        position: relative;
        top: 0;
    }

    .faq-hero .faq-accordion {
        order: 2;
    }

    .borderless-image-right figure {
        padding-bottom: 60%;
        order: 1;
        border-radius: 0;
    }

    .large-intro:not(.pemf-session) h1 {
        margin-top: 5%;
    }

    .large-intro:not(.pemf-session) figure:nth-of-type(1) {
        margin-top: -30%;
    }

    .borderless-image-gallery-right .hero-text-container h1,
    .borderless-image-gallery-right .hero-text-container ul:not(.wp-block-list),
    .borderless-image-gallery-right .hero-text-container .post-info {
        width: 58%;
    }

    section:where(:not(.wp-toolbar *)).wider {
        width: auto;
        margin: var(--medium-gutter);
        padding: 6rem 8%;
    }

    .home-hero figure:after {
        width: 100%;
    }

    .three-card {
        max-width: 500px;
    }

    .three-card .card-inner figure {
        height: auto;
        padding-bottom: 80%;
    }

    .three-image-text-grid {
        display: flex!important;
        flex-direction: column;
        gap: 2rem;
        padding: 50px var(--large-gutter);
    }

    .three-image-text-grid figure {
        padding-bottom: 60%;
        margin: 0 !important;
    }

    .three-image-text-grid figure:nth-of-type(2) {
        order: 2;
    }

    .three-image-text-grid figure:nth-of-type(3) {
        order: 3;
    }

    .three-image-text-grid p:not(.title-p p) {
        order: 2;
    }

    .left-info {
        flex-direction: column;
        padding: calc(var(--medium-gutter) + var(--thin-gutter));
    }

    .info-container,
    .card-grid {
        width: 100%;
    }

    .card-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .card-container:not(.four-card .card-container) {
        flex-direction: column;
        align-items: center;
        gap: var(--large-gutter);
    }

    .card {
        min-width: 220px;
        margin: 0 var(--medium-gutter);
    }

    .four-card-pricing .card-container {
        width: 100%;
    }

    .four-card-pricing .card {
        margin: 0;
        flex-basis: 100%;
    }

    .card-large {
        min-height: 310px;
    }

    .half-hero {
        grid-template-columns: 1fr;
        grid-template-rows: auto;

        /* padding: var(--thin-gutter) */
        height: auto;
    }

    .post-hero {
        padding: 0 var(--medium-gutter);
    }

    .half-hero h1 {
        grid-area: 1 / 1 / auto / 2;

        /* font-size: clamp(2.6rem, calc(2.7rem + (90 - 20) * (100vw - 400px) / (2000 - 400)), 7.5rem); */
        /* font-size: clamp(3.6rem, calc(2.7rem + (90 - 20) * (100vw - 400px) / (2000 - 400)), 7.5rem) */
        white-space: pre-line;
    }

    .post-hero h1 {
        margin-bottom: 3rem;
    }

    /* .half-hero h1 em {
        font-size: clamp(2.7rem, calc(2.7rem + (80 - 2) * (100vw - 400px) / (2000 - 400)), 8rem);
        font-size: clamp(3.9rem, calc(2.7rem + (80 - 2) * (100vw - 400px) / (2000 - 400)), 8rem)
    } */
    .featured-image-container {
        grid-area: 2 / 1 / 3 / 2;
    }

    .quote-box {
        grid-area: 3 / 1 / auto / 2;
    }

    .affiliate-logos {
        width: 100%;
    }

    .home-hero img.cover-fit {
        -o-object-position: 70% 50%;
        object-position: 70% 50%;
    }

    .borderless-image-gallery-right {
        grid-template-columns: 1fr 40%;
        grid-template-rows: repeat(4, auto);
        padding-left: 0;
    }

    .borderless-image-gallery-right .hero-text-container {
        grid-area: 1 / 1 / 4 / 3;
        min-width: 0;
        padding: var(--medium-gutter);
    }

    .borderless-image-gallery-right .hero-text-container h1 {
        margin: 3rem 0;
    }

    .borderless-image-gallery-right figure:nth-of-type(1) {
        grid-area: 4 / 2 / 5 / 3;
    }

    .borderless-image-gallery-right figure:nth-of-type(2) {
        grid-area: 4 / 1 / 5 / 2;
        margin: 0;
        border-radius: 0 var(--rounded-corners) var(--rounded-corners) 0;
    }

    .borderless-image-gallery-right figure:nth-of-type(3) {
        grid-area: 1 / 2 / 2 / 3;
        margin: 0;
    }

    .infographic {
        padding: var(--large-gutter) var(--medium-gutter);
    }

    .infographic.our-story.grid {
        display: flex!important;
        flex-direction: column;
        gap: var(--medium-gutter);
        padding: var(--large-gutter);
    }

    .wp-block-pemfit-hti-col {
        margin: var(--medium-gutter) 0;
    }

    /* .infographic .info-container p:nth-of-type(1) {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    } */
    /* .infographic .info-container h2 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    } */
    /* .infographic .info-container p {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    } */
    /* .infographic .info-container figure:nth-of-type(1) {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    } */
    .infographic.our-story .summary {
        text-align: center;

        /* -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3; */
        margin-bottom: 3rem;
    }

    /* .infographic.our-story figure {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    } */
    .three-card .card-inner .card-info {
        padding: var(--medium-gutter);
        margin-top: 0;
    }
}

@media screen and (max-width: 600px) {
    .three-image-text-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .three-image-text-grid.is-reversed {
        direction: ltr;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: auto auto auto !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1),
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(2),
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3),
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(4),
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) {
        grid-column: auto !important;
        grid-row: auto !important;
        padding: var(--medium-gutter) !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) {
        grid-row: 1 !important;
        grid-column: 1 !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(2) {
        grid-row: 1 !important;
        grid-column: 2 !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) {
        grid-row: 2 !important;
        grid-column: 1 / 3 !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(4) {
        grid-row: 3 !important;
        grid-column: 1 !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) {
        grid-row: 3 !important;
        grid-column: 2 !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1),
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) .stat-number-wrap,
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) .stat-number-wrap {
        justify-content: center !important;
        margin-bottom: 0.3rem !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) .stat-text-wrap,
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) .stat-text-wrap {
        align-items: center !important;
        text-align: center !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) .stat-heading,
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) .stat-heading,
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(1) .stat-counter-description,
    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(5) .stat-counter-description {
        text-align: center !important;
    }

    .wp-block-pemfit-stat-counter .stat-counter-grid > *:nth-child(3) {
        padding: 10% 0 !important;
    }

    .wp-block-pemfit-feature-cards .fc-grid {
        grid-template-columns: 1fr !important;
    }

    .wp-block-pemfit-feature-cards.fc-section {
        padding: var(--medium-gutter) var(--thin-gutter);
    }

    .info-snippet {
        grid-template-columns: 1fr;
    }

    .page-template-home .full-height-hero .gradient-container {
        position: absolute;
        height: 70%;
        bottom: 0;
        top: auto;
        left: 0;
        width: 100%;

        /* background: -o-linear-gradient(left, rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%) */
        /* background: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.4)),to(rgba(0,0,0,0))) */
        background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0,0,0,0) 100%);
        z-index: 1;
    }

    .gradient-blur > div,
    .gradient-blur:before,
    .gradient-blur:after {
        position: absolute;
        left: 0;
        bottom: 0;
        top: auto;
        height: 50%;
        width: 100%;
    }

    .gradient-blur:before {
        content: "";
        z-index: 1;
        -webkit-backdrop-filter: blur(64px);
        backdrop-filter: blur(64px);
        -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 1) 12.5%,
        rgba(0, 0, 0, 1) 25%,
        rgba(0, 0, 0, 0) 37.5%
      );
        mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 1) 12.5%,
        rgba(0, 0, 0, 1) 25%,
        rgba(0, 0, 0, 0) 37.5%
      );
    }

    .gradient-blur > div:nth-of-type(1) {
        z-index: 2;
        -webkit-backdrop-filter: blur(32px);
        backdrop-filter: blur(32px);
        -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 12.5%,
        rgba(0, 0, 0, 1) 25%,
        rgba(0, 0, 0, 1) 37.5%,
        rgba(0, 0, 0, 0) 50%
      );
        mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 12.5%,
        rgba(0, 0, 0, 1) 25%,
        rgba(0, 0, 0, 1) 37.5%,
        rgba(0, 0, 0, 0) 50%
      );
    }

    .gradient-blur > div:nth-of-type(2) {
        z-index: 3;
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 25%,
        rgba(0, 0, 0, 1) 37.5%,
        rgba(0, 0, 0, 1) 50%,
        rgba(0, 0, 0, 0) 62.5%
      );
        mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 25%,
        rgba(0, 0, 0, 1) 37.5%,
        rgba(0, 0, 0, 1) 50%,
        rgba(0, 0, 0, 0) 62.5%
      );
    }

    .gradient-blur > div:nth-of-type(3) {
        z-index: 4;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 37.5%,
        rgba(0, 0, 0, 1) 50%,
        rgba(0, 0, 0, 1) 62.5%,
        rgba(0, 0, 0, 0) 75%
      );
        mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 37.5%,
        rgba(0, 0, 0, 1) 50%,
        rgba(0, 0, 0, 1) 62.5%,
        rgba(0, 0, 0, 0) 75%
      );
    }

    .gradient-blur > div:nth-of-type(4) {
        z-index: 5;
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 50%,
        rgba(0, 0, 0, 1) 62.5%,
        rgba(0, 0, 0, 1) 75%,
        rgba(0, 0, 0, 0) 87.5%
      );
        mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 50%,
        rgba(0, 0, 0, 1) 62.5%,
        rgba(0, 0, 0, 1) 75%,
        rgba(0, 0, 0, 0) 87.5%
      );
    }

    .gradient-blur > div:nth-of-type(5) {
        z-index: 6;
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);
        -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 62.5%,
        rgba(0, 0, 0, 1) 75%,
        rgba(0, 0, 0, 1) 87.5%,
        rgba(0, 0, 0, 0) 100%
      );
        mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 62.5%,
        rgba(0, 0, 0, 1) 75%,
        rgba(0, 0, 0, 1) 87.5%,
        rgba(0, 0, 0, 0) 100%
      );
    }

    .gradient-blur > div:nth-of-type(6) {
        z-index: 7;
        -webkit-backdrop-filter: blur(1px);
        backdrop-filter: blur(1px);
        -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 75%,
        rgba(0, 0, 0, 1) 87.5%,
        rgba(0, 0, 0, 1) 100%
      );
        mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 75%,
        rgba(0, 0, 0, 1) 87.5%,
        rgba(0, 0, 0, 1) 100%
      );
    }

    .home-hero .hero-img-wrap:after {
        content: none;
    }

    .pulse-xl-text-image {
        flex-direction: column;
        padding: 0 var(--medium-gutter);
        flex-flow: column-reverse;
    }

    .pulse-xl-text-image figure {
        padding-bottom: 70%;
        margin-top: var(--large-gutter);
    }

    .pulse-xl-text-image figure img {
        position: absolute;
    }

    .pulse-sticky,
    .pulse-sticky.flex-reverse {
        flex-direction: column;
        padding: var(--medium-gutter);
        margin-bottom: var(--large-gutter);
    }

    .OH-product-intro p,
    .OH-product-intro h2 {
        text-align: left;
    }

    .regenerus-banner {
        padding-bottom: 70%;
    }

    .OH-product-intro {
        width: auto;
        margin: 0 var(--thin-gutter);
        padding: var(--medium-gutter);
    }

    .full-height-hero {
        padding: 60px var(--thin-gutter) var(--thin-gutter) var(--thin-gutter);
    }

    .page-template-studio-microsite-v2 .full-height-hero figure:not(.studio-details-accordion figure),
    .page-template-head-office .full-height-hero figure,
    .page-template-PULSE-PEMF .full-height-hero figure,
    .page-template-Optimal-Hydration .full-height-hero figure {
        height: calc(100% - 60px - var(--thin-gutter));
    }

    .echelon-hero {
        margin-top: 60px;
    }

    .flex-review-score {
        order: 1;
    }

    .page-template-home .full-height-hero p:not(.info-snippet p):not(.info-button) {
        display: none;
        color: #333!important;

        /* margin-bottom: 2rem */
        margin-top: 2rem;
    }

    .subheading-wrap:has(> .home-hero p[style*="display: none"]) {
        display: none;
    }

    .borderless-image .hero-text-container {
        padding: 3rem var(--medium-gutter) 0 var(--medium-gutter);
    }

    .text-image-right,
    .during-the-session {
        padding: var(--medium-gutter);
    }

    .before-the-session figure {
        padding-bottom: 100%;
    }

    .during-the-session figure {
        padding-bottom: 60%;
    }

    .before-the-session figure img {
        position: absolute;
    }

    .info-snippet {
        padding-top: 3rem;
        margin-top: 3rem;
    }

    .three-card {
        padding: var(--large-gutter);
    }

    .four-card .card-container {
        width: 100%;
        gap: var(--medium-gutter) 0;
    }

    .four-card .card-info .cta-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .four-card .card-inner {
        flex-basis: 100%;
    }

    .before-the-session h2 {
        width: auto;
    }

    .large-intro.pemf-session p {
        grid-area: 4 / 1 / 6 / 25;
    }

    .large-intro.pemf-session h1 {
        font-size: 4rem;
        grid-area: 1 / 8 / 2 / 25;
        font-size: (5rem, calc(4.1rem + (100 - 10) * (100vw - 400px) / (2000 - 400)), 14rem);
    }

    .large-intro.pemf-session figure:nth-of-type(1) {
        grid-area: 1 / 1 / 4 / 7;
    }

    .large-intro.pemf-session figure:nth-of-type(2) {
        grid-area: 2 / 8 / 3 / 21;
        margin: 0 0 3rem 0;
    }

    .page-template-what-is-a-pemf-session .flex {
        flex-direction: column;
    }

    .during-the-session figure {
        position: relative;
        top: 0;
    }

    /* .page-template-what-is-a-pemf-session .flex figure {
        padding-bottom: 60%
    } */
    .cascade-one .flex:nth-of-type(1) figure,
    .cascade-one .flex:nth-of-type(3) figure,
    .cascade-two .flex:nth-of-type(2) figure {
        order: 1;
    }

    .cascade-one .flex:nth-of-type(1) div,
    .cascade-one .flex:nth-of-type(3) div,
    .cascade-two .flex:nth-of-type(2) div {
        order: 2;
    }

    .right-info {
        margin-top: 190px;
        padding: 0 var(--thin-gutter);
    }

    .infographic.grid {
        display: flex!important;
        flex-direction: column;
        gap: 5rem;
        padding-bottom: 320px;
    }

    .infographic.our-story.grid {
        padding-bottom: var(--large-gutter);
    }

    .infographic .summary {
        text-align: center;
        margin: 0;
    }

    .infographic figure:nth-of-type(1) {
        margin: 0 auto;
    }

    .infographic figure:nth-of-type(2),
    .infographic figure:nth-of-type(3) {
        max-width: 220px;
    }

    .infographic figure:nth-of-type(3) {
        position: absolute;
        z-index: 10;
        height: 400px;
        width: 220px;
        right: auto;
        align-self: center;
        bottom: -130px;
        top: auto;
    }

    .conditions {
        /* padding: var(--thin-gutter) */
        grid-template-columns: 1fr;
    }

    .borderless-image-gallery-right .hero-text-container h1,
    .borderless-image-gallery-right .hero-text-container ul:not(.wp-block-list),
    .borderless-image-gallery-right .hero-text-container .post-info {
        width: 100%;
    }

    .secondary-info {
        width: 100%;
        left: auto;
    }

    .borderless-image-gallery-right .hero-text-container {
        grid-area: 2 / 1 / 4 / 3;
    }

    .borderless-image-gallery-right figure:nth-of-type(3) {
        grid-area: 1 / 1 / 2 / 3;
        border-radius: 0;
        height: 250px;
    }

    .image-side-below-text {
        display: flex!important;
        flex-direction: column;
        grid-template-columns: 40% 40% calc(20% - var(--medium-gutter) *2);
        gap: var(--medium-gutter);
        padding: 0 var(--thin-gutter);
    }

    .image-side-below-text figure {
        margin: 0!important;
        padding-bottom: 80%!important;
    }

    .image-side-below-text div,
    .image-side-below-text p {
        margin: 0;
    }

    .image-side-below-text-info {
        padding: 0 var(--medium-gutter);
    }

    /* .half-hero {
        margin: 60px auto;
        padding: 0;
    } */
    .home-hero {
        padding: 60px var(--thin-gutter) 0 var(--thin-gutter);
        grid-template-columns: var(--medium-gutter) auto var(--medium-gutter);
        grid-template-rows: var(--medium-gutter) auto 1fr auto auto auto 0fr auto var(--medium-gutter);

        /* min-height: 0 */
    }

    .home-hero figure {
        /* height: calc(100% + 40px) */
        grid-area: 1 / 1 / 5 / 4;
    }

    .hero-text-container h1 {
        margin: 0 auto 3rem auto;
    }

    .page-template-home .full-height-hero p:not(.info-button) {
        position: relative;

        /* padding: var(--medium-gutter) */
        padding-bottom: 0;

        /* text-align: center */
        align-items: center;
    }

    .page-template-home .full-height-hero p {
        color: #000;

        /* text-align: center */
    }

    .pemfit-vision,
    .infographic.our-story {
        margin-top: 60px;
    }

    .home-hero figure:after {
        content: none;
    }

    .home-hero .full p:not(.info-button) {
        min-width: 0;
        width: auto;
        padding-top: 0;
        margin-bottom: 2rem;
    }

    .info-snippet p span:not(.container):not(.secondary) {
        color: var(--forest-green);
    }

    .info-snippet .secondary {
        color: #50655c !important;
    }

    .home-hero .cta-outline.cta-white-text {
        color: var(--forest-green);
        border-color: var(--forest-green);
    }

    .home-hero .cta-outline.cta-white-text:hover {
        border-color: var(--orange);
        color: #61756d!important;
    }

    .info-snippet {
        row-gap: 0.2rem;
        text-align: center;
    }

    .reviews-snippet {
        justify-content: center;
    }

    .full-height-hero.home-hero {
        /* min-height: 100svh */
    }

    .home-hero img.cover-fit {
        -o-object-position: 70% 50%;
        object-position: 70% 50%;
    }

    .large-intro {
        margin-top: 60px;
    }

    /* .home-hero .hero-text-container {
        grid-area: 1 / 1 / auto / 2;
        min-width: 280px;
        margin-left: auto;
        margin-right: auto;
        border-radius: var(--rounded-corners);
        text-align: center;
        padding: var(--large-gutter);
        -webkit-backdrop-filter: blur(2px) brightness(0.7);
        backdrop-filter: blur(2px) brightness(0.7);
    } */
    .home-hero h1 {
        margin: 0 auto var(--medium-gutter) auto;
        overflow-wrap: break-word;
        text-align: center;
    }

    .home-hero .cta-container {
        width: 100%;
        margin-top: 2rem;
    }

    .centered-info {
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .review-score {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }

    .studio-hero-info {
        width: 88%;
    }

    .affiliate-logos {
        flex-wrap: wrap;
        gap: 4rem;
        padding: 6rem;
    }

    .affiliate-logos figure {
        flex-basis: 50%;
        max-width: 130px;
    }
}

@media screen and (max-width: 525px) {
    .large-intro:not(.pemf-session) h1 {
        margin-top: 7%;
    }

    .large-intro:not(.pemf-session) figure:nth-of-type(2) {
        margin-top: -50%;
    }

    .large-intro:not(.pemf-session) p {
        grid-area: 3 / 1 / auto / 7;
        margin-top: 3rem;
    }
}

@media screen and (max-width: 480px) {
    .borderless-image-gallery-right {
        grid-template-rows: repeat(6, auto);
    }

    .borderless-image-gallery-right figure {
        margin: 0 var(--medium-gutter)!important;
        border-radius: var(--rounded-corners)!important;
        width: calc(100% - var(--medium-gutter) *2);
    }

    .borderless-image-gallery-right figure:nth-of-type(1) {
        grid-area: 4 / 1 / 5 / 3;
    }

    .borderless-image-gallery-right figure:nth-of-type(2) {
        grid-area: 5 / 1 / 6 / 3;
    }

    .borderless-image-gallery-right figure:nth-of-type(3) {
        grid-area: 6 / 1 / 7 / 3;
    }

    .benefit-info {
        padding: var(--medium-gutter);
    }

    .regenerus-hero p {
        text-align: left;
    }

    .regenerus-logo {
        align-self: flex-start;
    }

    .blog-social-links a {
        width: 4rem;
        height: 4rem;
    }

    .three-card,
    .infographic.our-story.grid {
        padding: var(--medium-gutter);
    }

    .four-card-pricing {
        padding: var(--thin-gutter);
    }

    .large-intro.pemf-session h1 {
        grid-area: 1 / 1 / 2 / 25;
    }

    .large-intro.pemf-session figure {
        min-width: 0;
    }

    .large-intro.pemf-session figure:nth-of-type(1) {
        grid-area: 2 / 1 / 4 / 13;
    }

    .large-intro.pemf-session figure:nth-of-type(2) {
        grid-area: 2 / 13 / 4 / 25;
    }

    .large-intro.pemf-session figure {
        padding-bottom: 130%;
        margin: 0!important;
    }

    .large-intro.pemf-session p {
        margin-top: 3rem;
    }

    .large-intro.pemf-session figure img {
        position: absolute;
        height: 100%;
    }

    #find-studio:before {
        font-size: 5rem;
        white-space: normal;
    }

    .large-intro {
        padding: 60px var(--medium-gutter) 0 var(--medium-gutter);
    }

    .large-intro:not(.pemf-session) figure:nth-of-type(2) {
        margin-left: 0;
        margin-top: -30%;
    }

    .cta-container {
        width: 100%;
    }

    .full-height-hero .hero-text-container {
        width: calc(85% + 2rem);
        padding: 0;
        padding-top: var(--medium-gutter);
    }

    /* .full-height-hero .hero-text-container h1 {
        font-size: clamp(5.1rem, calc(6.15rem + (250 - 10) * (100vw - 400px) / (2000 - 400)), 14rem)
    } */
    /* .full-height-hero .hero-text-container h1 em {
        font-size: clamp(5.15rem, calc(6.3rem + (260 - 5) * (100vw - 400px) / (2000 - 400)), 14.9rem)
    } */
    .info-container .cta {
        width: 100%;
    }

    .card-grid {
        grid-template-columns: 1fr;
    }

    .affiliate-logos {
        padding: 2rem;
    }

    .affiliate-logos figure {
        min-width: 100px;
    }

    .three-image-text-grid {
        padding: var(--large-gutter) var(--medium-gutter);
    }
}

@media screen and (max-width: 400px) {
    .centre-image-cta p {
        text-align: left;
    }

    .regenerus-hero .cta {
        width: calc(100% - var(--medium-gutter) *4);
    }

    .centre-image-cta .cta {
        width: 100%;
    }

    .cta-container {
        width: 100%!important;
    }

    .faq-accordion {
        padding: 0;
    }
}
/* ═══════════════════════════════════════════════════════════════════════════
   .top-element — clears the fixed header (#menu-container, see style.css).
   Add the class to the first block on a page (Kadence: Advanced > Additional
   CSS class). Header heights: 90px, 70px at <= 991px, 60px at <= 600px.
   Front end only (the editor has no fixed header).
   ═══════════════════════════════════════════════════════════════════════════ */
:root { --pemfit-header-height: 90px; }
@media (max-width: 991px) { :root { --pemfit-header-height: 70px; } }
@media (max-width: 600px) { :root { --pemfit-header-height: 60px; } }

body:not(.editor-styles-wrapper) .top-element {
    margin-top: var(--pemfit-header-height);
}


/* <picture> support (Imagify WebP "picture tags"): the wrapper must not take
   part in layout, so every existing img / .cover-fit / figure rule behaves
   exactly as it did with a bare <img>. */
picture {
    display: contents;
}


/* Editable footer (Appearance > Footers): block-based link columns and copyright bar */
#footer-links .footer-links-col {
    min-width: 165px;
    padding: 0;
}

#footer-links .footer-links-col ul {
    margin: 0;
    padding: 0;
}

#footer-links .footer-links-col li {
    list-style: none;
}

#footer-top .wp-block-image,
#footer-top figure {
    margin: 0;
}

#copyright-info p a {
    padding: 0;
    margin: 0;
}

@media (max-width: 991px) {
    #footer-links .footer-links-col {
        margin-right: auto;
    }
}


/* Footer logo is an image block now: undo the generic .wp-block-image radius / margin */
#footer-logo,
#footer-logo.wp-block-image {
    margin: 0;
    border-radius: 0;
}

#footer-logo img,
#footer-logo.wp-block-image img,
#footer-logo a {
    border-radius: 0 !important;
}
/* studio-template-new.css — BUILD 2026-08-01-A */
:root { --pf-build: "2026-08-01-A"; }

/* ═══════════════════════════════════════════════════════════════════════════
   PEMFiT Burnley Redesign Blocks — studio-template-new.css
   ───────────────────────────────────────────────────────────────────────────
   Translates the approved Burnley landing mockup into the PEMFiT design
   system defined in block-styles.css / theme.json:

     mockup teal    #3a4742  →  var(--forest-green)
     mockup cream   #efe3d0  →  var(--beige)
     mockup offwht  #f6f2ef  →  var(--off-white)
     mockup orange  #e8722a  →  var(--orange)
     Montserrat               →  var(--DM-Sans)
     Libre Caslon Italic      →  var(--Source-Serif-Italic)
     fixed 12px radii         →  var(--rounded-corners)
     fixed paddings           →  fluid gutter tokens

   Enqueued for BOTH the front end and the editor (same pattern as
   block-styles.css) — class names are identical on both sides, so editor
   canvas matches published output with no separate editor CSS.
   Selectors deliberately use descendant (not direct-child) combinators so
   the editor's wrapper elements never break layout.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Shared section scaffolding ─────────────────────────────────────────── */

.pf-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pf-section-gap, var(--thin-gutter));
    padding: var(--large-gutter) var(--thin-gutter);
    background-color: var(--off-white);
}

.pf-section-label {
    font-family: var(--DM-Sans);
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--pf-leaf-color, var(--orange));
    text-align: center;
}

.pf-section-heading {
    font-family: var(--DM-Sans);
    font-size: var(--global-kb-font-size-sm);
    font-weight: 520;
    line-height: 1.15;
    color: var(--pf-leaf-color, var(--forest-green));
    text-align: center;
    max-width: 24ch;
    margin: 0;
}

/* Serif italic accent — em/i inside any Burnley heading */
.pf-section-heading em,
.pf-section-heading i,
.pf-hero-title em,
.pf-hero-title i,
.pf-panel-title em,
.pf-panel-title i {
    font-family: var(--Source-Serif-Italic);
    font-style: italic;
    font-weight: 450;
    color: var(--pf-heading-accent, var(--orange));
}

.pf-section-subtext {
    font-size: clamp(1.4rem, calc(1.1rem + (72 - 60) * (100vw - 400px) / (2000 - 400)), 1.8rem);
    line-height: 1.65;
    color: var(--pf-leaf-color, rgba(58, 71, 66, 0.8));
    text-align: center;
    max-width: 62ch;
    margin: 0;
}

.pf-section-footnote {
    font-size: 1.35rem;
    color: var(--pf-leaf-color, rgba(58, 71, 66, 0.7));
    text-align: center;
    margin: 0;
}
/* The footnote text sits in a plain <span>, and block-styles.css has a bare
   `span { color: forest-green }` rule — so the block's own Colour control
   (set on the <p>) never reached the text. Let it inherit. */
.pf-section-footnote > span:not([class]):not([style]) {
    color: inherit;
}

.pf-section-footnote.pf-footnote-pill {
    display: inline-block;
    padding: 1.1rem 2.2rem;
    border: 1px dashed var(--orange);
    border-radius: 10rem;
    background-color: var(--light-beige);
    color: var(--pf-leaf-color, var(--forest-green));
}

/* Dark-background sections recolour the shared header leaves */
.pf-split-feature .pf-section-heading,
.pf-value-props .pf-section-heading {
    color: var(--pf-leaf-color, var(--off-white));
}

/* ── Hero Split ─────────────────────────────────────────────────────────── */

.pf-hero-split {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr);
    gap: var(--pf-hero-gap, var(--medium-gutter));
    align-items: center;
    padding: var(--large-gutter) var(--medium-gutter);
    min-height: 82svh;
    background-color: var(--forest-green);
    overflow: hidden;
}

.pf-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Legibility scrim under the content even before an overlay is set */
.pf-hero-split::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(100deg, rgba(58, 71, 66, 0.82) 0%, rgba(58, 71, 66, 0.55) 55%, rgba(58, 71, 66, 0.25) 100%);
    pointer-events: none;
}

.pf-hero-overlay { z-index: 1; }

.pf-hero-content,
.pf-hero-panel {
    position: relative;
    z-index: 2;
}

.pf-hero-content {
    display: flex;
    flex-direction: column;
    gap: var(--thin-gutter);
    max-width: 62rem;
}

.pf-hero-title {
    font-family: var(--DM-Sans);
    font-size: var(--global-kb-font-size-md);
    font-weight: 520;
    line-height: 1.08;
    color: var(--pf-leaf-color, var(--off-white));
    margin: 0;
}

.pf-hero-sub {
    font-size: clamp(1.5rem, calc(1.2rem + (72 - 60) * (100vw - 400px) / (2000 - 400)), 1.9rem);
    line-height: 1.6;
    color: var(--pf-leaf-color, rgba(245, 242, 238, 0.88));
    max-width: 52ch;
    margin: 0;
}

.pf-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
    align-items: center;
}

/* Frosted info panel */
.pf-hero-panel {
    background-color: var(--pf-panel-bg, rgba(245, 242, 238, 0.10));
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(245, 242, 238, 0.22);
    border-radius: var(--rounded-corners);
    padding: var(--thin-gutter);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    max-width: 42rem;
    justify-self: end;
    width: 100%;
}

.pf-panel-title {
    font-family: var(--DM-Sans);
    font-size: 2rem;
    font-weight: 520;
    color: var(--pf-leaf-color, var(--off-white));
    margin: 0 0 0.8rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid rgba(245, 242, 238, 0.18);
}

.pf-panel-row {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    padding: 1.2rem 0.4rem;
    font-size: 1.45rem;
    color: var(--pf-leaf-color, rgba(245, 242, 238, 0.92));
    text-decoration: none;
    border-bottom: 1px solid rgba(245, 242, 238, 0.10);
    transition: color 0.2s ease;
}

.pf-panel-row:last-child { border-bottom: none; }

a.pf-panel-row:hover { color: var(--orange); }

.pf-panel-dot {
    font-size: 0.7rem;
    color: var(--orange);
    flex-shrink: 0;
}

.pf-panel-row-label { flex: 1; }

.pf-panel-plus {
    color: rgba(245, 242, 238, 0.55);
    font-size: 1.7rem;
    line-height: 1;
    transition: transform 0.2s ease, color 0.2s ease;
}

a.pf-panel-row:hover .pf-panel-plus {
    color: var(--orange);
    transform: rotate(90deg);
}

/* ── Value Props Strip ──────────────────────────────────────────────────── */

.pf-value-props {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--pf-vp-gap, var(--medium-gutter));
    padding: var(--medium-gutter) var(--medium-gutter);
    background-color: var(--forest-green);
}

.pf-vp-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.2rem;
}

.pf-vp-icon {
    width: 5.2rem;
    height: 5.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 2.1rem;
    color: var(--pf-vp-icon, var(--orange));
    background-color: var(--pf-vp-icon-bg, rgba(243, 113, 34, 0.14));
    border: 1px solid rgba(243, 113, 34, 0.35);
}

.pf-vp-heading {
    font-family: var(--DM-Sans);
    font-size: 1.55rem;
    font-weight: 600;
    color: var(--pf-vp-text, var(--off-white));
    margin: 0;
}

.pf-vp-text {
    font-size: 1.35rem;
    line-height: 1.55;
    color: var(--pf-vp-text, rgba(245, 242, 238, 0.72));
    max-width: 30ch;
    margin: 0;
}

/* ── Membership Grid ────────────────────────────────────────────────────── */

.pf-membership-section { background-color: var(--off-white); }

.pf-membership-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--thin-gutter);
    align-items: stretch;
    width: 100%;
    max-width: 130rem;
    margin-top: var(--thin-gutter);
}

.pf-m-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: var(--pf-card-bg, #fff);
    border: 1px solid var(--dun);
    border-radius: var(--rounded-corners);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pf-m-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(58, 71, 66, 0.14);
}

.pf-m-card.pf-featured {
    border: 2px solid var(--pf-card-accent, var(--orange));
    box-shadow: 0 12px 34px rgba(243, 113, 34, 0.22);
}

.pf-m-badge {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    z-index: 2;
    padding: 0.45rem 1.3rem;
    border-radius: 10rem;
    background-color: var(--beige);
    color: var(--forest-green);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pf-m-header {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 2.2rem 2rem 1.8rem;
    background-color: var(--pf-card-header-bg, var(--forest-green));
}

.pf-m-card.pf-featured .pf-m-header {
    background-color: var(--pf-card-header-bg, var(--pf-card-accent, var(--orange)));
}

.pf-m-tier-name {
    font-family: var(--DM-Sans);
    font-size: 2rem;
    font-weight: 560;
    color: var(--pf-leaf-color, var(--off-white));
    margin: 0;
}

.pf-m-tagline {
    font-family: var(--Source-Serif-Italic);
    font-style: italic;
    font-size: 1.35rem;
    color: var(--pf-leaf-color, rgba(245, 242, 238, 0.8));
}

.pf-m-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.4rem;
    padding: 2.2rem 2rem 0.4rem;
    color: var(--pf-leaf-color, var(--forest-green));
}

.pf-m-price-value {
    font-size: 3.4rem;
    font-weight: 620;
    line-height: 1;
}

.pf-m-price-suffix {
    font-size: 1.3rem;
    color: rgba(58, 71, 66, 0.6);
}

.pf-m-sessions {
    text-align: center;
    font-size: 1.35rem;
    font-weight: 620;
    color: var(--pf-leaf-color, var(--orange));
    padding: 0 2rem 1.6rem;
}

.pf-m-saving {
    margin: 0 1.6rem 1.6rem;
    padding: 1rem 1.2rem;
    border-radius: calc(var(--rounded-corners) * 0.6);
    background-color: var(--light-beige);
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: center;
    color: var(--pf-leaf-color, var(--forest-green));
}

.pf-m-features {
    list-style: none;
    margin: 0;
    padding: 0 2rem;
    flex: 1;                       /* pushes the CTA to a common baseline   */
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.pf-m-feature {
    position: relative;
    padding-left: 2.4rem;
    font-size: 1.3rem;
    line-height: 1.5;
    color: var(--pf-leaf-color, rgba(58, 71, 66, 0.85));
    list-style: none;
}

.pf-m-feature::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--orange);
    font-weight: 700;
}

/* Existing pemfit/cta-button, adapted as the card CTA */
.pf-m-card .wp-block-pemfit-cta-button,
.pf-m-card .cta {
    width: auto;
    display: block;
    margin: 2rem;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 620;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.pf-m-card .cta-outline { color: var(--forest-green); }

/* block-styles.css already sets white-space:nowrap!important on .cta — that
   default is kept. Long labels are clipped with an ellipsis instead of
   wrapping or overflowing the pill. */
.pf-m-card .cta,
.pf-pack-card .cta {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Split Feature / Discovery ──────────────────────────────────────────── */

.pf-split-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: var(--pf-sf-gap, var(--large-gutter));
    align-items: center;
    padding: var(--large-gutter) var(--medium-gutter);
    background-color: var(--forest-green);
}

.pf-sf-content {
    display: flex;
    flex-direction: column;
    gap: var(--thin-gutter);
    align-items: flex-start;
}

.pf-sf-content .pf-section-label,
.pf-sf-content .pf-section-heading { text-align: left; }

.pf-sf-content .pf-section-heading {
    max-width: 20ch;
    color: var(--pf-leaf-color, var(--off-white));
}

.pf-sf-content p {
    font-size: clamp(1.4rem, calc(1.1rem + (72 - 60) * (100vw - 400px) / (2000 - 400)), 1.7rem);
    line-height: 1.7;
    color: var(--pf-sf-text, rgba(245, 242, 238, 0.85));
    max-width: 54ch;
    margin: 0;
}

.pf-steps-card {
    background-color: var(--pf-steps-bg, rgba(245, 242, 238, 0.07));
    border: 1px solid rgba(245, 242, 238, 0.18);
    border-radius: var(--rounded-corners);
    padding: var(--thin-gutter);
    display: flex;
    flex-direction: column;
    gap: 2rem;
    counter-reset: pf-step;        /* auto numbering — reorder-safe         */
}

.pf-step-item {
    display: flex;
    gap: 1.6rem;
    align-items: flex-start;
    counter-increment: pf-step;
}

.pf-step-num {
    flex-shrink: 0;
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 50%;
    background-color: var(--pf-step-num-bg, var(--orange));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 650;
}

.pf-step-num::before { content: counter(pf-step); }

.pf-step-heading {
    font-family: var(--DM-Sans);
    font-size: 1.55rem;
    font-weight: 620;
    color: var(--off-white);
    margin: 0 0 0.4rem;
}

.pf-step-text {
    font-size: 1.3rem;
    line-height: 1.55;
    color: rgba(245, 242, 238, 0.72);
    margin: 0;
}

/* ── Session Packs ──────────────────────────────────────────────────────── */

.pf-pack-section { background-color: var(--beige); }

.pf-pack-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: var(--thin-gutter);
    align-items: stretch;
    width: 100%;
    max-width: 120rem;
    margin-top: var(--thin-gutter);
}

.pf-pack-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.6rem;
    background-color: var(--pf-card-bg, var(--off-white));
    border: 1px solid var(--dun);
    border-radius: var(--rounded-corners);
    padding: 2.8rem 2rem 2.4rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pf-pack-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(58, 71, 66, 0.12);
}

.pf-pack-name {
    font-family: var(--DM-Sans);
    font-size: 1.55rem;
    font-weight: 620;
    color: var(--pf-leaf-color, var(--forest-green));
    margin: 0;
}

.pf-pack-price {
    font-size: 2.9rem;
    font-weight: 620;
    line-height: 1.1;
    color: var(--pf-leaf-color, var(--forest-green));
}

.pf-pack-per {
    font-size: 1.25rem;
    color: var(--pf-leaf-color, rgba(58, 71, 66, 0.6));
}

.pf-pack-card .wp-block-pemfit-cta-button,
.pf-pack-card .cta {
    margin-top: auto;
    padding-top: 1rem;
    font-size: 1.25rem;
    font-weight: 620;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.pf-pack-card .cta-outline { color: var(--forest-green); }

/* Pin the pack buttons' size on the front end too. style.css has
   `a:not(#copyright-info a):not(.ab-item):not(nav li a) { font-size: … }`,
   whose ID inside :not() outranks the 1.25rem above — the editor doesn't
   load style.css, so only the front end showed the larger text. */
.pf-pack-card.pf-pack-card.pf-pack-card .cta {
    font-size: 1.5rem !important; /* same as the comparison table buttons */
}

/* ── FAQ ────────────────────────────────────────────────────────────────── */

.pf-faq-section { background-color: var(--off-white); }

.pf-faq-list {
    width: 100%;
    max-width: 78rem;
    margin-top: var(--thin-gutter);
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.pf-faq-item {
    background-color: #fff;
    border: 1px solid var(--dun);
    border-radius: calc(var(--rounded-corners) * 0.8);
    overflow: hidden;
}

.pf-faq-q-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    padding: 1.8rem 2.2rem;
    cursor: pointer;
    list-style: none;              /* hide the default details marker       */
}

.pf-faq-q-row::-webkit-details-marker { display: none; }

.pf-faq-question {
    font-family: var(--DM-Sans);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--forest-green);
}

.pf-faq-toggle {
    font-size: 2rem;
    line-height: 1;
    color: var(--pf-faq-toggle-color, var(--orange));
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

details.pf-faq-item[open] .pf-faq-toggle { transform: rotate(45deg); }

.pf-faq-answer {
    padding: 0 2.2rem 2rem;
    font-size: 1.35rem;
    line-height: 1.65;
    color: rgba(58, 71, 66, 0.8);
}

/* Editor shows the answer always-open beneath the question */
.editor-styles-wrapper .pf-faq-item .pf-faq-answer { padding-top: 0.4rem; }

/* ── Team Grid ──────────────────────────────────────────────────────────── */

.pf-team-section { background-color: var(--light-beige); }

.pf-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--thin-gutter);
    width: 100%;
    max-width: 110rem;
    margin-top: var(--thin-gutter);
}

.pf-team-card {
    background-color: var(--pf-card-bg, #fff);
    border-radius: var(--rounded-corners);
    overflow: hidden;
    border: 1px solid var(--dun);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pf-team-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(58, 71, 66, 0.12);
}

.pf-team-photo {
    aspect-ratio: 4 / 5;
    background-color: var(--sage-grey);
    overflow: hidden;
}

.pf-team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pf-team-photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 1.25rem;
    color: rgba(58, 71, 66, 0.55);
    padding: 1rem;
    text-align: center;
}

.pf-team-body {
    padding: 1.8rem 2rem 2.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.pf-team-name {
    font-family: var(--DM-Sans);
    font-size: 1.7rem;
    font-weight: 620;
    color: var(--forest-green);
    margin: 0;
}

.pf-team-bio {
    font-size: 1.3rem;
    line-height: 1.6;
    color: rgba(58, 71, 66, 0.75);
    margin: 0;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
    .pf-membership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pf-pack-grid       { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
    .pf-hero-split {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .pf-hero-panel { justify-self: stretch; max-width: none; }

    .pf-split-feature { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .pf-membership-grid,
    .pf-pack-grid,
    .pf-team-grid { grid-template-columns: 1fr; }

    .pf-value-props { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .pf-value-props { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   FIXES — editor parity, em sizing, card padding, equal CTA heights
   ═══════════════════════════════════════════════════════════════════════════ */

/* All em elements at 1.05em across the Burnley blocks. block-styles.css sets
   1.04em on h1 em and 1.14em elsewhere, both at higher specificity than a
   bare element selector, hence the scoping. */
.pf-section em, .pf-section i,
.pf-hero-split em, .pf-hero-split i,
.pf-value-props em, .pf-value-props i,
.pf-split-feature em, .pf-split-feature i {
    font-size: 1.05em;
}

/* The editor adds vertical margins between top-level blocks that do not
   exist on the front end, leaving a visible gap between sections.
   Blocks whose own controls set a margin (inline margin-top / margin-bottom)
   are excluded — this used to zero every Margin top / bottom control in the
   editor. (Same rule, same fix, in studio-hero-v2.css.) */
.editor-styles-wrapper .block-editor-block-list__layout > [data-type^="pemfit/"]:not([style*="margin-top"]),
.editor-styles-wrapper .wp-block[data-type^="pemfit/"]:not([style*="margin-top"]) {
    margin-block-start: 0 !important;
}
.editor-styles-wrapper .block-editor-block-list__layout > [data-type^="pemfit/"]:not([style*="margin-bottom"]),
.editor-styles-wrapper .wp-block[data-type^="pemfit/"]:not([style*="margin-bottom"]) {
    margin-block-end: 0 !important;
}

/* ── Membership cards ────────────────────────────────────────────────────── */
/* One padding value drives every child, so the tick bullets line up with the
   rest of the card content instead of sitting hard against the edge. */

.pf-m-card {
    --pf-card-pad: 2rem;
}

.pf-m-header   { padding: 2.2rem var(--pf-card-pad) 1.8rem; }
.pf-m-price    { padding: 2.2rem var(--pf-card-pad) 0.4rem; }
.pf-m-sessions { padding: 0 var(--pf-card-pad) 1.6rem; }
.pf-m-saving   { margin: 0 var(--pf-card-pad) 1.6rem; }
.pf-m-features { padding: 0 var(--pf-card-pad); }

/* Tick sits at the content edge and the label is indented from it, so the
   whole list aligns with the price, sessions and savings strip above. */
.pf-m-feature {
    padding-left: 2.2rem;
}

.pf-m-feature::before {
    left: 0;
}

.pf-m-card .wp-block-pemfit-cta-button,
.pf-m-card .cta {
    margin: 2rem var(--pf-card-pad);
}

/* ── Equal CTA heights ───────────────────────────────────────────────────── */
/* Card CTAs previously varied in height because a wrapped label made the
   button taller. A shared min-height plus centred flex content keeps every
   button on the same baseline regardless of label length. */
.pf-m-card .cta,
.pf-pack-card .cta {
    display: flex;
    align-items: center;
    justify-content: center;
    /* A fixed height, not a minimum. The cards are flex columns, so a label
       that wraps to two lines in a narrow card grew the button past any
       min-height and the row of buttons stopped lining up. flex:none stops
       the column stretching or shrinking it. */
    height: var(--pf-cta-height, 4.8rem);
    min-height: var(--pf-cta-height, 4.8rem);
    flex: none;
    box-sizing: border-box;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.2;
}

/* ── Membership feature list alignment ───────────────────────────────────── */
/* The tick sits exactly on the card's content edge, which is the same x as
   the left edge of the savings strip above it, so the list lines up with the
   rest of the card rather than hanging outside it. Centring the list as a
   group was wrong — it pushed the ticks away from that edge. */
.pf-m-features {
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding: 0 var(--pf-card-pad);
}

.pf-m-feature {
    padding-left: 2.2rem;
}

.pf-m-feature::before {
    left: 0;
}

/* ── Footnote icons ──────────────────────────────────────────────────────── */
.pf-section-footnote .pf-icon {
    margin-right: 0.6em;
    color: var(--orange);
}

/* ── Value prop icons ────────────────────────────────────────────────────── */
.pf-vp-icon .pf-icon {
    font-size: 2.1rem;
    line-height: 1;
    color: inherit;
}


/* ═══════════════════════════════════════════════════════════════════════════
   DEFAULT SPACING — so the cards look right before anyone touches a control
   ═══════════════════════════════════════════════════════════════════════════ */

/* The CTA was sitting hard against the bottom edge of the card. The card now
   carries its own bottom padding and the button's bottom margin is dropped,
   so the two don't double up. */
.pf-m-card,
.pf-pack-card {
    padding-bottom: var(--pf-card-pad, 2rem);
}

.pf-m-card .wp-block-pemfit-cta-button,
.pf-m-card .cta {
    margin: 2rem var(--pf-card-pad) 0;
}

/* Breathing room above and below the feature list. */
.pf-m-features {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
}


/* ═══════════════════════════════════════════════════════════════════════════
   CTA BUTTONS IN THE EDITOR
   The canvas loads block-styles.css too, so `.cta` arrives with
   `display:block`, `height:fit-content`, `flex:1 1 0%` and a 15px line box.
   In the editor the button is a RichText <a> inside a block wrapper, and the
   wrapper's own flex context was letting flex-basis win over height again —
   labels sat at the top of the pill and wrapped. These rules pin the same
   geometry the front end gets.
   ═══════════════════════════════════════════════════════════════════════════ */

.editor-styles-wrapper .wp-block-pemfit-cta-button,
.editor-styles-wrapper .cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    box-sizing: border-box;
    line-height: 1.2;
    white-space: nowrap;
}

/* Full-width contexts keep their fixed height and centred label.
   Pack cards are NOT full width on the front end (the button is its label's
   width), so they're excluded here — this rule made them full width in the
   editor only. */
.editor-styles-wrapper .pf-m-card .cta,
.editor-styles-wrapper .pf-ct-cta-cell .cta {
    display: flex;
    width: 100%;
    height: var(--pf-cta-height, 4.8rem);
    padding-top: 0;
    padding-bottom: 0;
}

/* Hero buttons: same nowrap and same font size as the front end, so the
   canvas and the page agree. */
.editor-styles-wrapper .shv2-cta-row .cta,
.editor-styles-wrapper .pf-hero-ctas .cta {
    white-space: nowrap;
    font-size: var(--shv2-cta-font-size, 1.5rem);
    line-height: 1.2;
}


/* ═══════════════════════════════════════════════════════════════════════════
   Letter-spacing on heading em elements.
   -1.05em was requested and applied previously, but it visibly broke the
   heading — at that size consecutive letters overlap almost completely
   rather than sitting closer together, which is what showed up as garbled
   text in "Everything included in each" on the live page. Reverted to a
   normal tight-kerning value. Change this single number to anything else if
   a different amount of tightening was actually wanted — just not anything
   close to -1em, which will reproduce the overlap regardless of context.
   ═══════════════════════════════════════════════════════════════════════════ */
.pf-section-heading em,
.pf-section-heading i,
.pf-hero-title em,
.pf-hero-title i,
.pf-panel-title em,
.pf-panel-title i {
    letter-spacing: -0.02em;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Font Awesome vertical alignment
   FA glyphs sit slightly differently on the font baseline than the
   surrounding text depending on which icon it is, so a plain inline icon
   next to text (ticks, footnote icons, etc.) doesn't always look centred.
   Setting them to inline-flex with their own centring makes every icon
   align the same way regardless of the specific glyph's internal metrics.
   ═══════════════════════════════════════════════════════════════════════════ */
/* .pf-icon covers footnotes and value-prop items — both already emit that
   class. It does NOT cover .pf-m-feature's tick, which is a plain CSS
   ::before character rather than a Font Awesome element, so is unaffected
   by this and needs no change. */
.pf-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: -0.1em;
}


/* ═══════════════════════════════════════════════════════════════════════════
   Typography from the global controls layer — pemfit-global-attributes.php
   ───────────────────────────────────────────────────────────────────────────
   REPLACES a dynamically-generated per-instance <style> tag that was
   injected into content on every page load. That approach broke in
   production: WordPress's content pipeline (kses stripping the tag for
   users without unfiltered_html, SEO plugins reading rendered content with
   PHP's strip_tags — which removes tags but NOT the text they contained —
   or any full-page-HTML processor) could leave the raw CSS text behind as
   visible page content.

   This is STATIC — written once, shipped in the ordinary stylesheet, never
   regenerated — and reads its values from CSS custom properties that PHP
   merges into an element's own style="" attribute, using the exact same
   safe merge already used for padding/margin/border (which has never had
   this problem, because inline style is never "content" to anything).

   The attribute selector means these rules are completely inert for every
   element on the site that was never touched: [style*="--pf-t-font-size"]
   simply never matches unless PHP put that property there.

   The selector is doubled ([attr][attr]) to push specificity to (0,2,x) —
   this theme's own block-styles.css carries a large number of
   `font-size: ... !important` rules (fluid clamp() sizing on many
   components), some of which land at the SAME (0,1,1) specificity a single
   attribute selector would have. Two !important declarations at equal
   specificity are decided by source order, and this file cannot rely on
   always loading after block-styles.css — colour worked with the single
   form because that stylesheet has far fewer competing !important color
   rules than font-size ones; font-size did not, for exactly that reason.
   Doubling costs nothing and removes the dependency on load order
   entirely — verified directly against a simulated equal-specificity
   competing rule.
   ═══════════════════════════════════════════════════════════════════════════ */

[style*="--pf-t-font-size"][style*="--pf-t-font-size"],
[style*="--pf-t-font-size"][style*="--pf-t-font-size"] :is(h1, h2, h3, h4, h5, h6, p, li, span, a, div, strong, em, th, td):not(.pf-size):not(.pf-size *) {
    font-size: var(--pf-t-font-size) !important;
}
[style*="--pf-t-font-weight"][style*="--pf-t-font-weight"],
[style*="--pf-t-font-weight"][style*="--pf-t-font-weight"] :is(h1, h2, h3, h4, h5, h6, p, li, span, a, div, strong, em, th, td):not(strong):not(b):not(strong *):not(b *) {
    font-weight: var(--pf-t-font-weight) !important;
}
[style*="--pf-t-line-height"][style*="--pf-t-line-height"],
[style*="--pf-t-line-height"][style*="--pf-t-line-height"] :is(h1, h2, h3, h4, h5, h6, p, li, span, a, div, strong, em, th, td) {
    line-height: var(--pf-t-line-height) !important;
}
[style*="--pf-t-letter-spacing"][style*="--pf-t-letter-spacing"],
[style*="--pf-t-letter-spacing"][style*="--pf-t-letter-spacing"] :is(h1, h2, h3, h4, h5, h6, p, li, span, a, div, strong, em, th, td) {
    letter-spacing: var(--pf-t-letter-spacing) !important;
}
[style*="--pf-t-color"][style*="--pf-t-color"],
[style*="--pf-t-color"][style*="--pf-t-color"] :is(h1, h2, h3, h4, h5, h6, p, li, span, a, div, strong, em, th, td):not(.pf-color):not(.pf-color *) {
    color: var(--pf-t-color) !important;
}
[style*="--pf-t-text-align"][style*="--pf-t-text-align"],
[style*="--pf-t-text-align"][style*="--pf-t-text-align"] :is(h1, h2, h3, h4, h5, h6, p, li, span, a, div, strong, em, th, td) {
    text-align: var(--pf-t-text-align) !important;
}

/* Pseudo-element typography — a separate --pf-t-pe-* namespace, since a
   pseudo-element (like .pf-m-feature's tick) and a sibling part targeting
   the same real host element (its label) would otherwise collide on the
   same custom property. Extend this list if a future block needs a
   pseudo-element part with a property beyond colour. */
[style*="--pf-t-pe-color"][style*="--pf-t-pe-color"]::before,
[style*="--pf-t-pe-color"][style*="--pf-t-pe-color"]::after {
    color: var(--pf-t-pe-color) !important;
}
[style*="--pf-t-pe-font-size"][style*="--pf-t-pe-font-size"]::before,
[style*="--pf-t-pe-font-size"][style*="--pf-t-pe-font-size"]::after {
    font-size: var(--pf-t-pe-font-size) !important;
}
