@import url("font.css");

/* =========================================================
   01. DESIGN TOKENS & ROOT VARIABLES
   ========================================================= */
:root {
  /* Subpage Coordinate Tokens */
  --cream: #FDFAF1;
  --cream-50: rgba(253, 250, 241, 0.5);
  --cream-deep: #F9F4E6;
  --charcoal: #292620;
  --charcoal-50: rgba(41, 38, 32, 0.5);
  --forest-teal: #365D54;
  --charcoal-25: rgba(41, 38, 32, 0.25);
  --cream-25: rgba(253, 250, 241, 0.25);
  --dark-charcoal: #23211E;
  --off-white: #FFFCF4;
  --u: calc(min(100vw, 1728px) / 1728);
  --hair: 0.5px;

  /* Color Palette & Surfaces */
  --color-forest-teal: #365D54;
  --color-charcoal: #292620;
  --color-dark-charcoal: #23211E;
  --color-cream: #FDFAF1;
  --color-off-white: #FFFCF4;
  --color-dark-cream: #F9F4E6;

  /* Opacity Variants */
  --color-charcoal-50: rgba(41, 38, 32, 0.5);
  --color-charcoal-25: rgba(41, 38, 32, 0.25);
  --color-cream-75: rgba(253, 250, 241, 0.75);
  --color-cream-50: rgba(253, 250, 241, 0.50);
  --color-cream-25: rgba(253, 250, 241, 0.25);

  /* Typography Families & Font Weights */
  --font-display: "Blauer Nue", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;

  /* Fluid Font Scale */
  --fs-h1: clamp(64px, calc(44px + 2vw), 92px);
  --fs-h2: clamp(40px, calc(37.65px + 0.5993vw), 48px);
  --fs-h3-medium: clamp(36px, calc(34.82px + 0.2996vw), 40px);
  --fs-h3-light: var(--fs-h3-medium);
  --fs-h4: clamp(32px, calc(30.82px + 0.2996vw), 36px);
  --fs-h5: clamp(24px, calc(21.65px + 0.5993vw), 32px);
  --fs-nav: 16px;
  --fs-cta: clamp(16px, calc(14.82px + 0.2996vw), 20px);
  --fs-subtitle: clamp(14px, calc(13.41px + 0.1498vw), 16px);
  --fs-subtitle-2: clamp(16px, calc(14.82px + 0.2996vw), 20px);
  --fs-body: clamp(16px, calc(15.41px + 0.1498vw), 18px);
  --fs-body-larger: clamp(20px, calc(18.82px + 0.2996vw), 24px);
  --fs-body-tiny: 12px;
  --fs-testimonial: clamp(20px, calc(16.47px + 0.8989vw), 32px);
  --fs-footer: 20px;
  --fs-brand: clamp(21.64px, calc(16.74px + 1.2464vw), 38.28px);
  --bs-body-font-size: clamp(16px, calc(15.41px + 0.1498vw), 18px);
  --bs-body-line-height: 1.3;

  /* Line Heights */
  --lh-tight: 1.09155;
  --lh-h1: 0.99;
  --lh-h4: 1.0625;
  --lh-body: 1.3;
  --lh-testimonial: 1.15;
  --lh-auto: normal;

  /* Letter Spacing / Tracking */
  --tracking-h1: -1px;
  --tracking-h3-light: -1px;
  --tracking-h4: -0.01em;
  --tracking-subtitle: 3px;
  --tracking-none: 0;

  /* Layout & Responsive Metrics */
  --content-max: 1574px;
  --grid-gutter: 20px;
  --side-margin: 25px;
  --card-gap: 20px;
  --card-gap-mobile: 32px;
  --card-inset: 21px;
  --card-inset-mobile: 15px;
  --hero-inset-mobile: 20px;
  --centred-block-mobile: 284px;
  --nav-height: 81px;
  --nav-cta-width: 250px;
  --border-hairline: 0.5px;

  /* Button Metrics */
  --btn-height: 55px;
  --btn-height-mobile: 45px;
  --btn-radius: 0;
  --btn-inset: 15px;

  /* Vertical Rhythm Spacing */
  --space-xl: clamp(4rem, 18.7vw, 20.1875rem);
  --space-lg: clamp(3.5rem, 15.6vw, 16.875rem);
  --space-md: clamp(3rem, 14.4vw, 15.5625rem);
  --space-sm: clamp(2rem, 6.1vw, 6.5625rem);
  --space-block: clamp(1.75rem, 2.55vw, 2.75rem);

  /* Bootstrap Variable Bindings */
  --bs-gutter-x: 40px;
  --bs-body-font-family: var(--font-display);
  --bs-body-bg: var(--color-cream);
  --bs-body-color: var(--color-charcoal);
}

/* =========================================================
   02. BASE & RESET STYLES
   ========================================================= */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#smooth-wrapper {
  width: 100%;
  position: relative;
  z-index: 1;
}

#smooth-content {
  width: 100%;
  position: relative;
  overflow: visible;
  /* Contains the .page-banner top margin so it is counted in the height
     ScrollSmoother measures — otherwise the last ~81px (.site-footer__bar)
     is unreachable on inner pages. */
  display: flow-root;
}

.row {
  --bs-gutter-x: 20px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  --bs-gutter-x: 40px;
}

/* =========================================================
   03. SHARED UI COMPONENTS & BUTTONS
   ========================================================= */
.eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: clamp(2.5rem, 2.6vw, 2.8125rem);
  padding: 0.35em clamp(1.5rem, 3.1vw, 3.375rem);
  background: var(--color-charcoal);
  color: var(--color-cream);
  border-radius: 0;
  font-size: var(--fs-subtitle);
  font-weight: var(--fw-light);
  letter-spacing: var(--tracking-subtitle);
  line-height: var(--lh-auto);
}

.btn-cta {
  --bs-btn-padding-x: clamp(1.25rem, 2vw, 1.75rem);
  --bs-btn-padding-y: 0;
  --bs-btn-font-size: var(--fs-cta);
  --bs-btn-font-weight: var(--fw-regular);
  --bs-btn-line-height: var(--lh-auto);
  --bs-btn-border-radius: var(--btn-radius);
  min-height: var(--btn-height);
  min-width: clamp(12.5rem, 16.2vw, 17.5rem);
  border: 1px solid transparent;
}

.btn-cream {
  --bs-btn-border-width: 0;
  --bs-btn-bg: var(--color-cream);
  --bs-btn-color: var(--color-forest-teal);
  --bs-btn-hover-bg: var(--color-off-white);
  --bs-btn-hover-color: var(--color-forest-teal);
  --bs-btn-active-bg: var(--color-off-white);
  --bs-btn-active-color: var(--color-forest-teal);
  border: 1px solid var(--color-cream);
}

.btn-outline-cream {
  --bs-btn-border-width: 1px;
  --bs-btn-color: var(--color-cream);
  --bs-btn-border-color: var(--color-cream);
  --bs-btn-hover-bg: var(--color-cream);
  --bs-btn-hover-color: var(--color-charcoal);
  --bs-btn-hover-border-color: var(--color-cream);
  --bs-btn-active-bg: var(--color-cream);
  --bs-btn-active-color: var(--color-charcoal);
  --bs-btn-active-border-color: var(--color-cream);
  border: 1px solid var(--color-cream);
}

.btn-teal {
  --bs-btn-border-width: 0;
  --bs-btn-bg: var(--color-forest-teal);
  --bs-btn-color: var(--color-cream);
  --bs-btn-hover-bg: var(--color-dark-charcoal);
  --bs-btn-hover-color: var(--color-cream);
  --bs-btn-active-bg: var(--color-dark-charcoal);
  --bs-btn-active-color: var(--color-cream);
}

.btn-dark {
  --bs-btn-border-width: 0;
  --bs-btn-bg: var(--color-charcoal);
  --bs-btn-color: var(--color-cream);
  --bs-btn-hover-bg: var(--color-dark-charcoal);
  --bs-btn-hover-color: var(--color-cream);
  --bs-btn-active-bg: var(--color-dark-charcoal);
  --bs-btn-active-color: var(--color-cream);
}

.btn-outline-charcoal {
  --bs-btn-border-width: 1px;
  --bs-btn-bg: var(--color-off-white);
  --bs-btn-color: var(--color-charcoal);
  --bs-btn-border-color: var(--color-charcoal);
  --bs-btn-hover-bg: var(--color-charcoal);
  --bs-btn-hover-color: var(--color-cream);
  --bs-btn-hover-border-color: var(--color-charcoal);
  --bs-btn-active-bg: var(--color-charcoal);
  --bs-btn-active-color: var(--color-cream);
  border: 1px solid var(--color-charcoal);
}

.btn-outline-charcoal .btn-arrow {
  transform: rotate(90deg);
  filter: brightness(0) saturate(100%) invert(10%) sepia(5%) saturate(2144%) hue-rotate(2deg) brightness(95%) contrast(86%);
}

.btn-outline-charcoal:hover .btn-arrow {
  transform: rotate(90deg);
  filter: brightness(0) saturate(100%) invert(100%) sepia(24%) saturate(564%) hue-rotate(315deg) brightness(101%) contrast(98%);
}

.btn-arrow {
  width: 15px;
  height: 0.72em;
  transform: rotate(-45deg);
}

.btn-outline-cream:hover .btn-arrow {
  filter: brightness(0.16);
}

.link-arrow {
  display: inline-flex;
  align-items: baseline;
  gap: 0.85em;
  padding-bottom: 4px;
  border-bottom: 1px solid transparent;
  color: var(--color-forest-teal);
  font-size: var(--fs-subtitle-2);
  font-weight: var(--fw-medium);
  line-height: var(--lh-auto);
  position: relative;
  overflow: hidden;
}

.link-arrow::before {
  content: "";
  background-color: var(--color-forest-teal);
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: calc(100% - calc(0.85em + 0.7em));
  transition: width 0.3s ease;
}

.link-arrow img {
  width: 0.7em;
  height: 0.57em;
  transform: rotate(-45deg);
  transition: transform .25s ease;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
  mix-blend-mode: multiply;
}

img {
  max-width: 100%;
  object-fit: contain;
}

.h1 {
  font-size: var(--fs-h1);
  font-weight: var(--fw-light);
  line-height: var(--lh-h1);
  letter-spacing: var(--tracking-h1);
}

.h2 {
  font-size: var(--fs-h2);
  font-weight: var(--fw-regular);
  line-height: 1.09;
}

.h3 {
  font-size: var(--fs-h3);
  font-weight: var(--fw-light);
  line-height: var(--lh-h3);
  letter-spacing: var(--tracking-h3);
}

.h4 {
  font-size: var(--fs-h4);
  font-weight: var(--fw-light);
  line-height: var(--lh-h4);
  letter-spacing: var(--tracking-h4);
}

.h5 {
  font-size: var(--fs-h5);
  font-weight: var(--fw-light);
  line-height: var(--lh-h5);
  letter-spacing: var(--tracking-h5);
}

.body-1 {
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
  letter-spacing: var(--tracking-body);
}

.subtitle-2 {
  font-size: var(--fs-subtitle-2);
  font-weight: var(--fw-medium);
  line-height: var(--lh-body);
  letter-spacing: 0px;
  font-family: var(--font-display);
}

p {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
}

/* =========================================================
   04. HEADER & PRIMARY NAVIGATION
   ========================================================= */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1030;
  color: var(--color-cream);
  border-bottom: var(--border-hairline) solid var(--color-cream-25);
  background-color: transparent;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.site-header.is-scrolled {
  background-color: #292620;
}

.site-header__bar {
  min-height: clamp(4rem, 4.7vw, 5.0625rem);
}

.site-header__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(1rem, 1.8vw, 2rem);
  color: inherit;
}

.site-header__brand img {
  width: 50px;
  height: auto;
  object-fit: contain;
}

.site-header__toggle,
.custom-toggler {
  gap: 6px;
  position: relative;
  border-left: var(--border-hairline) solid var(--color-cream-25);
  color: inherit;
}

.site-header__toggle span,
.custom-toggler span {
  width: 24px;
  height: 2px;
  background: #fff;
  border-radius: 20px;
  transition: all 0.35s ease;
}

