/*
Theme Name: Persona Services Group
Theme URI: 
Description: Theme for Persona Services Group.
Author: CS Brand Group
Template: hello-elementor
Version: 0.1.1
Text Domain: persona-services-group-theme
*/


:root {
  --theme-color-primary: var(--brand-color-primary, var(--e-global-color-primary, #0f172a));
  --theme-color-secondary: var(--brand-color-secondary, var(--e-global-color-secondary, var(--theme-color-primary)));
  --theme-color-accent: var(--brand-color-accent, var(--e-global-color-accent, var(--theme-color-secondary)));
  --theme-color-accent-hover: var(--brand-color-accent-hover, var(--e-global-color-accent_hover, var(--e-global-color-accent-hover, var(--theme-color-accent))));
  --theme-color-text: var(--e-global-color-text, var(--theme-color-secondary));
  --theme-color-surface-base: var(--brand-color-surface-base, var(--e-global-color-surface_base, var(--e-global-color-surface-base, var(--brand-color-surface, #f8fafc))));
  --theme-color-surface-raised: var(--brand-color-surface-raised, var(--e-global-color-surface_raised, var(--e-global-color-surface-raised, #ffffff)));
  --theme-color-surface-hover: var(--brand-color-surface-hover, var(--e-global-color-surface_hover, var(--e-global-color-surface-hover, var(--theme-color-surface-base))));
  --theme-color-pointer: var(--brand-color-pointer, var(--e-global-color-pointer, var(--theme-color-surface-hover)));
  --theme-color-border: var(--theme-color-pointer);
  --theme-color-button-background: var(--brand-color-button-background, var(--theme-color-accent));
  --theme-color-button-text: var(--brand-color-button-text, var(--e-global-color-white, #ffffff));
  --theme-color-button-hover-background: var(--brand-color-button-hover-background, var(--theme-color-accent-hover));
  --theme-color-button-hover-text: var(--brand-color-button-hover-text, var(--theme-color-button-text));
  --theme-color-header-background: var(--brand-color-header-background, var(--e-global-color-surface_raised, var(--e-global-color-surface-raised, #ffffff)));
  --theme-color-footer-background: var(--theme-color-primary);
  --theme-radius-control: 10px;
  --theme-radius-button: 5px;
  --theme-input-height: 50px;
  --theme-space-2: 2px;
  --theme-space-4: 4px;
  --theme-space-8: 8px;
  --theme-space-12: 12px;
  --theme-space-16: 16px;
  --theme-space-20: 20px;
  --theme-space-24: 24px;
  --theme-space-32: 32px;
  --theme-space-40: 40px;
  --theme-space-48: 48px;
  --theme-space-64: 64px;
  --theme-space-80: 80px;
  --theme-space-96: 96px;
  --theme-space-120: 120px;
  --theme-font-size-label: 0.75rem;
  --theme-font-size-body-sm: 0.875rem;
  --theme-font-size-body: 1rem;
  --theme-font-size-body-lg: 1.125rem;
  --theme-font-size-heading-xs: 1.25rem;
  --theme-font-size-heading-sm: 1.5rem;
  --theme-font-size-heading-md: 2rem;
  --theme-font-size-heading-lg: 2.75rem;
  --theme-font-size-heading-xl: 4rem;
  --theme-line-height-heading-tight: 1.05;
  --theme-line-height-heading: 1.15;
  --theme-line-height-heading-loose: 1.25;
  --theme-line-height-body: 1.6;
  --theme-line-height-body-tight: 1.5;
  --theme-line-height-body-loose: 1.7;
  --theme-tracking-tight: -0.02em;
  --theme-tracking-normal: 0;
  --theme-tracking-label: 0.08em;
  --theme-measure-text: 74ch;
  --theme-measure-text-hero: 94ch;
  --theme-measure-heading: 24ch;
  --theme-measure-heading-cta: 30ch;
  --theme-measure-text-cta: 112ch;
  --psg-header-height: 0px;
  --psg-adminbar-offset: 0px;
  --psg-header-transition-duration: 0.25s;
  --psg-header-text-on-hero: var(--e-global-color-white, #ffffff);
  --psg-header-surface-scrolled: var(--theme-color-surface-raised);
  --psg-header-shadow-scrolled: 0 12px 30px rgba(12, 35, 64, 0.12);
}

body.admin-bar {
  --psg-adminbar-offset: 32px;
}

@media (max-width: 782px) {
  body.admin-bar {
    --psg-adminbar-offset: 46px;
  }
}

.facetwp-facet {
    margin-bottom: 0 !important;
}

.elementor-icon-box-icon {
    margin-top: 7px !important;
}

.elementor-nav-menu span.sub-arrow {
    display: none !important;
}

.elementor-nav-menu li.btn-nav-contact {
    margin-left:10px;
}

.elementor-nav-menu li.btn-nav-contact a {
    border: 2px solid var(--theme-color-primary);
    border-radius: 12px;
}

.elementor-nav-menu--main li.btn-nav-contact .elementor-item.elementor-item-active,
.elementor-nav-menu--main li.btn-nav-contact a:hover {
    color: #fff !important;
}

.elementor-nav-menu--main:not(.e--pointer-framed) li.btn-nav-contact .elementor-item:before, 
.elementor-nav-menu--main:not(.e--pointer-framed) li.btn-nav-contact .elementor-item:after {
    background-color: var(--theme-color-primary) !important;
}

/* Shared offset image shadow. Apply `theme-image-shadow-offset` to an Elementor image widget or the image itself. */
:where(.theme-image-shadow-offset) {
  --theme-image-shadow-x: -60px;
  --theme-image-shadow-y: -40px;
  --theme-image-shadow-blur: 0px;
  --theme-image-shadow-spread: 0px;
  --theme-image-shadow-color: #077cab;
}

.theme-image-shadow-offset[data-media-position="left"],
.theme-image-shadow-offset[data-media-position="stacked"] {
  --theme-image-shadow-x: -60px;
  --theme-image-shadow-y: -40px;
}

.theme-image-shadow-offset[data-media-position="right"] {
  --theme-image-shadow-x: 60px;
  --theme-image-shadow-y: 40px;
}

.elementor .theme-image-shadow-offset img,
.elementor .elementor-widget-image.theme-image-shadow-offset img,
.elementor img.theme-image-shadow-offset,
.theme-image-shadow-offset > img,
img.theme-image-shadow-offset {
  box-shadow:
    var(--theme-image-shadow-x)
    var(--theme-image-shadow-y)
    var(--theme-image-shadow-blur)
    var(--theme-image-shadow-spread)
    var(--theme-image-shadow-color) !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
  :where(.theme-image-shadow-offset) {
    --theme-image-shadow-x: -40px;
    --theme-image-shadow-y: -28px;
  }

  .theme-image-shadow-offset[data-media-position="left"],
  .theme-image-shadow-offset[data-media-position="stacked"] {
    --theme-image-shadow-x: -40px;
    --theme-image-shadow-y: -28px;
  }

  .theme-image-shadow-offset[data-media-position="right"] {
    --theme-image-shadow-x: 40px;
    --theme-image-shadow-y: 28px;
  }
}

@media (max-width: 767px) {
  :where(.theme-image-shadow-offset) {
    --theme-image-shadow-x: -24px;
    --theme-image-shadow-y: -16px;
  }

  .theme-image-shadow-offset[data-media-position="left"],
  .theme-image-shadow-offset[data-media-position="stacked"] {
    --theme-image-shadow-x: -24px;
    --theme-image-shadow-y: -16px;
  }

  .theme-image-shadow-offset[data-media-position="right"] {
    --theme-image-shadow-x: 24px;
    --theme-image-shadow-y: 16px;
  }
}

/* Shared header/footer defaults. Keep specificity low so Elementor can override when needed. */
:where(header.elementor-location-header) > :where(.elementor-element, .e-con):not(.elementor-motion-effects-element-type-background),
:where(header.elementor-location-header) > :where(.elementor-element, .e-con) > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--theme-color-header-background);
}

:where(footer.elementor-location-footer) > :where(.elementor-element, .e-con):not(.elementor-motion-effects-element-type-background),
:where(footer.elementor-location-footer) > :where(.elementor-element, .e-con) > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--theme-color-footer-background);
}

header.elementor-location-header {
  position: relative;
  z-index: 1000;
}

header.elementor-location-header #site-header,
header.elementor-location-header #site-header > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  transition:
    background-color var(--psg-header-transition-duration) ease,
    box-shadow var(--psg-header-transition-duration) ease,
    color var(--psg-header-transition-duration) ease,
    border-color var(--psg-header-transition-duration) ease;
}

header.elementor-location-header #site-header.elementor-sticky--active {
  top: var(--psg-adminbar-offset) !important;
  z-index: 1000;
}

header.elementor-location-header #site-header :is(
  .elementor-item,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-icon-list-text,
  .elementor-icon-list-icon,
  .elementor-menu-toggle,
  .elementor-menu-toggle i,
  .elementor-menu-toggle svg,
  .elementor-icon svg
) {
  transition:
    color var(--psg-header-transition-duration) ease,
    fill var(--psg-header-transition-duration) ease,
    border-color var(--psg-header-transition-duration) ease,
    background-color var(--psg-header-transition-duration) ease;
}

header.elementor-location-header #site-header :is(.elementor-menu-toggle svg, .elementor-icon svg) {
  fill: currentColor;
}

header.elementor-location-header #site-header .elementor-widget-button.btn-neutral :is(
  .elementor-button,
  .elementor-button-text,
  .elementor-button-icon,
  .elementor-button-icon svg
) {
  transition:
    color var(--psg-header-transition-duration) ease,
    fill var(--psg-header-transition-duration) ease,
    border-color var(--psg-header-transition-duration) ease,
    background-color var(--psg-header-transition-duration) ease;
}

header.elementor-location-header #site-header .elementor-widget-button.btn-neutral :is(.elementor-button-icon svg) {
  fill: currentColor;
}

.psg-first-page-section {
  margin-top: calc(var(--psg-first-section-margin-top, 0px) - var(--psg-first-section-overlap-offset, 0px)) !important;
  padding-top: calc(var(--psg-first-section-padding-top, 0px) + var(--psg-first-section-overlap-offset, 0px)) !important;
}

body:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header {
  box-shadow: none;
}

body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header:not(.elementor-motion-effects-element-type-background),
body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
}

body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header :is(
  .elementor-nav-menu--main .elementor-item,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-icon-list-text,
  .elementor-icon-list-icon,
  .elementor-icon svg
) {
  color: var(--psg-header-text-on-hero) !important;
  fill: currentColor !important;
}

body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header .elementor-nav-menu--main .elementor-item:is(:hover, :focus, .elementor-item-active, .highlighted) {
  color: var(--theme-color-primary) !important;
  fill: currentColor !important;
}

body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header :is(
  .elementor-menu-toggle,
  .elementor-menu-toggle i,
  .elementor-menu-toggle svg,
  .elementor-menu-toggle__icon--open,
  .elementor-menu-toggle__icon--close
) {
  color: var(--e-global-color-primary, var(--theme-color-primary)) !important;
  fill: currentColor !important;
}

body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header .elementor-widget-button.btn-neutral :is(
  .elementor-button,
  .elementor-button-text,
  .elementor-button-icon,
  .elementor-button-icon svg
) {
  color: var(--psg-header-text-on-hero) !important;
  fill: currentColor !important;
}

body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header .elementor-nav-menu li.btn-nav-contact a {
  border-color: var(--psg-header-text-on-hero);
}

body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header .elementor-nav-menu--main:not(.e--pointer-framed) li.btn-nav-contact .elementor-item:before,
body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header .elementor-nav-menu--main:not(.e--pointer-framed) li.btn-nav-contact .elementor-item:after {
  background-color: var(--psg-header-text-on-hero) !important;
}

body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header .elementor-nav-menu--main li.btn-nav-contact .elementor-item.elementor-item-active,
body.psg-header-overlay-active:not(.psg-header-scrolled):not(.psg-header-nav-active) header.elementor-location-header #site-header .elementor-nav-menu--main li.btn-nav-contact a:hover {
  color: var(--theme-color-primary) !important;
}

body:not(.psg-header-overlay-active) header.elementor-location-header #site-header:not(.elementor-motion-effects-element-type-background),
body:not(.psg-header-overlay-active) header.elementor-location-header #site-header > .elementor-motion-effects-container > .elementor-motion-effects-layer,
body.psg-header-nav-active header.elementor-location-header #site-header:not(.elementor-motion-effects-element-type-background),
body.psg-header-nav-active header.elementor-location-header #site-header > .elementor-motion-effects-container > .elementor-motion-effects-layer,
body.psg-header-scrolled header.elementor-location-header #site-header:not(.elementor-motion-effects-element-type-background),
body.psg-header-scrolled header.elementor-location-header #site-header > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--psg-header-surface-scrolled) !important;
  background-image: none !important;
  background: var(--psg-header-surface-scrolled) !important;
}

body.psg-header-nav-active header.elementor-location-header #site-header,
body.psg-header-scrolled header.elementor-location-header #site-header {
  box-shadow: var(--psg-header-shadow-scrolled);
}

body:not(.psg-header-overlay-active) header.elementor-location-header #site-header :is(
  .elementor-nav-menu--main .elementor-item,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-icon-list-text,
  .elementor-icon-list-icon,
  .elementor-menu-toggle,
  .elementor-menu-toggle i,
  .elementor-menu-toggle svg,
  .elementor-icon svg
),
body.psg-header-nav-active header.elementor-location-header #site-header :is(
  .elementor-nav-menu--main .elementor-item,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-icon-list-text,
  .elementor-icon-list-icon,
  .elementor-menu-toggle,
  .elementor-menu-toggle i,
  .elementor-menu-toggle svg,
  .elementor-icon svg
),
body.psg-header-scrolled header.elementor-location-header #site-header :is(
  .elementor-nav-menu--main .elementor-item,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-icon-list-text,
  .elementor-icon-list-icon,
  .elementor-menu-toggle,
  .elementor-menu-toggle i,
  .elementor-menu-toggle svg,
  .elementor-icon svg
) {
  color: var(--theme-color-primary) !important;
  fill: currentColor !important;
}

