.gghb-posters{color:var(--ff-ink);--poster-muted:#575950}
.gghb-posters__header{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:44px}
.gghb-posters__header h2{font-size:clamp(38px,5.3vw,74px);max-width:12ch;text-wrap:balance}
.gghb-posters__subtitle{font-size:20px;line-height:1.6;margin-top:14px}
.gghb-posters__intro{font-size:14px;line-height:1.8;max-width:33ch;color:var(--poster-muted);margin:0}
.gghb-posters__intro span{display:block;margin-top:10px}
.gghb-poster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,6vw,88px);align-items:center;border-top:1px solid var(--line);padding-block:40px}
.gghb-poster+.gghb-poster{margin-top:32px}
.gghb-poster__art{min-width:0}
.gghb-poster__image-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:4px;overflow:hidden}
.gghb-poster__image-button img{display:block;width:100%;height:auto;object-fit:contain;transition:filter .25s ease}
.gghb-poster__image-button:hover img{filter:brightness(1.04)}
.gghb-poster__view{display:block;min-height:44px;font-size:12px;color:var(--ff-ink);margin-top:12px;padding:9px 0;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}
.gghb-poster__view:hover{color:var(--wine);border-color:currentColor}
.gghb-poster__copy{min-width:0;max-width:58ch}
.gghb-poster__copy h3{font-family:var(--ff-display);font-size:clamp(32px,3.7vw,54px);font-weight:400;line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance;margin:0;max-width:14ch}
.gghb-poster__title-zh{font-size:clamp(18px,2vw,24px);line-height:1.6;margin-top:14px}
.gghb-poster__subtitle{font-size:14px;line-height:1.6;color:var(--poster-muted);margin-top:4px}
.gghb-poster__category{font-size:12px;line-height:1.6;color:var(--poster-muted);margin-top:20px}
.gghb-poster__description{font-size:15px;line-height:1.85;margin-top:24px}
.gghb-poster__description p{margin:0}
.gghb-poster__description p[lang=en]{color:var(--poster-muted);margin-top:12px}
.gghb-poster__notes{margin-top:30px}
.gghb-poster__notes>div{border-top:1px solid var(--line);padding-block:16px}
.gghb-poster__notes dt{font-size:12px;color:var(--poster-muted);line-height:1.6;margin-bottom:7px}
.gghb-poster__notes dd{margin:0;font-size:14px;line-height:1.65}
.gghb-poster__notes dd span{display:block;color:var(--poster-muted);font-size:13px;margin-top:4px}
.gghb-posters__footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px;border-block:1px solid var(--line)}
.gghb-posters__footer p{font-size:18px;line-height:1.5;margin:0}
.gghb-posters__footer p span{display:block;font-size:14px;color:var(--poster-muted);margin-top:6px}
.gghb-poster-viewer{background:#f3f1ec;color:#171a14;width:calc(100vw - 40px);max-width:1260px;height:calc(100dvh - 40px);max-height:1100px;padding:0;border:0;border-radius:12px;overflow:hidden}
.gghb-poster-viewer[open]{display:flex;flex-direction:column;animation:poster-viewer-in .22s ease-out}
.gghb-poster-viewer::backdrop{background:rgba(16,18,14,.88)}
.gghb-poster-viewer__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid #d2d2c8;flex-shrink:0}
.gghb-poster-viewer__bar h2{font-size:18px;font-weight:500;line-height:1.4;margin:0;max-width:45ch}
.gghb-poster-viewer__bar>div{display:flex;gap:8px;flex-shrink:0}
.gghb-poster-viewer__bar button{min-height:44px;padding:10px 14px;font:inherit;font-size:12px;border:1px solid #6a6e60;border-radius:24px;background:transparent;color:#171a14;cursor:pointer}
.gghb-poster-viewer__bar button:hover{background:#e5e5db}
.gghb-poster-viewer__canvas{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;padding:20px;scrollbar-color:#72785e #e4e2dc}
.gghb-poster-viewer__canvas img{display:block;object-fit:contain;width:auto;height:100%;max-width:100%;margin:auto;flex-shrink:0}
.gghb-poster-viewer__canvas.is-zoomed{display:block}
.gghb-poster-viewer__canvas.is-zoomed img{height:auto;width:1024px;max-width:none;object-fit:initial}
.gghb-poster-viewer__credit{font-size:12px;line-height:1.6;text-align:center;margin:0;padding:8px 16px 14px;flex-shrink:0}
.gghb-poster-viewer__error{margin:auto;max-width:50ch;padding:24px;line-height:1.8}
.gghb-poster-viewer__error a{text-decoration:underline;text-underline-offset:4px}
.gghb-posters button:focus-visible,.gghb-posters a:focus-visible,.gghb-poster-viewer button:focus-visible{outline:2px solid #6b120b;outline-offset:5px}
.gghb-posters ::selection{background:#e8d368;color:#171a14}
@keyframes poster-viewer-in{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.gghb-poster__art{max-width:540px}}
@media(max-width:800px){.gghb-posters__header{gap:24px}.gghb-posters__intro{max-width:29ch;font-size:13px}.gghb-poster{gap:28px;align-items:start}.gghb-poster__description{font-size:14px}.gghb-poster__notes{margin-top:22px}}
@media(max-width:600px){.gghb-posters__header{display:block;margin-bottom:28px}.gghb-posters__header h2{font-size:42px;max-width:none}.gghb-posters__subtitle{font-size:18px;margin-top:10px}.gghb-posters__intro{max-width:50ch;font-size:14px;margin-top:20px}.gghb-poster{grid-template-columns:1fr;gap:28px;padding-top:28px}.gghb-poster__copy{max-width:none}.gghb-poster__copy h3{font-size:38px;max-width:16ch}.gghb-poster__description{font-size:15px}.gghb-poster__category{margin-top:16px}.gghb-posters__footer{align-items:flex-start;flex-direction:column}.gghb-poster-viewer{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:8px}.gghb-poster-viewer__bar{align-items:flex-start;flex-direction:column;padding:12px 16px;gap:10px}.gghb-poster-viewer__bar h2{font-size:16px}.gghb-poster-viewer__bar>div{justify-content:space-between;width:100%}.gghb-poster-viewer__canvas{padding:12px}.gghb-poster-viewer__canvas img{height:auto;max-height:100%;max-width:100%;width:auto}.gghb-poster-viewer__credit{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gghb-poster-viewer[open]{animation:none}.gghb-poster__image-button img{transition:none}}

/* Keep the complete site menu available from every route and viewport. */
.masthead__nav{display:none}
.burger{display:flex;min-width:44px;min-height:44px;justify-content:center;padding:8px 2px}
.burger__label{white-space:nowrap}
@media(pointer:coarse){.burger{padding-inline:10px}}

.gghb-global-menu{height:46px;background:var(--paper,#f3f1ec);color:var(--ff-ink,#171a14);border-top:1px solid var(--line,#d8d6cf);border-bottom:1px solid var(--line,#d8d6cf);padding-inline:var(--gutter,clamp(1.25rem,.8rem + 3vw,4.5rem));overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
.gghb-global-menu::-webkit-scrollbar{display:none}
.gghb-global-menu ul{width:max-content;min-width:100%;height:100%;margin:0 auto;padding:0;display:flex;align-items:center;justify-content:center;gap:clamp(22px,3vw,52px);list-style:none}
.gghb-global-menu a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;color:inherit;font-family:var(--ff-body,var(--font-ui));font-size:11px;font-weight:500;line-height:1.2;text-decoration:none;position:relative}
.gghb-global-menu a::after{content:"";height:2px;background:var(--brand-red,#8b0000);position:absolute;left:0;right:0;bottom:0;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.gghb-global-menu a:hover::after,.gghb-global-menu a:focus-visible::after{transform:scaleX(1)}
.gghb-global-menu a:focus-visible{outline:2px solid var(--brand-red,#8b0000);outline-offset:-5px}
.frame-edition main{padding-top:46px}
@media(max-width:900px){.gghb-global-menu ul{justify-content:flex-start;gap:28px}.gghb-global-menu{scroll-snap-type:x proximity}.gghb-global-menu li{scroll-snap-align:start}}
@media(max-width:560px){.gghb-global-menu{height:44px;padding-inline:18px}.gghb-global-menu a{font-size:10px}.frame-edition main{padding-top:44px}}

.gghb-poster__story{border-top:1px solid var(--line);margin-top:12px;padding-top:16px;font-size:14px;line-height:1.85}
.gghb-poster__story summary{min-height:44px;cursor:pointer;padding:8px 0;color:var(--ff-ink)}
.gghb-poster__story p{white-space:pre-line;margin-top:18px}
.gghb-poster__story summary:focus-visible{outline:2px solid #6b120b;outline-offset:4px}
@media(min-width:801px){.gghb-poster:nth-child(even) .gghb-poster__art{order:2}.gghb-poster:nth-child(even) .gghb-poster__copy{order:1}}