.site-header__toggle[aria-expanded="true"] span:nth-child(1),
.custom-toggler[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.site-header__toggle[aria-expanded="true"] span:nth-child(2),
.custom-toggler[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.site-header__toggle[aria-expanded="true"] span:nth-child(3),
.custom-toggler[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.site-nav__link {
  display: flex;
  align-items: center;
  gap: 0.375em;
  padding: 1rem clamp(1rem, 1.9vw, 1.5rem);
  font-size: var(--fs-nav);
  font-weight: var(--fw-regular);
  line-height: var(--lh-auto);
  white-space: nowrap;
  transition: background-color .25s ease;
}

.site-nav__link img {
  width: 1.3125em;
  height: 1.3125em;
}

.site-nav__link:hover {
  background-color: rgba(253, 250, 241, 0.08);
}

.site-nav__link--cta {
  background: var(--color-cream);
  color: var(--color-forest-teal);
  transition: all .3s;
  will-change: transform, opacity, filter;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.site-nav__link--cta:hover {
  background: #292620;
  color: var(--color-cream);
}

/* =========================================================
   05. WORDPRESS-COMPATIBLE SUB-MENU DROPDOWN
   ========================================================= */
.site-nav .menu-item-has-children {
  position: relative;
}

.site-nav .site-nav__link img {
  display: inline-block;
  flex-shrink: 0;
  transition: transform 0.25s ease;
  transform-origin: center center;
}

.site-nav .menu-item-has-children.is-open>.site-nav__link img {
  transform: rotate(180deg);
}

.site-nav .sub-menu {
  display: none;
  list-style: none;
  padding: 0.5rem 0;
  margin: 0;
  background-color: var(--color-charcoal);
  border: var(--border-hairline) solid var(--color-cream-25);
  border-top: none;
  z-index: 1050;
}

.site-nav .sub-menu li {
  width: 100%;
  border-left: none !important;
}

.site-nav .sub-menu a {
  display: block;
  padding: 0.75rem 1.5rem;
  font-size: var(--fs-nav);
  font-weight: var(--fw-light);
  color: var(--color-cream);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, padding-left 0.2s ease, color 0.2s ease;
}

.site-nav .sub-menu a:hover,
.site-nav .sub-menu a:focus {
  background-color: rgba(253, 250, 241, 0.08);
  color: var(--color-cream);
  padding-left: 1.85rem;
}

/* =========================================================
   06. HERO SECTION
   ========================================================= */

.banner-overlay {
  position: relative;
  width: 100%;
  height: 100%;
}

.banner-overlay::before {
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.56) 0%, rgba(0, 0, 0, 0) 25%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
}

.hero {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  padding-top: clamp(4rem, 4.7vw, 5.0625rem);
  color: var(--color-cream);
  background-color: var(--color-dark-charcoal);
  overflow: hidden;
}

.hero>* {
  position: relative;
  z-index: 1;
}

.hero>.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero__body {
  margin-top: auto;
  padding-bottom: 80px;
}

.hero__brand {
  font-size: var(--fs-brand);
  font-weight: var(--fw-medium);
  line-height: var(--lh-auto);
  font-family: var(--font-display);
  padding-bottom: clamp(0.75rem, 1.6vw, 1.75rem);
}

.hero__brand span {
  font-weight: 100;
  color: var(--color-cream-50);
}

.hero__rule {
  border-top: var(--border-hairline) solid var(--color-cream-25);
}

.hero__title {
  font-size: var(--fs-h1);
  font-weight: var(--fw-light);
  line-height: var(--lh-h1);
  letter-spacing: var(--tracking-h1);
  padding-block: clamp(1.5rem, 2.1vw, 2.25rem) clamp(1.5rem, 2.1vw, 2.25rem);
}

.hero__tick {
  position: absolute;
  top: 0;
  left: 64.8%;
  width: 30px;
  height: 100vh;
  margin-left: -15px;
  pointer-events: none;
}

.hero__tick::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 50%;
  border-left: var(--border-hairline) solid var(--color-cream-25);
}

.hero__tick::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 50%;
  border-left: var(--border-hairline) solid var(--color-cream-50);
  height: 8px;
  margin-top: -4px;
}

.hero__tick img {
  position: absolute;
  top: -3px;
  left: 0;
  width: 30px;
}

.hero__tick span.h-line {
  position: absolute;
  top: -1px;
  background: var(--color-cream-50);
  height: 1px;
  width: 30px;
}

/* =========================================================
   07. ABOUT SECTION
   ========================================================= */
.about {
  position: relative;
  z-index: 1;
  background-color: var(--color-cream);
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  min-height: calc(100vh - var(--nav-height, 81px));
  display: flex;
  align-items: center;
  scroll-margin-top: var(--nav-height, 81px);
}

.about__inner {
  max-width: 816px;
  gap: var(--space-block);
}

.about__text {
  font-size: var(--fs-h5);
  font-weight: var(--fw-light);
  line-height: var(--lh-auto);
  font-family: var(--font-display);
  color: var(--color-charcoal-50);
}

.about__text strong,
.letter-animation strong {
  font-weight: 300;
  color: inherit;
}

/* Split-text word animation (GSAP SplitText) */
.about__text .line,
.letter-animation .line {
  position: relative;
  display: block;
  text-align: center;
}

.about__text .word,
.letter-animation .word {
  position: relative;
  display: inline-block;
}

.about__text .char,
.letter-animation .char {
  position: relative;
  display: inline-block;
}

/* =========================================================
   08. TRUSTED & PARTNER LOGOS
   ========================================================= */
.logos {
  padding: 93px 0 0;
}

.logos__row {
  max-width: 1213px;
  margin-inline: auto;
}

.logos img {
  width: auto;
  max-width: 100%;
  object-fit: contain;
  max-height: 5.03rem;
}

.logos__justitie {
  height: clamp(3.5rem, 4.66vw, 5.03rem);
}

.logos__seal {
  height: clamp(3rem, 3.9vw, 4.21rem);
}

.logos__ministerie {
  height: clamp(2.5rem, 3.36vw, 3.63rem);
  mix-blend-mode: darken;
}

.logos__dcoi {
  height: clamp(2.25rem, 3.13vw, 3.38rem);
  mix-blend-mode: normal;
}

/* =========================================================
   09. SERVICES GRID & CARDS
   ========================================================= */
.py-80 {
  padding-block: 80px;
}

.py-110 {
  padding-block: 110px;
}

.services .row {
  --bs-gutter-x: clamp(0.75rem, 1.16vw, 1.25rem);
  --bs-gutter-y: clamp(0.75rem, 1.16vw, 1.25rem);
}

.service-card {
  position: relative;
  display: block;
  aspect-ratio: 777 / 528;
  overflow: hidden;
  color: var(--color-cream);
  background: var(--color-charcoal);
}

.service-card picture,
.service-card__picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.service-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.service-card:hover .service-card__img {
  transform: scale(1.03);
}

.service-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: var(--card-inset);
}

.service-card__num {
  font-size: var(--fs-subtitle);
  font-weight: var(--fw-light);
  letter-spacing: var(--tracking-subtitle);
  line-height: var(--lh-auto);
}

.service-card__icon {
  max-width: 1.875rem;
  max-height: 1.875rem;
}

.service-card__icon--flip {
  transform: rotate(180deg);
}

.service-card__icon--tilt {
  transform: rotate(-45deg);
}

.service-card__title {
  font-size: var(--fs-h5);
  font-weight: var(--fw-light);
  line-height: var(--lh-auto);
}

.page-banner-block h1 {
  max-width: 100%;
}

/* =========================================================
   10. TESTIMONIALS SECTION
   ========================================================= */
.testimonial {
  position: relative;
  padding-top: 170px;
  padding-bottom: 170px;
}

.testimonial__inner {
  max-width: 916px;
  gap: clamp(1.5rem, 2.3vw, 2.5rem);
}

.testimonial__slider {
  max-width: 100%;
}

.testimonial__slide {
  gap: clamp(1.25rem, 2.3vw, 2.5rem);
}

.testimonial__quote {
  font-size: var(--fs-testimonial);
  font-weight: var(--fw-light);
  line-height: var(--lh-testimonial);
  color: var(--color-charcoal);
  font-family: var(--font-display);
  margin: 0;
}

.testimonial__author {
  font-size: var(--fs-subtitle);
  font-weight: var(--fw-light);
  letter-spacing: var(--tracking-subtitle);
  line-height: var(--lh-auto);
  margin: 0;
  font-family: var(--font-display);
}

.testimonial__controls {
  display: flex;
  justify-content: space-between;
  max-width: 1308px;
  width: 100%;
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
}

.testimonial__arrow {
  width: clamp(1.75rem, 1.72vw, 1.8604rem);
  height: clamp(1.72rem, 1.69vw, 1.827rem);
  background: var(--color-dark-cream);
  border: 1px solid var(--color-dark-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color .25s ease, border-color .25s ease, transform .15s ease;
  cursor: pointer;
  z-index: 10;
  user-select: none;
}

.testimonial__arrows {
  justify-content: center;
  margin-top: 1.75rem;
}

.testimonial__arrow:hover {
  border-color: var(--forest-teal);
  background-color: var(--forest-teal);

  img {
    filter: brightness(0) invert(1);
  }
}

.testimonial__arrow img {
  width: 1.875rem;
  height: 1.875rem;
  flex: none;
  object-fit: cover;
}

img.testimonial__arrow--prev {
  transform: rotate(180deg);
}

.testimonial__arrow {
  cursor: pointer;
}

/* =========================================================
   11. FOOTER
   ========================================================= */
.site-footer {
  padding-top: clamp(3rem, 5.2vw, 90px);
  border-top: 1px solid var(--color-cream);
  background: var(--color-charcoal);
  color: var(--color-cream);
  position: relative;
}

.site-footer__title {
  font-size: var(--fs-h2);
  font-weight: var(--fw-regular);
  line-height: var(--lh-tight);
}

.site-footer__col {
  font-size: var(--fs-footer);
  font-weight: var(--fw-regular);
  line-height: var(--lh-auto);
}

.site-footer__cta {
  margin-top: 2rem;
}

.site-footer__label {
  opacity: .32;
  margin-bottom: 15px;
}

.site-footer__col li+li {
  margin-top: 15px;
}

.site-footer__col a {
  transition: opacity .2s ease;
}

.site-footer__col a:hover {
  opacity: .6;
}

.site-footer__bar {
  margin-top: clamp(2.5rem, 4.6vw, 5.5rem);
  border-top: var(--border-hairline) solid var(--color-cream-25);
}

.site-footer__logo img {
  width: clamp(11.25rem, 13.4vw, 14.5rem);
  height: auto;
}

.designed-by {
	font-size: var(--fs-subtitle);
	opacity: 0.32;
	margin: 0;
}

.socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 21px;
  min-height: clamp(3.5rem, 4.3vw, 4.5625rem);
  border-left: var(--border-hairline) solid var(--color-cream-25);
  transition: background-color .25s ease;
}

.socials a:last-child {
  border-right: var(--border-hairline) solid var(--color-cream-25);
}

.socials a:hover {
  background: rgba(253, 250, 241, 0.08);
}

.socials img {
  width: auto;
  height: clamp(1.25rem, 1.37vw, 1.5rem);
}

/* =========================================================
   12. FORM STYLES
   ========================================================= */
.form-dark {
  max-width: 470px;
  background: var(--color-charcoal);
  color: var(--color-cream);
}

.form-dark .form-field+.form-field {
  margin-top: 31px;
}

.form-dark .form-control,
.form-dark .form-input {
  width: 100%;
  min-height: 33px;
  padding: 0 0 8px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--color-cream-25);
  border-radius: 0;
  color: var(--color-cream);
  font-family: var(--font-display);
  font-size: var(--fs-subtitle-2);
  line-height: var(--lh-auto);
}

.form-dark textarea.form-control,
.form-dark textarea.form-input {
  min-height: 147px;
  resize: vertical;
}

.form-dark .form-control::placeholder,
.form-dark .form-input::placeholder {
  color: var(--color-cream-75);
}

.form-dark .form-control:focus,
.form-dark .form-input:focus {
  outline: none;
  border-bottom-color: var(--color-cream);
  box-shadow: none;
}

.form-dark .form-check-input {
  width: 16px;
  height: 16px;
  margin-top: 0.2em;
  background-color: transparent;
  border: 1px solid var(--color-cream-25);
  border-radius: 0;
}

.form-dark .form-check-input:checked {
  background-color: var(--color-cream);
  border-color: var(--color-cream);
}

.form-dark .form-check-label {
  font-family: var(--font-body);
  font-size: var(--fs-body-tiny);
  line-height: var(--lh-body);
  color: var(--color-cream-75);
}

.form-dark .btn-submit {
  width: 100%;
  min-height: var(--btn-height);
  border-radius: var(--btn-radius);
}

/* =========================================================
   13. ACCESSIBILITY & FOCUS STYLES
   ========================================================= */
:focus-visible {
  outline: 2px solid var(--color-forest-teal);
  outline-offset: 2px;
}

.hero :focus-visible,
.site-footer :focus-visible,
.site-nav :focus-visible {
  outline-color: var(--color-cream);
}

.testimonial__arrow {
  position: relative;
}

.testimonial__arrow::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
}

/* =========================================================
   14. SUBPAGE LIGHT NAVIGATION
   ========================================================= */
.site-nav--light,
.page-head .site-nav {
  height: calc(81 * var(--u));
  border: var(--hair) solid var(--charcoal-50);
  color: var(--charcoal);
  --bs-border-color: var(--charcoal-50);
}

.site-nav--light .site-nav__vline,
.page-head .site-nav .site-nav__vline {
  top: calc(1 * var(--u));
  border-color: var(--charcoal-25) !important;
}

.site-nav--light .site-nav__logo,
.page-head .site-nav .site-nav__logo {
  left: calc(121 * var(--u));
  width: calc(50 * var(--u));
  height: calc(50 * var(--u));
  transform: translateY(calc(-50% + 0.5 * var(--u)));
}

.site-nav--light .site-nav__menu,
.page-head .site-nav .site-nav__menu {
  position: absolute;
  top: calc(1 * var(--u));
  bottom: 0;
  right: 0;
}

.site-nav--light .site-nav__menu.collapse,
.page-head .site-nav .site-nav__menu.collapse {
  display: flex;
}

.site-nav--light .site-nav__item,
.page-head .site-nav .site-nav__item {
  position: relative;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: calc(14 * var(--u));
  letter-spacing: calc(1.4 * var(--u));
  text-transform: uppercase;
  border-left: var(--hair) solid var(--charcoal-50);
  padding-inline: calc(24 * var(--u));
  height: 100%;
  color: var(--charcoal);
}

.site-nav--light .site-nav__item:hover,
.page-head .site-nav .site-nav__item:hover {
  background-color: rgba(41, 38, 32, 0.06);
}

.site-nav--light .site-nav__item img,
.page-head .site-nav .site-nav__item img {
  width: calc(12 * var(--u));
  height: calc(12 * var(--u));
  margin-left: calc(8 * var(--u));
}

