:root{--ink:#301d29;--muted:#655a60;--accent:#a66c7e;--line:#e9d9df;--paper:#fffdfb;--soft:#faf5f5;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.6}button,a{font:inherit}a{color:var(--accent)}a:hover{text-decoration:none}main{max-width:var(--max);margin:auto;padding:0 28px 70px}.masthead{text-align:center;padding:70px 16px 50px}.monogram{font-family:'Brush Script MT','Segoe Script',cursive;font-size:58px;font-style:italic;line-height:1.1;color:var(--ink)}.masthead h1{font-size:clamp(36px,5vw,62px);line-height:1.12;letter-spacing:-.025em;font-weight:400;margin:12px 0 8px}.subtitle{font-family:Arial,sans-serif;letter-spacing:.36em;font-size:clamp(10px,1.25vw,14px);text-transform:uppercase}.accent-rule{width:68px;height:2px;background:var(--accent);margin:24px auto 0}.about{text-align:center;max-width:880px;margin:0 auto 110px}.section-heading{text-align:center;font-weight:400;font-size:clamp(29px,3vw,39px);line-height:1.2;margin:0 0 15px}.section-heading:after{content:'';display:block;width:72px;height:1px;background:var(--accent);margin:16px auto 0}.about p{margin:12px 0;font-size:17px}.portfolio-section{margin:0 0 112px}.portfolio-section h2{text-align:center;font-size:clamp(29px,3vw,39px);font-weight:400;line-height:1.2;margin:0 0 14px}.portfolio-section h2:after{content:'';display:block;width:76px;height:1px;background:var(--accent);margin:16px auto 0}.section-description{text-align:center;max-width:830px;margin:0 auto 34px;color:var(--muted);font-size:17px}.empty-gallery{grid-column:1/-1;text-align:center;color:var(--muted);font-style:italic}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}.artwork{width:100%;border:0;padding:0;margin:0;background:transparent;cursor:zoom-in;text-align:left;display:block}.artwork img{display:block;width:100%;height:auto;border-radius:5px;box-shadow:0 2px 14px #321c2410}.artwork:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:5px}.placeholder{width:100%;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;border:1px dashed #d8bdc5;background:linear-gradient(135deg,#fcf7f7,#f5ebee);border-radius:5px;color:#9b7582;font:14px/1.5 Arial,sans-serif;overflow-wrap:anywhere}.artwork[data-missing="true"]{cursor:default}.contact{text-align:center;border-top:1px solid var(--line);padding-top:70px}.contact p{font-size:17px}.contact-links{display:flex;justify-content:center;gap:20px 40px;flex-wrap:wrap;margin:25px 0 55px}.shops{background:var(--soft);padding:30px 32px 38px;border-radius:8px}.shops h3{text-align:center;font-size:28px;font-weight:400;margin:0 0 24px}.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.shop{border-left:1px solid #d7bbc4;padding-left:17px;font-family:Arial,sans-serif;font-size:14px;line-height:1.5}.shop strong{display:block;color:var(--ink);font-family:Georgia,serif;font-size:18px;font-weight:400}.shop span{display:block;color:var(--muted);margin:5px 0}.footer{text-align:center;font:13px/1.5 Arial,sans-serif;color:var(--muted);padding:28px 16px 35px}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;background:rgba(20,12,18,.94);z-index:1000;display:flex;align-items:center;justify-content:center;padding:50px 75px 65px}.lightbox figure{margin:0;max-width:100%;text-align:center}.lightbox img{max-width:100%;max-height:calc(100vh - 130px);object-fit:contain;display:block;margin:auto}.lightbox figcaption{color:#eee;font:14px Arial,sans-serif;margin-top:14px}.lightbox button{position:absolute;background:transparent;color:#fff;border:0;cursor:pointer;font:38px Arial,sans-serif;padding:10px 16px}.lightbox .close{top:12px;right:20px}.lightbox .prev{left:12px;top:50%;transform:translateY(-50%)}.lightbox .next{right:12px;top:50%;transform:translateY(-50%)}.lightbox button:focus-visible{outline:2px solid #fff}body.modal-open{overflow:hidden}
@media(max-width:850px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-section{margin-bottom:85px}.about{margin-bottom:85px}}
@media(max-width:480px){main{padding:0 17px 40px}.masthead{padding:48px 12px 43px}.monogram{font-size:48px}.subtitle{letter-spacing:.22em}.gallery{gap:12px}.placeholder{font-size:12px;padding:8px}.portfolio-section{margin-bottom:70px}.about{margin-bottom:75px}.section-description,.about p{font-size:16px}.shop-grid{grid-template-columns:1fr}.shops{padding:25px 20px}.lightbox{padding:55px 15px 70px}.lightbox img{max-height:calc(100vh - 160px)}.lightbox .prev,.lightbox .next{top:auto;bottom:8px;transform:none}.lightbox .prev{left:25%}.lightbox .next{right:25%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
