/*!*********************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./assets/css/src/main.scss ***!
  \*********************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* outfit-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400;
  src: url(../d5e5803d0c85b54aaaa1.woff2) format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 500;
  src: url(../7337398630a7c5a5a076.woff2) format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 600;
  src: url(../7ff411eb5a5bc8fa6467.woff2) format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 700;
  src: url(../3bc1d0d6a44adb0722c5.woff2) format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 900;
  src: url(../6424eec80eedc92fa049.woff2) format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* Enable smooth scrolling page-wide */
html {
  scroll-behavior: smooth;
}

/* Ensure smooth scrolling respects reduced-motion accessibility preferences */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
section[id] {
  scroll-margin-top: var(--header-height);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

figure {
  width: 100% !important;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: var(--font-lineheight-3);
  font-family: var(--font-family-base);
  font-size: var(--font-size-1);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.body-lock {
  overflow: hidden;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: underline;
}

input,
button,
textarea,
select {
  font: inherit;
}

code,
kbd,
pre,
samp {
  font-family: var(--font-family-monospace);
}

textarea {
  resize: vertical;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: inherit;
  color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: var(--font-lineheight-1);
  font-family: var(--font-family-heading);
}

:focus-visible {
  outline-offset: 2px;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed;
  }
}
:root {
  --header-height: 90px;
  /* --- Colour Palette --- */
  --colour-primary-400: #0054a6;
  --colour-accent-400: #dff803;
  --colour-text: #000;
  --colour-background: #fff;
  --colour-white: #fff;
  --colour-black: #000;
  --colour-stars: #f59e0b;
  /* --- Typography --- */
  --font-weight-1: 100;
  --font-weight-2: 200;
  --font-weight-3: 300;
  --font-weight-4: 400;
  --font-weight-5: 500;
  --font-weight-6: 600;
  --font-weight-7: 700;
  --font-weight-8: 800;
  --font-weight-9: 900;
  --font-size-00: 0.75rem;
  --font-size-0: 0.875rem;
  --font-size-1: 1rem;
  --font-size-2: 1.125rem;
  --font-size-3: 1.25rem;
  --font-size-4: 1.5rem;
  --font-size-5: 1.75rem;
  --font-size-6: 2rem;
  --font-size-7: 2.5rem;
  --font-size-8: 3rem;
  --font-size-9: 5rem;
  --font-size-10: 8rem;
  --font-size-fluid-0: clamp(0.75rem, 2vw, 1.25rem);
  --font-size-fluid-1: clamp(1.25rem, 4vw, 1.5rem);
  --font-size-fluid-2: clamp(1.5rem, 6vw, 2.5rem);
  --font-size-fluid-3: clamp(2rem, 9vw, 2.75rem);
  --font-size-fluid-4: clamp(2.5rem, 10vw, 4rem);
  --font-size-fluid-5: clamp(3rem, 10vw, 5.5rem);
  --font-size-menu-item: 0.875rem;
  --font-lineheight-00: 0.95;
  --font-lineheight-0: 1.1;
  --font-lineheight-1: 1.25;
  --font-lineheight-2: 1.375;
  --font-lineheight-3: 1.5;
  --font-lineheight-4: 1.75;
  --font-lineheight-5: 2;
  /* --- Spacing and Sizing --- */
  --size-000: -0.5rem;
  --size-00: -0.25rem;
  --size-1: 0.25rem;
  --size-2: 0.5rem;
  --size-3: 1rem;
  --size-4: 1.25rem;
  --size-5: 1.5rem;
  --size-6: 1.75rem;
  --size-7: 2rem;
  --size-8: 3rem;
  --size-9: 4rem;
  --size-10: 5rem;
  --size-11: 7.5rem;
  --size-12: 10rem;
  --size-13: 15rem;
  --size-14: 20rem;
  --size-15: 30rem;
  /* --- Border Radius --- */
  --radius-1: 2px;
  --radius-2: 5px;
  --radius-3: 1rem;
  --radius-4: 2rem;
  --radius-5: 4rem;
  --radius-6: 8rem;
  --radius-round: 1e5px;
  --font-family-base: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-family-heading: var(--font-family-base);
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* --- Shadows --- */
  --shadow-1: 0 4px 32px 0 rgba(0, 0, 0, 0.1);
  --shadow-2: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  --shadow-3: -41px 67px 60px rgba(0, 0, 0, 0.2);
  /* --- Transitions --- */
  --ease-1: cubic-bezier(0.25, 0, 0.5, 1);
  --ease-2: cubic-bezier(0.25, 0, 0.4, 1);
  --ease-3: cubic-bezier(0.25, 0, 0.3, 1);
  --ease-4: cubic-bezier(0.25, 0, 0.2, 1);
  --ease-5: cubic-bezier(0.25, 0, 0.1, 1);
  --ease-in-1: cubic-bezier(0.25, 0, 1, 1);
  --ease-in-2: cubic-bezier(0.5, 0, 1, 1);
  --ease-in-3: cubic-bezier(0.7, 0, 1, 1);
  --ease-in-4: cubic-bezier(0.9, 0, 1, 1);
  --ease-in-5: cubic-bezier(1, 0, 1, 1);
  --ease-out-1: cubic-bezier(0, 0, 0.75, 1);
  --ease-out-2: cubic-bezier(0, 0, 0.5, 1);
  --ease-out-3: cubic-bezier(0, 0, 0.3, 1);
  --ease-out-4: cubic-bezier(0, 0, 0.1, 1);
  --ease-out-5: cubic-bezier(0, 0, 0, 1);
  --ease-in-out-1: cubic-bezier(0.1, 0, 0.9, 1);
  --ease-in-out-2: cubic-bezier(0.3, 0, 0.7, 1);
  --ease-in-out-3: cubic-bezier(0.5, 0, 0.5, 1);
  --ease-in-out-4: cubic-bezier(0.7, 0, 0.3, 1);
  --ease-in-out-5: cubic-bezier(0.9, 0, 0.1, 1);
  --ease-elastic-out-1: cubic-bezier(0.5, 0.75, 0.75, 1.25);
  --ease-elastic-out-2: cubic-bezier(0.5, 1, 0.75, 1.25);
  --ease-elastic-out-3: cubic-bezier(0.5, 1.25, 0.75, 1.25);
  --ease-elastic-out-4: cubic-bezier(0.5, 1.5, 0.75, 1.25);
  --ease-elastic-out-5: cubic-bezier(0.5, 1.75, 0.75, 1.25);
  --ease-elastic-in-1: cubic-bezier(0.5, -0.25, 0.75, 1);
  --ease-elastic-in-2: cubic-bezier(0.5, -0.5, 0.75, 1);
  --ease-elastic-in-3: cubic-bezier(0.5, -0.75, 0.75, 1);
  --ease-elastic-in-4: cubic-bezier(0.5, -1, 0.75, 1);
  --ease-elastic-in-5: cubic-bezier(0.5, -1.25, 0.75, 1);
  --ease-elastic-in-out-1: cubic-bezier(0.5, -0.1, 0.1, 1.5);
  --ease-elastic-in-out-2: cubic-bezier(0.5, -0.3, 0.1, 1.5);
  --ease-elastic-in-out-3: cubic-bezier(0.5, -0.5, 0.1, 1.5);
  --ease-elastic-in-out-4: cubic-bezier(0.5, -0.7, 0.1, 1.5);
  --ease-elastic-in-out-5: cubic-bezier(0.5, -0.9, 0.1, 1.5);
  --ease-step-1: steps(2);
  --ease-step-2: steps(3);
  --ease-step-3: steps(4);
  --ease-step-4: steps(7);
  --ease-step-5: steps(10);
  --ease-elastic-1: var(--ease-elastic-out-1);
  --ease-elastic-2: var(--ease-elastic-out-2);
  --ease-elastic-3: var(--ease-elastic-out-3);
  --ease-elastic-4: var(--ease-elastic-out-4);
  --ease-elastic-5: var(--ease-elastic-out-5);
  --ease-squish-1: var(--ease-elastic-in-out-1);
  --ease-squish-2: var(--ease-elastic-in-out-2);
  --ease-squish-3: var(--ease-elastic-in-out-3);
  --ease-squish-4: var(--ease-elastic-in-out-4);
  --ease-squish-5: var(--ease-elastic-in-out-5);
  --ease-spring-1: linear(
      0,
      0.006,
      0.025 2.8%,
      0.101 6.1%,
      0.539 18.9%,
      0.721 25.3%,
      0.849 31.5%,
      0.937 38.1%,
      0.968 41.8%,
      0.991 45.7%,
      1.006 50.1%,
      1.015 55%,
      1.017 63.9%,
      1.001
  );
  --ease-spring-2: linear(
      0,
      0.007,
      0.029 2.2%,
      0.118 4.7%,
      0.625 14.4%,
      0.826 19%,
      0.902,
      0.962,
      1.008 26.1%,
      1.041 28.7%,
      1.064 32.1%,
      1.07 36%,
      1.061 40.5%,
      1.015 53.4%,
      0.999 61.6%,
      0.995 71.2%,
      1
  );
  --ease-spring-3: linear(
      0,
      0.009,
      0.035 2.1%,
      0.141 4.4%,
      0.723 12.9%,
      0.938 16.7%,
      1.017,
      1.077,
      1.121,
      1.149 24.3%,
      1.159,
      1.163,
      1.161,
      1.154 29.9%,
      1.129 32.8%,
      1.051 39.6%,
      1.017 43.1%,
      0.991,
      0.977 51%,
      0.974 53.8%,
      0.975 57.1%,
      0.997 69.8%,
      1.003 76.9%,
      1
  );
  --ease-spring-4: linear(
      0,
      0.009,
      0.037 1.7%,
      0.153 3.6%,
      0.776 10.3%,
      1.001,
      1.142 16%,
      1.185,
      1.209 19%,
      1.215 19.9% 20.8%,
      1.199,
      1.165 25%,
      1.056 30.3%,
      1.008 33%,
      0.973,
      0.955 39.2%,
      0.953 41.1%,
      0.957 43.3%,
      0.998 53.3%,
      1.009 59.1% 63.7%,
      0.998 78.9%,
      1
  );
  --ease-spring-5: linear(
      0,
      0.01,
      0.04 1.6%,
      0.161 3.3%,
      0.816 9.4%,
      1.046,
      1.189 14.4%,
      1.231,
      1.254 17%,
      1.259,
      1.257 18.6%,
      1.236,
      1.194 22.3%,
      1.057 27%,
      0.999 29.4%,
      0.955 32.1%,
      0.942,
      0.935 34.9%,
      0.933,
      0.939 38.4%,
      1 47.3%,
      1.011,
      1.017 52.6%,
      1.016 56.4%,
      1 65.2%,
      0.996 70.2%,
      1.001 87.2%,
      1
  );
  --ease-bounce-1: linear(
      0,
      0.004,
      0.016,
      0.035,
      0.063,
      0.098,
      0.141,
      0.191,
      0.25,
      0.316,
      0.391 36.8%,
      0.563,
      0.766,
      1 58.8%,
      0.946,
      0.908 69.1%,
      0.895,
      0.885,
      0.879,
      0.878,
      0.879,
      0.885,
      0.895,
      0.908 89.7%,
      0.946,
      1
  );
  --ease-bounce-2: linear(
      0,
      0.004,
      0.016,
      0.035,
      0.063,
      0.098,
      0.141 15.1%,
      0.25,
      0.391,
      0.562,
      0.765,
      1,
      0.892 45.2%,
      0.849,
      0.815,
      0.788,
      0.769,
      0.757,
      0.753,
      0.757,
      0.769,
      0.788,
      0.815,
      0.85,
      0.892 75.2%,
      1 80.2%,
      0.973,
      0.954,
      0.943,
      0.939,
      0.943,
      0.954,
      0.973,
      1
  );
  --ease-bounce-3: linear(
      0,
      0.004,
      0.016,
      0.035,
      0.062,
      0.098,
      0.141 11.4%,
      0.25,
      0.39,
      0.562,
      0.764,
      1 30.3%,
      0.847 34.8%,
      0.787,
      0.737,
      0.699,
      0.672,
      0.655,
      0.65,
      0.656,
      0.672,
      0.699,
      0.738,
      0.787,
      0.847 61.7%,
      1 66.2%,
      0.946,
      0.908,
      0.885 74.2%,
      0.879,
      0.878,
      0.879,
      0.885 79.5%,
      0.908,
      0.946,
      1 87.4%,
      0.981,
      0.968,
      0.96,
      0.957,
      0.96,
      0.968,
      0.981,
      1
  );
  --ease-bounce-4: linear(
      0,
      0.004,
      0.016 3%,
      0.062,
      0.141,
      0.25,
      0.391,
      0.562 18.2%,
      1 24.3%,
      0.81,
      0.676 32.3%,
      0.629,
      0.595,
      0.575,
      0.568,
      0.575,
      0.595,
      0.629,
      0.676 48.2%,
      0.811,
      1 56.2%,
      0.918,
      0.86,
      0.825,
      0.814,
      0.825,
      0.86,
      0.918,
      1 77.2%,
      0.94 80.6%,
      0.925,
      0.92,
      0.925,
      0.94 87.5%,
      1 90.9%,
      0.974,
      0.965,
      0.974,
      1
  );
  --ease-bounce-5: linear(
      0,
      0.004,
      0.016 2.5%,
      0.063,
      0.141,
      0.25 10.1%,
      0.562,
      1 20.2%,
      0.783,
      0.627,
      0.534 30.9%,
      0.511,
      0.503,
      0.511,
      0.534 38%,
      0.627,
      0.782,
      1 48.7%,
      0.892,
      0.815,
      0.769 56.3%,
      0.757,
      0.753,
      0.757,
      0.769 61.3%,
      0.815,
      0.892,
      1 68.8%,
      0.908 72.4%,
      0.885,
      0.878,
      0.885,
      0.908 79.4%,
      1 83%,
      0.954 85.5%,
      0.943,
      0.939,
      0.943,
      0.954 90.5%,
      1 93%,
      0.977,
      0.97,
      0.977,
      1
  );
  /* Animation duration based on https://design.brainly.com/8adfd5f36/p/091f75-ux-motion */
  --duration-instant: 0ms;
  /* e.g. text change */
  --duration-quick-1: 80ms;
  /* e.g. checkbox, radio, hover */
  --duration-quick-2: 120ms;
  /* e.g. toggle, tab, chip, color, fade */
  --duration-moderate-1: 180ms;
  /* e.g. dropdown, tooltip */
  --duration-moderate-2: 260ms;
  /* e.g. modal, toast, dialog, notification */
  --duration-gentle-1: 320ms;
  /* e.g. bottom sheet, card expand */
  --duration-gentle-2: 420ms;
  /* e.g. advanced animations */
  --duration-long-1: 1000ms;
  --duration-long-2: 2000ms;
  --base-transition: all var(--duration-moderate-1) var(--ease-2);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-instant: 0ms;
    --duration-quick-1: 0ms;
    --duration-quick-2: 0ms;
    --duration-moderate-1: 0ms;
    --duration-moderate-2: 0ms;
    --duration-gentle-1: 0ms;
    --duration-gentle-2: 0ms;
    --duration-long-1: 0ms;
    --duration-long-2: 0ms;
  }
}
/* ==========================================================================
   BUTTONS COMPONENT (_button.scss)
   ========================================================================== */
