@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/jost-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/jost-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --bg:#15120f; --bg2:#1c1814; --ink:#ede4d4; --muted:#a3978a; --faint:#6f655a;
  --gold:#e2b46a; --gold-dim:#b98f4f; --line:rgba(237,228,212,.12);
  --serif:"Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:clamp(1.1rem,4vw,3.5rem); --max:1480px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.02rem/1.65 var(--sans);letter-spacing:.01em;
  background-image:radial-gradient(1200px 700px at 70% -10%,rgba(226,180,106,.07),transparent 60%)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:rgba(226,180,106,.5);text-underline-offset:.2em}
a:hover{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:.005em;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.8rem)}
h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#111;padding:.5rem 1rem;z-index:100}
.skip:focus{left:1rem}
.eyebrow{font:500 .74rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 1.2rem}
.eyebrow a{text-decoration:none}
.muted{color:var(--muted)}

/* header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem var(--pad);max-width:var(--max);margin:0 auto;position:relative;z-index:5}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand-name{font:500 1.7rem/1 var(--serif);letter-spacing:.02em}
.brand-sub{font:500 .62rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-top:.45rem}
.site-header nav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(1rem,2.2vw,2.2rem)}
.site-header nav a{text-decoration:none;font:500 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:.5rem 0;border-bottom:1px solid transparent}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--ink);border-bottom-color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);width:44px;height:44px;cursor:pointer}
.bars,.bars::before,.bars::after{display:block;width:24px;height:1.5px;background:currentColor;margin:auto;position:relative;transition:.2s}
.bars::before,.bars::after{content:"";position:absolute}
.bars::before{top:-7px}.bars::after{top:7px}
@media (max-width:960px){
  .nav-toggle{display:block}
  .js .site-header nav{position:absolute;top:100%;left:0;right:0;background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:none}
  .js .site-header nav.open{display:block}
  .site-header nav ul{flex-direction:column;gap:0;padding:.5rem var(--pad) 1rem}
  .site-header nav a{display:block;padding:.9rem 0;font-size:.85rem}
  html:not(.js) .site-header{flex-wrap:wrap} html:not(.js) .nav-toggle{display:none}
  html:not(.js) .site-header nav ul{flex-direction:row;flex-wrap:wrap;gap:.2rem 1.2rem;padding:0}
}

/* buttons */
.btn{display:inline-block;font:500 .78rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  padding:1.05rem 1.6rem;background:var(--gold);color:#17120c;border:1px solid var(--gold);transition:.2s}
.btn:hover{background:#f0c97f;color:#17120c}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(237,228,212,.35)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
.more{font:500 .76rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--gold)}

/* the "lit wall": paintings sit in a pool of warm light */
.wall{position:relative;isolation:isolate}
.wall::before{content:"";position:absolute;inset:-12% -10%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,214,150,.13),rgba(255,214,150,.04) 60%,transparent)}
img.lit{box-shadow:0 2px 0 rgba(255,240,215,.05),0 28px 60px -18px rgba(0,0,0,.85),0 10px 22px -10px rgba(0,0,0,.6)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;
  max-width:var(--max);margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) var(--pad) clamp(3rem,7vw,6rem)}
.hero-art img{max-height:78vh;width:auto;margin:0 auto}
.hero-cap{font:italic 400 1rem/1.4 var(--serif);color:var(--muted);text-align:center;margin:1.4rem 0 0}
.hero-cap a{text-decoration:none}
.hero-text h1{font-size:clamp(3rem,7vw,6rem);font-weight:400;margin-bottom:.35em}
.lede{font:400 clamp(1.25rem,1.9vw,1.6rem)/1.45 var(--serif);color:#d9cfbf;max-width:28ch;margin:0 0 2.2rem}
.ctas{display:flex;gap:1rem;flex-wrap:wrap}

/* quote */
.quote{padding:clamp(4rem,9vw,8rem) var(--pad);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:radial-gradient(600px 260px at 50% 50%,rgba(226,180,106,.09),transparent 70%)}
.quote blockquote{margin:0 auto;max-width:900px}
.quote p{font:italic 400 clamp(1.5rem,3.1vw,2.5rem)/1.32 var(--serif);margin:0 0 1.4rem}
.quote footer{font:500 .74rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.small-quote{margin-top:4rem}

/* bands */
.band{max-width:var(--max);margin:0 auto;padding:clamp(3.5rem,7vw,6rem) var(--pad) 0}
.band-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2.2rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.band-head h2{margin:0}
.row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem);align-items:end}
.card{text-decoration:none;display:block}
.card-art{display:flex;align-items:flex-end;justify-content:center;aspect-ratio:1/1}
.card-art img{max-height:100%;width:auto;object-fit:contain}
.card-cap{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:1.6rem;gap:.15rem}
.t{font:500 1.35rem/1.2 var(--serif);color:var(--ink)}
.d{font-size:.82rem;color:var(--muted);letter-spacing:.04em}
.s{font-size:.82rem;color:var(--gold);letter-spacing:.06em}
.s.sold{color:var(--faint)}
.card:hover .t{color:var(--gold)}

