/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smooth: never;
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

a {
	text-decoration: none;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/


/* CSS variables */
:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */
.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */
@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}
:root {
	--container-padding: 40px;
}
.container {
	width: 100%;
	max-width: 1680px;
	margin-inline: auto;
	padding-inline: var(--container-padding);
}
.container--narrow {
	max-width: 1152px;
	margin-inline: auto;
}
.container--full {
	width: 100%;
	max-width: 100%;
	padding-inline: 0;
}
.container .container--full {
	margin-inline: calc(-1 * var(--container-padding));
	width: calc(100% + (var(--container-padding) * 2));
}
@media (min-width: 769px) and (max-width: 1280px) {
	:root {
		--container-padding: 32px;
	}
}
@media (max-width: 768px) {
	:root {
		--container-padding: 18px;
	}
}

/* ================================
   Icon Slideshow - Consolidated
   ================================ */
.icon-slideshow {
	display: inline-block;
	position: relative;
	width: 88px;
	height: 88px;
	margin: 0;
	vertical-align: middle;
}

.icon-slideshow img {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.icon-slideshow img.active {
	opacity: 1;
}

/* Context-specific overrides */
.image-stacked-homepage .icon-slideshow {
	width: 100px;
	height: 100px;
	margin: 0 40px 0 -60px;
}

.number-timeline .icon-slideshow {
	width: 88px !important;
	height: 88px !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
	.icon-slideshow {
		width: 64px;
		height: 64px;
	}
	
	.image-stacked-homepage .icon-slideshow {
		width: 50px;
		height: 50px;
		margin: 0 0 0 15px;
	}
	
	.number-timeline .icon-slideshow {
		width: 40px !important;
		height: 40px !important;
	}
	
	.hero-description__container .icon-slideshow {
		flex-shrink: 0;
		min-width: 64px;
		width: 64px;
		height: 64px;
		margin: 0;
	}
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 0;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements
Base HTML elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

@font-face {
  font-family: 'Switzer';
  src: url('https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/raw_assets/public/wecraftcreative-2026/fonts/Switzer-Variable.woff2') format('woff2'),
       url('https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/raw_assets/public/wecraftcreative-2026/fonts/Switzer-Variable.woff') format('woff'),
       url('https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/raw_assets/public/wecraftcreative-2026/fonts/Switzer-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'Monigue';
  src: url('https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/raw_assets/public/wecraftcreative-2026/fonts/monigue-webfont.woff2') format('woff2'),
       url('https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/raw_assets/public/wecraftcreative-2026/fonts/monigue-webfont.woff') format('woff');
  font-weight: normal;
  font-display: swap;
  font-style: normal;
}
/* reusable styles */

.heading {
	font-family: 'Monigue';
	font-weight: 400;
	text-transform: uppercase;
	font-size: 10.25rem;
	color: #0146C7;
	line-height: 133.024px;
}

.subheading {
	font-family: "Switzer";
	font-size: 2.5rem;
	font-weight: 600;
	letter-spacing: -1px;
	line-height:1.4;
	text-align: center;
	text-transform: uppercase;
}

.title {
	font-family: "Obviously";
	color: #1B191A;
	font-weight: 560;
	font-size: 4rem;
	line-height: 1.34;
	letter-spacing: -5px;
	margin:0;
}

.tagline {
	font-family: "Switzer";
	text-transform: uppercase;
	color: #1B191A;
	font-weight: 600;
	font-size: clamp(0.875rem, 1.5vw, 1.5rem);
	line-height: 1.6;
	letter-spacing: -0.96px;

}

/* The overflow-wrap is meant to prevent long/large words from breaking the mobile responsiveness of a page (e.g. horizontal scrolling). It is preferred to reduce font sizes on mobile to address this, with this CSS specifically helping with extreme scenarios where a reduction in font size is not possible. */

body {
	line-height: 1.4;
	overflow-wrap: break-word;
}

/* Handles word breaking for a few specific languages which handle breaks in words differently. If your content is not translated into these languages, you can safely remove this.  */

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
	line-break: strict;
	overflow-wrap: normal;
	word-break: break-all;
}

/* Paragraphs */

p {
	font-size: 1rem;
	margin: 0 0 1.4rem;
}

/* Anchors */

a {
	cursor: pointer;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 1.4rem;
}

/* Lists */

ul,
ol {
	margin: 0 0 1.4rem;
}

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

ul.no-list {
	list-style: none;
	margin: 0;
	padding-left: 0;
}

/* Code blocks */

pre {
	overflow: auto;
}

code {
	vertical-align: bottom;
}

/* Blockquotes */

blockquote {
	border-left: 2px solid;
	margin: 0 0 1.4rem;
	padding-left: 0.7rem;
}

/* Horizontal rules */

hr {
	border: none;
	border-bottom: 1px solid #CCC;
}

/* Image alt text */

img {
	font-size: 0.583rem;
	word-break: normal;
}
button,
.button,
.hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

button:disabled,
.button:disabled,
.hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}

.btn__wrapper {
  display: inline-block;
  position: relative;
  overflow: hidden;
  cursor: pointer;
	isolation: isolate;
	transition: box-shadow 0.4s ease;
	text-transform:uppercase;
}

.btn--primary {
  display: block;
  padding: 20px 36px;
  font-family: "Obviously";
  font-size: 1.125rem;
	font-weight: 560;
	line-height: 1.2; /* 21.6px */
	letter-spacing: -0.72px;
  color: #021639;
  background: #FEC842;
  border: none;
  cursor: pointer;
  text-align: center; 
  white-space: normal; 
  transition: transform 0.3s ease, background 0.4s ease, color 0.4s ease; 
  text-decoration: none;
}

.btn--secondary {
  display: block;
  padding: 20px 36px;
  font-family: "Obviously";
  font-size: 1.125rem;
	font-weight: 560;
	line-height: 1.2; /* 21.6px */
	letter-spacing: -0.72px;
  color: #0146C7;
  background: none;
  border: 1px #C0C0C0 solid;
  cursor: pointer;
  text-align: center; 
  white-space: normal; 
  transition: transform 0.3s ease, background 0.4s ease, color 0.4s ease; 
  text-decoration: none;
	
}

.btn--alt {
  display: block;
  padding: 20px 36px;
  font-family: "Obviously";
  font-size: 1.125rem;
	font-weight: 560;
	line-height: 1.2; /* 21.6px */
	letter-spacing: -0.72px;
  color: #FFFFFF;
  background: #0146C7;
  border: none;
  cursor: pointer;
  text-align: center; 
  white-space: normal; 
  text-decoration: none;
	
}

.btn-grid {
  position: absolute;
  bottom: -60px;
  left: 0;
  width: 210px;
  transition: transform 0.3s ease;
  z-index: 2;
}

.btn-grid rect {
  fill: #0146C7;
  transition: fill 0.4s ease;
}

/* Hover states */
.btn__wrapper:hover .btn--primary,
.btn__wrapper:hover .btn--secondary {
  background: #0146C7;
  color: #fff;

}
.btn__wrapper:hover {
		box-shadow: 0 145px 41px 0 rgba(0, 0, 0, 0.00), 
              0 93px 37px 0 rgba(0, 0, 0, 0.01), 
              0 52px 31px 0 rgba(0, 0, 0, 0.05), 
              0 23px 23px 0 rgba(0, 0, 0, 0.09), 
              0 6px 13px 0 rgba(0, 0, 0, 0.10);
}
.btn__wrapper:hover .btn-grid {
  transform: translateY(-130px);
}

.btn__wrapper:hover .btn-grid rect {
  fill: #FEC842;
}
/* Fields */

.hs-form-field {
  margin-bottom: 1.4rem;
}

/* Labels */

form label {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.7rem;
  width: 100%;
}

form textarea {
  resize: vertical;
}

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */

.hs-form-required {
  color: #EF6B51;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}


/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}
.text-slider__wrapper {
  overflow: hidden; 
  margin-bottom: 30px;
}

.text-slider {
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content; 
  animation: slide 15s linear infinite;
}

.text-slider img {
  flex-shrink: 0;
  width: 20px;
  height: auto;
}

.text-slider p {
  font-family: "Switzer";
  font-size: 1rem;
	font-weight:500;
  margin: 0;
  white-space: nowrap;
  text-transform: uppercase;
  line-height:1.2;
}

@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* Logo background component */
.logo-bg__wrapper {
  position: absolute;
  top: 15%;
  z-index: -1;
}

.logo-bg__wrapper--right {
  right: 0;
}

.logo-bg__wrapper--left {
  left: 0;
}

.logo-bg__wrapper--flip {
  transform: scaleX(-1);
}
/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

.header {
	background-color: #FFFFFF;
	position: sticky;
	top: 0;
	z-index: 1000;
}

.header__wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block: 20px;
	gap: 40px;
	height: 100px;
}

.header__logo {
	flex-shrink: 0;
}

.header__logo img {
	height: 64px !important;
	width: auto !important;
}

/* Show desktop logo, hide mobile by default */
.logo-mobile {
	display: none;
}

/* Mobile toggle buttons */
.mobile-menu-toggle,
.mobile-right-icon {
	display: none;
	background: none;
	border: none;
	color: #0146C7;
	padding: 8px;
}

.mobile-menu-toggle {
	cursor: pointer;
}

.mobile-right-icon {
	pointer-events: none;
}

/* Toggle between menu icons */
.mobile-menu-close {
	display: none;
}

.mobile-menu-toggle.active .mobile-menu-open {
	display: none;
}

.mobile-menu-toggle.active .mobile-menu-close {
	display: block;
}

.mobile-menu-open,
.mobile-menu-close {
	width: 24px !important;
	height: 24px !important;
}

/* Navigation */
.header__nav {
	flex: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.nav__list {
	display: flex;
	align-items: center;
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav__item {
	position: relative;
}

.nav__link {
	font-family: 'Obviously', sans-serif;
	font-size: 0.875rem;
	font-weight: 560;
	text-transform: uppercase;
	line-height:1.2;
	letter-spacing:-0.56px;
	text-transform:uppercase;
	color: #0146C7;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 4px;
	position: relative;
	cursor: pointer;
}

/* Active state corner brackets */
.nav__link::before,
.nav__link::after {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	opacity: 0;
	transform: scale(0.8);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.nav__link::before {
	top: -8px;
	right: -8px;
	border-top: 3px solid #FEC842;
	border-right: 3px solid #FEC842;
	transform-origin: top right;
}

.nav__link::after {
	bottom: -8px;
	left: -8px;
	border-bottom: 3px solid #FEC842;
	border-left: 3px solid #FEC842;
	transform-origin: bottom left;
}

.nav__item.active .nav__link::before,
.nav__item.active .nav__link::after,
.nav__item.is-active .nav__link::before,
.nav__item.is-active .nav__link::after {
	opacity: 1;
	transform: scale(1);
}

/* Dropdown */
.dropdown-icon {
	width: 16px;
	height: 16px;
	transition: transform 0.3s ease;
}

.nav__item.dropdown-open .dropdown-icon {
	transform: rotate(180deg);
}

.dropdown__menu {
	position: absolute;
	top: 64px;
	left: 0;
	background: #0146C7;
	padding: 24px 18px;
	width: max-content;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-20px);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
	list-style: none;
	margin: 0;
}

.nav__item.dropdown-open .dropdown__menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.dropdown__menu li {
	padding: 0;
	margin: 0;
}

.dropdown__menu a {
	font-family: 'Obviously', sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: uppercase;
	color: #FFFFFF;
	text-decoration: none;
	display: block;
	padding: 18px 24px;
	cursor: pointer;
}

/* Mobile */
@media (max-width: 1024px) {
	.header {
		background-color: #0146C7;
	}

	.header__wrapper {
		height: 80px;
		padding-block: 16px;
	}

	.mobile-menu-toggle,
	.mobile-right-icon {
		display: block;
	}

	.logo-desktop {
		display: none;
	}

	.logo-mobile {
		display: block;
	}

	.header__logo {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}

	.header__logo img {
		height: auto !important;
		max-height: 48px !important;
	}

	.header__nav {
		display: none;
		position: absolute;
		top: 80px;
		left: 0;
		width: 80%;
		max-width: 400px;
		background: #EFF0F2;
		z-index: 999;
	}

	.header__nav.mobile-open {
		display: block;
	}

	.nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 20px;
	}

	.nav__item {
		width: 100%;
		border-bottom: 1px solid #E5E5E5;
	}

	.nav__link {
		padding: 20px 0;
		color: #021639;
		font-size: 1rem;
		justify-content: space-between;
	}

	.nav__link::before,
	.nav__link::after {
		display: none;
	}

	.dropdown__menu {
		position: static;
		background: #0146C7;
		padding: 0;
		width: calc(100% + 40px);
		margin-left: -20px;
		margin-right: -20px;
		transform: none;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease;
	}

	.nav__item.dropdown-open .dropdown__menu {
		max-height: 1000px;
	}

	.dropdown__menu li {
		border-bottom: none;
	}

	.dropdown__menu a {
		color: #FFFFFF;
		padding: 18px 20px;
		font-size: 0.875rem;
	}

	.nav__item--cta {
		margin-top: 20px;
		border: none;
	}

	.nav__item--cta .btn {
		width: 100%;
		text-align: center;
	}
}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}
.page-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    background-color: transparent;
    overflow: hidden;
}

.page-loader.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.page-loader__inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-loader__icon {
    width: 100vw;
    height: 100vh;
}

.page-loader__path {
    fill: #0146C7;
}

section.hero-homepage {

}
.hero-homepage__wrapper {
	text-align: center;
	padding-top: 116px;
}

.hero-heading-container {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	margin: 0 auto;
	width: 100%;
	padding-inline:32px;
}
.hero-homepage__heading {
	font-family: "Monigue";
	color: #0146C7;
	font-weight: 500;
	font-size: clamp(4.6875rem, 17vw, 20rem);
	line-height: 1;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin: 0;
	text-align: center;
}
.side-text {
	font-family: "Switzer";
	text-transform: uppercase;
	color: #0146C7;
	font-weight: 500;
	font-size: 0.75rem;
	line-height: 1.39;
	white-space: nowrap;
	margin: 0;
	writing-mode: vertical-rl;
	display: flex;
	align-self: start;
	align-items: center;
	gap: 4px;
}
.side-text.left {
	grid-column: 1;
	justify-self: start;
	transform: rotate(180deg);
}
.side-text.right {
	transform: rotate(0deg);
	justify-self: end;
}
.text-icon {
	display: inline-block;
	width: 0.75rem;
	height: 0.75rem;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
}
.text-icon.heart {
	background-image: url('https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/raw_assets/public/wecraftcreative-2026/images/module-icons/heart.svg');
	transform: rotate(90deg);
}
.text-icon.arrow {
	background-image: url('https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/raw_assets/public/wecraftcreative-2026/images/module-icons/arrow.svg');
	transform: rotate(90deg);
}
.hero-homepage__carousel {
	margin: 70px 0 114px;
	overflow: hidden;
}
.heroSwiper {
	max-width: 1920px;
	height: 374px;
	overflow: hidden;
	pointer-events: none;
}
.heroSwiper .swiper-wrapper {
	transition-timing-function: linear !important;
}
.heroSwiper .swiper-slide {
	width: auto !important;
	height: 100%;
}
.heroSwiper .swiper-slide img {
	display: block;
	width: auto !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
}

@media (max-width: 768px) {
	.hero-homepage__wrapper {
		text-align: center;
		padding-top: 44px;
	}
	.tagline {
		font-size: 0.875rem;
		line-height: 1.6;
		letter-spacing: -0.5px;
	}
	.tagline span::after {
		content: '\A';
		white-space: pre;
	}
	.hero-heading-container {
		flex-direction: column;
		gap: 20px;
		grid-template-columns: 1fr;
	}
	.hero-homepage__heading {
		letter-spacing: 0;
	}
	.side-text {
		display: none;
	}
	.heroSwiper {
		height: 374px;
	}
	.hero-homepage__carousel {
		margin: 30px 0;
	}
}
section.about-us-homepage {
	margin-bottom: 160px;
	position: relative;
}
.about-us.container {

}
.about-us-homepage__wrapper {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
}
.about-us-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 89px;
	width: 100%;
}
.about-us.title {
	max-width: 800px;
}

