*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1c1917;background:#fafaf9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.site-header{text-align:center;border-bottom:1px solid #e7e5e4;margin-bottom:2rem;padding:3rem 1rem 1.5rem}.site-header .header-inner{max-width:1200px;margin:0 auto;position:relative}.site-header h1{letter-spacing:-.02em;font-size:clamp(1.5rem,4vw,2rem);font-weight:400}.site-header p{color:#78716c;margin-top:.5rem;font-size:1rem}.header-links{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:.75rem;display:flex}.header-link{color:#78716c;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.25rem 0;font-family:inherit;font-size:.85rem;transition:color .2s}.header-link:hover{color:#1c1917}@media (max-width:480px){.header-links{gap:.75rem}.header-link{font-size:.8rem}}#filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;max-width:1200px;margin:0 auto 1.5rem;padding:0 1rem;display:flex}.filter-btn{cursor:pointer;color:#44403c;background:#fff;border:1px solid #d6d3d1;border-radius:999px;padding:.4rem 1rem;font-family:inherit;font-size:.85rem;transition:all .2s}.filter-btn:hover{background:#f5f5f4;border-color:#a8a29e}.filter-btn.active{color:#fff;background:#1c1917;border-color:#1c1917}#search-input{background:#fff;border:1px solid #d6d3d1;border-radius:999px;outline:none;flex:1;min-width:180px;padding:.4rem .75rem;font-family:inherit;font-size:.85rem}#search-input:focus{border-color:#78716c}#gallery-container{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 1rem;display:grid}.art-card{cursor:pointer;background:#fff;border:1px solid #e7e5e4;border-radius:.75rem;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 1px 3px #0000000f}.art-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #00000014}.thumb-wrapper{background:linear-gradient(90deg,#eee 25%,#e2e0dd 50%,#eee 75%) 0 0/200% 100%;width:100%;height:auto;min-height:120px;animation:1.8s infinite shimmer;position:relative;overflow:hidden}.thumb-wrapper .gallery-img{object-fit:cover}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-landscape .thumb-wrapper{aspect-ratio:4/3!important}.card-portrait .thumb-wrapper{aspect-ratio:3/4!important}.card-square .thumb-wrapper{aspect-ratio:1!important}.art-card h3{margin:.75rem .75rem .15rem;font-size:.95rem;font-weight:500}.art-card .meta{color:#78716c;margin:0 .75rem .5rem;font-size:.8rem}.art-card .status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin:0 .75rem .75rem;padding:.15rem .6rem;font-size:.7rem;font-weight:500;display:inline-block}.art-card .status-badge.sold{color:#991b1b;background:#fecaca}.art-card .status-badge.nfs{color:#1e40af;background:#dbeafe}#lightbox{z-index:9999;display:none;position:fixed;inset:0}#lightbox.open{display:block}#lightbox-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;position:absolute;inset:0}#lightbox-content{background:#fff;border-radius:1rem;max-width:760px;max-height:90vh;margin:5vh auto;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040}.lightbox-inner img.art-large{border-radius:.5rem;width:100%;height:auto;margin-bottom:1.25rem}.lightbox-inner h2{margin-bottom:.35rem;font-size:1.4rem;font-weight:500}.lightbox-inner .lb-detail{color:#78716c;margin-bottom:.25rem;font-size:.9rem}.lightbox-inner .lb-price{margin-top:.75rem;font-size:1.15rem;font-weight:600}.lightbox-inner .lb-note{color:#78716c;border-top:1px solid #e7e5e4;margin-top:.5rem;padding-top:.75rem;font-size:.85rem}.lb-enquire{color:#fff;cursor:pointer;background:#1c1917;border:none;border-radius:999px;margin-top:.75rem;padding:.5rem 1.25rem;font-size:.85rem;transition:background .2s}.lb-enquire:hover{background:#44403c}.lb-close{color:#fff;cursor:pointer;background:#1c1917;border:none;border-radius:999px;margin-top:1rem;padding:.5rem 1.25rem;font-size:.85rem;transition:background .2s}.lb-close:hover{background:#44403c}#gallery-empty{text-align:center;color:#a8a29e;grid-column:1/-1;padding:4rem 1rem}#commission-modal{z-index:9999;display:none;position:fixed;inset:0}#commission-modal.open{display:block}.cm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;position:absolute;inset:0}.cm-content{background:#fff;border-radius:1rem;max-width:600px;max-height:90vh;margin:5vh auto;padding:2rem 2rem 1.5rem;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040}.cm-content h2{margin-bottom:.35rem;font-size:1.3rem;font-weight:500;line-height:1.3}.cm-content .cm-sub{color:#78716c;margin-bottom:.5rem;font-size:.9rem}.cm-content .cm-mediums{color:#78716c;border-bottom:1px solid #e7e5e4;margin-bottom:1.25rem;padding-bottom:1rem;font-size:.85rem}.cm-content .cm-mediums strong{color:#1c1917}.cm-form{flex-direction:column;gap:.75rem;display:flex}.cm-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.cm-row.full{grid-template-columns:1fr}.cm-form label{color:#44403c;margin-bottom:.2rem;font-size:.8rem;font-weight:500;display:block}.cm-form input,.cm-form select,.cm-form textarea{background:#fff;border:1px solid #d6d3d1;border-radius:.35rem;outline:none;width:100%;padding:.5rem .65rem;font-family:inherit;font-size:.85rem}.cm-form input:focus,.cm-form select:focus,.cm-form textarea:focus{border-color:#78716c}.cm-form textarea{resize:vertical;min-height:80px}.cm-actions{gap:.5rem;margin-top:.5rem;display:flex}.cm-actions button{cursor:pointer;border:1px solid #d6d3d1;border-radius:.5rem;padding:.55rem 1.25rem;font-size:.85rem;transition:all .2s}.cm-actions button.primary{color:#fff;background:#1c1917;border-color:#1c1917}.cm-actions button.primary:hover{background:#44403c}.cm-actions button.secondary{background:#fff}.cm-actions button.secondary:hover{background:#f5f5f4}@media (max-width:640px){#gallery-container{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:0 .75rem}.site-header{padding:2rem .75rem 1rem}#filter-bar{gap:.35rem;padding:0 .75rem}#lightbox-content{margin:2vh .75rem;padding:1rem}.lightbox-inner h2{font-size:1.15rem}#commission-modal .cm-content{margin:2vh .75rem;padding:1.25rem}.cm-row{grid-template-columns:1fr}}@media (max-width:400px){#gallery-container{grid-template-columns:1fr}}.toast{color:#fff;opacity:0;pointer-events:none;z-index:999;background:#1c1917;border-radius:.5rem;padding:.75rem 1.25rem;font-size:.85rem;transition:all .3s;position:fixed;bottom:1.5rem;right:1.5rem;transform:translateY(10px);box-shadow:0 4px 12px #00000026}.toast.show{opacity:1;transform:translateY(0)}.admin-container{max-width:900px;margin:0 auto;padding:2rem 1rem}.admin-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-header h1{font-size:1.5rem;font-weight:500}.admin-header button{cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.admin-header button:hover{background:#f5f5f4;border-color:#a8a29e}.toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.toolbar button{cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.toolbar button:hover{background:#f5f5f4;border-color:#a8a29e}.toolbar button.primary{color:#fff;background:#1c1917;border-color:#1c1917}.toolbar button.primary:hover{background:#44403c}.toolbar button.danger{color:#dc2626;border-color:#fca5a5}.toolbar button.danger:hover{background:#fef2f2}.art-row{background:#fff;border:1px solid #e7e5e4;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:flex}.art-row .thumb{object-fit:cover;background:#e7e5e4;border-radius:.35rem;width:50px;height:50px}.art-row .info{flex:1;min-width:140px}.art-row .info strong{font-size:.9rem;display:block}.art-row .info span{color:#78716c;font-size:.8rem}.art-row .actions{flex-wrap:wrap;gap:.35rem;display:flex}.art-row .actions button{cursor:pointer;background:#fafaf9;border:1px solid #d6d3d1;border-radius:.35rem;padding:.3rem .6rem;font-size:.75rem;transition:all .15s}.art-row .actions button:hover{background:#f5f5f4}.form-section{background:#fff;border:1px solid #e7e5e4;border-radius:.5rem;margin-bottom:1rem;padding:1.25rem}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-grid .full{grid-column:1/-1}.form-grid label{color:#44403c;margin-bottom:.25rem;font-size:.8rem;font-weight:500;display:block}.form-grid input,.form-grid select{background:#fff;border:1px solid #d6d3d1;border-radius:.35rem;outline:none;width:100%;padding:.45rem .6rem;font-size:.85rem}.form-grid input:focus,.form-grid select:focus{border-color:#78716c}.subjects-grid{flex-wrap:wrap;gap:.4rem;padding-top:.25rem;display:flex}.subjects-grid label{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fafaf9;border:1px solid #d6d3d1;border-radius:.35rem;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.8rem;font-weight:400;transition:all .15s;display:inline-flex}.subjects-grid label:hover{border-color:#a8a29e}.subjects-grid label:has(input:checked){color:#fff;background:#1c1917;border-color:#1c1917}.photo-btn{cursor:pointer;color:#44403c;background:#fafaf9;border:1px solid #d6d3d1;border-radius:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;transition:all .15s}.photo-btn:hover{background:#f5f5f4;border-color:#a8a29e}.form-actions{gap:.5rem;margin-top:1rem;display:flex}.form-actions button{cursor:pointer;border:1px solid #d6d3d1;border-radius:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.form-actions button.primary{color:#fff;background:#1c1917;border-color:#1c1917}.form-actions button.primary:hover{background:#44403c}.form-actions button.secondary{background:#fff}.form-actions button.secondary:hover{background:#f5f5f4}.admin-login{text-align:center;max-width:360px;margin:20vh auto}.admin-login h1{margin-bottom:.5rem;font-size:1.5rem;font-weight:500}.admin-login p{color:#78716c;margin-bottom:1rem;font-size:.85rem}.admin-login input{text-align:center;letter-spacing:.3em;border:1px solid #d6d3d1;border-radius:.5rem;outline:none;width:100%;padding:.6rem;font-size:1.25rem}.admin-login input:focus{border-color:#1c1917}.admin-login .error{color:#dc2626;margin-top:.5rem;font-size:.8rem}.tabs{border-bottom:1px solid #e7e5e4;gap:0;margin-bottom:1.5rem;display:flex}.tab{cursor:pointer;color:#78716c;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.6rem 1.25rem;font-family:inherit;font-size:.9rem;transition:all .2s}.tab:hover{color:#1c1917}.tab.active{color:#1c1917;border-bottom-color:#1c1917;font-weight:500}.about-page{max-width:700px;margin:0 auto;padding:2rem 1rem}.about-page .back-link{color:#78716c;margin-bottom:1.5rem;font-size:.9rem;display:inline-block}.about-page .back-link:hover{color:#1c1917}.about-page h1{margin-bottom:1.5rem;font-size:1.8rem;font-weight:500}.about-image{margin-bottom:1.5rem}.about-story{color:#44403c;margin-bottom:1rem;font-size:1rem;line-height:1.7}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.art-row{flex-direction:column;align-items:stretch}.art-row .actions{justify-content:flex-end}}.artwork-page{max-width:900px;margin:0 auto;padding:2rem 1rem}.artwork-page .back-link{color:#78716c;margin-bottom:1.5rem;font-size:.9rem;display:inline-block}.artwork-page .back-link:hover{color:#1c1917}.artwork-img-wrap{border-radius:.75rem;width:100%;margin-bottom:2rem;position:relative;overflow:hidden}.artwork-img-wrap .artwork-main{object-fit:contain}.artwork-page h1{margin-bottom:.5rem;font-size:2rem;font-weight:500}.artwork-page .artwork-detail{color:#78716c;margin-bottom:.5rem;font-size:1rem}.artwork-page .artwork-price{margin:1rem 0;font-size:1.5rem;font-weight:600}.artwork-page .artwork-note{color:#78716c;border-top:1px solid #e7e5e4;margin-top:1rem;padding-top:1rem;font-size:.9rem}.share-row{gap:.5rem;margin-top:1rem;display:flex}.share-row button{cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:.35rem;padding:.4rem .8rem;font-size:.8rem;transition:all .15s}.share-row button:hover{background:#f5f5f4}
