.skip-to-content {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 100000;
  padding: 12px 24px;
  background: #000;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border-bottom-right-radius: 4px;
}
.skip-to-content:focus {
  top: 0;
  outline: 3px solid #4A90D9;
  outline-offset: 2px;
}

/* Canonical design-token aliases (brand palette is the single source of truth) */
:root {
  --oc-color-primary: var(--brand-primary);
  --oc-color-secondary: var(--brand-secondary);
  --oc-color-accent: var(--brand-accent);
  --oc-color-muted: var(--brand-neutral);
  --oc-color-accent-hover: var(--brand-accent);
  --primary: var(--brand-primary);
  --secondary: var(--brand-secondary);
  --highlight: var(--brand-highlight);
}
/* Static platform design constants */
:root {
  --transitionTime: 0.3s;
  --oc-dropdown-easing: cubic-bezier(0.4, 0, 0.2, 1);
  --oc-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  --oc-radius-lg: 12px;
}

:root {
  --brand-primary: #006310;
  --brand-secondary: #FFFFFF;
  --brand-accent: #75BE43;
  --brand-tertiary: #E4E4E7;
  --brand-neutral: #070707;
  --brand-highlight: #f8c2b9;
  --primary: #006310;
  --secondary: #FFFFFF;
}

body {
  --brand-primary: #006310;
  --brand-secondary: #FFFFFF;
  --brand-accent: #75BE43;
  --brand-tertiary: #E4E4E7;
  --brand-neutral: #070707;
  --brand-highlight: #f8c2b9;
  --primary: #006310;
  --secondary: #FFFFFF;
}

/* Brand color utility classes (explicit user intent; plain class specificity, no importance escalation) */
.bg-brand-primary { background-color: var(--brand-primary); }
.bg-brand-secondary { background-color: var(--brand-secondary); }
.bg-brand-accent { background-color: var(--brand-accent); }
.bg-brand-tertiary { background-color: var(--brand-tertiary); }
.bg-brand-neutral { background-color: var(--brand-neutral); }
.bg-brand-highlight { background-color: var(--brand-highlight); }

.text-brand-primary { color: var(--brand-primary); }
.text-brand-secondary { color: var(--brand-secondary); }
.text-brand-accent { color: var(--brand-accent); }
.text-brand-tertiary { color: var(--brand-tertiary); }
.text-brand-neutral { color: var(--brand-neutral); }
.text-brand-highlight { color: var(--brand-highlight); }

.border-brand-primary { border-color: var(--brand-primary); }
.border-brand-secondary { border-color: var(--brand-secondary); }
.border-brand-accent { border-color: var(--brand-accent); }

/* Component defaults at zero specificity: color standard/legacy headers, footers, and
   generic brand buttons that ship without their own styling. Any real rule (block CSS,
   instance CSS, a button-designer rule, panel edit) overrides these. */
:where(.btn-primary, button.primary) {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  color: white;
}

:where(.btn-secondary, button.secondary) {
  background-color: var(--brand-secondary);
  border-color: var(--brand-secondary);
  color: white;
}

:where(.navbar-default) {
  background-color: var(--brand-primary);
}

:where(.site-footer) {
  background-color: var(--brand-secondary);
}

/* Link defaults. Order matters within this zero-specificity layer: the header/nav white
   default must come after the generic brand link color to win the tie on legacy
   .site-header/.navbar-default markup. */
:where(a) {
  color: var(--brand-primary);
}

:where(a:hover) {
  color: var(--brand-accent);
}

:where(.site-header a, .navbar-default a) {
  color: white;
}

/* Section backgrounds with brand colors */
.section-primary { background-color: var(--brand-primary); color: white; }
.section-secondary { background-color: var(--brand-secondary); color: white; }
.section-accent { background-color: var(--brand-accent); }
.section-tertiary { background-color: var(--brand-tertiary); }
.section-neutral { background-color: var(--brand-neutral); }
.section-highlight { background-color: var(--brand-highlight); }


@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-100.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-200.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-100italic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-200italic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-300italic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-500italic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-600italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-700italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-800italic.woff2') format('woff2');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url('../fonts/Barlow-Condensed-900italic.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-100.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-200.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-100italic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-200italic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-300italic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-500italic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-600italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-700italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-800italic.woff2') format('woff2');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url('../fonts/Inter-900italic.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Lobster";
  src: url('../fonts/Lobster-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-primary: "Barlow Condensed", ui-sans-serif, system-ui, sans-serif;
  --font-secondary: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-accent: "Lobster", ui-sans-serif, system-ui, sans-serif;
}

