/* Anime 2 only: full artwork, warm light, and foreground petals. */
.hero{background:radial-gradient(ellipse at 82% 30%,#fce5ee 0,transparent 51%),radial-gradient(ellipse at 60% 90%,#fff1da 0,transparent 50%),#fffafd}
.hero-grid>div:first-child{background:transparent}
.hero .hero-photo{width:min(100%,400px);aspect-ratio:1320/1702;border:9px solid #fffaf5;border-radius:8px;transform:rotate(2deg);box-shadow:0 0 0 1px #d8b784,15px 18px 0 -5px #f8dfeb,0 24px 55px #97436029;justify-self:center}
.motion-rich .hero-photo img{object-fit:contain;object-position:center;scale:none;translate:none;animation:curtainIn 1.3s cubic-bezier(.16,1,.3,1) .5s both;border-radius:0}
.about-photo{aspect-ratio:3/2}
.about-photo img{object-position:50% 32%}
.sakura{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;--fall-distance:800px;mask-image:linear-gradient(90deg,#000 0%,#0004 10%,#0000 20%,#0000 43%,#000 62%)}
.sakura-petal{position:absolute;top:-50px;left:var(--left);width:var(--size);height:calc(var(--size)*1.4);opacity:0;animation:sakura-fall var(--duration) linear var(--delay) infinite;animation-play-state:paused}
.sakura-petal i{display:block;width:100%;height:100%;background:linear-gradient(135deg,#fff3f6 5%,#f3adc5 46%,#d56390);border-radius:80% 12% 75% 28%;clip-path:polygon(0 0,100% 0,100% 69%,72% 100%,57% 80%,43% 100%,0 100%);animation:sakura-turn 6s ease-in-out var(--delay) infinite alternate;animation-play-state:paused}
.sakura-petal:nth-child(3n) i{animation-duration:8s}
.sakura-intro{animation-iteration-count:1;animation-fill-mode:forwards}
.sakura.is-running .sakura-petal,.sakura.is-running .sakura-petal i{animation-play-state:running}
@keyframes sakura-fall{0%{transform:translate3d(6vw,0,0);opacity:0}8%{opacity:.9}32%{transform:translate3d(-4vw,calc(var(--fall-distance)*.3),0)}62%{transform:translate3d(-10vw,calc(var(--fall-distance)*.6),0);opacity:.8}85%{opacity:.7}100%{transform:translate3d(-30vw,var(--fall-distance),0);opacity:0}}
.sakura-petal:nth-child(3n){animation-name:sakura-breeze}
@keyframes sakura-breeze{0%{transform:translate3d(12vw,0,0);opacity:0}10%{opacity:.8}35%{transform:translate3d(-12vw,calc(var(--fall-distance)*.32),0)}65%{transform:translate3d(-18vw,calc(var(--fall-distance)*.65),0);opacity:.9}100%{transform:translate3d(-38vw,var(--fall-distance),0);opacity:0}}
@keyframes sakura-turn{from{transform:rotate(var(--turn)) rotateY(0deg)}to{transform:rotate(calc(var(--turn) + 150deg)) rotateY(65deg)}}
@media(min-width:1024px){.hero{padding-top:42px;padding-bottom:110px}.hero-grid{grid-template-columns:1.15fr 1fr}}
@media(max-width:1023px){.hero .hero-photo{width:min(82%,380px)}.sakura{mask-image:linear-gradient(90deg,#000,#0002 23%,#0000 42%,#0004 73%,#000)}}
@media(max-width:767px){.sakura-small-screen{display:none}.sakura-petal{width:calc(var(--size)*.8);height:calc(var(--size)*1.12)}}
@media(prefers-reduced-motion:reduce){.sakura{display:none!important}}
@media(prefers-reduced-motion:reduce){.motion-rich .hero-photo img{animation:none;clip-path:none}}
@media print{.sakura{display:none!important}}
