﻿:root {
      --page-max: 1440px;
      --side-pad: 58px;
      --footer-pad-x: 70px;
      --ink: #111;
      --muted: #2b2b2b;
      --line: #dedbd5;
      --paper: #fff;
      --soft: #f3ede4;
      --footer-paper: #f7f5f1;
      --input-line: #cfcac2;
      --sale: #aa2d25;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      overflow-x: hidden;
      background: var(--paper);
      color: var(--ink);
      font-family: Arial, Helvetica, sans-serif;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button,
    input {
      font: inherit;
    }

    .page-shell {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      background: var(--paper);
    }

    main.page-shell {
      max-width: none;
    }

    .visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    /* Header module */
    .utility-bar {
      width: 100%;
      background: var(--soft);
      color: #1c1b19;
      font-size: 11px;
      line-height: 1;
      font-weight: 700;
    }

    .utility-bar__inner {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      max-width: var(--page-max);
      min-height: 30px;
      margin: 0 auto;
      padding: 0 var(--side-pad);
      text-align: center;
    }

    .utility-bar a {
      margin-left: 4px;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .site-header {
      width: 100%;
      background: var(--paper);
      border-bottom: 1px solid var(--line);
    }

    .brand-row {
      display: grid;
      grid-template-columns: 205px minmax(260px, 1fr) auto;
      align-items: center;
      gap: 32px;
      min-height: 70px;
      padding: 0 var(--side-pad);
    }

    .brand-mark {
      display: inline-flex;
      align-items: center;
      width: max-content;
      font-size: 28px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 8px;
    }

    .site-search {
      position: relative;
      width: 100%;
      max-width: 730px;
      justify-self: center;
    }

    .site-search input {
      width: 100%;
      height: 42px;
      border: 1px solid #cfcfcf;
      border-radius: 0;
      padding: 0 44px 0 18px;
      color: var(--ink);
      background: #fff;
      font-size: 12px;
      font-weight: 650;
      outline: none;
    }

    .site-search input::placeholder {
      color: #777;
      opacity: 1;
    }

    .icon-button {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 32px;
      border: 0;
      background: transparent;
      color: var(--ink);
      font-size: 12px;
      line-height: 1;
      font-weight: 650;
      white-space: nowrap;
      cursor: pointer;
    }

    .site-search .icon-button {
      position: absolute;
      top: 50%;
      right: 10px;
      width: 28px;
      height: 28px;
      min-height: 28px;
      justify-content: center;
      padding: 0;
      transform: translateY(-50%);
    }

    .header-tools {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 18px;
    }

    .icon {
      width: 17px;
      height: 17px;
      stroke: currentColor;
      stroke-width: 1.9;
      stroke-linecap: round;
      stroke-linejoin: round;
      fill: none;
      flex: 0 0 auto;
    }

    .category-nav {
      display: flex;
      align-items: center;
      gap: 29px;
      min-height: 38px;
      padding: 0 var(--side-pad);
      border-top: 1px solid #ece9e4;
      overflow-x: auto;
      scrollbar-width: none;
    }

    .category-nav::-webkit-scrollbar {
      display: none;
    }

    .category-nav a {
      display: inline-flex;
      align-items: center;
      min-height: 38px;
      color: #161616;
      font-size: 11px;
      line-height: 1;
      font-weight: 720;
      white-space: nowrap;
    }

    .category-nav a[aria-current="page"] {
      color: var(--sale);
    }

    /* Homepage hero module */
    .hero-banner {
      position: relative;
      overflow: hidden;
      width: 100%;
      min-height: 560px;
      aspect-ratio: 1440 / 660;
      background: #eadfce;
    }

    .hero-banner__image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .hero-banner__copy {
      position: absolute;
      z-index: 1;
      left: max(var(--side-pad), calc((100vw - var(--page-max)) / 2 + var(--side-pad)));
      top: 18.5%;
      width: min(520px, 42vw);
    }

    .hero-banner__title {
      margin: 0;
      font-size: 55px;
      line-height: .98;
      font-weight: 800;
      letter-spacing: 0;
    }

    .button-primary,
    .content-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #050505;
      color: #fff;
      border: 0;
      line-height: 1;
      font-weight: 760;
      white-space: nowrap;
    }

    .button-primary {
      min-height: 50px;
      margin-top: 30px;
      padding: 0 32px;
      font-size: 12px;
    }

    /* Homepage content modules */
    .content-section {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      padding: 24px 52px 20px;
    }

    .content-title {
      margin: 0 0 14px;
      font-size: 22px;
      line-height: 1;
      font-weight: 750;
      letter-spacing: 0;
    }

    .room-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 20px;
    }

    .room-card {
      min-width: 0;
      text-align: center;
    }

    .room-card img {
      display: block;
      width: 100%;
      aspect-ratio: 118 / 194;
      object-fit: cover;
      object-position: center;
      background: #e8e1d7;
    }

    .room-card strong {
      display: block;
      margin-top: 10px;
      font-size: 12px;
      line-height: 1;
      font-weight: 750;
    }

    .compact-hero {
      position: relative;
      overflow: hidden;
      width: 100%;
      min-height: 180px;
      aspect-ratio: 3.16 / 1;
      background: #d7d8d0;
    }

    .compact-hero img,
    .promo img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .compact-hero img {
      object-position: 58% center;
    }

    .compact-copy {
      position: absolute;
      z-index: 1;
      left: max(8.6%, calc((100vw - var(--page-max)) / 2 + 124px));
      top: 50%;
      width: min(320px, 34%);
      transform: translateY(-49%);
    }

    .compact-copy h2,
    .promo-copy h2 {
      margin: 0;
      font-size: 31px;
      line-height: 1.02;
      font-weight: 760;
      letter-spacing: 0;
    }

    .compact-copy p,
    .promo-copy p {
      margin: 17px 0 20px;
      font-size: 13px;
      line-height: 1.45;
      font-weight: 650;
    }

    .content-button {
      min-height: 38px;
      padding: 0 17px;
      font-size: 11px;
    }

    .products {
      padding-top: 23px;
      padding-bottom: 0;
    }

    .content-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 18px;
    }

    .content-head .content-title {
      margin: 0;
    }

    .view-all {
      font-size: 12px;
      line-height: 1;
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .product-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 29px;
    }

    .product-card {
      min-width: 0;
    }

    .product-card img {
      display: block;
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      object-position: center;
      background: #e7ded1;
    }

    .product-card h3 {
      margin: 12px 0 5px;
      font-size: 12px;
      line-height: 1.1;
      font-weight: 760;
      letter-spacing: 0;
    }

    .price {
      margin: 0;
      font-size: 12px;
      line-height: 1;
      font-weight: 750;
    }

    .swatches {
      display: flex;
      gap: 5px;
      height: 13px;
      margin-top: 10px;
    }

    .swatch {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--color);
      box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .13);
    }

    .swatch--black {
      --color: #22231d;
    }

    .swatch--olive {
      --color: #807854;
    }

    .swatch--green {
      --color: #4f6950;
    }

    .swatch--sage {
      --color: #657a68;
    }

    .swatch--walnut {
      --color: #805b36;
    }

    .swatch--tan {
      --color: #c7955a;
    }

    .swatch--charcoal {
      --color: #2d2d2b;
    }

    .swatch--terracotta {
      --color: #b96f55;
    }

    .promo-grid {
      display: grid;
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 29px;
      padding: 27px 52px 23px;
    }

    .promo {
      position: relative;
      overflow: hidden;
      min-width: 0;
      min-height: 220px;
      aspect-ratio: 2.1 / 1;
      background: #d7c8b6;
    }

    .promo:after {
      position: absolute;
      inset: 0;
      content: "";
      background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0 38%, rgba(246, 235, 219, .74) 61%, rgba(235, 218, 195, .84) 100%);
      pointer-events: none;
    }

    .promo.right:after {
      background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0 40%, rgba(181, 140, 96, .34) 61%, rgba(143, 104, 70, .55) 100%);
    }

    .promo-copy {
      position: absolute;
      z-index: 1;
      right: 8%;
      top: 50%;
      width: 33%;
      min-width: 172px;
      transform: translateY(-50%);
    }

    .promo-copy h2 {
      font-size: 22px;
      line-height: 1.05;
    }

    .promo-copy p {
      margin: 12px 0 17px;
      font-size: 11px;
      line-height: 1.36;
      font-weight: 650;
    }

    .promo-copy .content-button {
      min-height: 34px;
      padding-inline: 14px;
      font-size: 10px;
    }

    /* Footer module */
    .footer-shell {
      width: 100%;
      background: var(--footer-paper);
    }

    .site-footer {
      display: grid;
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      grid-template-columns: 245px 110px 110px 130px 355px;
      justify-content: space-between;
      column-gap: 0;
      align-items: start;
      min-height: 160px;
      padding: 42px var(--footer-pad-x) 34px;
    }

    .footer-brand h2 {
      margin: 0 0 10px;
      font-size: 28px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 4px;
    }

    .footer-brand p {
      max-width: 245px;
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.42;
      font-weight: 520;
      letter-spacing: 0;
    }

    .footer-group h3,
    .newsletter h3 {
      margin: 0 0 16px;
      font-size: 14px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .footer-links {
      display: grid;
      gap: 9px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .footer-links a {
      display: inline-flex;
      width: max-content;
      color: #242424;
      font-size: 14px;
      line-height: 1;
      font-weight: 520;
    }

    .newsletter {
      justify-self: end;
      width: 100%;
      max-width: 355px;
    }

    .newsletter-form {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 108px;
      gap: 10px;
    }

    .newsletter-form input {
      width: 100%;
      height: 42px;
      border: 1px solid var(--input-line);
      border-radius: 0;
      padding: 0 17px;
      background: #fff;
      color: var(--ink);
      font-size: 14px;
      outline: none;
    }

    .newsletter-form input::placeholder {
      color: #8b867e;
      opacity: 1;
    }

    .newsletter-form button {
      height: 42px;
      border: 0;
      border-radius: 0;
      background: #030303;
      color: #fff;
      font-size: 13px;
      line-height: 1;
      font-weight: 780;
      cursor: pointer;
    }

    /* Category listing content module */
    .plp-page {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      padding: 24px 40px 68px;
      background: var(--paper);
    }

    .breadcrumb {
      display: flex;
      gap: 6px;
      margin: 0 0 28px;
      color: #666;
      font-size: 11px;
      line-height: 1;
      font-weight: 620;
    }

    .category-strip {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 30px;
      padding-bottom: 34px;
      border-bottom: 1px solid #ddd8d2;
    }

    .category-tile {
      min-width: 0;
      text-align: center;
    }

    .category-tile img {
      display: block;
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      background: #e7ded3;
    }

    .category-tile strong {
      display: block;
      margin-top: 22px;
      font-size: 13px;
      line-height: 1;
      font-weight: 790;
    }

    .plp-layout {
      display: grid;
      grid-template-columns: 285px minmax(0, 1fr);
      gap: 40px;
      padding-top: 36px;
    }

    .filter-sidebar {
      border-top: 1px solid #ddd8d2;
    }

    .filter-title {
      margin: 38px 0 18px;
      font-size: 20px;
      line-height: 1.05;
      font-weight: 790;
      letter-spacing: 0;
    }

    .item-count {
      margin: 0 0 28px;
      color: #333;
      font-size: 12px;
      line-height: 1;
      font-weight: 620;
    }

    .filter-group {
      padding: 25px 0 22px;
      border-top: 1px solid #e4dfd8;
    }

    .filter-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: 0 0 22px;
      font-size: 12px;
      line-height: 1;
      font-weight: 800;
    }

    .filter-minus {
      font-size: 16px;
      line-height: 1;
      font-weight: 650;
    }

    .filter-list {
      display: grid;
      gap: 17px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .filter-option {
      display: grid;
      grid-template-columns: 16px minmax(0, 1fr) auto;
      align-items: center;
      gap: 11px;
      color: #333;
      font-size: 12px;
      line-height: 1;
      font-weight: 560;
    }

    .fake-check {
      width: 15px;
      height: 15px;
      border: 1px solid #b9b4ad;
      background: #fff;
    }

    .filter-count {
      color: #333;
      font-size: 12px;
    }

    .filter-swatches {
      display: flex;
      gap: 12px;
      margin-top: 2px;
    }

    .filter-swatch {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: var(--color);
      box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
    }

    .plp-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin: 30px 0 36px;
    }

    .plp-title {
      margin: 0;
      font-size: 42px;
      line-height: 1;
      font-weight: 790;
      letter-spacing: 0;
    }

    .sort-select {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 34px;
      min-width: 195px;
      height: 47px;
      padding: 0 16px;
      border: 1px solid #d6d0c8;
      color: #222;
      background: #fff;
      font-size: 12px;
      line-height: 1;
      font-weight: 620;
    }

    .sort-select svg {
      width: 13px;
      height: 13px;
      stroke: currentColor;
      stroke-width: 2;
      fill: none;
    }

    .plp-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 42px 30px;
    }

    .plp-card {
      min-width: 0;
    }

    .plp-card__image {
      position: relative;
      overflow: hidden;
      aspect-ratio: 334 / 475;
      background: #e7e0d8;
    }

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

    .favorite-button {
      position: absolute;
      top: 12px;
      right: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      border: 1px solid #ddd8d2;
      background: rgba(255, 255, 255, .94);
      color: #666;
    }

    .favorite-button svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      stroke-width: 1.8;
      fill: none;
    }

    .product-eyebrow {
      min-height: 13px;
      margin: 15px 0 5px;
      color: #5d5d5d;
      font-size: 9px;
      line-height: 1;
      font-weight: 700;
    }

    .plp-card h3 {
      margin: 0 0 10px;
      font-size: 13px;
      line-height: 1.1;
      font-weight: 790;
      letter-spacing: 0;
    }

    .plp-swatches {
      display: flex;
      gap: 7px;
      min-height: 20px;
      margin-bottom: 9px;
    }

    .plp-price {
      margin: 0;
      font-size: 13px;
      line-height: 1;
      font-weight: 790;
    }

    /* Bundle checkout content module */
    .checkout-page {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      background: var(--paper);
    }

    .checkout-page .breadcrumb {
      padding: 22px 40px 0;
      margin-bottom: 20px;
    }

    .bundle-hero {
      position: relative;
      overflow: hidden;
      min-height: 350px;
      aspect-ratio: 1440 / 730;
      background: #d9c5ae;
    }

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

    .bundle-hero__copy {
      position: absolute;
      left: 40px;
      top: 120px;
      z-index: 1;
      width: min(390px, 44%);
    }

    .bundle-hero__copy h1 {
      margin: 0;
      font-size: 44px;
      line-height: 1.02;
      font-weight: 800;
      letter-spacing: 0;
    }

    .bundle-hero__copy .content-button {
      min-height: 48px;
      margin-top: 30px;
      padding-inline: 28px;
      font-size: 12px;
    }

    .bundle-builder {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 480px;
      gap: 42px;
      padding: 44px 40px 36px;
      border-bottom: 1px solid #e2ded8;
    }

    .bundle-heading h2 {
      margin: 0 0 8px;
      font-size: 30px;
      line-height: 1.05;
      font-weight: 790;
      letter-spacing: 0;
    }

    .bundle-heading p {
      margin: 0 0 28px;
      color: #3f3f3f;
      font-size: 13px;
      line-height: 1.35;
      font-weight: 560;
    }

    .bundle-items {
      display: grid;
    }

    .bundle-item {
      display: grid;
      grid-template-columns: 170px minmax(0, 1fr) 80px;
      gap: 30px;
      align-items: start;
      padding: 0 0 28px;
      border-bottom: 1px solid #e2ded8;
    }

    .bundle-item + .bundle-item {
      padding-top: 28px;
    }

    .bundle-item img {
      display: block;
      width: 170px;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      background: #e9e0d4;
    }

    .bundle-item h3 {
      margin: 8px 0 8px;
      font-size: 17px;
      line-height: 1.1;
      font-weight: 790;
      letter-spacing: 0;
    }

    .bundle-item p {
      margin: 0 0 14px;
      color: #585858;
      font-size: 12px;
      line-height: 1.25;
      font-weight: 560;
    }

    .qty-control {
      display: inline-grid;
      grid-template-columns: auto 44px;
      align-items: center;
      gap: 8px;
      color: #4a4a4a;
      font-size: 12px;
      font-weight: 620;
    }

    .qty-control select {
      height: 30px;
      border: 1px solid #d2ccc4;
      background: #fff;
      padding-inline: 8px;
      font-size: 12px;
    }

    .bundle-item__price {
      justify-self: end;
      margin-top: 8px;
      font-size: 13px;
      line-height: 1;
      font-weight: 760;
    }

    .bundle-summary {
      border: 1px solid #ded8d0;
      padding: 34px 34px 28px;
      align-self: start;
      background: #fff;
    }

    .summary-label {
      margin: 0 0 8px;
      color: #303030;
      font-size: 12px;
      line-height: 1;
      font-weight: 780;
    }

    .summary-price {
      margin: 0 0 10px;
      font-size: 36px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .summary-savings {
      display: flex;
      gap: 18px;
      margin: 0 0 34px;
      font-size: 12px;
      line-height: 1;
      font-weight: 650;
    }

    .summary-savings del {
      color: #666;
    }

    .summary-savings span {
      color: #b75245;
    }

    .summary-perks {
      display: grid;
      gap: 16px;
      padding: 27px 0 24px;
      border-top: 1px solid #e2ded8;
      border-bottom: 1px solid #e2ded8;
    }

    .summary-perk {
      display: flex;
      align-items: center;
      gap: 14px;
      color: #303030;
      font-size: 13px;
      line-height: 1;
      font-weight: 620;
    }

    .summary-perk svg {
      width: 21px;
      height: 21px;
      stroke: currentColor;
      stroke-width: 1.8;
      fill: none;
      flex: 0 0 auto;
    }

    .summary-actions {
      display: grid;
      gap: 14px;
      padding-top: 25px;
    }

    .summary-actions .content-button {
      min-height: 56px;
      font-size: 14px;
    }

    .secondary-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 56px;
      border: 1px solid #111;
      background: #fff;
      color: #111;
      font-size: 14px;
      line-height: 1;
      font-weight: 760;
    }

    .help-card {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-top: 30px;
      padding-top: 24px;
      border-top: 1px solid #e2ded8;
    }

    .help-avatar {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: linear-gradient(140deg, #b58a66, #f0d4bd);
      box-shadow: inset 0 0 0 12px rgba(34, 36, 32, .12);
    }

    .help-card strong {
      display: block;
      margin-bottom: 4px;
      font-size: 12px;
      line-height: 1;
      font-weight: 790;
    }

    .help-card span {
      color: #555;
      font-size: 11px;
      line-height: 1;
      font-weight: 560;
    }

    .curated-bundles {
      padding: 34px 40px 58px;
    }

    .bundle-section-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      margin-bottom: 24px;
    }

    .bundle-section-head h2 {
      margin: 0;
      font-size: 22px;
      line-height: 1;
      font-weight: 790;
    }

    .bundle-section-head a {
      font-size: 11px;
      line-height: 1;
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .curated-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 30px;
    }

    .curated-card img {
      display: block;
      width: 100%;
      aspect-ratio: 1.45 / 1;
      object-fit: cover;
      background: #ded2c5;
    }

    .curated-card h3 {
      margin: 15px 0 8px;
      font-size: 13px;
      line-height: 1.1;
      font-weight: 790;
    }

    .curated-card p {
      margin: 0;
      font-size: 14px;
      line-height: 1;
      font-weight: 790;
    }

    .curated-card span {
      margin-left: 18px;
      color: #b75245;
      font-size: 12px;
      font-weight: 700;
    }

    /* Cart content module */
    .cart-document {
      display: flex;
      min-height: 100vh;
      flex-direction: column;
    }

    .cart-document .cart-content {
      display: flex;
      flex: 1 0 auto;
      flex-direction: column;
    }

    .cart-document .cart-perks {
      margin-top: 120px;
    }

    .cart-utility-bar .utility-bar__inner {
      min-height: 40px;
    }

    .cart-site-header .page-shell {
      max-width: var(--page-max);
    }

    .cart-site-header .brand-row,
    .cart-site-header .category-nav {
      padding-right: 38px;
      padding-left: 38px;
    }

    .cart-site-header .brand-row {
      grid-template-columns: 205px minmax(320px, 1fr) auto;
      gap: 38px;
      min-height: 70px;
    }

    .cart-site-header .brand-mark {
      font-size: 28px;
      letter-spacing: 2px;
    }

    .cart-site-header .site-search {
      max-width: 790px;
      justify-self: start;
    }

    .cart-header-tools {
      gap: 24px;
    }

    .cart-header-tools a {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 32px;
      font-size: 12px;
      line-height: 1;
      font-weight: 650;
      white-space: nowrap;
    }

    .cart-header-tools .icon {
      width: 17px;
      height: 17px;
    }

    .cart-link {
      position: relative;
      padding-right: 27px;
    }

    .cart-count {
      position: absolute;
      right: 0;
      top: 50%;
      display: inline-grid;
      place-items: center;
      width: 21px;
      height: 21px;
      border-radius: 50%;
      background: #050505;
      color: #fff;
      font-size: 11px;
      line-height: 1;
      font-weight: 800;
      transform: translateY(-50%);
    }

    .cart-content {
      width: 100%;
      background: var(--paper);
    }

    .cart-inner {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      padding: 31px 38px 0;
    }

    .cart-inner h1 {
      margin: 0 0 26px;
      font-size: 41px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .cart-layout {
      display: grid;
      grid-template-columns: minmax(0, 940px) 400px;
      justify-content: start;
      gap: 84px;
      align-items: start;
    }

    .cart-steps {
      margin-bottom: 26px;
    }

    .cart-step-labels {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      align-items: center;
      margin-bottom: 14px;
      text-align: center;
      font-size: 13px;
      line-height: 1;
      font-weight: 800;
    }

    .cart-step-track {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      height: 4px;
      background: #e5e1dc;
    }

    .cart-step-track span {
      background: #c9c5bf;
    }

    .cart-step-track .is-active {
      background: #050505;
    }

    .cart-items {
      display: grid;
    }

    .cart-item {
      display: grid;
      grid-template-columns: 175px minmax(0, 1fr) 74px;
      gap: 34px;
      align-items: start;
      min-height: 0;
      padding: 0 0 14px;
      border-bottom: 1px solid #dfdad4;
    }

    .cart-item + .cart-item {
      padding-top: 8px;
    }

    .cart-item:nth-child(3) {
      padding-bottom: 5px;
    }

    .cart-item img {
      display: block;
      width: 175px;
      height: 143px;
      object-fit: cover;
      background: #ebe4da;
    }

    .cart-item:first-child img {
      height: 147px;
    }

    .cart-item:nth-child(3) img {
      height: 135px;
    }

    .cart-item__body {
      padding-top: 7px;
    }

    .cart-item__body h2 {
      margin: 0 0 8px;
      font-size: 16px;
      line-height: 1.05;
      font-weight: 760;
      letter-spacing: 0;
    }

    .cart-item__body p {
      margin: 0 0 9px;
      color: #282828;
      font-size: 13px;
      line-height: 1;
      font-weight: 520;
    }

    .cart-item__body > span {
      display: block;
      margin-bottom: 12px;
      color: #303030;
      font-size: 13px;
      line-height: 1;
      font-weight: 520;
    }

    .cart-qty {
      display: grid;
      grid-template-columns: 34px 36px 34px;
      align-items: center;
      width: 106px;
      height: 34px;
      border: 1px solid #d8d2cb;
      background: #fff;
      text-align: center;
      font-size: 13px;
      line-height: 1;
    }

    .cart-qty button {
      height: 32px;
      border: 0;
      background: transparent;
      color: #1c1c1c;
      cursor: pointer;
    }

    .cart-qty strong {
      font-weight: 560;
    }

    .cart-remove {
      display: inline-flex;
      margin-top: 10px;
      color: #4a4a4a;
      font-size: 12px;
      line-height: 1;
      font-weight: 560;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .cart-item__price {
      justify-self: end;
      padding-top: 9px;
      font-size: 13px;
      line-height: 1;
      font-weight: 800;
    }

    .cart-summary {
      margin-top: -32px;
      border: 1px solid #d8d2cb;
      padding: 32px 29px 57px;
      background: #fff;
    }

    .cart-summary h2 {
      margin: 0 0 29px;
      font-size: 28px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .cart-summary dl {
      display: grid;
      gap: 26px;
      margin: 0;
      padding: 0 0 27px;
      border-bottom: 1px solid #ded9d3;
    }

    .cart-summary dl div {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      font-size: 14px;
      line-height: 1;
      font-weight: 520;
    }

    .cart-summary dt {
      margin: 0;
    }

    .cart-summary dd {
      margin: 0;
      font-weight: 800;
      text-align: right;
    }

    .cart-saving {
      color: #bb0000;
    }

    .cart-total {
      display: grid;
      gap: 14px;
      padding: 24px 0 22px;
    }

    .cart-total span {
      font-size: 13px;
      line-height: 1;
      font-weight: 800;
    }

    .cart-total strong {
      font-size: 29px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 1px;
    }

    .cart-checkout {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 48px;
      background: #030303;
      color: #fff;
      font-size: 15px;
      line-height: 1;
      font-weight: 800;
    }

    .cart-summary p {
      max-width: 290px;
      margin: 22px 0 0;
      color: #444;
      font-size: 13px;
      line-height: 1.35;
      font-weight: 520;
    }

    .cart-perks {
      width: 100%;
      max-width: var(--page-max);
      margin-right: auto;
      margin-left: auto;
      border-top: 1px solid #e0dcd6;
      border-bottom: 1px solid #e0dcd6;
      background: #f8f7f4;
    }

    .cart-perks__inner {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      width: 100%;
      max-width: var(--page-max);
      min-height: 83px;
      margin: 0 auto;
      padding: 0 38px;
    }

    .cart-perks article {
      display: flex;
      align-items: center;
      gap: 20px;
      padding: 18px 46px;
      border-right: 1px solid #dcd7d1;
    }

    .cart-perks article:last-child {
      border-right: 0;
    }

    .cart-perks svg {
      width: 36px;
      height: 36px;
      stroke: #111;
      stroke-width: 1.25;
      stroke-linecap: round;
      stroke-linejoin: round;
      fill: none;
      flex: 0 0 auto;
    }

    .cart-perks h2 {
      margin: 0 0 7px;
      font-size: 13px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .cart-perks p {
      margin: 0;
      color: #303030;
      font-size: 12px;
      line-height: 1.2;
      font-weight: 560;
    }

    .cart-footer .site-footer {
      grid-template-columns: 318px 110px 110px 130px 355px;
      max-width: var(--page-max);
      padding: 34px 88px 34px 48px;
    }

    .footer-social {
      display: flex;
      gap: 20px;
      margin-top: 22px;
    }

    .footer-social a {
      display: inline-flex;
      color: #111;
    }

    .footer-social svg {
      width: 19px;
      height: 19px;
      stroke: currentColor;
      stroke-width: 1.7;
      stroke-linecap: round;
      stroke-linejoin: round;
      fill: none;
    }

    .footer-social a:nth-child(2) svg,
    .footer-social a:nth-child(3) svg {
      fill: currentColor;
      stroke: none;
    }

    /* Product detail content module */
    .pdp-page {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      background: var(--paper);
    }

    .pdp-page .breadcrumb {
      padding: 22px 40px 0;
      margin-bottom: 20px;
    }

    .pdp-hero {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 438px;
      gap: 42px;
      padding: 0 40px 36px;
      border-bottom: 1px solid #e4dfd8;
    }

    .pdp-gallery {
      display: grid;
      grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
      grid-template-rows: repeat(2, minmax(0, 1fr));
      gap: 18px;
      min-height: 625px;
    }

    .pdp-gallery__item {
      overflow: hidden;
      background: #e7ddcf;
    }

    .pdp-gallery__item:first-child {
      grid-row: 1 / -1;
    }

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

    .pdp-panel {
      align-self: start;
      border: 1px solid #ded8d0;
      padding: 34px 34px 30px;
      background: #fff;
    }

    .pdp-rating {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 16px;
      color: #1f1f1f;
      font-size: 12px;
      line-height: 1;
      font-weight: 650;
    }

    .pdp-stars {
      letter-spacing: 1px;
    }

    .pdp-panel h1 {
      margin: 0 0 12px;
      font-size: 34px;
      line-height: 1.05;
      font-weight: 800;
      letter-spacing: 0;
    }

    .pdp-price {
      margin: 0 0 20px;
      font-size: 23px;
      line-height: 1;
      font-weight: 800;
    }

    .pdp-description {
      margin: 0 0 24px;
      color: #414141;
      font-size: 13px;
      line-height: 1.55;
      font-weight: 560;
    }

    .pdp-option {
      padding: 20px 0;
      border-top: 1px solid #e2ded8;
    }

    .pdp-option__head {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 14px;
      font-size: 12px;
      line-height: 1;
      font-weight: 760;
    }

    .pdp-option__head span:last-child {
      color: #6a6259;
      font-weight: 620;
    }

    .pdp-swatches {
      display: flex;
      gap: 10px;
    }

    .pdp-swatch {
      width: 34px;
      height: 34px;
      border: 1px solid #cbc5bd;
      background: #d6c09d;
    }

    .pdp-swatch[aria-checked="true"] {
      outline: 2px solid #111;
      outline-offset: 2px;
    }

    .pdp-swatch--oak {
      background: #c89a5d;
    }

    .pdp-swatch--ash {
      background: #dfd2bf;
    }

    .pdp-swatch--walnut {
      background: #815c3c;
    }

    .pdp-purchase-row {
      display: grid;
      grid-template-columns: 116px minmax(0, 1fr) 52px;
      gap: 12px;
      padding-top: 4px;
    }

    .pdp-qty {
      display: grid;
      grid-template-columns: 34px 1fr 34px;
      align-items: center;
      height: 56px;
      border: 1px solid #111;
      background: #fff;
      text-align: center;
      font-size: 14px;
      font-weight: 760;
    }

    .pdp-qty button,
    .pdp-favorite {
      border: 0;
      background: transparent;
      color: #111;
      cursor: pointer;
    }

    .pdp-panel .content-button {
      min-height: 56px;
      font-size: 13px;
    }

    .pdp-favorite {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #111;
    }

    .pdp-favorite svg {
      width: 19px;
      height: 19px;
      stroke: currentColor;
      stroke-width: 1.8;
      fill: none;
    }

    .pdp-note {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 22px 0 0;
      padding-top: 22px;
      border-top: 1px solid #e2ded8;
      color: #3d3d3d;
      font-size: 12px;
      line-height: 1.3;
      font-weight: 620;
    }

    .pdp-note svg {
      width: 22px;
      height: 22px;
      stroke: currentColor;
      stroke-width: 1.8;
      fill: none;
      flex: 0 0 auto;
    }

    .pdp-features {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border-bottom: 1px solid #e4dfd8;
    }

    .pdp-feature {
      display: flex;
      align-items: center;
      gap: 16px;
      min-height: 116px;
      padding: 0 40px;
      border-right: 1px solid #e4dfd8;
    }

    .pdp-feature:last-child {
      border-right: 0;
    }

    .pdp-feature svg {
      width: 27px;
      height: 27px;
      stroke: currentColor;
      stroke-width: 1.7;
      fill: none;
      flex: 0 0 auto;
    }

    .pdp-feature strong {
      display: block;
      margin-bottom: 5px;
      font-size: 13px;
      line-height: 1;
      font-weight: 790;
    }

    .pdp-feature span {
      color: #555;
      font-size: 12px;
      line-height: 1.25;
      font-weight: 560;
    }

    .pdp-details {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 420px;
      gap: 54px;
      padding: 42px 40px 50px;
      border-bottom: 1px solid #e4dfd8;
    }

    .pdp-accordion {
      display: grid;
      border-top: 1px solid #ded8d0;
    }

    .pdp-accordion details {
      border-bottom: 1px solid #ded8d0;
    }

    .pdp-accordion summary {
      display: flex;
      justify-content: space-between;
      align-items: center;
      min-height: 64px;
      font-size: 15px;
      line-height: 1;
      font-weight: 790;
      cursor: pointer;
      list-style: none;
    }

    .pdp-accordion summary::-webkit-details-marker {
      display: none;
    }

    .pdp-accordion summary::after {
      content: "+";
      font-size: 22px;
      font-weight: 400;
    }

    .pdp-accordion details[open] summary::after {
      content: "-";
    }

    .pdp-accordion p,
    .pdp-accordion ul {
      margin: 0 0 22px;
      color: #454545;
      font-size: 13px;
      line-height: 1.55;
      font-weight: 560;
    }

    .pdp-accordion ul {
      padding-left: 18px;
    }

    .pdp-dimensions {
      align-self: start;
      padding: 30px;
      background: #f6f1ea;
    }

    .pdp-dimensions h2 {
      margin: 0 0 20px;
      font-size: 22px;
      line-height: 1;
      font-weight: 790;
    }

    .dimension-diagram {
      position: relative;
      min-height: 230px;
      border-bottom: 2px solid #2d2925;
    }

    .dimension-seat {
      position: absolute;
      left: 50%;
      top: 22px;
      width: 150px;
      height: 38px;
      border: 2px solid #2d2925;
      border-radius: 50%;
      transform: translateX(-50%);
    }

    .dimension-leg {
      position: absolute;
      bottom: 0;
      width: 2px;
      height: 168px;
      background: #2d2925;
      transform-origin: top;
    }

    .dimension-leg--left {
      left: calc(50% - 46px);
      transform: rotate(8deg);
    }

    .dimension-leg--right {
      right: calc(50% - 46px);
      transform: rotate(-8deg);
    }

    .dimension-label {
      position: absolute;
      color: #2d2925;
      font-size: 12px;
      line-height: 1;
      font-weight: 760;
    }

    .dimension-label--height {
      right: 24px;
      top: 92px;
      writing-mode: vertical-rl;
    }

    .dimension-label--width {
      left: 50%;
      bottom: 15px;
      transform: translateX(-50%);
    }

    .dimension-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 22px;
    }

    .dimension-list span {
      display: block;
      color: #6a6259;
      font-size: 11px;
      line-height: 1;
      font-weight: 650;
    }

    .dimension-list strong {
      display: block;
      margin-top: 7px;
      font-size: 15px;
      line-height: 1;
      font-weight: 790;
    }

    .pdp-pair {
      padding: 38px 40px 54px;
    }

    .pdp-newsletter {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 440px;
      min-height: 310px;
      margin-top: 10px;
      background: #ebe1d5;
      overflow: hidden;
    }

    .pdp-newsletter__copy {
      align-self: center;
      padding: 40px 56px;
    }

    .pdp-newsletter__copy h2 {
      margin: 0 0 12px;
      font-size: 36px;
      line-height: 1.04;
      font-weight: 800;
      letter-spacing: 0;
    }

    .pdp-newsletter__copy p {
      max-width: 410px;
      margin: 0 0 24px;
      color: #454545;
      font-size: 13px;
      line-height: 1.45;
      font-weight: 560;
    }

    .pdp-signup {
      display: grid;
      grid-template-columns: minmax(0, 280px) 130px;
      gap: 10px;
    }

    .pdp-signup input {
      height: 46px;
      border: 1px solid #c9c1b6;
      background: #fff;
      padding: 0 14px;
      font-size: 12px;
      outline: none;
    }

    .pdp-signup button {
      border: 0;
      background: #111;
      color: #fff;
      font-size: 12px;
      line-height: 1;
      font-weight: 760;
      cursor: pointer;
    }

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

    /* Kitchen category content module */
    .kitchen-page {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      background: #fff;
    }

    .kitchen-page .breadcrumb {
      padding: 28px 54px 0;
      margin-bottom: 15px;
      color: #66605a;
      font-size: 11px;
    }

    .kitchen-hero {
      display: grid;
      grid-template-columns: minmax(0, 865px) minmax(365px, 1fr);
      gap: 46px;
      padding: 0 54px 0 0;
      background: #f4efe6;
    }

    .kitchen-hero__image {
      min-height: 785px;
      background: #d8c0a4;
    }

    .kitchen-hero__image img,
    .kitchen-card img,
    .kitchen-room-card img,
    .kitchen-guide-card img,
    .kitchen-banner img,
    .kitchen-inspire-card img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .kitchen-hero__side {
      display: grid;
      align-content: center;
      gap: 34px;
      padding: 48px 0 48px;
    }

    .kitchen-hero__copy h1 {
      margin: 0 0 12px;
      font-size: 53px;
      line-height: .95;
      font-weight: 800;
      letter-spacing: 0;
    }

    .kitchen-hero__copy p {
      width: min(315px, 100%);
      margin: 0 0 23px;
      color: #333;
      font-size: 18px;
      line-height: 1.35;
      font-weight: 560;
    }

    .kitchen-hero__copy .content-button {
      min-height: 45px;
      padding-inline: 28px;
      font-size: 12px;
    }

    .kitchen-feature-list {
      display: grid;
      gap: 18px;
    }

    .kitchen-card {
      display: grid;
      grid-template-columns: 196px minmax(0, 1fr) 34px;
      align-items: center;
      min-height: 170px;
      border: 1px solid #e3ddd4;
      background: #fff;
    }

    .kitchen-card__media {
      height: 142px;
      margin-left: 17px;
      background: #e7ded2;
      overflow: hidden;
    }

    .kitchen-card strong {
      padding: 0 18px;
      font-size: 15px;
      line-height: 1.15;
      font-weight: 800;
    }

    .kitchen-card span {
      justify-self: center;
      font-size: 24px;
      line-height: 1;
    }

    .kitchen-section {
      padding: 46px 54px 0;
    }

    .kitchen-section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 28px;
    }

    .kitchen-section-head h2 {
      margin: 0;
      font-size: 28px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .kitchen-arrows {
      display: flex;
      gap: 8px;
    }

    .kitchen-arrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 41px;
      height: 41px;
      border: 1px solid #d7d1c8;
      background: #fff;
      color: #111;
      font-size: 18px;
      line-height: 1;
      cursor: pointer;
    }

    .kitchen-room-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px;
    }

    .kitchen-room-card img {
      aspect-ratio: 1.95 / 1;
      background: #dfd3c5;
    }

    .kitchen-room-card h3 {
      margin: 13px 0 0;
      font-size: 13px;
      line-height: 1;
      font-weight: 800;
    }

    .kitchen-guide-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 34px;
      padding-top: 52px;
    }

    .kitchen-guide-card {
      display: grid;
      min-height: 510px;
      padding: 24px 20px 22px;
      border: 1px solid #e2ddd5;
      background: #f7f2ea;
    }

    .kitchen-guide-card__top,
    .kitchen-guide-card__link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
    }

    .kitchen-guide-card h3 {
      margin: 0;
      font-size: 16px;
      line-height: 1;
      font-weight: 800;
    }

    .kitchen-guide-card__image {
      align-self: start;
      margin-top: 23px;
      aspect-ratio: 1.35 / 1;
      background: #dfd4c7;
      overflow: hidden;
    }

    .kitchen-guide-card p {
      align-self: end;
      margin: 18px 0 18px;
      color: #4a4a4a;
      font-size: 13px;
      line-height: 1.35;
      font-weight: 560;
    }

    .kitchen-guide-card a {
      font-size: 12px;
      line-height: 1;
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .kitchen-banner {
      position: relative;
      min-height: 320px;
      margin-top: 46px;
      overflow: hidden;
      background: #cfd7ce;
    }

    .kitchen-banner img {
      position: absolute;
      inset: 0;
      z-index: 0;
      object-position: center;
    }

    .kitchen-banner::before {
      content: "";
      position: absolute;
      inset: 0 48% 0 0;
      z-index: 1;
      background: linear-gradient(90deg, rgba(210, 221, 211, .96), rgba(210, 221, 211, .86), rgba(210, 221, 211, 0));
    }

    .kitchen-banner__copy {
      position: relative;
      z-index: 2;
      width: 380px;
      padding: 64px 0 0 52px;
    }

    .kitchen-banner__copy h2 {
      margin: 0 0 14px;
      font-size: 34px;
      line-height: 1.02;
      font-weight: 800;
      letter-spacing: 0;
    }

    .kitchen-banner__copy p {
      margin: 0 0 24px;
      color: #2f3a34;
      font-size: 13px;
      line-height: 1.45;
      font-weight: 560;
    }

    .kitchen-banner__copy .content-button {
      min-height: 42px;
      padding-inline: 24px;
      font-size: 11px;
    }

    .kitchen-inspire {
      padding-bottom: 46px;
    }

    .kitchen-inspire .kitchen-section-head {
      margin-top: 44px;
      margin-bottom: 22px;
    }

    .kitchen-view-all {
      font-size: 11px;
      line-height: 1;
      font-weight: 760;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .kitchen-inspire-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 28px;
    }

    .kitchen-inspire-card img {
      aspect-ratio: 1.24 / 1;
      background: #e2d7ca;
    }

    .kitchen-inspire-card strong {
      display: block;
      margin-top: 12px;
      font-size: 10px;
      line-height: 1;
      font-weight: 800;
    }

    /* Material introduction content module */
    .material-page {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      padding: 44px 48px 34px;
      background: #fff;
    }

    .material-intro-full .material-page {
      padding-bottom: 104px;
    }

    .material-title {
      margin: 0 0 30px;
      text-align: center;
      font-size: 27px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .material-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px 30px;
    }

    .material-card {
      display: grid;
      background: #f8f5f0;
    }

    .material-card__image {
      aspect-ratio: 1.93 / 1;
      overflow: hidden;
      background: #dfd5c8;
    }

    .material-card img,
    .material-swatch-banner img,
    .material-product img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .material-card__body {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
      gap: 24px;
      min-height: 106px;
      padding: 20px 20px 20px;
    }

    .material-card h2 {
      margin: 0 0 9px;
      font-size: 17px;
      line-height: 1;
      font-weight: 800;
    }

    .material-card p {
      max-width: 340px;
      margin: 0;
      color: #3f3f3f;
      font-size: 12px;
      line-height: 1.4;
      font-weight: 560;
    }

    .material-card .content-button,
    .material-swatch-banner .content-button {
      min-height: 38px;
      padding-inline: 25px;
      font-size: 10px;
      white-space: nowrap;
    }

    .material-swatch-banner {
      display: grid;
      grid-template-columns: 43% minmax(0, 1fr);
      min-height: 360px;
      margin-top: 34px;
      background: #f4f0e9;
      overflow: hidden;
    }

    .material-swatch-copy {
      align-self: center;
      padding: 0 0 0 36px;
    }

    .material-swatch-copy h2 {
      max-width: 300px;
      margin: 0 0 18px;
      font-size: 34px;
      line-height: 1.04;
      font-weight: 800;
      letter-spacing: 0;
    }

    .material-swatch-copy p {
      max-width: 280px;
      margin: 0 0 24px;
      color: #4b4b4b;
      font-size: 12px;
      line-height: 1.45;
      font-weight: 560;
    }

    .material-swatch-media {
      min-height: 360px;
      background: #e8dfd3;
      overflow: hidden;
    }

    .material-shop {
      padding-top: 40px;
    }

    .material-shop-head {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 24px;
      margin-bottom: 22px;
    }

    .material-shop-head h2 {
      margin: 0;
      font-size: 27px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .material-tabs {
      display: flex;
      align-items: center;
      gap: 9px;
      overflow-x: auto;
      scrollbar-width: none;
    }

    .material-tabs::-webkit-scrollbar {
      display: none;
    }

    .material-tabs a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 31px;
      padding: 0 18px;
      border: 1px solid #ddd8d0;
      border-radius: 999px;
      color: #403d38;
      background: #fff;
      font-size: 10px;
      line-height: 1;
      font-weight: 650;
      white-space: nowrap;
    }

    .material-tabs a[aria-current="page"] {
      background: #f1ece4;
      border-color: #d2cbc1;
      color: #111;
    }

    .material-view {
      justify-self: end;
      font-size: 11px;
      line-height: 1;
      font-weight: 760;
      text-decoration: underline;
      text-underline-offset: 3px;
      white-space: nowrap;
    }

    .material-products {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 16px;
    }

    .material-product img {
      aspect-ratio: 1.18 / 1;
      background: #eee8df;
    }

    .material-product h3 {
      margin: 12px 0 6px;
      font-size: 11px;
      line-height: 1.1;
      font-weight: 800;
    }

    .material-product p {
      margin: 0 0 7px;
      color: #4a4a4a;
      font-size: 10px;
      line-height: 1;
      font-weight: 620;
    }

    .material-product strong {
      display: block;
      margin-bottom: 9px;
      font-size: 11px;
      line-height: 1;
      font-weight: 800;
    }

    .material-product .plp-swatches {
      min-height: auto;
      margin: 0;
      gap: 8px;
    }

    /* Trade introduction page module */
    .trade-page {
      width: 100%;
      margin: 0 auto;
      background: #fff;
    }

    .trade-banner {
      display: grid;
      grid-template-columns: 37% minmax(0, 1fr);
      width: 100%;
      min-height: 574px;
      background: #f6f2eb;
      overflow: hidden;
    }

    .trade-banner__copy {
      align-self: center;
      padding: 0 44px 0 72px;
    }

    .trade-banner__copy h1,
    .trade-cta__copy h2 {
      margin: 0 0 16px;
      font-size: 46px;
      line-height: 1.04;
      font-weight: 800;
      letter-spacing: 0;
    }

    .trade-banner__copy p,
    .trade-cta__copy p {
      margin: 0 0 30px;
      color: #222;
      font-size: 23px;
      line-height: 1.25;
      font-weight: 520;
    }

    .trade-banner__copy .content-button,
    .trade-cta__copy .content-button {
      min-height: 54px;
      padding-inline: 33px;
      font-size: 13px;
    }

    .trade-banner__media {
      background: #d4c2ad;
      overflow: hidden;
    }

    .trade-banner__media img,
    .trade-cta img,
    .trade-product img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .trade-section {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      padding: 46px 58px 0;
    }

    .trade-benefits {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 24px;
    }

    .trade-benefit {
      display: grid;
      justify-items: center;
      align-content: start;
      min-height: 278px;
      padding: 45px 28px 32px;
      border: 1px solid #d9d4cc;
      text-align: center;
      background: #fff;
    }

    .trade-benefit svg {
      width: 62px;
      height: 62px;
      margin-bottom: 30px;
      stroke: #111;
      stroke-width: 1.4;
      fill: none;
    }

    .trade-benefit h2 {
      margin: 0 0 12px;
      font-size: 19px;
      line-height: 1;
      font-weight: 800;
    }

    .trade-benefit p {
      max-width: 205px;
      margin: 0;
      color: #3e3e3e;
      font-size: 14px;
      line-height: 1.35;
      font-weight: 560;
    }

    .trade-section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin: 55px 0 26px;
    }

    .trade-section-head h2 {
      margin: 0;
      font-size: 31px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .trade-section-head a {
      font-size: 13px;
      line-height: 1;
      font-weight: 760;
      text-decoration: underline;
      text-underline-offset: 3px;
      white-space: nowrap;
    }

    .trade-products {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 22px;
    }

    .trade-product img {
      height: auto;
      aspect-ratio: 1 / 1.16;
      background: #eee8df;
    }

    .trade-product h3 {
      min-height: 32px;
      margin: 15px 0 10px;
      font-size: 12px;
      line-height: 1.25;
      font-weight: 800;
    }

    .trade-product .plp-swatches {
      min-height: auto;
      margin: 0 0 11px;
      gap: 8px;
    }

    .trade-product strong {
      display: block;
      font-size: 13px;
      line-height: 1;
      font-weight: 800;
    }

    .trade-cta {
      position: relative;
      width: 100%;
      max-width: var(--page-max);
      min-height: 310px;
      margin: 58px auto 0;
      overflow: hidden;
      background: #eadfd1;
    }

    .trade-cta img {
      position: absolute;
      inset: 0;
      object-position: center;
    }

    .trade-cta::before {
      content: "";
      position: absolute;
      inset: 0 47% 0 0;
      background: linear-gradient(90deg, rgba(239, 232, 222, .98), rgba(239, 232, 222, .9), rgba(239, 232, 222, 0));
    }

    .trade-cta__copy {
      position: relative;
      z-index: 1;
      width: min(470px, 52%);
      padding: 70px 0 0 58px;
    }

    .trade-cta__copy h2 {
      font-size: 28px;
    }

    .trade-cta__copy p {
      max-width: 390px;
      font-size: 19px;
      line-height: 1.45;
    }

    /* Sale page content module */
    .sale-page {
      width: 100%;
      margin: 0 auto;
      background: #fff;
    }

    .sale-hero {
      position: relative;
      min-height: 520px;
      background: #e6d9c8;
      overflow: hidden;
    }

    .sale-hero img,
    .sale-bundle img,
    .sale-card img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .sale-hero img {
      position: absolute;
      inset: 0;
      object-position: center;
    }

    .sale-hero__copy {
      position: relative;
      z-index: 1;
      width: min(560px, 44%);
      padding: 178px 0 0 max(58px, calc((100vw - var(--page-max)) / 2 + 58px));
    }

    .sale-hero__copy h1 {
      margin: 0 0 16px;
      color: #1d1d1d;
      font-size: 51px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .sale-hero__copy a {
      display: inline-block;
      font-size: 25px;
      line-height: 1;
      font-weight: 560;
      text-decoration: underline;
      text-underline-offset: 4px;
      white-space: nowrap;
    }

    .sale-content {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      padding: 56px 58px 58px;
    }

    .sale-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
      margin-bottom: 36px;
    }

    .sale-head h2 {
      margin: 0;
      font-size: 34px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .sale-sort {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      min-width: 290px;
      min-height: 50px;
      border: 1px solid #d2ccc4;
      padding: 0 18px;
      color: #2d2d2d;
      background: #fff;
      font-size: 14px;
      line-height: 1;
      font-weight: 560;
    }

    .sale-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 46px 38px;
    }

    .sale-card__image {
      position: relative;
      aspect-ratio: 1 / 1.24;
      background: #eee8df;
      overflow: hidden;
    }

    .sale-badge {
      position: absolute;
      top: 16px;
      left: 16px;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      min-height: 30px;
      padding: 0 12px;
      background: #a93a27;
      color: #fff;
      font-size: 12px;
      line-height: 1;
      font-weight: 800;
    }

    .sale-heart {
      position: absolute;
      top: 14px;
      right: 12px;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      border: 1px solid #d7d0c8;
      background: rgba(255, 255, 255, .96);
      color: #7a5148;
      font-size: 19px;
      line-height: 1;
    }

    .sale-card h3 {
      margin: 17px 0 10px;
      font-size: 17px;
      line-height: 1.15;
      font-weight: 760;
    }

    .sale-card .plp-swatches {
      min-height: auto;
      margin: 0 0 12px;
      gap: 8px;
    }

    .sale-price {
      display: flex;
      align-items: baseline;
      gap: 18px;
      margin: 0;
      font-size: 18px;
      line-height: 1;
      font-weight: 800;
    }

    .sale-price del {
      color: #6c625a;
      font-weight: 560;
    }

    .sale-price span {
      color: #c62217;
    }

    .sale-bundle {
      position: relative;
      min-height: 280px;
      margin-top: 74px;
      overflow: hidden;
      background: #eee8df;
    }

    .sale-bundle img {
      position: absolute;
      inset: 0;
      object-position: center;
    }

    .sale-bundle::before {
      content: "";
      position: absolute;
      inset: 0 62% 0 0;
      z-index: 1;
      background: linear-gradient(90deg, rgba(246, 242, 235, .98), rgba(246, 242, 235, .92), rgba(246, 242, 235, 0));
    }

    .sale-bundle__copy {
      position: relative;
      z-index: 2;
      width: 380px;
      padding: 58px 0 0 50px;
    }

    .sale-bundle__copy h2 {
      margin: 0 0 24px;
      font-size: 32px;
      line-height: 1.1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .sale-bundle__copy .content-button {
      min-height: 46px;
      padding-inline: 29px;
      font-size: 12px;
    }

    /* Ideas inspiration content module */
    .ideas-page {
      width: 100%;
      max-width: var(--page-max);
      margin: 0 auto;
      padding: 46px 42px 32px;
      background: #fff;
    }

    .ideas-layout {
      display: grid;
      grid-template-columns: 315px minmax(0, 1fr);
      gap: 44px;
    }

    .ideas-sidebar {
      padding-top: 5px;
      padding-right: 34px;
      border-right: 1px solid #d9d4cc;
    }

    .ideas-sidebar h1 {
      margin: 0 0 32px;
      font-size: 43px;
      line-height: 1.05;
      font-weight: 800;
      letter-spacing: 0;
    }

    .ideas-intro {
      max-width: 210px;
      margin: 0 0 56px;
      color: #3a3a3a;
      font-size: 16px;
      line-height: 1.45;
      font-weight: 560;
    }

    .ideas-popular {
      border-top: 1px solid #d9d4cc;
      padding-top: 34px;
    }

    .ideas-popular h2 {
      margin: 0 0 26px;
      font-size: 14px;
      line-height: 1;
      font-weight: 800;
    }

    .ideas-popular-list {
      display: grid;
      gap: 26px;
    }

    .ideas-popular-item {
      display: grid;
      grid-template-columns: 105px minmax(0, 1fr);
      gap: 18px;
      align-items: start;
    }

    .ideas-popular-item img,
    .ideas-gallery-card img,
    .ideas-article-card img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .ideas-popular-item img {
      aspect-ratio: 1 / 1.26;
      background: #e7ded4;
    }

    .ideas-popular-item h3 {
      margin: 7px 0 12px;
      font-size: 13px;
      line-height: 1.24;
      font-weight: 800;
    }

    .ideas-link {
      color: #282828;
      font-size: 11px;
      line-height: 1;
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .ideas-main h2 {
      margin: 0 0 25px;
      font-size: 34px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .ideas-gallery {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px 28px;
    }

    .ideas-gallery-card img {
      aspect-ratio: 1 / 1.18;
      background: #e8ddd2;
    }

    .ideas-credit {
      margin: 8px 0 0;
      color: #6a625b;
      font-size: 10px;
      line-height: 1;
      font-weight: 650;
    }

    .ideas-articles {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
      margin-top: 52px;
      border: 1px solid #e0dbd4;
      background: #fff;
    }

    .ideas-article-card {
      display: grid;
      grid-template-columns: 150px minmax(0, 1fr);
      gap: 26px;
      min-height: 175px;
      padding: 22px;
      border-right: 1px solid #e0dbd4;
    }

    .ideas-article-card:last-child {
      border-right: 0;
    }

    .ideas-article-card img {
      aspect-ratio: 1 / 1;
      background: #eee8df;
    }

    .ideas-article-card h3 {
      margin: 6px 0 14px;
      font-size: 16px;
      line-height: 1.22;
      font-weight: 800;
    }

    .ideas-article-card p {
      margin: 0 0 20px;
      color: #555;
      font-size: 12px;
      line-height: 1.35;
      font-weight: 560;
    }

    .ideas-article-card .ideas-link {
      display: inline-flex;
      justify-content: space-between;
      gap: 16px;
      width: 100%;
    }

    /* Articles and guides aggregation page */
    .articles-document {
      background: #fbfaf7;
    }

    .articles-document .category-nav a[aria-current="page"] {
      position: relative;
    }

    .articles-document .category-nav a[aria-current="page"]::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 2px;
      background: var(--sale);
    }

    .articles-page {
      width: 100%;
      background: #fbfaf7;
      color: #111;
    }

    .articles-shell {
      width: 100%;
      max-width: 1280px;
      margin: 0 auto;
      padding: 32px 0 70px;
    }

    .articles-breadcrumb {
      margin-bottom: 40px;
      color: #4b4b4b;
      font-size: 12px;
      line-height: 1;
      font-weight: 500;
    }

    .articles-breadcrumb a {
      color: inherit;
    }

    .articles-kicker {
      margin: 0 0 18px;
      color: #a3341f;
      font-size: 12px;
      line-height: 1;
      font-weight: 850;
      letter-spacing: 1.2px;
      text-transform: uppercase;
    }

    .articles-hero {
      display: grid;
      grid-template-columns: minmax(0, 520px) minmax(520px, 1fr);
      align-items: end;
      gap: 80px;
      padding-bottom: 44px;
      border-bottom: 1px solid #ddd8cf;
    }

    .articles-hero__copy h1 {
      max-width: 500px;
      margin: 0;
      font-size: 60px;
      line-height: .94;
      font-weight: 850;
      letter-spacing: 0;
    }

    .articles-hero__copy > p:last-child {
      max-width: 450px;
      margin: 30px 0 0;
      color: #565656;
      font-size: 17px;
      line-height: 1.48;
      font-weight: 500;
    }

    .articles-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      align-self: end;
      border: 1px solid #d8d3cb;
      background: #fff;
    }

    .articles-stats article {
      min-height: 154px;
      padding: 32px 31px 24px;
      border-right: 1px solid #d8d3cb;
    }

    .articles-stats article:last-child {
      border-right: 0;
    }

    .articles-stats strong {
      display: block;
      margin-bottom: 18px;
      font-size: 27px;
      line-height: 1;
      font-weight: 850;
    }

    .articles-stats span {
      color: #555;
      font-size: 13px;
      line-height: 1.35;
      font-weight: 500;
    }

    .articles-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      padding: 26px 0 36px;
    }

    .articles-tabs a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      border: 1px solid #d7d2c9;
      padding: 0 21px;
      background: #fbfaf7;
      font-size: 13px;
      line-height: 1;
      font-weight: 800;
    }

    .articles-tabs .is-active {
      border-color: #111;
      background: #111;
      color: #fff;
    }

    .articles-featured {
      display: grid;
      grid-template-columns: minmax(0, 760px) minmax(380px, 1fr);
      min-height: 620px;
      border: 1px solid #d9d4cc;
      background: #fff;
    }

    .articles-featured img {
      width: 100%;
      height: 100%;
      min-height: 620px;
      object-fit: cover;
    }

    .articles-featured__copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 50px 55px;
    }

    .articles-featured__copy h2 {
      max-width: 360px;
      margin: 0 0 25px;
      font-size: 43px;
      line-height: 1.02;
      font-weight: 850;
      letter-spacing: 0;
    }

    .articles-featured__copy > p:not(.articles-kicker) {
      max-width: 380px;
      margin: 0 0 30px;
      color: #555;
      font-size: 16px;
      line-height: 1.6;
      font-weight: 500;
    }

    .articles-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
      color: #666;
      font-size: 12px;
      line-height: 1;
      font-weight: 500;
    }

    .articles-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 174px;
      min-height: 58px;
      margin-top: 36px;
      background: #111;
      color: #fff;
      font-size: 14px;
      line-height: 1;
      font-weight: 850;
    }

    .articles-section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 20px;
      margin-top: 60px;
      margin-bottom: 24px;
    }

    .articles-section-head h2 {
      margin: 0;
      font-size: 31px;
      line-height: 1;
      font-weight: 850;
      letter-spacing: 0;
    }

    .articles-section-head span {
      color: #6b5a4a;
      font-size: 12px;
      line-height: 1;
      font-weight: 600;
    }

    .articles-feature-grid {
      display: grid;
      grid-template-columns: minmax(0, 405px) minmax(0, 405px) minmax(300px, 1fr);
      gap: 23px;
      align-items: start;
    }

    .articles-card,
    .articles-topic-panel {
      border: 1px solid #d9d4cc;
      background: #fff;
    }

    .articles-card img {
      width: 100%;
      height: 235px;
      object-fit: cover;
    }

    .articles-card > div {
      min-height: 350px;
      padding: 27px 26px 30px;
    }

    .articles-card h3 {
      margin: 0 0 17px;
      font-size: 25px;
      line-height: 1.08;
      font-weight: 850;
      letter-spacing: 0;
    }

    .articles-card p:not(.articles-kicker) {
      margin: 0 0 24px;
      color: #555;
      font-size: 14px;
      line-height: 1.45;
      font-weight: 500;
    }

    .articles-link {
      display: inline-flex;
      margin-top: 28px;
      font-size: 14px;
      line-height: 1;
      font-weight: 850;
    }

    .articles-topic-panel {
      min-height: 525px;
      padding: 34px 31px;
      background: #f5f1eb;
    }

    .articles-topic-panel h3 {
      max-width: 310px;
      margin: 0 0 30px;
      font-size: 27px;
      line-height: 1.16;
      font-weight: 850;
      letter-spacing: 0;
    }

    .articles-topic-panel ul {
      display: grid;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .articles-topic-panel li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      min-height: 57px;
      border-top: 1px solid #d8d0c5;
      font-size: 14px;
      line-height: 1;
    }

    .articles-topic-panel a {
      font-weight: 850;
    }

    .articles-topic-panel span {
      color: #6a625a;
      font-size: 12px;
      white-space: nowrap;
    }

    .articles-list {
      display: grid;
      margin-top: 54px;
      border-top: 1px solid #d8d3cb;
    }

    .articles-row {
      display: grid;
      grid-template-columns: 282px minmax(0, 1fr) 90px;
      gap: 33px;
      align-items: center;
      min-height: 195px;
      border-bottom: 1px solid #d8d3cb;
      padding: 28px 0;
    }

    .articles-row img {
      width: 282px;
      height: 165px;
      object-fit: cover;
    }

    .articles-row h3 {
      margin: 0 0 10px;
      font-size: 26px;
      line-height: 1.12;
      font-weight: 850;
      letter-spacing: 0;
    }

    .articles-row p:not(.articles-kicker) {
      max-width: 760px;
      margin: 0 0 19px;
      color: #555;
      font-size: 14px;
      line-height: 1.45;
      font-weight: 500;
    }

    .articles-row__link {
      justify-self: end;
      font-size: 14px;
      line-height: 1;
      font-weight: 850;
      white-space: nowrap;
    }

    .articles-signup-band {
      grid-template-columns: minmax(0, 1fr) 340px;
      width: 100%;
      max-width: 1280px;
      min-height: 198px;
      margin: 0 auto 48px;
    }

    .articles-signup-band .pdp-newsletter__copy {
      display: grid;
      grid-template-columns: 310px minmax(340px, 426px);
      align-items: center;
      gap: 46px;
      padding: 34px 74px;
    }

    .articles-signup-band .pdp-newsletter__copy h2 {
      max-width: 270px;
      font-size: 28px;
    }

    .articles-signup-band .pdp-newsletter__copy p {
      max-width: 310px;
      margin-bottom: 0;
      font-size: 14px;
    }

    .articles-signup-band .pdp-signup {
      grid-template-columns: minmax(0, 290px) 136px;
      align-self: center;
      gap: 12px;
    }

    .articles-signup-band .pdp-signup input,
    .articles-signup-band .pdp-signup button {
      height: 50px;
    }

    .articles-signup-band > img {
      height: 198px;
    }

    /* Article detail content module */
    .article-detail-document,
    .article-detail-page {
      background: #fbfaf7;
    }

    .article-detail-document .category-nav a[aria-current="page"] {
      position: relative;
    }

    .article-detail-document .category-nav a[aria-current="page"]::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 2px;
      background: var(--sale);
    }

    .article-detail-page {
      width: 100%;
      color: #111;
    }

    .article-detail-shell {
      width: 100%;
      max-width: 1280px;
      margin: 0 auto;
    }

    .article-detail-breadcrumb {
      padding-top: 24px;
      margin-bottom: 28px;
      color: #555;
      font-size: 11px;
      line-height: 1;
      font-weight: 500;
    }

    .article-detail-header {
      display: grid;
      grid-template-columns: minmax(0, 820px) 246px;
      align-items: end;
      justify-content: space-between;
      gap: 60px;
      margin-bottom: 34px;
    }

    .article-detail-title-block h1 {
      max-width: 820px;
      margin: 0 0 19px;
      font-size: 43px;
      line-height: 1.05;
      font-weight: 850;
      letter-spacing: 0;
    }

    .article-detail-title-block > p:not(.articles-kicker) {
      max-width: 760px;
      margin: 0 0 20px;
      color: #4e4e4e;
      font-size: 17px;
      line-height: 1.5;
      font-weight: 500;
    }

    .article-detail-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      color: #4c4c4c;
      font-size: 12px;
      line-height: 1;
      font-weight: 520;
    }

    .article-share {
      border: 1px solid #d8d3cb;
      padding: 23px 24px;
      background: #fff;
    }

    .article-share p {
      margin: 0 0 14px;
      color: #4d4d4d;
      font-size: 12px;
      line-height: 1.3;
      font-weight: 520;
    }

    .article-share div {
      display: flex;
      gap: 12px;
    }

    .article-share a {
      display: inline-grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border: 1px solid #ddd7cf;
      border-radius: 50%;
      background: #fff;
      font-size: 11px;
      line-height: 1;
      font-weight: 750;
      text-transform: uppercase;
    }

    .article-hero-block {
      border: 1px solid #d9d4cc;
      background: #fff;
    }

    .article-hero-block > img {
      display: block;
      width: 100%;
      height: 660px;
      object-fit: cover;
    }

    .article-hero-facts {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border-top: 1px solid #d9d4cc;
    }

    .article-hero-facts article {
      min-height: 138px;
      padding: 28px 31px 24px;
      border-right: 1px solid #d9d4cc;
    }

    .article-hero-facts article:last-child {
      border-right: 0;
    }

    .article-hero-facts h2 {
      margin: 0 0 12px;
      font-size: 14px;
      line-height: 1;
      font-weight: 850;
      letter-spacing: 0;
    }

    .article-hero-facts p {
      max-width: 310px;
      margin: 0;
      color: #444;
      font-size: 12px;
      line-height: 1.45;
      font-weight: 520;
    }

    .article-body-layout {
      display: grid;
      grid-template-columns: 230px minmax(0, 600px) 300px;
      gap: 44px;
      align-items: start;
      margin-top: 58px;
    }

    .article-toc,
    .article-side-card,
    .article-side-notes blockquote {
      border: 1px solid #d9d4cc;
      background: #fff;
    }

    .article-toc {
      position: sticky;
      top: 20px;
      display: grid;
      gap: 15px;
      padding: 28px 24px;
    }

    .article-toc h2 {
      margin: 0 0 3px;
      font-size: 13px;
      line-height: 1;
      font-weight: 850;
      letter-spacing: 0;
    }

    .article-toc a {
      color: #3f3f3f;
      font-size: 12px;
      line-height: 1.25;
      font-weight: 520;
    }

    .article-body-copy {
      color: #262626;
    }

    .article-body-copy > p {
      margin: 0 0 34px;
      font-size: 15px;
      line-height: 1.75;
      font-weight: 500;
    }

    .article-body-copy h2 {
      margin: 0 0 18px;
      font-size: 31px;
      line-height: 1.08;
      font-weight: 850;
      letter-spacing: 0;
    }

    .article-inline-images {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
      margin: 26px 0 42px;
    }

    .article-inline-images figure {
      margin: 0;
    }

    .article-inline-images img {
      display: block;
      width: 100%;
      height: 145px;
      object-fit: cover;
    }

    .article-inline-images figcaption {
      margin-top: 7px;
      color: #444;
      font-size: 10px;
      line-height: 1.25;
      font-weight: 520;
    }

    .article-height-table {
      width: 100%;
      margin: 28px 0 38px;
      border-collapse: collapse;
      background: #f5f1eb;
      font-size: 13px;
      line-height: 1.25;
    }

    .article-height-table th,
    .article-height-table td {
      border: 1px solid #d9d4cc;
      padding: 20px 22px;
      text-align: left;
    }

    .article-height-table th {
      font-weight: 850;
    }

    .article-rule-note {
      margin: 0 0 44px;
      border-left: 3px solid #c84b32;
      padding: 28px 32px;
      background: #f3eee6;
      color: #1f1f1f;
      font-size: 14px;
      line-height: 1.65;
      font-weight: 500;
    }

    .article-side-notes {
      display: grid;
      gap: 24px;
    }

    .article-side-card {
      padding: 22px;
    }

    .article-side-card img {
      display: block;
      width: 100%;
      height: 154px;
      object-fit: cover;
      margin-bottom: 20px;
    }

    .article-side-card h2 {
      margin: 0 0 12px;
      font-size: 17px;
      line-height: 1;
      font-weight: 850;
      letter-spacing: 0;
    }

    .article-side-card p {
      margin: 0;
      color: #555;
      font-size: 13px;
      line-height: 1.55;
      font-weight: 500;
    }

    .article-side-notes blockquote {
      margin: 0;
      padding: 34px 30px;
      background: #f5f1eb;
      font-size: 22px;
      line-height: 1.28;
      font-weight: 520;
    }

    .article-shop {
      margin-top: 88px;
    }

    .article-related {
      margin-top: 58px;
      padding-bottom: 56px;
    }

    .article-section-head {
      margin-bottom: 24px;
    }

    .article-product-strip {
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 24px;
    }

    .article-product-card {
      background: #f0ece5;
      padding: 13px 13px 18px;
    }

    .article-product-card img {
      aspect-ratio: 1.18 / 1;
      object-fit: contain;
      background: #ebe5dc;
    }

    .article-product-card h3 {
      min-height: 36px;
      font-size: 13px;
      font-weight: 850;
    }

    .article-related-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 25px;
    }

    .article-related-card {
      border: 0;
      background: transparent;
    }

    .article-related-card img {
      height: 135px;
      margin-bottom: 14px;
    }

    .article-related-card > div {
      min-height: auto;
      padding: 0;
    }

    .article-related-card h3 {
      margin-bottom: 8px;
      font-size: 15px;
      line-height: 1.18;
      font-weight: 850;
    }

    .article-related-card p {
      color: #4f4f4f;
      font-size: 12px;
    }

    .article-detail-signup {
      margin-bottom: 48px;
    }

    /* Responsive module rules */
    @media (max-width: 980px) {
/* Base tokens and shared reset */
:root {
        --side-pad: 28px;
        --footer-pad-x: 30px;
      }

      .brand-row {
        grid-template-columns: 1fr auto;
        gap: 16px;
        min-height: auto;
        padding-top: 18px;
        padding-bottom: 14px;
      }

      .brand-mark {
        font-size: 24px;
        letter-spacing: 6px;
      }

      .site-search {
        grid-column: 1 / -1;
        grid-row: 2;
        max-width: none;
      }

      .header-tools {
        gap: 10px;
      }

      .icon-button span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
      }

      .category-nav {
        gap: 22px;
      }

      .hero-banner {
        min-height: 420px;
      }

      .hero-banner__copy {
        top: 16%;
        width: 48%;
      }

      .hero-banner__title {
        font-size: 42px;
      }

      .site-footer {
        grid-template-columns: 1.4fr 1fr 1fr;
        row-gap: 34px;
        min-height: auto;
        padding-top: 36px;
        padding-bottom: 36px;
      }

      .newsletter {
        grid-column: 1 / -1;
        justify-self: start;
        max-width: 460px;
      }

      .plp-page {
        padding: 18px 28px 58px;
      }

      .breadcrumb {
        margin-bottom: 18px;
      }

      .category-strip {
        gap: 18px;
        padding-bottom: 28px;
      }

      .plp-layout {
        grid-template-columns: 170px minmax(0, 1fr);
        gap: 25px;
      }

      .filter-sidebar {
        border-top: 1px solid #ddd8d2;
      }

      .filter-group {
        padding: 22px 0 20px;
      }

      .plp-head {
        margin: 25px 0 28px;
      }

      .plp-title {
        font-size: 27px;
        white-space: nowrap;
      }

      .sort-select {
        min-width: 154px;
      }

      .plp-grid {
        gap: 38px 16px;
      }

      .plp-card h3,
      .plp-price {
        font-size: 11px;
      }

      .bundle-builder {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 24px;
        padding-inline: 28px;
      }

      .bundle-item {
        grid-template-columns: 86px minmax(0, 1fr) 50px;
        gap: 18px;
      }

      .bundle-item img {
        width: 86px;
      }

      .bundle-summary {
        padding: 24px;
      }

      .summary-price {
        font-size: 28px;
      }

      .curated-bundles {
        padding-inline: 28px;
      }

      .curated-grid {
        gap: 18px;
      }

      .pdp-page .breadcrumb {
        padding-inline: 28px;
      }

      .pdp-hero {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 26px;
        padding-inline: 28px;
      }

      .pdp-gallery {
        min-height: 500px;
        gap: 14px;
      }

      .pdp-panel {
        padding: 26px 24px;
      }

      .pdp-panel h1 {
        font-size: 28px;
      }

      .pdp-purchase-row {
        grid-template-columns: 94px minmax(0, 1fr);
      }

      .pdp-favorite {
        grid-column: 1 / -1;
        min-height: 44px;
      }

      .pdp-feature {
        padding-inline: 28px;
      }

      .pdp-details {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 28px;
        padding-inline: 28px;
      }

      .pdp-dimensions {
        padding: 24px;
      }

      .pdp-pair {
        padding-inline: 28px;
      }

      .pdp-newsletter {
        grid-template-columns: minmax(0, 1fr) 330px;
      }

      .pdp-newsletter__copy {
        padding-inline: 34px;
      }

      .kitchen-page .breadcrumb {
        padding-inline: 28px;
      }

      .kitchen-hero {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 28px;
        padding-right: 28px;
      }

      .kitchen-hero__image {
        min-height: 620px;
      }

      .kitchen-hero__copy h1 {
        font-size: 42px;
      }

      .kitchen-hero__copy p {
        font-size: 15px;
      }

      .kitchen-card {
        grid-template-columns: 130px minmax(0, 1fr) 28px;
        min-height: 128px;
      }

      .kitchen-card__media {
        height: 104px;
        margin-left: 12px;
      }

      .kitchen-card strong {
        padding-inline: 12px;
        font-size: 13px;
      }

      .kitchen-section {
        padding-inline: 28px;
      }

      .kitchen-guide-grid {
        gap: 18px;
      }

      .kitchen-guide-card {
        min-height: 430px;
        padding: 20px 16px;
      }

      .kitchen-banner__copy {
        padding-left: 36px;
      }

      .kitchen-inspire-grid {
        gap: 18px;
      }

      .material-page {
        padding-inline: 28px;
      }

      .material-card__body {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      .material-card .content-button {
        justify-self: start;
      }

      .material-products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px 18px;
      }

      .trade-banner {
        grid-template-columns: 40% minmax(0, 1fr);
        min-height: 470px;
      }

      .trade-banner__copy {
        padding-left: 36px;
      }

      .trade-banner__copy h1 {
        font-size: 36px;
      }

      .trade-banner__copy p {
        font-size: 18px;
      }

      .trade-section {
        padding-inline: 28px;
      }

      .trade-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .trade-products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .sale-hero__copy {
        padding-left: 38px;
      }

      .sale-content {
        padding-inline: 28px;
      }

      .sale-grid {
        gap: 40px 22px;
      }

      .ideas-page {
        padding-inline: 28px;
      }

      .ideas-layout {
        grid-template-columns: 230px minmax(0, 1fr);
        gap: 34px;
      }

      .ideas-sidebar {
        padding-right: 24px;
      }

      .ideas-sidebar h1 {
        font-size: 34px;
      }

      .ideas-popular-item {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 14px;
      }

      .ideas-articles {
        grid-template-columns: 1fr;
      }

      .ideas-article-card {
        border-right: 0;
        border-bottom: 1px solid #e0dbd4;
      }

      .ideas-article-card:last-child {
        border-bottom: 0;
      }
    }

    @media (max-width: 760px) {
      .content-section {
        padding: 20px 26px 18px;
      }

      .content-title {
        margin-bottom: 11px;
        font-size: 16px;
      }

      .rooms {
        padding-bottom: 10px;
      }

      .room-grid {
        gap: 10px;
      }

      .room-card strong {
        margin-top: 8px;
        font-size: 8px;
      }

      .compact-hero {
        min-height: 181px;
        aspect-ratio: 3.23 / 1;
      }

      .compact-copy {
        left: 8.7%;
        width: 32%;
      }

      .compact-copy h2 {
        font-size: 20px;
        line-height: 1.04;
      }

      .compact-copy p {
        margin: 12px 0 14px;
        font-size: 8px;
        line-height: 1.45;
      }

      .content-button {
        min-height: 22px;
        padding: 0 10px;
        font-size: 7px;
      }

      .products {
        padding-top: 15px;
        padding-bottom: 0;
      }

      .content-head {
        margin-bottom: 11px;
      }

      .view-all {
        font-size: 7px;
      }

      .product-grid {
        gap: 15px;
      }

      .product-card h3 {
        margin-top: 8px;
        margin-bottom: 4px;
        font-size: 7px;
      }

      .price {
        font-size: 7px;
      }

      .swatches {
        gap: 3px;
        height: 8px;
        margin-top: 7px;
      }

      .swatch {
        width: 6px;
        height: 6px;
      }

      .promo-grid {
        gap: 15px;
        padding: 12px 26px 11px;
      }

      .promo {
        min-height: 132px;
      }

      .promo-copy {
        right: 7%;
        width: 34%;
        min-width: 86px;
      }

      .promo-copy h2 {
        font-size: 13px;
      }

      .promo-copy p {
        margin: 7px 0 9px;
        font-size: 6px;
      }

      .promo-copy .content-button {
        min-height: 20px;
        padding-inline: 9px;
        font-size: 6px;
      }

      .plp-page {
        padding: 18px 18px 44px;
      }

      .breadcrumb {
        margin-bottom: 18px;
        font-size: 10px;
      }

      .category-strip {
        grid-template-columns: repeat(5, 150px);
        gap: 16px;
        overflow-x: auto;
        padding-bottom: 22px;
        scrollbar-width: none;
      }

      .category-strip::-webkit-scrollbar {
        display: none;
      }

      .category-tile strong {
        margin-top: 12px;
        font-size: 11px;
      }

      .plp-layout {
        grid-template-columns: 1fr;
        gap: 22px;
      }

      .filter-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 18px;
        border-top: 0;
      }

      .filter-title,
      .item-count {
        display: none;
      }

      .filter-heading {
        margin-bottom: 14px;
      }

      .filter-list {
        gap: 11px;
      }

      .plp-head {
        align-items: flex-start;
        margin: 20px 0 24px;
      }

      .plp-title {
        font-size: 28px;
      }

      .sort-select {
        min-width: 138px;
        height: 40px;
        gap: 12px;
      }

      .plp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 16px;
      }

      .plp-card h3,
      .plp-price {
        font-size: 11px;
      }

      .checkout-page .breadcrumb {
        padding-inline: 18px;
      }

      .bundle-hero {
        min-height: 300px;
        aspect-ratio: auto;
      }

      .bundle-hero__copy {
        left: 18px;
        top: 58px;
        width: 58%;
      }

      .bundle-hero__copy h1 {
        font-size: 30px;
      }

      .bundle-builder {
        padding: 30px 18px;
      }

      .bundle-heading h2 {
        font-size: 25px;
      }

      .bundle-item {
        grid-template-columns: 82px minmax(0, 1fr) 48px;
        gap: 14px;
      }

      .bundle-item img {
        width: 82px;
      }

      .bundle-item h3 {
        font-size: 14px;
      }

      .bundle-summary {
        padding: 22px;
      }

      .curated-bundles {
        padding: 30px 18px 44px;
      }

      .curated-grid {
        gap: 26px 16px;
      }

      .pdp-page .breadcrumb {
        padding-inline: 18px;
      }

      .pdp-hero {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 0 18px 34px;
      }

      .pdp-gallery {
        min-height: auto;
        aspect-ratio: auto;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
      }

      .pdp-gallery__item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
      }

      .pdp-gallery__item {
        aspect-ratio: 1.22 / 1;
      }

      .pdp-gallery__item:first-child {
        aspect-ratio: 1.34 / 1;
      }

      .pdp-panel {
        padding: 24px 22px;
      }

      .pdp-features {
        grid-template-columns: 1fr;
      }

      .pdp-feature {
        min-height: 86px;
        padding-inline: 18px;
        border-right: 0;
        border-bottom: 1px solid #e4dfd8;
      }

      .pdp-feature:last-child {
        border-bottom: 0;
      }

      .pdp-details {
        grid-template-columns: 1fr;
        padding: 30px 18px 40px;
      }

      .pdp-pair {
        padding: 30px 18px 44px;
      }

      .pdp-newsletter {
        grid-template-columns: 1fr;
      }

      .pdp-newsletter__copy {
        padding: 32px 26px;
      }

      .pdp-newsletter img {
        aspect-ratio: 1.7 / 1;
      }

      .kitchen-page .breadcrumb {
        padding: 18px 18px 0;
      }

      .kitchen-hero {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
      }

      .kitchen-hero__image {
        min-height: auto;
        aspect-ratio: 1.18 / 1;
      }

      .kitchen-hero__side {
        padding: 28px 18px;
      }

      .kitchen-feature-list {
        grid-template-columns: 1fr;
      }

      .kitchen-card {
        grid-template-columns: 120px minmax(0, 1fr) 32px;
        min-height: 116px;
      }

      .kitchen-card__media {
        height: 92px;
      }

      .kitchen-section {
        padding: 30px 18px 0;
      }

      .kitchen-section-head h2 {
        font-size: 22px;
      }

      .kitchen-room-grid,
      .kitchen-guide-grid {
        grid-template-columns: 1fr;
      }

      .kitchen-guide-grid {
        padding-top: 34px;
      }

      .kitchen-guide-card {
        min-height: auto;
      }

      .kitchen-banner {
        min-height: 280px;
      }

      .kitchen-banner::before {
        inset: 0;
        background: linear-gradient(90deg, rgba(210, 221, 211, .95), rgba(210, 221, 211, .65), rgba(210, 221, 211, .18));
      }

      .kitchen-banner__copy {
        width: min(330px, 82%);
        padding: 44px 0 0 28px;
      }

      .kitchen-banner__copy h2 {
        font-size: 27px;
      }

      .kitchen-inspire-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .material-page {
        padding: 30px 18px;
      }

      .material-intro-full .material-page {
        padding-bottom: 58px;
      }

      .material-title {
        margin-bottom: 22px;
        font-size: 23px;
      }

      .material-grid {
        grid-template-columns: 1fr;
        gap: 22px;
      }

      .material-card__body {
        min-height: auto;
      }

      .material-swatch-banner {
        grid-template-columns: 1fr;
      }

      .material-swatch-copy {
        padding: 34px 28px;
      }

      .material-swatch-copy h2 {
        font-size: 29px;
      }

      .material-swatch-media {
        min-height: auto;
        aspect-ratio: 1.45 / 1;
      }

      .material-shop-head {
        grid-template-columns: 1fr auto;
      }

      .material-tabs {
        grid-column: 1 / -1;
        grid-row: 2;
      }

      .material-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .trade-banner {
        grid-template-columns: 1fr;
      }

      .trade-banner__copy {
        padding: 42px 24px;
      }

      .trade-banner__media {
        min-height: 320px;
      }

      .trade-section {
        padding: 30px 18px 0;
      }

      .trade-benefits {
        grid-template-columns: 1fr;
      }

      .trade-benefit {
        min-height: auto;
        padding: 32px 22px;
      }

      .trade-section-head {
        margin-top: 38px;
      }

      .trade-section-head h2 {
        font-size: 24px;
      }

      .trade-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .trade-cta {
        min-height: 300px;
      }

      .trade-cta::before {
        inset: 0;
        background: linear-gradient(90deg, rgba(239, 232, 222, .98), rgba(239, 232, 222, .66), rgba(239, 232, 222, .18));
      }

      .trade-cta__copy {
        width: min(320px, 82%);
        padding: 46px 0 0 24px;
      }

      .sale-hero {
        min-height: 390px;
      }

      .sale-hero img {
        object-position: 58% center;
      }

      .sale-hero__copy {
        width: min(290px, 72%);
        padding: 120px 0 0 24px;
      }

      .sale-hero__copy h1 {
        font-size: 38px;
        white-space: normal;
      }

      .sale-hero__copy a {
        font-size: 20px;
      }

      .sale-content {
        padding: 38px 18px 44px;
      }

      .sale-head {
        align-items: flex-start;
      }

      .sale-head h2 {
        font-size: 27px;
      }

      .sale-sort {
        min-width: 170px;
      }

      .sale-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 16px;
      }

      .sale-card h3 {
        font-size: 13px;
      }

      .sale-price {
        gap: 10px;
        font-size: 14px;
      }

      .sale-bundle {
        min-height: 250px;
      }

      .sale-bundle::before {
        inset: 0;
        background: linear-gradient(90deg, rgba(246, 242, 235, .98), rgba(246, 242, 235, .66), rgba(246, 242, 235, .18));
      }

      .sale-bundle__copy {
        width: min(300px, 74%);
        padding: 40px 0 0 24px;
      }

      .sale-bundle__copy h2 {
        font-size: 25px;
      }

      .ideas-page {
        padding: 32px 18px 28px;
      }

      .ideas-layout {
        grid-template-columns: 1fr;
        gap: 36px;
      }

      .ideas-sidebar {
        padding-right: 0;
        border-right: 0;
      }

      .ideas-sidebar h1 {
        margin-bottom: 18px;
        font-size: 32px;
      }

      .ideas-intro {
        max-width: 420px;
        margin-bottom: 28px;
      }

      .ideas-popular {
        padding-top: 24px;
      }

      .ideas-popular-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 16px;
      }

      .ideas-popular-item {
        grid-template-columns: 78px minmax(0, 1fr);
      }

      .ideas-main h2 {
        font-size: 27px;
      }

      .ideas-gallery {
        gap: 24px 16px;
      }

      .ideas-article-card {
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 18px;
      }
    }

    @media (max-width: 620px) {
      :root {
        --side-pad: 18px;
      }

      .utility-bar__inner {
        min-height: 28px;
        font-size: 9px;
      }

      .brand-row {
        padding-top: 14px;
      }

      .brand-mark {
        font-size: 20px;
        letter-spacing: 5px;
      }

      .site-search input {
        height: 38px;
        font-size: 11px;
      }

      .category-nav {
        gap: 18px;
      }

      .category-nav a {
        font-size: 10px;
      }

      .hero-banner {
        min-height: 360px;
        aspect-ratio: auto;
      }

      .hero-banner__image {
        object-position: 58% center;
      }

      .hero-banner__copy {
        top: 14%;
        width: 58%;
      }

      .hero-banner__title {
        font-size: 34px;
      }

      .button-primary {
        min-height: 42px;
        margin-top: 22px;
        padding-inline: 22px;
        font-size: 11px;
      }

      .bundle-builder {
        grid-template-columns: 1fr;
      }

      .curated-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .pdp-panel h1 {
        font-size: 27px;
      }

      .pdp-purchase-row {
        grid-template-columns: 102px minmax(0, 1fr);
      }

      .pdp-newsletter__copy h2 {
        font-size: 28px;
      }

      .pdp-signup {
        grid-template-columns: 1fr;
      }

      .pdp-signup button {
        min-height: 46px;
      }

      .kitchen-hero__copy h1 {
        font-size: 36px;
      }

      .kitchen-card {
        grid-template-columns: 104px minmax(0, 1fr) 26px;
      }

      .kitchen-card__media {
        height: 82px;
      }

      .kitchen-card strong {
        font-size: 12px;
      }

      .material-shop-head h2 {
        font-size: 22px;
      }

      .trade-banner__copy h1 {
        font-size: 31px;
      }

      .trade-banner__copy p,
      .trade-cta__copy p {
        font-size: 16px;
      }

      .sale-head {
        display: grid;
      }

      .sale-sort {
        width: 100%;
      }

      .ideas-popular-list,
      .ideas-gallery {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 560px) {
      :root {
        --footer-pad-x: 20px;
      }

      .site-footer {
        grid-template-columns: 1fr 1fr;
        column-gap: 28px;
        row-gap: 30px;
      }

      .footer-brand,
      .newsletter {
        grid-column: 1 / -1;
      }

      .footer-brand h2 {
        font-size: 24px;
      }

      .footer-brand p {
        max-width: 320px;
      }

      .newsletter-form {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 430px) {
      .content-section {
        padding-inline: 16px;
      }

      .room-grid,
      .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .promo-grid {
        grid-template-columns: 1fr;
      }

      .room-card strong,
      .product-card h3,
      .price,
      .view-all {
        font-size: 10px;
      }

      .compact-hero {
        aspect-ratio: auto;
        min-height: 250px;
      }

      .compact-hero img {
        object-position: 66% center;
      }

      .compact-copy {
        width: 44%;
      }

      .promo-grid {
        padding-inline: 16px;
      }

      .plp-head {
        display: grid;
      }

      .plp-title {
        font-size: 26px;
      }

      .filter-sidebar {
        grid-template-columns: 1fr;
      }

      .bundle-item {
        grid-template-columns: 78px minmax(0, 1fr);
      }

      .bundle-item__price {
        grid-column: 2;
        justify-self: start;
        margin-top: 0;
      }

      .curated-grid {
        grid-template-columns: 1fr;
      }

      .pdp-gallery {
        grid-template-columns: 1fr;
      }

      .pdp-purchase-row {
        grid-template-columns: 1fr;
      }

      .pdp-qty,
      .pdp-favorite {
        min-height: 50px;
      }

      .dimension-list {
        grid-template-columns: 1fr;
      }

      .kitchen-room-grid,
      .kitchen-inspire-grid {
        grid-template-columns: 1fr;
      }

      .kitchen-section-head {
        align-items: flex-start;
      }

      .kitchen-arrows {
        display: none;
      }

      .kitchen-card {
        grid-template-columns: 92px minmax(0, 1fr) 24px;
      }

      .kitchen-card__media {
        height: 74px;
      }

      .kitchen-guide-card h3 {
        font-size: 14px;
      }

      .material-products {
        grid-template-columns: 1fr;
      }

      .material-product img {
        aspect-ratio: 1.45 / 1;
      }

      .trade-products {
        grid-template-columns: 1fr;
      }

      .trade-product img {
        aspect-ratio: 1.2 / 1;
      }

      .sale-grid {
        grid-template-columns: 1fr;
      }

      .sale-card__image {
        aspect-ratio: 1.15 / 1;
      }

      .ideas-article-card {
        grid-template-columns: 1fr;
      }

      .ideas-sidebar h1 {
        font-size: 29px;
      }

      .ideas-intro {
        max-width: 100%;
        overflow-wrap: anywhere;
      }
    }

    @media (max-width: 1120px) {
      .cart-site-header .brand-row {
        grid-template-columns: 180px minmax(260px, 1fr) auto;
        gap: 22px;
      }

      .cart-header-tools {
        gap: 14px;
      }

      .cart-layout {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 32px;
      }

      .cart-item {
        grid-template-columns: 132px minmax(0, 1fr) 64px;
        gap: 24px;
      }

      .cart-item img {
        width: 132px;
        height: 120px;
      }

      .cart-summary {
        padding: 28px 24px;
      }

      .cart-perks article {
        padding-inline: 24px;
      }
    }

    @media (max-width: 1440px) {
      .cart-layout {
        grid-template-columns: minmax(0, 1fr) 400px;
        gap: 24px;
      }
    }

    @media (max-width: 1120px) {
      .cart-layout {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 32px;
      }
    }

    @media (max-width: 860px) {
      .cart-site-header .brand-row {
        grid-template-columns: 1fr auto;
      }

      .cart-site-header .site-search {
        grid-column: 1 / -1;
      }

      .cart-header-tools a:nth-child(1),
      .cart-header-tools a:nth-child(2),
      .cart-header-tools a:nth-child(3) {
        display: none;
      }

      .cart-inner {
        padding: 28px 18px 12px;
      }

      .cart-inner h1 {
        font-size: 34px;
      }

      .cart-layout {
        grid-template-columns: 1fr;
        gap: 30px;
      }

      .cart-summary {
        margin-top: 0;
      }

      .cart-perks__inner {
        grid-template-columns: 1fr;
        padding-inline: 18px;
      }

      .cart-perks article {
        border-right: 0;
        border-bottom: 1px solid #dcd7d1;
        padding: 18px 0;
      }

      .cart-perks article:last-child {
        border-bottom: 0;
      }
    }

    @media (max-width: 560px) {
      .cart-step-labels {
        font-size: 11px;
      }

      .cart-item {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 16px;
        min-height: auto;
      }

      .cart-item img {
        width: 104px;
        height: 104px;
      }

      .cart-item__price {
        grid-column: 2;
        justify-self: start;
        padding-top: 0;
      }

      .cart-item__body h2 {
        font-size: 14px;
      }

      .cart-item__body p,
      .cart-item__body > span {
        font-size: 12px;
      }

      .cart-summary h2 {
        font-size: 24px;
      }

      .cart-summary dl div {
        font-size: 13px;
      }

      .cart-total strong {
        font-size: 26px;
      }
    }

    @media (max-width: 1240px) {
      .articles-shell {
        padding-right: 40px;
        padding-left: 40px;
      }

      .articles-hero {
        grid-template-columns: minmax(0, 470px) minmax(420px, 1fr);
        gap: 48px;
      }

      .articles-featured {
        grid-template-columns: minmax(0, 58%) minmax(330px, 42%);
      }

      .articles-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .articles-topic-panel {
        grid-column: 1 / -1;
        min-height: auto;
      }

      .articles-signup-band {
        grid-template-columns: minmax(0, 1fr) 300px;
      }

      .articles-signup-band .pdp-newsletter__copy {
        grid-template-columns: 260px minmax(300px, 1fr);
        gap: 32px;
        padding: 30px 40px;
      }
    }

    @media (max-width: 920px) {
      .articles-shell {
        padding: 26px 24px 54px;
      }

      .articles-breadcrumb {
        margin-bottom: 30px;
      }

      .articles-hero {
        grid-template-columns: 1fr;
        gap: 28px;
      }

      .articles-hero__copy h1 {
        max-width: 620px;
        font-size: 48px;
      }

      .articles-stats article {
        min-height: 132px;
        padding: 26px 22px;
      }

      .articles-featured {
        grid-template-columns: 1fr;
      }

      .articles-featured img {
        min-height: 360px;
        height: 360px;
      }

      .articles-featured__copy {
        padding: 36px 32px 42px;
      }

      .articles-row {
        grid-template-columns: 220px minmax(0, 1fr);
      }

      .articles-row img {
        width: 220px;
        height: 140px;
      }

      .articles-row__link {
        grid-column: 2;
        justify-self: start;
      }

      .articles-signup-band {
        grid-template-columns: 1fr;
      }

      .articles-signup-band .pdp-newsletter__copy {
        grid-template-columns: 1fr 1fr;
        padding: 30px 24px;
      }

      .articles-signup-band > img {
        height: 220px;
      }

    }

    @media (max-width: 680px) {
      .articles-tabs {
        flex-wrap: nowrap;
        margin-right: -24px;
        margin-left: -24px;
        padding-left: 24px;
        overflow-x: auto;
        scrollbar-width: none;
      }

      .articles-tabs::-webkit-scrollbar {
        display: none;
      }

      .articles-tabs a {
        flex: 0 0 auto;
      }

      .articles-hero__copy h1 {
        font-size: 39px;
      }

      .articles-hero__copy > p:last-child {
        font-size: 15px;
      }

      .articles-stats {
        grid-template-columns: 1fr;
      }

      .articles-stats article {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid #d8d3cb;
      }

      .articles-stats article:last-child {
        border-bottom: 0;
      }

      .articles-featured img {
        height: 280px;
        min-height: 280px;
      }

      .articles-featured__copy h2 {
        font-size: 33px;
      }

      .articles-feature-grid {
        grid-template-columns: 1fr;
      }

      .articles-card > div {
        min-height: auto;
      }

      .articles-row {
        grid-template-columns: 1fr;
        gap: 18px;
      }

      .articles-row img {
        width: 100%;
        height: 220px;
      }

      .articles-row__link {
        grid-column: auto;
      }

      .articles-signup-band .pdp-newsletter__copy {
        grid-template-columns: 1fr;
      }

      .articles-signup-band .pdp-signup {
        grid-template-columns: 1fr;
      }

      .articles-signup-band > img {
        height: 190px;
      }

    }

    @media (max-width: 1240px) {
      .article-detail-shell {
        padding-right: 40px;
        padding-left: 40px;
      }

      .article-detail-header {
        grid-template-columns: minmax(0, 1fr) 230px;
      }

      .article-hero-block > img {
        height: 560px;
      }

      .article-body-layout {
        grid-template-columns: 210px minmax(0, 1fr);
      }

      .article-side-notes {
        grid-column: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .article-product-strip {
        gap: 16px;
      }
    }

    @media (max-width: 920px) {
      .article-detail-shell {
        padding-right: 24px;
        padding-left: 24px;
      }

      .article-detail-header {
        grid-template-columns: 1fr;
        gap: 26px;
      }

      .article-share {
        max-width: 260px;
      }

      .article-hero-block > img {
        height: 390px;
      }

      .article-hero-facts {
        grid-template-columns: 1fr;
      }

      .article-hero-facts article {
        border-right: 0;
        border-bottom: 1px solid #d9d4cc;
      }

      .article-hero-facts article:last-child {
        border-bottom: 0;
      }

      .article-body-layout {
        grid-template-columns: 1fr;
        gap: 34px;
      }

      .article-toc {
        position: static;
      }

      .article-side-notes {
        grid-column: auto;
      }

      .article-product-strip,
      .article-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 680px) {
      .article-detail-title-block h1 {
        font-size: 35px;
      }

      .article-detail-title-block > p:not(.articles-kicker) {
        font-size: 15px;
      }

      .article-hero-block > img {
        height: 280px;
      }

      .article-body-copy h2 {
        font-size: 26px;
      }

      .article-inline-images,
      .article-side-notes,
      .article-product-strip,
      .article-related-grid {
        grid-template-columns: 1fr;
      }

      .article-inline-images img,
      .article-side-card img,
      .article-related-grid img {
        height: 210px;
      }

      .article-height-table th,
      .article-height-table td {
        padding: 14px 12px;
        font-size: 11px;
      }

      .article-section-head {
        align-items: start;
        flex-direction: column;
      }
    }