.about-us-description .text {
	display: -webkit-box;
	-webkit-line-clamp: 5; 
	-webkit-box-orient: vertical;  
	max-height: 8.5rem;
	overflow: hidden;
	transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1);	
}

.about-us-description.is-expanded .text {
  -webkit-line-clamp: unset; 
	max-height: 1200px;
  display: block; /* Required to remove the clamp */
}

.highlighted-text {
	position: relative;
	display: inline-block;
	overflow: visible;
}
.highlighted-text::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% + 60px);
	height: calc(100% + 60px);
	background-image: url('https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/raw_assets/public/wecraftcreative-2026/images/module-icons/highlight.png');
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 1;
	pointer-events: none;
}
.about-us-description {
	font-family: "Switzer";
	font-size: 1.125rem;
	text-align: right;
	line-height: 1.67;
	font-weight: 400;
	max-width: 448px;
}

.about-us-description .link {
	font-weight: 600;
	color: #0146C7;
}
.about-us-img {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.about-us-img img {
	width: 100%;
}
.about-us-subheading {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.about-us-subheading .subheading {
	max-width: 960px;
}

/* Tablet & Mobile shared styles */
@media (max-width: 1280px) {
	section.about-us-homepage {
		margin-bottom: 46px;
	}
	.about-us-heading {
		flex-direction: column;
		text-align: center;
		margin-bottom: 0;
	}
	.about-us.title {
		text-align: center;
		letter-spacing: -1px;
		margin-bottom: 24px;
	}
	.about-us-img {
		margin-bottom: 20px;
	}
	.about-us-description {
		text-align: center;
		font-size: 1rem;
	}
	.about-us-description .text{
		-webkit-line-clamp: 5;
		display: block;
		max-width: 395px;
		max-height:10rem;
	}
	
	.about-us-subheading .subheading {
		font-size: 1.25rem;
	}
}

/* Tablet specific */
@media (min-width: 769px) and (max-width: 1280px) {
	.about-us.title {
		font-size: 2.75rem;
		line-height: 54px;
		max-width: 580px;
	}
	.about-us-subheading .subheading {
		text-align: center;
	}
}

/* Mobile specific */
@media (max-width: 768px) {
	.about-us.title {
		font-size: 1.75rem;
		line-height: 40px;
	}
	.about-us-subheading {
		align-items: start;
	}
	.about-us-subheading .subheading {
		text-align: left;
	}
}
section.image-stacked-homepage {
	margin-bottom: 160px;
}
section.image-stacked-homepage .image-stacked-homepage__wrapper {
	text-align: center;
}

.image-stacked-homepage .icon-slideshow {
	margin: 0 40px 30px -60px;
}
section.image-stacked-homepage .image-stacked__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-bottom: 80px;
}
section.image-stacked-homepage .image-stacked__item {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	width: 100%;
	max-width: 916px;
	height: 811px;
}
section.image-stacked-homepage .image-stacked__item--full {
	grid-column: 1 / -1;
	max-width: 1855px;
	height: 811px;
}
section.image-stacked-homepage .image-stacked__item img,
section.image-stacked-homepage .image-stacked__item video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
section.image-stacked-homepage .video-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
}
section.image-stacked-homepage .card-video {
	pointer-events: none;
}
.image-stacked-homepage .video-play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: none;
	border: none;
	cursor: pointer;
	z-index: 2;
	padding: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
section.image-stacked-homepage .video-play-btn svg {
	display: block;
	width: 51px;
	height: 51px;
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}
section.image-stacked-homepage .overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	pointer-events: none;
}
section.image-stacked-homepage .overlay-bg {
	position: absolute;
	inset: 0;
	background-color: rgba(1, 70, 199, 0.85);
	mix-blend-mode: hard-light;
	opacity: 0;
	transition: opacity 0.3s ease;
}
section.image-stacked-homepage .overlay > *:not(.overlay-bg) {
	opacity: 0;
	transition: opacity 0.3s ease;
	position: relative;
	z-index: 1;
}
section.image-stacked-homepage .image-stacked__item:hover .overlay-bg {
	opacity: 1;
}
section.image-stacked-homepage .image-stacked__item:hover .overlay > *:not(.overlay-bg) {
	opacity: 1;
	pointer-events: auto;
}
section.image-stacked-homepage .overlay-title {
	font-family: "Obviously";
	font-weight: 560;
	font-size: 2.625rem;
	line-height:1.37;
	letter-spacing:-1px;
	color: #fff;
	margin: 0 0 24px 0;
}
section.image-stacked-homepage .overlay-subtitle {
	font-family: "Switzer";
	font-weight: 500;
	font-size: 1.25rem;
	line-height:0.96;
	color: #fff;
	text-transform: uppercase;
	margin: 0 0 8px 0;
}
@media (max-width: 768px) {
	section.image-stacked-homepage {
		margin-bottom: 108px;
	}
	.image-stacked-homepage .icon-slideshow {
		margin: 0 0 10px 0;
	}
	section.image-stacked-homepage .image-stacked.heading {
		text-align: left;
		font-size: 4rem;
		line-height: 68px;
		margin-bottom: 46px;
		max-width:300px;
	}
	section.image-stacked-homepage .image-stacked__grid {
		grid-template-columns: 1fr;
		padding: 0;
		margin-bottom: 32px;
	}
	section.image-stacked-homepage .image-stacked__item,
	section.image-stacked-homepage .image-stacked__item--full {
		width: 100%;
		height: auto;
	}
	/* Show play button on mobile */
	section.image-stacked-homepage .video-play-btn {
		opacity: 1;
		display:block;
		pointer-events: auto;
		z-index:10;
	}
	/* Hide play button when video is playing */
	section.image-stacked-homepage .video-wrapper.playing .video-play-btn {
		opacity: 0;
		pointer-events: none;
	}
	
	section.image-stacked-homepage .overlay {
		display: none;
	}
}
/* ==========================================================================
Testimonials Section - Base & Desktop
========================================================================== */
section.testimonials-card-homepage {
	margin-bottom: 160px;
	position: relative;
}

.testimonials-card-homepage__wrapper {
	margin-bottom: 84px;
}

.testimonials-card-homepage-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.testimonials-card-homepage.title {
	max-width: 850px;
}

/* --- Slider & Flex Navigation --- */
.testimonials-slider > .container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	position: relative;
	max-width: 1880px;
}

.testimonialsSwiper {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

.testimonialsSwiper .swiper-wrapper {
	display: flex;
}

/* Force equal height cards */
.testimonialsSwiper .swiper-slide {
	height: 500px !important; 
	width: auto;
	display: flex;
}

.testimonial-card {
	width: 100%;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.video-content {
	height: 100%;
}

/* --- Navigation Buttons --- */
.testimonial-nav-btn {
	position: static;
	cursor: pointer;
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	transition: transform 0.3s ease;
	z-index: 5;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.testimonial-nav-btn::after {
	display: none;
}

.testimonial-nav-btn:hover {
	transform: scale(1.1);
}

.swiper-button-prev.testimonial-nav-btn img {
	transform: rotate(180deg);
}

.testimonial-nav-btn img {
	width: 100%;
	height: auto;
	display: block;
}

/* ==========================================================================
Card Content (Video & Text)
========================================================================== */
.video-content {
	width: 725px;
	height: 100%;
	position: relative;
	cursor: pointer;
}

.video-container {
	height: 100%;
	width: 100%;
	overflow: hidden;
}

.video-container video,
.video-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.video-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #FFFFFF;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	padding: 40px 52px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
	transition: opacity 0.3s ease;
}

.video-content.playing .video-overlay {
	opacity: 0;
}

.overlay-name {
	font-family: "Obviously";
	font-size: 2.125rem;
	font-weight: 560;
	line-height: 1.24;
	letter-spacing: -1.4px;
	margin-bottom: 0;
}

.overlay-description {
	font-family: "Switzer";
	font-size: 1.125rem;
	margin-bottom: 0;
}

.card-content {
	display: flex;
	flex-direction: column;
	background: #F6F6F6;
	height: 100%;
	width: 400px;
	padding: 32px;
}

.quote-icon {
	width: 24px;
	height: 24px;
	margin-bottom: 20px;
}

.quote-text {
	font-family: Switzer;
	font-size: 1.125rem;
	color: #1B191A;
	line-height: 1.6;
	margin: 0;
}

.quote-author-container {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: auto;
}

.quote-author-initials {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	background: #0146C7;
	color: #FFFFFF;
	border-radius: 50%;
	font-family: "Obviously";
	font-weight: 560;
	font-size: 0.875rem;
	line-height: 1;
}

.quote-author-details {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.quote-author-name {
	font-family: "Obviously";
	font-size: 1.25rem;
	font-weight: 560;
	line-height: 1.35;
	letter-spacing: -0.84px;
	margin: 0;
}

.quote-author-position {
	font-family: "Switzer";
	font-size: 1rem;
	color: #0146C7;
	margin: 0;
}

/* ==========================================================================
Mobile Styles (< 768px)
========================================================================== */
@media (max-width: 768px) {
	section.testimonials-card-homepage {
		margin-bottom: 89px;
	}

	.testimonials-card-homepage__wrapper {
		margin-bottom: 38px;
	}

	.testimonials-card-homepage.title {
		font-size: 1.75rem;
		letter-spacing: -1px;
	}

	.testimonials-slider > .container {
		display: flex;
		flex-flow: row wrap; /* Slider row 1, Buttons row 2 */
		justify-content: center;
		align-content: flex-start;
		gap: 0;
		padding: 0 18px;
	}

	.testimonialsSwiper {
		width: 100% !important;
		flex: 0 0 100%;
		order: 1;
		margin-bottom: 32px; /* Controlled spacing between slider and buttons */
	}

	.testimonialsSwiper .swiper-slide {
		height: auto !important;
		min-height: 450px;
		width: 100%;
	}

	.testimonial-nav-btn {
		order: 2;
		width: 48px;
		height: 48px;
		display: flex !important;
		position: relative;
		margin: 0 10px !important; /* Unified horizontal spacing */
		flex-shrink: 0;
	}

	.video-content,
	.card-content {
		width: 100%;
		height: 450px;
	}

	.video-overlay {
		padding: 24px 32px;
		height:100%;
	}


	/* Fixed mobile video-play-arrow alignment */
	.video-content svg.arrow-icon {
		position: absolute;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		z-index: 5;
		margin: 0 !important;
	}
}
section.location-slider-homepage {
	margin-bottom: 160px;
}
.location-slider-homepage__wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.location-slider-homepage-subheading .subheading {
	text-align: center;
	max-width: 900px;
}
.location-slider-homepage-cta {
	display: flex;
	justify-content: center;
}
.location-slider__carousel {
	overflow: hidden;
	margin: 70px 0 114px;
}
.locationSwiper {
	width: 100%;
	height: 175px;
	overflow: hidden;
	pointer-events: none;
}
.locationSwiper .swiper-wrapper {
	transition-timing-function: linear !important;
}
.locationSwiper .swiper-slide {
	width: auto !important;
	height: 100%;
}
.locationSwiper .swiper-slide img {
	display: block;
	width: auto !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
}

@media (max-width: 768px) {
	section.location-slider-homepage {
		margin-bottom: 115px;
	}
	.location-slider-homepage-subheading .subheading {
		font-size: 1.625rem;
		margin: 0 0 40px 0;
	}
	.location-slider__carousel {
		margin: 32px 0 64px 0;
	}
}
section.process-homepage {
	background-color: #101010;
	padding-top: 130px;
	text-align: center;
	overflow-x: clip;
}
.process-homepage.heading {
	font-size: 13.25rem;
	color: #454646;
	line-height: 180px;
}
.process-homepage__row {
	display: flex;
	align-items: center;
	text-align: left;
	position: relative;
	padding: 115px 0 88px 0;
}

.process-homepage__row:first-child {
	padding-top: 0;
}

.process-homepage__row::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100dvw;
	height: 1px;
	background-color: white;
	z-index: 99;
}
.item-number {
	font-family: "Switzer";
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	color: #8D8D8D;
	width: 30px;
	margin-right: 85px;
}
.item-title {
	font-family: "Obviously";
	font-size: 2rem;
	font-weight: 560;
	text-transform: uppercase;
	color: #FFFFFF;
	width: 550px;
}
.item-img-container {
	width: 314px;
	height: 252px;
	margin-right: 118px;
	overflow: hidden;
	position: relative;
}
.item-img-container img {
	border: .5px #FEC842 solid;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center;
	transform: translateY(150%) rotate(-12deg);
	transition: transform 0.4s ease;
}
.item-description {
	font-family: "Switzer";
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.5;
	color: #FFFFFF;
	width: 500px;
}

/* Hover effect only on desktop */
@media (min-width: 1281px) {
	.process-homepage__row:hover .item-img-container img {
		transform: translateY(0) rotate(0deg);
	}
}

/* Tablet & Mobile shared styles */
@media (max-width: 1280px) {
	section.process-homepage {
		padding-top: 50px;
	}
	.process-homepage__row {
		flex-direction: column;
		align-items: flex-start;
		padding: 50px 0 22.4px 0;
	}
	.process-homepage__row > * {
		width: auto !important;
		height: auto !important;
	}
	.process-homepage .item-img-container {
		width: 100% !important;
		margin: 0 0 22.4px 0;
	}
	.process-homepage .item-img-container img {
		transform: translateY(0) rotate(0deg) !important;
		transition: none !important;
	}
	.process-homepage .item-title {
		font-size:1.75rem;
	}
	.process-homepage .item-description {
		color:#8A8A91;
	}
}

/* Tablet specific */
@media (min-width: 769px) and (max-width: 1280px) {
	.process-homepage.heading {
		font-size: 6rem;
		line-height: 1;
	}
}

/* Mobile specific */
@media (max-width: 768px) {
	.process-homepage.heading {
		font-size: 4rem;
		line-height: 1;
	}
	
	.process-homepage .item-description {
		font-size:1rem;
	}
}
/* ================================
   Partners Section
   ================================ */
section.partners {
  padding: 160px 0;
}
.partners__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 100px;
}
.partners__top .partners.title {
	flex: 1;
}
.partners__wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
}
.partners__item {
	display: flex;
	flex-direction: column;
	background-color: #F6F6F6;
}
.partners__item img {
	width: 100%;
	height: auto;
	display: block;
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
	.partners.title {
		font-size: 1.75rem;
		line-height: 137%;
		letter-spacing: -1px;
	}
	.partners__wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}
/* Mobile only (up to 768px) */
@media (max-width: 768px) {
	section.partners {
		padding: 80px 0;
	}
	section.partners .container {
		display: flex;
		flex-direction: column;
	}
	.partners__top {
		display: contents; /* Make container disappear */
	}
	.partners__top .partners.title {
		order: 1;
		margin-bottom: 40px;
		text-align:center;
	}
	.partners__top .btn__wrapper {
		order: 3; /* After wrapper */
		width: 100%;
	}
	.partners__wrapper {
		order: 2;
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 40px;
	}
}
section.faq {
	margin-bottom: 185px;
}
.faq__content {
	display: flex;
	align-items: start;
	gap: 116px;
}
.faq__accordion {
	max-width: 1036px;
	flex: 1;
}
.faq__aside {
	padding-top: 200px;
}
.faq .img__container {
	position: relative;
	overflow: hidden;
}
.faq .img__container img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: 85% center !important;
}
.accordion-item {
	display: flex;
	flex-direction: column;
	padding: 40px 0;
	border-bottom: 1px solid #E0E0E0;
	margin: 0;
}
.accordion-item__content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 120px;
}
.accordion-item__title {
	font-family: "Obviously", sans-serif;
	font-size: 1.75rem;
	font-weight: 560;
	line-height: 1.46; 
  letter-spacing: -0.84px;
	color: #1B191A;
	margin: 0;	
}
.accordion-item__description {
	max-height: 0;
	overflow: hidden;
	margin: 0;
	font-family: Switzer, sans-serif;
	font-size: 1.25rem;
	color: #0146C7;
	line-height: 1.6;
	transition: max-height 0.3s ease, padding-top 0.3s ease;
	padding-top: 0;
	width: 100%;
}
.accordion-item__toggle {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	flex-shrink: 0;
	align-self: flex-start;
}
.accordion-item__icon {
	display: block;
	color: #0146C7;
	transition: transform 0.3s ease, color 0.4s ease;
	flex-shrink: 0;
	align-self: flex-start;
}
.accordion-item.active .accordion-item__icon {
	transform: rotate(180deg);
	color: #FEC842;
}
.accordion-item.active .accordion-item__description {
	max-height: 500px;
	padding-top: 16px;
}
.faq .text__container {
	position: absolute;
	padding: 34px;
	bottom: 0;
	left: 0;
}
.faq .text__container p {
	font-family: 'Obviously', sans-serif;
	font-size: 2.1875rem;
	font-weight: 560;
	color: #FFF;
	margin: 0 0 20px 0;
	letter-spacing: -2.349px;
}