.site-nav--light .site-nav__item--services,
.page-head .site-nav .site-nav__item--services {
  padding-right: calc(19 * var(--u));
}

.site-nav--light .site-nav__item--about,
.page-head .site-nav .site-nav__item--about {
  padding-right: calc(18 * var(--u));
}

.site-nav--light .site-nav__item--faq,
.page-head .site-nav .site-nav__item--faq {
  padding-inline: calc(34 * var(--u));
}

.site-nav--light .site-nav__item--cases,
.page-head .site-nav .site-nav__item--cases {
  padding-inline: calc(29 * var(--u));
}

.site-nav--light .site-nav__item--cta,
.page-head .site-nav .site-nav__item--cta {
  background: var(--charcoal);
  color: var(--cream);
  border-left-color: var(--charcoal);
  padding-inline: calc(33 * var(--u));
  font-weight: 400;
}

.site-nav--light .site-nav__item--cta:hover,
.page-head .site-nav .site-nav__item--cta:hover {
  background: #1b1915;
  color: var(--cream);
}

.site-nav--light .site-nav__toggle,
.page-head .site-nav .site-nav__toggle {
  display: none;
}

/* =========================================================
   15. SUBPAGE SERVICES GRID & CARDS
   ========================================================= */
.services--page {
  max-width: calc(1728 * var(--u));
  padding-inline: calc(77 * var(--u));
}

.services--page>.row {
  --bs-gutter-x: calc(20 * var(--u));
  --bs-gutter-y: calc(20 * var(--u));
}

.services--page .col-12 {
  flex: 0 0 auto;
  width: 50%;
}

.services--page .service-card {
  --bs-aspect-ratio: calc(528 / 777 * 100%);
  color: var(--cream);
  background: var(--charcoal);
}

