/*
Theme Name: Spixels
Theme URI: https://spixels.co.uk/
Description: Custom WordPress theme developed for Spixels.
Author: Spixels
Author URI: https://spixels.co.uk/
Template: Divi
Version: 1.0.65
Text Domain: spixels
*/


/* ==========================================================================
   Spixels global styles
   ========================================================================== */

/*
 * Custom styling and animation enhancements will be added here as the
 * Divi layouts are developed.
 */
 

 /* ==========================================================================
   Hero
   ========================================================================== */

body.home .et_pb_section.spixels-hero {
	position: relative;
	overflow: hidden;
}


/* Illustrator v54 Ribbon-X sculpture. Divi content remains above these layers. */
body.home .et_pb_section.spixels-hero {
	isolation: isolate;
}

body.home .spixels-hero-atmosphere,
body.home .spixels-hero-sculpture,
body.home .spixels-hero-overlay {
	position: absolute;
	pointer-events: none;
}

body.home .spixels-hero-atmosphere {
	inset: -15%;
	z-index: -3;
	background: radial-gradient(ellipse at 75% 42%, color-mix(in srgb, #ff4b19 27%, transparent), transparent 57%);
	opacity: .75;
	animation: spixels-hero-atmosphere 12s ease-in-out infinite alternate;
}

body.home .spixels-hero-sculpture {
	right: -8vw;
	top: 50%;
	z-index: -2;
	width: min(91vw, 1400px);
	aspect-ratio: 1;
	transform: translate(0, -50%);
}

body.home .spixels-ribbon-space,
body.home .spixels-ribbon {
	width: 100%;
	height: 100%;
}

body.home .spixels-ribbon {
	position: relative;
	overflow: hidden;
	background: #3a214a;
	mask: url("assets/ribbon-x-cutaway.svg") center / contain no-repeat;
	-webkit-mask: url("assets/ribbon-x-cutaway.svg") center / contain no-repeat;
}

body.home .spixels-ribbon-metal,
body.home .spixels-ribbon-highlight {
	position: absolute;
}

body.home .spixels-ribbon-metal {
	inset: -10%;
	background: linear-gradient(118deg, #120f14 4%, #3a2a27 17%, #9b321e 24%, #f7ddd0 27%, #ff4b19 31%, #291210 39%, #713020 48%, #f1b39b 52%, #5c1b12 58%, #181316 69%, #c36a4d 78%, #f5e4dc 82%, #2a2225 90%);
	background-size: 250% 250%;
	animation: spixels-ribbon-metal-flow 6s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}

body.home .spixels-ribbon-highlight {
	inset: -30%;
	background: linear-gradient(110deg, transparent 35%, #fff1d1aa 46%, #fff6eedd 49%, transparent 54%);
	mix-blend-mode: screen;
	opacity: .6;
	transform: translateX(-60%);
	animation: spixels-ribbon-highlight-sweep 5.5s ease-in-out infinite;
}

body.home .spixels-hero-overlay {
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, color-mix(in srgb, #0b0911 76%, transparent) 0%, color-mix(in srgb, #0b0911 44%, transparent) 30%, transparent 82%), linear-gradient(0deg, #0b0911 0%, transparent 20%);
}

/* Keep the Divi content above the decorative artwork. */
body.home .et_pb_section.spixels-hero > .et_pb_row {
	position: relative;
	z-index: 2;
}

@keyframes spixels-ribbon-metal-flow {
	from { background-position: 12% 30%; }
	to { background-position: 90% 70%; }
}

@keyframes spixels-ribbon-highlight-sweep {
	0%, 15% { transform: translateX(-65%); opacity: 0; }
	40% { opacity: .55; }
	70%, 100% { transform: translateX(65%); opacity: 0; }
}

@keyframes spixels-hero-atmosphere {
	from { opacity: .4; translate: -2% 0; }
	to { opacity: .9; translate: 3% -2%; }
}

@media (max-width: 899px) {
	body.home .spixels-hero-sculpture {
		right: -30vw;
		top: 46%;
		width: 115vw;
	}
}

@media (max-width: 520px) {
	body.home .spixels-hero-sculpture {
		right: -55vw;
		top: 44%;
		width: 145vw;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .spixels-hero-atmosphere,
	body.home .spixels-ribbon-metal {
		animation: none;
	}

	body.home .spixels-ribbon-metal {
		background-position: 50% 50%;
	}

	body.home .spixels-ribbon-highlight {
		display: none;
	}
}

/* ==========================================================================
   Moove consent UI — Spixels colour integration
   ========================================================================== */

#moove_gdpr_cookie_info_bar {
  color: #19171d !important;
  background-color: #f0ede6 !important;
  bottom: env(safe-area-inset-bottom) !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice h2 {
  color: #19171d !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p {
  color: #706970 !important;
}

#moove_gdpr_cookie_info_bar .mgbutton {
	min-height: 44px !important;
}

#moove_gdpr_cookie_modal .mgbutton,
#moove_gdpr_cookie_modal #moove-gdpr-menu button {
	min-height: 44px !important;
}

/* Moove scales its native tablet modal to 75%; 59px renders above 44px. */
@media (min-width: 768px) and (max-width: 999px) {
	#moove_gdpr_cookie_modal .mgbutton,
	#moove_gdpr_cookie_modal #moove-gdpr-menu button {
		min-height: 59px !important;
	}
}

#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all,
#moove_gdpr_cookie_modal .moove-gdpr-modal-allow-all,
#moove_gdpr_cookie_modal .moove-gdpr-modal-save-settings {
  color: #f0ede6 !important;
  background-color: #0b0911 !important;
  border-color: #0b0911 !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-reject-btn,
#moove_gdpr_cookie_modal .moove-gdpr-modal-reject-all {
  color: #19171d !important;
  background-color: #f0ede6 !important;
  border-color: #19171d !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-settings-btn {
  background-color: #f0ede6 !important;
  border-color: #b33a17 !important;
  color: #b33a17 !important;
}

.gdpr_lightbox {
  background-color: rgba(11, 9, 17, .78) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content,
#moove_gdpr_cookie_modal .moove-gdpr-modal-right-content,
#moove_gdpr_cookie_modal .moove-gdpr-modal-footer-content {
  color: #19171d !important;
  background-color: #f0ede6 !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-left-content {
  color: #f0ede6 !important;
  background-color: #0b0911 !important;
}

#moove_gdpr_cookie_modal .main-modal-content h3,
#moove_gdpr_cookie_modal .main-modal-content .tab-title {
  color: #19171d !important;
}

#moove_gdpr_cookie_modal .main-modal-content p,
#moove_gdpr_cookie_modal .main-modal-content li {
  color: #706970 !important;
}

#moove_gdpr_cookie_modal #moove-gdpr-menu li button {
  background-color: transparent !important;
  color: rgba(240, 237, 230, .72) !important;
}

#moove_gdpr_cookie_modal #moove-gdpr-menu li.menu-item-selected button,
#moove_gdpr_cookie_modal #moove-gdpr-menu li button:hover,
#moove_gdpr_cookie_modal #moove-gdpr-menu li button:focus-visible {
  background-color: #ff4b19 !important;
  color: #0b0911 !important;
  border-color: #ff4b19 !important;
}

#moove_gdpr_cookie_modal #moove-gdpr-menu li button span {
  color: inherit !important;
}

#moove_gdpr_cookie_modal .cookie-slider,
#moove_gdpr_cookie_modal .checkbox-selected .cookie-slider {
  border-color: #ff4b19 !important;
}

#moove_gdpr_cookie_modal .checkbox-selected .cookie-slider,
#moove_gdpr_cookie_modal .checkbox-selected .cookie-slider::before {
  background-color: #ff4b19 !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-close {
	min-width: 44px !important;
	min-height: 44px !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-close .gdpr-icon {
  color: #f0ede6 !important;
  background-color: #0b0911 !important;
  border-color: #0b0911 !important;
}

#moove_gdpr_cookie_info_bar button:focus-visible,
#moove_gdpr_cookie_modal button:focus-visible,
body .et_pb_section.spixels-footer .spixels-footer-cookie-settings.et_pb_button:focus-visible {
  outline: 2px solid #ff4b19 !important;
  outline-offset: 3px !important;
}