/* Namespaced block-token feeding (fabrication contract [DA2 W7]) */
:root {
  --oc-nav-font-family: var(--font-primary);
  --oc-nav-primary-font-family: var(--font-primary);
  --oc-nav-secondary-font-family: var(--font-primary);
  --oc-nav-dropdown-font-family: var(--font-primary);
  --oc-nav-primary-dropdown-font-family: var(--font-primary);

  --oc-nav-font-size: var(--a-fs-base);
  --oc-nav-primary-font-size: var(--a-fs-base);
  --oc-nav-secondary-font-size: var(--a-fs-base);
  --oc-nav-dropdown-font-size: var(--a-fs-base);
  --oc-nav-primary-dropdown-font-size: var(--a-fs-base);

  --oc-footer-01-font: var(--font-secondary);
  --oc-footer-02-font: var(--font-secondary);
  --oc-footer-03-font: var(--font-secondary);
  --oc-footer-04-font: var(--font-secondary);
  --oc-footer-05-font: var(--font-secondary);
  --oc-footer-06-font: var(--font-secondary);
  --oc-footer-07-font: var(--font-secondary);
  --oc-footer-08-font: var(--font-secondary);

  --oc-footer-01-nav-font-size: var(--a-fs-base);
  --oc-footer-02-nav-font-size: var(--a-fs-base);
  --oc-footer-03-nav-font-size: var(--a-fs-base);
  --oc-footer-04-nav-font-size: var(--a-fs-base);
  --oc-footer-05-nav-font-size: var(--a-fs-base);
  --oc-footer-06-nav-font-size: var(--a-fs-base);
  --oc-footer-07-nav-font-size: var(--a-fs-base);
  --oc-footer-08-nav-font-size: var(--a-fs-base);
}

/* Brand font-family defaults (zero specificity; [data-font-family] opts out) */
:where(body:not([data-font-family])) {
  font-family: var(--font-secondary);
}

:where(h1:not([data-font-family]), h2:not([data-font-family]), h3:not([data-font-family]), h4:not([data-font-family]), h5:not([data-font-family]), h6:not([data-font-family]), .h1:not([data-font-family]), .h2:not([data-font-family]), .h3:not([data-font-family]), .h4:not([data-font-family]), .h5:not([data-font-family]), .h6:not([data-font-family])) {
  font-family: var(--font-primary);
}

/* Form controls don't inherit font by default */
:where(input:not([data-font-family]), textarea:not([data-font-family]), select:not([data-font-family]), button:not([data-font-family])) {
  font-family: var(--font-secondary);
}

/* Accent-slot vocabulary */
:where(.accent-font:not([data-font-family]), .accent:not([data-font-family]), .highlight:not([data-font-family]), .callout:not([data-font-family]), .cta-title:not([data-font-family]), .promo-title:not([data-font-family]), .banner-text:not([data-font-family]), .quote:not([data-font-family]), blockquote:not([data-font-family]), .testimonial:not([data-font-family]), .brand-text:not([data-font-family]), .logo-text:not([data-font-family])) {
  font-family: var(--font-accent);
}

/* Navigation font-family — consumes persisted --oc-nav-*-font-family vars.
   After the generic rules so it wins the zero-specificity tie. */
:where(nav[data-oc-nav="true"] a, nav[data-oc-nav="true"] .nav-link) {
  font-family: var(--oc-nav-font-family, var(--font-primary));
}
:where(nav[data-oc-nav="true"][data-navigation-tree*="primary" i] a, nav[data-oc-nav="true"][data-oc-nav-id*="primary" i] a) {
  font-family: var(--oc-nav-primary-font-family, var(--font-primary));
}
:where(nav[data-oc-nav="true"][data-navigation-tree*="secondary" i] a, nav[data-oc-nav="true"][data-oc-nav-id*="secondary" i] a) {
  font-family: var(--oc-nav-secondary-font-family, var(--font-primary));
}
:where(nav[data-oc-nav="true"] .dropdown-menu a, nav[data-oc-nav="true"] .mega-dropdown a) {
  font-family: var(--oc-nav-dropdown-font-family, var(--font-primary));
}

