/* Brand copy stays beside the cake, never over the product photograph. */
.show-stage{height:100svh;min-height:720px}
.show-heading{top:7%}
.show-art{inset:240px 0 142px}
.show-tools button,.show-footer-note{font-size:11px}
.show-brand{position:absolute;top:34%;left:var(--gutter);width:clamp(190px,19vw,270px);z-index:3;pointer-events:none}
.show-brand h3{font-size:clamp(24px,2.3vw,35px);font-weight:300;line-height:1.45;letter-spacing:-.025em;margin-bottom:20px}
.show-brand p{font-size:14px;line-height:1.85;color:var(--muted)}
.show-brand p+p{margin-top:12px}
.show-caption{left:auto;right:var(--gutter);width:190px;bottom:26%}
.show-route{right:var(--gutter);top:75%;writing-mode:horizontal-tb;letter-spacing:.03em}
.exhibition[data-phase=complete] .show-brand{display:none}
.co-create{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.co-create h2{font-size:clamp(35px,3.8vw,64px);line-height:1.3;letter-spacing:-.035em;text-wrap:balance}
.co-create-copy{max-width:520px;padding-top:8px}
.co-create-copy p{font-size:16px;line-height:1.9;color:var(--muted)}
.co-create-copy p+p{margin-top:24px}
.co-create-copy .co-create-lead{font-size:24px;font-weight:300;color:var(--ink);line-height:1.5}
.co-create-copy .co-create-reward{font-size:24px;font-weight:400;color:var(--ink);margin-top:38px}
.co-create-copy strong{font-weight:500;color:var(--ink)}
.contact-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,300px));gap:48px;scroll-margin-top:100px}
.contact-qr{width:100%;margin:0}
.contact-qr h3{font-size:20px;font-weight:400;margin-bottom:18px}
.contact-qr img{width:100%;height:auto;mix-blend-mode:normal}
.contact-qr figcaption{font-size:13px;line-height:1.8;color:var(--muted);margin-top:14px}
.contact-qr>.text-link{margin-top:8px}
.contact-link{margin-top:28px}
@media(max-width:1100px) and (min-width:1001px){.show-brand{width:190px}.show-brand h3{font-size:24px}.show-caption{width:160px}.show-main{width:40vw;height:40vw;margin-left:-20vw;margin-top:-20vw}}
@media(max-width:1000px){
  .show-stage{min-height:960px}
  .show-heading{top:80px}
  .show-brand{top:245px;left:var(--gutter);right:var(--gutter);width:auto;max-width:560px;margin:auto;text-align:center}
  .show-brand h3{display:none}
  .show-brand p{font-size:13px;line-height:1.8}
  .show-brand p+p{margin-top:4px}
  .show-art{inset:395px 0 260px}
  .show-main{width:min(64vw,370px);height:min(64vw,370px);margin-left:calc(min(64vw,370px) / -2);margin-top:calc(min(64vw,370px) / -2)}
  .show-caption{left:var(--gutter);right:var(--gutter);width:auto;max-width:none;bottom:160px;display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center}
  .show-caption>span{grid-column:1/-1}
  .show-caption>p{max-width:none;margin:7px 0 0}
  .show-route{display:none}
  .exhibition[data-phase=complete] .show-art{inset:250px 0 190px}
}
@media(max-width:680px){
  .show-stage{min-height:840px}
  .show-brand{top:215px;text-align:left}
  .show-art{inset:340px 0 220px}
  .show-main{width:76vw;height:76vw;margin-left:-38vw;margin-top:-38vw}
  .show-cluster{inset:35px 0 0}
  .co-create{grid-template-columns:1fr;gap:32px}
  .co-create h2{font-size:38px}
  .co-create-copy{padding:0}
  .contact-options{grid-template-columns:minmax(0,300px);gap:40px}
  .co-create-copy p{font-size:15px}
  .co-create-copy .co-create-lead,.co-create-copy .co-create-reward{font-size:22px}
}
@media(max-width:360px){.show-brand{top:200px}.show-brand p{font-size:13px}.co-create h2{font-size:35px}}

/* The early story stays in place; only the finale gains a stationary centre. */
.exhibition[data-shape=together] .show-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.exhibition[data-shape=together] .show-brand{display:none}
.exhibition[data-shape=together] .show-art{inset:80px 0 105px;z-index:3;container-type:size}
.exhibition[data-shape=together] .show-cluster{inset:0}
.show-orbit-copy{position:absolute;left:50%;top:50%;translate:-50% -50%;width:min(270px,52cqw,52cqh);text-align:center;pointer-events:auto}
.show-orbit-copy[hidden]{display:none}
.show-orbit-copy h3{font-size:32px;line-height:1.3;font-weight:400;letter-spacing:.04em;margin-bottom:10px}
.show-orbit-copy p{font-size:14px;line-height:1.6;color:var(--muted)}
.show-orbit-copy p+p{margin-top:8px}
.show-orbit-copy .orbit-promise{font-size:16px;color:var(--ink);margin-bottom:16px}
@media(max-width:680px){
  .exhibition[data-shape=together] .show-art{inset:90px 0 165px}
  .show-orbit-copy{width:49cqw}
  .show-orbit-copy h3{font-size:22px;letter-spacing:0;margin-bottom:8px}
  .show-orbit-copy p{font-size:12px;line-height:1.65}
  .show-orbit-copy p+p{margin-top:5px}
  .show-orbit-copy .orbit-promise{font-size:13px;margin-bottom:10px}
}

/* Ordering is handled by the two existing WeChat contacts, not a web checkout. */
.masthead nav .order-service{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:30px;background:var(--ink);color:var(--paper);white-space:nowrap}
.masthead nav .order-service:hover{background:#52643a;color:var(--paper)}
.home-order-note{position:absolute;top:82px;right:var(--gutter);font-size:12px;line-height:1.6;color:var(--muted)}
.contact-options{scroll-margin-top:0;row-gap:32px}
.contact-order-intro{grid-column:1/-1}
.contact-order-intro h3{font-size:24px;font-weight:400;line-height:1.5;margin-bottom:12px}
.contact-order-intro p{font-size:14px;line-height:1.9;color:var(--muted)}
@media(max-width:680px){
  .masthead nav{display:grid;grid-template-columns:repeat(2,max-content);gap:0 18px;max-width:none}
  .masthead nav .order-service{grid-column:1/-1;grid-row:1;justify-self:end;padding:0 18px;font-size:12px}
  .masthead nav #motion-toggle{left:var(--gutter);right:auto;top:66px}
  .home-order-note{top:116px;font-size:11px}
  .contact-order-intro h3{font-size:21px}
}
