/*
Theme Name:   Leroux Child
Theme URI:    https://oneandonlyservices.com
Description:  Child theme for One & Only Services. Holds the site's design system
              (type scale, spacing scale, colour roles, button variants, motion)
              so customisations survive parent theme updates.
Author:       One & Only Services
Template:     leroux
Version:      2.3.3
Text Domain:  leroux-child
*/

/* ==========================================================================
   DESIGN TOKENS
   Single source of truth. Change a value here, it changes everywhere.
   ========================================================================== */

:root {

  /* ---- Colour -----------------------------------------------------------
     One accent (brass), one ink, one muted. The four near-identical darks
     that were in use (#20282D, #263037, #223035, #000) collapse to --oo-ink.
  ------------------------------------------------------------------------ */
  --oo-brass:        #B79B6F;   /* accent: eyebrows, active nav, primary CTA, rules */
  --oo-brass-deep:   #8A7346;   /* accent hover / pressed */
  --oo-brass-tint:   #F3EDE1;   /* accent wash for subtle fills */

  --oo-ink:          #223035;   /* all text, all dark grounds */
  --oo-ink-soft:     #5B6A70;   /* supporting copy */
  --oo-muted:        #8A979C;   /* captions, meta */

  --oo-ground:       #FFFFFF;   /* base ground */
  --oo-ground-warm:  #FAF8F5;   /* alternate section band */
  --oo-rule:         #E6E1D8;   /* hairlines */

  /* ---- Spacing scale ----------------------------------------------------
     8px base. Everything snaps to this. Replaces the 17 ad-hoc values.
  ------------------------------------------------------------------------ */
  --oo-space-1:  8px;
  --oo-space-2:  16px;
  --oo-space-3:  24px;
  --oo-space-4:  40px;
  --oo-space-5:  64px;
  --oo-space-6:  96px;    /* between sections, desktop */
  --oo-space-7:  128px;   /* major section breaks */

  /* ---- Type scale -------------------------------------------------------
     Fluid, so it scales with viewport instead of ignoring it.
  ------------------------------------------------------------------------ */
  --oo-text-display: clamp(32px, 5.2vw, 56px);
  --oo-text-h2:      clamp(26px, 3.4vw, 38px);
  --oo-text-h3:      clamp(22px, 2.4vw, 28px);
  --oo-text-h4:      21px;
  --oo-text-h5:      18px;
  --oo-text-h6:      16px;
  --oo-text-body:    17px;
  --oo-text-small:   14px;
  --oo-text-eyebrow: 12px;

  --oo-leading-tight: 1.12;
  --oo-leading-snug:  1.3;
  --oo-leading-body:  1.65;

  /* ---- Font families ----------------------------------------------------
     The theme's intended pairing: DM Sans for headings, Heebo for body.
     Named here so Elementor widgets can be pointed at them rather than
     inheriting Roboto from Elementor's global kit.
  ------------------------------------------------------------------------ */
  --oo-font-heading: "DM Sans", system-ui, -apple-system, sans-serif;
  --oo-font-body:    "Heebo", system-ui, -apple-system, sans-serif;

  /* ---- Motion -----------------------------------------------------------
     One duration, one easing. Replaces the six competing speeds.
  ------------------------------------------------------------------------ */
  --oo-duration: 240ms;
  --oo-ease:     cubic-bezier(.2, .6, .2, 1);

  /* ---- Form -------------------------------------------------------------
     Overrides plugin defaults that shipped unbranded colours.
  ------------------------------------------------------------------------ */
  --oo-radius: 3px;
}

/* ========================================================================== 
   UNIFIED LIGHT SURFACES + COMPLETE FOOTER — v1.4
   White and cool-neutral panels replace the beige layer. Every major section
   remains visually separate, and the existing official social profiles are
   mirrored into the previously empty footer social column by functions.php.
   ======================================================================= */

.oo-design-system,
.oo-design-system #qodef-page-outer,
.oo-design-system #qodef-page-inner {
  background: #fff;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-5b00fb3 {
  background-color: #fff !important;
  background-image: none !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-9d122b1,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
  background: #f5f7f7 !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-f65eb2f,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 {
  background: #fff !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-f65eb2f,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-9d122b1,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
  margin-top: clamp(28px, 3vw, 44px) !important;
  border: 1px solid #e3e8e8;
  border-radius: 24px;
  box-shadow: 0 20px 56px -48px rgba(24, 35, 39, .42);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
  overflow: hidden;
}

.oo-design-system .elementor-11066 .oo-service-card,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-79bc59c,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-a9816a6 {
  background: #fff;
  border-color: #dde3e3;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2cb6483 {
  background: #fff;
  border-color: #dde3e3;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-ad90326,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-a6aac60 {
  background: #f6f8f8;
  border-color: #e0e5e5;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 article.qodef-blog-item > .qodef-e-inner {
  background: #f7f9f9;
  border-color: #dfe5e5;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .entry-date {
  background: #eef2f2 !important;
  border-color: #dce3e3;
}

/* One footer system: same ground, equal columns, no hidden content-bearing
   widgets, and a visible social row using the site's existing profile links. */
.oo-design-system #qodef-content-bottom,
.oo-design-system #qodef-page-footer,
.oo-design-system #qodef-page-footer-top-area,
.oo-design-system #qodef-page-footer-bottom-area,
.oo-design-system #qodef-page-footer-copyright-area {
  background: #192629 !important;
}

.oo-design-system #qodef-content-bottom {
  margin-top: clamp(32px, 4vw, 56px);
  border-top: 3px solid var(--oo-brass);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.oo-design-system #qodef-page-footer-top-area,
.oo-design-system #qodef-page-footer-bottom-area,
.oo-design-system #qodef-page-footer-copyright-area {
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.oo-design-system #qodef-page-footer-top-area-inner,
.oo-design-system #qodef-page-footer-bottom-area-inner,
.oo-design-system #qodef-page-footer-copyright-area-inner,
.oo-design-system #qodef-content-bottom-inner {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
}

.oo-design-system #qodef-page-footer-top-area-inner {
  padding: 38px 0;
}

.oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-inner {
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr);
  gap: 48px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner {
  padding: 42px 0 46px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:first-child {
  display: none;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:not(:first-child) {
  display: block;
  width: auto !important;
  min-width: 0;
  min-height: 172px;
  padding: 24px;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:not(:first-child) .widget {
  width: 100%;
  max-width: none;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:not(:first-child) a {
  overflow-wrap: anywhere;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-m-title {
  margin-bottom: 18px;
}

.oo-design-system #qodef-page-footer .oo-footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.oo-design-system #qodef-page-footer .oo-footer-socials .qodef-icon-holder {
  margin: 0 !important;
}

.oo-design-system #qodef-page-footer .oo-footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  color: #fff !important;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  transition: color var(--oo-duration) var(--oo-ease), background var(--oo-duration) var(--oo-ease), border-color var(--oo-duration) var(--oo-ease), transform var(--oo-duration) var(--oo-ease);
}

/* Keep the actual anchors above the footer cards' decorative layers. */
.oo-design-system #qodef-page-footer .oo-footer-socials,
.oo-design-system #qodef-page-footer .oo-footer-socials .qodef-icon-holder,
.oo-design-system #qodef-page-footer .oo-footer-socials a {
  position: relative;
  z-index: 3;
  pointer-events: auto !important;
}

.oo-design-system #qodef-page-footer .oo-footer-socials a:hover {
  color: #192629 !important;
  background: var(--oo-brass);
  border-color: var(--oo-brass);
  transform: translateY(-2px);
}

.oo-design-system #qodef-page-footer-copyright-area-inner {
  padding: 18px 0 20px;
}

.oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-inner {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 16px 30px;
  justify-content: stretch;
}

.oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-item:last-child {
  justify-self: end;
}

@media (max-width: 1024px) {
  .oo-design-system #qodef-page-footer-top-area-inner,
  .oo-design-system #qodef-page-footer-bottom-area-inner,
  .oo-design-system #qodef-page-footer-copyright-area-inner {
    padding-inline: 32px;
  }
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-f65eb2f,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-9d122b1,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
    margin-top: 24px !important;
    border-radius: 18px;
  }

  .oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-inner,
  .oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-inner,
  .oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-inner {
    grid-template-columns: 1fr !important;
  }

  .oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-item:last-child::before {
    margin-left: 0;
    text-align: left;
  }

  .oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:not(:first-child) {
    min-height: 0;
  }

  .oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-item:last-child {
    justify-self: start;
  }
}

/* Proof block responsive composition.
   Stack before the columns become cramped, let content determine the first
   row's height, and reserve a native-ratio row for the complete photograph. */