@property --angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.owd-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--size-3) var(--size-5);
  font-family: var(--font-family-base);
  font-size: var(--font-size-1);
  font-weight: var(--font-weight-6);
  line-height: var(--font-lineheight-0);
  text-align: center;
  border: 2px solid transparent;
  border-radius: var(--radius-round);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  white-space: nowrap;
  text-decoration: none !important;
  transition: var(--base-transition);
  -webkit-tap-highlight-color: transparent;
}
@media (max-width: 1000px) {
  .owd-btn {
    font-size: var(--font-size-00);
  }
}
.owd-btn svg {
  width: 16px;
  height: 16px;
  margin-left: var(--size-3);
  flex-shrink: 0;
  transition: transform var(--duration-quick-2) var(--ease-2);
  transform: scale(1.3);
}
.owd-btn:focus {
  outline: none;
}
.owd-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 84, 166, 0.25), 0 0 0 5px var(--colour-primary-400);
}
.owd-btn:active:not(:disabled):not(.owd-btn--disabled) {
  transform: scale(0.98);
}
.owd-btn:hover svg.owd-btn__arrow {
  transform: scale(2);
}
.owd-btn {
  /* --- CORE THEME MODIFIERS --- */
}
.owd-btn--primary {
  background-color: var(--colour-primary-400);
  color: var(--colour-white);
}
.owd-btn--secondary {
  background-color: transparent;
  border-color: var(--colour-primary-400);
  color: var(--colour-primary-400);
}
.owd-btn--ghost {
  background-color: transparent;
  color: var(--colour-text);
}
.owd-btn--ghost:hover:not(:disabled):not(.owd-btn--disabled) {
  background-color: rgba(0, 0, 0, 0.04);
  color: var(--colour-primary-400);
}
.owd-btn--accent {
  background-color: #dff803;
  color: var(--colour-text);
}
.owd-btn {
  /* --- LAYOUT & SIZING MODIFIERS --- */
}
.owd-btn--small {
  padding: var(--size-2) var(--size-3);
  font-size: var(--font-size-0);
}
.owd-btn--large {
  padding: var(--size-5) var(--size-7);
  font-size: var(--font-size-2);
}
.owd-btn--block {
  display: flex;
  width: 100%;
}
.owd-btn {
  /* --- ADVANCED INTERACTION VARIANTS --- */
}
.owd-btn--cta {
  background-color: var(--colour-primary-400);
  color: var(--colour-white);
}
.owd-btn--cta::before {
  content: "";
  position: absolute;
  inset: -8px;
  z-index: -1;
  border-radius: var(--radius-round);
  background-image: conic-gradient(from var(--angle), transparent, transparent, var(--colour-accent-400));
  animation: gradientSpin 3s linear infinite;
}
.owd-btn--cta:hover, .owd-btn--cta:focus-visible {
  background-color: var(--colour-accent-400);
  color: var(--colour-text);
  outline: none;
  box-shadow: none;
}
.owd-btn--cta:hover::before, .owd-btn--cta:focus-visible::before {
  background-image: conic-gradient(from var(--angle), var(--colour-accent-400), var(--colour-accent-400), var(--colour-accent-400));
}
.owd-btn--roll {
  display: inline-flex;
  align-items: center;
}
.owd-btn--roll .owd-btn__text-wrapper {
  display: inline-flex;
}
.owd-btn--roll .owd-btn__char {
  display: inline-block;
  font-family: var(--font-family-base);
  text-transform: uppercase;
  line-height: 1em;
  position: relative;
  text-shadow: 0 2em 0 currentColor;
  transition: transform var(--duration-moderate-2) var(--ease-elastic-1);
}
.owd-btn--roll:hover:not(:disabled):not(.owd-btn--disabled) .owd-btn__char {
  transform: translate3d(0, -2em, 0);
}
.owd-btn--roll .owd-btn__char:nth-child(1) {
  transition-delay: calc(0 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(2) {
  transition-delay: calc(1 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(3) {
  transition-delay: calc(2 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(4) {
  transition-delay: calc(3 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(5) {
  transition-delay: calc(4 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(6) {
  transition-delay: calc(5 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(7) {
  transition-delay: calc(6 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(8) {
  transition-delay: calc(7 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(9) {
  transition-delay: calc(8 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(10) {
  transition-delay: calc(9 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(11) {
  transition-delay: calc(10 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(12) {
  transition-delay: calc(11 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(13) {
  transition-delay: calc(12 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(14) {
  transition-delay: calc(13 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(15) {
  transition-delay: calc(14 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(16) {
  transition-delay: calc(15 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(17) {
  transition-delay: calc(16 * 0.015s);
}
.owd-btn--roll .owd-btn__char:nth-child(18) {
  transition-delay: calc(17 * 0.015s);
}
.owd-btn {
  /* --- TYPOGRAPHY ROLL INTERNAL BEM ELEMENTS --- */
}
.owd-btn__text-wrapper {
  position: relative;
  display: inline-flex;
  overflow: hidden;
  height: var(--font-lineheight-0);
}
.owd-btn__word {
  display: flex;
  white-space: nowrap;
  transition: transform var(--duration-gentle-1) var(--ease-out-4);
}
.owd-btn__word--secondary {
  position: absolute;
  top: 100%;
  left: 0;
}
.owd-btn__char {
  display: inline-block;
  text-transform: uppercase;
  transition: transform var(--duration-moderate-2) var(--ease-elastic-1);
}
.owd-btn {
  /* --- AUTOMATED SCSS LOOP ENGINE --- */
}
.owd-btn .owd-btn__char:nth-child(1) {
  transition-delay: calc(0 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(2) {
  transition-delay: calc(1 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(3) {
  transition-delay: calc(2 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(4) {
  transition-delay: calc(3 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(5) {
  transition-delay: calc(4 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(6) {
  transition-delay: calc(5 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(7) {
  transition-delay: calc(6 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(8) {
  transition-delay: calc(7 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(9) {
  transition-delay: calc(8 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(10) {
  transition-delay: calc(9 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(11) {
  transition-delay: calc(10 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(12) {
  transition-delay: calc(11 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(13) {
  transition-delay: calc(12 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(14) {
  transition-delay: calc(13 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(15) {
  transition-delay: calc(14 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(16) {
  transition-delay: calc(15 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(17) {
  transition-delay: calc(16 * 0.015s);
}
.owd-btn .owd-btn__char:nth-child(18) {
  transition-delay: calc(17 * 0.015s);
}
.owd-btn {
  /* --- COMPREHENSIVE DISABLED GUARD STATES --- */
}
.owd-btn:disabled, .owd-btn--disabled {
  background-color: #e5e7eb !important;
  border-color: #e5e7eb !important;
  color: #9ca3af !important;
  cursor: not-allowed !important;
  pointer-events: none;
  box-shadow: none !important;
  transform: none !important;
}
.owd-btn:disabled svg, .owd-btn--disabled svg {
  opacity: 0.5;
}

/* ==========================================================================
   GLOBAL KEYFRAMES (Root Space Keepers)
   ========================================================================== */
@keyframes gradientSpin {
  from {
    --angle: 0deg;
  }
  to {
    --angle: 360deg;
  }
}
.owd-client-marquee-container {
  margin-top: var(--size-10);
  max-width: 1200px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-3);
  padding-bottom: var(--size-7);
  z-index: 2;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
}

.owd-client-marquee {
  display: flex;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  gap: 4px;
}
.owd-client-marquee__group {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: var(--size-6);
  min-width: 100%;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  perspective: 1000px;
  transform-style: preserve-3d;
}
.owd-client-marquee__group img {
  min-width: 200px;
  height: 70px;
  padding: var(--size-3) var(--size-7);
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0.75;
}
.owd-client-marquee--left .owd-client-marquee__group {
  animation: scroll-left 40s linear infinite;
  margin-bottom: var(--size-3);
}
.owd-client-marquee--right .owd-client-marquee__group {
  animation: scroll-right 40s linear infinite;
}

@keyframes scroll-left {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
@keyframes scroll-right {
  0% {
    transform: translate3d(-50%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@media (max-width: 768px) {
  .owd-client-marquee-container {
    margin-top: var(--size-7) !important;
    gap: var(--size-2);
    padding-bottom: var(--size-5);
  }
  .owd-client-marquee__group img {
    height: 40px !important;
    min-width: 110px !important;
    padding: var(--size-1) var(--size-3) !important;
  }
}
/* ==========================================================================
   Combined Contact & Footer Section
   ========================================================================== */
.owd-footer-section {
  position: relative;
  background-color: var(--colour-text-dark, #0f172a);
  color: #ffffff;
  padding: var(--size-10) var(--size-3) var(--size-6) var(--size-3);
  width: 100%;
}
.owd-footer-section__container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-10);
}

.owd-contact-grid {
  display: grid;
  grid-template-columns: 1.5fr 2fr;
  gap: var(--size-10);
  align-items: flex-end;
}
@media (max-width: 991px) {
  .owd-contact-grid {
    grid-template-columns: 1fr;
    gap: var(--size-8);
  }
}

/* Info Column */
.owd-contact-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.owd-contact-info__subtitle {
  font-family: var(--font-family-base, sans-serif);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--colour-accent-400);
  background-color: rgba(255, 255, 255, 0.08);
  padding: var(--size-2) var(--size-4);
  border-radius: 100px;
  margin-bottom: var(--size-4);
}
.owd-contact-info__title {
  font-family: var(--font-family-heading);
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin-bottom: var(--size-4);
  max-width: 520px;
}
@media (max-width: 768px) {
  .owd-contact-info__title {
    font-size: 2rem;
  }
}
.owd-contact-info__lead {
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: var(--size-8);
  max-width: 580px;
}

/* Contact Methods List */
.owd-contact-methods {
  display: flex;
  flex-direction: column;
  gap: var(--size-4);
  width: 100%;
}

.owd-contact-method {
  display: flex;
  align-items: flex-start;
  gap: var(--size-4);
  padding: var(--size-3) var(--size-4);
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  text-decoration: none;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.owd-contact-method:hover {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
  text-decoration: none;
}
.owd-contact-method__icon {
  margin-top: 2px;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--colour-accent-400);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.owd-contact-method__label {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 600;
}
.owd-contact-method__value {
  display: block;
  font-family: var(--font-family-base, sans-serif);
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
}

/* Links & CTA Column */
.owd-footer-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--size-6);
}
@media (max-width: 600px) {
  .owd-footer-links {
    grid-template-columns: 1fr;
    gap: var(--size-6);
  }
}

.owd-footer-col__title {
  font-family: var(--font-family-heading);
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: var(--size-4);
}
.owd-footer-col__desc {
  font-size: 0.9rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: var(--size-4);
}
.owd-footer-col .owd-btn {
  width: 100%;
  justify-content: center;
}

.owd-footer-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--size-3);
}
.owd-footer-nav a {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  font-size: 0.925rem;
  transition: color 0.2s ease;
}
.owd-footer-nav a:hover {
  color: #ffffff;
}

/* Legal Bottom Bar */
.owd-footer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--size-6);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}
@media (max-width: 768px) {
  .owd-footer-bar {
    flex-direction: column;
    gap: var(--size-3);
    align-items: flex-start;
  }
}
.owd-footer-bar__legal {
  display: flex;
  align-items: center;
}
.owd-footer-bar__legal .owd-footer-legal-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--size-3);
}
.owd-footer-bar__legal .owd-footer-legal-nav li {
  display: flex;
  align-items: center;
  gap: var(--size-3);
  /* Adds a bullet divider automatically after every item except the last */
}
.owd-footer-bar__legal .owd-footer-legal-nav li:not(:last-child)::after {
  content: "•";
  opacity: 0.3;
  font-size: 0.85rem;
}
.owd-footer-bar__legal .owd-footer-legal-nav li a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.2s ease;
}
.owd-footer-bar__legal .owd-footer-legal-nav li a:hover {
  color: #ffffff;
}

/* ==========================================================================
   Get Started Multi-Step Wizard Form
   ========================================================================== */
.owd-wizard {
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.08);
  border-radius: 24px;
  padding: var(--size-8);
  box-shadow: 0 15px 40px rgba(0, 84, 166, 0.04);
  max-width: 860px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .owd-wizard {
    padding: var(--size-6);
  }
}
.owd-wizard {
  /* Progress Tracker Header */
}
.owd-wizard__progress {
  margin-bottom: var(--size-8);
}
.owd-wizard__progress-bar {
  height: 6px;
  background-color: rgba(0, 84, 166, 0.08);
  border-radius: 100px;
  overflow: hidden;
  margin-bottom: var(--size-4);
}
.owd-wizard__progress-fill {
  height: 100%;
  background-color: var(--colour-primary-400);
  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.owd-wizard__steps-indicator {
  display: flex;
  justify-content: space-between;
  gap: var(--size-2);
}
@media (max-width: 600px) {
  .owd-wizard__steps-indicator {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--size-2);
  }
}
.owd-wizard__step-badge {
  font-family: var(--font-family-heading);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--colour-text);
  opacity: 0.5;
  transition: opacity 0.3s ease, color 0.3s ease;
}
.owd-wizard__step-badge.active {
  opacity: 1;
  color: var(--colour-primary-400);
  font-weight: 700;
}
.owd-wizard__step-badge.completed {
  opacity: 0.8;
  color: var(--colour-text-dark);
}
.owd-wizard {
  /* Step Visibility Controls */
}
.owd-wizard__step {
  display: none;
}
.owd-wizard__step.active {
  display: block;
  animation: fadeInStep 0.35s ease forwards;
}
.owd-wizard__step-header {
  margin-bottom: var(--size-6);
  border-bottom: 1px solid rgba(0, 84, 166, 0.06);
  padding-bottom: var(--size-4);
}
.owd-wizard__step-title {
  font-family: var(--font-family-heading);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-2);
}
.owd-wizard__step-desc {
  font-size: 0.95rem;
  color: var(--colour-text);
  opacity: 0.8;
}
.owd-wizard {
  /* Navigation Action Buttons */
}
.owd-wizard__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--size-8);
  padding-top: var(--size-6);
  border-top: 1px solid rgba(0, 84, 166, 0.06);
  /* Flex wrap fallback in case CF7 wraps buttons in a <p> tag */
}
.owd-wizard__nav > p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 0;
}
.owd-wizard__nav br {
  display: none;
}
@media (max-width: 600px) {
  .owd-wizard__nav > p {
    flex-direction: column-reverse;
    gap: var(--size-3);
  }
  .owd-wizard__nav .owd-btn {
    width: 100%;
    justify-content: center;
  }
  .owd-wizard__nav .owd-btn.disabled, .owd-wizard__nav .owd-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed !important;
    pointer-events: none;
    box-shadow: none !important;
    transform: none !important;
  }
}

/* Form Grid & Input Styling */
.owd-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--size-5);
}
@media (max-width: 768px) {
  .owd-form-grid {
    grid-template-columns: 1fr;
  }
}

.owd-form-field {
  display: flex;
  flex-direction: column;
}
.owd-form-field--full {
  grid-column: 1/-1;
}
.owd-form-field label {
  font-family: var(--font-family-heading);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-2);
}
.owd-form-field .field-hint {
  font-size: 0.825rem;
  color: var(--colour-text);
  opacity: 0.75;
  margin-bottom: var(--size-2);
  line-height: 1.4;
}
.owd-form-field {
  /* Input Fields */
}
.owd-form-field input[type=text],
.owd-form-field input[type=email],
.owd-form-field input[type=tel],
.owd-form-field input[type=url],
.owd-form-field select,
.owd-form-field textarea {
  width: 100%;
  font-family: var(--font-family-sans);
  font-size: 0.95rem;
  padding: 0.8rem 1rem;
  background-color: #f8fafc;
  border: 1px solid rgba(0, 84, 166, 0.12);
  border-radius: 12px;
  color: var(--colour-text-dark);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.owd-form-field input[type=text]:focus,
.owd-form-field input[type=email]:focus,
.owd-form-field input[type=tel]:focus,
.owd-form-field input[type=url]:focus,
.owd-form-field select:focus,
.owd-form-field textarea:focus {
  outline: none;
  background-color: #ffffff;
  border-color: var(--colour-primary-400);
  box-shadow: 0 0 0 4px rgba(0, 84, 166, 0.08);
}
.owd-form-field {
  /* Field Error State */
}
.owd-form-field.has-error input[type=text],
.owd-form-field.has-error input[type=email],
.owd-form-field.has-error input[type=tel],
.owd-form-field.has-error input[type=url],
.owd-form-field.has-error select,
.owd-form-field.has-error textarea {
  border-color: #e11d48 !important;
  background-color: rgba(225, 29, 72, 0.02) !important;
  box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.08) !important;
}
.owd-form-field.has-error {
  /* Highlight radio/checkbox options when required group is unselected */
}
.owd-form-field.has-error .wpcf7-list-item label {
  border-color: rgba(225, 29, 72, 0.4) !important;
  background-color: rgba(225, 29, 72, 0.02) !important;
}

/* Explicit class handling for inputs */
input.owd-field-error,
select.owd-field-error,
textarea.owd-field-error {
  border-color: #e11d48 !important;
  background-color: rgba(225, 29, 72, 0.02) !important;
}

/* Strip CF7 default inline validation borders so they don't override live JS fixes */
.wpcf7-not-valid:not(.owd-field-error) {
  border-color: rgba(0, 84, 166, 0.12) !important;
  background-color: #f8fafc !important;
  box-shadow: none !important;
}

/* Checkbox & Radio Styling */
.wpcf7-checkbox,
.wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--size-3);
}
@media (max-width: 600px) {
  .wpcf7-checkbox,
  .wpcf7-radio {
    grid-template-columns: 1fr;
  }
}
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item {
  margin: 0;
}
.wpcf7-checkbox .wpcf7-list-item label,
.wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: var(--size-3);
  font-weight: 500;
  font-size: 0.9rem;
  padding: var(--size-3);
  background-color: #f8fafc;
  border: 1px solid rgba(0, 84, 166, 0.08);
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.wpcf7-checkbox .wpcf7-list-item label:hover,
.wpcf7-radio .wpcf7-list-item label:hover {
  background-color: rgba(0, 84, 166, 0.03);
  border-color: var(--colour-primary-400);
}
.wpcf7-checkbox .wpcf7-list-item input,
.wpcf7-radio .wpcf7-list-item input {
  accent-color: var(--colour-primary-400);
  width: 18px;
  height: 18px;
}

.owd-wizard__support-note {
  margin-top: var(--size-4);
  font-size: 0.85rem;
  color: var(--colour-text);
  opacity: 0.75;
  text-align: center;
}
.owd-wizard__support-note a {
  color: var(--colour-primary-400);
  text-decoration: underline;
  font-weight: 500;
}
.owd-wizard__support-note a:hover {
  color: var(--colour-primary-500);
}

@keyframes fadeInStep {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ==========================================================================
   Contact Form 7 Response Output Messages
   ========================================================================== */
.wpcf7-response-output {
  margin: var(--size-6) 0 0 0 !important;
  padding: var(--size-4) var(--size-5) !important;
  border-radius: 12px !important;
  font-family: var(--font-family-base) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
  /* Hide empty container when idle */
}
.wpcf7-response-output:empty {
  display: none !important;
}

/* 1. Success Message (Green / Emerald) */
.wpcf7-mail-sent-ok,
.wpcf7-response-output[data-status=sent] {
  background-color: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}

/* 2. Validation Errors / Missing Fields (Amber / Yellow) */
.wpcf7-validation-errors,
.wpcf7-response-output[data-status=validation_failed] {
  background-color: #fffbeb !important;
  border: 1px solid #fde68a !important;
  color: #92400e !important;
}

/* 3. Server Error / Failed Submission (Rose / Red) */
.wpcf7-mail-sent-ng,
.wpcf7-response-output[data-status=mail_failed],
.wpcf7-response-output[data-status=spam] {
  background-color: #fff1f2 !important;
  border: 1px solid #fecdd3 !important;
  color: #9f1239 !important;
}

/* Field-Level Inline Validation Error Messages */
.wpcf7-not-valid-tip {
  font-family: var(--font-family-sans);
  font-size: 0.825rem;
  font-weight: 600;
  color: #e11d48;
  margin-top: 6px;
  display: block;
}

/* Loader / Spinner Adjustment */
.wpcf7-spinner {
  margin-left: 10px !important;
  vertical-align: middle !important;
}

.owd-cta {
  position: relative;
  padding: var(--size-10) var(--size-3);
  width: 100%;
}
@media (max-width: 768px) {
  .owd-cta {
    padding: var(--size-8) var(--size-3);
  }
}
.owd-cta__container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.owd-cta__card {
  position: relative;
  background-color: var(--colour-text-dark, #0f172a);
  color: #ffffff;
  border-radius: 28px;
  padding: var(--size-10) var(--size-8);
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px);
  background-size: 24px 24px;
  background-position: center center;
}
@media (max-width: 768px) {
  .owd-cta__card {
    padding: var(--size-8) var(--size-5);
    border-radius: 20px;
  }
}
.owd-cta {
  /* Ambient Brand Glow Effect */
}
.owd-cta__glow {
  position: absolute;
  top: -50%;
  right: -10%;
  width: 450px;
  height: 450px;
  background: radial-gradient(circle, rgba(0, 84, 166, 0.35) 0%, rgba(0, 84, 166, 0) 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 768px) {
  .owd-cta__glow {
    width: 300px;
    height: 300px;
  }
}
.owd-cta__content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.owd-cta__subtitle {
  font-family: var(--font-family-base, sans-serif);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--colour-accent-400);
  background-color: rgba(255, 255, 255, 0.08);
  padding: var(--size-2) var(--size-4);
  border-radius: 100px;
  margin-bottom: var(--size-4);
}
.owd-cta__title {
  font-family: var(--font-family-heading);
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #ffffff;
  margin-bottom: var(--size-4);
  max-width: 550px;
}
@media (max-width: 768px) {
  .owd-cta__title {
    font-size: 2.15rem;
  }
}
.owd-cta__lead {
  font-size: 1.1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: var(--size-6);
}
@media (max-width: 768px) {
  .owd-cta__lead {
    font-size: 1rem;
  }
}
.owd-cta {
  /* Guarantees / Value Props */
}
.owd-cta__props {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-5);
  margin-bottom: var(--size-8);
  padding-top: var(--size-4);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  width: 100%;
}
@media (max-width: 600px) {
  .owd-cta__props {
    flex-direction: column;
    gap: var(--size-3);
  }
}
.owd-cta__prop {
  display: flex;
  align-items: center;
  gap: var(--size-2);
}
.owd-cta__prop svg {
  color: var(--colour-accent-400);
}
.owd-cta__prop span {
  font-family: var(--font-family-base, sans-serif);
  font-size: 0.9rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}
.owd-cta__action {
  display: flex;
  align-items: center;
  /* Reusable button styling adjustments inside the dark CTA context */
}
.owd-cta__action .owd-btn {
  background-color: #ffffff;
  color: var(--colour-text-dark, #0f172a);
  border-color: #ffffff;
  padding: var(--size-4) var(--size-6);
  font-size: 1rem;
}
.owd-cta__action .owd-btn .owd-btn__arrow {
  transition: transform 0.3s ease;
}
.owd-cta__action .owd-btn:hover {
  background-color: var(--colour-primary-400);
  color: #ffffff;
  border-color: var(--colour-primary-400);
}
.owd-cta__action .owd-btn:hover .owd-btn__arrow {
  transform: translate3d(4px, 0, 0);
}

.grid-graphic {
  position: fixed;
  inset: -1px;
  background-image: linear-gradient(to right, rgb(229, 231, 235) 1px, transparent 1px), linear-gradient(rgb(229, 231, 235) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
  transform: translateY(1rem);
  animation: gridGraphicFadeUp var(--duration-long-2) var(--ease-2) forwards;
}

@keyframes gridGraphicFadeUp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.4;
    transform: translateY(0);
  }
}
#hero-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1;
  pointer-events: none;
  will-change: transform;
  transform: translateZ(0);
  opacity: 0.75;
}

.owd-hero {
  position: relative;
  padding: var(--size-9) var(--size-3);
  min-height: 85vh;
  display: flex;
  justify-content: center;
  overflow: hidden;
  width: 100%;
}
@media (max-width: 768px) {
  .owd-hero {
    padding-top: var(--size-6);
  }
}
.owd-hero__container {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.owd-hero__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 3;
  margin-top: var(--size-4);
}
@media (max-width: 768px) {
  .owd-hero__content {
    margin-top: var(--size-4);
  }
}
.owd-hero__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-fluid-5);
  font-weight: var(--font-weight-7);
  line-height: var(--font-lineheight-0);
  letter-spacing: -0.02em;
  margin-bottom: var(--size-5);
  text-align: center;
}
.owd-hero__title > span {
  display: block;
  width: 100%;
}
@media (min-width: 1001px) {
  .owd-hero__title > span {
    display: block;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .owd-hero__title {
    text-wrap: balance;
  }
  .owd-hero__title span[class^=owd-hero__line-] {
    display: inline;
    width: auto;
  }
  .owd-hero__title .owd-hero__line-1 {
    display: inline;
  }
  .owd-hero__title .owd-hero__highlight {
    display: inline;
    text-underline-offset: 2px;
  }
}
.owd-hero__highlight {
  color: var(--colour-primary-400);
  display: inline-block;
  position: relative;
  text-decoration: underline;
  text-decoration-color: var(--colour-accent-400);
  text-underline-offset: 4px;
}
.owd-hero__lead {
  font-size: var(--font-size-3);
  line-height: var(--font-lineheight-3);
  color: var(--colour-text);
  max-width: 750px;
  width: 100%;
  margin-bottom: var(--size-6);
  text-align: center;
  text-wrap: pretty;
}
.owd-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--size-4);
}
.owd-hero__actions .owd-btn--ghost {
  color: #ffffff;
}
.owd-hero__actions .owd-btn--ghost:hover {
  background-color: rgba(255, 255, 255, 0.05);
  color: #dff803;
}
@media (max-width: 768px) {
  .owd-hero__actions {
    flex-direction: column;
    width: 100%;
    align-items: stretch;
    margin-bottom: var(--size-6);
  }
  .owd-hero__actions .owd-btn {
    width: 100%;
  }
}

/* ==========================================================================
   Hosting & Domains Section
   ========================================================================== */
.owd-hosting {
  position: relative;
  z-index: 2;
  background-color: var(--colour-white);
  padding: var(--size-10) var(--size-3);
  width: 100%;
}
@media (max-width: 768px) {
  .owd-hosting {
    padding: var(--size-8) var(--size-3);
  }
}
.owd-hosting__container {
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.owd-hosting__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--size-8);
  align-items: stretch;
  width: 100%;
}
@media (max-width: 850px) {
  .owd-hosting__grid {
    grid-template-columns: 1fr;
    gap: var(--size-6);
  }
}

.owd-hosting-card {
  position: relative;
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.08);
  border-radius: 24px;
  padding: var(--size-8);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 10px 30px rgba(0, 84, 166, 0.02);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
@media (max-width: 768px) {
  .owd-hosting-card {
    padding: var(--size-6);
  }
}
.owd-hosting-card:hover {
  transform: translate3d(0, -4px, 0);
  box-shadow: 0 20px 40px rgba(0, 84, 166, 0.06);
}
.owd-hosting-card--featured {
  border-color: var(--colour-primary-400);
  border-width: 2px;
  box-shadow: 0 15px 35px rgba(0, 84, 166, 0.08);
}
.owd-hosting-card--featured .owd-hosting-card__amount {
  color: var(--colour-primary-400);
}
.owd-hosting-card__badge {
  position: absolute;
  top: -14px;
  right: var(--size-6);
  background-color: var(--colour-primary-400);
  color: #ffffff;
  font-family: var(--font-family-base, sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: var(--size-2) var(--size-4);
  border-radius: 100px;
  box-shadow: 0 4px 12px rgba(0, 84, 166, 0.2);
}
.owd-hosting-card__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: var(--size-6);
  border-bottom: 1px solid rgba(0, 84, 166, 0.06);
  padding-bottom: var(--size-6);
}
.owd-hosting-card__subtitle {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--colour-primary-400);
  margin-bottom: var(--size-1);
}
.owd-hosting-card__title {
  font-family: var(--font-family-heading);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-4);
}
.owd-hosting-card__storage {
  display: inline-flex;
  align-items: center;
  gap: var(--size-2);
  background-color: rgba(0, 84, 166, 0.05);
  padding: var(--size-1) var(--size-3);
  border-radius: 8px;
  margin-bottom: var(--size-4);
}
.owd-hosting-card__storage-val {
  font-family: var(--font-family-heading);
  font-size: 1rem;
  font-weight: 800;
  color: var(--colour-primary-400);
}
.owd-hosting-card__storage-lbl {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--colour-text);
  opacity: 0.8;
}
.owd-hosting-card__price-wrap {
  display: flex;
  align-items: baseline;
  gap: 2px;
}
.owd-hosting-card__currency {
  font-family: var(--font-family-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--colour-text-dark);
}
.owd-hosting-card__amount {
  font-family: var(--font-family-heading);
  font-size: 2.75rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--colour-text-dark);
  line-height: 1;
}
.owd-hosting-card__period {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--colour-text);
  opacity: 0.6;
  margin-left: 2px;
}
.owd-hosting-card__billing {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--colour-text);
  opacity: 0.65;
  margin-top: 4px;
}
.owd-hosting-card__body {
  margin-bottom: var(--size-8);
  flex-grow: 1;
}
.owd-hosting-card__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--size-3);
}
.owd-hosting-card__features li {
  display: flex;
  align-items: flex-start;
  gap: var(--size-3);
  font-size: 0.925rem;
  color: var(--colour-text);
}
.owd-hosting-card__features li svg {
  color: var(--colour-primary-400);
  flex-shrink: 0;
  margin-top: 2px;
}
.owd-hosting-card__footer {
  width: 100%;
}
.owd-hosting-card__footer .owd-btn {
  width: 100%;
  justify-content: center;
}

/* Domains & Custom Upgrade Banner */
.owd-hosting-extras {
  background-color: rgba(0, 84, 166, 0.02);
  border: 1px solid rgba(0, 84, 166, 0.06);
  border-radius: 20px;
  padding: var(--size-7);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--size-7);
}
@media (max-width: 850px) {
  .owd-hosting-extras {
    grid-template-columns: 1fr;
    gap: var(--size-6);
  }
}
.owd-hosting-extras__col {
  display: flex;
  gap: var(--size-4);
  align-items: flex-start;
}
.owd-hosting-extras__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.08);
  color: var(--colour-primary-400);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.owd-hosting-extras__title {
  font-family: var(--font-family-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-2);
}
.owd-hosting-extras__desc {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--colour-text);
  opacity: 0.85;
}
.owd-hosting-extras__desc a {
  color: var(--colour-primary-400);
  text-decoration: underline;
  font-weight: 600;
}
.owd-hosting-extras__desc a:hover {
  color: var(--colour-text-dark);
}

.owd-integrations {
  position: relative;
  padding: var(--size-7) var(--size-3);
  width: 100%;
  z-index: 2;
  overflow: hidden;
  background: var(--colour-white);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, var(--colour-white) 100%);
}
.owd-integrations__container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.owd-integrations__header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--size-2);
}
.owd-integrations__map {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
  width: 100%;
  position: relative;
  min-height: 450px;
}
@media (max-width: 872px) {
  .owd-integrations__map {
    display: flex;
    flex-direction: column;
    gap: var(--size-3);
    min-height: auto;
  }
}
.owd-integrations__col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 380px;
  z-index: 3;
}
@media (max-width: 872px) {
  .owd-integrations__col {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--size-3);
    min-height: auto;
    width: 100%;
  }
}
.owd-integrations__center {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
@media (max-width: 1000px) {
  .owd-integrations__center {
    position: static;
  }
}
@media (max-width: 872px) {
  .owd-integrations__center {
    order: -1;
    padding: var(--size-4) 0;
  }
}
.owd-integrations__central-hub {
  position: relative;
  z-index: 4;
  width: 90px;
  height: 90px;
  background-color: #ffffff;
  border: 2px solid var(--colour-primary-400);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-1);
}
.owd-integrations__central-hub::before {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 28px;
  border: 1px dashed var(--colour-primary-400);
  opacity: 0.15;
  animation: rotate-hub 40s linear infinite;
}
.owd-integrations__central-inner {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.owd-integrations__central-inner svg {
  width: 100%;
  max-width: 56px;
  height: auto;
}
.owd-integrations__lines {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 872px) {
  .owd-integrations__lines {
    display: none;
  }
}

.owd-integration-node {
  display: inline-flex;
  align-items: center;
  gap: var(--size-2);
  padding-block: var(--size-2);
  padding-left: var(--size-2);
  padding-right: var(--size-3);
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.06);
  border-radius: 50px;
  box-shadow: var(--shadow-1);
}
.owd-integration-node__icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.owd-integration-node__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.owd-integration-node__label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--colour-text-dark);
}
.owd-integration-node--left {
  align-self: flex-end;
}
@media (max-width: 872px) {
  .owd-integration-node--left {
    align-self: auto;
  }
}
.owd-integration-node--right {
  align-self: flex-start;
  flex-direction: row-reverse;
  padding-left: var(--size-3);
  padding-right: var(--size-2);
}
@media (max-width: 872px) {
  .owd-integration-node--right {
    padding-left: var(--size-2);
    padding-right: var(--size-3);
    align-self: auto;
    flex-direction: row;
  }
}

.owd-branch-line {
  opacity: 0.75;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-dasharray: 8 8;
  animation: flow-signal 10s linear infinite;
}

@keyframes flow-signal {
  0% {
    stroke-dashoffset: 160;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes rotate-hub {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.main-navigation ul.menu {
  display: flex;
  align-items: center;
  gap: var(--size-7);
  list-style: none;
}
.main-navigation a {
  color: var(--colour-text);
  transition: var(--base-transition);
  text-decoration: none;
  font-weight: var(--font-weight-5);
  font-size: var(--font-size-2);
}
.main-navigation a:hover {
  opacity: 1;
  color: var(--colour-primary-400);
}

.owd-menu-toggle {
  background: transparent;
  border: none;
  cursor: pointer;
  display: grid;
  place-items: center;
  -webkit-tap-highlight-color: transparent;
  width: 46px;
  height: 46px;
  z-index: 1001;
  transition: var(--base-transition);
}
.owd-menu-toggle .owd-svg-burger {
  color: var(--colour-text);
  transition: transform var(--duration-moderate-2) var(--ease-out-4);
}
.owd-menu-toggle .owd-svg-burger__line {
  transition: stroke-dashoffset var(--duration-moderate-2) var(--ease-out-4), stroke-dasharray var(--duration-moderate-2) var(--ease-out-4), color var(--duration-quick-2) var(--ease-1), opacity var(--duration-quick-2) var(--ease-1);
}
.owd-menu-toggle .owd-svg-burger__line--top, .owd-menu-toggle .owd-svg-burger__line--bottom {
  stroke-dasharray: 60 207;
  stroke-dashoffset: 0;
}
.owd-menu-toggle .owd-svg-burger__line--middle {
  stroke-dasharray: 60 60;
  stroke-dashoffset: 0;
  opacity: 1;
}
.owd-menu-toggle:focus {
  outline: none;
}
.owd-menu-toggle:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 84, 166, 0.25), 0 0 0 5px var(--colour-primary-400);
  border-radius: var(--radius-2);
}

/* ==========================================================================
   ACTIVE VECTOR MORPH STATES (.is-active)
   ========================================================================== */
.owd-menu-toggle.is-active {
  transform: translateY(-2rem);
  transition-delay: var(--duration-moderate-1);
}
.owd-menu-toggle.is-active .owd-svg-burger {
  transform: rotate(90deg);
  color: var(--colour-primary-400);
}
.owd-menu-toggle.is-active .owd-svg-burger__line--top, .owd-menu-toggle.is-active .owd-svg-burger__line--bottom {
  stroke-dasharray: 56 207;
  stroke-dashoffset: -149px;
}
.owd-menu-toggle.is-active .owd-svg-burger__line--middle {
  stroke-dashoffset: 60px;
  opacity: 0;
}

.owd-mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 1000;
  pointer-events: none;
  visibility: hidden;
  transition: visibility 0s var(--duration-gentle-1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.owd-mobile-nav__bg-split {
  position: absolute;
  inset: 0;
  display: flex;
  width: 100%;
  height: 100%;
}
.owd-mobile-nav__panel {
  min-height: 100%;
  transform: translate3d(0, -100%, 0);
  background-color: var(--colour-accent-400);
  transition: transform var(--duration-gentle-1) var(--ease-in-out-4);
}
.owd-mobile-nav__panel--left {
  width: 75%;
  transition-delay: 0.05s;
}
.owd-mobile-nav__panel--right {
  width: 25%;
  transition-delay: 0s;
}
.owd-mobile-nav__container {
  position: relative;
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* Reduce top/bottom padding slightly on actual mobile screens */
  padding: 0 var(--size-6) var(--size-6) var(--size-6);
  z-index: 2;
}
.owd-mobile-nav {
  /* --- NATIVE WORDPRESS GENERATED MENU STRINGS --- */
}
.owd-mobile-nav .owd-mobile-menu {
  list-style: none;
  padding: 0;
  margin: var(--size-6) 0 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--size-4);
}
.owd-mobile-nav .owd-mobile-menu .menu-item {
  overflow: hidden;
}
.owd-mobile-nav .owd-mobile-menu .menu-item a {
  display: inline-flex;
  align-items: baseline;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-fluid-4);
  font-weight: var(--font-weight-9);
  color: var(--colour-text);
  text-decoration: none !important;
  text-transform: uppercase;
  transform: translate3d(0, 140%, 0);
  transition: transform var(--duration-moderate-2) var(--ease-out-4);
}
.owd-mobile-nav .owd-mobile-menu .menu-item a:hover {
  color: var(--colour-primary-400);
}
.owd-mobile-nav {
  /* --- MOBILE NAV CTA BUTTON WRAPPER & SLIDE ANIMATION --- */
}
.owd-mobile-nav__cta {
  margin-top: var(--size-6);
  margin-bottom: var(--size-6);
  overflow: hidden;
}
.owd-mobile-nav__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--size-2);
  width: 100%;
  padding: 1rem 1.5rem;
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
  border-radius: 100px;
  box-shadow: 0 10px 25px rgba(0, 84, 166, 0.2);
  /* Entrance animation initial state (matches nav link slide) */
  transform: translate3d(0, 140%, 0);
  transition: transform var(--duration-moderate-2) var(--ease-out-4);
}
.owd-mobile-nav__footer {
  display: flex;
  flex-direction: column;
  gap: var(--size-1);
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  transition: transform var(--duration-moderate-2) var(--ease-out-4), opacity var(--duration-moderate-2) var(--ease-1);
}
.owd-mobile-nav__meta {
  font-size: var(--font-size-00);
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--colour-text);
  opacity: 0.75;
}
.owd-mobile-nav__email {
  color: var(--colour-text);
  font-weight: var(--font-weight-6);
  text-decoration: none;
}

/* ==========================================================================
   OPEN CONTROLS TRIGGER UPDATES
   ========================================================================== */
.owd-mobile-nav.nav-menu--open {
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.owd-mobile-nav.nav-menu--open .owd-mobile-nav__panel {
  transform: translate3d(0, 0, 0);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-nav__panel--left {
  transition-delay: 0s;
}
.owd-mobile-nav.nav-menu--open .owd-mobile-nav__panel--right {
  transition-delay: 0.05s;
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item a {
  transform: translate3d(0, 0, 0);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-nav__btn {
  transform: translate3d(0, 0, 0);
  transition-delay: 0.35s;
}
.owd-mobile-nav.nav-menu--open .owd-mobile-nav__footer {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  transition-delay: 0.45s;
}
.owd-mobile-nav.nav-menu--open .owd-mobile-nav__footer .email-icon-group {
  display: flex;
  align-items: center;
  gap: var(--size-2);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-nav__footer .email-icon-group iconify-icon {
  animation: contactIconSway 2s ease-in-out infinite;
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item:nth-child(1) a {
  transition-delay: calc(0.15s + 0 * 0.06s);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item:nth-child(2) a {
  transition-delay: calc(0.15s + 1 * 0.06s);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item:nth-child(3) a {
  transition-delay: calc(0.15s + 2 * 0.06s);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item:nth-child(4) a {
  transition-delay: calc(0.15s + 3 * 0.06s);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item:nth-child(5) a {
  transition-delay: calc(0.15s + 4 * 0.06s);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item:nth-child(6) a {
  transition-delay: calc(0.15s + 5 * 0.06s);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item:nth-child(7) a {
  transition-delay: calc(0.15s + 6 * 0.06s);
}
.owd-mobile-nav.nav-menu--open .owd-mobile-menu .menu-item:nth-child(8) a {
  transition-delay: calc(0.15s + 7 * 0.06s);
}

@keyframes contactIconSway {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-3px) rotate(-3deg);
  }
  50% {
    transform: translateY(0) rotate(0deg);
  }
  75% {
    transform: translateY(-3px) rotate(3deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}
.owd-portfolio {
  position: relative;
  padding: var(--size-10) var(--size-3);
  width: 100%;
  z-index: 2;
  background-color: var(--colour-white);
}
.owd-portfolio__container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.owd-portfolio__stack {
  display: flex;
  flex-direction: column;
  gap: var(--size-6);
  width: 100%;
}

.owd-portfolio-item {
  position: relative;
  background-color: var(--brand-color-light);
  border-radius: var(--radius-3);
  overflow: hidden;
  height: 46rem;
}
@media (max-width: 700px) {
  .owd-portfolio-item {
    height: 100%;
    min-height: 35rem;
  }
}
.owd-portfolio-item__wrapper {
  position: relative;
  height: 100%;
  background-image: radial-gradient(rgba(255, 255, 255, 0.25) 1.5px, transparent 1.5px);
  background-size: 24px 24px;
  background-position: 20px 20px;
  padding: var(--size-8);
  display: flex;
}
@media (max-width: 990px) {
  .owd-portfolio-item__wrapper {
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media (max-width: 700px) {
  .owd-portfolio-item__wrapper {
    padding: var(--size-7);
    padding-bottom: 0;
  }
}
.owd-portfolio-item__meta-features {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--brand-color);
  color: var(--brand-color-light);
  padding: var(--size-2) 0;
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  pointer-events: none;
}
.owd-portfolio-item__meta-features-track {
  display: inline-flex;
  gap: var(--size-4);
  padding-right: var(--size-4);
  animation: owdPortfolioMarquee 40s linear infinite;
}
.owd-portfolio-item__meta-features span {
  font-size: var(--font-size-00);
  font-weight: var(--font-weight-7);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brand-color-light);
  opacity: 0.85;
  display: inline-block;
}
.owd-portfolio-item__meta-features .divider {
  opacity: 0.3;
}
.owd-portfolio-item__content {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 25rem;
  height: 100%;
}
@media (max-width: 990px) {
  .owd-portfolio-item__content {
    max-width: 100%;
  }
}
.owd-portfolio-item__content .owd-btn {
  background-color: var(--brand-color);
}
.owd-portfolio-item__title {
  font-size: var(--font-size-8);
  line-height: var(--font-lineheight-0);
  text-wrap: nowrap;
  letter-spacing: -0.02em;
}
@media (max-width: 990px) {
  .owd-portfolio-item__title {
    text-wrap: wrap;
    font-size: var(--font-size-6);
    margin-top: var(--size-3);
  }
}
.owd-portfolio-item__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--size-2);
  margin-top: var(--size-3);
}
.owd-portfolio-item__tag {
  background-color: rgba(255, 255, 255, 0.75);
  padding: var(--size-2) var(--size-3);
  border-radius: var(--radius-round);
  font-size: var(--font-size-00);
  font-weight: var(--font-weight-5);
  text-transform: uppercase;
  letter-spacing: 2px;
  height: 40px;
  display: grid;
  place-content: center;
}
.owd-portfolio-item__tag--flag {
  display: flex;
  align-items: center;
  gap: var(--size-2);
  padding-left: var(--size-2);
}
.owd-portfolio-item__tag--flag img {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-round);
  -o-object-fit: cover;
     object-fit: cover;
}
.owd-portfolio-item__description {
  margin-top: auto;
  padding-block: var(--size-7);
  font-size: var(--font-size-1);
  max-width: 25rem;
}
.owd-portfolio-item__images {
  width: 44rem;
  max-width: calc(100% - 25rem);
  height: 100%;
  position: absolute;
  inset: 0% 0% auto auto;
}
@media (max-width: 990px) {
  .owd-portfolio-item__images {
    z-index: 1;
    flex-flow: column;
    width: 100%;
    max-width: 100%;
    margin-top: var(--size-8);
    display: flex;
    position: relative;
    top: auto;
  }
}
.owd-portfolio-item__image-container {
  z-index: 2;
  border: 5px solid var(--colour-white);
  border-radius: var(--radius-2);
  width: 67%;
  position: absolute;
  overflow: hidden;
  box-shadow: var(--shadow-3);
}
@media (max-width: 990px) {
  .owd-portfolio-item__image-container {
    position: relative;
    margin-bottom: -2rem;
  }
}
.owd-portfolio-item__image-container img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}
.owd-portfolio-item__image-container--front {
  bottom: -1%;
  left: 0;
  z-index: 2;
}
@media (max-width: 990px) {
  .owd-portfolio-item__image-container--front {
    max-width: 70%;
  }
}
.owd-portfolio-item__image-container--back {
  z-index: 1;
  width: 59%;
  top: -1%;
  right: -8%;
}
@media (max-width: 990px) {
  .owd-portfolio-item__image-container--back {
    position: absolute;
    top: -5%;
    right: 0;
  }
}

@keyframes owdPortfolioMarquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
.owd-pricing {
  position: relative;
  z-index: 2;
  background-color: var(--colour-white);
  padding: var(--size-10) var(--size-3);
  width: 100%;
}
@media (max-width: 768px) {
  .owd-pricing {
    padding: var(--size-8) var(--size-3);
  }
}
.owd-pricing__container {
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.owd-pricing__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--size-8);
  align-items: stretch;
  width: 100%;
}
@media (max-width: 850px) {
  .owd-pricing__grid {
    grid-template-columns: 1fr;
    gap: var(--size-6);
  }
}
.owd-pricing__note {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--colour-text);
  opacity: 0.85;
}
.owd-pricing__note a {
  color: var(--colour-primary-400);
  text-decoration: underline;
  font-weight: 600;
}
.owd-pricing__note a:hover {
  color: var(--colour-text-dark);
}
.owd-pricing__note .owd-pricing__subnote {
  font-size: var(--font-size-0);
  opacity: 0.8;
  margin-top: var(--size-3);
  margin-bottom: 0;
}

.owd-pricing-card {
  position: relative;
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.08);
  border-radius: 24px;
  padding: var(--size-8);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 10px 30px rgba(0, 84, 166, 0.02);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
@media (max-width: 768px) {
  .owd-pricing-card {
    padding: var(--size-6);
  }
}
.owd-pricing-card:hover {
  transform: translate3d(0, -4px, 0);
  box-shadow: 0 20px 40px rgba(0, 84, 166, 0.06);
}
.owd-pricing-card {
  /* Featured / Bespoke Card Styling */
}
.owd-pricing-card--featured {
  border-color: var(--colour-primary-400);
  border-width: 2px;
  box-shadow: 0 15px 35px rgba(0, 84, 166, 0.08);
}
.owd-pricing-card--featured .owd-pricing-card__amount {
  color: var(--colour-primary-400);
}
.owd-pricing-card__badge {
  position: absolute;
  top: -14px;
  right: var(--size-6);
  background-color: var(--colour-primary-400);
  color: #ffffff;
  font-family: var(--font-family-base, sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: var(--size-2) var(--size-4);
  border-radius: 100px;
  box-shadow: 0 4px 12px rgba(0, 84, 166, 0.2);
}
.owd-pricing-card__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: var(--size-6);
  border-bottom: 1px solid rgba(0, 84, 166, 0.06);
  padding-bottom: var(--size-6);
}
.owd-pricing-card__subtitle {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--colour-primary-400);
  margin-bottom: var(--size-1);
}
.owd-pricing-card__title {
  font-family: var(--font-family-heading);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-4);
}
.owd-pricing-card__price-wrap {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: var(--size-4);
}
.owd-pricing-card__from {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--colour-text);
  opacity: 0.7;
}
.owd-pricing-card__currency {
  font-family: var(--font-family-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--colour-text-dark);
}
.owd-pricing-card__amount {
  font-family: var(--font-family-heading);
  font-size: 2.75rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--colour-text-dark);
  line-height: 1;
}
.owd-pricing-card__period {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--colour-text);
  opacity: 0.6;
  margin-left: 2px;
}
.owd-pricing-card__desc {
  font-size: 0.925rem;
  line-height: 1.55;
  color: var(--colour-text);
  opacity: 0.85;
}
.owd-pricing-card__body {
  margin-bottom: var(--size-8);
  flex-grow: 1;
}
.owd-pricing-card__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--size-3);
}
.owd-pricing-card__features li {
  display: flex;
  align-items: flex-start;
  gap: var(--size-3);
  font-size: 0.925rem;
  color: var(--colour-text);
}
.owd-pricing-card__features li svg {
  color: var(--colour-primary-400);
  flex-shrink: 0;
  margin-top: 2px;
}
.owd-pricing-card__footer {
  width: 100%;
}
.owd-pricing-card__footer .owd-btn {
  width: 100%;
  justify-content: center;
}

.owd-reviews {
  position: relative;
  z-index: 2;
  padding: var(--size-10) var(--size-3);
  width: 100%;
  background: var(--colour-white);
}
@media (max-width: 768px) {
  .owd-reviews {
    padding: var(--size-8) var(--size-3);
  }
}
.owd-reviews__container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.owd-reviews__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--size-6);
  width: 100%;
}
@media (max-width: 850px) {
  .owd-reviews__grid {
    grid-template-columns: 1fr;
    gap: var(--size-5);
  }
}

.owd-review-card {
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.08);
  border-radius: 20px;
  padding: var(--size-7);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: var(--shadow-1);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, box-shadow 0.35s ease;
}
@media (max-width: 768px) {
  .owd-review-card {
    padding: var(--size-6);
  }
}
.owd-review-card:hover {
  transform: translate3d(0, -4px, 0);
  border-color: rgba(0, 84, 166, 0.18);
  box-shadow: 0 20px 40px rgba(0, 84, 166, 0.06);
}
.owd-review-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--size-3);
  margin-bottom: var(--size-4);
  flex-wrap: wrap;
}
.owd-review-card__stars {
  display: flex;
  gap: 2px;
  color: var(--colour-stars);
}
.owd-review-card__tag {
  font-size: var(--font-size-00);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--colour-primary-400);
  background-color: rgba(0, 84, 166, 0.05);
  padding: var(--size-1) var(--size-3);
  border-radius: 100px;
}
.owd-review-card__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-2);
  font-weight: var(--font-weight-7);
  line-height: var(--font-lineheight-2);
  color: var(--colour-text);
  margin-bottom: var(--size-3);
}
.owd-review-card__quote {
  font-size: 0.95rem;
  line-height: var(--font-lineheight-3);
  color: var(--colour-text);
  opacity: 0.9;
  margin-bottom: var(--size-6);
  flex-grow: 1;
}
.owd-review-card__author {
  display: flex;
  align-items: center;
  gap: var(--size-3);
  padding-top: var(--size-4);
  border-top: 1px solid rgba(0, 84, 166, 0.06);
}
.owd-review-card__avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  background-color: var(--colour-text);
  color: var(--colour-white);
  font-size: var(--font-size-0);
  font-weight: var(--font-weight-7);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.owd-review-card__author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.owd-review-card__name {
  font-family: var(--font-family-heading);
  font-size: 0.95rem;
  font-weight: var(--font-weight-7);
  color: var(--colour-text);
  line-height: var(--font-lineheight-1);
}
.owd-review-card__verified {
  font-size: var(--font-size-00);
  color: var(--colour-text);
  opacity: 0.6;
}

.owd-section-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--size-2);
}
.owd-section-header__subtitle {
  font-family: var(--font-family-base);
  font-size: var(--font-size-00);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: var(--font-weight-6);
  color: var(--colour-primary-400);
  opacity: 0.8;
  width: 100%;
  max-width: 80%;
  margin: 0 auto;
}
.owd-section-header__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-fluid-3);
  font-weight: var(--font-weight-6);
  line-height: var(--font-lineheight-1);
  letter-spacing: -0.01em;
  color: var(--colour-text);
  text-wrap: balance;
}
@media (max-width: 768px) {
  .owd-section-header__title {
    font-size: 1.75rem;
  }
}
.owd-section-header__lead {
  font-size: var(--font-size-3);
  line-height: var(--font-lineheight-3);
  color: var(--colour-text);
  opacity: 0.85;
  margin-top: var(--size-1);
}

/* ==========================================================================
   Section Background & Texture Utility Classes
   ========================================================================== */
/* 1. Subtle Off-White Tint
   Gives a soft contrast against pure white cards without adding busy patterns. */
.bg-subtle-tint {
  background-color: #f8fafc;
  border-top: 1px solid rgba(0, 84, 166, 0.05);
  border-bottom: 1px solid rgba(0, 84, 166, 0.05);
}

/* 2. Micro Dot Grid Pattern
   Adds an architectural, high-tech touch while staying ultra-subtle. */
.bg-dots {
  background-color: #f9fafb;
  background-image: radial-gradient(rgba(0, 84, 166, 0.08) 1.25px, transparent 1.25px);
  background-size: 20px 20px;
  background-position: center center;
  border-top: 1px solid rgba(0, 84, 166, 0.05);
  border-bottom: 1px solid rgba(0, 84, 166, 0.05);
}

/* 3. Subtle Technical Diagonal Lines
   Creates texture and movement without competing with your content. */
.bg-lines {
  background-color: #ffffff;
  background-image: repeating-linear-gradient(-45deg, rgba(0, 84, 166, 0.02) 0, rgba(0, 84, 166, 0.02) 1px, transparent 0, transparent 16px);
  border-top: 1px solid rgba(0, 84, 166, 0.05);
  border-bottom: 1px solid rgba(0, 84, 166, 0.05);
}

/* 4. Soft Brand Ambient Glows (Top Right & Bottom Left)
   Adds depth and focus using subtle radial blurs. Requires position: relative. */
.bg-ambient-glow {
  position: relative;
  overflow: hidden;
  background-color: #f8fafc;
}
.bg-ambient-glow::before, .bg-ambient-glow::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}
.bg-ambient-glow {
  /* Top Right Subtle Blue Glow */
}
.bg-ambient-glow::before {
  top: -100px;
  right: -100px;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(0, 84, 166, 0.06) 0%, rgba(0, 84, 166, 0) 70%);
}
.bg-ambient-glow {
  /* Bottom Left Soft Glow */
}
.bg-ambient-glow::after {
  bottom: -100px;
  left: -100px;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.08) 0%, rgba(56, 189, 248, 0) 70%);
}
.bg-ambient-glow {
  /* Keep container content above glows */
}
.bg-ambient-glow > .container {
  position: relative;
  z-index: 2;
}

/* 5. Deep Dark Accent Section
   Perfect for creating maximum contrast for key blocks like CTA or Reviews. */
.bg-dark-accent {
  background-color: var(--colour-text-dark, #0f172a);
  color: #ffffff;
}
.bg-dark-accent .owd-section-header__subtitle {
  color: var(--colour-primary-300, #38bdf8);
  background-color: rgba(255, 255, 255, 0.08);
}
.bg-dark-accent .owd-section-header__title {
  color: #ffffff;
}
.bg-dark-accent .owd-section-header__lead {
  color: rgba(255, 255, 255, 0.8);
}

.owd-process-cards {
  position: relative;
  padding: var(--size-10) var(--size-3);
  width: 100%;
  z-index: 2;
  background: var(--colour-white);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, var(--colour-white) 100%);
}
@media (max-width: 768px) {
  .owd-process-cards {
    padding: var(--size-8) var(--size-3);
  }
}
.owd-process-cards__container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.owd-process-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--size-6);
  width: 100%;
}
@media (max-width: 991px) {
  .owd-process-cards__grid {
    grid-template-columns: 1fr;
    gap: var(--size-6);
  }
}

.owd-process-card {
  position: relative;
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.08);
  border-radius: 20px;
  padding: var(--size-7) var(--size-7) 0 var(--size-7);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 84, 166, 0.02);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, box-shadow 0.35s ease;
}
@media (max-width: 768px) {
  .owd-process-card {
    padding: var(--size-6) var(--size-6) 0 var(--size-6);
  }
}
.owd-process-card {
  /* Giant Background Watermark Step Number */
}
.owd-process-card__watermark {
  position: absolute;
  top: 0;
  right: var(--size-4);
  font-family: var(--font-family-heading);
  font-size: 8.5rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.05em;
  color: rgba(0, 84, 166, 0.035);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  z-index: 1;
}
.owd-process-card {
  /* Header & Text Area */
}
.owd-process-card__header {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: var(--size-6);
}
.owd-process-card__icon {
  color: var(--colour-text-dark);
  margin-bottom: var(--size-4);
  display: flex;
  align-items: center;
  justify-content: center;
}
.owd-process-card__icon svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.75;
}
.owd-process-card__title {
  font-family: var(--font-family-heading);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-3);
}
@media (max-width: 768px) {
  .owd-process-card__title {
    font-size: 1.35rem;
  }
}
.owd-process-card__desc {
  color: var(--colour-text);
  opacity: 0.85;
}
.owd-process-card__desc a.owd-inline-link {
  color: var(--colour-primary-400);
  font-weight: var(--font-weight-6);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.owd-process-card__desc a.owd-inline-link:hover {
  color: var(--colour-primary-500);
}
.owd-process-card {
  /* Pinned Bottom Media Screen Wrapper */
}
.owd-process-card__media {
  position: relative;
  z-index: 2;
  width: calc(100% + (var(--size-7)) * 2);
  margin-left: calc(var(--size-7) * -1);
  margin-top: auto;
  height: 250px;
  overflow: hidden;
  background-color: #f8fafc;
}
@media (max-width: 768px) {
  .owd-process-card__media {
    width: calc(100% + var(--size-6) * 2);
    margin-right: calc(var(--size-6) * -1);
    height: 190px;
  }
}
.owd-process-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom center;
     object-position: bottom center;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.owd-process-card {
  /* Micro Hover Interactions */
}
.owd-process-card:hover {
  transform: translate3d(0, -5px, 0);
  border-color: rgba(0, 84, 166, 0.18);
  box-shadow: 0 20px 45px rgba(0, 84, 166, 0.07);
}
.owd-process-card:hover .owd-process-card__img {
  transform: translate3d(0, 16px, 0) scale(1.05);
}
.owd-process-card:hover .owd-process-card__watermark {
  color: rgba(0, 84, 166, 0.06);
}

.site-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  padding: var(--size-3);
  background-color: transparent;
  border-bottom: 1px solid transparent;
  transition: background-color 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), padding 0.35s ease;
}
.site-header:hover {
  background-color: var(--colour-white);
}
.site-header {
  /* Scrolled State */
}
.site-header--scrolled {
  background-color: var(--colour-white);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 84, 166, 0.08);
}
@media (max-width: 1000px) {
  .site-header {
    position: relative;
    background-color: transparent;
    box-shadow: none;
    border-bottom: none;
    top: 0 !important;
    z-index: unset;
  }
}
.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--size-3);
}
@media (max-width: 1000px) {
  .site-header .container {
    flex-direction: row-reverse;
    flex-wrap: wrap-reverse;
  }
}
.site-header .site-logo {
  width: 100%;
  max-width: 235px;
  position: relative;
  z-index: 100;
}
@media (max-width: 1000px) {
  .site-header .site-logo {
    max-width: none;
    margin-top: var(--size-7);
  }
}
@media (max-width: 1000px) {
  .site-header .site-logo a {
    display: block;
    max-width: 360px;
    margin: 0 auto;
  }
}
.site-header .main-navigation {
  position: relative;
}
@media (max-width: 1000px) {
  .site-header .main-navigation {
    display: none;
  }
}
.site-header .owd-menu-toggle {
  display: none;
}
@media (max-width: 1000px) {
  .site-header .owd-menu-toggle {
    display: grid;
  }
}
.site-header .cta-button-container {
  position: relative;
  z-index: 100;
}

