/*
Theme Name:     Divi Child
Theme URI:      https://www.elegantthemes.com/gallery/divi/
Description:    Divi Child Theme
Author:         Elegant Themes
Author URI:     https://www.elegantthemes.com
Template:       Divi
Version:        1.0.0
*/

/* =============================================================================
   ROOT & BASE
   ============================================================================= */

/* Default root size. Fluid scaling kicks in above 1920px —
   formula: Base (16px) + scaling factor based on viewport. */
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
}

@media screen and (min-width: 1921px) {
  html {
    font-size: calc(100% + (1vw - 19.2px) * 0.5);
  }
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #657177;
}

/* =============================================================================
   FONTS
   ============================================================================= */

@font-face {
  font-family: "Helvetica Neue";
  src: url("css/fonts/HelveticaNeueLTPro-Roman.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("css/fonts/HelveticaNeueLTPro-Md.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("css/fonts/HelveticaNeueLTPro-Bd.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

/* =============================================================================
   BRAND COLOUR VARIABLES
   ============================================================================= */

:root {
  --color-red: #cc2229;
  --color-red-hover: #8e1c7d;
  --color-teal: #168587;
  --color-teal-dark: #178789;
  --color-teal-light: #6eb5b2;
  --color-purple: #8e1c7d;
  --color-purple-bg: rgba(163, 35, 142, 0.95);
  --color-text-muted: #657177;
  --color-white: #ffffff;
}

/* =============================================================================
   GLOBAL / BASE
   ============================================================================= */

::selection {
  background: var(--color-teal-light);
}

.et_pb_text_inner {
  font-weight: 400;
  line-height: 1.25;
}

.et_pb_button:after,
.et_pb_button:before {
  /*display: none;*/
}

/* =============================================================================
   Divi font swap 
   ============================================================================= */

/* Main Divi Module Icons */
@font-face {
  font-family: "DiviModuleIcons";
  src: url("/wp-content/themes/Divi/core/admin/fonts/modules/all/modules.woff")
    format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Social Media Specific Icons */
@font-face {
  font-family: "DiviSocialIcons";
  src: url("/wp-content/themes/Divi/core/admin/fonts/modules/social/modules.woff")
    format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* FontAwesome Solid - Note the WOFF2 format for better compression */
@font-face {
  font-family: "FontAwesomeSolid";
  src: url("/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.woff2")
    format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Roboto via Google Fonts Gstatic */
@font-face {
  font-family: "Roboto";
  src: url("https://fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2")
    format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* =============================================================================
   ICONS
   ============================================================================= */

/* -----------------------------------------------------------
   1. MATERIAL SYMBOLS OUTLINED (Newer icons like nest_eco_leaf)
   ----------------------------------------------------------- */
@font-face {
  font-display: swap;
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 100 700;
  src: url("css/fonts/material-symbols-outlined-v326-latin-regular.woff2")
    format("woff2");
}

.material-symbols-outlined {
  font-family: "Material Symbols Outlined" !important;
  font-weight: normal;
  font-style: normal;
  font-size: clamp(24px, 5vh, 48px);
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

/* -----------------------------------------------------------
   2. MATERIAL ICONS OUTLINED (Classic icons like share_location)
   ----------------------------------------------------------- */
@font-face {
  font-display: swap;
  font-family: "Material Icons";
  font-style: normal;
  font-weight: 400;
  src: url("css/fonts/material-icons-outlined-v110-latin-regular.woff2")
    format("woff2");
}

.material-icons {
  font-family: "Material Icons" !important;
  font-weight: normal;
  font-style: normal;
  font-size: clamp(24px, 5vh, 50px);
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

/* -----------------------------------------------------------
   3. MATERIAL SYMBOLS ROUNDED (v328)
   ----------------------------------------------------------- */
@font-face {
  font-display: swap;
  font-family: "Material Symbols Rounded";
  font-style: normal;
  font-weight: 100 700;
  src: url("css/fonts/material-symbols-rounded-v346-latin-200.woff2")
    format("woff2");
}

.material-symbols-rounded {
  font-family: "Material Symbols Rounded" !important;
  font-weight: 200;
  font-style: normal;
  font-size: clamp(24px, 5vh, 48px);
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Ligatures & Rendering */
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;

  /* Rounded specific variation */
  font-variation-settings:
    "FILL" 0,
    "wght" 200,
    "GRAD" 0,
    "opsz" 24 !important;
}

/* =============================================================================
   TYPOGRAPHY — HEADINGS
   ============================================================================= */

h1,
.et_pb_module h1 {
  font-size: clamp(2rem, 1.7rem + 1.5vw, 3.5rem) !important;
  line-height: normal;
  font-weight: 700 !important;
  margin-bottom: auto;
  padding-bottom: 0.625rem !important;
}

/* Placeholder — kept for future divergence from global h1 */
.parent-page h1 {
  font-size: clamp(2rem, 1.7rem + 1.5vw, 3.5rem) !important;
  line-height: normal;
}

h2,
.et_pb_module h2 {
  font-size: clamp(1.875rem, 1.75rem + 0.63vw, 2.5rem) !important;
  line-height: normal;
  font-weight: 700;
  padding-bottom: 0;
  margin-bottom: 1.25rem !important;
}

h3,
.et_pb_module h3 {
  font-size: clamp(1.75rem, 1.7rem + 0.25vw, 2rem);
  line-height: normal;
  padding-bottom: 0.625rem !important;
}

h4,
.et_pb_module h4,
h4 p,
.cta-text p,
h4 li {
  font-size: clamp(1.125rem, 1.1rem + 0.13vw, 1.25rem) !important;
  line-height: normal !important;
  font-weight: 400;
}

.et_pb_module li h4 {
  line-height: normal;
}

/* =============================================================================
   TYPOGRAPHY — BODY & LINKS
   ============================================================================= */

p,
.et_pb_text p {
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  line-height: normal;
  font-weight: normal;
}

.hero-paragraph p {
  font-size: clamp(1.125rem, 1.1rem + 0.13vw, 1.25rem);
  line-height: normal;
  font-weight: normal;
}

.larger-paragraph p {
  font-size: clamp(1.125rem, 1.1rem + 0.13vw, 1.25rem);
  line-height: normal;
  font-weight: normal;
}

a,
.et_pb_text a,
.sub-footer {
  /* font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem); */
  font-size: inherit;
  line-height: normal;
}

a:hover {
  text-decoration: none;
}

li,
.et_pb_text li {
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  line-height: normal;
  margin-left: 0.25rem;
  font-weight: normal;
}

footer li,
header li {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* =============================================================================
   TYPOGRAPHY — COMPONENT OVERRIDES
   ============================================================================= */

/* Content box (dark/coloured background panels) */
.content-box h2,
.content-box h3 {
  color: #fff;
  line-height: normal;
}

.content-box h3 {
  font-weight: 700;
  line-height: normal;
}

.content-box a,
.manager-description a {
  color: #fff;
  text-decoration: underline;
  line-height: normal;
  text-underline-offset: 0.188rem;
  font-size: inherit;
}

/* Form headings */
.form-title h3 {
  font-size: clamp(1.75rem, 1.7rem + 0.25vw, 2rem);
  line-height: normal;
  color: #323a3f;
  font-weight: 700;
}

.form-sub h4 {
  font-size: clamp(1.125rem, 1.1rem + 0.13vw, 1.25rem) !important;
  line-height: normal !important;
  font-weight: 400;
  color: #657177;
}

/* Blog */
.blog-content h3,
.blog-content h4 {
  font-size: clamp(1.75rem, 1.7rem + 0.25vw, 2rem) !important;
  line-height: normal;
  font-weight: 700;
}

.blog-content a {
  /* color: inherit; */
  text-decoration: underline;
  text-underline-offset: 0.188rem;
}

/* Parent page overrides */
.parent-services p,
.parent-testimonials p {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
  line-height: normal;
}

/* Awards carousel */
.awards-carousel h6.item-subtitle {
  order: 2;
  text-align: center;
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
  line-height: normal;
  color: #fff;
  font-weight: 700;
}

/* FAQs mobile links */
.faq-m-col a {
  color: #fff;
  text-decoration: underline;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
}

/* =============================================================================
   HEADER BAR
   ============================================================================= */

.partners-careers-offices h3 {
  gap: 5vh;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.partners-careers-offices h3 a {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
  line-height: 1.4;
}

.language-switcher a {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
  line-height: 1.4 !important;
}

.language-switcher h3 {
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem) !important;
}

/* Language Switcher Dropdown Styling */

/* Main column layout alignment and layer visibility fixes */
.green-top-bar-column {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  overflow: visible !important;
  z-index: 10 !important;
}

.green-top-bar-column .et_pb_menu_0_tb_header {
  margin-bottom: 0 !important;
}

.green-top-bar-column .et_pb_code_0_tb_header {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
  z-index: 20 !important;
}

.green-top-bar-column .et_pb_code_inner {
  overflow: visible !important;
}

/* Global resets for the WPML action container */
.wpml-ls-statics-shortcode_actions,
.wpml-ls-statics-shortcode_actions * {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}

/* Position container relative to anchor the sub-menu dropdown */
.wpml-ls-legacy-dropdown {
  display: inline-block !important;
  position: relative !important;
  overflow: visible !important;
}

.wpml-ls-legacy-dropdown ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* Configuration for the top-level main menu item toggle */
.wpml-ls-legacy-dropdown > ul > li {
  position: relative !important;
  display: block !important;
  overflow: visible !important;
}

/* Base style for both active toggle and sub-links */
.wpml-ls-legacy-dropdown a,
.wpml-ls-legacy-dropdown a span {
  text-decoration: none !important;
  padding: 0.3rem 0.5rem 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  font-weight: 400 !important;
  font-size: 1rem;
  color: #ffffff !important;
  background: transparent !important;
  transition: color 0.2s ease-in-out;
  border: 0;
}

.wpml-ls-legacy-dropdown {
  width: 4.5em;
  max-width: 100%;
}

/* Dropdown Sub-menu Container Layer */
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background-color: #323a3f !important;
  padding: 0.5rem 0 !important;
  min-width: 4.375rem !important;
  z-index: 99999 !important;
  /* border-radius: 0.25rem !important; */
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.15) !important;

  /* Hidden states */
  opacity: 0 !important;
  visibility: hidden !important;
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease !important;
}

/* Display the sub-menu layout on hover */
.wpml-ls-legacy-dropdown > ul > li:hover .wpml-ls-sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Layout padding alignment inside sub-menus */
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu li {
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a,
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a span {
  padding: 0.375rem 0.75rem !important;
  justify-content: center !important;
  font-size: 0.875rem;
}

/* Sub-link hover color state change */
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a:hover,
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a:hover span {
  color: #fff !important;
  background-color: #6eb5b2 !important;
}

/* Strip structural padding off the outer bounds wrapper links */
.wpml-ls-legacy-dropdown > ul > li > a {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =============================================================================
   MENUS
   ============================================================================= */

#menu-main-menu li a,
#my-sticky-header nav .et-menu.nav li .first-level a {
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem) !important;
  line-height: inherit;
}

#menu-main-menu .sub-menu li a,
#my-sticky-header nav .et-menu.nav li ul.sub-menu li a {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
  padding-top: 0.625rem;
  line-height: initial;
}

/* =============================================================================
   LAYOUT — SECTION & ROW WIDTHS
   ============================================================================= */

.et_pb_section {
  width: 100%;
}

/* Header, footer & hero */
#main-header,
#main-footer,
.hero-area {
  width: 90% !important;
  margin: 0 auto;
}

/* Main content area */
.content-area {
  width: 80% !important;
  max-width: 1400px;
  margin: 0 auto;
}

/* Divi row width utilities */
.et_pb_row {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0;
}

.et_pb_row.row-100 {
  width: 100%;
}
.et_pb_row.row-90 {
  width: 90%;
}
.et_pb_row.row-80 {
  width: 80%;
}
.et_pb_row.row-70 {
  width: 70%;
}
.et_pb_row.row-60 {
  width: 60%;
}

/* =============================================================================
   BUTTONS
   ============================================================================= */

/*
 * Shared red button foundation — all button variants build on these values.
 * Individual selectors below handle Divi's specificity requirements.
 */

a.et_pb_button.et_pb_promo_button,
.et_pb_button_module_wrapper a,
input.wpcf7-form-control.wpcf7-submit.has-spinner {
  background: var(--color-red);
  border: none !important;
  border-radius: 3.125rem !important;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem) !important;
}

a.et_pb_button.et_pb_promo_button {
  line-height: 0 !important;
  padding: 1.563rem 3.125rem !important;
  font-size: clamp(1.125rem, 1.05rem + 0.38vw, 1.5rem) !important;
}

a.et_pb_button.et_pb_promo_button:hover {
  background: var(--color-red-hover);
}

.et_pb_button_module_wrapper a {
  line-height: initial !important;
  padding: 0.938rem 3.125rem !important;
  font-weight: normal;
}

.et_pb_button_module_wrapper a:hover {
  background: var(--color-red-hover);
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
  padding: 0.938rem 3.125rem !important;
  color: var(--color-white);
  float: right;
  margin-top: 1.25rem;
  font-family: "Helvetica Neue";
  line-height: initial !important;
  padding-top: 1.25rem !important;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
  background: var(--color-red-hover);
  cursor: pointer;
}

button.wpcf7-form-control.wpcf7-submit.has-spinner.et_pb_button.et_pb_bg_layout_light {
  width: auto;
  height: 3.125rem;
  padding: 0 0.938rem;
  background-color: var(--color-red);
  color: var(--color-white);
  border: none;
  font-size: clamp(1.125rem, 1.05rem + 0.38vw, 1.5rem);
  font-weight: normal;
  cursor: pointer;
  border-radius: 3.125rem;
  margin-top: 3vw;
  transition: background-color 0.3s;
  float: right;
}

button.wpcf7-form-control.wpcf7-submit.has-spinner.et_pb_button.et_pb_bg_layout_light:hover {
  background-color: #ea6212;
}

.cf7-step .wpcf7-radio .wpcf7-list-item label:has(input[type="radio"]:checked) {
  background-color: #005baa;
  border-color: #005baa;
  color: #fff;
}

.cf7-step .wpcf7-radio .wpcf7-list-item label:hover {
  border-color: #005baa;
}

#page-container .btn-red {
  min-width: 10vw;
}

/* Divi header/footer button padding overrides (kept for archive template compatibility) */

body.et-db
  #page-container
  #et-boc
  .et-l
  .et_pb_section
  .et_pb_button_0_tb_header.btn-red,
.et-db
  #et-boc
  .et-l
  .et_pb_button_0_tb_footer_wrapper
  .et_pb_button_0_tb_footer.btn-red {
  padding: 0.938rem 3.125rem !important;
}

body.archive.et-db
  #page-container
  #et-boc
  .et-l
  .et_pb_section
  .et_pb_button_0_tb_header.btn-red,
body.archive.et-db
  #page-container
  #et-boc
  .et-l
  .et_pb_section
  .et_pb_button_0_tb_footer_wrapper
  .et_pb_button_0_tb_footer.btn-red,
.et-db
  #et-boc
  .et-l
  .et_pb_button_0_tb_body_wrapper
  .et_pb_button_0_tb_body.btn-red,
.et-db
  #et-boc
  .et-l
  .et_pb_button_0_tb_body_wrapper
  .et_pb_button_0_tb_body.btn-red:hover {
  padding: 0.938rem 3.125rem !important;
  font-weight: 400;
  line-height: initial !important;
}

/* Generic .red-button utility class */

.red-button {
  background: var(--color-red);
  padding: 0.938rem 3.125rem !important;
  border: none;
  color: var(--color-white);
  border-radius: 3.125rem;
  float: right;
  margin-top: 1.25rem;
  font-family: "Helvetica Neue";
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem) !important;
  line-height: initial !important;
  font-weight: 400;
}

.red-button:hover {
  background-color: var(--color-red-hover);
}

/* Multistep form buttons */

.sf-continue-btn,
.sf-back-btn,
.sf-submit-btn {
  padding: 0.938rem 3.125rem !important;
  border: none;
  border-radius: 3.125rem;
  cursor: pointer;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem) !important;
  font-weight: 400;
  transition: background-color 0.3s ease;
  margin-top: 0.938rem;
}

.sf-back-btn {
  background-color: transparent;
  color: var(--color-white);
  border: 0.0625rem solid var(--color-white);
  align-self: flex-end;
}

.sf-back-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

/* Services hover blocks button */
a.df_fb_button {
  padding: 0;
}

/* =============================================================================
   HEADER
   ============================================================================= */

.et_pb_column--with-menu .et_pb_menu {
  flex-grow: 1;
  text-align: center !important;
}

.et_pb_column--with-menu .et_pb_menu .et-menu-nav {
  justify-content: center;
  margin: 0 auto;
}

.contact-menu a,
.contact-menu {
  display: none !important;
}

.header-logo {
  z-index: 1;
}

.et-menu .menu-item-has-children > a:first-child {
  padding-right: 0;
}

/* Top bar */

.top-bar-menu,
.language-switcher {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: end;
  padding-bottom: 0;
}

.green-top-bar-column {
  display: flex;
  flex-wrap: wrap;
  gap: 6vw;
  justify-content: flex-end;
}

.et_pb_section_0_tb_header {
  width: 101% !important;
}

/* =============================================================================
   MAIN MENU
   ============================================================================= */

ul.sub-menu {
  backdrop-filter: blur(20px);
}

#menu-main-menu li {
  padding: 0 1vw;
}

/* Replace Divi's default dropdown arrow with a custom character */
.et-menu .menu-item-has-children > a:first-child:after {
  display: none !important;
}

.et-menu .menu-item-has-children > a:first-child {
  display: flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
}

.et-menu .menu-item-has-children > a:first-child::before {
  content: "▾";
  order: 2;
}

ul#menu-main-menu {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
}

nav .et-menu.nav .sub-menu li a:hover {
  background: var(--color-teal);
}

.archive.et-db #et-boc .et-l .nav ul li a:hover {
  background: var(--color-teal) !important;
}

