/*
Theme Name: Twenty Twenty-Five Origami
Template: twentytwentyfive
Version: 1.1.13
Description: TT5 child theme for Origami migration layout controls.
*/

:root {
  --oe-dark-bg: #202537;
  --oe-dark-text: #ffffff;
  --oe-dark-body-text: #b1b8c4;
  --oe-header-content-gap: clamp(20px, 3.2vw, 40px);
  --oe-cta-bg: rgb(177, 184, 196);
  --oe-cta-text: rgb(34, 45, 66);
  --oe-link-dark-bg: #6fa92e;
  --oe-link-light-bg: #9c4575;
  --oe-btn-dark-bg: #6fa92e;
  --oe-btn-light-bg: #9c4575;
}

/* Global body typography override for migrated design parity. */
body {
  font-family: "proxima-nova", "Avenir Next", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.58;
  font-weight: 300;
}

/* Hard lock body copy font in main content only (do not affect nav/ui). */
main :where(p, li, ul, ol, blockquote, figcaption, span, strong, em) {
  font-family: "proxima-nova", "Avenir Next", "Segoe UI", sans-serif !important;
}

/* Remove TT5 default gaps between main section transitions. */
.home .entry-content.is-layout-constrained > .oe-hero-cover {
  margin-bottom: 0 !important;
}

/* Global full-bleed layout for OE sections on all pages, not only homepage. */
body .entry-content.is-layout-constrained > .oe-hero-cover,
body .entry-content.is-layout-constrained > .oe-section-dark,
body .entry-content.is-layout-constrained > .oe-section-light,
body .entry-content.is-layout-constrained > .oe-cta-section {
  width: 100vw;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body .entry-content.is-layout-constrained > .oe-section-dark.has-global-padding,
body .entry-content.is-layout-constrained > .oe-section-light.has-global-padding,
body .entry-content.is-layout-constrained > .oe-cta-section.has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Hide default title on OE pages; H1 should be defined directly in page content. */
body:has(.entry-content.is-layout-constrained > :is(.oe-hero-cover, .oe-section-dark, .oe-section-light, .oe-cta-section, .oe-pf, .oe-faq-accordion):first-child) .wp-block-post-title {
  display: none !important;
}

body:has(.entry-content.is-layout-constrained > :is(.oe-hero-cover, .oe-section-dark, .oe-section-light, .oe-cta-section, .oe-pf, .oe-faq-accordion):first-child) .entry-content {
  margin-top: 0 !important;
}

/* Remove TT5 inter-block margins that create separators between OE sections. */
body .entry-content.is-layout-constrained > .oe-hero-cover + .oe-section-dark,
body .entry-content.is-layout-constrained > .oe-section-dark,
body .entry-content.is-layout-constrained > .oe-section-dark + .oe-section-dark,
body .entry-content.is-layout-constrained > .oe-section-dark + .oe-cta-section,
body .entry-content.is-layout-constrained > .oe-cta-section + .oe-section-dark,
body .entry-content.is-layout-constrained > .oe-section-light,
body .entry-content.is-layout-constrained > .oe-section-dark + .oe-section-light,
body .entry-content.is-layout-constrained > .oe-section-light + .oe-section-dark,
body .entry-content.is-layout-constrained > .oe-section-light + .oe-section-light,
body .entry-content.is-layout-constrained > .oe-section-light + .oe-cta-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Remove gap between last OE section and footer. */
body .entry-content.is-layout-constrained > :last-child:is(.oe-section-dark, .oe-section-light, .oe-cta-section) {
  margin-bottom: 0 !important;
}

.home .entry-content.is-layout-constrained > .oe-hero-cover + .oe-section-dark {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

.home .entry-content.is-layout-constrained > .oe-section-dark {
  margin-bottom: 0 !important;
}

.home .entry-content.is-layout-constrained > .oe-section-dark + .oe-cta-section {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

.home .entry-content.is-layout-constrained > .oe-cta-section + .oe-recommendations {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

.home .entry-content.is-layout-constrained > .oe-recommendations {
  margin-bottom: 0 !important;
}

/* Force full-bleed section backgrounds inside TT5 constrained post content. */
.home .entry-content.is-layout-constrained > .oe-hero-cover,
.home .entry-content.is-layout-constrained > .oe-section-dark,
.home .entry-content.is-layout-constrained > .oe-cta-section {
  width: 100vw;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home .entry-content.is-layout-constrained > .oe-section-dark.has-global-padding,
.home .entry-content.is-layout-constrained > .oe-cta-section.has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Keep text blocks constrained while background bands stay full width. */
.oe-hero-cover .wp-block-cover__inner-container {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group,
.oe-section-dark > .wp-block-group,
.oe-cta-section > .wp-block-group {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 3vw, 28px);
  padding-right: clamp(16px, 3vw, 28px);
}

.oe-hero-cover h1,
.oe-section-dark h2,
.oe-section-dark h3,
.oe-section-dark h4,
.oe-cta-section h2 {
  font-family: "futura-pt", "Avenir Next", "Segoe UI", sans-serif;
}

.oe-hero-cover :where(h1, h2, h3, h4, h5, h6),
.oe-cta-section :where(h1, h2, h3, h4, h5, h6) {
  color: var(--oe-cta-text) !important;
}

.oe-hero-cover h1 {
  font-weight: 300;
  font-size: clamp(2rem, 3.2vw, 2.35rem);
  line-height: 1.15;
  max-width: 16ch;
  text-wrap: balance;
}

.oe-section-light {
  background-color: #b1b8c4;
  color: #0d1b2a;
  padding-top: clamp(22px, 2.2vw, 34px) !important;
  padding-bottom: clamp(22px, 2.2vw, 34px) !important;
}

.oe-section-light h2,
.oe-section-light h3,
.oe-section-light h4 {
  color: #0d1b2a;
}

.oe-section-light p,
.oe-section-light li,
.oe-section-light .wp-block-list,
.oe-section-light .wp-block-paragraph {
  color: #1f2b41;
}

.oe-section-light .wp-block-columns {
  gap: clamp(1rem, 2.2vw, 2rem);
  padding-bottom: clamp(18px, 2.6vw, 34px);
}

@media (min-width: 782px) {
  .oe-section-light .wp-block-columns {
    align-items: center !important;
  }
}

.oe-section-light .wp-block-list {
  padding-left: 1.25em;
}

.oe-section-dark {
  background-color: var(--oe-dark-bg);
  color: var(--oe-dark-text);
}

.oe-section-dark h2 {
  font-size: clamp(1.65rem, 2.4vw, 2rem);
  line-height: 1.2;
}

/* Give the intro heading + paragraph pair more breathing room. */
.oe-section-dark > .wp-block-heading:first-child {
  margin-bottom: clamp(14px, 2vw, 24px) !important;
}

.oe-section-dark > .wp-block-heading:first-child + .wp-block-paragraph {
  margin-top: 0 !important;
  margin-bottom: clamp(20px, 2.2vw, 32px) !important;
}

.oe-section-dark h3 {
  font-size: clamp(1.35rem, 2vw, 1.6rem);
  line-height: 1.25;
}

.oe-section-dark h4 {
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  line-height: 1.3;
}

.oe-section-dark p,
.oe-section-dark li,
.oe-cta-section p {
  font-family: "proxima-nova", "Avenir Next", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.58;
}

.oe-section-dark p,
.oe-section-dark li,
.oe-section-dark .wp-block-list,
.oe-section-dark .wp-block-paragraph {
  color: var(--oe-dark-body-text);
}

/* More breathing room between stacked text+image rows in the dark section. */
.oe-section-dark .wp-block-columns {
  gap: clamp(1rem, 2.2vw, 2rem);
  padding-bottom: clamp(18px, 2.6vw, 34px);
}

/* Add more breathing room between consecutive dark-section modules globally. */
body .oe-section-dark .wp-block-columns + .wp-block-columns {
  margin-top: clamp(28px, 4vw, 56px) !important;
}

@media (min-width: 782px) {
  .oe-section-dark .wp-block-columns {
    align-items: center !important;
  }
}

.oe-section-dark .wp-block-columns:last-of-type {
  padding-bottom: 0;
}

/* Small decorative icons (lupa, koła zębate) — hidden on mobile. */
.oe-section-dark .oe-side-icon,
.oe-section-light .oe-side-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}

.oe-section-dark .oe-side-icon img,
.oe-section-light .oe-side-icon img {
  width: clamp(150px, 11vw, 200px);
  height: auto;
}

/* Dashboard screenshots — fill column width, visible on mobile. */
.oe-section-dark .oe-side-photo,
.oe-light-band .oe-side-photo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.oe-section-dark .oe-side-photo img,
.oe-light-band .oe-side-photo img {
  width: 100%;
  height: auto;
}

/* Reusable Offer step sections: link color. */
body .oe-section-dark.oe-step-section a:not(.wp-block-button__link) {
  color: inherit;
}

/* Per-section variant: force Krok 1-like 8/12 + 4/12 layout and larger media scale. */
body .oe-section-dark.oe-step-like-k1 > .wp-block-columns > .wp-block-column:first-child {
  flex-basis: 66.66% !important;
}

body .oe-section-dark.oe-step-like-k1 > .wp-block-columns > .wp-block-column:last-child {
  flex-basis: 33.33% !important;
}

body .oe-section-dark.oe-step-like-k1 .oe-side-icon img {
  width: clamp(220px, 24vw, 300px);
}

/* Tighten layout rhythm for OE dark sections globally. */
.oe-section-dark {
  padding-top: clamp(22px, 2.2vw, 34px) !important;
  padding-bottom: clamp(22px, 2.2vw, 34px) !important;
}

.oe-section-dark > .wp-block-heading:first-child {
  margin-bottom: clamp(10px, 1.2vw, 18px) !important;
}

.oe-section-dark .wp-block-columns {
  gap: clamp(0.9rem, 1.6vw, 1.4rem);
  padding-bottom: clamp(8px, 1.2vw, 14px);
}

.oe-section-dark .wp-block-columns + .wp-block-columns {
  margin-top: clamp(14px, 2vw, 24px) !important;
}

/* Global block primitives for OE bands across all pages. */
:root {
  --oe-block-gap-y: clamp(14px, 1.8vw, 24px);
}

.entry-content :is(.oe-section-dark, .oe-cta-section, .oe-hero-cover)
  > :where(.wp-block-group, .wp-block-columns, .wp-block-media-text, .wp-block-image, .wp-block-list, .wp-block-buttons, .wp-block-table, .wp-block-quote, .wp-block-separator, .wp-block-html) {
  margin-block-start: 0 !important;
  margin-block-end: var(--oe-block-gap-y) !important;
}

.entry-content :is(.oe-section-dark, .oe-cta-section, .oe-hero-cover)
  > :where(.wp-block-group, .wp-block-columns, .wp-block-media-text, .wp-block-image, .wp-block-list, .wp-block-buttons, .wp-block-table, .wp-block-quote, .wp-block-separator, .wp-block-html):last-child {
  margin-block-end: 0 !important;
}

.entry-content :is(.oe-section-dark, .oe-cta-section) .wp-block-columns {
  align-items: center !important;
}

.entry-content :is(.oe-section-dark, .oe-cta-section)
  .wp-block-column
  > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-list, .wp-block-paragraph, .wp-block-buttons, .wp-block-image):last-child {
  margin-bottom: 0 !important;
}

.entry-content :is(.oe-section-dark, .oe-cta-section) .wp-block-media-text {
  column-gap: clamp(18px, 2.2vw, 32px);
  row-gap: clamp(12px, 1.8vw, 22px);
}

.entry-content :is(.oe-section-dark, .oe-cta-section)
  :where(.wp-block-image img, .wp-block-media-text__media img) {
  display: block;
  max-width: 100%;
  height: auto;
}

.entry-content .oe-section-dark .wp-block-buttons,
.entry-content .oe-cta-section .wp-block-buttons {
  margin-top: clamp(8px, 1.2vw, 14px) !important;
}

.entry-content .oe-section-dark .wp-block-list,
.entry-content .oe-cta-section .wp-block-list {
  padding-left: clamp(18px, 1.8vw, 24px);
}

.entry-content .oe-section-dark .wp-block-quote,
.entry-content .oe-cta-section .wp-block-quote {
  border-left: 3px solid rgba(177, 184, 196, 0.45);
  padding-left: clamp(14px, 1.8vw, 20px);
  margin-left: 0;
}

.oe-clickable-tile {
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.oe-clickable-tile:hover,
.oe-clickable-tile:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.24);
}

.oe-cta-section {
  background-color: var(--oe-cta-bg);
  color: var(--oe-cta-text);
}

.oe-cta-section p {
  color: var(--oe-cta-text);
}

/* Recommendations slider block (global OE component). */
.oe-recommendations .oe-recommendations-slider {
  position: relative;
  margin-top: clamp(12px, 1.8vw, 20px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  padding: clamp(14px, 2vw, 22px);
  background: rgba(255, 255, 255, 0.02);
}

.oe-recommendations .oe-rec-slides {
  position: relative;
  min-height: 170px;
}

.oe-recommendations .oe-rec-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateX(24px);
  transition: opacity 280ms ease, transform 280ms ease;
  pointer-events: none;
}

.oe-recommendations .oe-rec-slide.is-active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.oe-recommendations .oe-rec-slide h3 {
  margin: 0 0 12px;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.oe-recommendations .oe-rec-slide p {
  margin: 0 0 14px;
}

.oe-recommendations .oe-rec-meta {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.96rem;
}

.oe-recommendations .oe-rec-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 16px;
}

.oe-recommendations .oe-rec-arrow {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: transparent;
  color: #ffffff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.oe-recommendations .oe-rec-arrow:hover {
  background: rgba(255, 255, 255, 0.1);
}

.oe-recommendations .oe-rec-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.oe-recommendations .oe-rec-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  background: rgba(255, 255, 255, 0.35);
  cursor: pointer;
}

.oe-recommendations .oe-rec-dot.is-active {
  background: #6fa92e;
}

@media (max-width: 781px) {
  .oe-recommendations .oe-rec-slides {
    min-height: 220px;
  }
}

/* Slightly smaller buttons, closer to original proportions. */
.oe-section-dark .wp-block-button__link {
  background-color: var(--oe-btn-dark-bg);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.03) 100%);
  color: #ffffff;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 8px 20px rgba(111, 169, 46, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  text-transform: uppercase;
  font-weight: 700;
  font-size: clamp(0.78rem, 0.95vw, 0.88rem);
  padding: 0.52em 1.28em;
  text-decoration: none;
}

