/* GENERATED by tools/build_products.py. Do not edit by hand.
   Per-SKU tones for swatches, PLP cards, and PDP galleries.
   Floors re-color the shared --wood SVG (site.css); wall panels
   carry their own marble / vertical-slat textures below. */
/* KO-134 Saddle Oak · Warm Brown */
.f-ko-134{filter:none}
.f-ko-134-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-ko-134-4000k{filter:none saturate(.8) brightness(1.07)}
/* KO-135 Driftstone Oak · Soft Greige */
.f-ko-135{filter:none}
.f-ko-135-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-ko-135-4000k{filter:none saturate(.8) brightness(1.07)}
/* KO-136 Harvest Oak · Golden Natural */
.f-ko-136{filter:none}
.f-ko-136-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-ko-136-4000k{filter:none saturate(.8) brightness(1.07)}
/* KO-137 Ivory Oak · Pale Cream */
.f-ko-137{filter:none}
.f-ko-137-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-ko-137-4000k{filter:none saturate(.8) brightness(1.07)}
/* KO-138 Sandbar Oak · Light Beige */
.f-ko-138{filter:none}
.f-ko-138-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-ko-138-4000k{filter:none saturate(.8) brightness(1.07)}
/* KO-139 Frost Oak · Pale Gray */
.f-ko-139{filter:none}
.f-ko-139-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-ko-139-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-401 Honey Oak · Warm Honey */
.f-kv-401{filter:none}
.f-kv-401-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-401-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-402 Wheat Oak · Light Golden */
.f-kv-402{filter:none}
.f-kv-402-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-402-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-403 Sunlit Oak · Golden Natural */
.f-kv-403{filter:none}
.f-kv-403-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-403-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-404 Seashell Oak · Whitewashed */
.f-kv-404{filter:none}
.f-kv-404-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-404-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-405 Butterscotch Oak · Medium Golden */
.f-kv-405{filter:none}
.f-kv-405-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-405-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-406 Caramel Oak · Golden Brown */
.f-kv-406{filter:none}
.f-kv-406-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-406-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-411 Canyon Hickory · Rustic Red-Brown */
.f-kv-411{filter:none}
.f-kv-411-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-411-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-412 Ironbark Oak · Charcoal Brown */
.f-kv-412{filter:none}
.f-kv-412-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-412-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-413 Tobacco Oak · Warm Brown */
.f-kv-413{filter:none}
.f-kv-413-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-413-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-414 Chalk Oak · Bright White */
.f-kv-414{filter:none}
.f-kv-414-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-414-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-415 Prairie Oak · Light Natural */
.f-kv-415{filter:none}
.f-kv-415-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-415-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-416 Oat Oak · Pale Natural */
.f-kv-416{filter:none}
.f-kv-416-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-416-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-421 Bourbon Hickory · Rich Brown */
.f-kv-421{filter:none}
.f-kv-421-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-421-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-422 Blush Oak · Pale Blush */
.f-kv-422{filter:none}
.f-kv-422-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-422-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-423 Dune Oak · Light Natural */
.f-kv-423{filter:none}
.f-kv-423-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-423-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-424 Mist Oak · Light Gray */
.f-kv-424{filter:none}
.f-kv-424-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-424-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-425 Slate Oak · Cool Gray */
.f-kv-425{filter:none}
.f-kv-425-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-425-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-426 Almond Oak · Light Warm */
.f-kv-426{filter:none}
.f-kv-426-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-426-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-427 Porcelain Oak · Ivory */
.f-kv-427{filter:none}
.f-kv-427-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-427-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-428 Golden Oak · Golden */
.f-kv-428{filter:none}
.f-kv-428-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-428-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-429 Taupe Oak · Gray Taupe */
.f-kv-429{filter:none}
.f-kv-429-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-429-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-430 Biscuit Oak · Natural Beige */
.f-kv-430{filter:none}
.f-kv-430-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-430-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-441 Graphite Oak · Dark Gray */
.f-kv-441{filter:none}
.f-kv-441-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-441-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-442 Barnwood Oak · Rustic Brown */
.f-kv-442{filter:none}
.f-kv-442-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-442-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-443 Pebble Oak · Gray Taupe */
.f-kv-443{filter:none}
.f-kv-443-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-443-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-444 Weathered Oak · Weathered Gray */
.f-kv-444{filter:none}
.f-kv-444-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-444-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-445 Espresso Oak · Dark Espresso */
.f-kv-445{filter:none}
.f-kv-445-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-445-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-446 Mocha Oak · Brown Taupe */
.f-kv-446{filter:none}
.f-kv-446-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-446-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-451 Silver Oak · Light Gray */
.f-kv-451{filter:none}
.f-kv-451-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-451-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-452 Bramble Oak · Rustic Brown */
.f-kv-452{filter:none}
.f-kv-452-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-452-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-453 Storm Oak · Medium Gray */
.f-kv-453{filter:none}
.f-kv-453-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-453-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-454 Stonewash Oak · Gray Beige */
.f-kv-454{filter:none}
.f-kv-454-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-454-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-455 Cloud Oak · Light Gray */
.f-kv-455{filter:none}
.f-kv-455-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-455-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-456 Pewter Oak · Medium Gray */
.f-kv-456{filter:none}
.f-kv-456-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-456-4000k{filter:none saturate(.8) brightness(1.07)}
/* KV-457 Cinnamon Oak · Warm Natural */
.f-kv-457{filter:none}
.f-kv-457-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kv-457-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-301 Hazel Oak · Taupe Brown */
.f-kh-301{filter:none}
.f-kh-301-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-301-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-302 Heather Oak · Soft Gray */
.f-kh-302{filter:none}
.f-kh-302-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-302-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-303 Umber Oak · Dark Olive Brown */
.f-kh-303{filter:none}
.f-kh-303-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-303-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-304 Fawn Oak · Medium Brown */
.f-kh-304{filter:none}
.f-kh-304-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-304-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-305 Driftwood Oak · Gray Brown */
.f-kh-305{filter:none}
.f-kh-305-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-305-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-311 Natural Red Oak · Natural */
.f-kh-311{filter:none}
.f-kh-311-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-311-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-312 Sand Red Oak · Light Tan */
.f-kh-312{filter:none}
.f-kh-312-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-312-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-313 Khaki Red Oak · Tan */
.f-kh-313{filter:none}
.f-kh-313-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-313-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-314 Silver Red Oak · Cool Gray */
.f-kh-314{filter:none}
.f-kh-314-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-314-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-315 Charcoal Red Oak · Dark Gray */
.f-kh-315{filter:none}
.f-kh-315-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-315-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-321 Cognac Oak · Rustic Warm Brown */
.f-kh-321{filter:none}
.f-kh-321-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-321-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-322 Alpine Oak · Pale White */
.f-kh-322{filter:none}
.f-kh-322-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-322-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-323 Chocolate Oak · Dark Brown */
.f-kh-323{filter:none}
.f-kh-323-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-323-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-324 Rustic Natural Oak · Light Natural */
.f-kh-324{filter:none}
.f-kh-324-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-324-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-325 Goldleaf Oak · Golden Honey */
.f-kh-325{filter:none}
.f-kh-325-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-325-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-331 Greystone Oak · Light Greige */
.f-kh-331{filter:none}
.f-kh-331-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-331-4000k{filter:none saturate(.8) brightness(1.07)}
/* KH-332 Sunset Oak · Warm Honey */
.f-kh-332{filter:none}
.f-kh-332-2700k{filter:none sepia(.22) saturate(1.1) brightness(1.04)}
.f-kh-332-4000k{filter:none saturate(.8) brightness(1.07)}

