/* Andrea Kundert portfolio: page basics and motion. Layout lives in inline styles on each page. */
html{-webkit-text-size-adjust:100%}
img{max-width:100%}
body{margin:0}
html{scroll-behavior:smooth}
a{color:#1B1F2A}a:hover{color:#2747D8}
.lift{transition:transform .28s cubic-bezier(.2,.9,.3,1.35),box-shadow .28s ease}
.lift:hover{transform:rotate(0deg) translateY(-8px) scale(1.035)!important;box-shadow:0 30px 36px -14px rgba(27,31,42,.5)!important;z-index:2}
.lift:active{transform:rotate(0deg) translateY(-2px) scale(.97)!important;transition-duration:.08s}
a.lift:focus-visible{outline:3px solid #2747D8;outline-offset:5px}
@keyframes sway{0%,100%{rotate:-.9deg}50%{rotate:.9deg} }
.sway{transform-origin:50% 0;animation:sway 5.5s ease-in-out infinite}
.sway:hover{animation-play-state:paused}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -6px} }
.bob{animation:bob 2.4s ease-in-out infinite}
@keyframes draw{from{stroke-dashoffset:400}to{stroke-dashoffset:0} }
.sq-line{stroke-dasharray:400;animation:draw 1.1s .4s cubic-bezier(.6,0,.2,1) both}
@keyframes boil{0%,50%,100%{scale:1 1;translate:0 0}25%{scale:1 -1;translate:2% 0}75%{scale:1 -1;translate:-2% 0} }
h1:hover .sq{animation:boil .45s steps(1,end) 3}
.drift{transition:transform .28s cubic-bezier(.2,.9,.3,1.35),box-shadow .28s ease,translate .75s cubic-bezier(.2,.8,.2,1),rotate .75s cubic-bezier(.3,1.4,.4,1),scale .75s cubic-bezier(.2,.8,.2,1)}
.drift:nth-child(even){--tilt:-7deg}
.drift:nth-child(2){transition-delay:0s,0s,.08s,.08s,.08s}
.drift:nth-child(3){transition-delay:0s,0s,.16s,.16s,.16s}
.drift:nth-child(4){transition-delay:0s,0s,.24s,.24s,.24s}
.drift:nth-child(n+5){transition-delay:0s,0s,.12s,.12s,.12s}
.drift.pre{translate:0 64px;rotate:var(--tilt,7deg);scale:.92}
.drift.snap{transition:none!important}
@media (prefers-reduced-motion:reduce){.lift,.drift{transition:none}.drift.pre{translate:none;rotate:none;scale:none}.sway,.bob,.sq-line,h1:hover .sq{animation:none!important} }