/* ================================ */
/* Typography Design System         */
/* ================================ */

:root {
  /* Font-size scale (CMS pixel values → vw/rem → responsive clamp()).      */
  /* Shared with the editor canvas via buildFontSizeScaleVars so preview     */
  /* and publish cannot drift.                                               */
  --body-fs-cms: 18;
  --h1-fs-cms: 60;
  --h2-fs-cms: 44;
  --h3-fs-cms: 36;
  --btn-fs-cms: 16;
  --a-fs-cms: 16;

  --body-fs-vw: calc((var(--body-fs-cms) / 10) * 1vw);
  --h1-fs-vw: calc((var(--h1-fs-cms) / 10) * 1vw);
  --h2-fs-vw: calc((var(--h2-fs-cms) / 10) * 1vw);
  --h3-fs-vw: calc((var(--h3-fs-cms) / 10) * 1vw);
  --btn-fs-vw: calc((var(--btn-fs-cms) / 10) * 1vw);
  --a-fs-vw: calc((var(--a-fs-cms) / 10) * 1vw);

  --body-fs-rem: calc((var(--body-fs-cms) / 16) * 1rem);
  --h1-fs-rem: calc((var(--h1-fs-cms) / 16) * 1rem);
  --h2-fs-rem: calc((var(--h2-fs-cms) / 16) * 1rem);
  --h3-fs-rem: calc((var(--h3-fs-cms) / 16) * 1rem);
  --btn-fs-rem: calc((var(--btn-fs-cms) / 16) * 1rem);
  --a-fs-rem: calc((var(--a-fs-cms) / 16) * 1rem);

  --body-fs-base: clamp(1rem, var(--body-fs-vw) + .5rem, var(--body-fs-rem));
  --h1-fs-base: clamp(2.25rem, var(--h1-fs-vw) + .5rem, var(--h1-fs-rem));
  --h2-fs-base: clamp(1.75rem, calc(var(--h2-fs-vw) + .5rem), var(--h2-fs-rem));
  --h3-fs-base: clamp(1.375rem, var(--h3-fs-vw) + .5rem, var(--h3-fs-rem));
  --btn-fs-base: clamp(0.75rem, var(--btn-fs-vw) + .25rem, var(--btn-fs-rem));
  --a-fs-base: clamp(0.75rem, var(--a-fs-vw) + .25rem, var(--a-fs-rem));

  /* Multi-phase transition durations */
  --initial-duration: 450ms;
  --final-duration: 300ms;
  --focus-duration: 0ms;
}

/* ================================ */
/* Base element styles (zero        */
/* specificity — any real rule wins)*/
/* ================================ */

* {
  box-sizing: border-box;
}

:where(body) {
  font-size: var(--body-fs-base);
  line-height: 1.5;
  margin: 0;
}

:where(button) {
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  box-sizing: border-box;
  border-radius: inherit;
}

:where(ul) {
  padding: .375em 2em;
  width: min(100%, 130ch);
  list-style-type: disc;
}

:where(ol) {
  padding: .375em 2em;
  width: min(100%, 130ch);
  list-style-type: decimal;
}

:where(li) {
  display: block;
  line-height: 1.2em;
  margin-block: 0;
  padding-block: .375em;
}

/* Content lists need list-item display — the generic :where(li) block rule above
   would otherwise suppress bullets/numbers even when list-style-type is set. */
:where(ul > li, ol > li) {
  display: list-item;
}

/* ================================ */
/* Base typography — global sizes   */
/* from the styles panel, at zero   */
/* specificity. [data-font-size]    */
/* opts an element out (fabrication */
/* contract).                       */
/* ================================ */

:where(p:not([data-font-size]), .oc-p:not([data-font-size])) {
  font-size: var(--body-fs-base);
  line-height: 1.5;
}

:where(h1:not([data-font-size]), .h1:not([data-font-size]), .oc-h1:not([data-font-size])) {
  font-size: var(--h1-fs-base);
  text-wrap: balance;
  line-height: 1.1;
}

:where(h2:not([data-font-size]), .h2:not([data-font-size]), .oc-h2:not([data-font-size])) {
  font-size: var(--h2-fs-base);
  text-wrap: balance;
  line-height: 1.2;
}