body.admin-bar .site-header {
  top: var(--wp-admin--admin-bar--height);
}

.owd-logo-canvas {
  width: 100%;
  height: auto;
  shape-rendering: geometricPrecision;
  text-rendering: optimizeLegibility;
}
.owd-logo-canvas .owd-logo__blue-brand,
.owd-logo-canvas .owd-logo__text,
.owd-logo-canvas .owd-logo__blue-letters path {
  opacity: 0;
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  transform: translate3d(0, 20px, 0);
  animation: owdVectorRevealEngine 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}
.owd-logo-canvas .owd-logo__text {
  animation-delay: 0.1s;
}
.owd-logo-canvas .owd-logo__blue-brand {
  animation-delay: 0.22s;
}
.owd-logo-canvas .owd-logo__blue-letters path:nth-child(1) {
  animation-delay: calc(0.3s + 0 * 0.035s);
}
.owd-logo-canvas .owd-logo__blue-letters path:nth-child(2) {
  animation-delay: calc(0.3s + 1 * 0.035s);
}
.owd-logo-canvas .owd-logo__blue-letters path:nth-child(3) {
  animation-delay: calc(0.3s + 2 * 0.035s);
}
.owd-logo-canvas .owd-logo__blue-letters path:nth-child(4) {
  animation-delay: calc(0.3s + 3 * 0.035s);
}
.owd-logo-canvas .owd-logo__blue-letters path:nth-child(5) {
  animation-delay: calc(0.3s + 4 * 0.035s);
}
.owd-logo-canvas .owd-logo__blue-letters path:nth-child(6) {
  animation-delay: calc(0.3s + 5 * 0.035s);
}
.owd-logo-canvas .owd-logo__blue-letters path:nth-child(7) {
  animation-delay: calc(0.3s + 6 * 0.035s);
}
.owd-logo-canvas .owd-logo__blue-letters path:nth-child(8) {
  animation-delay: calc(0.3s + 7 * 0.035s);
}

