/** Shopify CDN: Minification failed

Line 86:3 Unexpected "/"

**/
/* Footer with Circular Center Logo Cutout */

.section-wrapper[class*="footer"] {
  position: relative;
  overflow: visible;
}

/* Override all text to use Neue Haas Grotesk */
.section-wrapper[class*="footer"],
.section-wrapper[class*="footer"] *,
.section-wrapper[class*="footer"] h1,
.section-wrapper[class*="footer"] h2,
.section-wrapper[class*="footer"] h3,
.section-wrapper[class*="footer"] h4,
.section-wrapper[class*="footer"] h5,
.section-wrapper[class*="footer"] h6,
.section-wrapper[class*="footer"] p,
.section-wrapper[class*="footer"] a,
.section-wrapper[class*="footer"] span,
.section-wrapper[class*="footer"] div,
.section-wrapper[class*="footer"] input,
.section-wrapper[class*="footer"] button,
.section-wrapper[class*="footer"] label {
  font-family: var(--font-neue-haas-grotesk--family);
}

/* Container for the footer content */
.section-wrapper[class*="footer"] .section {
  position: relative;
  padding-top: 0 !important; /* Remove extra padding */
  overflow: visible;
}

/* Center logo container */
.section-wrapper[class*="footer"] .footer-center-logo {
  position: absolute;
  top: -88px; /* Position above footer - slightly more overlap */
  left: 50%;
  transform: translateX(-50%); /* Center horizontally */
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 176px;
  height: 176px;
  border-radius: 50%;
  background: var(--color-background); /* Match footer background for seamless look */
}

/* Center logo styling */
.section-wrapper[class*="footer"] .footer-center-logo img,
.section-wrapper[class*="footer"] .footer-center-logo svg {
  width: 176px !important;
  height: 176px !important;
  border-radius: 50%;
  object-fit: contain;
  padding: 15px; /* Reduced padding = bigger logo mark */
}

/* Circular cutout effect using radial gradient mask */
/* .section-wrapper[class*="footer"] .section-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-mask-image: radial-gradient(circle 88px at 50% 0px, transparent 87px, black 88px);
  mask-image: radial-gradient(circle 88px at 50% 0px, transparent 87px, black 88px);
  z-index: 1;
}

/* Ensure content is above background and has padding for logo */
.section-wrapper[class*="footer"] .section-content-wrapper {
  position: relative;
  z-index: 2;
  padding-top: 100px !important; /* Space for the logo */
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
} */

/* Footer columns layout */
.section-wrapper[class*="footer"] .layout-panel-flex--row {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px;
  width: 100%;
}

/* Size every footer column to its own content (don't stretch them) so that the
   row's `justify-content: space-between` distributes an EQUAL gap between each
   column and the trailing Marcel image.
   Previously columns 1–3 used `flex: 1 1 200px`, which grew them wider than
   their content and left a large trapped gap to the right of SERVICES, while
   the newsletter column never grew — so the spacing looked uneven. */
.section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block {
  flex: 0 1 auto;
}

/* Marcel illustration - fixed-width 5th item; space-between handles its
   placement so it sits at the right edge an equal distance from the newsletter.
   The width is DEFINITE (not auto/fit-content) on purpose: marcel.svg declares
   only a `viewBox` with no intrinsic width/height, so a shrink-to-fit box paired
   with the image's `width: 100%` can collapse it to zero in browsers that don't
   give a width-less SVG a default size. 180px matches the image's max-width. */
.section-wrapper[class*="footer"] .footer-marcel-illustration {
  flex: 0 0 180px;
  display: flex;
  align-items: flex-start;
  order: 5; /* Place it after the 4 main columns but before divider */
}

