@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/instrument-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/instrument-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Layout: a quiet gallery. White walls, works hung in uniform grey frames, one gold accent borrowed from the gold drips in the paintings. */
:root{
  --wall:#F8F8F6; --paper:#FFFFFF; --frame:#EDECE8; --ink:#1B1A18; --body:#3B3834; --muted:#66615A;
  --line:#E2DFDA; --gold:#8A6A2F; --ok:#3F6B46; --sold:#8C4A3C;
  --display:'Cormorant Garamond','Cormorant',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:clamp(16px,4.5vw,64px); --max:1400px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{background:var(--wall);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--wall)}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
@media (hover:hover){a:hover{color:var(--gold)}}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3{text-wrap:balance;margin:0;font-weight:300}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500}
.serif{font-family:var(--display)}
.it{font-style:italic}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;border:1px solid var(--ink);background:transparent;cursor:pointer;transition:background .2s,color .2s}
.btn.solid{background:var(--ink);color:var(--paper)}
@media (hover:hover){.btn.solid:hover{background:#000}}
@media (hover:hover){.btn:not(.solid):hover{background:var(--ink);color:var(--paper)}}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.link{border-bottom:1px solid currentColor;padding-bottom:1px}
.muted{color:var(--muted)}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--wall) 94%,transparent);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .2s}
.top.scrolled{border-bottom-color:var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.mark{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}
.nav{display:none;gap:36px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.nav a{padding:6px 0;border-bottom:1px solid transparent}
@media (hover:hover){.nav a.on,.nav a:hover{border-bottom-color:var(--ink)}}
.menu-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;margin-right:-10px}
.sheet{position:fixed;inset:0;z-index:70;background:var(--wall);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 10px) max(var(--gut),env(safe-area-inset-right,0px)) 32px max(var(--gut),env(safe-area-inset-left,0px))}
.sheet[hidden]{display:none!important}
.sheet .row{display:flex;justify-content:space-between;align-items:center;min-height:54px}
.sheet nav{display:flex;flex-direction:column;margin-top:24px}
.sheet nav a{font-family:var(--display);font-size:38px;font-weight:300;padding:10px 0;border-bottom:1px solid var(--line)}
.sheet .foot-note{margin-top:auto;font-size:13px;color:var(--muted)}
@media (min-width:1000px){.nav{display:flex}.menu-btn{display:none}.top .wrap{min-height:84px}.mark{font-size:20px}}