:where(h3:not([data-font-size]), .h3:not([data-font-size]), .oc-h3:not([data-font-size])) {
  font-size: var(--h3-fs-base);
  line-height: 1.2;
}

:where(h4, h5, h6) {
  font-size: calc(var(--body-fs-base) * 1.2);
}

:where(button:not([data-font-size]), .btn:not([data-font-size]), .button:not([data-font-size]), .oc-btn:not([data-font-size])) {
  font-size: var(--btn-fs-base);
}

:where(a:not([data-font-size]), .oc-a:not([data-font-size])) {
  font-size: var(--a-fs-base);
  text-underline-offset: .125rem;
  transition: all ease-out var(--initial-duration);
}

/* Navigation font-size — consumes persisted --oc-nav-*-font-size vars.
   After the generic link rule so it wins the zero-specificity tie. */
:where(nav[data-oc-nav="true"] a, nav[data-oc-nav="true"] .nav-link) {
  font-size: var(--oc-nav-font-size, var(--a-fs-base));
}
:where(nav[data-oc-nav="true"][data-navigation-tree*="primary" i] a, nav[data-oc-nav="true"][data-oc-nav-id*="primary" i] a) {
  font-size: var(--oc-nav-primary-font-size, var(--a-fs-base));
}
:where(nav[data-oc-nav="true"][data-navigation-tree*="secondary" i] a, nav[data-oc-nav="true"][data-oc-nav-id*="secondary" i] a) {
  font-size: var(--oc-nav-secondary-font-size, var(--a-fs-base));
}
:where(nav[data-oc-nav="true"] .dropdown-menu a, nav[data-oc-nav="true"] .mega-dropdown a) {
  font-size: var(--oc-nav-dropdown-font-size, var(--a-fs-base));
}

/* ================================ */
/* User feedback — hover / focus    */
/* ================================ */

:where(a:hover, .oc-a:hover) {
  transition-duration: var(--final-duration);
}

:where(a:focus-visible, .oc-a:focus-visible) {
  transition-duration: var(--focus-duration);
}

/* ================================ */
/* Reduced motion                   */
/* ================================ */

@media (prefers-reduced-motion: reduce) {
  :root {
    --initial-duration: 0ms;
    --final-duration: 0ms;
  }

  :where(a, .oc-a) {
    transition: none;
  }
}

:root {
  --oc-content-gutter: 6vw;
}

:root {
  --overlay-vertical: rgba(0,0,0,0.4);
  --overlay-vertical-top: rgba(0,0,0,0.1);
  --overlay-horizontal: rgba(0,0,0,0.3);
  --overlay-horizontal-start: transparent;
  --overlay-gradient: none;
}

:root {
  --oc-nav-gap-primary: 30px;
  --oc-nav-gap-secondary: 20px;
  --oc-nav-primary-font-weight: 500;
  --oc-nav-primary-color: var(--brand-primary);
  --oc-nav-primary-hover: var(--brand-secondary);
  --oc-nav-primary-link-padding-y: 8px;
  --oc-nav-primary-link-padding-x: 12px;
  --oc-nav-primary-dropdown-bg: #ffffff;
  --oc-nav-primary-dropdown-color: var(--brand-primary);
  --oc-nav-primary-dropdown-hover-bg: var(--brand-highlight);
  --oc-nav-secondary-font-weight: 500;
  --oc-nav-secondary-color: var(--brand-primary);
  --oc-nav-secondary-hover: var(--brand-secondary);
}

/* Brand button styles (shared canvas + export) */
/* Brand button: Button 1 */
[data-button-style="btn-1787600965591"].button, [data-button-style="btn-1787600965591"], a[data-button-style="btn-1787600965591"], .oc-btn-btn-1787600965591 {
  background-color: #75BE43;
  color: #FFFFFF;
  border-color: #006310;
  border-width: 3px;
  border-style: solid;
  border-radius: 50px;
  padding: 0.75rem 1.5rem;
  font-size: 23px;
  font-weight: bold;
  font-family: 'Inter', sans-serif;
  letter-spacing: 0px;
  line-height: 1.5;
  text-transform: none;
  box-shadow: none;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
}