@keyframes owdVectorRevealEngine {
  0% {
    opacity: 0;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    transform: translate3d(0, 20px, 0);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: translate3d(0, 0, 0);
  }
}
/* --- Accessibility Safeguard Override --- */
@media (prefers-reduced-motion: reduce) {
  .owd-logo-canvas .owd-logo__blue-brand,
  .owd-logo-canvas .owd-logo__text,
  .owd-logo-canvas .owd-logo__blue-letters path {
    animation: none !important;
    transform: none !important;
    clip-path: none !important;
    opacity: 1 !important;
  }
}
.owd-marquee {
  position: relative;
  background-color: var(--colour-accent-400);
  color: var(--colour-text);
  padding: var(--size-2) 0;
  overflow: hidden;
  width: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  z-index: 1000;
}
.owd-marquee:hover .owd-marquee__track {
  animation-play-state: paused;
}

.owd-marquee__inner {
  display: flex;
  width: -moz-max-content;
  width: max-content;
}

.owd-marquee__track {
  display: flex;
  flex-shrink: 0;
  white-space: nowrap;
  /* GPU acceleration for Firefox without forcing 3D text rasterization */
  will-change: transform;
  transform: translate3d(0, 0, 0);
  text-rendering: optimizeSpeed;
  /* Hardware-accelerated infinite animation */
  animation: owdScrollMarquee 50s linear infinite;
}

