:root{--paper:#111315;--ink:#f0eee9;--muted:#b2b9bc;--accent:#9fbac7;--line:#3f464c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:28px}
*{box-sizing:border-box}body{margin:0}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}.shell{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.site-header{height:120px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.identity{display:flex;gap:10px;align-items:center;font-family:var(--serif);font-size:31px;letter-spacing:-.035em}.identity svg{flex-shrink:0;width:41px;height:41px;stroke:var(--accent);stroke-width:1.5;fill:none}.site-header nav{flex-shrink:0;display:flex;gap:35px;font-size:14px}.site-header nav a{padding-block:12px}.site-header nav a:hover,.text-link:hover{color:var(--accent)}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;line-height:1.5;font-weight:500}.text-link{font-size:14px;display:inline-block;padding:9px 0;border-bottom:1px solid var(--ink);margin-top:24px}
.collection{padding-top:44px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-heading .eyebrow{font:500 12px/1.5 var(--sans);letter-spacing:.17em;color:var(--muted)}h1,h2{font-size:clamp(42px,4.6vw,66px);line-height:1.05;letter-spacing:-.025em}.count{font-size:13px;color:var(--muted)}.theme-tabs{display:flex;gap:29px;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none;margin-bottom:32px}.theme-tabs::-webkit-scrollbar{display:none}.theme-tabs button{flex-shrink:0;padding:15px 0 18px;font-size:14px;border-bottom:1px solid transparent;color:var(--muted);position:relative}.theme-tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.theme-tabs button:hover{color:var(--ink)}
/* Captions overlay the image, so hover never changes the packed grid. */
.art-grid{columns:4;column-gap:28px}.art-card{container-type:inline-size;position:relative;break-inside:avoid;display:block;margin:0 0 28px}.art-card .image-surface{padding:0;display:block;width:100%;position:relative;background:#202124;overflow:hidden;text-align:left}.art-card img{width:100%;height:auto}.card-caption{position:absolute;inset:auto 0 0;padding:16px 16px 14px;background:#111315d9;color:#fff;opacity:0;pointer-events:none;transition:opacity .18s}.card-title-row{display:flex;align-items:center;gap:10px}.art-card h3{font-size:20px;line-height:1.1;letter-spacing:-.015em;text-wrap:pretty}.card-meta,.card-availability{font-size:13px;line-height:1.4;color:#fff;margin-top:4px}.card-meta span{display:inline}.sold-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b94131;flex-shrink:0}.sold-label{display:flex;align-items:center;gap:8px}.card-expand{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:30px;height:30px;background:#17131b8c;color:#fff;opacity:0;pointer-events:none;transition:opacity .18s}.card-expand svg{width:18px;height:18px}.art-card:has(.image-surface:focus-visible) .card-caption,.image-surface:focus-visible .card-expand{opacity:1}
@media(hover:hover){.art-card:hover .card-caption,.art-card:hover .card-expand{opacity:1}}
/* Short panoramas share a metadata line; narrow cards abbreviate only the title. */
.art-card[data-panorama=true] .card-caption{padding:16px 12px 12px}.art-card[data-panorama=true] .card-details{margin-top:4px;line-height:1.4}.art-card[data-panorama=true] .card-meta,.art-card[data-panorama=true] .card-availability{display:inline;margin:0}.art-card[data-panorama=true] .card-availability:not(:empty)::before{content:" · "}
@container(max-width:360px){.art-card[data-panorama=true] .card-caption{padding:12px 8px 8px}.art-card[data-panorama=true] h3{font-size:17px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.art-card[data-panorama=true] .card-details{margin-top:2px}.art-card[data-panorama=true] .card-expand{top:6px;right:6px}}


.site-footer{position:relative;padding:32px 0 25px;margin-top:38px;isolation:isolate}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;font-size:14px;color:var(--muted)}
.visually-hidden,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;z-index:10;top:10px;left:10px;background:var(--accent);color:var(--paper);padding:10px}[hidden]{display:none!important}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.site-header{height:100px}.theme-tabs{gap:22px}.art-grid{columns:2;column-gap:25px}}
@media(max-width:720px){.shell{width:calc(100% - 40px)}.site-header{height:83px}.identity{font-size:26px;gap:4px}.identity svg{flex-shrink:0;width:33px;height:33px}.site-header nav{gap:20px;font-size:13px}.text-link{margin-top:14px}.collection{padding-top:35px}.section-heading{align-items:start;margin-bottom:20px}.section-heading .count{font-size:12px;white-space:nowrap}.theme-tabs{gap:25px;margin-right:-20px;padding-right:20px}.theme-tabs button{font-size:14px}.art-grid{columns:2;column-gap:18px}.art-card{margin-bottom:18px}.site-footer{margin-top:10px;padding-top:28px}.footer-bottom{gap:25px;font-size:14px;line-height:1.7}}
@media(max-width:380px){.identity{font-size:23px}.site-header nav{gap:12px}.art-grid{columns:1}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
/* Quiet catalog controls and a spacious, keyboard-accessible viewing room. */
main{overflow-x:clip}.filter-bar{display:flex;align-items:center;gap:24px;margin:-5px 0 38px;flex-wrap:wrap}.selects{display:flex;gap:22px;flex:1;flex-wrap:wrap}.filter-select{display:flex;flex-direction:column;gap:5px;min-width:112px}.filter-select>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.filter-select select{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font-size:13px;padding:8px 19px 8px 0;max-width:165px;cursor:pointer}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:8px 0;align-self:end}.search svg{width:17px;height:17px;fill:none;stroke:var(--muted);stroke-width:1.2}.search input{background:none;border:0;outline-offset:4px;width:164px;font-size:13px;color:var(--ink);padding:0}.search input::placeholder{color:var(--muted)}.reset-filters{font-size:12px;color:var(--accent);padding:8px 0;text-decoration:underline;text-underline-offset:4px;align-self:end}.empty-state{text-align:center;padding:70px 20px 100px;font:32px var(--serif);line-height:1.5}.empty-state .text-link{font-family:var(--sans)}.load-error{margin:20px 0;color:#ffb4a9}
dialog{padding:0;color:var(--ink);border:1px solid var(--line);background:var(--paper);width:min(1380px,calc(100vw - 64px));max-width:none;max-height:calc(100dvh - 48px);box-shadow:0 24px 100px #241d2426}dialog::backdrop{background:#07090bd9;backdrop-filter:blur(6px)}.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.dialog-toolbar .eyebrow{font-size:10px;color:var(--muted)}.dialog-tools{display:flex;gap:10px}.dialog-tools button{width:34px;height:34px;border-radius:50%;font-size:19px;display:grid;place-items:center}.dialog-tools button:hover{background:#30363b}.dialog-tools button:disabled{opacity:.25;cursor:default}.dialog-tools button:last-child{margin-left:20px;font-size:16px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:42px;padding:36px}.detail-art{background:#202124;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:30px 26px 19px}.detail-art button{padding:0;max-width:100%;cursor:zoom-in}.detail-art img{max-height:calc(100dvh - 250px);width:auto;height:auto;object-fit:contain;margin:auto}.detail-copy{padding:28px 8px 20px 0;display:flex;flex-direction:column;align-items:start}.detail-copy>.eyebrow{color:var(--muted);font-size:10px;margin-bottom:18px}.detail-title-row{display:flex;align-items:center;gap:18px}.detail-title-row h2{font-size:clamp(38px,3.6vw,54px);line-height:1.06}.detail-copy .description{font-size:14px;line-height:1.8;margin-top:22px;color:var(--muted)}.detail-copy dl{margin:28px 0 0;width:100%;font-size:12px;line-height:1.8}.detail-copy dl>div{display:grid;grid-template-columns:100px 1fr;gap:18px;border-top:1px solid var(--line);padding:10px 0}.detail-copy dt{color:var(--muted)}.detail-copy dd{margin:0}.detail-sale{margin-top:23px;font-size:13px;width:100%;display:flex;justify-content:space-between;gap:10px}.detail-sale .price{font-weight:500}.primary-link{margin-top:22px;width:100%;padding:15px 20px;background:var(--accent);color:var(--paper);text-align:center;font-size:13px}.primary-link:hover{background:#bdd0d9}.share-link{display:inline-flex;align-items:center;gap:7px;margin-top:30px;padding:0 0 6px;border-bottom:1px solid var(--line);font-size:12px}.share-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.share-status{font-size:11px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}#zoom-dialog{width:calc(100vw - 28px);height:calc(100dvh - 28px);max-height:none;background:#202124;border:none;overflow:auto}#zoom-image{height:100%;width:100%;object-fit:contain;padding:48px 18px 18px}.close-zoom{position:fixed;right:28px;top:26px;width:40px;height:40px;background:var(--paper);border-radius:50%;z-index:3;font-size:18px}
@media(max-width:1050px){.filter-bar{gap:18px}.selects{gap:15px}.filter-select{min-width:100px}.detail-layout{gap:28px;padding:24px}.detail-art{padding:18px}.detail-copy{padding-top:14px}.detail-title-row h2{font-size:39px}}
@media(max-width:720px){.filter-bar{gap:18px;margin-bottom:28px}.selects{width:100%;gap:15px;flex:1 0 100%;justify-content:space-between}.filter-select{min-width:120px;max-width:none;flex:1 1 calc(50% - 15px)}.filter-select select{font-size:12px;padding-right:9px;width:100%;max-width:none}.selects>span{display:contents}.search{flex:1}.search input{width:100%}.theme-tabs{margin-bottom:25px}.section-heading{gap:14px}.count{max-width:70px}dialog{width:100%;height:100dvh;max-height:none;margin:0;border:0}.dialog-toolbar{padding:13px 20px}.detail-layout{grid-template-columns:1fr;padding:20px;gap:23px}.detail-art{padding:20px 18px 14px;min-height:230px}.detail-art img{max-height:55dvh}.detail-copy{padding:0 3px 25px}.detail-title-row h2{font-size:42px}.detail-copy dl{margin-top:23px}.detail-copy dl>div{grid-template-columns:110px 1fr}.detail-copy .description{font-size:14px;margin-top:17px}.share-link{margin-top:24px}.filter-select>span{font-size:9px}.empty-state{font-size:28px}}

/* Four equal-width columns are the default; size view keeps grouped works together. */
.layout-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:-10px 0 32px}.layout-options{display:flex;align-items:center;gap:6px;font-size:14px}.layout-options>span{margin-right:8px;color:var(--muted)}.layout-options button{min-height:34px;min-width:78px;padding:5px 13px;font-size:12px;line-height:1.5;border:1px solid #607c89;border-radius:43% 57% 49% 51% / 52% 41% 59% 48%;background:#27363e;color:var(--ink);transition:background .16s,border-color .16s}.layout-options button[data-layout=size]{border-radius:57% 43% 52% 48% / 43% 58% 42% 57%}.layout-options button:hover{background:#405763;border-color:var(--accent)}.layout-options button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#172126}.layout-controls p{font-size:14px;line-height:1.5;color:var(--muted)}
.art-grid[data-layout=size]{display:grid;columns:auto;--gallery-columns:4;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));grid-auto-rows:4px;grid-auto-flow:row dense;--card-gap:28px;gap:0 28px;align-items:start}.art-grid[data-layout=size] .art-card{margin:0;min-width:0}.art-grid[data-layout=size] .art-card[data-span="2"]{grid-column:span 2}
@media(max-width:900px){.art-grid[data-layout=size]{--gallery-columns:2;--card-gap:18px;gap:0 18px}}
@media(max-width:380px){.art-grid[data-layout=size]{--gallery-columns:1}.art-grid[data-layout=size] .art-card[data-span="2"]{grid-column:span 1}}

/* Failed requests retain their layout and offer a retry instead of broken alt text. */
.image-surface[data-photo-state] img{visibility:hidden}.photo-status{position:absolute;inset:0;display:grid;place-content:center;padding:20px;text-align:center;font:14px/1.5 var(--sans);color:var(--muted)}.image-surface[data-photo-state=failed] .photo-status{text-decoration:underline;text-underline-offset:3px}.art-card:has([data-photo-state]) .card-caption,.image-surface[data-photo-state] .card-expand{display:none}

/* Picture sources share one layout box; contain sizing is reflected in image sizes. */
picture{display:block}#zoom-content,#zoom-content picture{height:100%}

.art-group{break-inside:avoid;min-width:0}.art-grid[data-layout=size] .art-group[data-span="2"]{grid-column:span 2}.art-grid[data-layout=size] .art-group>.art-card:not(:last-child){margin-bottom:var(--card-gap)}
@media(max-width:380px){.art-grid[data-layout=size] .art-group[data-span="2"]{grid-column:span 1}}

/* Narrow phones show one comfortable column; the optional size view retains its own packing. */
@media(max-width:600px){.art-grid[data-layout=uniform]{columns:1}}

/* Explicit option colors keep native menus readable instead of pale text on white. */
select{color-scheme:dark}select option,select optgroup{background:#405763;color:#f0eee9}select option:checked{background:#9fbac7;color:#172126}
/* Customizable native pickers also honor the palette on systems that ignore option colors. */
@supports (appearance:base-select){
  .filter-select select,.filter-select select::picker(select){appearance:base-select}
  .filter-select select::picker(select){background:#405763;color:var(--ink);border:1px solid #607c89;border-radius:8px;padding:5px;box-shadow:0 12px 30px #0005}
  .filter-select option{padding:8px 12px;border-radius:4px;font-size:13px}
  .filter-select option:hover,.filter-select option:focus-visible{background:var(--accent);color:#172126}
}
