/* One event per viewport, using a reusable title panel and a softly faded cover. */
.home-posters{position:relative;padding-top:6px}
.home-posters .section-heading .eyebrow{margin:0 0 9px;color:var(--muted);font-size:.72rem;letter-spacing:.14em}
.home-poster-archive-note{display:flex;align-items:center;gap:12px;margin:-7px 0 22px;color:var(--muted);font-size:.83rem;line-height:1.6}
.home-poster-archive-note>span{flex-shrink:0;border:1px solid var(--line);border-radius:20px;background:var(--culture-soft);padding:4px 12px;font-size:.72rem}
.home-poster-stage{position:relative}
.home-poster-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:100%;align-items:stretch;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;list-style:none;padding:0;margin:0;border-radius:17px}
.home-poster-track::-webkit-scrollbar{display:none}
.home-poster-track:focus-visible{outline:2px solid var(--culture-accent);outline-offset:4px}
.home-poster-slide{min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.home-poster-card{height:100%;border:1px solid var(--line);border-radius:17px;background:linear-gradient(110deg,#fffdf8,var(--culture-soft));overflow:hidden;transition:border-color .2s}
.home-poster-card:hover{border-color:var(--culture-accent)}
.home-poster-card:focus-within{outline:2px solid var(--culture-accent);outline-offset:-3px}
.culture-site .home-poster-link{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;min-height:100%;height:100%;color:inherit;background:transparent}
.culture-site .home-poster-link:focus-visible{outline:none}
.home-poster-media{grid-column:2;grid-row:1;position:relative;margin:0;height:clamp(280px,27vw,360px);min-width:0;overflow:hidden;background:var(--culture-soft)}
.home-poster-media>img{display:block;width:100%;height:100%;object-fit:contain;padding:10px}
.home-poster-badge{position:absolute;right:12px;top:12px;padding:6px 11px;border:1px solid var(--line);border-radius:7px;background:#fffffff5;color:var(--ink);font:normal .68rem/1.4 var(--sans)}
.home-poster-copy{grid-column:1;grid-row:1;min-width:0;padding:28px clamp(28px,3.6vw,56px)}
.home-poster-date{font:normal .86rem/1.6 var(--sans);margin:0 0 12px;color:var(--culture-accent)}
.home-poster-institution{font-size:.8rem;line-height:1.5;color:var(--muted);margin:0 0 10px}
.home-poster-copy h3{font:normal clamp(1.65rem,3.3vw,3rem)/1.08 var(--serif);letter-spacing:-.02em;margin:0;overflow-wrap:anywhere;transition:color .18s}
.home-poster-link:hover h3{color:var(--culture-accent)}
.home-poster-caption,.home-poster-location{font-size:.9rem;line-height:1.6;color:var(--muted);margin:18px 0 0}
.home-poster-art{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:url('/assets/themes/news-cover.png') center/cover;color:var(--ink)}
.home-poster-art>span{font:normal 5rem/1 var(--serif)}
.home-poster-art>small{font-size:1rem;margin-top:12px}
.home-poster-illustration{background:transparent;mask-image:linear-gradient(to right,transparent,#000 15%)}
.home-poster-illustration>img{padding:0;object-fit:cover}
/* Shared poster template: live text, permanent decoration, replaceable cover image. */
.home-poster-template{background:#fff8e9;border-color:#eadfc9}
.culture-site .home-poster-template .home-poster-link{position:relative;display:flex;align-items:center;min-height:clamp(320px,28vw,400px);isolation:isolate}
.home-poster-template .home-poster-media{position:absolute;inset:0 0 0 auto;width:74%;height:100%;background:transparent;mask-image:linear-gradient(to right,transparent,#000 32%)}
.home-poster-template .home-poster-media>img{padding:0;object-fit:cover;object-position:60% center}
.home-poster-template .home-poster-copy{position:relative;z-index:1;width:47%;padding:30px clamp(30px,3.4vw,52px);text-align:center;background:radial-gradient(ellipse at center,#fff9ec99 15%,#fff9ec44 60%,transparent 75%)}
.home-poster-template .home-poster-date{display:flex;justify-content:center;align-items:center;gap:15px;font:600 .86rem/1.5 var(--serif);letter-spacing:.2em;text-transform:uppercase;color:#243f59;margin-bottom:16px}
.home-poster-template .home-poster-date::before{content:"";width:10px;height:10px;border:2px solid #bb8c35;box-shadow:inset 0 0 0 2px #fff8e9;background:#bb8c35;transform:rotate(45deg);flex-shrink:0}
.home-poster-template .home-poster-copy h3{font-family:'Times New Roman',var(--serif);font-size:clamp(2.5rem,5.2vw,5rem);font-weight:700;line-height:.97;letter-spacing:-.045em;color:#15364e;text-wrap:balance}
.home-poster-template .home-poster-caption{font:normal clamp(.96rem,1.35vw,1.2rem)/1.45 var(--serif);color:#29465b;margin:20px 0 0;text-wrap:balance}
.home-poster-template .home-poster-caption::before{content:"";display:block;width:72%;height:13px;margin:0 auto 14px;background:linear-gradient(#bd944b,#bd944b) left center/42% 1px no-repeat,linear-gradient(#bd944b,#bd944b) right center/42% 1px no-repeat,conic-gradient(from 45deg,transparent 0deg 90deg,#bd944b 90deg 180deg,transparent 180deg 270deg,#bd944b 270deg) center/10px 10px no-repeat}
.home-poster-template .home-poster-link::before{content:"";position:absolute;inset:0 auto 0 0;width:50%;background:url('/assets/posters/title-panel.webp') left center/cover no-repeat;pointer-events:none}
.home-poster-template .home-poster-copy::after{content:"";display:block;width:68%;height:1px;margin:22px auto 0;background:linear-gradient(to right,transparent,#bd944b,transparent)}
.home-poster-template.home-poster-long-title .home-poster-copy h3{font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.08;letter-spacing:-.025em}
.home-poster-template.home-poster-text-only .home-poster-media{display:none}
.home-poster-template.home-poster-text-only .home-poster-copy{width:100%;max-width:850px;margin:auto}
.home-poster-template.home-poster-text-only .home-poster-link::before{width:100%}
.home-poster-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:3px}
.home-poster-controls[hidden],.home-poster-carousel[data-count="1"] .home-poster-controls,.home-poster-carousel[data-count="1"] .home-poster-arrows{display:none}
.home-poster-auto{justify-self:start;min-height:44px;border:0;background:transparent;color:var(--culture-accent);padding:8px 0;font:normal .78rem/1.5 var(--sans);cursor:pointer}
.home-poster-auto:disabled{cursor:default;color:var(--muted)}
.home-poster-position{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:.77rem;font-variant-numeric:tabular-nums}
.home-poster-progress{display:block;width:70px;height:3px;background:var(--culture-line);border-radius:10px;overflow:hidden}
.home-poster-progress>span{display:block;width:0;height:100%;background:var(--culture-accent);transition:width .35s ease}
.home-poster-arrows button{position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--culture-line);border-radius:50%;background:#fff;color:var(--culture-accent);box-shadow:0 3px 12px #30516a16;cursor:pointer;transition:background .18s,border-color .18s}
.home-poster-arrows [data-poster-prev]{left:-22px}
.home-poster-arrows [data-poster-next]{right:-22px}
.home-poster-arrows button:hover:not(:disabled){background:var(--culture-soft);border-color:var(--culture-accent)}
.home-poster-arrows button:disabled{color:var(--muted);background:#f4f6f8;cursor:default}
.home-poster-arrows svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.home-poster-empty{border:1px solid var(--line);border-radius:14px;padding:27px 30px;color:var(--muted);background:var(--culture-soft);font-size:.9rem;line-height:1.7}
.home-poster-empty p{margin:0 0 10px}.home-poster-empty .text-link{border:0;padding:0;font-family:inherit;cursor:pointer}
.culture-site.hide-images .home-poster-media{display:none}
.culture-site.hide-images .home-poster-link{display:block}
.culture-site.high-contrast .home-poster-card,.culture-site.high-contrast .home-poster-media{background:#fff}
.culture-site.high-contrast .home-poster-illustration{mask-image:none}
.culture-site.high-contrast .home-poster-arrows button{border-color:#000;color:#000;box-shadow:none}
.culture-site.high-contrast .home-poster-template .home-poster-copy{background:#fff}
.culture-site.high-contrast .home-poster-template .home-poster-copy h3,.culture-site.high-contrast .home-poster-template .home-poster-date,.culture-site.high-contrast .home-poster-template .home-poster-caption{color:#000}
.culture-site.high-contrast .home-poster-template .home-poster-media{mask-image:linear-gradient(to right,transparent,#000 32%)}
.culture-site.hide-images .home-poster-template .home-poster-link{min-height:0}
.culture-site.hide-images .home-poster-template .home-poster-copy{width:100%;background:none}
.culture-site.hide-images .home-poster-template .home-poster-link::before,.culture-site.high-contrast .home-poster-template .home-poster-link::before{display:none}
.culture-site .home-posters.section{padding-bottom:24px}
.culture-site .home-posters .section-heading{margin-bottom:14px}
@media(max-width:720px){
  .culture-site .home-poster-link{display:flex;flex-direction:column}
  .home-poster-media{width:100%;height:230px;flex-shrink:0}
  .home-poster-illustration{height:auto;aspect-ratio:16/9;mask-image:none}
  .home-poster-copy{width:100%;padding:16px 24px 20px}
  .home-poster-copy h3{font-size:1.6rem;line-height:1.15}
  .home-poster-date{font-size:.78rem;margin-bottom:7px}
  .home-poster-caption,.home-poster-location{font-size:.82rem;margin-top:10px}
  .home-poster-arrows [data-poster-prev]{left:-10px}
  .home-poster-arrows [data-poster-next]{right:-10px}
  .home-poster-controls{grid-template-columns:1fr auto;gap:12px}
  .home-poster-auto{font-size:.72rem}
  .home-poster-progress{display:none}
  .home-poster-empty{padding:22px;font-size:.86rem}
  .culture-site .home-poster-template .home-poster-link{min-height:0;flex-direction:column}
  .home-poster-template .home-poster-media{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;mask-image:linear-gradient(#000 82%,transparent)}
  .home-poster-template .home-poster-copy{width:100%;padding:0 26px 24px;margin-top:-5px;background:none}
  .home-poster-template .home-poster-copy h3{font-size:clamp(2.25rem,9vw,3.4rem);line-height:1.02}
  .home-poster-template .home-poster-date{font-size:.74rem;letter-spacing:.16em;margin-bottom:10px}
  .home-poster-template .home-poster-caption{font-size:1rem;margin-top:13px}
  .home-poster-template .home-poster-caption::before{margin-bottom:10px}
  .home-poster-template .home-poster-link::before{width:100%}
  .home-poster-template.home-poster-long-title .home-poster-copy h3{font-size:clamp(1.65rem,6.4vw,2.4rem)}
  .culture-site.high-contrast .home-poster-template .home-poster-media{mask-image:none}
}
@media(prefers-reduced-motion:reduce){.home-poster-card,.home-poster-copy h3,.home-poster-progress>span,.home-poster-arrows button{transition:none}}

/* Keep the next destination nearby, especially on narrow screens. */
.culture-site .culture-quicklinks{margin-bottom:32px}
.culture-site .culture-activities-section{padding-top:8px}
@media(max-width:720px){
  .culture-site .culture-hero{min-height:280px}
  .culture-site .culture-hero-copy{padding:24px 18px 48px;max-width:100%}
  .culture-site .culture-hero .eyebrow{display:none}
  .culture-site .culture-hero h1{font-size:clamp(1.8rem,7.2vw,2.45rem);line-height:1.08;margin-bottom:13px}
  .culture-site .culture-hero h1 span{font-size:.88em}
  .culture-site .culture-subtitle{font-size:.88rem;line-height:1.45;max-width:330px;margin:0 auto 19px}
  .culture-site .culture-hero .hero-actions{gap:10px;flex-wrap:wrap}
  .culture-site .culture-hero .button{font-size:.8rem;padding:10px 14px;min-height:44px}
  .culture-site .culture-quicklinks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:-20px;margin-bottom:26px}
  .culture-site .culture-quicklinks .institution-link{gap:8px;min-height:82px;padding:12px 10px;transform:none}
  .culture-site .culture-quicklinks .institution-art{width:38px;height:38px;flex-basis:38px}
  .culture-site .culture-quicklinks .institution-drawing{width:36px;height:36px}
  .culture-site .culture-quicklinks .institution-art svg{width:30px;height:30px}
  .culture-site .culture-quicklinks .institution-link>span:nth-child(2){font-size:clamp(.85rem,3.3vw,1.05rem);line-height:1.2;min-width:0;overflow-wrap:anywhere}
  .culture-site .culture-quicklinks small{display:none}
  .home-poster-track,.home-poster-carousel[data-count="2"] .home-poster-track{grid-auto-columns:87%;gap:14px}
  .home-poster-card{border-radius:12px}
  .home-poster-copy{padding:12px 14px 16px}
  .home-poster-controls{margin-top:0;gap:8px}
  .home-poster-arrows button{width:44px;height:44px}
  .home-poster-position{font-size:.7rem}
  .culture-site .home-posters.section{padding-bottom:18px}
  .culture-site .culture-activities-section .section-heading{margin-bottom:16px;align-items:flex-start}
  .culture-site .culture-activities-section .section-heading h2{font-size:1.8rem;max-width:260px}
  .culture-site .culture-activities-section .section-heading>.text-link{display:none}
  .culture-site .culture-activities{grid-template-columns:1fr;gap:12px}
  .culture-site .activity-card{display:grid;grid-template-columns:34% minmax(0,1fr);min-height:110px;border-radius:12px}
  .culture-site .activity-art{height:auto;min-height:110px;align-self:stretch;background-size:300% auto}
  .culture-site .activity-copy{padding:17px 15px;align-self:center;min-width:0}
  .culture-site .activity-label{font-size:.75rem;line-height:1.35;margin-bottom:7px}
  .culture-site .activity-copy h3{font-size:1.13rem;line-height:1.2;overflow-wrap:anywhere;margin:0}
  .culture-site.hide-images .activity-card,.culture-site.high-contrast .activity-card{grid-template-columns:1fr;min-height:0}
  .culture-site .activity-card .card-link:focus-visible{outline:2px solid var(--culture-accent);outline-offset:3px}
}
@media(max-width:360px){
  .culture-site .culture-quicklinks .institution-link{flex-direction:column;align-items:flex-start;gap:7px}
  .culture-site .activity-copy{padding:13px 11px}
}