body:not(.psg-header-overlay-active) header.elementor-location-header #site-header .elementor-widget-button.btn-neutral :is(
  .elementor-button,
  .elementor-button-text,
  .elementor-button-icon,
  .elementor-button-icon svg
),
body.psg-header-nav-active header.elementor-location-header #site-header .elementor-widget-button.btn-neutral :is(
  .elementor-button,
  .elementor-button-text,
  .elementor-button-icon,
  .elementor-button-icon svg
),
body.psg-header-scrolled header.elementor-location-header #site-header .elementor-widget-button.btn-neutral :is(
  .elementor-button,
  .elementor-button-text,
  .elementor-button-icon,
  .elementor-button-icon svg
) {
  color: var(--theme-color-primary) !important;
  fill: currentColor !important;
}

body:not(.psg-header-overlay-active) header.elementor-location-header #site-header .elementor-nav-menu--main .elementor-item:is(:hover, :focus, .elementor-item-active, .highlighted, .psg-nav-item-exiting),
body.psg-header-nav-active header.elementor-location-header #site-header .elementor-nav-menu--main .elementor-item:is(:hover, :focus, .elementor-item-active, .highlighted, .psg-nav-item-exiting),
body.psg-header-scrolled header.elementor-location-header #site-header .elementor-nav-menu--main .elementor-item:is(:hover, :focus, .elementor-item-active, .highlighted, .psg-nav-item-exiting) {
  color: var(--theme-color-accent) !important;
  fill: currentColor !important;
}

