.header{view-transition-name:portfolio-header;position:relative;z-index:5}.direction-tab{view-transition-name:none}#page-view{min-height:55svh}#main:focus{outline:none}.route-changing,.route-changing body{scroll-behavior:auto!important}.route-changing body,.route-changing .header{transition:none!important}.header nav .direction-tab{transition:background-color .25s,color .25s,box-shadow .25s}.header nav .direction-tab:active{transform:scale(.98)}
::view-transition-old(root){animation:portfolio-leave .35s cubic-bezier(.22,.61,.36,1) both}::view-transition-new(root){animation:portfolio-enter .42s cubic-bezier(.22,.61,.36,1) both}::view-transition-old(portfolio-header),::view-transition-new(portfolio-header){animation:none;mix-blend-mode:normal}::view-transition-group(portfolio-header){z-index:5}
@keyframes portfolio-leave{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes portfolio-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.header nav .direction-tab{transition:none}}
.header,.satellite-page .header{position:sticky;top:0;z-index:20;background:var(--paper);box-shadow:0 1px 0 var(--line)}.cover-socials{display:flex;gap:23px;margin:0 0 25px;font:10px var(--mono);color:#e2edda}.cover-socials a{border-bottom:1px solid #ffffff55;padding-bottom:5px}.cover-socials a:hover{color:#d7ff79}.satellite-page .contact-bottom>div{flex-wrap:wrap;gap:25px}
@media(max-width:720px){.cover-socials{gap:20px;margin-bottom:22px;font-size:9px}.satellite-page .contact-bottom>div{gap:23px}}
.satellite-page .cover-content{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.satellite-page .cover-bottom{width:100%;flex-direction:row-reverse}.satellite-page .cover-socials{justify-content:flex-end}.satellite-page .section-kicker{justify-content:flex-end}.satellite-page .collection-heading{flex-direction:row-reverse}.satellite-page .photo-item,.satellite-page .photo-item:nth-child(even){grid-template-columns:minmax(0,1.5fr) minmax(180px,.75fr)}.satellite-page .photo-item>button,.satellite-page .photo-item:nth-child(even)>button{grid-column:1;grid-row:1}.satellite-page .photo-item>figcaption,.satellite-page .photo-item:nth-child(even)>figcaption{grid-column:2;grid-row:1;text-align:right}.satellite-page .photo-item figcaption>span{margin-left:auto}.satellite-page .scene-emblem{justify-content:flex-end;flex-direction:row-reverse}.satellite-page .scene-number{left:auto;right:-12px}.satellite-page .scene-story{margin-left:auto;border-left:0;border-right:3px solid var(--orange);padding-left:0;padding-right:18px}.satellite-page .scene-label{margin-left:auto}.satellite-page .journal-seal{margin-left:auto;transform:rotate(14deg)}.satellite-page .contact{text-align:right}.satellite-page .contact-bottom{flex-direction:row-reverse}.satellite-page .contact-bottom>div{justify-content:flex-end}.satellite-page footer{flex-direction:row-reverse}.coding-page .hero,.coding-page .work,.coding-page .more,.coding-page .contact{text-align:left}.coding-page .section-kicker{justify-content:flex-start}.coding-page .hero-copy{border-left:3px solid var(--orange);padding-left:23px}.coding-page .section-heading h2{padding-left:20px;border-left:2px solid var(--line)}.coding-page .project-info{padding-left:16px;border-left:1px solid var(--line)}
html[data-transition-direction="photo"]::view-transition-old(root){animation:side-old-left .55s cubic-bezier(.22,.61,.36,1) both}html[data-transition-direction="photo"]::view-transition-new(root){animation:side-new-right .6s cubic-bezier(.22,.61,.36,1) both}html[data-transition-direction="code"]::view-transition-old(root){animation:side-old-right .55s cubic-bezier(.22,.61,.36,1) both}html[data-transition-direction="code"]::view-transition-new(root){animation:side-new-left .6s cubic-bezier(.22,.61,.36,1) both}
@keyframes side-old-left{from{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(-9vw) scale(.985)}}@keyframes side-new-right{from{opacity:0;transform:translateX(12vw) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes side-old-right{from{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(9vw) scale(.985)}}@keyframes side-new-left{from{opacity:0;transform:translateX(-12vw) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(max-width:720px){.satellite-page .photo-item,.satellite-page .photo-item:nth-child(even){grid-template-columns:1fr}.satellite-page .photo-item>button,.satellite-page .photo-item>figcaption,.satellite-page .photo-item:nth-child(even)>button,.satellite-page .photo-item:nth-child(even)>figcaption{grid-column:auto;grid-row:auto}.satellite-page .photo-item>figcaption{text-align:right}.satellite-page .photo-item figcaption{padding-left:0;padding-right:0}.satellite-page .scene-number{right:-4px}.satellite-page .journal-seal{left:-8px;right:auto}.satellite-page .scene-label{max-width:180px}.satellite-page .contact-bottom{display:flex;flex-direction:column;align-items:flex-end}.satellite-page footer{display:flex;flex-wrap:wrap;justify-content:space-between}.coding-page .hero-copy{padding-left:15px}.coding-page .section-heading h2{padding-left:13px}.coding-page .project-info{padding-left:11px}.satellite-page .cover-bottom p{margin-left:auto}.satellite-page .cover-bottom a{display:inline-block}}
@media(prefers-reduced-motion:reduce){html[data-transition-direction]::view-transition-old(root),html[data-transition-direction]::view-transition-new(root){animation:none}}

.language-switch{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:24px;font:700 10px var(--mono);letter-spacing:.04em;color:var(--ink);transition:background .2s,color .2s}.language-switch:hover{background:var(--ink);color:var(--paper)}.local-note{margin:12px 0 18px;text-align:right;color:var(--muted);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.language-switch:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(max-width:720px){.language-switch{margin-left:auto}.local-note{margin:0 0 14px;text-align:left}}
