/* AI Flow: continuous process map beneath the existing CV. */
body[data-theme=light]{background:radial-gradient(ellipse 58% 52% at 88% 14%,#d7f3f5 0,transparent 72%),radial-gradient(ellipse 53% 55% at 10% 78%,#e5eaf8 0,transparent 75%),linear-gradient(160deg,#f7fbfc,#f1f8fa 54%,#f8fbfd);background-attachment:fixed;color:#123047;--cyan:#087f96;--violet:#7655ad}
body[data-theme=light] .shell{position:relative;z-index:1}
body[data-theme=light] .sky-scene,body[data-theme=light] .season-label,body[data-theme=light] .nebula,body[data-theme=light] .noise,body[data-theme=light] #stars{display:none}
#flow-canvas{display:none;position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2}
body[data-theme=light] #flow-canvas{display:block;z-index:0}
body[data-theme=light] .hero h1 em{color:#087b93;text-shadow:none}
body[data-theme=light] .eyebrow,body[data-theme=light] .section-tag{color:#087b93}
body[data-theme=light] .card,body[data-theme=light] .project{background:#ffffffc9;border-color:#96bbc530;box-shadow:0 18px 48px #40647710;backdrop-filter:blur(14px)}
body[data-theme=light] .card:hover,body[data-theme=light] .project:hover{border-color:#6babbc75;box-shadow:0 23px 55px #40647720}
body[data-theme=light] .portrait{border-color:#ffffffdf;box-shadow:0 24px 70px #4064772d}
body[data-theme=light] .orb{opacity:.18}
@media(max-width:700px){body[data-theme=light] .card,body[data-theme=light] .project{backdrop-filter:blur(7px)}}
@media(prefers-reduced-motion:reduce){body[data-theme=light] .card,body[data-theme=light] .project{backdrop-filter:none}}

/* Deliberate upward entrances across the whole document. */
html.flow-motion .hero-copy,html.flow-motion .portrait,html.flow-motion .reveal{opacity:0;transform:translate3d(0,72px,0);filter:blur(4px);transition:opacity .96s cubic-bezier(.18,.75,.2,1),transform .96s cubic-bezier(.18,.75,.2,1),filter .96s cubic-bezier(.18,.75,.2,1);transition-delay:var(--flow-delay,0ms);will-change:opacity,transform}
html.flow-motion .hero-copy.flow-in,html.flow-motion .portrait.flow-in,html.flow-motion .reveal.flow-in{opacity:1;transform:translate3d(0,0,0);filter:blur(0);will-change:auto}
html:not(.flow-motion) .reveal{opacity:1;transform:none;filter:none}
html.flow-motion .card.flow-in:hover,html.flow-motion .project.flow-in:hover{transform:translateY(-6px)}
@media(max-width:650px){html.flow-motion .hero-copy,html.flow-motion .portrait,html.flow-motion .reveal{transform:translate3d(0,54px,0)}}
@media(prefers-reduced-motion:reduce){html.flow-motion:not(.force-motion) .hero-copy,html.flow-motion:not(.force-motion) .portrait,html.flow-motion:not(.force-motion) .reveal,html.flow-motion:not(.force-motion) .hero-copy.flow-in,html.flow-motion:not(.force-motion) .portrait.flow-in,html.flow-motion:not(.force-motion) .reveal.flow-in{opacity:1;transform:none;filter:none;transition:none}}
