:root{--bg:#fbf6f2;--surface:#fff;--surface-soft:#fff9f6;--ink:#241317;--muted:#765d64;--line:#eadbdc;--brand:#94172b;--brand-dark:#751124;--brand-soft:#f2d8de;--accent:#dff3ef;--shadow:0 24px 60px #57212b1c}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100%;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-shell{background:radial-gradient(circle at 100% 0,#94172b1f,#0000 32rem),linear-gradient(#fbf1ee 0%,#fbf6f2 24rem,#fffaf8 100%);min-height:100vh}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#fbf6f2db;border-bottom:1px solid #eadbdcd1;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem clamp(1rem,4vw,3.5rem);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.85rem;min-width:0;display:flex}.brand>span:last-child{gap:.05rem;display:grid}.brand-mark{background:var(--brand);color:#fff;border-radius:1rem;justify-content:center;align-items:center;width:3rem;height:3rem;font-family:Georgia,serif;font-size:1.55rem;font-weight:800;line-height:1;display:inline-flex}.brand-mark.image-mark{background:0 0;border-radius:.95rem;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand-title{letter-spacing:-.04em;font-size:1.25rem;font-weight:900}.brand-subtitle{color:var(--muted);font-size:.9rem}.top-actions{align-items:center;gap:.75rem;display:flex}.language-fallback{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:.55rem .8rem;font-size:.82rem;font-weight:850;display:inline-flex}.language-menu{position:relative}.language-menu summary{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.55rem .8rem;font-size:.82rem;font-weight:800;list-style:none;display:inline-flex}.language-menu summary::-webkit-details-marker{display:none}.language-menu-panel{border:1px solid var(--line);box-shadow:var(--shadow);z-index:40;background:#fff;border-radius:1.2rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;min-width:min(21rem,100vw - 2rem);padding:.5rem;display:none;position:absolute;top:calc(100% + .5rem);right:0}.language-menu[open] .language-menu-panel{display:grid}.language-menu-panel a{color:var(--ink);text-align:left;border-radius:.8rem;padding:.55rem .65rem;font-size:.82rem;font-weight:800}.language-menu-panel a.active{background:var(--brand);color:#fff}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{max-width:1180px;margin:0 auto;padding:.8rem clamp(1rem,4vw,3.5rem) 4rem}.hero{gap:.8rem;margin-bottom:1rem;display:grid}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:850}h1,h2,h3{letter-spacing:-.045em;margin:0;line-height:.98}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(3.15rem,9vw,7.5rem)}.hero p{color:var(--muted);max-width:44rem;margin:0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.55}.search-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffdb;border-radius:2rem;gap:.75rem;margin:0 0 .65rem;padding:.75rem;display:grid}.tabs{border:1px solid var(--line);background:#fff;border-radius:1.2rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.35rem;display:grid}.tab{color:var(--brand);border-radius:.95rem;justify-content:center;align-items:center;padding:.72rem 1rem;font-weight:800;display:inline-flex}.tab.active{background:var(--brand);color:#fff}.search-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.95fr) auto;gap:.75rem;display:grid}.filter-panel .search-grid{margin-top:.75rem}.field{gap:.35rem;display:grid}.field label{color:var(--ink);font-size:.82rem;font-weight:800}.field input,.field select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:1.15rem;outline:none;width:100%;min-height:3.05rem;padding:0 1rem}.field input::placeholder{color:#8d747b;opacity:1}.button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:1.15rem;justify-content:center;align-items:center;min-height:3.05rem;padding:0 1.35rem;font-weight:850;display:inline-flex}.button.secondary{border:1px solid var(--line);color:var(--brand);background:#fff}.search-actions-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.location-button{min-width:12rem}.filter-panel{border-top:1px solid var(--line);padding-top:.7rem}.filter-panel summary{border:1px solid var(--line);color:var(--brand);cursor:pointer;background:#fff;border-radius:1rem;padding:.7rem .9rem;font-weight:850;list-style:none;display:inline-flex}.filter-panel summary::-webkit-details-marker{display:none}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.75rem;display:grid}.active-filter-chip{background:var(--accent);color:#28665d;border-radius:999px;padding:.7rem .9rem;font-size:.86rem;font-weight:850}.app-banner{border:1px solid var(--line);color:var(--ink);background:#ffffffdb;border-radius:999px;grid-template-columns:1fr auto;align-items:center;gap:.8rem;margin:.45rem 0 1.15rem;padding:.45rem .45rem .45rem .9rem;display:grid}.app-banner strong{margin-bottom:.25rem;font-size:1.05rem;display:block}.app-banner span{color:var(--muted);font-size:.88rem;font-weight:750}.app-banner .button{background:var(--brand);color:#fff;border-radius:999px;min-height:2.35rem;padding:0 .95rem}.section{margin-top:2rem}.section-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section h2{font-size:clamp(1.8rem,4vw,3rem)}.section-kicker{color:var(--muted);font-weight:700}.event-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.event-strip{scroll-snap-type:x mandatory;grid-auto-columns:minmax(260px,330px);grid-auto-flow:column;gap:1rem;padding:.1rem 0 .8rem;display:grid;overflow-x:auto}.event-card{background:var(--surface);border:1px solid var(--line);scroll-snap-align:start;border-radius:1.55rem;flex-direction:column;min-height:100%;display:flex;overflow:hidden;box-shadow:0 18px 42px #24131714}.poster{aspect-ratio:4/3;background:linear-gradient(135deg, var(--brand-soft), var(--accent));position:relative;overflow:hidden}.poster img{object-fit:cover;width:100%;height:100%;display:block}.image-placeholder{background:radial-gradient(circle at top left, #94172b2e, transparent 11rem), linear-gradient(135deg, var(--brand-soft), var(--accent));color:var(--brand);letter-spacing:.08em;text-align:center;place-items:center;gap:.55rem;width:100%;height:100%;min-height:12rem;padding:1.5rem;font-size:.82rem;font-weight:900;display:grid}.image-placeholder img{object-fit:cover;border-radius:1rem;width:4rem;height:4rem;box-shadow:0 14px 32px #24131721}.date-chip{text-align:center;background:#fffffff0;border-radius:1rem;min-width:4rem;padding:.65rem .55rem;font-weight:900;position:absolute;top:.85rem;left:.85rem;box-shadow:0 10px 26px #24131724}.date-chip span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;display:block}.live-chip{background:var(--brand);color:#fff;border-radius:999px;padding:.45rem .65rem;font-size:.78rem;font-weight:850;position:absolute;top:.75rem;right:.75rem}.event-body{gap:.8rem;padding:1rem;display:grid}.badges{flex-wrap:wrap;gap:.4rem;display:flex}.badge{background:var(--accent);color:#28665d;border-radius:999px;padding:.35rem .65rem;font-size:.76rem;font-weight:850}.badge.type{background:var(--brand-soft);color:var(--brand)}.badge.featured{color:#8b5212;background:#fff2d7}.badge.warning{color:#9c2f1d;background:#ffe1d9}.event-card h3{font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.meta-list{color:var(--muted);gap:.35rem;font-size:.92rem;line-height:1.35;display:grid}.event-actions{gap:.55rem;margin-top:auto;display:flex}.empty-state,.legal-card,.detail-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6;border-radius:2rem;padding:clamp(1.2rem,4vw,2rem)}.legal-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.2rem;display:flex}.detail-card h1{margin:.65rem 0 1rem;font-size:clamp(2.3rem,6vw,4.8rem)}.detail-topline{justify-content:space-between;display:flex}.detail-layout{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:1.3rem;display:grid}.detail-poster{aspect-ratio:4/5;background:linear-gradient(135deg, var(--brand-soft), var(--accent));cursor:zoom-in;text-align:inherit;border:0;border-radius:1.5rem;width:100%;padding:0;position:relative;overflow:hidden}.detail-poster>img{object-fit:cover;width:100%;height:100%;display:block}.detail-poster-button:hover .poster-expand-hint{opacity:1;transform:translateY(0)}.poster-expand-hint{color:#fff;opacity:0;background:#241317c2;border-radius:999px;padding:.55rem .85rem;font-size:.84rem;font-weight:850;transition:opacity .16s,transform .16s;position:absolute;bottom:1rem;left:50%;transform:translate(-50%,.35rem)}.lightbox{z-index:100;background:#120a0ce6;place-items:center;padding:clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0}.lightbox-stage{justify-content:center;align-items:center;width:min(92vw,980px);height:min(88vh,900px);display:flex}.lightbox-stage img{object-fit:contain;border-radius:1.1rem;max-width:100%;max-height:100%;box-shadow:0 28px 80px #00000080}.lightbox-close{color:var(--brand);cursor:pointer;font:inherit;z-index:101;background:#fff;border:1px solid #fff6;border-radius:999px;padding:.75rem 1rem;font-weight:850;position:fixed;top:clamp(1rem,4vw,2rem);left:clamp(1rem,4vw,2rem)}.detail-side{gap:1rem;display:grid}.detail-actions{flex-wrap:wrap;gap:.55rem;display:flex}.detail-actions .button{gap:.5rem;min-height:2.9rem}.icon{flex:none;width:1.2rem;height:1.2rem;display:inline-block}.detail-like-card,.detail-info-card,.detail-section{border:1px solid var(--line);background:#ffffffeb;border-radius:1.45rem;padding:1.05rem}.detail-like-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.detail-like-card h2,.detail-info-card h2,.section-title-with-icon{align-items:center;gap:.6rem;display:flex}.detail-like-card h2,.detail-info-card h2{letter-spacing:-.035em;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.45rem;line-height:1.1}.detail-like-card h2 .icon,.detail-info-card h2 .icon,.section-title-with-icon .icon{color:var(--ink);width:1.45rem;height:1.45rem}.detail-like-card strong{margin-top:1rem;font-size:2rem;line-height:1;display:block}.detail-like-card p{color:var(--muted);margin:.45rem 0 0;font-size:1rem;line-height:1.4}.like-orb{color:var(--brand);background:#fff0f4;border-radius:999px;justify-content:center;align-items:center;width:4.4rem;height:4.4rem;display:inline-flex}.like-orb .icon{width:2.2rem;height:2.2rem}.facts{gap:1rem;margin-top:1rem;display:grid}.fact{grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.fact-icon{color:var(--brand);padding-top:.1rem;display:inline-flex}.fact-icon .icon{width:1.45rem;height:1.45rem}.fact small{color:var(--muted);letter-spacing:-.015em;font-size:.88rem;font-weight:850;display:block}.fact strong{margin-top:.25rem;font-size:1.05rem;line-height:1.35;display:block}.detail-section{margin-top:1.5rem}.schedule-list{gap:.75rem;margin-top:1rem;display:grid}.schedule-item{background:var(--surface-soft);border:1px solid var(--line);border-radius:1.15rem;grid-template-columns:4.8rem minmax(0,1fr);align-items:start;gap:.85rem;padding:.9rem;display:grid}.schedule-item time{color:var(--brand);font-weight:900}.schedule-item p,.section p{color:var(--muted);line-height:1.6}.pagination{justify-content:center;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.pagination span{color:var(--muted);font-weight:800}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.85rem;max-width:1180px;margin:3rem auto 0;padding:1.5rem clamp(1rem,4vw,3.5rem);display:flex}.footer nav{flex-wrap:wrap;gap:1rem;display:flex}@media (max-width:760px){.topbar{flex-wrap:nowrap;align-items:center;padding:.85rem 1rem}.language-menu-panel{min-width:min(20rem,100vw - 2rem)}.brand-mark{border-radius:.9rem;width:2.6rem;height:2.6rem}.brand-title{font-size:1.05rem}.brand-subtitle{font-size:.78rem}.container{padding-top:1.2rem}.search-grid,.filter-grid,.detail-layout{grid-template-columns:1fr}.button,.search-actions-row .button{width:100%}.app-banner{grid-template-columns:1fr auto}.app-banner .button{width:auto}.pagination{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pagination span{text-align:center;order:-1;grid-column:1/-1}.pagination .button{width:100%}.event-grid{grid-template-columns:1fr}}