/* Individual padding item loop separation inside a track */
.owd-marquee__track span {
  font-family: var(--font-family-base);
  font-size: var(--font-size-00);
  letter-spacing: 1px;
  text-transform: uppercase;
  /* Replaces CSS 'gap' to eliminate Firefox subpixel flex jitter */
  margin-right: var(--size-8);
}

/* --- The Animation Logic Keyframe --- */
@keyframes owdScrollMarquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    /* Translates 1 full track width so Track 2 lands seamlessly at 0 */
    transform: translate3d(-100%, 0, 0);
  }
}
/* --- Accessibility Override --- */
@media (prefers-reduced-motion: reduce) {
  .owd-marquee__track {
    animation: none;
    white-space: normal;
    flex-wrap: wrap;
    will-change: auto;
  }
  .owd-marquee__inner {
    width: 100%;
    justify-content: center;
    padding: var(--size-2);
  }
  .owd-marquee__track span {
    margin-right: 0;
  }
}
.owd-support {
  position: relative;
  z-index: 2;
  background: var(--colour-white);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, var(--colour-white) 100%);
  padding: var(--size-10) var(--size-3);
  width: 100%;
}
@media (max-width: 768px) {
  .owd-support {
    padding: var(--size-8) var(--size-3);
  }
}
.owd-support__container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.owd-support__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--size-6);
  align-items: stretch;
  width: 100%;
}
@media (max-width: 991px) {
  .owd-support__grid {
    grid-template-columns: 1fr;
    gap: var(--size-6);
  }
}

