/* One continuous light field connects the hero to the course cards. */
.intro-world{position:relative;isolation:isolate;background:radial-gradient(ellipse 58% 32% at 92% 13%,#f4d5e3a6,transparent 85%),radial-gradient(ellipse 55% 22% at 0 35%,#f4dbd880,transparent 90%),linear-gradient(180deg,#fffaf7 0%,#fdf5f2 26%,#f9eaf0 53%,#fcf3ef 85%,#fffaf7 100%)}
.intro-world>.hero,.intro-world>.courses{background:transparent;border:0}
.hero:before{display:none}
.hero{overflow:clip}
.hero-inner{z-index:1}
.hero-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.hero-atmosphere>svg{position:absolute;width:max(100%,1440px);height:100%;min-height:740px;left:50%;top:0;transform:translateX(-50%);color:#bf8d9f}
.cinema-ribbon{opacity:.31}
.storyboard-drawing{opacity:.43}
.cinema-stardust{opacity:.56}
.hero-atmosphere:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 35% 43% at 24% 43%,#fffaf7d9,transparent 100%);pointer-events:none}
.courses>.section{padding-top:55px}
.courses .section-heading{margin-bottom:38px}
.floating-heart{animation:heart-drift 7s ease-in-out infinite}
.hero-star,.video-sparkle{animation:star-breathe 5s ease-in-out infinite}
.star-two,.work-card:nth-child(2) .video-sparkle{animation-delay:-2.5s}
.video-heart{animation:heart-drift 8s ease-in-out infinite;animation-delay:-3s}
.storyboard-drawing{animation:story-drift 12s ease-in-out infinite}
[data-ambient-motion] .floating-heart,[data-ambient-motion] .hero-star,[data-ambient-motion] .video-sparkle,[data-ambient-motion] .video-heart,[data-ambient-motion] .storyboard-drawing{animation-play-state:paused}
[data-ambient-motion].ambient-visible .floating-heart,[data-ambient-motion].ambient-visible .hero-star,[data-ambient-motion].ambient-visible .video-sparkle,[data-ambient-motion].ambient-visible .video-heart,[data-ambient-motion].ambient-visible .storyboard-drawing{animation-play-state:running}
@keyframes heart-drift{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes star-breathe{0%,100%{opacity:.55;scale:.93}50%{opacity:1;scale:1.06}}
@keyframes story-drift{0%,100%{translate:0 0}50%{translate:0 -6px}}
@media(min-width:1500px){.hero-atmosphere>svg{min-height:790px}}
@media(max-width:1100px) and (min-width:761px){.hero-atmosphere>svg{left:44%;opacity:.7}}
@media(max-width:760px){
 .hero-visual{width:calc(100% + 40px);padding:40px 16px 70px;min-height:0;margin-top:14px}
 .portrait-frame{width:min(380px,calc(100vw - 32px));height:auto;aspect-ratio:3/4;flex-shrink:0;border-width:7px;border-radius:200px 200px 38px 38px}
 .portrait-orbit{width:min(400px,calc(100vw - 16px));height:auto;aspect-ratio:3/4;left:50%;top:27px;transform:translateX(-50%) rotate(-10deg)}
 .floating-heart{left:9px;top:78px}
 .star-one{right:8px;top:180px}
 .star-two{left:27px;bottom:95px}
 .hero-cinema{width:210px;right:-2px;bottom:0}
 .hero-atmosphere>svg{width:1100px;height:660px;min-height:0;top:auto;bottom:-20px;left:58%;opacity:.68}
 .hero-atmosphere:after{background:linear-gradient(180deg,#fffaf7 0%,#fffaf7ee 25%,transparent 55%)}
 .intro-world{background:radial-gradient(ellipse 120% 16% at 100% 19%,#f4d5e3b0,transparent 85%),linear-gradient(180deg,#fffaf7,#fcf3f1 23%,#f9eaf0 39%,#fcf3ef 85%,#fffaf7)}
 .courses>.section{padding-top:24px}
 .hero h1 .hero-line:last-child{font-size:1.3em}
}
@media(max-width:360px){
 .hero-visual{width:calc(100% + 32px);padding-inline:16px;padding-bottom:66px}
 .hero-cinema{width:185px}
 .hero h1 .hero-line:last-child{font-size:1.36em}
}
@media(prefers-reduced-motion:reduce){
 .floating-heart,.hero-star,.video-sparkle,.video-heart,.storyboard-drawing{animation:none!important}
}
