.pw-shop {
    --pw-ink: #211b17;
    --pw-muted: #716962;
    --pw-copper: #805b42;
    --pw-copper-dark: #5e402e;
    --pw-sage: #6f927f;
    --pw-cream: #f7f3ec;
    --pw-line: #e5ddd2;
    --pw-white: #fff;
    color: var(--pw-ink);
    background: var(--pw-white);
    font-family: 'Roboto Flex Regular', Arial, sans-serif;
}

.pw-shop *, .pw-shop *::before, .pw-shop *::after { box-sizing: border-box; }
.pw-shop a { color: inherit; }
.pw-shop a:hover { color: var(--pw-copper-dark); text-decoration: none; }
.pw-shop button, .pw-shop select, .pw-shop input { font: inherit; }
.pw-shop button, .pw-shop a, .pw-shop input, .pw-shop select { touch-action: manipulation; }
.pw-shop :focus-visible { outline: 3px solid rgba(111, 146, 127, .48); outline-offset: 3px; }
.pw-shell { width: min(1840px, calc(100% - 64px)); margin-inline: auto; }

.pw-hero {
    position: relative;
    overflow: hidden;
    padding: 54px 0 46px;
    background:
        radial-gradient(circle at 86% 8%, rgba(128, 91, 66, .09), transparent 27%),
        linear-gradient(135deg, #fbf9f5 0%, #f5f0e9 100%);
    border-bottom: 1px solid var(--pw-line);
}
.pw-hero::after {
    content: '';
    position: absolute;
    width: 360px;
    aspect-ratio: 1;
    right: -100px;
    bottom: -250px;
    border: 1px solid rgba(128, 91, 66, .22);
    border-radius: 50%;
    box-shadow: 0 0 0 44px rgba(128, 91, 66, .035), 0 0 0 88px rgba(128, 91, 66, .025);
}
.pw-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 28px; color: var(--pw-muted); font-size: 14px; }
.pw-breadcrumbs span { color: #aaa097; }
.pw-hero-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(430px, .45fr); gap: 80px; align-items: end; position: relative; z-index: 1; }
.pw-eyebrow { margin: 0 0 12px; color: var(--pw-copper); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.pw-hero h1 { max-width: 1050px; margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(40px, 4.5vw, 76px); font-weight: 500; line-height: 1; letter-spacing: -.045em; color: var(--pw-ink); }
.pw-hero-copy { max-width: 760px; margin: 22px 0 0; color: #5f5750; font-size: 19px; line-height: 1.7; letter-spacing: .005em; }
.pw-hero-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid rgba(128,91,66,.22); border-bottom: 1px solid rgba(128,91,66,.22); }
.pw-hero-point { min-width: 0; padding: 17px 18px; border-right: 1px solid rgba(128,91,66,.18); }
.pw-hero-point:last-child { border-right: 0; }
.pw-hero-point strong { display: block; color: var(--pw-copper-dark); font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.pw-hero-point span { display: block; margin-top: 6px; color: var(--pw-muted); font-size: 11px; line-height: 1.4; }

.pw-category-strip { border-bottom: 1px solid var(--pw-line); background: var(--pw-white); }
.pw-category-list { display: flex; gap: 10px; align-items: center; padding: 18px 0; overflow-x: auto; scrollbar-width: none; }
.pw-category-list::-webkit-scrollbar { display: none; }
.pw-category-link { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 44px; padding: 9px 18px; border: 1px solid var(--pw-line); border-radius: 999px; color: #554d47; background: #fff; font-weight: 600; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.pw-category-link:hover { transform: translateY(-1px); border-color: #bda895; }
.pw-category-link.is-active { color: #fff; background: var(--pw-copper-dark); border-color: var(--pw-copper-dark); }

.pw-catalog { display: grid; grid-template-columns: clamp(300px, 18vw, 340px) minmax(0, 1fr); gap: clamp(28px, 2.4vw, 48px); padding: 46px 0 72px; align-items: start; }
.pw-filter-panel { position: sticky; top: 94px; max-height: calc(100vh - 112px); overflow-y: auto; padding: 0 10px 20px 0; scrollbar-width: thin; scrollbar-color: #c9bbae transparent; }
.pw-filter-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.pw-filter-head h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 28px; }
.pw-filter-close { display: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--pw-cream); color: var(--pw-ink); font-size: 25px; }
.pw-filter-reset { border: 0; padding: 8px 0; color: var(--pw-copper-dark); background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; }
.pw-filter-group { border-top: 1px solid var(--pw-line); }
.pw-filter-group summary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; list-style: none; cursor: pointer; color: #5f5147; font-family: 'Panersia Sans', 'Roboto Flex Regular', Arial, sans-serif; font-size: 12px; font-variation-settings: 'wght' 690, 'wdth' 102; font-weight: 690; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.pw-filter-group summary::-webkit-details-marker { display: none; }
.pw-filter-group summary::after { content: '+'; color: var(--pw-copper); font-size: 22px; font-weight: 400; }
.pw-filter-group[open] summary::after { content: '−'; }
.pw-filter-options { padding: 0 0 18px; }
.pw-filter-option { display: flex; gap: 9px; align-items: flex-start; min-height: 42px; padding: 8px 0; color: #5a524c; cursor: pointer; }
.pw-filter-option input { width: 18px; height: 18px; margin-top: 2px; flex: 0 0 auto; accent-color: var(--pw-copper-dark); }
.pw-filter-option span { line-height: 1.45; }
.pw-filter-popularity { display: inline-flex; min-width: 0; align-items: center; gap: 9px; }
.pw-filter-popularity-signal { display: inline-flex; width: 22px; height: 15px; flex: 0 0 auto; align-items: flex-end; gap: 2px; }
.pw-filter-popularity-signal i { width: 2.5px; border-radius: 2px; background: #ddcdbd; }
.pw-filter-popularity-signal i:nth-child(1) { height: 5px; }
.pw-filter-popularity-signal i:nth-child(2) { height: 7.5px; }
.pw-filter-popularity-signal i:nth-child(3) { height: 10px; }
.pw-filter-popularity-signal i:nth-child(4) { height: 12.5px; }
.pw-filter-popularity-signal i:nth-child(5) { height: 15px; }
.pw-filter-popularity-signal i.is-active { background: var(--pw-copper-dark); }
.pw-category-filter { display: grid; gap: 8px; padding-bottom: 18px; }
.pw-category-filter a { display: flex; min-height: 44px; align-items: center; justify-content: space-between; padding: 10px 13px; border: 1px solid var(--pw-line); border-radius: 10px; background: #faf8f5; }
.pw-category-filter a.is-active { border-color: #b29a85; color: var(--pw-copper-dark); background: #f5eee7; }
.pw-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 0 0 14px; }
.pw-path-choice { position: relative; min-width: 0; margin: 0; cursor: pointer; }
.pw-path-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pw-path-choice span { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 7px; padding: 8px 10px; border: 1px solid #dcd1c8; border-radius: 10px; color: #554a42; background: #f8f4ef; font-size: 11.5px; font-weight: 700; line-height: 1.18; transition: border-color .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.pw-path-choice span::after { content: ''; width: 7px; height: 7px; flex: 0 0 7px; border: 1px solid currentColor; border-radius: 50%; opacity: .38; transition: opacity .2s ease, background-color .2s ease, box-shadow .2s ease; }
.pw-path-all span { border-color: #bea38f; color: #694833; background: #fffaf5; }
.pw-path-beginner span { border-color: #cbd9cf; color: #40584a; background: #eaf1ec; }
.pw-path-d-minor span { border-color: #b8d2d3; color: #315b5d; background: #e4eeee; }
.pw-path-low span { border-color: #c9cbd0; color: #3d4148; background: #e9eaed; }
.pw-path-mutant { grid-column: 1 / -1; }
.pw-path-mutant span { border-color: #dfc7ba; color: #784b36; background: #f3e6df; }
.pw-path-choice:hover span { border-color: #9a7257; box-shadow: 0 5px 15px rgba(74, 50, 35, .07); }
.pw-path-choice input:focus-visible + span { outline: 3px solid rgba(111, 146, 127, .48); outline-offset: 2px; }
.pw-path-choice input:checked + span { border-color: #754c35; color: #fff; background: #754c35; box-shadow: 0 7px 18px rgba(93, 59, 39, .16); }
.pw-path-choice input:checked + span::after { border-color: #fff; background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.2); opacity: 1; }
.pw-facet-options { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; padding-bottom: 18px; }
.pw-facet-choice { position: relative; display: block; width: auto; min-height: 44px; margin: 0; padding: 0; cursor: pointer; }
.pw-facet-choice > input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.pw-facet-token { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 8px 12px; border: 1px solid #d9cec4; border-radius: 12px; color: #554a42; background: #fff; font-family: 'Panersia Sans', 'Roboto Flex Regular', Arial, sans-serif; font-size: 12px; font-variation-settings: 'wght' 610, 'wdth' 101; font-weight: 610; line-height: 1.2; text-align: center; transition: border-color .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.pw-facet-token::after { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border: 1px solid currentColor; border-radius: 50%; opacity: .32; transition: opacity .2s ease, background-color .2s ease, box-shadow .2s ease; }
.pw-facet-choice:hover .pw-facet-token { border-color: #a9876f; color: #684a37; background: #fbf6f1; }
.pw-facet-choice > input:checked + .pw-facet-token { border-color: var(--pw-copper-dark); color: #fff; background: var(--pw-copper-dark); box-shadow: 0 6px 16px rgba(100,69,47,.14); }
.pw-facet-choice > input:checked + .pw-facet-token::after { border-color: #fff; background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.18); opacity: 1; }
.pw-facet-choice > input:focus-visible + .pw-facet-token { outline: 2px solid var(--pw-ink); outline-offset: 3px; }
.pw-note-filter .pw-facet-choice { min-width: 48px; }
.pw-note-filter .pw-facet-token { min-width: 48px; padding-inline: 11px; font-variant-numeric: tabular-nums; }
.pw-type-filter .pw-facet-choice { max-width: 100%; flex: 1 1 118px; }
.pw-type-filter .pw-facet-token { justify-content: space-between; text-align: left; }
.pw-popularity-filter .pw-facet-choice { flex: 1 1 118px; }
.pw-popularity-filter .pw-facet-token { justify-content: space-between; }
.pw-popularity-filter .pw-filter-popularity-signal { width: 24px; }
.pw-mobile-apply { display: none; }
.pw-filter-scrim { display: none; }

.pw-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; padding-bottom: 18px; border-bottom: 1px solid var(--pw-line); }
.pw-result-copy { margin: 0; color: var(--pw-muted); font-size: 15px; }
.pw-result-copy strong { color: var(--pw-ink); font-variant-numeric: tabular-nums; }
.pw-toolbar-actions { display: flex; align-items: center; gap: 10px; }
.pw-filter-trigger { display: none; min-height: 48px; padding: 10px 16px; border: 1px solid var(--pw-line); border-radius: 12px; background: #fff; color: var(--pw-ink); font-weight: 700; cursor: pointer; }
.pw-filter-trigger svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.pw-sort-wrap { display: flex; align-items: center; gap: 10px; }
.pw-sort-wrap label { margin: 0; color: var(--pw-muted); font-size: 14px; white-space: nowrap; }
.pw-sort-wrap select { min-width: 190px; height: 48px; padding: 0 42px 0 14px; border: 1px solid var(--pw-line); border-radius: 12px; color: var(--pw-ink); background: #fff; cursor: pointer; }
.pw-active-filters { display: none; flex-wrap: wrap; gap: 8px; margin: -8px 0 24px; }
.pw-active-filters.has-items { display: flex; }
.pw-active-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #d8c8ba; border-radius: 999px; background: #fbf7f2; color: #5e493b; font-size: 13px; }
.pw-active-chip button { width: 22px; height: 22px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }

.pw-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 22px; align-items: stretch; transition: opacity .2s ease; }
.pw-product-grid.is-loading { opacity: .46; pointer-events: none; }
.pw-product-card { display: flex; min-width: 0; height: 100%; flex-direction: column; border: 1px solid var(--pw-line); border-radius: 18px; overflow: hidden; background: var(--pw-white); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
@supports (content-visibility: auto) {
    .pw-product-card:nth-child(n+7) { content-visibility: auto; contain-intrinsic-size: auto 760px; }
}
.pw-product-card:hover { transform: translateY(-4px); border-color: #cdbba9; box-shadow: 0 16px 38px rgba(48, 35, 25, .085); }
.pw-product-media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; border-bottom: 1px solid #eee7de; }
.pw-product-media-link { position: absolute; inset: 0; z-index: 2; }
.pw-product-media::before { content: ''; position: absolute; inset: 10px; z-index: 1; border-radius: 12px; background: linear-gradient(105deg, #f8f5f0 20%, #eee7df 38%, #f8f5f0 56%); background-size: 220% 100%; animation: pw-image-loading 1.35s ease-in-out infinite; transition: opacity .24s ease; }
.pw-product-media.is-image-ready::before, .pw-product-media.is-image-error::before { opacity: 0; pointer-events: none; }
.pw-product-image { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; padding: 10px; object-fit: contain; opacity: 0; background: #fff; transition: opacity .28s ease, transform .34s ease; }
.pw-product-image.is-active.is-gallery-ready { opacity: 1; }
.pw-product-thumbs { position: absolute; left: 50%; bottom: 12px; z-index: 4; display: flex; align-items: center; justify-content: center; gap: 3px; padding: 4px 7px; opacity: 0; border: 1px solid rgba(128,91,66,.14); border-radius: 999px; background: rgba(255,255,255,.88); box-shadow: 0 7px 22px rgba(40,29,21,.08); backdrop-filter: blur(8px); pointer-events: none; transform: translate(-50%, 7px); transition: opacity .2s ease, transform .24s ease; }
.pw-product-thumb { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.pw-product-thumb span { width: 8px; height: 8px; border: 1px solid #92735d; border-radius: 50%; background: #fff; transition: width .18s ease, background .18s ease, border-color .18s ease; }
.pw-product-thumb.is-active span { width: 19px; border-radius: 999px; border-color: var(--pw-copper-dark); background: var(--pw-copper-dark); }
.pw-product-thumb.is-loading span { border-color: var(--pw-copper-dark); background: rgba(128,91,66,.3); animation: pw-gallery-loading .7s ease-in-out infinite alternate; }
@keyframes pw-gallery-loading { to { opacity: .42; transform: scale(.72); } }
@media (prefers-reduced-motion: reduce) { .pw-product-thumb.is-loading span { animation: none; } }
@media (hover: hover) and (pointer: fine) {
    .pw-product-card:hover .pw-product-thumbs, .pw-product-card:focus-within .pw-product-thumbs { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
    .pw-product-card:hover .pw-product-image.is-active.is-gallery-ready { transform: scale(1.012); }
}
@keyframes pw-image-loading { 0% { background-position: 100% 0; } 100% { background-position: -120% 0; } }
.pw-product-badges { position: absolute; top: 14px; left: 14px; right: 14px; z-index: 3; display: flex; flex-wrap: wrap; gap: 7px; pointer-events: none; }
.pw-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border-radius: 999px; color: #fff; background: rgba(33, 27, 23, .84); font-size: 11px; font-weight: 700; letter-spacing: .03em; backdrop-filter: blur(5px); }
.pw-badge-sale { background: #8b493e; }
.pw-product-signature { position: absolute; top: 13px; right: 13px; z-index: 4; display: flex; align-items: flex-end; flex-direction: column; gap: 6px; opacity: 0; pointer-events: none; transform: translateY(-7px); transition: opacity .22s ease, transform .26s cubic-bezier(.22,.75,.24,1); }
.pw-spec-family { display: inline-flex; min-height: 30px; align-items: center; gap: 7px; padding: 5px 10px 5px 7px; border: 1px solid rgba(94,64,46,.18); border-radius: 999px; color: var(--pw-copper-dark); background: rgba(255,255,255,.9); box-shadow: 0 7px 22px rgba(40,29,21,.07); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.pw-spec-family svg { width: 17px; height: 17px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.pw-spec-family--pro { color: #754d34; }
.pw-spec-family--mutant { color: #36312d; }
.pw-spec-family--low { color: #527361; }
.pw-spec-family--peace { color: #765c78; }
.pw-spec-facts { display: flex; gap: 5px; }
.pw-spec-orb { display: grid; width: 45px; height: 45px; place-content: center; border: 1px solid rgba(94,64,46,.18); border-radius: 50%; color: var(--pw-copper-dark); background: rgba(255,255,255,.92); box-shadow: 0 6px 18px rgba(40,29,21,.06); text-align: center; backdrop-filter: blur(8px); }
.pw-spec-orb strong { font-family: Georgia, 'Times New Roman', serif; font-size: 18px; font-weight: 500; line-height: .84; }
.pw-spec-orb small { margin-top: 3px; color: #786a60; font-size: 6px; font-weight: 750; line-height: 1; letter-spacing: .07em; text-transform: uppercase; }
.pw-spec-orb--notes { border-color: rgba(111,146,127,.3); }
@media (hover: hover) and (pointer: fine) {
    .pw-product-card:hover .pw-product-signature, .pw-product-card:focus-within .pw-product-signature { opacity: 1; transform: translateY(0); }
}
.pw-product-body { display: flex; flex: 1; flex-direction: column; padding: 19px 19px 21px; }
.pw-product-kicker { height: 40px; margin: 0 0 7px; overflow: hidden; color: var(--pw-sage); font-size: 12px; font-weight: 700; line-height: 1.55; letter-spacing: .08em; text-transform: uppercase; }
.pw-product-brand { display: inline-flex; align-items: baseline; color: var(--pw-copper-dark); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.pw-product-brand-initial { display: inline-block; margin-right: 1px; font-family: Georgia, 'Times New Roman', serif; font-size: 19px; font-weight: 500; line-height: 1; letter-spacing: 0; vertical-align: baseline; }
.pw-product-kicker-divider { margin: 0 5px; color: #b9a995; font-weight: 400; }
.pw-spec-number, .pw-spec-key { display: inline-block; color: var(--pw-copper-dark); font-family: Georgia, 'Times New Roman', serif; font-size: 17px; font-weight: 500; line-height: 1; letter-spacing: -.025em; transform: translateY(1px); }
.pw-product-title { min-height: 76px; margin: 0; overflow: hidden; color: var(--pw-ink); font-size: 17px; font-weight: 650; line-height: 1.48; }
.pw-product-title a { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.pw-title-accent { display: inline-block; color: inherit; font-family: Georgia, 'Times New Roman', serif; font-weight: 500; line-height: .82; letter-spacing: -.035em; vertical-align: -.055em; }
.pw-title-key { font-size: 1.46em; }
.pw-title-number { font-size: 1.34em; font-variant-numeric: lining-nums tabular-nums; }
.pw-product-insights { display: flex; min-height: 59px; align-content: flex-start; align-items: flex-start; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.pw-insight { display: inline-flex; min-height: 27px; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid #dfd5ca; border-radius: 999px; color: #64584e; background: #faf7f3; font-size: 9px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.pw-insight svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.pw-insight i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(111,146,127,.11); }
.pw-insight--beginner { color: #526f5f; border-color: #cadbd1; background: #f3f8f5; }
.pw-insight--package { color: #664b39; border-color: #ddc9b8; background: #fbf3ea; }
.pw-insight--bag { color: #536477; border-color: #ccd6df; background: #f3f7fa; }
.pw-insight--package-value { min-height: 31px; padding-block: 4px; text-transform: none; }
.pw-insight--package-value > svg { width: 17px; height: 17px; flex: 0 0 auto; }
.pw-insight-package-copy { display: grid; gap: 0; line-height: 1.05; }
.pw-insight-package-copy strong { font-family: Georgia, 'Times New Roman', serif; font-size: 10px; font-weight: 600; letter-spacing: .01em; }
.pw-insight-package-copy small { font-size: 7px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; opacity: .74; }
.pw-insight--available { color: #3f7559; border-color: #bcd7c7; background: #eff8f2; }
.pw-insight--order { color: #74543e; border-color: #decbbb; background: #faf4ed; }
.pw-popularity { display: inline-flex; min-height: 27px; align-items: center; gap: 6px; padding: 5px 8px; color: #6f5744; border: 1px solid #e2d7c9; border-radius: 999px; background: #fffaf3; }
.pw-popularity-signal { display: inline-flex; width: 17px; height: 12px; flex: 0 0 auto; align-items: flex-end; gap: 1.5px; }
.pw-popularity-signal i { width: 2px; border-radius: 2px; background: #ddcdbd; }
.pw-popularity-signal i:nth-child(1) { height: 5px; }
.pw-popularity-signal i:nth-child(2) { height: 7px; }
.pw-popularity-signal i:nth-child(3) { height: 9px; }
.pw-popularity-signal i:nth-child(4) { height: 11px; }
.pw-popularity-signal i:nth-child(5) { height: 12px; }
.pw-popularity-signal i.is-active { background: var(--pw-copper-dark); }
.pw-popularity-copy { display: inline-flex; align-items: baseline; gap: 4px; white-space: nowrap; font-size: 9px; line-height: 1; letter-spacing: .025em; }
.pw-popularity-copy span { color: #897665; text-transform: uppercase; }
.pw-popularity-copy b { color: #b9a28d; font-weight: 400; }
.pw-popularity-copy strong { color: var(--pw-copper-dark); font-weight: 750; }
.pw-product-order { display: flex; min-height: 53px; flex-direction: column; justify-content: center; gap: 4px; margin-top: 7px; color: #6a6058; font-size: 12px; line-height: 1.35; }
.pw-product-order span { display: flex; align-items: center; gap: 7px; }
.pw-product-order i { width: 5px; height: 5px; flex: 0 0 auto; border-radius: 50%; background: #b89d86; }
.pw-product-watch-slot { display: flex; align-items: flex-end; justify-content: flex-start; height: 50px; padding: 8px 0 4px; }
.pw-watch-button { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 5px 11px 5px 7px; overflow: hidden; border: 0; border-radius: 999px; color: var(--pw-copper-dark); background: transparent; font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: color .18s ease; isolation: isolate; }
.pw-watch-button::before { content: ''; position: absolute; inset: 0; z-index: 0; border-radius: inherit; background: var(--pw-copper-dark); transform: scaleX(0); transform-origin: left center; transition: transform .26s cubic-bezier(.22,.75,.24,1); }
.pw-watch-button span, .pw-watch-button svg { position: relative; z-index: 1; }
.pw-watch-button svg { width: 27px; height: 27px; overflow: visible; }
.pw-watch-button circle { fill: #f4ece4; stroke: #b99b82; stroke-width: 1; }
.pw-watch-button path { fill: var(--pw-copper-dark); }
.pw-watch-button:hover, .pw-product-card:hover .pw-watch-button { color: #fff; }
.pw-watch-button:hover::before, .pw-product-card:hover .pw-watch-button::before { transform: scaleX(1); }
.pw-watch-button:hover circle, .pw-product-card:hover .pw-watch-button circle { fill: rgba(255,255,255,.14); stroke: rgba(255,255,255,.65); }
.pw-watch-button:hover path, .pw-product-card:hover .pw-watch-button path { fill: #fff; }
.pw-product-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 59px; margin-top: auto; padding-top: 15px; border-top: 1px solid #eee7de; }
.pw-price { display: flex; min-width: 0; flex-wrap: wrap; gap: 5px 8px; align-items: baseline; font-variant-numeric: tabular-nums; }
.pw-price-reservation { display: grid; grid-template-columns: auto auto; gap: 1px 8px; align-items: baseline; }
.pw-price-label { color: var(--pw-copper-dark); font-size: 10px; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.pw-price-current { color: var(--pw-ink); font-size: 18px; font-weight: 750; }
.pw-price-old { color: #9a5147; font-size: 13px; text-decoration: line-through; }
.pw-price-saving { grid-column: 1 / -1; color: #7a563c; font-size: 10px; font-weight: 750; letter-spacing: .025em; }
.pw-price-breakdown { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 7px; margin-top: 2px; font-size: 11px; line-height: 1.35; }
.pw-price-total { color: #756a62; }
.pw-price-balance { color: var(--pw-copper-dark); font-weight: 700; }
.pw-price-due { color: #88796d; font-weight: 500; white-space: nowrap; }
.pw-price-divider { color: #b7a99c; }
.pw-price-total del { margin-right: 5px; color: #9a5147; }
.pw-price-shipping { color: #81766d; font-size: 10px; font-weight: 650; letter-spacing: .025em; white-space: nowrap; }
.pw-price-total .pw-price-shipping { margin-left: 3px; font-size: 9px; }
.pw-product-arrow { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 50%; color: var(--pw-copper-dark); background: var(--pw-cream); transition: background .2s ease, color .2s ease; }
.pw-product-card:hover .pw-product-arrow { color: #fff; background: var(--pw-copper-dark); }
.pw-empty { grid-column: 1 / -1; padding: 60px 24px; text-align: center; border: 1px dashed #d8cbbc; border-radius: 18px; background: #fbf8f4; }
.pw-empty h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 28px; }
.pw-empty p { color: var(--pw-muted); }

.pw-guide { padding: 86px 0; color: #eee7df; background: #211c18; }
.pw-guide-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 90px; align-items: start; }
.pw-guide h2 { margin: 0; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(34px, 4vw, 55px); font-weight: 500; line-height: 1.08; letter-spacing: -.025em; }
.pw-guide-lead { margin: 22px 0 0; color: #cfc4b8; font-size: 17px; line-height: 1.8; }
.pw-guide-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pw-guide-card { padding: 25px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.035); }
.pw-guide-number { color: #c6a588; font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.pw-guide-card h3 { margin: 13px 0 9px; color: #fff; font-size: 18px; }
.pw-guide-card p { margin: 0; color: #bfb3a8; line-height: 1.7; }

.pw-seo { padding: 78px 0 90px; background: #fbf9f6; }
.pw-seo-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: 80px; }
.pw-seo h2 { margin: 0 0 20px; color: var(--pw-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(32px, 4vw, 50px); font-weight: 500; line-height: 1.12; }
.pw-seo p { color: #625a53; font-size: 16px; line-height: 1.85; }
.pw-faq { border-top: 1px solid var(--pw-line); }
.pw-faq details { border-bottom: 1px solid var(--pw-line); }
.pw-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 68px; list-style: none; cursor: pointer; color: var(--pw-ink); font-weight: 700; }
.pw-faq summary::-webkit-details-marker { display: none; }
.pw-faq summary::after { content: '+'; color: var(--pw-copper); font-size: 24px; font-weight: 400; }
.pw-faq details[open] summary::after { content: '−'; }
.pw-faq p { margin: -2px 0 20px; font-size: 14px; }

.pw-video-modal { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: clamp(18px, 4vw, 64px); opacity: 0; overscroll-behavior: contain; transition: opacity .22s ease; }
.pw-video-modal[hidden] { display: none; }
.pw-video-modal.is-open { opacity: 1; }
.pw-video-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: radial-gradient(circle at 50% 40%, rgba(111, 80, 57, .38), transparent 32%), rgba(18, 15, 13, .94); backdrop-filter: blur(14px); cursor: default; }
.pw-video-backdrop::before, .pw-video-backdrop::after { content: ''; position: absolute; left: 50%; top: 50%; width: min(76vw, 920px); aspect-ratio: 1; border: 1px solid rgba(218,191,166,.12); border-radius: 50%; transform: translate(-50%, -50%) perspective(900px) rotateX(66deg); }
.pw-video-backdrop::after { width: min(54vw, 660px); border-color: rgba(218,191,166,.2); }
.pw-video-stage { position: relative; z-index: 1; width: min(1120px, 94vw); transform: translateY(16px) scale(.985); transition: transform .28s ease; }
.pw-video-modal.is-open .pw-video-stage { transform: translateY(0) scale(1); }
.pw-video-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 16px; color: #fff; }
.pw-video-heading p { margin: 0 0 6px; color: #c8a98e; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.pw-video-heading h2 { max-width: 900px; margin: 0; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(20px, 2.2vw, 32px); font-weight: 500; line-height: 1.25; }
.pw-video-close { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; color: #fff; background: rgba(255,255,255,.06); font-size: 26px; cursor: pointer; }
.pw-video-frame { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: #000; box-shadow: 0 35px 100px rgba(0,0,0,.48); }
.pw-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
body.pw-modal-lock { overflow: hidden; }

@media (max-width: 1199px) {
    .pw-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pw-hero-grid { grid-template-columns: 1fr; gap: 32px; }
    .pw-hero-points { max-width: 620px; }
    .pw-guide-grid, .pw-seo-grid { gap: 48px; }
}

@media (max-width: 991px) {
    .pw-shell { width: min(100% - 32px, 900px); }
    .pw-catalog { grid-template-columns: 1fr; gap: 0; padding-top: 30px; }
    .pw-filter-trigger { display: inline-flex; align-items: center; gap: 8px; }
    .pw-filter-panel { position: fixed; top: 0; left: 0; z-index: 1201; width: min(390px, 92vw); height: 100dvh; max-height: none; padding: 24px; overflow-y: auto; overscroll-behavior: contain; background: #fff; box-shadow: 20px 0 60px rgba(25,20,16,.18); transform: translateX(-105%); transition: transform .28s ease; }
    .pw-filter-panel.is-open { transform: translateX(0); }
    .pw-filter-close { display: grid; place-items: center; cursor: pointer; }
    .pw-filter-scrim { position: fixed; inset: 0; z-index: 1200; background: rgba(24,20,17,.45); backdrop-filter: blur(2px); }
    .pw-filter-scrim.is-open { display: block; }
    .pw-mobile-apply { position: sticky; bottom: -24px; display: grid; grid-template-columns: 1fr auto; gap: 10px; margin: 20px -24px -24px; padding: 14px 24px calc(14px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.94); border-top: 1px solid var(--pw-line); backdrop-filter: blur(8px); }
    .pw-mobile-apply button { min-height: 48px; border-radius: 12px; cursor: pointer; }
    .pw-apply-primary { border: 0; color: #fff; background: var(--pw-copper-dark); font-weight: 700; }
    .pw-apply-secondary { border: 1px solid var(--pw-line); background: #fff; }
    body.pw-filter-lock { overflow: hidden; }
    .pw-guide-grid, .pw-seo-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .pw-shell { width: min(100% - 24px, 600px); }
    .pw-hero { padding: 38px 0 34px; }
    .pw-breadcrumbs { margin-bottom: 22px; }
    .pw-hero h1 { font-size: 42px; line-height: 1.04; }
    .pw-hero-copy { margin-top: 18px; font-size: 16px; }
    .pw-hero-points { grid-template-columns: 1fr 1fr; gap: 8px; }
    .pw-hero-point:last-child { grid-column: 1 / -1; }
    .pw-toolbar { align-items: flex-start; flex-direction: column; gap: 14px; }
    .pw-toolbar-actions { width: 100%; }
    .pw-filter-trigger { justify-content: center; flex: 0 0 48px; padding-inline: 13px; }
    .pw-sort-wrap { flex: 1; }
    .pw-sort-wrap label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .pw-sort-wrap select { width: 100%; min-width: 0; }
    .pw-product-grid { grid-template-columns: 1fr; gap: 16px; }
    @supports (content-visibility: auto) {
        .pw-product-card:nth-child(n+7) { contain-intrinsic-size: auto 250px; }
    }
    .pw-product-card { display: grid; grid-template-columns: 43% 57%; border-radius: 16px; }
    .pw-product-media { height: 100%; aspect-ratio: auto; min-height: 196px; }
    .pw-product-media-link { z-index: 2; }
    .pw-product-image { padding: 8px; }
    .pw-product-signature { top: 8px; right: 8px; gap: 4px; opacity: 1; transform: none; }
    .pw-spec-family { min-height: 26px; gap: 5px; padding: 4px 7px 4px 5px; font-size: 8px; letter-spacing: .065em; }
    .pw-spec-family svg { width: 14px; height: 14px; }
    .pw-spec-facts { gap: 4px; }
    .pw-spec-orb { width: 36px; height: 36px; }
    .pw-spec-orb strong { font-size: 14px; }
    .pw-spec-orb small { margin-top: 2px; font-size: 5px; }
    .pw-product-thumbs { bottom: 7px; padding: 2px 5px; }
    .pw-product-card.is-gallery-active .pw-product-thumbs, .pw-product-card:focus-within .pw-product-thumbs { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
    .pw-product-thumb { width: 44px; height: 38px; }
    .pw-product-body { display: flex; flex-direction: column; justify-content: center; padding: 16px 14px; }
    .pw-product-kicker { height: 38px; font-size: 10px; letter-spacing: .055em; }
    .pw-product-brand { font-size: 8px; letter-spacing: .13em; }
    .pw-product-brand-initial { margin-right: .5px; font-size: 15px; }
    .pw-product-kicker-divider { margin-inline: 3px; }
    .pw-spec-number, .pw-spec-key { font-size: 14px; }
    .pw-product-title { min-height: 0; font-size: 15px; }
    .pw-product-title a { -webkit-line-clamp: 4; }
    .pw-product-insights { min-height: 55px; gap: 4px; margin-top: 6px; }
    .pw-insight { min-height: 24px; gap: 4px; padding: 4px 6px; font-size: 7.5px; letter-spacing: .025em; }
    .pw-insight svg { width: 13px; height: 13px; }
    .pw-insight--package-value { min-height: 28px; }
    .pw-insight--package-value > svg { width: 14px; height: 14px; }
    .pw-insight-package-copy strong { font-size: 8px; }
    .pw-insight-package-copy small { font-size: 6px; }
    .pw-popularity { min-height: 24px; gap: 4px; padding: 4px 6px; }
    .pw-popularity-signal { width: 14px; height: 10px; gap: 1px; }
    .pw-popularity-signal i { width: 1.5px; }
    .pw-popularity-signal i:nth-child(1) { height: 4px; }
    .pw-popularity-signal i:nth-child(2) { height: 5.5px; }
    .pw-popularity-signal i:nth-child(3) { height: 7px; }
    .pw-popularity-signal i:nth-child(4) { height: 8.5px; }
    .pw-popularity-signal i:nth-child(5) { height: 10px; }
    .pw-popularity-copy { gap: 3px; font-size: 7.5px; }
    .pw-product-order { min-height: 49px; margin-top: 5px; font-size: 11px; }
    .pw-product-watch-slot { min-height: 42px; padding-top: 4px; }
    .pw-watch-button { min-height: 44px; padding: 6px 12px 6px 7px; color: #fff; }
    .pw-watch-button::before { transform: scaleX(1); }
    .pw-watch-button circle { fill: rgba(255,255,255,.14); stroke: rgba(255,255,255,.65); }
    .pw-watch-button path { fill: #fff; }
    .pw-product-footer { margin-top: 13px; padding-top: 12px; }
    .pw-price-reservation { grid-template-columns: 1fr; gap: 0; }
    .pw-price-reservation .pw-price-current { font-size: 17px; line-height: 1.15; }
    .pw-price-reservation .pw-price-breakdown { grid-column: 1; gap: 2px 6px; margin-top: 4px; }
    .pw-price-shipping { font-size: 8px; }
    .pw-shop .pw-product-arrow,
    .pw-shop .pw-product-arrow:hover,
    .pw-shop .pw-product-arrow:focus,
    .pw-shop .pw-product-arrow:visited { width: 44px; height: 44px; color: #fff; background: var(--pw-copper-dark); }
    .pw-guide, .pw-seo { padding: 60px 0; }
    .pw-guide-cards { grid-template-columns: 1fr; }
    .pw-guide-card { padding: 21px; }
    .pw-video-modal { padding: 14px; }
    .pw-video-stage { width: 100%; }
    .pw-video-heading { align-items: center; margin-bottom: 12px; }
    .pw-video-heading h2 { max-width: 270px; font-size: 18px; }
    .pw-video-close { width: 44px; height: 44px; }
    .pw-video-frame { border-radius: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .pw-shop *, .pw-shop *::before, .pw-shop *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Focused result guidance: explain narrow filter matches without implying a small catalogue. */
.pw-sparse-results{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:-4px 0 28px;padding:18px 20px;border-left:3px solid var(--pw-copper);border-radius:0 12px 12px 0;background:#f7f1eb}.pw-sparse-results[hidden]{display:none}.pw-sparse-results strong{display:block;color:var(--pw-ink);font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:500}.pw-sparse-results p{margin:4px 0 0;color:var(--pw-muted);font-size:13px}.pw-sparse-results a{min-height:44px;display:inline-flex;align-items:center;gap:16px;flex:0 0 auto;padding:0 15px;border-radius:999px;color:#fff!important;background:var(--pw-copper-dark);font-size:12px;font-weight:700;text-decoration:none}.pw-sparse-results a:hover{color:#fff!important;background:var(--pw-ink)}
@media(max-width:767px){.pw-sparse-results{align-items:flex-start;flex-direction:column;gap:14px;padding:16px}.pw-sparse-results strong{font-size:18px}.pw-sparse-results a{width:100%;justify-content:space-between}}
.pw-filter-note{margin:-3px 0 12px;color:var(--pw-muted);font-size:11px;line-height:1.45}.pw-price-filter .pw-filter-option input[type=radio]{accent-color:var(--pw-copper)}
.pw-taxonomy-grid{display:grid;gap:8px;padding:0 0 20px}.pw-root-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pw-family-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-taxonomy-choice{position:relative;display:block;margin:0;cursor:pointer}.pw-taxonomy-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.pw-taxonomy-choice span{display:flex;min-height:44px;align-items:center;justify-content:center;padding:7px 9px;border:1px solid #ddd1c5;border-radius:999px;color:#574b42;background:#fff;font-size:12px;font-weight:650;line-height:1.2;text-align:center;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}.pw-taxonomy-choice:hover span{border-color:#ad896d;color:var(--pw-copper-dark);background:#fbf6f0}.pw-taxonomy-choice input:checked+span{border-color:var(--pw-copper-dark);color:#fff;background:var(--pw-copper-dark);box-shadow:0 6px 16px rgba(100,69,47,.14)}.pw-taxonomy-choice input:focus-visible+span{outline:2px solid var(--pw-ink);outline-offset:3px}.pw-family-filter-grid .pw-taxonomy-choice span{border-radius:12px;font-size:12.5px;font-weight:700}
