:root{
  --bg:#f3f1ec; --ink:#1b1a18; --mute:#6f6b63; --line:#d9d5cb; --paper:#fbfaf7; --accent:#8a3a2b;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#161513;--ink:#ece9e2;--mute:#9a958a;--line:#34312c;--paper:#1d1c19;--accent:#d98a74;color-scheme:dark}
}
:root[data-theme="dark"]{--bg:#161513;--ink:#ece9e2;--mute:#9a958a;--line:#34312c;--paper:#1d1c19;--accent:#d98a74;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.6}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(clamp(16px,4vw,48px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4vw,48px),env(safe-area-inset-right,0px))}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* header */
.top{padding:clamp(40px,8vw,96px) 0 clamp(24px,4vw,48px)}
.kicker{font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:0 0 .8rem}
h1{font-weight:400;font-size:clamp(2.4rem,7vw,5rem);line-height:1.02;letter-spacing:-.01em;margin:0}
.tagline{max-width:34em;font-size:clamp(1.05rem,2vw,1.3rem);color:var(--mute);font-style:italic;margin:1.2rem 0 0}
.facts{display:flex;flex-wrap:wrap;gap:.4rem 2.4rem;margin:1.8rem 0 0;font-family:var(--sans);font-size:.92rem}
.facts div{display:flex;gap:.6rem}
.facts dt{color:var(--mute)}
.facts dd{margin:0}

/* grid (masonry via columns) */
.grid{column-count:2;column-gap:clamp(12px,2.5vw,36px);padding-bottom:clamp(40px,7vw,90px)}
.card{break-inside:avoid;margin:0 0 clamp(26px,3.5vw,46px);display:block;width:100%;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.card .ph{position:relative;background:var(--line);overflow:hidden}
.card img{width:100%;transition:transform .5s ease,opacity .3s}
.card:hover img{transform:scale(1.015)}
.card .cap{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-top:.7rem}
.card .t{font-size:1.05rem}
.card .t span{font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;color:var(--mute);margin-right:.55rem}
.card .p{font-family:var(--sans);font-size:.86rem;color:var(--mute);white-space:nowrap}
.card .s{font-family:var(--sans);font-size:.8rem;color:var(--mute);margin-top:.1rem}
.sold{position:absolute;left:10px;top:10px;background:var(--accent);color:#fff;font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .55rem;border-radius:2px}

/* sections */
section h2{font-weight:400;font-size:clamp(1.5rem,3vw,2rem);margin:0 0 1.2rem}
.list,.about{padding:clamp(24px,5vw,56px) 0;border-top:1px solid var(--line)}
.table-scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.92rem;min-width:620px}
th,td{padding:.7rem .8rem .7rem 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline}
th{font-weight:500;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
td.num,th.num{text-align:right;padding-right:0;white-space:nowrap}
tbody tr{cursor:pointer}
tbody tr:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
tbody td:nth-child(2){font-family:var(--serif);font-size:1.02rem}
.row-sold td{color:var(--mute)} .row-sold .num{text-decoration:line-through}
.note{font-family:var(--sans);font-size:.82rem;color:var(--mute);margin:1rem 0 0}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px)}
.cols p{margin:0 0 1em;font-size:1rem;max-width:38em}
@media (max-width:760px){.cols{grid-template-columns:1fr}}
.foot{border-top:1px solid var(--line);padding:2rem 0 3rem;font-family:var(--sans);font-size:.88rem;color:var(--mute)}
.foot a{margin-right:1.4rem}

/* viewer */
.viewer{position:fixed;inset:0;z-index:50;background:var(--paper);overflow:auto;overscroll-behavior:contain}
.viewer[hidden]{display:none}
.v-body{min-height:100%;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);align-items:start}
.v-fig{margin:0;position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(56px,7vw,84px) clamp(16px,3vw,40px) clamp(24px,4vw,40px);background:var(--bg)}
.v-fig img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 1px 2px rgba(0,0,0,.08),0 14px 40px rgba(0,0,0,.14)}
.v-text{padding:clamp(64px,8vw,96px) clamp(20px,4vw,56px) 64px;outline:none}
.v-no{font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 .5rem}
.v-text h2{font-weight:400;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.08;margin:0}
.v-place{font-style:italic;color:var(--mute);margin:.4rem 0 0}
.v-meta{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.2rem;font-family:var(--sans);font-size:.92rem;margin:1.6rem 0;padding:1.1rem 0;border-block:1px solid var(--line)}
.v-meta dt{color:var(--mute)} .v-meta dd{margin:0}
.v-meta .price{font-size:1.2rem;font-weight:500}
.v-desc p{margin:0 0 1em;font-size:1.02rem;line-height:1.7}
.v-cta{margin:1.8rem 0 0;font-family:var(--sans)}
.btn{display:inline-block;padding:.75rem 1.2rem;border:1px solid var(--ink);text-decoration:none;font-size:.9rem;letter-spacing:.04em}
.btn:hover{background:var(--ink);color:var(--bg)}
.v-close,.v-nav{position:fixed;z-index:3;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-family:var(--sans);cursor:pointer}
.v-close{top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px));padding:.55rem .9rem;font-size:.85rem}
.v-nav{top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;font-size:1.1rem}
.v-prev{left:12px} .v-next{right:12px}
.v-close:hover,.v-nav:hover{background:var(--ink);color:var(--bg)}
@media (max-width:900px){
  .v-body{grid-template-columns:1fr}
  .v-fig{position:static;height:auto;min-height:48vh;padding:64px 14px 18px}
  .v-fig img{max-height:70vh}
  .v-next{right:8px;top:calc(24vh + 30px)} .v-prev{left:8px;top:calc(24vh + 30px)}
  .v-nav{top:30vh;transform:none;opacity:.92}
}
body.lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){.card img{transition:none}}
@media print{.viewer,.v-close,.v-nav{display:none!important}.grid{columns:2}.list{break-before:page}}

