.hero-mission{display:grid;gap:16px;justify-items:center}
.hero-motto{margin:0;font-family:var(--display);font-size:clamp(23px,2.8vw,42px);font-style:italic;font-weight:900;line-height:1.14;letter-spacing:-.035em}
.hero-motto span{display:block}
.hero-motto span+span{color:var(--yellow)}
.hero-purpose{margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:var(--cream)}
.home-mission{background:var(--cream);border-bottom:1px solid var(--line)}
.home-mission h2{font-size:clamp(36px,6.5vw,100px);line-height:1;letter-spacing:-.045em;margin:30px 0}
.home-mission h2 em{color:var(--purple)}
.home-mission>p{font-size:clamp(18px,1.65vw,24px);line-height:1.55;max-width:66ch;margin:0 0 30px}
.home-mission>.button{background:var(--purple);color:var(--cream)}
.home-mission>.button .arrow{filter:invert(1)}
.festival-mission h1{font-size:clamp(34px,6.1vw,94px);line-height:1.08;letter-spacing:-.04em;margin-bottom:0}
.festival-mission h1>span,.festival-mission h1>em{display:block}
.festival-mission .fest-manifesto{gap:22px;max-width:900px;margin-top:36px}
.festival-mission .fest-manifesto>p{max-width:68ch;font-size:clamp(18px,1.6vw,22px);line-height:1.55}
.festival-mission .fest-manifesto>p:first-child{font-size:clamp(24px,2.6vw,36px);font-weight:700;line-height:1.25;letter-spacing:-.025em}
@media(max-width:550px){.hero-mission{gap:14px}.hero-motto{font-size:clamp(21px,5.8vw,30px)}.hero-purpose{max-width:26ch}.home-mission h2{font-size:clamp(32px,8.5vw,46px)}.festival-mission h1{font-size:clamp(29px,7.8vw,43px)}.home-mission>.button{width:100%}.festival-mission .fest-manifesto{margin-top:28px}}

/* A concise directory instead of a second homepage introduction. */
.introduction{padding-top:clamp(48px,6vw,86px)}
.introduction>h2{font-size:clamp(30px,4vw,60px);line-height:1.08;letter-spacing:-.04em;margin:0}
.introduction>.experience-list{margin-top:32px}

/* Identical groups make the last frame meet the first without a blank tail. */
.ticker>.ticker-track{display:flex;gap:0;width:max-content;animation:missionTickerLoop 40s linear infinite;will-change:transform}
.ticker-group{display:flex;align-items:center;justify-content:space-around;flex:0 0 auto;min-width:100vw;gap:26px;padding-right:26px;white-space:nowrap}
.ticker-group>span,.ticker-group>img{flex:none}
@keyframes missionTickerLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:550px){.ticker-group{gap:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.ticker>.ticker-track{animation:none;will-change:auto}}

/* Keep rotated ticker bounds outside the hero's content, including short laptops. */
.hero{height:auto;min-height:calc(100svh - 86px);max-height:none;padding-bottom:clamp(56px,5vw,90px)}
.hero>*,.hero-bottom{flex-shrink:0}
.ticker{margin:calc(2vw + 16px) 0;}