/* Legacy shortcode buttons (Flatsome/UX Builder) should match burgundy light-button style. */
body :where(a.button.alert, button.button.alert, .button.alert) {
  background-color: var(--oe-btn-light-bg) !important;
  border-color: var(--oe-btn-light-bg) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(156, 69, 117, 0.3);
}

.oe-cta-section .wp-block-button__link,
.oe-section-light .wp-block-button__link,
.oe-hero-cover .wp-block-button__link {
  background-color: var(--oe-btn-light-bg);
  box-shadow: 0 8px 20px rgba(156, 69, 117, 0.3);
  color: #ffffff;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  text-transform: uppercase;
  font-weight: 700;
  font-size: clamp(0.78rem, 0.95vw, 0.88rem);
  padding: 0.52em 1.28em;
  text-decoration: none;
}

.oe-section-dark .wp-block-button__link:hover,
.oe-cta-section .wp-block-button__link:hover,
.oe-hero-cover .wp-block-button__link:hover {
  filter: brightness(0.95);
}

.oe-cta-section .wp-block-button__link:hover,
.oe-cta-section .wp-block-button__link:focus-visible,
.oe-hero-cover .wp-block-button__link:hover,
.oe-hero-cover .wp-block-button__link:focus-visible {
  filter: none;
  box-shadow: 0 10px 22px rgba(156, 69, 117, 0.34);
}

body :where(a.button.alert, button.button.alert, .button.alert):hover,
body :where(a.button.alert, button.button.alert, .button.alert):focus-visible {
  background-color: var(--oe-link-light-bg) !important;
  border-color: var(--oe-link-light-bg) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(156, 69, 117, 0.34);
}