/* .et-menu .nav li .first-level.resources-drop a {
  padding-top: 0vh !important;
} */

/* =============================================================================
   FORMS — CONTACT FORM 7 (CF7)
   ============================================================================= */

/* Select dropdown */
.cf7-one select.wpcf7-select {
  display: block;
  width: 100%;
  height: 3.125rem !important;
  line-height: 3.125rem !important;
  padding: 0 2.5rem 0 0.9375rem !important;
  vertical-align: middle;
  background-color: var(--color-white);
  border: 0.0625rem solid #ccc;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23666666%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 0.75rem auto;
  background-position: right 0.9375rem top 50% !important;
}

/* Text inputs */
.cf7-one input.wpcf7-text {
  height: 3.125rem !important;
  line-height: 3.125rem !important;
  padding: 0 0.9375rem !important;
}

/* Form layout helpers */
.wpcf7 .form-title {
  font-size: 3em;
  font-weight: bold;
  margin-bottom: 0.3125rem;
  padding: 0;
}

.wpcf7 .form-description {
  font-size: 1em;
  margin-bottom: 1.875rem;
  padding: 0;
}

.wpcf7 .cf7-row:before,
.wpcf7 .cf7-row:after {
  content: " ";
  display: table;
}

.wpcf7 .cf7-row:after {
  clear: both;
}

.wpcf7 .cf7-one-half {
  float: left;
  width: 48%;
  margin-right: 4%;
  box-sizing: border-box;
}

.wpcf7 .cf7-one-half.last-column {
  margin-right: 0;
}