/* Desktop only */
@media (min-width: 1281px) {
	.faq .img__container {
		width: 448px;
		height: 622px;
	}
}

/* Tablet & Mobile shared styles */
@media (max-width: 1280px) {
	section.faq {
		margin-bottom: 62px;
	}
	.faq__content {
		flex-direction: column;
		align-items: center;
	}
	.faq__wrapper {
		display: flex;
		flex-direction: column;
	}
	.faq__accordion {
		order: 2;
	}
	.faq__main {
		order: 2;
	}
	.faq__aside {
		padding-top: 0;
		order: 1;
		width: 100%;
	}
	.accordion-item {
		border-bottom: none;
		position: relative;
	}
	.accordion-item::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100dvw;
		height: 1px;
		background-color: #E0E0E0;
	}
	.faq .img__container {
		margin-inline: calc(-1 * var(--container-padding));
		width: calc(100% + (var(--container-padding) * 2));
		height: 622px;
	}
	
	.hide-aside-mobile .faq__aside {
		display: none !important;
	}
}

/* Mobile specific */
@media (max-width: 768px) {
	.faq.heading {
		font-size: 4rem;
		line-height: normal;
	}
	.accordion-item {
		padding: 20px 0;
		margin: 20px 0;
	}
	
	.accordion-item__title {
		font-size:1.125rem;
		line-height: normal;
		letter-spacing: -0.84px;
	}
	
	.accordion-item__description {
		font-size: 1rem;

		font-weight: 500;
		line-height: 24px; /* 150% */
	}
	.accordion-item__content {
		gap: 20px;
	}
}
/* Base styles */
section.cta {
	position: relative;
	overflow: hidden;
	width: 2120px;
	height: 944px;
	aspect-ratio: 265/118;
	max-width: 100%;
	margin: 0 auto;
}

.background__container {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.background__container::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
	pointer-events: none;
	z-index: 1;
}

.background__container img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
		position: relative;
	z-index: 0;
}

.cta__wrapper {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 944px;
	width:100%;
}

.cta-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width:100%;
}

.cta.title {
	font-family: "Obviously"; 
	color: #FFFFFF;
	font-size:3.25rem;
	font-weight: 560;
	line-height: normal;
	letter-spacing: -1.62px;
	margin-bottom: 26px;
	text-align: center;
	max-width: 1160px;
	text-transform:uppercase;
}

.cta__description {
	color: #FFF;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-weight: 400;
	line-height: normal;
	text-transform:none;
}

/* Variant 1  */
.cta--variant_1 .cta__wrapper {
	height: 100% !important;
}

/* Variant 2 */
.cta--variant_2 .cta__wrapper {
	justify-content: space-between;
	align-items: stretch;
}

.cta--variant_2 .cta-content {
	align-items: flex-end;
	width: 100%;
	min-height: 100%; /* Add this */
	justify-content: space-between; /* Add this */
	padding: 100px 0;
}

.cta--variant_2 .cta.title {
	color: #FFF;
	text-align: right;
	font-size: 5.125rem;
	font-style: normal;
	font-weight: 560;
	line-height: 110px;
	letter-spacing: -1.62px;
	text-transform: uppercase;

}

.cta--variant_2 .cta__description {
	font-size: 1.75rem;
	text-align: left;
	font-weight:500;
	max-width: 600px;
	align-self:flex-start;
	text-transform: uppercase;
	margin-bottom: auto; 

}

/* Variant 3 */
.cta--variant_3 .cta__wrapper {
	justify-content:space-between;
}

.cta--variant_3 .cta-content {
	flex-direction:row;
	width: 100%;
	justify-content:space-between;
}

.cta--variant_3 .cta.title {
	max-width:800px;
	text-align:left;
}

.cta--variant_3 .cta__description {
	line-height:1.5;
	font-weight:300;
}


.cta--variant_3 .cta__right-content {
	max-width:447px;
}

/* Variant 4 */
.cta--variant_4 .cta__wrapper {
	width: 100%;
	justify-content: space-between;
	align-items: stretch;
}

.cta--variant_4 .cta-content {
	align-items: flex-end;
	width: 100%;
	min-height: 100%;
	justify-content: flex-start;
	padding: 100px 0;
}

.cta--variant_4 .cta.title {
	color: #FEC842;
	font-family: "Monigue";
	font-size: 8rem;
	font-style: normal;
	font-weight: 500;
	line-height: 123px;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-align: left;
	align-self: flex-start;
	order: 1;
	margin-bottom: auto; 
}

.cta--variant_4 .cta__description {
	line-height:1.5;
	font-weight:300;
	text-align: right;
	order: 2;
	max-width: 511px;
	margin-bottom:40px;
}

.cta--variant_4 .btn__wrapper {
	order: 3;
}

.cta--variant_4 .highlighted-text::after {
	top: 35%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% + 140px);
	height: calc(100% + 140px);
	background-image:url(https://2144704.fs1.hubspotusercontent-na1.net/hubfs/2144704/WeCraftCreative%20Website%20Assets%20-%202026/white_highlight.png);
}

/* Tablet specific */
@media (min-width: 769px) and (max-width: 1280px) {
	.cta__wrapper {

	}

	.cta.title {
		font-size: 2.25rem;
		letter-spacing: -1.8px;
		max-width: 700px;
	}

	.background__container img {
		object-position: 100% center;
	}

	.cta__description {
		font-size: 1rem;
		max-width: 600px;
	}

	.cta--variant_3 .cta-content {
		flex-direction:column;
	}

	.cta--variant_3 .cta.title {
		text-align:center;
	}

	.cta--variant_3 .cta__description {
		display:none;
	}
	
	.cta--variant_4 .cta.title {
		font-size:6rem;
		line-height:100px;
	}
}

/* Mobile specific */
@media (max-width: 768px) {
	section.cta {
		width: 100%;
		height: 808px;
	}

	.cta__wrapper {
		min-height: 808px;
	}

	.cta.title {
		font-size: 2rem;
		letter-spacing: -1.62px;
		max-width: 420px;
		line-height: 60px;
		margin-bottom:48px;
	}

	.background__container img {
		object-position: 100% center;
	}

	.cta__description {
		font-size: 1rem;
		max-width: 420px;

	}

	.cta--variant_2 .cta__wrapper {
		justify-content: center;
	}

	.cta--variant_2 .cta-content{
		padding-top: 60px;
		align-items: center;
		justify-content:center;
	}

	.cta--variant_2 .cta.title,
	.cta--variant_2 .cta__description {
		text-align: center;
	}

	.cta--variant_2 .cta.title {
		font-size: 2rem;
		letter-spacing: -1.62px;
		line-height: normal;
		order: 1;
		margin-bottom: 40px;
	}

	.cta--variant_2 .cta__description {
		font-size: 1.25rem;
		line-height: 140%;
		margin-right: 0;
		margin-bottom: 60px;
		order: 2;
		align-self:center;
	}

	.cta--variant_2 .btn__wrapper {
		order: 3;

	}
	.cta--variant_3 .cta-content {
		flex-direction:column;
	}

	.cta--variant_3 .cta.title {
		text-align:center;
	}

	.cta--variant_3 .cta__description {
		display:none;
	}

	.cta--variant_4 .cta-content {
		align-items:flex-start;
		padding:48px 0;
	}

	.cta--variant_4 .cta.title {
		font-size:3.25rem;
		line-height:54px; /* 103.846% */
		margin-top:0;
	}

	.cta--variant_4 .cta__description {
		text-align:left;
	}

	.cta--variant_4 .highlighted-text::after {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% + 60px);
		height: calc(100% + 60px);
	}
}
.footer {
	background-color: #0146C7;
	padding-top: 134px;
}

.footer__wrapper {
	display: grid;
	gap: 40px;
	grid-template-columns: 1.5fr 2fr 1fr 1fr;
	grid-template-areas:
		"cta      contacts   nav1        nav2"
		"divider  divider    divider     divider"
		"wordmark wordmark   newsletter  newsletter"
		"socials  badges     newsletter  newsletter";
}

/* Grid areas */
.footer__cta        { grid-area: cta; }
.footer__contacts   { grid-area: contacts; }
.footer__nav--1     { grid-area: nav1; }
.footer__nav--2     { grid-area: nav2; }
.footer__divider    { grid-area: divider; }
.footer__wordmark   { grid-area: wordmark; }
.footer__socials    { grid-area: socials; }
.footer__badges     { grid-area: badges; }
.footer__newsletter { grid-area: newsletter; }

/* Divider */
.footer__divider {
	border-top: 1px solid rgba(255, 255, 255, 0.24);
}

/* Shared text styles */
.footer__cta p,
.footer__contacts,
.footer__nav,
.footer__newsletter p,
.footer__wordmark p {
	color: #E9ECF2;
	font-family: "Switzer";
	font-weight: 400;
	letter-spacing: -0.4px;
}

/* Individual text overrides */
.footer__cta p {
	font-weight:500;
	font-size: 1.25rem;
	line-height: 1.51;
	max-width: 320px;
	margin-bottom: 24px;
	
}

.footer__contacts,
.footer__nav,
.footer__newsletter p {
	font-size: 1.25rem;
	line-height: 1.53;
}

.footer__wordmark p {
	color: #FFFFFF;
	font-size: 1rem;
	line-height: 1;
	text-transform: uppercase;
}

/* Contacts */
.footer__contacts {
	padding: 0 100px 0 150px;
}

/* Nav */
.footer__nav {
	display: flex;
	flex-direction: column;
}

.footer__nav a {
	margin-bottom: 22.4px;
	color: #E9ECF2;
	text-decoration: none;
}

/* Wordmark */
.wordmark__icon {
	width: 100% !important;
	height: auto !important;
	display: block;
	max-width: 746px;
}

/* Socials */
.footer__socials {
	display: flex;
	align-items: center;
	gap: 16px;
}

.footer__social {
	display: flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 50px;
	border: 1px solid rgba(255, 255, 255, 0.32);
	background: #034EDA;
}

.socials__icon {
	width: auto;
	height: 16px !important;
}

/* Badges */
.footer__badges {
	display: flex;
	align-items: center;
	gap: 32px;
	margin-left: -200px;
}

/* Newsletter */
.footer__newsletter {
	padding: 32px 140px 0 0;
}

.footer-newsletter p{
	font-size:1.25rem;
	font-weight: 400;
	line-height: 30px; /* 150% */
	letter-spacing: -0.4px;
	
}
.footer-newsletter-form {
	display: flex;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	width: 100%;
}

.footer-newsletter-form.hs-form--submitted {
	border-bottom: none;
}

.footer-newsletter-form .hs-form__input:-webkit-autofill,
.footer-newsletter-form .hs-form__input:-webkit-autofill:hover,
.footer-newsletter-form .hs-form__input:-webkit-autofill:focus,
.footer-newsletter-form .hs-form__input:-webkit-autofill:active {
	-webkit-text-fill-color: #FFFFFF !important;
	-webkit-box-shadow: 0 0 0 1000px transparent inset !important;
	background-color: transparent !important;
	transition: background-color 5000s ease-in-out 0s;
}

.footer-newsletter-form .hs-form__field {
	flex: 1;
	display: flex;
	width: 100%;
}

.footer-newsletter-form .hs-form__input {
	all: unset;
	flex: 1;
	padding: 16px 8px;
	color: #FFFFFF;
	font-family: "Switzer";
	font-size: 1.375rem;
	font-weight: 400;
	width: 100%;
}

.footer-newsletter-form .hs-form__input::placeholder {
	color: #FFF;
}

.footer-newsletter-form .hs-form__submit {
	all: unset;
	cursor: pointer;
	padding-right: 20px;
	appearance: none;
	background: transparent;
	border: none;
	outline: none;
}

.footer-newsletter-form .hs-form__field-error {
	color: #FEC842;
	font-family: "Switzer";
	font-size: 0.875rem;
	margin-top: 8px;
}

/* Footer graphic */
.footer__graphic {
	display: block;
	width: 100%;
	height: auto;
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1280px) {
	.footer__wrapper {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"cta         contacts"
			"nav1        nav2"
			"divider     divider"
			"wordmark    wordmark"
			"socials     badges"
			"newsletter  newsletter";
	}

	.footer__wordmark {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.footer__contacts {
		padding: 0;
	}

	.footer__socials,
	.footer__badges {
		justify-content: space-evenly;
	}

	.footer__badges {
		margin-left: 0;
	}

	.footer__newsletter {
		padding: 0;
		margin-bottom: 32px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.footer {
		padding-top: 56px;
	}

	.footer__wrapper {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"wordmark    wordmark"
			"socials     socials"
			"cta         cta"
			"badges      badges"
			"contacts    contacts"
			"nav1        nav2"
			"newsletter  newsletter";
		gap: 32px;
	}

	.footer__divider {
		display: none;
	}

	.footer__cta {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		margin-bottom: 32px;
	}

	.footer__socials {
		justify-content: space-between;
		border-bottom: 1px solid rgba(255, 255, 255, 0.24);
		padding-bottom: 32px;
	}

	.footer__badges {
		justify-content: center;
		margin: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.24);
		padding-bottom: 32px;
	}

	.footer__contacts {
		padding: 0 0 32px 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.24);
	}

	.footer__newsletter {
		padding: 0;
		margin-bottom: 64px;
	}

	.footer__cta p,
	.footer__contacts,
	.footer__nav {
		font-size: 1rem;
	}

	.footer__graphic {
		height: 200px !important;
		object-fit: cover;
		object-position: center;
	}
}

.footer-newsletter-form .hs-form__success {
	color: #fff;
	font-family: "Switzer";
	font-weight: 400;
	font-size: 1.25rem;
	margin-top: 16px;
}

.footer-newsletter-form .hs-form__error {
	color: #FEC842;
	font-family: "Switzer";
	font-weight: 400;
	font-size: 1rem;
	margin-top: 16px;
}

/* ================================
Hero About Section
================================ */

/* Base Section Styles */
section.hero-about {
	background-color: #0146C7;
	margin-bottom: 164px;
}

.hero-about__wrapper {
	padding: 90px 0;
}


/* Hero Heading */
.hero-about.heading {
	color: #FFF;
	font-size: 10.25rem;
	line-height: 163.896px;
	max-width: 1580px;
	margin-bottom: 80px;
}

.hero-about.heading .highlighted-text::after {
	top: 35%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% + 140px);
	height: calc(100% + 140px);
}

/* Hero Description */
.hero-description__container {
	display: flex;
	justify-content: flex-end;
	gap:52px;
}

.hero-description__container .icon-slideshow {

}

.hero-description__container p {
	color: #FFF;
	font-family: "Switzer", sans-serif;
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1.5;
	max-width: 561px;
}

/* Image Section */
.hero-about__content-wrapper {
	position: relative;
	min-height: 843px;
	padding: 0 32px 32px;
	display: flex;
	align-items: flex-end;
}

.hero-about-img {
	position: absolute;
	top: 0;
	left: 32px;
	right: 32px;
	bottom: 32px;
	max-width: 1855px;
	margin: 0 auto;
	z-index: 0;
}

.hero-about-img::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
	pointer-events: none;
	z-index: 1;
}

