/* Layered portrait: source photo stays still; only decorative details move. */
#about .portrait-column{width:100%;min-width:0;align-self:center;text-align:center}
#about .about-photo-wrap.portrait-motion{position:relative;width:100%;border:0;border-radius:0;background:transparent;box-shadow:none;isolation:isolate;overflow:visible}
#about .portrait-motion>img{display:block;width:100%;height:auto;aspect-ratio:1122 / 1402;object-fit:contain;filter:none;border:0;border-radius:0;box-shadow:none;-webkit-mask-image:url("/assets/portrait-feather-v4.svg");mask-image:url("/assets/portrait-feather-v4.svg");mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat}
.portrait-scene{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.portrait-motion.is-ready .portrait-scene{display:block}
.clock-hour{transform:rotate(305deg)}.clock-minute{transform:rotate(60deg)}.clock-second{transform:rotate(0deg)}
.portrait-motion.is-running .clock-second{animation:portrait-clock 60s steps(60,end) var(--second-offset,0s) infinite!important}
.portrait-motion.is-running .clock-minute{animation:portrait-clock 3600s linear var(--minute-offset,-600s) infinite!important}
.portrait-motion.is-running .clock-hour{animation:portrait-clock 43200s linear var(--hour-offset,-36600s) infinite!important}
.bird-wing-near{animation:portrait-wing-near var(--flap,1.8s) ease-in-out var(--phase,0s) infinite!important}.bird-wing-far{animation:portrait-wing-far var(--flap,1.8s) ease-in-out var(--phase,0s) infinite!important}
.portrait-flame{transform-box:fill-box;transform-origin:50% 100%;animation:portrait-flame 1.7s ease-in-out infinite!important}.portrait-flame-core{animation-duration:1.1s!important;animation-delay:-.5s!important}.portrait-candle-glow{animation:portrait-glow 2.3s ease-in-out infinite!important}
.portrait-motion:not(.is-running) .bird-wing,.portrait-motion:not(.is-running) .portrait-flame,.portrait-motion:not(.is-running) .portrait-candle-glow,.portrait-motion.is-paused *{animation-play-state:paused!important}
@keyframes portrait-clock{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes portrait-wing-near{0%,100%{transform:rotate(-12deg) scaleY(1)}48%{transform:rotate(14deg) scaleY(.18)}}
@keyframes portrait-wing-far{0%,100%{transform:rotate(8deg) scaleY(.82)}48%{transform:rotate(-16deg) scaleY(.2)}}
@keyframes portrait-flame{0%,100%{transform:rotate(-3deg) scale(.94,1);opacity:.95}32%{transform:rotate(4deg) scale(1.05,.91);opacity:1}68%{transform:rotate(-1deg) scale(.84,1.07);opacity:.9}}
@keyframes portrait-glow{0%,100%{opacity:.44}42%{opacity:.7}72%{opacity:.36}}

.portrait-bird-flight{animation:portrait-depart var(--journey,10s) linear var(--departure,0s) infinite!important;transform-box:view-box;transform-origin:0 0;opacity:0}
.portrait-motion:not(.is-running) .portrait-bird-flight{animation-play-state:paused!important}
@keyframes portrait-depart{0%{transform:translate(0,0);opacity:0}8%{transform:translate(calc(var(--flight-x)*.04),-4px);opacity:1}48%{transform:translate(calc(var(--flight-x)*.55),calc(var(--flight-y)*.24));opacity:1}75%{transform:translate(calc(var(--flight-x)*.85),calc(var(--flight-y)*.62));opacity:.75}96%,100%{transform:translate(var(--flight-x),var(--flight-y));opacity:0}}

.clock-rotor,.bird-wing{transform-box:fill-box;transform-origin:50% 50%}

#about .portrait-motion.is-ready>img{opacity:0}