/* justified grid: each tile grows in proportion to its aspect ratio, nothing is cropped */
.justified{display:flex;flex-wrap:wrap;gap:2.6rem clamp(1rem,2vw,1.8rem)}
.justified::after{content:"";flex-grow:999}
.tile{margin:0;flex:var(--ar) 1 calc(var(--ar) * 15rem);min-width:0}
.justified.wide .tile{flex-basis:calc(var(--ar) * 17rem)}
.tile .frame{display:block;overflow:hidden;background:#221d18}
.tile img{width:100%;aspect-ratio:var(--ar);object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s}
.tile .frame:hover img{transform:scale(1.025);filter:brightness(1.06)}
.tile figcaption{display:flex;flex-direction:column;margin-top:.75rem;gap:.05rem}
.tile .t{font-size:1.15rem}
.tile .d,.tile .s{font-size:.76rem}
.tile[hidden]{display:none}
.archive .tile{flex-basis:calc(var(--ar) * 13rem)}
@media (max-width:600px){
  .justified{gap:1.8rem .9rem}
  .tile,.justified.wide .tile{flex-basis:calc(var(--ar) * 9rem)}
  .archive .tile{flex-basis:calc(var(--ar) * 8rem)}
}

/* page heads */
.page-head{max-width:var(--max);margin:0 auto;padding:clamp(2rem,6vw,5rem) var(--pad) clamp(2rem,4vw,3rem)}
.page-head .intro{font:400 clamp(1.15rem,1.7vw,1.4rem)/1.5 var(--serif);color:#d4cab9;max-width:52ch;margin:0 0 1.6rem}
.page-head h1{margin-bottom:.3em}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2rem}
.filters button{font:500 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;background:none;color:var(--muted);
  border:1px solid var(--line);padding:.8rem 1.1rem;cursor:pointer}
.filters button span{color:var(--faint);margin-left:.35rem}
.filters button[aria-pressed="true"]{color:var(--ink);border-color:var(--gold)}
html:not(.js) .filters{display:none}
#grid,.archive{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.notes{max-width:var(--max);margin:5rem auto 0;padding:2.5rem var(--pad) 0;border-top:1px solid var(--line);color:var(--muted)}
.notes h2{font-size:1.6rem;color:var(--ink)}
.notes ul{padding-left:1.1rem;margin:0 0 1rem}

/* detail */
.detail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;
  max-width:var(--max);margin:0 auto;padding:clamp(1rem,3vw,3rem) var(--pad) 2rem;min-height:calc(100vh - 110px)}