.hero-about-img img {
	width: 100%;
	height: 100%;
	max-height: 811px;
	object-fit: cover;
	object-position: center;
	display: block;
	position: relative;
	z-index: 0;
}

/* Content Overlay */
.hero-about__content {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 0;
	z-index: 1;
}

.main-text {
	color: #FFF;
	font-family: "Monigue", sans-serif;
	font-size: 8.25rem;
	font-weight: 500;
	line-height: 133.024px;
	text-transform: uppercase;
	max-width: 581px;
	margin-right:32px;
}

.aside-text {
	color: #FFF;
	font-family: "Switzer", sans-serif;
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1.5;
	max-width: 426px;
}



/* ================================
Responsive Styles
================================ */

/* Mobile (up to 768px) */
@media (max-width: 768px) {
	section.hero-about {
		margin-bottom: 48px;
	}

	.hero-about__wrapper {
		padding: 52px 0;
	}

	.hero-about.heading {
		font-size: 3.25rem;
		font-weight: 400;
		line-height: 54px;
		margin-bottom: 32px;
		max-width: 318px;
	}

	.hero-about.heading .highlighted-text::after {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% + 60px);
		height: calc(100% + 60px);
	}

	.hero-description__container {
		justify-content: flex-end;
		gap: 24px;
	}

	.hero-description__container p {
		font-size: 1rem;
		line-height: 24px;
		max-width: 293px;
	}

	.hero-about__content-wrapper {
		min-height: auto;
		padding: 0 16px 32px;
		align-items: normal;
	}

	.hero-about-img {
		left: 16px;
		right: 16px;
		bottom: 32px;
		width: auto;
		margin: 0;
	}

	.hero-about-img::after {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 58.65%, rgba(0, 0, 0, 0.49) 100%);
	}

	.hero-about-img img {
		height: 541px;
		object-position: 35% center;
	}

	.hero-about__content {
		flex-direction: column;
		justify-content: space-between;
		min-height: 541px;
		padding: 24px 16px;
		gap: 0;
	}

	.main-text {
		font-size: 3.25rem;
		line-height: 54px;
		max-width: 200px;
		align-self: flex-start;
	}

	.aside-text{
		display:block;
		color: #FFF;
		font-family: "Switzer", sans-serif;
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.5;
		margin: 0;
		align-self: flex-start;
	}
}
/* Tablet (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {
	/* Add tablet-specific styles here if needed */
}
section.cards-timeline {
	margin-bottom: 164px;
	overflow: hidden;
}

section.cards-timeline .cards-timeline__wrapper {
}

section.cards-timeline .cards-timeline-text {
	color: #000;
	font-family: "Switzer";
	font-size: 1rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.6;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-bottom: 30px;
}

section.cards-timeline .cards-timeline-text svg {
	flex-shrink: 0;
}

section.cards-timeline .cards-timeline.subheading {
	font-size:3rem;
	line-height:1.31;
	margin-bottom: 80px;
	max-width: 910px;
	margin-inline: auto;
}

section.cards-timeline .cards-timeline__content {
	position: relative;
}

section.cards-timeline .cards__container {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: flex-start;
	gap: clamp(40px, 8vw, 160px);
	padding: clamp(60px, 8vw, 100px) 0;
}

section.cards-timeline .line__background {
	position: absolute;
	top: 200px; 
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
}

section.cards-timeline .card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(24px, 2.5vw, 32px) clamp(18px, 2vw, 24px);
	background-color: #F6F6F6;
	width: 100%;
	max-width: 432px;
	height: auto;
	position: relative;
	z-index: 1;
	cursor: pointer;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
	            filter 0.4s cubic-bezier(0.4, 0, 0.2, 1),
	            border 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border: 1px solid transparent;
	flex: 1 1 0;
	min-width: 0;
}

section.cards-timeline .card img {
	width: 100%;
	max-height: 393px;
	height: auto;
	object-fit: cover;
	margin-bottom: 16px;
	display: block;
}

section.cards-timeline .card p.card-title {
	color: #1B191A;
	font-family: "Obviously";
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	font-style: normal;
	font-weight: 560;
	line-height: 1.2;
	letter-spacing: clamp(-1.5px, -0.15vw, -2px);
	text-transform: capitalize;
	transition: color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

section.cards-timeline .card p.card-description {
	color: #1B191A;
	font-family: "Switzer";
	font-size: clamp(1rem, 1.2vw, 1.125rem);
	font-style: normal;
	font-weight: 400;
	line-height: 155.556%;
	text-align: left;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
	            opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

section.cards-timeline .card[data-card="left"] {
	transform: rotate(-16.74deg);
}

section.cards-timeline .card[data-card="right"] {
	transform: rotate(7.35deg);
}

section.cards-timeline .card[data-card="center"] {
	transform: rotate(0deg);
}

section.cards-timeline .card.active {
	transform: rotate(0deg) !important;
	background: #FFF;
	border: 1px solid #FFFFFF;
	box-shadow: 0 235px 66px 0 rgba(181, 181, 181, 0.00),
		0 151px 60px 0 rgba(181, 181, 181, 0.01),
		0 85px 51px 0 rgba(181, 181, 181, 0.05),
		0 38px 38px 0 rgba(181, 181, 181, 0.09),
		0 9px 21px 0 rgba(181, 181, 181, 0.10);
}

section.cards-timeline .card.active p.card-title {
	color: #0146C7;
}

section.cards-timeline .card.active p.card-description {
	max-height: 300px; 
	opacity: 1;
}

@media (max-width: 768px) {
	section.cards-timeline {
		margin-bottom: 84px;
	}
	
	section.cards-timeline .cards-timeline-text {
		font-size:0.75rem;
		line-height:1.6;
	}
	
	section.cards-timeline .cards-timeline.subheading {
		font-size: 1.625rem;
		line-height: 38px;
		letter-spacing: -1px;
		max-width: 388px;
		margin-bottom: 36px;
	}
	
	section.cards-timeline .cards__container {
		padding: 0;
		flex-direction: column;
		gap: 40px;
	}
	
	section.cards-timeline .card {
		transform: rotate(0deg) !important;
		width: 100%;
		max-width: 100%;
		flex: none;
		background: #FFF;
		border: 1px solid #FFFFFF;
		box-shadow: 0 235px 66px 0 rgba(181, 181, 181, 0.00),
			0 151px 60px 0 rgba(181, 181, 181, 0.01),
			0 85px 51px 0 rgba(181, 181, 181, 0.05),
			0 38px 38px 0 rgba(181, 181, 181, 0.09),
			0 9px 21px 0 rgba(181, 181, 181, 0.10);
		pointer-events: none;
	}
	
	section.cards-timeline .card p.card-title {
		color: #0146C7;
	}
	
	section.cards-timeline .card p.card-description {
		max-height: 200px;
		opacity: 1;
		color: #1B191A;
	}
}
/* ================================
   Two Column Content Section
   ================================ */

section.two-column-content {
  margin-bottom: 164px;
}

/* Heading */
.two-column-content.heading {
  margin-bottom: 120px;
}

/* Items Container */
section.two-column-content .two-column-content__items {
  display: flex;
  flex-direction: column;
  gap: 170px;
}

/* Individual Items */
section.two-column-content .two-column-content__item {
  display: flex;
  flex-direction: row;
  gap: 32px;
}

section.two-column-content .two-column-content__item.right {
  flex-direction: row-reverse;
}

/* Item Text */
section.two-column-content .item__text {
  display: flex;
  flex-direction: column;
  width: 384px;
  flex-shrink: 0;
}

section.two-column-content .item__title {
  color: #1B191A;
  font-family: "Obviously", sans-serif;
  font-size: 2.375rem;
  font-weight: 560;
  line-height: 1.37;
  letter-spacing: -1px;
  text-transform: capitalize;
  margin-bottom: auto;
}

section.two-column-content .item__description {
  color: #18171C;
  font-family: "Switzer", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
}

section.two-column-content .item__text .btn__wrapper {
  align-self: flex-start;
}

/* Item Image */
section.two-column-content .item__img {
  flex: 1;
  height: 514px;
  overflow: hidden;
}

section.two-column-content .item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ================================
   Responsive Styles
   ================================ */

/* Mobile (up to 768px) */
@media (max-width: 768px) {
  section.two-column-content {
    margin-bottom: 84px;
  }

  .two-column-content.heading {
    font-size: 3.25rem;
    line-height: 54px;
    max-width: 360px;
    margin-bottom: 24px;
  }

  section.two-column-content .two-column-content__items {
    gap: 80px;
  }

  section.two-column-content .two-column-content__item,
  section.two-column-content .two-column-content__item.right {
    flex-direction: column;
    gap: 24px;
  }

  section.two-column-content .item__text {
    display: contents;
  }

  section.two-column-content .item__title {
    font-size: 1.75rem;
    line-height: 137%;
    letter-spacing: -1px;
    order: 1;
  }

  section.two-column-content .item__img {
    height: 208px;
    aspect-ratio: 197/104;
    order: 2;
  }

  section.two-column-content .item__description {
    font-size: 1rem;
    line-height: 150%;
    order: 3;
  }

  section.two-column-content .item__text .btn__wrapper {
    order: 4;
  }
}
section.number-timeline {
	margin-bottom: 164px;
}

.number-timeline.title {
	max-width: 1040px;
	margin-bottom: 88px;
}

.number-timeline__row {
	display: flex;
	gap: 150px;
	margin-bottom: 40px;
}

.number-timeline__row.right {
	justify-content: flex-end;
}

.number-timeline__row.right .number-timeline__item-number {
	left: auto;
	right: 90%;
}

.number-timeline__img {
	margin-bottom: 40px;
	width: 100%;
}

.number-timeline__img img {
	width: 100%;
	height: auto;
	display: block;
}

.number-timeline__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	max-width: 475px;
}

.number-timeline__item-title {
	color: #000;
	text-align: center;
	font-family: "Obviously";
	font-size: 1.5rem;
	font-weight: 560;
	letter-spacing: -1.62px;
	text-transform: uppercase;
}

.number-timeline__item-description {
	color: #1B191A;
	font-family: "Switzer";
	font-size: 1.125rem;
	opacity: 0.5;
}

.number-timeline__item-number {
	position: absolute;
	top: 30%;
	right: 0;
	transform: translateY(-50%);
	color: #000;
	text-align: center;
	font-family: "Obviously";
	font-size: 9.25rem;
	font-weight: 560;
	letter-spacing: -10.08px;
	text-transform: uppercase;
	opacity: 0.05;
}

/* Mobile specific */
@media (max-width: 768px) {
	section.number-timeline {
		margin-bottom: 84px;
	}
	
	.number-timeline.title {
		font-size: 1.75rem;
		line-height: 137%;
		letter-spacing: -1px;
		margin-bottom: 44px;
	}
	
	.number-timeline__row {
		flex-direction: column;
		gap: 40px;
		margin-bottom: 40px;
	}
	
	.number-timeline__row.right {
		justify-content: flex-start;
	}
	
	.number-timeline__img {
		display:none;
	}
	
	.number-timeline__item {
		max-width: 100%;
		gap:10px;
	}
	

	.number-timeline__item-number {
		position: static;
		transform: none;
		order: 1;
		font-size:4.5rem;
		letter-spacing: -4.825px;
		margin-bottom:0;
	}
	
	.number-timeline__row.right .number-timeline__item-number {
		left: auto;
		right: auto;
	}
	
	.number-timeline__item-title {
		order: 2;
		letter-spacing: -1.62px;
		font-size:1.25rem;
		margin-bottom:0;
	}
	
	.number-timeline__item-description {
		order: 3;
		line-height:150%;
		font-size:1rem;
		margin-bottom:0;
	}
}
section.stories-slider {
	margin-bottom: 164px;
	position: relative;
	overflow: hidden;
	/* CSS containment for performance */
	contain: layout style paint;
}

section.stories-slider .container--full {
	background-color: #EEEEEE;
	height: 100vh;
	overflow: hidden;
	position: relative;
	/* Promote to own layer */
	will-change: contents;
}

section.stories-slider .heading {
	color: #0146C7;
	font-family: "Monigue";
	font-size: 15.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	max-width: 1060px;
	text-align: center;
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	/* Use GPU for text rendering */
	backface-visibility: hidden;
	-webkit-font-smoothing: antialiased;
}

section.stories-slider .stories-slider__wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	position: relative;
	min-height: 700px;
}

section.stories-slider .stories-slider__track {
	display: flex;
	gap: 32px;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
	cursor: grab;
	user-select: none;
	position: relative;
	padding: 50px;
	min-height: 700px;
	width: 100%;
	z-index: 10;
	/* Hardware acceleration */
	-webkit-overflow-scrolling: touch;
	/* Optimize scrolling performance */
	scroll-behavior: auto;
	/* CSS containment */
	contain: layout style;
}

section.stories-slider .stories-slider__track::-webkit-scrollbar {
	display: none;
}

section.stories-slider .stories-slider__track.spread {
	justify-content: flex-start;
	min-height: auto;
}

section.stories-slider .stories-slider__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 418px;
	height: 591px;
	flex-shrink: 0;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
	padding: 24px;
	box-sizing: border-box;
	/* Optimize box-shadow rendering */
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	transition: transform 0.4s ease;
	/* Force GPU acceleration */
	transform-style: preserve-3d;
	backface-visibility: hidden;
	/* Reduce paint area */
	contain: layout style paint;
	/* Hint for compositing */
	isolation: isolate;
}

/* Remove will-change from CSS, add dynamically via JS only during animation */
section.stories-slider .stories-slider__card.animating {
	will-change: transform;
}

section.stories-slider .card-image {
	position: absolute;
	inset: 0;
	z-index: 0;
	/* Optimize image rendering */
	contain: layout style paint;
}

section.stories-slider .card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	/* Optimize image rendering */
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
	/* Force GPU layer */
	transform: translateZ(0);
	backface-visibility: hidden;
}

