:root{--ink:#242522;--muted:#74746e;--cream:#f5f2eb;--paper:#fbfaf7;--line:#dcd7cd;--gold:#a88443;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300}
button,input,select{font:inherit}
a{color:inherit;text-decoration:none}

/* Header */
.site-header{height:92px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;border-bottom:1px solid rgba(50,50,45,.11)}
.brand{display:flex;flex-direction:column;letter-spacing:.12em}
.brand span{font-family:"Instrument Serif",serif;font-size:1.62rem}
.brand small{font-size:.62rem;letter-spacing:.28em;margin-top:4px;color:#666}
.desktop-nav{display:flex;gap:2.2rem;align-items:center;font-size:.78rem;text-transform:uppercase}
.menu-button{display:none}

/* Hero */
.hero{height:min(850px,88vh);min-height:650px;position:relative;overflow:hidden;background:var(--cream);display:flex;align-items:center}
.hero-art{position:absolute;inset:0 0 0 28%}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:56% center}
.hero-art:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,var(--cream) 0%,rgba(245,242,235,.98) 8%,rgba(245,242,235,.88) 18%,rgba(245,242,235,.55) 31%,rgba(245,242,235,.18) 46%,rgba(245,242,235,0) 64%)}
.hero-copy{position:relative;z-index:5;width:min(610px,44vw);margin-left:6vw}
.eyebrow{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
.hero h1,.section-heading h2,.artist-copy h2{font-family:"Instrument Serif",serif;font-weight:400}
.hero h1{font-size:clamp(4rem,7vw,7rem);line-height:.9}
.primary-button{background:var(--ink);color:#fff;padding:1rem 1.4rem;display:inline-block}
.text-link{margin-left:1.5rem}

/* Stats */
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:2rem 6vw;border-bottom:1px solid var(--line);background:#fff}

/* Gallery */
.gallery-section{padding:8rem 5vw}
.section-heading{margin-bottom:3rem}
.filters{display:grid;grid-template-columns:220px 220px 1fr;gap:16px;margin-bottom:3rem}
.filters input,.filters select{border:1px solid var(--line);padding:.9rem;background:#fff}

.gallery-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
gap:56px 42px;
align-items:start;
}

.card{
display:flex;
flex-direction:column;
height:auto;
}

.card-image{
background:#ece9e2;
display:flex;
align-items:center;
justify-content:center;
padding:32px;
min-height:520px;
overflow:hidden;
border:1px solid #ddd;
}

.card-image img{
display:block;
max-width:100%;
max-height:460px;
width:auto;
height:auto;
object-fit:contain;
object-position:center;
}

.card-meta{
padding:20px 4px 24px;
border-bottom:1px solid var(--line);
}

.card-meta h3{
font-family:"Instrument Serif",serif;
font-size:1.5rem;
margin:.3rem 0;
}

.artist-section{padding:8rem 6vw;background:#eae6dd}
footer{padding:3rem 5vw;background:#242522;color:#fff}

/* Drawers */
.drawer,.basket-drawer{position:fixed;top:0;right:0;height:100%;width:min(720px,100%);background:#f7f5ef;transform:translateX(105%);transition:.3s}
.drawer.open,.basket-drawer.open{transform:translateX(0)}
.detail-image{display:flex;align-items:center;justify-content:center;padding:2rem;min-height:500px;background:#e7e3dc}
.detail-image img{max-width:100%;max-height:100%;object-fit:contain}
.basket-item img{width:90px;height:90px;object-fit:contain}

@media(max-width:900px){
.desktop-nav{display:none}
.menu-button{display:block}
.gallery-grid{grid-template-columns:1fr 1fr;gap:36px}
.card-image{min-height:360px;padding:20px}
.hero{min-height:760px}
}

@media(max-width:560px){
.gallery-grid{grid-template-columns:1fr}
.card-image{min-height:300px}
.hero h1{font-size:3.7rem}
}