.services--page .service-card__img {
  transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.services--page .service-card:hover .service-card__img {
  transform: scale(1.03);
}

.services--page .service-card__num {
  left: calc(21 * var(--u));
  top: calc(30.5 * var(--u));
  transform: translateY(-50%);
  font-size: calc(16 * var(--u));
  letter-spacing: calc(3 * var(--u));
  line-height: 1.2;
}

.services--page .service-card__title {
  left: calc(21 * var(--u));
  top: calc(469 * var(--u));
  font-size: calc(32 * var(--u));
  line-height: 1.2;
}

.services--page .service-card__icon {
  right: calc(21 * var(--u));
  top: calc(21 * var(--u));
  width: calc(21 * var(--u));
  height: calc(21 * var(--u));
}

.services--page .service-card__icon--flip {
  transform: rotate(180deg);
}

.services--page .service-card__icon--tilt {
  transform: rotate(-45deg);
}

/* =========================================================
   16. SUBPAGE TESTIMONIALS
   ========================================================= */
.testimonial--services,
.testimonial--detail {
  height: var(--testimonial-h);
  --testimonial-quote-min: calc(219 * var(--u));
  --testimonial-slide-gap: calc(40 * var(--u));
}

.testimonial--services .testimonial__inner,
.testimonial--detail .testimonial__inner {
  top: var(--testimonial-top);
  width: var(--testimonial-w);
  gap: calc(40 * var(--u));
}

.testimonial--services .testimonial__slide,
.testimonial--detail .testimonial__slide {
  gap: var(--testimonial-slide-gap);
}

.testimonial--services .badge-eyebrow,
.testimonial--detail .badge-eyebrow {
  width: calc(302 * var(--u));
  padding-left: calc(47 * var(--u));
}

.testimonial--services .testimonial__quote,
.testimonial--detail .testimonial__quote {
  min-height: var(--testimonial-quote-min);
  font-size: calc(32 * var(--u));
  line-height: 1.15;
}

.testimonial--services .testimonial__author,
.testimonial--detail .testimonial__author {
  font-size: calc(16 * var(--u));
  letter-spacing: calc(1.6 * var(--u));
}

.testimonial--services .testimonial__arrow,
.testimonial--detail .testimonial__arrow {
  top: var(--testimonial-arrow-top);
  width: calc(52 * var(--u));
  height: calc(52 * var(--u));
}

.testimonial--services .testimonial__arrow:hover,
.testimonial--detail .testimonial__arrow:hover {
  background: var(--dark-charcoal);
  border-color: var(--dark-charcoal);
}

.testimonial--services .testimonial__arrow img,
.testimonial--detail .testimonial__arrow img {
  width: calc(17.41 * var(--u));
  height: calc(17.41 * var(--u));
}

.testimonial--services .testimonial__arrow--prev,
.testimonial--detail .testimonial__arrow--prev {
  left: calc(77 * var(--u));
}

.testimonial--services .testimonial__arrow--next,
.testimonial--detail .testimonial__arrow--next {
  right: calc(77 * var(--u));
}

/* =========================================================
   17. SERVICES OVERVIEW PAGE SPECIFICS
   ========================================================= */
.page-head {
  height: calc(499 * var(--u));
  background: var(--cream);
  color: var(--charcoal);
  --bs-border-color: var(--charcoal-25);
  --bs-border-width: var(--hair);
}

.page-head__img {
  position: absolute;
  left: calc(855 * var(--u));
  top: calc(81 * var(--u));
  width: calc(873 * var(--u));
  height: calc(418 * var(--u));
}

.page-head__vline {
  left: calc(855 * var(--u));
  top: calc(81 * var(--u));
  height: calc(418 * var(--u));
}

.page-head__hline {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(499 * var(--u));
}

.page-head__hline--short {
  top: calc(364 * var(--u));
  left: 0;
  width: calc(855 * var(--u));
}

.page-head__marker {
  left: calc(840 * var(--u));
  top: calc(361 * var(--u));
  width: calc(30 * var(--u));
  height: calc(5.848 * var(--u));
}

.page-head__title {
  position: absolute;
  left: calc(77 * var(--u));
  top: calc(390 * var(--u));
  font-size: calc(92 * var(--u));
  line-height: 1.0916;
  letter-spacing: calc(-1 * var(--u));
}

.services--page {
  padding-top: calc(110 * var(--u));
}

.intro {
  height: calc((2291 - 1685) * var(--u));
}

.intro__title {
  position: absolute;
  left: calc(210 * var(--u));
  top: calc((1897 - 1685) * var(--u));
  width: calc(664 * var(--u));
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
}

.intro__text {
  position: absolute;
  left: calc(210 * var(--u));
  top: calc((2014 - 1685) * var(--u));
  width: calc(685 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

.showcase {
  height: calc((3211 - 2291) * var(--u));
  --logos-top: calc((2883 - 2291) * var(--u));
}

.showcase__img {
  position: absolute;
  left: calc(77 * var(--u));
  top: 0;
  width: calc(1574 * var(--u));
  height: calc(529 * var(--u));
}

.testimonial--services {
  --testimonial-h: calc((3756 - 3211) * var(--u));
  --testimonial-top: 0px;
  --testimonial-w: calc(964 * var(--u));
  --testimonial-arrow-top: calc((3361 - 3211) * var(--u));
  --testimonial-quote-min: 0px;
  --testimonial-slide-gap: calc(16 * var(--u));
}

.process {
  height: calc((4842 - 3756) * var(--u));
  background: var(--charcoal);
  color: var(--cream);
}

.badge-eyebrow--light {
  background: var(--cream);
  color: var(--charcoal);
}

.process__badge {
  position: absolute;
  left: calc(737 * var(--u));
  top: calc((3920 - 3756) * var(--u));
  width: calc(254 * var(--u));
  padding-left: calc(52 * var(--u));
}

.process__intro {
  position: absolute;
  left: calc(456 * var(--u));
  top: calc((4006 - 3756) * var(--u));
  width: calc(816 * var(--u));
  font-size: calc(32 * var(--u));
  line-height: 1.2;
  color: var(--cream-50);
}

.process__intro strong {
  color: var(--cream);
}

.process-card {
  position: absolute;
  --pad-top: calc(26 * var(--u));
  --icon-right: calc(29 * var(--u));
  width: calc(511 * var(--u));
  height: calc(340 * var(--u));
  background: var(--dark-charcoal);
  border: 1px solid var(--cream-50);
}

.process-card--1 {
  left: calc(77 * var(--u));
  top: calc((4231 - 3756) * var(--u));
}

.process-card--2 {
  left: calc(608 * var(--u));
  top: calc((4267 - 3756) * var(--u));
  width: calc(512 * var(--u));
  --pad-top: calc(31 * var(--u));
  --icon-right: calc(30 * var(--u));
}

.process-card--3 {
  left: calc(1140 * var(--u));
  top: calc((4317 - 3756) * var(--u));
}

.process-card__num {
  position: absolute;
  left: calc(32 * var(--u));
  top: var(--pad-top);
  font-size: calc(16 * var(--u));
  letter-spacing: calc(3 * var(--u));
  line-height: 1.2;
}

.process-card__icon {
  position: absolute;
  right: var(--icon-right);
  top: var(--pad-top);
  width: calc(30 * var(--u));
  height: calc(30 * var(--u));
}

.process-card__title {
  position: absolute;
  left: calc(29 * var(--u));
  top: calc(var(--pad-top) + 55 * var(--u));
  width: calc(453 * var(--u));
  font-size: calc(36 * var(--u));
  line-height: calc(41 * var(--u));
  letter-spacing: calc(-0.36 * var(--u));
}

.process-card__text {
  position: absolute;
  left: calc(29 * var(--u));
  top: calc(var(--pad-top) + 219 * var(--u));
  width: calc(425 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

/* =========================================================
   18. SERVICE DETAIL PAGE SPECIFICS
   ========================================================= */
.page-head--detail {
  height: calc(499 * var(--u));
}

.page-head--detail .page-head__title {
  top: calc(290 * var(--u));
  white-space: normal;
}

.page-head--detail .page-head__hline--short {
  top: calc(238 * var(--u));
}

.page-head--detail .page-head__marker {
  top: calc(235 * var(--u));
}

.page-head__media {
  display: contents;
}

.page-head__badge {
  position: absolute;
  left: calc(1593 * var(--u));
  top: calc(413 * var(--u));
  width: calc(58 * var(--u));
  height: calc(58 * var(--u));
}

.detail-intro {
  height: calc((1132 - 499) * var(--u));
}

.detail-intro__title {
  position: absolute;
  left: calc(588 * var(--u));
  top: calc((693 - 499) * var(--u));
  width: calc(550 * var(--u));
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
}

.detail-intro__text {
  position: absolute;
  left: calc(342 * var(--u));
  top: calc((818 - 499) * var(--u));
  width: calc(1043 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

.detail-intro__text p+p {
  margin-top: calc(23 * var(--u));
}

.detail-wide {
  height: calc((1661 - 1132) * var(--u));
}

.detail-wide__img {
  position: absolute;
  left: calc(77 * var(--u));
  top: 0;
  width: calc(1574 * var(--u));
  height: calc(529 * var(--u));
}

.detail-personal {
  height: calc((2656 - 1661) * var(--u));
}

.detail-personal__title {
  position: absolute;
  left: calc(743 * var(--u));
  top: calc((1917 - 1661) * var(--u));
  width: calc(642 * var(--u));
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
}

.detail-personal__text {
  position: absolute;
  left: calc(743 * var(--u));
  top: calc((2042 - 1661) * var(--u));
  width: calc(775 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

.detail-personal__text p+p {
  margin-top: calc(23 * var(--u));
}

.detail-personal__aim {
  position: absolute;
  left: calc(743 * var(--u));
  top: calc((2243 - 1661) * var(--u));
  width: calc(775 * var(--u));
}

.detail-personal__aim b {
  display: block;
  font-weight: 500;
  font-size: calc(20 * var(--u));
  line-height: 1.2;
}

.detail-personal__aim span {
  display: block;
  font-weight: 300;
  font-size: calc(32 * var(--u));
  line-height: 1.2;
}

.detail-personal__cta {
  position: absolute;
  left: calc(743 * var(--u));
  top: calc((2345 - 1661) * var(--u));
}

.situations {
  height: calc((4200 - 2656) * var(--u));
}

.situations__title {
  position: absolute;
  left: calc(77 * var(--u));
  top: 0;
  width: calc(930 * var(--u));
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
}

.situations__highlight {
  position: absolute;
  left: 0;
  right: 0;
  top: calc((2745 - 2656) * var(--u));
  height: calc(273 * var(--u));
  background: var(--cream-deep);
}

.situations__rule {
  position: absolute;
  left: 0;
  right: 0;
}

.situation {
  position: absolute;
  left: 0;
  right: 0;
  color: var(--charcoal);
}

.situation__label {
  position: absolute;
  left: calc(77 * var(--u));
  width: calc(700 * var(--u));
  font-size: calc(40 * var(--u));
  line-height: 1.0916;
}

.situation__text {
  position: absolute;
  left: calc(1140 * var(--u));
  width: calc(511 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

.situation__img {
  position: absolute;
  left: calc(608 * var(--u));
  width: calc(379 * var(--u));
  height: calc(185 * var(--u));
}

.situation--lead .situation__label {
  top: calc((2860 - 2656) * var(--u));
  font-weight: 500;
}

.situation--lead .situation__text {
  top: calc((2846 - 2656) * var(--u));
}

.situation--lead .situation__img {
  top: calc((2789 - 2656) * var(--u));
}

.who {
  height: calc((5208 - 4200) * var(--u));
}

.who__title {
  position: absolute;
  left: calc(77 * var(--u));
  top: 0;
  width: calc(930 * var(--u));
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
}

.who__sub {
  position: absolute;
  left: calc(77 * var(--u));
  top: calc((4265 - 4200) * var(--u));
  width: calc(986 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

.process-card--light {
  background: var(--off-white);
  border-color: var(--charcoal);
  color: var(--charcoal);
}

.who-card--1 {
  left: calc(77 * var(--u));
  top: calc((4341 - 4200) * var(--u));
}

.who-card--2 {
  left: calc(609 * var(--u));
  top: calc((4372 - 4200) * var(--u));
  --pad-top: calc(26 * var(--u));
  --icon-right: calc(29 * var(--u));
}

.who-card--3 {
  left: calc(1140 * var(--u));
  top: calc((4403 - 4200) * var(--u));
}

.who-card--4 {
  left: calc(77 * var(--u));
  top: calc((4707 - 4200) * var(--u));
}

.who-card--5 {
  left: calc(609 * var(--u));
  top: calc((4738 - 4200) * var(--u));
  --pad-top: calc(26 * var(--u));
  --icon-right: calc(29 * var(--u));
}

.who-card--6 {
  left: calc(1140 * var(--u));
  top: calc((4769 - 4200) * var(--u));
}

.icon-clip {
  overflow: hidden;
}

.icon-clip img {
  display: block;
  height: 100%;
}

.icon-clip--04 img {
  width: calc(48 * var(--u));
  margin-left: calc(-9 * var(--u));
}

.icon-clip--05 img {
  width: calc(60 * var(--u));
  margin-left: calc(-15 * var(--u));
}

.icon-clip--06 img {
  width: calc(45.259 * var(--u));
  height: calc(45.259 * var(--u));
  margin: calc(-7.63 * var(--u)) 0 0 calc(-7.63 * var(--u));
}

.strip {
  height: calc((5822 - 5208) * var(--u));
}

.strip img {
  position: absolute;
}

.strip__a {
  left: calc(-24 * var(--u));
  top: calc((5305 - 5208) * var(--u));
  width: calc(401 * var(--u));
  height: calc(367 * var(--u));
}

.strip__b {
  left: calc(405 * var(--u));
  top: 0;
  width: calc(479 * var(--u));
  height: calc(377 * var(--u));
}

.strip__c {
  left: calc(912 * var(--u));
  top: calc((5291 - 5208) * var(--u));
  width: calc(278 * var(--u));
  height: calc(420 * var(--u));
}

.strip__d {
  left: calc(1218 * var(--u));
  top: calc((5410 - 5208) * var(--u));
  width: calc(533 * var(--u));
  height: calc(262 * var(--u));
}

.why {
  height: calc((8716 - 5822) * var(--u));
  background: var(--charcoal);
  color: var(--cream);
  --bs-border-color: var(--cream-25);
  --bs-border-width: var(--hair);
}

.why__badge {
  position: absolute;
  left: calc(77 * var(--u));
  top: calc((6010 - 5822) * var(--u));
  width: calc(494 * var(--u));
  padding-left: calc(50 * var(--u));
}

.why__title {
  position: absolute;
  left: calc(77 * var(--u));
  top: calc((6082 - 5822) * var(--u));
  width: calc(777 * var(--u));
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
}

.why__rule {
  position: absolute;
  left: 0;
  right: 0;
}

.why__vrule {
  position: absolute;
  left: calc(1252 * var(--u));
  top: 0;
  height: calc((7307 - 5822) * var(--u));
}

.why-row {
  position: absolute;
  left: 0;
  right: 0;
}

.why-row__title {
  position: absolute;
  left: calc(874 * var(--u));
  top: 0;
  width: calc(357 * var(--u));
  font-size: calc(36 * var(--u));
  line-height: calc(41 * var(--u));
  letter-spacing: calc(-0.36 * var(--u));
}

.why-row__text {
  position: absolute;
  left: calc(1273 * var(--u));
  top: 0;
  width: calc(378 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

.steps__title {
  position: absolute;
  left: calc(593 * var(--u));
  top: calc((7562 - 5822) * var(--u));
  width: calc(541 * var(--u));
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
}

.step-card--1 {
  left: calc(77 * var(--u));
  top: calc((7796 - 5822) * var(--u));
}

.step-card--2 {
  left: calc(608 * var(--u));
  top: calc((7832 - 5822) * var(--u));
  width: calc(512 * var(--u));
  --pad-top: calc(31 * var(--u));
  --icon-right: calc(30 * var(--u));
}

.step-card--3 {
  left: calc(1140 * var(--u));
  top: calc((7882 - 5822) * var(--u));
}

.why__cta-title {
  position: absolute;
  left: calc(543 * var(--u));
  top: calc((8329 - 5822) * var(--u));
  width: calc(642 * var(--u));
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
}

.why__cta-text {
  position: absolute;
  left: calc(476 * var(--u));
  top: calc((8454 - 5822) * var(--u));
  width: calc(775 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

.why__cta {
  position: absolute;
  left: calc(724 * var(--u));
  top: calc((8534 - 5822) * var(--u));
}

.testimonial--detail {
  --testimonial-h: calc((9342 - 8716) * var(--u));
  --testimonial-top: calc((8857 - 8716) * var(--u));
  --testimonial-w: calc(916 * var(--u));
  --testimonial-arrow-top: calc((9007 - 8716) * var(--u));
  --testimonial-quote-min: calc(219 * var(--u));
  --testimonial-slide-gap: calc(22 * var(--u));
}

.testimonial--detail .badge-eyebrow {
  width: calc(270 * var(--u));
  padding-left: calc(31 * var(--u));
}

/* .faq {
  height: calc((10008 - 9342) * var(--u));
  background: var(--charcoal);
  color: var(--cream);
  --bs-border-color: var(--cream-25);
  --bs-border-width: var(--hair);
} */

.faq__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.faq__veil {
  position: absolute;
  inset: 0;
  background: rgba(41, 38, 32, 0.5);
}

.faq__title {
  position: absolute;
  z-index: 1;
  left: calc(77 * var(--u));
  top: calc((9476 - 9342) * var(--u));
  width: calc(777 * var(--u));
  font-size: calc(92 * var(--u));
  line-height: 1.0916;
  letter-spacing: calc(-1 * var(--u));
}

.faq__list {
  position: absolute;
  left: calc(874 * var(--u));
  right: 0;
  top: 0;
  height: calc((9893 - 9342) * var(--u));
  border-left: var(--hair) solid var(--cream-25);
}

.faq-item {
  position: absolute;
  left: calc(21 * var(--u));
  right: 0;
}

.faq-item__btn {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  text-align: left;
  background: none;
  border: 0;
  color: inherit;
}

.faq-item__q {
  display: block;
  width: calc(729 * var(--u));
  font-weight: 300;
  font-size: calc(32 * var(--u));
  line-height: 1.2;
}

.faq-item__icon {
  position: absolute;
  left: calc(719 * var(--u));
  top: calc(-1 * var(--u));
  width: calc(35 * var(--u));
  height: calc(35 * var(--u));
  transition: transform .3s ease;
}

.faq-item__btn[aria-expanded="true"] .faq-item__icon {
  transform: rotate(45deg);
}

.faq-item__a {
  width: calc(664 * var(--u));
  padding-top: calc(4 * var(--u));
  font-family: var(--font-body);
  font-size: calc(18 * var(--u));
  line-height: 1.3;
}

.faq-item__rule {
  position: absolute;
  left: 0;
  right: 0;
}

/* =========================================================
   19. SUBPAGE FOOTER & SOCIAL ICONS
   ========================================================= */
.site-footer.position-relative {
  height: calc(480 * var(--u));
  background: var(--charcoal);
  color: var(--cream);
  border-top: 1px solid var(--cream);
}

.site-footer.position-relative .site-footer__title {
  position: absolute;
  left: calc(73 * var(--u));
  top: calc(89 * var(--u));
  font-weight: 400;
  font-size: calc(48 * var(--u));
  line-height: 1.0916;
  white-space: nowrap;
}

.site-footer.position-relative .site-footer__cta {
  position: absolute;
  left: calc(73 * var(--u));
  top: calc(224 * var(--u));
  padding-left: calc(28 * var(--u));
}

.site-footer.position-relative .site-footer__cta:hover .btn__arrow img {
  filter: brightness(0.16);
}

.site-footer.position-relative .btn__arrow,
.btn__arrow {
  left: calc(235 * var(--u));
  top: calc(19 * var(--u));
  width: calc(16.44 * var(--u));
  height: calc(16.44 * var(--u));
}

.site-footer.position-relative .site-footer__col {
  position: absolute;
  top: calc(95 * var(--u));
  font-size: calc(20 * var(--u));
  line-height: 1.2;
}

.site-footer.position-relative .site-footer__col--pages {
  left: calc(875 * var(--u));
}

.site-footer.position-relative .site-footer__col--contact {
  left: calc(1141 * var(--u));
}

.site-footer.position-relative .site-footer__col--legals {
  left: calc(1408 * var(--u));
}

.site-footer.position-relative .site-footer__label {
  color: var(--cream);
  opacity: 0.32;
  margin-bottom: calc(24 * var(--u));
  font-size: calc(20 * var(--u));
}

.site-footer.position-relative .site-footer__col li+li {
  margin-top: calc(12 * var(--u));
}

.site-footer.position-relative .site-footer__col a {
  opacity: 1;
  transition: opacity 0.2s;
}

.site-footer.position-relative .site-footer__col a:hover {
  opacity: 0.6;
}

.site-footer.position-relative .site-footer__bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(73 * var(--u));
  border-top: var(--hair) solid var(--cream-50);
}

.site-footer.position-relative .site-footer__logo {
  margin-left: calc(73 * var(--u));
  width: calc(250 * var(--u));
  height: calc(23 * var(--u));
}

.site-footer.position-relative .socials {
  display: flex;
}

.site-footer.position-relative .socials a {
  width: calc(73 * var(--u));
  height: calc(73 * var(--u));
  border-left: var(--hair) solid var(--cream-50);
  transition: background 0.2s;
}

.site-footer.position-relative .socials a:last-child {
  border-right: var(--hair) solid var(--cream-50);
}

.site-footer.position-relative .socials a:hover {
  background: rgba(253, 250, 241, 0.08);
}

.site-footer.position-relative .socials img {
  width: auto;
  max-width: calc(24 * var(--u));
  max-height: calc(24 * var(--u));
}

.icon-whatsapp {
  width: calc(21.498 * var(--u));
  height: calc(21.498 * var(--u));
}

.icon-instagram {
  width: calc(21.328 * var(--u));
  height: calc(21.328 * var(--u));
}

.icon-youtube {
  width: calc(24.887 * var(--u));
  height: calc(17.421 * var(--u));
}

.icon-linkedin {
  width: calc(22.834 * var(--u));
  height: calc(22.834 * var(--u));
}

.btn.btn-cta.btn-cream:hover {
  background: #292620;
  color: var(--color-cream);
  border-color: var(--color-cream);
}

.center-content-section {
  padding: 175px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.center-content-section .sec-head {
  max-width: 1042px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================================================
   HOW WE WORKS  (.how-we-works-section)
   NOTE: also holds SHARED site-wide styles — .page-banner,
   .page-banner-block, .acies-values--live, .site-header-light
   logo swap, and .h2-text helpers.
   ========================================================= */

.why-choose-us {
  background-color: var(--color-charcoal);
  border-bottom: var(--border-hairline) solid var(--color-cream-25);
}

.why-choose-us__left {
  padding: 136px 40px 108px 0;
  border-right: var(--border-hairline) solid var(--color-cream-25);
}

.why-choose-us__label {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: var(--fw-light);
  font-style: normal;
  font-size: 16px;
  line-height: 19px;
  letter-spacing: var(--tracking-subtitle);
  vertical-align: middle;
  text-transform: uppercase;
  background-color: var(--color-cream);
  color: var(--color-charcoal);
  padding: 13px 50px;
  margin-bottom: 27px;
}

.why-choose-us__desc {
  font-family: var(--font-display);
  font-weight: var(--fw-regular);
  font-style: normal;
  font-size: var(--fs-h2);
  line-height: 109%;
  letter-spacing: 0px;
  color: var(--color-cream);
  max-width: 777px;
  margin: 0;
}

/* ---- Why choose list (indexed rows) ---- */
.why-choose-list {
  background-color: var(--color-charcoal);
  border-bottom: var(--border-hairline) solid var(--color-cream-25);
  overflow: hidden;
  position: relative;
}

.why-choose-list__items {
  margin: 0;
  padding: 0;
}

.why-choose-list__item {
  position: relative;
  display: grid;
  grid-template-columns: calc(66.66666667% - 8px) calc(33.33333333% - 10px);
  align-items: stretch;
}

.why-choose-list__left {
  padding: 30px 20px 30px 0;
  max-width: 357px;
  width: 100%;
  margin-left: auto;
}

.why-choose-list__right {
  padding: 30px 0 30px 20px;
  border-left: var(--border-hairline) solid var(--color-cream-25);
}

.why-choose-list__item h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--fw-regular);
  font-style: normal;
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  letter-spacing: 1%;
  color: var(--color-cream);
}

.why-choose-list__item p {
  margin: 0;
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
  font-style: normal;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--color-cream);
  max-width: 378px;
}


.services-cta {
  background-color: var(--color-charcoal);
  padding-top: 229px;
  padding-bottom: 173px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: -1px;
}

.services-cta__container {
  max-width: 775px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.services-cta__title {
  font-family: var(--font-display);
  font-weight: var(--fw-regular);
  font-style: normal;
  font-size: var(--fs-h2);
  line-height: 109%;
  letter-spacing: 0px;
  text-align: center;
  color: var(--color-cream);
  margin: 0 0 21px 0;
}

.services-cta__desc {
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
  font-style: normal;
  font-size: 18px;
  line-height: 130%;
  letter-spacing: 0px;
  text-align: center;
  color: var(--color-cream);
  margin: 0 0 41px 0;
}

.overlay-picture {
  position: absolute;
  pointer-events: none;
}

.center-content-section .sec-head-inner {
  position: relative;
}

.h2-text {
  font-size: var(--fs-h2);
  font-weight: var(--fw-regular);
  line-height: var(--lh-tight);
  margin-bottom: 20px;
}

.desc-global-dv p {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: 0px;
  text-align: center;
  margin: 0 0 20px;
  font-family: var(--font-body);
}

.desc-global-dv p:last-child {
  margin-bottom: 0;
}

.global-outlook__text p {
  margin-bottom: 0;
}

section.acies-values--live {
  padding-top: 50px;
  padding-bottom: clamp(4rem, 8.62vw, 9.3rem);
}

.acies-values--live .acies-values__card {
  width: 100%;
  border: 1px solid #292620;
  justify-content: flex-start;
  transition: box-shadow 0.35s ease, border-color 0.35s ease;
}

.acies-values--live .acies-values__header {
  width: 100%;
}

.acies-values--live .acies-values__number {
  font-size: 1rem;
  font-weight: var(--fw-light, 300);
  letter-spacing: 3px;
  line-height: 1;
  color: var(--color-charcoal);
}

.acies-values--live .acies-values__indicator {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.acies-values--live .acies-values__indicator span {
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #29262040;
}

.acies-values--live .acies-values__indicator span.is-filled {
  background-color: #292620;
}

.acies-values__card .acies-values__body {
  margin-top: clamp(2rem, 3.2vw, 2.25rem);
}

.acies-values--live .acies-values__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.2vw, 2.25rem);
  font-weight: var(--fw-medium, 500);
  line-height: 1.15;
  letter-spacing: var(--tracking-h4, -0.02em);
  color: var(--color-charcoal);
}

.acies-values--live .acies-values__footer {
  margin-top: auto;
  padding-top: 1.5rem;
}

.acies-values--live .acies-values__desc {
  color: rgba(41, 38, 32, 0.75);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: 0px;
  font-family: var(--font-body);
  max-width: 90%;
}

.site-header:not(.site-header-light) .logo-dark,
.site-header-light .logo-lite {
  display: none;
}

.site-header:not(.site-header-light) .logo-lite,
.site-header-light .logo-dark {
  display: block;
}

/* --- Page Banners --- */
.page-banner {
  --banner-height: clamp(26.25rem, 35.82vw, 38.6875rem);
  --banner-foot: clamp(8.5rem, 12.73vw, 13.75rem);

  min-height: var(--banner-height);
  background-color: var(--color-dark-charcoal);
  color: var(--color-cream);
  margin-top: clamp(4rem, 4.7vw, 5.0625rem);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}

.page-banner-block {
  margin-top: clamp(4rem, 4.7vw, 5.0625rem);
  position: relative;
  display: flex;
  overflow: hidden;
}

.page-banner__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.page-banner__media img {
  display: block;
  object-position: center 35%;
}

.page-banner__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(49.72deg, #292620 29.13%, rgba(41, 38, 32, 0) 67.04%);
}

.page-banner__foot {
  z-index: 1;
  min-height: var(--banner-foot);
  padding-bottom: clamp(1.25rem, 1.62vw, 1.75rem);
  border-top: var(--border-hairline) solid var(--color-cream-25);
}

.page-banner__foot>.container {
  width: 100%;
}

.page-banner__title {
  font-size: var(--fs-h1);
  font-weight: var(--fw-light);
  line-height: var(--lh-h1);
  letter-spacing: var(--tracking-h1);
  max-width: 40%;
}

.pb-block-inner-full {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  border-bottom: 1px solid rgb(41 38 32 / 12.5%);
  padding: 0;
  overflow: hidden;
}

.page-banner-block .pb-block-img-group {
  width: calc(50% + 20px);
  height: 100%;
  position: relative;
}

.page-banner-block .pb-block-img-group .page-banner__image {
  height: 100%;
}

.page-banner-block .pb-block-img-group .page-banner__image picture {
  display: block;
  height: 100%;
}

.page-banner-block .pb-block-content {
  width: 50%;
  position: relative;
  padding: 26px 0 9px;
  border-top: 1px solid rgb(41 38 32 / 12.5%);
}

.page-banner-block .h-line {
  border-top: 1px solid rgba(41, 38, 32, 0.5);
  position: absolute;
  top: -1px;
  right: -15px;
  width: 30px;
  height: 1px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-banner-block .h-line::before {
  content: "";
  border-left: 1px solid rgba(41, 38, 32, 0.5);
  position: absolute;
  top: -4px;
  height: 8px;
  z-index: 1;
  display: block;
}

/* =========================================================
   ABOUT US  +  OUR SERVICES  +  CONTACT  (mixed block)
   About us    : .global-outlook/.global-reach, .protection-benefits,
                 .testimonial--about, .acies-values, .acies-process
   Our services: .text-block-section, .image-block-section, .image-parallax-group
   Contact     : .contact-wrapper (main rules in responsive.css)
   ========================================================= */

/* --- Global Outlook --- */
.global-outlook {
  --outlook-divider: 55.8%;
  --outlook-inset: clamp(1.5rem, 2.49vw, 2.6875rem);

  display: flex;
  flex-direction: column;
  min-height: clamp(34rem, 40.63vw, 43.875rem);
  padding-top: clamp(14rem, 20.2vw, 21.8rem);
  background-color: var(--color-charcoal);
  color: var(--color-cream);
}

.global-outlook__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.global-outlook__media img {
  display: block;
  object-position: center 30%;
}

.global-outlook__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(-49.72deg, #292620 29.13%, rgba(41, 38, 32, 0) 67.04%);
}

.global-outlook--left .global-outlook__media::after {
  background: linear-gradient(49.72deg, #292620 29.13%, rgba(41, 38, 32, 0) 67.04%);
}

.global-outlook__panel {
  z-index: 1;
  flex: 1 0 auto;
  margin-left: var(--outlook-divider);
  padding-bottom: clamp(1.5rem, 1.85vw, 2rem);
  border-left: 1px solid var(--color-cream-25);
}

.global-outlook__head {
  position: relative;
  min-height: clamp(5.5rem, 7.12vw, 7.6875rem);
  padding-inline: var(--outlook-inset) var(--page-margin, 1.5rem);
  border-block: 1px solid var(--color-cream-25);
}

/* Brighter ticks where each hairline crosses the divider */
.global-outlook__head::before,
.global-outlook__head::after {
  content: "";
  position: absolute;
  left: -0.9375rem;
  width: 1.875rem;
  border-top: 1px solid var(--color-cream);
}

.global-outlook__head::before {
  top: -1px;
}

.global-outlook__head::after {
  bottom: -1px;
}

.global-outlook__title {
  font-size: var(--fs-h2);
  font-weight: var(--fw-light);
  line-height: 1;
  letter-spacing: var(--tracking-h4);
}

.global-outlook__text {
  max-width: 40rem;
  padding: clamp(1.75rem, 2.1vw, 2.25rem) var(--page-margin, 1.5rem) 0 var(--outlook-inset);
  box-sizing: content-box;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-light);
  line-height: var(--lh-body);
}

.global-outlook__text p+p {
  margin-top: clamp(1rem, 1.3vw, 1.25rem) !important;
}

.global-outlook--right p {
  margin: 0;
  line-height: 1.375;
}

/* --- Acies Values --- */
.acies-values {
  --values-gap-x: 1.3125rem;
  --values-gap-y: 1.625rem;
  --values-step: clamp(1rem, 1.77vw, 1.9125rem);
  --values-line: rgba(41, 38, 32, 0.75);

  padding-block: clamp(4rem, 7.2vw, 7.78rem) clamp(4rem, 8.62vw, 9.3rem);
  background-color: var(--color-cream);
  color: var(--color-charcoal);
}

.acies-values__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--values-gap-y) var(--values-gap-x);
}

.acies-values__card {
  aspect-ratio: 511 / 340;
  min-width: 0;
  padding: 26px 32px;
  background-color: var(--color-cream);
  border: 1px solid var(--values-line);
}

section.acies-values--live .acies-values__card {
  aspect-ratio: 511 / 289;
}

.acies-values__number {
  padding-top: 0.25rem;
  font-size: 1rem;
  font-weight: var(--fw-light);
  line-height: 1;
  letter-spacing: 3px;
}

.acies-values__icon {
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.875rem;
  object-fit: contain;
}

.acies-values__title {
  font-size: clamp(1.5rem, 2.08vw, 2.25rem);
  font-weight: var(--fw-medium);
  line-height: 1.13889;
  letter-spacing: var(--tracking-h4);
}

/* --- Global Reach Section --- */
.global-reach {
  position: relative;
  width: 100%;
  min-height: 560px;
  height: calc(100dvh - 81px);
  max-height: 100dvh;
  overflow: hidden;
  background-color: #000;
  color: var(--color-cream);
}

.global-reach__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.global-reach__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.global-reach::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,
      rgba(0, 0, 0, 0.45) 0%,
      rgba(0, 0, 0, 0.05) 55%,
      transparent 100%);
  pointer-events: none;
}

.global-reach .banner-overlay {
  z-index: 0;
}

.global-reach__content {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding-bottom: 40px;
}

.global-reach__title {
  max-width: 100%;
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: var(--fw-light);
  line-height: var(--lh-h1);
  letter-spacing: -1px;
  color: var(--color-cream);
}

/* --- Protection Benefits --- */
.protection-benefits {
  --benefits-line: rgba(41, 38, 32, 0.12);
  --benefits-tick: var(--color-charcoal-50);
  --benefits-inset: max(clamp(1.25rem, 4.456vw, 4.8125rem), calc((100vw - 1574px) / 2));

  background-color: var(--color-cream);
  color: var(--color-charcoal);
  border-bottom: 1px solid var(--benefits-line);
  overflow: hidden;
}

.protection-benefits__intro {
  padding: clamp(2.5rem, 4.05vw, 4.375rem) 2rem 2.5rem var(--benefits-inset);
}

.protection-benefits__intro-text {
  max-width: 32rem;
  font-family: var(--font-body);
  font-size: var(--fs-body-larger);
  font-weight: var(--fw-regular);
  line-height: 1.2;
}

.protection-benefits__list {
  border-left: 1px solid var(--benefits-line);
}

.protection-benefits__item {
  position: relative;
  padding: clamp(1.75rem, 2vw, 2.125rem) var(--benefits-inset) clamp(1.5rem, 1.95vw, 2.1rem) clamp(1.25rem, 1.91vw, 2.0625rem);
  border-bottom: 1px solid var(--benefits-line);
}

.protection-benefits__item::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 1rem;
  border-top: 1px solid var(--benefits-tick);
}

.protection-benefits__item::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: -1px;
  height: 7px;
  border-left: 1px solid var(--benefits-tick);
}

.protection-benefits__item:last-child::after {
  left: -0.9375rem;
  width: 1.9375rem;
}

.protection-benefits__number {
  width: clamp(3rem, 3.88vw, 4.1875rem);
  padding-top: 5px;
  font-size: clamp(1.25rem, 1.62vw, 1.75rem);
  font-weight: var(--fw-light);
  line-height: 1;
}

.protection-benefits__title {
  font-size: var(--fs-h3-medium);
  font-weight: var(--fw-medium);
  line-height: 1.04;
  letter-spacing: var(--tracking-h4);
  margin-bottom: 2px;
}

.protection-benefits__description {
  max-width: 38.75rem;
  margin-top: 0.116vw !important;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
}

/* --- Testimonial (About us) --- */
.testimonial--about {
  padding-block: clamp(5rem, 10.47vw, 11.3125rem) clamp(4.5rem, 8.45vw, 9.125rem);
  background-color: var(--color-charcoal);
  color: var(--color-cream);
}

.testimonial--about .testimonial__inner {
  max-width: 64rem;
  padding: 0;
  gap: 0;
}

.eyebrow--light {
  background: var(--color-cream);
  color: var(--color-charcoal);
}

.testimonial--about .eyebrow {
  padding-inline: clamp(1.25rem, 2.3vw, 2.5rem);
}

.testimonial--about .testimonial__quote {
  margin: clamp(1rem, 1.2vw, 1.3rem) 0 0;
  font-size: var(--fs-testimonial);
  font-weight: var(--fw-light);
  line-height: 1.1875;
  color: var(--color-cream);
}

.testimonial--about .testimonial__quote p {
  font-size: var(--fs-testimonial);
  font-weight: var(--fw-light);
  line-height: 1.1875;
}

.testimonial--about .testimonial__author {
  margin-top: 33px;
  font-size: var(--fs-subtitle);
  font-weight: var(--fw-light);
  letter-spacing: var(--tracking-subtitle);
  line-height: var(--lh-auto);
  color: var(--color-cream);
}

.testimonial--quiet {
  padding-block: clamp(3.5rem, 5.72vw, 6.175rem) clamp(3.5rem, 4.75vw, 80px);
  background-color: var(--color-dark-cream);
  color: var(--color-charcoal);
}

.testimonial--quiet .testimonial__inner {
  max-width: 57.25rem;
}

.testimonial__label {
  font-size: var(--fs-subtitle);
  font-weight: var(--fw-light);
  letter-spacing: var(--tracking-subtitle);
  line-height: var(--lh-auto);
}

.testimonial--quiet .testimonial__quote {
  margin-top: clamp(0.875rem, 1.1vw, 1.2rem);
  color: var(--color-charcoal);
}

.testimonial--quiet .testimonial__author {
  margin-top: clamp(1rem, 1.1vw, 1.2rem);
  color: var(--color-charcoal);
}

.text-block-section {
  padding: 100px 0;
  position: relative;
}

.text-block-section .text-block-inner {
  max-width: 685px;
  margin-left: calc(8.33333333% + 20px);
}

.text-block-section p {
  margin: 0;
}

.text-block-section h2 {
  margin-bottom: 12px;
}

.image-block-section {
  padding: 110px 0 80px;
  position: relative;
}

.image-parallax-group {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1574 / 529;
  min-height: 360px;
  margin-bottom: 63px;
}

.image-parallax-group picture,
.image-parallax__picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.image-parallax-group img,
.image-parallax__img {
  position: absolute;
  top: -18%;
  left: 0;
  width: 100% !important;
  height: 136% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.acies-our-process {
  padding: 80px 0 160px;
  position: relative;
}

.acies-dark {
  background: #292620;
}

.sec-head-new {
  padding: 80px 0 110px;
  max-width: 816px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.sec-head-new .overlay-picture {
  top: 0;
}

.sec-head-new .sec-head-inner {
  position: relative;
}

.fill-text-group {
  position: relative;
  margin-top: 40px;
}

.fill-text-group p {
  font-size: var(--fs-h5);
  font-weight: var(--fw-light);
  line-height: var(--lh-auto);
  font-family: var(--font-display);
  color: var(--color-cream-50);
  margin: 0;
}

.sec-head-new .eyebrow {
  background: var(--color-cream);
  color: #292620;
}

/* --- Acies Process Section --- */
.acies-process {
  --process-gap-x: 1.3125rem;
  --process-gap-y: 1.625rem;
  --process-step: clamp(1rem, 1.77vw, 1.9125rem);
  --process-line: rgba(253, 250, 241, 0.5);

  padding-block: clamp(4rem, 7.2vw, 7.78rem) clamp(4rem, 8.62vw, 9.3rem);
  background-color: #292620;
  color: var(--color-cream);
  position: relative;
}

.acies-process__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--process-gap-y) var(--process-gap-x);
  z-index: 2;
  position: relative;
}

.acies-process__card {
  aspect-ratio: 511 / 340;
  min-width: 0;
  padding: 26px 32px;
  background-color: #23211E;
  border: 1px solid var(--process-line);
  color: var(--color-cream);
  justify-content: flex-start;
  transition: box-shadow 0.35s ease, border-color 0.35s ease;
}

.acies-process__header {
  width: 100%;
}

.acies-process__number {
  padding-top: 0.25rem;
  font-size: 1rem;
  font-weight: var(--fw-light, 300);
  line-height: 1;
  letter-spacing: 3px;
  color: var(--color-cream);
}

.acies-process__icon {
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.875rem;
  object-fit: contain;
}

.acies-process__body {
  margin-top: clamp(2rem, 3.2vw, 2.25rem);
}

.acies-process__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.2vw, 2.25rem);
  font-weight: var(--fw-medium, 500);
  line-height: 1.15;
  letter-spacing: var(--tracking-h4, -0.02em);
  color: var(--color-cream);
}

.acies-process__footer {
  margin-top: auto;
  padding-top: 1.5rem;
}

.acies-process__desc {
  color: rgba(253, 250, 241, 0.75);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: 0px;
  font-family: var(--font-body);
  max-width: 90%;
  margin: 0;
}

@media (max-width: 767.98px) {
  .image-block-section {
    padding: 60px 0 45px;
  }

  .image-parallax-group {
    aspect-ratio: 393 / 273;
    min-height: 220px;
    margin-bottom: 36px;
  }
}

/* contact us page css start - jayraj - 21/09/2021 */

.contact-wrapper {
  padding: 100px 0 177px;
}

.contact-wrapper .container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 84px;
}

.contact-wrapper .container .contact-info {
  flex: 0 0 580px;
  max-width: 580px;
  position: relative;
}

.contact-wrapper .container .contact-info h2 {
  color: #29262080;
  margin-bottom: 28px;
}

.contact-wrapper .container .contact-info h2 span {
  color: var(--charcoal);
}

.contact-wrapper .container .contact-info h2.letter-animation span {
  color: inherit;
}

.contact-wrapper .container .contact-info .h2-text.letter-animation .line,
.contact-wrapper .container .contact-info .letter-animation .line {
  text-align: left;
}

.contact-wrapper .container .contact-info .info-grid {
  margin-top: 74px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 60px;
}

.contact-wrapper .container .contact-info .info-grid .info-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-wrapper .container .contact-info .info-grid .info-cell .label {
  font-size: 20px;
  line-height: 1.2;
  color: #29262040;
  font-weight: 500;
}

.contact-wrapper .container .contact-info .info-grid .info-cell .value {
  font-size: var(--fs-body);
  line-height: 1.3;
  color: var(--charcoal);
  text-decoration: none;
  font-family: var(--font-body);
}

.contact-wrapper .container .contact-info .info-grid .info-cell .value:hover {
  text-decoration: underline;
}

.social-icons {
  display: flex;
  align-items: center;
  gap: 50px;
}

.social-icons svg {
  transition: all 0.3s ease-in-out;
}

.social-icons svg:hover {
  transform: scale(1.1);
}

.contact-wrapper .container .contact-form {
  background: var(--charcoal);
  padding: 79px 87px;
  max-width: 644px;
  flex: 0 0 644px;
  width: 100%;
}

.contact-wrapper .container .form-title {
  color: var(--color-cream);
  font-size: 36px;
  line-height: 41px;
  letter-spacing: -1%;
  font-weight: 500;
  margin-bottom: 3px;
}

.contact-wrapper .container .sub-text {
  color: var(--color-cream);
  margin-bottom: 43px;
}

.contact-wrapper .container .contact-info img {
  display: none;
}

/* --- Page Banners --- */
.page-banner__divider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 45%;
  border-left: var(--border-hairline) solid var(--color-cream-25);
  pointer-events: none;
  height: 100vh;
  margin-left: -15px;
}

.page-banner__divider .h-line {
  position: absolute;
  top: -1px;
  background: var(--color-cream-50);
  height: 1px;
  width: 30px;
  margin: 0 0 0 -15px;
}

.page-banner__divider::after {
  content: "";
  position: absolute;
  top: -4px;
  left: calc(var(--border-hairline) * -2);
  height: 8px;
  border-left: var(--border-hairline) solid var(--color-cream-50);
}

.page-banner__title {
  font-size: var(--fs-h1);
  font-weight: var(--fw-light);
  line-height: var(--lh-h1);
  letter-spacing: var(--tracking-h1);
  max-width: 42%;
}

/* =========================================================
   CASE STUDY  +  FAQ  +  PRIVACY POLICY  +  CONTACT FORM
   Case study : .portfolio-sec, .insight-sec, .general-title-group
   FAQ        : .faq-* accordion
   Privacy    : .general-section legal content
   Contact    : "Contact Us Form" block (see also responsive.css)
   ========================================================= */

/* --- Global Outlook --- */
/* Brighter ticks where each hairline crosses the divider */
/* --- Acies Values --- */
/* --- Global Reach Section --- */
/* --- Protection Benefits --- */
.protection-benefits {
  --benefits-line: rgba(41, 38, 32, 0.12);
  --benefits-tick: var(--color-charcoal-50);
  --benefits-inset: max(clamp(1.25rem, 4.456vw, 4.8125rem), calc((100vw - 1574px) / 2));

  background-color: var(--color-cream);
  color: var(--color-charcoal);
  border-bottom: 1px solid var(--benefits-line);
  overflow: hidden;
}

.protection-benefits__intro {
  position: relative;
  padding: clamp(2.5rem, 4.05vw, 4.375rem) 2rem 2.5rem var(--benefits-inset);
}

.protection-benefits__intro:has(.dot-environment),
.protection-benefits__intro.has-dot-canvas {
  padding: 0;
  display: flex;
  min-height: 100%;
}

.dot-environment {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  cursor: default;
}

@media (max-width: 991.98px) {

  .protection-benefits__intro:has(.dot-environment),
  .protection-benefits__intro.has-dot-canvas {
    min-height: 300px;
    height: 350px;
    border-bottom: 1px solid var(--benefits-line);
    overflow: hidden;
  }
}


.protection-benefits__intro-text {
  max-width: 32rem;
  font-family: var(--font-body);
  font-size: var(--fs-body-larger);
  font-weight: var(--fw-regular);
  line-height: 1.2;
}

.protection-benefits__list {
  border-left: 1px solid var(--benefits-line);
}

.protection-benefits__item {
  position: relative;
  padding: clamp(1.75rem, 2vw, 2.125rem) var(--benefits-inset) clamp(1.5rem, 1.95vw, 2.1rem) clamp(1.25rem, 1.91vw, 2.0625rem);
  border-bottom: 1px solid var(--benefits-line);
}

.protection-benefits__item::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 1rem;
  border-top: 1px solid var(--benefits-tick);
}

.protection-benefits__item::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: -1px;
  height: 7px;
  border-left: 1px solid var(--benefits-tick);
}

.protection-benefits__item:last-child::after {
  left: -0.9375rem;
  width: 1.9375rem;
}

.protection-benefits__number {
  width: clamp(3rem, 3.88vw, 4.1875rem);
  padding-top: 5px;
  font-size: clamp(1.25rem, 1.62vw, 1.75rem);
  font-weight: var(--fw-light);
  line-height: 1;
}

.protection-benefits__title {
  font-size: var(--fs-h3-medium);
  font-weight: var(--fw-medium);
  line-height: 1.04;
  letter-spacing: var(--tracking-h4);
  margin-bottom: 2px;
}

.protection-benefits__description {
  max-width: 38.75rem;
  margin-top: 0.116vw !important;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
}

/* --- Testimonial (About us) --- */
/* --- Acies Process Section --- */
/* contact us page css start - jayraj - 21/09/2021 */
/* case study page css start - jayraj - 22/09/2021 */

.insight-sec {
  position: relative;
}

.insight-sec .insight-image {
  position: absolute;
  right: 0;
  top: 0;
  width: 789px;
  height: 100%;
}

.insight-sec .insight-image img {
  height: 100%;
}

.insight-sec .insight-content {
  max-width: 856px;
  position: relative;
}

.insight-sec .insight-content h2 {
  margin-bottom: 0;
}

.insight-sec .insight-content p {
  line-height: 1.3;
  margin-bottom: 20px;
}

.insight-sec .insight-content::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-left: 1px solid #29262040;
}

.text-group-insight {
  padding: 134px 96px 21px;
  position: relative;
}

.desc-group {
  padding: 27px 96px 7px;
  position: relative;
}

.text-group-insight::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: -50vw;
  width: 150vw;
  border-bottom: 1px solid #29262040;
}

.insight-sec::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  border-bottom: 1px solid #29262040;
}

.insight-sec .insight-content .h-tick {
  position: absolute;
  left: -15px;
  width: 30px;
  border-top: 1px solid rgba(41, 38, 32, 0.5);
}

.insight-sec .insight-content .h-tick--top {
  bottom: 0px;
}

.insight-sec .insight-content .h-tick--top::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  height: 6px;
  border-left: 1px solid rgba(41, 38, 32, 0.5);
}