[data-button-style="btn-1787600965591"].button:hover, [data-button-style="btn-1787600965591"]:hover, a[data-button-style="btn-1787600965591"]:hover, .oc-btn-btn-1787600965591:hover, [data-button-style="btn-1787600965591"].button:focus, [data-button-style="btn-1787600965591"]:focus, a[data-button-style="btn-1787600965591"]:focus, .oc-btn-btn-1787600965591:focus {
  background-color: #006310;
  color: #FFFFFF;
  border-color: #FFFFFF;
  border-width: 3px;
  border-radius: 50px;
  padding: 0.75rem 1.5rem;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #00631030;
}

/* Brand button: wefasfd */
[data-button-style="btn-1787601620771"].button, [data-button-style="btn-1787601620771"], a[data-button-style="btn-1787601620771"], .oc-btn-btn-1787601620771 {
  background-color: #006310;
  color: #FFFFFF;
  border-color: #FFFFFF;
  border-width: 2px;
  border-style: solid;
  border-radius: 50px;
  padding: 15px;
  font-size: 23px;
  font-weight: bold;
  font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: 5.2px;
  line-height: 1.5;
  text-transform: uppercase;
  box-shadow: none;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
}

[data-button-style="btn-1787601620771"].button:hover, [data-button-style="btn-1787601620771"]:hover, a[data-button-style="btn-1787601620771"]:hover, .oc-btn-btn-1787601620771:hover, [data-button-style="btn-1787601620771"].button:focus, [data-button-style="btn-1787601620771"]:focus, a[data-button-style="btn-1787601620771"]:focus, .oc-btn-btn-1787601620771:focus {
  background-color: #75BE43;
  color: #006310;
  border-color: #75BE43;
  border-width: 2px;
  border-radius: 50px;
  padding: 15px;
  transform: scale(1.05);
  box-shadow: 0 4px 12px #00631030;
}

/* ================================ */
/* Section Separator Styles         */
/* ================================ */