/* hero slider */
.hero{padding-block:clamp(12px,3vw,40px) 0}
.stage{position:relative;background:var(--frame);height:clamp(380px,62vw,720px);display:flex;align-items:center;justify-content:center;overflow:hidden}
.stage .slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .7s ease}
.stage .slide.on{opacity:1}
.stage img{width:auto;max-width:78%;box-shadow:0 18px 34px rgba(27,26,24,.22),0 2px 5px rgba(27,26,24,.14)}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.arrow.l{left:clamp(10px,2vw,28px)}.arrow.r{right:clamp(10px,2vw,28px)}
.caption{display:grid;grid-template-columns:1fr;gap:10px;padding-top:18px}
.caption .t{font-family:var(--display);font-size:clamp(24px,3vw,32px);font-style:italic;line-height:1.1}
.caption .m{font-size:13px;color:var(--muted)}
.caption .line{font-size:15px;color:var(--body);max-width:56ch}
.dots{display:flex;gap:8px;align-items:center}
.dots button{width:28px;height:28px;border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dots span{width:18px;height:1px;background:var(--muted);transition:width .3s,background .3s}
.dots button[aria-current="true"] span{width:32px;background:var(--ink);height:2px}
@media (min-width:1000px){.caption{grid-template-columns:minmax(0,1fr) auto;align-items:end}}

.intro{display:grid;gap:26px;padding-block:clamp(56px,9vw,128px) clamp(40px,6vw,88px)}
.intro h1{font-family:var(--display);font-size:clamp(36px,5.4vw,72px);line-height:1.02;max-width:16ch}
.intro p{font-size:17px;color:var(--body);max-width:58ch}
.intro .ctas{display:flex;gap:12px;flex-wrap:wrap}
@media (min-width:1000px){.intro{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:72px}}

/* works grid */
.works-head{display:flex;flex-direction:column;gap:18px;padding-bottom:28px;border-top:1px solid var(--line);padding-top:40px}
.works-head .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.works-head h2{font-family:var(--display);font-size:clamp(32px,4vw,48px)}
.form,.thanks{scroll-margin-top:96px}
.ser-h{display:grid;gap:8px;padding:8px 0 28px;max-width:60ch}
.ser-h h3{font-family:var(--display);font-size:clamp(26px,3vw,36px);font-weight:400;font-style:italic}
.ser-h p{font-size:15px;color:var(--body)}
.ser + .ser{border-top:1px solid var(--line);padding-top:40px}
.worknav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.worknav .pn{display:flex;gap:18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.worknav .pn a{display:inline-flex;align-items:center;min-height:44px}
.viewer .zoomable{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:80;background:rgba(20,19,17,.94);overflow:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none!important}
.lb img{max-width:96vw;max-height:92vh;width:auto;height:auto;cursor:zoom-in;box-shadow:none}
.lb.z{align-items:flex-start;justify-content:flex-start}
.lb.z img{max-width:none;max-height:none;width:220vw;cursor:zoom-out}
.lb .x{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:81}
.lb .hint{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);left:0;right:0;text-align:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);pointer-events:none}
.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*max(var(--gut),env(safe-area-inset-left,0px)));padding-inline:max(var(--gut),env(safe-area-inset-left,0px));padding-bottom:4px}
.filters::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid #CFCBC4;background:transparent;font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 14px;padding-bottom:clamp(64px,8vw,120px)}
@media (min-width:640px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}}
@media (min-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:64px 32px}}
@media (min-width:1600px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.card{display:flex;flex-direction:column;gap:12px;min-width:0}
.frame{background:var(--frame);aspect-ratio:4/5;width:100%;max-width:100%;display:flex;align-items:center;justify-content:center;container-type:inline-size;overflow:hidden;transition:background .3s}
@media (hover:hover){.card:hover .frame{background:#E6E4DF}}
.frame img{width:auto;height:auto;max-width:74cqw;max-height:92cqw;box-shadow:0 8px 18px rgba(27,26,24,.18),0 1px 3px rgba(27,26,24,.1);transition:transform .5s ease}
@media (hover:hover){.card:hover .frame img{transform:translateY(-3px)}}
.frame .pair{display:flex;gap:3cqw;align-items:center}
.frame .pair img{max-width:35.5cqw}
.card .t{font-family:var(--display);font-size:clamp(18px,1.6vw,21px);font-style:italic;line-height:1.2}
.card .m{font-size:12px;color:var(--muted);line-height:1.5}
.card .p{font-size:13px;font-variant-numeric:tabular-nums}
.card .p.sold{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sold);margin-right:7px;vertical-align:1px}

.band{background:var(--paper);border-block:1px solid var(--line)}
.band .wrap{display:grid;gap:32px;padding-block:clamp(48px,7vw,104px);align-items:center}
.band img{width:100%;aspect-ratio:4/5;object-fit:cover}
.band h2{font-family:var(--display);font-size:clamp(32px,4.4vw,56px);line-height:1.05}
@media (min-width:1000px){.band .wrap{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:96px}}

.list{border-top:1px solid var(--line);background:var(--paper)}
.list .wrap{display:flex;flex-direction:column;gap:20px;padding-block:44px}
.listform{display:flex;flex-wrap:wrap;gap:10px;width:100%;max-width:460px}
.listform input{flex:1 1 220px;min-width:0;min-height:52px;border:1px solid #CFCBC4;padding:0 14px;font-size:16px;background:var(--paper)}
.listform input:focus{outline:none;border-color:var(--ink)}
.listform .err{flex-basis:100%}
@media (min-width:1000px){.list .wrap{flex-direction:row;justify-content:space-between;align-items:center}}
footer{border-top:1px solid var(--line);margin-top:0}
footer .wrap{display:flex;flex-direction:column;gap:20px;padding-block:40px 48px;font-size:13px;color:var(--muted)}
footer .links{display:flex;gap:10px 26px;flex-wrap:wrap}
@media (hover:hover){footer .links a:hover{color:var(--ink)}}
@media (min-width:1000px){footer .wrap{flex-direction:row;justify-content:space-between;align-items:center}}

/* work page */
.crumbs{font-size:12px;color:var(--muted);padding-block:16px 14px;display:flex;gap:8px;flex-wrap:wrap}
@media (hover:hover){.crumbs a:hover{color:var(--ink)}}
.work{display:grid;gap:32px;padding-bottom:64px}
@media (min-width:1000px){.work{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:72px;align-items:start}.work .side{position:sticky;top:110px}}
.viewer{background:var(--frame);height:clamp(400px,72vw,780px);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.viewer .hang{max-width:72%;max-height:84%;width:auto;height:auto;box-shadow:0 18px 34px rgba(27,26,24,.22),0 2px 5px rgba(27,26,24,.14)}
.viewer .photo{width:100%;height:100%;object-fit:cover}
.viewer .pair{display:flex;gap:4%;width:76%;align-items:center;justify-content:center}
.viewer .pair img{width:48%;box-shadow:0 14px 28px rgba(27,26,24,.22)}
.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:10px;max-width:420px}
.thumbs button{padding:0;border:0;background:none;cursor:pointer;opacity:.65;outline-offset:2px}
.thumbs button[aria-pressed="true"]{opacity:1;outline:1px solid var(--ink)}
.thumbs span{display:block;aspect-ratio:4/5;background:var(--frame);overflow:hidden}
.thumbs img{width:100%;height:100%;object-fit:cover}
.vlabel{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:10px}
.tomb{display:flex;flex-direction:column;gap:22px}
.tomb h1{font-family:var(--display);font-size:clamp(40px,4.4vw,58px);line-height:1;font-style:italic}
.tomb h1 span{font-style:normal}
.tomb .spec{font-size:14px;line-height:1.75;color:var(--body)}
.price{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:20px;gap:12px}
.price .v{font-size:20px;font-variant-numeric:tabular-nums}
.status{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ok)}
.status.sold{color:var(--sold)}.status.nfs{color:var(--muted)}
.actions{display:flex;flex-direction:column;gap:10px}
.ship{font-size:13px;line-height:1.65;color:var(--muted)}
.story{border-top:1px solid var(--line);padding-block:clamp(40px,6vw,88px);display:grid;gap:44px}
@media (min-width:1000px){.story{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:96px}}
.story h2{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:16px}
.story .p{font-size:17px;line-height:1.8;color:var(--body);max-width:60ch}
.poem{font-family:var(--display);font-size:clamp(22px,2.2vw,27px);line-height:1.55;font-weight:300;white-space:pre-line;max-width:34ch}
.more{border-top:1px solid var(--line);padding-block:40px 80px}
.more h2{font-family:var(--display);font-size:clamp(28px,3vw,38px);margin-bottom:24px}
.more .grid{padding-bottom:0}

/* forms */
.page-head{display:grid;gap:18px;padding-block:clamp(28px,6vw,88px) clamp(28px,4vw,56px);max-width:860px}
.page-head h1{font-family:var(--display);font-size:clamp(38px,5.4vw,72px);line-height:1.03}
.page-head p{font-size:17px;color:var(--body);max-width:58ch}
.form{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3.5vw,44px);display:flex;flex-direction:column;gap:22px;min-width:0}
.form h2{font-family:var(--display);font-size:clamp(28px,3vw,36px);font-weight:400}
.two{display:grid;gap:22px}
@media (min-width:640px){.two{grid-template-columns:1fr 1fr}}
.fld{display:flex;flex-direction:column;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#4A453F;font-weight:500}
.fld .opt,.fs .opt{letter-spacing:.04em;text-transform:none;color:#8A847C;font-weight:400}
.fld input,.fld select,.fld textarea{font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--paper);border:1px solid #CFCBC4;border-radius:0;padding:12px 14px;min-height:50px;width:100%;font-weight:400}
.fld textarea{min-height:140px;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--ink)}
.fs{border:0;margin:0;padding:0;min-width:0}
.fs legend{padding:0;margin-bottom:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#4A453F;font-weight:500}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{position:relative;display:flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #CFCBC4;background:var(--paper);font-size:14px;cursor:pointer}
.opts input{position:absolute;opacity:0;width:1px;height:1px}
.opts label:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--paper)}
.opts label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.hint{font-size:13px;color:var(--muted)}
.err{font-size:13px;color:var(--sold)}
.thanks{background:var(--paper);border:1px solid var(--line);padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:16px}
.thanks h2{font-family:var(--display);font-size:clamp(36px,4vw,52px);font-weight:300}
.thanks p{font-size:16px;color:var(--body);max-width:56ch}
.thanks .ctas{display:flex;gap:10px;flex-wrap:wrap;padding-top:8px}
.split{display:grid;gap:40px;padding-bottom:clamp(64px,8vw,120px)}
@media (min-width:1000px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}}
.steps{list-style:none;margin:0;padding:24px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;font-size:15px;line-height:1.6;color:var(--body)}
.steps .n{font-family:var(--display);font-size:24px;color:var(--gold);line-height:1.1}
.steps b{font-weight:600;color:var(--ink)}