.insight-sec .insight-content .h-tick--bottom {
  bottom: 0;
}

.insight-sec .insight-content .h-tick--bottom::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  height: 6px;
  border-left: 1px solid rgba(41, 38, 32, 0.5);
}

.portfolio-sec {
  padding: 137px 0 181px;
}

.portfolio-sec .portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 84px 20px;
}

.portfolio-sec .portfolio-grid .portfolio-item {
  text-decoration: none;
  display: block;
}

.portfolio-sec .portfolio-grid .portfolio-item picture {
  display: block;
}

.portfolio-sec .portfolio-grid .portfolio-item h3 {
  color: var(--charcoal);
  margin: 23px 0 0;
  font-size: clamp(1.75rem, 2.2vw, 2.25rem);
  letter-spacing: -1%;
  line-height: 1.13;
}

.portfolio-sec .portfolio-grid .portfolio-item p {
  color: var(--charcoal);
  margin-bottom: 0;
  font-size: clamp(20px, calc(18.82px + 0.2996vw), 24px);
  line-height: 1.2;
}

.faq-banner-sec {
  position: relative;
  overflow: hidden;
}

.faq-banner-sec .banner-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.faq-banner-sec .faq-heading .h2-text {
  color: var(--color-cream);
  font-size: var(--fs-h1);
  line-height: 1.09;
  letter-spacing: -1px;
  max-width: 50%;
  margin-bottom: 0;
  font-weight: 300;
}

