:root{--bg:#f7f3ec;--bg-alt:#efe9de;--paper:#fdfbf6;--ink:#1f1c17;--ink-soft:#4a443a;--muted:#8a8275;--rule:#d9d2c3;--gold:#a08656;--gold-dark:#7b6740;--accent:#6b2f2f;--serif:var(--font-cormorant),"Cormorant Garamond","Garamond","Georgia",serif;--sans:var(--font-inter),"Inter","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;font-feature-settings:"liga","kern"}::selection{background:var(--gold);color:var(--paper)}.site-header{background:var(--paper);border-bottom:1px solid var(--rule);padding:2.2rem 2rem 1.8rem;text-align:center;position:relative}.site-header .eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}.site-header h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,4.5vw,3.6rem);letter-spacing:.01em;margin:0;line-height:1.1}.site-header h1 em{font-style:italic;color:var(--gold-dark)}.site-header .tagline{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink-soft);margin-top:.8rem;letter-spacing:.02em}.ornament{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:1.2rem auto 0;color:var(--gold)}.ornament .line{width:60px;height:1px;background:var(--gold);opacity:.6}.ornament .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}.preamble{max-width:720px;margin:4rem auto 2rem;padding:0 2rem;text-align:center}.preamble h2{font-size:1.9rem;margin:0 0 1.2rem;letter-spacing:.01em}.preamble h2,.preamble p{font-family:var(--serif);font-weight:400}.preamble p{font-size:1.15rem;line-height:1.75;color:var(--ink-soft)}.preamble p+p{margin-top:1rem}.filter-bar{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;margin:3rem auto 2.5rem;padding:0 2rem}.filter-btn{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;background:transparent;border:1px solid var(--rule);color:var(--ink-soft);padding:.75rem 1.4rem;cursor:pointer;transition:all .25s ease;font-weight:400}.filter-btn:hover{border-color:var(--gold);color:var(--ink)}.filter-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.collection{max-width:1280px;margin:0 auto 5rem;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:3rem 2.4rem;gap:3rem 2.4rem}@media (min-width:900px){.collection{grid-template-columns:repeat(3,1fr)}}.piece{background:transparent;display:flex;flex-direction:column;cursor:pointer;transition:transform .4s ease;border:none;padding:0;text-align:left;font:inherit;color:inherit}.piece:hover{transform:translateY(-4px)}.piece:hover .piece-image{box-shadow:0 18px 40px -20px rgba(31,28,23,.35)}.piece:hover .piece-title{color:var(--gold-dark)}.piece-image{aspect-ratio:4/5;background:var(--paper);position:relative;overflow:hidden;transition:box-shadow .4s ease}.piece-image,.piece-image .frame-inner{border:1px solid var(--rule);display:flex;align-items:center;justify-content:center}.piece-image .frame-inner{position:absolute;inset:14px;flex-direction:column;padding:2rem;text-align:center}.piece-image .roman{font-family:var(--serif);font-style:italic;font-size:2.8rem;color:var(--gold);font-weight:400;letter-spacing:.05em;line-height:1;margin-bottom:1.2rem}.piece-image .placeholder-label{font-family:var(--sans);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.piece-image svg.motif{width:72px;height:72px;color:var(--gold);opacity:.85;margin-bottom:1.2rem}.piece-image.has-photo{background:var(--ink)}.piece-image .piece-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.piece:hover .piece-photo{transform:scale(1.02)}.piece-meta{padding:1.2rem .2rem 0;text-align:left}.piece-category{font-family:var(--sans);font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}.piece-title{font-family:var(--serif);font-size:1.5rem;font-weight:500;line-height:1.25;margin:0 0 .3rem;color:var(--ink);transition:color .25s ease}.piece-origin{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink-soft);margin-bottom:.8rem}.piece-price{font-family:var(--sans);font-size:.85rem;letter-spacing:.08em;color:var(--ink);font-weight:500}.modal-backdrop{position:fixed;inset:0;background:rgba(31,28,23,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:2rem;opacity:1;transition:opacity .3s ease}.modal{background:var(--paper);max-width:980px;width:100%;max-height:92vh;overflow-y:auto;display:grid;grid-template-columns:1fr;position:relative;box-shadow:0 30px 70px -30px rgba(0,0,0,.5)}@media (min-width:800px){.modal{grid-template-columns:1.1fr 1fr}}.modal-image{background:var(--bg-alt);min-height:340px;padding:3rem;position:relative}.modal-image,.modal-image .frame-inner{display:flex;align-items:center;justify-content:center}.modal-image .frame-inner{position:absolute;inset:24px;border:1px solid var(--rule);flex-direction:column;padding:2rem}.modal-image .roman{font-family:var(--serif);font-style:italic;font-size:4.4rem;color:var(--gold);line-height:1;margin-bottom:1rem}.modal-image svg.motif{width:100px;height:100px;color:var(--gold);margin-bottom:1rem}.modal-image .placeholder-label{font-family:var(--sans);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.modal-image.has-photo{padding:0;background:var(--ink);flex-direction:column;justify-content:flex-start}.modal-image .modal-photo{width:100%;flex:1 1 auto;min-height:0;max-height:75vh;object-fit:contain;background:var(--ink);display:block}.modal-image .modal-thumbs{display:flex;gap:.6rem;padding:.8rem;background:var(--paper);border-top:1px solid var(--rule);justify-content:center;flex-wrap:wrap}.modal-image .modal-thumb{width:64px;height:64px;padding:0;border:1px solid var(--rule);background:var(--ink);cursor:pointer;overflow:hidden;transition:border-color .2s ease,transform .2s ease}.modal-image .modal-thumb img{width:100%;height:100%;object-fit:cover;display:block}.modal-image .modal-thumb:hover{border-color:var(--gold)}.modal-image .modal-thumb.is-active{border-color:var(--gold-dark);box-shadow:0 0 0 2px var(--gold) inset}.modal-body .artist{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--gold-dark);margin:-.1rem 0 .5rem;letter-spacing:.01em}.modal-body{padding:3rem 2.5rem}.modal-body .category{font-family:var(--sans);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem}.modal-body h2{font-family:var(--serif);font-weight:500;font-size:2rem;margin:0 0 .5rem;line-height:1.2}.modal-body .origin{font-style:italic;font-size:1.15rem;margin-bottom:1.6rem}.modal-body .description,.modal-body .origin{font-family:var(--serif);color:var(--ink-soft)}.modal-body .description{font-size:1.08rem;line-height:1.75}.modal-body .specs{display:grid;grid-template-columns:auto 1fr;grid-gap:.6rem 1.4rem;gap:.6rem 1.4rem;margin-top:1.6rem;font-size:.88rem}.modal-body .specs dt{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:400;padding-top:.15rem}.modal-body .specs dd{margin:0;font-family:var(--serif);font-size:1rem;color:var(--ink)}.modal-body .price-block{margin-top:2rem;padding:1.2rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.modal-body .price-label{font-family:var(--sans);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.modal-body .price{font-family:var(--serif);font-size:1.6rem;color:var(--ink)}.inquiry-btn{display:inline-block;margin-top:1.8rem;background:var(--ink);color:var(--paper);text-decoration:none;padding:1rem 1.8rem;font-family:var(--sans);font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;transition:background .25s ease;border:none;cursor:pointer;width:100%;text-align:center;box-sizing:border-box}.inquiry-btn:hover{background:var(--gold-dark)}.close-btn{position:absolute;top:1rem;right:1rem;background:var(--paper);border:1px solid var(--rule);width:36px;height:36px;cursor:pointer;font-family:var(--serif);font-size:1.3rem;color:var(--ink-soft);z-index:10;transition:all .25s ease;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}body.modal-open{overflow:hidden}.impressions{max-width:960px;margin:1rem auto 5rem}.impressions-head{margin-bottom:2rem}.impressions-head .ornament{margin-bottom:.9rem}.impressions-head h2{font-weight:300;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.impressions-grid{grid-gap:1rem;gap:1rem}@media (min-width:700px){.impressions-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem}}.impression img{filter:saturate(.85) contrast(.96);transition:transform .8s ease,filter .4s ease}.impression:hover img{filter:saturate(1) contrast(1)}.impressions-caption{margin:1.6rem auto 0;max-width:600px;font-size:.95rem}.further{max-width:720px;margin:0 auto 4rem;padding:1rem 2rem 2rem;text-align:center}.further-head{text-align:center;margin-bottom:1.6rem}.further-head .ornament{margin-bottom:.9rem}.further-head h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}.further-text{font-family:var(--serif);font-size:1.08rem;line-height:1.75;color:var(--ink-soft);margin:0 0 1.8rem}.further-link{display:inline-block;font-family:var(--serif);font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none;padding-bottom:.2rem;border-bottom:1px solid var(--gold);transition:color .2s,border-color .2s}.further-link:focus,.further-link:hover{color:var(--gold-dark);border-bottom-color:var(--gold-dark)}.site-footer{background:var(--paper);border-top:1px solid var(--rule);padding:4rem 2rem 3rem;text-align:center}.site-footer .ornament{margin-bottom:1.5rem}.site-footer h3{font-family:var(--serif);font-weight:500;font-size:1.6rem;margin:0 0 .8rem}.site-footer p{font-family:var(--serif);font-style:italic;color:var(--ink-soft);margin:0 auto 1.2rem;max-width:560px;font-size:1.05rem}.site-footer a.email{font-family:var(--serif);font-size:1.25rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;transition:color .25s ease}.site-footer a.email:hover{color:var(--gold-dark)}.site-footer .fineprint{margin-top:3rem;font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.impressions{max-width:1280px;margin:2rem auto 5rem;padding:0 2rem}.impressions-head{text-align:center;margin-bottom:2.4rem}.impressions-head .ornament{margin-bottom:1.2rem}.impressions-head h2{font-family:var(--serif);font-weight:400;font-style:italic;font-size:1.8rem;letter-spacing:.03em;color:var(--ink);margin:0}.impressions-grid{display:grid;grid-template-columns:1fr;grid-gap:1.4rem;gap:1.4rem}@media (min-width:700px){.impressions-grid{grid-template-columns:repeat(3,1fr);gap:1.6rem}}.impression{margin:0;background:var(--paper);border:1px solid var(--rule);overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.impression img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}.impression:hover img{transform:scale(1.02)}.impressions-caption{margin:2rem auto 0;max-width:640px;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.02rem;color:var(--muted);letter-spacing:.01em}.site-footer .legal-nav{margin-top:1.4rem;display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap}.site-footer .legal-nav button{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);background:transparent;border:none;padding:.25rem .1rem;cursor:pointer;transition:color .2s ease}.site-footer .legal-nav button:focus-visible,.site-footer .legal-nav button:hover{color:var(--gold-dark);outline:none}.site-footer .legal-nav .legal-sep{color:var(--rule);font-size:.7rem}.modal.modal-text-only{grid-template-columns:1fr;max-width:720px}@media (min-width:800px){.modal.modal-text-only{grid-template-columns:1fr}}.modal-body.legal-body{padding:3.5rem 2.8rem 3rem;max-height:80vh;overflow-y:auto}.modal-body.legal-body h2{font-family:var(--serif);font-weight:500;font-size:1.9rem;margin:0 0 1.6rem;line-height:1.2}.modal-body.legal-body .legal-content{font-family:var(--serif);font-size:1.02rem;line-height:1.7;color:var(--ink-soft);white-space:pre-line}.modal-photo.is-zoomable{cursor:zoom-in}.lightbox-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:2rem;cursor:zoom-out;animation:lightbox-fade .25s ease-out}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;box-shadow:0 20px 60px -20px rgba(0,0,0,.8);cursor:default}.lightbox-close{position:absolute;top:1.2rem;right:1.2rem;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.35);color:hsla(0,0%,100%,.85);width:44px;height:44px;font-family:var(--serif);font-size:1.6rem;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:2}.lightbox-close:hover{background:hsla(0,0%,100%,.2);color:#fff;border-color:hsla(0,0%,100%,.65)}.piece-page{min-height:100vh;background:var(--bg);padding:2.5rem 2rem 6rem}.piece-page-back{display:inline-block;font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:2.5rem;transition:color .2s ease;border-bottom:1px solid transparent}.piece-page-back:hover{color:var(--gold-dark);border-bottom-color:var(--gold)}.piece-page .modal{position:static;max-width:980px;margin:0 auto;box-shadow:0 20px 60px -30px rgba(0,0,0,.25)}.piece-page .modal-body h1{font-family:var(--serif);font-weight:500;font-size:2rem;margin:0 0 .5rem;line-height:1.2}@media (max-width:799px){.piece-page{padding:1.5rem 1rem 4rem}.piece-page-back{margin-bottom:1.5rem}}.piece-wrapper{display:flex;flex-direction:column}.piece-wrapper .piece{flex:1 1}.piece-permalink{display:block;margin-top:.6rem;padding:.2rem;font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;text-align:right;transition:color .2s ease;border-bottom:none}.piece-permalink:hover{color:var(--gold-dark)}.piece-page .modal-image.has-photo{background:var(--ink);display:flex;flex-direction:column;padding:0;align-self:start}.piece-gallery{width:100%;display:flex;flex-direction:column}.piece-gallery-main{display:flex;align-items:center;justify-content:center;background:var(--ink);padding:0}.piece-gallery-photo{width:100%;height:auto;object-fit:cover;display:block;background:var(--ink);padding:0}.piece-page .modal-thumbs{width:100%;display:flex;gap:.6rem;padding:.8rem;background:var(--paper);border-top:1px solid var(--rule);justify-content:center;flex-wrap:wrap}.piece-page .modal-thumb{width:64px;height:64px;border:1px solid hsla(0,0%,100%,.2);background:var(--ink);overflow:hidden;cursor:pointer;transition:border-color .2s ease}.piece-page .modal-thumb:hover{border-color:var(--gold)}.piece-page .modal-thumb.is-active{border-color:var(--gold-dark);box-shadow:0 0 0 2px var(--gold) inset}.piece-page .modal-thumb img{width:100%;height:100%;object-fit:cover;display:block}.piece-reserved-badge{top:1rem;left:1rem;background:var(--ink);color:var(--paper);font-size:.62rem;padding:.35rem .75rem;border:1px solid var(--gold)}.piece-auction-badge,.piece-reserved-badge{position:absolute;z-index:2;font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase}.piece-auction-badge{top:.9rem;right:.9rem;background:transparent;color:#e8001c;font-size:.72rem;padding:.5rem 1rem;text-decoration:none;border-top:1px solid #e8001c;border-bottom:1px solid #e8001c;transition:all .2s ease}.piece-auction-badge:hover{color:#b50015;border-top-color:#b50015;border-bottom-color:#b50015}.piece-sold-badge{position:absolute;top:1rem;left:1rem;z-index:2;background:var(--muted);color:var(--paper);font-family:var(--sans);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;padding:.35rem .75rem}