/* checkout */
.co-steps{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#9A948C;padding-block:10px 0}
.co-steps .on{color:var(--ink)}
.co-steps .done{color:var(--muted)}
.co{display:grid;gap:28px;padding-block:24px clamp(64px,8vw,120px)}
@media (min-width:1000px){.co{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}.co .sum{position:sticky;top:110px}}
.choice{display:flex;flex-direction:column;gap:10px}
.choice label{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px;border:1px solid #CFCBC4;background:var(--paper);cursor:pointer}
.choice label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.choice input{margin:3px 0 0;accent-color:var(--ink);width:18px;height:18px}
.choice b{display:block;font-weight:600;font-size:15px}
.choice small{display:block;font-size:13px;color:var(--muted);line-height:1.55;margin-top:2px}
.choice .amt{font-size:15px;font-variant-numeric:tabular-nums}
.sum{background:var(--paper);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:18px}
.sum .item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:center}
.sum .item .frame{aspect-ratio:4/5}
.sum .item .frame img{box-shadow:0 4px 10px rgba(27,26,24,.18)}
.sum dl{margin:0;display:grid;grid-template-columns:1fr auto;row-gap:10px;font-size:14px;font-variant-numeric:tabular-nums}
.sum dt{color:var(--body)}.sum dd{margin:0;text-align:right}
.sum .total{border-top:1px solid var(--line);padding-top:14px;font-size:17px;font-weight:600}
.proto{font-size:12px;line-height:1.55;color:#6B5A33;background:#F5EFE2;border:1px solid #E7DCC4;padding:12px 14px}
.paybox{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3.5vw,40px);display:flex;flex-direction:column;gap:20px}
.cardrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cardrow label:first-child{grid-column:1/-1}
@media (min-width:640px){.cardrow{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}.cardrow label:first-child{grid-column:auto}}
.lock{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}

/* about */
.ab-hero{display:grid;gap:32px;padding-block:clamp(24px,4vw,64px) 0;align-items:end}
.ab-hero img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ab-hero h1{font-family:var(--display);font-size:clamp(46px,7vw,92px);line-height:.98}
.quote{margin:0;padding-left:22px;border-left:1px solid var(--gold);font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(24px,2.8vw,34px);line-height:1.35;max-width:26ch}
@media (min-width:1000px){.ab-hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:96px}}
.ab-text{display:grid;gap:22px;max-width:62ch;padding-block:clamp(48px,7vw,104px) 0}
.ab-text p{font-size:17px;line-height:1.85;color:var(--body)}
.ab-text p.eyebrow{font-size:11px;line-height:1.6;color:var(--muted)}
.process{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:clamp(48px,7vw,104px)}
.process figure{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.process img{width:100%;aspect-ratio:4/5;object-fit:cover}
.process figcaption{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.process figcaption i{font-family:var(--display);font-size:15px;letter-spacing:0;text-transform:none}
@media (min-width:1000px){.process{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}
.pairimg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:clamp(48px,7vw,104px)}
.pairimg img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media (min-width:1000px){.pairimg{gap:24px}.pairimg img{aspect-ratio:1/1}}
.facts{margin:0;display:grid;grid-template-columns:1fr;gap:24px;padding-block:44px;border-top:1px solid var(--line);margin-top:clamp(48px,7vw,104px)}
.facts dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:500}
.facts dd{margin:0;font-size:15px;line-height:1.65}
@media (min-width:640px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 48px}}