.faq-banner-sec .faq-accordion {
  border-left: 1px solid #FDFAF140;
  margin: 0 0 72px;
  padding-top: 127px;
}

.faq-banner-sec .faq-accordion .accordion-button {
  padding: 0;
}

.faq-banner-sec .faq-accordion .accordion-button:not(.collapsed),
.faq-banner-sec .faq-accordion .accordion-body,
.faq-banner-sec .faq-accordion .accordion-button {
  color: var(--color-cream);
}

.faq-banner-sec .faq-accordion .accordion-button::after {
  background-image: linear-gradient(var(--color-cream), var(--color-cream)), linear-gradient(var(--color-cream), var(--color-cream));
  right: 80px;
}

.faq-banner-sec .faq-accordion .accordion-button:not(.collapsed) {
  padding-bottom: 4px;
}

.faq-banner-sec .faq-accordion .accordion-body {
  padding: 0;
  transition: all 0.3s;
}

.faq-banner-sec .faq-accordion .accordion-button:not(.collapsed)::after {
  background-image: linear-gradient(var(--color-cream), var(--color-cream));
}

.faq-banner-sec .faq-accordion .accordion-item::before {
  display: none;
}

.faq-banner-sec .faq-accordion .accordion-item {
  border-bottom: 0.5px solid #FDFAF140;
  border-top: none;
}

