:root{--paper:#f2f0e9;--ink:#141412;--muted:#8a887f;--line:#d8d5cc;--sans:'DM Sans',system-ui,-apple-system,Helvetica,Arial,sans-serif;--gut:clamp(18px,3vw,44px)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--gut);top:8px;background:var(--ink);color:var(--paper);padding:6px 10px;z-index:20}
.site-header{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px var(--gut)}
.wordmark{font-weight:600;font-size:14px;letter-spacing:.02em}
.nav{display:flex;gap:22px;font-size:13px}.nav a{color:var(--muted)}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}
.menu-toggle{display:none;background:none;border:0;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;padding:0}
.q{padding:0 var(--gut)}
.state{font-weight:500;font-size:clamp(44px,9vw,148px);line-height:.92;letter-spacing:-.055em;margin:clamp(60px,14vh,160px) 0 clamp(36px,6vh,72px)}
.title{font-weight:500;font-size:14px;margin:clamp(48px,10vh,120px) 0 clamp(28px,5vh,56px)}
.lead{margin:0 0 clamp(80px,14vh,180px)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.6vw,24px);margin-bottom:clamp(80px,14vh,180px)}
.cell img{background:#e8e5dc;transition:opacity .3s}.cell:hover img{opacity:.85}
.no{display:inline-block;color:var(--muted);font-size:12px;margin:10px 10px 0 0;font-variant-numeric:tabular-nums}
.tt{font-size:12px}
.piece{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(20px,4vw,64px);padding:0 0 clamp(80px,14vh,170px);align-items:start}
.piece .art{margin:0}.piece .info{position:sticky;top:24px}
.piece h2{font-weight:500;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.03em;margin:2px 0 22px}
.facts{display:grid;grid-template-columns:7.5em 1fr;gap:7px 14px;margin:0 0 22px;font-size:13px}
.facts dt{color:var(--muted)}.facts dd{margin:0}.facts a{border-bottom:1px solid var(--line)}.facts a:hover{border-color:var(--ink)}
.facts.big{font-size:clamp(15px,1.4vw,18px);gap:12px 20px;grid-template-columns:9em 1fr;max-width:640px;margin-bottom:clamp(80px,14vh,180px)}
.plain{font-size:13px;border-bottom:1px solid var(--ink)}
.dets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:28px}.dets figure{margin:0}
.sign{max-width:420px;margin:0 0 clamp(64px,10vh,120px)}
.sign p{margin:0 0 10px;color:var(--muted);font-size:13px}
.signup{display:flex;border-bottom:1px solid var(--ink)}
.signup input{flex:1;min-width:0;background:transparent;border:0;outline:0;padding:10px 0;font:inherit;font-size:14px}
.signup input::placeholder{color:var(--muted)}
.signup button{background:none;border:0;font:inherit;font-size:13px;cursor:pointer;padding:0 0 0 14px;color:var(--ink)}
.site-footer{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:20px var(--gut) 28px;font-size:12px;color:var(--muted)}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}.site-footer a:hover{color:var(--ink)}.footer-mark{color:var(--ink)}
@media(max-width:760px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;gap:14px;padding:6px var(--gut) 22px;z-index:10;font-size:15px}.nav.open{display:flex}
.grid{grid-template-columns:1fr 1fr;row-gap:28px}.piece{grid-template-columns:1fr}.piece .info{position:static}.facts.big{grid-template-columns:7em 1fr}}

/* ---- rooms: smaller work, more space to move ---- */
.q{max-width:1360px;margin:0 auto;width:100%}
.state{margin-top:clamp(80px,16vh,200px)}
.lead{width:min(58%,760px);margin:0 0 clamp(120px,20vh,240px) auto}
.grid{max-width:920px;margin:0 auto clamp(120px,20vh,240px);gap:clamp(20px,3vw,44px)}
.piece{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,32px);padding-bottom:clamp(120px,20vh,240px)}
.piece .art{grid-column:2/7}
.piece .info{grid-column:8/12;align-self:center;position:static}
.piece:nth-of-type(even) .art{grid-column:7/12;grid-row:1}
.piece:nth-of-type(even) .info{grid-column:2/6;grid-row:1}
.facts.big{margin-left:clamp(0px,8vw,140px)}
.sign{margin-left:auto;margin-right:clamp(0px,8vw,140px)}
@media(max-width:760px){
 .lead{width:100%}
 .grid{grid-template-columns:1fr 1fr}
 .piece{grid-template-columns:1fr}
 .piece .art,.piece:nth-of-type(even) .art{grid-column:1;grid-row:auto;width:82%;justify-self:center}
 .piece .info,.piece:nth-of-type(even) .info{grid-column:1;grid-row:auto}
 .facts.big,.sign{margin-left:0;margin-right:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- home: release / between releases ---- */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body[data-mode=between] .r-only,body[data-mode=release] .b-only{display:none!important}
.mast{text-align:center;padding:clamp(28px,5vh,56px) var(--gut) 0}
.mark{font-weight:600;font-size:clamp(18px,1.8vw,24px);letter-spacing:.06em}
.home{display:flex;flex-direction:column;align-items:center;padding:0 var(--gut)}
.works{list-style:none;margin:clamp(80px,16vh,190px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,4vw,72px);width:min(100%,1180px)}
.works .w{display:flex;flex-direction:column;align-items:center;text-align:center}
.works img{width:100%;max-width:240px;margin:0 auto;transition:transform .4s ease}
.works a:hover img{transform:translateY(-4px)}
.works .t{font-size:13px;margin-top:16px}
.works .m{font-size:12px;color:var(--muted);margin-top:2px}
.status{margin:clamp(40px,7vh,72px) 0 0;font-size:13px;text-align:center}
.status a{border-bottom:1px solid var(--ink)}
.join{width:min(100%,460px);margin:clamp(110px,18vh,220px) 0 clamp(90px,14vh,170px);text-align:center}
.join p{margin:0 0 18px;color:var(--muted);font-size:14px}
.join .signup button{font-size:18px;line-height:1}
.foot{display:flex;flex-direction:column;align-items:center;gap:18px;padding:0 var(--gut) 36px;font-size:12px;color:var(--muted)}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px}
.foot a:hover{color:var(--ink)}
.foot .name{color:var(--ink);font-size:13px}
@media(max-width:760px){.works{grid-template-columns:1fr 1fr;row-gap:44px}.works img{max-width:180px}}
