/*
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
*/

/* =============================================================================
   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;
}

/* =============================================================================
   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: 0 !important;
  padding: 1.563rem 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: normal !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 1.563rem;
  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;
}

/* 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: 1.563rem 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: 1.563rem 3.125rem !important;
  font-weight: 400;
  line-height: 0 !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: normal !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.625rem;
}

.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;
}

/* 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;
}

/* =============================================================================
   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;
}

ul#menu-main-menu ul.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;
}

/* =============================================================================
   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;
  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;
}

/* Quote form on white background */
.quote-form-full .wpcf7 label {
  color: var(--color-white);
}

/* =============================================================================
   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;
}

/* =============================================================================
   TESTIMONIALS
   ============================================================================= */

.testimonial-row {
  z-index: 10 !important;
  position: relative;
  margin-top: -45vh !important;
}

.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);
}

.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;
}

.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 0.625rem;
  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;
}

/* =============================================================================
   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__menu > nav > ul {
  flex-direction: column;
}

/* Footer menu columns — shared first-child heading style */
#menu-international-moving-services li:first-child a,
#menu-corporate-relocation-services li:first-child a,
#menu-about li:first-child a,
#menu-esg li:first-child a,
#menu-resources 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;
}

#menu-international-moving-services li:first-child a:hover,
#menu-corporate-relocation-services li:first-child a:hover,
#menu-about li:first-child a:hover,
#menu-esg 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);
  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%;
}

/* =============================================================================
   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;
  }
}

/* =============================================================================
   RESPONSIVE — 1366px + 1280px (desktop narrow)
   ============================================================================= */

@media only screen and (max-width: 1366px) and (min-width: 1280px) {
  .et_pb_row {
    width: 90%;
  }
}

@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_menu1 {
    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 {
    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_menu1 li {
    margin-bottom: 0;
  }

  .home-page-menu ul#mobile_menu1 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;
  }

  .mobile-footer-menu .mobile_menu_bar {
    padding: 2vw 0 !important;
  }

  .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: 700;
  }

  .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: "Corporate relocation 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: 700;
  }

  .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: 700;
  }

  .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%;
  }
}

/* =============================================================================
   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_menu {
    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_menu1 {
    position: fixed !important;
    top: 0vw !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_menu1 {
    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;
  }
}

/* =============================================================================
   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_menu1 {
    padding-top: 35vw;
  }

  .header-scrolled .home-page-menu ul#mobile_menu1 {
    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;
  }
}

/* =============================================================================
   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_menu1 {
    padding-top: 50vw;
    overflow-y: scroll;
    min-height: 97vh;
  }

  .contact-menu a {
    top: 5vw !important;
  }

  .header-scrolled .home-page-menu ul#mobile_menu1 {
    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;
  }
}

/* =============================================================================
   RESPONSIVE — 375px
   ============================================================================= */

@media screen and (max-width: 375px) {
  .home-page-menu ul#mobile_menu1 li a {
    padding: 0.25rem 0;
  }

  .home-page-menu ul#mobile_menu1 {
    padding-top: 45vw;
  }

  .contact-menu a {
    top: 5vw !important;
  }
}
