/* Shared project rooms in KALINA's blue/pink exhibition. */
body.coffee-exhibit{background:linear-gradient(90deg,#d5edff 0%,#e6eaff 49%,#f7d8e9 100%);color:#365477}
.coffee-exhibit .gallery-header{background:linear-gradient(90deg,#d5edff 0%,#e6eaff 49%,#f7d8e9 100%);backdrop-filter:none;-webkit-backdrop-filter:none}
.coffee-exhibit #project-root{position:relative;isolation:isolate;overflow:hidden}
.coffee-exhibit .coffee-top-band,.coffee-exhibit .coffee-information,.coffee-exhibit .coffee-design-gallery{background:none;overflow:visible}
.coffee-exhibit .coffee-information::before,.coffee-exhibit .coffee-information::after,.coffee-exhibit .coffee-design-gallery::before,.coffee-exhibit .coffee-information-heading h2::after{display:none}
.coffee-exhibit .coffee-top{width:min(1280px,100%);min-height:294px;padding:27px clamp(24px,4vw,62px) 30px}
.coffee-exhibit .project-topline{font-size:9px;letter-spacing:.08em;padding:0;border:0;color:#6d86a5;gap:20px}
.coffee-exhibit .coffee-top .project-kicker{margin:33px 0 12px;font-size:10px;letter-spacing:.09em;color:#9c7092;max-width:calc(100% - 300px)}
.coffee-exhibit .coffee-top h1{font-size:clamp(25px,2.9vw,38px);line-height:1.3;letter-spacing:-.035em;font-weight:650;white-space:nowrap;max-width:calc(100% - 300px);color:#304e72}
.coffee-exhibit .coffee-top .project-subtitle{margin:14px 0 0;font-size:15px;font-weight:400;letter-spacing:.025em;color:#7284a1}
.coffee-exhibit .coffee-top-scenery .coffee-orbit{display:none}
.coffee-exhibit .coffee-bubble-one{right:29%;top:35%;width:19px;height:19px;opacity:.65}
.coffee-exhibit .coffee-bubble-two{right:5%;bottom:22%;width:12px;height:12px;opacity:.55}
.coffee-exhibit .coffee-spark{display:none}
.coffee-exhibit .coffee-guide{width:232px;height:232px;right:clamp(40px,5vw,75px);top:33px;z-index:1;isolation:isolate}
.coffee-exhibit .coffee-presenter-body{position:relative;transform-origin:52% 94%;animation:coffee-exhibit-breathe 8s ease-in-out infinite;animation-play-state:paused}
.coffee-exhibit .coffee-presenter-body img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.coffee-exhibit .coffee-guide.is-visible .coffee-presenter-body{animation-play-state:running}
.coffee-exhibit .coffee-guide::before{content:'';position:absolute;z-index:-1;left:24%;right:18%;bottom:8px;height:18px;border:1px solid #ffffffc7;border-radius:50%;background:linear-gradient(#fff9,#efcde3b5);box-shadow:0 7px 16px #9496bc1c}
.coffee-exhibit .coffee-guide figcaption{right:auto;left:-91px;top:22px;width:154px;padding:10px 13px;border-radius:18px;background:linear-gradient(140deg,#ffffffd9,#fff0f6da);color:#7e7c9d;font-size:10px;font-weight:400;box-shadow:inset 0 1px 2px #fff,0 6px 16px #8c9cbb14;animation:none;opacity:1;transform:none}
.coffee-exhibit .coffee-guide figcaption::after{content:'';position:absolute;right:15px;bottom:-4px;width:8px;height:8px;transform:rotate(45deg);background:#fcf5fb;border-right:1px solid #fff;border-bottom:1px solid #fff}
.coffee-exhibit .coffee-guide figcaption span{display:none}
.coffee-exhibit .coffee-information{padding:8px clamp(24px,4vw,62px) 44px;isolation:auto}
.coffee-exhibit .coffee-information-inner{width:min(1156px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px;row-gap:23px}
.coffee-exhibit .coffee-information-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin:0 0 1px;gap:20px}
.coffee-exhibit .coffee-information-heading>span{order:0;align-self:center;text-align:left;font-size:8px;font-weight:400;letter-spacing:.13em;color:#8194ae;display:flex;align-items:center;gap:10px}
.coffee-exhibit .coffee-information-heading>span::before{content:'';width:22px;height:2px;border-radius:2px;background:#d99bbb}
.coffee-exhibit .coffee-information-heading .coffee-title-stack{order:1;margin-left:auto;text-align:right}
.coffee-exhibit .coffee-title-stack h2{font-size:22px;font-weight:600;line-height:1.4;letter-spacing:.025em;color:#365477}
.coffee-exhibit .coffee-title-stack small{font-size:9px;font-weight:400;letter-spacing:.08em;color:#8294ae;margin-top:4px;line-height:1.5}
.coffee-exhibit .coffee-information-row{display:block;position:relative;min-width:0;align-self:stretch;margin:0;padding:22px 23px 24px;border:1px solid #ffffffd9;border-radius:22px;background:linear-gradient(145deg,#f1fbffe8,#cce3f9e8);box-shadow:inset 0 2px 3px #ffffffd6,0 12px 25px #8197b61c;transform:rotate(-.65deg)}
.coffee-exhibit .coffee-information-row:nth-of-type(2){background:linear-gradient(145deg,#fff4faed,#f0d3e5ed);transform:translateY(10px) rotate(.65deg)}
.coffee-exhibit .coffee-information-row:nth-of-type(3){background:linear-gradient(145deg,#f8f5ffed,#dcd7f2ed);transform:rotate(-.45deg)}
.coffee-exhibit .coffee-information-row::after{content:'';position:absolute;right:17px;top:18px;width:6px;height:6px;border-radius:50%;background:#fff9;box-shadow:inset 0 1px 2px #fff;pointer-events:none}
.coffee-exhibit .coffee-information-label{margin:0 0 18px}
.coffee-exhibit .coffee-information-label span{padding:0;background:none!important;border-radius:0;color:#8397b3!important;font-size:8px;letter-spacing:.1em;font-weight:400}
.coffee-exhibit .coffee-information-label h3{font-size:19px;font-weight:550;letter-spacing:.025em;margin:13px 0 6px;line-height:1.3;color:#3b587b}
.coffee-exhibit .coffee-information-label small{font-size:7px;font-weight:400;letter-spacing:.1em;color:#8396af}
.coffee-exhibit .coffee-information-row p{font-size:13px;font-weight:400;line-height:2.05;letter-spacing:.025em;max-width:none;color:#566f8d;margin:0;overflow-wrap:anywhere}
.coffee-exhibit .coffee-design-gallery{padding:24px clamp(24px,4vw,62px) 32px;isolation:auto}
.coffee-exhibit .coffee-design-inner{width:min(1156px,100%)}
.coffee-exhibit .coffee-design-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px 20px;margin:0 68px 23px;padding:0;border:0}
.coffee-exhibit .coffee-design-heading>span{grid-column:1;grid-row:1;text-align:left;font-size:8px;font-weight:400;letter-spacing:.13em;color:#8194ae}
.coffee-exhibit .coffee-design-heading .coffee-title-stack{grid-column:2;grid-row:1/3;text-align:right}
.coffee-exhibit .coffee-design-heading>p{grid-column:1;grid-row:2;justify-self:start;margin:0;text-align:left;font-size:10px;line-height:1.8;color:#8294ac}
.coffee-exhibit .coffee-carousel{grid-template-columns:48px minmax(0,1fr) 48px;gap:20px}
.coffee-exhibit .coffee-carousel-window{border-radius:20px;background:#edf5ff3b;border:0;box-shadow:0 16px 32px #7b95b321}
.coffee-exhibit .coffee-slide{height:clamp(360px,48vw,620px)}
.coffee-exhibit .coffee-slide a{padding:0;background:none}
.coffee-exhibit .coffee-slide img{object-fit:contain;filter:none;border-radius:0}
.coffee-exhibit .coffee-carousel-arrow{width:46px;height:46px;border-radius:15px;border:1px solid #fff;background:linear-gradient(145deg,#fff,#dbeeff 65%,#f5d9e9);box-shadow:inset 0 2px 2px #fff,0 7px 14px #829cbe24;transition:translate .25s,box-shadow .25s;transform:none}
.coffee-exhibit .coffee-carousel-arrow::before{display:none}
.coffee-exhibit .coffee-carousel-arrow svg{width:24px;height:24px;fill:url(#coffee-exhibit-arrow);filter:drop-shadow(0 1px 1px #fff9)}
.coffee-exhibit .coffee-carousel-arrow:hover{translate:0 -2px;background:linear-gradient(145deg,#fff,#dbeeff 65%,#f5d9e9);transform:none;box-shadow:inset 0 2px 2px #fff,0 10px 17px #829cbe35}
.coffee-exhibit .coffee-carousel-meta{margin:0 68px;padding:15px 0 18px;border-bottom:1px solid #ffffff9e;color:#7e91ab;font-size:10px;line-height:1.7;align-items:start}
.coffee-exhibit .coffee-carousel-count{font-size:12px;font-weight:500;color:#6582a3;white-space:nowrap}
.coffee-exhibit .coffee-carousel-caption{text-align:right}
.coffee-exhibit .coffee-motion{width:calc(100% - 136px);margin:48px auto 24px;padding:0;border:0}
.coffee-exhibit .coffee-motion-heading{grid-template-columns:1fr auto;gap:9px 20px;align-items:center;margin-bottom:22px}
.coffee-exhibit .coffee-motion-heading>span{grid-column:1;grid-row:1;justify-self:start;text-align:left;font-size:8px;font-weight:400;letter-spacing:.13em;color:#8194ae}
.coffee-exhibit .coffee-motion-heading .coffee-title-stack{grid-column:2;grid-row:1/3;text-align:right}
.coffee-exhibit .coffee-motion-heading>p{grid-column:1;grid-row:2;justify-self:start;margin:0;text-align:left;font-size:10px;color:#8294ac}
.coffee-exhibit .coffee-motion-player{border:0;border-radius:20px;background:#d6e7fb;box-shadow:0 16px 32px #7b95b329;object-fit:contain}
.coffee-exhibit .project-next{margin:35px 68px 0;padding:0;border:0;gap:20px;font-size:11px}
.coffee-exhibit .project-next a{padding:13px 17px;border:1px solid #ffffffaf;border-radius:14px;background:linear-gradient(135deg,#ffffff85,#eaf3ff5c);color:#7186a3;box-shadow:inset 0 1px 2px #fff8;transition:translate .25s}
.coffee-exhibit .project-next a:hover{translate:0 -2px;color:#6e7799}
.coffee-exhibit .site-footer{width:min(1156px,calc(100% - 2 * clamp(24px,4vw,62px)));min-height:80px;margin:auto;padding:20px 0;border-top:1px solid #ffffff8c;background:none;color:#8a9ab0;font-size:9px}
.coffee-exhibit .site-footer a{border:0;color:#7186a3}
.coffee-exhibit-light{position:absolute;z-index:-1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.coffee-exhibit-light path{fill:none;stroke:url(#coffee-exhibit-thread);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.coffee-exhibit-light .coffee-thread-base{stroke-width:1.2;opacity:.3}
.coffee-exhibit-light .coffee-thread-glow{stroke-width:2;stroke-dasharray:160 1600;opacity:.75;filter:drop-shadow(0 0 4px #fff);animation:coffee-exhibit-flow 6s linear infinite;animation-play-state:paused}
.coffee-exhibit-light.is-visible .coffee-thread-glow{animation-play-state:running}
.coffee-exhibit-star{position:absolute;z-index:0;pointer-events:none;width:14px;height:14px;fill:url(#coffee-exhibit-star-tone);filter:drop-shadow(0 0 3px #fff8)}
.coffee-star-one{left:3%;top:310px;rotate:-10deg}.coffee-star-two{right:2.3%;top:775px;width:11px;height:11px;rotate:15deg}.coffee-star-three{left:2.3%;top:1680px;width:16px;height:16px;rotate:8deg}
@keyframes coffee-exhibit-flow{from{stroke-dashoffset:160}to{stroke-dashoffset:-1000}}
@keyframes coffee-exhibit-breathe{0%,100%{transform:rotate(-.3deg) scale(1)}50%{transform:rotate(.35deg) scale(1.002,1.005)}}
@media(min-width:761px) and (max-width:1050px){.coffee-exhibit .coffee-information-inner{gap:18px}.coffee-exhibit .coffee-information-row{padding:20px 18px}.coffee-exhibit .coffee-information-row p{font-size:12px}.coffee-exhibit .coffee-top h1{font-size:29px;max-width:calc(100% - 245px)}.coffee-exhibit .coffee-guide{width:205px;height:205px;right:30px;top:47px}.coffee-exhibit .coffee-guide figcaption{font-size:9px;left:-78px;width:138px}.coffee-exhibit .coffee-information-label h3{font-size:18px}}
@media(max-width:760px){
 .coffee-exhibit .coffee-top{width:100%;min-height:300px;padding:25px 24px 20px}.coffee-exhibit .project-topline{font-size:8px;gap:15px;letter-spacing:.03em}.coffee-exhibit .project-topline span{max-width:50%;font-size:7px}
 .coffee-exhibit .coffee-top .project-kicker{margin:27px 0 10px;max-width:none;font-size:9px}.coffee-exhibit .coffee-top h1{font-size:clamp(16px,5vw,29px);max-width:none;letter-spacing:-.04em;white-space:nowrap}.coffee-exhibit .coffee-top .project-subtitle{font-size:12px;margin-top:14px}
 .coffee-exhibit .coffee-guide{width:145px;height:145px;top:147px;right:21px}.coffee-exhibit .coffee-guide figcaption{display:block;left:-116px;top:38px;width:128px;font-size:8px;padding:9px 10px;border-radius:15px}.coffee-exhibit .coffee-guide::before{height:12px;bottom:5px}
 .coffee-exhibit .coffee-bubble-one{right:45%;top:60%;width:13px;height:13px}.coffee-exhibit .coffee-bubble-two{right:5%;bottom:23%;width:9px;height:9px}
 .coffee-exhibit .coffee-information{padding:5px 24px 29px}.coffee-exhibit .coffee-information-inner{grid-template-columns:1fr;gap:16px}.coffee-exhibit .coffee-information-heading{gap:12px;margin-bottom:4px}.coffee-exhibit .coffee-information-heading>span{font-size:6.5px;letter-spacing:.06em;gap:7px}.coffee-exhibit .coffee-information-heading>span::before{width:15px}.coffee-exhibit .coffee-title-stack h2{font-size:19px}.coffee-exhibit .coffee-title-stack small{font-size:8px;letter-spacing:.045em}
 .coffee-exhibit .coffee-information-row{padding:20px 22px 23px;border-radius:20px;transform:none}.coffee-exhibit .coffee-information-row:nth-of-type(2),.coffee-exhibit .coffee-information-row:nth-of-type(3){transform:none}.coffee-exhibit .coffee-information-label{margin-bottom:14px}.coffee-exhibit .coffee-information-label h3{font-size:18px;margin-top:10px}.coffee-exhibit .coffee-information-row p{font-size:13px;line-height:2}.coffee-exhibit .coffee-information-label small{font-size:7px}
 .coffee-exhibit .coffee-design-gallery{padding:18px 16px 26px}.coffee-exhibit .coffee-design-heading{display:grid;grid-template-columns:1fr auto;gap:7px 10px;margin:0 8px 18px;padding:0}.coffee-exhibit .coffee-design-heading>span{font-size:7px;letter-spacing:.06em}.coffee-exhibit .coffee-design-heading>p{font-size:8px;max-width:160px;line-height:1.7}.coffee-exhibit .coffee-design-heading .coffee-title-stack{margin:0}
 .coffee-exhibit .coffee-carousel{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px}.coffee-exhibit .coffee-carousel-arrow{width:29px;height:34px;border-radius:11px}.coffee-exhibit .coffee-carousel-arrow svg{width:18px;height:18px}.coffee-exhibit .coffee-carousel-window{border-radius:13px}.coffee-exhibit .coffee-slide{height:clamp(180px,62vw,380px)}.coffee-exhibit .coffee-carousel-meta{margin-inline:36px;font-size:9px;padding:12px 0 15px;gap:14px}.coffee-exhibit .coffee-carousel-count{font-size:10px}
 .coffee-exhibit .coffee-motion{width:100%;margin-top:34px}.coffee-exhibit .coffee-motion-heading{display:grid;grid-template-columns:1fr auto;gap:7px 10px;margin:0 8px 18px}.coffee-exhibit .coffee-motion-heading>span{grid-column:1;grid-row:1;font-size:6px;letter-spacing:.07em}.coffee-exhibit .coffee-motion-heading>p{grid-column:1;grid-row:2;font-size:8px}.coffee-exhibit .coffee-motion-heading .coffee-title-stack{grid-column:2;grid-row:1/3}.coffee-exhibit .coffee-motion-heading h2{font-size:16px}.coffee-exhibit .coffee-motion-heading small{font-size:6px;letter-spacing:.01em}.coffee-exhibit .coffee-motion-player{border-radius:14px}
 .coffee-exhibit .project-next{display:flex;margin:26px 8px 0;gap:12px;align-items:stretch;font-size:9px}.coffee-exhibit .project-next a{padding:11px 12px;border-radius:12px;line-height:1.6;display:flex;align-items:center}.coffee-exhibit .site-footer{width:calc(100% - 48px);min-height:70px;font-size:8px;gap:12px}.coffee-star-one{left:3%;top:298px;width:10px;height:10px}.coffee-star-two{right:1%;top:1180px;width:9px;height:9px}.coffee-star-three{left:1%;top:1840px;width:10px;height:10px}.coffee-exhibit-light{opacity:.7}
}
@media(prefers-reduced-motion:reduce){.coffee-exhibit .coffee-presenter-body,.coffee-exhibit-light .coffee-thread-glow{animation:none!important}.coffee-exhibit-light .coffee-thread-glow{display:none}.coffee-exhibit .project-next a,.coffee-exhibit .coffee-carousel-arrow{transition:none}}

/* Small sculpted objects live in the margins, behind the reading surfaces. */
.coffee-exhibit .coffee-information-inner,.coffee-exhibit .coffee-design-inner{position:relative;z-index:1}
.coffee-exhibit .coffee-motion{position:relative}
.coffee-small-decor{position:absolute;inset:0;z-index:0;pointer-events:none}
.coffee-small-decor .decor-element{position:absolute;display:block;left:var(--decor-x);top:var(--decor-y);width:var(--decor-size);height:var(--decor-size);pointer-events:none}
.coffee-small-decor .decor-star{fill:url(#coffee-exhibit-star-tone);filter:drop-shadow(0 2px 2px #c8ab7b1c);rotate:12deg;opacity:.86}
.coffee-small-decor .decor-bubble{border:1px solid #ffffffc9;border-radius:50%;background:radial-gradient(circle at 28% 22%,#fff 0 8%,#ffffffaf 16%,#e1f1ff6b 48%,#aacff081 74%,#ddb8d890);box-shadow:inset 0 1px 2px #fff,0 4px 9px #809abc16;animation:coffee-small-float 9s ease-in-out var(--decor-delay) infinite;animation-play-state:paused}
.coffee-small-decor .decor-ring{border:5px solid;border-color:#d7ecff #a9ccee #a9bfdf #d9def7;border-radius:50%;background:transparent;box-shadow:inset 0 1px 2px #8295b126,1px 3px 4px #8799b524;transform:rotate(-17deg) scaleX(.87)}
.coffee-decor-info .decor-ring{border-width:4px;border-color:#ffe0ed #e7b9d1 #dcb2cf #fae1f0;transform:rotate(20deg) scaleX(.88)}
.coffee-decor-gallery .decor-ring,.coffee-decor-film .decor-ring{border-width:4px}
.coffee-small-decor.is-visible .decor-bubble{animation-play-state:running}
@keyframes coffee-small-float{0%,100%{translate:0 0}50%{translate:1px -3px}}
@media(max-width:760px){
 .coffee-small-decor .decor-wide-only,.coffee-decor-film{display:none}
 .coffee-decor-top .decor-star{left:12%;top:225px;width:11px;height:11px}
 .coffee-decor-top .decor-bubble{left:14%;top:175px;width:11px;height:11px}
 .coffee-decor-top .decor-ring{left:45%;top:240px;width:18px;height:18px;border-width:4px}
 .coffee-decor-info .decor-star{left:4px;top:145px;width:10px;height:10px}
 .coffee-decor-info .decor-bubble{left:8px;top:165px;width:8px;height:8px}
 .coffee-decor-info .decor-ring{left:calc(100% - 14px);top:244px;width:12px;height:12px;border-width:3px}
 .coffee-decor-gallery .decor-star{left:0;top:55px;width:10px;height:10px}
 .coffee-decor-gallery .decor-bubble{left:3px;top:76px;width:8px;height:8px}
 .coffee-decor-gallery .decor-ring{left:calc(100% - 13px);top:105px;width:12px;height:12px;border-width:3px}
}
@media(prefers-reduced-motion:reduce){.coffee-small-decor .decor-bubble{animation:none!important}}

/* Chinese titles lead on the left; English names and short notes align right. */
.coffee-exhibit :is(.coffee-information-heading,.coffee-design-heading,.coffee-motion-heading){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 22px}
.coffee-exhibit :is(.coffee-information-heading,.coffee-design-heading,.coffee-motion-heading) .coffee-title-stack{display:contents}
.coffee-exhibit :is(.coffee-information-heading,.coffee-design-heading,.coffee-motion-heading) .coffee-title-stack h2{grid-column:1;grid-row:1/4;align-self:center;justify-self:start;margin:0;text-align:left}
.coffee-exhibit :is(.coffee-information-heading,.coffee-design-heading,.coffee-motion-heading) .coffee-title-stack small{grid-column:2;grid-row:1;align-self:end;justify-self:end;margin:0;text-align:right}
.coffee-exhibit :is(.coffee-information-heading,.coffee-design-heading,.coffee-motion-heading)>span{grid-column:2;grid-row:2;align-self:center;justify-self:end;text-align:right}
.coffee-exhibit :is(.coffee-design-heading,.coffee-motion-heading)>p{grid-column:2;grid-row:3;align-self:start;justify-self:end;margin:0;text-align:right}
.coffee-exhibit .coffee-information-label{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center;min-height:68px}
.coffee-exhibit .coffee-information-label>span{grid-column:1/-1;grid-row:1;justify-self:start;align-self:start;margin:0 0 13px;line-height:1.4}
.coffee-exhibit .coffee-information-label h3{grid-column:1;grid-row:2;align-self:center;margin:0;text-align:left}
.coffee-exhibit .coffee-information-label small{grid-column:2;grid-row:2;align-self:center;justify-self:end;line-height:1.5;letter-spacing:.06em;text-align:right}
@media(max-width:760px){
 .coffee-exhibit :is(.coffee-information-heading,.coffee-design-heading,.coffee-motion-heading){column-gap:12px;row-gap:3px}
 .coffee-exhibit .coffee-information-label{min-height:59px;column-gap:9px}
 .coffee-exhibit :is(.coffee-design-heading,.coffee-motion-heading)>p{max-width:175px}
}

/* Projects with one existing information block retain that content in a full-width card. */
.coffee-exhibit .coffee-information-row:only-of-type{grid-column:1/-1;transform:none}