.wpcf7 .cf7-one {
  width: 100%;
  box-sizing: border-box;
}

.wpcf7 input[type="text"],
.wpcf7 select {
  width: 100%;
  height: 3.125rem;
  padding: 0.625rem;
  border: 0.0625rem solid #94a3b8 !important;
  background-color: var(--color-white);
  color: var(--color-text-muted);
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
}

.wpcf7 label {
  display: block;
  font-weight: normal;
  margin-bottom: -0.9375rem;
  color: var(--color-text-muted);
  margin-top: 1.25rem;
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
  direction: ltr;
  width: 100%;
  height: 3.125rem;
  padding: 0.625rem;
  border: 0.0625rem solid #94a3b8;
  background-color: var(--color-white);
  color: var(--color-text-muted);
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
}

.multistep-link a {
  color: #fff;
}

/* Quote form on white background */
.quote-form-full .wpcf7 label {
  color: var(--color-white);
}

.wpcf7-list-item-label a {
  /* color: #fff; */
  text-decoration: underline;
  text-underline-offset: 0.188rem;
}

/* =============================================================================
   MULTISTEP QUOTE FORM (sf-*)
   ============================================================================= */

.sf-quote-form-container {
  color: var(--color-white);
  margin: 0 auto;
}

.sf-quote-header h1 {
  font-size: 2.5em;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.625rem;
  color: var(--color-white);
}

.sf-quote-header p {
  font-size: 1.1em;
  margin-bottom: 1.875rem;
  color: var(--color-white);
}

#sf-multistep-form {
  padding-top: 1.25rem;
}

.sf-form-step {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: flex-end;
}

.sf-form-step.active {
  display: flex;
  opacity: 1;
}

.sf-form-group {
  flex: 1 1 40%;
  min-width: 12.5rem;
}

.sf-form-group label {
  display: block;
  margin-bottom: 0.3125rem;
  font-weight: 400;
}

.sf-form-group input {
  width: 100%;
  padding: 0.938rem;
  border: none;
  border-radius: 0.25rem;
  font-size: 1em;
  box-sizing: border-box;
}

/* Progress bar */
.sf-progress-bar {
  text-align: center;
  margin-bottom: 1vw;
  margin-top: 3vw;
  display: flex;
  justify-content: center;
  gap: 0.625rem;
}

.sf-progress-step {
  display: inline-block;
  width: 1.875rem;
  height: 0.375rem;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 0.1875rem;
  transition: background-color 0.3s ease;
}

.sf-progress-step.active {
  background-color: var(--color-red);
}

/* =============================================================================
   SERVICES — HOVER CARDS
   ============================================================================= */

.hover-reveal-card {
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}

.hover-reveal-card .et_pb_button_wrapper,
.hover-reveal-card .et_pb_promo_description > *:not(.et_pb_module_header) {
  opacity: 0;
  max-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  transition: all 0.4s ease-in-out;
}

.et_pb_promo_description {
  position: absolute;
  bottom: 2vw;
  padding-left: 0vw;
  padding-right: 2vw;
}

.hover-reveal-card:hover .et_pb_button_wrapper,
.hover-reveal-card:hover
  .et_pb_promo_description
  > *:not(.et_pb_module_header) {
  opacity: 1;
  max-height: 7vw;
}

.hover-reveal-card .et_pb_module_header {
  display: block;
}

.hover-reveal-card:hover {
  background-image: none !important;
  background-color: var(--color-teal) !important;
}

/* Services blurb overlay */
.services-blurb {
  position: relative !important;
  bottom: -3vw !important;
}

.services-blurb .acf-description-text,
.acf-read-more-link a {
  font-size: clamp(0.75rem, 0.675rem + 0.38vw, 1.125rem) !important;
}

/* Services hover expand blocks */
.hover-content-acf {
  position: relative;
  bottom: 11vw;
  margin: auto 0;
  transition: 0.3s;
  width: 80%;
}

#moving-hover-block,
#corporate-hover-block {
  width: 48% !important;
  transition:
    width 0.5s ease-in-out,
    background-color 0.5s ease-in-out;
  flex-grow: 0 !important;
}

#moving-hover-block .et_pb_code,
#corporate-hover-block .et_pb_code {
  display: none !important;
}

.hover-content-acf.acf-active-append {
  opacity: 1;
  transition: none;
}

#moving-hover-block.is-hovered {
  width: 65.333% !important;
  z-index: 10;
  background-image: none !important;
  background-color: var(--color-teal-dark) !important;
}

.column-pair-hovered #corporate-hover-block:not(.is-hovered) {
  width: 30.666% !important;
  transition: width 0.7s ease-in-out;
}

#corporate-hover-block.is-hovered {
  width: 65.333% !important;
  z-index: 10;
  background-image: none !important;
  background-color: var(--color-teal-dark) !important;
}

.column-pair-hovered #moving-hover-block:not(.is-hovered) {
  width: 30.666% !important;
  transition: width 0.7s ease-in-out;
}

/* =============================================================================
   SERVICES — SFP CARD GRID
   ============================================================================= */

/* Desktop layout handled via Divi; mobile overrides are in media queries below */

/* =============================================================================
   GETTING YOU STARTED — STACKED SCROLLING SECTION
   ============================================================================= */

.gys-content {
  padding: 3vw;
  background-color: var(--color-purple-bg);
  color: var(--color-white);
  position: relative;
  left: 10vw;
  z-index: 99999999;
  width: 40vw !important;
  height: auto;
  min-height: 25vw;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}

#slider-section h2 {
  font-size: clamp(1.5rem, 1.2rem + 1.5vw, 3rem);
  line-height: 1.25;
  margin-bottom: 0.4375rem;
}

.gys-content h2,
.gys-content h3 {
  color: var(--color-white);
  font-weight: bold;
}

.gys-content .et_pb_text_inner,
.gys-content p {
  font-size: clamp(0.75rem, 0.675rem + 0.38vw, 1.125rem);
  line-height: 1.25;
  letter-spacing: -0.08px;
  margin-bottom: 0.25rem;
}

/* Nextend slider full-width fix */
#n2-ss-2
  > div
  > div.n2-ss-slider-1.n2_ss__touch_element.n2-ow
  > div
  > div
  > div.n2-ss-slider-4.n2-ow
  > div.n2-ss-slide.n2-ow.n2-ss-slide-4.n2-ss-slide-active
  > div.n2-ss-layers-container.n2-ss-slide-limiter.n2-ow {
  max-width: 100% !important;
}

.faq-slider-section,
.services-snapped {
  overflow: hidden;
}

/* =============================================================================
   TESTIMONIALS
   ============================================================================= */

.testimonial-row {
  z-index: 10 !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.testimonial-column {
  padding: 3vw;
  min-height: 45vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimonial-column h4,
.difl_testimonialcarousel_0 .tc_job_title {
  padding-bottom: 0.3125rem !important;
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
}

/* Testimonial slider — home page */
.testimonial-slider .content {
  padding: 1vw;
  position: relative;
  top: -5.5vw;
}

.testimonial-slider .dica-image-container {
  position: relative;
  top: 7vw;
}

.testimonial-slider h4.item-title {
  position: relative;
  top: 4.5vw;
  left: 4vw;
}

.testimonial-slider h6.item-subtitle {
  position: relative;
  top: 4vw;
  left: 4vw;
  font-size: 1rem !important;
}

.testimonial-slider .swiper-buttton-container {
  position: absolute;
  top: 3vw !important;
}

/* Testimonial slider — parent page */
.testimonial-slider-parent .dica-item-content {
  display: grid !important;
  grid-template-areas:
    "img title"
    "img subtitle"
    "txt txt";
  grid-template-columns: max-content 1fr;
  grid-template-rows: min-content min-content auto;
  gap: 0.3125rem 1.25rem;
  align-items: center;
}

.testimonial-slider-parent .dica-image-container {
  grid-area: img;
  height: auto;
  align-self: center;
}

.testimonial-slider-parent .item-title {
  grid-area: title;
  margin-bottom: 0;
  align-self: end;
}

.testimonial-slider-parent .item-subtitle {
  grid-area: subtitle;
  margin-top: 0;
  align-self: start;
}

.testimonial-slider-parent .content {
  grid-area: txt;
  margin-top: 0.9375rem;
}

.testimonial-slider-parent
  .dica_divi_carousel_0.dica_divi_carousel
  .swiper-button-next,
.testimonial-slider-parent
  .dica_divi_carousel_0.dica_divi_carousel
  .swiper-button-prev {
  background-color: transparent !important;
}

.testimonial-slider-parent .dica_divi_carousel_0 .swiper-button-next:before,
.testimonial-slider-parent .dica_divi_carousel_0 .swiper-button-prev:before {
  color: var(--color-white) !important;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2rem;
}

.testimonial-slider-parent .dica-container .swiper-button-prev {
  margin-right: 0.1875rem;
}

.testimonial-slider-parent .dica-container .swiper-button-next {
  margin-left: 0.1875rem;
}

/* =============================================================================
   OFFICES
   ============================================================================= */

.full-office-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 5vw;
  position: relative;
  z-index: 0;
}

.full-office-column h3 {
  font-size: clamp(1.75rem, 1.7rem + 0.25vw, 2rem);
}

.full-office-column p {
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
}

.full-office-column
  span.et-waypoint.et_pb_animation_top.et_pb_animation_top_tablet.et_pb_animation_top_phone.et-pb-icon.et-animated {
  color: #c62231;
}

.office-contact {
  position: relative;
  margin: 3vw;
  right: 5vw;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  max-height: fit-content;
  align-self: center;
}

.office-contact .et_pb_blurb_description {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
  line-height: 1.25;
  letter-spacing: -0.08px;
  margin-bottom: 0.9375rem;
}

.map-column {
  position: relative;
  left: 5vw;
}

.manager-image-column {
  position: relative;
  left: 3vw;
  display: flex;
  align-items: center;
}

.office-manager {
  position: relative;
  margin: -3vw;
  right: 0vw;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 40vh;
}

.office-manager .et_pb_text_inner {
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  line-height: 1.25;
  letter-spacing: -0.08px;
  margin-bottom: 0.25rem;
}

/* Office breadcrumb */
.custom-office-bc {
  font-family: inherit;
  font-size: 0.875rem;
  color: var(--color-white);
}

.custom-office-bc .separator {
  margin: 0;
  font-family: "ETmodules" !important;
  speak: none;
}

.custom-office-bc a {
  color: var(--color-white);
  text-decoration: none;
}

.custom-office-bc .current {
  font-weight: normal;
}

.dynamic-email-link {
  text-decoration: none !important;
}

/* =============================================================================
   META DATA: OFFICE & BLOGS
   ============================================================================= */

span.et-waypoint.et_pb_animation_top.et_pb_animation_top_tablet.et_pb_animation_top_phone.et-pb-icon.et-animated {
  font-size: clamp(0.75rem, 0.725rem + 0.13vw, 0.875rem);
  color: #657177;
}
.et_pb_blurb_container h4.et_pb_module_header span {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem) !important;
  font-weight: 100;
  color: #657177;
}
.et_pb_blurb_position_left .et_pb_main_blurb_image,
.et_pb_blurb_position_right .et_pb_main_blurb_image {
  width: auto;
}