section.stories-slider .card-position,
section.stories-slider .card-name,
section.stories-slider .card-description {
	position: relative;
	z-index: 1;
	margin: 0;
	text-align: center;
	/* Optimize text rendering */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

section.stories-slider .card-position {
	color: #FFF;
	margin-bottom: auto;
	font-family: "Switzer";
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 600;
	line-height: 25px;
	text-transform: uppercase;
	max-width: 273px;
}

section.stories-slider .card-name {
	color: #FEC842;
	font-family: "Monigue";
	font-size: 6rem;
	font-style: normal;
	font-weight: 400;
	line-height: 123px;
	text-transform: uppercase;
	/* Prevent text shadow from causing repaints */
	text-shadow: none;
}

section.stories-slider .card-description {
	color: #FFF;
	text-align: center;
	font-family: "Switzer";
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	max-width: 273px;
}

/* Mobile specific */
@media (max-width: 768px) {
  section.stories-slider {
    margin-bottom: 84px;
  }
  
  section.stories-slider .container--full {
    height: auto;
    min-height: auto;
  }
  
  section.stories-slider .heading {
    position: static;
    transform: none;
    font-size: 3.5rem;
    line-height: 1.1;
    max-width: 100%;
    padding: 40px 20px 20px;
    margin: 0;
  }
  
  section.stories-slider .stories-slider__wrapper {
    flex-direction: column;
    min-height: auto;
    height: auto;
  }
  
  section.stories-slider .stories-slider__track {
    justify-content: flex-start;
    padding: 20px;
    min-height: auto;
    gap: 16px;
    overflow-x: scroll;
  }
  
  section.stories-slider .stories-slider__card {
    position: static;
    transform: none;
    width: 344.233px;
    height: 486.703px;
    flex-shrink: 0;
  }
  
  section.stories-slider .stories-slider__card.animating {
    will-change: auto;
  }
  
  section.stories-slider .card-position {
    font-size: 0.875rem;
    line-height: 1.4;
  }
  
  section.stories-slider .card-name {
    font-size: 3.5rem;
    line-height: 1.2;
  }
  
  section.stories-slider .card-description {
    font-size: 0.875rem;
  }
}

section.stories-slider .stories-slider__card {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

section.stories-slider .stories-slider__card:hover {
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  transform: translateY(-6px);
}

section.stories-slider .stories-slider__track.spread .stories-slider__card:hover {
  transform: translateY(-6px);
}

@keyframes cardFadeUp {
  from {
    opacity: 0;
    translate: 0 20px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}

section.stories-slider .stories-slider__card.is-visible {
  animation: cardFadeUp 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* ================================
   Hero Our Work Section
   ================================ */
/* Base Section Styles */
section.hero-our-work {
  margin-bottom: 164px;
}
.hero-our-work__wrapper {
  padding: 90px 0;
  text-align: center;
}
/* Hero Heading */
.hero-our-work.heading {
  font-size: 10.25rem;
  font-weight: 500;
  line-height: 163.896px;
  text-transform: uppercase;
  max-width: 1220px;
  margin: 0 auto 40px auto;
  text-align: center;
}
.hero-our-work.heading .highlighted-text::after {
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 140px);
  height: calc(100% + 140px);
}
/* ================================
   Hero Work Slider
   ================================ */
.hero-work-slider {
  position: relative;
}
.hero-work-slider__navigation {
  position: absolute;
  width: 100%;
  max-width: 1800px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  z-index: 10;
  padding: 0 20px;
}
.hero-work-slider__navigation .swiper-button-prev,
.hero-work-slider__navigation .swiper-button-next {
  cursor: pointer;
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  pointer-events: all;
  transition: transform 0.3s ease;
}
.hero-work-slider__navigation .swiper-button-prev:hover,
.hero-work-slider__navigation .swiper-button-next:hover {
  transform: scale(1.1);
}
.hero-work-slider__navigation .swiper-button-prev img {
  transform: rotate(180deg);
}
.hero-work-slider__navigation img {
  width: 100%;
  height: auto;
  display: block;
}
.heroWorkSwiper {
  width: 100%;
  overflow: hidden;
}
.heroWorkSwiper .swiper-wrapper {
  height: 100%;
}
.heroWorkSwiper .swiper-slide {
  height: 460px;
}
.heroWorkSwiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
  .hero-work-slider {
    margin-top: 40px;
  }
  
  .heroWorkSwiper .swiper-slide {
    height: auto;
    aspect-ratio: 519/460;
  }
  
  .hero-work-slider__navigation {
    position: static;
    transform: none;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-top: 24px;
    justify-content: center;
    gap: 28px;
  }
  
  .hero-work-slider__navigation .swiper-button-prev,
  .hero-work-slider__navigation .swiper-button-next {
    position: static;
    width: 40px;
    height: 40px;
    margin: 0;
  }
  
  .hero-work-slider__navigation .swiper-button-prev:after,
  .hero-work-slider__navigation .swiper-button-next:after {
    content: '';
    display: none;
  }
}

/* Mobile only (up to 768px) */
@media (max-width: 768px) {
  section.hero-our-work {
    margin-bottom: 48px;
  }
  
  .hero-our-work__wrapper {
    padding: 50px 0 0 0;
  }

  .hero-our-work.heading {
    font-size: 3.25rem;
    font-weight: 400;
    line-height: 54px;
    margin-bottom: 32px;
    max-width: 350px;
  }
  
  .hero-our-work.heading .highlighted-text::after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 60px);
    height: calc(100% + 60px);
  }
}

@media (max-width: 429px) {
	.hero-our-work.tagline {
		font-size:0.75rem;
	}
}
section.full-image {

}

section.full-image .container--full {
  max-width: 1920px;
  margin: 0 auto;
}

section.full-image .container--full img {
  width: 100%;
  height: auto;
  aspect-ratio: 233/100;
  object-fit: cover;
  display: block;
}

/* ================================
   Responsive Styles
   ================================ */

/* Mobile (up to 768px) */
@media (max-width: 768px) {
	section.full-image {
		margin-bottom:70px;
	}
  section.full-image .container--full img {
    width: 100%;
    min-height: 245px;
    height: auto;
    aspect-ratio: 430/328;
  }
}

/* Tablet (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {
}
/* ================================
   Two Grid Content Section
   ================================ */
.two-grid-content.subheading {
	text-align:left;
	max-width:900px;
}
.two-grid-content__wrapper {
  padding: 90px 0;
  text-align: center;
	display:flex;
	justify-content:flex-end;
	gap:60px;
}
.two-grid-content__item {
	display:flex;
	flex-direction:column;
	max-width:570px;
	gap:32px;
	
}
.two-grid-content__item img {
	width: 100%;
	aspect-ratio: 570/280;
	object-fit: cover;
}
.two-grid-content__description {
	text-align:left;
	color: #464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 30px; /* 150% */
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
	.two-grid-content__wrapper {
		flex-direction:column;
		padding:0;
		gap:44px;
	}
	
	.two-grid-content__item {
		max-width: 100%;
		width: 100%;
	}
}
/* Mobile only (up to 768px) */
@media (max-width: 768px) {
	section.two-grid-content {
		margin-bottom:68px;
	}
	.two-grid-content.subheading {
		font-size:1.625rem;
		line-height:146.154%;
		letter-spacing:-1px;
	}
	
	.two-grid-content__description {
		font-size:1rem;
		line-height:150%;
	}
}
/* ================================
   Services Grid Section
   ================================ */
section.services-grid {
  margin: 185px 0 164px 0;
	position:relative;
}
.services-grid .text-slider__wrapper {
	margin-inline:auto;
}
.services-grid.heading {
	margin-bottom:112px;
	margin-inline:auto;
	text-align: center;
	font-size: 6rem;
	font-style: normal;
	font-weight: 400;
	line-height: 108px; /* 112.5% */
	text-transform: uppercase;
	max-width:1260px;
}
.services-grid__wrapper {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap: 60px 40px;
}
.services-grid__content {
  text-align: center;
}
.services-grid__img {
	width:120px;
	height:auto;
}
.services-grid__text {
  color: #1B191A;
	font-family: "Switzer";
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 500;
	line-height: 56px; /* 233.333% */
	letter-spacing: -1px;
	text-transform: uppercase;
}
section.services-grid .logo-bg__wrapper {
  top: 50%;
  transform: translateY(-50%);
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {
	.services-grid__wrapper {
		grid-template-columns:repeat(2, 1fr);
	}
}

/* Mobile (up to 768px) */
@media (max-width: 768px) {
	section.services-grid {
		margin:0px 0  92px 0;
	}
	.services-grid.heading {
		font-size:3.25rem;
		line-height:103.846%;
		text-align:left;
		letter-spacing: -1px;
		margin-bottom:60px;
	}
	
	.services-grid__wrapper {
		grid-template-columns:1fr;
	}
}
/* ================================
   Full Content Section
   ================================ */
section.full-content {
  margin-bottom: 164px;
  width: 1920px;
  max-width: 100%;
  margin-inline: auto;
  position: relative;
  aspect-ratio: 1920/805;
}
section.full-content > .container {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.full-content.container--full {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.full-content.container--full::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #021639 0%, rgba(2, 22, 57, 0) 100%);
  mix-blend-mode: hard-light;
  z-index: 1;
  pointer-events: none;
}
.full-content.container--full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 0;
}
.full-content__wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 75px 0;
  overflow: hidden;
}
.full-content.subheading {
  color: #FFF;
  text-align: left;
  font-family: "Switzer";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: 56px;
  text-transform: uppercase;
}
.full-content.heading {
  color: #FEC842;
  font-size: 6rem;
  font-style: normal;
  line-height: normal;
  max-width: 918px;
  margin-bottom: auto;
}
.full-content__description {
  color: #FFF;
  font-family: "Switzer";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 300;
  line-height: 30px;
  max-width: 554px;
  align-self: flex-end;
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
  .full-content.subheading {
    font-size: 1rem;
    line-height: normal;
  }
  
  .full-content__description {
    font-size: 1rem;
    line-height: 150%;
  }
}

/* Tablet only (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {
  section.full-content {
    aspect-ratio: 5/4;
  }
}

/* Mobile only (up to 768px) */
@media (max-width: 768px) {
  section.full-content {
    aspect-ratio: 9/16;
    margin-bottom: 54px;
  }
  
  .full-content__wrapper {
    padding: 48px 0;
  }
  
	.full-content.subheading {
		margin-bottom:16px;
	}
  .full-content.heading {
    font-size: 3.25rem;
    line-height: 103%;
  }
}
/* ================================
   Services Accordion Section
   ================================ */
section.services-accordion {
	padding: 120px 0;
	background-color: #EFF0F2;
}
.services-accordion__wrapper {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 60px;
}
.services-accordion__text {
	flex-shrink: 0;
}
.services-accordion.heading {
	font-size: 6rem;
	line-height: 112.5%;
	max-width: 512px;
}
.services-accordion__description {
	color: #464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	max-width: 650px;
	margin-bottom: 54px;
}
/* Accordion styles */
.services-accordion .faq__accordion {
	max-width:624px;
	flex: 1;
}
.services-accordion .accordion-item {
	display: flex;
	flex-direction: column;
	padding: 40px 0;
	border-bottom: 1px solid #E0E0E0;
	margin: 40px 0;
}
.services-accordion .accordion-item__content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 120px;
}
.services-accordion .accordion-item__title {
	color: #1B191A;
	font-family: "Switzer";
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	letter-spacing: -1px;
	text-transform: uppercase;
}
.services-accordion .accordion-item__description {
	max-height: 0;
	overflow: hidden;
	margin: 0;
	color:  #464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
  line-height:30px; /* 150% */
	transition: max-height 0.3s ease, padding-top 0.3s ease;
	padding-top: 0;
	width: 100%;
}
.services-accordion .accordion-item__icon {
	display: block;
	transition: transform 0.3s ease;
	flex-shrink: 0;
	align-self: flex-start;
	cursor: pointer;
}
/* Target the circle fill */
.services-accordion .accordion-item__icon circle {
	fill: #0146C7;
	transition: fill 0.4s ease;
}
/* Target the path fill */
.services-accordion .accordion-item__icon path {
	fill: #FFFFFF;
	transition: fill 0.4s ease;
}
/* Active state - rotate and change colors */
.services-accordion .accordion-item.active .accordion-item__icon {
	transform: rotate(-90deg);
}
.services-accordion .accordion-item.active .accordion-item__icon circle {
	fill: #FEC842;
}
.services-accordion .accordion-item.active .accordion-item__icon path {
	fill: #0146C7;
}
.services-accordion .accordion-item.active .accordion-item__description {
	max-height: 500px;
	padding-top: 16px;
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
	.services-accordion__wrapper {
		flex-direction:column;
		gap:0;
	}
	
	.services-accordion .accordion-item__content {
		gap:44px;
		align-items:center;
	}
	
	.services-accordion .accordion-item__icon {
		align-self:center;
	}
	
	.services-accordion__text .btn__wrapper {
		display:none;
	}
}

/* Mobile only (up to 768px) */
@media (max-width: 768px) {
	section.services-accordion {
		padding:52px 0;
	}
	
	.services-accordion.heading {
		font-size:3.25rem;
		line-height:103.846%;
	}
	
	.services-accordion__description {
		font-size:1rem;
		line-height:150%;
		margin-bottom:0;
	}
	
	.services-accordion .accordion-item__title {
		font-size:1.25rem;
		line-height:150%;
	}
	
	.services-accordion .accordion-item__description {
		font-size:1rem;
		line-height:150%;
	}
	.services-accordion .accordion-item.active .accordion-item__description {
		padding-top:0px;
	}
}
/* ================================
   Branding Content Section
   ================================ */
section.branding-content {
  margin-bottom: 164px;
}
.branding-content__wrapper {
  display:flex;
	gap:96px;
}
.branding-content__img {
	display:flex;
	gap:20px;
	flex: 1;
	min-width: 0;
}
.branding-content__img img:first-child {
	width: 32.6%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 303/347;
}
.branding-content__img img:last-child {
	width: 67.4%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 627/347;
}
.branding-content__text {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	align-items: flex-start;
	flex-shrink: 0;
	width: 100%;
	max-width: 450px;
}
.branding-content__text svg {
	flex-shrink: 0;
}
.branding-content__text p {
	color:  #464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 30px; /* 150% */
	margin: 0;
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
	section.branding-content {
		margin-bottom:68px;
	}
	
	.branding-content.heading{
		font-size:3.25rem;
		line-height:103.846%;
		text-align:center;
		margin-inline:auto;
	}
	
	.branding-content__wrapper {
		flex-direction:column;
		gap:20px;
	}
	
	.branding-content__img {
		display: flex;
		gap: 8px;
	}
	
	.branding-content__img img:first-child {
		flex: 126;
		min-width: 0;
		height: auto;
		aspect-ratio: 126/200;
		object-fit: cover;
	}
	
	.branding-content__img img:last-child {
		flex: 260;
		min-width: 0;
		height: auto;
		aspect-ratio: 260/200;
		object-fit: cover;
	}
	
	.branding-content__text {
		align-items:center;
		gap:28px;
		max-width: 100%;
	}
	
	.branding-content__text p{
		text-align:center;
		margin-bottom:0;
	}
}

/* ================================
   Hero Industries Section
   ================================ */
section.hero-industries {
  width: 1920px;
  max-width: 100%;
  margin-inline: auto;
  position: relative;
  aspect-ratio: 1920/805;
}

section.hero-industries > .container {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.hero-industries .container--full {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-industries .container--full::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
  mix-blend-mode: hard-light;
  z-index: 1;
  pointer-events: none;
}

.hero-industries .container--full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 0;
}

.hero-industries__wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 75px 0;
  overflow: hidden;
	justify-content: flex-end; 
}

.hero-industries.heading {
  color: #FEC842;
  font-size: 10.25rem;
  font-style: normal;
  line-height: 100.55%;
  max-width: 918px;
  margin-top: auto;
}

.hero-industries__breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
	color: #FFF;
	font-family: "Switzer";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 166.667%;
	text-decoration: none;
	text-transform: uppercase;
}

.hero-industries__breadcrumb a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.2s;
}

.hero-industries__breadcrumb a:hover {
  color: #fff;
}

.hero-industries__breadcrumb .separator {
}

.hero-industries__breadcrumb .current {
  color: #fff;
}

.hero-industries__description {
	color: #FFF;
	font-family: "Switzer";
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 135.714%;
	letter-spacing: -0.5px;
	text-transform: uppercase;
	display:none;
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
  .hero-industries .full-content.subheading {
    font-size: 1rem;
    line-height: normal;
  }
  
  .hero-industries .full-content__description {
    font-size: 1rem;
    line-height: 150%;
  }
}

/* Tablet only (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {
  section.hero-industries {
    aspect-ratio: 5/4;
  }
}

/* Mobile only (up to 768px) */
@media (max-width: 768px) {
  section.hero-industries {
    aspect-ratio: 86/89;
  }
  
  .hero-industries__wrapper {
    padding: 48px 0;
  }
  
	.hero-industries.heading {
		font-size:3.25rem;
		line-height: 54px; /* 103.846% */
	}
	
	.hero-industries__breadcrumb {
		display:none;
	}
	
	.hero-industries__description {
		display:block;
		max-width:360px;
	}
}
/* ================================
Two Column Cards Section
================================ */
section.two-column-cards {
	margin:0;
}
.two-column-cards__wrapper {
	display: flex;
	justify-content: center;
	align-items:center;
	gap: 100px;
}

/* Default image styles - native aspect ratio */
.two-column-cards__img {
	width: 50%;
	max-width: 685px;
}

.two-column-cards__img img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

/* Variant 1 */
section.two-column-cards {
	margin:216px 0;
}

.two-column-cards.variant-1 .two-column-cards.title {
	font-size: 3.25rem;
	line-height: 1.03;
	letter-spacing: -3px;
}

/* Variant 2 */
section.two-column-cards.variant-2 {
	margin:178px 0 240px 0;
}

.two-column-cards.variant-2 .two-column-cards.title {
	font-size: 2rem;
	letter-spacing:-2px;
	line-height: 1.24;
}

/* Variant 3 */
section.two-column-cards.variant-3 {
	margin:160px 0;
}

.two-column-cards__text {
	display: flex;
	flex-direction: column;
	align-items:flex-start;
	max-width:757px;
}

.two-column-cards.title {
	margin-bottom:32px;
}