/* shipping page */
.rates{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums;background:var(--paper);border:1px solid var(--line)}
.rates th,.rates td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line)}
.rates th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500}
.rates td:last-child,.rates th:last-child{text-align:right}
.prose{display:grid;gap:40px;padding-bottom:clamp(64px,8vw,120px);max-width:880px}
.prose section{display:grid;gap:14px}
.prose h2{font-family:var(--display);font-size:clamp(26px,3vw,34px);font-weight:400}
.prose p,.prose li{font-size:16px;line-height:1.75;color:var(--body);max-width:62ch}
.prose ul{margin:0;padding-left:20px;display:grid;gap:6px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
html,body{margin:0}
:where(img){height:auto}

/* Production additions */
picture{display:contents}
picture>source{display:none}
.cap{display:contents}
.cap[hidden]{display:none}
.hp{display:none!important}
.form-host{min-width:0}
.form-host .thanks:focus{outline:none}
.btn[disabled]{opacity:.55;cursor:progress}
.co-form .err{margin:0}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:12px;z-index:100;background:var(--paper);padding:10px 14px}
#c-form{scroll-margin-top:96px}
.ser[hidden]{display:none}
.sum[hidden]{display:none}
.stage img{object-fit:contain}
/* commissions: text and portrait side by side on desktop */
.c-hero{display:grid;gap:28px;padding-bottom:clamp(28px,4vw,56px)}
.c-hero .page-head{padding-bottom:0}
.c-fig{margin:0;display:flex;flex-direction:column;gap:10px;max-width:440px}
@media (min-width:1000px){
  .c-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,96px);align-items:center;padding-top:clamp(28px,4vw,56px)}
  .c-hero .page-head{padding-top:0}
  .c-fig{max-width:none;justify-self:end;width:100%;max-width:520px}
}
@media (min-width:1000px){.c-hero + .split > div:first-child{position:sticky;top:110px}}
/* about: statement sits beside the portrait, biography beside the facts */
.ab-statement{padding-top:12px}
@media (min-width:1000px){
  .ab-hero{align-items:center}
  .ab-statement{padding-top:20px;max-width:56ch}
  .ab-bio{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:96px;align-items:start;padding-top:clamp(48px,7vw,104px)}
  .ab-bio .ab-text{padding-top:0}
  .ab-bio .facts{grid-template-columns:1fr 1fr;margin-top:0;border-top:0;border-left:1px solid var(--line);padding:0 0 0 48px;gap:28px 32px}
}
@media (min-width:1000px){.ab-bio{padding-bottom:clamp(64px,8vw,120px)}}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}body>main{flex:1 0 auto;width:100%}
/* show room and studio photos whole, never cropped */
.viewer .photo{object-fit:contain}
.stage img{height:auto;width:auto;max-width:78%;object-fit:fill}
.sheet:focus{outline:none}
a,button{-webkit-tap-highlight-color:transparent}