.detail-art img{max-height:82vh;width:auto;margin:0 auto}
.detail-info h1{font-size:clamp(2.4rem,4.2vw,3.6rem)}
.detail-info .note{font:italic 1.2rem/1.4 var(--serif);color:var(--muted);margin:-.4rem 0 1rem}
.detail-info dl{margin:1.8rem 0 2.2rem;border-top:1px solid var(--line)}
.detail-info dl div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.detail-info dt{font:500 .72rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.detail-info dd{margin:0;text-align:right}
.detail-info dd.price{font:500 1.5rem/1 var(--serif);color:var(--gold)}
.detail-info dd.sold{color:var(--muted)}
.small{font-size:.82rem;color:var(--faint);margin-top:1.4rem}
.pn{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.85rem}
.pn a{text-decoration:none;color:var(--muted)} .pn a:hover{color:var(--gold)}

/* about */
.about,.about-teaser{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start;max-width:1200px;margin:0 auto;padding:0 var(--pad)}
.about-teaser{align-items:center;padding-top:clamp(4rem,8vw,7rem)}
.portrait img{filter:grayscale(1) contrast(1.05) brightness(.95);box-shadow:0 30px 60px -25px rgba(0,0,0,.8)}
.statement p{font:400 clamp(1.15rem,1.6vw,1.35rem)/1.6 var(--serif);color:#ddd3c3;margin:0 0 1.3em}
.statement p:first-child::first-letter{font-size:3.6em;float:left;line-height:.85;padding:.06em .1em 0 0;color:var(--gold)}
.sig{font-style:italic;color:var(--gold)!important}
.lede-sm{font:400 1.3rem/1.55 var(--serif);color:#d4cab9}

/* galleries / contact */
.page-head.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.split-art img{max-height:62vh;width:auto;margin:0 auto}
@media (max-width:900px){.page-head.split{grid-template-columns:1fr}}
.facts{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 2.2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts dl div{padding:1.4rem 1.4rem 1.4rem 0}
.facts dl div+div{padding-left:1.4rem;border-left:1px solid var(--line)}
.facts dt{font:500 .72rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.facts dd{margin:0;font:400 1.2rem/1.45 var(--serif)}
.facts-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.placeholder{font-size:.85rem;color:var(--faint);border:1px dashed rgba(237,228,212,.2);padding:.8rem 1rem;margin:0}
.statement-excerpt blockquote{margin:0;max-width:60ch}
.statement-excerpt blockquote p{font:italic 400 1.45rem/1.5 var(--serif);color:#ddd3c3}
.contact-grid{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.contact-grid>div{border-top:1px solid var(--line);padding-top:1.3rem}
.contact-grid h2{font-size:1.5rem}
.contact-grid p{color:#d4cab9;font-size:1.05rem}
#inq-note{color:var(--gold)}

/* footer */
.site-footer{max-width:var(--max);margin:clamp(5rem,9vw,8rem) auto 0;padding:2.4rem var(--pad) 3rem;border-top:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto;gap:.8rem 2rem;font-size:.82rem;color:var(--muted)}
.foot-name{font:500 1.25rem/1 var(--serif);color:var(--ink)} .foot-name span{color:var(--gold)}
.foot-links{display:flex;gap:1.6rem;flex-wrap:wrap} .foot-links a{text-decoration:none}
.foot-copy{grid-column:1/-1;color:var(--faint)}

/* lightbox */
.lightbox{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100vw;height:100vh;height:100dvh;background:rgba(12,10,8,.97);color:var(--ink)}
.lightbox::backdrop{background:rgba(0,0,0,.8)}
.lightbox[open]{display:grid;grid-template-columns:4rem 1fr 4rem;align-items:center}
.lb-fig{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 0 1.5rem;min-width:0}
.lb-stage{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(closest-side,rgba(255,214,150,.09),transparent)}
.lb-stage img{max-width:100%;max-height:calc(100vh - 9rem);max-height:calc(100dvh - 9rem);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 70px -20px #000}
.lightbox figcaption{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;align-items:baseline;justify-content:center;padding-top:1.2rem;text-align:center}
.lb-t{font:500 1.5rem/1.2 var(--serif)} .lb-d{color:var(--muted);font-size:.85rem} .lb-s{color:var(--gold);font-size:.85rem}
.lb-link{font:500 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.lightbox button{background:none;border:0;color:var(--muted);font:300 3rem/1 var(--serif);cursor:pointer;height:100%;width:100%}
.lightbox button:hover{color:var(--gold)}
.lb-close{position:absolute;top:.6rem;right:1rem;width:3rem!important;height:3rem!important;font-size:2.4rem!important;z-index:2}

@media (max-width:900px){
  .hero,.detail,.about,.about-teaser{grid-template-columns:1fr}
  .hero{padding-top:.5rem}
  .hero-art img{max-height:62vh}
  .hero-text{text-align:left}
  .detail{min-height:0}
  .detail-art img{max-height:70vh}
  .row-3{grid-template-columns:1fr;gap:3.5rem}
  .card-art{aspect-ratio:auto}
  .facts dl{grid-template-columns:1fr 1fr}
  .facts dl div:nth-child(3){padding-left:0;border-left:0}
  .facts dl div:nth-child(n+3){border-top:1px solid var(--line)}
  .contact-grid{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr}
  .portrait{max-width:420px}
  .lightbox[open]{grid-template-columns:2.6rem 1fr 2.6rem}
  .lightbox button{font-size:2.3rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
