/* Shared Figma header component, based on the approved /figma-home/ header. */
.figma-header-shell,
.figma-header-shell * {
  box-sizing: border-box;
}

.figma-header-shell {
  display: contents;
  --header-ink: var(--ink, #12233b);
  --header-cream: var(--cream, #e9e3cc);
  --header-gold: var(--gold, #bea575);
  --header-pill: #3b485c;
  --font-body-fallback: var(--font-body, "Gilroy", "Segoe UI", Arial, sans-serif);
  --font-display-fallback: var(--font-display, "Times New Roman", serif);
}

.figma-header-shell a {
  color: inherit;
  text-decoration: none;
}

.figma-header-shell img {
  display: block;
  max-width: 100%;
}

.figma-header-shell .site-header.figma-header {
  position: relative;
  z-index: 55;
  top: auto;
  left: auto;
  right: auto;
  width: min(1740px, calc(100vw - 36px));
  max-width: none;
  height: 79px;
  min-height: 0;
  max-height: none;
  margin: 16px auto 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  color: var(--header-cream);
  font-family: var(--font-body-fallback);
  background: transparent;
}

.figma-header-shell .brand {
  display: inline-flex;
  align-items: flex-start;
  color: var(--header-cream);
  min-width: max-content;
}

.figma-header-shell .brand-logo {
  position: relative;
  width: 240px;
  height: 79px;
  gap: 13px;
}

.figma-header-shell .brand-logo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: url("/figma-ui/assets/images/logo-dark.svg") left top / 100% 100% no-repeat;
  transition: opacity .18s ease;
}

.figma-header-shell .brand-emblem {
  width: 54px;
  height: 79px;
  flex: 0 0 54px;
  object-fit: contain;
  filter: none;
  transition: opacity .18s ease, filter .18s ease;
}

.figma-header-shell .brand-lockup {
  display: grid;
  gap: 5px;
  padding-top: 7px;
  transition: opacity .18s ease, filter .18s ease;
}

.figma-header-shell .brand-wordmark {
  width: 173px;
  height: 52px;
  object-fit: contain;
  filter: none;
}

.figma-header-shell .brand-tagline {
  width: 120px;
  height: 7px;
  object-fit: contain;
  filter: none;
}

.figma-header-shell .header-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  flex: 1;
  margin-left: 36px;
}

.figma-header-shell .header-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, .94);
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.figma-header-shell .header-nav a.has-chevron::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: .85;
}

.figma-header-shell .header-nav a:hover {
  background: rgba(233, 227, 204, .08);
  border-color: rgba(233, 227, 204, .08);
}

.figma-header-shell .header-actions {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-left: auto;
}

.figma-header-shell .icon-link,
.figma-header-shell .menu-toggle {
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: var(--header-pill);
  color: var(--header-cream);
  cursor: pointer;
  font-size: 0;
}

.figma-header-shell .icon-link img,
.figma-header-shell .favorite-link img,
.figma-header-shell .social-links img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: none;
  transition: filter .18s ease, opacity .18s ease;
}

.figma-header-shell .favorite-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  white-space: nowrap;
}

.figma-header-shell .favorite-link img {
  width: 46px;
  height: 46px;
  padding: 12px;
}

.figma-header-shell .social-links {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 46px;
}

.figma-header-shell .social-links a {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
}

.figma-header-shell .phone-link {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--header-pill);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.figma-header-shell .menu-toggle {
  display: none;
  position: relative;
}

.figma-header-shell .menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  position: absolute;
  left: 14px;
  background: var(--header-cream);
  transition: transform .24s ease, background .18s ease;
}

.figma-header-shell .menu-toggle span:first-child {
  top: 17px;
}

.figma-header-shell .menu-toggle span:last-child {
  bottom: 17px;
}

.menu-open .figma-header-shell .menu-toggle span:first-child {
  transform: translateY(5px) rotate(45deg);
}

.menu-open .figma-header-shell .menu-toggle span:last-child {
  transform: translateY(-5px) rotate(-45deg);
}

.figma-header-shell .mobile-menu {
  display: none;
}