/* home intro: one centered line over a faint EB signature watermark */
.intro{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;padding-block:clamp(56px,7vw,96px)}
.intro .wm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-6deg);width:min(56vw,320px);height:auto;color:var(--gold);opacity:.08;pointer-events:none}
.intro>:not(.wm){position:relative}
main .intro h1{font-style:normal;font-size:var(--fs-h2);line-height:1.15;max-width:22ch;letter-spacing:0}
main .intro p{max-width:44ch}
.intro .ctas{justify-content:center;margin-top:6px}
@media (min-width:1000px){.intro{display:flex;gap:22px}}
.signoff{display:block;width:48px;height:auto;color:var(--gold);margin-block:4px 8px}

/* text links for navigation (buttons stay only where something is bought or sent) */
.tlink{font-family:var(--display);font-style:normal;font-weight:400;font-size:21px;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .2s}
@media (hover:hover){.tlink:hover{color:var(--gold)}}
.ctas{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 30px}
main .intro .ctas{justify-content:center;gap:14px 30px}
.caption .tlink{font-size:19px}

/* slideshow position: small dots, like the sold marker */
.dots{gap:2px}
.dots button{width:22px;height:28px}
.dots span{width:7px;height:7px;border-radius:50%;background:transparent;border:1px solid var(--muted);transition:background .3s,border-color .3s}
.dots button[aria-current="true"] span{width:7px;height:7px;background:var(--ink);border-color:var(--ink)}