body:not(.psg-header-overlay-active) header.elementor-location-header #site-header .elementor-nav-menu li.btn-nav-contact a,
body.psg-header-nav-active header.elementor-location-header #site-header .elementor-nav-menu li.btn-nav-contact a,
body.psg-header-scrolled header.elementor-location-header #site-header .elementor-nav-menu li.btn-nav-contact a {
  border-color: var(--theme-color-primary);
}

body:not(.psg-header-overlay-active) header.elementor-location-header #site-header .elementor-nav-menu--main li.btn-nav-contact .elementor-item:is(:hover, :focus, .elementor-item-active, .highlighted, .psg-nav-item-exiting),
body.psg-header-nav-active header.elementor-location-header #site-header .elementor-nav-menu--main li.btn-nav-contact .elementor-item:is(:hover, :focus, .elementor-item-active, .highlighted, .psg-nav-item-exiting),
body.psg-header-scrolled header.elementor-location-header #site-header .elementor-nav-menu--main li.btn-nav-contact .elementor-item:is(:hover, :focus, .elementor-item-active, .highlighted, .psg-nav-item-exiting) {
  color: var(--e-global-color-white, #ffffff) !important;
  fill: currentColor !important;
}


h1, h2, h3 {
    text-wrap: balance;
}

h1 {
	max-width:1200px;
}