.two-column-cards__description {
	text-align: left;
	color: #464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
	margin-bottom:60px;
}

/* ================================
Responsive Styles
================================ */
/* Tablet & Mobile */
@media (max-width: 1280px) {
	section.two-column-cards {
		margin-bottom:60px;
	}
	.two-column-cards__wrapper {
		flex-direction: column;
		gap: 32px;
	}

	.two-column-cards__img,
	.two-column-cards__text {
		max-width: 100%;
		width: 100%;
	} 

	.two-column-cards__img {
		order:2;
	}

	.two-column-cards__text {
		order:1;
	}
	section.two-column-cards.variant-1 {
		margin-top:54px;
	}
	
	section.two-column-cards.variant-2 {
		margin:40px 0 100px 0;
	}

	.two-column-cards.variant-2 .two-column-cards__img{
		display:none;
	}
  
		section.two-column-cards.variant-3 {
		margin:40px 0 80px 0;
	}
	.two-column-cards.variant-3 .two-column-cards__img {
		order:1;
		max-width:190px;
		align-self:flex-start;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.two-column-cards.title {
		font-size: 1.625rem;
		line-height: 146.154%;
		letter-spacing: -1px;
		margin-bottom:20px;
	}

	.two-column-cards__description {
		font-size: 1rem;
		line-height: 150%;
		margin-bottom:28px;
	}

	.two-column-cards.variant-2 .two-column-cards__img {
		display:none;
	}

}
/* ================================
   Production Grid Section
   ================================ */
section.production-grid {
  background-color:#101010;
	padding:120px 0;
}
.production-grid__wrapper {
	margin-top: 136px;
	display: grid;
	justify-content:space-between;
	grid-template-columns: repeat(4, 300px);
	gap: 20px;
	overflow-x: auto; 
	overflow-y: hidden; 
	width: 100%; 
	padding-bottom: 20px; 
	-webkit-overflow-scrolling: touch;
	/* Hide scrollbar */
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE and Edge */
}

.production-grid__wrapper::-webkit-scrollbar {
	display: none; /* Chrome, Safari, Opera */
}
.production-grid__top {
	display:flex;
	justify-content:space-between;
}
.production-grid__main {
	display: flex;
	flex-direction: column;
}
.production-grid.title {
	color: #FFF;
	font-family: "Obviously";
	font-size: 4rem;
	font-style: normal;
	font-weight: 500;
	line-height: 124%;
	letter-spacing: -3px;
	max-width:800px;
	margin-bottom:50px;
}
.production-grid__description {
  text-align: left;
  color: #EFF0F2;
  font-family: "Switzer";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
	max-width:465px;
}

.production-grid__main .btn__wrapper {
	align-self: flex-start;
}

.production-grid__item {
	display:flex;
	flex-direction:column;
}
.production-grid__item img {
	width:120px;
	height:auto;
  margin-bottom:24px;
}
.production-grid__item .item-title {
	color: #FFF;
	font-family: "Obviously";
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 500;
	line-height: 137%;
	max-width:100%;
	
}
.production-grid__item .item-description {
	color: #EFF0F2;
	font-family: "Switzer";
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
	max-width:100%;
}
/* ================================
   Responsive Styles
   ================================ */
@media (max-width: 1280px) {
	.production-grid .container {
		display: flex;
		flex-direction: column;
	}
	
	.production-grid__top {
		flex-direction:column;
		display: contents;
	}
	
	.production-grid.title {
		font-size:1.75rem;
		line-height:137%;
		letter-spacing: -1px;
		order: 1;
	}
	
	.production-grid__description {
		font-size: 1rem;
		line-height: 24px;
		order: 2;
	}
	
	.production-grid__wrapper {
		margin-top:36px;
		order: 3;
	}
	
	.production-grid__main {
		display: contents;
	}
	
	.production-grid__main .btn__wrapper {
		order: 4;
	}
}
@media (max-width: 768px) {
	section.production-grid {
		
		padding:50px 0;
	}
	
	.production-grid .container {
		display: flex;
		flex-direction: column;
	}
	
	.production-grid__top {
		display: contents;
	}
	
	.production-grid.title {
		order: 1;
		margin-bottom:24px;
	}
	
	.production-grid__description {
		order: 2;
	}
	
	.production-grid__wrapper {
		margin-top:36px;
		order: 3;
	}
	
	.production-grid__main {
		display: contents;
	}
	
	.production-grid__main .btn__wrapper {
		order: 4;
	}
}
/* ================================
   Services Cards Section
   ================================ */
section.services-cards {
  padding: 160px 0 40px 0;
}
.services-cards.heading {
	text-align:center;
	font-size:16.761875rem;
	line-height: 253.802px; /* 94.635%  */
	
}
.services-cards__wrapper {
	display:grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: space-between; 
	gap: 80px 48px;
}
.services-cards__item {
	display:flex;
	flex-direction:column;
	min-width: 0;
}
.services-cards__item img {
	width: 100%;
	max-width: none; 
	height: auto;
	aspect-ratio: 144/73;
	margin-bottom: 24px;
	display: block; 
}
.item-top {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
.services-cards__item .item-title {
	color: #1B191A;
	font-family: "Obviously";
	font-size: 1.75rem;
	font-style: normal;
	font-weight: 560;
	line-height: 1.24;
	letter-spacing: -1px;
	text-transform:none;
}

.services-cards__item .item-number {
	color: #464644;
	font-family: "Obviously";
	font-size: 1.875rem;
	font-style: normal;
	font-weight: 560;
	line-height: 1.24; /* 37.928px */
	margin:0;
	white-space:nowrap;
	opacity: 0.3;
}

.services-cards__item-description {
	color: #464644;
	font-family: "Switzer";
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.35; 
	margin-bottom:0;
}
/* ================================
   Responsive Styles
   ================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {

}
/* Mobile only (up to 768px) */
@media (max-width: 768px) {
	section.services-cards {
		padding:72px 0;
	}
	
	.services-cards.heading {
		font-size:3.25rem;
		line-height:54px; /* 103.846% */

	}
	
  .services-cards__wrapper { 
    grid-template-columns:  1fr;
		gap: 40px;
	}
  
	.services-cards__item img {
		margin-bottom:12px;
	}
	.services-cards__item .item-title {
		font-size: 1rem;
		line-height: 124%; /* 19.84px */
		letter-spacing: -0.518px;
		margin-bottom: 0px;
	}
	
	.services-cards__item .item-number {
		font-size: 1rem;
		line-height: 124%; /* 19.641px */
	}
	
	.services-cards__item-description {
		font-size: 0.75rem;
		line-height: 24px; /* 200% */
	}
}

section.hero-case-study-listing {
  margin: 60px 0 120px 0;
}
section.hero-case-study-listing .container {
	text-align: center;
}
section.hero-case-study-listing .heading {
	max-width: 1364px;
	margin: 0 auto;
}
section.hero-case-study-listing .hero-case-study-listing__wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-top: 80px;
}
section.hero-case-study-listing .hero-case-study-listing__item {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	width: 100%;
	aspect-ratio: 916/643;
}
section.hero-case-study-listing .hero-case-study-listing__item img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
section.hero-case-study-listing .overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	pointer-events: none;
}
section.hero-case-study-listing .overlay-bg {
	position: absolute;
	inset: 0;
	background-color: rgba(1, 70, 199, 0.85);
	mix-blend-mode: hard-light;
	opacity: 0;
	transition: opacity 0.3s ease;
}
section.hero-case-study-listing .overlay > *:not(.overlay-bg) {
	opacity: 0;
	transition: opacity 0.3s ease;
	position: relative;
	z-index: 1;
}
section.hero-case-study-listing .hero-case-study-listing__item:hover .overlay-bg {
	opacity: 1;
}
section.hero-case-study-listing .hero-case-study-listing__item:hover .overlay > *:not(.overlay-bg) {
	opacity: 1;
	pointer-events: auto;
}
section.hero-case-study-listing .overlay-title {
	font-family: "Obviously";
	font-weight: 560;
	font-size: 2.625rem;
	color: #fff;
	margin: 0 0 24px 0;
}
section.hero-case-study-listing .overlay-subtitle {
	font-family: "Switzer";
	font-weight: 400;
	font-size: 1rem;
	color: #fff;
	text-transform: uppercase;
	margin: 0 0 8px 0;
}
/* ================================
   Responsive Styles
   ================================ */
/* Mobile (up to 768px) */
@media (max-width: 768px) {
	section.hero-case-study-listing .hero-case-study-listing__wrapper {
		grid-template-columns: 1fr;
		margin-top: 40px;
	}
	section.hero-case-study-listing .hero-case-study-listing__item {
		aspect-ratio: 395/277.76;
	}
	section.hero-case-study-listing .heading {
		font-size:3.25rem;
		line-height: 54px; /* 103.846% */
		max-width:400px;
	}
	
		section.hero-case-study-listing .overlay-title {
		font-size: 1.75rem;
		margin-bottom: 16px;
	}
	
	section.hero-case-study-listing .overlay-subtitle {
		font-size: 0.875rem;
		margin-bottom: 6px;
	}
	
	section.hero-case-study-listing .btn__wrapper {
		transform: scale(0.8);
	}
}
/* Tablet (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {
	section.hero-case-study-listing .hero-case-study-listing__wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ================================
   Hero Contact Section
   ================================ */
section.hero-contact {
  overflow: hidden;
	padding-top: 186px;
	position: relative;
}

section.hero-contact::before {
	content: "";
  background-color: #0146C7;
	height: 70%;
	width: 100%;
	display: block;
	position: absolute;
	top: 0;
	z-index: -1;
}

.hero-contact__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* ================================
   Top Row: H1 + Socials
   ================================ */
.hero-contact__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.hero-contact__heading-1 {
  font-family: "Monigue";
  font-size: 10.18rem;
  font-weight: 400;
  line-height: 164px;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0;
}

.hero-contact__socials {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 8px;
  flex-shrink: 0;
}

.hero-contact__social {
  display: flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  background: #034EDA;
  transition: opacity 0.2s ease;
}

.hero-contact__social:hover {
  opacity: 0.75;
}

.hero-contact__social .socials__icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* ================================
   Bottom Row: Description + H2
   ================================ */
.hero-contact__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.hero-contact__description {
	color: #FFF;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
  max-width: 629px;
  line-height: 1.5;
  margin: 0;
}

.hero-contact__heading-2 {
  font-family: "Monigue";
  font-size: 10.18rem;
  font-weight: 400;
  line-height: 164px;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0;
  text-align: right;
}

/* ================================
   Video
   ================================ */
.hero-contact__video {
  margin-top: 40px;
  width: 100%;
}

.hero-contact__video video,
.hero-contact__video iframe,
.hero-contact__video img {
  width: 100%;
  display: block;
  object-fit: cover;
}

/* ================================
   Responsive — Tablet (max 1280px)
   ================================ */
@media (max-width: 1280px) {
  .hero-contact__heading-1,
  .hero-contact__heading-2 {
    font-size: clamp(3rem, 6vw, 7rem);
    line-height: 1;
  }
}

/* ================================
   Responsive — Mobile (max 768px)
   ================================ */
@media (max-width: 768px) {
	section.hero-contact {
	  padding-top: 30px;
	}
	
  section.hero-contact::before {
	  height: 80%;
	}

  .hero-contact__content {
    gap: 0;
		justify-content: center;
		align-items: center;
		text-align: center;
  }

  /* Dissolve row wrappers so children become
     direct flex children of __content for ordering */
  .hero-contact__top,
  .hero-contact__bottom {
    display: contents;
  }

  /* Mobile order: H1 → H2 → Description → Socials */
  .hero-contact__heading-1 {
    font-size: 3.25rem;
    line-height: 1.05;
    order: 1;
  }

  .hero-contact__heading-2 {
    font-size: 3.25rem;
    line-height: 1.05;
    text-align: center;
    order: 2;
    margin-bottom: 8px;
  }

  .hero-contact__description {
    font-size: 1rem;
    max-width: 100%;
    text-align: center;
    order: 3;
    margin-bottom: 16px;
  }

  .hero-contact__socials {
    justify-content: center;
    gap: 12px;
    order: 4;
    padding-top: 0;
  }

  .hero-contact__video {
    margin-top: 24px;
  }
}
.contact-form {
  padding: 80px 0;
}

.contact-form__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

/* Left panel */

.contact-form__headline {
  color: #0146c7;
  font-family: "Monigue";
  font-size: 76px;
  font-style: normal;
  font-weight: 400;
  line-height: 87px;
  text-transform: uppercase;
}

.contact-form__details {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.contact-form__detail-item {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}

.contact-form__detail-icon {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
}

.contact-form__detail-label {
  color: #0146c7;
  font-family: "Switzer";
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 40px;
  text-transform: uppercase;
}

.contact-form__detail-description,
.contact-form__detail-description p {
  color: #1b191a;
  font-family: "Obviously";
  font-size: 1.5rem !important;
  font-style: normal;
  font-weight: 560;
  line-height: 124%;
  letter-spacing: -1px;
}

/* Right panel */

.contact-form__form-panel {
  width: 100%;
  justify-self: end;
}

/* Step title */

.hs-form__step-title {
  color: #313131;
  font-family: "Obviously";
  font-size: 38.907px;
  font-style: normal;
  font-weight: 560;
  line-height: 55.582px; /* 142.857% */
  letter-spacing: -1.556px;
  text-transform: capitalize;
}

/* Form layout */

.hs-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.hs-form__field {
  display: flex;
  flex-direction: column;
  margin-bottom: 28px;
  position: relative;
}

.hs-form__field label {
  color: #464644;
  font-family: "Switzer";
  background-color: #fff;
  padding-inline: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 22px;
  text-transform: uppercase;
  position: absolute;
  top: -10px;
  left: 10px;
}

.hs-form__field input,
.hs-form__field select,
.hs-form__field textarea {
  border: 1px solid #ebebeb;
  padding: 12px 16px !important;
  padding-top: 16px !important;
  font-family: Switzer, sans-serif;
  font-size: 1.125rem !important;
  width: 100%;
  outline: none;
  transition: border-color 0.2s;
  background: #fff;
  border-radius: 0;
  box-sizing: border-box;
}

.hs-form__field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231B191A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
  cursor: pointer;
}

.hs-form__field textarea {
  resize: vertical;
}

.hs-form__field input:focus,
.hs-form__field select:focus,
.hs-form__field textarea:focus {
  border-color: #0146c7;
}

.hs-form__field--error input,
.hs-form__field--error select,
.hs-form__field--error textarea {
  border-color: #ef6b51;
}

.hs-form__field-error {
  font-family: Switzer, sans-serif;
  font-size: 0.8125rem;
  color: #ef6b51;
  margin-top: 4px;
  display: none;
}

/* Progress tabs */

.hs-form__progress {
  display: flex;
  margin-top: 32px;
  gap: 6px;
}

.hs-form__progress-tab {
  flex: 1;
  padding: 16px 8px;
  color: #1b191a;
  font-family: "Switzer";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  text-transform: uppercase;
  background: none;
  border: none;
  border-bottom: 6px solid #ebebeb;
  text-align: left;
  transition:
    color 0.2s,
    border-color 0.2s;
  line-height: 1.4;
}

.hs-form__progress-tab.active {
  border-bottom-color: #fec842;
}

.hs-form__progress-tab.completed {
  border-bottom-color: #0146c7;
}

/* Navigation */

.hs-form__nav {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}

