:root{--detail-ink:var(--readable-ivory);--bottle-floor:var(--background);--bottle-floor-edge:color-mix(in srgb, var(--readable-ivory) 24%, transparent)}.little-detail{pointer-events:none;color:var(--detail-ink);z-index:8;width:64px;height:28px;position:absolute;overflow:visible}.little-detail svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.detail-track{position:relative}.detail-car{animation:.8s ease-in both detail-drive;bottom:100%;left:18%}.detail-gym{width:24px;height:24px;animation:.7s ease-in-out both detail-curl;top:4px;left:100%}.detail-bat{width:32px;animation:.85s ease-in-out both detail-bat-flight;top:100%;left:10%}.detail-bat svg{animation:.15s ease-in-out 5 alternate detail-wings}.detail-paws{width:130px;animation:.85s linear both detail-paw-walk;top:calc(100% - 26px);left:15%}.detail-paws path{stroke-dasharray:110;stroke-dashoffset:110px;animation:.75s ease-out forwards detail-paw-ink}.detail-plane{z-index:300;width:32px;height:26px;animation:.65s ease-in both detail-plane-flight;position:fixed}.detail-cape{width:38px;height:24px;animation:.45s ease-out both detail-cape-swish;top:100%;left:calc(100% + 3px)}.perspective-toggle{position:relative}.coffee-steam-trigger{z-index:3;background:0 0;border:0;width:27%;height:20%;padding:0;position:absolute;top:0;left:0}.coffee-steam-trigger:hover{background:0 0}.detail-steam{width:30px;height:52px;animation:.8s ease-out both detail-steam-rise;top:25%;left:35%}@keyframes detail-drive{0%{opacity:0;transform:translate(-20px)}12%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(170px)}}@keyframes detail-curl{0%,to{opacity:0;transform:rotate(20deg)}25%{opacity:1}55%{opacity:1;transform:translateY(-6px)rotate(-35deg)}}@keyframes detail-bat-flight{0%{opacity:0;transform:translate(0)}15%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(65vw,14px)}}@keyframes detail-wings{to{transform:scaleY(.55)}}@keyframes detail-paw-walk{0%{opacity:0;transform:translate(0)}15%,75%{opacity:.8}to{opacity:0;transform:translate(80px)}}@keyframes detail-paw-ink{to{stroke-dashoffset:0}}@keyframes detail-plane-flight{0%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(90px,-75px)rotate(-12deg)}}@keyframes detail-cape-swish{0%{opacity:0;transform:scaleX(.3)rotate(-20deg)}35%{opacity:1}to{opacity:0;transform:scaleX(1.2)rotate(20deg)}}@keyframes detail-steam-rise{0%{opacity:0;transform:translateY(10px)}25%{opacity:.8}to{opacity:0;transform:translateY(-18px)}}@media (prefers-reduced-motion:reduce){.little-detail{animation:none;display:none}}:root{--bird-shadow-ink:color-mix(in srgb, var(--background) 21%, transparent)}.coastal-photo-credits{color:var(--foreground);margin-top:18px;font-size:12px}.coastal-photo-credits summary{cursor:pointer}.coastal-photo-credits ul{padding:0;list-style:none}.coastal-photo-credits li{text-transform:capitalize;margin-block:6px}.coastal-photo-credits a{text-decoration:underline}:is(#main,.home-viewer) .folder-header-portfolio>.city-intro-img{object-position:75% 45%}:is(#main,.home-viewer) .folder-header-about>.city-intro-img{object-position:70% 35%}:is(#main,.home-viewer) .folder-header-experience>.city-intro-img{object-position:65% 55%}:is(#main,.home-viewer) .folder-header-experience{--header-left-shade:linear-gradient(90deg, #000000a6, #0000008c 70%, transparent)}@media (width<=1024px){:is(#main,.home-viewer) .folder-header-experience{--header-left-shade:linear-gradient(90deg, #000000a6, #000000a6 94%, transparent)}}:is(#main,.home-viewer) .folder-header-journal>.city-intro-img{object-position:75% 45%}:is(#main,.home-viewer) .folder-header-education>.city-intro-img{object-position:65% 35%}:is(#main,.home-viewer) .folder-header-education{--header-left-shade:linear-gradient(90deg, #0009, #0000007a 70%, transparent)}:is(#main,.home-viewer) .folder-header-contact>.city-intro-img{object-position:65% 35%}#main .coastal-cover>.cover-skyline{object-position:70% 35%}.miami-birds{z-index:-1;pointer-events:none;width:100%;height:100%;fill:var(--bird-shadow-ink);position:absolute;inset:0}.miami-birds-home{filter:blur(.8px)}.miami-birds-home>g{transform-box:fill-box;transform-origin:50%;animation:14s linear infinite miami-bird-pass}.miami-birds-contact{height:72%}@keyframes miami-bird-pass{0%,10%{opacity:0;transform:translate(-38%,22%)}16%{opacity:1}74%{opacity:1}84%,to{opacity:0;transform:translate(40%,-24%)}}@media (prefers-reduced-motion:reduce){.miami-birds-home{display:none}.miami-birds-home>g{animation:none}}
