.festival-page{padding-block:2rem 4rem}.festival-breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.88rem;margin-bottom:1.5rem}.festival-hero{max-width:62rem;padding-block:1.5rem 2rem}.festival-hero h1{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.18;margin:.5rem 0 1rem;letter-spacing:-.035em}.festival-hero .lead{font-size:1.22rem;line-height:1.7}.festival-notice{padding:1.1rem 1.35rem;border-left:4px solid #1454b8;background:#edf4fe;border-radius:0 .8rem .8rem 0;line-height:1.75;margin:1.25rem 0 2rem}.festival-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 2rem}.festival-filters a{padding:.5rem .9rem;background:#f2f5f8;border-radius:2rem;text-decoration:none;border:1px solid #d5dee9}.festival-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.5rem}.festival-card{border:1px solid #d7e0ec;border-radius:1rem;overflow:hidden;display:flex;flex-direction:column;background:white;box-shadow:0 6px 24px #163c6510;scroll-margin-top:7rem}.festival-card>a:first-child{display:block;position:relative;aspect-ratio:16/10}.festival-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.festival-card-content{padding:1.3rem;display:flex;flex-direction:column;flex:1}.festival-card h3{font-size:1.3rem;line-height:1.5;margin:.5rem 0}.festival-card p{line-height:1.8}.festival-card-link{display:block;margin-top:auto;padding-top:1.1rem;font-weight:700}.festival-meta{font-size:.85rem;color:#44566d}.festival-status{font-size:.78rem;font-weight:600;border:1px solid #cad8ea;border-radius:1rem;padding:.25rem .65rem;display:inline-block;width:fit-content;background:#f4f7fb}.festival-detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(16rem,1fr);gap:2rem;align-items:start}.festival-photo{margin:0}.festival-photo img{width:100%;height:auto;max-height:36rem;object-fit:contain;border-radius:1rem}.festival-photo figcaption{font-size:.8rem;color:#526174;line-height:1.7;padding:.7rem .15rem}.festival-facts{padding:1.4rem;border:1px solid #dae2ee;border-radius:1rem;background:#f7f9fd}.festival-facts h2{font-size:1rem;margin:1.3rem 0 .4rem}.festival-facts h2:first-child{margin-top:0}.festival-facts p{line-height:1.8;overflow-wrap:anywhere}.festival-section{margin-top:2rem;line-height:1.9;max-width:65rem}.festival-section h2{font-size:1.45rem;line-height:1.4;border-bottom:1px solid #dce3ec;padding-bottom:.7rem}.festival-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.3rem}.festival-actions a{padding:.75rem 1rem;border:1px solid #1454b8;border-radius:.6rem;text-decoration:none;font-weight:650}.festival-actions a:first-child{background:#1454b8;color:white}.festival-sources{font-size:.9rem;overflow-wrap:anywhere}.festival-language-links{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.85rem;margin:1.2rem 0}.festival-language-links a{padding:.4rem .6rem;border:1px solid #d8e0ec;border-radius:.35rem}.festival-entry{border:1px solid #d7e3f4;background:linear-gradient(115deg,#f0f6ff,#fff);border-radius:1rem;margin:2rem auto;padding:1.6rem;max-width:74rem}.festival-entry h2{margin-top:0}.festival-entry a{font-weight:700}.festival-region{scroll-margin-top:6rem}.festival-detail-tail{margin-top:2rem;padding-top:1rem;border-top:1px solid #d7e0eb}@media(max-width:720px){.festival-detail-layout{grid-template-columns:1fr}.festival-hero{padding-top:.4rem}.festival-page{padding-top:1rem}.festival-entry{margin:1rem;padding:1.25rem}.festival-actions a{width:100%;text-align:center}.festival-hero h1{font-size:2.1rem}}.festival-photo-reference{display:flex;min-height:13rem;padding:1.5rem;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;background:#edf4fe;border-radius:1rem}.festival-card .festival-photo-reference{position:absolute;inset:0;min-height:0;border-radius:0;font-weight:650}.festival-on-demand{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;background:#edf4fe;text-align:center;border-radius:1rem;min-height:14rem}.festival-on-demand p{margin:0}.festival-on-demand button{min-height:44px;padding:.7rem 1rem;border:1px solid #c6d8f6;border-radius:.7rem;color:#1454b8;background:#fff;font-weight:650}.festival-on-demand img{display:block;max-width:100%;height:auto;object-fit:contain}.festival-card>.festival-on-demand{aspect-ratio:16/10;border-radius:0}.festival-card>.festival-on-demand img{position:static;width:100%;height:auto;max-height:16rem}.festival-on-demand.is-loaded{justify-content:flex-start}.festival-card>.festival-on-demand.is-loaded{aspect-ratio:auto}.festival-on-demand img{flex-shrink:0}