/* italic is reserved for titles of works and poems */
main .page-head p.sub{font-style:normal}
main .fld textarea::placeholder,main .fld input::placeholder{font-style:normal}

/* buy panel: one real button, the question as a link */
.actions .tlink{align-self:center;font-size:19px;margin-top:8px}
/* slideshow arrows: bare chevrons instead of white circles */
.stage .arrow{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--ink);opacity:.7}
@media (hover:hover){.stage .arrow:hover{opacity:1}}

/* work page: the story sits in the side column, under the price, so the page has no empty half */
.work{padding-bottom:48px}
.side{display:flex;flex-direction:column;gap:36px}
.side .story{border-top:1px solid var(--line);padding-block:32px 0;display:flex;flex-direction:column;gap:32px}
@media (min-width:1000px){.work .side{position:static}.side .story{grid-template-columns:none;gap:32px}}
.more{padding-block:40px 64px}
/* ==========================================================================
   Type system: the wall label
   Two voices, the way a gallery uses them.
   - The art voice (Cormorant Garamond): headings, titles of works, poems,
     the artist's words and every paragraph about the work. Titles of works
     are always italic, the art-world convention.
   - The label voice (Instrument Sans): facts and actions. Medium, size,
     price, buttons, forms, navigation, policy text.
   Tracked capitals belong to the wordmark and the main navigation only, so
   the name stays the one thing set that way. Every other label is sentence
   case. Sizes come from one scale (major third, 1.25, from 16px); nothing
   is set off-scale.
   ========================================================================== */
:root{
  /* scale */
  --fs-label:13px;          /* captions, meta, field labels */
  --fs-ui:15px;             /* buttons, specs, sans text */
  --fs-sans:16px;           /* policy and form text */
  --fs-read:clamp(19px,1.4vw,21px);  /* serif paragraphs */
  --fs-title-sm:20px;       /* titles in grids and summaries */
  --fs-h3:clamp(24px,2.2vw,25px);
  --fs-h2:clamp(30px,3.2vw,39px);
  --fs-h1:clamp(38px,4.6vw,61px);
  --fs-display:clamp(44px,6.2vw,76px);
  /* rhythm */
  --lh-display:1.04; --lh-head:1.12; --lh-read:1.56; --lh-sans:1.6; --lh-label:1.45;
  --track-caps:.16em;
}

