/* Homepage colors drawn from the window light, knitwear and timber in the hero. */
body.luxe.lx-home {
  --lx-bg: #faf7f0;
  --lx-ink: #243b32;
  --lx-navy: #294c3f;
  --lx-blue: #3c6050;
  --lx-mist: #e7eee5;
  --lx-muted: #4f5d53;
  --lx-line: #d6d9cd;
  --lx-gold: #9a7047;
  --home-paper: #fffdf8;
  --home-linen: #f3ede2;
  --home-deep: #263f35;
  --home-pale: #dce8dd;
  --home-focus: #526f5b;
  background: var(--lx-bg);
  color: var(--lx-ink);
}

body.luxe.lx-home .lx-hero {
  background: linear-gradient(112deg, #faf6ed 8%, #f3efe5 55%, #e7eee5 100%);
}

body.luxe.lx-home .lx-top {
  background: var(--home-deep);
  color: var(--home-paper);
}

body.luxe.lx-home :is(.lx-header, .lx-mobile-bar, .lx-mobile-menu.lx-enhanced-menu, .lx-dialog) {
  background: var(--home-paper);
  border-color: var(--lx-line);
}

body.luxe.lx-home .lx-hero-copy > h1.lx-hero-heading {
  color: var(--lx-ink);
}

body.luxe.lx-home .lx-hero-copy > p.lx-hero-endorsement {
  background: #e0f0fa;
  color: #284e67 !important;
  border-left-color: #6898b6;
}

body.luxe.lx-home .lx-lifestyle-scene {
  background: var(--home-linen);
  border-color: #cecbbd;
  box-shadow: 0 14px 34px #3a42301a;
}

body.luxe.lx-home :is(.lx-finder, .lx-partner, .lx-contact) {
  background: var(--lx-mist);
  border-color: var(--lx-line);
}

body.luxe.lx-home :is(.lx-knowledge, .lx-nationwide, .lx-footer) {
  background: var(--home-linen);
  border-color: var(--lx-line);
}

body.luxe.lx-home :is(.lx-collection:not(.aurora), .lx-product-photo, .lx-product-badge, .lx-space) {
  background: var(--lx-mist);
  border-color: var(--lx-line);
}

body.luxe.lx-home :is(.lx-offer, .lx-product, .lx-recommendation, .lx-region-grid > div, .lx-benefits > div, .lx-space-copy > a) {
  background: var(--home-paper);
  border-color: var(--lx-line);
}

body.luxe.lx-home .lx-benefits > div {
  border-color: var(--lx-line) !important;
}

body.luxe.lx-home :is(.lx-dark-section, .lx-collection.aurora) {
  background: var(--home-deep);
  color: var(--home-paper);
  border-color: var(--home-deep);
}

body.luxe.lx-home :is(.lx-dark-section, .lx-collection.aurora) :is(h2, h3, a) {
  color: var(--home-paper);
}

body.luxe.lx-home :is(.lx-dark-section, .lx-collection.aurora) :is(p, .lx-kicker, .lx-case-type) {
  color: var(--home-pale) !important;
}

body.luxe.lx-home #cases :is(.lx-case-link, .lx-section-head .lx-textlink) {
  border-color: #a9bfac;
  color: var(--home-paper);
}

body.luxe.lx-home :is(.lx-kicker, .lx-field label .lx-content-icon, .lx-guide > span .lx-content-icon, .lx-hero-copy h1 em) {
  color: var(--lx-blue);
}

body.luxe.lx-home :is(.lx-hero-copy > p:not(.lx-hero-endorsement), .lx-section-head p, .lx-finder-form label, .lx-finder-note, .lx-hero-note, .lx-hero-bottom, .lx-collection:not(.aurora) p, .lx-product-model, .lx-product-badge, .lx-benefits small, .lx-featured-count, #lx-featured-count, .lx-collection-note, .lx-guide > span, .lx-partner p, .lx-contact p, .lx-footer-bottom) {
  color: var(--lx-muted) !important;
}