.office-meta-data .et_pb_column {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 1.5vw; /* ADJUST THIS VALUE FOR SPACING */
}

.office-meta-data .et_pb_blurb_position_left .et_pb_blurb_container {
  padding-left: 10px;
}

/* Ensure Blurbs don't take up 100% width and remove bottom margin */
.office-meta-data .et_pb_module.et_pb_blurb {
  width: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Fix for Blurb internal spacing */
.office-meta-data .et_pb_blurb_content {
  display: flex;
  align-items: baseline;
}

/* Optional: Adjust icon size or color globally here */
.office-meta-data .et-pb-icon {
  margin-bottom: 0 !important; /* Removes default Divi icon bottom margin */
  padding-right: 0px; /* Space between icon and text */
}

/* =============================================================================
   SUSTAINABILITY INFORMATION
   ============================================================================= */

.sustainability-dropdown-container {
  width: 50%;
  max-width: 100%;
  margin: auto 0;
  text-align: center;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.sustainability-select {
  width: 100%;
  padding: clamp(0.75rem, 2vh, 1.25rem);
  font-size: clamp(0.75rem, 0.725rem + 0.13vw, 0.875rem);
  font-family: inherit;
  color: #333333;
  background-color: #ffffff;
  border: 0.06rem solid #cccccc;
  border-radius: 0.25rem;
  cursor: pointer;
  box-shadow: 0 0.25rem 0.38rem rgba(0, 0, 0, 0.05);
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1.25rem;
}

.sustainability-select:focus {
  border-color: #7d2673;
  outline: none;
  box-shadow: 0 0 0 0.19rem rgba(125, 38, 115, 0.2);
}

/* =============================================================================
   ABOUT
   ============================================================================= */

.about-legend {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-legend
  span.et-waypoint.et_pb_animation_top.et_pb_animation_top_tablet.et_pb_animation_top_phone.et-pb-icon.et-animated {
  color: transparent;
}

.about-legend span {
  margin-top: -1vh;
}

.stats-row {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.stats-column {
  padding: 5vh;
}

.about-legend .et_pb_blurb_position_left .et_pb_blurb_container,
.about-legend .et_pb_blurb_position_right .et_pb_blurb_container {
  display: table-cell;
  vertical-align: baseline !important;
}

sup {
  font-size: small;
}

/* =============================================================================
   HISTORY
   ============================================================================= */

.footnote-history p {
  font-size: small;
}

/* =============================================================================
   FOOTER
   ============================================================================= */

.et_pb_row_0_tb_footer {
  margin-bottom: 4.6875rem !important;
}

/* .et-db #et-boc .et-l ul.et_pb_social_media_follow_0_tb_footer {
  margin-top: 2vw;
  margin-bottom: 3vw !important;
} */

footer .et_pb_menu--without-logo .et_pb_menu__menu > nav > ul.upwards > li {
  margin-top: 0;
  margin-bottom: 1.5vh !important;
}

footer .et_pb_menu__menu > nav > ul {
  flex-direction: column;
}

/* Footer menu columns — shared first-child heading style */

footer .et-menu.nav.upwards > li:first-child a {
  font-weight: 700;
  margin-top: -0.5rem;
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem) !important;
  color: var(--color-white) !important;
}

footer .et-menu.nav.upwards > li:first-child a:hover
/* #menu-resources li:first-child a:hover */ {
  color: var(--color-teal-light) !important;
}

ul#menu-international-moving-services,
ul#menu-corporate-relocation-services,
/* ul#menu-esg, */
ul#menu-resources {
  display: block;
  text-align: left;
}

.footer .et_pb_menu .et_pb_menu__wrap {
  justify-content: center;
}

.footer ul#menu-network a,
.footer ul#menu-careers a {
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem) !important;
  font-weight: 700;
  margin-top: -0.5rem;
}

.et_pb_column.et_pb_column_1_5.et_pb_column_3_tb_footer.et_pb_css_mix_blend_mode_passthrough.et_pb_column--with-menu {
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: flex-start;
  -webkit-inline-box: initial;
}

.et_pb_social_media_follow_0_tb_footer li a.icon:before {
  font-size: 1.5rem !important;
}

/* Social media icons */
.social-media {
  display: inline-block !important;
  width: auto !important;
  margin-right: clamp(0.5rem, 1.5vh, 1rem) !important;
  vertical-align: middle;
  margin-top: 5vh;
  margin-bottom: 6vh !important;
}

/* Sub-footer */
.sub-footer a {
  padding-left: 1vw;
  font-weight: 700;
}

/* =============================================================================
   BREADCRUMBS
   ============================================================================= */

span.separator.et-pb-icon:before {
  content: "/";
  font-family: Arial, sans-serif !important;
  font-size: clamp(1.125rem, 1.05rem + 0.38vw, 1.5rem) !important;
}

.breadcrumb-icon .et-pb-icon {
  font-size: 0 !important;
}

.lwp-breadcrumbs,
.lwp-breadcrumbs a {
  font-size: clamp(1.125rem, 1.05rem + 0.38vw, 1.5rem) !important;
  color: var(--color-white) !important;
  padding-bottom: 0.625rem;
}

/* =============================================================================
   BLOG
   ============================================================================= */

.blog-content table {
  width: 100%;
  border-collapse: collapse;
  font-family: sans-serif;
  border: 0.0625rem solid #ccc;
}

.blog-content table th {
  background-color: #a3238e;
  color: var(--color-white);
  text-align: left;
  padding: 0.75rem 0.9375rem;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  border: 0.0625rem solid #ccc;
}

.blog-content table td {
  padding: 0.75rem 0.9375rem;
  border: 0.0625rem solid #ccc;
  color: var(--color-text-muted);
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
}

/* =============================================================================
   MISC COMPONENTS
   ============================================================================= */

/* Accreditation carousel */
.dica_divi_carousel .dica_divi_carousel_item .dica-item {
  justify-content: center;
}

/* FAQ / child toggle */
#child-toggle .et_pb_toggle_content p {
  font-size: clamp(0.875rem, 0.792rem + 0.28vw, 1.125rem);
}

/* FAQ content boxes */
.content-box ul {
  margin-top: 1vw;
}

/* Sustainable vision section */
.sustainable-vision .et_pb_blurb_position_top {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* Blurb adjustments */
.et_pb_blurb_content p:last-of-type {
  padding-bottom: 0;
  top: -0.5vw;
  position: relative;
}

.et_pb_blurb_container {
  width: 100% !important;
}

/* Partners / careers / offices heading */
.partners-careers-offices h3 {
  gap: 3vh;
  display: flex;
  flex-direction: row;
  align-items: center;
}

/* Masonry filter */
.masonry-filter-buttons {
  max-width: 100%;
}

.archive.et-db #et-boc .et-l .et_pb_row_1_tb_header.et_pb_row {
  padding-top: 1vh !important;
}

/* Services hover blocks hub - shortcode */

.services-container {
  display: flex;
  width: 100%;
  height: 50vh;
  gap: 3vw;
  overflow: hidden;
}

.service-block {
  position: relative;
  flex: 1;
  background-size: cover;
  background-position: center;
  transition: flex 0.9s cubic-bezier(0.25, 1, 0.5, 1);
  display: flex;
  align-items: flex-end;
  padding: clamp(2rem, 5vh, 60px) clamp(1.5rem, 3vw, 40px);
  cursor: pointer;
  overflow: hidden;
}

.service-block::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #168588;
  opacity: 0;
  transition: opacity 0.7s ease;
  z-index: 1;
}

.service-block.is-active::after {
  opacity: 1;
}
.services-container.has-hover .service-block {
  flex: 0.6;
}
.services-container .service-block.is-active {
  flex: 2;
}

.service-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    0deg,
    rgba(0, 102, 115, 0.95) 0%,
    rgba(0, 102, 115, 0) 60%
  );
  transition: opacity 0.6s ease;
  z-index: 2;
}

.service-block.is-active .service-overlay {
  opacity: 0;
}

.service-content {
  position: relative;
  z-index: 3;
  color: #ffffff;
  width: 100%;
  opacity: 1;
  transition: opacity 0.5s ease;
}

.service-content.is-transitioning {
  opacity: 0 !important;
  transition: none !important;
}

.service-title {
  font-weight: 700;
  margin: 0;
  color: #ffffff !important;
  padding-right: 10vw;
  line-height: 1.1;
  font-size: clamp(1.5rem, 4vh, 2.5rem);
}

.service-hover-info {
  display: none;
  margin-top: 1.25rem;
}