.faq-banner-sec .faq-heading {
  display: flex;
  align-items: center;
  height: 100%;
  padding-left: 77px;
}

.faqs-page-banner .page-banner__divider {
  left: 55%;
}

.faqs-page-banner .page-banner__title {
  max-width: 55%;
  padding-top: 50px;
}

/* FAQ Accordion Styles */
.faq-accordion {
  --bs-accordion-bg: transparent;
  --bs-accordion-border-width: 0;
  --bs-accordion-inner-border-radius: 0;
  padding-left: 0;
  margin: 148px 0 232px 0;
}

.faq-accordion .accordion-item {
  border: none;
  border-top: 0.5px solid var(--charcoal-50, rgba(41, 38, 32, 0.5));
  position: relative;
  background-color: transparent;
  border-radius: 0 !important;
}

.faq-accordion .accordion-item:first-child {
  border-top: none;
}

.faq-accordion .accordion-item::before {
  content: '';
  position: absolute;
  top: -5.5px;
  left: 0;
  width: 10px;
  height: 10px;
  border-left: 0.5px solid rgba(41, 38, 32, 1);
  background-image: linear-gradient(rgba(41, 38, 32, 1), rgba(41, 38, 32, 1));
  background-size: 10px 0.5px;
  background-position: 0 5px;
  background-repeat: no-repeat;
  z-index: 2;
}

.faq-accordion .accordion-item:first-child::before {
  display: none;
}

.faq-accordion .accordion-button {
  background-color: transparent;
  color: rgba(41, 38, 32, 1);
  box-shadow: none;
  padding: 0;
  font-family: 'Blauer Nue', sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: clamp(24px, calc(21.65px + 0.5993vw), 32px);
  line-height: 1;
  letter-spacing: 0px;
}

.faq-accordion .accordion-button:focus {
  box-shadow: none;
  background-color: transparent;
}

.faq-accordion .accordion-button:not(.collapsed) {
  background-color: transparent;
  color: rgba(41, 38, 32, 1);
  box-shadow: none;
  padding-bottom: 0;
}

.faq-accordion .accordion-button::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: none;
  background-image:
    linear-gradient(rgba(41, 38, 32, 1), rgba(41, 38, 32, 1)),
    linear-gradient(rgba(41, 38, 32, 1), rgba(41, 38, 32, 1));
  background-size: 16px 1.5px, 1.5px 16px;
  background-position: center, center;
  background-repeat: no-repeat;
  transition: all 0.3s ease;
}

.faq-accordion .accordion-button:not(.collapsed)::after {
  background-image: linear-gradient(rgba(41, 38, 32, 1), rgba(41, 38, 32, 1));
  background-size: 16px 1.5px;
  background-position: center;
  transform: translateY(-50%);
}

.faq-accordion .accordion-body {
  padding: 0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(16px, calc(15.41px + 0.1498vw), 18px);
  line-height: 1.3;
  letter-spacing: 0px;
  vertical-align: bottom;
  color: rgba(41, 38, 32, 1);
  max-width: 660px;
}

/* Privacy Policy */
.general-section .container {
  max-width: 1042px;
}

.general-section h1 {
  font-weight: var(--fw-light);
  font-style: normal;
  font-size: var(--fs-h1);
  line-height: 109%;
  letter-spacing: -1px;
  vertical-align: bottom;
  color: rgba(41, 38, 32, 1);
  margin: 0;
}

.general-title-group {
  position: relative;
  border-bottom: 1px solid rgba(41, 38, 32, 0.25);
  padding: 50px 30px;
}

.general-title-group .h-line.left-line {
  left: -15px;
  bottom: -1px;
  top: auto;
}

.general-title-group .h-line.right-line {
  right: -16px;
  bottom: -1px;
  top: auto;
}

.general-section p {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 130%;
  letter-spacing: 0px;
  color: rgba(41, 38, 32, 1);
  margin-top: 0;
}

.content-group-body {
  padding: 40px 30px;
}

.general-section h3+p {
  margin-top: 24px;
}

.general-section p+p {
  margin-top: 24px;
}

.text-nowrap-desktop {
  white-space: nowrap;
}

.general-section ul {
  margin-top: 16px;
  margin-bottom: 0;
  padding-left: 20px;
  list-style-type: disc;
}

.general-section li {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  color: rgba(41, 38, 32, 1);
  margin-bottom: 8px;
}

.general-section h2 {
  font-weight: 300;
  font-size: 32px;
  line-height: 100%;
  letter-spacing: 0px;
  color: rgba(41, 38, 32, 1);
  margin-top: 54px;
}

.general-section h3 {
  font-weight: 300;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-top: 54px;
}

.general-inner-root {
  border-left: 1px solid rgba(41, 38, 32, 0.25);
  border-right: 1px solid rgba(41, 38, 32, 0.25);
}

.insight-parent-section {
  padding: 0 0 6px;
}

/* Contact Us Form */
body .gform-theme--framework input[type="text"],
body .gform-theme--framework input[type="email"],
body .gform-theme--framework input[type="tel"],
body .gform-theme--framework input[type="url"],
body .gform-theme--framework input[type="file"],
body .gform-theme--framework textarea {
  font-weight: 400 !important;
  font-size: 20px !important;
  line-height: 24px !important;
  letter-spacing: 0px !important;
  padding: 10px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #fdfaf180 !important;
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  color: var(--color-cream) !important;
  outline: none !important;
}

body .gform_wrapper input::placeholder,
body .gform_wrapper textarea::placeholder {
  color: var(--color-cream) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: 0px !important;
}

body .gform-theme--foundation .gform_fields {
  row-gap: 20px !important;
}

body .gform_wrapper.gform-theme--foundation .gfield textarea {
  width: 100% !important;
  resize: none;
  height: 150px !important;
}

body .gform-footer button.gform_button {
  width: 100% !important;
  background-color: var(--color-forest-teal) !important;
  font-size: 20px !important;
  line-height: 25px !important;
  padding: 14px 16px !important;
  border-radius: 0 !important;
  border: 1px solid var(--color-forest-teal) !important;
  font-weight: 400 !important;
}

body .gform_wrapper input.gfield-choice-input {
  background: #FDFAF180 !important;
  border-radius: 0 !important;
}

body .gform-theme--framework .gform-field-label {
  font-size: 12px !important;
  color: var(--color-cream) !important;
  font-weight: 300 !important;
  font-family: var(--font-body) !important;
}

body .gform-theme {
  --gf-color-in-ctrl-primary: #292620 !important;
  --gf-color-primary-darker: #292620 !important;
  --gf-color-primary-lighter: #292620 !important;
  --gf-color-primary: #292620 !important;
  --gf-ctrl-choice-size-md: 16px !important;
}

body .gform-theme--framework .gfield--type-choice input.gfield-choice-input {
  font-size: 12px !important;
  box-shadow: none;
  outline: none;
}

body .gform-theme--framework .gfield--input-type-checkbox {
  padding: 10px 0;
}

/* Endof Contact Us Form */
/* =========================================================
   CAREERS  (.vacancies) — used by _careers.html
   ========================================================= */