/* ---------- base rendering ---------- */
body{font-kerning:normal;font-variant-ligatures:common-ligatures;font-size:var(--fs-sans);line-height:var(--lh-sans)}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.005em;text-wrap:balance}
p,li,dd,figcaption,blockquote{text-wrap:pretty}
i,em{font-style:italic}
/* the serif's old-style figures sit inside text; the sans uses lining, tabular figures for prices */
.serif,h1,h2,h3,.t-title,.card .t,.caption .t,.poem,.quote,.read{font-variant-numeric:oldstyle-nums proportional-nums}
.price .v,.card .p,.sum dl,.rates,.choice .amt{font-variant-numeric:lining-nums tabular-nums}

/* ---------- the two caps settings: wordmark and nav ---------- */
.mark{font-weight:500;letter-spacing:.32em}
.mark-sm{font-size:15px;color:var(--ink)}
.nav{font-size:12px;letter-spacing:var(--track-caps)}

/* ---------- labels: sentence case, no tracking ---------- */
.eyebrow,.story h2,.facts dt,.rates th,.fs legend,.vlabel,.co-steps,.status,.card .p.sold,.process figcaption,.cap-note,.count,.lb .hint{
  font-family:var(--sans);font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:.01em;text-transform:none;font-weight:500;color:var(--muted)}
.eyebrow{margin-bottom:-4px}
.story h2{margin-bottom:14px}
.status{color:var(--ok)}.status.sold{color:var(--sold)}.status.nfs{color:var(--muted)}
.co-steps{color:#9A948C}.co-steps .on{color:var(--ink)}.co-steps .done{color:var(--muted)}
.process figcaption i,.cap-note i{font-family:var(--display);font-size:16px;font-weight:500;letter-spacing:0}
.lb .hint{color:rgba(255,255,255,.72)}
.count{font-weight:400}
.byline{font-size:var(--fs-ui);color:var(--muted);margin-top:-6px}

/* ---------- actions ---------- */
.btn{font-size:var(--fs-ui);letter-spacing:.02em;text-transform:none;font-weight:500}
.chip{font-size:14px;letter-spacing:0;text-transform:none;font-weight:500}
.worknav .pn{font-size:14px;letter-spacing:0;text-transform:none;font-weight:500}
.link{text-underline-offset:3px}
.caption .link{font-size:var(--fs-ui);font-weight:500}

/* ---------- headings ---------- */
.intro h1,.ab-hero h1{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.012em}
.page-head h1,.h-page{font-family:var(--display);font-size:var(--fs-h1);line-height:var(--lh-display);letter-spacing:-.01em;font-weight:400}
.tomb h1{font-size:var(--fs-h1);line-height:var(--lh-display)}
.works-head h2,.band h2,.more h2,.thanks h2{font-size:var(--fs-h2);line-height:var(--lh-head);font-weight:400}
.ser-h h3,.form h2,.prose h2{font-size:var(--fs-h3);line-height:var(--lh-head);font-weight:500}
.ser-h h3{font-style:italic;font-weight:400;font-size:var(--fs-h2)}
.sheet nav a{font-weight:400;font-size:36px;line-height:1.15}

/* ---------- titles of works ---------- */
.card .t,.caption .t,.t-title{font-family:var(--display);font-style:italic;font-weight:500;line-height:1.15}
.card .t{font-size:var(--fs-title-sm)}
.caption .t{font-size:var(--fs-h3)}
.t-title{font-size:var(--fs-h3)}
.t-title.sm{font-size:var(--fs-title-sm)}
.t-title span,.tomb h1 span{font-style:normal}
.series-line{font-size:var(--fs-label);color:var(--muted)}
.series-line .link{color:var(--ink)}

/* ---------- the art voice: serif reading text ---------- */
.intro p,.page-head p,.lede,.band p:not(.eyebrow),.ser-h p,.caption .line,.story .p,.ab-text p:not(.eyebrow){
  font-family:var(--display);font-size:var(--fs-read);line-height:var(--lh-read);font-weight:500;color:var(--body);max-width:60ch}
.caption .line{max-width:52ch}
.ser-h p{font-size:var(--fs-read);max-width:54ch}
.lede{max-width:46ch}
.poem{font-size:clamp(22px,1.9vw,25px);line-height:1.6;font-weight:500;font-style:italic;color:var(--ink);max-width:32ch}
.quote{font-size:clamp(25px,2.6vw,31px);line-height:1.32;font-weight:400;color:var(--ink);hanging-punctuation:first;text-indent:-.42em}
@supports (hanging-punctuation:first){.quote{text-indent:0}}

/* ---------- the label voice: facts ---------- */
.card .m,.caption .m,.t-meta{font-size:var(--fs-label);line-height:var(--lh-label);color:var(--muted)}
.t-meta{margin-top:6px}
.card .p{font-size:14px;font-weight:500}
.tomb .spec{font-size:var(--fs-ui);line-height:1.7}
.price .v{font-size:21px;font-weight:500}
.price .v.note{font-family:var(--display);font-size:var(--fs-read);font-weight:500;color:var(--body)}
.pair-note{font-size:14px;font-weight:400}
.ship,.hint,.err,.lock{font-size:14px;line-height:1.55}
.choice b{font-size:var(--fs-ui)}.choice small{font-size:14px}
.steps li{font-size:var(--fs-ui)}
.steps .n{font-size:25px;font-weight:500;line-height:1}
.prose p,.prose li{font-size:var(--fs-sans);line-height:1.7}
.thanks p{font-size:var(--fs-sans)}
.facts dd{font-size:var(--fs-ui)}
.contact-side{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-ui);color:var(--body)}
.contact-side .eyebrow{margin-top:18px}.contact-side .eyebrow:first-child{margin-top:0}
.contact-side .btn{margin-top:10px;align-self:flex-start}
footer .wrap{font-size:14px}