body .et_pb_section.spixels-footer .spixels-footer-cookie-settings.et_pb_button {
  min-height: 44px;
}
/* Warm Editorial Services chapter. Editable content remains in native Divi modules. */
body.home .et_pb_section.spixels-services {
  min-height: 100vh;
  min-height: 100svh;
  padding: 10vh 7.5% !important;
  background: var(--gcid-evlc1npffh, #18171b) !important;
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  scroll-margin-top: 78px;
}

body.home .spixels-services *,
body.home .spixels-services *::before,
body.home .spixels-services *::after { box-sizing: border-box; }

body.home .spixels-services h2,
body.home .spixels-services p { margin: 0; padding: 0; }

body.home .spixels-services-inner,
body.home .spixels-services-inner > .et_pb_column {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home .spixels-services-heading {
  display: grid !important;
  grid-template-columns: 1fr 1.35fr;
  gap: 25px 7vw;
  margin: 0 0 65px !important;
}

body.home .spixels-services-eyebrow { grid-column: 1 / -1; }
body.home .spixels-services-title { grid-column: 1; margin: 10px 0 !important; }
body.home .spixels-services-intro {
  grid-column: 2;
  align-self: end;
  max-width: 370px;
  padding-bottom: 15px;
}

body.home .spixels-services-eyebrow .et_pb_text_inner {
  color: var(--gcid-ggs5im5ma3, #ff4b19) !important;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.home .spixels-services-title h2 {
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: clamp(46px, 5.1vw, 94px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.025em;
}

body.home .spixels-services-intro .et_pb_text_inner {
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}

body.home .spixels-services-list,
body.home .spixels-service-item,
body.home .spixels-service-copy,
body.home .spixels-service-features { display: block !important; }

body.home .spixels-service-item {
  --spixels-service-label-x: 0px;
  position: relative;
  padding: 0 25px;
  border-top: 1px solid #ffffff2e;
  transition: background-color .4s ease, color .4s ease, border-color .4s ease;
}

body.home .spixels-service-item:last-child { border-bottom: 1px solid #ffffff2e; }

body.home .spixels-service-header {
  position: relative;
  display: grid !important;
  grid-template-columns: 55px minmax(0, 1fr) 45px;
  gap: 20px;
  align-items: center;
  min-height: clamp(92.8px, calc(4.83vw + 56px), 143.4px);
  padding: 28px 0;
}

body.home .spixels-service-number {
  align-self: start;
  padding-top: 10px;
  pointer-events: none;
}

body.home .spixels-service-number .et_pb_text_inner {
  color: var(--gcid-ggs5im5ma3, #ff4b19);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

body.home .spixels-service-header > .et_pb_button_module_wrapper {
  position: static !important;
}

body.home .spixels-service-trigger {
  --spixels-service-trigger-left: 75px;
  --spixels-service-trigger-right: 65px;
  position: absolute !important;
  inset: 0;
  z-index: 2;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 var(--spixels-service-trigger-right) 0 var(--spixels-service-trigger-left) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left;
  cursor: pointer;
  transition: none !important;
  color: var(--gcid-4z04h2izrf, #f5f4ed) !important;
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif !important;
  font-size: clamp(32px, 4.2vw, 76px) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
}

/* Preserve the full-row target inset against the later Divi Button preset hover rule. */
body.home #page-container .spixels-services .spixels-service-trigger:hover {
  padding: 0 var(--spixels-service-trigger-right) 0 var(--spixels-service-trigger-left) !important;
}

body.home .spixels-service-trigger-label {
  display: block;
  pointer-events: none;
  transform: translate3d(var(--spixels-service-label-x), 0, 0) !important;
  transition: transform .3s cubic-bezier(.2, .8, .2, 1) !important;
  will-change: transform;
}

body.home .spixels-service-trigger::after { display: none !important; }
body.home .spixels-service-header:has(.spixels-service-trigger:focus-visible) {
  outline: 2px solid var(--gcid-ggs5im5ma3, #ff4b19);
  outline-offset: 6px;
}

body.home .spixels-service-trigger:focus-visible { outline: 0 !important; }

body.home .spixels-service-indicator {
  justify-self: end;
  pointer-events: none;
}

body.home .spixels-service-panel {
  display: grid !important;
  grid-template-rows: 0fr;
  margin: 0 0 0 75px !important;
  padding: 0 34px 0 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  transition:
    grid-template-rows .4s ease,
    padding-bottom .4s ease,
    opacity .4s ease,
    transform .4s ease;
}

body.home .spixels-service-panel[hidden] { display: none !important; }

body.home .spixels-service-item.is-active {
  background: color-mix(in srgb, var(--gcid-ggs5im5ma3, #ff4b19) 14%, var(--gcid-evlc1npffh, #18171b));
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  border-top-color: var(--gcid-ggs5im5ma3, #ff4b19);
}

body.home .spixels-service-item.is-active:last-child { border-bottom-color: #ffffff2e; }

body.home .spixels-service-item.is-active .spixels-service-panel {
  grid-template-rows: 1fr;
  padding-bottom: 30px;
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

body.home .spixels-service-copy {
  display: grid !important;
  grid-template-columns: minmax(220px, .8fr) minmax(280px, 1fr);
  gap: clamp(28px, 4vw, 70px);
  align-items: start;
  max-width: 900px;
  min-height: 0;
  overflow: hidden;
}

body.home .spixels-service-description { max-width: 480px; }
body.home .spixels-service-description .et_pb_text_inner {
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.55;
}
body.home .spixels-service-features { border-top: 1px solid #ffffff30; }
body.home .spixels-service-feature {
  position: relative;
  padding: 13px 0 13px 24px;
  border-bottom: 1px solid #ffffff22;
}

body.home .spixels-service-feature .et_pb_text_inner {
  color: color-mix(in srgb, var(--gcid-4z04h2izrf, #f5f4ed) 82%, transparent);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
}

body.home .spixels-service-feature::before {
  content: "↳";
  position: absolute;
  left: 0;
  color: var(--gcid-ggs5im5ma3, #ff4b19);
}

@media (min-width: 900px) and (hover: hover) and (pointer: fine) {
  body.home .spixels-service-item:hover {
    --spixels-service-label-x: 6px;
  }
}

@media (max-width: 899px) {
  body.home .et_pb_section.spixels-services { padding: 80px 6% !important; }
  body.home .spixels-services-heading {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px !important;
  }
  body.home .spixels-services-eyebrow,
  body.home .spixels-services-title,
  body.home .spixels-services-intro { grid-column: 1; }
  body.home .spixels-services-title h2 { font-size: 50px; }
  body.home .spixels-services-intro { max-width: 500px; }
  body.home .spixels-services-intro .et_pb_text_inner { font-size: 18px; }
  body.home .spixels-service-item { padding: 0 16px; }
  body.home .spixels-service-header {
    grid-template-columns: 30px minmax(0, 1fr) 25px;
    gap: 15px;
    min-height: 97.4px;
  }
  body.home .spixels-service-trigger {
    --spixels-service-trigger-left: 45px;
    --spixels-service-trigger-right: 40px;
    font-size: 36px !important;
  }
  body.home .spixels-service-panel {
    margin-left: 45px !important;
    padding-right: 34px;
  }
  body.home .spixels-service-copy {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  body.home .spixels-service-description .et_pb_text_inner { font-size: 17px; }
}

@media (max-width: 520px) {
  body.home .spixels-services-title h2 { font-size: 42px; }
  body.home .spixels-service-header {
    grid-template-columns: 20px minmax(0, 1fr) 22px;
    gap: 10px;
    min-height: 88.2px;
  }
  body.home .spixels-service-trigger {
    --spixels-service-trigger-left: 30px;
    --spixels-service-trigger-right: 32px;
    font-size: 28px !important;
  }
  body.home .spixels-service-panel { margin-left: 30px !important; }
  body.home .spixels-service-description .et_pb_text_inner { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .spixels-service-item,
  body.home .spixels-service-trigger-label,
  body.home .spixels-service-panel { transition: none !important; }
  body.home .spixels-service-trigger-label { transform: none !important; }
}

/* Warm Editorial Testimonials chapter. Native Divi modules retain all client copy and controls. */
body.home .et_pb_section.spixels-testimonials {
  min-height: 100vh;
  min-height: 100svh;
  padding: 10vh 7.5% !important;
  background: var(--gcid-r9xhy4rylo, #f0ede6) !important;
  color: var(--gcid-k9dwf859zl, #19171d);
  scroll-margin-top: 78px;
}

body.home .spixels-testimonials *,
body.home .spixels-testimonials *::before,
body.home .spixels-testimonials *::after { box-sizing: border-box; }

body.home .spixels-testimonials h2,
body.home .spixels-testimonials p,
body.home .spixels-testimonials blockquote { margin: 0; }

body.home .spixels-testimonials-inner,
body.home .spixels-testimonials-inner > .et_pb_column {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home .spixels-testimonials-heading { margin: 0 0 65px !important; }

body.home .spixels-testimonials-eyebrow .et_pb_text_inner,
body.home .spixels-testimonials-eyebrow p {
  color: var(--gcid-exfvcua7mw, #be3a15) !important;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.6;
  text-transform: uppercase;
}

body.home .spixels-testimonials-title { margin: 30px 0 0 !important; }
body.home .spixels-testimonials-title h2 {
  color: var(--gcid-k9dwf859zl, #19171d) !important;
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: clamp(42px, 4.8vw, 88px);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.06;
}
body.home .spixels-testimonials-title h2 em { font-style: normal; }

body.home .spixels-testimonials-carousel {
  max-width: 1050px;
  margin-left: 20% !important;
}

body.home .spixels-testimonial { display: none !important; }
body.home .spixels-testimonial.is-active {
  display: block !important;
  animation: spixels-testimonial-enter .45s ease both;
}

body.home .spixels-testimonial-meta {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin: 0 0 30px !important;
}

body.home .spixels-testimonial-name .et_pb_text_inner,
body.home .spixels-testimonial-counter .et_pb_text_inner {
  color: var(--gcid-exfvcua7mw, #be3a15);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .07em;
  line-height: 1.5;
  text-transform: uppercase;
}

body.home .spixels-testimonial-counter { text-align: right; }
body.home .spixels-testimonial-content {
  min-height: var(--spixels-testimonial-content-height, 390px);
}
body.home .spixels-testimonial-quote blockquote {
  position: relative;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--gcid-k9dwf859zl, #19171d) !important;
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: clamp(34px, 3.6vw, 66px);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.12;
}

body.home .spixels-testimonial-quote blockquote span:first-child {
  position: absolute;
  top: -.05em;
  right: 100%;
  padding-right: .12em;
  color: var(--gcid-ggs5im5ma3, #ff4b19);
  font-size: 1.35em;
}

body.home .spixels-testimonial-copy {
  max-width: 800px;
  margin: 35px 0 22px !important;
}
body.home .spixels-testimonial-copy .et_pb_text_inner,
body.home .spixels-testimonial-copy p {
  color: var(--gcid-l8vc8t1ec3, #706970) !important;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.65;
}

body.home .spixels-testimonial-credit .et_pb_text_inner,
body.home .spixels-testimonial-credit cite {
  color: var(--gcid-k9dwf859zl, #19171d) !important;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
}

body.home .spixels-testimonials-controls {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin-top: 25px !important;
  padding-top: 25px;
  border-top: 1px solid color-mix(in srgb, var(--gcid-k9dwf859zl, #19171d) 22%, transparent);
}

body.home .spixels-testimonials-controls > .et_pb_button_module_wrapper,
body.home .spixels-testimonials-dots > .et_pb_button_module_wrapper { margin: 0 !important; }

body.home .spixels-testimonials-previous.et_pb_button,
body.home .spixels-testimonials-next.et_pb_button {
  display: grid !important;
  width: 52px;
  min-width: 52px;
  height: 52px;
  min-height: 52px;
  padding: 0 !important;
  border: 1px solid color-mix(in srgb, var(--gcid-k9dwf859zl, #19171d) 45%, transparent) !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gcid-k9dwf859zl, #19171d) !important;
  font-size: 0 !important;
  place-items: center;
  position: relative;
  transition: color .3s ease, background-color .3s ease, border-color .3s ease;
}

body.home .spixels-testimonials-previous.et_pb_button::before,
body.home .spixels-testimonials-next.et_pb_button::before {
  display: grid !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin: 0 !important;
  background: currentColor;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: 1 !important;
  place-items: center;
  transform: translate(-50%, -50%);
}
body.home .spixels-testimonials-previous.et_pb_button::before {
  transform: translate(-50%, -50%) rotate(180deg);
}
body.home .spixels-testimonials-previous.et_pb_button::after,
body.home .spixels-testimonials-next.et_pb_button::after { display: none !important; }
body.home .spixels-testimonials-previous.et_pb_button:hover,
body.home .spixels-testimonials-next.et_pb_button:hover {
  border-color: var(--gcid-k9dwf859zl, #19171d) !important;
  background: var(--gcid-k9dwf859zl, #19171d) !important;
  color: var(--gcid-r9xhy4rylo, #f0ede6) !important;
}

body.home .spixels-testimonials-dots {
  display: flex !important;
  flex-direction: row !important;
  flex: 1;
  justify-content: center;
  gap: 4px;
}

body.home .spixels-testimonials-dot.et_pb_button {
  display: block !important;
  flex: 0 0 28px;
  width: 28px;
  min-width: 28px;
  height: 44px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  position: relative;
}

body.home .spixels-testimonials-dot.et_pb_button::before {
  content: "";
  display: block !important;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 3px;
  background: color-mix(in srgb, var(--gcid-k9dwf859zl, #19171d) 22%, transparent);
  opacity: 1 !important;
  transform: translateY(-50%);
}
body.home .spixels-testimonials-dot.et_pb_button::after { display: none !important; }
body.home .spixels-testimonials-dot.et_pb_button[aria-pressed="true"]::before { background: var(--gcid-v25jlajf3p, #b33a17); }

body.home .spixels-testimonials .et_pb_button:focus-visible {
  outline: 2px solid var(--gcid-v25jlajf3p, #b33a17) !important;
  outline-offset: 6px;
}

@keyframes spixels-testimonial-enter {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 899px) {
  body.home .et_pb_section.spixels-testimonials { padding: 80px 6% !important; }
  body.home .spixels-testimonials-heading { margin-bottom: 50px !important; }
  body.home .spixels-testimonials-title h2 { font-size: 48px; }
  body.home .spixels-testimonials-carousel { margin-left: 7% !important; }
  body.home .spixels-testimonial-content {
    min-height: var(--spixels-testimonial-content-height, 480px);
  }
  body.home .spixels-testimonial-quote blockquote { font-size: 42px; }
  body.home .spixels-testimonial-copy .et_pb_text_inner { font-size: 16px; }
}

@media (max-width: 520px) {
  body.home .spixels-testimonials-title h2 { font-size: 38px; }
  body.home .spixels-testimonials-carousel { gap: 0 !important; }
  body.home .spixels-testimonial-content {
    min-height: var(--spixels-testimonial-content-height, 0px);
  }
  body.home .spixels-testimonial-quote blockquote { font-size: 34px; }
  body.home .spixels-testimonial-meta { margin-bottom: 25px !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .spixels-testimonial.is-active { animation: none; }
  body.home .spixels-testimonials-previous.et_pb_button,
  body.home .spixels-testimonials-next.et_pb_button { transition: none; }
}

/* Warm Editorial contact and footer. Divi modules keep all client-facing copy editable. */
body.home .et_pb_section.spixels-contact,
body .et_pb_section.spixels-footer {
  width: 100% !important;
  margin: 0 !important;
}

body.home .spixels-contact *,
body.home .spixels-contact *::before,
body.home .spixels-contact *::after,
body .et_pb_section.spixels-footer *,
body .et_pb_section.spixels-footer *::before,
body .et_pb_section.spixels-footer *::after { box-sizing: border-box; }

body.home .spixels-contact h2,
body.home .spixels-contact p,
body .et_pb_section.spixels-footer p { margin: 0; }

body.home .et_pb_section.spixels-contact {
  min-height: 100vh;
  min-height: 100svh;
  padding: 9vh 7.5% !important;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--gcid-8j5sv6xl04, #0b0911) !important;
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  scroll-margin-top: 78px;
}

body.home .spixels-contact::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: -23vw;
  width: 80vw;
  height: 80vw;
  translate: 0 -50%;
  pointer-events: none;
  -webkit-mask: url("assets/ribbon-x-cutaway.svg") center / contain no-repeat;
  mask: url("assets/ribbon-x-cutaway.svg") center / contain no-repeat;
  background: linear-gradient(135deg, color-mix(in srgb, var(--gcid-ggs5im5ma3, #ff4b19) 3%, transparent), color-mix(in srgb, var(--gcid-ggs5im5ma3, #ff4b19) 15%, transparent) 55%, transparent);
}

body.home .spixels-contact-inner,
body.home .spixels-contact-inner > .et_pb_column,
body .et_pb_section.spixels-footer .spixels-footer-inner,
body .et_pb_section.spixels-footer .spixels-footer-inner > .et_pb_column {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Divi Groups default to a 30px vertical gap and column flow. The source
   contact has direct children, so normalise only these architectural wrappers. */
body.home .spixels-contact-content {
  width: 100%;
  max-width: none;
  gap: 0;
}
body.home .spixels-contact-eyebrow .et_pb_text_inner,
body.home .spixels-contact-eyebrow p {
  color: var(--gcid-ggs5im5ma3, #ff4b19);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.6;
  text-transform: uppercase;
}

body.home .spixels-contact-title { margin: 55px 0 !important; }
body.home .spixels-contact-title h2 {
  position: relative;
  max-width: 1000px;
  color: var(--gcid-4z04h2izrf, #f5f4ed) !important;
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: clamp(66px, 8.8vw, 165px);
  font-weight: 500;
  letter-spacing: -.028em;
  line-height: .97;
}
body.home .spixels-contact-title h2 em {
  color: var(--gcid-ggs5im5ma3, #ff4b19);
  font-style: normal;
}

body.home .spixels-contact-bottom {
  position: relative;
  display: flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}
body.home .spixels-contact-copy { max-width: 400px; }
body.home .spixels-contact-copy .et_pb_text_inner,
body.home .spixels-contact-copy p {
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.6;
}

body.home .spixels-contact-cta.et_pb_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  min-width: 280px;
  min-height: 76px;
  gap: 32px;
  padding: 23px 30px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--gcid-ggs5im5ma3, #ff4b19) !important;
  box-shadow: none !important;
  color: var(--gcid-8j5sv6xl04, #0b0911) !important;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 500;
  line-height: 1.4 !important;
  transition: background-color .25s, color .25s, transform .25s;
}
body.home .spixels-contact-cta.et_pb_button:hover {
  background: var(--gcid-4z04h2izrf, #f5f4ed) !important;
  color: var(--gcid-k9dwf859zl, #19171d) !important;
  transform: translateY(-3px);
}

/* Keep the authored ↗ labels; Divi's optional Button icon is not part of this treatment. */
body.home .spixels-contact-cta.et_pb_button::after,
body .et_pb_section.spixels-footer .spixels-footer-enquiry.et_pb_button::after,
body .et_pb_section.spixels-footer .spixels-footer-legal-trigger.et_pb_button::after,
body .et_pb_section.spixels-footer .spixels-footer-back-top.et_pb_button::after {
  display: none !important;
  content: none !important;
}

body.home .et_pb_section.spixels-contact:not(.is-visible) {
  clip-path: inset(24% 0 0);
  transform: translateY(100px);
  transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), clip-path 1.1s cubic-bezier(.16, 1, .3, 1);
}
body.home .et_pb_section.spixels-contact.is-visible {
  clip-path: inset(0);
  transform: none;
}

/* The global Theme Builder footer retains the approved Warm Editorial presentation. */
body .et_pb_section.spixels-footer {
  padding: 70px 7.5% 25px !important;
  border-top: 1px solid #ffffff20;
  background: color-mix(in srgb, var(--gcid-8j5sv6xl04, #0b0911) 91%, #000) !important;
  color: var(--gcid-4z04h2izrf, #f5f4ed);
}
body .et_pb_section.spixels-footer .spixels-footer-top {
  display: grid !important;
  grid-template-columns: 1.3fr .8fr 1fr 1fr;
  gap: 45px;
}
body .et_pb_section.spixels-footer .spixels-footer-top > .et_pb_group,
body .et_pb_section.spixels-footer .spixels-footer-bottom,
body .et_pb_section.spixels-footer .spixels-footer-legal {
  display: flex !important;
}
body .et_pb_section.spixels-footer .spixels-footer-top > .et_pb_group {
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
}
body .et_pb_section.spixels-footer .spixels-footer-logo a {
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 22px !important;
  font-weight: 500;
  letter-spacing: .26em;
}
body .et_pb_section.spixels-footer .spixels-footer-tagline { margin: 10px 0 !important; }
body .et_pb_section.spixels-footer .spixels-footer-tagline .et_pb_text_inner,
body .et_pb_section.spixels-footer .spixels-footer-tagline p,
body .et_pb_section.spixels-footer .spixels-footer-talk-copy .et_pb_text_inner,
body .et_pb_section.spixels-footer .spixels-footer-talk-copy p {
  color: #b9b8c1;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
body .et_pb_section.spixels-footer .spixels-footer-label .et_pb_text_inner,
body .et_pb_section.spixels-footer .spixels-footer-label p {
  color: #9996a4;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.6;
  text-transform: uppercase;
}
body .et_pb_section.spixels-footer .spixels-footer-label { margin-bottom: 9px !important; }
body .et_pb_section.spixels-footer a,
body .et_pb_section.spixels-footer .et_pb_button {
  color: var(--gcid-4z04h2izrf, #f5f4ed);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  transition: color .25s ease;
}
body .et_pb_section.spixels-footer .spixels-footer-links a {
  display: block;
  margin-bottom: 13px;
}
body .et_pb_section.spixels-footer .spixels-footer-email a,
body .et_pb_section.spixels-footer .spixels-footer-concepts a { display: inline-block; }
body .et_pb_section.spixels-footer .spixels-footer-enquiry.et_pb_button,
body .et_pb_section.spixels-footer .spixels-footer-legal-trigger.et_pb_button,
body .et_pb_section.spixels-footer .spixels-footer-back-top.et_pb_button {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body .et_pb_section.spixels-footer .spixels-footer-top a:hover,
body .et_pb_section.spixels-footer .spixels-footer-top .et_pb_button:hover,
body .et_pb_section.spixels-footer .spixels-footer-bottom .et_pb_button:hover { color: var(--gcid-ggs5im5ma3, #ff4b19) !important; }
body .et_pb_section.spixels-footer .spixels-footer-bottom {
  align-items: center;
  flex-direction: row !important;
  justify-content: space-between;
  gap: 20px;
  width: 100% !important;
  margin-top: 60px !important;
  padding-top: 25px;
  border-top: 1px solid #ffffff25;
}
body .et_pb_section.spixels-footer .spixels-footer-copyright .et_pb_text_inner,
body .et_pb_section.spixels-footer .spixels-footer-copyright p {
  color: #b9b8c1;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
}
body .et_pb_section.spixels-footer .spixels-footer-copyright { margin: 0 !important; }
body .et_pb_section.spixels-footer .spixels-footer-legal {
  align-items: baseline;
  flex-direction: row !important;
  flex-wrap: nowrap;
  gap: 28px;
  width: auto !important;
  margin: 0 !important;
}
body .et_pb_section.spixels-footer .spixels-footer-legal > .et_pb_button_module_wrapper {
  width: auto !important;
  margin: 0 !important;
}
body .et_pb_section.spixels-footer .spixels-footer-bottom .et_pb_button { font-size: 13px !important; }

body.home .spixels-contact .et_pb_button:focus-visible,
body .et_pb_section.spixels-footer a:focus-visible,
body .et_pb_section.spixels-footer .et_pb_button:focus-visible {
  outline: 2px solid var(--gcid-ggs5im5ma3, #ff4b19) !important;
  outline-offset: 6px;
}

@media (max-width: 899px) {
  body.home .et_pb_section.spixels-contact { padding: 80px 6% !important; }
  body.home .spixels-contact-title { margin: 45px 0 !important; }
  body.home .spixels-contact-title h2 { font-size: 10vw; }
  body.home .spixels-contact-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 30px;
  }
  body.home .spixels-contact-copy { max-width: 400px; }
  body.home .spixels-contact-copy .et_pb_text_inner,
  body.home .spixels-contact-copy p { font-size: 18px; }
  body.home .spixels-contact::before {
    right: -60vw;
    width: 125vw;
    height: 125vw;
  }
  body .et_pb_section.spixels-footer { padding: 60px 6% 25px !important; }
  body .et_pb_section.spixels-footer .spixels-footer-top { grid-template-columns: 1fr 1fr; gap: 45px 25px; }
  body .et_pb_section.spixels-footer .spixels-footer-bottom {
    align-items: flex-start;
    flex-direction: column !important;
    gap: 22px;
  }
  body .et_pb_section.spixels-footer .spixels-footer-legal { flex-wrap: wrap; gap: 22px; }
}

@media (max-width: 520px) {
  body.home .spixels-contact-cta.et_pb_button { gap: 25px; }
  body.home .spixels-contact-bottom .et_pb_button_module_wrapper { width: 100%; }
  body.home .spixels-contact-title h2 { font-size: 13vw; }
  body.home .spixels-contact-cta.et_pb_button {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    min-height: 64px;
    padding: 22px !important;
    font-size: 17px !important;
  }
  body.home .spixels-contact::before {
    right: -100vw;
    width: 170vw;
    height: 170vw;
  }
  body .et_pb_section.spixels-footer .spixels-footer-top { gap: 40px 20px; }
  body .et_pb_section.spixels-footer .spixels-footer-brand,
  body .et_pb_section.spixels-footer .spixels-footer-talk { grid-column: 1 / -1; }
  body .et_pb_section.spixels-footer .spixels-footer-logo a { font-size: 18px !important; }
  body .et_pb_section.spixels-footer a,
  body .et_pb_section.spixels-footer .et_pb_button { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .et_pb_section.spixels-contact,
  body.home .et_pb_section.spixels-contact:not(.is-visible),
  body.home .spixels-contact-cta.et_pb_button,
  body .et_pb_section.spixels-footer a,
  body .et_pb_section.spixels-footer .et_pb_button {
    clip-path: none !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Warm Editorial conversation dialog. Gravity Forms retains field and submission ownership. */
html.spixels-conversation-open,
html.spixels-conversation-open body { overscroll-behavior: none; }

.spixels-conversation-dialog {
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: linear-gradient(90deg, #0b0911 0 43%, #f0ede6 43% 100%);
  color: #f5f4ed;
  overflow: auto;
  overscroll-behavior: contain;
}
.spixels-conversation-dialog:not([open]) { display: none; }
.spixels-conversation-dialog[open] { animation: spixels-conversation-swipe .7s cubic-bezier(.2, .8, .2, 1) both; }
.spixels-conversation-dialog[open].is-entered { animation: none; }
.spixels-conversation-dialog::backdrop {
  background: #08060be8;
  backdrop-filter: blur(12px);
}
@keyframes spixels-conversation-swipe {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

.spixels-conversation-dialog,
.spixels-conversation-dialog *,
.spixels-conversation-dialog *::before,
.spixels-conversation-dialog *::after { box-sizing: border-box; }

.spixels-conversation-controls {
  position: sticky;
  z-index: 5;
  top: 0;
  width: 100%;
  height: 0;
  pointer-events: none;
}

.spixels-conversation-close {
  position: absolute;
  z-index: 5;
  top: 27px;
  right: 32px;
  width: auto;
  height: 48px;
  padding: 0 7px 0 17px;
  display: flex;
  align-items: center;
  gap: 15px;
  border: 1px solid #19171d38;
  border-radius: 100px;
  background: #f0ede6e6;
  color: #19171d;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  cursor: pointer;
  pointer-events: auto;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.spixels-conversation-close i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #19171d;
  color: #f0ede6;
  font-size: 19px;
  font-style: normal;
  line-height: 1;
}
.spixels-conversation-close:hover { background: #ff4b19; transform: translateY(-2px); }

.spixels-conversation-layout {
  display: grid;
  width: 100%;
  min-height: 100dvh;
  grid-template-columns: minmax(360px, 43%) minmax(0, 57%);
}
.spixels-conversation-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100dvh;
  padding: 110px 7vw 70px;
  overflow: hidden;
}
.spixels-conversation-label {
  margin-bottom: 7vh;
  color: #ff4b19;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.6;
  text-transform: uppercase;
}
.spixels-conversation-intro h2 {
  max-width: 770px;
  margin: 0;
  color: #f5f4ed;
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: clamp(52px, 6.4vw, 118px);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .84;
}
.spixels-conversation-intro h2 em { color: #ff4b19; font-style: normal; }
.spixels-conversation-intro > p {
  max-width: 430px;
  margin: 6vh 0 0;
  color: #c9c2cd;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
}
.spixels-conversation-assurance {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 23px;
  margin-top: 7vh;
  color: #8e8794;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.5;
  text-transform: uppercase;
}
.spixels-conversation-assurance span { display: flex; align-items: center; gap: 9px; }
.spixels-conversation-assurance span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ff4b19;
}

.spixels-conversation-stage {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100dvh;
  padding: 105px clamp(38px, 6vw, 105px) 55px;
  color: #19171d;
}
.spixels-conversation-stage-head {
  display: flex;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid #19171d4a;
  color: #716c72;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .15em;
  line-height: 1.5;
  text-transform: uppercase;
}
.spixels-conversation-form {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  padding: 45px 0 10px;
}
.spixels-conversation-form .gform_wrapper,
.spixels-conversation-form .gform_wrapper form,
.spixels-conversation-form .gform_body { width: 100%; }
.spixels-conversation-form .gform_wrapper { margin: 0; }
.spixels-conversation-form .gform_heading { display: none; }
.spixels-conversation-form .gform_fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 26px 30px;
}
.spixels-conversation-form .gfield { min-width: 0; margin: 0; padding: 0; }
.spixels-conversation-form #field_1_1,
.spixels-conversation-form #field_1_4,
.spixels-conversation-form #field_1_5,
.spixels-conversation-form #field_1_6 { grid-column: span 1; }
.spixels-conversation-form #field_1_7,
.spixels-conversation-form #field_1_8 { grid-column: 1 / -1; }
.spixels-conversation-form #field_1_8 .ginput_container_turnstile {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
}
.spixels-conversation-form .gfield_label {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  align-items: baseline;
  gap: 0;
  margin: 0 0 8px;
  color: #19171d;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.5;
  text-transform: uppercase;
}
.spixels-conversation-form .gfield_label::before {
  grid-column: 1;
  color: var(--gcid-v25jlajf3p, #b33a17);
  font-size: 9px;
  letter-spacing: .1em;
}
.spixels-conversation-form .gfield_label > .gform-field-label__text { grid-column: 2; }
.spixels-conversation-form #field_1_1 .gfield_label::before { content: "01"; }
.spixels-conversation-form #field_1_4 .gfield_label::before { content: "02"; }
.spixels-conversation-form #field_1_5 .gfield_label::before { content: "03"; }
.spixels-conversation-form #field_1_6 .gfield_label::before { content: "04"; }
.spixels-conversation-form #field_1_7 .gfield_label::before { content: "05"; }
.spixels-conversation-form .gfield_required {
  grid-column: 3;
  color: #706a70;
  font-size: 10px;
  font-style: normal;
  letter-spacing: .08em;
}
.spixels-conversation-form input:not([type="hidden"]),
.spixels-conversation-form textarea,
.spixels-conversation-form select {
  width: 100%;
  min-width: 0;
  min-height: 64px;
  margin: 0;
  padding: 18px 20px;
  border: 1px solid #19171d1f;
  border-radius: 2px;
  background: #e6e0d7;
  box-shadow: inset 0 1px #ffffff8c;
  color: #19171d;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
  outline: 0;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.spixels-conversation-form textarea { min-height: 140px; resize: vertical; }
.spixels-conversation-form input::placeholder,
.spixels-conversation-form textarea::placeholder { color: #8e888d; opacity: 1; }
.spixels-conversation-form input:focus,
.spixels-conversation-form textarea:focus,
.spixels-conversation-form select:focus {
  border-color: var(--gcid-v25jlajf3p, #b33a17);
  background: #ebe6de;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gcid-v25jlajf3p, #b33a17) 8%, transparent), inset 0 1px #fff;
}
.spixels-conversation-form .gform_footer { margin: 0; padding: 0; }
.spixels-conversation-submit {
  display: flex;
  width: 100%;
  flex: 1 1 100%;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 27px;
  padding-top: 22px;
  border-top: 1px solid #19171d4a;
}
.spixels-conversation-submit > p {
  max-width: 290px;
  margin: 0;
  color: #777176;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}
.spixels-conversation-submit-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: auto;
  min-width: 250px;
  min-height: 70px;
  margin: 0;
  padding: 18px 22px;
  border: 1px solid var(--gcid-v25jlajf3p, #b33a17);
  border-radius: 2px;
  background: #ff4b19;
  box-shadow: 0 14px 34px #ff4b1929;
  color: #0b0911;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.spixels-conversation-submit-action { position: relative; display: inline-flex; }
body .spixels-conversation-dialog .spixels-conversation-submit-button {
  border-color: var(--gcid-v25jlajf3p, #b33a17) !important;
  background: #ff4b19 !important;
  color: #0b0911 !important;
}
body .spixels-conversation-dialog .spixels-conversation-submit-button {
  min-width: 250px !important;
  min-inline-size: 250px !important;
  min-height: 70px !important;
  padding-right: 75px !important;
  text-align: left !important;
}
.spixels-conversation-submit-action > i {
  position: absolute;
  top: 50%;
  right: 22px;
  translate: 0 -50%;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #0b0911;
  color: #f5f4ed;
  font-style: normal;
  transition: background .25s ease, color .25s ease, transform .3s ease;
  pointer-events: none;
}
.spixels-conversation-submit-button:hover {
  border-color: #0b0911;
  background: #0b0911;
  color: #f5f4ed;
  transform: translateY(-3px);
}
body .spixels-conversation-dialog .spixels-conversation-submit-button:hover {
  border-color: #0b0911 !important;
  background: #0b0911 !important;
  color: #f5f4ed !important;
}
.spixels-conversation-submit-button:hover + i { background: #ff4b19; color: #0b0911; transform: translate(3px, -3px); }

.spixels-conversation-form .gform_validation_errors {
  margin: 0 0 25px;
  padding: 16px 18px;
  border: 1px solid #8a2f20;
  border-radius: 2px;
  background: #fff4ef;
  color: #6f2118;
}
.spixels-conversation-form .gform_validation_errors h2 {
  margin: 0;
  color: inherit;
  font-size: 15px;
  line-height: 1.5;
}
.spixels-conversation-form .gfield_error input,
.spixels-conversation-form .gfield_error textarea { border-color: #8a2f20; }
.spixels-conversation-form .gfield_validation_message {
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7d281c;
  font-size: 12px;
  line-height: 1.45;
}

.spixels-conversation-form .gform_confirmation_wrapper { width: 100%; }
.spixels-conversation-success {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 65vh;
  padding: 50px 0;
  color: #19171d;
  outline: 0;
}
.spixels-conversation-success-mark {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: 35px;
  border: 1px solid #ff4b19;
  border-radius: 50%;
  color: #ff4b19;
  font-size: 25px;
}
.spixels-conversation-success h3 {
  margin: 0 0 28px;
  color: #19171d;
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: clamp(48px, 5vw, 78px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: .95;
}
.spixels-conversation-success p {
  max-width: 520px;
  margin: 0;
  color: #706a70;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
}
.spixels-conversation-success-return {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 26px;
  width: auto;
  min-width: 0;
  min-height: 44px;
  margin: 30px 0 6px;
  padding: 10px 0 8px;
  border: 0;
  border-bottom: 1px solid #19171d73;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #19171d;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .01em;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
  transition: border-color .25s ease, color .25s ease;
}
body .spixels-conversation-dialog .spixels-conversation-success-return {
  width: auto !important;
  min-width: 0 !important;
  min-inline-size: 0 !important;
  min-height: 44px !important;
  padding: 10px 0 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #19171d73 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #19171d !important;
}
body .spixels-conversation-dialog .spixels-conversation-success-return:hover {
  border-bottom-color: #ff4b19 !important;
  background: transparent !important;
  color: #19171d !important;
}
.spixels-conversation-success-another {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #6c666c;
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.5;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .25s ease;
}
.spixels-conversation-success-another:hover {
  background: transparent;
  color: #19171d;
}
body .spixels-conversation-dialog .spixels-conversation-success-another {
  min-height: 44px !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #6c666c !important;
}
body .spixels-conversation-dialog .spixels-conversation-success-another:hover {
  background: transparent !important;
  color: #19171d !important;
}
body .spixels-conversation-dialog .spixels-conversation-success-return:focus-visible,
body .spixels-conversation-dialog .spixels-conversation-success-another:focus-visible {
  outline-color: #19171d;
}

.spixels-conversation-dialog button:focus-visible,
.spixels-conversation-dialog input:focus-visible,
.spixels-conversation-dialog textarea:focus-visible,
.spixels-conversation-dialog select:focus-visible {
  outline: 2px solid var(--gcid-v25jlajf3p, #b33a17);
  outline-offset: 4px;
}

@media (max-width: 899px) {
  .spixels-conversation-dialog { background: #f0ede6; }
  .spixels-conversation-close { top: 18px; right: 18px; padding: 6px; background: #f0ede6; }
  .spixels-conversation-close > span { display: none; }
  .spixels-conversation-layout { grid-template-columns: 1fr; }
  .spixels-conversation-intro {
    min-height: 72svh;
    padding: 110px 7% 70px;
    background: #0b0911;
  }
  .spixels-conversation-intro h2 { font-size: clamp(58px, 14vw, 95px); }
  .spixels-conversation-intro > p { margin-top: 40px; }
  .spixels-conversation-assurance { margin-top: 45px; }
  .spixels-conversation-stage { min-height: 100svh; padding: 75px 7% 45px; }
  .spixels-conversation-form { align-items: flex-start; padding-top: 45px; }
  .spixels-conversation-form .gform_fields { grid-template-columns: 1fr; gap: 25px; }
  .spixels-conversation-form #field_1_1,
  .spixels-conversation-form #field_1_4,
  .spixels-conversation-form #field_1_5,
  .spixels-conversation-form #field_1_6,
  .spixels-conversation-form #field_1_7,
  .spixels-conversation-form #field_1_8 { grid-column: auto; }
}

@media (max-width: 520px) {
  .spixels-conversation-intro { min-height: 88svh; }
  .spixels-conversation-submit { flex-direction: column; align-items: stretch; }
  .spixels-conversation-submit-button { width: 100%; }
  .spixels-conversation-submit-action { width: 100%; }
  body .spixels-conversation-dialog .spixels-conversation-submit-button {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-inline-size: 0 !important;
  }
  .spixels-conversation-stage-head span:last-child { display: none; }
  .spixels-conversation-success { min-height: 75vh; }
}

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


/* v54 static composition. Typography and ordinary spacing live in Divi. */
body.home .spixels-hero .spixels-hero-headline h1,
body.home .spixels-hero .spixels-hero-copy p,
body.home .spixels-hero .spixels-hero-caption p,
body.home .spixels-hero .spixels-hero-arrow p {
  margin: 0;
  padding: 0;
}

body.home .spixels-hero .spixels-hero-line {
  display: block;
  overflow: hidden;
  padding: .06em 0 .04em;
}

body.home .spixels-hero .spixels-hero-line i {
  display: block;
  font-style: normal;
}

body.home .spixels-hero h1 > br {
  display: none;
}

body.home .spixels-hero .spixels-hero-line-accent {
  padding-left: 8%;
  color: var(--gcid-ggs5im5ma3);
}

/* The editable Text module contains the accessible native anchor. */
body.home .spixels-hero .spixels-hero-arrow a {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 1px solid #ffffff80;
  border-radius: 50%;
  color: var(--gcid-4z04h2izrf);
  font-size: 26px;
  line-height: 1;
}

body.home .spixels-hero .spixels-hero-arrow .et_pb_text_inner,
body.home .spixels-hero .spixels-hero-arrow p {
  height: 100%;
}

/* Bridge only the ranges where Divi's breakpoints differ from v54. */
@media (min-width: 981px) {
  /* Avoid a local desktop font override masking the preset's mobile values. */
  body.home .spixels-hero .spixels-hero-caption .et_pb_text_inner {
    line-height: 1.5em;
  }
}

@media (min-width: 900px) and (max-width: 980px) {
  body.home .et_pb_section.spixels-hero {
    padding: 160px var(--gvid-k7xmm7gwox) 35px !important;
  }
  body.home .spixels-hero .spixels-hero-headline h1 {
    font-size: var(--gvid-q7q4qnnyt2) !important;
    line-height: .84em !important;
  }
  body.home .spixels-hero .spixels-hero-support {
    width: 93% !important;
    margin-left: 7% !important;
    column-gap: 30px !important;
  }
  body.home .spixels-hero .spixels-hero-copy {
    max-width: 500px !important;
  }
  body.home .spixels-hero .spixels-hero-caption {
    max-width: none !important;
    margin-top: 45px !important;
  }
  body.home .spixels-hero .spixels-hero-caption .et_pb_text_inner {
    font-size: 12px !important;
    letter-spacing: .14em !important;
    line-height: 1.5em !important;
  }
}

@media (min-width: 521px) and (max-width: 767px) {
  body.home .et_pb_section.spixels-hero {
    min-height: 100svh !important;
    padding-bottom: 35px !important;
  }
  body.home .spixels-hero .spixels-hero-headline h1 {
    font-size: var(--gvid-m850er2dic) !important;
    line-height: .89em !important;
    letter-spacing: -.043em !important;
  }
  body.home .spixels-hero .spixels-hero-support {
    align-items: center !important;
  }
  body.home .spixels-hero .spixels-hero-copy {
    max-width: 330px !important;
  }
  body.home .spixels-hero .spixels-hero-copy .et_pb_text_inner {
    font-size: 17px !important;
  }
  body.home .spixels-hero .spixels-hero-arrow {
    width: 55px !important;
    height: 55px !important;
  }
  body.home .spixels-hero .spixels-hero-caption {
    max-width: 220px !important;
    margin-top: 35px !important;
  }
  body.home .spixels-hero .spixels-hero-caption .et_pb_text_inner {
    font-size: 10px !important;
  }
}

@media (max-width: 520px) {
  body.home .spixels-hero .ic-desktop {
    display: none;
  }

}


/* Illustrator v54 hero motion. Scroll lives on line wrappers; reveal lives on their inner i elements. */
body.home .spixels-hero {
  --spixels-hero-scroll: 0;
  --spixels-hero-pointer-x: 0;
  --spixels-hero-pointer-y: 0;
}

body.home .spixels-hero .spixels-hero-line:nth-child(1) {
  transform: translate3d(calc(var(--spixels-hero-scroll) * -100px), 0, 0);
}

body.home .spixels-hero .spixels-hero-line-accent {
  transform: translate3d(calc(var(--spixels-hero-scroll) * 130px), 0, 0);
}

body.home .spixels-hero .spixels-hero-line:last-child {
  transform: translate3d(calc(var(--spixels-hero-scroll) * -65px), 0, 0);
}

body.home .spixels-hero .spixels-hero-line i {
  animation: spixels-hero-headline-arrival 1.3s cubic-bezier(.16, 1, .3, 1) both;
  transform-origin: left bottom;
}

body.home .spixels-hero .spixels-hero-line-accent i {
  animation-delay: .16s;
}

body.home .spixels-hero .spixels-hero-line:last-child i {
  animation-delay: .32s;
}

body.home .spixels-hero-sculpture {
  animation: spixels-hero-sculpture-enter 1.8s cubic-bezier(.16, 1, .3, 1) both;
}

body.home .spixels-ribbon-space {
  transform: translate3d(
    calc(var(--spixels-hero-pointer-x) * 35px + var(--spixels-hero-scroll) * 110px),
    calc(var(--spixels-hero-pointer-y) * 25px - var(--spixels-hero-scroll) * 60px),
    0
  ) scale(calc(1 + var(--spixels-hero-scroll) * .32));
  transition: transform .45s ease-out;
  will-change: transform;
}

body.home .spixels-hero.spixels-hero-away .spixels-ribbon-metal,
body.home .spixels-hero.spixels-hero-away .spixels-ribbon-highlight,
body.home .spixels-hero.spixels-hero-away .spixels-hero-atmosphere {
  animation-play-state: paused !important;
}

@keyframes spixels-hero-sculpture-enter {
  from {
    opacity: 0;
    transform: translate(10%, -45%) scale(.82);
  }
  to {
    opacity: 1;
    transform: translate(0, -50%) scale(1);
  }
}

@keyframes spixels-hero-headline-arrival {
  from {
    transform: translate3d(40px, 115%, 0);
    filter: blur(5px);
  }
  to {
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .spixels-hero .spixels-hero-line,
  body.home .spixels-hero .spixels-hero-line i,
  body.home .spixels-ribbon-space {
    animation: none !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }

  body.home .spixels-hero-sculpture {
    animation: none !important;
    opacity: .7;
    transform: translate(0, -50%) scale(1);
    transition: none !important;
  }

  body.home .spixels-hero-atmosphere,
  body.home .spixels-ribbon-metal {
    animation: none !important;
  }

  body.home .spixels-hero-atmosphere {
    opacity: .75;
  }
}

/* Legal pages use native Divi Text modules for the editable policy copy. The
   existing presets cover the homepage components; these narrow page-level
   rules provide the long-form reading measure and accessible data-table
   behaviour that those component presets do not own. */
body.page:not(.home) .et-l--header {
  position: relative;
  z-index: 40;
  height: 82px;
  background: transparent;
  border: 0;
}

/* The Theme Builder wrapper retains its natural header height while the
   rendered header surface becomes the fixed overlay. This preserves the
   approved legal-page intro position without adding a spacer or shifting the
   reading layout when the shared headroom controller initialises. */
body.page:not(.home) .et-l--header .et_pb_section {
  position: fixed;
  z-index: 40;
  inset: 0 0 auto;
  background: color-mix(in srgb, #0b0911 92%, transparent) !important;
  border-bottom: 1px solid #ffffff12;
}

body.page:not(.home) .et-l--header.spixels-intelligent-header .et_pb_section {
  transition: transform 280ms cubic-bezier(.2, .8, .2, 1);
}

body.page:not(.home) .et-l--header.spixels-header-hidden .et_pb_section {
  transform: translate3d(0, -100%, 0);
}

@media (min-width: 783px) {
  body.page:not(.home).admin-bar .et-l--header .et_pb_section { top: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  body.page:not(.home) .et-l--header.spixels-intelligent-header .et_pb_section {
    transition: none;
  }
}

@media (min-width: 900px) {
  body.page:not(.home) .et-l--header .et_pb_section,
  body.page:not(.home) #page-container .et-l--header .et_pb_section {
    min-height: 82px;
    height: 82px;
    padding: 0 4.5% !important;
    background: color-mix(in srgb, #0b0911 92%, transparent) !important;
  }

  body.page:not(.home) .et-l--header .et_pb_row_1_tb_header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 24px;
    width: 100% !important;
    max-width: none !important;
    min-height: 82px;
    height: 82px;
    padding: 0 !important;
  }

  body.page:not(.home) .et-l--header .et_pb_row_1_tb_header > .et_pb_column {
    width: auto !important;
    margin: 0 !important;
  }

  body.page:not(.home) .et-l--header .et_pb_row_1_tb_header > .et_pb_column:last-child {
    display: flex;
    justify-content: flex-end;
  }

  body.page:not(.home) .et-l--header .et_pb_image_0_tb_header,
  body.page:not(.home) .et-l--header .et_pb_image_0_tb_header .et_pb_image_wrap,
  body.page:not(.home) .et-l--header .et_pb_image_0_tb_header img {
    display: block;
    width: 184px !important;
    max-width: 100%;
    height: auto;
  }

  body.page:not(.home) .et-l--header .et_pb_menu_1_tb_header .et_pb_menu__menu { display: block !important; }
  body.page:not(.home) .et-l--header .et_pb_menu_1_tb_header .et-menu-nav,
  body.page:not(.home) .et-l--header .et_pb_menu_1_tb_header .et-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
  }
  body.page:not(.home) .et-l--header .et_pb_menu_1_tb_header .et-menu > li { margin: 0 !important; padding: 0 !important; }
  body.page:not(.home) .et-l--header .et_pb_menu_1_tb_header .et-menu > li > a {
    position: relative;
    padding: 0 !important;
    color: #f5f4ed !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2;
  }
  body.page:not(.home) .et-l--header .et_pb_menu_1_tb_header .et-menu > li > a::after {
    position: absolute;
    right: 100%;
    bottom: -7px;
    left: 0;
    height: 1px;
    content: '';
    background: #ff4b19;
    transition: right .3s;
  }
  body.page:not(.home) .et-l--header .et_pb_menu_1_tb_header .et-menu > li > a:hover::after { right: 0; }
  body.page:not(.home) #page-container .et-l--header .et_pb_button_0_tb_header.et_pb_button.et_pb_module {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    padding: 13px 20px !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: var(--gcid-4z04h2izrf, #f5f4ed) !important;
    color: var(--gcid-k9dwf859zl, #19171d) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
  }
  body.page:not(.home) #page-container .et-l--header .et_pb_button_0_tb_header.et_pb_button.et_pb_module::after { display: none !important; }
  body.page:not(.home) #page-container .et-l--header .et_pb_button_0_tb_header.et_pb_button.et_pb_module:hover {
    background: var(--gcid-ggs5im5ma3, #ff4b19) !important;
    opacity: 1 !important;
  }
}

@media (max-width: 899px) {
  body.page:not(.home) .et-l--header,
  body.page:not(.home) .et-l--header .et_pb_section,
  body.page:not(.home) .et-l--header .et_pb_row_0_tb_header {
    min-height: 75px;
    height: 75px;
  }
}

body.page .spixels-legal-page,
body.page .spixels-legal-page * { box-sizing: border-box; }

body.page .spixels-legal-page .et_pb_row,
body.page .spixels-legal-page .et_pb_column {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page .spixels-legal-intro {
  padding: clamp(82px, 12vw, 180px) 7.5% clamp(70px, 10vw, 130px) !important;
  background: var(--gcid-1ejueb3heg, #f0ede6) !important;
  color: var(--gcid-k9dwf859zl, #19171d);
}

body.page .spixels-legal-intro-content,
body.page .spixels-legal-reading-column {
  width: min(100%, 820px) !important;
  margin: 0 auto !important;
}

body.page .spixels-legal-intro-content { gap: 0 !important; }
body.page .spixels-legal-eyebrow,
body.page .spixels-legal-title,
body.page .spixels-legal-supporting,
body.page .spixels-legal-updated,
body.page .spixels-legal-section { margin: 0 !important; }

body.page .spixels-legal-eyebrow p {
  margin: 0;
  color: var(--gcid-ggs5im5ma3, #be3a15);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.6;
  text-transform: uppercase;
}

body.page .spixels-legal-title { margin-top: 31px !important; }
body.page .spixels-legal-title h1 {
  margin: 0;
  color: var(--gcid-k9dwf859zl, #19171d);
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: clamp(54px, 7.4vw, 118px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: .93;
}

body.page .spixels-legal-supporting {
  max-width: 580px;
  margin-top: 38px !important;
}
body.page .spixels-legal-supporting p {
  margin: 0;
  color: var(--gcid-706970, #706970);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.55;
}

body.page .spixels-legal-reading {
  padding: clamp(64px, 9vw, 130px) 7.5% clamp(90px, 12vw, 160px) !important;
  background: var(--gcid-1ejueb3heg, #f0ede6) !important;
  color: var(--gcid-k9dwf859zl, #19171d);
}

body.page .spixels-legal-updated p,
body.page .spixels-legal-section p,
body.page .spixels-legal-section li,
body.page .spixels-legal-section td,
body.page .spixels-legal-section th {
  color: var(--gcid-k9dwf859zl, #19171d);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.65;
}

body.page .spixels-legal-updated p {
  margin: 0;
  color: var(--gcid-706970, #706970);
  font-size: 14px;
  letter-spacing: .02em;
}

body.page .spixels-legal-section { margin-top: 58px !important; }
body.page .spixels-legal-updated + .spixels-legal-section { margin-top: 42px !important; }
body.page .spixels-legal-section h2,
body.page .spixels-legal-section h3,
body.page .spixels-legal-section p { margin: 0; }
body.page .spixels-legal-section h2 {
  margin-bottom: 22px;
  color: var(--gcid-k9dwf859zl, #19171d);
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: clamp(31px, 3.6vw, 47px);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.02;
}
body.page .spixels-legal-section h3 {
  margin-top: 34px;
  margin-bottom: 12px;
  color: var(--gcid-k9dwf859zl, #19171d);
  font-family: var(--et_global_heading_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.2;
}
body.page .spixels-legal-section p + p { margin-top: 16px; }
body.page .spixels-legal-section ul {
  margin: 18px 0 0;
  padding-left: 1.25em;
}
body.page .spixels-legal-section li + li { margin-top: 7px; }
body.page .spixels-legal-section a {
  color: var(--gcid-ggs5im5ma3, #be3a15);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
body.page .spixels-legal-section a:hover { color: var(--gcid-ggs5im5ma3, #ff4b19); }
body.page .spixels-legal-section a:focus-visible,
body.page .et-l--header a:focus-visible {
  outline: 2px solid var(--gcid-ggs5im5ma3, #ff4b19);
  outline-offset: 4px;
}

body.page .spixels-legal-provisional {
  margin-bottom: 22px !important;
  padding: 17px 19px;
  border-left: 3px solid var(--gcid-ggs5im5ma3, #be3a15);
  background: color-mix(in srgb, var(--gcid-ggs5im5ma3, #be3a15) 8%, transparent);
}
body.page .spixels-legal-table-wrap {
  overflow-x: auto;
  margin-top: 22px;
  border-top: 1px solid #19171d2b;
  border-bottom: 1px solid #19171d2b;
}
body.page .spixels-legal-table-wrap table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
}
body.page .spixels-legal-table-wrap caption {
  padding: 17px 0 13px;
  color: var(--gcid-706970, #706970);
  font-family: var(--et_global_body_font), "Neue Haas Display Medium", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-align: left;
}
body.page .spixels-legal-table-wrap th,
body.page .spixels-legal-table-wrap td {
  padding: 13px 14px;
  border-top: 1px solid #19171d20;
  text-align: left;
  vertical-align: top;
}
body.page .spixels-legal-table-wrap thead th {
  color: var(--gcid-706970, #706970);
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

@media (max-width: 899px) {
  body.page .spixels-legal-intro { padding: 110px 6% 75px !important; }
  body.page .spixels-legal-reading { padding: 70px 6% 100px !important; }
  body.page .spixels-legal-title h1 { font-size: clamp(52px, 10.5vw, 86px); }
  body.page .spixels-legal-supporting p { font-size: 19px; }
}

@media (max-width: 520px) {
  body.page .spixels-legal-intro { padding-top: 78px !important; }
  body.page .spixels-legal-title { margin-top: 24px !important; }
  body.page .spixels-legal-title h1 { font-size: clamp(48px, 14vw, 64px); }
  body.page .spixels-legal-supporting { margin-top: 27px !important; }
  body.page .spixels-legal-supporting p { font-size: 17px; line-height: 1.55; }
  body.page .spixels-legal-updated p,
  body.page .spixels-legal-section p,
  body.page .spixels-legal-section li,
  body.page .spixels-legal-section td,
  body.page .spixels-legal-section th { font-size: 16px; line-height: 1.6; }
  body.page .spixels-legal-section { margin-top: 47px !important; }
  body.page .spixels-legal-section h2 { margin-bottom: 17px; font-size: 31px; }
  body.page .spixels-legal-section h3 { margin-top: 28px; font-size: 19px; }
  body.page .spixels-legal-table-wrap { width: 100%; }
}


/* Illustrator v54 global header. The current Theme Builder modules remain editable. */
body.home .et-l--header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 40;
  height: 82px;
  background: color-mix(in srgb, #0b0911 92%, transparent);
  border-bottom: 1px solid #ffffff12;
}

/* Intelligent Header states are enabled only after its controller initialises. */
body.home .et-l--header.spixels-intelligent-header {
  position: fixed;
  transform: translate3d(0, 0, 0);
  transition: transform 280ms cubic-bezier(.2, .8, .2, 1);
}

body.home .et-l--header.spixels-header-hidden {
  transform: translate3d(0, -100%, 0);
}

.et-l--header .spixels-header-logo-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  body.home .et-l--header.spixels-intelligent-header {
    transition: none;
  }
}

body.home .et-l--header .et_pb_section {
  min-height: 82px;
  height: 82px;
  padding: 0 4.5% !important;
  background: transparent !important;
}

/* Override Divi's generated opaque section layer without changing header geometry. */
body.home #page-container .et-l--header .et_pb_section {
  background: transparent !important;
}

body.home .et-l--header .et_pb_row_1_tb_header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  column-gap: 24px;
  width: 100% !important;
  max-width: none !important;
  min-height: 82px;
  height: 82px;
  padding: 0 !important;
}

body.home .et-l--header .et_pb_row_1_tb_header > .et_pb_column {
  width: auto !important;
  margin: 0 !important;
}

body.home .et-l--header .et_pb_row_1_tb_header > .et_pb_column:last-child {
  display: flex;
  justify-content: flex-end;
}

body.home .et-l--header .et_pb_image_0_tb_header,
body.home .et-l--header .et_pb_image_0_tb_header .et_pb_image_wrap,
body.home .et-l--header .et_pb_image_0_tb_header img {
  display: block;
  width: 184px !important;
  max-width: 100%;
  height: auto;
}

body.home .et-l--header .et_pb_menu_1_tb_header .et_pb_menu__menu {
  display: block !important;
}

body.home .et-l--header .et_pb_menu_1_tb_header .et-menu-nav,
body.home .et-l--header .et_pb_menu_1_tb_header .et-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
}

body.home .et-l--header .et_pb_menu_1_tb_header .et-menu > li {
  margin: 0 !important;
  padding: 0 !important;
}

body.home .et-l--header .et_pb_menu_1_tb_header .et-menu > li > a {
  position: relative;
  padding: 0 !important;
  color: #f5f4ed !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2;
}

body.home .et-l--header .et_pb_menu_1_tb_header .et-menu > li > a::after {
  position: absolute;
  right: 100%;
  bottom: -7px;
  left: 0;
  height: 1px;
  content: '';
  background: #ff4b19;
  transition: right .3s;
}

body.home .et-l--header .et_pb_menu_1_tb_header .et-menu > li > a:hover::after {
  right: 0;
}

.et-l--header a:focus-visible,
.spixels-v54-menu-toggle:focus-visible,
.spixels-v54-mobile-cta:focus-visible {
  outline: 2px solid #ff4b19;
  outline-offset: 6px;
}

body.home #page-container .et-l--header .et_pb_button_0_tb_header.et_pb_button.et_pb_module {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  min-height: 0 !important;
  padding: 13px 20px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--gcid-4z04h2izrf, #f5f4ed) !important;
  color: var(--gcid-k9dwf859zl, #19171d) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  transition: background-color .25s;
}

body.home #page-container .et-l--header .et_pb_button_0_tb_header.et_pb_button.et_pb_module::after {
  display: none !important;
}

body.home #page-container .et-l--header .et_pb_button_0_tb_header.et_pb_button.et_pb_module:hover {
  background: var(--gcid-ggs5im5ma3, #ff4b19) !important;
  opacity: 1 !important;
}

.et-l--header .et_pb_row_0_tb_header,
.spixels-v54-mobile-menu,
.spixels-v54-menu-toggle {
  display: none;
}

/* Keep the absolute overlay below WordPress's logged-in toolbar. */
@media (min-width: 783px) {
  body.home.admin-bar .et-l--header {
    top: 32px;
  }
}

@media (max-width: 1100px) and (min-width: 900px) {
  body.home .et-l--header .et_pb_section {
    padding-right: 5% !important;
    padding-left: 5% !important;
  }

  body.home .et-l--header .et_pb_menu_1_tb_header .et-menu-nav,
  body.home .et-l--header .et_pb_menu_1_tb_header .et-menu {
    gap: 18px;
  }

  body.home .et-l--header .et_pb_menu_1_tb_header .et-menu > li > a {
    font-size: 13px !important;
  }
}

@media (max-width: 899px) {
  .et-l--header,
  .et-l--header .et_pb_section,
  .et-l--header .et_pb_row_0_tb_header {
    min-height: 75px !important;
    height: 75px !important;
  }

  body.home .et-l--header .et_pb_section,
  body.page:not(.home) .et-l--header .et_pb_section {
    padding: 0 5% !important;
  }

  body.home .et-l--header .et_pb_row_1_tb_header,
  body.page:not(.home) .et-l--header .et_pb_row_1_tb_header {
    display: none !important;
  }

  .et-l--header .et_pb_row_0_tb_header {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .et-l--header .et_pb_row_0_tb_header > .et_pb_column,
  .et-l--header .et_pb_menu_0_tb_header {
    display: flex;
    align-items: center;
    width: 100% !important;
    margin: 0 !important;
  }

  .et-l--header .et_pb_menu_0_tb_header {
    position: relative;
  }

  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu_inner_container {
    display: flex !important;
    position: absolute;
    top: 50%;
    left: 0;
    flex: 0 0 184px !important;
    align-items: center;
    width: 184px !important;
    max-width: none !important;
    margin: 0 !important;
    transform: translateY(-50%);
  }

  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__menu,
  .et-l--header .et_pb_menu_0_tb_header .et_mobile_nav_menu {
    display: none !important;
  }

  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo-wrap,
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo,
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo-wrap img {
    display: block;
    width: 184px !important;
    max-width: 100%;
    height: auto;
  }

  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo-wrap,
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo {
    flex: 0 0 184px;
    margin: 0 !important;
  }

  .spixels-v54-menu-toggle {
    position: absolute;
    top: 50%;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #f5f4ed;
    font: 500 16px/1.2 "Neue Haas Display Medium", Arial, sans-serif;
    white-space: nowrap;
    cursor: pointer;
    transform: translateY(-50%);
  }

  .spixels-v54-mobile-menu[hidden] {
    display: none !important;
  }

  .spixels-v54-mobile-menu:not([hidden]) {
    position: fixed;
    z-index: 39;
    inset: 75px 0 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    overflow: auto;
    box-sizing: border-box;
    padding: 8vw;
    background: var(--gcid-evlc1npffh, #18171b);
  }

  body.admin-bar .spixels-v54-mobile-menu:not([hidden]) {
    top: 107px;
  }

  .spixels-v54-mobile-menu-links {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .spixels-v54-mobile-menu-links a {
    color: #f5f4ed;
    font: 500 32px/1.1 "Neue Haas Display Medium", Arial, sans-serif;
  }

  .spixels-v54-mobile-cta {
    align-self: flex-start;
    padding: 13px 20px;
    border-radius: 2px;
    background: var(--gcid-4z04h2izrf, #f5f4ed);
    color: var(--gcid-k9dwf859zl, #19171d);
    font: 500 13px/1.2 "Neue Haas Display Medium", Arial, sans-serif;
    text-decoration: none;
    transition: background-color .25s;
  }

  .spixels-v54-mobile-cta:hover,
  .spixels-v54-mobile-cta:focus-visible {
    background: var(--gcid-ggs5im5ma3, #ff4b19);
  }
}

@media (max-width: 520px) {
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo-wrap,
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo,
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo-wrap img {
    width: 150px !important;
  }

  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo-wrap,
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo {
    flex-basis: 150px;
  }

  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu_inner_container {
    flex-basis: 150px !important;
    width: 150px !important;
  }
}

@media (max-width: 782px) {
  body.home.admin-bar .et-l--header {
    top: 46px;
  }

  body.page:not(.home).admin-bar .et-l--header .et_pb_section {
    top: 46px;
  }

  body.admin-bar .spixels-v54-mobile-menu:not([hidden]) {
    top: 121px;
  }
}

/* Warm Editorial About / Why Spixels. Divi retains editable content. */
body.home .et_pb_section.spixels-about{position:relative;isolation:isolate;display:flex!important;flex-direction:column;min-height:100svh!important;padding:clamp(75px,11vh,145px) var(--gvid-k7xmm7gwox) 0!important;overflow:hidden;background:var(--gcid-r9xhy4rylo,#f0ede6)!important;color:var(--gcid-k9dwf859zl,#19171d);--spixels-about-progress:0}
body.home .et_pb_section.spixels-about:before{content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 42%,color-mix(in srgb,var(--gcid-c0viu4tzhx,#d8d2c8) 72%,transparent),transparent 62%);transform:translateX(calc((var(--spixels-about-progress) - .5)*14%));will-change:transform}
body.home .spixels-about>.et_pb_row{position:relative;z-index:1;width:100%!important;max-width:none!important}
body.home .spixels-about-main{display:grid!important;flex:1 0 auto;grid-template-columns:17% 1fr;column-gap:4%;align-items:center;margin:0!important;padding:0!important}
body.home .spixels-about-main>.et_pb_column{width:auto!important;margin:0!important}
body.home .spixels-about-label-column{align-self:start;padding-top:15px}
body.home .spixels-about-content{align-self:center;padding-bottom:clamp(35px,5vh,70px)}
body.home .spixels-about h2,body.home .spixels-about p,body.home .spixels-about ul{margin:0}
body.home .spixels-about-heading h2{color:var(--gcid-k9dwf859zl,#19171d)!important;font-family:var(--et_global_heading_font),"Neue Haas Display Medium",Arial,sans-serif;font-size:var(--gvid-4aboutdisp)!important;font-weight:500;letter-spacing:-.012em;line-height:1.04em;text-align:left}
body.home .spixels-about-eyebrow .et_pb_text_inner,body.home .spixels-about-eyebrow p{color:var(--gcid-exfvcua7mw,#be3a15)!important;font-family:var(--et_global_body_font),"Neue Haas Display Medium",Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.13em;line-height:1.6em;text-transform:uppercase}
body.home .spixels-about-copy{max-width:610px}
body.home .spixels-about-copy .et_pb_text_inner,body.home .spixels-about-copy p{color:var(--gcid-l8vc8t1ec3,#706970)!important;font-family:var(--et_global_body_font),"Neue Haas Display Medium",Arial,sans-serif;font-size:var(--gvid-4aboutbody);font-weight:500;line-height:1.6em}
body.home .spixels-about-copy .spixels-about-more{margin-top:24px;color:var(--gcid-k9dwf859zl,#19171d)!important;font-size:16px!important;line-height:1.65!important}
body.home .spixels-about-line{display:block;overflow:hidden;padding-bottom:.075em}
body.home .spixels-about-line i{display:block;font-style:normal;transform-origin:left bottom}
body.home .spixels-about-line-final,body.home .spixels-about-line-final i{color:var(--gcid-k9dwf859zl,#19171d)}
body.home .spixels-about-bottom{display:grid!important;grid-template-columns:1.1fr 1fr;gap:8%;margin-top:clamp(30px,5vh,65px)}
body.home .spixels-about-list .et_pb_text_inner,body.home .spixels-about-list li{color:var(--gcid-k9dwf859zl,#19171d)!important;font-family:var(--et_global_body_font),"Neue Haas Display Medium",Arial,sans-serif;font-size:var(--gvid-4aboutlist);font-weight:500;line-height:1.4em}
body.home .spixels-about-list ul{padding:0;list-style:none;border-top:1px solid color-mix(in srgb,var(--gcid-k9dwf859zl,#19171d) 30%,transparent)}
body.home .spixels-about-list li{position:relative;padding:15px 0;border-bottom:1px solid color-mix(in srgb,var(--gcid-k9dwf859zl,#19171d) 30%,transparent);transform-origin:left center;transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1),scale .3s ease,background-color .3s ease,padding .3s ease}
body.home .spixels-about-work-row{flex:0 0 auto;margin:0!important;padding:0!important}
body.home .spixels-about-work-row>.et_pb_column,body.home .spixels-about-work-link{width:100%!important;margin:0!important}
body.home .spixels-about-work-link a{display:flex;align-items:center;justify-content:space-between;gap:30px;box-sizing:border-box;width:100%;padding:30px 0 35px;border-top:1px solid color-mix(in srgb,var(--gcid-k9dwf859zl,#19171d) 30%,transparent);color:var(--gcid-k9dwf859zl,#19171d);text-decoration:none}
body.home .spixels-about-work-link a span:first-child{font:500 13px/1.6 "Neue Haas Display Medium",Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
body.home .spixels-about-work-link a strong{font:500 27px/1.2 "Neue Haas Display Medium",Arial,sans-serif}
body.home .spixels-about-work-link a span:last-child{font-size:30px;line-height:1}
body.home .spixels-about-work-link a:focus-visible{outline:2px solid var(--gcid-v25jlajf3p,#b33a17);outline-offset:6px}
@media(hover:hover) and (pointer:fine){body.home .spixels-about-list li:hover{z-index:2;padding-left:10px;background:color-mix(in srgb,var(--gcid-k9dwf859zl,#19171d) 5%,transparent);scale:1.035}}
body.home .spixels-about.spixels-about-motion:not(.spixels-about-visible) .spixels-about-line i{transform:translateY(115%)}
body.home .spixels-about.spixels-about-motion .spixels-about-line i{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
body.home .spixels-about.spixels-about-motion .spixels-about-line:nth-child(2) i{transition-delay:.15s}
body.home .spixels-about.spixels-about-motion .spixels-about-line:nth-child(3) i{transition-delay:.3s}
body.home .spixels-about.spixels-about-motion .spixels-about-copy{transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:.4s}
body.home .spixels-about.spixels-about-motion:not(.spixels-about-visible) .spixels-about-copy,body.home .spixels-about.spixels-about-motion:not(.spixels-about-visible) .spixels-about-list li{opacity:0;transform:translateY(30px)}
body.home .spixels-about.spixels-about-motion .spixels-about-list li:nth-child(1){transition-delay:.4s}body.home .spixels-about.spixels-about-motion .spixels-about-list li:nth-child(2){transition-delay:.5s}body.home .spixels-about.spixels-about-motion .spixels-about-list li:nth-child(3){transition-delay:.6s}body.home .spixels-about.spixels-about-motion .spixels-about-list li:nth-child(4){transition-delay:.7s}
body.home .spixels-about.spixels-about-motion .spixels-about-work-link{transform-origin:left;transition:opacity .7s .65s,transform .8s .65s}
body.home .spixels-about.spixels-about-motion:not(.spixels-about-visible) .spixels-about-work-link{opacity:0;transform:translateY(18px)}
@media(max-width:1100px){body.home .spixels-about-main{grid-template-columns:1fr;row-gap:30px}body.home .spixels-about-label-column{padding-top:0}body.home .spixels-about-content{margin-left:10%;padding-bottom:25px}body.home .spixels-about-heading h2{font-size:6.4vw!important}}
@media(max-width:899px){body.home .et_pb_section.spixels-about{padding:65px var(--gvid-33x0wbgx2p) 0!important}body.home .spixels-about-main{row-gap:35px}body.home .spixels-about-content{margin-left:0;padding-bottom:10px}body.home .spixels-about-heading h2{font-size:7.2vw!important}body.home .spixels-about-copy .et_pb_text_inner{font-size:17px!important}body.home .spixels-about-work-link a{gap:20px;padding:25px 0}body.home .spixels-about-work-link a strong{font-size:22px}body.home .spixels-about-work-link a span:first-child{font-size:11px}}
@media(max-width:520px){body.home .et_pb_section.spixels-about{padding-top:60px!important}body.home .spixels-about-heading h2{font-size:9.9vw!important}body.home .spixels-about-bottom{grid-template-columns:1fr;gap:30px;margin-top:30px}body.home .spixels-about-list li{padding-top:13px;padding-bottom:13px}body.home .spixels-about-work-link a{flex-wrap:wrap;gap:12px}body.home .spixels-about-work-link a span:first-child{width:100%}body.home .spixels-about-work-link a strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){body.home .spixels-about:before,body.home .spixels-about .spixels-about-line i,body.home .spixels-about .spixels-about-copy,body.home .spixels-about .spixels-about-list li,body.home .spixels-about .spixels-about-work-link{opacity:1!important;transform:none!important;transition:none!important}body.home .spixels-about-list li:hover{padding-left:0;background:transparent;scale:1}}


/* Mobile override follows the shared hero-motion rules so it wins the cascade. */
@media (max-width: 520px) {
  body.home .spixels-hero .spixels-hero-line:nth-child(1) {
    transform: translate3d(calc(var(--spixels-hero-scroll) * -5vw), 0, 0);
  }

  body.home .spixels-hero .spixels-hero-line-accent {
    transform: translate3d(calc(var(--spixels-hero-scroll) * 8vw), 0, 0);
  }

  body.home .spixels-hero .spixels-hero-line:last-child {
    transform: translate3d(calc(var(--spixels-hero-scroll) * -3vw), 0, 0);
  }
}

/* Illustrator v54 Selected Work — native Divi content with scoped viewport architecture. */
body.home .et_pb_section.spixels-project {
  position: relative;
  isolation: isolate;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  color: var(--gcid-4z04h2izrf, #f5f4ed);
}

body.home .spixels-project-watch { --spixels-project-accent: var(--gcid-5bb5919e4850, #d8c6a3); }
body.home .spixels-project-nhs { --spixels-project-accent: #b5eff2; }
body.home .spixels-project-kitchens { --spixels-project-accent: #ece2cc; }

body.home .spixels-project > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.home .spixels-project-cover {
  position: relative;
  display: flex !important;
  min-height: 100svh;
  padding: 90px 7.5vw 70px !important;
  overflow: hidden;
  isolation: isolate;
}

body.home .spixels-project-cover > .et_pb_column {
  position: static !important;
  display: flex !important;
  align-items: stretch;
  width: 100% !important;
  margin: 0 !important;
}

/* The native Image module needs both wrapper layers to fill the cover. */
body.home .spixels-project-image-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  margin: 0 !important;
  pointer-events: none;
}

body.home .spixels-project-image-wrap .et_pb_image_wrap,
body.home .spixels-project-image-wrap img {
  display: block;
  width: 100%;
  max-width: none !important;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.home .spixels-project-watch .spixels-project-image-wrap img {
  object-position: 50% center;
}

body.home .spixels-project-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: #06020924;
}

body.home .spixels-project-watch .spixels-project-cover::after {
  background: linear-gradient(180deg, #111111a6, transparent 24%), linear-gradient(90deg, #111111ad 0%, #1515155c 42%, transparent 68%);
}

@media (min-width: 900px) {
  body.home .spixels-project-watch .spixels-project-cover::after {
    background: linear-gradient(90deg, #0000001f 0%, #0000000f 38%, transparent 60%), linear-gradient(180deg, #111111a6, transparent 24%), linear-gradient(90deg, #111111ad 0%, #1515155c 42%, transparent 68%);
  }
}

body.home .spixels-project-nhs .spixels-project-cover::after {
  background: linear-gradient(180deg, #00173090, transparent 24%), linear-gradient(90deg, #04142b70 0%, #04142b35 42%, transparent 66%);
}

body.home .spixels-project-meta,
body.home .spixels-project-heading {
  position: relative;
  z-index: 2;
}

body.home .spixels-project-meta-category { text-align: right; text-transform: uppercase; }
body.home .spixels-project-label { text-transform: uppercase; }
body.home .spixels-project-heading .et_pb_text_inner { width: 100%; }
body.home .spixels-project-cover h2 { margin: 0; padding: 0; max-width: 95%; }
body.home .spixels-project-cover h2 > span,
body.home .spixels-project-cover h2 > em { display: block; font-style: normal; }
body.home .spixels-project-cover h2 > em { margin-left: 5vw; color: var(--spixels-project-accent); }

body.home .spixels-project-watch .spixels-project-cover h2,
body.home .spixels-project-nhs .spixels-project-cover h2 {
  max-width: 58%;
  text-shadow: 0 2px 22px #00142b50;
}

body.home .spixels-project-watch .spixels-project-cover h2 { text-shadow: 0 2px 22px #00000070; }
body.home .spixels-project-watch .spixels-project-cover h2 > em,
body.home .spixels-project-nhs .spixels-project-cover h2 > em { margin-left: 0; }

/* Absolute cover placement remains part of the viewport architecture. */
body.home .spixels-project-challenge {
  position: absolute !important;
  left: 7.5vw !important;
  bottom: 12% !important;
  z-index: 2;
  width: 30vw !important;
  max-width: 410px !important;
}

body.home .spixels-project-challenge .et_pb_text_inner,
body.home .spixels-project-challenge-copy p { margin: 0; padding: 0; }
body.home .spixels-project-challenge .et_pb_button_module_wrapper { width: 100%; }

/* Divi owns the label and Button styling; CSS supplies the separate decorative arrow. */
body.home .spixels-project-explore {
  position: relative;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin-top: 17px !important;
  text-decoration: none !important;
}

body.home #page-container .et_pb_section .spixels-project-explore::before { display: none !important; content: none !important; }
body.home #page-container .et_pb_section .spixels-project-explore::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  top: 50% !important;
  right: 0 !important;
  width: 14px;
  height: 18px;
  margin: 0 !important;
  opacity: 1 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background: currentColor;
  transform: translateY(-50%) !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 18'%3E%3Cpath d='M7 1v14M2 10l5 5 5-5' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 18'%3E%3Cpath d='M7 1v14M2 10l5 5 5-5' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.home .spixels-project-explore:hover,
body.home .spixels-project-overview:hover,
body.home .spixels-project-external:hover { color: var(--spixels-project-accent) !important; }

body.home .spixels-project-detail {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 8vw;
  row-gap: 0;
  align-items: center;
  min-height: 100svh;
  padding: 9vh 7.5% !important;
  background: inherit;
}

body.home .spixels-project-detail > .et_pb_column { width: auto !important; margin: 0 !important; }
body.home .spixels-project-detail-primary,
body.home .spixels-project-detail-copy,
body.home .spixels-project-detail-copy .et_pb_text_inner { display: contents !important; }

body.home .spixels-project-detail-meta {
  grid-column: 1 / -1;
  grid-row: 1;
  align-self: start;
}

body.home .spixels-project-detail h3 {
  grid-column: 1;
  grid-row: 2;
  align-self: center;
  margin: 0;
  padding: 0;
}

body.home .spixels-project-detail-heading {
  gap: 0;
}

body.home .spixels-project-detail-heading .spixels-project-insight {
  max-width: 720px;
  margin: 30px 0 0;
  padding: 0;
  color: #ffffffc7;
  font-family: var(--et_global_body_font);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.65;
  text-align: left;
}

body.home .spixels-project-detail-secondary { grid-column: 2; grid-row: 2; align-self: center; }
body.home .spixels-project-detail-meta > .et_pb_button_module_wrapper {
  display: block !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Generated numbering and its two-column geometry remain child-theme responsibilities. */
body.home .spixels-project-detail-list {
  counter-reset: spixels-project-details;
  border-top: 1px solid #ffffff65;
}

body.home .spixels-project-detail-list .spixels-project-capability {
  display: grid !important;
  grid-template-columns: 30px 1fr;
  gap: 20px;
  border-bottom: 1px solid #ffffff65;
  counter-increment: spixels-project-details;
  transform-origin: left center;
  transition: scale .3s ease, background-color .3s ease, padding .3s ease;
}

body.home .spixels-project-detail-list .spixels-project-capability::before {
  content: "0" counter(spixels-project-details);
  padding-top: 4px;
  font-size: 12px;
  opacity: .75;
}

body.home .spixels-project-detail-list .spixels-project-capability .et_pb_text_inner { margin: 0 !important; }
body.home .spixels-project-external {
  display: inline-block !important;
  margin-top: 35px !important;
  text-decoration: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.home .spixels-project-detail-list .spixels-project-capability:hover {
    z-index: 2;
    padding-left: 10px !important;
    background: #ffffff0c;
    scale: 1.035;
  }
}

/* Desktop chapter architecture mirrors the final v54 cascade. */
@media (min-width: 900px) {
  body.home .et_pb_section.spixels-project {
    height: 260vh;
    min-height: 200svh;
    overflow: visible;
  }

  body.home .spixels-project-cover {
    position: sticky;
    top: 0;
    width: 100% !important;
    height: 100svh;
    min-height: 0;
    z-index: 1;
  }

  body.home .spixels-project-cover > .et_pb_column { z-index: auto; }

  body.home .spixels-project-detail {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 4;
    width: 100% !important;
    height: 100svh;
    min-height: 100svh;
    overflow: auto;
    box-shadow: 0 -30px 90px #0002;
  }

  /* The native Group wrapper is static; its children occupy viewport coordinates. */
  body.home .spixels-project-detail-meta {
    position: static !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
  }

  body.home .spixels-project-detail-meta .spixels-project-label {
    position: absolute !important;
    top: 9vh !important;
    left: 7.5vw !important;
    z-index: 1;
  }

  /* Divi's Button wrapper contributes a 91px layout offset. */
  body.home .spixels-project-detail-meta .spixels-project-overview {
    position: absolute !important;
    top: calc(9vh - 91px) !important;
    right: 7.5vw !important;
    z-index: 1;
  }
}

@media (max-width: 1050px) and (min-width: 900px) {
  body.home .spixels-project-meta-name .et_pb_text_inner { font-size: 27px; }
}

/* v54 switches to a normal stacked composition below 900px. */
@media (max-width: 899px) {
  body.home .et_pb_section.spixels-project { height: auto !important; min-height: 0; }
  body.home .spixels-project-cover {
    position: relative;
    height: auto;
    min-height: max(760px, 100svh);
    padding: 45px 6% 65px !important;
  }

  body.home .spixels-project-nhs .spixels-project-cover { min-height: max(900px, 100svh); }
  body.home .spixels-project-cover > .et_pb_column,
  body.home .spixels-project-meta,
  body.home .spixels-project-heading { position: relative; z-index: 2; }

  body.home .spixels-project-watch .spixels-project-image-wrap img { object-position: 54% center; }
  body.home .spixels-project-nhs .spixels-project-image-wrap img { object-position: 68% center; }
  body.home .spixels-project-kitchens .spixels-project-image-wrap img { object-position: 62% center; }

  body.home .spixels-project-watch .spixels-project-cover::after,
  body.home .spixels-project-nhs .spixels-project-cover::after {
    background: linear-gradient(90deg, #04142bc9, #04142b80 55%, #04142b30);
  }
  body.home .spixels-project-watch .spixels-project-cover::after {
    background: linear-gradient(90deg, #111111d1, #1515158a 55%, #15151526);
  }

  body.home .spixels-project-meta-name { max-width: 70%; }
  body.home .spixels-project-meta-name .et_pb_text_inner { font-size: 26px; }
  body.home .spixels-project-meta-category { max-width: 27%; }
  body.home .spixels-project-meta-category .et_pb_text_inner { font-size: 10px; }
  body.home .spixels-project-heading { margin-top: 65px !important; }
  body.home .spixels-project-heading h2 { max-width: 100%; font-size: clamp(43px, 7vw, 66px); }
  body.home .spixels-project-watch .spixels-project-heading,
  body.home .spixels-project-nhs .spixels-project-heading { margin-top: 60px !important; }
  body.home .spixels-project-watch .spixels-project-cover h2,
  body.home .spixels-project-nhs .spixels-project-cover h2 { max-width: 95%; font-size: clamp(42px, 7vw, 65px); }

  body.home .spixels-project-challenge {
    left: calc(6% - 20px) !important;
    bottom: 65px !important;
    width: 60% !important;
    max-width: 430px !important;
    padding: 20px;
    background: #071d3bd9;
  }
  body.home .spixels-project-watch .spixels-project-challenge { background: #171717e6; }
  body.home .spixels-project-kitchens .spixels-project-challenge {
    left: 6% !important;
    bottom: 55px !important;
    width: 60% !important;
    max-width: 360px !important;
    padding: 18px;
    background: #17343ef2;
  }

  body.home .spixels-project-detail {
    position: relative;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 0;
    align-items: start;
    align-content: start;
    height: auto;
    min-height: 100svh;
    padding: 70px 6% !important;
    overflow: visible;
  }

  body.home .spixels-project-detail-meta {
    grid-column: 1;
    grid-row: 1;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 50px;
  }
  body.home .spixels-project-detail-meta .spixels-project-label { max-width: 70%; }
  body.home .spixels-project-detail-meta .spixels-project-label .et_pb_text_inner { font-size: 11px; }
  body.home .spixels-project-detail h3 { grid-column: 1; grid-row: 2; font-size: clamp(32px, 5vw, 48px); }
  body.home .spixels-project-detail > .spixels-project-detail-secondary {
    grid-column: 1;
    grid-row: 3;
    margin-top: 45px !important;
  }
  body.home .spixels-project-watch .spixels-project-detail h3 { margin-top: 15px; }
  body.home .spixels-project-watch .spixels-project-detail > .spixels-project-detail-secondary { margin-top: 30px !important; }
  body.home .spixels-project-detail-list .spixels-project-capability { gap: 10px; }
  body.home .spixels-project-detail-list .spixels-project-capability .et_pb_text_inner { font-size: 16px; }
  body.home .spixels-project-explore { font-size: 14px; }
}

@media (max-width: 520px) {
  body.home .spixels-project-meta-category { display: none; }
  body.home .spixels-project-meta-name { max-width: 100%; }
  body.home .spixels-project-meta-name .et_pb_text_inner { font-size: 24px; line-height: 1.2; }

  body.home .spixels-project-watch .spixels-project-image-wrap img { object-position: 44% center; }
  body.home .spixels-project-nhs .spixels-project-image-wrap img { object-position: 75% center; }
  body.home .spixels-project-kitchens .spixels-project-image-wrap img { object-position: 62% center; }

  body.home .spixels-project-heading,
  body.home .spixels-project-watch .spixels-project-heading,
  body.home .spixels-project-nhs .spixels-project-heading { margin-top: 50px !important; }
  body.home .spixels-project-cover h2 { font-size: 11vw; line-height: 1.12; }
  body.home .spixels-project-watch .spixels-project-cover h2,
  body.home .spixels-project-nhs .spixels-project-cover h2 { font-size: 10.7vw; line-height: 1.08; }
  body.home .spixels-project-kitchens .spixels-project-cover h2 { font-size: 10.5vw; }
  body.home .spixels-project-cover h2 > em { margin-left: 0; }

  body.home .spixels-project-watch .spixels-project-challenge,
  body.home .spixels-project-nhs .spixels-project-challenge {
    left: 6% !important;
    width: 88% !important;
    max-width: none !important;
    padding: 18px;
  }
  body.home .spixels-project-kitchens .spixels-project-challenge {
    width: 85% !important;
    max-width: none !important;
  }
}

/* Project-scoped scroll travel remains transform-only. */
body.home .spixels-project { --spixels-project-travel: 0; }

@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
  body.home .spixels-project-watch .spixels-project-image-wrap,
  body.home .spixels-project-nhs .spixels-project-image-wrap {
    transform: scale(calc(1 + var(--spixels-project-travel) * .07));
    transform-origin: 70% 50%;
    will-change: transform;
  }
  body.home .spixels-project-kitchens .spixels-project-image-wrap {
    transform: scale(calc(1 + var(--spixels-project-travel) * .12));
    transform-origin: 75% 50%;
    will-change: transform;
  }
}

@media (max-width: 899px), (prefers-reduced-motion: reduce) {
  body.home .spixels-project-image-wrap { transform: none !important; will-change: auto; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .et_pb_section.spixels-project { height: auto !important; min-height: 0; overflow: hidden; }
  body.home .spixels-project-cover,
  body.home .spixels-project-detail { position: relative; height: auto; }
  body.home .spixels-project-cover { min-height: max(800px, 100svh); }
  body.home .spixels-project-detail {
    min-height: 100svh;
    padding: 80px 7.5% !important;
    overflow: visible;
    box-shadow: none;
  }
  body.home .spixels-project-detail-list .spixels-project-capability { transition: none; }
  body.home .spixels-project-detail-list .spixels-project-capability:hover {
    padding-left: 0 !important;
    background: transparent;
    scale: 1;
  }
}