body.luxe.lx-home :is(.lx-collection:not(.aurora) .lx-textlink, .lx-guide p, .lx-region-grid p, .lx-space-copy p, .lx-footer-grid p, .lx-footer-grid > div > a, .lx-product h3 span, .lx-product-spec, .lx-product-fee) {
  color: var(--lx-muted);
}

body.luxe.lx-home :is(.lx-finder-form select, .lx-search-form input) {
  background: var(--home-paper) !important;
  border-color: #748574 !important;
}

body.luxe.lx-home :is(.lx-btn:not(.lx-btn-outline):not(.lx-btn-white), .lx-tools .lx-cart-entry, .lx-mobile-bar a:last-child, .lx-product .lx-direct-order, .lx-featured-controls [aria-pressed="true"]) {
  background: var(--lx-navy);
  border-color: var(--lx-navy);
  color: #fff;
}

body.luxe.lx-home :is(.lx-btn:not(.lx-btn-outline):not(.lx-btn-white), .lx-tools .lx-cart-entry, .lx-mobile-bar a:last-child, .lx-product .lx-direct-order):hover {
  background: #203c31;
  border-color: #203c31;
}

body.luxe.lx-home :is(.lx-tools [data-lx-compare], .lx-btn-outline, .lx-btn-white, .lx-mobile-bar a:first-child, .lx-featured-controls button:not([aria-pressed="true"]), .lx-product-compare-wrap > [data-lx-add]) {
  color: var(--lx-ink);
  background: var(--home-paper);
  border-color: #82917f;
}

body.luxe.lx-home :is(.lx-tools [data-lx-compare] > .lx-count, .lx-cart-count, .lx-menu-item-icon, .lx-product-compare-wrap > [aria-pressed="true"]) {
  background: var(--lx-mist);
  color: var(--lx-ink);
}

body.luxe.lx-home :is(.lx-brand-shortcuts a, .lx-textlink, .lx-hero-bottom, .lx-footer-bottom) {
  border-color: #a5b0a1;
}

body.luxe.lx-home :is(a, button, select, input, summary):focus-visible {
  outline: 2px solid var(--home-focus);
  outline-offset: 3px;
}

body.luxe.lx-home :is(.lx-top, .lx-dark-section, .lx-collection.aurora) :focus-visible {
  outline-color: var(--home-pale);
}

/* Compact service cards and quieter homepage section labels. */
body.luxe.lx-home .lx-service-benefits {
  gap: 12px;
  padding-block: 22px;
}

body.luxe.lx-home .lx-service-benefits > div {
  min-width: 0;
  align-content: start;
  box-shadow: none;
}

body.luxe.lx-home .lx-service-benefits > div > .lx-service-icon {
  width: 34px;
  height: 34px;
  background: var(--lx-mist);
  border-color: transparent;
  color: var(--lx-blue);
}

body.luxe.lx-home .lx-service-benefits b {
  align-self: center;
  color: var(--lx-ink);
  line-height: 1.55;
  text-wrap: initial;
}

body.luxe.lx-home .lx-service-phrase {
  display: inline-block;
  font: inherit;
  color: inherit;
}

body.luxe.lx-home .lx-hero-bottom {
  justify-content: flex-end;
  margin-top: 20px;
  padding-top: 9px;
}

body.luxe.lx-home .lx-section-head .lx-kicker {
  margin-bottom: 10px;
}

@media (max-width: 680px) {
  body.luxe.lx-home .lx-service-benefits > div > .lx-service-icon {
    width: 30px;
    height: 30px;
  }

  body.luxe.lx-home .lx-service-benefits small {
    line-height: 1.55 !important;
  }
}

@media (max-width: 360px) {
  body.luxe.lx-home .lx-service-benefits {
    grid-template-columns: minmax(0, 1fr);
  }

  body.luxe.lx-home .lx-service-benefits small {
    grid-column: 2;
  }

  body.luxe.lx-home .lx-service-benefits > div > .lx-service-icon {
    grid-row: 1 / 3;
    align-self: center;
  }
}
