/* SideUp UK archive V2: visual layer based on the public SideUp design tokens. */
:root {
  --su-color-primary: #a84ef7;
  --su-color-primary-deep: #543769;
  --su-color-accent: #98ff14;
  --su-color-text: #151515;
  --su-color-muted: #525764;
  --su-color-surface: #ffffff;
  --su-color-surface-low: #f8f7fa;
  --su-color-surface-mid: #f2f0f5;
  --su-color-dark: #2f353e;
  --su-radius-sm: 8px;
  --su-radius-md: 16px;
  --su-radius-pill: 100px;
  --wp--preset--color--custom-green-light: #a84ef7;
  --wp--preset--color--custom-green-dark: #543769;
  --wp--preset--color--custom-translucent-green: #f5f3f8;
  --wp--preset--color--custom-very-light-green: #f2f0f5;
}

html, body { overflow-x: hidden; }
body {
  --wp--preset--color--custom-green-light: #a84ef7 !important;
  --wp--preset--color--custom-green-dark: #543769 !important;
  --wp--preset--color--custom-translucent-green: #f5f3f8 !important;
  --wp--preset--color--custom-very-light-green: #f2f0f5 !important;
  background: var(--su-color-surface);
  color: var(--su-color-text);
  font-family: "Elms Sans", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
body :is(h1, h2, h3, h4, h5, h6),
body :is(h1, h2, h3, h4, h5, h6) * {
  font-family: "Cabin", Arial, sans-serif !important;
  letter-spacing: -0.035em;
}
body :is(p, li, input, textarea, select, button) {
  font-family: "Elms Sans", Arial, sans-serif !important;
}
body :is(p, li) { line-height: 1.5; }
.has-custom-green-light-color { color: var(--su-color-primary) !important; }
.has-custom-green-dark-color { color: var(--su-color-text) !important; }
.has-custom-green-light-background-color { background-color: var(--su-color-primary) !important; }
.has-custom-translucent-green-background-color { background-color: #f5f3f8 !important; }
.has-custom-very-light-green-background-color { background-color: var(--su-color-surface-mid) !important; }
.has-custom-green-light-border-color { border-color: var(--su-color-primary) !important; }

/* Eyebrow badges above section titles */
.guten-post-content .su-eyebrow {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  max-width: 100%;
  min-height: 34px;
  padding: 7px 16px 7px 30px !important;
  border: 1px solid #e8e3ee !important;
  border-radius: var(--su-radius-pill) !important;
  background: #fff !important;
  box-shadow: 0 2px 6px rgba(84, 55, 105, .06);
  color: var(--su-color-text) !important;
  font-family: "Cabin", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.25 !important;
  text-transform: uppercase;
}
.guten-post-content .su-eyebrow::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--su-color-primary);
  transform: translateY(-50%);
}
body a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
body a:focus-visible, body button:focus-visible {
  outline: 3px solid var(--su-color-primary) !important;
  outline-offset: 3px;
}

/* Navigation and logo */
header.wp-block-template-part { z-index: 100; }
header.wp-block-template-part .guten-sticky,
header.wp-block-template-part .guten-section.guten-XuJHaR {
  background: rgba(255, 255, 255, .97) !important;
  border-bottom: 1px solid #efeee8;
  box-shadow: 0 2px 16px rgba(21, 21, 21, .035);
  backdrop-filter: blur(16px);
}
header.wp-block-template-part .guten-section.guten-XuJHaR > .guten-container { max-width: 1280px !important; }
header.wp-block-template-part .guten-image-wrapper img,
header.wp-block-template-part .mega-menu-site-image img {
  width: 118px !important;
  height: auto !important;
  max-height: 52px;
  object-fit: contain;
}
header.wp-block-template-part .mega-menu-heading,
header.wp-block-template-part .mega-menu-heading span {
  color: var(--su-color-text) !important;
  font-family: "Cabin", Arial, sans-serif !important;
  font-weight: 700 !important;
}
header.wp-block-template-part .mega-menu-item:hover > .mega-menu-heading span,
header.wp-block-template-part .mega-menu-item.active > .mega-menu-heading span {
  color: var(--su-color-primary) !important;
}
header.wp-block-template-part .mega-menu-body {
  border-radius: var(--su-radius-md) !important;
  box-shadow: 0 18px 45px rgba(21, 21, 21, .12) !important;
}