/* Column headers styling (exclude trust-builder titles so their spacing is controlled by trust-builder.css) */
.section-wrapper[class*="footer"] h2,
.section-wrapper[class*="footer"] h3:not(.trust-builder__item-title),
.section-wrapper[class*="footer"] h4,
.section-wrapper[class*="footer"] h5,
.section-wrapper[class*="footer"] h6,
.section-wrapper[class*="footer"] .h6 {
  font-weight: 700 !important;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Contact and Legal links styling */
.section-wrapper[class*="footer"] a {
  display: inline-block;
  margin-bottom: 0.5rem;
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.section-wrapper[class*="footer"] a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

/* Newsletter column — full width for the block/form/input, but not the submit
   button or its arrow icon (which would otherwise stretch across the field). */
.section-wrapper[class*="footer"]
  [class*="email-signup"]:not(.email-signup__button):not(.email-signup__button-icon) {
  width: 100%;
}

/* Newsletter input styling - white text and placeholder */
.section-wrapper[class*="footer"] .email-signup__input {
  color: #ffffff !important;
}

.section-wrapper[class*="footer"] .email-signup__input::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Newsletter underline border - white */
.section-wrapper[class*="footer"] .email-signup__input--underline {
  --box-shadow-color: #ffffff !important;
}

.section-wrapper[class*="footer"] .email-signup__button {
  color: #ffffff !important;
}

/* Newsletter submit arrow icon - white so it shows on the dark footer */
.section-wrapper[class*="footer"] .email-signup__button-icon {
  color: #ffffff;
  fill: #ffffff;
}


/* Marcel illustration image styling */
.section-wrapper[class*="footer"] .footer-marcel-illustration img,
.section-wrapper[class*="footer"] .footer-marcel-illustration svg {
  max-width: 180px;
  width: 100%;
  height: auto;
}

/* Ensure divider and footer utilities take full width and appear at bottom */
/* Target by block type instead of position to handle dynamic content */
.section-wrapper[class*="footer"] .layout-panel-flex--row > [class*="divider"],
.section-wrapper[class*="footer"] .layout-panel-flex--row > [class*="footer-utilities"] {
  flex: 1 1 100%;
  width: 100%;
  order: 10; /* Ensure they appear after all columns including marcel */
}

/*
 * Mobile: four group blocks in a 2×2 grid ( Legal | Contact, then Services | Newsletter ).
 * Center logo is shown first (above the grid). Marcel stays full width after columns.
 * First-row columns use slightly smaller type + break long lines.
 */
@media screen and (max-width: 989px) {
  .section-wrapper[class*="footer"] .layout-panel-flex--row {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start;
    align-items: stretch;
    row-gap: 32px;
    column-gap: 10px;
  }

  .section-wrapper[class*="footer"]
    .layout-panel-flex--row
    > *:not([class*="divider"]):not([class*="footer-utilities"]) {
    min-width: 0;
  }

  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(1),
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(2),
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(3),
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(4) {
    flex: 1 1 calc(50% - 5px) !important;
    max-width: calc(50% - 5px);
    min-width: 0;
  }

  .section-wrapper[class*="footer"] .layout-panel-flex--row > .footer-center-logo {
    flex: 1 1 100% !important;
    max-width: 100%;
    order: -1;
  }

  .section-wrapper[class*="footer"] .layout-panel-flex--row > .footer-marcel-illustration {
    flex: 1 1 100% !important;
    max-width: 100%;
  }

  /* Narrow columns: wrap and slightly reduce type in the first row (Legal + Contact) */
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(-n + 2) .group-block-content {
    font-size: 0.8125rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    hyphens: auto;
  }

  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(-n + 2) h2,
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(-n + 2) h3:not(.trust-builder__item-title),
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(-n + 2) h4,
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(-n + 2) h5,
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(-n + 2) h6,
  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(-n + 2) .h6 {
    font-size: 0.75rem;
    line-height: 1.35;
  }

  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block:nth-of-type(-n + 2) a {
    overflow-wrap: anywhere;
  }

  .section-wrapper[class*="footer"] .section--full-width .section-content-wrapper,
  .section-wrapper[class*="footer"] .section-content-wrapper {
    padding-top: 40px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .section-wrapper[class*="footer"] h2,
  .section-wrapper[class*="footer"] h3:not(.trust-builder__item-title),
  .section-wrapper[class*="footer"] h4,
  .section-wrapper[class*="footer"] h5,
  .section-wrapper[class*="footer"] h6,
  .section-wrapper[class*="footer"] .h6 {
    margin-bottom: 0.45rem;
    margin-top: 0;
  }

  .section-wrapper[class*="footer"] a {
    margin-bottom: 0.3rem;
  }

  .section-wrapper[class*="footer"] .layout-panel-flex--row > .group-block .group-block-content.layout-panel-flex--column {
    gap: 8px;
  }

  .section-wrapper[class*="footer"] .footer-center-logo {
    position: static;
    transform: none;
    margin: 0 auto 20px;
  }

  .section-wrapper[class*="footer"] .footer-marcel-illustration {
    order: 4;
    justify-content: center;
    margin: 8px auto 0;
  }

  .section-wrapper[class*="footer"] .section-background {
    -webkit-mask-image: none;
    mask-image: none;
  }
}

/* Checkbox styling for newsletter */
.section-wrapper[class*="footer"] input[type="checkbox"] {
  margin-right: 8px;
  accent-color: currentColor;
}

/* Social icons in follow section */
.section-wrapper[class*="footer"] [class*="social"] {
  display: flex;
  gap: 16px;
  margin-top: 16px;
}

.section-wrapper[class*="footer"] [class*="social"] a {
  display: inline-block;
  margin: 0;
}

