:root{--bg:#f6f2ea;--surface:#ffffff;--surface-soft:#fbf8f2;--ink:#111111;--muted:#5d5752;--line:#e5ded2;--accent:#67050b;--accent-dark:#410307;--accent-soft:#f0dfe0;--gold:#b8914b}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:Avenir,Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%;display:block}.desktopNotice{display:none}.hero{min-height:auto;background:linear-gradient(135deg,rgba(65,3,7,.96),rgba(103,5,11,.98)),var(--accent);color:#fff;display:flex;flex-direction:column}.topbar{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.brandMark{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800;background:transparent;border:0;font:inherit;cursor:pointer;padding:0}.brandMark img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:8px;padding:6px}.heroContent{width:min(960px,calc(100% - 32px));margin:14px auto 54px}.eyebrow{margin:0 0 8px;color:var(--gold);text-transform:uppercase;letter-spacing:0;font-weight:800;font-size:.78rem}.hero h1{max-width:820px;margin:0;font-size:clamp(2.15rem,5vw,4rem);line-height:1;letter-spacing:0;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.heroContent>p:not(.eyebrow){max-width:610px;font-size:1rem;line-height:1.5}.card a,.eventCard a,.infoPanel a,.mediaLinks a,.primaryAction{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:800}.primaryAction{background:#fff;border-radius:6px;padding:12px 16px;text-decoration:none}.appMenuButton{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}.appMenuOverlay{position:fixed;inset:0;z-index:60;background:rgba(17,17,17,.42)}.appMenuPanel{width:min(330px,calc(100% - 44px));min-height:100%;background:var(--surface);color:var(--ink);box-shadow:20px 0 60px rgba(17,17,17,.24);padding:16px}.appMenuHead{display:flex;justify-content:space-between;margin-bottom:14px;font-weight:900}.appMenuHead,.appMenuHead button{align-items:center;color:var(--accent)}.appMenuHead button{width:38px;height:38px;border:0;border-radius:8px;background:var(--accent-soft);display:inline-flex;justify-content:center}.appMenuList{display:grid;grid-gap:8px;gap:8px}.appMenuList a,.appMenuList button,.mobileTabbar button{font:inherit;cursor:pointer}.appMenuList a,.appMenuList button{min-height:48px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);padding:0 12px;font-weight:800;text-align:left;text-decoration:none}.appMenuList button.isActive,.mobileTabbar button.isActive{background:var(--accent);border-color:var(--accent);color:#fff}.section{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:72px 0}.section.alt{width:100%;padding-left:max(16px,calc((100% - 1180px) / 2));padding-right:max(16px,calc((100% - 1180px) / 2));background:#eee6db}.sectionHeader{max-width:760px;margin-bottom:24px}.sectionHeader.split{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);grid-gap:28px;gap:28px;align-items:end}.sectionHeader.wide{max-width:920px}.sectionHeader h2{margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.callout p,.sectionHeader p{color:var(--muted);line-height:1.6}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.filters span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 12px;color:var(--accent-dark);font-size:.9rem;font-weight:800}.dayList,.eventList{display:grid;grid-gap:16px;gap:16px}.dayBlock{scroll-margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.dayTitle{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:16px 18px;background:transparent;border:0;color:var(--accent);cursor:pointer;list-style:none;text-align:left}.dayTitle::-webkit-details-marker{display:none}.dayTitle h3{flex:1 1 auto;margin:0;font-size:1.35rem;min-width:0}.dayChevron{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--accent);transition:transform .18s ease}.dayBlock[data-open=true]>.dayTitle .dayChevron{transform:rotate(90deg)}.dayCount{margin-left:auto;color:var(--muted);font-size:.9rem;font-weight:800}.dayBlock .eventList{padding:0 16px 16px}.eventCard{display:grid;grid-template-columns:88px 1fr;grid-gap:18px;gap:18px;padding:18px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:8px}.eventCard time{color:var(--accent);font-weight:900;font-size:1.22rem}.callout h3,.card h3,.eventCard h4,.guestCard h3,.infoPanel h3{margin:4px 0 8px;font-size:1.22rem}.card p,.eventCard p,.guestCard p,.infoPanel li,.infoPanel p{color:var(--muted);line-height:1.55}.card span,.eventCard span,.guestCard span,.infoPanel span{display:inline-block;color:var(--accent);font-weight:800;margin-bottom:8px}.placeLine{display:flex;align-items:center;gap:6px;margin:0}.guestLine{font-size:.94rem}.activityGrid,.filmGrid,.grid,.infoGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.infoGrid{grid-template-columns:repeat(2,1fr)}.activityCard,.callout,.card,.infoPanel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.filmGrid{grid-template-columns:repeat(2,1fr)}.filmCard{display:grid;grid-template-columns:150px 1fr;grid-gap:16px;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px}.filmCard img{width:150px;height:190px;object-fit:cover;border-radius:6px;background:var(--surface-soft)}.activityCard span,.filmCard span{display:inline-block;color:var(--accent);font-weight:800;margin-bottom:8px}.activityCard h3,.filmCard h3{margin:0 0 8px;font-size:1.22rem}.eventSynopsisToggle,.filmSynopsisToggle{display:inline-flex;align-items:center;gap:8px;width:auto;margin:2px 0 10px;padding:8px 0;background:transparent;border:0;color:var(--accent);cursor:pointer;font:inherit;font-size:.95rem;font-weight:900;text-transform:uppercase}.eventSynopsisToggle .dayChevron,.filmSynopsisToggle .dayChevron{flex:0 0 auto;margin-bottom:0}.eventCard[data-open=true] .eventSynopsisToggle .dayChevron,.filmCard[data-open=true] .filmSynopsisToggle .dayChevron{transform:rotate(90deg)}.eventSynopsis,.filmSynopsis{margin-top:0}.activityCard p,.filmCard p{color:var(--muted);line-height:1.55}.filmMeta{margin:0 0 8px;font-weight:800}.activityCard{min-height:210px}.activityLogo{width:100%;height:64px;object-fit:contain;object-position:left center;padding:8px;margin-bottom:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px}.activityLogo-il-delfino{padding:18px 28px}.activityLinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.activityLinks a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:800}.guestGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.guestCard{display:grid;grid-template-columns:150px 1fr;grid-gap:18px;gap:18px;min-height:210px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px}.guestCard img,.guestPlaceholder{width:150px;height:180px;border-radius:6px;background:#f5f2ec}.guestCard img{object-fit:contain;object-position:center}.guestPlaceholder{display:grid;place-items:center;color:var(--accent)}.guestCard ul,.infoPanel ul{margin:10px 0 0;padding-left:18px;color:var(--muted);line-height:1.55}.mediaLinks{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.mediaLinks a{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;text-decoration:none}.callout{margin-top:16px;background:var(--accent);color:#fff;border-color:var(--accent)}.callout p{color:rgba(255,255,255,.86)}.partnerGroups{display:grid;grid-gap:10px;gap:10px}.partnerGroup{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.partnerGroup summary{min-height:54px;display:flex;align-items:center;gap:10px;padding:13px 14px;color:var(--accent);cursor:pointer;list-style:none}.partnerGroup summary::-webkit-details-marker{display:none}.partnerGroup summary:before{width:0;height:0;content:"";border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid var(--accent);transition:transform .18s ease}.partnerGroup[open] summary:before{transform:rotate(90deg)}.partnerGroup summary span{flex:1 1 auto;min-width:0;font-size:1rem;font-weight:900}.partnerGroup summary small{min-width:30px;padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:900;text-align:center}.partnerLogos{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 14px 14px}.partnerLogo{width:92px;height:58px;display:grid;place-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;padding:8px}.partnerLogo img{max-width:100%;max-height:100%;object-fit:contain}.partnerName{min-height:34px;display:inline-flex;align-items:center;max-width:100%;padding:7px 10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.15}.catalogViewer{max-width:760px;margin:0 auto}.timetableViewer{grid-column:1/-1;margin:0}.timetablePage{width:100%;height:auto;background:var(--surface);box-shadow:0 14px 36px rgba(17,17,17,.12)}.catalogToolbar,.timetablePage{border:1px solid var(--line);border-radius:8px}.catalogToolbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:8px;gap:8px;padding:10px;margin-bottom:12px;background:rgba(246,242,234,.96)}.catalogToolbarBottom{position:static;margin:12px 0 0}.catalogToolbar span{color:var(--accent);font-weight:900;text-align:center}.catalogToolbar a,.catalogToolbar button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent);padding:0 12px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.catalogToolbar button:disabled{opacity:.42;cursor:default}.catalogPage{width:100%;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 36px rgba(17,17,17,.12)}.installPrompt{position:fixed;right:16px;bottom:16px;z-index:30;display:flex;align-items:center;gap:2px;background:var(--accent);color:#fff;border-radius:8px;padding:8px;box-shadow:0 16px 40px rgba(17,17,17,.22)}.installButton,.installClose,.installInfo,.installPanelClose{border:0;color:inherit;font:inherit;cursor:pointer;padding:0;line-height:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.installButton{display:inline-flex;align-items:center;gap:6px;background:transparent;padding:8px 0 8px 10px;font-weight:800}.installInfo{width:34px;height:34px;display:flex;align-items:center;justify-content:center;margin-left:2px;margin-right:6px;color:#fff;background:rgba(255,255,255,.14);border-radius:999px}.installInfo:focus-visible,.installInfo:hover{color:#fff;background:rgba(255,255,255,.2)}.installClose{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border-radius:6px}.installModal{position:fixed;inset:0;z-index:40;display:grid;place-items:end center;background:rgba(17,17,17,.5);padding:16px}.installPanel{position:relative;width:min(420px,100%);background:var(--surface);color:var(--ink);border-radius:8px;padding:22px;box-shadow:0 18px 50px rgba(17,17,17,.25)}.installPanel h2{margin:0 42px 14px 0;font-size:1.35rem}.installPanel ol{margin:0;padding-left:22px;color:var(--muted);line-height:1.65}.installPanel li svg{display:inline;vertical-align:-3px}.installHelpText{margin:0 42px 12px 0;color:var(--muted);line-height:1.55}.installHelpText:last-child{margin-bottom:0}.installPanelClose{position:absolute;top:12px;right:12px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border-radius:6px}.installClose svg,.installInfo svg,.installPanelClose svg{display:block;flex:0 0 auto}.appFooter{background:#000;color:#fff;padding:18px 12px;text-align:center;font-weight:800;font-size:.86rem;line-height:1.25}.appFooter a{color:#fff;text-decoration:underline;text-underline-offset:3px}.storeStrip{padding:26px 16px;background:var(--accent-dark)}.storeBadges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.storeBadge{min-width:190px;min-height:62px;display:inline-flex;align-items:center;gap:12px;padding:10px 14px;background:#111;color:#fff;border-radius:8px;text-align:left}.storeBadge svg{width:28px;height:28px;fill:currentColor;flex:0 0 auto}.storeBadge span{display:block;font-size:.72rem;line-height:1.1;color:rgba(255,255,255,.75)}.storeBadge strong{display:block;margin-top:2px;font-size:1.15rem;line-height:1.1}.mobileTabbar{display:none}@media (min-width:1024px) and (hover:hover) and (pointer:fine){body{background:radial-gradient(circle at 20% 15%,rgba(184,145,75,.18),transparent 30%),radial-gradient(circle at 80% 75%,rgba(103,5,11,.16),transparent 34%),var(--bg)}.appExperience{display:none}.desktopNotice{min-height:100vh;padding:40px;display:grid;place-items:center}.desktopNoticeCard{width:min(640px,100%);padding:44px;box-shadow:0 24px 70px rgba(17,17,17,.16);text-align:center}.desktopNoticeCard,.desktopNoticeCard>img{background:#fff;border:1px solid var(--line);border-radius:8px}.desktopNoticeCard>img{width:82px;height:82px;object-fit:contain;padding:9px;margin:0 auto 18px;box-shadow:0 10px 28px rgba(17,17,17,.1)}.desktopNoticeCard h1{max-width:520px;margin:0 auto 14px;color:var(--accent-dark);font-size:2.7rem;line-height:1.02}.desktopNoticeCard>p:not(.eyebrow){max-width:470px;margin:0 auto 26px;color:var(--muted);font-size:1.08rem;line-height:1.6}.desktopNoticeCard a{color:var(--accent);font-weight:800;text-decoration:underline;text-underline-offset:3px}}@media (max-width:960px){.activityGrid,.filmGrid,.grid,.guestGrid,.infoGrid,.partnerGroups,.sectionHeader.split{grid-template-columns:1fr}}@media (hover:none) and (pointer:coarse),(max-width:780px){body{padding-bottom:76px}.hero{min-height:auto}.eventCard,.guestCard{grid-template-columns:1fr}.guestCard img,.guestPlaceholder{width:100%;height:260px}.installPrompt{left:16px;right:16px;bottom:78px;justify-content:flex-start}.installClose{margin-left:auto}.mobileTabbar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:repeat(5,1fr);min-height:64px;padding:7px max(8px,env(safe-area-inset-left)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(17,17,17,.12)}.mobileTabbar button{min-width:0;color:var(--accent);border:0;background:transparent;display:grid;justify-items:center;align-content:center;grid-gap:4px;gap:4px;font-size:.68rem;font-weight:800;line-height:1.1;text-align:center}.mobileTabbar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:520px){.hero{min-height:auto}.heroContent,.section,.topbar{width:min(100% - 32px,1180px)}.brandMark{max-width:100%}.heroContent{margin:10px auto 52px}.hero h1{font-size:2.25rem;line-height:1.08}.heroContent>p:not(.eyebrow){font-size:1rem}.section{padding:54px 0}.section.alt{padding-left:16px;padding-right:16px}.sectionHeader.split{gap:12px}.dayTitle{align-items:flex-start;flex-wrap:wrap;padding:15px}.dayTitle h3{font-size:1.12rem;line-height:1.2}.dayCount{flex:0 0 100%;margin-left:28px}.dayBlock .eventList{padding:0 12px 12px}.callout,.card,.eventCard,.filmCard,.guestCard,.infoPanel{padding:14px}.eventCard time{font-size:1.08rem}.guestCard img,.guestPlaceholder{height:230px}.filmCard{grid-template-columns:112px 1fr}.filmCard img{width:112px;height:150px}.mediaLinks a{width:100%}.catalogToolbar{grid-template-columns:1fr 1fr}.catalogToolbar span{grid-column:1/-1;grid-row:1}.catalogToolbar a,.catalogToolbar button{min-height:40px;padding:0 9px;font-size:.86rem}.installPrompt{bottom:78px;left:12px;right:12px}}@media (max-width:360px){.hero h1{font-size:1.86rem;line-height:1.04}.primaryAction{width:100%;justify-content:center}}