/* Local study only: exhibition chrome and full-screen artwork reader. */
.gallery-curated-page .coffee-design-gallery{padding-inline:0}
.gallery-curated-page .coffee-design-inner{width:100%;max-width:none}
.gallery-curated-page .coffee-design-heading{width:min(1156px,calc(100% - 96px));margin:0 auto 14px}
.gallery-curated-page .curated-gallery{position:relative;isolation:isolate;scroll-margin-top:96px}
.curated-light{position:absolute;z-index:-1;inset:80px -7% 0;width:114%;height:calc(100% - 80px);pointer-events:none;overflow:visible}
.curated-light path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.8;vector-effect:non-scaling-stroke;stroke:url(#curated-thread)}
.curated-light .curated-flow{stroke-width:1.05;stroke-dasharray:110 1700;opacity:.45;filter:drop-shadow(0 0 2px #fff);animation:curated-flow 5s linear infinite}
.curated-light .curated-thread-base{opacity:.18}
@keyframes curated-flow{to{stroke-dashoffset:-1810}}
.gallery-curated-page .curated-guide img{transform-origin:50% 95%;animation:curated-guide-breathe 7s ease-in-out infinite}
@keyframes curated-guide-breathe{0%,100%{transform:translateY(0) rotate(-.2deg)}50%{transform:translateY(-2px) rotate(.3deg)}}
.gallery-curated-page .curated-preview-label{display:block;text-align:right;color:#94a2b7;font-size:9px;letter-spacing:.04em;margin-top:6px}
.gallery-curated-page .project-next{width:min(1156px,calc(100% - 96px));margin:34px auto 0}

.art-reader{position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:#365477;background:linear-gradient(100deg,#d8eeff,#e9e9fb 52%,#f6dbea);overflow:hidden;overscroll-behavior:contain}
.art-reader::backdrop{background:#dce7f3dd;backdrop-filter:blur(14px)}
.art-reader[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.reader-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(20px,3vw,44px) 15px;border-bottom:1px solid #ffffff85}
.reader-heading{margin:0;font-size:14px;line-height:1.45;font-weight:550;letter-spacing:.04em}
.reader-heading small{display:block;font-size:8px;letter-spacing:.13em;font-weight:400;color:#8194af;margin-top:4px}
.reader-project{margin:0;font-size:10px;letter-spacing:.04em;font-weight:450;color:#7890ab}
.reader-actions{display:flex;align-items:center;gap:10px}
.reader-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid #ffffffc9;border-radius:15px;background:linear-gradient(135deg,#ffffffc9,#f2edfbd1);box-shadow:inset 0 1px 2px #fff,0 5px 12px #859bb719;color:#59779a;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}
.reader-button svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.reader-close{width:42px;padding:0;font-size:0}
.reader-close svg{width:19px;height:19px}
.reader-button:focus-visible,.reader-arrow:focus-visible,.reader-thumb:focus-visible{outline:2px solid #6c91bf;outline-offset:4px}
.reader-stage{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:clamp(16px,3vw,44px);padding:16px clamp(20px,3vw,44px);min-height:0;min-width:0;overflow:hidden}
.reader-image-viewport{height:100%;width:100%;overflow:auto;min-width:0;min-height:0;overscroll-behavior:contain;touch-action:auto;border-radius:0;outline-offset:-3px;scrollbar-width:thin;scrollbar-color:#a4b7d6 #ffffff40}
.reader-artboard{margin:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:8px;box-sizing:border-box}
.reader-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:0;box-shadow:0 16px 32px #314c7027;cursor:zoom-in;user-select:none;-webkit-user-drag:none}
.art-reader[data-zoomed="true"] .reader-artboard{width:max(100%,var(--reader-zoom-width));height:auto;min-height:100%;align-items:flex-start}
.art-reader[data-zoomed="true"] .reader-image{width:var(--reader-zoom-width);height:auto;max-width:none;max-height:none;cursor:zoom-out}
.reader-arrow{appearance:none;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #fff;border-radius:15px;background:linear-gradient(140deg,#fff,#dceeff 60%,#f5d9e9);box-shadow:inset 0 2px 2px #fff,0 6px 14px #829cbe24;cursor:pointer;transition:translate .2s;flex:none}
.reader-arrow svg{display:block;width:24px;height:24px;fill:url(#reader-arrow-tone);filter:drop-shadow(0 1px 1px #fff8)}
.reader-prev svg{rotate:180deg}
.reader-arrow:hover{translate:0 -2px}
.reader-arrow:disabled,.reader-arrow[aria-disabled="true"]{opacity:.3;translate:none;filter:saturate(.4)}
.reader-footer{padding:0 24px max(16px,env(safe-area-inset-bottom));min-width:0}
.reader-footer-top{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:12px}
.reader-pagination{position:relative;display:flex;align-items:baseline;gap:10px;justify-content:center;min-width:138px;padding:9px 18px 11px;border:1px solid #ffffffcc;border-radius:28px;background:linear-gradient(120deg,#edf8ffd1,#f5e7f2c4);box-shadow:inset 0 1px 2px #fff,0 5px 16px #7897b51b;font-size:11px;color:#8b9fb7;font-variant-numeric:tabular-nums}
.reader-page-star{font-size:13px;color:#bc94b1}
.reader-page-current{font-size:15px;font-weight:600;color:#3a587c;min-width:23px;text-align:center}
.reader-progress{position:absolute;bottom:5px;height:2px;border-radius:2px;left:16px;width:calc((100% - 32px)*var(--reader-progress));background:linear-gradient(90deg,#91bbe5,#d4a3c5);transition:width .3s}
.reader-help{font-size:9px;line-height:1.7;margin:0;color:#7f94af;letter-spacing:.02em}
.reader-thumbnails{display:flex;align-items:center;justify-content:center;gap:7px;max-width:720px;margin:auto;padding:3px 4px 2px;overflow-x:auto;scrollbar-width:none}
.reader-thumbnails::-webkit-scrollbar{display:none}
.reader-thumb{appearance:none;flex:none;display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid #ffffffae;background:#ffffff3d;border-radius:8px;padding:3px;opacity:.55;cursor:pointer;transition:opacity .2s,translate .2s}
.reader-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.reader-thumb[aria-pressed="true"]{opacity:1;border-color:#89acd3;box-shadow:0 0 0 2px #ffffffc2;translate:0 -2px}
.reader-notice-slot{position:absolute;inset:0;display:grid;place-items:center;z-index:3;pointer-events:none}
.reader-notice-slot .gallery-end-notice{white-space:normal;text-align:center}
.reader-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){
 .gallery-curated-page .coffee-design-heading{width:calc(100% - 40px);margin-bottom:5px}
 .gallery-curated-page .curated-gallery{scroll-margin-top:72px}
 .gallery-curated-page .curated-preview-label{font-size:8px}
 .gallery-curated-page .project-next{width:calc(100% - 40px)}
 .reader-header{padding:14px 16px 12px;gap:10px}
 .reader-heading{font-size:13px}.reader-heading small{font-size:7px}
 .reader-project{display:none}
 .reader-actions{gap:7px}
 .reader-button{min-height:42px;font-size:10px;padding-inline:10px;border-radius:13px;gap:5px}
 .reader-button svg{width:15px;height:15px}.reader-close{width:42px;padding:0}.reader-close svg{width:18px;height:18px}
 .reader-stage{grid-template-columns:32px minmax(0,1fr) 32px;gap:7px;padding:14px 8px}
 .reader-arrow{width:32px;height:44px;border-radius:12px}.reader-arrow svg{width:21px;height:21px}
 .reader-artboard{padding:4px 0}
 .reader-footer{padding-inline:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
 .reader-footer-top{flex-direction:column;gap:6px;margin-bottom:9px}
 .reader-pagination{min-width:130px;padding:8px 16px 10px}
 .reader-help{font-size:8px}
 .reader-thumbnails{justify-content:flex-start;gap:5px;padding-block:4px}
 .reader-thumb{width:40px;height:42px}
 /* Mobile gives the artwork the full width; navigation sits below it. */
 .art-reader[open]{grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:auto minmax(0,1fr) 44px 22px 50px;column-gap:8px;padding:0 12px max(12px,env(safe-area-inset-bottom))}
 .reader-header{grid-column:1/-1;grid-row:1;margin-inline:-12px}
 .reader-stage,.reader-footer,.reader-footer-top{display:contents}
 .reader-image-viewport{grid-column:1/-1;grid-row:2;height:calc(100% - 24px);margin-block:12px}
 .reader-prev{grid-column:1;grid-row:3;justify-self:center}
 .reader-next{grid-column:3;grid-row:3;justify-self:center}
 .reader-arrow{width:44px;height:44px}
 .reader-pagination{grid-column:2;grid-row:3;justify-self:center;min-width:0;width:130px;max-width:100%;box-sizing:border-box;margin:0}
 .reader-help{grid-column:1/-1;grid-row:4;text-align:center;align-self:center;margin:0}
 .reader-thumbnails{grid-column:1/-1;grid-row:5;align-self:end;justify-self:center;width:100%;box-sizing:border-box}
 .reader-notice-slot{inset:80px 0 150px}
}
@media(prefers-reduced-motion:reduce){.curated-light .curated-flow,.gallery-curated-page .curated-guide img{animation:none}.reader-arrow,.reader-thumb,.reader-progress{transition:none}}
