.festival-list,.festival-detail{width:min(100% - var(--space-6),var(--content-max));margin-inline:auto}.festival-list{width:100%;margin-bottom:clamp(72px,10vw,120px)}.festival-list .festival-list-header{width:min(100% - var(--space-6),var(--content-max));padding-top:calc(clamp(72px,9vw,120px) + var(--announcement-height, 0px));margin-inline:auto;margin-bottom:clamp(36px,6vw,72px);text-align:center}.festival-list .festival-list-header .festival-list-title{margin-bottom:14px;margin-inline:auto}.festival-list .festival-list-header .festival-list-desc{max-width:780px;margin-inline:auto;font-size:var(--text-body-size);line-height:var(--text-body-line)}.festival-list .festival-timeline{position:relative;display:flex;flex-direction:column;width:100%;font-size:var(--text-body-size)}.festival-list .festival-timeline:before{content:"";position:absolute;top:var(--festival-timeline-progress-top, 0);left:var(--festival-timeline-progress-left, 0);z-index:2;width:2px;height:var(--festival-timeline-progress-height, 0);background-color:#ffb900;opacity:0;pointer-events:none;-webkit-mask-image:var(--festival-timeline-progress-mask, linear-gradient(to bottom, #000, #000));mask-image:var(--festival-timeline-progress-mask, linear-gradient(to bottom, #000, #000));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}.festival-list .festival-timeline .festival-item{--festival-expanded-h: clamp(360px, 44vw, 460px);--festival-strip-h: 200px;--festival-node-y: calc(var(--festival-strip-h) / 2);--festival-mobile-row-h: calc(var(--festival-strip-h) / 2 - 1em);--festival-mobile-card-min-h: 240px;--festival-mobile-body-min-h: calc(var(--festival-mobile-card-min-h) - var(--festival-mobile-row-h) - 11px)}@media screen and (max-width:1024px){.festival-list .festival-timeline .festival-item{--festival-expanded-h: auto;--festival-strip-h: 100px;--festival-node-y: calc(var(--festival-mobile-row-h) - .5em)}}.festival-list .festival-timeline .festival-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(var(--festival-expanded-h),auto);align-content:start}@media screen and (max-width:1024px){.festival-list .festival-timeline .festival-item{grid-template-rows:var(--festival-mobile-row-h) minmax(var(--festival-mobile-body-min-h),auto)}}.festival-list .festival-timeline .festival-item{gap:40px}@media screen and (max-width:1024px){.festival-list .festival-timeline .festival-item{gap:10px 20px}}.festival-list .festival-timeline .festival-item{min-height:var(--festival-expanded-h)}@media screen and (max-width:1024px){.festival-list .festival-timeline .festival-item{min-height:var(--festival-mobile-card-min-h)}}.festival-list .festival-timeline .festival-item{overflow:hidden;padding:0 15%}@media screen and (max-width:1024px){.festival-list .festival-timeline .festival-item{padding:0 8%}}.festival-list .festival-timeline .festival-item{border-bottom:1px solid rgba(255,185,0,.4);color:#fff;text-align:left;isolation:isolate}.festival-list .festival-timeline .festival-item:before{content:"";grid-column:1;grid-row:1/-1;justify-self:end;width:2px;background-color:#ffb900;pointer-events:none;z-index:1;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--festival-node-y) - calc(.59em + 2px)),transparent calc(var(--festival-node-y) - calc(.59em + 2px)),transparent calc(var(--festival-node-y) + calc(.59em + 2px)),#000 calc(var(--festival-node-y) + calc(.59em + 2px)),#000 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--festival-node-y) - calc(.59em + 2px)),transparent calc(var(--festival-node-y) - calc(.59em + 2px)),transparent calc(var(--festival-node-y) + calc(.59em + 2px)),#000 calc(var(--festival-node-y) + calc(.59em + 2px)),#000 100%)}.festival-list .festival-timeline .festival-item:after{content:"";grid-column:1;grid-row:1;justify-self:end;align-self:start;width:1.18em;height:1.18em;margin-top:calc(var(--festival-node-y) - 1.18em / 2);margin-right:calc(1px - .59em);margin-left:calc(.41em - 1px);transform-origin:center;transition:transform .28s ease-out;pointer-events:none;z-index:3}.festival-list .festival-timeline .festival-item.is-progress-reached:after{transform:scale(1.08)}.festival-list .festival-timeline.is-timeline-ready:before{opacity:1}.festival-list .festival-timeline.is-timeline-ready .festival-item:before{background-color:#ffb90042}.festival-list .festival-timeline .festival-pic{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.festival-list .festival-timeline .festival-pic:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#000000d1,#0000002e),linear-gradient(to bottom,#28000080,#140000b8);pointer-events:none}.festival-list .festival-timeline .festival-pic img{width:100%;height:100%;object-fit:cover;object-position:center}.festival-list .festival-timeline .festival-date{grid-column:1;grid-row:1;align-self:start;justify-self:end;z-index:2;min-width:5.5em;margin-top:calc(var(--festival-node-y) - .5em);padding-right:20px;color:#ffb900;font-family:var(--font-heading);font-size:var(--text-small-size);font-weight:var(--font-weight-heading);line-height:1;text-align:right}@media screen and (max-width:1024px){.festival-list .festival-timeline .festival-date{grid-column:2;justify-self:start;min-width:0;margin-top:auto;padding-right:0;text-align:left}}.festival-list .festival-timeline .festival-body{grid-column:2;grid-row:1;z-index:2;display:flex;flex-direction:column;justify-content:flex-start;width:min(100%,650px);min-height:var(--festival-expanded-h);padding-top:calc(var(--festival-node-y) - clamp(16.8px,2.8vw,32.48px));padding-bottom:clamp(28px,5vw,58px)}@media screen and (max-width:1024px){.festival-list .festival-timeline .festival-body{min-height:0;padding-block:0}}.festival-list .festival-timeline .festival-body{gap:var(--space-4)}@media screen and (max-width:1024px){.festival-list .festival-timeline .festival-body{grid-row:2;gap:var(--space-3)}}.festival-list .festival-timeline .festival-body .btn{align-self:flex-start;width:fit-content;margin:4px 0 0}.festival-list .festival-timeline .festival-title{font-size:var(--text-card-size);line-height:var(--text-heading-line)}.festival-list .festival-timeline .desc{max-width:620px;color:var(--color-text-body);font-size:var(--text-body-size);line-height:var(--text-body-line)}@media(prefers-reduced-motion:reduce){.festival-list .festival-timeline:before{opacity:0;transition:none}.festival-list .festival-timeline .festival-item:before,.festival-list .festival-timeline .festival-item:after{transition:none}.festival-list .festival-timeline .festival-item.is-progress-reached:after{transform:none}}.festival-detail{position:relative;width:100%;margin-inline:0;margin-bottom:clamp(72px,10vw,120px);padding:calc(clamp(120px,12vw,170px) + var(--announcement-height, 0px)) max(24px,(100vw - 1180px) / 2) clamp(72px,10vw,120px);overflow:hidden;background-image:linear-gradient(90deg,#120000e6,#120000b8 42%,#1200002e),linear-gradient(180deg,#00000047,#1e0000b8),var(--festival-hero-bg, linear-gradient(135deg, #3a0202, #090000));background-position:center;background-size:cover;isolation:isolate}.festival-detail .festival-detail-title{width:min(100%,var(--content-max));margin-inline:auto;margin-bottom:var(--space-3);text-shadow:0 6px 28px rgba(0,0,0,.55)}.festival-detail .festival-detail-date{width:fit-content;margin:0 auto 14px max(0px,(100% - var(--content-max)) / 2);padding:7px 12px;border:1px solid rgba(255,185,0,.28);border-radius:999px;color:#ffb900;font-family:var(--font-heading);font-size:var(--text-small-size);font-weight:var(--font-weight-heading)}.festival-detail .festival-detail-desc{width:min(100%,var(--content-max));max-width:680px;margin:0 auto clamp(42px,7vw,88px) max(0px,(100% - var(--content-max)) / 2);font-size:var(--text-body-size);line-height:var(--text-body-line);text-shadow:0 3px 18px rgba(0,0,0,.5)}.festival-detail .festival-detail-highlights,.festival-detail .festival-detail-items,.festival-detail .festival-detail-content,.festival-detail .faq,.festival-detail .festival-detail-aside{width:min(100%,var(--content-max));margin-inline:auto;margin-bottom:clamp(34px,6vw,70px)}.festival-detail .festival-detail-section-head{margin-bottom:clamp(16px,3vw,26px)}.festival-detail .festival-detail-section-head p{margin-bottom:6px;color:#ffb900c2;font-size:var(--text-caption-size);font-weight:var(--font-weight-heading);letter-spacing:.16em;text-transform:uppercase}.festival-detail .festival-detail-highlights ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,18px)}.festival-detail .festival-detail-highlights li{position:relative;min-height:190px;overflow:hidden;padding:clamp(18px,2.4vw,24px);border:1px solid rgba(255,185,0,.2);border-radius:14px;background:linear-gradient(135deg,rgba(255,185,0,.1),transparent 38%),#280202b8;isolation:isolate}.festival-detail .festival-detail-highlights li:before{content:"";position:absolute;right:-18px;bottom:-18px;width:90px;height:90px;border:1px solid rgba(255,185,0,.18);border-radius:50%}.festival-detail .festival-detail-highlights span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:26px;margin-bottom:18px;border:1px solid rgba(255,185,0,.28);border-radius:999px;color:#ffb900d1;font-size:var(--text-caption-size);font-weight:var(--font-weight-heading)}.festival-detail .festival-detail-highlights h3{position:relative;margin-bottom:10px}.festival-detail .festival-detail-highlights p{position:relative;font-size:var(--text-body-size);line-height:var(--text-body-line)}.festival-detail .festival-detail-highlights-caishen li:after,.festival-detail .festival-detail-highlights-new-year li:after{content:"";position:absolute;right:22px;bottom:22px;width:10px;height:10px;border-radius:50%;background:#ffb900d1;box-shadow:0 0 28px #ffb90080}.festival-detail .festival-detail-highlights-pudu li{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 44%),#220101c7}.festival-detail .festival-detail-highlights-lidou li:before{border-radius:16px;transform:rotate(12deg)}.festival-detail .festival-detail-items{padding:clamp(18px,3vw,30px);border:1px solid rgba(255,185,0,.2);border-radius:16px;background:#1600008a}.festival-detail .festival-detail-items ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.festival-detail .festival-detail-items li{min-height:136px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff08}.festival-detail .festival-detail-items h3{margin-bottom:var(--space-2)}.festival-detail .festival-detail-items p{font-size:var(--text-body-size);line-height:var(--text-body-line)}.festival-detail .festival-detail-aside .festival-detail-aside-panel{padding:clamp(18px,2.4vw,24px);border:1px solid rgba(255,185,0,.24);border-radius:16px;background:linear-gradient(180deg,#550404c2,#160000e6);box-shadow:0 18px 40px #00000047}.festival-detail .festival-detail-aside span{margin-bottom:var(--space-2);color:#ffb900b8;font-size:var(--text-caption-size);font-weight:var(--font-weight-heading);letter-spacing:.14em;text-transform:uppercase}.festival-detail .festival-detail-aside h2{margin-bottom:var(--space-3);font-size:var(--text-section-size);line-height:var(--text-heading-line)}.festival-detail .festival-detail-aside p{margin-bottom:18px;color:var(--color-text-muted);font-size:var(--text-small-size);line-height:var(--text-small-line)}.festival-detail .festival-detail-aside .festival-detail-aside-line{width:fit-content;min-width:min(100%,220px);margin-bottom:14px}.festival-detail .festival-detail-aside .festival-detail-aside-line .i-line{width:18px;height:18px}.festival-detail .festival-detail-aside .festival-detail-aside-all{display:inline-flex;color:var(--color-text-body);font-size:var(--text-small-size);text-decoration:underline;text-underline-offset:4px}.festival-detail .festival-detail-aside>.festival-detail-aside-all{align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid rgba(255,185,0,.28);border-radius:999px;background:#240101b8;color:var(--color-accent);font-size:var(--text-small-size);font-weight:var(--font-weight-heading)}@media screen and (max-width:1024px){.festival-detail-highlights ul,.festival-detail-items ul{grid-template-columns:1fr}}@media screen and (max-width:640px){.festival-detail{padding-inline:16px}}