.owd-support-card {
  position: relative;
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.08);
  border-radius: 24px;
  padding: var(--size-7);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 10px 30px rgba(0, 84, 166, 0.02);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
@media (max-width: 768px) {
  .owd-support-card {
    padding: var(--size-6);
  }
}
.owd-support-card:hover {
  transform: translate3d(0, -4px, 0);
  box-shadow: 0 20px 40px rgba(0, 84, 166, 0.06);
}
.owd-support-card--featured {
  border-color: var(--colour-primary-400);
  border-width: 2px;
  box-shadow: 0 15px 35px rgba(0, 84, 166, 0.08);
}
.owd-support-card--featured .owd-support-card__amount {
  color: var(--colour-primary-400);
}
.owd-support-card__badge {
  position: absolute;
  top: -14px;
  right: var(--size-6);
  background-color: var(--colour-primary-400);
  color: #ffffff;
  font-family: var(--font-family-base, sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: var(--size-2) var(--size-4);
  border-radius: 100px;
  box-shadow: 0 4px 12px rgba(0, 84, 166, 0.2);
}
.owd-support-card__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: var(--size-6);
  border-bottom: 1px solid rgba(0, 84, 166, 0.06);
  padding-bottom: var(--size-6);
}
.owd-support-card__subtitle {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--colour-primary-400);
  margin-bottom: var(--size-1);
}
.owd-support-card__title {
  font-family: var(--font-family-heading);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-4);
}
.owd-support-card__price-wrap {
  display: flex;
  align-items: baseline;
  gap: 2px;
  margin-bottom: var(--size-3);
}
.owd-support-card__currency {
  font-family: var(--font-family-heading);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--colour-text-dark);
}
.owd-support-card__amount {
  font-family: var(--font-family-heading);
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--colour-text-dark);
  line-height: 1;
}
.owd-support-card__period {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--colour-text);
  opacity: 0.6;
  margin-left: 2px;
}
.owd-support-card__desc {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--colour-text);
  opacity: 0.85;
}
.owd-support-card__body {
  margin-bottom: var(--size-8);
  flex-grow: 1;
}
.owd-support-card__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--size-3);
}
.owd-support-card__features li {
  display: flex;
  align-items: flex-start;
  gap: var(--size-3);
  font-size: 0.9rem;
  color: var(--colour-text);
}
.owd-support-card__features li svg {
  color: var(--colour-primary-400);
  flex-shrink: 0;
  margin-top: 2px;
}
.owd-support-card__footer {
  width: 100%;
}
.owd-support-card__footer .owd-btn {
  width: 100%;
  justify-content: center;
}

