.pke-material-home *, .pke-material-home *::before, .pke-material-home *::after { box-sizing: border-box; }

body.pke-material-design {
  --stone-ink: #20231e;
  --stone-muted: #5c6156;
  --stone-paper: #fbfaf5;
  --stone-work: #f1eee4;
  --stone-line: #ddd9cd;
  --stone-olive: #3b4a30;
  --stone-moss: #dce6a4;
  --stone-dark: #252b22;
  --stone-font: Estedad, Tahoma, sans-serif;
  --ds-ink: var(--stone-ink);
  --ds-muted: var(--stone-muted);
  --ds-paper: var(--stone-paper);
  --ds-work: var(--stone-work);
  --ds-line: var(--stone-line);
  --ds-green: var(--stone-olive);
  --ds-soft: #e9eddb;
  --ds-active: #8c9973;
  color: var(--stone-ink);
  background: var(--stone-paper);
}

.pke-material-design #main { background-color: var(--stone-paper); }
.pke-material-design :is(a, button, input, select, textarea, summary):focus-visible { outline-color: #879852 !important; }
body.pke-material-design .pke-trust-bar[data-pke-trust-bar] { background: var(--stone-dark) !important; color: #f0efe5; border-color: #353d2f; }
.pke-material-design .pke-trust-bar :is(a, span, b) { color: #f0efe5; }
.pke-material-design .pke-site-header { background: var(--stone-paper); box-shadow: none; }
.pke-material-design .pke-header-nav-row { background: #f6f4ec; border-color: var(--stone-line); }
.pke-material-design .pke-header-search .pke-site-search__field { background: #efede3; }
.pke-material-design .pke-site-header :is(.pke-header-cta, .pke-site-search button) { border-radius: 5px; }
.pke-material-design .pke-site-header :is(.pke-header-account, .pke-header-cart, .pke-icon-button) { background: var(--stone-paper); border-radius: 6px; }
.pke-material-design .pke-site-header .pke-brand-mark { background: #dfe7b5; border-radius: 7px; }
.pke-material-design .pke-site-header .pke-brand-mark img { object-fit: contain; }
.pke-material-design .pke-mobile-drawer { background: var(--stone-paper); }

.pke-material-design .pke-site-footer { background: var(--stone-dark); color: #f4f0e4; border-color: #3c4437; }
.pke-material-design .pke-site-footer .pke-footer-main { background: transparent; }
.pke-material-design .pke-site-footer .pke-footer-cta { background: #394334; border: 0; border-radius: 0; color: #faf7ee; }
.pke-material-design .pke-site-footer :is(h2, h3, strong, b) { color: #f8f6ed; }
.pke-material-design .pke-site-footer :is(p, small, li, a, .pke-brand-copy small, .pke-footer-cta span) { color: #d3d7c9; }
.pke-material-design .pke-site-footer a:hover { color: var(--stone-moss); }
.pke-material-design .pke-site-footer .pke-footer-cta-actions a:first-child { background: var(--stone-moss) !important; color: #202819 !important; border-color: var(--stone-moss); }
.pke-material-design .pke-site-footer :is(.pke-footer-bottom, .pke-footer-tags span) { border-color: #596052; }
.pke-material-design .pke-site-footer .pke-footer-tags span { background: #343c30; color: #e3e6d9; }
.pke-material-design .pke-site-footer .pke-footer-bottom { background: #1c211a; }

.pke-material-home { background: var(--stone-paper); color: var(--stone-ink); font-family: var(--stone-font); }
.pke-material-home :where(h1, h2, h3, p) { margin: 0; }
.pke-material-bound { width: min(1280px, calc(100% - 72px)); margin-inline: auto; }
.pke-material-home svg { width: 21px; height: 21px; flex: none; }

.pke-material-hero { position: relative; isolation: isolate; background: #282b22; color: #fbf8ed; overflow: hidden; }
.pke-material-hero__image, .pke-material-hero::after { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.pke-material-hero__image { object-fit: cover; object-position: center 47%; }
.pke-material-hero::after { content: ""; background: linear-gradient(270deg, rgb(23 27 20 / 88%), rgb(26 28 19 / 55%) 39%, transparent 80%), linear-gradient(0deg, rgb(22 26 19 / 27%), transparent 65%); }
.pke-material-hero__inner { display: grid; align-items: center; min-height: clamp(480px, 40vw, 620px); padding-block: 40px 66px; }
.pke-material-hero__copy { max-width: 680px; }
.pke-material-hero .pke-material-origin { display: inline-flex; gap: 8px; align-items: center; color: #e6ebc6; margin-block-end: 14px; font-size: 13px; }
.pke-material-hero h1 { color: #fffdf2; font-size: clamp(44px, 6.15vw, 90px); font-weight: 900; line-height: 1.2; letter-spacing: -.055em; text-wrap: balance; }
.pke-material-hero h1 span { display: block; color: var(--stone-moss); }
.pke-material-hero__copy > p:not(.pke-material-origin) { max-width: min(495px, 100%); margin-block-start: 18px; color: #f1efe3; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.95; }
.pke-material-actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: 11px; margin-block-start: 24px; }
.pke-material-btn { display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 10px 20px; min-height: 50px; border: 1px solid transparent; border-radius: 5px; font-weight: 700; font-size: 14px; transition: background-color .18s, color .18s, border-color .18s; }
.pke-material-btn--primary { color: #202819; background: var(--stone-moss); }
.pke-material-btn--primary:hover { color: #202819; background: #e9efc6; }
.pke-material-btn--outline { color: #f9f7ec; border-color: #dce0c78c; background: rgb(30 34 25 / 32%); }
.pke-material-btn--outline:hover { color: #202819; background: #eeeee2; border-color: #eeeee2; }

.pke-material-quick { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block-start: -37px; background: #fffefa; border: 1px solid var(--stone-line); box-shadow: 0 14px 36px #34382316; z-index: 2; }
.pke-material-quick > a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 20px 22px; min-width: 0; color: var(--stone-ink); }
.pke-material-quick > a + a { border-inline-start: 1px solid var(--stone-line); }
.pke-material-quick > a:hover { background: #eef0df; color: var(--stone-olive); }
.pke-material-quick__icon { display: grid; place-items: center; width: 43px; height: 43px; background: #e8edd7; color: var(--stone-olive); border-radius: 5px; }
.pke-material-quick :is(strong, small) { display: block; }
.pke-material-quick strong { font-size: clamp(13px, 1.2vw, 17px); }
.pke-material-quick small { color: var(--stone-muted); font-size: 11px; margin-block-start: 4px; }
.pke-material-quick > a > svg { color: var(--stone-olive); width: 18px; }

.pke-material-design .pke-material-products .pke-store-home { padding-block: clamp(38px, 5vw, 76px); background: var(--stone-paper); border: 0; }
.pke-material-design .pke-material-products .pke-store-heading { align-items: end; }
.pke-material-design .pke-material-products .pke-store-heading h2, .pke-material-heading h2, .pke-material-project h2 { font-size: clamp(25px, 3.2vw, 43px); font-weight: 800; line-height: 1.4; }
.pke-material-design .pke-material-products .pke-store-heading > div > span { display: none; }
.pke-material-design .pke-material-products .pke-store-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pke-material-design .pke-material-products .ds-product { min-width: 0; }
.pke-material-design .pke-material-products .ds-product-media { aspect-ratio: 1.85; height: auto; }
.pke-material-design .pke-material-departments { background: var(--stone-work); border-block: 1px solid var(--stone-line); }
.pke-material-design .pke-material-departments .pke-store-category-rail { padding-block: 38px; background: transparent; }
.pke-material-design .pke-material-departments .pke-store-category-heading strong { font-size: clamp(24px, 3vw, 37px); font-weight: 800; }
.pke-material-design .pke-material-departments .pke-store-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pke-material-design .pke-material-departments .pke-store-category-grid > a { background: var(--stone-paper); border-radius: 5px; min-height: 82px; }
.pke-material-design .pke-material-departments .pke-store-category-grid > a:hover { background: #ecf0dc; border-color: #a5af8d; }
.pke-material-design .pke-material-departments .pke-store-category-icon { background: #e7ebd7; color: var(--stone-olive); }

.pke-material-project { background: var(--stone-olive); color: #f8f7ea; }
.pke-material-project__inner { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; padding-block: clamp(34px, 5vw, 68px); }
.pke-material-project h2 { color: #fffdf0; }
.pke-material-project p { margin-block-start: 8px; color: #e4e9d9; line-height: 1.9; }
.pke-material-project .pke-material-actions { margin: 0; }
.pke-material-guides { padding-block: clamp(40px, 6vw, 84px); }
.pke-material-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-block-end: 24px; }
.pke-material-heading > a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--stone-olive); }
.pke-material-heading > a:hover { text-decoration: underline; }
.pke-material-guides__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pke-material-guides__grid > a { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--stone-line); border-radius: 6px; color: var(--stone-ink); background: #fffefa; }
.pke-material-guides__grid > a:hover { border-color: #909d72; color: var(--stone-olive); }
.pke-material-guides__grid img { width: 100%; height: auto; aspect-ratio: 2.2; object-fit: cover; }
.pke-material-guides__grid > a > div { position: relative; padding: 15px 18px 18px 45px; }
.pke-material-guides__grid small { color: var(--stone-muted); }
.pke-material-guides__grid h3 { color: inherit; font-size: 17px; margin-block-start: 4px; }
.pke-material-guides__grid svg { position: absolute; inset-inline-end: 15px; inset-block-end: 20px; color: var(--stone-olive); }

.pke-material-design .ds-catalog { background: var(--stone-work); }
.pke-material-design .ds-catalog .ds-catalog-banner { background: var(--stone-dark); color: #f4f4e8; border: 0; border-radius: 6px; padding-block: clamp(24px, 4vw, 56px); }
.pke-material-design .ds-catalog-banner :is(h1, p, small, strong, span) { color: #f5f4e7; }
.pke-material-design .ds-catalog .ds-catalog-banner h1 { color: #fffdf2; font-weight: 800; font-size: clamp(24px, 3.3vw, 45px); }
.pke-material-design .ds-catalog-banner .ds-catalog-docket { background: #394235; border-color: #626f57; }
.pke-material-design .ds-catalog-banner .ds-catalog-docket svg { color: var(--stone-moss); }
.pke-material-design .ds-catalog-banner a { color: var(--stone-moss); }
.pke-material-design :is(.ds-catalog, .pke-material-products) .ds-product { background: #fffefa; border: 1px solid var(--stone-line); border-radius: 6px; box-shadow: none; transition: border-color .18s, box-shadow .18s; }
.pke-material-design :is(.ds-catalog, .pke-material-products) .ds-product:hover { border-color: #a7b18d; box-shadow: 0 10px 24px #34382313; }
.pke-material-design .ds-product-media { background: #e9e6d9; border-radius: 0; }
.pke-material-design .ds-product-copy h3 { color: var(--stone-ink); }
.pke-material-design .ds-filter { background: var(--stone-paper); border-color: var(--stone-line); border-radius: 6px; }
.pke-material-design .ds-category-chips a.is-active { background: var(--stone-olive); border-color: var(--stone-olive); color: #fff; }

.pke-material-design .pke-price-shell { --pke-ink: var(--stone-ink); --pke-ink-soft: #43483e; --pke-ink-muted: var(--stone-muted); --pke-paper: var(--stone-paper); --pke-cream: var(--stone-work); --pke-line: var(--stone-line); --pke-copper: #8c9660; --pke-copper-deep: var(--stone-olive); }
.pke-material-design .pke-price-shell .pke-price-pricing { background: var(--stone-paper); }
.pke-material-design .pke-price-shell .pke-price-table thead th { background: #e8e9d9; color: var(--stone-ink); }
.pke-material-design .pke-price-shell .pke-price-table-intro p { max-width: none; }
.pke-material-design .pke-price-shell .pke-price-table-wrap { border-radius: 7px; }
.pke-material-design .pke-price-shell .pke-price-jump { background: var(--stone-work); border-color: var(--stone-line); }
.pke-material-design :is(.pke-magazine, .pke-editorial-shell, .pke-static-page) { background: var(--stone-paper); color: var(--stone-ink); }
.pke-material-design :is(.pke-magazine__hero, .pke-static-hero) { background: var(--stone-work); color: var(--stone-ink); }
.pke-material-design .pke-magazine-card { background: #fffefa; border-color: var(--stone-line); border-radius: 6px; }
.pke-material-design :is(.pke-magazine__section-head, .pke-article-copy) a { color: var(--stone-olive); }
.pke-material-design :is(.pke-wip-shell, .pke-ps, .pke-pa) { --pke-ink: var(--stone-ink); --pke-paper: var(--stone-paper); }

body.pke-material-design.pke-buy-workspace { --buy-ink: var(--stone-ink); --buy-muted: var(--stone-muted); --buy-line: var(--stone-line); --buy-soft: var(--stone-work); --buy-white: var(--stone-paper); }
body.pke-material-design.pke-buy-workspace .pke-purchase-steps > div.is-active { background: #e7ecd4; }
body.pke-material-design.pke-buy-workspace .pke-purchase-steps :is(.is-active, .is-done) b { background: var(--stone-olive); }
body.pke-material-design.pke-buy-workspace :is(.pke-product-stage, .pke-buy-cart, .pke-buy-checkout) :is(button[type=submit], .checkout-button, #place_order) { background-color: var(--stone-olive) !important; color: #fff !important; }
body.pke-material-design.woocommerce-account #main { background-color: var(--stone-work); }

@media (max-width: 950px) {
  .pke-material-bound { width: calc(100% - 44px); }
  .pke-material-hero__inner { min-height: 520px; }
  .pke-material-quick > a { gap: 9px; padding-inline: 13px; }
  .pke-material-project__inner { grid-template-columns: 1fr; }
  .pke-material-design .pke-material-departments .pke-store-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pke-material-design .pke-material-products .pke-store-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .pke-material-bound { width: calc(100% - 28px); }
  .pke-material-hero__inner { min-height: 465px; padding-block: 48px 62px; align-items: start; }
  .pke-material-hero__image { object-position: 33% center; }
  .pke-material-hero::after { background: linear-gradient(270deg, rgb(21 25 19 / 84%), rgb(21 25 19 / 53%) 68%, rgb(21 25 19 / 32%)), linear-gradient(0deg, transparent 12%, rgb(20 25 19 / 28%) 68%); }
  .pke-material-hero h1 { font-size: clamp(38px, 10.5vw, 55px); }
  .pke-material-hero__copy > p:not(.pke-material-origin) { margin-block-start: 13px; max-width: 35ch; }
  .pke-material-actions { gap: 8px; margin-block-start: 18px; }
  .pke-material-btn { padding-inline: 12px; gap: 8px; font-size: 12px; min-height: 46px; }
  .pke-material-quick { grid-template-columns: 1fr; margin-block-start: -23px; }
  .pke-material-quick > a { padding: 9px 12px; gap: 10px; }
  .pke-material-quick > a + a { border-inline-start: 0; border-block-start: 1px solid var(--stone-line); }
  .pke-material-quick__icon { width: 36px; height: 36px; }
  .pke-material-quick small { margin-block-start: 1px; }
  .pke-material-design .pke-material-products .pke-store-product-grid { gap: 9px; }
  .pke-material-design .pke-material-departments .pke-store-category-grid { gap: 7px; }
  .pke-material-design .pke-material-departments .pke-store-category-grid > a { padding-inline: 8px; }
  .pke-material-guides__grid { grid-template-columns: 1fr; gap: 9px; }
  .pke-material-guides__grid > a { display: grid; grid-template-columns: 104px 1fr; }
  .pke-material-guides__grid img { aspect-ratio: auto; height: 100%; min-height: 85px; }
  .pke-material-guides__grid h3 { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .pke-material-design :is(.pke-material-btn, .ds-product) { transition: none; }
}