.text-wrap {
	text-wrap: wrap;
}

.text-balance {
    text-wrap: balance;
}

.text-pretty{
    text-wrap: pretty;
}



/* Shared readability defaults. Keep text lines from running too long. */
/*
:where(h1, h2, h3, h4, h5, h6, .elementor-widget-heading .elementor-heading-title) {
  text-wrap: balance;
}

:where(h2, h3, h4, h5, h6, .elementor-widget-heading .elementor-heading-title:not(h1)) {
  max-inline-size: min(100%, var(--theme-measure-heading));
}

:where(p, .elementor-widget-text-editor p, .elementor-widget-theme-post-content p) {
  text-wrap: balance;
  text-wrap: pretty;
  max-inline-size: min(100%, var(--theme-measure-text));
}

@media (min-width: 1025px) {
  :where(.theme-measure-align-center-desktop) :where(h2, h3, h4, h5, h6, .elementor-heading-title:not(h1), p) {
    margin-inline: auto;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :where(.theme-measure-align-center-tablet) :where(h2, h3, h4, h5, h6, .elementor-heading-title:not(h1), p) {
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  :where(.theme-measure-align-center-mobile) :where(h2, h3, h4, h5, h6, .elementor-heading-title:not(h1), p) {
    margin-inline: auto;
  }
}

/* Shared button defaults. Keep specificity low so Elementor widget styles can override. */
:where(.elementor-widget-button:not(.theme-button-has-normal-colors):not(.btn-neutral):not(.btn-inverse):not(.btn-ghost) .elementor-button),
:where(.elementor-widget-button:not(.theme-button-has-normal-colors) .elementor-button:not(.btn-neutral):not(.btn-inverse):not(.btn-ghost)) {
  background-color: var(--theme-color-button-background);
  border-color: var(--theme-color-button-background);
  color: var(--theme-color-button-text);
  fill: currentColor;
}

:where(.elementor-widget-button:not(.theme-button-has-normal-colors):not(.theme-button-has-hover-colors):not(.btn-neutral):not(.btn-inverse):not(.btn-ghost) .elementor-button:is(:hover, :focus, :active)),
:where(.elementor-widget-button:not(.theme-button-has-normal-colors):not(.theme-button-has-hover-colors) .elementor-button:not(.btn-neutral):not(.btn-inverse):not(.btn-ghost):is(:hover, :focus, :active)) {
  background-color: var(--theme-color-button-hover-background);
  border-color: var(--theme-color-button-hover-background);
  color: var(--theme-color-button-hover-text);
}

