.festival-history-hero{position:relative;isolation:isolate;overflow:hidden;padding:112px 0 78px;background:#08131e}.festival-history-hero:before{content:'';position:absolute;z-index:-2;inset:-34px;background:linear-gradient(90deg,rgba(7,16,27,.96) 0%,rgba(7,16,27,.77) 44%,rgba(7,16,27,.42) 100%),url('/assets/photos/festival-stage-before.webp?v=20260908-highres') center 54%/cover no-repeat;transform:scale(1.06);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.festival-history-hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(11,19,32,.05),rgba(11,19,32,.86))}.festival-history-hero.is-seen:before{transform:scale(1.01)}.festival-history-hero .year{font-size:clamp(4rem,12vw,9rem);line-height:.85;font-weight:800;letter-spacing:-.06em;opacity:.17;margin:0 0 -8px}.festival-history-hero h1{max-width:850px;margin:0;text-shadow:0 10px 34px rgba(0,0,0,.34)}.festival-history-intro{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.55;max-width:820px;color:#e2e5df}.festival-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.festival-principles div{padding:18px;border:1px solid rgba(212,175,55,.2);border-radius:18px;background:rgba(255,255,255,.025);text-align:center}.festival-principles strong{display:block;font-size:1rem}.festival-timeline{display:grid;gap:0;max-width:900px;margin:36px auto 0}.festival-era{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:30px 0;border-top:1px solid rgba(255,255,255,.09)}.festival-era:first-child{border-top:0}.festival-era .era-label{font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;color:#d8c16f}.festival-era h3{margin:.1rem 0 .5rem}.festival-era p{margin:0;opacity:.82}.festival-quote{margin:34px 0;padding:30px;border-left:3px solid #d4af37;background:rgba(212,175,55,.055);font-size:clamp(1.25rem,2.5vw,1.8rem);line-height:1.45}.festival-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.festival-path{display:block;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.025);text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease}.festival-path:hover{transform:translateY(-3px);border-color:rgba(212,175,55,.45)}.festival-path span{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;opacity:.55;margin-bottom:8px}.festival-path strong{font-size:1.15rem}.history-photo-story{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:18px;margin:46px 0 8px;align-items:stretch}.history-photo-story figure{position:relative;margin:0;overflow:hidden;border-radius:26px;border:1px solid rgba(212,175,55,.18);background:#07101b;min-height:290px}.history-photo-story figure:first-child{min-height:390px}.history-photo-story img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:saturate(.9) contrast(1.02)}.history-photo-story figure.is-seen img{transform:scale(1)}.history-photo-story figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:13px 15px;border-radius:14px;background:rgba(7,16,27,.72);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);color:#f4efe1;font-size:.86rem;line-height:1.5}.history-photo-story .history-small-stack{display:grid;gap:18px}.history-photo-story .history-small-stack figure{min-height:186px}.history-photo-story .history-small-stack figcaption{font-size:.78rem}.history-photo-story a{display:block;height:100%}.photo-note{max-width:760px;margin:18px 0 0;color:#aebbb3;font-size:.9rem;line-height:1.7}@media(max-width:800px){.festival-principles,.festival-paths{grid-template-columns:1fr 1fr}.festival-era{grid-template-columns:1fr;gap:8px}.history-photo-story{grid-template-columns:1fr}.history-photo-story figure:first-child{min-height:300px}.history-photo-story .history-small-stack{grid-template-columns:1fr 1fr}.history-photo-story .history-small-stack figure{min-height:210px}}@media(max-width:520px){.festival-principles,.festival-paths{grid-template-columns:1fr}.festival-history-hero{padding:82px 0 62px}.festival-history-hero:before{background-position:62% 50%}.history-photo-story{margin-top:32px}.history-photo-story figure:first-child{min-height:240px}.history-photo-story .history-small-stack{grid-template-columns:1fr}.history-photo-story .history-small-stack figure{min-height:220px}.history-photo-story figcaption{left:12px;right:12px;bottom:12px}}@media(prefers-reduced-motion:reduce){.festival-history-hero:before,.history-photo-story img{transition:none!important;transform:none!important}}

/* 2026-09-09: captions follow the gallery language instead of floating label boxes. */
.history-photo-story figure:after{content:'';position:absolute;z-index:1;inset:34% 0 0;background:linear-gradient(transparent,rgba(4,12,19,.84));pointer-events:none}
.history-photo-story figcaption{z-index:2;left:20px;right:20px;bottom:18px;padding:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:#f5f1e8;font-size:.86rem;line-height:1.5;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.history-photo-story figcaption strong{display:block;font-family:Cinzel,Georgia,serif;font-weight:500;font-size:1rem;color:#fff4c5;margin-bottom:3px}
.history-photo-story .history-small-stack figcaption{font-size:.82rem}
.photo-note{color:#52605a}
@media(max-width:520px){.history-photo-story figcaption{left:14px;right:14px;bottom:14px}}