.service-description {
  margin-bottom: 1.25rem;
  color: #fff;
  padding-right: 10vw;
  font-size: 1.1rem;
}

.service-button {
  display: inline-flex;
  align-items: center; /* Aligns text and icon on the same center line */
  gap: 0.5rem;
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  margin-top: 4vh;
}

.service-button .material-symbols-outlined {
  font-size: clamp(1rem, 2vh, 1.5rem);
  line-height: 1; /* Removes inherited line-height that pushes the icon down */
  display: inline-block;
  padding-bottom: 0.5vh;
}

/* Awards slider */

/* 1. Main Container & Typography */
.awards-container {
  width: 100%;
  font-family: inherit;
  background-color: #fff;
}

/* 2. Main Slider */
.awards-main-swiper {
  width: 100%;
  overflow: hidden;
}

.award-slide-inner {
  display: flex;
  align-items: stretch;
  background: #fff;
  overflow: hidden;
}

.year-block {
  background-color: var(--year-color);
  color: #fff;
  width: 11.25rem;
  display: flex;
  align-items: end;
  justify-content: center;
  flex-shrink: 0;
  padding: 3.5rem 1rem 2rem;
}

.year-block h2 {
  font-size: 2.25rem;
  font-weight: 700;
  margin: 0;
  color: #fff !important;
}

.awards-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 2.5rem;
  padding: 3.5rem 3.5rem 2rem;
  min-width: 0;
  flex: 1;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.awards-grid::-webkit-scrollbar {
  display: none;
}

/* 3. Individual Award Item Styling */
.award-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1 1 10rem;
  max-width: 16rem;
}

.award-item .material-symbols-rounded {
  color: #6eb5b2;
  font-size: 2.5rem;
  margin-bottom: 0.8rem;
  font-variation-settings:
    "FILL" 0,
    "wght" 500;
}

.award-desc {
  font-size: 0.95rem;
  line-height: 1.4;
  color: #333;
  margin-bottom: 0.5rem;
  font-weight: 400;
  min-height: 5vh;
}

.award-from {
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #000;
}

/* 4. Timeline Navigation */
.awards-nav-static {
  display: flex;
  justify-content: flex-start;
  gap: 2.5rem;
  padding: 2.5rem 0.625rem 0;
}

.nav-item {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.9375rem;
  padding-bottom: 0.9375rem;
  position: relative;
}

.nav-year-text {
  font-weight: 700;
  font-size: 1.05rem;
  color: #c2c2c2;
  transition: color 0.3s ease;
}

.nav-bar {
  height: 0.375rem;
  width: 3.5rem;
  background-color: #d1d1d1;
  border-radius: 0.25rem;
  transition: background-color 0.3s ease;
}

.nav-item.is-active .nav-year-text {
  color: #000;
}

.nav-item.is-active .nav-bar {
  background-color: var(--active-color);
}

.award-prev,
.award-next {
  width: 3.125rem;
  height: 3.125rem;
  border: 0.09375rem solid #6eb5b2;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6eb5b2;
  cursor: pointer;
  background-color: transparent;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
  flex-shrink: 0;
}

.award-prev:hover,
.award-next:hover {
  background-color: #6eb5b2;
  color: #fff;
}

.award-prev .material-symbols-rounded,
.award-next .material-symbols-rounded {
  font-size: 1.4rem;
  font-variation-settings:
    "FILL" 0,
    "wght" 300;
}

/* =============================================================================
   CAMPAIGNS
   ============================================================================= */

/* Breadcrumbs */

.custom-campaign-breadcrumb,
.custom-campaign-breadcrumb a {
  font-size: 24px;
  color: #fff;
}

/* Price Table */

.acf-price-table-container {
  width: 100%;
  margin: 1.5rem 0;
  clear: both;
}

table.acf-price-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed;
  border-collapse: collapse;
  font-family: sans-serif;
  color: #4a5568;
}

table.acf-price-table thead th {
  background-color: #a1288f;
  color: #ffffff;
  text-align: left;
  padding: 1rem;
  font-size: clamp(1rem, 2.5vh, 1.25rem);
  font-weight: 700;
  width: 50%;
}

table.acf-price-table tbody td {
  padding: 1rem;
  border-bottom: 1px solid #e2e8f0;
  font-size: clamp(0.95rem, 2.2vh, 1.15rem);
  width: 50%;
}

table.acf-price-table tbody tr td:first-child {
  border-right: 1px solid #e2e8f0;
}

/* @media (max-width: 1080px) {
  table.acf-price-table thead th,
  table.acf-price-table tbody td {
    padding: 0.9rem;
  }
}

@media (max-width: 980px) {
  table.acf-price-table thead th,
  table.acf-price-table tbody td {
    padding: 0.8rem;
  }
}

@media (max-width: 768px) {
  table.acf-price-table thead th,
  table.acf-price-table tbody td {
    padding: 0.7rem;
  }
}

@media (max-width: 480px) {
  table.acf-price-table thead th,
  table.acf-price-table tbody td {
    padding: 0.6rem;
  }
} */

/* FAQs Top Accordion */
.custom-faq-accordion {
  width: 100%;
  margin: 0 auto;
}

.faq-accordion-item {
  border: 0.125rem solid #47236e;
  margin-bottom: clamp(1rem, 2.5vh, 1.5rem);
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}

.faq-accordion-header {
  width: 100%;
  background: none;
  border: none;
  outline: none;
  padding: clamp(1rem, 3vh, 1.75rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  cursor: pointer;
}

.faq-question-text {
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 700;
  color: #657177;
  line-height: 1.4;
}

.faq-toggle-icon {
  position: relative;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin-left: 1.5rem;
}

.faq-toggle-icon::before,
.faq-toggle-icon::after {
  content: "";
  position: absolute;
  background-color: #47236e;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-toggle-icon::before {
  width: 100%;
  height: 0.15rem;
}

.faq-toggle-icon::after {
  width: 0.15rem;
  height: 100%;
}

.faq-accordion-header[aria-expanded="true"] .faq-toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.faq-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-content-inner {
  padding: 0 clamp(1rem, 3vh, 1.75rem) clamp(1.5rem, 4vh, 2.25rem)
    clamp(1rem, 3vh, 1.75rem);
  font-size: clamp(0.95rem, 1.5vw, 1.1rem);
  color: #657177;
  line-height: 1.6;
}

.faq-content-inner p {
  color: #657177;
  margin-bottom: 1rem;
}

.faq-content-inner p:last-child {
  margin-bottom: 0;
}

.faq-content-inner ul {
  margin: 1rem 0;
  padding-left: 1.5rem;
  list-style-type: disc;
}

.faq-content-inner li {
  margin-bottom: 0.5rem;
  color: #657177;
}

.faq-content-inner strong {
  color: #657177;
}

/* @media (max-width: 1080px) {
    .faq-question-text {
        font-size: 1.25rem;
    }
}

@media (max-width: 980px) {
    .faq-accordion-header {
        padding: 1.25rem;
    }
    .faq-content-inner {
        padding: 0 1.25rem 1.75rem 1.25rem;
    }
}

@media (max-width: 768px) {
    .faq-question-text {
        font-size: 1.15rem;
    }
}

@media (max-width: 480px) {
    .faq-accordion-header {
        padding: 1rem;
    }
    .faq-content-inner {
        padding: 0 1rem 1.5rem 1rem;
    }
    .faq-question-text {
        font-size: 1.05rem;
    }
} */

/* Video Section Steps */

/* Video Section Steps Wrapper Container */
.video-steps-container {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 4vh, 3rem);
  width: 100%;
  margin: 0 auto;
}

/* Row Layout Configuration */
.video-step-row {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  width: 100%;
}

/* Icon Box Bounding Fixes */
.video-step-icon-box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: clamp(3.5rem, 8vw, 5rem);
  height: clamp(3.5rem, 8vw, 5rem);
}

.video-step-icon-box .material-symbols-outlined {
  font-size: clamp(2.5rem, 6vh, 4rem);
  line-height: 1;
  width: 100%;
  text-align: left;
}

.video-steps-column {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  padding-right: 10vw;
}

/* Match colors dynamically based on mockup rows */
.video-step-row:nth-child(1) .material-symbols-outlined {
  color: #8e1c7d;
}
.video-step-row:nth-child(2) .material-symbols-outlined {
  color: #47236e;
}
.video-step-row:nth-child(3) .material-symbols-outlined {
  color: #27509b;
}

/* Text Element Layout styling */
.video-step-content {
  flex-grow: 1;
}

.video-step-text {
  font-family: inherit;
  font-size: clamp(1.125rem, 1.1rem + 0.13vw, 1.25rem);
  font-weight: 700;
  color: #333333;
  line-height: 1.3;
  margin: 0;
  padding: 0;
}

/* Responsive Media Queries BREAKPOINTS */
/* @media (max-width: 1080px) {
    .video-step-text {
        font-size: clamp(1.2rem, 2.3vw, 1.6rem);
    }
}

@media (max-width: 980px) {
    .video-steps-container {
        gap: 1.75rem;
    }
}

@media (max-width: 768px) {
    .video-step-row {
        gap: 1.25rem;
    }
    .video-step-text {
        font-size: 1.35rem;
    }
}

@media (max-width: 480px) {
    .video-step-row {
        gap: 1rem;
    }
    .video-step-icon-box {
        width: 3rem;
        height: 3rem;
    }
    .video-step-text {
        font-size: 1.2rem;
    }
} */

/* Video Section Embed */

.custom-video-campaign-section {
  width: 100%;
  box-sizing: border-box;
}

.custom-video-campaign-section.video-section-with-bg {
  background-color: #0d1127;
}

.video-section-container {
  width: 100%;
  max-width: clamp(480px, 90vw, 1200px);
  margin: 0 auto;
}