/* Pay As You Go Banner Card */
.owd-support-payg {
  background-color: rgba(0, 84, 166, 0.02);
  border: 1px solid rgba(0, 84, 166, 0.08);
  border-radius: 20px;
  padding: var(--size-7);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--size-8);
}
@media (max-width: 850px) {
  .owd-support-payg {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--size-6);
  }
}
.owd-support-payg__content {
  max-width: 650px;
}
.owd-support-payg__badge {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--colour-primary-400);
  background-color: #ffffff;
  border: 1px solid rgba(0, 84, 166, 0.1);
  padding: var(--size-1) var(--size-3);
  border-radius: 100px;
  display: inline-block;
  margin-bottom: var(--size-3);
}
.owd-support-payg__title {
  font-family: var(--font-family-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-2);
}
.owd-support-payg__desc {
  font-size: 0.925rem;
  line-height: 1.55;
  color: var(--colour-text);
  opacity: 0.85;
}
.owd-support-payg__action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--size-4);
  flex-shrink: 0;
}
@media (max-width: 850px) {
  .owd-support-payg__action {
    align-items: flex-start;
    width: 100%;
  }
  .owd-support-payg__action .owd-btn {
    width: 100%;
    justify-content: center;
  }
}
.owd-support-payg__price {
  display: flex;
  align-items: baseline;
  gap: var(--size-2);
}
.owd-support-payg__from {
  font-size: 0.85rem;
  color: var(--colour-text);
  opacity: 0.7;
}
.owd-support-payg__amount {
  font-family: var(--font-family-heading);
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--colour-text-dark);
}
.owd-support-payg__unit {
  font-size: 0.8rem;
  color: var(--colour-text);
  opacity: 0.6;
}