.figma-header-shell .sale-mega {
  position: fixed;
  z-index: 40;
  top: 0;
  left: 0;
  right: 0;
  height: clamp(236px, 24.6vw, 472px);
  overflow: hidden;
  color: var(--header-ink);
  background: #eef1f3 url("/figma-home/assets/images/approach-floral-pattern.png") right top / auto 118% no-repeat;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-16px);
  transition: opacity .24s ease, transform .24s ease;
}

.sale-menu-open .figma-header-shell .sale-mega {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.sale-menu-open .figma-header-shell .site-header.figma-header {
  z-index: 55;
}

.sale-menu-open .figma-header-shell .header-nav a,
.sale-menu-open .figma-header-shell .favorite-link,
.sale-menu-open .figma-header-shell .social-links a {
  color: var(--header-ink);
}

.sale-menu-open .figma-header-shell .favorite-link img,
.sale-menu-open .figma-header-shell .social-links img {
  filter: brightness(0) saturate(100%) invert(12%) sepia(30%) saturate(967%) hue-rotate(178deg) brightness(90%) contrast(94%);
}

.sale-menu-open .figma-header-shell .brand-logo::after {
  opacity: 1;
}

.sale-menu-open .figma-header-shell .brand-emblem,
.sale-menu-open .figma-header-shell .brand-lockup {
  opacity: 0;
}

.sale-menu-open .figma-header-shell .header-nav a[data-sale-trigger] {
  color: var(--header-gold);
  background: rgba(190, 165, 117, .08);
}

.sale-menu-open .figma-header-shell .header-nav a[data-sale-trigger]::after {
  margin-top: 3px;
  transform: rotate(225deg);
}

.sale-menu-open .figma-header-shell .header-nav a:hover {
  background: rgba(17, 34, 58, .06);
  border-color: transparent;
}

.sale-menu-open .figma-header-shell .header-nav a[data-sale-trigger]:hover {
  background: rgba(190, 165, 117, .12);
}

.figma-header-shell .sale-mega-inner {
  width: min(1740px, calc(100vw - 36px));
  height: 100%;
  margin: 0 auto;
  padding: clamp(92px, 7.5vw, 144px) 0 clamp(24px, 2.4vw, 46px);
  display: grid;
  grid-template-columns: minmax(620px, 1fr) clamp(300px, 31vw, 595px);
  gap: clamp(26px, 4.8vw, 92px);
  align-items: start;
}

.figma-header-shell .sale-mega-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: clamp(22px, 3.3vw, 64px);
}

.figma-header-shell .sale-mega-col {
  display: grid;
  gap: clamp(6px, .52vw, 10px);
  align-content: start;
}