.video-display-card {
  position: relative;
  width: 100%;
  height: clamp(350px, 60vh, 650px);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: rem(0.5rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.video-overlay-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(17, 21, 46, 0.4) 0%,
    rgba(13, 17, 39, 0.95) 100%
  );
  z-index: 1;
}

.video-play-trigger-button {
  position: relative;
  z-index: 2;
  margin-bottom: rem(2rem);
  transition: transform 0.25s ease;
  display: inline-block;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.video-play-trigger-button:hover {
  transform: scale(1.08);
}

.play-icon-svg {
  opacity: 0.85;
  transition: opacity 0.25s ease;
}

.video-play-trigger-button:hover .play-icon-svg {
  opacity: 1;
}

.video-text-content-holder {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: clamp(1.5rem, 5vh, 4rem);
  box-sizing: border-box;
  z-index: 2;
  text-align: left;
}

.video-display-title {
  color: #ffffff !important;
  font-weight: 700;
  margin: 0 0 rem(0.5rem) 0 !important;
  line-height: 1.2;
  font-size: clamp(1.5rem, 4vh, 2.5rem);
}

.video-meta-details-text {
  color: #a0a5c0 !important;
  margin: 0 0 rem(1.5rem) 0 !important;
  line-height: 1.4;
  font-size: clamp(0.9rem, 2vh, 1.1rem);
}

.video-action-link-wrapper {
  display: block;
}

.video-learn-more-action-link {
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  font-size: clamp(0.95rem, 1.8vh, 1.2rem);
  transition: opacity 0.2s ease;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
}

.action-link-arrow-icon {
  margin-left: 0.3rem !important;
  transition: transform 0.2s ease;
  display: inline-block;
  vertical-align: middle;
  top: -0.1vh !important;
}

.video-learn-more-action-link:hover {
  opacity: 0.9;
}

.video-learn-more-action-link:hover .action-link-arrow-icon {
  transform: translateX(5px);
}

/* Modal Styling Layer */
.video-custom-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.video-custom-modal.is-active {
  opacity: 1;
  visibility: visible;
}

.video-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(10, 12, 22, 0.9);
}

.video-modal-wrapper {
  position: relative;
  width: 60%;
  max-width: rem(1000px);
  z-index: 2;
  transform: scale(0.9);
  transition: transform 0.3s ease;
}

.video-custom-modal.is-active .video-modal-wrapper {
  transform: scale(1);
}

.video-modal-close-btn {
  position: absolute;
  top: rem(-2.5rem);
  right: 0;
  background: none;
  border: none;
  color: #ffffff;
  font-size: rem(2.5rem);
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
}

.video-modal-close-btn:hover {
  color: #ff3b30;
}

.video-modal-responsive-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 Aspect */
  height: 0;
  overflow: hidden;
  box-shadow: 0 rem(20px) rem(50px) rgba(0, 0, 0, 0.5);
  background: #000000;
}

.video-modal-responsive-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Responsive Targets */
/* @media (max-width: 1080px) {
    .video-display-card {
        height: clamp(320px, 55vh, 580px);
    }
}

@media (max-width: 980px) {
    .video-text-content-holder {
        padding: rem(2.5rem);
    }
}

@media (max-width: 768px) {
    .video-display-card {
        height: rem(400px);
    }
    .play-icon-svg {
        width: 75px;
        height: 75px;
    }
}

@media (max-width: 480px) {
    .video-display-card {
        height: rem(320px);
    }
    .video-text-content-holder {
        padding: rem(1.5rem);
    }
    .play-icon-svg {
        width: 60px;
        height: 60px;
    }
    .video-modal-close-btn {
        right: rem(1rem);
        top: rem(-3rem);
    }
} */

/* =============================================================================
   RESPONSIVE — 1680px
   ============================================================================= */

@media screen and (max-width: 1680px) {
  .testimonial-slider .dica-image-container {
    position: relative;
    top: 9vw;
  }

  .testimonial-slider h6.item-subtitle {
    position: relative;
    top: 5.5vw;
    left: 4vw;
    font-size: 1rem !important;
  }

  .testimonial-slider h4.item-title {
    position: relative;
    top: 6vw;
    left: 4vw;
  }

  .testimonial-slider .swiper-buttton-container {
    position: absolute;
    top: 4vw !important;
  }

  .testimonial-box h4 {
    padding-bottom: 0 !important;
  }

  .full-office-column {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 7vw;
  }

  /* .testimonial-row {
    z-index: 10 !important;
    position: relative;
    margin-top: -24vw !important;
  } */
  .ogf-column {
    min-height: 125vh;
  }
  .dark-hover-blocks {
    min-height: 70vh !important;
  }
}

/* =============================================================================
   RESPONSIVE — 1366px + 1280px (desktop narrow)
   ============================================================================= */

@media only screen and (max-width: 1366px) and (min-width: 1280px) {
  .et_pb_row {
    width: 90%;
  }
  .ogf-column {
    min-height: 140vh;
  }
  .dark-hover-blocks {
    min-height: 75vh !important;
  }
  .et_pb_row.row-80 {
    width: 95% !important;
  }
  .et_pb_row.row-70 {
    width: 80% !important;
  }
  .et_pb_row.row-60 {
    width: 70% !important;
  }
}

@media only screen and (max-width: 1366px) and (min-width: 981px) {
  .sfp-container-5.et_pb_row .et_pb_column {
    width: 100% !important;
    display: block !important;
    margin-bottom: 1.875rem;
  }

  .sfp-container-5 .service-card {
    min-height: 30vw !important;
  }

  .sfp-container-5 .service-card.et_pb_module {
    margin-top: 0 !important;
    margin-bottom: 2vw;
  }

  .sfp-container-5.et_pb_row {
    display: block !important;
  }

  .sfp-container-5 .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 1.875rem;
  }
}

@media screen and (max-width: 1366px) {
  .full-office-column {
    padding-bottom: 1vw;
  }

  #menu-main-menu li a {
    font-size: medium !important;
  }

  .et-menu .menu-item-has-children > a:first-child:after {
    top: 0 !important;
  }

  .testimonial-slider .dica-image-container {
    position: relative;
    top: 12vw;
  }

  .testimonial-slider h6.item-subtitle {
    position: relative;
    top: 8vw;
    left: 5vw;
    font-size: 1rem !important;
  }

  .testimonial-slider h4.item-title {
    position: relative;
    top: 9vw;
    left: 5vw;
  }

  .testimonial-slider .swiper-buttton-container {
    position: absolute;
    top: 7vw !important;
  }

  /* .testimonial-row {
    z-index: 10 !important;
    position: relative;
    margin-top: -45.7vh !important;
  } */

  .testimonial-column {
    padding: 3vw;
    min-height: 40vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 42% !important;
  }
}

/* =============================================================================
   RESPONSIVE — 1280px
   ============================================================================= */

@media screen and (max-width: 1280px) {
  .et_pb_blurb_content p:last-of-type {
    font-size: small;
  }

  #menu-main-menu li a {
    font-size: small !important;
  }

  /* .testimonial-row {
    z-index: 10 !important;
    position: relative;
    margin-top: -47.7vh !important;
  } */
}

/* =============================================================================
   RESPONSIVE — 1024px (tablet landscape)
   ============================================================================= */

