.products-index-page { background: #fbf8f3; }
.pc-main { --pc-ink: #2b2018; --pc-muted: #6d5e50; --pc-line: #ddd1c2; color: var(--pc-ink); font-size: 16px; line-height: 1.65; }
.pc-shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.pc-main h1,.pc-main h2,.pc-main h3,.pc-main p,.pc-main figure { margin: 0; }
.pc-main h1,.pc-main h2,.pc-main h3 { text-wrap: balance; }
.pc-main h2 { font-size: clamp(1.65rem, 2.25vw, 2.1rem); line-height: 1.2; letter-spacing: -.035em; font-weight: 650; }
.pc-main a:focus-visible { outline: 3px solid #a66e37; outline-offset: 5px; }
.pc-main [id] { scroll-margin-top: 142px; }

.pc-hero { padding: 145px 0 54px; color: #30251d; background: #efe7da; border-bottom: 1px solid #dfd1be; }
.pc-breadcrumb { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; margin-bottom: 30px; font-size: .8125rem; color: #756655; }
.pc-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pc-hero-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(36px, 5vw, 68px); align-items: center; }
.pc-hero h1 { max-width: 15ch; font-size: clamp(2.35rem, 4vw, 3.55rem); font-weight: 650; line-height: 1.05; letter-spacing: -.052em; }
.pc-hero-grid p { max-width: 48ch; margin-top: 24px; color: #68594b; font-size: .975rem; }
.pc-hero-visual { overflow: hidden; border-radius: 10px; background: #e6dccd; box-shadow: 0 18px 48px #5c412214; }
.pc-hero-visual img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.pc-actions { display: flex; gap: 11px; flex-wrap: wrap; align-items: center; margin-top: 25px; }
.pc-button,.pc-link,.pc-card-action { display: inline-flex; width: fit-content; max-width: 100%; justify-content: center; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid transparent; border-radius: 7px; font-size: .875rem; font-weight: 650; line-height: 1.4; text-align: center; text-decoration: none; transition: background-color .18s ease,border-color .18s ease,color .18s ease; }
.pc-button-dark { color: #fff8ed; background: #39281d; }
.pc-button-dark:hover,.pc-button-dark:focus-visible { background: #563c2a; }
.pc-link { color: #583b25; border-color: #c9b59b; background: transparent; }
.pc-link:hover,.pc-link:focus-visible { color: #342216; border-color: #9f805e; background: #f2e7d8; text-decoration: none; }

.pc-section { padding-block: 64px; }
.pc-section-heading { display: flex; gap: 28px; justify-content: space-between; align-items: flex-end; margin-bottom: 38px; }
.pc-section-heading p { max-width: 62ch; margin-top: 12px; color: var(--pc-muted); font-size: .9375rem; }
.pc-section-heading > .pc-link { flex-shrink: 0; }
.pc-collection-layout { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: clamp(28px,4vw,52px); align-items: start; }
.pc-directory { position: sticky; top: 142px; padding: 6px 0 18px; }
.pc-directory > p { padding-bottom: 13px; border-bottom: 1px solid var(--pc-line); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #816e5b; }
.pc-quick-nav { display: grid; margin: 8px 0 25px; }
.pc-quick-nav a { display: flex; align-items: center; min-height: 41px; border-bottom: 1px solid #e7ddd2; color: #4a382b; font-size: .875rem; font-weight: 600; }
.pc-quick-nav a:hover { color: #8a5128; padding-left: 5px; }
.pc-directory > span { display: block; margin-bottom: 4px; color: #7a6a5c; font-size: .8125rem; }
.pc-directory-quote { color: #684326; font-size: .8125rem; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #c7a77e; }
.pc-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px 30px; }
.pc-card { min-width: 0; }
.pc-card-link { display: flex; flex-direction: column; height: 100%; }
.pc-main .pc-card-link:focus-visible { outline-offset: 5px; }
.pc-image { position: relative; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 9px; background: #ece3d7; }
.pc-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .32s ease; }
.pc-card-link:hover .pc-image img { transform: scale(1.018); }
.pc-card-copy { display: flex; flex-direction: column; flex-grow: 1; padding: 18px 4px 0; }
.pc-card h3 { font-size: 1.25rem; font-weight: 650; line-height: 1.25; letter-spacing: -.027em; }
.pc-card-copy > p { max-width: 54ch; margin: 9px 0 19px; color: var(--pc-muted); font-size: .9rem; line-height: 1.58; }
.pc-card dl { display: grid; grid-template-columns: 1fr auto; gap: 18px; padding-top: 14px; margin: auto 0 0; border-top: 1px solid var(--pc-line); }
.pc-card dt { margin-bottom: 3px; color: #857362; font-size: .8125rem; font-weight: 500; }
.pc-card dd { margin: 0; color: #493527; font-size: .82rem; font-weight: 650; }
.pc-card-action { align-self: flex-start; min-height: 38px; margin-top: 16px; padding: 7px 13px; border-color: #d0b48e; color: #4b311e; background: #f5ead9; font-size: .8125rem; }
.pc-card-link:hover .pc-card-action,.pc-card-link:focus-visible .pc-card-action { border-color: #b88d59; background: #ead2ad; color: #291a0e; }
.pc-main .pc-quantity-note { max-width: 96ch; margin-top: 28px; color: #78695a; font-size: .8125rem; line-height: 1.6; }

#other-custom-boxes.pc-section { padding-top: 8px; }
.pc-other { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 390px; overflow: hidden; border: 1px solid var(--pc-line); border-radius: 11px; background: #eee5d8; }
.pc-other-visual { min-height: 100%; }
.pc-other-visual img { display: block; width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.pc-other-copy { display: flex; flex-direction: column; justify-content: center; padding: 42px clamp(30px,4vw,58px); }
.pc-other-copy > p { max-width: 52ch; margin-top: 17px; color: var(--pc-muted); font-size: .9375rem; }
.pc-other-copy ul { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 0; margin: 20px 0 19px; list-style: none; color: #654a34; font-size: .8125rem; }
.pc-other-copy li { padding-bottom: 5px; border-bottom: 1px solid #c9b495; }

.pc-help { margin-bottom: 66px; overflow: hidden; border: 1px solid #d7c4aa; border-radius: 11px; background: #f4e3c7; }
.pc-help-inner { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 58px; padding-block: 46px; }
.pc-help h2 { color: #2f2118; }
.pc-help p { max-width: 61ch; margin-top: 15px; color: #6b5848; font-size: .9375rem; }
.pc-help .pc-actions { justify-content: flex-end; margin-top: 0; }

.products-index-page .site-footer { grid-template-columns: minmax(0,1fr) auto; align-items: start; padding-block: 42px; background: #281e17; }
.products-index-page .site-footer > div > p { max-width: 45ch; font-size: .875rem; }
.products-index-page .site-footer nav { display: grid; grid-template-columns: repeat(2,minmax(132px,auto)); gap: 16px 38px; align-content: start; padding-top: 7px; }

@media (max-width: 1000px) {
  .pc-hero-grid { gap: 34px; }
  .pc-collection-layout { grid-template-columns: 160px minmax(0,1fr); gap: 28px; }
  .pc-grid { gap: 38px 22px; }
  .pc-card dl { grid-template-columns: 1fr; gap: 10px; }
  .pc-card dl > div { display: flex; justify-content: space-between; gap: 15px; }
  .pc-card dt { margin: 0; }
}
@media (max-width: 820px) {
  .pc-hero-grid { grid-template-columns: 1fr; }
  .pc-hero h1 { max-width: 18ch; }
  .pc-hero h1 br { display: none; }
  .pc-hero-grid p { max-width: 66ch; }
  .pc-section-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .pc-collection-layout { grid-template-columns: 1fr; }
  .pc-directory { position: static; padding: 0; }
  .pc-directory > p,.pc-directory > span,.pc-directory-quote { display: none; }
  .pc-quick-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 25px; }
  .pc-quick-nav a { min-height: 38px; padding: 7px 12px; border: 1px solid #d6c5b1; border-radius: 999px; background: #fffdfa; font-size: .8125rem; }
  .pc-quick-nav a:hover { padding-left: 12px; background: #f0e3d1; }
  .pc-other { grid-template-columns: 1fr; }
  .pc-other-visual img { min-height: 0; aspect-ratio: 3 / 2; }
  .pc-help-inner { grid-template-columns: 1fr; gap: 24px; }
  .pc-help .pc-actions { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .pc-shell { width: calc(100% - 40px); }
  .pc-hero { padding-top: 126px; padding-bottom: 38px; }
  .pc-hero h1 { font-size: 2.25rem; }
  .pc-breadcrumb { margin-bottom: 23px; }
  .pc-section { padding-block: 44px; }
  .pc-section-heading { margin-bottom: 28px; }
  .pc-grid { grid-template-columns: 1fr; gap: 36px; }
  .pc-card-copy { padding-top: 16px; }
  .pc-card dl { grid-template-columns: 1fr auto; }
  .pc-card dl > div { display: block; }
  .pc-card dt { margin-bottom: 3px; }
  .pc-other-copy { padding: 30px 24px 34px; }
  .pc-help { width: calc(100% - 40px); margin-bottom: 48px; }
  .pc-help-inner { width: calc(100% - 40px); padding-block: 34px; }
  .pc-actions { align-items: stretch; }
  .pc-actions > a { flex: 1 1 190px; }
  .products-index-page .site-footer { grid-template-columns: 1fr; padding-bottom: 88px; }
  .products-index-page .site-footer nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.products-index-page) { scroll-behavior: auto; }
  .pc-image img,.pc-button,.pc-link,.pc-card-action { transition: none; }
}