.hs-form__next,
.hs-form__back {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.hs-form__next .hs-form__submit-text,
.hs-form__back {
	font-size: 1rem !important;
}

.hs-form__back {
  background: #f2f2f2 !important;
  color: #313131 !important;
}

.hs-form__back > span {
  transform: rotate(180deg);
  position: relative;
  top: 3px;
}

/* Override global button display rules so [hidden] works correctly */

.hs-form__back[hidden],
.hs-form__nav .btn__wrapper[hidden] {
  display: none !important;
}

/* Consent note */

.hs-form__consent-note {
  display: none;
  color: #464644;
  font-family: "Switzer";
  font-size: 10px;
  font-style: italic;
  font-weight: 400;
  line-height: 15px;
  margin-top: 0.875rem;
}

.hs-form:has(.btn__wrapper:not([hidden]) > .hs-form__submit):not(.hs-form--submitted)
  .hs-form__consent-note {
  display: block;
}

/* Post-submission */

.contact-form .hs-form--submitted .hs-form__step,
.contact-form .hs-form--submitted .hs-form__progress,
.contact-form .hs-form--submitted .hs-form__nav {
  display: none;
}

.contact-form .hs-form__success {
  background: #0146c7;
  min-height: 661px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-inline: 1rem;
}

.contact-form .hs-form__success-logo {
  width: 72px;
  height: 72px;
}

.contact-form .hs-form__success-heading {
  color: #fff;
  text-align: center;
  font-family: "Obviously";
  font-size: 1.75rem;
  font-weight: 560;
  line-height: 40px;
  letter-spacing: -1.12px;
  text-transform: capitalize;
  max-width: 327px;
  width: 100%;
  margin-inline: auto;
}

.contact-form .hs-form__success-description {
  color: #eff0f2;
  text-align: center;
  font-family: "Switzer";
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.198px;
  max-width: 476px;
  width: 100%;
  margin-inline: auto;
}

.contact-form .hs-form__success-footer {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
}

.hs-form__error {
  font-family: "Switzer";
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.198px;
  margin-top: 1rem;
}

/* Responsive */

@media (max-width: 1024px) {
  .contact-form__wrapper {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .contact-form__headline {
    font-size: 3rem;
    line-height: 1.1;
  }

  .contact-form__form-panel {
    justify-self: start;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .contact-form {
    padding: 48px 0;
  }

  .contact-form__wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .contact-form__headline {
    font-size: 3.25rem;
    line-height: 54px;
  }

  .contact-form__details {
    gap: 20px;
  }

  .contact-form__detail-item {
    gap: 16px;
    align-items: start;
  }

  .contact-form__detail-icon {
    width: 56px;
    height: 56px;
  }

  .contact-form__detail-icon img,
  .contact-form__detail-icon svg {
    width: 56px;
    height: 56px;
  }

  .contact-form__detail-label {
    font-size: 0.75rem;
    line-height: 1.4;
  }

  .contact-form__detail-description,
  .contact-form__detail-description p {
    font-size: 0.875rem !important;
    letter-spacing: -0.5px;
  }

  .contact-form__form-panel {
    padding: 0;
  }

  .hs-form__step-title {
    font-size: 1.75rem;
    line-height: 1.3;
    letter-spacing: -1px;
  }

  .hs-form__row {
    grid-template-columns: 1fr;
  }

  .hs-form__field {
    margin-bottom: 16px;
  }

  .hs-form__field label {
    position: static;
    background-color: transparent;
    padding-inline: 0;
    font-size: 0.875rem !important;
    margin-bottom: 6px;
  }

  .hs-form__progress {
    margin-top: 24px;
    gap: 4px;
  }

  .hs-form__progress-tab {
    padding: 12px 4px;
    font-size: 10px;
    border-bottom-width: 4px;
  }

  .hs-form__nav {
    margin-top: 24px;
  }

  .hs-form__nav .btn__wrapper {
    width: 100%;
  }

  .hs-form__nav .btn__wrapper a,
  .hs-form__nav .btn__wrapper button {
    width: 100%;
    justify-content: center;
  }

  .contact-form .hs-form__success-heading {
    font-size: 1.25rem;
  }

  .contact-form .hs-form__success-description {
    font-size: 1rem;
  }
}

@media (max-width: 1280px) {
  .hs-form__field label {
    font-size: 0.75rem;
  }
}
.contact-newsletter {
	position: relative;
	height: 546px;
	margin-bottom: 3.25rem;
}

.contact-newsletter__image {
	position: absolute;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	left: 0;
	top: 0;
	z-index: -1;
}

.contact-newsletter .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	height: 100%;
}

.contact-newsletter__heading {
	color: #FEC842;
	font-family: "Monigue";
	font-size: 6rem;
	font-weight: 400;
	line-height: 92%;
	text-transform: uppercase;
	max-width: 750px;
	width: 100%;
	margin-bottom: 0 !important;
}

.contact-newsletter__description {
	color: #FFF;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	max-width: 750px;
	width: 100%;
}

/* Form */
.contact-newsletter__form-section {
	max-width: 438px;
	width: 100%;
}

.contact-newsletter__form {
	display: flex;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	width: 100%;
	padding-bottom: 0.875rem;
}

.contact-newsletter__form.hs-form--submitted {
	border-bottom: none;
}

.contact-newsletter__form .hs-form__input:-webkit-autofill,
.contact-newsletter__form .hs-form__input:-webkit-autofill:hover,
.contact-newsletter__form .hs-form__input:-webkit-autofill:focus,
.contact-newsletter__form .hs-form__input:-webkit-autofill:active {
	-webkit-text-fill-color: #FFFFFF !important;
	-webkit-box-shadow: 0 0 0 1000px transparent inset !important;
	background-color: transparent !important;
	transition: background-color 5000s ease-in-out 0s;
}

.contact-newsletter__form .hs-form__field {
	flex: 1;
	display: flex;
	width: 100%;
	margin-bottom: 0 !important;
}

.contact-newsletter__form .hs-form__input {
	all: unset;
	flex: 1;
	padding: 0 !important;
	color: #FFFFFF;
	font-family: "Switzer";
	font-size: 1.375rem;
	font-weight: 400;
	width: 100%;
}

.contact-newsletter__form .hs-form__input::placeholder {
	color: #FFF;
}

.contact-newsletter__form .hs-form__submit {
	all: unset;
	cursor: pointer;
	appearance: none;
	border: none;
	outline: none;
	width: 35px;
	height: 35px;
	border-radius: 100%;
	background: #FEC842 !important;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #0146C7;
}

.contact-newsletter__form .hs-form__field-error {
	color: #FEC842;
	font-family: "Switzer";
	font-size: 0.875rem;
	margin-top: 8px;
}

.contact-newsletter__form .hs-form__success {
	color: #FFF;
	font-family: "Switzer";
	font-weight: 400;
	font-size: 1.25rem;
	margin-top: 16px;
}

.contact-newsletter__form .hs-form__error {
	color: #FEC842;
	font-family: "Switzer";
	font-weight: 400;
	font-size: 1rem;
	margin-top: 16px;
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1280px) {
	.contact-newsletter {
		height: auto;
		padding: 80px 0;
	}

	.contact-newsletter .container {
		flex-direction: column;
		gap: 40px;
		align-items: flex-start;
	}

	.contact-newsletter__heading {
		font-size: 4.5rem;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.contact-newsletter {
		padding-top: 47px;
		padding-bottom: 34px;
		height: 500px;
	}

	.contact-newsletter .container {
		flex-direction: column;
		gap: 32px;
		align-items: flex-start;
	}

	.contact-newsletter__heading {
		font-size: 3.25rem;
	}

	.contact-newsletter__description {
		font-size: 0.875rem;
		line-height: 1.5;
	}

	.contact-newsletter__form-section {
		max-width: 100%;
	}

	.contact-newsletter__form {
		background: #fff;
		border-bottom: none;
		padding: 12px 12px 12px 16px;
		align-items: center;
	}

	.contact-newsletter__form .hs-form__input {
		color: #464644;
	}

	.contact-newsletter__form .hs-form__input::placeholder {
		color: #464644;
	}
	
	.contact-newsletter__form .hs-form__submit {
		background-color: #0146C7 !important;
		color: #FEC842 !important;
	}
}

/* ================================
   Full Image Text Section
   ================================ */
section.full-image-text {
  width: 1920px;
  max-width: 100%;
  margin-inline: auto;
  position: relative;
  aspect-ratio: 1920/805;

}

section.full-image-text > .container {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.full-image-text .container--full {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.full-image-text .container--full::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
  mix-blend-mode: hard-light;
  z-index: 1;
  pointer-events: none;
}

.full-image-text .container--full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 0;
}

.full-image-text__wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 75px 0;
  overflow: hidden;
	justify-content: flex-end; 
}

.full-image-text.heading {
  color: #FEC842;
  font-size: 10.25rem;
  font-style: normal;
  line-height: 100.55%;
  max-width: 918px;
  margin-top: auto;
}

.full-image-text__breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
	color: #FFF;
	font-family: "Switzer";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 166.667%;
	text-decoration: none;
	text-transform: uppercase;
}

.full-image-text__breadcrumb a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.2s;
}

.full-image-text__breadcrumb a:hover {
  color: #fff;
}

.full-image-text__breadcrumb .separator {
}

.full-image-text__breadcrumb .current {
  color: #fff;
}

.full-image-text__description {
	color: #FFF;
	font-family: "Switzer";
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 135.714%;
	letter-spacing: -0.5px;
	text-transform: uppercase;
	display:none;
}

/* ================================
   Responsive Styles
   ================================ */

/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
  .full-image-text .full-content.subheading {
    font-size: 1rem;
    line-height: normal;
  }
  
  .full-image-text .full-content__description {
    font-size: 1rem;
    line-height: 150%;
  }
}

/* Tablet only (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {
  section.full-image-text {
    aspect-ratio: 5/4;
  }
}

/* Mobile only (up to 768px) */
@media (max-width: 768px) {
  section.full-image-text {
    aspect-ratio: 86/89;
  }
  
  .full-image-text__wrapper {
    padding: 48px 0;
  }
  
	.full-image-text.heading {
		font-size:3.25rem;
		line-height: 54px; /* 103.846% */
	}
	
	.full-image-text__breadcrumb {
		display:none;
	}
	
	.full-image-text__description {
		display:block;
		max-width:360px;
	}
}
section.case-study-data {
	
	margin:98px 0 180px 0;
}

.case-study-data__wrapper {
	text-align:center;
}

.case-study-data.heading {
	font-size:6rem;
	line-height:1.02;
	max-width:1137px;
	margin:0 auto 68px auto;
}

.case-study-data__row {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
	justify-content:space-around;
}

.case-study-data__title {
	font-family:"Switzer";
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 2; /* 200% */
	text-transform: uppercase;

}

.case-study-data__subtitle {
	font-family:"Switzer";
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 3.11; /* 200% */
	text-transform: uppercase;
	opacity: 0.5;
		margin-bottom:0;
}

@media (max-width: 768px) {
	section.case-study-data {

		margin:72px 0;
	}

	.case-study-data__wrapper {
		text-align:left;
	}
	.case-study-data.heading {
		font-size:3rem;
		line-height:1.06;
    max-width:395px;
		margin:0 0 36px 0;
	}
	.case-study-data__row {
		grid-template-columns:repeat(2,1fr);
	}
	.case-study-data__item {
		text-align:left;
	}
	
	.case-study-data__title {
		font-size: 0.75rem;
		line-height:normal;
	}

	.case-study-data__subtitle {
		font-size: 0.75rem;
		line-height:normal;
		margin-bottom:0px;
	}
}
section.case-study-row {
	margin:98px 0 180px 0;
}

.case-study-row__wrapper {
	display:flex;
	flex-direction:column;
	gap:132px;
	
}
.case-study-row__item {
	display:flex;
	justify-content:space-between;
	gap:40px;
}
.case-study-row__title {
	color: #1B191A;
	font-family: "Obviously";
	font-size: 3rem;

	font-weight: 560;
	line-height: 1.24; /* 59.52px */
	letter-spacing: -2px;
	text-transform: uppercase;
}

.case-study-row__subtitle {
	color:#464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	max-width:952px;
}
/* Tablet (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {
	.case-study-row__item {

		gap:100px;
	}
}

@media (max-width: 768px) {
	section.case-study-row {
		margin: 0 0 60px 0;
	}
	.case-study-row__wrapper {
		gap:60px;
	}
	.case-study-row__item {
		flex-direction:column;
		gap:16px;
	}
	.case-study-row__title {
		font-size: 1.75rem;
		line-height:1.37;
		letter-spacing:-1px;
		margin-bottom:0;
	}
	.case-study-row__subtitle {
		font-size: 1rem;
		line-height:1.5;
		margin-bottom:0;
	}
}
section.image-grid {
  margin: 0 0 120px 0;
}

.image-grid .heading {
	font-size:8rem;
	line-height:1.07;
	font-weight:400;
	max-width: 953px;
	margin: 0 auto 0 auto;
}
 .image-grid__wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-top: 80px;
}
.image-grid__item {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	width: 100%;
	aspect-ratio: 16/9;
}
.image-grid__item img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* ================================
   Responsive Styles
   ================================ */
/* Mobile (up to 768px) */
@media (max-width: 768px) {
	section.image-grid {
		margin-bottom:48px;
  }
	.image-grid__wrapper {
		grid-template-columns: 1fr;
		margin-top: 20px;
	}

	.image-grid.heading {
		font-size:3.25rem;
		line-height: 54px; /* 103.846% */
		max-width:400px;
	}
}
/* Tablet (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {

}
section.testimonial {
  margin: 60px 0 120px 0;
}

.testimonial .heading {
	font-size:8rem;
	line-height:1.07;
	font-weight:400;
	max-width: 953px;
	text-align:center;
	margin: 0 auto 24px auto;
}
.testimonial .icon-slideshow {
	margin-bottom:64px;
}
.testimonial__quote {
	color: #1B191A;
	text-align: center;
	font-family: "Switzer";
	font-size: 1.5rem;
	font-style: italic;
	font-weight: 500;
	line-height: 1.91; 
	text-transform: uppercase;
	margin-bottom:44px;
	max-width:1012px;
}

.testimonial__author,
.testimonial__position {
	color: #1B191A;
	text-align: center;
	font-family: "Switzer";
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.91; 
	text-transform: uppercase;
	opacity: 0.5;
	margin-bottom:0;
}
 .testimonial__wrapper {
	 display: flex;
	 flex-direction: column; 
	 align-items: center;   
	 justify-content: center;
}


/* ================================
   Responsive Styles
   ================================ */
/* Mobile (up to 768px) */
@media (max-width: 768px) {
	section.testimonial {
		margin: 0 0 80px 0;
	}
	
	.testimonial .heading {
		font-size:3.25rem;
		line-height:1.03;
	}
	
	.testimonial .icon-slideshow {
		width:94px;
		height:94px;
		margin-bottom:20px;
	}
	
	.testimonial__quote {
		font-size:1rem;
		line-height:1.625;
		font-weight:500;
	}
	
	.testimonial__author{
		font-size:1rem;
		line-height:normal;
	}
	
	.testimonial__position {
		font-size:0.75rem;
		line-height:normal;
	}
}
/* Tablet (769px to 1280px) */
@media (min-width: 769px) and (max-width: 1280px) {

}

/* ================================
Hero Location Section
================================ */
section.hero-location {
	padding: 0;
	background-color: #0146C7;
	position: relative;
	overflow: hidden;
	max-width: 1920px;
	margin-inline: auto;

}

.hero-location > .container--full {
	position: relative;
	height: 100%;
}

.hero-location__wrapper {
	display: flex;
	align-items: flex-end;
	position: relative;
	min-height: 638px;
}

.hero-location__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding-left: 160px;
	position: relative;
	z-index: 2;
	padding-bottom: 60px;
}

.hero-location__description {
	color: #FEC842;
	font-family: "Switzer";
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: -0.96px;
	text-transform: uppercase;
	margin-bottom: 24px;
	order: -1;
}

.hero-location.heading {
	color: #FFF;
	font-family: "Monigue";
	font-size: 8rem;
	font-style: normal;
	font-weight: 400;
	line-height: .906;
	text-transform: uppercase;
	max-width: 918px;
	margin-bottom: 24px;
}

.hero-location.heading .highlighted-text::after {
	top: 35%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% + 140px);
	height: calc(100% + 140px);
}

.hero-location__breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-family: "Switzer";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 166.667%;
	text-decoration: none;
	text-transform: uppercase;
}

.hero-location__breadcrumb a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	transition: color 0.2s;
}

.hero-location__breadcrumb a:hover {
	color: #fff;
}

.hero-location__breadcrumb .current {
	color: #fff;
}

.hero-location__img {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	aspect-ratio: 114/65;
	mix-blend-mode: darken;
}