@media screen and (max-width: 1024px) {
  .testimonial-column {
    padding: 3vw;
    min-height: 40vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100% !important;
  }

  /* .home-page-menu ul#mobile_menu2 {
    position: fixed !important;
    top: 0vw;
    left: 0;
    width: 100%;
    min-height: 100vh;
    overflow-y: scroll;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.95) !important;
    padding-top: 35vw;
    transition:
      top 0.4s cubic-bezier(0.4, 0, 0.2, 1),
      height 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  } */

  .et_pb_row.et_pb_row_0_tb_header.et_pb_equal_columns.et_pb_gutters1.et_had_animation {
    z-index: 9;
  }

  .home-page-menu .mobile_nav.opened .mobile_menu_bar:before,
  .et-db #et-boc .et-l .mobile_nav.opened .mobile_menu_bar:before {
    content: "\4d";
  }

  .home-page-menu ul.sub-menu {
    backdrop-filter: none;
  }

  button.wpcf7-form-control.wpcf7-submit.has-spinner.et_pb_button.et_pb_bg_layout_light {
    width: 100% !important;
  }

  .contact-menu a,
  body.archive.contact-menu a {
    display: none !important;
  }

  .sf-progress-bar {
    text-align: center;
    margin-bottom: 1vw;
    margin-top: 10vw;
    display: flex;
    justify-content: center;
    gap: 0.625rem;
  }

  .testimonial-slider .content {
    padding: 1vw;
    position: relative;
    top: -10vw;
  }

  .testimonial-slider .dica-image-container {
    position: relative;
    top: 15vw;
  }

  .testimonial-slider h4.item-title {
    position: relative;
    top: 9vw;
    left: 7vw;
  }

  .testimonial-slider h6.item-subtitle {
    position: relative;
    top: 9vw;
    left: 7vw;
    font-size: 1rem !important;
  }

  .testimonial-slider .swiper-buttton-container {
    position: absolute;
    top: 8vw !important;
  }

  .full-office-column p {
    font-size: smaller !important;
  }

  .et_pb_column.et_pb_column_1_2.et_pb_column_7.testimonial-column.et_pb_css_mix_blend_mode_passthrough {
    margin-bottom: 0;
  }

  .full-office-column
    .et_pb_blurb.et_pb_text_align_center-tablet
    .et_pb_blurb_content
    .et_pb_blurb_container {
    width: 100% !important;
  }

  .full-office-column {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 3vw;
  }

  #menu-main-menu li a {
    font-size: small !important;
  }

  .et-menu .menu-item-has-children > a:first-child:after {
    top: 0;
  }

  .et_pb_section_1.et_pb_section {
    margin-top: 0vw !important;
  }

  .footer ul.et_mobile_menu {
    backdrop-filter: blur(1.25rem) !important;
    background: transparent !important;
  }

  .footer .et_pb_column {
    width: 100% !important;
  }

  .contact-menu a {
    padding: 1.5625rem 3.125rem !important;
    display: flex;
    position: relative;
    line-height: 0 !important;
    top: 10vw;
    font-size: clamp(1.125rem, 1.05rem + 0.38vw, 1.5rem) !important;
    background-color: var(--color-red);
    text-align: center;
    border-radius: 2rem;
    margin-bottom: 10vw;
  }

  .home-page-menu ul#mobile_menu2 li {
    margin-bottom: 0;
  }

  .home-page-menu ul#mobile_menu2 li a {
    font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem) !important;
    margin: 0;
    padding: 0.5rem 0;
    font-weight: 400 !important;
  }

  #moving-hover-block,
  #corporate-hover-block {
    width: 100% !important;
    transition:
      width 0.5s ease-in-out,
      background-color 0.5s ease-in-out;
    flex-grow: 0 !important;
  }

  #moving-hover-block.is-hovered {
    width: 100% !important;
    z-index: 10;
    background-image: none !important;
    background-color: var(--color-teal-dark) !important;
  }

  .column-pair-hovered #corporate-hover-block:not(.is-hovered) {
    width: 100% !important;
    transition: width 0.7s ease-in-out;
  }

  #corporate-hover-block.is-hovered {
    width: 100% !important;
    z-index: 10;
    background-image: none !important;
    background-color: var(--color-teal-dark) !important;
  }

  .column-pair-hovered #moving-hover-block:not(.is-hovered) {
    width: 100% !important;
    transition: width 0.7s ease-in-out;
  }

  .et_pb_module.et_pb_blurb.et_pb_blurb_0.et_pb_text_align_left.et_pb_blurb_position_top.et_pb_bg_layout_dark {
    min-height: 18.75rem;
  }

  .et_pb_module.et_pb_blurb.et_pb_blurb_1.et_pb_text_align_left.et_pb_blurb_position_top.et_pb_bg_layout_dark {
    min-height: 18.75rem;
  }

  .et_pb_menu--style-left_aligned.et_pb_text_align_center .et_pb_menu__wrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: flex-end;
  }

  /* .et-l--footer .mobile-footer-menu .mobile_menu_bar {
    padding: 2vh 0 !important;
  } */

  .moving-menu span.mobile_menu_bar:after {
    content: "International Moving Services +";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
    font-weight: 400;
  }

  .moving-menu .mobile_menu_bar:before,
  .et-l--footer .et_pb_menu .mobile_menu_bar::before {
    content: " " !important;
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
  }

  .corporate-menu span.mobile_menu_bar:after {
    content: "Global Mobility Services +";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
    font-weight: 400;
  }

  .corporate-menu .mobile_menu_bar:before {
    content: " ";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
  }

  /*.about-menu span.mobile_menu_bar:after {
    content: "About +";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
    font-weight: 700;
  }

  .about-menu .mobile_menu_bar:before {
    content: " ";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
  }*/

  /* .esg-menu span.mobile_menu_bar:after {
    content: "ESG +";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
    font-weight: 700;
  }

  .esg-menu .mobile_menu_bar:before {
    content: " ";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
  } */

  .resources-menu span.mobile_menu_bar:after {
    content: "Resources +";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
    font-weight: 400;
  }

  .resources-menu .mobile_menu_bar:before {
    content: " ";
    position: relative;
    color: var(--color-white) !important;
    cursor: pointer;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    vertical-align: text-top;
  }

  .international-moving-services .et_pb_menu .et_pb_menu__wrap {
    justify-content: center;
  }

  .footer .et_pb_column.et_pb_column_1_4 {
    width: 100% !important;
  }

  .footer .et_pb_menu .et_pb_menu__wrap,
  .et-db #et-boc .et-l .et_pb_menu--style-left_aligned .et_pb_menu__wrap {
    justify-content: center;
  }

  ul.sub-menu {
    backdrop-filter: blur(1.25rem) !important;
  }

  .hover-content-acf {
    position: relative;
    bottom: 5vw;
    margin: auto 0;
    transition: 0.3s;
    width: 100%;
  }

  .services-container {
    gap: 2vw;
  }

  .awards-grid {
    gap: 2rem;
  }
}

/* =============================================================================
   RESPONSIVE — 980px (Divi mobile breakpoint)
   ============================================================================= */

@media screen and (max-width: 980px) {
  .masonry-filter-buttons {
    max-width: 90% !important;
  }

  .contact-menu a,
  .contact-menu {
    display: block !important;
  }

  /* Mobile menu collapse behaviour */
  .et_mobile_menu .first-level > a {
    position: relative;
    background-color: transparent;
  }

  .et_mobile_menu .first-level > a:after {
    content: " \002B";
    font-weight: normal;
    position: absolute;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    top: 0.625rem;
    right: 1.25rem;
  }

  .et_mobile_menu .first-level > .icon-switch:after {
    content: " \002D";
  }

  .second-level {
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    transition: all 0s ease-in-out;
    opacity: 0;
  }

  .reveal-items {
    visibility: visible;
    max-height: 110vh;
    transition: all 2s ease-in-out;
    opacity: 1;
  }

  .home-page-menu .et_mobile_menu3,
  .et-db #et-boc .et-l .et_mobile_menu3 {
    display: block !important;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
    transform: translateY(-1.25rem);
  }

  .mobile-menu-open .et_mobile_menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    overflow-y: hidden;
  }

  ul.sub-menu {
    backdrop-filter: none !important;
  }

  /* SFP service cards — mobile stack */
  .sfp-container-5 .service-card {
    /* min-height: auto removed — was immediately overridden */
    min-height: 25rem !important;
    margin-bottom: 3.75rem !important;
  }

  .sfp-container-5 .service-card.et_pb_module {
    margin-top: 0 !important;
  }

  .sfp-container-5 .service-card .et_pb_module_inner {
    padding: 1.875rem !important;
  }

  .df_flipbox_container {
    max-height: 20.625rem;
    margin-bottom: 5vw;
    min-height: 50vw;
  }

  /* Office contact */
  .office-contact {
    position: relative;
    margin: 0vw;
    right: 0vw;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    max-height: fit-content;
    align-self: center;
    width: 100%;
    top: 5vw;
  }

  /* Mobile menu for archive pages */
  .et-db
    #et-boc
    .et-l
    .et_pb_menu--style-left_aligned.et_pb_text_align_center
    .et_pb_menu__wrap {
    -webkit-box-pack: end;
    justify-content: end;
  }

  #home-page-menu ul#mobile_menu2 {
    position: fixed !important;
    top: 0vh !important;
    left: 0 !important;
    width: 100% !important;
    min-height: 100vh !important;
    overflow-y: scroll !important;
    z-index: -1 !important;
    background-color: rgba(0, 0, 0, 0.95) !important;
    padding-top: 25vh;
    /* transition:
      top 0.4s cubic-bezier(0.4, 0, 0.2, 1),
      height 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important; */
  }

  .header-scrolled ul#mobile_menu2 {
    padding-top: 15vh !important;
  }

  .et_pb_row.et_pb_row_0_tb_header.my-top-bar.row-full-width.et_pb_equal_columns.et_pb_gutters1.et_had_animation {
    padding-top: 1vh !important;
    padding-bottom: 0vh !important;
  }

  .et_pb_column_0_tb_footer {
    text-align: center !important;
  }

  .top-bar-menu .et_pb_menu__menu {
    display: flex !important;
  }

  .top-bar-menu .et_mobile_nav_menu {
    display: none !important;
  }
  .stats-row {
    display: flex !important;
    flex-direction: column !important;
  }
  .cf7-row {
    flex-direction: column !important;
  }
  .manager-image-column {
    position: relative;
    left: 0vw;
    display: flex;
    align-items: center;
  }

  .ogf-column {
    min-height: auto;
  }

  .et-db #et-boc .et-l .et_pb_column .et_pb_row_inner,
  .et-db #et-boc .et-l .et_pb_row {
    padding: 0 0;
  }
  /* Footer About */
  .about-menu .et_mobile_menu {
    display: block !important;
  }
  .about-menu ul#mobile_menu5,
  #page-container ul#mobile_menu5 {
    padding: 0 0 1vh 0;
    top: 0;
    border: 0;
    text-align: center;
    position: unset !important;
  }
  .about-menu .et_mobile_menu li a {
    border-bottom: 0px solid rgba(0, 0, 0, 0.03);
  }

  /* Footer ESG */
  .esg-menu .et_mobile_menu {
    display: block !important;
  }
  .esg-menu ul#mobile_menu6,
  #page-container ul#mobile_menu6 {
    padding: 0 0 1vh 0;
    top: 0;
    border: 0;
    text-align: center;
    position: unset !important;
  }
  .esg-menu .et_mobile_menu li a {
    border-bottom: 0px solid rgba(0, 0, 0, 0.03);
  }

  ul#mobile_menu3,
  ul#mobile_menu4,
  ul#mobile_menu7,
  #page-container ul#mobile_menu3,
  #page-container ul#mobile_menu4,
  #page-container ul#mobile_menu7 {
    position: unset;
    text-align: center;
    border-bottom: 1px solid #fff;
    background-color: #6eb5b20a !important;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 20px;
    transition: all 0.7s ease-in-out;
  }
  footer .et_mobile_nav_menu,
  footer .mobile_nav {
    width: 100%;
  }
  .about-menu .mobile_menu_bar,
  .esg-menu .mobile_menu_bar {
    display: none !important;
  }

  .et_mobile_menu {
    box-shadow: none !important;
  }

  .mobile-footer-menu .mobile_menu_bar {
    padding: 1vh 0 !important;
  }

  .cta-section .btn-red {
    margin-top: 2vh;
  }

  .faqs-accordion .et_pb_accordion_item {
    margin-bottom: 2vh !important;
  }

  .footer-resources {
    display: none;
  }

  /* Target the mobile menus within their specific state containers */

  /* Slide-out state (Closed) */
  #page-container .mobile_nav.closed ul#mobile_menu3,
  #page-container .mobile_nav.closed ul#mobile_menu4,
  #page-container .mobile_nav.closed ul#mobile_menu7 {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
  }

  /* Slide-in state (Opened) */
  #page-container .mobile_nav.opened ul#mobile_menu3,
  #page-container .mobile_nav.opened ul#mobile_menu4,
  #page-container .mobile_nav.opened ul#mobile_menu7 {
    max-height: 100vh !important; /* Sufficient height for menu items */
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .services-container {
    flex-direction: column;
    height: auto;
    gap: 20px;
  }
  .service-block {
    min-height: 50vh;
    flex: none !important;
    min-height: max-content;
  }
  .service-hover-info {
    display: block !important;
  }
  .service-content {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .service-overlay {
    opacity: 1 !important;
    background: rgba(0, 102, 115, 0.7);
  }
  .service-title {
    font-size: 2rem;
    padding-right: 0;
  }
  .service-description {
    padding-right: 0;
  }

  .award-slide-inner {
    padding-right: 0rem;
  }

  .content-area {
    width: 90% !important;
  }

  .row-80 {
    width: 100% !important;
    padding: 0 5% !important;
  }

  .row-70 {
    width: 100% !important;
    padding: 0 5% !important;
  }

  .row-60 {
    width: 90% !important;
    padding: 0 !important;
  }

  .section-zero-padding {
    padding: 0 !important;
  }

  .sustainable-vision .et_pb_row {
    width: 90%;
  }
  .content-box a,
  .fqs-m-content a {
    color: #fff !important;
    text-decoration: underline !important;
    line-height: normal;
    text-underline-offset: 0.188rem;
  }

  .office-meta-data .et_pb_column {
    gap: 15px;
  }
  .office-meta-data .et_pb_column {
    display: block !important;
  }
  .map-column {
    position: relative;
    left: 0vw;
  }
}

