/* Maximalist.me — museum as an editorial feature, never a catalogue of UI tiles. */
.brand-tld{color:#927a54}
body.has-objects main{max-width:1710px;padding:0 clamp(16px,2.6vw,46px) clamp(65px,7vw,120px)!important}
body.has-objects .section-head{margin:clamp(24px,3vw,45px) 0 12px;align-items:end}
body.has-objects .section-head h2{font:normal clamp(43px,5vw,86px)/.97 Georgia,serif;letter-spacing:-.055em;margin:6px 0 0}
body.has-objects .section-head .eyebrow{letter-spacing:.27em}
body.has-objects .collection-toolbar{margin:5px 0}
body.has-objects .collection-search{margin:10px 0 20px;max-width:430px}
body.has-objects .collection-search>div{background:#f1eee7;border:1px solid #e0d9ce}
body.has-objects #status{font-size:12px;letter-spacing:.035em;color:#756c60}
body.has-objects .gallery{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:clamp(42px,4.1vw,76px);grid-auto-flow:row;
  gap:clamp(5px,.7vw,11px);margin-top:12px;align-items:stretch;
}
.gallery .card,.gallery .card:nth-child(n){
  grid-column:span 4;grid-row:span 5;
  display:block;position:relative;isolation:isolate;
  min-height:0!important;overflow:hidden;background:#d4c7b1;
  border:0;border-radius:2px;box-shadow:none;
  transform:none;transition:none;text-align:left;
}
.gallery .card:nth-child(8n+1){grid-column:span 7;grid-row:span 7;background:#c5b69d}
.gallery .card:nth-child(8n+2){grid-column:span 5;grid-row:span 4;background:#9d8d79}
.gallery .card:nth-child(8n+3){grid-column:span 5;grid-row:span 3;background:#b8aba1}
.gallery .card:nth-child(8n+4){grid-column:span 4;grid-row:span 5;background:#82796e}
.gallery .card:nth-child(8n+5){grid-column:span 4;grid-row:span 5;background:#9f8d73}
.gallery .card:nth-child(8n+6){grid-column:span 4;grid-row:span 5;background:#afaa9f}
.gallery .card:nth-child(8n+7){grid-column:span 5;grid-row:span 4;background:#c3ab87}
.gallery .card:nth-child(8n){grid-column:span 7;grid-row:span 4;background:#62574c}
.gallery[data-count="1"] .card:not([hidden]){grid-column:span 12!important;grid-row:span 8!important}
.gallery[data-count="2"] .card:not([hidden]){grid-column:span 6!important;grid-row:span 7!important}
.gallery .card[hidden]{display:none!important}
.gallery .card .frame,.gallery .card:nth-child(n) .frame{
  position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;
  display:grid;place-items:center;background:transparent;overflow:hidden;
}
.gallery .card .frame img,.gallery .card:nth-child(n) .frame img{
  display:block;width:100%;height:100%;padding:0;
  object-fit:cover;object-position:40% center;filter:saturate(.92) contrast(1.035);
  transform:scale(1.08);transition:transform .65s cubic-bezier(.18,.8,.2,1),filter .4s ease;
}
.gallery .card:hover .frame img,.gallery .card:focus-visible .frame img{transform:scale(1.14);filter:saturate(1.03) contrast(1.02)}
.gallery .card .frame-waiting{
  width:min(76%,360px);font:italic clamp(20px,2.3vw,42px)/1.04 Georgia,serif;
  letter-spacing:-.035em;text-align:center;color:#f6f0e6;
  text-shadow:0 1px 12px rgba(29,25,20,.25);
}
.gallery .card .info{
  position:absolute;z-index:2;inset:auto 0 0;padding:clamp(20px,2.6vw,42px);
  border:0;color:#fff;background:linear-gradient(0deg,rgba(18,17,16,.73),rgba(18,17,16,0));
  display:flex;flex-direction:column;justify-content:end;min-height:42%;
  pointer-events:none;
}
.gallery .card .info strong{
  color:#fff;font:normal clamp(22px,2.7vw,48px)/1.02 Georgia,serif;
  letter-spacing:-.042em;text-shadow:0 1px 8px rgba(0,0,0,.16);
  overflow:visible;display:block;-webkit-line-clamp:unset;
}
.gallery .card .info span{display:block;color:#f1e5d4;font-size:11px;letter-spacing:.07em;margin:8px 0 0}
.gallery .card .object-number{display:none!important}
.gallery .card:focus-visible{outline:4px solid #e4b36b;outline-offset:2px}
@media (min-width:1050px){
 .gallery .card .info{opacity:.82;transition:opacity .3s ease}
 .gallery .card:hover .info,.gallery .card:focus-visible .info{opacity:1}
}
@media(max-width:800px){
 body.has-objects main{padding:0 13px 86px!important}
 body.has-objects .section-head{margin:25px 4px 13px}
 body.has-objects .section-head h2{font-size:clamp(38px,7.5vw,62px)}
 body.has-objects .collection-search{margin:12px 4px 17px;max-width:none}
 body.has-objects .gallery{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(38px,9vw,70px);gap:6px}
 .gallery .card,.gallery .card:nth-child(n){grid-column:span 3;grid-row:span 4}
 .gallery .card:nth-child(6n+1){grid-column:span 6;grid-row:span 5}
 .gallery .card:nth-child(6n+2){grid-column:span 3;grid-row:span 4}
 .gallery .card:nth-child(6n+3){grid-column:span 3;grid-row:span 4}
 .gallery .card:nth-child(6n+4){grid-column:span 6;grid-row:span 3}
 .gallery[data-count="1"] .card:not([hidden]){grid-column:span 6!important;grid-row:span 6!important}
 .gallery[data-count="2"] .card:not([hidden]){grid-column:span 3!important;grid-row:span 5!important}
 .gallery .card .info{padding:18px;min-height:48%}
 .gallery .card .info strong{font-size:clamp(21px,4.4vw,34px)}
 .gallery .card .frame img{transform:scale(1.04)}
 .gallery .card:hover .frame img{transform:scale(1.08)}
}
@media(max-width:440px){
 body.has-objects .section-head h2{font-size:43px}
 .gallery .card .info{padding:14px}
 .gallery .card .info strong{font-size:clamp(20px,6vw,30px)}
 .gallery .card .info span{font-size:10px}
 .gallery .card .frame-waiting{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
 .gallery .card .frame img,.gallery .card .info{transition:none!important;transform:none!important}
}

/* Full-bleed museum: images are the interface, with no permanent sidebar or page frame. */
body.has-objects{overflow-x:hidden}
body.has-objects main{width:100%;max-width:none!important;margin:0;padding:0 0 88px!important}
body.has-objects .section-head{margin:22px clamp(16px,2.1vw,36px) 10px}
body.has-objects .collection-toolbar{margin:2px clamp(16px,2.1vw,36px)}
body.has-objects .collection-search{margin:9px clamp(16px,2.1vw,36px) 15px}
body.has-objects .gallery{gap:3px;margin:0;width:100%;grid-auto-rows:clamp(43px,4.6vw,85px)}
body.has-objects .gallery .card{border-radius:0}
body.has-objects .gallery .card .frame img{object-position:center;transform:scale(1.008);filter:saturate(1.05) contrast(1.02)}
body.has-objects .gallery .card:hover .frame img{transform:scale(1.055)}
body.has-objects .gallery .card .info{min-height:31%;padding:clamp(16px,2vw,32px);background:linear-gradient(0deg,rgba(18,17,16,.72),transparent)}
body.has-objects .gallery .card .info span{font-size:10px}
body.has-objects .gallery .card.is-preparing{background:linear-gradient(115deg,#b6aa9d,#cec1b0,#afa292);background-size:250% 250%;animation:hero-warmth 6s ease-in-out infinite}
@keyframes hero-warmth{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.collection-filters{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none;padding:8px clamp(16px,2.1vw,36px) 7px;white-space:nowrap}
.collection-filters::-webkit-scrollbar{display:none}
.collection-filter{flex:none;border:1px solid #dbd3c6;border-radius:24px;background:transparent;color:#6e6152;padding:9px 16px;font-size:12px}
.collection-filter[aria-pressed="true"]{background:#2f372f;color:#fff;border-color:#2f372f}
.collection-filter:focus-visible{outline:2px solid #ae956e;outline-offset:2px}
#detail .preparing-art{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:radial-gradient(circle at 50% 36%,#f6f1e7,#d9d4c9);padding:clamp(22px,6vw,65px);text-align:center;color:#34332c}
#detail .preparing-art strong{font:normal clamp(29px,4vw,50px)/1.05 Georgia,serif;letter-spacing:-.055em}
#detail .preparing-art span:not(.preparing-mark){font:normal 15px/1.6 Arial,sans-serif;max-width:33ch;color:#696358}
#detail .preparing-art small{font-size:12px;line-height:1.5;color:#897866}
#detail .preparing-mark{display:block;font:66px/1 Georgia,serif;color:#ad8d55;animation:preparing-turn 8s ease-in-out infinite}
@keyframes preparing-turn{0%,100%{transform:rotate(-20deg) scale(.94);opacity:.6}50%{transform:rotate(35deg) scale(1.1);opacity:1}}
#detail-ai-summary{font:normal clamp(13px,1.6vw,17px)/1.5 Arial,sans-serif;color:#6b6358;max-width:68ch;margin:5px auto 12px;text-align:center}
#detail-ai-summary[hidden]{display:none!important}
@media(max-width:800px){
 body.has-objects main{padding:0 0 88px!important}
 body.has-objects .section-head{margin:16px 15px 8px}
 body.has-objects .collection-search{margin:5px 15px 12px}
 body.has-objects .collection-toolbar{margin:2px 15px}
 body.has-objects .gallery{gap:2px;margin:0;grid-auto-rows:clamp(45px,11vw,73px)}
 body.has-objects .gallery .card .info{padding:12px}
 .collection-filters{padding:6px 15px 11px}
 .collection-filter{font-size:12px;padding:10px 14px}
 #detail .preparing-art{padding:18px}
 #detail .preparing-art strong{font-size:35px}
}
@media(prefers-reduced-motion:reduce){
 body.has-objects .gallery .card.is-preparing,#detail .preparing-mark{animation:none}
}

#detail .view-caption #detail-ai-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:70ch;margin:7px auto;line-height:1.38}

/* Individually stored pieces of the one-call plate, browsable without zooming a montage. */
#detail .generated-panels{display:flex;flex:none;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:8px clamp(14px,2vw,30px);background:#e8e5dc;border-top:1px solid #d5cec0}
#detail .generated-panels[hidden]{display:none!important}
#detail .generated-panel{flex:0 0 auto;width:106px;padding:0;border:0;background:transparent;color:#51493e;text-align:center;cursor:pointer}
#detail .generated-panel img{display:block;width:106px;height:66px;object-fit:cover;border-radius:3px;box-shadow:0 1px 5px #0002}
#detail .generated-panel span{display:block;font-size:11px;margin-top:5px}
#detail .generated-panel:focus-visible{outline:3px solid #ab9166;outline-offset:3px}
#detail .generated-panels small{max-width:19ch;font:11px/1.4 Arial,sans-serif;color:#8a6e54}
@media(max-width:800px){
 #detail .generated-panels{gap:5px;padding:7px 11px 5px}
 #detail .generated-panel{width:81px}
 #detail .generated-panel img{width:81px;height:52px}
 #detail .generated-panel span{font-size:10px;margin-top:3px}
}

/* Core fidelity rule: never crop away part of an object to fill the gallery cell. */
body.has-objects .gallery .card .frame img,
body.has-objects .gallery .card:nth-child(n) .frame img,
.gallery .card .frame img{
 object-fit:contain!important;
 object-position:center!important;
 transform:none!important;
 filter:saturate(1.025) contrast(1.01);
}
body.has-objects .gallery .card:hover .frame img,
body.has-objects .gallery .card:focus-visible .frame img{transform:none!important}
body.has-objects .gallery .card .frame{background:#a99f90}
#detail .generated-panel img{object-fit:contain!important;background:#afa699}
@media(min-width:900px){body.has-objects .gallery .card .info{min-height:18%;padding:clamp(14px,1.5vw,27px)}}

/* Selected saved view stays legible and thumb reachable; thumbnails never crop objects. */
#detail .generated-panel{min-height:44px;border-radius:6px;padding:4px}
#detail .generated-panel[aria-pressed="true"]{background:#51493e;color:#fff;box-shadow:0 0 0 1px #51493e}
#detail .generated-panel img{filter:none}
/* Recovery actions wrap on a narrow phone without pushing the page sideways. */
.collection-toolbar{flex-wrap:wrap}.collection-toolbar #status{flex:1 1 130px;min-width:0}
/* Keep the decoded image inside its fixed gallery cell, including tall portraits. */
body.has-objects .gallery .card .frame>img{position:absolute;inset:0;min-width:0;min-height:0;width:100%;height:100%}