:where(.elementor-widget-button.btn-neutral .elementor-button),
:where(.elementor-widget-button .elementor-button.btn-neutral),
:where(a.btn-neutral),
:where(button.btn-neutral) {
  padding: 0 !important;
  background-color: transparent !important;
  border: 0 !important;
}

:where(.elementor-widget-button.btn-neutral .elementor-button:is(:hover, :focus, :active)),
:where(.elementor-widget-button .elementor-button.btn-neutral:is(:hover, :focus, :active)),
:where(a.btn-neutral:is(:hover, :focus, :active)),
:where(button.btn-neutral:is(:hover, :focus, :active)) {
  background-color: transparent !important;
  border-color: transparent !important;
}

.elementor-button-content-wrapper {
  align-items: center;
  transition: 0.1s ease-in-out;
}

.elementor-button-icon svg {
  height: auto;
  width: 1.4em;
}

:where(.elementor-widget-button.btn-neutral .elementor-button-content-wrapper:is(:hover, :focus, :active)) {
  font-weight: 700 !important;
}

:where(.elementor-widget-button.btn-inverse:not(.theme-button-has-normal-colors) .elementor-button),
:where(.elementor-widget-button:not(.theme-button-has-normal-colors) .elementor-button.btn-inverse),
:where(a.btn-inverse),
:where(button.btn-inverse) {
  background-color: var(--theme-color-surface-raised);
  border-color: var(--theme-color-surface-raised);
  color: var(--theme-color-primary);
  fill: currentColor;
}

:where(.elementor-widget-button.btn-inverse:not(.theme-button-has-normal-colors):not(.theme-button-has-hover-colors) .elementor-button:is(:hover, :focus, :active)),
:where(.elementor-widget-button:not(.theme-button-has-normal-colors):not(.theme-button-has-hover-colors) .elementor-button.btn-inverse:is(:hover, :focus, :active)),
:where(a.btn-inverse:is(:hover, :focus, :active)),
:where(button.btn-inverse:is(:hover, :focus, :active)) {
  background-color: var(--theme-color-primary);
  border-color: var(--theme-color-primary);
  color: #ffffff;
}

:where(.elementor-widget-button.btn-ghost:not(.theme-button-has-normal-colors) .elementor-button),
:where(.elementor-widget-button:not(.theme-button-has-normal-colors) .elementor-button.btn-ghost),
:where(a.btn-ghost),
:where(button.btn-ghost) {
  background-color: transparent;
  border-color: var(--theme-color-accent);
  color: var(--theme-color-accent);
  fill: currentColor;
}

:where(.elementor-widget-button.btn-ghost:not(.theme-button-has-normal-colors):not(.theme-button-has-hover-colors) .elementor-button:is(:hover, :focus, :active)),
:where(.elementor-widget-button:not(.theme-button-has-normal-colors):not(.theme-button-has-hover-colors) .elementor-button.btn-ghost:is(:hover, :focus, :active)),
:where(a.btn-ghost:is(:hover, :focus, :active)),
:where(button.btn-ghost:is(:hover, :focus, :active)) {
  background-color: var(--theme-color-accent);
  border-color: var(--theme-color-accent);
  color: #ffffff;
}

span.elementor-menu-toggle__icon--close,
span.elementor-menu-toggle__icon--open {
  line-height: 0;
}

ul.elementor-nav-menu--dropdown a,
ul.elementor-nav-menu--dropdown a:focus,
ul.elementor-nav-menu--dropdown a:hover {
  border-inline-start: 0 solid transparent;
}

/* Header nav fallback. Elementor's shared nav-menu CSS keeps a dark submenu hover background
   unless the header widget sets one explicitly. */
header.elementor-location-header .elementor-nav-menu--dropdown a:is(:hover, :focus, .elementor-item-active, .highlighted) {
  background-color: var(--theme-color-accent-hover);
  color: var(--e-global-color-white, #ffffff);
}

/* Shared header dropdown fallback. Keep submenu hover states readable even before a pack customizes menu colors. 
:where(header.elementor-location-header) ul.elementor-nav-menu--dropdown a:is(:hover, :focus, .elementor-item-active, .highlighted) {
  background-color: var(--brand-color-nav-pointer, var(--theme-color-pointer));
  color: var(--theme-color-text);
}*/

/* Cookie banner styles. */
.cky-btn-accept {
  background: var(--theme-color-primary) !important;
  color: #ffffff !important;
  border: 2px solid var(--theme-color-primary) !important;
}

.cky-btn-preferences,
.cky-btn-customize,
.cky-btn-reject {
  color: var(--theme-color-primary) !important;
  background: transparent !important;
  border: 2px solid var(--theme-color-primary) !important;
}

/* Gravity Forms. */
.page .gform_wrapper {
  max-width: 100%;
}

.page .gform_wrapper .gfield_required {
  color: var(--theme-color-accent);
}

.page .gform_wrapper .gfield_label {
  color: var(--theme-color-text);
  font-size: 0.95rem;
  font-weight: 500;
  margin-bottom: 0.45rem;
}

.page .gform_wrapper .gfield input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.page .gform_wrapper .gfield textarea,
.page .gform_wrapper .gfield select {
  width: 100%;
  max-width: 100%;
  border: 2px solid var(--theme-color-border);
  border-radius: var(--theme-radius-control);
  padding: 0.85rem 1rem;
  min-height: var(--theme-input-height);
  background: var(--theme-color-surface-raised);
  color: var(--theme-color-text);
  font: inherit;
  font-size: 1rem;
  line-height: 1.4;
  box-sizing: border-box;
  box-shadow: 0 0 0 transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.page .gform_wrapper .gfield textarea {
  min-height: 10rem;
  height: auto;
  resize: vertical;
}

.page .gform_wrapper .gfield input::placeholder,
.page .gform_wrapper .gfield textarea::placeholder {
  color: color-mix(in srgb, var(--theme-color-text) 45%, transparent);
}

.page .gform_wrapper .gfield input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):focus,
.page .gform_wrapper .gfield textarea:focus,
.page .gform_wrapper .gfield select:focus {
  outline: none;
  border-color: var(--theme-color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-color-primary) 14%, transparent);
}