/* Buttons */
body :is(.guten-button, .wp-block-button__link, .wp-element-button, button[type="submit"], input[type="submit"]) {
  background: var(--su-color-primary) !important;
  border: 1px solid transparent !important;
  border-radius: var(--su-radius-pill) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: "Cabin", Arial, sans-serif !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body :is(.guten-button, .wp-block-button__link, .wp-element-button, button[type="submit"], input[type="submit"]) :is(span, i) {
  color: inherit !important;
  font-family: inherit !important;
}
body :is(.guten-button, .wp-block-button__link, .wp-element-button, button[type="submit"], input[type="submit"]):hover {
  background: var(--su-color-primary-deep) !important;
  color: #fff !important;
  transform: translateY(-2px);
}
.guten-post-content > .section-wrapper:first-child :is(.guten-button, .wp-block-button__link, .wp-element-button) {
  background: var(--su-color-accent) !important;
  border: 2px solid var(--su-color-text) !important;
  color: var(--su-color-text) !important;
}
.guten-post-content > .section-wrapper:first-child :is(.guten-button, .wp-block-button__link, .wp-element-button):hover {
  background: #b5ff51 !important;
  color: var(--su-color-text) !important;
}

/* Pages and content panels */
.guten-post-content > .section-wrapper:first-child > .guten-section {
  background-color: var(--su-color-surface-mid) !important;
}
.home .guten-post-content > .section-wrapper:first-child + .guten-image-marque {
  margin-top: 20px !important;
}
.home .guten-post-content > .section-wrapper:first-child :is(h1, h2) {
  color: var(--su-color-text) !important;
  letter-spacing: -.045em;
}
.home .guten-post-content > .section-wrapper:first-child h1 {
  font-size: clamp(42px, 4.5vw, 64px) !important;
  line-height: 1.1 !important;
}
.guten-post-content :is(.guten-icon-box-wrapper, .guten-featured-item, .wp-block-cover, .guten-gallery-item) {
  border-radius: var(--su-radius-md) !important;
}
.guten-post-content .guten-icon-box-wrapper:hover {
  box-shadow: 0 10px 30px rgba(84, 55, 105, .10);
}
.guten-post-content .guten-section :is(a:not(.guten-button):not(.wp-block-button__link), .guten-icon-box .title):hover {
  color: var(--su-color-primary) !important;
}
/* Partner callout above the footer. */
.guten-post-content .guten-OhniNs {
  background: var(--su-color-surface-mid) !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.guten-OhniNs .guten-shape-divider { display: none !important; }
.guten-OhniNs .wp-block-gallery { justify-content: center; margin-bottom: 0 !important; }
.guten-OhniNs .su-cat-image {
  display: block;
  width: min(100%, 410px) !important;
  height: auto !important;
  object-fit: contain !important;
}
body :is(input:not([type="submit"]), select, textarea) {
  border-radius: var(--su-radius-sm) !important;
  border-color: #bbbec6 !important;
}

/* Dark footer, matching the current SideUp site. */
footer.wp-block-template-part,
footer.wp-block-template-part :is(.guten-section, .wp-block-group) {
  background-color: var(--su-color-dark) !important;
}
footer.wp-block-template-part :is(p, li, h1, h2, h3, h4, h5, h6, a, span, i) {
  color: #fff !important;
}
footer.wp-block-template-part a:hover { color: var(--su-color-accent) !important; }
footer.wp-block-template-part .guten-image-wrapper img { width: 145px !important; height: auto !important; }

@media (max-width: 767px) {
  header.wp-block-template-part .guten-image-wrapper img { width: 100px !important; }
  .home .guten-post-content > .section-wrapper:first-child h1 { font-size: clamp(36px, 10vw, 48px) !important; }
  .guten-post-content > .section-wrapper:first-child > .guten-section { padding-bottom: 40px !important; }
}