/* Create the overlay */
.hero-location__img::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	background: linear-gradient(90deg, #0146C7 0%, transparent 100%);
	pointer-events: none;
	z-index: 2;
}

.hero-location__img img {
	max-width: 1119px;
	max-height: 638px;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;

}

.hero-location__img-full {
	aspect-ratio:1920/906;
}

.hero-location__img-full img {
	max-width: 1920px;
	max-height: 906px;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;

}

/* ================================
Responsive Styles
================================ */
/* Tablet & Mobile (up to 1280px) */
@media (max-width: 1280px) {
	section.hero-location {
		margin-bottom:100px;
	}
	.hero-location__content {
		padding-left: 80px;
	}

	.hero-location__img {
		width: 100%;
	}
}

/* Mobile only (up to 768px) */
@media (max-width: 768px) {
	section.hero-location {
		padding: 0;
		margin-bottom:40px;
	}

	.hero-location__wrapper {
		min-height:366px;
	}
	.hero-location__content {
		padding: 0 20px 40px 20px;

	}

	.hero-location.heading {
		font-size: 3.25rem;
		line-height: 1.03;
		text-align:center;
	}

	.hero-location__breadcrumb {
		display:none;
	}

	.hero-location__description {
		font-size:0.75rem;
		line-height:1.6;
		letter-spacing:-0.48px;
		text-align:center;
	}

	.hero-location__img {
		width: 100%;
		top:-100px;
	}

	.hero-location__img::after {
		background: linear-gradient(0deg, #0146C7 35%, transparent 100%);
	}

	.hero-location.heading .highlighted-text::after {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% + 60px);
		height: calc(100% + 60px);
	}
}
/* ================================
About Accordion Section
================================ */
section.about-accordion {
	padding: 0;
	background-color: #EFF0F2;
	max-width: 1920px;
	margin-inline: auto;
}

.about-accordion__wrapper {
	display: flex;
	align-items: stretch; 
	justify-content: space-between;
	gap: 0;
}

.about-accordion__img {
	flex-shrink: 0;
	width: 45%;
}

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

/* Accordion styles */
.about-accordion .faq__accordion {
	flex: 1;
	width: 100%;
	max-width: none;
}

.about-accordion .faq__accordion .accordion-item {
	display: flex;
	flex-direction: column;
	padding: 40px 88px 40px 160px;
	border-bottom: 1px solid #E0E0E0;
	margin: 0;
	cursor: pointer;
}

.about-accordion .faq__accordion .accordion-item__content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 120px;
}

.about-accordion .faq__accordion .accordion-item__title {
	color: #1B191A;
	font-family: "Switzer";
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -1px;
	text-transform: uppercase;
}

.about-accordion .faq__accordion .accordion-item__description {
	display: grid;
	grid-template-rows: 0fr;
	margin: 0;
	width: 100%;
	color: #464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
	transition: grid-template-rows 0.3s ease, padding-top 0.3s ease;
}

.about-accordion .faq__accordion .accordion-item__description > * {
	overflow: hidden;
}

.about-accordion .faq__accordion .accordion-item__icon {
	display: block;
	flex-shrink: 0;
	align-self: flex-start;
	cursor: pointer;
	transition: transform 0.3s ease;
}

.about-accordion .faq__accordion .accordion-item__icon circle {
	fill: #0146C7;
	transition: fill 0.4s ease;
}

.about-accordion .faq__accordion .accordion-item__icon path {
	fill: #FFFFFF;
	transition: fill 0.4s ease;
}

/* Active state */
.about-accordion .faq__accordion .accordion-item.active .accordion-item__icon {
	transform: rotate(-90deg);
}

.about-accordion .faq__accordion .accordion-item.active .accordion-item__icon circle {
	fill: #FEC842;
}

.about-accordion .faq__accordion .accordion-item.active .accordion-item__icon path {
	fill: #0146C7;
}

.about-accordion .faq__accordion .accordion-item.active .accordion-item__description {
	grid-template-rows: 1fr;
	padding-top: 16px;
}

/* ================================
Responsive Styles
================================ */
/* Tablet & Mobile */
@media (max-width: 1280px) {
	.about-accordion__wrapper {
		flex-direction: column;
		gap: 0;
	}

	.about-accordion__img {
		order: 2;
		width: 100%;
	}

	.about-accordion .faq__accordion {
		order: 1;
	}

	.about-accordion .faq__accordion .accordion-item {
		padding: 20px 18px;
	}

	.about-accordion .faq__accordion .accordion-item__content {
		gap: 44px;
		padding-bottom: 24px;
	}

	.about-accordion .faq__accordion .accordion-item__title {
		font-size: 1.25rem;
		line-height: normal;
	}

	.about-accordion .faq__accordion .accordion-item__description {
		font-size: 1rem;
		line-height: 150%;
	}

	.about-accordion .faq__accordion .accordion-item.active .accordion-item__description {
		padding-top: 0;
		margin-bottom: 32px;
	}
}

/* Tablet only */
@media (min-width: 769px) and (max-width: 1280px) {
}

/* Mobile only */
@media (max-width: 768px) {

}
/* ================================
   Text Content Section
   ================================ */
section.text-content {
  margin: 60px 0 120px 0;
}

.text-content__wrapper {
  display: flex;
  flex-direction: column; 
  align-items: center;   
  justify-content: center;
}

.text-content.heading {
  font-size: 8rem;
  line-height: 1.07;
  font-weight: 400;
  max-width: 980px;
  text-align: center;
  margin: 0 auto 24px auto;
}

.text-content__description {
	color: #464644;
	text-align: center;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
  margin-bottom: 44px;
  max-width: 915px;
}

/* ================================
   Responsive Styles
   ================================ */
/* Mobile (up to 768px) */
@media (max-width: 768px) {
  section.text-content {
    margin: 80px 0;
  }
  
	.text-content__wrapper {
		display: flex;
		flex-direction: column; 
		align-items: flex-start;   
		justify-content: center;
	}

  .text-content.heading {
    font-size: 3.25rem;
    line-height: 1.03;
		text-align:left;
		max-width:354px;
		margin:0 0 32px ;
  }
  
  .text-content__description {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
		text-align:left;
		margin-bottom:32px;
		
  }
}
section.services-timeline {
	margin: 60px 0 120px 0;
	background-color: #101010;
}

.services-timeline__icon-row {
	display: flex;
	gap: 60px;
	justify-content: center;
	align-items: center;
	position: relative;
	--icon-hang: 50%;
	transform: translateY(calc(var(--icon-hang) * -1));
}

.services-timeline__icon {
	max-width: 100px;
	max-height: 100px;
}

.services-timeline__icon img {
	width: 100%;
	height: auto;
}

.services-timeline.title {
	color: #FFF;
	text-align: center;
	font-family: "Obviously";
	font-size: 4rem;
	font-style: normal;
	font-weight: 560;
	line-height: 1.24;
	letter-spacing: -3px;
	max-width: 1260px;
	margin: 0 auto 32px auto;
}

.services-timeline__description {
	color: #EFF0F2;
	text-align: center;
	font-family: "Switzer";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.67;
	max-width: 815px;
	margin: 0 auto 60px auto;
}

.services-timeline__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	color: #FFF;
	max-width: 1306px;
	gap: 20px 70px;
	margin: 0 auto 0 auto;
}

.services-timeline__grid-item {
	display: flex;
	position: relative;
	padding: 35px 0;
	border: 1px solid rgba(239, 240, 242, 0.2);
	overflow: hidden;
}

/* Full width variant */
.services-timeline__grid-item.full-width {
	grid-column: span 2;
}

.services-timeline__grid-item.full-width .services-timeline__grid-title {
	margin-left: 40%;

}

.services-timeline__grid-item.full-width .services-timeline__grid-number {
	left: 25%;
}

.services-timeline__grid-title {
	color: #FFF;
	font-family: "Switzer";
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.60;
	letter-spacing: -0.96px;
	text-transform: uppercase;
	margin: 0 0 0 25%;
}

.services-timeline__grid-number {
	color: #FFF;
	font-family: "Obviously";
	font-size: 11.75rem;
	font-style: normal;
	font-weight: 560;
	line-height: 1.60;
	letter-spacing: -7.52px;
	text-transform: uppercase;
	opacity: 0.2;
	position: absolute;
	top: 40%;
	left: 0;
	transform: translateY(-50%);
}

.services-timeline__img {
	width: 100%;
	aspect-ratio: 799 / 288;
	position: relative;
	--img-hang: 25%;
	transform: translateY(var(--img-hang));
	margin-top: translateY(var(--img-hang)*-1);
}

.services-timeline__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.services-timeline__grid-item:nth-child(2) .services-timeline__grid-number,
.services-timeline__grid-item:nth-child(5) .services-timeline__grid-number,
.services-timeline__grid-item:nth-child(4) .services-timeline__grid-number {
	left: auto;
	right: -2%;
}

/* ================================
Responsive Styles
================================ */
/* Tablet & Mobile (shared) */
@media (max-width: 1280px) {
	.services-timeline__grid {
		width: 100%;
		max-width: 100%;
	}

}

/* Mobile (up to 768px) */
@media (max-width: 768px) {
	.services-timeline__icon-row {
		gap: 32px;
	}

	.services-timeline__icon {
		max-width: 50px;
		max-height: 50px;
	}
	.services-timeline__grid {
		gap:16px 70px;
	}

	.services-timeline__grid-item {
		padding: 32px 0;
	}

	.services-timeline.title {
		font-size: 1.75rem;
		line-height: 1.37;
		letter-spacing: -1px;
		text-align: left;
	}

	.services-timeline__description {
		font-size: 1rem;
		line-height: 1.5;
		text-align: left;
	}

	.services-timeline__grid {
		grid-template-columns: 1fr;
	}

	.services-timeline__grid-title {
		font-size: 1rem;
		line-height: 1.6;
		letter-spacing: -0.16px;
		margin-left: 120px;
	}

	/* Remove full-width variant styles on mobile */
	.services-timeline__grid-item.full-width {
		grid-column: span 1;
	}

	.services-timeline__grid-item.full-width .services-timeline__grid-title {
		margin-left: 120px;
		margin-right: 0;
	}

	.services-timeline__grid-item.full-width .services-timeline__grid-number,
	.services-timeline__grid-item:nth-child(2) .services-timeline__grid-number,
	.services-timeline__grid-item:nth-child(5) .services-timeline__grid-number,
	.services-timeline__grid-item:nth-child(4) .services-timeline__grid-number{
		left: 0;
	}

	.services-timeline__img {
		--img-hang: 10%;
		aspect-ratio: 395/240;
	}
}
section.location-cta {
	margin: 60px 0 120px 0;
}

.location-cta .heading {
	font-size:8rem;
	line-height:1.07;
	font-weight:400;
	max-width: 953px;
	text-align:left;
	margin: 0;
}

.location-cta__wrapper {
	display: flex;
	align-items: flex-end;   
	justify-content: space-between;
	gap:40px;
	margin-bottom:110px;
}

.location-cta__text {
	max-width:455px;
}

.location-cta__description {
	color: #464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
}

.location-cta__text .btn__wrapper{
	margin-bottom:22px;
}
.location-cta__img {
	aspect-ratio:aspect-ratio: 1600 / 675;
	width:100%;
	overflow:hidden;
}
.location-cta__img img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	object-position: center;
}
.location-cta__icon-row {
	display:flex;
	gap:100px;
	background-color:#1B191A;
	justify-content:center;
	margin-top:-80px;
	padding-bottom:48px;
}

.location-cta__icon-container {
	max-width:278px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

}

.location-cta__icon-container img {
	max-width:120px;
	width:100%;
	height:100%;
	margin-bottom:16px;
	object-fit: cover;
}

.location-cta__icon-description {
	color: #FFF;
	text-align: center;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.7; /* 170% */
	text-transform: uppercase;
	margin-bottom:0;
}
/* ================================
Responsive Styles
================================ */

@media (max-width: 1280px) {
	section.location-cta {
		margin: 60px 0 0 0;
	}
	.location-cta.heading {
		font-size:4rem;
		line-height:1.03;
	}

	.location-cta__description {
		font-size:1rem;
		line-height:1.5;
		margin-bottom:18px;		
	}

	.location-cta__text .btn__wrapper{
		margin-bottom:8px;
	}

	.location-cta__img {
		aspect-ratio: 430 / 368;
		width:100%;
		overflow:hidden;
	}

	.location-cta__icon-row {
		flex-direction:column;
		align-items:center;
		gap:80px;
	}

}
/* Tablet only */
@media (min-width: 769px) and (max-width: 1280px) {
	.location-cta.heading {
		max-width:450px;
	}
}

/* Mobile only */
@media (max-width: 768px) {
	.location-cta__wrapper {
		flex-direction:column;
		align-items:flex-start;
		margin-bottom:60px;
	}

}
section.video-process {
	--stagger-step: 100px;
	margin: 60px 0 120px 0;
	overflow: visible;
}
.video-process.heading {
	font-size:8rem;
	line-height:1.07;
	text-align: right;
	margin: 0 0 80px auto;
	max-width:1111px;
}
.video-process__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	align-items: start;
}
.video-process--item {
	display: flex;
	flex-direction: column;
	position: relative;
	cursor: pointer;
}
/* Stagger Logic using the Variable */
.video-process--item:nth-child(2) { margin-top: var(--stagger-step); }
.video-process--item:nth-child(3) { margin-top: calc(var(--stagger-step) * 2); }
.video-process--item:nth-child(4) { margin-top: calc(var(--stagger-step) * 3); }
.video-process--item:nth-child(5) { margin-top: calc(var(--stagger-step) * 4); }
.video-process__box {
	background-color: var(--box-color, #1B191A);
	padding: 16px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	transition: background-color 0.3s ease;
}
.video-process--item.active .video-process__box {
	background-color: #0146C7;
}

.video-process__arrow {
	position: absolute;
	top: -80px;
	left: 80%;
	width: 192px;
	z-index: -1;
	pointer-events: none;
}
.video-process__arrow svg {
	width: 100%;
	height: auto;
}
.video-process__step-title {
	color: #FFF;
	text-align: center;
	font-family: "Switzer";
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 2.8;
	text-transform: uppercase;
	margin: 0;
}
.video-process__description {
	color: #464644;
	font-family: "Switzer";
	font-size: 1.25rem;
	line-height: 1.5;
	margin-top: 15px;
}
.video-process__image {
	--box-color: initial;
	width: 100%;
	aspect-ratio: 305/358;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: max-height 0.3s ease, opacity 0.3s ease, margin-bottom 0.3s ease;
	margin-bottom: 0;
}
.video-process--item.active .video-process__image {
	opacity: 1;
	margin-bottom: 15px;
	max-height: 500px;
}
.video-process__image img {
	
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ================================
   Responsive Styles
================================ */
/* Tablet & Mobile (shared styles) */
@media (max-width: 1280px) {
	
	.video-process.heading {
		font-size:3.25rem;
		line-height:1.03;
	}
	
	.video-process__grid {
		grid-template-columns: 1fr;
		margin: 0 auto;
	}
	
	.video-process--item {
		margin-top: 0 !important;
	}
	
	.video-process__arrow {
		display: none;
	}
	
	.video-process__description {
		font-size: 1rem;
		line-height: 1.5;
	}
	
	.video-process__image {
		width: 100%;
		aspect-ratio: 395/282;
	}
	
	.video-process__image img {
		object-position: 50% top;
	}
}

/* Tablet specific */
@media (min-width: 769px) and (max-width: 1280px) {
	.video-process.heading {
		text-align: center;
		margin: 0 auto 52px auto;

	}
	
	.video-process__grid {
		max-width: 500px;
	}
	
	.video-process__image {
		max-width: 500px;
	}
	
	.video-process--item.active .video-process__image {
		max-height: 357px;
	}
}

/* Mobile specific */
@media (max-width: 768px) {
	.video-process.heading {
		text-align: left;
		margin: 0 0 52px 0;

	}
	
	.video-process__grid {
		max-width: 395px;
	}
	
	.video-process__image {
		max-width: 395px;
	}
	
	.video-process--item.active .video-process__image {
		max-height: 282px;
	}
}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}