/* ---------- forms ---------- */
.fld{font-size:14px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--ink);gap:8px}
.fs legend{font-size:14px;color:var(--ink)}
.fld .opt,.fs .opt{font-size:13px;letter-spacing:0;color:var(--muted);font-weight:400}
.fld input,.fld textarea,.fld select{font-size:16px} /* 16px stops iOS from zooming the page on focus */
.fld textarea::placeholder,.fld input::placeholder{color:#9A948C;font-family:var(--display);font-size:18px;font-style:italic;font-weight:500}
.opts label{font-size:14px}

/* filters read as an index of series, not pill buttons */
.filters{gap:4px 22px}
.chip{border:0;border-radius:0;background:none;padding:0;min-height:44px;font-size:var(--fs-ui);color:var(--muted);border-bottom:1px solid transparent}
.chip[aria-pressed="true"]{background:none;color:var(--ink);border-bottom-color:var(--ink)}
@media (hover:hover){.chip:hover{color:var(--ink)}}
.poem{line-height:1.45}
.thumbs{grid-template-columns:repeat(5,minmax(0,1fr));max-width:480px}
.co-steps{color:var(--muted)}.co-steps .on{color:var(--ink);font-weight:600}
h1.t-title{font-weight:500}
.thanks-h{font-family:var(--display);font-size:var(--fs-h2);line-height:var(--lh-head);font-weight:400}
.page-head p.sub{font-family:var(--display);font-style:italic;font-weight:500;font-size:var(--fs-h3);line-height:1.3;color:var(--ink);max-width:30ch;margin-top:-6px}
/* old-style 1 reads as a capital I in the numbered steps */
.steps .n{font-variant-numeric:lining-nums}
.ab-text p.eyebrow{font-size:var(--fs-label);line-height:var(--lh-label);font-family:var(--sans);max-width:none}