.owd-page-default {
  width: 100%;
}

/* Page Header / Hero Area */
.owd-page-header {
  background-color: #f8fafc;
  border-bottom: 1px solid rgba(0, 84, 166, 0.08);
  padding: var(--size-10) var(--size-3) var(--size-8) var(--size-3);
}
@media (max-width: 768px) {
  .owd-page-header {
    padding: var(--size-8) var(--size-3) var(--size-6) var(--size-3);
  }
}
.owd-page-header__container {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.owd-page-header__subtitle {
  font-family: var(--font-family-base, sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--colour-primary-400);
  background-color: rgba(0, 84, 166, 0.05);
  padding: var(--size-1) var(--size-3);
  border-radius: 100px;
  margin-bottom: var(--size-3);
}
.owd-page-header__title {
  font-family: var(--font-family-heading);
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--colour-text-dark);
  margin-bottom: var(--size-3);
}
@media (max-width: 768px) {
  .owd-page-header__title {
    font-size: 2rem;
  }
}
.owd-page-header__lead {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--colour-text);
  opacity: 0.85;
  margin-bottom: var(--size-4);
}
.owd-page-header__lead p {
  margin: 0;
}
.owd-page-header__meta {
  font-size: 0.85rem;
  color: var(--colour-text);
  opacity: 0.6;
  font-weight: 500;
}

/* Page Main Body Container */
.owd-page-content {
  padding: var(--size-10) var(--size-3);
}
@media (max-width: 768px) {
  .owd-page-content {
    padding: var(--size-8) var(--size-3);
  }
}
.owd-page-content__container {
  max-width: 860px;
  margin: 0 auto;
}

/* --------------------------------------------------------------------------
   Prose Typography Styling for Gutenberg / Standard Editor Content
   -------------------------------------------------------------------------- */
.owd-prose {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--colour-text);
}
.owd-prose > *:first-child {
  margin-top: 0;
}
.owd-prose {
  /* Headings */
}
.owd-prose h2,
.owd-prose h3,
.owd-prose h4,
.owd-prose h5,
.owd-prose h6 {
  font-family: var(--font-family-heading);
  color: var(--colour-text-dark);
  font-weight: 700;
  line-height: 1.3;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.owd-prose h2 {
  font-size: 1.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(0, 84, 166, 0.08);
}
@media (max-width: 768px) {
  .owd-prose h2 {
    font-size: 1.4rem;
  }
}
.owd-prose h3 {
  font-size: 1.35rem;
}
.owd-prose p {
  margin-bottom: 1.25rem;
}
.owd-prose {
  /* Lists */
}
.owd-prose ul,
.owd-prose ol {
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}
.owd-prose ul li,
.owd-prose ol li {
  margin-bottom: 0.5rem;
}
.owd-prose ul li::marker,
.owd-prose ol li::marker {
  color: var(--colour-primary-400);
}
.owd-prose {
  /* Links */
}
.owd-prose a {
  color: var(--colour-primary-400);
  text-decoration: underline;
  font-weight: 600;
  transition: color 0.2s ease;
}
.owd-prose a:hover {
  color: var(--colour-text-dark);
}
.owd-prose {
  /* Blockquotes */
}
.owd-prose blockquote {
  margin: 1.75rem 0;
  padding: 1rem 1.5rem;
  border-left: 4px solid var(--colour-primary-400);
  background-color: #f8fafc;
  border-radius: 0 12px 12px 0;
  font-style: italic;
  color: var(--colour-text-dark);
}
.owd-prose blockquote p:last-child {
  margin-bottom: 0;
}
.owd-prose {
  /* Tables */
}
.owd-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.95rem;
}
.owd-prose table th,
.owd-prose table td {
  padding: 0.75rem 1rem;
  border: 1px solid rgba(0, 84, 166, 0.1);
  text-align: left;
}
.owd-prose table th {
  background-color: #f8fafc;
  color: var(--colour-text-dark);
  font-weight: 700;
}

/*# sourceMappingURL=main.min.css.map*/