/* Sections that support separators must be positioned */
[data-section-separator="true"] { position: relative; }
/* Separators (inline SVG shapes and uploaded images) sit absolutely on their section edge */
[data-oc-context="separator"] { position: absolute; left: 0; width: 100%; max-width: 100%; z-index: 9999; pointer-events: auto; }
[data-oc-context="separator"][data-separator-edge="top"] { top: 0; }
[data-oc-context="separator"][data-separator-edge="bottom"] { bottom: 0; }
/* Orientation is the stored data-separator-flip, never inferred from the edge */
[data-oc-context="separator"]:not([data-separator-flip="true"]) { transform: none; }
[data-oc-context="separator"][data-separator-flip="true"] { transform: rotate(180deg); transform-origin: center center; }
img[data-oc-context="separator"] { object-fit: fill; }
/* A shape is one hit target, and takes its fill from its colour key */
svg[data-oc-context="separator"] path { pointer-events: none; }
svg[data-oc-context="separator"][data-separator-color="primary"] path { fill: var(--brand-primary); }
svg[data-oc-context="separator"][data-separator-color="secondary"] path { fill: var(--brand-secondary); }
svg[data-oc-context="separator"][data-separator-color="accent"] path { fill: var(--brand-accent); }
svg[data-oc-context="separator"][data-separator-color="tertiary"] path { fill: var(--brand-tertiary); }
svg[data-oc-context="separator"][data-separator-color="neutral"] path { fill: var(--brand-neutral); }
svg[data-oc-context="separator"][data-separator-color="highlight"] path { fill: var(--brand-highlight); }
svg[data-oc-context="separator"][data-separator-color="black"] path { fill: #000000; }
svg[data-oc-context="separator"][data-separator-color="white"] path { fill: #ffffff; }

/* ================================ */
/* Border & Corner Styles           */
/* ================================ */

/* Corner roundness — per-corner vars written by the Shape & Border context
   menu. overflow:hidden clips children/overlays to rounded corners; hosts with
   image overlays rely on block CSS stacking and must keep position:relative
   from the block stylesheet (we never inline position/overflow from applyState). */
[data-oc-radius="true"] {
  border-radius: var(--oc-radius-tl, 0px) var(--oc-radius-tr, 0px) var(--oc-radius-br, 0px) var(--oc-radius-bl, 0px);
  overflow: hidden;
}

/* Solid border — a normal CSS border on the host element */
[data-oc-border="solid"] {
  border: var(--oc-border-width, 1px) var(--oc-border-style, solid) var(--oc-border-color, currentColor);
}

/* Gradient border — the host anchors an inert ring child */
[data-oc-border="gradient"] {
  position: relative;
}

/* Ring child: the gradient painted only in the border band via the
   mask-composite ring recipe. Follows the host's radius, never touches the
   host's own (often multi-layer) background. */
[data-oc-border-ring="true"] {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: var(--oc-border-width, 1px);
  background: var(--oc-border-gradient, none);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 10; /* above .cta-overlay (z-index 9) */
}

/* ================================ */
/* Form Base Styles                 */
/* ================================ */

.oc-contact-form {
  padding: 24px;
  max-width: 720px;
  margin: 0 auto;
}

.oc-form-fields {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

.oc-form-field {
  display: flex;
  flex-direction: column;
}

.oc-form-field[data-columns='6'] { grid-column: span 6; }
.oc-form-field[data-columns='4'] { grid-column: span 4; }
.oc-form-field[data-columns='8'] { grid-column: span 8; }
.oc-form-field[data-columns='12'],
.oc-form-field:not([data-columns]) { grid-column: span 12; }

.oc-form-label {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 6px;
  color: #333;
}

.oc-form-label .oc-form-required {
  color: #e53e3e;
  margin-left: 2px;
}

.oc-form-input,
.oc-form-textarea,
.oc-form-select {
  width: 100%;
  padding: 10px 14px;
  font-size: 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  color: #333;
  transition: border-color 0.2s;
  box-sizing: border-box;
}

.oc-form-input:focus,
.oc-form-textarea:focus,
.oc-form-select:focus {
  outline: none;
  border-color: #662c90;
  box-shadow: 0 0 0 3px rgba(102, 44, 144, 0.15);
}

.oc-form-textarea {
  min-height: 100px;
  resize: vertical;
}

.oc-form-help {
  font-size: 12px;
  color: #6b7280;
  margin-top: 4px;
}

.oc-form-submit {
  margin-top: 8px;
  padding: 10px 24px;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: opacity 0.2s;
}

.oc-form-submit:hover {
  opacity: 0.9;
}

.oc-form-placeholder {
  grid-column: span 12;
  text-align: center;
  padding: 32px 16px;
  color: #9ca3af;
  font-size: 14px;
  border: 2px dashed #e5e7eb;
  border-radius: 8px;
}

.oc-form-message {
  margin-bottom: 16px;
  padding: 16px 20px;
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
}

.oc-form-message.oc-form-success {
  display: block;
  color: #059669;
  font-size: 16px;
  font-weight: 500;
}

.oc-form-message.oc-form-error {
  display: block;
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.oc-form-submitting .oc-form-submit {
  opacity: 0.6;
  pointer-events: none;
}

@media (max-width: 575px) {
  .oc-form-field[data-columns='6'],
  .oc-form-field[data-columns='4'],
  .oc-form-field[data-columns='8'] {
    grid-column: span 12;
  }
}


.ctaIcon { color: #ffffff; font-size: var(--icon-size, 80px); }

.ctaIcon > svg {
  width: var(--icon-size, 80px);
  height: var(--icon-size, 80px);
  display: block;
  color: inherit;
}

.ctaIcon.ctaIcon:has(> svg)::before { display: none; }

.ctaIcon.ctaIcon::before {
  color: currentColor;
  font-size: var(--icon-size, 80px);
}


/* ================================ */
/* Secure Form Embed (FormCommander)  */
/* ================================ */

.fc-secure-form-embed {
  position: relative;
  min-height: 120px;
  width: 100%;
}
.fc-secure-form-embed.fc-secure-form-embed--loading::after {
  content: 'Loading form…';
  display: block;
  padding: 1.5rem;
  text-align: center;
  color: #64748b;
  font-size: 0.875rem;
}
.fc-secure-form-embed.fc-secure-form-embed--error {
  border: 1px solid #fecaca;
  background: #fef2f2;
  border-radius: 8px;
  padding: 1rem;
}
.fc-secure-form-embed .fc-embed-error {
  color: #b91c1c;
  font-size: 0.875rem;
  margin: 0;
}
.fc-secure-form-embed .fc-embed-live {
  min-height: 1px;
}
.fc-secure-form-embed [aria-live="polite"] {
  margin-top: 0.75rem;
}
.fc-embed-placeholder {
  padding: 1.5rem;
  text-align: center;
  color: #64748b;
  font-size: 0.875rem;
  margin: 0;
}