/* Homepage details: ink, photography and quiet movement. */
.elementor .elementor-widget-tse-programme{width:100%;max-width:none;margin:0;--container-widget-width:100%}
/* Show the same paper frames while leaving the editor's images selectable. */
.elementor-editor-active .elementor #space .ts-image,.elementor-editor-active .elementor #coffee .ts-image{padding:6px 6px 12px;background:#f0e5d0 url('paper-grain.svg');box-shadow:0 6px 14px #29241f24;box-sizing:border-box;height:auto!important;object-fit:contain;border-radius:0!important}
/* Keep the hero's cream text legible when its button fills with dark ink. */
.elementor .ts-page a.ts-button[data-interaction-id="3be17a68"]:is(:hover,:focus-visible){background-color:#292c20;color:#ede1cb;outline-color:#ede1cb}
.elementor .tsh-ink-word{position:relative;display:inline-block;white-space:normal}
.tsh-underline{position:absolute;left:0;bottom:-.1em;width:100%;height:.23em;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;opacity:.75;pointer-events:none}
.tse-culture-home .tsh-underline{bottom:-.16em;stroke:#d9b260;stroke-width:1.5}
.tsh-steam{position:absolute;right:0;top:-36px;width:75px;height:94px;fill:none;stroke:#ede1cb;stroke-width:2;stroke-linecap:round;pointer-events:none;transform:rotate(12deg)}
.elementor button.tsh-photo{display:block;position:relative;width:100%;padding:0!important;margin:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none;line-height:0;cursor:zoom-in;overflow:visible;color:#29241f}
.elementor button.tsh-photo:focus-visible{outline:2px solid #bb6939;outline-offset:12px}
.tsh-photo .ts-image{transition:filter .35s,scale .5s cubic-bezier(.2,.7,.3,1)}
.tsh-photo-label{position:absolute;left:22px;bottom:22px;display:inline-flex;align-items:center;gap:22px;padding:12px 17px;border-radius:50px;background:#ede1cb;color:#29241f;font:11px/1.3 'Space Mono',monospace;box-shadow:0 3px 15px #0002;transition:background .2s,translate .3s}
.tsh-photo-label>span{font:22px/1 'DM Sans',sans-serif}
.elementor-element-4444ca39 .tsh-photo-label{left:auto;right:12px;bottom:12px;font-size:0;gap:0;padding:8px}
@media(hover:hover) and (pointer:fine){.tsh-photo:hover .ts-image{filter:saturate(1.1);scale:1.015}.tsh-photo:hover .tsh-photo-label{background:#d9b260;translate:0 -3px}}
.tsh-arrive{animation:none}
.tsh-arrive.tsh-in-view{animation:tsh-arrive .7s cubic-bezier(.2,.65,.3,1) both}
.tsh-in-view .tsh-underline path,.tsh-in-view .tsh-steam path{animation:tsh-draw 1.2s .2s ease both}
@keyframes tsh-arrive{from{opacity:.35;translate:0 20px}to{opacity:1;translate:0 0}}
@keyframes tsh-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
html.tsh-gallery-open{overflow:hidden}
.tsh-gallery{--cream:#ede1cb;--ink:#29241f;position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;padding:24px 4vw 30px;background:#22241c;color:var(--cream);border:0;box-sizing:border-box;font-family:'DM Sans',sans-serif;overscroll-behavior:contain}
.tsh-gallery::backdrop{background:#22241c}
.tsh-gallery[open]{display:flex;flex-direction:column;animation:tsh-gallery-in .25s ease}
.tsh-gallery *{box-sizing:border-box}
.tsh-gallery-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #ede1cb40;padding-bottom:16px;flex-shrink:0}
.tsh-gallery-top>span,.tsh-gallery-count{font:10px/1.5 'Space Mono',monospace;letter-spacing:.06em}
.tsh-gallery button{appearance:none;border:1px solid #ede1cb60;background:none;color:var(--cream);font:14px/1 'DM Sans',sans-serif;min-width:48px;min-height:48px;border-radius:50%;cursor:pointer;transition:color .2s,background .2s}
.tsh-gallery button:hover{background:var(--cream);color:var(--ink)}
.tsh-gallery button:focus-visible{outline:2px solid #d9b260;outline-offset:5px}
.tsh-gallery button.tsh-close{border:0;border-radius:0;display:flex;align-items:center;gap:28px;padding:0 8px}
.tsh-close>span{font-size:32px;font-weight:300}
.tsh-gallery figure{margin:0;flex:1;min-height:0;display:flex;flex-direction:column}
.tsh-gallery-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 0}
.tsh-gallery-stage img{width:100%;height:100%;object-fit:contain;max-width:1250px;display:block}
.tsh-gallery figcaption{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:24px;border-top:1px solid #ede1cb40;padding-top:18px;flex-shrink:0}
.tsh-gallery figcaption p{margin:0;font-size:clamp(20px,2vw,30px);line-height:1.25;letter-spacing:-.025em}
.tsh-gallery-count{color:#d9b260}
.tsh-gallery-nav{display:flex;gap:12px}
.tsh-gallery-nav button{font-size:24px}
@keyframes tsh-gallery-in{from{opacity:0}to{opacity:1}}
@media(max-width:767px){.tsh-steam{width:55px;height:70px;top:-28px;right:0}.tsh-photo-label{left:12px;bottom:15px;padding:10px 14px;gap:14px;font-size:9px}.tsh-photo-label>span{font-size:20px}.tsh-gallery{padding:16px 20px 24px}.tsh-gallery-top>span{font-size:8px;max-width:160px}.tsh-gallery button.tsh-close{gap:15px;font-size:12px}.tsh-gallery-stage{padding:25px 0}.tsh-gallery figcaption{grid-template-columns:1fr auto;gap:12px 18px}.tsh-gallery-count{grid-column:1;grid-row:1}.tsh-gallery figcaption p{grid-column:1;grid-row:2;font-size:21px}.tsh-gallery-nav{grid-column:2;grid-row:1/3;gap:8px}.tsh-gallery-nav button{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.tsh-arrive.tsh-in-view,.tsh-in-view .tsh-underline path,.tsh-in-view .tsh-steam path,.tsh-gallery[open]{animation:none!important}.tsh-photo .ts-image,.tsh-photo-label,.tsh-gallery button{transition:none!important}.tsh-photo:hover .ts-image{scale:1}.tsh-photo:hover .tsh-photo-label{translate:none}}
/* Override the theme's generic figure and button defaults inside the viewer. */
dialog.tsh-gallery figcaption,dialog.tsh-gallery figcaption p{color:#ede1cb;font-style:normal;text-align:left}
dialog.tsh-gallery button:hover,dialog.tsh-gallery button:focus{background:#ede1cb;color:#29241f}
dialog.tsh-gallery button.tsh-close:hover,dialog.tsh-gallery button.tsh-close:focus{background:transparent;color:#d9b260}

@media(max-width:560px){.tse-culture-intro h2{font-size:clamp(66px,21vw,82px)}}

/* The programme becomes a browsable exhibition, with direct event links retained. */
.tsh-showcase-hint{font:14px/1.5 'DM Sans',sans-serif;color:#ede1cba8;margin:-10px 0 28px!important}
.tse-culture-home .tsh-showcase-card:hover{transform:none}
.elementor button.tsh-art-open{position:relative;display:block;flex-shrink:0;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:#ede1cb;cursor:zoom-in;line-height:1}
.elementor button.tsh-art-open:hover,.elementor button.tsh-art-open:focus{background:transparent;color:#ede1cb}
.tsh-art-label{position:absolute;bottom:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 16px;background:#ede1cb;color:#29241f;font:12px/1.4 'DM Sans',sans-serif;transition:background .2s,translate .2s}
.tsh-art-label>span{font-size:24px;line-height:1}
.tse-culture-home .tsh-showcase-card .tse-card-art{transition:transform .35s,border-color .2s;transform-origin:50% 70%}
.tse-culture-home .tsh-showcase-card h3 a{color:inherit;text-decoration:none}
.tse-culture-home .tsh-showcase-card h3 a:hover{color:#d9b260}
.tsh-card-credit{font:13px/1.5 'DM Sans',sans-serif;color:#ede1cba8}
.tse-culture-home a.tse-card-cta{text-decoration:none}
@media(hover:hover) and (pointer:fine){.tsh-art-open:hover .tse-card-art{transform:rotate(-1deg) translateY(-3px);border-color:#d9b260}.tsh-art-open:hover .tsh-art-label{background:#d9b260;translate:0 -3px}}
.tsh-showcase-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;flex:1;min-height:0;padding:28px 0}
.tsh-showcase-art{position:relative;min-height:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.tsh-art-stage{width:100%;flex:1;min-height:0;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#191b15}
.tsh-art-stage img{width:100%;height:100%;min-height:0;object-fit:contain;display:block}
.tsh-art-stage.is-enlarged{display:block;overflow:auto;overscroll-behavior:contain}
.tsh-art-stage.is-enlarged img{width:max(100%,900px);height:auto;max-width:none;max-height:none;object-fit:initial}
dialog.tsh-showcase button.tsh-art-zoom{font:11px/1.4 'Space Mono',monospace;display:flex;align-items:center;gap:24px;min-height:40px;padding:5px 0;border:0;border-bottom:1px solid #ede1cb70;border-radius:0;flex-shrink:0}
dialog.tsh-showcase button.tsh-art-zoom:hover,dialog.tsh-showcase button.tsh-art-zoom:focus{background:transparent;color:#d9b260}
.tsh-showcase-story{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 12px 12px 0;scrollbar-width:thin;scrollbar-color:#ede1cb60 transparent}
.tsh-showcase-category{font:10px/1.6 'Space Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#d9b260;margin:0 0 22px}
.tsh-showcase h2{font:400 clamp(40px,4.5vw,72px)/.97 'Modak',serif;letter-spacing:-.015em;color:#ede1cb;margin:0 0 17px;overflow-wrap:anywhere}
.tsh-showcase-title{font:500 22px/1.3 'DM Sans',sans-serif;letter-spacing:-.02em;margin:0 0 22px;color:#d9b260}
.tsh-showcase-facts{font:13px/1.7 'DM Sans',sans-serif;color:#ede1cba8;border-block:1px solid #ede1cb30;padding:15px 0;margin-bottom:24px}
.tsh-showcase-prose p{font:15px/1.75 'DM Sans',sans-serif;color:#ede1cbd9;margin:0 0 18px}
.tsh-showcase-links{display:flex;flex-wrap:wrap;gap:20px 28px;padding-top:10px}
.tsh-showcase-links a{color:#ede1cb;font:500 14px/1.5 'DM Sans',sans-serif;text-decoration:none;border-bottom:1px solid #ede1cb80;padding-bottom:6px}
.tsh-showcase-links a:hover{color:#d9b260}
.tsh-showcase-links a>span{margin-left:18px}
.tsh-showcase-links a:focus-visible{outline:2px solid #d9b260;outline-offset:5px}
.tsh-showcase-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ede1cb40;padding-top:17px;flex-shrink:0}
.tsh-showcase-picks{display:flex;gap:10px}
.tsh-showcase-picks button{font:11px/1 'Space Mono',monospace;border-radius:0;min-width:40px;min-height:40px;border-color:transparent}
dialog.tsh-showcase .tsh-showcase-picks button[aria-pressed=true]{border-color:#d9b260;color:#d9b260;background:transparent}
.tsh-showcase [hidden]{display:none!important}
/* Live status sits directly above the existing regular-hours rows. */
.elementor .tsh-hours-status{display:flex;align-items:center;gap:18px;width:100%;border-block:1px solid #29241f45;padding:20px 0;margin:0;color:#292c20}
.tsh-hours-status>svg{width:30px;height:30px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tsh-hours-status strong{display:block;font:400 clamp(30px,3vw,40px)/1.1 'Modak',serif;letter-spacing:-.02em}
.tsh-hours-status span{display:block;font:12px/1.6 'DM Sans',sans-serif;margin-top:6px}
.tsh-hours-status[data-open=true]{color:#46552c}
.elementor .tsh-hours-today{background:#d9b26044;border-left:3px solid #bb6939;padding-left:14px;padding-right:14px}
@media(max-width:900px){.tsh-showcase-grid{gap:30px;grid-template-columns:1fr 1fr}.tsh-showcase h2{font-size:46px}.tsh-showcase-title{font-size:20px}.tsh-showcase-prose p{font-size:14px}}
@media(max-width:640px){.tsh-showcase[open]{display:block;overflow-y:auto}.tsh-showcase .tsh-gallery-top{position:sticky;top:-16px;z-index:2;background:#22241c;padding-top:0}.tsh-showcase-grid{display:flex;flex-direction:column;gap:27px;padding:23px 0 28px}.tsh-showcase-art{height:54vh;height:54dvh;min-height:290px;flex-shrink:0}.tsh-showcase-story{overflow:visible;padding:0;min-height:auto}.tsh-showcase h2{font-size:48px}.tsh-showcase-category{margin-bottom:16px}.tsh-showcase-facts{font-size:13px}.tsh-showcase-prose p{font-size:15px}.tsh-showcase-footer{position:sticky;bottom:-24px;background:#22241c;padding:15px 0 20px;gap:12px;z-index:2}.tsh-showcase-picks{gap:4px}.tsh-showcase-picks button{min-width:30px;min-height:40px;font-size:10px}.tsh-showcase-footer .tsh-gallery-nav{gap:6px}.tsh-showcase-footer .tsh-gallery-nav button{min-width:40px;min-height:40px}.tsh-showcase-hint{font-size:13px;margin-top:-7px!important}.tsh-art-label{left:12px;right:12px;bottom:12px;padding:10px 13px}.tsh-hours-status strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){.tsh-art-label,.tse-culture-home .tsh-showcase-card .tse-card-art{transition:none!important}.tsh-art-open:hover .tse-card-art{transform:none}.tsh-art-open:hover .tsh-art-label{translate:none}}
.tsh-showcase-prose p{white-space:pre-line}
.tsh-showcase-links{padding:0 0 26px}
.tsh-showcase-prose p.tsh-showcase-credits{color:#ede1cb;border-left:2px solid #d9b260;padding-left:18px;font-size:17px;line-height:1.7}
.tsh-art-placeholder{color:#ede1cb80;font:14px/1.5 'Space Mono',monospace;padding:30px}
@media(max-width:640px){.tsh-showcase[open]{padding-bottom:100px}.tsh-showcase-footer{position:fixed;bottom:0;left:20px;right:20px;padding:12px 0 14px}.tsh-showcase-prose p.tsh-showcase-credits{font-size:16px}}
/* Keep the artist identity and event destination in view during longer stories. */
.tsh-showcase-story{display:flex;flex-direction:column;overflow:hidden}
.tsh-showcase-story>h2,.tsh-showcase-story>.tsh-showcase-category,.tsh-showcase-story>.tsh-showcase-title,.tsh-showcase-facts,.tsh-showcase-links,.tsh-story-heading{flex-shrink:0}
.tsh-showcase-prose{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ede1cb60 transparent;padding-right:10px}
.tsh-story-heading{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;font:9px/1.5 'Space Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#ede1cb99}
.tsh-story-heading small{font-size:9px;letter-spacing:0;text-transform:none}
@media(max-width:640px){.tsh-showcase-story{display:block;overflow:visible}.tsh-showcase-prose{overflow:visible;padding-right:0}.tsh-story-heading small{display:none}}

/* Material lives in the surface: content, original photographs and posters stay sharp. */
.elementor main.ts-page #space,
.elementor main.ts-page #visit{
  background-image:url('paper-grain.svg');
  background-repeat:repeat;
  background-size:192px 192px;
}
.elementor main.ts-page #coffee{
  background-image:url('paper-grain.svg');
  background-repeat:repeat;
  background-size:192px 192px;
}
.elementor main.ts-page .tse-culture-home,
dialog.tsh-showcase{
  background-image:url('ink-grain.svg');
  background-repeat:repeat;
  background-size:256px 256px;
}
@media print{
  .elementor main.ts-page #space,.elementor main.ts-page #visit,.elementor main.ts-page #coffee,.elementor main.ts-page .tse-culture-home,dialog.tsh-showcase{background-image:none}
}
dialog.tsh-showcase>.tsh-gallery-top,
dialog.tsh-showcase>.tsh-showcase-footer{background-image:inherit;background-repeat:repeat;background-size:inherit}