.figma-header-shell .sale-mega-col h2 {
  margin: 0 0 clamp(8px, .9vw, 18px);
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--header-ink);
  font-family: var(--font-display-fallback);
  font-size: clamp(18px, 1.47vw, 28px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.figma-header-shell .sale-mega-col h2 span {
  min-width: 39px;
  height: 25px;
  padding: 0 8px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: #ee4f45;
  color: #fff;
  font-family: var(--font-body-fallback);
  font-size: 14px;
  line-height: 1;
}

.figma-header-shell .sale-mega-col a {
  color: rgba(17, 34, 58, .62);
  font-size: clamp(11px, .79vw, 15px);
  line-height: 1;
  transition: color .18s ease;
}

.figma-header-shell .sale-mega-col a:hover {
  color: var(--header-ink);
}

.figma-header-shell .sale-mega-promo {
  position: relative;
  min-height: clamp(132px, 13.75vw, 264px);
  border-radius: clamp(16px, 1.35vw, 26px);
  overflow: hidden;
  align-self: center;
  display: grid;
  align-content: end;
  gap: clamp(8px, .9vw, 18px);
  padding: clamp(20px, 1.9vw, 36px);
  color: #fff;
  background:
    linear-gradient(90deg, rgba(17, 34, 58, .84) 0 40%, rgba(17, 34, 58, .18) 68%),
    url("/figma-home/assets/images/hero-card-original.jpg") center / cover no-repeat;
  box-shadow: 0 28px 70px rgba(17, 34, 58, .22);
}

.figma-header-shell .sale-mega-promo span {
  align-self: start;
  margin-bottom: auto;
  font-family: var(--font-display-fallback);
  font-size: clamp(18px, 1.4vw, 27px);
  line-height: .9;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.figma-header-shell .sale-mega-promo strong {
  font-size: clamp(15px, 1.05vw, 20px);
  font-weight: 400;
}

.figma-header-shell .sale-mega-promo em {
  width: max-content;
  min-height: 34px;
  padding: 0 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  background: var(--header-gold);
  font-style: normal;
  font-size: clamp(11px, .72vw, 14px);
  font-weight: 600;
}

.figma-header-shell .sale-mega-promo i {
  position: absolute;
  right: 26px;
  bottom: 24px;
  width: 66px;
  height: 8px;
  border-radius: 999px;
  background: radial-gradient(circle, #fff 0 2px, transparent 2.5px) 0 50% / 14px 8px repeat-x;
  opacity: .85;
}

@media (max-width: 1540px) {
  .figma-header-shell .social-links {
    display: none;
  }
}

@media (max-width: 1440px) {
  .figma-header-shell .favorite-link span {
    display: none;
  }
}

@media (max-width: 1360px) {
  .figma-header-shell .header-nav {
    display: none;
  }

  .figma-header-shell .menu-toggle {
    display: inline-grid;
  }
}

.menu-open .figma-header-shell .site-header.figma-header {
  position: fixed;
  z-index: 120;
  background: transparent;
}

@media (max-width: 1180px) {
  .figma-header-shell .sale-mega {
    display: none;
  }
}

@media (max-width: 760px) {
  .figma-header-shell .site-header.figma-header {
    top: auto;
    left: auto;
    right: auto;
    width: calc(100vw - 40px);
    margin: 10px auto 0;
    height: 60px;
    align-items: flex-start;
  }

  .figma-header-shell .brand-logo {
    width: 166px;
    height: 48px;
    gap: 8px;
  }

  .figma-header-shell .brand-emblem {
    width: 49px;
    height: 49px;
    flex-basis: 49px;
  }

  .figma-header-shell .brand-lockup {
    gap: 2px;
    padding-top: 5px;
  }

  .figma-header-shell .brand-wordmark {
    width: 111px;
    height: 31px;
  }

  .figma-header-shell .brand-tagline {
    width: 89px;
    height: 6px;
  }

  .figma-header-shell .header-actions {
    gap: 22px;
    padding-top: 3px;
  }

  .figma-header-shell .icon-link,
  .figma-header-shell .search-link {
    display: inline-grid;
    width: 46px;
    height: 46px;
    background: var(--header-pill);
  }

  .figma-header-shell .favorite-link,
  .figma-header-shell .phone-link,
  .figma-header-shell .social-links {
    display: none;
  }

  .figma-header-shell .menu-toggle {
    display: inline-grid;
    width: 33px;
    height: 28px;
    margin-top: 6px;
    border-radius: 0;
    background: transparent;
  }

  .figma-header-shell .menu-toggle::before {
    content: "";
    position: absolute;
    left: 1px;
    top: 13px;
    width: 31px;
    height: 2px;
    background: var(--header-cream);
    transition: opacity .2s ease, background .18s ease;
  }

  .figma-header-shell .menu-toggle span {
    left: 1px;
    width: 31px;
    height: 2px;
  }

  .figma-header-shell .menu-toggle span:first-child {
    top: 3px;
  }

  .figma-header-shell .menu-toggle span:last-child {
    bottom: 3px;
  }

  .menu-open .figma-header-shell .menu-toggle::before {
    opacity: 0;
  }

  .menu-open .figma-header-shell .menu-toggle span:first-child {
    transform: translateY(10px) rotate(45deg);
  }

  .menu-open .figma-header-shell .menu-toggle span:last-child {
    transform: translateY(-10px) rotate(-45deg);
  }
}