/* ---------- wall-panel textures & gallery helpers ---------- */
.pan-marble-light{background-color:#efece4;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='760' height='980'><defs><filter id='w' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.004 0.007' numOctaves='3' seed='17'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 -5.6'/><feComponentTransfer><feFuncA type='table' tableValues='0 1 0'/></feComponentTransfer><feColorMatrix type='matrix' values='0 0 0 0 0.63 0 0 0 0 0.61 0 0 0 0 0.58 0 0 0 0.35 0'/></filter><filter id='v' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.007 0.012' numOctaves='4' seed='9'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 -7.6'/><feComponentTransfer><feFuncA type='table' tableValues='0 1 0'/></feComponentTransfer><feColorMatrix type='matrix' values='0 0 0 0 0.5 0 0 0 0 0.48 0 0 0 0 0.45 0 0 0 0.5 0'/></filter><filter id='g' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.005 0.009' numOctaves='4' seed='33'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 0 0 0 -10.5'/><feComponentTransfer><feFuncA type='table' tableValues='0 1 0'/></feComponentTransfer><feColorMatrix type='matrix' values='0 0 0 0 0.8 0 0 0 0 0.65 0 0 0 0 0.34 0 0 0 1 0'/></filter></defs><rect width='760' height='980' fill='%23f2eee6'/><rect width='760' height='980' filter='url(%23w)'/><rect width='760' height='980' filter='url(%23v)'/><rect width='760' height='980' filter='url(%23g)'/></svg>");background-size:cover;background-position:center}
.pan-marble-dark{background-color:#171310;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='760' height='980'><defs><filter id='w' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.004 0.007' numOctaves='3' seed='21'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 -4.6'/><feComponentTransfer><feFuncA type='table' tableValues='0 1 0'/></feComponentTransfer><feColorMatrix type='matrix' values='0 0 0 0 0.42 0 0 0 0 0.4 0 0 0 0 0.38 0 0 0 0.3 0'/></filter><filter id='v' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.007 0.012' numOctaves='4' seed='12'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 -7.7'/><feComponentTransfer><feFuncA type='table' tableValues='0 1 0'/></feComponentTransfer><feColorMatrix type='matrix' values='0 0 0 0 0.55 0 0 0 0 0.53 0 0 0 0 0.5 0 0 0 0.35 0'/></filter><filter id='g' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.005 0.009' numOctaves='4' seed='41'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 0 0 0 -10.4'/><feComponentTransfer><feFuncA type='table' tableValues='0 1 0'/></feComponentTransfer><feColorMatrix type='matrix' values='0 0 0 0 0.85 0 0 0 0 0.68 0 0 0 0 0.36 0 0 0 1 0'/></filter></defs><rect width='760' height='980' fill='%23171310'/><rect width='760' height='980' filter='url(%23w)'/><rect width='760' height='980' filter='url(%23v)'/><rect width='760' height='980' filter='url(%23g)'/></svg>");background-size:cover;background-position:center}
.pan-slat-oak,.pan-slat-walnut{background-color:#0d0a07;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,rgba(0,0,0,0) 1px 20px,rgba(0,0,0,.42) 20px 23px,#0b0805 23px 37px),url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='700' height='900'><defs><filter id='a' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.085 0.005' numOctaves='5' seed='11'/><feColorMatrix type='matrix' values='0 0 0 0 0.16 0 0 0 0 0.12 0 0 0 0 0.09 0.9 0.35 0 0 0'/></filter><filter id='b' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.5 0.35' numOctaves='2' seed='4'/><feColorMatrix type='matrix' values='0 0 0 0 0.1 0 0 0 0 0.07 0 0 0 0 0.05 0.35 0 0 0 0'/></filter><filter id='c' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.06 0.003' numOctaves='4' seed='29'/><feColorMatrix type='matrix' values='0 0 0 0 0.98 0 0 0 0 0.93 0 0 0 0 0.82 0.5 0 0 0 0'/></filter></defs><rect width='700' height='900' fill='%23907e69'/><rect width='700' height='900' filter='url(%23a)'/><rect width='700' height='900' filter='url(%23c)' opacity='.28'/><rect width='700' height='900' filter='url(%23b)' opacity='.5'/></svg>");background-size:auto,340px 900px}
.pan-view{position:absolute;inset:0;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.pan-macro{transform:scale(2.35)}
.gthumb{overflow:hidden}
.tv-macro{transform:scale(2.2)}
.pan-warm::after,.tv-warm::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 95% at 28% 18%,rgba(255,186,110,.3),rgba(24,12,4,.38) 82%)}

/* ---------- SPC layer diagram (/lvp/) ---------- */
.spc-duo{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.spc-stack{display:flex;flex-direction:column;gap:8px}
.spc-l{display:grid;grid-template-columns:minmax(120px,44%) 1fr;gap:16px;align-items:center}
.spc-bar{border:1px solid rgba(201,168,92,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.spc-uv{height:6px;background:linear-gradient(90deg,#e8d9ae,#c9a85c)}
.spc-wear{height:12px;background:rgba(242,236,223,.14)}
.spc-film{height:9px;background-color:#907e69;background-image:var(--wood);background-size:300px 230px}
.spc-core{height:48px;background:linear-gradient(#3a352e,#2b2722)}
.spc-pad{height:16px;background:repeating-linear-gradient(45deg,#4a4136 0 6px,#3b342c 6px 12px)}
.spc-t b{display:block;font:600 .92rem/1.3 var(--sans);color:var(--paper)}
.spc-t span{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}
@media(max-width:860px){.spc-duo{grid-template-columns:1fr;gap:28px}}

/* catalog filters (tools/build_products.py filter_bar) and Shop by links (shop_by) */
.cf{margin:0 0 22px}
.cf-top{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;border-bottom:1px solid var(--line-soft);padding-bottom:14px}
.cf-open,.cf-ph,.cf-pf{display:none}
.cf-panel{display:contents}
.cf-dds{display:flex;flex-wrap:wrap;gap:8px}
.cf-dd{position:relative}
.cf-dt{display:inline-flex;align-items:center;gap:7px;font:500 .86rem/1 var(--sans);color:var(--paper);background:var(--ink);border:1px solid var(--line);padding:10px 12px;cursor:pointer}
.cf-dt:hover,.cf-dd.open .cf-dt{border-color:var(--gold)}
.cf-dn{font-style:normal;color:var(--gold);font-weight:700}
.cf-dn:empty{display:none}
.cf-ch{transition:transform .15s}
.cf-dd.open .cf-ch{transform:rotate(180deg)}
.cf-dp{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:230px;background:var(--ink);border:1px solid var(--line);box-shadow:0 14px 34px rgba(23,19,14,.18);padding:6px;flex-direction:column}
.cf-dd.open .cf-dp{display:flex}
.cf-c{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:500 .88rem/1.2 var(--sans);color:var(--paper);background:none;border:0;padding:9px 10px;cursor:pointer}
.cf-c::before{content:"";flex:none;width:16px;height:16px;border:1px solid var(--line);background:var(--ink)}
.cf-c[aria-pressed=true]::before{background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--gold)}
.cf-c:hover{background:var(--ink2)}
.cf-c i{font-style:normal;color:var(--muted-2);font-size:.76rem;margin-left:auto}
.cf-v{display:flex;flex-direction:column;gap:2px}
.cf-v small{font-size:.74rem;color:var(--muted-2);font-weight:400}
.cf-dp{min-width:270px}
.cf-info{font-size:.8rem;line-height:1.45;color:var(--muted);padding:8px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--line-soft);max-width:300px}
.cf-ib{display:none}
.cf-im{display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;border:1px solid var(--line);border-radius:50%;font:italic 600 .62rem/1 var(--serif);color:var(--muted-2)}
.cf-dt .cf-dn:not(:empty)+.cf-im{display:none}
.cf-hint{order:5;flex-basis:100%;justify-content:flex-start;display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:2px 0 0;font:500 .82rem/1.2 var(--sans);color:var(--gold);cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.cf-hint .cf-im{border-color:var(--gold);color:var(--gold)}
.cf-hint:hover{text-decoration-color:var(--gold)}
.cf-c.zero{opacity:.38}
.cf-count{font:700 .9rem/1 var(--sans);color:var(--gold);margin-left:auto}
.cf-sort{font-size:.84rem;color:var(--muted);display:flex;gap:8px;align-items:center}
.cf-sort select{font:500 .86rem var(--sans);color:var(--paper);background:var(--ink);border:1px solid var(--line);padding:9px 8px;max-width:170px}
.cf-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:12px}
.cf-pill{display:inline-flex;align-items:center;gap:8px;font:500 .8rem/1 var(--sans);color:var(--paper);background:var(--ink2);border:1px solid var(--line);padding:7px 10px;cursor:pointer}
.cf-pill b{font-weight:400;color:var(--muted)}
.cf-pill:hover{border-color:var(--gold)}
.cf-reset{font:500 .82rem/1 var(--sans);color:var(--muted);background:none;border:0;text-decoration:underline;cursor:pointer;padding:6px 4px}
.cf-empty{padding:28px 0;color:var(--muted)}
@media(max-width:860px){
  .cf-open{display:inline-flex;align-items:center;gap:8px;font:600 .88rem/1 var(--sans);color:var(--paper);background:var(--ink);border:1px solid var(--line);padding:11px 14px;cursor:pointer}
  .cf-badge{font-style:normal;background:var(--gold);color:#fff;font-size:.72rem;padding:3px 6px}
  .cf-top{flex-wrap:wrap;gap:10px}
  .cf-hint{font-size:.8rem;padding:0}
  .cf-dt .cf-im{display:none}
  .cf-count{font-size:.84rem;white-space:nowrap}
  .cf-sort{margin-left:0;min-width:0}
  .cf-sort select{max-width:140px}
  .cf-sort span{display:none}
  .cf-panel{display:none;position:fixed;left:0;right:0;bottom:0;z-index:200;max-height:86vh;background:var(--ink);flex-direction:column;box-shadow:0 -18px 40px rgba(0,0,0,.35);animation:cf-up .22s cubic-bezier(.16,1,.3,1)}
  @keyframes cf-up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
  .cf.sheet .cf-panel{display:flex}
  .cf.sheet::before{content:"";position:fixed;inset:0;z-index:199;background:rgba(8,5,2,.55)}
  .cf-ph{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px}
  .cf-ph b{font:700 1.05rem var(--sans)}
  .cf-x{font-size:1.7rem;line-height:1;background:none;border:0;color:var(--paper);cursor:pointer;padding:0 4px}
  .cf-dds{flex-direction:column;flex-wrap:nowrap;gap:16px;overflow-y:auto;padding:4px 16px 16px}
  .cf-dd{display:flex;flex-wrap:wrap;align-items:flex-start}
  .cf-ib{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:-2px 0 0 6px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--muted);font:600 .7rem/1 var(--serif);font-style:italic;cursor:pointer}
  .cf-dd.info .cf-ib{border-color:var(--gold);color:var(--gold)}
  .cf-dp{width:100%}
  .cf-info{display:none;max-width:none;width:100%;border:0;padding:0 0 4px;margin:0 0 4px}
  .cf-dd.info .cf-info{display:block}
  .cf-v small{display:none}
  .cf-dt{pointer-events:none;border:0;background:none;padding:0 0 8px;font:600 .68rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
  .cf-dt .cf-ch{display:none}
  .cf-dp,.cf-dd.open .cf-dp{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:6px;box-shadow:none;border:0;padding:0;min-width:0;background:none}
  .cf-c{width:auto;border:1px solid var(--line);padding:9px 11px;font-size:.86rem}
  .cf-c::before{display:none}
  .cf-c:hover{background:none}
  .cf-c[aria-pressed=true]{border-color:var(--gold);background:rgba(138,106,36,.14);color:var(--gold)}
  .cf-c i{margin-left:4px}
  .cf-pf{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft)}
  .cf-show{flex:1;justify-content:center}
}
.pcard.cf-off{display:none}
.chead{position:relative;overflow:hidden;border-bottom:1px solid var(--line-soft);padding:30px 0 24px;background:#0e0a06}
.chead::before{content:"";position:absolute;inset:0;background:var(--ph) center 62%/cover;z-index:0}
.chead::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,8,4,.9) 0%,rgba(11,8,4,.74) 45%,rgba(11,8,4,.42) 100%)}
.chead>.wrap{position:relative;z-index:2}
.chead-h,.chead-s{text-shadow:0 1px 14px rgba(8,5,2,.7)}
.chead-s{color:rgba(242,236,223,.82)}
.chead .tg-a{background:rgba(14,10,6,.55);backdrop-filter:blur(4px)}
.chead .tg-l{color:rgba(242,236,223,.62)}
.chead-h{font:600 clamp(1.7rem,3vw,2.4rem)/1.15 var(--serif);letter-spacing:-.01em;max-width:none}
.chead-h em{font-style:normal;color:var(--gold)}
.chead-s{font-size:.86rem;margin:6px 0 14px}
.tg-strip{display:flex;flex-wrap:wrap;gap:10px 30px}
.tg-grp{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tg-grp .tg-l{width:auto;margin-right:4px}
.tg-strip .tg-a{padding:7px 10px;font-size:.8rem}
.tg-all{color:var(--gold)}
.plp-facts{display:flex;gap:16px 42px;flex-wrap:wrap;margin-top:30px;border-top:1px solid var(--line-soft);padding-top:22px}
.plp-facts div b{display:block;font:800 1.05rem/1.2 var(--sans);color:var(--gold)}
.plp-facts div span{font-size:.76rem;color:var(--muted)}
.tg-r{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 6px}
.tg-l{flex:none;width:58px;font:600 .66rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.tg-a{flex:none;white-space:nowrap;font:500 .84rem/1 var(--sans);color:var(--paper);border:1px solid var(--line);padding:8px 11px;transition:border-color .15s,color .15s}
a.tg-a:hover{border-color:var(--gold);color:var(--gold)}
.tg-a[aria-current]{border-color:var(--gold);background:rgba(201,168,92,.16);color:var(--gold)}
.tg-pdp{margin:0 0 26px}
.tg-h{font:600 .68rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin:0 0 10px}
.gtab-w{overflow-x:auto;border:1px solid var(--line-soft)}
.gtab{width:100%;border-collapse:collapse;font-size:.9rem;min-width:560px}
.gtab th{text-align:left;font:600 .66rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:12px 14px;border-bottom:1px solid var(--line);background:var(--ink2)}
.gtab td{padding:12px 14px;border-bottom:1px solid var(--line-soft);color:var(--paper);vertical-align:top}
.gtab tr:last-child td{border-bottom:0}
.gtab .g-n{display:block;font-size:.76rem;color:var(--muted-2)}
.shopby{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.shopby h3{font:600 .68rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin:0 0 10px}
.shopby ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.shopby a,.shopby span{font-size:.95rem;color:var(--paper)}
.shopby a:hover{color:var(--gold)}
.shopby span[aria-current]{color:var(--gold)}
.shopby i{font-style:normal;color:var(--muted-2);font-size:.78rem;margin-left:4px}
@media(max-width:860px){
  .shopby{grid-template-columns:1fr 1fr}
  .tg-r{margin-bottom:10px}
  .chead{padding:18px 0 16px}
  .chead::after{background:linear-gradient(180deg,rgba(11,8,4,.86),rgba(11,8,4,.7))}
  .chead-h{font-size:1.32rem;line-height:1.2}
  .chead .hide-m{display:none}
  .chead-s{font-size:.8rem;margin:4px 0 10px}
  .tg-strip{flex-direction:column;gap:10px}
  .tg-grp{gap:5px}
  .tg-grp .tg-l{width:100%;margin:0}
  .tg-strip .tg-a{padding:6px 8px;font-size:.76rem}
  .tg-strip .tg-a{flex:none}
  .tg-l{width:100%}
}

/* contact / privacy / terms */
.legal{max-width:760px}
.legal h2{font-family:'EB Garamond',serif;font-weight:600;font-size:clamp(24px,3vw,30px);line-height:1.15;margin:34px 0 10px}
.legal p,.legal li{font-size:17px;line-height:1.65}
.legal ul,.legal ol{padding-left:22px;margin:0 0 12px}
.legal li{margin:6px 0}
.legal-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:10px}
.legal-card{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line,#d9d2c3);background:var(--card,#fff);text-decoration:none;color:inherit}
.legal-card:hover{border-color:var(--gold,#C9A85C)}
.legal-card .k{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.legal-card b{font-size:19px;overflow-wrap:anywhere}
.legal-card span:last-child{font-size:14px;opacity:.75}
.foot-links{display:block;margin-top:8px}
.foot-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