.oe-section-dark .wp-block-button__link:hover,
.oe-section-dark .wp-block-button__link:focus-visible {
  box-shadow: 0 11px 24px rgba(111, 169, 46, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

/* Hide default page title above hero on homepage. */
.home .wp-block-post-title {
  display: none;
}

/* Remove extra top gap after hiding the title. */
.home .entry-content {
  margin-top: 0 !important;
}

/* OE TYPOGRAPHY AND LINK OVERRIDES START */
/* Keep headings in Futura; force body copy to text font. */
.home .oe-hero-cover :where(p, li, a, span, strong, em),
.home .oe-section-dark :where(p, li, a, span, strong, em),
.home .oe-cta-section :where(p, li, a, span, strong, em) {
  font-family: "proxima-nova", "Avenir Next", "Segoe UI", sans-serif !important;
}

.home .oe-hero-cover :where(h1, h2, h3, h4, h5, h6),
.home .oe-section-dark :where(h1, h2, h3, h4, h5, h6),
.home .oe-cta-section :where(h1, h2, h3, h4, h5, h6) {
  font-family: "futura-pt", "Avenir Next", "Segoe UI", sans-serif !important;
}

/* Automatic link color by section background tone (excluding buttons). */
.home .oe-section-dark a:not(.wp-block-button__link) {
  color: var(--oe-link-dark-bg) !important;
  font-weight: 700;
}

.home .oe-section-dark a:not(.wp-block-button__link):hover {
  color: var(--oe-link-dark-bg) !important;
}

.home .oe-hero-cover a:not(.wp-block-button__link),
.home .oe-cta-section a:not(.wp-block-button__link) {
  color: var(--oe-link-light-bg) !important;
  font-weight: 700;
}

.home .oe-hero-cover a:not(.wp-block-button__link):hover,
.home .oe-cta-section a:not(.wp-block-button__link):hover {
  color: var(--oe-link-light-bg) !important;
}

/* Keep non-button links consistent with section text color on inner pages. */
body:not(.home) .oe-section-dark a:not(.wp-block-button__link),
body:not(.home) .oe-section-light a:not(.wp-block-button__link),
body:not(.home) .oe-light-band a:not(.wp-block-button__link),
body:not(.home) .oe-cta-section a:not(.wp-block-button__link) {
  font-weight: 700;
  text-decoration-color: currentColor;
}

body:not(.home) .oe-section-dark a:not(.wp-block-button__link) {
  color: var(--oe-link-dark-bg) !important;
}

body:not(.home) .oe-section-light a:not(.wp-block-button__link),
body:not(.home) .oe-light-band a:not(.wp-block-button__link),
body:not(.home) .oe-cta-section a:not(.wp-block-button__link) {
  color: var(--oe-link-light-bg) !important;
}

body:not(.home) .oe-section-dark a:not(.wp-block-button__link):hover,
body:not(.home) .oe-section-light a:not(.wp-block-button__link):hover,
body:not(.home) .oe-light-band a:not(.wp-block-button__link):hover,
body:not(.home) .oe-cta-section a:not(.wp-block-button__link):hover {
  color: currentColor !important;
  text-decoration-color: currentColor;
}
/* OE TYPOGRAPHY AND LINK OVERRIDES END */

@media (max-width: 781px) {
  .oe-hero-cover {
    min-height: 320px !important;
  }

  .oe-section-dark .oe-side-icon {
    display: none;
  }

  /* Dashboard photos stay visible on mobile. */
  .oe-section-dark .oe-side-photo,
  .oe-light-band .oe-side-photo {
    display: flex;
  }

  .oe-section-dark,
  .oe-cta-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .oe-section-dark .wp-block-columns {
    padding-bottom: 24px;
  }
}

/* MOBILE EDGE FIX START */
@media (max-width: 781px) {
  /* Avoid 100vw edge-cling/overflow on mobile. */
  .home .entry-content.is-layout-constrained > .oe-hero-cover,
  .home .entry-content.is-layout-constrained > .oe-section-dark,
  .home .entry-content.is-layout-constrained > .oe-cta-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Keep readable gutters on phone screens. */
  .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group,
  .oe-section-dark > .wp-block-group,
  .oe-cta-section > .wp-block-group {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}
/* MOBILE EDGE FIX END */

/* MOBILE TEXT GUTTER ONLY START */
@media (max-width: 781px) {
  /* Keep section backgrounds full width on mobile. */
  .home .entry-content.is-layout-constrained > .oe-hero-cover,
  .home .entry-content.is-layout-constrained > .oe-section-dark,
  .home .entry-content.is-layout-constrained > .oe-cta-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  /* Apply side space to text/content only. */
  .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group,
  .oe-section-dark > .wp-block-group,
  .oe-cta-section > .wp-block-group {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}
/* MOBILE TEXT GUTTER ONLY END */

/* FLATSOME MOBILE BOX MODE START */
@media (max-width: 781px) {
  /* Recreate Flatsome-like boxed sections on phones. */
  .home .entry-content.is-layout-constrained > .oe-hero-cover,
  .home .entry-content.is-layout-constrained > .oe-section-dark,
  .home .entry-content.is-layout-constrained > .oe-cta-section {
    width: auto !important;
    max-width: none !important;
    margin-left: 14px !important;
    margin-right: 14px !important;
  }

  .home .entry-content.is-layout-constrained > .oe-section-dark,
  .home .entry-content.is-layout-constrained > .oe-cta-section {
    border-radius: 0 0 22px 22px;
    overflow: hidden;
  }

  /* Smaller inner gutters once section itself is boxed. */
  .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group,
  .oe-section-dark > .wp-block-group,
  .oe-cta-section > .wp-block-group {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* FLATSOME MOBILE BOX MODE END */

/* MOBILE FULL-WIDTH BACKGROUND RESTORE START */
@media (max-width: 781px) {
  /* Keep colored section backgrounds full width. */
  .home .entry-content.is-layout-constrained > .oe-section-dark,
  .home .entry-content.is-layout-constrained > .oe-cta-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
  }

  /* Content still gets comfortable side spacing. */
  .oe-section-dark > .wp-block-group,
  .oe-cta-section > .wp-block-group {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* MOBILE FULL-WIDTH BACKGROUND RESTORE END */

/* MOBILE CONTENT INSET HARD FIX START */
@media (max-width: 781px) {
  /* Keep backgrounds full width. */
  .home .entry-content.is-layout-constrained > .oe-section-dark,
  .home .entry-content.is-layout-constrained > .oe-cta-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  /* Apply reliable side inset to text/content wrappers. */
  .home .entry-content.is-layout-constrained > .oe-section-dark,
  .home .entry-content.is-layout-constrained > .oe-cta-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  .home .oe-section-dark > .wp-block-group,
  .home .oe-cta-section > .wp-block-group {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* MOBILE CONTENT INSET HARD FIX END */

/* MOBILE REAL-DOM INSET FALLBACK START */
@media (max-width: 781px) {
  /* Fallback for pages where WP flattens inner wrappers. */
  .home .oe-section-dark > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
  .home .oe-cta-section > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  /* Keep list bullets inside padded area for readability. */
  .home .oe-section-dark > ul,
  .home .oe-section-dark > ol,
  .home .oe-cta-section > ul,
  .home .oe-cta-section > ol {
    padding-left: 34px !important;
  }
}
/* MOBILE REAL-DOM INSET FALLBACK END */

/* GLOBAL TEXT CONTAINER SIDE PADDING START */
:root {
  --oe-content-side-pad: clamp(16px, 2.8vw, 28px);
}

/* Standard wrapper path */
.home .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group,
.home .oe-section-dark > .wp-block-group,
.home .oe-cta-section > .wp-block-group {
  padding-left: var(--oe-content-side-pad) !important;
  padding-right: var(--oe-content-side-pad) !important;
  box-sizing: border-box;
}

/* Flattened DOM fallback path */
.home .oe-section-dark > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
.home .oe-cta-section > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
  padding-left: var(--oe-content-side-pad) !important;
  padding-right: var(--oe-content-side-pad) !important;
  box-sizing: border-box;
}

.home .oe-section-dark > ul,
.home .oe-section-dark > ol,
.home .oe-cta-section > ul,
.home .oe-cta-section > ol {
  padding-left: calc(var(--oe-content-side-pad) + 18px) !important;
}
/* GLOBAL TEXT CONTAINER SIDE PADDING END */

/* UNIVERSAL SECTION INSET FIX START */
/* Apply side inset at section level so it survives DOM shape changes. */
.home .oe-section-dark,
.home .oe-cta-section {
  padding-left: var(--oe-content-side-pad) !important;
  padding-right: var(--oe-content-side-pad) !important;
  box-sizing: border-box;
}

/* Prevent double insets when inner wrappers also get padding. */
.home .oe-section-dark > .wp-block-group,
.home .oe-cta-section > .wp-block-group,
.home .oe-section-dark > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
.home .oe-cta-section > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home .oe-section-dark > ul,
.home .oe-section-dark > ol,
.home .oe-cta-section > ul,
.home .oe-cta-section > ol {
  padding-left: calc(var(--oe-content-side-pad) + 18px) !important;
}
/* UNIVERSAL SECTION INSET FIX END */

/* FINAL MOBILE LAYOUT OVERRIDE START */
@media (max-width: 781px) {
  /* Force all key homepage bands to true full width on phones. */
  .home .entry-content.is-layout-constrained > .oe-hero-cover,
  .home .entry-content.is-layout-constrained > .oe-section-dark,
  .home .entry-content.is-layout-constrained > .oe-cta-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
  }

  /* Keep text away from screen edges. */
  .home .oe-hero-cover,
  .home .oe-section-dark,
  .home .oe-cta-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box;
  }

  /* Keep hero copy off the edge and reduce overly tight wraps. */
  body.home.page-id-2 .oe-hero-cover :where(h1, p, .wp-block-buttons) {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }

  body.home.page-id-2 .oe-hero-cover h1 {
    max-width: 14ch !important;
    line-height: 1.2 !important;
  }

  /* Avoid double-padding from nested wrappers/direct children. */
  .home .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group,
  .home .oe-section-dark > .wp-block-group,
  .home .oe-cta-section > .wp-block-group,
  .home .oe-section-dark > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
  .home .oe-cta-section > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Keep breathing room at top of first dark block under hero. */
  .home .oe-section-dark {
    padding-top: 20px !important;
  }

  .home .oe-section-dark > :first-child,
  .home .oe-section-dark h2 {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
  }
}
/* FINAL MOBILE LAYOUT OVERRIDE END */

/* PAGE-ID-2 MOBILE TEXT INSET ENFORCED START */
@media (max-width: 781px) {
  body.home.page-id-2 .oe-section-dark > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
  body.home.page-id-2 .oe-cta-section > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }

  body.home.page-id-2 .oe-section-dark > ul,
  body.home.page-id-2 .oe-section-dark > ol,
  body.home.page-id-2 .oe-cta-section > ul,
  body.home.page-id-2 .oe-cta-section > ol {
    padding-left: 38px !important;
  }
}
/* PAGE-ID-2 MOBILE TEXT INSET ENFORCED END */

/* HERO HEADLINE FIT FIX START */
@media (max-width: 1200px) {
  body.home .oe-hero-cover h1 {
    max-width: 16ch !important;
    line-height: 1.22 !important;
    text-wrap: balance;
  }

  body.home .oe-hero-cover .wp-block-cover__inner-container,
  body.home .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group,
  body.home .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }

  body.home .oe-hero-cover + .oe-section-dark {
    padding-top: clamp(20px, 3vw, 40px) !important;
  }
}
/* HERO HEADLINE FIT FIX END */

body.page-portfolio .oe-pf a:not(.wp-block-button__link) {
  color: var(--oe-link-dark-bg) !important;
  font-weight: 700;
  text-decoration-color: currentColor;
}

body.page-portfolio .oe-pf a:not(.wp-block-button__link):hover,
body.page-portfolio .oe-pf a:not(.wp-block-button__link):focus-visible {
  color: currentColor !important;
  text-decoration-color: currentColor;
}

/* CONSISTENT CONTENT GUTTER SYSTEM START */
:root {
  --oe-gutter-x: 48px;
}

@media (max-width: 1600px) {
  :root {
    --oe-gutter-x: 40px;
  }
}

@media (max-width: 1280px) {
  :root {
    --oe-gutter-x: 32px;
  }
}

@media (max-width: 1024px) {
  :root {
    --oe-gutter-x: 24px;
  }
}

@media (max-width: 781px) {
  :root {
    --oe-gutter-x: 18px;
  }
}

@media (max-width: 480px) {
  :root {
    --oe-gutter-x: 14px;
  }
}

/* One gutter system for all OE bands, regardless of page or block nesting. */
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-dark.has-global-padding,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-light.has-global-padding,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-cta-section.has-global-padding {
  padding-left: var(--oe-gutter-x) !important;
  padding-right: var(--oe-gutter-x) !important;
  box-sizing: border-box;
}

/* Keep children neutral to avoid double insets from earlier rules. */
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-dark.has-global-padding > .wp-block-group,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-light.has-global-padding > .wp-block-group,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-cta-section.has-global-padding > .wp-block-group,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-dark.has-global-padding > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-light.has-global-padding > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-cta-section.has-global-padding > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-dark.has-global-padding > ul,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-dark.has-global-padding > ol,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-light.has-global-padding > ul,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-section-light.has-global-padding > ol,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-cta-section.has-global-padding > ul,
body .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained > .oe-cta-section.has-global-padding > ol {
  padding-left: calc(var(--oe-gutter-x) + 18px) !important;
}

/* Less aggressive wrapping for hero headline. */
body .oe-hero-cover h1 {
  max-width: 18ch !important;
  line-height: 1.18 !important;
  text-wrap: balance;
}

@media (max-width: 781px) {
  body .oe-hero-cover h1 {
    max-width: 16ch !important;
    line-height: 1.2 !important;
  }
}

/* Preserve breathing room under hero image. */
body .oe-hero-cover + .oe-section-dark {
  padding-top: clamp(18px, 2.5vw, 36px) !important;
}
/* CONSISTENT CONTENT GUTTER SYSTEM END */

/* PRODUCTION PARITY TUNING START */
body {
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body .oe-hero-cover h1 {
  font-size: clamp(2.25rem, 3.4vw, 42px) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
}

body .oe-section-dark h2 {
  line-height: 1.3 !important;
  letter-spacing: normal !important;
}

body .oe-hero-cover h1,
body .oe-section-dark h2,
body .oe-section-dark h3,
body .oe-section-dark h4,
body .oe-cta-section h2 {
  text-rendering: optimizeSpeed;
}

body .oe-section-dark,
body .oe-cta-section {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

body .oe-section-dark.oe-recommendations {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

body .oe-section-dark > .wp-block-group,
body .oe-section-light > .wp-block-group,
body .oe-cta-section > .wp-block-group {
  max-width: 1050px !important;
}

body .oe-hero-cover > .wp-block-cover__inner-container > .wp-block-group > .wp-block-columns {
  max-width: 1050px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body .oe-section-dark > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
body .oe-section-light > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
body .oe-cta-section > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
  max-width: 1050px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body .oe-section-dark p,
body .oe-section-dark li,
body .oe-cta-section p {
  font-weight: 400;
  line-height: 1.6;
}

body .oe-section-dark p {
  margin-bottom: 1.3em;
}

body .oe-hero-cover + .oe-section-dark {
  padding-top: 30px !important;
}

/* Match old production header navigation typography across all menu variants. */
body :where(
  header nav a,
  .wp-block-navigation a,
  .wp-block-navigation .wp-block-navigation-item__content,
  .wp-block-navigation .wp-block-navigation__submenu-container a,
  .wp-block-navigation .wp-block-navigation__responsive-container a
) {
  font-family: "Montserrat", "proxima-nova", "Avenir Next", "Segoe UI", sans-serif !important;
  font-size: 12.8px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
}

/* Header submenu should look like a polished navigation panel, not default browser block. */
body header .wp-block-navigation .wp-block-navigation__submenu-container {
  background: rgba(32, 37, 55, 0.98) !important;
  border: 1px solid rgba(177, 184, 196, 0.28) !important;
  border-radius: 6px !important;
  box-shadow: 0 14px 34px rgba(8, 13, 24, 0.46) !important;
  min-width: 320px;
  padding: 10px 0 !important;
  margin-top: 0 !important;
}

body header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
  margin: 0 !important;
}

body header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: #e9eef8 !important;
  display: block;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  padding: 12px 22px !important;
  text-decoration: none !important;
  transition: background-color 0.18s ease, color 0.18s ease;
}

body header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
body header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
  background: rgba(177, 184, 196, 0.14) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  outline: none;
}

@media (max-width: 1023px) {
  body header .wp-block-navigation .wp-block-navigation__submenu-container {
    background: rgba(32, 37, 55, 0.96) !important;
    border: 1px solid rgba(177, 184, 196, 0.3) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    min-width: 0;
    margin-top: 0 !important;
    padding: 6px 0 !important;
  }

  body header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: #e7edf8 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
  }

  body header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  body header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
    background: rgba(177, 184, 196, 0.16) !important;
    color: #ffffff !important;
    text-decoration: none !important;
  }
}

/* Mobile header menu should open as a coherent full-screen panel. */
@media (max-width: 1023px) {
  body header .wp-block-navigation__responsive-container.is-menu-open {
    background: rgba(32, 37, 55, 0.98) !important;
    color: #e8edf6 !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding: 84px 22px 28px !important;
    align-items: stretch !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: 100% !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100% !important;
    margin: 0 !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block !important;
    width: 100% !important;
    color: #eef2f8 !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    padding: 12px 2px !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible {
    color: #ffffff !important;
    background: transparent !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
    color: #e8edf6 !important;
    padding-right: 0 !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 6px 0 10px !important;
    padding: 8px 12px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: #dce3ef !important;
    font-size: 18px !important;
    padding: 10px 8px !important;
  }

  body header .wp-block-navigation__responsive-container-close {
    color: #f2f5fb !important;
  }
}
/* PRODUCTION PARITY TUNING END */

/* OE PAGE STRUCTURE PARITY START */
body:not(.home):has(.entry-content.is-layout-constrained > .oe-hero-cover:first-child) .wp-site-blocks > main {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

body:not(.home):has(.entry-content.is-layout-constrained > .oe-hero-cover:first-child) .wp-site-blocks > main > .wp-block-group {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove inherited main/footer block-gap on all OE pages. */
body:has(.entry-content.is-layout-constrained > :is(.oe-hero-cover, .oe-section-dark, .oe-section-light, .oe-cta-section)) .wp-site-blocks > main + .wp-block-template-part {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

body:has(.entry-content.is-layout-constrained > :is(.oe-hero-cover, .oe-section-dark, .oe-section-light, .oe-cta-section)) .wp-site-blocks > main > .wp-block-group {
  padding-bottom: 0 !important;
}

/* OE sections should stay full-width; only the inner content is centered. */
body .entry-content.is-layout-constrained > .oe-hero-cover,
body .entry-content.is-layout-constrained > .oe-section-dark,
body .entry-content.is-layout-constrained > .oe-cta-section {
  width: 100vw;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Hero on OE inner pages should behave like production band. */
body:not(.home) .oe-hero-cover {
  min-height: 360px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .oe-hero-cover.oe-hero-top {
  align-items: center !important;
}

body .oe-hero-cover.oe-hero-top .wp-block-cover__inner-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .oe-hero-cover.oe-hero-top .wp-block-columns.are-vertically-aligned-center {
  align-items: center !important;
}

/* Some migrated heroes use inline 75% spans inside H1; normalize to Oferta typography. */
body .oe-hero-cover.oe-hero-top h1 span[style*="font-size"] {
  font-size: inherit !important;
  line-height: inherit !important;
}

body .oe-hero-cover.oe-hero-top h1 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body .oe-hero-cover.oe-hero-top h1 + h1 {
  margin-top: 0.08em !important;
}

/* Normalize migrated hero markup that does not include the default columns wrapper yet. */
body .oe-hero-cover.oe-hero-top .wp-block-cover__inner-container > .wp-block-group:not(:has(.wp-block-columns)) {
  max-width: 1050px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 3vw, 28px) !important;
  padding-right: clamp(16px, 3vw, 28px) !important;
  box-sizing: border-box;
}

body .oe-hero-cover.oe-hero-top .wp-block-cover__inner-container > .wp-block-group:not(:has(.wp-block-columns))
  > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-buttons, .wp-block-image) {
  max-width: min(43%, 520px) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

@media (max-width: 781px) {
  body .oe-hero-cover.oe-hero-top .wp-block-cover__inner-container > .wp-block-group:not(:has(.wp-block-columns))
    > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-buttons, .wp-block-image) {
    max-width: 100% !important;
  }
}

body:not(.home) .oe-hero-cover .wp-block-cover__image-background {
  object-position: 43% 65% !important;
}

/* Dark hero variant for portfolio case pages. */
body .oe-hero-cover.is-dark :where(h1, h2, h3, h4, h5, h6, p, li, a, span, strong, em) {
  color: #ffffff !important;
}

body .oe-hero-cover.is-dark .wp-block-cover__background {
  background: linear-gradient(120deg, rgba(20, 27, 42, 0.74) 0%, rgba(20, 27, 42, 0.55) 45%, rgba(20, 27, 42, 0.3) 100%);
}

/* OE PAGE STRUCTURE PARITY END */

/* OFFER CHILD PAGES PARITY START */
body.page-child:has(.entry-content.is-layout-constrained > .oe-hero-cover:first-child) .wp-block-post-title {
  display: none;
}

body.page-child:has(.entry-content.is-layout-constrained > .oe-hero-cover:first-child) .entry-content {
  margin-top: 0 !important;
}

/* Scoped light bands for specific Offer subsections only. */
body .oe-light-band {
  background-color: var(--oe-cta-bg);
  color: var(--oe-cta-text);
  width: 100vw;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 30px;
  padding-bottom: 30px;
}

body .oe-light-band > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
  width: min(1050px, calc(100% - 32px));
  max-width: 1050px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

body .oe-light-band :where(h1, h2, h3, h4, h5, h6, p, li, a:not(.wp-block-button__link), strong, em, span) {
  color: var(--oe-cta-text) !important;
}

body .oe-light-band .wp-block-columns {
  align-items: flex-start !important;
  gap: clamp(1rem, 2.2vw, 2rem);
}

body .oe-light-band.oe-light-band-join-next {
  padding-bottom: 0;
}

body .oe-light-band.oe-light-band-join-prev {
  padding-top: 0;
}

body .oe-light-band.oe-light-band-no-pad {
  padding-top: 0;
  padding-bottom: 0;
}

/* Optional no-pad variants for asymmetric spacing between adjacent light bands. */
body .oe-light-band.oe-light-band-no-pad.oe-light-band-pad-top {
  padding-top: 30px;
}

body .oe-light-band.oe-light-band-no-pad.oe-light-band-pad-bottom {
  padding-bottom: 30px;
}

/* Keep a minimum horizontal gutter on Offer child pages for dark/cta content. */
body.page-child .oe-section-dark > .wp-block-group,
body.page-child .oe-section-light > .wp-block-group,
body.page-child .oe-cta-section > .wp-block-group,
body.page-child .oe-section-dark > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
body.page-child .oe-section-light > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
body.page-child .oe-cta-section > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
  width: min(1050px, calc(100% - 32px));
  box-sizing: border-box;
}

/* OFFER CHILD PAGES PARITY END */

/* PORTFOLIO CHILD PAGES DARK PARITY START */
body.page-child.parent-pageid-20985 .wp-block-post-title {
  display: block !important;
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained {
  background-color: var(--oe-dark-bg);
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained
  > :not(.oe-hero-cover):not(.wp-block-spacer):not(.oe-portfolio-cta) {
  background: transparent !important;
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained :where(h1, h2, h3, h4, h5, h6) {
  color: #ffffff !important;
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained :where(p, li, .wp-block-list, .wp-block-paragraph) {
  color: var(--oe-dark-body-text) !important;
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained :where(h1, h2, h3, h4, h5, h6) :where(strong, em, span) {
  color: #ffffff !important;
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained .oe-portfolio-cta,
body.page-portfolio .entry-content.is-layout-constrained .oe-portfolio-cta {
  background-color: var(--oe-cta-bg) !important;
  color: var(--oe-cta-text) !important;
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained .oe-portfolio-cta :where(h1, h2, h3, h4, h5, h6),
body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained .oe-portfolio-cta :where(h1, h2, h3, h4, h5, h6) :where(strong, em, span),
body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained .oe-portfolio-cta :where(p, li, .wp-block-list, .wp-block-paragraph),
body.page-portfolio .entry-content.is-layout-constrained .oe-portfolio-cta :where(h1, h2, h3, h4, h5, h6),
body.page-portfolio .entry-content.is-layout-constrained .oe-portfolio-cta :where(h1, h2, h3, h4, h5, h6) :where(strong, em, span),
body.page-portfolio .entry-content.is-layout-constrained .oe-portfolio-cta :where(p, li, .wp-block-list, .wp-block-paragraph) {
  color: var(--oe-cta-text) !important;
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained a:not(.wp-block-button__link) {
  color: var(--oe-link-dark-bg) !important;
  text-decoration-color: currentColor !important;
}

body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained a:not(.wp-block-button__link):hover,
body.page-child.parent-pageid-20985 .entry-content.is-layout-constrained a:not(.wp-block-button__link):focus-visible {
  color: currentColor !important;
  text-decoration-color: currentColor !important;
}

body.page-child.parent-pageid-20985 .oe-portfolio-cta .wp-block-button__link,
body.page-portfolio .oe-portfolio-cta .wp-block-button__link {
  background-color: var(--oe-btn-light-bg) !important;
  background-image: none !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 8px 20px rgba(156, 69, 117, 0.30) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: clamp(0.78rem, 0.95vw, 0.88rem) !important;
  padding: 0.52em 1.28em !important;
  text-decoration: none !important;
}

body.page-child.parent-pageid-20985 .oe-portfolio-cta .wp-block-button__link:hover,
body.page-child.parent-pageid-20985 .oe-portfolio-cta .wp-block-button__link:focus-visible,
body.page-portfolio .oe-portfolio-cta .wp-block-button__link:hover,
body.page-portfolio .oe-portfolio-cta .wp-block-button__link:focus-visible {
  background-color: var(--oe-link-light-bg) !important;
  filter: none !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(156, 69, 117, 0.34) !important;
}

/* PORTFOLIO CHILD PAGES DARK PARITY END */

/* INNER PAGES MOBILE GUTTER START */
@media (max-width: 781px) {
  body:not(.home) .entry-content.is-layout-constrained > .oe-hero-cover,
  body:not(.home) .entry-content.is-layout-constrained > .oe-light-band,
  body:not(.home) .entry-content.is-layout-constrained > .oe-section-dark,
  body:not(.home) .entry-content.is-layout-constrained > .oe-cta-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  body:not(.home) .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group,
  body:not(.home) .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-group,
  body:not(.home) .oe-hero-cover .wp-block-cover__inner-container > .wp-block-group > .wp-block-columns,
  body:not(.home) .oe-light-band > .wp-block-group,
  body:not(.home) .oe-section-dark > .wp-block-group,
  body:not(.home) .oe-cta-section > .wp-block-group {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body:not(.home) .oe-light-band > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
  body:not(.home) .oe-section-dark > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons),
  body:not(.home) .oe-cta-section > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, .wp-block-columns, .wp-block-buttons) {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  body .oe-light-band {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  body .oe-light-band.oe-light-band-join-next {
    padding-bottom: 0;
  }

  body .oe-light-band.oe-light-band-join-prev {
    padding-top: 0;
  }

  body .oe-light-band.oe-light-band-no-pad {
    padding-top: 0;
    padding-bottom: 0;
  }

  body .oe-light-band.oe-light-band-no-pad.oe-light-band-pad-top {
    padding-top: 22px;
  }

  body .oe-light-band.oe-light-band-no-pad.oe-light-band-pad-bottom {
    padding-bottom: 22px;
  }

  body .oe-light-band .wp-block-columns {
    gap: 16px;
  }
}
/* INNER PAGES MOBILE GUTTER END */

/* OFERTA PATH CARDS PARITY START */
body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) > .wp-block-columns {
  gap: clamp(16px, 2.1vw, 28px) !important;
  margin-top: clamp(8px, 1.2vw, 16px) !important;
  margin-bottom: 0 !important;
  align-items: stretch !important;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) > .wp-block-columns > .wp-block-column {
  display: flex;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 12px;
  padding: clamp(18px, 2.2vw, 28px) !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  width: 100%;
  transition: background .2s, border-color .2s, box-shadow .2s;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile p {
  margin-bottom: 0.95em !important;
  color: #b1b8c4 !important;
  line-height: 1.55 !important;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile h4,
body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile strong {
  color: #ffffff !important;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile .wp-block-buttons {
  margin-top: auto !important;
  padding-top: 8px;
  justify-content: center !important;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile .wp-block-button {
  margin-left: auto;
  margin-right: auto;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile .wp-block-button__link {
  background-color: var(--oe-btn-dark-bg) !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.03) 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(111,169,46,0.24) !important;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile .wp-block-button__link:hover,
body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile .wp-block-button__link:focus-visible {
  background-color: #5d8f25 !important;
  color: #ffffff !important;
  filter: none !important;
  box-shadow: 0 10px 22px rgba(111,169,46,0.34) !important;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile:hover,
body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile:focus-visible {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(111,169,46,.45) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.3) !important;
}

@media (max-width: 781px) {
  body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) .oe-clickable-tile {
    padding: 18px 16px !important;
    border-radius: 14px;
  }

  body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-clickable-tile) > .wp-block-columns {
    gap: 14px !important;
  }
}
/* OFERTA PATH CARDS PARITY END */

/* PORTFOLIO CARD PARITY START */
body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-pf-card) > .wp-block-columns {
  gap: clamp(16px, 2.1vw, 28px) !important;
  margin-top: clamp(8px, 1.2vw, 16px) !important;
  margin-bottom: 0 !important;
  align-items: stretch !important;
}

body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-pf-card) > .wp-block-columns > .wp-block-column {
  display: flex;
}

body .oe-pf-card {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 12px;
  padding: clamp(18px, 2.2vw, 28px) !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  width: 100%;
  transition: background .2s, border-color .2s, box-shadow .2s, transform .18s ease;
}

body .oe-pf-card:hover,
body .oe-pf-card:focus-visible {
  transform: translateY(-2px);
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(111,169,46,.45) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.24) !important;
}

body .oe-pf-card.oe-pf-card--step {
  background: rgba(29, 35, 50, 0.96) !important;
  border: 1px solid rgba(110, 28, 48, 0.55) !important;
}

body .oe-section-light .wp-block-column:has(.oe-pf-card--step) {
  display: flex;
}

body .oe-section-light .wp-block-column:has(.oe-pf-card--step) > .oe-pf-card--step {
  height: 100%;
}

body .entry-content.is-layout-constrained > .oe-section-light:has(.oe-pf-card--step) > .wp-block-columns {
  align-items: stretch !important;
}

body .entry-content.is-layout-constrained > .oe-section-light:has(.oe-pf-card--step) > .wp-block-columns > .wp-block-column:has(.oe-pf-card--step) {
  display: flex;
}

body .entry-content.is-layout-constrained > .oe-section-light.oe-section-light--no-top-padding {
  padding-top: 0 !important;
}

body .oe-pf-card.oe-pf-card--step {
  min-height: 230px;
}

body .oe-pf-card.oe-pf-card--step:hover,
body .oe-pf-card.oe-pf-card--step:focus-visible {
  background: rgba(35, 42, 59, 0.98) !important;
}

body .oe-step-microlabel {
  margin: 0 0 16px;
  font-family: "futura-pt", "Avenir Next", "Segoe UI", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5f6a7d;
  opacity: 0.9;
}

body .oe-pf-card > :where(h1, h2, h3, h4, p:first-child) {
  font-family: "futura-pt", "Avenir Next", "Segoe UI", sans-serif;
  font-size: clamp(0.9rem, 1.15vw, 1.2rem);
  font-weight: 600;
  color: #ffffff;
  line-height: 1.4;
}

body .oe-pf-card > p:not(:first-child) {
  font-family: "proxima-nova", "Avenir Next", "Segoe UI", sans-serif;
  font-size: .8rem;
  color: #b1b8c4;
  line-height: 1.55;
}

body .oe-pf-card .wp-block-buttons {
  margin-top: auto !important;
  padding-top: 8px;
  justify-content: center !important;
}

body .oe-pf-card .wp-block-button {
  margin-left: auto;
  margin-right: auto;
}

body .oe-pf-card .wp-block-button__link {
  background-color: var(--oe-btn-dark-bg) !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.03) 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(111,169,46,0.24) !important;
}

body .oe-pf-card .wp-block-button__link:hover,
body .oe-pf-card .wp-block-button__link:focus-visible {
  background-color: #5d8f25 !important;
  color: #ffffff !important;
  filter: none !important;
  box-shadow: 0 10px 22px rgba(111,169,46,0.34) !important;
}

@media (max-width: 781px) {
  body .oe-pf-card {
    padding: 18px 16px !important;
    border-radius: 14px;
  }

  body .oe-pf-card.oe-pf-card--step {
    min-height: 0;
  }

  body .entry-content.is-layout-constrained > .oe-section-dark:has(.oe-pf-card) > .wp-block-columns {
    gap: 14px !important;
  }
}
/* PORTFOLIO CARD PARITY END */

/* OE FAQ ACCORDION START */
.oe-faq-accordion {
  --oe-faq-item-bg: #dfe5ee;
  --oe-faq-item-bg-open: #d8e0eb;
  --oe-faq-item-border: rgba(34, 45, 66, 0.16);
  --oe-faq-item-shadow: 0 6px 18px rgba(24, 32, 49, 0.08);
  --oe-faq-question-color: #1f2b41;
  --oe-faq-answer-color: #2a3954;
  --oe-faq-icon-border: rgba(34, 45, 66, 0.18);
  --oe-faq-icon-color: #2a3954;
  --oe-faq-icon-open-bg: rgba(34, 45, 66, 0.08);
}

body .entry-content.is-layout-constrained > .oe-faq-accordion:not(.oe-section-dark):not(.oe-cta-section):not(.oe-hero-cover) {
  background-color: #dfe5ee;
  width: 100vw;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 30px 48px 8px !important;
  border-bottom: 1px solid rgba(34, 45, 66, 0.16);
}

body:has(.oe-faq-accordion) .wp-site-blocks > .wp-block-template-part {
  margin-top: 0 !important;
}

body .entry-content.is-layout-constrained > .oe-faq-accordion:not(.oe-section-dark):not(.oe-cta-section):not(.oe-hero-cover)
  > :where(h1, h2, h3, h4, h5, h6, p, .oe-faq-item) {
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}

body .entry-content.is-layout-constrained > .oe-faq-accordion:not(.oe-section-dark):not(.oe-cta-section):not(.oe-hero-cover)
  > :where(h1, h2, h3, h4, h5, h6):first-child {
  margin-bottom: 16px;
}

.oe-section-dark .oe-faq-accordion,
.section.dark .oe-faq-accordion,
.oe-hero-cover .oe-faq-accordion {
  --oe-faq-item-bg: rgba(255, 255, 255, 0.06);
  --oe-faq-item-bg-open: rgba(255, 255, 255, 0.12);
  --oe-faq-item-border: rgba(255, 255, 255, 0.22);
  --oe-faq-item-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
  --oe-faq-question-color: #f3f6fb;
  --oe-faq-answer-color: rgba(243, 246, 251, 0.92);
  --oe-faq-icon-border: rgba(255, 255, 255, 0.35);
  --oe-faq-icon-color: #f3f6fb;
  --oe-faq-icon-open-bg: rgba(255, 255, 255, 0.14);
}

.oe-faq-accordion > .oe-faq-item {
  margin: 0 0 12px;
  border: 1px solid var(--oe-faq-item-border);
  border-radius: 14px;
  background-color: var(--oe-faq-item-bg);
  box-shadow: var(--oe-faq-item-shadow);
  overflow: hidden;
}

.oe-faq-accordion > .oe-faq-item:last-child {
  margin-bottom: 0;
}

.oe-faq-accordion > .oe-faq-item[open] {
  background-color: var(--oe-faq-item-bg-open);
}

.oe-faq-accordion .oe-faq-question {
  position: relative;
  display: block;
  list-style: none;
  cursor: pointer;
  padding: 18px 56px 18px 22px;
  color: var(--oe-faq-question-color);
  font-family: "Montserrat", "proxima-nova", "Avenir Next", "Segoe UI", sans-serif;
  font-size: clamp(1.06rem, 1.15vw, 1.2rem);
  font-weight: 600;
  line-height: 1.35;
}

.oe-faq-accordion .oe-faq-question::-webkit-details-marker {
  display: none;
}

.oe-faq-accordion .oe-faq-question::after {
  content: '+';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--oe-faq-icon-border);
  color: var(--oe-faq-icon-color);
  font-size: 18px;
  font-weight: 500;
  line-height: 22px;
  text-align: center;
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.oe-faq-accordion > .oe-faq-item[open] .oe-faq-question::after {
  content: '−';
  background-color: var(--oe-faq-icon-open-bg);
}

.oe-faq-accordion .oe-faq-answer {
  padding: 0 22px 20px;
  color: var(--oe-faq-answer-color);
  background: transparent;
}

.oe-faq-accordion .oe-faq-answer > :first-child {
  margin-top: 0;
}

.oe-faq-accordion .oe-faq-answer > :last-child {
  margin-bottom: 0;
}

@media (max-width: 781px) {
  body .entry-content.is-layout-constrained > .oe-faq-accordion:not(.oe-section-dark):not(.oe-cta-section):not(.oe-hero-cover) {
    padding: 24px 16px 6px !important;
  }

  .oe-faq-accordion .oe-faq-question {
    padding: 16px 50px 16px 16px;
    font-size: 1.02rem;
  }

  .oe-faq-accordion .oe-faq-question::after {
    right: 14px;
  }

  .oe-faq-accordion .oe-faq-answer {
    padding: 0 16px 16px;
  }
}
/* OE FAQ ACCORDION END */

/* ============================================================
   OE KNOWLEDGE HUB / BLOG
   Portfolio-inspired styling for posts index, archives and single posts.
   ============================================================ */
body:is(.blog, .archive, .single-post) {
  background: #202537;
  color: #b1b8c4;
}

body:is(.blog, .archive, .single-post) .wp-site-blocks > main {
  margin-top: var(--oe-header-content-gap) !important;
}

body:is(.blog, .archive, .single-post) .wp-site-blocks > main > .wp-block-group {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:is(.blog, .archive, .single-post) .wp-site-blocks > .wp-block-template-part,
body:is(.blog, .archive, .single-post) .wp-site-blocks > .wp-block-group.alignfull {
  background: #202537;
}

body:is(.blog, .archive, .single-post) :where(.wp-block-query-title, .wp-block-post-title, h1, h2, h3) {
  color: #ffffff;
}

body:is(.blog, .archive) .wp-block-query-title,
body:is(.blog, .archive) .wp-block-post-title {
  max-width: 1160px;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:is(.blog, .archive) .wp-block-query-title {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  font-weight: 300;
  line-height: 1.04;
  margin-top: clamp(2rem, 5vw, 4rem) !important;
  margin-bottom: 1.2rem !important;
}

body:is(.blog, .archive) .wp-block-post-template,
body:is(.blog, .archive) .oe-blog-catalog__grid,
body.single-post .oe-related-posts .oe-blog-catalog__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
  max-width: 1160px;
  margin: 0 auto !important;
  padding: 0 0 3rem !important;
  list-style: none;
  align-items: stretch;
}

body:is(.blog, .archive) .oe-blog-catalog__grid > li,
body.single-post .oe-related-posts .oe-blog-catalog__grid > li {
  height: 100%;
  display: flex;
}

body:is(.blog, .archive) .wp-block-post-template > li {
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

body:is(.blog, .archive) .oe-blog-card,
body.single-post .oe-related-posts .oe-blog-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  box-shadow: none;
  overflow: hidden;
  transition: background .2s, border-color .2s, box-shadow .2s;
}

body:is(.blog, .archive) .oe-blog-card,
body.single-post .oe-related-posts .oe-blog-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

body:is(.blog, .archive) .oe-blog-card:hover,
body.single-post .oe-related-posts .oe-blog-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(111,169,46,.45);
  box-shadow: 0 6px 24px rgba(0,0,0,.3);
}

body:is(.blog, .archive) .oe-blog-card .wp-block-post-featured-image,
body.single-post .oe-related-posts .oe-blog-card .wp-block-post-featured-image {
  margin: 0 !important;
}

body:is(.blog, .archive) .oe-blog-card .wp-block-post-featured-image img,
body.single-post .oe-related-posts .oe-blog-card .wp-block-post-featured-image img {
  aspect-ratio: 16 / 9;
  width: 100%;
  object-fit: cover;
  display: block;
}

body:is(.blog, .archive) .oe-blog-card > :not(.wp-block-post-featured-image),
body.single-post .oe-related-posts .oe-blog-card > :not(.wp-block-post-featured-image) {
  padding-left: 1.4rem;
  padding-right: 1.4rem;
}

body:is(.blog, .archive) .oe-blog-card > :last-child,
body.single-post .oe-related-posts .oe-blog-card > :last-child {
  padding-bottom: 1.4rem;
}

body:is(.blog, .archive) .wp-block-post-date,
body:is(.blog, .archive) .wp-block-post-author,
body:is(.blog, .archive) .wp-block-post-terms {
  color: #8a97aa;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-top: 1rem !important;
  margin-bottom: 0.65rem !important;
}

body:is(.blog, .archive) .wp-block-post-terms,
body.single-post .wp-block-post-terms {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

body:is(.blog, .archive) .wp-block-post-terms a,
body.single-post .wp-block-post-terms a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: .25rem .65rem;
  border-radius: 999px;
  border: 0;
  background: rgba(111,169,46,.18);
  color: #6fa92e;
  font-size: .63rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

body:is(.blog, .archive) .wp-block-post-terms a:hover,
body:is(.blog, .archive) .wp-block-post-terms a:focus-visible,
body.single-post .wp-block-post-terms a:hover,
body.single-post .wp-block-post-terms a:focus-visible {
  background: rgba(111, 169, 46, 0.24);
  border-color: #6fa92e;
  color: #ffffff;
}

body:is(.blog, .archive) .wp-block-post-title,
body.single-post .oe-related-posts .wp-block-post-title {
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 0 !important;
  margin-bottom: .55rem !important;
}

body:is(.blog, .archive) .oe-blog-card .wp-block-post-title.has-large-font-size,
body.single-post .oe-related-posts .oe-blog-card .wp-block-post-title.has-large-font-size {
  font-size: .9rem !important;
  line-height: 1.4 !important;
}

body:is(.blog, .archive) .wp-block-post-title a,
body.single-post .oe-related-posts .wp-block-post-title a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body:is(.blog, .archive) .wp-block-post-title a,
body.single-post .oe-related-posts .wp-block-post-title a {
  color: #ffffff;
  text-decoration: none;
}

body:is(.blog, .archive) .wp-block-post-title a:hover,
body:is(.blog, .archive) .wp-block-post-title a:focus-visible,
body.single-post .oe-related-posts .wp-block-post-title a:hover,
body.single-post .oe-related-posts .wp-block-post-title a:focus-visible {
  color: #dfe8d0;
}

body:is(.blog, .archive) .wp-block-post-excerpt,
body:is(.blog, .archive) .wp-block-post-excerpt p,
body.single-post .oe-related-posts .wp-block-post-excerpt,
body.single-post .oe-related-posts .wp-block-post-excerpt p {
  color: #8a97aa;
  font-size: .8rem;
  line-height: 1.65;
}

body:is(.blog, .archive) .wp-block-post-excerpt,
body.single-post .oe-related-posts .wp-block-post-excerpt {
  margin-bottom: 0 !important;
  flex: 1;
}

body:is(.blog, .archive) .wp-block-post-excerpt p,
body.single-post .oe-related-posts .wp-block-post-excerpt p {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body:is(.blog, .archive) .wp-block-post-excerpt__more-link,
body.single-post .oe-related-posts .wp-block-post-excerpt__more-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: .7rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(255,255,255,.06);
  color: #6fa92e;
  background: none;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1;
  text-decoration: none;
  transition: color .18s ease;
}

body:is(.blog, .archive) .wp-block-post-excerpt__more-link::after,
body.single-post .oe-related-posts .wp-block-post-excerpt__more-link::after {
  content: '→';
  color: rgba(255,255,255,.18);
  font-size: .85rem;
}

body:is(.blog, .archive) .wp-block-post-excerpt__more-link:hover,
body:is(.blog, .archive) .wp-block-post-excerpt__more-link:focus-visible,
body.single-post .oe-related-posts .wp-block-post-excerpt__more-link:hover,
body.single-post .oe-related-posts .wp-block-post-excerpt__more-link:focus-visible {
  color: #8ac43f;
}

body:is(.blog, .archive) .wp-block-read-more {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin-top: 0.9rem !important;
  padding: 0.72rem 1.05rem;
  border: 1px solid rgba(111, 169, 46, 0.45);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(111, 169, 46, 0.14);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

body:is(.blog, .archive) .wp-block-read-more:hover,
body:is(.blog, .archive) .wp-block-read-more:focus-visible {
  background: rgba(111, 169, 46, 0.26);
  border-color: #6fa92e;
  transform: translateY(-1px);
}

body:is(.blog, .archive) .wp-block-query-pagination,
body:is(.blog, .archive) .wp-block-query-no-results {
  max-width: 1160px;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #b1b8c4;
}

body:is(.blog, .archive) .wp-block-query-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .45rem;
  padding-bottom: 3rem;
}

body:is(.blog, .archive) .wp-block-query-pagination :where(a, span, .page-numbers) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 30px;
  padding: .35rem .85rem;
  border: 1.5px solid rgba(177,184,196,.25);
  background: rgba(255,255,255,.05);
  color: #b1b8c4;
  font-size: .72rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .01em;
  text-decoration: none;
  border-radius: 16px;
  transition: all .18s;
}

body:is(.blog, .archive) .wp-block-query-pagination a:hover,
body:is(.blog, .archive) .wp-block-query-pagination a:focus-visible {
  border-color: #6fa92e;
  color: #fff;
  background: rgba(111,169,46,.12);
  box-shadow: 0 2px 8px rgba(111,169,46,.25);
}

body:is(.blog, .archive) .wp-block-query-pagination .current,
body:is(.blog, .archive) .wp-block-query-pagination .page-numbers.current {
  background: #6fa92e;
  color: #fff;
  border-color: #6fa92e;
}

body:is(.blog, .archive) .wp-block-query-pagination .dots {
  min-width: 28px;
  padding-left: .45rem;
  padding-right: .45rem;
}

body.single-post .wp-block-post-content,
body.single-post .wp-block-post-title,
body.single-post .wp-block-post-featured-image,
body.single-post .wp-block-post-date,
body.single-post .wp-block-post-terms,
body.single-post .wp-block-post-author,
body.single-post .wp-block-post-navigation-link,
body.single-post .wp-block-comments {
  max-width: 900px;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-post .wp-block-post-title {
  font-size: clamp(2.3rem, 4vw, 4.4rem);
  font-weight: 300;
  line-height: 1.04;
  margin-top: clamp(2rem, 5vw, 4rem) !important;
  margin-bottom: 1rem !important;
}

body.single-post .wp-block-post-date,
body.single-post .wp-block-post-terms,
body.single-post .wp-block-post-author {
  color: #8a97aa;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.single-post .wp-block-post-featured-image img {
  border-radius: 18px;
  width: 100%;
  display: block;
}

body.single-post .wp-block-post-content {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  box-shadow: 0 16px 36px rgba(8, 14, 27, 0.18);
  padding: clamp(1.25rem, 3vw, 2.5rem);
  margin-top: 1.5rem !important;
  margin-bottom: 2.5rem !important;
}

body.single-post .wp-block-post-content :where(p, li, blockquote) {
  color: #b1b8c4;
  line-height: 1.8;
}

body.single-post .wp-block-post-content :where(h2, h3, h4) {
  color: #ffffff;
  margin-top: 1.9rem;
  margin-bottom: 0.8rem;
}

body.single-post .wp-block-post-content a {
  color: #dfe8d0;
  text-decoration: underline;
  text-decoration-color: rgba(111,169,46,.55);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color .18s ease, text-decoration-color .18s ease;
}

body.single-post .wp-block-post-content a:hover {
  color: #ffffff;
  text-decoration-color: #6fa92e;
}

body.single-post .oe-post-nav,
body.single-post .oe-related-posts {
  max-width: 1160px;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-post .oe-post-nav__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

body.single-post .oe-post-nav__card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  min-height: 100%;
  transition: background .2s, border-color .2s, box-shadow .2s, transform .18s ease;
}

body.single-post .oe-post-nav__card:hover,
body.single-post .oe-post-nav__card:focus-within {
  background: rgba(255,255,255,.07);
  border-color: rgba(111,169,46,.4);
  box-shadow: 0 6px 24px rgba(0,0,0,.3);
  transform: translateY(-2px);
}

body.single-post .wp-block-post-navigation-link {
  max-width: none;
  margin: 0 !important;
}

body.single-post .wp-block-post-navigation-link a {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  min-height: 100%;
  padding: 1.35rem 1.4rem;
  color: #ffffff;
  text-decoration: none;
}

body.single-post .wp-block-post-navigation-link__label {
  font-size: .63rem;
  font-weight: 600;
  padding: .25rem .65rem;
  border-radius: 20px;
  background: rgba(111,169,46,.18);
  color: #6fa92e;
  white-space: nowrap;
  width: fit-content;
  text-transform: uppercase;
  letter-spacing: .04em;
}

body.single-post .wp-block-post-navigation-link__title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  color: #ffffff;
}

body.single-post .wp-block-post-navigation-link__arrow-previous,
body.single-post .wp-block-post-navigation-link__arrow-next {
  color: rgba(255,255,255,.18);
}

body.single-post .oe-related-posts > .wp-block-heading {
  color: #ffffff;
  margin-bottom: 1.35rem !important;
}

body.single-post .oe-related-posts .wp-block-query {
  max-width: 1160px;
  margin: 0 auto !important;
}

body.single-post .oe-related-posts .oe-blog-catalog__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: stretch;
}

body.single-post .oe-related-posts .oe-blog-catalog__grid > li {
  height: 100%;
}

body.single-post .oe-related-posts .oe-blog-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

@media (max-width: 782px) {
  body:is(.blog, .archive) .wp-block-post-template {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  body:is(.blog, .archive) .wp-block-query-title,
  body.single-post .wp-block-post-title {
    margin-top: 1.5rem !important;
  }

  body.single-post .wp-block-post-content {
    border-radius: 16px;
    padding: 1.15rem;
  }

  body.single-post .oe-post-nav__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   OE PORTFOLIO BLOCK (.oe-pf)
   Używane na stronie /portfolio/ — blok Custom HTML
   ============================================================ */
.oe-pf {
  font-family: "proxima-nova", "Avenir Next", "Segoe UI", sans-serif;
  background: #202537;
  color: #b1b8c4;
  padding: 3rem 2rem;
  border-radius: 0;
}

/* Portfolio first block: keep neutral start; outer main gap controls spacing. */
body .entry-content.is-layout-constrained > .oe-pf:first-child {
  margin-top: 0 !important;
  padding-top: 0;
}

/* Strona z blokiem .oe-pf — ciemne tło, brak białego pola wokół bloku */
body:has(.oe-pf) {
  background-color: #202537;
}
body:has(.oe-pf) .wp-site-blocks > .wp-block-group.alignfull {
  background-color: #202537;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.oe-pf * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body.blog:not(.page-portfolio):not(:has(.oe-pf)) .wp-site-blocks > main {
  margin-top: clamp(52px, 6vw, 88px) !important;
}

body.blog:not(.page-portfolio):not(:has(.oe-pf)) .wp-block-query-title {
  margin-top: clamp(2.8rem, 7vw, 5.2rem) !important;
}

/* Intro */
.oe-intro {
  margin-bottom: 2.5rem;
}
.oe-intro-h {
  font-size: 1.7rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: .65rem;
  line-height: 1.2;
}
.oe-intro-p {
  font-size: .95rem;
  color: #8a97aa;
  line-height: 1.75;
}
.oe-intro-grid {
  margin-top: 1.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* KPI strip */
.oe-kpis {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}
.oe-kpi {
  flex: 1;
  min-width: 130px;
  background: rgba(255,255,255,.05);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  border-left: 3px solid #6fa92e;
}
.oe-kpi-n {
  font-size: 1.75rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
}
.oe-kpi-l {
  font-size: .72rem;
  color: #8a97aa;
  margin-top: .3rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Filtry */
.oe-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-bottom: 2.5rem;
}
.oe-btn {
  border: 1.5px solid rgba(177,184,196,.25);
  background: rgba(255,255,255,.05);
  color: #b1b8c4;
  font-size: .78rem;
  font-weight: 500;
  padding: .45rem 1.1rem;
  border-radius: 20px;
  cursor: pointer;
  transition: all .18s;
  line-height: 1;
  letter-spacing: .01em;
}
.oe-btn:hover {
  border-color: #6fa92e;
  color: #fff;
  background: rgba(111,169,46,.12);
  box-shadow: 0 2px 8px rgba(111,169,46,.25);
}
.oe-btn.oe-active {
  background: #6fa92e;
  color: #fff;
  border-color: #6fa92e;
}

/* Sekcja */
.oe-section {
  margin-bottom: 3rem;
}
.oe-sec-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.25rem;
}
.oe-ico {
  display: none;
}
.oe-sec-head h2 {
  font-size: .82rem;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: .09em;
  border-left: 3px solid #6fa92e;
  padding-left: .7rem;
}
.oe-sec-head h2 small {
  display: block;
  font-size: .72rem;
  font-weight: 400;
  color: #6fa92e;
  text-transform: none;
  letter-spacing: 0;
  margin-top: 3px;
}
.oe-line {
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,.07);
}

/* Grid kart */
.oe-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}
.oe-grid.oe-intro-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.oe-intro-grid .oe-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid #6fa92e;
  border-radius: 10px;
  cursor: default;
}
.oe-intro-grid .oe-card:hover {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.08);
  border-left-color: #6fa92e;
  box-shadow: none;
}
.oe-intro-grid .oe-card h3 {
  font-size: .72rem;
  font-weight: 700;
  color: #b1b8c4;
  text-transform: uppercase;
  letter-spacing: .05em;
  line-height: 1.35;
}
.oe-intro-grid .oe-card p {
  font-size: .85rem;
  color: #8a97aa;
  line-height: 1.7;
}

/* Karta */
.oe-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  transition: background .2s, border-color .2s, box-shadow .2s;
  text-decoration: none;
  color: inherit;
}
.oe-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(111,169,46,.45);
  box-shadow: 0 6px 24px rgba(0,0,0,.3);
}
.oe-card.oe-feat {
  border-color: rgba(111,169,46,.3);
  border-width: 1.5px;
}
.oe-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 0;
}
.oe-badge {
  font-size: .63rem;
  font-weight: 600;
  padding: .25rem .65rem;
  border-radius: 20px;
  background: rgba(111,169,46,.18);
  color: #6fa92e;
  white-space: nowrap;
}
.oe-badge.oe-cs {
  background: #6fa92e;
  color: #fff;
}
.oe-card h3 {
  font-size: .9rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.4;
}
.oe-card p {
  font-size: .8rem;
  color: #8a97aa;
  line-height: 1.65;
  flex: 1;
}
.oe-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
}
.oe-tag {
  font-size: .67rem;
  padding: .2rem .55rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  color: #6e7d8f;
}
.oe-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: .65rem;
  margin-top: auto;
}
.oe-result {
  font-size: .72rem;
  font-weight: 600;
  color: #6fa92e;
}
.oe-arrow {
  font-size: .85rem;
  color: rgba(255,255,255,.18);
}

/* Kolory ikon — nieużywane, zachowane dla kompatybilności */
.oe-re, .oe-agr, .oe-erd, .oe-ai, .oe-st, .oe-bi, .oe-dd { display: none; }

/* Filtrowanie — ukryte elementy */
.oe-section.oe-hidden { display: none; }
.oe-card.oe-hidden    { display: none; }

/* FAQ wewnątrz .oe-pf — jasna sekcja z pełną szerokością */
.oe-pf-faq {
  margin-top: 3rem;
  margin-left: -2rem;
  margin-right: -2rem;
  margin-bottom: 0;
  padding: 3rem 2rem 4rem;
  position: relative;
}
.oe-pf-faq::before {
  content: '';
  position: absolute;
  inset: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #dfe5ee;
  z-index: 0;
}
.oe-pf-faq > * {
  position: relative;
  z-index: 1;
}
.oe-pf-faq > h2 {
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  font-weight: 700;
  color: #0d1b2a;
  margin-bottom: 1.5rem;
}
.oe-pf-faq .oe-faq-q {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 1rem 0;
  font-size: .9rem;
  font-weight: 600;
  color: #0d1b2a;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  transition: color .15s;
}
.oe-pf-faq .oe-faq-q::after {
  content: "+";
  font-size: 1.15rem;
  color: #6fa92e;
  flex-shrink: 0;
  transition: transform .2s;
}
.oe-pf-faq .oe-faq-q[aria-expanded="true"] {
  color: #202537;
}
.oe-pf-faq .oe-faq-q[aria-expanded="true"]::after {
  content: "−";
}
.oe-pf-faq .oe-faq-a {
  display: none;
  padding: 0 0 1.1rem;
}
.oe-pf-faq .oe-faq-a p {
  font-size: .85rem;
  color: #4a6070;
  line-height: 1.75;
}
.oe-pf-faq .oe-faq-a.oe-open {
  display: block;
}

/* CTA wewnątrz .oe-pf — ciemny, spójny z resztą strony */
.oe-pf-cta {
  --oe-cta-bg: #202537;
  --oe-cta-text: #ffffff;
  margin: 0 -2rem -3rem;
  padding: 3rem 2rem 4rem;
  text-align: center;
  background: #202537;
  border-top: 1px solid rgba(255,255,255,.1);
}
.oe-pf-cta .oe-cta-pre {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #6fa92e;
  margin-bottom: .75rem;
}
.oe-pf-cta .oe-cta-h {
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.3;
  margin-bottom: .9rem;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.oe-pf-cta .oe-cta-sub {
  font-size: .9rem;
  color: #b1b8c4;
  line-height: 1.75;
  max-width: 560px;
  margin: 0 auto 1.75rem;
}

/* Portfolio main CTA is dark-section, so keep the button green. */
.oe-pf-cta .wp-block-button__link {
  background-color: var(--oe-btn-dark-bg);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.03) 100%);
  color: #ffffff;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 8px 20px rgba(111, 169, 46, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  text-transform: uppercase;
  font-weight: 700;
  font-size: clamp(0.78rem, 0.95vw, 0.88rem);
  padding: 0.52em 1.28em;
  text-decoration: none;
}

body .oe-cta-section.oe-pf-cta a.wp-block-button__link {
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 700;
}

.oe-pf-cta .wp-block-button__link:hover {
  filter: brightness(0.95);
  box-shadow: 0 10px 22px rgba(111, 169, 46, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.oe-pf-cta .wp-block-button__link:focus-visible {
  box-shadow: 0 11px 24px rgba(111, 169, 46, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

@media (max-width: 640px) {
  .oe-pf        { padding: 2rem 1.25rem; }
  .oe-kpi-n     { font-size: 1.4rem; }
  .oe-grid      { grid-template-columns: 1fr; }
  .oe-intro-grid { grid-template-columns: 1fr; }
  .oe-kpis      { gap: .6rem; }
  .oe-pf-faq    { margin-left: -1.25rem; margin-right: -1.25rem; padding: 2rem 1.25rem; }
  .oe-pf-cta    { margin-left: -1.25rem; margin-right: -1.25rem; padding: 1.75rem 1.25rem; }
  .oe-pf-cta .oe-cta-h { font-size: 1.1rem; }
}

@media (max-width: 820px) {
  .oe-grid.oe-intro-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   OE FOOTER FACELIFT
   ============================================================ */

.oe-footer__inner {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: clamp(1.4rem, 2.2vw, 2.4rem);
}

.oe-footer__top {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: clamp(1.2rem, 2.4vw, 2.4rem);
  align-items: flex-start;
}

.oe-footer__brand {
  max-width: 30rem;
  gap: 0.55rem;
}

.oe-footer__brand .wp-block-site-logo {
  margin-bottom: 0.35rem;
}

.oe-footer__brand .wp-block-site-title {
  margin: 0;
  line-height: 1.15;
  font-size: clamp(1.18rem, 1.8vw, 1.45rem);
}

.oe-footer__brand .wp-block-site-tagline {
  margin-top: 0.2rem;
  margin-bottom: 0;
  max-width: 40ch;
  opacity: 0.92;
}

.oe-footer__columns {
  margin: 0 !important;
  width: min(760px, 100%);
  justify-self: end;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: clamp(0.9rem, 1.8vw, 1.8rem);
}

.oe-footer__columns .wp-block-column {
  min-width: 170px;
}

.oe-footer__columns .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.74rem;
  font-weight: 700;
  opacity: 0.9;
}

.oe-footer .wp-block-navigation {
  margin: 0;
}

.oe-footer .wp-block-navigation .wp-block-navigation-item {
  margin: 0 !important;
}

.oe-footer .wp-block-navigation .wp-block-navigation-item__content {
  padding: 0.2rem 0;
}

.oe-footer__columns p {
  margin-top: 0.16rem;
  margin-bottom: 0.36rem;
}

.oe-footer__meta {
  margin-top: clamp(1rem, 1.9vw, 1.8rem);
  padding-top: clamp(0.75rem, 1.3vw, 1.2rem);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  gap: 0.6rem;
}

.oe-footer__meta p {
  margin: 0;
  opacity: 0.88;
}

@media (max-width: 980px) {
  .oe-footer__top {
    grid-template-columns: 1fr;
  }

  .oe-footer__brand {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .oe-footer__brand .wp-block-site-logo,
  .oe-footer__brand .wp-block-image,
  .oe-footer__brand .wp-block-site-tagline {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .oe-footer__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-self: stretch;
    width: 100%;
  }

  .oe-footer__columns .wp-block-column {
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .oe-footer__inner {
    padding-top: 1.1rem;
  }

  .oe-footer__brand {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .oe-footer__brand .wp-block-site-logo,
  .oe-footer__brand .wp-block-image {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .oe-footer__brand .wp-block-site-tagline {
    margin-left: auto;
    margin-right: auto;
  }

  .oe-footer__columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .oe-footer__columns .wp-block-column {
    min-width: 0;
  }
}

/* ============================================================
   ACTIVE FOOTER (DB TEMPLATE PART) FACELIFT
   Styles the footer currently rendered from Site Editor/template-part.
   ============================================================ */

body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide {
  padding-top: clamp(1.2rem, 2.2vw, 2.2rem);
}

body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type {
  display: grid !important;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: clamp(1rem, 2.1vw, 2.2rem);
  align-items: flex-start;
}

/* Keep textual footer columns visually aligned (Services/Tools/Contact). */
body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type > .wp-block-group:last-child {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: clamp(1rem, 1.8vw, 1.9rem);
  align-items: start;
  justify-self: end;
  width: min(760px, 100%);
}

body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type > .wp-block-group:first-child {
  max-width: 300px;
}

body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type > .wp-block-group:last-child > .wp-block-group {
  min-width: 0;
  text-align: left;
}

body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type > .wp-block-group:last-child > .wp-block-group > .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.7rem;
}

body .wp-site-blocks > main + .wp-block-template-part .wp-block-site-tagline {
  max-width: 40ch;
  margin-top: 0.25rem;
  opacity: 0.92;
}

body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Stories"],
body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Featured"],
body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Social"] {
  margin: 0;
}

body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Stories"] .wp-block-navigation-item,
body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Featured"] .wp-block-navigation-item,
body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Social"] .wp-block-navigation-item {
  margin: 0 !important;
}

body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Stories"] .wp-block-navigation-item__content,
body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Featured"] .wp-block-navigation-item__content,
body .wp-site-blocks > main + .wp-block-template-part nav[aria-label="Social"] .wp-block-navigation-item__content {
  padding: 0.2rem 0;
}

body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:last-of-type {
  margin-top: clamp(0.9rem, 1.8vw, 1.7rem);
  padding-top: clamp(0.7rem, 1.2vw, 1.15rem);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  gap: 0.6rem;
}

body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:last-of-type p {
  margin: 0;
  opacity: 0.88;
}

@media (max-width: 980px) {
  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type {
    grid-template-columns: 1fr;
    gap: 0.95rem;
  }

  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type > .wp-block-group:first-child {
    max-width: none;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group .wp-block-site-tagline,
  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group .wp-block-image {
    margin-left: auto;
    margin-right: auto;
  }

  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type > .wp-block-group:last-child {
    justify-self: stretch;
    width: 100%;
    grid-template-columns: repeat(2, minmax(170px, 1fr));
  }
}

@media (max-width: 560px) {
  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type > .wp-block-group:first-child {
    max-width: none;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group .wp-block-site-tagline,
  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group .wp-block-image {
    margin-left: auto;
    margin-right: auto;
  }

  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:first-of-type > .wp-block-group:last-child {
    grid-template-columns: 1fr;
  }

  body .wp-site-blocks > main + .wp-block-template-part > .wp-block-group > .alignwide > .alignfull:last-of-type {
    justify-content: center;
    text-align: center;
  }
}
/* ============================================================ */

/* ============================================================
   CONTACT PAGE V2 (PL)
   ============================================================ */

.oe-contact-v2 {
  padding-top: clamp(30px, 4vw, 56px) !important;
  padding-bottom: clamp(32px, 4vw, 64px) !important;
}

.oe-contact-v2 > .wp-block-group {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

.oe-contact-v2__intro {
  text-align: center;
  max-width: 860px;
  margin: 0 auto clamp(24px, 3vw, 42px);
}

.oe-contact-v2__intro h1,
.oe-contact-v2__intro h2 {
  margin: 0 0 14px;
  color: #ffffff;
  line-height: 1.2;
}

.oe-contact-v2__intro h1 {
  font-size: clamp(1.8rem, 2.9vw, 2.4rem);
}

.oe-contact-v2__intro p {
  margin: 0;
  color: #d4d8e0;
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  line-height: 1.6;
}

.oe-contact-v2__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  column-gap: clamp(16px, 2.1vw, 28px);
  row-gap: clamp(16px, 2.1vw, 28px);
  margin-bottom: clamp(30px, 3.4vw, 48px);
}

@media (max-width: 1180px) {
  .oe-contact-v2__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.oe-contact-v2__card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid #6fa92e;
  border-radius: 10px;
  padding: clamp(18px, 2.2vw, 28px);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: clamp(220px, 16vw, 280px);
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.18s ease;
}

@media (max-width: 1520px) {
  .oe-contact-v2__card {
    min-height: 190px;
  }
}

@media (max-width: 760px) {
  .oe-contact-v2__card {
    min-height: 0;
  }
}

.oe-contact-v2__card:hover {
  transform: none;
  background: rgba(255,255,255,.05);
  border-color: rgba(255, 255, 255, 0.08);
  border-left-color: #6fa92e;
  box-shadow: none;
}

.oe-contact-v2__card h3 {
  font-family: "futura-pt", "Avenir Next", "Segoe UI", sans-serif;
  color: #b1b8c4;
  margin: 0;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.oe-contact-v2__card p {
  font-family: "proxima-nova", "Avenir Next", "Segoe UI", sans-serif;
  margin: 0;
  color: #8a97aa;
  font-size: 0.85rem;
  line-height: 1.7;
}

.oe-contact-v2__tag {
  display: inline-block;
  margin-bottom: 0 !important;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #6e7d8f !important;
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0;
}

.oe-contact-v2__cta {
  text-align: center;
  margin-top: 0;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: clamp(22px, 3.2vw, 40px);
}

.oe-contact-v2__kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  color: #b1b8c4;
}

.oe-contact-v2__cta h3 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  line-height: 1.2;
}

.oe-contact-v2__cta p {
  margin: 0 0 14px;
  color: #d4d8e0;
}

.oe-contact-v2__cta .wp-block-button__link {
  min-width: 250px;
  border-radius: 10px;
  font-weight: 700;
}

@media (max-width: 760px) {
  .oe-contact-v2__grid {
    grid-template-columns: 1fr;
  }
}

/* CANONICAL HEADER + TOP SPACING FOR ALL PAGES */
body .wp-site-blocks > header.wp-block-template-part,
body .wp-site-blocks > .wp-block-template-part > header {
  min-height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .wp-site-blocks > header .wp-block-group,
body .wp-site-blocks > .wp-block-template-part > header .wp-block-group,
body .wp-site-blocks > header .has-global-padding,
body .wp-site-blocks > .wp-block-template-part > header .has-global-padding {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body .wp-site-blocks > header .wp-block-group.alignwide,
body .wp-site-blocks > .wp-block-template-part > header .wp-block-group.alignwide {
  min-height: 68px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

body .wp-site-blocks > header .wp-block-site-logo,
body .wp-site-blocks > .wp-block-template-part > header .wp-block-site-logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

body .wp-site-blocks > header .wp-block-image,
body .wp-site-blocks > .wp-block-template-part > header .wp-block-image {
  margin: 0 !important;
  flex: 0 0 auto;
}

body .wp-site-blocks > header .wp-block-image img,
body .wp-site-blocks > .wp-block-template-part > header .wp-block-image img,
body .wp-site-blocks > header .wp-block-site-logo img,
body .wp-site-blocks > .wp-block-template-part > header .wp-block-site-logo img {
  display: block;
  max-height: 64px;
  width: auto;
  height: auto;
}

body .wp-site-blocks > main {
  margin-top: 0 !important;
}

body .wp-site-blocks > main > .wp-block-group.alignfull {
  padding-top: 0 !important;
}

body .wp-site-blocks > main .wp-block-post-title {
  margin-top: 0 !important;
}

/* cache-bust: global header/menu updates, 2026-05-27 */

/* CASE STUDIES STYLE SYSTEM (portfolio palette) */
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) {
  --oe-cs-bg: #202537;
  --oe-cs-surface: #252d44;
  --oe-cs-border: rgba(177, 184, 196, 0.22);
  --oe-cs-text: #b1b8c4;
  --oe-cs-heading: #ffffff;
  --oe-cs-accent: var(--oe-btn-light-bg);
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .entry-content.is-layout-constrained > .oe-hero-cover.oe-case-study {
  min-height: 420px !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .entry-content.is-layout-constrained > .oe-hero-cover.oe-case-study .wp-block-cover__inner-container > .wp-block-group,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .entry-content.is-layout-constrained > .oe-case-study.has-global-padding > :where(.wp-block-group, .wp-block-columns, .wp-block-heading, .wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table, .wp-block-buttons, .oe-cs-stats-grid) {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .entry-content.is-layout-constrained > .oe-case-study.has-global-padding {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study p,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study li,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study cite {
  color: var(--oe-cs-text);
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study h1,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study h2,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study h3,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study h4,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study th {
  color: var(--oe-cs-heading);
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-tag {
  color: var(--oe-cs-accent);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 22px !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-hero-cover.oe-case-study h1 {
  max-width: 760px !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  line-height: 1.14 !important;
  margin-bottom: 20px !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-hero-cover.oe-case-study h1.has-text-color {
  color: #eef2f8 !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-lead {
  max-width: 680px !important;
  font-size: 18px;
  line-height: 1.7;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--oe-cs-border);
  border: 1px solid var(--oe-cs-border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 28px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stat-card {
  background: var(--oe-cs-surface);
  padding: 24px;
  min-height: 220px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stats-grid > .oe-cs-stat-card:first-child {
  border-radius: 12px 0 0 12px;
  position: relative;
  overflow: hidden;
  padding-left: 20px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stats-grid > .oe-cs-stat-card:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--oe-btn-light-bg);
  border-radius: 12px 0 0 12px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stat-value {
  margin: 0 0 8px;
  color: var(--oe-cs-heading);
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.1;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stat-label {
  margin: 0 0 10px;
  color: var(--oe-cs-accent) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stat-desc {
  margin: 0;
  line-height: 1.65;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-context-grid {
  align-items: stretch;
  gap: 18px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-context-grid > .wp-block-column {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--oe-cs-border);
  border-radius: 12px;
  background: rgba(37, 45, 68, 0.72);
  padding: 24px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-context-grid > .wp-block-column:first-child {
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  padding-left: 20px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-context-grid > .wp-block-column:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--oe-btn-light-bg);
  border-radius: 12px 0 0 12px;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-buttons,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-buttons.is-content-justification-center {
  justify-content: center !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-button__link {
  background-color: var(--oe-btn-light-bg) !important;
  border-color: rgba(0, 0, 0, 0.06) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 20px rgba(156, 69, 117, 0.3) !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: clamp(0.78rem, 0.95vw, 0.88rem) !important;
  padding: 0.52em 1.28em !important;
  text-decoration: none !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-button__link:hover,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-button__link:focus-visible {
  background-color: var(--oe-link-light-bg) !important;
  border-color: var(--oe-link-light-bg) !important;
  box-shadow: 0 10px 22px rgba(156, 69, 117, 0.34) !important;
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-table table {
  border-color: var(--oe-cs-border);
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-table table th,
:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-table table td {
  padding: 13px 14px;
  border-color: var(--oe-cs-border);
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-table table tbody tr:nth-child(odd) {
  background: rgba(37, 45, 68, 0.62);
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-table table tbody tr:nth-child(even) {
  background: rgba(37, 45, 68, 0.32);
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-quote {
  border-left: 0 !important;
  position: relative;
  padding-left: clamp(18px, 2vw, 24px);
}

:is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-case-study .wp-block-quote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 4px;
  background: var(--oe-btn-light-bg);
  border-radius: 999px;
}

@media (max-width: 1080px) {
  :is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  :is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .entry-content.is-layout-constrained > .oe-case-study.has-global-padding {
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  :is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-hero-cover.oe-case-study {
    min-height: 360px !important;
  }

  :is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stats-grid {
    grid-template-columns: 1fr;
  }

  :is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-stat-card,
  :is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-context-grid > .wp-block-column {
    min-height: 0;
    padding: 20px;
  }

  :is(body.page-id-30460, body.page-id-27320, body.page-id-30362) .oe-cs-lead {
    font-size: 16px;
  }
}