.vacancies {
  --vacancies-line: rgba(253, 250, 241, 0.125);
  --vacancies-tick: #FDFAF1;
  --vacancies-gutter: 10px;
  background: rgba(41, 38, 32, 1);
  color: var(--color-cream, #FDFAF1);
  padding: 134px 0;
}

@media (min-width: 992px) {
  .vacancies {
    padding: 120px 0 0;
  }
}

.vacancies__left {
  position: relative;
  --benefits-inset: max(clamp(1.25rem, 4.456vw, 4.8125rem), calc((100vw - 1574px) / 2));
  padding: 0 20px 0 var(--benefits-inset);
}

.vacancies__right {
  padding: 0;
}

.vacancies__title {
  font-weight: 300;
  font-style: normal;
  font-size: var(--fs-h1);
  line-height: 109%;
  letter-spacing: -1px;
  vertical-align: bottom;
  color: rgba(253, 250, 241, 1);
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.vacancies__title span {
  font-weight: var(--fw-medium, 500);
}

.vacancies__list {
  display: flex;
  flex-direction: column;
  position: relative;
}

.vacancies__list::before {
  content: "";
  position: absolute;
  top: -120px;
  bottom: 0px;
  left: 0;
  width: 1px;
  background-color: var(--vacancies-line);
}

.vacancies__item {
  position: relative;
  padding: 2px 80px;
}

.vacancies__item::before,
.vacancies__item::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.vacancies__item::after {
  top: -1px;
  left: 0;
  width: 1rem;
  border-top: 1px solid var(--vacancies-tick);
}

.vacancies__item::before {
  top: -4px;
  left: 0px;
  height: 7px;
  border-left: 1px solid var(--vacancies-tick);
}

.vacancies__item h3 {
  font-weight: 500;
  font-size: var(--fs-h4);
  line-height: 41px;
  letter-spacing: -0.01em;
  color: var(--color-cream);
  margin-bottom: 22px;
}

.vacancies__item p {
  line-height: 130%;
  letter-spacing: 0px;
  color: rgba(253, 250, 241, 1);
  margin: 0;
}

.vacancies__item-actions {
  margin-top: 47px;
}

.vacancies__list .h-line-full {
  width: 100vw;
  border-top: 1px solid var(--vacancies-line);
  position: absolute;
  top: -1px;
  left: 0;
}

@media (min-width: 992px) {
  .vacancies__item-desc {
    max-width: 515px;
  }
}

.btn-vacancies-apply {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 224px;
  padding: 16px 28px;
  border: 1px solid var(--color-cream-50, rgba(253, 250, 241, 0.5));
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: 0px;
  color: rgba(253, 250, 241, 1);
  transition: all 0.3s ease;
}

.btn-vacancies-apply:hover {
  background-color: var(--color-cream, #FDFAF1);
  color: var(--color-charcoal, #292620);
  border-color: var(--color-cream, #FDFAF1);
}

.btn-vacancies-apply:hover .arrow {
  filter: brightness(0);
  opacity: 0.8;
}

.btn-vacancies-apply .arrow {
  width: 12.92px;
  height: 10.33px;
  transition: all 0.3s ease;
}

.vacancies__badges {
  gap: 22px;
  flex: 1;
  justify-content: flex-end;
}

.badge-job-info {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  padding: 12px 28px;
  border: 1px solid rgba(253, 250, 241, 1);
  border-radius: 50px;
  font-weight: 300;
  font-style: normal;
  font-size: 16px;
  line-height: 109%;
  letter-spacing: 0px;
  color: rgba(253, 250, 241, 1);
}

.badge-job-info .dot {
  width: 13px;
  height: 13px;
  min-width: 13px;
  background-color: rgba(253, 250, 241, 1);
  border-radius: 50%;
}

.page-banner-block .icon-group {
  position: absolute;
  width: 58px;
  height: 58px;
  bottom: 28px;
  right: max(calc(var(--bs-gutter-x, 1.5rem) * 0.5), calc((100vw - 1574px) / 2));
}

.sd-text-block-section h2 {
  margin-bottom: 20px;
}

.text-block-section .desc-dv p {
  margin-bottom: 20px;
}

.sd-text-block-section .btn.btn-cta {
  margin-top: 28px;
}

.sd-text-block-section .text-block-inner {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-left: calc(calc(8.333333% * 5) + calc(20px * 3));
  padding-right: 8.33333333%;
}

.sd-dark-acies-process .sec-head-new {
  padding: 100px 0 58px;
}

.cta-block {
  padding: 160px 0 0;
  max-width: 775px;
  margin: 0 auto;
}

.cta-block .btn.btn-cta {
  margin-top: 18px;
}

section.acies-light {
  background: transparent;
  color: #292620;
  --process-line: #292620;
}

.section-top {
  margin: 0 0 53px;
}

.section-top h2 {
  margin-bottom: 13px;
}

section.acies-light .acies-process__card {
  background-color: var(--color-cream);
  color: #292620;
}

section.acies-light .acies-process__number,
section.acies-light .acies-process__title,
section.acies-light .acies-process__desc {
  color: #292620;
}

.bg-dark-section {
  background-color: #292620;
  color: var(--color-cream);
}

.hww-cta-section {
  padding: 220px 0 170px;
}

.hww-cta-section .cta-block {
  padding: 0;
}

.protection-card {
  border-bottom: 1px solid #29262040;
  overflow: hidden;
  position: relative;
  transition: background-color 0.45s ease;
}

.protection-card:first-child {
  border-top: 1px solid #29262040;
}

.protection-row-card {
  display: grid;
  grid-template-columns: 4fr 3fr 1fr 4fr;
  gap: 20px;
  align-items: center;
  padding: 44px 0;
  min-height: 273px;
}

.protection-row-card picture,
.protection-row-card img {
  display: block;
  transition: all 0.3s;
}

.protection-card p {
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  letter-spacing: 0px;
  color: #29262080;
  margin: 0;
  transition: color 0.45s ease;
}

.protection-card h3 {
  font-size: var(--fs-h3-medium);
  line-height: 1.09;
  font-weight: 300;
  letter-spacing: -1px;
  margin: 0;
  transition: .3s all;
}

.protection-card picture {
  opacity: 0;
  transform: translateY(40px) scale(0.96);
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.protection-card:hover {
  background: #F9F4E6;
}

.protection-card:hover p {
  color: #292620;
}

.protection-card:hover h3 {
  font-weight: 500;
}

.protection-card:hover picture {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* ---- Staggered image strip (.acies-image-section) ----
   Full-bleed, edge to edge. The four images are used at their natural
   size in the 1728px design: 377 + 479 + 278 + 510 + (3 x 28px gap)
   = 1728. So each column grows in proportion to its image's intrinsic
   width, and the whole composition scales fluidly.
   The vertical stagger uses percentage margins, which resolve against
   the container's WIDTH — so the offsets scale with the artwork. */
.acies-image-section {
  overflow: hidden;
  padding-block: 70px 40px;
}

.acies-image-inner {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

.acies-image-col {
  min-width: 0;
}

.acies-image-col picture {
  display: block;
}

.acies-image-col img {
  display: block;
  width: 100%;
  height: auto;
}

.acies-image-col:nth-child(1) {
  flex: 377 1 0;
  margin-top: 5.73%;
}

.acies-image-col:nth-child(2) {
  flex: 479 1 0;
  margin-top: 0;
}

.acies-image-col:nth-child(3) {
  flex: 278 1 0;
  margin-top: 4.57%;
}

.acies-image-col:nth-child(4) {
  flex: 510 1 0;
  margin-top: 11.34%;
}

/* ---- Staggered image strip: motion ----
   The hidden state is only applied once JS adds .is-armed, so the images
   stay visible if JS never runs. The column carries the reveal (slide up,
   staggered left to right) and the <picture> inside carries the pointer /
   scroll drift, so the two transforms never fight each other. */
.acies-image-section.is-armed .acies-image-col {
  opacity: 0;
  transform: translateY(42px);
  transition: opacity 0.85s ease,
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0s);
}

.acies-image-section.is-armed.is-visible .acies-image-col {
  opacity: 1;
  transform: translateY(0);
}

.acies-image-col:nth-child(1) {
  --reveal-delay: 0s;
}

.acies-image-col:nth-child(2) {
  --reveal-delay: 0.12s;
}

.acies-image-col:nth-child(3) {
  --reveal-delay: 0.24s;
}

.acies-image-col:nth-child(4) {
  --reveal-delay: 0.36s;
}

.acies-image-section.is-armed .acies-image-col picture {
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {

  .acies-image-section.is-armed .acies-image-col {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .acies-image-section.is-armed .acies-image-col picture {
    transform: none !important;
    will-change: auto;
  }
}

.careers-image-section {
  --careers-bleed: 104px;
}

.careers-image-section .acies-image-inner {
  padding-inline: var(--careers-bleed);
  gap: 20px;
}

.careers-image-section .acies-image-col:nth-child(1) {
  flex: 190 1 0;
  margin-top: 4.37%;
  margin-left: calc(var(--careers-bleed) * -1);
}

.careers-image-section .acies-image-col:nth-child(2) {
  flex: 644 1 0;
  margin-top: 0;
}

.careers-image-section .acies-image-col:nth-child(3) {
  flex: 511 1 0;
  margin-top: 5.3%;
}

.careers-image-section .acies-image-col:nth-child(4) {
  flex: 323 1 0;
  margin-top: 1.86%;
  margin-right: calc(var(--careers-bleed) * -1);
}

.py-100 {
  padding-block: 100px;
}

.pt-25 {
  padding-top: 25px;
}

.pb-100 {
  padding-bottom: 100px;
}

section.sd-text-block-section {
  padding-bottom: 256px;
}

.protection-top {
  margin: 0 0 37px;
}

.accordion.faq-accordion .accordion-item {
  padding: clamp(1.5625rem, -0.2253rem + 3.7294vw, 4.25rem) 45px;
}

.accordion.faq-accordion .accordion-button {
  margin-bottom: 10px;
}

body.about-us .testimonial.testimonial--info p,
.testimonial--quiet p {
  font-family: var(--font-display);
}

.site-footer {
  overflow: hidden;
}

/* JayShukla css start */
.faq-banner-sec .accordion.faq-accordion .accordion-item {
  padding: clamp(2.1875rem, 2.8111rem + -1.301vw, 1.25rem) clamp(1.5rem, 1.6247rem + -0.2602vw, 1.3125rem);
}

.faq-banner-sec .faq-accordion .accordion-button:not(.collapsed) {
  padding-bottom: 0;
}

.faq-banner-sec .faq-accordion .accordion-button {
  padding-right: 50px !important;
}

/* JayShukla css end */

section.careers-image-section {
  padding-block: 130px 200px;
}

.careers-block-section {
  position: relative;
}

.careers-content-dv {
  padding: 180px max(calc(var(--bs-gutter-x, 20px) * 0.5), calc(((100vw - 1574px) / 2)) + (8.33333333% + 20px)) 110px 0;
  color: #292620;
  position: relative;
}

.careers-content-dv .fill-text-group {
  margin: 0;
}

.careers-content-dv .fill-text-group p {
  --color-cream-50: var(--charcoal);
}

.careers-content-dv .btn-dv {
  margin-top: 20px;
}

.careers-content-dv .btn.btn-outline-charcoal {
  gap: 50px;
}

body.how-we-work .acies-hww-section {
  padding-bottom: 200px;
  padding-top: 25px;
}

.site-header__brand img {
  width: auto;
  max-height: 54px;
}

.site-footer__col a {
  word-break: break-word;
}

body .gform-theme--framework .gfield:where(.gfield--type-fileupload, .gfield--input-type-fileupload, .gfield--type-post_image) .ginput_preview .gfield_fileupload_percent,
body .gform-theme--framework .gfield .ginput_preview_list,
body .gform-theme--framework .gfield .ginput_preview_list .gfield_fileupload_filename,
body .gform-theme--framework .gform_fileupload_rules {
  font-size: 12px !important;
  color: var(--color-cream) !important;
  font-weight: 300 !important;
  font-family: var(--font-body) !important;
}

body .gform-theme--framework input::file-selector-button {
  border: 0 !important;
  border-radius: 0px !important;
  color: #292620 !important;
  padding: 0.125rem 1rem !important;
  transition: all 0.25s !important;
  line-height: 1 !important;
  height: 26px !important;
  cursor: pointer !important;
}

body .gform-theme--framework input[type="file"] {
  padding: 8px 10px !important;
  border: 1px dashed rgb(245 245 245 / 25%) !important;
  font-size: 16px !important;
  vertical-align: middle;
  line-height: 26px !important;
}

body .gform-theme--framework .gfield .ginput_preview_list {
  flex-direction: row !important;
  width: 100% !important;
}

body .gform-theme--framework .gfield--type-fileupload {
  margin-top: 10px;
}

body .gform-theme--framework .gfield .ginput_preview {
  width: 100%;
  --gf-ctrl-file-prog-bar-bg-color-loading: var(--color-cream);
}

body .gform-theme--framework .gfield--type-fileupload .gform-field-label {
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-regular) !important;
  line-height: 130% !important;
  margin: 0 0 8px !important;
}

body.careers .our-vacancies-form {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

body .gform-theme--framework .gfield .iti .iti__country-container {
  padding-left: 22px;
  display: flex;
  align-items: center
}

body .gform-theme--framework .gfield .iti input.iti__tel-input {
  padding-left: 89px !important
}

.gform-theme--foundation .gfield--type-phone .gform-phone__country-selector::after,
body .gform_wrapper .gfield.gfield--type-phone .iti__arrow {
  content: "";
  margin-left: 6px;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.9'%3E%3Cpath d='M7 10L12 15L17 10' stroke='%23FCFFF9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  width: 24px;
  height: 24px;
  display: flex
}

body .gform-theme--framework .gfield .iti__arrow.nitro-lazy {
  background-image: none !important
}

body .gform_wrapper .gfield .iti .iti__selected-dial-code {
  display: none;
}

body .gform_wrapper .gfield .iti--inline-dropdown .iti__dropdown-content {
  position: absolute;
  z-index: 999;
  margin-top: 3px;
  margin-left: calc(var(--iti-border-width) * -1);
  border: var(--iti-border-width) solid var(--iti-border-color);
  box-shadow: 1px 1px 4px rgba(0, 0, 0, .2);
}

body .gform_wrapper .gfield .iti__dropdown-content {
  border-radius: 3px;
  background-color: var(--iti-dropdown-bg);
}

body .gform_wrapper .gfield .iti__search-input {
  width: 100%;
  border-width: 0;
  border-radius: 3px;
}

body .gform_wrapper .gfield .iti--inline-dropdown .iti__country-list {
  max-height: 185px;
}

body .gform_wrapper .gfield .iti__country-list {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

body .gform_wrapper .gfield .iti * {
  box-sizing: border-box;
}

body .gform_wrapper.gform-theme--framework .gfield .iti__country {
  padding: 12px var(--iti-spacer-horizontal);
}

body .gform_wrapper .gfield .iti__country {
  display: flex;
  align-items: center;
  padding: 10px var(--iti-spacer-horizontal);
  outline: 0;
}

body .gform_wrapper .gfield .iti__country-list .iti__flag,
body .gform_wrapper .gfield .iti__country-name {
  margin-right: var(--iti-spacer-horizontal);
}

body .gform_wrapper .gfield .iti__dial-code {
  color: var(--iti-dialcode-color);
}

body .gform_wrapper .gfield .iti--inline-dropdown .iti__dropdown-content input.iti__search-input:placeholder,
body .gform_wrapper .gfield .iti--inline-dropdown .iti__dropdown-content input.iti__search-input,
body .gform-theme--foundation .gfield--type-phone .gform-phone__search-wrapper input[type=text] {
  background: #292620 !important;
  font-size: 14px !important;
}

body .gform-theme--foundation .gfield--type-phone .gform-phone__search-wrapper {
  padding: 0;
  background: #292620;
  font-size: 14px !important;
}

.gform-theme--framework .gfield--type-phone .gform-phone__country-item {
  box-shadow: none !important;
}

.gform-theme--foundation .gfield--type-phone .gform-phone__country-item.gform-phone__country-item--no-results {
  padding: 20px 20px 10px;
  text-align: center !important;
  font-size: 16px;
  display: flex;
  justify-content: center;
  font-weight: 500;
  background: transparent !important;
}

body .gform-theme--foundation .gfield--type-phone .gform-phone button {
  background: transparent !important;
  padding: 0 !important;
  color: var(--cream) !important;
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-regular) !important;
  line-height: 130% !important;
  box-shadow: none;
  width: 100% !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

body .gform-theme.gform-theme--framework.gform_wrapper .button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).gform-theme-button--tertiary:focus,
body .gform-theme.gform-theme--framework.gform_wrapper .gform-datepicker-calendar .nav.btn:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).gform-theme-button--tertiary:focus,
body .gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).gform-theme-button--tertiary:focus,
body .gform-theme.gform-theme--framework.gform_wrapper :where(:not(.mce-splitbtn))>button:not([id*=mceu_]):not(.mce-open):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).gform-theme-button--tertiary:focus,
body .gform-theme.gform-theme--framework.gform_wrapper button.button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).gform-theme-button--tertiary:focus,
body .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit], [type=button], [type=reset]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).gform-theme-button--tertiary:focus,
body .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit], [type=button], [type=reset]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).gform-theme-button--tertiary:focus,
body .gform-theme.gform-theme--framework.gform_wrapper input[type=submit].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).gform-theme-button--tertiary:focus,
body .gform-theme--framework .gfield--type-phone button.gform-phone__country-selector.gform-theme-button.gform-theme-button--tertiary:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
  box-shadow: none !important;
}

body .gform-theme--foundation .gfield--type-phone .ginput_country-selector_container {
  position: absolute;
  left: 0;
  top: 2px;
  width: 80px;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

body .gform-theme--foundation .gfield--type-phone span.ginput_phone_container {
  width: 100% !important;
  display: block !important;
}

body .gform-theme--foundation .gfield--type-phone .gform-phone__input-wrapper {
  grid-template-columns: 1fr;
}

body .gform-theme--foundation .gfield--type-phone span.ginput_phone_container input[type="tel"] {
  padding-left: 80px !important;
}

body .gform-theme--foundation .gfield--type-phone span.ginput_phone_container label.gform-field-label--type-sub,
body .gform-theme--foundation .gfield--type-phone .ginput_country-selector_container button::after,
body .gform-theme--foundation .gfield--type-phone .ginput_country-selector_container label {
  display: none;
}

body .gform-theme--foundation .gfield--type-phone .ginput_country-selector_container button {
  border: none !important;
  outline: none !important;
  padding-left: 10px !important;
}

body .gform-theme--foundation .gfield--type-phone .ginput_country-selector_container button::before {
  content: "" !important;
  border: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.9'%3E%3Cpath d='M7 10L12 15L17 10' stroke='%23FCFFF9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  width: 24px;
  height: 24px;
  display: flex;
  position: absolute;
  right: 10px !important;
  left: auto !important;
  pointer-events: none !important;
}

body .gform-theme--foundation .gfield--type-phone .gform-phone__dropdown {
  border: 1px solid var(--cream) !important;
  border-radius: 0 !important;
  top: calc(100% + 6px) !important;
}

.banner_video_inner .banner-overlay>div {
  overflow: hidden;
  min-height: 100dvh;
  width: 100%;
}

.banner_video_inner .banner-overlay iframe {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 400vw !important;
  height: 400vh !important;
  min-width: 100% !important;
  transform: translate(-50%, -50%) !important;
  border: 0 !important;
}

body.thank-you .center-content-section .sec-head-inner {
  max-width: 740px;
}

body.thank-you .center-content-section .overlay-picture {
  opacity: 0.7;
}

body.thank-you .center-content-section .sec-head-inner h3 {
  margin-bottom: 20px;
}

/**05-11**/