/* tillägg: priser & upplagor */
.byline{font-family:var(--sans);font-size:.95rem;color:var(--mute);margin:.9rem 0 0}
.jump{margin:1.4rem 0 0;font-family:var(--sans);font-size:.9rem}
.jump a{border-bottom:1px solid var(--line);text-decoration:none;padding-bottom:2px}
.jump a:hover{border-color:var(--ink)}
.list h3{font-weight:400;font-size:1.2rem;margin:2.2rem 0 .8rem}
.lede{max-width:44em;margin:0;color:var(--mute)}
.table-scroll.narrow table{min-width:0;max-width:560px}
.note p{margin:.45rem 0 0}
.prose p{max-width:44em;margin:0 0 .9em;font-size:1rem}
.v-note{font-family:var(--sans);font-size:.86rem;color:var(--mute);margin:-.4rem 0 1.4rem}
.v-note p{margin:.35rem 0 0}
.v-note a{color:var(--ink)}
.card .s .fr{margin-left:.35rem}

.byline{margin:.5rem 0 0}
.contact{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem;margin:1.2rem 0 0;font-family:var(--sans);font-size:.92rem}
.contact .ico{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink)}
.contact .ico svg{flex:none}
.contact .ico:hover span,.contact .ico:hover{color:var(--accent)}
.contact .mail span{border-bottom:1px solid var(--line);overflow-wrap:anywhere}

button.ico,button.btn{background:none;color:var(--ink);font:inherit;cursor:pointer;padding:0}
button.btn{padding:.75rem 1.2rem}
.contact button.ico span{border-bottom:1px solid var(--line)}
.reveal{display:block;margin-top:.8rem;font-size:.9rem;overflow-wrap:anywhere}
.reveal a{color:var(--ink)}

/* två kolumner som grund, tre på breda skärmar */
@media (min-width:1100px){.grid{column-count:3}}
.card .s{display:flex;justify-content:space-between;gap:.2rem .8rem;flex-wrap:wrap}
.card .s .inc,.v-meta .inc{font-family:var(--sans);font-size:.78rem;color:var(--mute)}
.v-meta dd .inc{margin-left:.7rem}
@media (max-width:560px){
  .card .cap{flex-direction:column;gap:.1rem}
  .card .t{font-size:.98rem}
  .card .t span{display:block;margin:0 0 .1rem}
  .card .s{flex-direction:column;gap:0}
}

/* utställningspris tydligt markerat */
.notice{margin:0 0 clamp(22px,3vw,36px);padding:1rem 0;border-block:1px solid var(--ink);font-family:var(--sans);font-size:.95rem}
.notice p{margin:0;max-width:60em}
.notice a{color:var(--ink);white-space:nowrap}
.xp{display:inline-block;margin-top:.45rem;padding:.18rem .5rem;border:1px solid var(--mute);border-radius:2px;font-family:var(--sans);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.v-meta dd .xp{margin:0 0 0 .7rem}
