/* The cabinet: shared walnut joinery, brass hardware and quiet golden light. */
:root{--brass-light:#e3c891;--brass-dark:#846035;--cabinet-shadow:#130d09;--drawer-face:url('/assets/antique-drawer.webp')}
body{background:radial-gradient(ellipse at 20% 15%,#fffaf0 0,transparent 60%),#f5ecd9}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cb9846;outline-offset:5px}
.site-header{border-top:9px ridge #67482e;border-bottom:12px ridge #735034;box-shadow:inset 0 0 0 1px #ba915754,0 9px 24px #120b0960;z-index:20}
.announcement{justify-content:center;border-bottom:6px ridge #68492b;background:radial-gradient(ellipse at top,#274132,#14271f);min-height:38px}
.announcement>a{position:absolute;right:5vw;font-size:.8125rem}
.header-inner{position:relative;min-height:156px;padding-top:22px;background:linear-gradient(90deg,#170e095e,transparent 20%,transparent 80%,#170e095e)}
.header-inner:before,.header-inner:after{content:'';position:absolute;inset:12px auto 14px 16px;width:48px;border:4px ridge #735133;box-shadow:inset 0 0 0 1px #c29d5650,inset 0 0 15px #160e09;pointer-events:none}
.header-inner:after{left:auto;right:16px}
.header-inner>.brand{gap:22px}.brand-mark{background:linear-gradient(135deg,#251a1370,#5d3c2450),var(--wood) center/300px;border:4px ridge #95703b;box-shadow:inset 0 0 0 1px #d7b97e80,0 3px 9px #0007;height:76px;width:64px;flex-basis:64px;font-size:1.7rem}
.brand strong{text-shadow:0 2px 2px #160c08,0 -1px #ebd09a33;font-size:clamp(2rem,3.2vw,3.1rem)}
.desktop-nav{margin-top:20px;padding:7px 0 10px;border-top:4px ridge #79542f;border-bottom:1px solid #d4ac6538;gap:45px}
.desktop-nav>a,.desktop-nav summary{padding:7px 10px;color:#f3e6c8;position:relative}.desktop-nav>a:hover,.desktop-nav summary:hover{background:#f4cd7820;text-shadow:0 0 15px #d8b16b}
.header-actions{margin-right:34px}.header-search{border:3px ridge #ad884d;box-shadow:inset 0 2px 7px #77532a29,0 2px 6px #10080680}
.hero{border:0;border-bottom:15px ridge #775332;box-shadow:0 4px 0 #1c120d,0 7px 0 #92653d;position:relative}
.hero-panel{min-height:580px;grid-template-columns:41% 59%;background:#152d22}
.hero-copy{padding-top:55px;padding-bottom:60px;background:radial-gradient(ellipse at 55% 25%,#2d4935 0,transparent 66%),linear-gradient(100deg,#102a20,#193629);box-shadow:inset 12px 0 28px #07140d66}
.hero-copy:before{content:'';position:absolute;inset:19px 14px 19px 20px;border:1px solid #caab6145;outline:1px solid #b48d4422;outline-offset:5px;pointer-events:none}
.hero-copy:after{inset:34px 28px;border-width:1px 0;border-color:#bb9d5750}
.hero h1{font-size:clamp(3.4rem,5.2vw,5.7rem);text-shadow:0 3px 6px #05150e6b;max-width:530px}
.hero .eyebrow{letter-spacing:.17em}.hero-subtitle{color:#e0c18a}.hero-intention{font:italic 1.3rem/1.35 var(--serif);color:#f2e7ce}
.hero-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#16302570,transparent 22%),linear-gradient(0deg,#1c110d50,transparent 25%);box-shadow:inset 0 0 22px #100d09a0}
.hero-visual>img{object-position:54% center}.paper-tag{z-index:1;bottom:32px;right:28px;border:4px double #a98e5b;box-shadow:0 7px 16px #160b0970;background:#f3e5c8f5;padding:15px 22px}
.button:not(.button-ink){border:3px double #785422;background:linear-gradient(110deg,#aa7f3e 0,#e2c38a 25%,#d0ad68 50%,#bc9452 78%,#dec18b);box-shadow:inset 0 1px 1px #fff0be,0 4px 0 #5b3e2360,0 6px 10px #160e0935;font-family:var(--serif);font-size:1.13rem;font-weight:400}
.button:not(.button-ink):hover{filter:brightness(1.08);box-shadow:inset 0 1px 1px #fff0be,0 4px 0 #5b3e2360,0 0 23px #dfc17a50;transform:translateY(-1px)}
.intro{background:radial-gradient(ellipse at top,#fffdf1,transparent 65%),#f3e8d1;border-bottom:1px solid #d4bc91}
.category-section{padding-top:40px;padding-bottom:44px;border-block:14px ridge #785536;background:linear-gradient(#2b1b1466,#0e090566),var(--wood) center/820px;box-shadow:inset 18px 0 0 #412b19,inset 20px 0 0 #987045,inset -18px 0 0 #412b19,inset -20px 0 0 #987045}
.category-section .section-heading{max-width:none;background:radial-gradient(ellipse at center,#fff9e7,#e6d5b1);border:7px double #a78654;outline:5px ridge #624122;box-shadow:0 6px 16px #120d0a90,inset 0 0 18px #b7984d20;margin-bottom:22px;padding:24px}
.category-section .section-heading .eyebrow{margin-bottom:8px}.category-section .section-heading>p{margin-top:12px;font-size:1rem}.category-section h2{font-size:clamp(2rem,3.5vw,3.3rem)}
.cabinet-invitation{text-align:center;color:#ecd5a4;font:italic 1.3rem/1.4 var(--serif);letter-spacing:.015em;margin:20px 0 25px}
.cabinet-grid{gap:20px;align-items:start;perspective:1200px;padding-bottom:20px;position:relative}
.cabinet-grid:after{content:'';position:absolute;height:15px;bottom:-8px;left:-12px;right:-12px;border-block:4px ridge #9b7042;background:#4b321f var(--wood) center/700px;box-shadow:0 8px 12px #0007;pointer-events:none}
.cabinet-slot{min-width:0;background:#190f08;border:5px ridge #715030;padding:4px;box-shadow:inset 0 0 12px #000,0 8px 12px #0006}
.category-drawer{min-width:0;position:relative;perspective:1000px}.drawer-front{position:relative;min-height:195px;list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#4e301a var(--drawer-face) center/100% 100%;cursor:pointer;border:1px solid #bb874940;box-shadow:0 3px 5px #0009;transform-origin:center top;transition:transform .35s ease,filter .35s ease,box-shadow .35s ease;padding:26px 22px 16px;color:#f3dfb6}
.drawer-front::-webkit-details-marker{display:none}.drawer-front::marker{content:''}.drawer-front:hover{filter:brightness(1.16);transform:translateY(-3px) scale(1.008);box-shadow:0 8px 14px #000a,0 0 15px #dcb45f33}.drawer-front:focus-visible{outline-color:#efd699;outline-offset:-5px}
.drawer-plaque{display:flex;align-items:center;justify-content:center;text-align:center;min-height:51px;width:100%;max-width:270px;padding:9px 17px!important;border:4px double #775322;box-shadow:inset 0 1px 1px #fff2bc,inset 0 -1px 1px #795324,0 3px 6px #140a0990;background:linear-gradient(110deg,#aa7b35,#e1c17d 20%,#d8b973 48%,#bd954d 75%,#d8b973);font:400 clamp(1.1rem,1.8vw,1.45rem)/1.18 var(--serif)!important;color:#2b2112!important;letter-spacing:-.018em;margin:0!important;position:relative}
.drawer-plaque:before,.drawer-plaque:after{content:'';position:absolute;top:calc(50% - 2px);left:4px;width:4px;height:4px;border-radius:50%;background:#866333;box-shadow:inset 0 1px #e7d095,0 1px 1px #34220e}.drawer-plaque:after{left:auto;right:4px}
.drawer-number{position:absolute;left:13px;top:8px;font:12px/1 var(--serif);color:#e0bd82;text-shadow:0 1px #26130c}
.drawer-action{margin-top:auto;padding:3px 9px;color:#faeac7;text-shadow:0 1px 3px #090503;font:14px/1.3 var(--serif);background:#1f120a99;border-radius:1px;transform:translateY(6px)}
.drawer-close-label{display:none}.category-drawer[open] .drawer-close-label{display:inline}.category-drawer[open] .drawer-open-label{display:none}.category-drawer[open] .drawer-action>span:last-child{display:none}
.category-drawer[open]>.drawer-front{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 15px #000a,0 0 22px #d7ae5745;z-index:1}.drawer-interior{background:#f4ead4;border:5px ridge #7b5b36;border-top:0;box-shadow:inset 0 0 16px #9f7c4940;animation:drawer-reveal .4s ease both;transform-origin:top center}
.drawer-interior>img{width:100%;aspect-ratio:1.75;object-fit:cover;display:block;border-bottom:1px solid #b69b6a}.drawer-description{padding:20px}.drawer-description p{font-size:1rem;line-height:1.65;color:#4b4538;margin:0 0 16px}.drawer-description .text-link{font-size:.9375rem;line-height:1.45;gap:8px;display:inline-flex;color:#234632}
.all-category-grid.cabinet-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:40px;background:linear-gradient(#26180e77,#160d0788),var(--wood) center/800px;border-block:12px ridge #715033}.all-category-grid.cabinet-grid:after{display:none}
.editorial-image{padding:8px;background:var(--wood) center/500px;border:4px ridge #89623e;box-shadow:0 13px 22px #36251540}.editorial-image img{border:4px ridge #5d3f29}.editorial-copy .eyebrow:after{content:' · ✦';color:#967039}
.values{background:radial-gradient(ellipse at top,#2c4936,#142b22);border-block:10px ridge #735333;box-shadow:inset 0 0 45px #06110b55}
.featured-section{background:radial-gradient(ellipse at 40% 35%,#fff9eb,#e9d9b9);border-bottom:9px ridge #795331}.antique-book{filter:drop-shadow(0 8px 7px #5b3b2020)}.book-viewport{background:#5d3b23 var(--wood) center/750px;box-shadow:inset 0 0 0 4px #452c1b,inset 0 0 0 6px #bc93484a,0 24px 32px #3c291847}
.collections{background:#f8efdc}.collection-list>div{border-bottom:1px solid #b994565e}.site-footer{background:linear-gradient(#170e0a35,#170e0a60),var(--wood) center/750px;border-top:15px ridge #755333;box-shadow:inset 0 2px #d3aa6550;position:relative}.site-footer:before{content:'';position:absolute;inset:13px;pointer-events:none;border:1px solid #c39b5b55}.site-footer .brand-mark{width:55px;height:65px;flex-basis:55px}.footer-bottom{border-top:4px ridge #765331;padding-top:20px}.footer-grid h2{color:#e6c990;text-shadow:0 2px #211409}
.simple-hero,.search-page,.category-hero{background:radial-gradient(ellipse at top left,#fff9ec,#f1e4c8);border-bottom:7px double #b2935e}.product-summary .eyebrow,.product-summary .sku{color:#695128}.catalog-product-card,.product-card{box-shadow:0 5px 16px #4e361421;border-color:#bea171}.product-photo{border:6px double #b59963;box-shadow:0 8px 22px #47331d21}
.magic-dust{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.magic-dust i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#ffecaf;box-shadow:0 0 5px 1px #ffe398,0 0 13px 3px #dbb26180;opacity:0;animation:enchanted-drift var(--duration) var(--delay) ease-in-out infinite}
.magic-toggle{position:absolute;right:20px;top:18px;z-index:5;display:flex;align-items:center;gap:8px;border:1px solid #d8ba7980;color:#f8e6bc;background:#172d22df;border-radius:3px;min-height:40px;padding:8px 12px;font:14px var(--sans);cursor:pointer;box-shadow:0 2px 7px #0003}.magic-toggle>span:first-child{font-size:20px;line-height:1}.magic-toggle:hover{background:#2d4932}.magic-toggle[aria-pressed=true]{color:#e8ddc6}
.magic-off .magic-dust,.magic-off .magic-spark{display:none}.magic-spark{position:absolute;pointer-events:none;z-index:4;width:4px;height:4px;border-radius:50%;background:#ffeec0;box-shadow:0 0 5px 1px #ffd87b,0 0 12px #d7a245;animation:spark-vanish 1.1s ease-out forwards}
@keyframes enchanted-drift{0%,100%{opacity:0;transform:translate(0,14px) scale(.5)}25%{opacity:.7}60%{opacity:.35}85%{opacity:.6}95%{transform:translate(18px,-40px) scale(1)}}
@keyframes spark-vanish{from{opacity:.85;transform:translate(0,0) scale(1)}to{opacity:0;transform:translate(var(--dx,10px),-45px) scale(.2)}}
@keyframes drawer-reveal{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.header-inner{max-width:1600px}.hero-copy{padding-left:70px}}
@media(max-width:1150px){.announcement>a{display:none}.header-inner:before,.header-inner:after{width:22px;inset-inline:10px auto}.header-inner:after{left:auto;right:10px}.header-actions{margin-right:14px}.hero-panel{grid-template-columns:45% 55%}.drawer-front{min-height:180px;padding:24px 16px 15px}.drawer-plaque{font-size:1.15rem!important;min-height:48px}.brand strong{font-size:2.35rem}}
@media(max-width:800px){.header-inner{padding:18px 6vw;min-height:110px}.header-inner>.brand{gap:14px}.header-inner:before,.header-inner:after{display:none}.header-actions{margin-right:0}.brand strong{font-size:1.9rem}.brand-mark{height:64px;width:52px;flex-basis:52px;font-size:1.45rem}.hero-panel{grid-template-columns:1fr}.hero-copy{padding:48px 9vw 40px}.hero h1{font-size:clamp(3.5rem,10vw,5rem)}.hero-visual{height:380px}.hero-visual>img{object-position:center}.hero-copy:before{inset:16px}.hero-copy:after{inset:24px;border-width:1px}.magic-toggle{top:auto;bottom:18px;right:18px}.paper-tag{bottom:78px;right:20px}.category-section{box-shadow:inset 10px 0 0 #412b19,inset 12px 0 0 #987045,inset -10px 0 0 #412b19,inset -12px 0 0 #987045}.cabinet-grid,.all-category-grid.cabinet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.drawer-front{min-height:185px}.drawer-plaque{font-size:1.22rem!important}.site-footer .brand strong{font-size:1.8rem}}
@media(max-width:600px){.site-header{border-top-width:6px;border-bottom-width:9px}.announcement{font-size:.8125rem;min-height:36px;border-bottom-width:4px}.header-inner{min-height:100px;padding:16px 5vw}.header-inner>.brand{gap:10px}.brand strong{font-size:1.5rem}.brand-mark{height:57px;width:43px;flex-basis:43px;font-size:1.25rem}.brand-tagline{font-size:.875rem}.hero-copy{padding:44px 9vw 36px}.hero h1{font-size:clamp(3rem,14vw,4rem);max-width:100%}.hero .eyebrow{letter-spacing:.08em}.hero-intention{font-size:1.2rem}.hero-visual{height:300px}.hero .button{padding:12px 17px}.paper-tag{padding:10px 14px;right:15px;bottom:73px}.paper-tag strong{font-size:1.1rem}.magic-toggle{right:15px;font-size:.875rem}.category-section{padding:32px 7vw 40px}.category-section .section-heading{padding:21px 16px;border-width:5px;outline-width:3px}.category-section .section-heading h2{font-size:2rem}.cabinet-invitation{font-size:1.15rem;margin:24px 0}.cabinet-grid,.all-category-grid.cabinet-grid{grid-template-columns:1fr;gap:18px}.cabinet-slot{max-width:460px;width:100%;margin:0 auto}.drawer-front{min-height:190px;aspect-ratio:1.9;padding:25px 24px 17px}.drawer-plaque{font-size:1.35rem!important;max-width:285px;min-height:50px}.drawer-description{padding:20px}.drawer-number{font-size:12px}.drawer-action{font-size:14px}.drawer-interior>img{aspect-ratio:1.9}.site-footer{padding-inline:7vw}.footer-grid{gap:32px 22px}.site-footer .brand{gap:12px}.site-footer .brand strong{font-size:1.7rem}.site-footer .brand-mark{width:43px;flex-basis:43px;height:57px}.site-footer:before{inset:9px}.footer-bottom{font-size:.875rem}.all-category-grid.cabinet-grid{padding-inline:7vw}}
@media(prefers-reduced-motion:reduce){.magic-dust,.magic-spark,.magic-toggle{display:none!important}.drawer-front,.category-drawer[open]>.drawer-front{transform:none!important}.drawer-interior{animation:none!important}}
/* Keep the original image panel and the drawer faces inside narrow columns. */
.hero-visual{width:100%;max-width:none;margin-left:0}
@media(max-width:600px){.drawer-front{width:100%;aspect-ratio:auto;min-height:190px}.header-inner .brand strong{font-size:clamp(1.22rem,6vw,1.5rem)}.brand-words{min-width:0}}