@media (max-width: 1024px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
    padding: 72px 24px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
    min-height: 0;
    aspect-ratio: auto;
    background-size: 100% auto !important;
    background-position: center bottom !important;
    border-radius: 20px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
    min-height: 0 !important;
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7a331d9 {
    width: 100%;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 {
    min-height: 240px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 > .elementor-widget-wrap {
    display: grid !important;
    grid-template-columns: minmax(160px, .65fr) minmax(0, 1fr);
    align-content: center;
    align-items: center;
    gap: 24px;
    padding: 32px 40px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a {
    height: auto !important;
    margin: 0 !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a .qodef-m-canvas-holder,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a .qodef-m-canvas,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a canvas {
    width: 160px !important;
    height: 160px !important;
    max-width: 100%;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit-wrapper {
    font-size: clamp(64px, 11vw, 96px);
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7a331d9 {
    min-height: 0;
    aspect-ratio: 1840 / 840;
  }
}

@media (max-width: 600px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
    padding: 48px 16px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
    border-radius: 16px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 {
    min-height: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 > .elementor-widget-wrap {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 14px;
    padding: 28px 24px 32px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a {
    margin-bottom: 0 !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a .qodef-m-canvas-holder,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a .qodef-m-canvas,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a canvas {
    width: 136px !important;
    height: 136px !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-counter {
    text-align: center;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit-wrapper {
    font-size: clamp(62px, 22vw, 84px);
  }
}

/* Proof block responsive composition.
   Stack before the columns become cramped, let content determine the first
   row's height, and reserve a native-ratio row for the complete photograph. */
@media (max-width: 1024px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
    padding: 72px 24px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
    min-height: 0;
    aspect-ratio: auto;
    background-size: 100% auto !important;
    background-position: center bottom !important;
    border-radius: 20px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
    min-height: 0 !important;
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7a331d9 {
    width: 100%;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 {
    min-height: 240px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 > .elementor-widget-wrap {
    display: grid !important;
    grid-template-columns: minmax(160px, .65fr) minmax(0, 1fr);
    align-content: center;
    align-items: center;
    gap: 24px;
    padding: 32px 40px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a {
    height: auto !important;
    margin: 0 !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a .qodef-m-canvas-holder,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a .qodef-m-canvas,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a canvas {
    width: 160px !important;
    height: 160px !important;
    max-width: 100%;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit-wrapper {
    font-size: clamp(64px, 11vw, 96px);
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7a331d9 {
    min-height: 0;
    aspect-ratio: 1840 / 840;
  }
}

@media (max-width: 600px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
    padding: 48px 16px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
    border-radius: 16px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 {
    min-height: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 > .elementor-widget-wrap {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 14px;
    padding: 28px 24px 32px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a {
    margin-bottom: 0 !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a .qodef-m-canvas-holder,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a .qodef-m-canvas,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a canvas {
    width: 136px !important;
    height: 136px !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-counter {
    text-align: center;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit-wrapper {
    font-size: clamp(62px, 22vw, 84px);
  }
}

/* v1.5 — retire the redundant side drawer after relocating its unique content. */
.oo-design-system .qodef-side-area-opener,
.oo-design-system #qodef-side-area {
  display: none !important;
}

.oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-item:last-child::before {
  display: none;
}

.oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-inner {
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.8fr);
  gap: clamp(34px, 5vw, 72px);
}

.oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 290px);
  align-items: center;
  gap: clamp(24px, 3vw, 42px);
}

.oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story p {
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 500;
  line-height: 1.65;
}

.oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story img {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
}

@media (max-width: 900px) {
  .oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-inner,
  .oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story {
    grid-template-columns: 1fr;
  }

  .oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story img {
    max-width: 520px;
    height: clamp(180px, 42vw, 250px);
  }
}

/* ========================================================================== 
   PREMIUM HOMEPAGE COMPOSITION — v1.3
   Presentation-only refinements for testimonials, proof, insights, contact,
   footer and navigation. Existing copy, media, links and form fields remain.
   ======================================================================= */

/* Give the major homepage bands an intentional transition instead of making
   adjacent Elementor backgrounds read as one continuous slab. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
  position: relative;
  isolation: isolate;
  margin: 0;
  border-top: 1px solid rgba(34, 48, 53, .1);
}

/* Client stories: editorial label at left, contained quote card at right. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
  padding: 96px clamp(32px, 6.25vw, 80px) 104px;
  background: #f3f0e9 !important;
  overflow: visible;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 > .elementor-container {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b315a14 > .elementor-widget-wrap {
  display: grid;
  grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 64px);
  align-items: start;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b315a14 > .elementor-widget-wrap::before {
  content: "CLIENT STORIES";
  display: block;
  padding-top: 18px;
  color: var(--oo-brass-deep);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
  border-top: 2px solid var(--oo-brass);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 {
  width: 100%;
  max-width: none;
  margin: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 > .elementor-widget-container,
.oo-design-system .elementor-11066 .qodef-testimonials-list {
  width: 100%;
  max-width: none;
  overflow: hidden;
  border-radius: 24px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list {
  background: linear-gradient(145deg, #26363b 0%, #1e2a2e 100%);
  box-shadow: 0 28px 70px -38px rgba(20, 30, 33, .72);
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-slide {
  height: auto;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
  min-height: 404px;
  height: 100%;
  padding: 48px 54px 94px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 24px;
  box-shadow: inset 0 1px rgba(255, 255, 255, .04);
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner::before {
  content: "\201C";
  display: block;
  position: static;
  width: auto;
  height: 44px;
  margin-bottom: 18px;
  color: var(--oo-brass);
  font-family: Georgia, serif;
  font-size: 74px;
  line-height: .9;
  opacity: .9;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
  max-width: 62ch;
  margin: 0 0 24px;
  padding: 0;
  color: #fff;
  font-size: clamp(18px, 1.55vw, 22px);
  font-weight: 400;
  line-height: 1.52;
  letter-spacing: -.015em;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-testimonials-rating svg {
  fill: var(--oo-brass);
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-author-name,
.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-author-job {
  color: #fff;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-testimonials-list-nav,
.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-testimonials-list-nav-inner {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
  display: flex !important;
  align-items: center;
  justify-content: center;
  top: auto !important;
  bottom: 34px !important;
  width: 48px !important;
  height: 48px !important;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  pointer-events: auto;
  z-index: 6;
  transition: background var(--oo-duration) var(--oo-ease), border-color var(--oo-duration) var(--oo-ease), transform var(--oo-duration) var(--oo-ease);
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev {
  left: auto !important;
  right: 88px !important;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
  right: 32px !important;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev:hover,
.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next:hover {
  background: var(--oo-brass);
  border-color: var(--oo-brass);
  transform: translateY(-2px);
}

/* Proof block: a compact dark statistics panel on the left and the retained
   office image on the right. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
  width: 100%;
  max-width: none;
  padding: 96px clamp(32px, 6.25vw, 80px);
  background: #fff;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 > .elementor-container {
  max-width: 1100px;
  margin-inline: auto;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
  min-height: 500px;
  overflow: hidden;
  background-color: var(--oo-ink) !important;
  background-size: 64% auto !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(34, 48, 53, .12);
  border-radius: 24px;
  box-shadow: 0 30px 70px -42px rgba(24, 35, 39, .58);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
  min-height: 500px !important;
  height: 100%;
  display: grid;
  grid-template-columns: 36% 64%;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7a331d9 {
  width: auto;
  min-width: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 {
  background: linear-gradient(150deg, #26363b 0%, #182327 100%);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 > .elementor-widget-wrap {
  align-content: center;
  padding: 56px 46px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 {
  width: 100%;
  max-width: none;
  margin: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-854241a {
  margin-bottom: 24px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-digit-wrapper {
  color: #fff;
  font-size: clamp(76px, 8vw, 118px);
  line-height: .88;
  letter-spacing: -.06em;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-59cb989 .qodef-m-title {
  margin-top: 18px;
  color: rgba(255, 255, 255, .72);
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Insights: three real cards with a usable date badge and consistent action. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 {
  padding: 104px clamp(32px, 6.25vw, 80px) 112px;
  background: #f3f0e9;
  color: var(--oo-ink);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 > .elementor-container {
  max-width: 1100px;
  margin-inline: auto;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-64d28ec {
  margin-bottom: 36px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 .qodef-m-title,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 .qodef-e-title-link {
  color: var(--oo-ink);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-grid-inner {
  gap: 20px;
  margin: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 article.qodef-blog-item {
  width: auto;
  padding: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 article.qodef-blog-item > .qodef-e-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 320px;
  padding: 30px 28px 28px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(34, 48, 53, .12);
  border-radius: 18px;
  box-shadow: 0 24px 48px -40px rgba(24, 35, 39, .7);
  overflow: hidden;
  transition: transform var(--oo-duration) var(--oo-ease), border-color var(--oo-duration) var(--oo-ease), box-shadow var(--oo-duration) var(--oo-ease);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 article.qodef-blog-item > .qodef-e-inner:hover {
  transform: translateY(-5px);
  border-color: rgba(183, 155, 111, .58);
  box-shadow: 0 30px 56px -38px rgba(24, 35, 39, .48);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .entry-date {
  position: static;
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  align-self: flex-start;
  min-width: 0;
  margin-bottom: 28px;
  padding: 9px 12px;
  color: var(--oo-ink);
  background: rgba(183, 155, 111, .16);
  border: 1px solid rgba(183, 155, 111, .28);
  border-radius: 999px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-day,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-month {
  color: inherit;
  font-size: 13px;
  line-height: 1;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-day {
  font-weight: 700;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-e-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-e-info a {
  color: var(--oo-muted);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-e-title {
  margin-top: 12px;
  font-size: clamp(20px, 1.7vw, 25px);
  line-height: 1.25;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-e-bottom-holder {
  margin-top: auto;
  padding-top: 28px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .qodef-button {
  min-height: 0;
  padding: 0;
  color: var(--oo-brass-deep);
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Contact: the photograph and the form are now two distinct surfaces. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
  padding: 104px clamp(32px, 6.25vw, 80px);
  background: #fff !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 > .elementor-container {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  gap: 24px;
  max-width: 1100px;
  min-height: 640px;
  margin-inline: auto;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-5798bb8,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-2cb6483 {
  width: auto;
  min-width: 0;
  border-radius: 22px;
  overflow: hidden;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-5798bb8 {
  min-height: 640px;
  background-image: linear-gradient(180deg, rgba(18, 27, 31, .04), rgba(18, 27, 31, .24)), url("https://oneandonlyservices.com/wp-content/uploads/2025/10/pexels-iamllwyd-33709887-scaled.jpg");
  background-position: center;
  background-size: cover;
  box-shadow: 0 26px 64px -44px rgba(24, 35, 39, .65);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-5798bb8 .elementor-widget-spacer {
  height: 100%;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2cb6483 {
  background: #f3f0e9;
  border: 1px solid rgba(34, 48, 53, .1);
  box-shadow: 0 28px 64px -44px rgba(24, 35, 39, .55);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2cb6483 > .elementor-widget-wrap {
  align-content: center;
  padding: 52px 48px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b332ea7,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-ad90326,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-a6aac60,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b332ea7 {
  margin-bottom: 22px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-ad90326,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-a6aac60 {
  margin-bottom: 16px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, .56);
  border: 1px solid rgba(34, 48, 53, .09);
  border-radius: 12px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 {
  margin-top: 12px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 .qodef-cf7-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 .qodef-input-holder {
  width: auto;
  margin: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 input[type="text"],
.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 input[type="email"],
.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 input[type="tel"],
.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 textarea {
  min-height: 56px;
  padding: 15px 16px;
  color: var(--oo-ink);
  background: #fff;
  border: 1px solid rgba(34, 48, 53, .16);
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(34, 48, 53, .025);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 textarea {
  min-height: 140px;
  resize: vertical;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 input:focus,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 textarea:focus {
  border-color: var(--oo-brass);
  outline: 3px solid rgba(183, 155, 111, .18);
  outline-offset: 0;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 .qodef-button,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 .wpcf7-submit {
  min-width: 150px;
  margin-top: 16px;
  border-radius: 10px;
}

/* Premium dropdown surface — one dark panel, never a blank white box. */
.oo-design-system .qodef-header-navigation li.qodef-menu-item--narrow > .qodef-drop-down-second .qodef-drop-down-second-inner > ul {
  min-width: 290px;
  padding: 12px;
  background: rgba(28, 41, 45, .98);
  border: 1px solid rgba(255, 255, 255, .08);
  border-top: 3px solid var(--oo-brass);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 28px 60px -22px rgba(12, 20, 23, .72);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second {
  background: rgba(28, 41, 45, .985);
  border-top-color: var(--oo-brass);
  box-shadow: 0 28px 60px -24px rgba(12, 20, 23, .7);
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a {
  min-height: 46px;
  padding: 13px 18px;
  color: rgba(255, 255, 255, .76);
  border-radius: 9px;
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li + li {
  margin-top: 3px;
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a:hover {
  padding-left: 28px;
  color: #fff;
  background: rgba(183, 155, 111, .13);
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a::before {
  left: 14px;
}

.oo-design-system li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul > li > a {
  color: var(--oo-brass);
  border-bottom-color: rgba(183, 155, 111, .28);
  border-radius: 0;
}

/* Footer and the service/contact strip now form one compact, ordered ending. */
.oo-design-system #qodef-content-bottom {
  padding: 24px clamp(32px, 6.25vw, 80px);
  background: #172225;
  border-top: 3px solid var(--oo-brass);
}

.oo-design-system #qodef-content-bottom-inner {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
  padding: 0;
}

.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}

.oo-design-system #qodef-content-bottom .menu {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
}

.oo-design-system #qodef-content-bottom .menu li a {
  padding: 8px 0;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
}

.oo-design-system #qodef-content-bottom .menu li a:hover {
  color: var(--oo-brass);
}

.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: flex-end;
}

.oo-design-system #qodef-content-bottom .qodef-icon-list-item a {
  color: #fff;
  font-size: 13px;
}

.oo-design-system #qodef-page-footer,
.oo-design-system #qodef-page-footer-top-area,
.oo-design-system #qodef-page-footer-bottom-area,
.oo-design-system #qodef-page-footer-copyright-area {
  background: #202d31;
}

.oo-design-system #qodef-page-footer-top-area,
.oo-design-system #qodef-page-footer-bottom-area,
.oo-design-system #qodef-page-footer-copyright-area {
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.oo-design-system #qodef-page-footer-top-area-inner,
.oo-design-system #qodef-page-footer-bottom-area-inner,
.oo-design-system #qodef-page-footer-copyright-area-inner {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
  padding-inline: 0;
}

.oo-design-system #qodef-page-footer-top-area-inner {
  padding-top: 42px;
  padding-bottom: 34px;
}

.oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-inner {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 48px;
}

.oo-design-system #qodef-page-footer-top-area-inner .wp-image-11815 {
  display: block;
  width: auto;
  height: 68px;
  opacity: .94;
}

.oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-item:last-child::before {
  content: "Business, legal and lifestyle excellence in the UAE.";
  display: block;
  max-width: 440px;
  margin-left: auto;
  color: rgba(255, 255, 255, .58);
  font-size: 14px;
  line-height: 1.6;
  text-align: right;
}

.oo-design-system #qodef-page-footer-bottom-area-inner {
  padding-top: 46px;
  padding-bottom: 50px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-inner {
  display: grid;
  grid-template-columns: 1fr 1.35fr .7fr;
  gap: 24px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:first-child {
  display: none;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item {
  width: auto;
  min-width: 0;
  padding: 0;
}

.oo-design-system #qodef-page-footer-bottom-area .qodef-m-title {
  margin-bottom: 16px;
  color: var(--oo-brass);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.oo-design-system #qodef-page-footer-bottom-area a {
  color: rgba(255, 255, 255, .82) !important;
  font-size: 14px;
  line-height: 1.7;
}

.oo-design-system #qodef-page-footer-copyright-area-inner {
  padding-top: 20px;
  padding-bottom: 22px;
}

.oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 30px;
  align-items: center;
  justify-content: flex-end;
}

.oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-item {
  width: auto;
  padding: 0;
}

.oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-item:first-child {
  display: none;
}

.oo-design-system #qodef-page-footer-copyright-area a {
  color: rgba(255, 255, 255, .5);
  font-size: 12px !important;
}

@media (max-width: 1024px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-b315a14 > .elementor-widget-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-b315a14 > .elementor-widget-wrap::before {
    max-width: 180px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 > .elementor-container {
    grid-template-columns: 1fr 1fr;
  }

  .oo-design-system #qodef-page-footer-top-area-inner,
  .oo-design-system #qodef-page-footer-bottom-area-inner,
  .oo-design-system #qodef-page-footer-copyright-area-inner {
    padding-inline: 32px;
  }
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
    padding: 64px 0 72px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
    padding: 72px 24px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
    padding: 64px 0 72px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
    min-height: 0;
    padding: 30px 24px 88px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
    font-size: 15px;
    line-height: 1.42;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner::before {
    height: 30px;
    margin-bottom: 10px;
    font-size: 54px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    bottom: 28px !important;
    width: 42px !important;
    height: 42px !important;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev {
    right: 72px !important;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    right: 22px !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
    min-height: 0;
    aspect-ratio: auto;
    background-size: 100% auto !important;
    background-position: center bottom !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
    min-height: 680px !important;
    grid-template-columns: 1fr;
    grid-template-rows: 52% 48%;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-32413e3 > .elementor-widget-wrap {
    padding: 36px 30px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 .qodef-grid-inner {
    gap: 16px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 article.qodef-blog-item > .qodef-e-inner {
    min-height: 280px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 > .elementor-container {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-5798bb8 {
    min-height: 380px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2cb6483 > .elementor-widget-wrap {
    padding: 38px 26px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-b198803 .qodef-cf7-columns {
    grid-template-columns: 1fr;
  }

  .oo-design-system #qodef-content-bottom {
    padding: 28px 24px;
  }

  .oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner {
    grid-template-columns: 1fr;
  }

  .oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child {
    flex-direction: column;
    align-items: flex-start;
  }

  .oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-inner,
  .oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-item:last-child::before {
    margin-left: 0;
    text-align: left;
  }

  .oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-inner {
    align-items: flex-start;
    justify-content: flex-start;
  }
}

/* Override the plugin colour variables that had nothing to do with the brand:
   Contact Form 7 addon shipped purple, the booking plugin green, Swiper iOS blue. */
:root {
  --uacf7-global-color-primary:   var(--oo-brass);
  --uacf7-global-button-color:    var(--oo-brass);
  --uacf7-global-text-color-secondary: var(--oo-ink);
  --uacf7-global-border-color:    var(--oo-rule);
  --uacf7-border-radius:          var(--oo-radius);

  --tfhb-primary-color:           var(--oo-brass);
  --tfhb-primary-hover-color:     var(--oo-brass-deep);
  --tfhb-secondary-color:         var(--oo-ink);
  --tfhb-paragraph-color:         var(--oo-ink-soft);
  --tfhb-text-title-color:        var(--oo-ink);

  --swiper-theme-color:           var(--oo-brass);

  /* Consolidate the theme's own dark onto the single ink token */
  --qode-main-color:              var(--oo-ink);
  --qode-header-light-hover-color: var(--oo-brass);
  --qode-header-dark-hover-color:  var(--oo-brass);
}


/* ==========================================================================
   TYPOGRAPHY
   Was: every heading weight 400–500, no fluid scaling, 15px body.
   Now: real weight contrast, fluid sizing, readable body.
   ========================================================================== */

body,
p {
  font-size: var(--oo-text-body);
  line-height: var(--oo-leading-body);
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.qodef-m-title {
  font-weight: 600;
  text-wrap: balance;
}

h1, .elementor-widget-heading h1.elementor-heading-title {
  font-size: var(--oo-text-display);
  line-height: var(--oo-leading-tight);
  letter-spacing: -.02em;
}

h2, .elementor-widget-heading h2.elementor-heading-title {
  font-size: var(--oo-text-h2);
  line-height: var(--oo-leading-snug);
  letter-spacing: -.01em;
}

h3, .elementor-widget-heading h3.elementor-heading-title {
  font-size: var(--oo-text-h3);
  line-height: var(--oo-leading-snug);
}

h4, .elementor-widget-heading h4.elementor-heading-title { font-size: var(--oo-text-h4); }
h5, .elementor-widget-heading h5.elementor-heading-title { font-size: var(--oo-text-h5); }
h6, .elementor-widget-heading h6.elementor-heading-title { font-size: var(--oo-text-h6); }

/* Elementor's global kit sets Roboto as the default face, which text-editor
   widgets inherit — so body copy written in Elementor rendered in Roboto while
   the surrounding theme copy rendered in Heebo. Pointing Elementor's text
   widgets at the brand faces fixes the mismatch and is what makes it safe to
   drop the Roboto font files entirely (see functions.php). */
.oo-design-system .elementor-widget-text-editor,
.oo-design-system .elementor-widget-text-editor p,
.oo-design-system .elementor-widget-text-editor li,
.oo-design-system .elementor-widget-theme-post-content p,
.oo-design-system .elementor-widget-icon-list .elementor-icon-list-text {
  font-family: var(--oo-font-body);
}

.oo-design-system .elementor-heading-title,
.oo-design-system .elementor-widget-heading .elementor-heading-title {
  font-family: var(--oo-font-heading);
}

/* Bold and italic runs keep the face of the sentence they sit in. */
strong, b, em, i {
  font-family: inherit;
}

strong, b {
  font-weight: 600;
}

/* Comfortable measure. Was swinging between 24 and 73 characters per line. */
.elementor-widget-text-editor p,
.qodef-m-text,
.entry-content p {
  max-width: 68ch;
}

/* Brass uppercase eyebrow — a section label treatment the site did not have.
   Apply by adding class "oo-eyebrow" to a heading or text widget. */
.oo-eyebrow {
  font-size: var(--oo-text-eyebrow) !important;
  font-weight: 500 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--oo-brass) !important;
  line-height: 1.4;
}


/* ==========================================================================
   BUTTONS
   Was: 8 distinct styles across 23 buttons, several unstyled at browser default.
   Now: 3 roles, one radius, brass primary.
   ========================================================================== */

/* The .oo-design-system body class (added in functions.php) raises specificity
   so these win over the parent theme without needing !important. The theme's
   own layout modifiers map onto the three roles as follows:
     .qodef-layout--filled    -> primary
     .qodef-layout--outlined  -> secondary
     .qodef-layout--arrow     -> tertiary                                    */

.oo-design-system .qodef-button,
.oo-design-system .elementor-button,
.oo-design-system .wpcf7-submit,
.oo-design-system input[type="submit"] {
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  border: 1px solid transparent;
  transition: background-color var(--oo-duration) var(--oo-ease),
              border-color     var(--oo-duration) var(--oo-ease),
              color            var(--oo-duration) var(--oo-ease);
}

/* --- Primary -------------------------------------------------------------
   Solid brass. Was a translucent white "blur" fill that read as secondary
   even on the hero, leaving no visually dominant action anywhere on the page.

   Specificity note: leroux-core.min.css sets the pill radius and fill at
   .qodef-button.qodef-layout--filled.qodef-html--link (0,3,0). The
   .oo-design-system prefix plus the same chain gives 0,4,0, which wins
   cleanly without !important.                                            */

.oo-design-system .qodef-button.qodef-layout--filled.qodef-html--link,
.oo-design-system .qodef-button.qodef-layout--filled.qodef-background--blur,
.oo-design-system .elementor-button,
.oo-design-system .wpcf7-submit,
.oo-design-system input[type="submit"] {
  background-color: var(--oo-brass);
  color: #fff;
  padding: 14px 30px;
  border-radius: var(--oo-radius);
  backdrop-filter: none;
}

.oo-design-system .qodef-button.qodef-layout--filled.qodef-html--link:hover,
.oo-design-system .qodef-button.qodef-layout--filled.qodef-background--blur:hover,
.oo-design-system .elementor-button:hover,
.oo-design-system .wpcf7-submit:hover,
.oo-design-system input[type="submit"]:hover {
  background-color: var(--oo-brass-deep);
  color: #fff;
}

/* The contact form's "light skin" (used where the form sits on the dark ink
   ground) shipped a white submit button at (0,5,0). On the primary lead-capture
   form the submit should be the brass primary, not a white secondary. */
.oo-design-system .qodef-contact-form-7 .qodef-cf7-skin--light .qodef-button.qodef-layout--filled,
.oo-design-system .qodef-contact-form-7 .qodef-button.qodef-layout--filled,
.oo-design-system .qodef-contact-form-7 .qodef-newsletter .qodef-button {
  background-color: var(--oo-brass);
  color: #fff;
  border-radius: var(--oo-radius);
}

.oo-design-system .qodef-contact-form-7 .qodef-cf7-skin--light .qodef-button.qodef-layout--filled:hover,
.oo-design-system .qodef-contact-form-7 .qodef-button.qodef-layout--filled:hover {
  background-color: var(--oo-brass-deep);
  color: #fff;
}

/* --- Secondary ----------------------------------------------------------- */

.oo-design-system .qodef-button.qodef-layout--outlined,
.oo-design-system .elementor-button.oo-btn-secondary {
  background-color: transparent;
  color: var(--oo-ink);
  border-color: currentColor;
  padding: 14px 30px;
  border-radius: var(--oo-radius);
}

.oo-design-system .qodef-button.qodef-layout--outlined:hover,
.oo-design-system .elementor-button.oo-btn-secondary:hover {
  background-color: var(--oo-ink);
  border-color: var(--oo-ink);
  color: #fff;
}

/* --- Blog card "Read More" ----------------------------------------------
   These shipped as filled buttons on a translucent white fill (0,5,0 in
   leroux-core). "Read More" is a tertiary action inside a card, not a
   primary one — restyled as a text link so the card's real CTA can lead. */

/* leroux-core styles these at (0,6,0) via
   .qodef-blog.qodef-item-layout--compact.qodef-skin--light .qodef-blog-item
   .qodef-button.qodef-layout--filled — matched here at equal specificity so
   child load order decides. */

.oo-design-system .qodef-blog.qodef-item-layout--compact.qodef-skin--light .qodef-blog-item .qodef-button.qodef-layout--filled.qodef-html--link,
.oo-design-system .qodef-blog.qodef-skin--light .qodef-blog-item .qodef-button.qodef-layout--filled,
.oo-design-system .qodef-blog-item .qodef-button.qodef-layout--filled.qodef-html--link {
  background-color: transparent;
  color: var(--oo-brass);
  padding-left: 0;
  padding-right: 0;
  border: 0;
  border-radius: 0;
  backdrop-filter: none;
  min-height: 0;
}

.oo-design-system .qodef-blog.qodef-item-layout--compact.qodef-skin--light .qodef-blog-item .qodef-button.qodef-layout--filled.qodef-html--link:hover,
.oo-design-system .qodef-blog.qodef-skin--light .qodef-blog-item .qodef-button.qodef-layout--filled:hover,
.oo-design-system .qodef-blog-item .qodef-button.qodef-layout--filled.qodef-html--link:hover {
  background-color: transparent;
  color: var(--oo-brass-deep);
}

/* Outlined buttons sitting on a dark ground or a photograph invert */
.oo-design-system .qodef-section--dark .qodef-button.qodef-layout--outlined,
.oo-design-system .qodef-page-title .qodef-button.qodef-layout--outlined {
  color: #fff;
}

/* --- Tertiary ------------------------------------------------------------ */

.oo-design-system .qodef-button.qodef-layout--arrow,
.oo-design-system .qodef-button.qodef-layout--textual,
.oo-design-system .elementor-button.oo-btn-tertiary {
  background-color: transparent;
  color: var(--oo-brass);
  padding-left: 0;
  padding-right: 0;
  border: 0;
  border-radius: 0;
}

.oo-design-system .qodef-button.qodef-layout--arrow:hover,
.oo-design-system .qodef-button.qodef-layout--textual:hover,
.oo-design-system .elementor-button.oo-btn-tertiary:hover {
  color: var(--oo-brass-deep);
  background-color: transparent;
}

/* Every button with a label clears the 44px minimum touch target.
   Arrow buttons are icon-only and sized by the theme, so they are excluded. */
.oo-design-system .qodef-button:not(.qodef-layout--arrow),
.oo-design-system .elementor-button,
.oo-design-system .wpcf7-submit {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Staging administrators see WordPress' plugin links in the admin toolbar.
   Keep that administrative UI above the site header instead of allowing it to
   leak visually into the public navigation. It does not affect visitors. */
body.admin-bar #wpadminbar {
  position: fixed !important;
  z-index: 999999 !important;
  background: #1d2327 !important;
}

body.admin-bar #wpadminbar .ab-item,
body.admin-bar #wpadminbar a.ab-item,
body.admin-bar #wpadminbar .ab-label {
  color: #f0f3f3 !important;
}


/* ==========================================================================
   THE BRASS
   Was: 3 appearances on the homepage. Now given a consistent role.
   ========================================================================== */

/* Active and hovered navigation */
.qodef-header-navigation > ul > li.current-menu-item > a,
.qodef-header-navigation > ul > li.current_page_item > a,
.qodef-header-navigation > ul > li:hover > a {
  color: var(--oo-brass);
}

/* Inline links in body copy */
.elementor-widget-text-editor a:not(.elementor-button),
.entry-content a:not(.elementor-button),
.qodef-m-text a {
  color: var(--oo-brass);
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: color var(--oo-duration) var(--oo-ease);
}

.elementor-widget-text-editor a:not(.elementor-button):hover,
.entry-content a:not(.elementor-button):hover,
.qodef-m-text a:hover {
  color: var(--oo-brass-deep);
}

/* Icon accents */
.qodef-icon-holder .qodef-icon-elegant-icons,
.qodef-icon-holder .qodef-icon-ionicons,
.elementor-icon i {
  color: var(--oo-brass);
}

/* Hairline rules pick up the accent rather than defaulting to grey */
.qodef-m-separator,
hr {
  border-color: var(--oo-brass);
  opacity: .55;
}


/* ==========================================================================
   MOTION
   Was: 0.18s / 0.27s / 0.3s / 0.35s / 0.38s / 0.4s running simultaneously.
   Now: one duration, one easing.
   ========================================================================== */

a,
button,
.qodef-button,
.elementor-button,
.qodef-e-media-image img,
.elementor-widget-image img,
.qodef-icon-holder {
  transition-duration: var(--oo-duration) !important;
  transition-timing-function: var(--oo-ease) !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ==========================================================================
   LEGIBILITY OVER IMAGERY
   Was: white text on photographs with no guaranteed dark layer beneath.
   Now: a consistent scrim so contrast holds regardless of the photo.
   ========================================================================== */

/* The site runs a transparent header with content behind it and white
   navigation links, so legibility depends entirely on whichever photograph
   happens to sit underneath. A top-down gradient guarantees the contrast
   without reading as a solid bar.
   (An earlier version of this block targeted .qodef-title--with-image and a
   manual .oo-has-scrim class — neither exists on this site, so it styled
   nothing. This targets the header that is actually there.) */

.oo-design-system.qodef-header--transparent #qodef-page-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 230px;
  background: linear-gradient(
    to bottom,
    rgba(20, 29, 33, .58) 0%,
    rgba(20, 29, 33, .34) 42%,
    rgba(20, 29, 33, .10) 74%,
    rgba(20, 29, 33, 0)   100%
  );
  pointer-events: none;
  z-index: 0;
}

/* Header contents stay above the gradient.
   Scoped to the inner wrapper ONLY. An earlier version of this rule applied
   position/z-index to every direct child of #qodef-page-header, which broke
   the sticky header: it hides itself with transform: translateY(-70px) while
   relying on its own positioning, so forcing it to position:relative pulled it
   into the flow and rendered a second visible header — complete with a second
   navigation and a second set of dropdowns. Never blanket-position the
   children of a header that contains a sticky variant. */
.oo-design-system #qodef-page-header > #qodef-page-header-inner {
  position: relative;
  z-index: 1;
}

/* Same problem on the mobile header, which is also transparent over the hero */
.oo-design-system.qodef-header--transparent #qodef-page-mobile-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 160px;
  background: linear-gradient(
    to bottom,
    rgba(20, 29, 33, .58) 0%,
    rgba(20, 29, 33, .22) 60%,
    rgba(20, 29, 33, 0) 100%
  );
  pointer-events: none;
  z-index: 0;
}

.oo-design-system #qodef-page-mobile-header > .qodef-mobile-header-inner {
  position: relative;
  z-index: 1;
}


/* ==========================================================================
   FORMS
   Was: placeholder-only fields, plugin-purple styling.
   Now: branded, with room for the visible labels added in the CF7 form.
   ========================================================================== */

.wpcf7 label {
  display: block;
  font-size: var(--oo-text-small);
  font-weight: 500;
  color: var(--oo-ink);
  margin-bottom: var(--oo-space-1);
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  font-size: 16px;              /* 16px prevents iOS zoom-on-focus */
  padding: 12px 14px;
  border: 1px solid var(--oo-rule);
  border-radius: var(--oo-radius);
  background: var(--oo-ground);
  color: var(--oo-ink);
  transition: border-color var(--oo-duration) var(--oo-ease);
}

/* Where the form sits on the dark ink ground (the theme's "light skin"), the
   fields are solid white with no visible border — a beige hairline on white
   just reads as grubby. The theme left inputs and textarea inconsistent here:
   inputs took a beige border, the textarea a white one. */
.oo-design-system .qodef-contact-form-7 .qodef-cf7-skin--light input[type="text"],
.oo-design-system .qodef-contact-form-7 .qodef-cf7-skin--light input[type="email"],
.oo-design-system .qodef-contact-form-7 .qodef-cf7-skin--light input[type="tel"],
.oo-design-system .qodef-contact-form-7 .qodef-cf7-skin--light textarea {
  background: #fff;
  border: 1px solid transparent;
  border-radius: var(--oo-radius);
  color: var(--oo-ink);
  padding: 14px 16px;   /* matches the sitewide field padding in the polish layer */
}

.oo-design-system .qodef-contact-form-7 .qodef-cf7-skin--light input:focus,
.oo-design-system .qodef-contact-form-7 .qodef-cf7-skin--light textarea:focus {
  border-color: var(--oo-brass);
  outline: 2px solid var(--oo-brass);
  outline-offset: 1px;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
  border-color: var(--oo-brass);
  outline: 2px solid var(--oo-brass);
  outline-offset: 1px;
}

.wpcf7 ::placeholder {
  color: var(--oo-muted);
  opacity: 1;
}


/* ==========================================================================
   TOUCH TARGETS
   Was: 119 interactive elements under 44px at desktop, 43 on mobile.
   ========================================================================== */

/* Handled by category rather than one blanket rule, because the categories
   want different treatment — and because inline links inside running text are
   deliberately excluded: padding them would break the line rhythm of the
   paragraphs they sit in, and the 44px guidance is aimed at standalone
   controls, not words in a sentence.
   Also excluded: .skip-link, which is intentionally 1px until focused. */

/* Footer, content-bottom and widget link lists */
.oo-design-system #qodef-page-footer .widget ul li a,
.oo-design-system #qodef-content-bottom .widget ul li a,
.oo-design-system #qodef-content-bottom .menu li a,
.oo-design-system .qodef-footer-bottom a:not(.qodef-button),
.oo-design-system .widget ul li a {
  display: inline-block;
  padding-top: 11px;
  padding-bottom: 11px;
  line-height: 1.45;
}

/* Top bar contact links */
.oo-design-system #qodef-top-area a:not(.qodef-button) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* Blog card meta (category, date) */
.oo-design-system .qodef-blog-item .qodef-e-info a,
.oo-design-system .qodef-blog-item .qodef-e-info-category a,
.oo-design-system .qodef-blog-item .qodef-e-info-date a {
  display: inline-block;
  padding-top: 9px;
  padding-bottom: 9px;
}

/* Tap-to-call and tap-to-email links. These matter more than most targets on
   a mobile-heavy UAE audience — a mis-tap on a phone number is a lost lead. */
.oo-design-system a[href^="tel:"],
.oo-design-system a[href^="mailto:"],
.oo-design-system .qodef-link--underline[href^="tel:"],
.oo-design-system .qodef-link--underline[href^="mailto:"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* Blog card meta sat at 42px — two short of the target */
.oo-design-system .qodef-blog-item .qodef-e-info a,
.oo-design-system .qodef-e-info a {
  padding-top: 11px;
  padding-bottom: 11px;
}

/* Slider / tab progress controls */
.oo-design-system .qodef-progress-buttons .qodef-progress-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Header icon controls (search, side-area opener) */
.oo-design-system #qodef-page-header .qodef-opener-icon,
.oo-design-system #qodef-page-header a.qodef-opener-icon {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* ==========================================================================
   FOCUS VISIBILITY
   Keyboard users need to see where they are.
   ========================================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--oo-brass);
  outline-offset: 2px;
  border-radius: 2px;
}


/* ==========================================================================
   CARRIED OVER FROM THE CUSTOMIZER
   These two rules previously lived in Appearance > Customise > Additional CSS,
   which is keyed to the parent theme. Preserved here so nothing is lost.
   ========================================================================== */

#qodef-content-bottom {
  background-color: var(--oo-brass);
}

#qodef-page-mobile-header .qodef-mobile-header-logo-link {
  height: 40px;
}


/* ==========================================================================
   ==========================================================================
   POLISH LAYER
   Detail work on the components that read as template-default: the services
   accordion, form fields, dropdown menus, panels and dividers.
   ==========================================================================
   ========================================================================== */

/* --------------------------------------------------------------------------
   Warm neutrals

   The homepage used a cold blue-grey (#D5DEDE) and a flat machine grey
   (#EFEFEF) as section grounds. Both fight a brass identity — cold greys read
   as corporate-template, warm stone reads as considered. These two are the
   most visible "basic" surfaces on the page.

   NOTE: these colours are Elementor page data, not theme CSS, so they are
   overridden here by element id. That makes this block fragile — if a section
   is rebuilt in Elementor its id changes and the override stops applying.
   The permanent fix is to set these in Elementor (Section > Style >
   Background) and delete this block.
   -------------------------------------------------------------------------- */

.oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a:not(.elementor-motion-effects-element-type-background) {
  background-color: #EDE7DC;   /* was #D5DEDE cold blue-grey */
}

.oo-design-system .elementor-section[class*="elementor-element"] > .elementor-background-overlay {
  transition: opacity var(--oo-duration) var(--oo-ease);
}


/* --------------------------------------------------------------------------
   Services accordion
   Was: near-black hairlines edge to edge, grey numbers competing with the
   titles, a generic plus icon, no hover feedback, tight vertical rhythm.
   -------------------------------------------------------------------------- */

.oo-design-system .qodef-accordion .qodef-accordion-title {
  padding: 26px 0 24px;
  border-bottom: 1px solid rgba(34, 48, 53, .12);
  cursor: pointer;
  transition: color var(--oo-duration) var(--oo-ease);
}

.oo-design-system .qodef-accordion .qodef-accordion-title:last-of-type {
  border-bottom: 0;
}

/* The item number: brass, smaller, tracked, tabular so 01–06 align.
   Matches leroux-core's own (0,4,0) chain so child load order decides.

   Alignment: the theme reserved a 33px gutter for the number by padding the
   title, which pushed every accordion title and body paragraph 33px right of
   the section heading, the intro copy and the divider rules — a visible step
   in the left edge. The number is set inline instead, so the whole section
   shares one left edge. */
.oo-design-system .qodef-accordion .qodef-accordion-title .qodef-tab-title::before {
  position: static;
  display: block;          /* own line, so the title starts on the section's left edge */
  margin: 0 0 6px;
  color: var(--oo-brass);
  font-family: var(--oo-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .12em;
  font-variant-numeric: tabular-nums;
  transition: color var(--oo-duration) var(--oo-ease);
}

.oo-design-system .qodef-accordion .qodef-accordion-title .qodef-tab-title {
  padding-left: 0;
}

/* Hover and open states — the accordion previously gave no feedback at all */
.oo-design-system .qodef-accordion .qodef-accordion-title:hover .qodef-tab-title,
.oo-design-system .qodef-accordion .qodef-accordion-title.ui-state-active .qodef-tab-title {
  color: var(--oo-brass);
}

.oo-design-system .qodef-accordion .qodef-accordion-title.ui-state-active {
  border-bottom-color: rgba(183, 155, 111, .45);
}

/* The open row's marker picks up the accent */
.oo-design-system .qodef-accordion .qodef-accordion-title:hover .qodef-accordion-mark,
.oo-design-system .qodef-accordion .qodef-accordion-title.ui-state-active .qodef-accordion-mark {
  color: var(--oo-brass);
}

.oo-design-system .qodef-accordion .qodef-accordion-mark {
  transition: color var(--oo-duration) var(--oo-ease),
              transform var(--oo-duration) var(--oo-ease);
}

.oo-design-system .qodef-accordion .qodef-accordion-title.ui-state-active .qodef-accordion-mark {
  transform: rotate(180deg);
}

/* Body copy shares the section's single left edge */
.oo-design-system .qodef-accordion .qodef-accordion-content {
  padding: 4px 40px 32px 0;
  color: var(--oo-ink-soft);
  max-width: 62ch;
}


/* --------------------------------------------------------------------------
   Form fields
   Was: shallow, hairline-bordered boxes with no focus identity.
   -------------------------------------------------------------------------- */

.oo-design-system input[type="text"],
.oo-design-system input[type="email"],
.oo-design-system input[type="tel"],
.oo-design-system input[type="search"],
.oo-design-system textarea,
.oo-design-system select {
  font-family: var(--oo-font-body);
  font-size: 16px;
  line-height: 1.5;
  padding: 14px 16px;
  border-radius: var(--oo-radius);
  border: 1px solid var(--oo-rule);
  background-color: #fff;
  color: var(--oo-ink);
  transition: border-color var(--oo-duration) var(--oo-ease),
              box-shadow   var(--oo-duration) var(--oo-ease);
}

.oo-design-system input[type="text"]:hover,
.oo-design-system input[type="email"]:hover,
.oo-design-system input[type="tel"]:hover,
.oo-design-system textarea:hover {
  border-color: rgba(183, 155, 111, .55);
}

/* A soft brass ring rather than the browser's default outline */
.oo-design-system input[type="text"]:focus,
.oo-design-system input[type="email"]:focus,
.oo-design-system input[type="tel"]:focus,
.oo-design-system input[type="search"]:focus,
.oo-design-system textarea:focus,
.oo-design-system select:focus {
  border-color: var(--oo-brass);
  box-shadow: 0 0 0 3px rgba(183, 155, 111, .18);
  outline: none;
}

.oo-design-system ::placeholder {
  color: var(--oo-muted);
  opacity: 1;
}

.oo-design-system textarea {
  min-height: 130px;
  resize: vertical;
}


/* --------------------------------------------------------------------------
   Dropdown menus
   Was: transparent, no shadow, no separation from the page behind them.
   -------------------------------------------------------------------------- */

/* This menu has two different dropdown types and they need different
   treatment:

     - standard items (Our Expertise, Insights) open a ~250px panel, where the
       panel itself is the inner container;
     - .qodef-menu-item--wide items (Our Services) open a full-width mega menu,
       where leroux-core paints the OUTER container white edge to edge and the
       inner is just a 1100px content grid inside it.

   Styling the inner as a panel in both cases put a bordered, shadowed box
   inside the full-width white bar — which read as two stacked menus. */

/* --- Standard dropdown: the theme's UL is the only visible panel ---
   Leroux already paints the first submenu UL. Painting its wrapper as well
   creates the offset white box-inside-a-box visible in the header. */
.oo-design-system .qodef-header-navigation li.qodef-menu-item--narrow > .qodef-drop-down-second .qodef-drop-down-second-inner {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.oo-design-system .qodef-header-navigation li.qodef-menu-item--narrow > .qodef-drop-down-second .qodef-drop-down-second-inner > ul {
  background-color: #fff;
  border-top: 2px solid var(--oo-brass);
  border-radius: 0 0 var(--oo-radius) var(--oo-radius);
  box-shadow: 0 18px 44px -18px rgba(34, 48, 53, .28),
              0 2px 6px rgba(34, 48, 53, .05);
}

/* --- Mega menu: the OUTER bar carries the edge and shadow --- */
.oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second {
  border-top: 2px solid var(--oo-brass);
  box-shadow: 0 18px 44px -20px rgba(34, 48, 53, .26);
}

/* …and the inner stays a plain content grid, no second panel */
.oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second-inner {
  background-color: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 40px 0 44px;
}

/* Mega menu column headings: brass, uppercase, set apart from their children */
.oo-design-system li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul > li > a {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--oo-brass);
  padding: 0 26px 12px;
  margin-bottom: 8px;
  border-bottom: 1px solid rgba(183, 155, 111, .28);
  display: block;
}

.oo-design-system li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul > li > a:hover {
  color: var(--oo-brass-deep);
  padding-left: 26px;
}

/* Column headings are labels, not hover-slide links */
.oo-design-system li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul > li > a::before {
  display: none;
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a {
  padding: 12px 26px;   /* clears the 44px touch target with the 14.5px type */
  font-size: 14.5px;
  color: var(--oo-ink-soft);
  position: relative;
  transition: color var(--oo-duration) var(--oo-ease),
              padding-left var(--oo-duration) var(--oo-ease);
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a:hover {
  color: var(--oo-brass);
  padding-left: 32px;
}

/* A brass tick that slides in on hover — the only decorative flourish here */
.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  width: 0;
  height: 1px;
  background: var(--oo-brass);
  transform: translateY(-50%);
  transition: width var(--oo-duration) var(--oo-ease);
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a:hover::before {
  width: 8px;
}


/* --------------------------------------------------------------------------
   Top-level navigation
   A brass rule that grows under the active and hovered item, instead of the
   theme's plain text underline.
   -------------------------------------------------------------------------- */

.oo-design-system .qodef-header-navigation > ul > li > a {
  position: relative;
  text-decoration: none;
}

.oo-design-system .qodef-header-navigation > ul > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 1px;
  background: var(--oo-brass);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--oo-duration) var(--oo-ease);
}

.oo-design-system .qodef-header-navigation > ul > li:hover > a::after,
.oo-design-system .qodef-header-navigation > ul > li.current-menu-item > a::after,
.oo-design-system .qodef-header-navigation > ul > li.current-menu-ancestor > a::after {
  transform: scaleX(1);
}


/* --------------------------------------------------------------------------
   Testimonials

   Was: each quote marked up as an <h2> and rendered at 38px/600 — a paragraph
   of running text set at display size, which made the section 1,423px tall,
   over a tenth of the homepage, and left it shouting rather than reassuring.

   The <h2> tag is set on the Elementor widget and can only be changed there,
   but it can be made to *read* as a pull quote: text size down to 21px, weight
   back to normal, a measure that wraps sensibly, and a brass quote mark doing
   the decorative work instead of sheer scale.
   -------------------------------------------------------------------------- */

.oo-design-system h2.qodef-e-text,
.oo-design-system .qodef-testimonials h2.qodef-e-text {
  font-family: var(--oo-font-body);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  max-width: 54ch;
  margin: 0 auto 28px;
  position: relative;
  text-wrap: pretty;
}

/* A brass quotation mark, sized as ornament rather than content */
.oo-design-system h2.qodef-e-text::before {
  content: "\201C";
  display: block;
  font-family: var(--oo-font-heading);
  font-size: 54px;
  line-height: .8;
  color: var(--oo-brass);
  opacity: .85;
  margin-bottom: 10px;
}

/* Attribution: small, brass, tracked — a caption, not a heading */
.oo-design-system .qodef-testimonials h5,
.oo-design-system .qodef-testimonials .qodef-e-author-name {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--oo-brass);
}

.oo-design-system .qodef-testimonials .qodef-e-author-job,
.oo-design-system .qodef-testimonials .qodef-e-author-position {
  font-size: 13px;
  color: rgba(255, 255, 255, .62);
  letter-spacing: .01em;
}

/* Avatars were 150px files rendered at 60px; keep them small and circular */
.oo-design-system .qodef-testimonials img {
  border-radius: 50%;
  width: 52px;
  height: 52px;
  object-fit: cover;
}


/* --------------------------------------------------------------------------
   Panels, cards and dividers
   Warm hairlines instead of near-black rules; a restrained lift on cards.
   -------------------------------------------------------------------------- */

.oo-design-system .qodef-blog-item,
.oo-design-system .qodef-e-inner,
.oo-design-system .elementor-widget-image-box .elementor-image-box-wrapper {
  transition: transform var(--oo-duration) var(--oo-ease),
              box-shadow var(--oo-duration) var(--oo-ease);
}

.oo-design-system .qodef-blog-item:hover {
  transform: translateY(-3px);
}

/* Images inside cards get a quiet scale on hover rather than a hard swap */
.oo-design-system .qodef-e-media-image,
.oo-design-system .elementor-widget-image .elementor-widget-container {
  overflow: hidden;
  border-radius: var(--oo-radius);
}

.oo-design-system .qodef-e-media-image img {
  transition: transform 600ms var(--oo-ease);
}

.oo-design-system .qodef-blog-item:hover .qodef-e-media-image img {
  transform: scale(1.04);
}

/* Any near-black hairline the theme draws becomes a warm, lighter rule */
.oo-design-system .qodef-m-separator,
.oo-design-system .elementor-divider-separator {
  border-color: rgba(34, 48, 53, .14);
  opacity: 1;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1024px) {
  :root {
    --oo-space-6: 72px;
    --oo-space-7: 96px;
  }
}

@media (max-width: 680px) {
  :root {
    --oo-space-6: 56px;
    --oo-space-7: 72px;
    --oo-text-body: 16px;
  }

  /* Body copy runs full width on small screens; the ch cap is a desktop concern */
  .elementor-widget-text-editor p,
  .qodef-m-text,
  .entry-content p {
    max-width: none;
  }
}


/* ===========================================================================
   HOMEPAGE COMPOSITION
   The original Elementor layout relies on very large empty spacers and flat
   grey bands. These refinements keep the editorial scale but make the journey
   feel intentional on both wide and narrow screens. They are scoped to the
   homepage, so service pages remain unaffected.
   ======================================================================== */

/* Replace the two default greys with the warm stone already used by the
   design system. The very subtle gradient keeps long sections from feeling
   like flat template blocks. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-5b00fb3,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-d61b022 {
  background: linear-gradient(135deg, #faf8f5 0%, #f0eadf 100%);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8a7df9a {
  background-color: #ede7dc;
}

/* Image-led content blocks need an edge and a dependable contrast layer;
   otherwise they blend into the surrounding page or depend on the exact crop
   for legibility. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-c1a87c7 > .elementor-element-populated,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-03eff7a > .elementor-element-populated {
  border-radius: 0 var(--oo-radius) var(--oo-radius) 0;
  overflow: hidden;
  position: relative;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-c1a87c7 > .elementor-element-populated::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 28, 31, .64), rgba(18, 28, 31, .16));
  pointer-events: none;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-c1a87c7 > .elementor-element-populated > * {
  position: relative;
  z-index: 1;
}

/* The experience panel is the visual hinge between dark and image sections.
   A single restrained shadow gives it depth rather than leaving the negative
   margin to do all of the work. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
  filter: drop-shadow(0 24px 42px rgba(17, 28, 31, .18));
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
  border-radius: var(--oo-radius);
  overflow: hidden;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-background-overlay {
  background: linear-gradient(90deg, rgba(20, 29, 33, .54), rgba(20, 29, 33, .08));
  opacity: 1;
}

/* Elementor had two decorative spacers at 500/900px on mobile/desktop. They
   create a long dead zone before the final call to action. Keep breathing room
   without making visitors scroll through empty space. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-9b44d6b {
  --spacer-size: 280px;
}

@media (max-width: 1024px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-87376c8 {
    --spacer-size: 280px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-9b44d6b {
    --spacer-size: 180px;
  }
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
    padding-bottom: 300px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
    margin-top: -245px;
    padding-left: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
    min-height: 500px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-87376c8,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-9b44d6b {
    --spacer-size: 120px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-c1a87c7 > .elementor-element-populated,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-03eff7a > .elementor-element-populated {
    border-radius: var(--oo-radius);
  }
}


/* ===========================================================================
   ORGANIZED SERVICES + COMPACT TESTIMONIALS
   Reflows existing Elementor widgets only. No copy, media or links are added,
   removed or replaced.
   ======================================================================== */

/* Pair each existing accordion heading and panel as one visual card. The
   lightweight wrapper is added in functions.php after the theme initializes. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-777fd63 .qodef-accordion {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-777fd63 .qodef-accordion::before,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-777fd63 .qodef-accordion::after {
  display: none;
}

.oo-design-system .elementor-11066 .oo-service-card {
  align-self: start;
  min-width: 0;
  background: rgba(255, 255, 255, .5);
  border: 1px solid rgba(34, 48, 53, .13);
  border-radius: calc(var(--oo-radius) + 2px);
  overflow: hidden;
  transition: border-color var(--oo-duration) var(--oo-ease),
              box-shadow var(--oo-duration) var(--oo-ease),
              transform var(--oo-duration) var(--oo-ease);
}

.oo-design-system .elementor-11066 .oo-service-card:hover,
.oo-design-system .elementor-11066 .oo-service-card:has(.ui-state-active) {
  border-color: rgba(183, 155, 111, .65);
  box-shadow: 0 16px 36px -28px rgba(34, 48, 53, .45);
  transform: translateY(-2px);
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-title {
  min-height: 112px;
  margin: 0;
  padding: 22px 54px 22px 22px;
  border: 0;
  align-items: flex-start;
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-title .qodef-tab-title {
  font-size: 17px;
  line-height: 1.35;
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-mark {
  right: 22px;
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-content {
  margin: 0;
  padding: 0 22px 24px;
  max-width: none;
  color: var(--oo-ink-soft);
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-content p:last-child {
  margin-bottom: 0;
}

/* Desktop composition: image + introduction, two-column service cards,
   process band, then a dedicated CTA row. */
@media (min-width: 1025px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a > .elementor-container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 22px 28px;
    align-items: start;
    padding: 96px clamp(48px, 6.25vw, 80px) 104px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-709dea8 {
    grid-column: 1 / 6;
    grid-row: 1 / 3;
    align-self: stretch;
    position: relative !important;
    top: auto !important;
    width: auto !important;
    min-height: 430px;
    border-radius: var(--oo-radius);
    overflow: hidden;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-709dea8 > .elementor-widget-wrap,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-079002d,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-079002d > .elementor-container {
    height: 100%;
    min-height: 430px !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-10f8fe5,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-10f8fe5 > .elementor-widget-wrap {
    display: contents;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-932f2ed {
    grid-column: 6 / 13;
    grid-row: 1;
    width: 100%;
    height: 230px;
    margin: 0;
    border-radius: var(--oo-radius);
    overflow: hidden;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-932f2ed > .elementor-widget-container,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-932f2ed .qodef-m-image,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-932f2ed img {
    width: 100%;
    height: 100%;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-932f2ed img {
    object-fit: cover;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-4a7018f {
    grid-column: 6 / 13;
    grid-row: 2;
    align-self: end;
    margin: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-777fd63 {
    grid-column: 1 / 13;
    grid-row: 3;
    width: 100%;
    max-width: none;
    margin: 30px 0 12px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-79bc59c {
    grid-column: 1 / 5;
    grid-row: 4;
    align-self: stretch;
    margin: 18px 0 0;
    padding: 32px 30px;
    background: rgba(255, 255, 255, .42);
    border: 1px solid rgba(34, 48, 53, .12);
    border-radius: var(--oo-radius);
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-79bc59c > .elementor-widget-container {
    padding: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-a9816a6 {
    grid-column: 5 / 13;
    grid-row: 4;
    align-self: stretch;
    margin: 18px 0 0;
    padding: 32px 36px;
    background: rgba(255, 255, 255, .42);
    border: 1px solid rgba(34, 48, 53, .12);
    border-radius: var(--oo-radius);
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2bd5385 {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-f50bdd2 {
    grid-column: 1 / 9;
    grid-row: 5;
    align-self: center;
    margin: 34px 0 0;
    padding: 34px 0 0;
    border-top: 1px solid rgba(34, 48, 53, .14);
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-f50bdd2 > .elementor-widget-container {
    padding: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-ffa1ad4 {
    grid-column: 9 / 13;
    grid-row: 5;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 34px 0 0;
    padding: 34px 0 0;
    border-top: 1px solid rgba(34, 48, 53, .14);
  }
}

/* Testimonials remain one-at-a-time with manual switching, but the reading
   surface is deliberately smaller and no longer dominates a full screen. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
  padding-top: 76px;
  padding-bottom: 112px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 {
  width: calc(100% - 48px);
  max-width: 860px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 > .elementor-widget-container,
.oo-design-system .elementor-11066 .qodef-testimonials-list {
  width: 100%;
  max-width: none;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
  min-height: 330px;
  padding: 36px 42px 38px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
  max-width: 60ch;
  font-size: 18.5px;
  line-height: 1.55;
  margin-bottom: 24px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list-nav {
  right: 42px;
  bottom: 34px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
  display: flex !important;
  top: auto !important;
  bottom: 26px !important;
  width: 46px !important;
  height: 46px !important;
  z-index: 4;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev {
  left: auto;
  right: 76px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
  right: 24px;
}

@media (max-width: 1024px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-079002d {
    min-height: 320px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-777fd63 {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-777fd63 .qodef-accordion {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-title {
    min-height: 92px;
    padding: 18px 50px 18px 18px;
  }

  .oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-content {
    padding: 0 18px 22px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
    padding: 56px 0 72px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 {
    width: calc(100% - 24px);
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
    padding: 28px 20px 32px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 20px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    bottom: 18px !important;
    width: 42px !important;
    height: 42px !important;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev {
    right: 64px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    right: 16px;
  }
}


/* ===========================================================================
   UI / UX REFINEMENT — PRESENTATION ONLY
   These rules intentionally preserve every Elementor widget, post, image and
   piece of copy. They correct containment, rhythm and interaction without
   changing page content or database values.
   ======================================================================== */

/* No homepage component should enlarge the document beyond the viewport. */
.oo-design-system:has(.elementor-11066) #qodef-page-wrapper {
  overflow-x: clip;
}

.oo-design-system .elementor-11066 .elementor-column,
.oo-design-system .elementor-11066 .elementor-widget-wrap,
.oo-design-system .elementor-11066 .elementor-widget,
.oo-design-system .elementor-11066 .elementor-widget-container {
  min-width: 0;
}

/* The service story remains image-led, but no longer needs more than three
   screen-heights before the next section can begin. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-10f8fe5 > .elementor-element-populated {
  padding-top: clamp(88px, 8vw, 116px);
  padding-bottom: clamp(96px, 9vw, 132px);
}

@media (min-width: 1025px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-10f8fe5 > .elementor-element-populated {
    margin-right: 10%;
    margin-left: 10%;
  }
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-10f8fe5 .qodef-accordion,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-10f8fe5 .qodef-accordion-content {
  width: 100%;
  max-width: 100%;
}

/* Testimonials: contain the Swiper in the site's grid and turn each slide
   into one calm, readable surface. The quote and attribution stay intact. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
  padding: clamp(88px, 8vw, 120px) 0 clamp(150px, 13vw, 190px);
  overflow: hidden;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 {
  width: calc(100% - clamp(48px, 12vw, 160px));
  max-width: 1080px;
  margin-inline: auto;
  --container-widget-width: 100%;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 > .elementor-widget-container,
.oo-design-system .elementor-11066 .qodef-testimonials-list {
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
  overflow: hidden;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-wrapper {
  align-items: stretch;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-slide {
  height: auto;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
  min-height: 420px;
  height: 100%;
  padding: clamp(42px, 5vw, 64px);
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: calc(var(--oo-radius) + 2px);
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner::before {
  display: none;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner .qodef-e-content {
  padding-top: 0;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
  max-width: 66ch;
  margin: 0 0 30px;
  padding-right: 0;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list-nav {
  right: clamp(32px, 6vw, 70px);
  bottom: clamp(34px, 5vw, 58px);
}

/* The following image panel used a 485px negative margin and an 840px forced
   height. A shallow overlap keeps the editorial composition without hiding
   the transition or producing a large dead zone. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
  width: 100%;
  max-width: 100%;
  margin-top: -72px;
  padding: 0 clamp(32px, 6.25vw, 80px);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
  min-height: clamp(560px, 52vw, 700px);
}

/* Reduce template-scale empty bands while retaining generous premium rhythm. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-f65eb2f {
  padding-top: clamp(92px, 8vw, 118px);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-9d122b1 {
  padding-top: clamp(72px, 7vw, 96px);
  padding-bottom: clamp(96px, 9vw, 124px);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-d61b022,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 {
  padding-top: clamp(92px, 8vw, 118px);
  padding-bottom: clamp(96px, 9vw, 124px);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-9b44d6b {
  --spacer-size: 180px;
}

/* The sticky header is a quieter solid counterpart to the transparent hero
   header, not a separate visual system. */
.oo-design-system #qodef-page-header .qodef-header-sticky {
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid rgba(34, 48, 53, .1);
  box-shadow: 0 12px 32px rgba(24, 35, 39, .08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Mobile navigation: stronger logo, clear rows, restrained elevation and
   unmistakable expandable-item controls. */
@media (max-width: 1024px) {
  .oo-design-system #qodef-page-mobile-header,
  .oo-design-system #qodef-page-mobile-header-inner {
    height: 72px;
  }

  .oo-design-system #qodef-page-mobile-header-inner {
    padding-inline: 24px;
  }

  .oo-design-system #qodef-page-mobile-header .qodef-mobile-header-logo-link {
    height: 44px;
    opacity: 1;
  }

  .oo-design-system #qodef-page-mobile-header .qodef-mobile-header-logo-link img {
    filter: drop-shadow(0 1px 8px rgba(18, 28, 31, .22));
  }

  .oo-design-system .qodef-mobile-header-navigation {
    max-height: calc(100vh - 72px);
    background: rgba(255, 255, 255, .98);
    border-top: 2px solid var(--oo-brass);
    border-bottom: 0;
    box-shadow: 0 22px 48px rgba(24, 35, 39, .16);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  .oo-design-system .qodef-mobile-header-navigation > ul {
    padding: 12px 24px 22px;
  }

  .oo-design-system .qodef-mobile-header-navigation > ul > li {
    padding: 0;
    border-bottom: 1px solid rgba(34, 48, 53, .1);
  }

  .oo-design-system .qodef-mobile-header-navigation > ul > li:last-child {
    border-bottom: 0;
  }

  .oo-design-system .qodef-mobile-header-navigation > ul > li > a {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding-right: 48px;
    font-size: 16px;
    font-weight: 500;
  }

  .oo-design-system .qodef-mobile-header-navigation ul li .qodef-menu-item-arrow {
    top: 7px;
    right: -8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--oo-brass-deep);
  }

  .oo-design-system .qodef-mobile-header-navigation ul li svg.qodef-menu-item-arrow {
    width: 10px;
    height: 10px;
    padding: 15px;
    box-sizing: content-box;
  }

  .oo-design-system .qodef-mobile-header-navigation ul li ul {
    padding: 2px 0 14px 16px;
  }

  .oo-design-system .qodef-mobile-header-navigation ul li ul li > a {
    align-items: center;
    min-height: 42px;
    margin: 0;
    color: var(--oo-ink-soft);
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-10f8fe5 > .elementor-element-populated {
    margin-inline: 7%;
    padding-top: 80px;
    padding-bottom: 88px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
    padding: 80px 0 112px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
    margin-top: -48px;
    padding-inline: 7%;
  }
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 {
    width: calc(100% - 48px);
    max-width: none;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
    min-height: 0;
    padding: 34px 24px 38px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
    font-size: 18px;
    line-height: 1.55;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
    padding: 64px 0 84px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
    margin-top: 0;
    padding-inline: 24px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
    min-height: 460px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-f65eb2f,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-9d122b1,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-d61b022,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 {
    padding-top: 72px;
    padding-bottom: 76px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-9b44d6b {
    --spacer-size: 96px;
  }

  .oo-design-system #qodef-back-to-top {
    width: 48px;
    height: 48px;
    right: 16px;
    bottom: 16px;
  }

  .oo-design-system .joinchat {
    left: 16px;
    bottom: 16px;
  }

  .oo-design-system .joinchat__button {
    width: 52px;
    height: 52px;
  }
}

/* Final component sizing: this intentionally follows the general refinement
   layer so the compact testimonial proportions remain the final cascade. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
  padding: 76px 0 112px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 > .elementor-widget-container,
.oo-design-system .elementor-11066 .qodef-testimonials-list {
  width: calc(100% - 48px);
  max-width: 860px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
  min-height: 330px;
  padding: 36px 42px 38px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
  max-width: 60ch;
  font-size: 18.5px;
  line-height: 1.55;
  margin-bottom: 24px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list-nav {
  right: 42px;
  bottom: 34px;
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
    padding: 56px 0 72px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 > .elementor-widget-container,
  .oo-design-system .elementor-11066 .qodef-testimonials-list {
    width: calc(100% - 40px);
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
    min-height: 0;
    padding: 28px 20px 32px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
    font-size: 17px;
  }
}

/* Correct nested-width compounding from Elementor and keep the manual
   testimonial controls usable at every breakpoint. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 {
  width: calc(100% - 48px);
  max-width: 860px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 > .elementor-widget-container,
.oo-design-system .elementor-11066 .qodef-testimonials-list {
  width: 100%;
  max-width: none;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
  display: flex !important;
  top: auto !important;
  bottom: 26px !important;
  width: 46px !important;
  height: 46px !important;
  z-index: 4;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev {
  left: auto;
  right: 76px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
  right: 24px;
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 {
    width: calc(100% - 24px);
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 20px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-testimonials-list-nav,
  .oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-testimonials-list-nav-inner {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    bottom: 18px !important;
    width: 42px !important;
    height: 42px !important;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev {
    right: 64px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    right: 16px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    pointer-events: auto;
  }
}

/* v1.3 final cascade lock — follows the legacy refinement layer. */
.oo-design-system .elementor-11066 .elementor-element.elementor-element-b315a14 > .elementor-widget-wrap {
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-b315a14 > .elementor-widget-wrap::before {
  max-width: 180px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
  padding: 96px clamp(32px, 6.25vw, 80px) 104px;
  background: #f3f0e9 !important;
  overflow: visible;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 > .elementor-widget-container,
.oo-design-system .elementor-11066 .qodef-testimonials-list {
  width: 100% !important;
  max-width: none !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-cbe3b83 {
  --container-widget-width: 100% !important;
  flex: 1 1 auto;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list {
  background: linear-gradient(145deg, #26363b 0%, #1e2a2e 100%) !important;
  border-radius: 24px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
  min-height: 404px;
  padding: 48px 54px 94px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 24px;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner::before {
  content: "\201C";
  display: block;
  position: static;
  width: auto;
  height: 44px;
  margin-bottom: 18px;
  color: var(--oo-brass);
  font-family: Georgia, serif;
  font-size: 74px;
  line-height: .9;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
  max-width: 62ch;
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.52;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-testimonials-list-nav,
.oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-testimonials-list-nav-inner {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
  display: flex !important;
  bottom: 34px !important;
  width: 48px !important;
  height: 48px !important;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  pointer-events: auto;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev {
  right: 88px !important;
}

.oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
  right: 32px !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909 {
  margin-top: 0;
  padding: 96px clamp(32px, 6.25vw, 80px);
  background: #fff;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
  min-height: 500px;
  background-color: var(--oo-ink) !important;
  background-size: 64% auto !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
  border-radius: 24px;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
  min-height: 500px !important;
  height: 100%;
  grid-template-columns: 36% 64%;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 {
  padding: 104px clamp(32px, 6.25vw, 80px) 112px;
  background: #f3f0e9 !important;
  color: var(--oo-ink);
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 .qodef-m-title,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 .qodef-e-title-link {
  color: var(--oo-ink) !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .entry-date {
  position: static !important;
  display: inline-flex !important;
  align-items: baseline;
  gap: 7px;
  align-self: flex-start;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 0 28px !important;
  padding: 9px 12px !important;
  color: var(--oo-ink) !important;
  background: rgba(183, 155, 111, .16) !important;
  border: 1px solid rgba(183, 155, 111, .28);
  border-radius: 999px !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .entry-date .qodef-day,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .entry-date .qodef-month {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  color: var(--oo-ink) !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-2cb6483 > .elementor-widget-wrap {
  background: transparent;
}

.oo-design-system .qodef-header-navigation li.qodef-menu-item--narrow > .qodef-drop-down-second .qodef-drop-down-second-inner > ul {
  min-width: 290px;
  padding: 12px;
  background: rgba(28, 41, 45, .98);
  border: 1px solid rgba(255, 255, 255, .08);
  border-top: 3px solid var(--oo-brass);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 28px 60px -22px rgba(12, 20, 23, .72);
}

.oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second {
  background: rgba(28, 41, 45, .985);
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a {
  min-height: 46px;
  padding: 13px 18px;
  color: rgba(255, 255, 255, .76);
  border-radius: 9px;
}

.oo-design-system .qodef-drop-down-second .qodef-drop-down-second-inner ul li a:hover {
  padding-left: 28px;
  color: #fff;
  background: rgba(183, 155, 111, .13);
}

.oo-design-system li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul > li > a {
  color: var(--oo-brass);
  border-radius: 0;
}

.oo-design-system #qodef-content-bottom-inner {
  padding: 0 !important;
}

.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 28px;
}

.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item {
  width: auto !important;
  min-width: 0;
}

.oo-design-system #qodef-content-bottom .menu {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px 18px;
  width: 100%;
}

.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child {
  display: flex !important;
  gap: 16px;
  align-items: center;
  justify-content: flex-end;
}

.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child .widget {
  flex: 0 0 auto;
}

.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child .widget_leroux_core_separator {
  display: none;
}

.oo-design-system #qodef-content-bottom .qodef-icon-list-item a,
.oo-design-system #qodef-content-bottom .qodef-e-title-text-inner {
  white-space: nowrap;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .wp-block-group__inner-container,
.oo-design-system #qodef-page-footer-bottom-area-inner .widget_block {
  width: 100%;
  max-width: none !important;
}

.oo-design-system #qodef-page-footer-bottom-area-inner [data-area="qodef-footer-bottom-area-column-3"] a {
  display: block;
  max-width: 300px;
}

.oo-design-system #qodef-page-footer-copyright-area {
  padding: 0 !important;
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
    padding: 72px 24px;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43 {
    padding: 64px 0 72px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner {
    min-height: 0;
    padding: 30px 24px 88px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .qodef-e-text {
    font-size: 15px;
    line-height: 1.42;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list.qodef-item-layout--info-below .qodef-e-inner::before {
    height: 30px;
    margin-bottom: 10px;
    font-size: 54px;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev,
  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    bottom: 28px !important;
    width: 42px !important;
    height: 42px !important;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-prev {
    right: 72px !important;
  }

  .oo-design-system .elementor-11066 .qodef-testimonials-list .swiper-button-next {
    right: 22px !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c {
    aspect-ratio: auto;
    background-size: 100% auto !important;
    background-position: center bottom !important;
  }

  .oo-design-system .elementor-11066 .elementor-element.elementor-element-2db9a8c > .elementor-container {
    min-height: 680px !important;
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: 52% 48%;
  }

  .oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner {
    grid-template-columns: 1fr !important;
  }

  .oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child {
    display: flex !important;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

/* v1.4 final cascade lock — unified light sections and complete footer. */

/* v1.5 — relocate the side-area story and retire the redundant drawer. */
.oo-design-system .qodef-side-area-opener,
.oo-design-system #qodef-side-area {
  display: none !important;
}

/* Mega-menu category labels must never disappear into the dark panel. */
.oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second .qodef-drop-down-second-inner > ul.sub-menu > li.menu-item-has-children > a {
  display: block;
  color: #d4bd8c !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-bottom-color: rgba(212, 189, 140, .38);
}

.oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second .qodef-drop-down-second-inner > ul.sub-menu > li.menu-item-has-children > a:hover,
.oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second .qodef-drop-down-second-inner > ul.sub-menu > li.menu-item-has-children > a:focus-visible {
  color: #fff !important;
  background: rgba(212, 189, 140, .12);
}

/* Keep every mega-menu column inside the visible desktop viewport. */
@media (min-width: 1025px) {
  .oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second {
    min-height: 0 !important;
    max-width: 100vw;
    overflow-x: hidden;
    pointer-events: none;
  }

  .oo-design-system .qodef-header-navigation > ul > li.qodef-menu-item--wide:not(:hover):not(:focus-within) > .qodef-drop-down-second {
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .oo-design-system .qodef-header-navigation > ul > li.qodef-menu-item--wide:hover > .qodef-drop-down-second,
  .oo-design-system .qodef-header-navigation > ul > li.qodef-menu-item--wide:focus-within > .qodef-drop-down-second {
    height: auto !important;
    pointer-events: auto;
  }

  .oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second-inner {
    width: min(100%, 1400px) !important;
    max-width: calc(100vw - 48px) !important;
    margin-inline: auto;
    padding-inline: clamp(18px, 2.4vw, 34px);
    box-sizing: border-box;
  }

  .oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul.sub-menu {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(12px, 1.8vw, 28px);
    width: 100% !important;
    max-width: 100%;
    margin: 0;
  }

  .oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul.sub-menu > li {
    display: block;
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
  }

  .oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul.sub-menu > li a,
  .oo-design-system .qodef-header-navigation li.qodef-menu-item--wide .qodef-drop-down-second-inner > ul.sub-menu > li .qodef-menu-item-text {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}

/* Complete the three-column promise band with the existing brand monogram. */
.oo-design-system .elementor-11066 .elementor-element-deb02aa > .elementor-widget-wrap {
  position: relative;
  padding-left: 112px;
}

.oo-design-system .elementor-11066 .elementor-element-deb02aa .oo-promise-mark {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 86px;
  height: 86px;
  object-fit: contain;
}

/* Premium service portfolio: strong hierarchy, quiet depth and clear states. */
.oo-design-system .elementor-11066 .elementor-element-777fd63 .qodef-accordion {
  gap: 18px;
}

.oo-design-system .elementor-11066 .elementor-element-777fd63,
.oo-design-system .elementor-11066 .elementor-element-777fd63 > .elementor-widget-container,
.oo-design-system .elementor-11066 .elementor-element-777fd63 .qodef-accordion {
  border-bottom: 0 !important;
}

.oo-design-system .elementor-11066 .oo-service-card {
  position: relative;
  min-height: 126px;
  background: rgba(255, 255, 255, .88);
  border: 1px solid #dfe5e5;
  border-radius: 18px;
  box-shadow: 0 18px 42px -36px rgba(24, 35, 39, .5);
  isolation: isolate;
}

.oo-design-system .elementor-11066 .oo-service-card::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 24px;
  width: 48px;
  height: 3px;
  background: var(--oo-brass);
  border-radius: 0 0 4px 4px;
}

.oo-design-system .elementor-11066 .oo-service-card:hover {
  border-color: rgba(183, 155, 111, .55);
  box-shadow: 0 24px 52px -34px rgba(24, 35, 39, .62);
  transform: translateY(-3px);
}

.oo-design-system .elementor-11066 .oo-service-card:has(.ui-state-active) {
  background: linear-gradient(145deg, #223135, #192629);
  border-color: #223135;
  box-shadow: 0 28px 60px -32px rgba(19, 31, 34, .72);
  transform: none;
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-title {
  min-height: 126px;
  padding: 28px 74px 25px 24px;
  align-items: flex-start;
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-title .qodef-tab-title {
  max-width: 34ch;
  color: #263237;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
}

.oo-design-system .elementor-11066 .oo-service-card:has(.ui-state-active) .qodef-tab-title,
.oo-design-system .elementor-11066 .oo-service-card:has(.ui-state-active) .qodef-accordion-content {
  color: #fff !important;
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-mark {
  top: 24px;
  right: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #263237;
  background: #f0f3f3;
  border: 1px solid #dde3e3;
  border-radius: 50%;
}

.oo-design-system .elementor-11066 .oo-service-card:has(.ui-state-active) .qodef-accordion-mark {
  color: #fff;
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .16);
}

.oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-content {
  padding: 0 58px 30px 24px;
  font-size: 15px;
  line-height: 1.7;
}

/* The stored Corporate panel repeats the complete Concierge entry after an HR.
   Keep the source untouched and suppress only that duplicate rendering. */
.oo-design-system .elementor-11066 .oo-service-card:nth-child(5) .qodef-accordion-content-inner > hr,
.oo-design-system .elementor-11066 .oo-service-card:nth-child(5) .qodef-accordion-content-inner > hr ~ * {
  display: none !important;
}

/* Turn the two process boxes into one deliberate experience pathway. */
.oo-design-system .elementor-11066 .oo-experience-band {
  grid-column: 1 / 13;
  grid-row: 4;
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.6fr);
  margin-top: 24px;
  overflow: hidden;
  background: #1c292d !important;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 20px;
  box-shadow: 0 28px 60px -40px rgba(20, 31, 34, .7);
}

.oo-design-system .elementor-11066 .oo-experience-band .elementor-element-79bc59c,
.oo-design-system .elementor-11066 .oo-experience-band .elementor-element-a9816a6 {
  display: block;
  grid-column: auto !important;
  grid-row: auto !important;
  width: auto;
  margin: 0;
  padding: 38px 36px;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.oo-design-system .elementor-11066 .oo-experience-band .elementor-element-79bc59c {
  background: rgba(255, 255, 255, .035) !important;
  border-right: 1px solid rgba(255, 255, 255, .1) !important;
}

.oo-design-system .elementor-11066 .oo-experience-band h1,
.oo-design-system .elementor-11066 .oo-experience-band h2,
.oo-design-system .elementor-11066 .oo-experience-band h3,
.oo-design-system .elementor-11066 .oo-experience-band h4,
.oo-design-system .elementor-11066 .oo-experience-band p,
.oo-design-system .elementor-11066 .oo-experience-band .qodef-e-title,
.oo-design-system .elementor-11066 .oo-experience-band .qodef-e-title-text-inner {
  color: #fff !important;
}

.oo-design-system .elementor-11066 .oo-experience-band .elementor-element-a9816a6 .qodef-textual-list-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 28px !important;
}

.oo-design-system .elementor-11066 .oo-experience-band .qodef-e-icon {
  color: var(--oo-brass);
}

/* Elementor stores the checklist colour on the item/link itself, so setting
   only the heading colour can leave the labels dark against this dark band. */
.oo-design-system .elementor-11066 .oo-experience-band .qodef-textual-list-item,
.oo-design-system .elementor-11066 .oo-experience-band .qodef-e-title-holder,
.oo-design-system .elementor-11066 .oo-experience-band .qodef-textual-list .qodef-e-title,
.oo-design-system .elementor-11066 .oo-experience-band .qodef-textual-list .qodef-e-title > *,
.oo-design-system .elementor-11066 .oo-experience-band .qodef-textual-list .qodef-e-link {
  color: #f7f8f7 !important;
  -webkit-text-fill-color: #f7f8f7 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.oo-design-system .elementor-11066 .oo-experience-band .qodef-textual-list-item {
  min-width: 0;
}

.oo-design-system .elementor-11066 .oo-experience-band .qodef-e-title-holder {
  display: block !important;
  min-width: 0;
}

/* Preserve the signature-services photograph's native 3:2 composition. */
.oo-design-system .elementor-11066 .elementor-element-932f2ed {
  height: auto !important;
  aspect-ratio: 3 / 2;
  background: #e9eeee;
}

.oo-design-system .elementor-11066 .elementor-element-932f2ed > .elementor-widget-container,
.oo-design-system .elementor-11066 .elementor-element-932f2ed .qodef-single-image,
.oo-design-system .elementor-11066 .elementor-element-932f2ed .qodef-m-image,
.oo-design-system .elementor-11066 .elementor-element-932f2ed img {
  width: 100%;
  height: 100%;
}

.oo-design-system .elementor-11066 .elementor-element-932f2ed img {
  display: block;
  object-fit: cover;
  object-position: center center;
}

.oo-design-system .elementor-11066 .elementor-element-4a7018f {
  padding: 28px 30px;
  background: rgba(255, 255, 255, .84);
  border: 1px solid #dfe5e5;
  border-radius: 16px;
  box-shadow: 0 18px 42px -38px rgba(24, 35, 39, .48);
}

.oo-design-system .elementor-11066 .elementor-element-4a7018f > .elementor-widget-container {
  padding: 0;
}

@media (min-width: 1025px) {
  .oo-design-system .elementor-11066 .elementor-element-709dea8,
  .oo-design-system .elementor-11066 .elementor-element-709dea8 > .elementor-widget-wrap,
  .oo-design-system .elementor-11066 .elementor-element-079002d,
  .oo-design-system .elementor-11066 .elementor-element-079002d > .elementor-container {
    min-height: 100% !important;
  }

  /* Reserve a dependable hero safe area below the transparent desktop header. */
  .oo-design-system #qodef-page-header-inner {
    height: clamp(84px, 5.4vw, 102px) !important;
  }

  .oo-design-system #qodef-page-header .qodef-header-logo-link {
    width: auto !important;
    max-width: 280px;
    height: clamp(72px, 4.7vw, 88px) !important;
  }

  .oo-design-system #qodef-page-header .qodef-header-logo-link img {
    width: auto !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .oo-design-system #SR7_7_1 sr7-txt[id$="-0"] {
    top: clamp(190px, 25vh, 260px) !important;
    left: clamp(56px, 5.25vw, 100px) !important;
    width: min(640px, 46vw) !important;
  }

  .oo-design-system #SR7_7_1 sr7-txt[id$="-0"] .qodef-m-title {
    font-size: clamp(46px, 4.15vw, 72px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
  }

  .oo-design-system #SR7_7_1 sr7-txt[id$="-2"],
  .oo-design-system #SR7_7_1 sr7-txt[id$="-4"],
  .oo-design-system #SR7_7_1 sr7-txt[id$="-6"] {
    top: clamp(480px, 63vh, 610px) !important;
    left: clamp(56px, 5.25vw, 100px) !important;
  }
}

/* Keep the service links and direct-contact actions on one aligned row. */
.oo-design-system #qodef-content-bottom-inner {
  max-width: 1320px !important;
}

.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner {
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: clamp(28px, 3vw, 48px);
  align-items: center;
}

.oo-design-system #qodef-content-bottom .menu {
  display: grid !important;
  grid-template-columns: repeat(5, max-content);
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.oo-design-system #qodef-content-bottom .menu li,
.oo-design-system #qodef-content-bottom .menu li a,
.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child,
.oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child .widget {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 1180px) {
  .oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner {
    grid-template-columns: 1fr !important;
  }

  .oo-design-system #qodef-content-bottom-inner > .qodef-grid-inner > .qodef-grid-item:last-child {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element-deb02aa > .elementor-widget-wrap {
    padding-left: 0;
  }

  .oo-design-system .elementor-11066 .elementor-element-deb02aa .oo-promise-mark {
    position: static;
    margin: 0 0 22px;
  }

  .oo-design-system #qodef-content-bottom .menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }

  .oo-design-system .elementor-11066 .oo-service-card,
  .oo-design-system .elementor-11066 .oo-service-card .qodef-accordion-title {
    min-height: 104px;
  }

  .oo-design-system .elementor-11066 .oo-experience-band {
    grid-template-columns: 1fr;
  }

  .oo-design-system .elementor-11066 .oo-experience-band .elementor-element-79bc59c {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
  }

  .oo-design-system .elementor-11066 .oo-experience-band .elementor-element-a9816a6 .qodef-textual-list-inner {
    grid-template-columns: 1fr;
  }
}

.oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-item:last-child::before {
  content: none !important;
  display: none !important;
}

.oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-inner {
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.8fr) !important;
  gap: clamp(34px, 5vw, 72px);
}

.oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 290px);
  align-items: center;
  gap: clamp(24px, 3vw, 42px);
}

.oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story p {
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 500;
  line-height: 1.65;
}

.oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story img {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  filter: none !important;
  visibility: visible !important;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
}

@media (max-width: 900px) {
  .oo-design-system #qodef-page-footer-top-area-inner .qodef-grid-inner,
  .oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story {
    grid-template-columns: 1fr !important;
  }

  .oo-design-system #qodef-page-footer-top-area-inner .oo-footer-story img {
    max-width: 520px;
    height: clamp(180px, 42vw, 250px);
  }
}

.oo-design-system,
.oo-design-system #qodef-page-outer,
.oo-design-system #qodef-page-inner {
  background: #fff;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-5b00fb3 {
  background-color: #fff !important;
  background-image: none !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-9d122b1,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
  background: #f5f7f7 !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-f65eb2f,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047 {
  background: #fff !important;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-f65eb2f,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-9d122b1,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
  margin-top: clamp(28px, 3vw, 44px) !important;
  border: 1px solid #e3e8e8;
  border-radius: 24px;
  box-shadow: 0 20px 56px -48px rgba(24, 35, 39, .42);
}

.oo-design-system .elementor-11066 .oo-service-card,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-79bc59c,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-a9816a6,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-2cb6483 {
  background: #fff;
  border-color: #dde3e3;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-ad90326,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-a6aac60,
.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 article.qodef-blog-item > .qodef-e-inner {
  background: #f7f9f9;
  border-color: #dfe5e5;
}

.oo-design-system .elementor-11066 .elementor-element.elementor-element-7de22a9 .entry-date {
  background: #eef2f2 !important;
  border-color: #dce3e3;
}

.oo-design-system #qodef-content-bottom,
.oo-design-system #qodef-page-footer,
.oo-design-system #qodef-page-footer-top-area,
.oo-design-system #qodef-page-footer-bottom-area,
.oo-design-system #qodef-page-footer-copyright-area {
  background: #192629 !important;
}

.oo-design-system #qodef-content-bottom {
  margin-top: clamp(32px, 4vw, 56px);
  border-top: 3px solid var(--oo-brass);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.oo-design-system #qodef-page-footer-top-area-inner,
.oo-design-system #qodef-page-footer-bottom-area-inner,
.oo-design-system #qodef-page-footer-copyright-area-inner,
.oo-design-system #qodef-content-bottom-inner {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
}

.oo-design-system #qodef-page-footer-bottom-area-inner {
  padding: 42px 0 46px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:first-child {
  display: none;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:not(:first-child) {
  display: block;
  width: auto !important;
  min-width: 0;
  min-height: 172px;
  padding: 24px;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
}

.oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:not(:first-child) .widget,
.oo-design-system #qodef-page-footer-bottom-area-inner .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
}

.oo-design-system #qodef-page-footer .oo-footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.oo-design-system #qodef-page-footer .oo-footer-socials .qodef-icon-holder {
  margin: 0 !important;
}

.oo-design-system #qodef-page-footer .oo-footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  color: #fff !important;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
}

.oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-inner {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 16px 30px;
  justify-content: stretch;
}

.oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-item:last-child {
  justify-self: end;
}

@media (max-width: 1024px) {
  .oo-design-system #qodef-page-footer-top-area-inner,
  .oo-design-system #qodef-page-footer-bottom-area-inner,
  .oo-design-system #qodef-page-footer-copyright-area-inner {
    padding-inline: 32px;
  }
}

@media (max-width: 767px) {
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-0b0b74a,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8592d43,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-7c3f909,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-f65eb2f,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-9d122b1,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-8aae047,
  .oo-design-system .elementor-11066 .elementor-element.elementor-element-416b038 {
    margin-top: 24px !important;
    border-radius: 18px;
  }

  .oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-inner,
  .oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-inner {
    grid-template-columns: 1fr !important;
  }

  .oo-design-system #qodef-page-footer-bottom-area-inner .qodef-grid-item:not(:first-child) {
    min-height: 0;
  }

  .oo-design-system #qodef-page-footer-copyright-area-inner .qodef-grid-item:last-child {
    justify-self: start;
  }
}
