: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}.site-menu{position:relative}.site-menu summary{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 .95rem;font-size:.86rem;font-weight:850;list-style:none;display:inline-flex}.site-menu summary::-webkit-details-marker{display:none}.menu-icon{gap:.22rem;display:grid}.menu-icon span{background:var(--brand);border-radius:999px;width:1.05rem;height:.13rem;display:block}.site-menu-panel{border:1px solid var(--line);box-shadow:var(--shadow);z-index:45;background:#fff;border-radius:1.35rem;min-width:min(23rem,100vw - 2rem);padding:.75rem;display:none;position:absolute;top:calc(100% + .55rem);right:0}.site-menu[open] .site-menu-panel{gap:.85rem;display:grid}.site-menu-section{gap:.5rem;display:grid}.site-menu-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:850}.menu-language-select{position:relative}.menu-language-select>summary{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:.95rem;justify-content:space-between;align-items:center;gap:.55rem;min-height:2.75rem;padding:0 .8rem;list-style:none;display:flex}.menu-language-select>summary::-webkit-details-marker{display:none}.menu-language-select>summary:after{color:var(--brand);content:"v";font-size:.9rem}.site-menu-languages{border:1px solid var(--line);z-index:55;background:#fff;border-radius:1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;width:100%;max-height:16rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0;overflow:auto;box-shadow:0 18px 42px #2413171f}.site-menu-languages a,.site-menu-links a,.site-menu-link{color:var(--ink);border-radius:.85rem;gap:.45rem;padding:.6rem .7rem;font-size:.84rem;font-weight:800;display:flex}.site-menu-languages a.active{background:var(--brand);color:#fff}.site-menu-links{border-top:1px solid var(--line);gap:.25rem;padding-top:.75rem;display:grid}.site-menu-links a,.site-menu-link{background:var(--surface-soft)}.site-menu-links a:hover,.site-menu-link:hover,.site-menu-languages a:hover{background:var(--brand-soft);color:var(--brand)}.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);background:#ffffffe6;border-radius:1.45rem;gap:.65rem;margin:0 0 .65rem;padding:.65rem;display:grid;box-shadow:0 10px 34px #57212b12}.tabs{background:var(--surface-soft);border:1px solid var(--line);border-radius:1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.28rem;display:grid}.tab{color:var(--brand);border-radius:.78rem;justify-content:center;align-items:center;min-height:2.55rem;padding:0 .85rem;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:.95rem;outline:none;width:100%;min-height:2.75rem;padding:0 .85rem}.field input::placeholder{color:#8d747b;opacity:1}.button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:.95rem;justify-content:center;align-items:center;min-height:2.75rem;padding:0 1.1rem;font-weight:850;display:inline-flex}.button.secondary{border:1px solid var(--line);color:var(--brand);background:#fff}.button.small{border-radius:999px;min-height:2.2rem;padding:0 .85rem;font-size:.82rem}.button.ghost{background:var(--accent);color:#28665d}.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:.95rem;min-height:2.65rem;padding:0 .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}.festival-year-hero{border:1px solid var(--line);background:#ffffffe6;border-radius:1.6rem;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;padding:clamp(1rem,3vw,1.5rem);display:grid;box-shadow:0 10px 34px #57212b12}.festival-year-hero h1{margin-top:.3rem;font-size:clamp(2.35rem,6vw,4.8rem)}.festival-year-hero p{color:var(--muted);max-width:48rem;margin:.7rem 0 0;line-height:1.55}.year-actions{gap:.55rem;display:flex}.calendar-filter-card{border:1px solid var(--line);background:#ffffffe6;border-radius:1.35rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;align-items:end;gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid;box-shadow:0 10px 34px #57212b0f}.calendar-filter-card label{gap:.38rem;display:grid}.calendar-filter-card label span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:900}.calendar-filter-card select{appearance:none;border:1px solid var(--line);color:var(--text);font:inherit;background:#fff;border-radius:999px;min-height:2.75rem;padding:0 2rem 0 .95rem;font-weight:800}.calendar-filter-card select:disabled{color:#2413177a;background:#ffffff8c}.festival-year-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));gap:1.1rem;display:grid}.calendar-empty-state{border:1px solid var(--line);color:var(--muted);background:#ffffffeb;border-radius:1.35rem;grid-column:1/-1;padding:1.25rem;box-shadow:0 12px 28px #2413170f}.calendar-empty-state h2{color:var(--text);margin-bottom:.35rem;font-size:1.25rem}.calendar-month{border:1px solid var(--line);background:#ffffffeb;border-radius:1.45rem;gap:.75rem;padding:1rem;display:grid;overflow:hidden;box-shadow:0 14px 34px #2413170f}.calendar-month.empty{box-shadow:none;background:#ffffff94}.calendar-month-header{align-items:center;gap:.65rem;display:flex}.calendar-month-header span{background:var(--brand);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:2rem;height:2rem;padding:0 .45rem;font-size:.78rem;font-weight:900;display:inline-flex}.calendar-month h2{font-size:1.45rem}.calendar-weekdays{background:var(--surface-soft);border:1px solid var(--line);border-radius:.95rem;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-weekdays span{color:var(--muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;padding:.55rem .35rem;font-size:.78rem;font-weight:900}.calendar-weeks{border:1px solid var(--line);border-radius:1rem;overflow:hidden}.calendar-week{border-top:1px solid var(--line);background:#fff;gap:.35rem;min-height:5.9rem;padding:.42rem;display:grid}.calendar-week:first-child{border-top:0}.calendar-week-days,.calendar-week-bars{grid-template-columns:repeat(7,minmax(0,1fr));gap:.22rem;display:grid}.calendar-week-days time{background:var(--surface-soft);color:var(--text);text-align:center;border-radius:999px;justify-content:center;align-items:center;min-width:0;height:1.55rem;font-size:.78rem;font-weight:900;display:inline-flex}.calendar-week-days time.outside{color:#6653577a;background:0 0}.calendar-week-days time.past{opacity:.38}.calendar-week-days time.today{background:var(--brand);color:#fff;opacity:1}.calendar-week-bars{grid-auto-rows:minmax(1.75rem,auto);align-content:start;min-height:3.8rem}.calendar-bar,.calendar-week-more{border-radius:.65rem;min-width:0;padding:.32rem .45rem;display:block}.calendar-bar{background:linear-gradient(90deg, var(--brand-soft), var(--accent));color:var(--brand-dark);cursor:pointer;border:0;text-decoration:none;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #94172b0f}.calendar-event-popover{min-width:0;position:relative}.calendar-event-popover summary{list-style:none}.calendar-event-popover summary::-webkit-details-marker{display:none}.calendar-event-popover[open] .calendar-bar{box-shadow:0 8px 24px #94172b29,inset 0 0 0 1px #94172b1f}.calendar-bar.continues-left{border-top-left-radius:.18rem;border-bottom-left-radius:.18rem}.calendar-bar.continues-right{border-top-right-radius:.18rem;border-bottom-right-radius:.18rem}.calendar-bar strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.08;display:block;overflow:hidden}.calendar-bar span{opacity:.78;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:760;line-height:1.1;display:block;overflow:hidden}.calendar-week-more{background:var(--surface-soft);color:var(--muted);text-align:center;grid-column:1/-1;font-size:.76rem;font-weight:900}.calendar-event-card{border:1px solid var(--line);z-index:4;background:#fffffffa;border-radius:1rem;grid-template-columns:5.2rem minmax(0,1fr);gap:.75rem;margin-top:.45rem;padding:.65rem;display:grid;position:relative;box-shadow:0 16px 36px #24131724}.calendar-event-card img{aspect-ratio:4/5;background:var(--surface-soft);object-fit:cover;border-radius:.8rem;width:100%;height:100%}.calendar-event-card h3{margin:.1rem 0 .25rem;font-size:1rem;line-height:1.08}.calendar-event-card p{color:var(--muted);margin:0;font-size:.82rem;font-weight:700;line-height:1.3}.calendar-event-date{letter-spacing:.05em;text-transform:uppercase;color:var(--brand)!important;font-size:.72rem!important;font-weight:950!important}.calendar-event-tags{flex-wrap:wrap;gap:.3rem;margin-top:.5rem;display:flex}.calendar-event-tags span{background:var(--accent);color:#28665d;border-radius:999px;padding:.22rem .48rem;font-size:.72rem;font-weight:900}.calendar-event-actions{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.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;scrollbar-width:thin;grid-auto-columns:minmax(285px,360px);grid-auto-flow:column;gap:1rem;padding:.1rem 0 .9rem;display:grid;overflow-x:auto}.event-strip:after{content:"";width:.25rem}.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}.event-image-frame{width:100%;height:100%;display:block;position:relative}.event-image-frame>img{object-fit:cover;z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}.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;z-index:0;place-items:center;gap:.55rem;width:100%;height:100%;min-height:12rem;padding:1.5rem;font-size:.82rem;font-weight:900;display:grid;position:relative}.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;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:12rem;padding:.35rem .65rem;font-size:.76rem;font-weight:850;overflow:hidden}.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.32rem;line-height:1.04}.meta-list{color:var(--muted);gap:.35rem;font-size:.92rem;line-height:1.35;display:grid}.meta-list span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.event-description-toggle{border-top:1px solid var(--line);padding-top:.3rem}.event-description-toggle summary{color:var(--brand);cursor:pointer;font-size:.82rem;font-weight:850;list-style:none}.event-description-toggle summary::-webkit-details-marker{display:none}.event-description-toggle summary:after{content:" +"}.event-description-toggle[open] summary:after{content:" -"}.event-description-toggle p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:.45rem 0 0;font-size:.86rem;line-height:1.38;display:-webkit-box;overflow:hidden}.event-actions{flex-wrap:wrap;gap:.55rem;margin-top:auto;display:flex}.event-actions .button{border-radius:999px;min-height:2.35rem;padding:0 .9rem;font-size:.86rem}.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)}.organizer-profile-card{margin-bottom:2rem}.legal-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.2rem;display:flex}.legal-content{color:var(--text);gap:.9rem;line-height:1.55;display:grid}.legal-content address{color:var(--text);font-style:normal}.legal-content h2{font-family:var(--font-sans);letter-spacing:.02em;margin:.4rem 0 -.3rem;font-size:1rem}.legal-content p,.legal-content ul{margin:0}.legal-content ul{padding-left:1.1rem}.legal-content a{color:var(--brand);font-weight:850}.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 .event-image-frame,.detail-poster .image-placeholder{min-height:0}.detail-poster .event-image-frame>img{object-fit:cover}.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}.share-widget{position:relative}.share-panel{border:1px solid var(--line);z-index:20;background:#fffffffa;border-radius:1.15rem;gap:.65rem;min-width:min(22rem,100vw - 2rem);padding:.85rem;display:grid;position:absolute;top:calc(100% + .45rem);left:0;box-shadow:0 18px 44px #24131729}.share-panel img{aspect-ratio:16/9;object-fit:cover;border-radius:.85rem;width:100%;display:block}.share-panel strong{font-size:1rem;line-height:1.2}.share-panel p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.4}.share-panel-actions{gap:.45rem;display:grid}.share-panel-actions a,.share-panel-actions button{background:var(--surface-soft);border:1px solid var(--line);color:var(--brand);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;min-height:2.35rem;padding:0 .85rem;font-weight:850;display:inline-flex}.icon{flex:none;width:1.2rem;height:1.2rem;display:inline-block}.detail-like-card,.detail-info-card,.detail-organizer-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-organizer-card{gap:.65rem;display:grid}.detail-organizer-card h2{letter-spacing:-.035em;align-items:center;gap:.6rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.45rem;line-height:1.1;display:flex}.detail-organizer-card p{color:var(--muted);margin:0;line-height:1.5}.organizer-links{flex-wrap:wrap;gap:.55rem;display:flex}.organizer-links a{background:var(--surface-soft);border:1px solid var(--line);color:var(--brand);border-radius:999px;align-items:center;gap:.45rem;min-height:2.35rem;padding:0 .85rem;font-size:.86rem;font-weight:850;display:inline-flex}.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)}.site-menu-panel{min-width:min(22rem,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}.festival-year-hero{grid-template-columns:1fr;align-items:stretch}.year-actions{grid-template-columns:1fr 1fr;display:grid}.calendar-filter-card{grid-template-columns:1fr}.calendar-month{padding:.75rem}.calendar-week{min-height:5.4rem}.calendar-bar strong{font-size:.68rem}.calendar-bar span{display:none}.calendar-event-card{grid-template-columns:1fr}.calendar-event-card img{aspect-ratio:16/9;max-height:9rem}.calendar-event-actions .button,.event-actions .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}}