/* =============================================================================
   RESPONSIVE — 768px
   ============================================================================= */

@media screen and (max-width: 768px) {
  .et_pb_module.et_pb_blurb.et_pb_blurb_0.et_pb_text_align_left.et_pb_blurb_position_top.et_pb_bg_layout_dark {
    min-height: 31.25rem;
  }

  .et_pb_module.et_pb_blurb.et_pb_blurb_1.et_pb_text_align_left.et_pb_blurb_position_top.et_pb_bg_layout_dark {
    min-height: 31.25rem;
  }

  .mobile-footer-menu
    .et_pb_column.et_pb_column_1_5.et_pb_column_0_tb_footer.et_pb_css_mix_blend_mode_passthrough {
    width: 100% !important;
  }

  /* Multistep form — mobile layout */
  .sf-form-step {
    flex-direction: column;
  }

  .sf-form-group {
    flex: 1 1 100%;
    min-width: unset;
  }

  .red-button,
  .sf-back-btn {
    flex: 1 1 auto;
    min-width: unset;
    margin-left: 0;
    align-self: auto;
  }

  .red-button {
    order: 1;
    margin-top: 0.9375rem;
    width: 100%;
  }

  .sf-back-btn {
    order: 2;
    margin-top: 0.625rem;
    width: 100%;
  }

  .sf-form-step.active {
    display: block;
  }

  .et_pb_column.et_pb_column_1_5.et_pb_column_3_tb_footer.et_pb_css_mix_blend_mode_passthrough.et_pb_column--with-menu {
    display: block;
  }

  .et_pb_menu_0_tb_footer.et_pb_menu .et_mobile_menu,
  .et_pb_menu_0_tb_footer.et_pb_menu .et_mobile_menu ul,
  .et_pb_menu_1_tb_footer.et_pb_menu .et_mobile_menu,
  .et_pb_menu_1_tb_footer.et_pb_menu .et_mobile_menu ul,
  .et_pb_menu_2_tb_footer.et_pb_menu .et_mobile_menu,
  .et_pb_menu_2_tb_footer.et_pb_menu .et_mobile_menu ul,
  .et_pb_menu_3_tb_footer.et_pb_menu .et_mobile_menu,
  .et_pb_menu_3_tb_footer.et_pb_menu .et_mobile_menu ul,
  .et_pb_menu_4_tb_footer.et_pb_menu .et_mobile_menu,
  .et_pb_menu_4_tb_footer.et_pb_menu .et_mobile_menu ul {
    /*backdrop-filter: blur(2.5rem) !important;
    background: transparent !important;*/
  }

  .et_pb_column.et_pb_column_1_5.et_pb_column_4_tb_footer.et_pb_css_mix_blend_mode_passthrough.et-last-child.et_pb_column--with-menu {
    display: block;
  }

  /* CF7 half-columns stack on mobile */
  .wpcf7 .cf7-one-half {
    width: 100%;
    margin-right: 0;
    float: none;
  }

  .wpcf7 .cf7-one-half:not(.last-column) {
    margin-bottom: 1.25rem;
  }

  .home-page-menu ul#mobile_menu2 {
    padding-top: 35vw;
  }

  .header-scrolled .home-page-menu ul#mobile_menu2 {
    padding-top: 15vw;
  }

  .green-top-bar-column {
    display: flex;
    flex-wrap: wrap;
    gap: 6vw;
    justify-content: space-between;
    padding-top: 1vw;
  }

  .testimonial-slider h4.item-title {
    position: relative;
    top: 8vw;
    left: 8vw;
  }

  .testimonial-slider h6.item-subtitle {
    position: relative;
    top: 7vw;
    left: 8vw;
    font-size: 1rem !important;
  }

  .service-card .et_pb_promo_description {
    bottom: 5vw;
  }

  .gys-content {
    background-color: var(--color-purple-bg);
    color: var(--color-white);
    position: relative;
    left: 0;
    z-index: 99999999;
    width: 100% !important;
    height: auto;
    padding: 10vw !important;
  }

  .mobile-menu-open {
    overflow: hidden;
  }
  .award-slide-inner {
    flex-direction: column;
    align-items: stretch;
    padding-right: 0rem;
  }
  .year-block {
    width: 100%;
    padding: 1.5rem 0;
  }
  .awards-grid {
    flex-direction: column;
    padding: 2rem 2rem 1.5rem;
    gap: 2.5rem;
    align-items: center;
  }
  .award-item {
    flex: none;
    width: 100%;
    max-width: 100%;
  }
  .awards-nav-static {
    display: none;
  }
  .awards-mobile-nav {
    display: flex !important;
    justify-content: flex-start;
    gap: 1rem;
    padding: 2rem;
    background-color: #f9fbfb;
    margin-top: 0;
  }
  .award-desc {
    min-height: auto;
  }
}

/* =============================================================================
   RESPONSIVE — 480px
   ============================================================================= */

@media screen and (max-width: 480px) {
  .hover-content-acf {
    bottom: 17vw;
    width: 100%;
  }

  .et_pb_module.et_pb_blurb.et_pb_blurb_0.et_pb_text_align_left.et_pb_blurb_position_top.et_pb_bg_layout_dark {
    min-height: 20.3125rem;
  }

  .et_pb_module.et_pb_blurb.et_pb_blurb_1.et_pb_text_align_left.et_pb_blurb_position_top.et_pb_bg_layout_dark {
    min-height: 20.3125rem;
  }

  .home-page-menu ul#mobile_menu2 {
    padding-top: 50vw;
    overflow-y: scroll;
    min-height: 97vh;
  }

  .contact-menu a {
    top: 5vw !important;
  }

  .header-scrolled .home-page-menu ul#mobile_menu2 {
    padding-top: 20vw;
  }

  .testimonial-slider .content {
    padding: 1vw;
    position: relative;
    top: -25vw;
  }

  .testimonial-slider .dica-image-container {
    position: relative;
    top: 28vw;
  }

  .testimonial-slider h4.item-title {
    position: relative;
    top: 17vw;
    left: 15vw;
  }

  .testimonial-slider h6.item-subtitle {
    position: relative;
    top: 14vw;
    left: 15vw;
    font-size: 1rem !important;
  }

  .testimonial-slider .swiper-buttton-container {
    position: absolute;
    top: 13vw !important;
  }

  .service-card .et_pb_promo_description {
    transition: transform 0.3s ease-in-out !important;
  }

  .service-card:focus-within .et_pb_promo_description,
  .service-card:hover .et_pb_promo_description,
  .service-card:active .et_pb_promo_description {
    transform: translateY(-6.25rem) !important;
  }

  a.et_pb_button.et_pb_promo_button {
    width: 100%;
    text-align: center;
  }

  input.wpcf7-form-control.wpcf7-submit.has-spinner {
    width: 100%;
    text-align: center;
  }

  .et_pb_button_module_wrapper a {
    width: 100%;
  }

  .df_flipbox_container {
    min-height: 100vw;
  }
  .cf7-checkbox-grid .wpcf7-checkbox {
    display: flex !important;
    /* grid-template-columns: 1fr 1fr; */
    gap: 10px 24px;
    flex-direction: column !important;
  }

  #home-page-menu ul#mobile_menu2 {
    padding-top: 15vh;
  }
  .cf7-step .wpcf7-radio .wpcf7-list-item {
    /* flex: 1 1 calc(50% - 5px); */
    flex: 100%;
  }
  .service-title {
    font-size: 1.5rem;
  }

  .award-desc {
    font-size: 1rem;
  }
}

/* =============================================================================
   RESPONSIVE — 375px
   ============================================================================= */

@media screen and (max-width: 375px) {
  .home-page-menu ul#mobile_menu2 li a {
    padding: 0.25rem 0;
  }

  .home-page-menu ul#mobile_menu2 {
    padding-top: 45vw;
  }

  .contact-menu a {
    top: 5vw !important;
  }
}