.page .gform_wrapper .gfield select {
  line-height: 1.2;
  padding-right: 2.85rem;
  background-color: var(--theme-color-surface-raised);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--theme-color-text) 50%),
    linear-gradient(135deg, var(--theme-color-text) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.page .gform_wrapper .gform_footer,
.page .gform_wrapper .gform_footer .gform_button,
.page .gform_wrapper .gform_page_footer {
  margin-top: 1.75rem;
  margin-bottom: 0;
  padding: 0;
}

.page .gform_wrapper .gform_footer input[type="submit"],
.page .gform_wrapper .gform_footer input.gform_button,
.page .gform_wrapper .gform_footer button.gform_button,
.page .gform_wrapper .gform_footer .button,
.page .gform_wrapper .gform_page_footer input.gform_button,
.page .gform_wrapper .gform_page_footer button.gform_button {
  background-color: var(--theme-color-accent) !important;
  border: 1px solid var(--theme-color-accent) !important;
  border-radius: var(--theme-radius-button) !important;
  color: #ffffff !important;
  padding: 10px 24px !important;
  font: inherit;
  font-weight: 600 !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.page .gform_wrapper .gform_footer input[type="submit"]:hover,
.page .gform_wrapper .gform_footer input.gform_button:hover,
.page .gform_wrapper .gform_footer button.gform_button:hover,
.page .gform_wrapper .gform_footer .button:hover,
.page .gform_wrapper .gform_page_footer input.gform_button:hover,
.page .gform_wrapper .gform_page_footer button.gform_button:hover {
  background-color: var(--theme-color-secondary) !important;
  border-color: var(--theme-color-secondary) !important;
}

@media (max-width: 767px) {
  .page .gform_wrapper .gfield input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  .page .gform_wrapper .gfield textarea,
  .page .gform_wrapper .gfield select {
    font-size: 0.97rem;
    padding: 0.8rem 0.95rem;
  }

  .page .gform_wrapper .gform_footer input[type="submit"],
  .page .gform_wrapper .gform_footer input.gform_button,
  .page .gform_wrapper .gform_footer button.gform_button,
  .page .gform_wrapper .gform_footer .button,
  .page .gform_wrapper .gform_page_footer input.gform_button,
  .page .gform_wrapper .gform_page_footer button.gform_button {
    width: 100%;
    padding: 0.9rem 1.75rem !important;
  }
}

/* Singular post/resource Gutenberg content. */
body:is(.single-post, .single-resource) :where(
  .page-content,
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content > .elementor-widget-container
) {
  --psg-post-color-primary: var(--theme-color-primary);
  --psg-post-color-secondary: var(--theme-color-secondary);
  --psg-post-color-heading: var(--theme-color-primary);
  --psg-post-color-text: var(--theme-color-text);
  --psg-post-color-accent: var(--theme-color-button-background);
  --psg-post-color-accent-hover: var(--theme-color-button-hover-background);
  --psg-post-color-surface: var(--theme-color-surface-raised);
  --psg-post-color-background: var(--theme-color-surface-base);
  --psg-post-color-border: color-mix(in srgb, var(--theme-color-primary) 14%, var(--theme-color-surface-raised));
  --psg-post-font-body: var(--e-global-typography-text-font-family, sans-serif);
  --psg-post-font-heading: var(--e-global-typography-primary-font-family, sans-serif);
  --psg-post-font-accent: var(--e-global-typography-accent-font-family, sans-serif);
  --psg-post-font-size-body: var(--theme-font-size-body);
  --psg-post-line-height-body: var(--theme-line-height-body);
  --psg-post-font-size-lead: var(--theme-font-size-body-lg);
  --psg-post-line-height-lead: var(--theme-line-height-body-loose);
  --psg-post-font-size-h1: clamp(2.5rem, 5vw, var(--theme-font-size-heading-lg));
  --psg-post-line-height-h1: var(--theme-line-height-heading-tight);
  --psg-post-font-size-h2: clamp(2rem, 4vw, var(--theme-font-size-heading-md));
  --psg-post-line-height-h2: var(--theme-line-height-heading);
  --psg-post-font-size-h3: clamp(1.5rem, 3vw, var(--theme-font-size-heading-sm));
  --psg-post-line-height-h3: var(--theme-line-height-heading-loose);
  --psg-post-font-size-h4: var(--theme-font-size-heading-xs);
  --psg-post-line-height-h4: var(--theme-line-height-heading-loose);
  --psg-post-block-space: 1.25rem;
  --psg-post-heading-space: clamp(2rem, 3vw, 2.75rem);
  --psg-post-list-indent: 1.35rem;
  --psg-post-bullet-width: 0.56rem;
  --psg-post-bullet-height: 0.9rem;
  --psg-post-bullet-offset: 0.16rem;
  --psg-post-quote-padding: clamp(1.25rem, 3vw, 2rem);
  color: var(--psg-post-color-text);
  font-family: var(--psg-post-font-body);
  font-size: var(--psg-post-font-size-body);
  font-weight: 400;
  line-height: var(--psg-post-line-height-body);
}

body:is(.single-post, .single-resource) :where(
  .page-content,
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content > .elementor-widget-container
) > :first-child {
  margin-top: 0;
}

body:is(.single-post, .single-resource) :where(
  .page-content,
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content > .elementor-widget-container
) > :last-child {
  margin-bottom: 0;
}

body:is(.single-post, .single-resource) :where(
  .page-content,
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content > .elementor-widget-container
) > p:first-child {
  color: var(--psg-post-color-secondary);
  font-size: var(--psg-post-font-size-lead);
  line-height: var(--psg-post-line-height-lead);
}

body:is(.single-post, .single-resource) :where(
  .page-content,
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content > .elementor-widget-container
) :where(p, ul, ol, figure, blockquote, .wp-block-quote, .wp-block-pullquote, .wp-block-buttons, .wp-block-columns, .wp-block-group, .wp-block-media-text, .wp-block-image, .wp-block-table, pre, table) {
  margin-top: 0;
  margin-bottom: var(--psg-post-block-space);
}

body:is(.single-post, .single-resource) :where(
  .page-content,
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content > .elementor-widget-container
) p {
  max-width: none;
}

body:is(.single-post, .single-resource) :where(
  .page-content,
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content > .elementor-widget-container
) :where(h1, h2, h3, h4, h5, h6) {
  margin: var(--psg-post-heading-space) 0 0.85rem;
  color: var(--psg-post-color-heading);
  font-family: var(--psg-post-font-heading);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) h1 {
  color: var(--psg-post-color-primary);
  font-size: var(--psg-post-font-size-h1);
  font-weight: 700;
  line-height: var(--psg-post-line-height-h1);
  letter-spacing: var(--theme-tracking-tight);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) h2 {
  font-size: var(--psg-post-font-size-h2);
  font-weight: 700;
  line-height: var(--psg-post-line-height-h2);
  letter-spacing: var(--theme-tracking-tight);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) h3 {
  font-size: var(--psg-post-font-size-h3);
  font-weight: 600;
  line-height: var(--psg-post-line-height-h3);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(h4, h5) {
  font-size: var(--psg-post-font-size-h4);
  font-weight: 600;
  line-height: var(--psg-post-line-height-h4);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) h6 {
  font-size: var(--theme-font-size-label);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: var(--theme-tracking-label);
  text-transform: uppercase;
}

body.single-resource :where(
  .page-content,
  .entry-content,
  .wp-block-post-content,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content > .elementor-widget-container
) .elementor-widget-heading .elementor-heading-title {
  margin: 0;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(a) {
  color: var(--psg-post-color-accent);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
  transition: color 0.2s ease;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(a:hover, a:focus) {
  color: var(--psg-post-color-accent-hover);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(strong, b) {
  color: var(--psg-post-color-heading);
  font-weight: 600;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(ul, ol) {
  margin-left: 0;
  max-width: none;
  max-inline-size: calc(min(100%, var(--theme-measure-text)) + var(--psg-post-list-indent));
  padding-left: var(--psg-post-list-indent);
  list-style-position: outside;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) li {
  position: relative;
  text-wrap: pretty;
  overflow-wrap: break-word;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) ul {
  list-style: none;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) ul > li::before {
  content: "";
  position: absolute;
  top: 0.24em;
  left: calc((var(--psg-post-list-indent) * -1) + var(--psg-post-bullet-offset));
  width: var(--psg-post-bullet-width);
  height: var(--psg-post-bullet-height);
  background-color: var(--psg-post-color-accent);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M96 80L296 256 96 432 96 80z'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M96 80L296 256 96 432 96 80z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) ol > li::marker {
  color: var(--psg-post-color-accent);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) li > :first-child {
  margin-top: 0;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) li > :last-child {
  margin-bottom: 0;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) li + li {
  margin-top: 0.6rem;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(ul ul, ul ol, ol ul, ol ol) {
  margin-top: 0.65rem;
  margin-bottom: 0;
  padding-left: calc(var(--psg-post-list-indent) - 0.15rem);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(blockquote, .wp-block-quote) {
  padding: var(--psg-post-quote-padding);
  border-left: 4px solid var(--psg-post-color-accent);
  border-radius: var(--theme-radius-control);
  background: var(--psg-post-color-background);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(blockquote p:last-child, .wp-block-quote p:last-child) {
  margin-bottom: 0;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(cite, .wp-block-quote cite) {
  display: block;
  margin-top: 0.75rem;
  color: var(--psg-post-color-heading);
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-pullquote {
  padding: clamp(1.5rem, 4vw, 3rem);
  border-top: 2px solid var(--psg-post-color-border);
  border-right: 0;
  border-bottom: 2px solid var(--psg-post-color-border);
  border-left: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-pullquote blockquote {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-buttons {
  gap: 0.75rem;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-button__link {
  border: 1px solid var(--theme-color-button-background);
  border-radius: var(--theme-radius-button);
  background: var(--theme-color-button-background);
  color: var(--theme-color-button-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--psg-post-font-accent);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.9rem 1.5rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-button__link:hover,
body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-button__link:focus {
  border-color: var(--theme-color-button-hover-background);
  background: var(--theme-color-button-hover-background);
  color: var(--theme-color-button-hover-text);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--psg-post-color-accent);
  border-color: var(--psg-post-color-accent);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-button.is-style-outline .wp-block-button__link:hover,
body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-button.is-style-outline .wp-block-button__link:focus {
  background: transparent;
  color: var(--psg-post-color-accent-hover);
  border-color: var(--psg-post-color-accent-hover);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(.wp-block-group.has-background, .wp-block-cover, .wp-block-media-text.has-background) {
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--theme-radius-control);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-columns {
  gap: clamp(1rem, 4vw, 2.5rem);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(figure, .wp-block-image) {
  margin-left: 0;
  margin-right: 0;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(figcaption, .blocks-gallery-caption, .wp-element-caption) {
  margin-top: 0.75rem;
  color: var(--psg-post-color-text);
  font-size: 14px;
  line-height: 1.5;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) .wp-block-table {
  overflow-x: auto;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(table, .wp-block-table table) {
  width: 100%;
  border-collapse: collapse;
  background: var(--psg-post-color-surface);
  border: 1px solid var(--psg-post-color-border);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(th, td) {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--psg-post-color-border);
  text-align: left;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(th) {
  color: var(--psg-post-color-heading);
  font-weight: 700;
  background: var(--psg-post-color-background);
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(tr:last-child td) {
  border-bottom: 0;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(code, kbd) {
  padding: 0.18rem 0.38rem;
  border-radius: 4px;
  background: var(--psg-post-color-background);
  color: var(--psg-post-color-secondary);
  font-size: 0.95em;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) pre {
  padding: 1rem 1.25rem;
  border-radius: var(--theme-radius-control);
  background: var(--theme-color-primary);
  color: #ffffff;
  overflow-x: auto;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) pre code {
  padding: 0;
  background: transparent;
  color: inherit;
}

body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) :where(hr, .wp-block-separator) {
  border: 0;
  border-top: 2px solid var(--psg-post-color-border);
  margin: var(--psg-post-heading-space) 0;
  opacity: 1;
}

@media (max-width: 1024px) {
  body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) {
    --psg-post-font-size-lead: 1.0625rem;
    --psg-post-font-size-h1: clamp(2.25rem, 6vw, 3rem);
    --psg-post-font-size-h2: clamp(1.875rem, 4vw, 2.4rem);
    --psg-post-font-size-h3: clamp(1.375rem, 3vw, 1.75rem);
    --psg-post-font-size-h4: 1.0625rem;
  }
}

@media (max-width: 767px) {
  body:is(.single-post, .single-resource) :where(.page-content, .entry-content, .wp-block-post-content, .elementor-widget-theme-post-content, .elementor-widget-theme-post-content > .elementor-widget-container) {
    --psg-post-font-size-body: 0.97rem;
    --psg-post-font-size-lead: 1rem;
    --psg-post-font-size-h1: clamp(2rem, 9vw, 2.5rem);
    --psg-post-font-size-h2: clamp(1.625rem, 7vw, 2rem);
    --psg-post-font-size-h3: 1.25rem;
    --psg-post-font-size-h4: 1.125rem;
    --psg-post-list-indent: 1.15rem;
    --psg-post-bullet-width: 0.5rem;
    --psg-post-bullet-height: 0.8rem;
    --psg-post-bullet-offset: 0.12rem;
  }
}
