/* Shared header from About and navigation panel from Home. */

html body.unified-nav .site-header .menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;border-radius:50%;background:var(--orange)}
@media(max-width:640px){html body.unified-nav .site-header .menu-toggle{display:flex}}
html body.unified-nav .site-header .menu-toggle span{width:24px;height:2px;background:#fff}
html body.unified-nav>header .logo{margin-right:auto}
html body.unified-nav>header .logo img{display:block;width:47px;height:auto}
html body.unified-nav .menu-toggle{display:none;flex-direction:column;gap:6px;border:0;background:transparent;padding:10px 0 10px 10px}
html body.unified-nav .menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);transform-origin:center}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:none}}
@keyframes drawer-out{to{transform:translateX(100%)}}
@keyframes menu-text-in{from{transform:translateX(95px);opacity:0}to{transform:none;opacity:1}}
@keyframes menu-text-out{to{transform:translateX(65px);opacity:0}}
@keyframes label-rule{to{transform:scaleX(1)}}
@keyframes label-rule-out{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:640px){html body.unified-nav .site-header .menu-toggle{align-items:center;justify-content:center;border-radius:50%;background:var(--orange)}
html body.unified-nav .site-header .menu-toggle span{background:white}}
@keyframes life-drift{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:640px){html body.unified-nav>header .logo img{width:30px}
html body.unified-nav .menu-toggle{display:flex}}
@keyframes takeoff{0%{transform:translateY(0) rotate(0);opacity:1}30%{transform:translateY(5px) rotate(-12deg)}100%{transform:translate(12px,-80px) rotate(12deg);opacity:0}}
@keyframes fill-circle{to{clip-path:circle(145% at 50% 100%)}}
@keyframes globe-arrive{to{opacity:1;transform:scale(1)}}
@keyframes globe-tilt{from{transform:rotateX(-22deg) rotateZ(-20deg);opacity:1}to{transform:rotateX(28deg) rotateZ(22deg);opacity:1}}
@keyframes longitude{to{transform:rotateY(180deg)}}
@keyframes curtain{45%,55%{transform:translateY(0);border-radius:0}100%{transform:translateY(-100%)}}
@media(max-width:640px){@keyframes menu-open{from{clip-path:circle(0% at 100% 0)}to{clip-path:circle(150% at 100% 0)}}
@keyframes menu-close{to{clip-path:circle(0% at 100% 0)}}}
@keyframes weather-drift{to{transform:translateX(3px)}}
@keyframes weather-turn{to{transform:rotate(360deg)}}
@keyframes weather-rain{50%{transform:translateY(3px)}}
@media(max-width:640px){@keyframes bar-x-one{from{transform:none}to{transform:translateY(4px) rotate(45deg)}}
@keyframes bar-x-two{from{transform:none}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes menu-sweep-in{from{clip-path:ellipse(0% 80% at 0% 50%)}to{clip-path:ellipse(150% 110% at 0% 50%)}}
@keyframes menu-sweep-out{from{clip-path:ellipse(150% 110% at 0% 50%)}to{clip-path:ellipse(0% 80% at 0% 50%)}}}
@keyframes cloud-float{from{transform:translateX(-1.5px)}to{transform:translateX(1.5px)}}
@keyframes sun-glow{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes rain-fall{0%{transform:translateY(-1px);opacity:0}25%{opacity:1}80%{opacity:.8}100%{transform:translateY(2px);opacity:0}}
@keyframes lightning-glow{0%,70%,100%{opacity:.45}74%,82%{opacity:1}78%{opacity:.35}}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes drawer-out{to{transform:translateX(100%)}}
@keyframes elastic-menu-in{0%{clip-path:ellipse(0% 16% at 100% 25%)}65%{clip-path:ellipse(108% 95% at 100% 35%)}84%{clip-path:ellipse(102% 110% at 100% 40%)}100%{clip-path:ellipse(150% 150% at 100% 50%)}}
@keyframes elastic-menu-out{0%{clip-path:ellipse(150% 150% at 100% 50%)}45%{clip-path:ellipse(90% 90% at 100% 35%)}100%{clip-path:ellipse(0% 16% at 100% 25%)}}
@keyframes menu-text-in{from{transform:translateX(95px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes menu-text-out{to{transform:translateX(65px);opacity:0}}
@keyframes bar-to-cross-a{from{transform:translateY(0) rotate(0)}to{transform:translateY(4px) rotate(45deg)}}
@keyframes bar-to-cross-b{from{transform:translateY(0) rotate(0)}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes bar-to-menu-a{from{transform:translateY(4px) rotate(45deg)}to{transform:translateY(0) rotate(0)}}
@keyframes bar-to-menu-b{from{transform:translateY(-4px) rotate(-45deg)}to{transform:translateY(0) rotate(0)}}
@keyframes label-rule{to{transform:scaleX(1)}}
@keyframes label-rule-out{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes menu-round-open{0%{clip-path:ellipse(0% 12% at 100% 8%)}70%{clip-path:ellipse(140% 145% at 100% 15%)}100%{clip-path:ellipse(165% 165% at 100% 20%)}}
@keyframes menu-round-close{0%{clip-path:ellipse(165% 165% at 100% 20%)}100%{clip-path:ellipse(0% 12% at 100% 8%)}}
@keyframes cat-affection{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes cat-hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-7%)}}
@keyframes cat-heart-pop{0%{opacity:0;transform:translateY(4px) scale(.4)}25%{opacity:1;transform:translateY(-3px) scale(1)}100%{opacity:0;transform:translateY(-20px) scale(.6)}}
@keyframes cat-snore{0%,100%{opacity:0;transform:translateY(4px)}40%,65%{opacity:1;transform:translateY(-3px)}}
@keyframes cat-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1%)}}
@keyframes wingbeat{from{transform:scaleX(.45) rotate(-12deg)}to{transform:scaleX(1) rotate(12deg)}}
@keyframes grass-sway{to{transform:rotate(10deg)}}
@keyframes intro-fluid-out{0%{transform:translateY(0);border-radius:0}45%{border-radius:0 0 45% 45%}100%{transform:translateY(-110%);border-radius:0 0 50% 50%}}
@keyframes intro-failsafe{to{visibility:hidden;pointer-events:none}}
@keyframes left-wing{from{transform:rotateY(0deg)}to{transform:rotateY(85deg)}}
@keyframes right-wing{from{transform:rotateY(0deg)}to{transform:rotateY(-85deg)}}
@keyframes type-caret{50%{opacity:0}}
@keyframes butterfly-fold{to{transform:scaleX(.16)}}
@keyframes intro-fluid-in{from{transform:translateY(110%);border-radius:50% 50% 0 0}to{transform:translateY(0);border-radius:0}}
@keyframes portfolio-cover{from{transform:translate3d(0,105%,0);border-radius:50% 50% 0 0}to{transform:translate3d(0,0,0);border-radius:0}}
@keyframes portfolio-uncover{from{transform:translate3d(0,0,0);border-radius:0}to{transform:translate3d(0,-105%,0);border-radius:0 0 50% 50%}}
@keyframes editorial-baseline-release{0%,99%{clip-path:inset(-12% 0 0 0)}100%{clip-path:inset(-12% 0 -25% 0)}}
@keyframes portfolio-circle-in{
 from{clip-path:circle(var(--circle-radius) at 50% calc(100% + var(--circle-radius) + 12px))}
 to{clip-path:circle(var(--circle-radius) at 50% var(--circle-enter-center))}
}
@keyframes portfolio-circle-out{
 from{clip-path:circle(var(--circle-radius) at 50% var(--circle-exit-center))}
 to{clip-path:circle(var(--circle-radius) at 50% calc(0px - var(--circle-radius) - 12px))}
}
@keyframes quote-caret{50%{opacity:0}}
@keyframes transition-progress{from{transform:scaleX(0)}to{transform:scaleX(.9)}}
@keyframes transition-finish{from{transform:scaleX(.9)}to{transform:scaleX(1)}}
@keyframes menu-button-expand{from{clip-path:circle(var(--menu-start-radius) at var(--menu-x) var(--menu-y))}to{clip-path:circle(var(--menu-radius) at var(--menu-x) var(--menu-y))}}
@keyframes menu-button-contract{from{clip-path:circle(var(--menu-radius) at var(--menu-x) var(--menu-y))}to{clip-path:circle(var(--menu-start-radius) at var(--menu-x) var(--menu-y))}}
@media(max-width:640px){html body header .menu-toggle{width:44px;height:44px;padding:0;gap:6px;flex:0 0 44px}
html body header .menu-toggle span{width:24px;height:2px;flex:0 0 2px;border-radius:2px}}
@keyframes menu-bar-open-a{from{transform:none}to{transform:translateY(4px) rotate(45deg)}}
@keyframes menu-bar-open-b{from{transform:none}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes menu-bar-close-a{from{transform:translateY(4px) rotate(45deg)}to{transform:none}}
@keyframes menu-bar-close-b{from{transform:translateY(-4px) rotate(-45deg)}to{transform:none}}
@media(min-width:641px){@keyframes desktop-bar-open-a{from{transform:translate(calc(-1 * var(--menu-bar-offset)),4px) rotate(90deg)}to{transform:translateY(4px) rotate(45deg)}}
@keyframes desktop-bar-open-b{from{transform:translate(var(--menu-bar-offset),-4px) rotate(90deg)}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes desktop-bar-close-a{from{transform:translateY(4px) rotate(45deg)}to{transform:translate(calc(-1 * var(--menu-bar-offset)),4px) rotate(90deg)}}
@keyframes desktop-bar-close-b{from{transform:translateY(-4px) rotate(-45deg)}to{transform:translate(var(--menu-bar-offset),-4px) rotate(90deg)}}}
html body.menu-is-open header .menu-toggle{visibility:hidden}
html body>header .logo img{width:47px!important;height:auto}
html body:not(body.unified-nav)>header{padding-inline:var(--footer-gutter)}
@media(max-width:640px){html body>header{height:64px!important;transform:none!important;transition:none!important;will-change:auto!important}
html body>header .logo img{width:30px!important}}
@keyframes portfolio-circle-in{
 from{clip-path:circle(var(--circle-radius) at 50% calc(100% + var(--circle-radius) + 12px))}
 to{clip-path:circle(var(--circle-radius) at 50% var(--circle-enter-center))}
}
@keyframes portfolio-circle-out{
 from{clip-path:circle(var(--circle-radius) at 50% var(--circle-exit-center))}
 to{clip-path:circle(var(--circle-radius) at 50% calc(0px - var(--circle-radius) - 12px))}
}
@keyframes quote-caret{50%{opacity:0}}
@keyframes transition-progress{from{transform:scaleX(0)}to{transform:scaleX(.9)}}
@keyframes transition-finish{from{transform:scaleX(.9)}to{transform:scaleX(1)}}
html.entry-pending html body>header{visibility:hidden}
html body.menu-is-open header .menu-toggle{visibility:hidden}
html body>header .logo img{width:47px!important;height:auto}
html body:not(body.unified-nav)>header{padding-inline:var(--footer-gutter)}
@media(max-width:640px){html body>header{height:64px!important;transform:none!important;transition:none!important;will-change:auto!important}
html body>header .logo img{width:30px!important}}
html body header .menu-toggle span{height:1px!important;flex-basis:1px!important}
html body.unified-nav header nav a{transition:color .18s ease}
html body.unified-nav header nav a.nav-decoding{color:var(--nav-rest-color)!important}
html body.unified-nav header nav a.nav-decoded{color:var(--orange,#ff5b00)!important}
@keyframes decode-caret{50%{opacity:0}}
html body.unified-nav>header{position:relative!important;transform:none!important;margin:16px 16px 20px!important;width:calc(100% - 32px)!important;max-width:none!important;height:72px!important;border:0!important;border-radius:20px;background:var(--paper)!important;display:grid!important;grid-template-columns:124px 1fr 220px;gap:0!important;padding:0!important}
html body.unified-nav>header .logo{height:100%;display:grid;place-items:center;border-right:1px solid #899198}
html body.unified-nav>header .logo img{width:58px!important}
html body.unified-nav>header nav{justify-content:center;gap:clamp(28px,5vw,90px);display:flex}
html body.unified-nav>header nav a,html body.unified-nav>header .header-cv{font:600 16px/1 Onest,Arial,sans-serif!important;text-transform:uppercase}
html body.unified-nav>header .header-cv{height:100%;border:0;border-left:1px solid #899198;background:transparent;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--ink)}
@media(max-width:1100px){html body.unified-nav>header{grid-template-columns:90px 1fr 170px}
html body.unified-nav>header nav{gap:24px}
html body.unified-nav>header nav a,html body.unified-nav>header .header-cv{font-size:13px!important}}
@media(max-width:700px){html body.unified-nav>header{height:64px!important;margin:10px 10px 14px!important;width:calc(100% - 20px)!important;grid-template-columns:80px 1fr 60px;border-radius:16px}
html body.unified-nav>header>nav,html body.unified-nav>header .header-cv{display:none!important}
html body.unified-nav>header .menu-toggle{display:flex!important;grid-column:3;justify-self:center}}
html body.unified-nav>header .logo{margin:0;width:100%;}
html body.unified-nav>header nav a{position:relative}
html body.unified-nav>header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
html body.unified-nav>header nav a:hover:after{transform:scaleX(1)}
html body.unified-nav>header{--logo-cell:124px;position:relative!important;transform:none!important;translate:none!important;margin:16px 16px 20px!important;width:calc(100% - 32px)!important;max-width:none!important;height:72px!important;border:0!important;border-radius:20px;display:grid!important;grid-template-columns:124px 1fr 220px;gap:0!important;padding:0!important;background:transparent!important;isolation:isolate}
html body.unified-nav>header:before{content:'';position:absolute;inset:0;background:#e5e5e5;border-radius:20px;z-index:-1;pointer-events:none}
html body.unified-nav>header .logo{height:100%;width:100%;margin:0;display:grid;place-items:center;border:0!important;position:relative}
html body.unified-nav>header .logo img{width:58px!important;height:auto}
html body.unified-nav>header nav{display:flex;justify-content:center;gap:clamp(28px,5vw,90px);margin:0;padding:0}
html body.unified-nav>header nav a,html body.unified-nav>header .header-cv{font:600 16px/1 Onest,Arial,sans-serif!important;text-transform:uppercase}
html body.unified-nav>header .header-cv{height:100%;position:relative;border:0!important;background:transparent;display:flex;align-items:center;justify-content:center;gap:12px;color:#1e272e;padding:0}
html body.unified-nav>header .cv-triangle{width:0!important;height:0!important;flex:0 0 0!important;border-left:9px solid transparent;border-right:9px solid transparent;border-top:15px solid #f15b08;background:none;clip-path:none}
html body.unified-nav>header :is(.logo,.header-cv):after{content:'';position:absolute;top:0;bottom:0;width:1px;background:#9aa1a6;transform-origin:top}
html body.unified-nav>header .logo:after{right:0}
html body.unified-nav>header .header-cv:after{left:0}
html body.unified-nav>header.header-pending:before{clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}
html body.unified-nav>header.header-pending :is(nav,.header-cv,.menu-toggle){visibility:hidden}
html body.unified-nav>header.header-pending :is(.logo,.header-cv):after{transform:scaleY(0)}
html body.unified-nav>header.header-entering:before{animation:shared-sweep 1.2s cubic-bezier(.16,1,.3,1) both}
html body.unified-nav>header.header-entering .logo img{animation:shared-logo .45s ease both}
html body.unified-nav>header.header-entering :is(nav a,.cv-label,.cv-triangle){animation:shared-label .8s .7s cubic-bezier(.22,1,.36,1) both}
html body.unified-nav>header.header-entering .menu-toggle{animation:shared-circle .6s .8s cubic-bezier(.22,1,.36,1) both!important}
html body.unified-nav>header.header-entering :is(.logo,.header-cv):after{animation:shared-line .55s 1.1s ease both}
html body.unified-nav>header.header-leaving:before{animation:shared-sweep .6s .25s ease reverse both}
html body.unified-nav>header.header-leaving .logo img{animation:shared-logo .3s .55s ease reverse both}
html body.unified-nav>header.header-leaving :is(nav a,.cv-label,.cv-triangle){animation:shared-label .3s ease reverse both}
html body.unified-nav>header.header-leaving .menu-toggle{animation:shared-circle .3s ease reverse both!important}
html body.unified-nav>header.header-leaving :is(.logo,.header-cv):after{animation:shared-line .25s ease reverse both}
@keyframes shared-sweep{from{clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}to{clip-path:inset(0 0 0 0 round 20px)}}
@keyframes shared-logo{from{scale:.6;opacity:0}to{scale:1;opacity:1}}
@keyframes shared-label{from{clip-path:inset(0 0 100% 0);translate:0 110%;opacity:0}to{clip-path:inset(0);translate:0 0;opacity:1}}
@keyframes shared-circle{from{scale:0;opacity:0}to{scale:1;opacity:1}}
@keyframes shared-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:1100px){html body.unified-nav>header{--logo-cell:90px;grid-template-columns:90px 1fr 170px}
html body.unified-nav>header nav{gap:24px}
html body.unified-nav>header nav a,html body.unified-nav>header .header-cv{font-size:13px!important}}
@media(max-width:700px){html body.unified-nav>header{--logo-cell:80px;height:64px!important;margin:10px 10px 14px!important;width:calc(100% - 20px)!important;grid-template-columns:80px 1fr 60px;border-radius:16px}
html body.unified-nav>header>nav,html body.unified-nav>header .header-cv{display:none!important}
html body.unified-nav>header .menu-toggle{display:flex!important;grid-column:3;justify-self:center;transform-origin:center;translate:none!important}
html body.unified-nav>header .logo img{width:44px!important}}
@media(prefers-reduced-motion:reduce){html body.unified-nav>header:before,html body.unified-nav>header *{animation:none!important}
html body.unified-nav>header.header-pending:before{clip-path:none}
html body.unified-nav>header.header-pending :is(nav,.header-cv,.menu-toggle){visibility:visible}}
html body.unified-nav>header{--panel-inset:16px;--logo-cell:calc(2 * (var(--page-gutter) - 16px) + 58px);grid-template-columns:var(--logo-cell) 1fr 220px}
html body.unified-nav>header.header-pending{visibility:hidden}
html body.unified-nav>header.header-entering:before{animation:header27-in 1.5s cubic-bezier(.22,1,.36,1) both!important;transform-origin:left center}
html body.unified-nav>header.header-entering .logo img{animation:shared-logo .45s .2s cubic-bezier(.22,1,.36,1) both!important}
html body.unified-nav>header.header-entering :is(nav a,.cv-label,.cv-triangle,.menu-toggle){animation:shared-label .65s .85s cubic-bezier(.22,1,.36,1) both!important}
html body.unified-nav>header.header-entering :is(.logo,.header-cv):after{animation:shared-line .45s 1.25s ease both!important}
html body.unified-nav>header.header-leaving:before{animation:header27-in 1.25s ease reverse both!important}
html body.unified-nav>header.header-leaving .logo img{animation:shared-logo .35s .85s ease reverse both!important}
@keyframes header27-in{0%{opacity:0;transform:scale(.8);clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}20%,40%{opacity:1;transform:scale(1);clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}100%{opacity:1;transform:scale(1);clip-path:inset(0 round 20px)}}
@keyframes drag-guide{0%,100%{transform:translateX(-7px) rotate(-12deg)}50%{transform:translateX(7px) rotate(12deg)}}
@media(max-width:1100px) and (min-width:701px){html body.unified-nav>header{grid-template-columns:var(--logo-cell) 1fr 170px}}
@media(max-width:700px){html body.unified-nav>header{--logo-cell:calc(2 * (var(--page-gutter) - 10px) + 44px);grid-template-columns:var(--logo-cell) 1fr 60px}}
@media(prefers-reduced-motion:reduce){html body.unified-nav>header.header-pending{visibility:visible}}
@media(min-width:701px){html body>header.site-header{--header-inset:clamp(16px,1.388889vw,27px);--logo-left:clamp(32px,4.167vw,80px);--logo-width:clamp(46px,3.194444vw,62px);--cell-pad:calc(var(--logo-left) - var(--header-inset));--logo-cell:calc(2 * var(--cell-pad) + var(--logo-width));position:relative!important;inset:auto!important;transform:none!important;translate:none!important;display:grid!important;grid-template-columns:var(--logo-cell) minmax(0,1fr) auto!important;gap:0!important;width:calc(100% - 2 * var(--header-inset))!important;max-width:none!important;height:72px!important;margin:var(--header-inset) var(--header-inset) 20px!important;padding:0!important;border:0!important;border-radius:20px!important;background:transparent!important;isolation:isolate}
html body>header.site-header:before{content:'';position:absolute;inset:0;background:#e5e5e5;border-radius:20px!important;z-index:-1}
html body>header.site-header .logo{position:relative;width:100%!important;height:100%;margin:0!important;padding:0 var(--cell-pad)!important;display:flex!important;align-items:center;justify-content:center;border:0!important}
html body>header.site-header .logo img{display:block;width:var(--logo-width)!important;height:auto!important;max-width:none}
html body>header.site-header nav{display:flex!important;align-items:center;justify-content:center;gap:clamp(24px,5.9vw,85px)!important;margin:0!important;padding:0 20px!important}
html body>header.site-header nav a,html body>header.site-header .header-cv{font:600 16px/1 Onest,Arial,sans-serif!important;text-transform:uppercase;color:#1e272e}
html body>header.site-header nav a.active{color:#ef5400}
html body>header.site-header .header-cv{position:relative;height:100%;display:flex!important;align-items:center;justify-content:center;gap:12px;padding:0 var(--cell-pad)!important;margin:0;border:0!important;background:transparent;white-space:nowrap;opacity:1}
html body>header.site-header .cv-triangle{display:block;width:0!important;height:0!important;flex:0 0 0!important;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid #ef5400;clip-path:none!important;background:none}
html body>header.site-header :is(.logo,.header-cv):after{content:''!important;display:block!important;position:absolute;top:0;bottom:0;width:1px;background:#899298;transform-origin:top}
html body>header.site-header .logo:after{right:0}
html body>header.site-header .header-cv:after{left:0}
html body>header.site-header .menu-toggle{display:none!important}}
@media(min-width:701px) and (max-width:1050px){html body>header.site-header nav{gap:20px!important;padding-inline:12px!important}
html body>header.site-header nav a,html body>header.site-header .header-cv{font-size:12px!important}
html body>header.site-header .header-cv{padding-inline:20px!important}}
@media(max-width:700px){html body>header.site-header .header-cv{display:none!important}}


html body.unified-nav .mobile-menu{display:none}
@keyframes takeoff{0%{transform:translateY(0) rotate(0);opacity:1}30%{transform:translateY(5px) rotate(-12deg)}100%{transform:translate(12px,-80px) rotate(12deg);opacity:0}}
@keyframes fill-circle{to{clip-path:circle(145% at 50% 100%)}}
@keyframes globe-arrive{to{opacity:1;transform:scale(1)}}
@keyframes globe-tilt{from{transform:rotateX(-22deg) rotateZ(-20deg);opacity:1}to{transform:rotateX(28deg) rotateZ(22deg);opacity:1}}
@keyframes longitude{to{transform:rotateY(180deg)}}
@keyframes curtain{45%,55%{transform:translateY(0);border-radius:0}100%{transform:translateY(-100%)}}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{display:flex;position:fixed;inset:0;margin:0;border:0;width:100%;height:100dvh;max-width:none;max-height:none;background:var(--ink);color:var(--light);align-items:center;padding:var(--edge);animation:menu-open .6s cubic-bezier(.22,1,.36,1)}
html body.unified-nav .mobile-menu::backdrop{background:var(--ink)}
html body.unified-nav .mobile-menu.closing{animation:menu-close .4s both}
html body.unified-nav .mobile-menu nav{display:flex;flex-direction:column;gap:20px;font-size:clamp(45px,12vw,75px);font-weight:650}
html body.unified-nav .menu-close{position:absolute;right:20px;top:18px;background:none;color:var(--light);border:0;font-size:42px}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a.active{color:var(--orange)}
@keyframes menu-open{from{clip-path:circle(0% at 100% 0)}to{clip-path:circle(150% at 100% 0)}}
@keyframes menu-close{to{clip-path:circle(0% at 100% 0)}}}
@keyframes weather-drift{to{transform:translateX(3px)}}
@keyframes weather-turn{to{transform:rotate(360deg)}}
@keyframes weather-rain{50%{transform:translateY(3px)}}
html body.unified-nav .menu-close span{transition:transform .65s cubic-bezier(.22,1,.36,1);transform-origin:center}
html body.unified-nav .menu-close{width:50px;height:50px;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:6px}
html body.unified-nav .menu-close span{height:2px;width:26px;background:var(--light);display:block}
html body.unified-nav .menu-close span:first-child{transform:translateY(4px) rotate(45deg)}
html body.unified-nav .menu-close span:last-child{transform:translateY(-4px) rotate(-45deg)}
html body.unified-nav .mobile-menu.closing .menu-close span{transform:none}
html body.unified-nav .mobile-cv{display:none}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:40px;animation:menu-sweep-in .75s cubic-bezier(.22,1,.36,1) both}
html body.unified-nav .mobile-menu::backdrop{background:transparent}
html body.unified-nav .mobile-menu.closing{animation:menu-sweep-out .7s cubic-bezier(.65,0,.35,1) both}
html body.unified-nav .mobile-cv{display:inline-flex;min-width:180px}
html body.unified-nav .menu-close{right:8px;top:12px;font-size:initial}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:first-child{animation:bar-x-one .7s both}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:last-child{animation:bar-x-two .7s both}
@keyframes bar-x-one{from{transform:none}to{transform:translateY(4px) rotate(45deg)}}
@keyframes bar-x-two{from{transform:none}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes menu-sweep-in{from{clip-path:ellipse(0% 80% at 0% 50%)}to{clip-path:ellipse(150% 110% at 0% 50%)}}
@keyframes menu-sweep-out{from{clip-path:ellipse(150% 110% at 0% 50%)}to{clip-path:ellipse(0% 80% at 0% 50%)}}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu{clip-path:none!important}}
html body.unified-nav .mobile-menu nav{font-weight:450}
html body.unified-nav .mobile-cv:before{background:var(--light)}
html body.unified-nav .mobile-cv:hover,html body.unified-nav .mobile-cv:focus-visible{color:var(--ink);border-color:var(--light)}
html body.unified-nav .menu-close span{animation:none!important}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:first-child{transform:translateY(4px) rotate(45deg)}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:last-child{transform:translateY(-4px) rotate(-45deg)}
html body.unified-nav .mobile-menu.closing .menu-close span:first-child,html body.unified-nav .mobile-menu.closing .menu-close span:last-child{transform:translateY(0) rotate(0)}
@media(max-width:640px){html body.unified-nav .mobile-menu nav{font-size:clamp(43px,12vw,66px);font-weight:450}
html body.unified-nav .mobile-menu.closing{animation:menu-sweep-out .7s cubic-bezier(.65,0,.35,1) both!important}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span{transition:transform .65s cubic-bezier(.22,1,.36,1)}
html body.unified-nav .mobile-cv:hover,html body.unified-nav .mobile-cv:focus-visible{background:var(--orange);color:var(--ink)}}
@keyframes cloud-float{from{transform:translateX(-1.5px)}to{transform:translateX(1.5px)}}
@keyframes sun-glow{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes rain-fall{0%{transform:translateY(-1px);opacity:0}25%{opacity:1}80%{opacity:.8}100%{transform:translateY(2px);opacity:0}}
@keyframes lightning-glow{0%,70%,100%{opacity:.45}74%,82%{opacity:1}78%{opacity:.35}}
html body.unified-nav .mobile-menu[open]{position:fixed;inset:0 0 0 auto;margin:0;display:block;width:30vw;min-width:0;max-width:none;height:100dvh;max-height:none;border:0;padding:clamp(75px,10vh,120px) clamp(24px,3.5vw,64px) 36px;overflow-y:auto;background:var(--paper);color:var(--ink);clip-path:none;animation:drawer-in .4s cubic-bezier(.22,1,.36,1)!important}
html body.unified-nav .mobile-menu::backdrop{background:#10182055;backdrop-filter:blur(3px)}
html body.unified-nav .mobile-menu.closing{animation:drawer-out .35s ease-in both!important}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes drawer-out{to{transform:translateX(100%)}}
html body.unified-nav .mobile-menu .menu-close{position:absolute;top:24px;right:24px;width:44px;height:44px;border:0;background:transparent;align-items:center;padding:9px}
html body.unified-nav .mobile-menu .menu-close span{background:var(--ink);width:26px}
html body.unified-nav .menu-label{font-size:12px;font-weight:450;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin:0 0 24px}
html body.unified-nav .mobile-menu nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:clamp(28px,3.1vw,48px);line-height:1.1;font-weight:450;letter-spacing:-.035em}
html body.unified-nav .mobile-menu nav a{color:var(--ink)}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a:focus-visible{color:var(--orange)}
html body.unified-nav .mobile-menu nav a:after{display:none}
html body.unified-nav .quick-links{margin-top:48px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
html body.unified-nav .quick-links .menu-label{margin-bottom:8px}
html body.unified-nav .quick-links button{padding:0;border:0;background:transparent;color:var(--ink);font-size:15px;text-align:left;transition:color .2s}
html body.unified-nav .quick-links button:hover,html body.unified-nav .quick-links button:focus-visible{color:var(--orange)}
html body.unified-nav .quick-links .panel-cv{margin-top:15px}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{width:85vw;padding:86px 30px 35px}
html body.unified-nav .mobile-menu nav{font-size:38px;gap:18px}
html body.unified-nav .mobile-menu .menu-label{font-size:12px}
html body.unified-nav .mobile-menu .quick-links{margin-top:40px;gap:14px}
html body.unified-nav .mobile-menu .quick-links button{font-size:16px}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu.closing{animation:none!important}}
html body.unified-nav .quick-links{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
html body.unified-nav .quick-links .menu-label,html body.unified-nav .quick-links .panel-cv{grid-column:1/-1}
html body.unified-nav .quick-links .panel-cv{color:var(--orange);display:inline-flex;align-items:center;gap:12px;width:fit-content}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{width:100%;padding:90px 32px 40px;background:var(--paper);animation:elastic-menu-in .85s cubic-bezier(.16,1,.3,1) both!important}
html body.unified-nav .mobile-menu.closing{animation:elastic-menu-out .65s cubic-bezier(.65,0,.35,1) both!important}
html body.unified-nav .mobile-menu::backdrop{background:#10182033;backdrop-filter:none}
html body.unified-nav .mobile-menu .menu-close{top:3px;right:15px;width:44px;height:44px}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:first-child{animation:bar-to-cross-a .65s both!important}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:last-child{animation:bar-to-cross-b .65s both!important}
html body.unified-nav .mobile-menu.closing .menu-close span:first-child{animation:bar-to-menu-a .55s both!important}
html body.unified-nav .mobile-menu.closing .menu-close span:last-child{animation:bar-to-menu-b .55s both!important}
html body.unified-nav .mobile-menu .menu-content>*{transform:none}
html body.unified-nav .mobile-menu:not(.closing) .menu-label,html body.unified-nav .mobile-menu:not(.closing) nav a,html body.unified-nav .mobile-menu:not(.closing) .quick-links button{animation:menu-text-in .75s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--entry-delay,0ms)}
html body.unified-nav .mobile-menu nav a:nth-child(1){--entry-delay:65ms}
html body.unified-nav .mobile-menu nav a:nth-child(2){--entry-delay:110ms}
html body.unified-nav .mobile-menu nav a:nth-child(3){--entry-delay:155ms}
html body.unified-nav .mobile-menu nav a:nth-child(4){--entry-delay:200ms}
html body.unified-nav .quick-links .menu-label{--entry-delay:240ms}
html body.unified-nav .quick-links button:nth-of-type(1){--entry-delay:280ms}
html body.unified-nav .quick-links button:nth-of-type(2){--entry-delay:310ms}
html body.unified-nav .quick-links button:nth-of-type(3){--entry-delay:340ms}
html body.unified-nav .quick-links button:nth-of-type(4){--entry-delay:370ms}
html body.unified-nav .quick-links .panel-cv{--entry-delay:430ms}
html body.unified-nav .mobile-menu.closing .menu-content{animation:menu-text-out .4s ease-in both}
html body.unified-nav .mobile-menu .quick-links{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin-top:34px}
html body.unified-nav .mobile-menu nav{font-size:clamp(32px,9vw,40px);gap:13px}
html body.unified-nav .mobile-menu .quick-links button{font-size:15px}}
@keyframes elastic-menu-in{0%{clip-path:ellipse(0% 16% at 100% 25%)}65%{clip-path:ellipse(108% 95% at 100% 35%)}84%{clip-path:ellipse(102% 110% at 100% 40%)}100%{clip-path:ellipse(150% 150% at 100% 50%)}}
@keyframes elastic-menu-out{0%{clip-path:ellipse(150% 150% at 100% 50%)}45%{clip-path:ellipse(90% 90% at 100% 35%)}100%{clip-path:ellipse(0% 16% at 100% 25%)}}
@keyframes menu-text-in{from{transform:translateX(95px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes menu-text-out{to{transform:translateX(65px);opacity:0}}
@keyframes bar-to-cross-a{from{transform:translateY(0) rotate(0)}to{transform:translateY(4px) rotate(45deg)}}
@keyframes bar-to-cross-b{from{transform:translateY(0) rotate(0)}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes bar-to-menu-a{from{transform:translateY(4px) rotate(45deg)}to{transform:translateY(0) rotate(0)}}
@keyframes bar-to-menu-b{from{transform:translateY(-4px) rotate(-45deg)}to{transform:translateY(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu.closing,html body.unified-nav .mobile-menu *{animation:none!important}}
html body.unified-nav .mobile-menu .menu-label{position:relative;width:100%;padding-bottom:12px;opacity:1}
html body.unified-nav .mobile-menu .menu-label:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left}
html body.unified-nav .mobile-menu:not(.closing) .menu-label:after{animation:label-rule .45s .16s both}
html body.unified-nav .mobile-menu:not(.closing) .quick-links .menu-label:after{animation-delay:.28s}
html body.unified-nav .mobile-menu.closing .menu-label:after{animation:label-rule-out .25s both}
@keyframes label-rule{to{transform:scaleX(1)}}
@keyframes label-rule-out{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:640px){html body.unified-nav .mobile-menu .menu-close{width:44px;height:44px;flex:0 0 44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--orange);gap:6px}
html body.unified-nav .mobile-menu .menu-close span{width:21px;background:#fff}
html body.unified-nav .mobile-menu .menu-close{top:10px;right:24px}
html body.unified-nav .mobile-menu[open]{background:#b63f08;color:#fff;animation:menu-round-open .56s cubic-bezier(.3,.7,.3,1) both!important;padding-top:88px}
html body.unified-nav .mobile-menu.closing{animation:menu-round-close .45s cubic-bezier(.4,0,.6,1) both!important}
html body.unified-nav .mobile-menu nav a,html body.unified-nav .quick-links button{color:#fff}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a:focus-visible,html body.unified-nav .quick-links button:hover,html body.unified-nav .quick-links button:focus-visible{color:#1e272e}
html body.unified-nav .mobile-menu:not(.closing) .menu-label,html body.unified-nav .mobile-menu:not(.closing) nav a,html body.unified-nav .mobile-menu:not(.closing) .quick-links button{animation-duration:.48s}
html body.unified-nav .mobile-menu nav a:nth-child(1){--entry-delay:40ms}
html body.unified-nav .mobile-menu nav a:nth-child(2){--entry-delay:75ms}
html body.unified-nav .mobile-menu nav a:nth-child(3){--entry-delay:110ms}
html body.unified-nav .mobile-menu nav a:nth-child(4){--entry-delay:145ms}
html body.unified-nav .quick-links .menu-label{--entry-delay:175ms}
html body.unified-nav .quick-links button:nth-of-type(1){--entry-delay:200ms}
html body.unified-nav .quick-links button:nth-of-type(2){--entry-delay:220ms}
html body.unified-nav .quick-links button:nth-of-type(3){--entry-delay:240ms}
html body.unified-nav .quick-links button:nth-of-type(4){--entry-delay:260ms}
html body.unified-nav .quick-links .panel-cv{--entry-delay:290ms;background:var(--ink);color:#ff8140;padding:12px 16px;border-radius:2px;margin-top:8px}
html body.unified-nav .mobile-menu .quick-links .panel-cv:hover{color:#fff}}
@keyframes menu-round-open{0%{clip-path:ellipse(0% 12% at 100% 8%)}70%{clip-path:ellipse(140% 145% at 100% 15%)}100%{clip-path:ellipse(165% 165% at 100% 20%)}}
@keyframes menu-round-close{0%{clip-path:ellipse(165% 165% at 100% 20%)}100%{clip-path:ellipse(0% 12% at 100% 8%)}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu.closing,html body.unified-nav .mobile-menu .menu-label:after{animation:none!important}
html body.unified-nav .mobile-menu .menu-label:after{transform:scaleX(1)}}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{background:var(--paper);color:var(--ink)}
html body.unified-nav .mobile-menu nav a,html body.unified-nav .mobile-menu .quick-links button{color:var(--ink)}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a:focus-visible,html body.unified-nav .mobile-menu .quick-links button:hover,html body.unified-nav .mobile-menu .quick-links button:focus-visible{color:var(--orange)}
html body.unified-nav .mobile-menu .quick-links .panel-cv{background:transparent;color:var(--orange);padding:0;border-radius:0}
html body.unified-nav .mobile-menu .quick-links .panel-cv:hover{color:var(--orange)}
html body.unified-nav .mobile-menu nav a,html body.unified-nav .mobile-menu .quick-links button{position:relative}
html body.unified-nav .mobile-menu nav a:after,html body.unified-nav .mobile-menu .quick-links button:after{content:'';display:block;position:absolute;height:1px;left:0;right:0;bottom:-5px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
html body.unified-nav .mobile-menu nav a:hover:after,html body.unified-nav .mobile-menu nav a:focus-visible:after,html body.unified-nav .mobile-menu .quick-links button:hover:after,html body.unified-nav .mobile-menu .quick-links button:focus-visible:after{transform:scaleX(1)}}
@keyframes cat-affection{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
html body.unified-nav .mobile-menu .quick-links button{justify-self:start;width:fit-content;max-width:100%}
@keyframes cat-hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-7%)}}
@keyframes cat-heart-pop{0%{opacity:0;transform:translateY(4px) scale(.4)}25%{opacity:1;transform:translateY(-3px) scale(1)}100%{opacity:0;transform:translateY(-20px) scale(.6)}}
@keyframes cat-snore{0%,100%{opacity:0;transform:translateY(4px)}40%,65%{opacity:1;transform:translateY(-3px)}}
@keyframes cat-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1%)}}
@media(min-width:641px){html body.unified-nav .mobile-menu[open]{animation:menu-round-open .56s cubic-bezier(.3,.7,.3,1) both!important;background:var(--paper);color:var(--ink)}
html body.unified-nav .mobile-menu.closing{animation:menu-round-close .45s cubic-bezier(.4,0,.6,1) both!important}
html body.unified-nav .mobile-menu:not(.closing) .menu-label,html body.unified-nav .mobile-menu:not(.closing) nav a,html body.unified-nav .mobile-menu:not(.closing) .quick-links button{animation:menu-text-in .48s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--entry-delay,0ms)}
html body.unified-nav .mobile-menu nav a:nth-child(1){--entry-delay:40ms}
html body.unified-nav .mobile-menu nav a:nth-child(2){--entry-delay:75ms}
html body.unified-nav .mobile-menu nav a:nth-child(3){--entry-delay:110ms}
html body.unified-nav .mobile-menu nav a:nth-child(4){--entry-delay:145ms}
html body.unified-nav .mobile-menu .quick-links{--entry-delay:175ms}
html body.unified-nav .mobile-menu .menu-close{background:var(--orange);border-radius:50%;padding:10px}
html body.unified-nav .mobile-menu .menu-close span{background:#fff;width:22px}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu.closing,html body.unified-nav .mobile-menu *{animation:none!important}}
@media(min-width:641px){html body.unified-nav .mobile-menu[open]{width:30vw;min-width:0}}
@keyframes wingbeat{from{transform:scaleX(.45) rotate(-12deg)}to{transform:scaleX(1) rotate(12deg)}}
@keyframes grass-sway{to{transform:rotate(10deg)}}
@media(min-width:641px){html body.unified-nav .mobile-menu nav{font-weight:550}}
@media(max-width:640px){html body.unified-nav .mobile-menu .quick-links .panel-cv{margin-top:10px;padding-top:20px;border-top:1px solid #1e272e55}}
@keyframes intro-fluid-out{0%{transform:translateY(0);border-radius:0}45%{border-radius:0 0 45% 45%}100%{transform:translateY(-110%);border-radius:0 0 50% 50%}}
@keyframes intro-failsafe{to{visibility:hidden;pointer-events:none}}
@keyframes left-wing{from{transform:rotateY(0deg)}to{transform:rotateY(85deg)}}
@keyframes right-wing{from{transform:rotateY(0deg)}to{transform:rotateY(-85deg)}}
html body.unified-nav .mobile-menu .quick-links .panel-cv{position:relative;border-top:0;padding-top:20px;color:var(--ink);width:100%;justify-content:flex-start;text-decoration:none}
html body.unified-nav .mobile-menu .quick-links .panel-cv:hover,html body.unified-nav .mobile-menu .quick-links .panel-cv:focus-visible{color:var(--orange);text-decoration:none}
html body.unified-nav .mobile-menu .quick-links .panel-cv:after{display:none!important}
html body.unified-nav .mobile-menu .quick-links .panel-cv:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--ink);transform-origin:left;transform:scaleX(0)}
html body.unified-nav .mobile-menu:not(.closing) .quick-links .panel-cv:before{animation:label-rule .45s .28s both}
html body.unified-nav .mobile-menu.closing .quick-links .panel-cv:before{animation:label-rule-out .25s both}
@keyframes type-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu .quick-links .panel-cv:before{animation:none!important;transform:scaleX(1)}}
@keyframes butterfly-fold{to{transform:scaleX(.16)}}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a:focus-visible,html body.unified-nav .mobile-menu .quick-links button:hover,html body.unified-nav .mobile-menu .quick-links button:focus-visible{ text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:1px}
html body.unified-nav .mobile-menu nav a:after,html body.unified-nav .mobile-menu .quick-links button:after{display:none!important}
html body :is(header nav a,footer a,.social-placeholder,.footer-cv,.mobile-menu nav a,.mobile-menu .quick-links button):is(:hover,:focus-visible){text-decoration:none!important}
@keyframes intro-fluid-in{from{transform:translateY(110%);border-radius:50% 50% 0 0}to{transform:translateY(0);border-radius:0}}
@keyframes portfolio-cover{from{transform:translate3d(0,105%,0);border-radius:50% 50% 0 0}to{transform:translate3d(0,0,0);border-radius:0}}
@keyframes portfolio-uncover{from{transform:translate3d(0,0,0);border-radius:0}to{transform:translate3d(0,-105%,0);border-radius:0 0 50% 50%}}
@keyframes editorial-baseline-release{0%,99%{clip-path:inset(-12% 0 0 0)}100%{clip-path:inset(-12% 0 -25% 0)}}
html body.unified-nav .mobile-menu{display:none}
@keyframes takeoff{0%{transform:translateY(0) rotate(0);opacity:1}30%{transform:translateY(5px) rotate(-12deg)}100%{transform:translate(12px,-80px) rotate(12deg);opacity:0}}
@keyframes fill-circle{to{clip-path:circle(145% at 50% 100%)}}
@keyframes globe-arrive{to{opacity:1;transform:scale(1)}}
@keyframes globe-tilt{from{transform:rotateX(-22deg) rotateZ(-20deg);opacity:1}to{transform:rotateX(28deg) rotateZ(22deg);opacity:1}}
@keyframes longitude{to{transform:rotateY(180deg)}}
@keyframes curtain{45%,55%{transform:translateY(0);border-radius:0}100%{transform:translateY(-100%)}}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{display:flex;position:fixed;inset:0;margin:0;border:0;width:100%;height:100dvh;max-width:none;max-height:none;background:var(--ink);color:var(--light);align-items:center;padding:var(--edge);animation:menu-open .6s cubic-bezier(.22,1,.36,1)}
html body.unified-nav .mobile-menu::backdrop{background:var(--ink)}
html body.unified-nav .mobile-menu.closing{animation:menu-close .4s both}
html body.unified-nav .mobile-menu nav{display:flex;flex-direction:column;gap:20px;font-size:clamp(45px,12vw,75px);font-weight:650}
html body.unified-nav .menu-close{position:absolute;right:20px;top:18px;background:none;color:var(--light);border:0;font-size:42px}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a.active{color:var(--orange)}
@keyframes menu-open{from{clip-path:circle(0% at 100% 0)}to{clip-path:circle(150% at 100% 0)}}
@keyframes menu-close{to{clip-path:circle(0% at 100% 0)}}}
@keyframes weather-drift{to{transform:translateX(3px)}}
@keyframes weather-turn{to{transform:rotate(360deg)}}
@keyframes weather-rain{50%{transform:translateY(3px)}}
html body.unified-nav .menu-close span{transition:transform .65s cubic-bezier(.22,1,.36,1);transform-origin:center}
html body.unified-nav .menu-close{width:50px;height:50px;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:6px}
html body.unified-nav .menu-close span{height:2px;width:26px;background:var(--light);display:block}
html body.unified-nav .menu-close span:first-child{transform:translateY(4px) rotate(45deg)}
html body.unified-nav .menu-close span:last-child{transform:translateY(-4px) rotate(-45deg)}
html body.unified-nav .mobile-menu.closing .menu-close span{transform:none}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:40px;animation:menu-sweep-in .75s cubic-bezier(.22,1,.36,1) both}
html body.unified-nav .mobile-menu::backdrop{background:transparent}
html body.unified-nav .mobile-menu.closing{animation:menu-sweep-out .7s cubic-bezier(.65,0,.35,1) both}
html body.unified-nav .menu-close{right:8px;top:12px;font-size:initial}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:first-child{animation:bar-x-one .7s both}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:last-child{animation:bar-x-two .7s both}
@keyframes bar-x-one{from{transform:none}to{transform:translateY(4px) rotate(45deg)}}
@keyframes bar-x-two{from{transform:none}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes menu-sweep-in{from{clip-path:ellipse(0% 80% at 0% 50%)}to{clip-path:ellipse(150% 110% at 0% 50%)}}
@keyframes menu-sweep-out{from{clip-path:ellipse(150% 110% at 0% 50%)}to{clip-path:ellipse(0% 80% at 0% 50%)}}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu{clip-path:none!important}}
html body.unified-nav .mobile-menu nav{font-weight:450}
html body.unified-nav .menu-close span{animation:none!important}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:first-child{transform:translateY(4px) rotate(45deg)}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:last-child{transform:translateY(-4px) rotate(-45deg)}
html body.unified-nav .mobile-menu.closing .menu-close span:first-child,html body.unified-nav .mobile-menu.closing .menu-close span:last-child{transform:translateY(0) rotate(0)}
@media(max-width:640px){html body.unified-nav .mobile-menu nav{font-size:clamp(43px,12vw,66px);font-weight:450}
html body.unified-nav .mobile-menu.closing{animation:menu-sweep-out .7s cubic-bezier(.65,0,.35,1) both!important}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span{transition:transform .65s cubic-bezier(.22,1,.36,1)}}
@keyframes cloud-float{from{transform:translateX(-1.5px)}to{transform:translateX(1.5px)}}
@keyframes sun-glow{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes rain-fall{0%{transform:translateY(-1px);opacity:0}25%{opacity:1}80%{opacity:.8}100%{transform:translateY(2px);opacity:0}}
@keyframes lightning-glow{0%,70%,100%{opacity:.45}74%,82%{opacity:1}78%{opacity:.35}}
html body.unified-nav .mobile-menu[open]{position:fixed;inset:0 0 0 auto;margin:0;display:block;width:30vw;min-width:0;max-width:none;height:100dvh;max-height:none;border:0;padding:clamp(75px,10vh,120px) clamp(24px,3.5vw,64px) 36px;overflow-y:auto;background:var(--paper);color:var(--ink);clip-path:none;animation:drawer-in .4s cubic-bezier(.22,1,.36,1)!important}
html body.unified-nav .mobile-menu::backdrop{background:#10182055;backdrop-filter:blur(3px)}
html body.unified-nav .mobile-menu.closing{animation:drawer-out .35s ease-in both!important}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes drawer-out{to{transform:translateX(100%)}}
html body.unified-nav .mobile-menu .menu-close{position:absolute;top:24px;right:24px;width:44px;height:44px;border:0;background:transparent;align-items:center;padding:9px}
html body.unified-nav .mobile-menu .menu-close span{background:var(--ink);width:26px}
html body.unified-nav .menu-label{font-size:12px;font-weight:450;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin:0 0 24px}
html body.unified-nav .mobile-menu nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:clamp(28px,3.1vw,48px);line-height:1.1;font-weight:450;letter-spacing:-.035em}
html body.unified-nav .mobile-menu nav a{color:var(--ink)}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a:focus-visible{color:var(--orange)}
html body.unified-nav .mobile-menu nav a:after{display:none}
html body.unified-nav .quick-links{margin-top:48px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
html body.unified-nav .quick-links .menu-label{margin-bottom:8px}
html body.unified-nav .quick-links :is(a,button){padding:0;border:0;background:transparent;color:var(--ink);font-size:15px;text-align:left;transition:color .2s}
html body.unified-nav .quick-links :is(a,button):hover,html body.unified-nav .quick-links :is(a,button):focus-visible{color:var(--orange)}
html body.unified-nav .quick-links .panel-cv{margin-top:15px}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{width:85vw;padding:86px 30px 35px}
html body.unified-nav .mobile-menu nav{font-size:38px;gap:18px}
html body.unified-nav .mobile-menu .menu-label{font-size:12px}
html body.unified-nav .mobile-menu .quick-links{margin-top:40px;gap:14px}
html body.unified-nav .mobile-menu .quick-links :is(a,button){font-size:16px}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu.closing{animation:none!important}}
html body.unified-nav .quick-links{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
html body.unified-nav .quick-links .menu-label,html body.unified-nav .quick-links .panel-cv{grid-column:1/-1}
html body.unified-nav .quick-links .panel-cv{color:var(--orange);display:inline-flex;align-items:center;gap:12px;width:fit-content}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{width:100%;padding:90px 32px 40px;background:var(--paper);animation:elastic-menu-in .85s cubic-bezier(.16,1,.3,1) both!important}
html body.unified-nav .mobile-menu.closing{animation:elastic-menu-out .65s cubic-bezier(.65,0,.35,1) both!important}
html body.unified-nav .mobile-menu::backdrop{background:#10182033;backdrop-filter:none}
html body.unified-nav .mobile-menu .menu-close{top:3px;right:15px;width:44px;height:44px}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:first-child{animation:bar-to-cross-a .65s both!important}
html body.unified-nav .mobile-menu:not(.closing) .menu-close span:last-child{animation:bar-to-cross-b .65s both!important}
html body.unified-nav .mobile-menu.closing .menu-close span:first-child{animation:bar-to-menu-a .55s both!important}
html body.unified-nav .mobile-menu.closing .menu-close span:last-child{animation:bar-to-menu-b .55s both!important}
html body.unified-nav .mobile-menu .menu-content>*{transform:none}
html body.unified-nav .mobile-menu:not(.closing) .menu-label,html body.unified-nav .mobile-menu:not(.closing) nav a,html body.unified-nav .mobile-menu:not(.closing) .quick-links :is(a,button){animation:menu-text-in .75s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--entry-delay,0ms)}
html body.unified-nav .mobile-menu nav a:nth-child(1){--entry-delay:65ms}
html body.unified-nav .mobile-menu nav a:nth-child(2){--entry-delay:110ms}
html body.unified-nav .mobile-menu nav a:nth-child(3){--entry-delay:155ms}
html body.unified-nav .mobile-menu nav a:nth-child(4){--entry-delay:200ms}
html body.unified-nav .quick-links .menu-label{--entry-delay:240ms}
html body.unified-nav .quick-links :is(a,button):nth-of-type(1){--entry-delay:280ms}
html body.unified-nav .quick-links :is(a,button):nth-of-type(2){--entry-delay:310ms}
html body.unified-nav .quick-links :is(a,button):nth-of-type(3){--entry-delay:340ms}
html body.unified-nav .quick-links :is(a,button):nth-of-type(4){--entry-delay:370ms}
html body.unified-nav .quick-links .panel-cv{--entry-delay:430ms}
html body.unified-nav .mobile-menu.closing .menu-content{animation:menu-text-out .4s ease-in both}
html body.unified-nav .mobile-menu .quick-links{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin-top:34px}
html body.unified-nav .mobile-menu nav{font-size:clamp(32px,9vw,40px);gap:13px}
html body.unified-nav .mobile-menu .quick-links :is(a,button){font-size:15px}}
@keyframes elastic-menu-in{0%{clip-path:ellipse(0% 16% at 100% 25%)}65%{clip-path:ellipse(108% 95% at 100% 35%)}84%{clip-path:ellipse(102% 110% at 100% 40%)}100%{clip-path:ellipse(150% 150% at 100% 50%)}}
@keyframes elastic-menu-out{0%{clip-path:ellipse(150% 150% at 100% 50%)}45%{clip-path:ellipse(90% 90% at 100% 35%)}100%{clip-path:ellipse(0% 16% at 100% 25%)}}
@keyframes menu-text-in{from{transform:translateX(95px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes menu-text-out{to{transform:translateX(65px);opacity:0}}
@keyframes bar-to-cross-a{from{transform:translateY(0) rotate(0)}to{transform:translateY(4px) rotate(45deg)}}
@keyframes bar-to-cross-b{from{transform:translateY(0) rotate(0)}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes bar-to-menu-a{from{transform:translateY(4px) rotate(45deg)}to{transform:translateY(0) rotate(0)}}
@keyframes bar-to-menu-b{from{transform:translateY(-4px) rotate(-45deg)}to{transform:translateY(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu.closing,html body.unified-nav .mobile-menu *{animation:none!important}}
html body.unified-nav .mobile-menu .menu-label{position:relative;width:100%;padding-bottom:12px;opacity:1}
html body.unified-nav .mobile-menu .menu-label:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left}
html body.unified-nav .mobile-menu:not(.closing) .menu-label:after{animation:label-rule .45s .16s both}
html body.unified-nav .mobile-menu:not(.closing) .quick-links .menu-label:after{animation-delay:.28s}
html body.unified-nav .mobile-menu.closing .menu-label:after{animation:label-rule-out .25s both}
@keyframes label-rule{to{transform:scaleX(1)}}
@keyframes label-rule-out{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:640px){html body.unified-nav .mobile-menu .menu-close{width:44px;height:44px;flex:0 0 44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--orange);gap:6px}
html body.unified-nav .mobile-menu .menu-close span{width:21px;background:#fff}
html body.unified-nav .mobile-menu .menu-close{top:10px;right:24px}
html body.unified-nav .mobile-menu[open]{background:#b63f08;color:#fff;animation:menu-round-open .56s cubic-bezier(.3,.7,.3,1) both!important;padding-top:88px}
html body.unified-nav .mobile-menu.closing{animation:menu-round-close .45s cubic-bezier(.4,0,.6,1) both!important}
html body.unified-nav .mobile-menu nav a,html body.unified-nav .quick-links :is(a,button){color:#fff}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a:focus-visible,html body.unified-nav .quick-links :is(a,button):hover,html body.unified-nav .quick-links :is(a,button):focus-visible{color:#1e272e}
html body.unified-nav .mobile-menu:not(.closing) .menu-label,html body.unified-nav .mobile-menu:not(.closing) nav a,html body.unified-nav .mobile-menu:not(.closing) .quick-links :is(a,button){animation-duration:.48s}
html body.unified-nav .mobile-menu nav a:nth-child(1){--entry-delay:40ms}
html body.unified-nav .mobile-menu nav a:nth-child(2){--entry-delay:75ms}
html body.unified-nav .mobile-menu nav a:nth-child(3){--entry-delay:110ms}
html body.unified-nav .mobile-menu nav a:nth-child(4){--entry-delay:145ms}
html body.unified-nav .quick-links .menu-label{--entry-delay:175ms}
html body.unified-nav .quick-links :is(a,button):nth-of-type(1){--entry-delay:200ms}
html body.unified-nav .quick-links :is(a,button):nth-of-type(2){--entry-delay:220ms}
html body.unified-nav .quick-links :is(a,button):nth-of-type(3){--entry-delay:240ms}
html body.unified-nav .quick-links :is(a,button):nth-of-type(4){--entry-delay:260ms}
html body.unified-nav .quick-links .panel-cv{--entry-delay:290ms;background:var(--ink);color:#ff8140;padding:12px 16px;border-radius:2px;margin-top:8px}
html body.unified-nav .mobile-menu .quick-links .panel-cv:hover{color:#fff}}
@keyframes menu-round-open{0%{clip-path:ellipse(0% 12% at 100% 8%)}70%{clip-path:ellipse(140% 145% at 100% 15%)}100%{clip-path:ellipse(165% 165% at 100% 20%)}}
@keyframes menu-round-close{0%{clip-path:ellipse(165% 165% at 100% 20%)}100%{clip-path:ellipse(0% 12% at 100% 8%)}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu.closing,html body.unified-nav .mobile-menu .menu-label:after{animation:none!important}
html body.unified-nav .mobile-menu .menu-label:after{transform:scaleX(1)}}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{background:var(--paper);color:var(--ink)}
html body.unified-nav .mobile-menu nav a,html body.unified-nav .mobile-menu .quick-links :is(a,button){color:var(--ink)}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a:focus-visible,html body.unified-nav .mobile-menu .quick-links :is(a,button):hover,html body.unified-nav .mobile-menu .quick-links :is(a,button):focus-visible{color:var(--orange)}
html body.unified-nav .mobile-menu .quick-links .panel-cv{background:transparent;color:var(--orange);padding:0;border-radius:0}
html body.unified-nav .mobile-menu .quick-links .panel-cv:hover{color:var(--orange)}
html body.unified-nav .mobile-menu nav a,html body.unified-nav .mobile-menu .quick-links :is(a,button){position:relative}
html body.unified-nav .mobile-menu nav a:after,html body.unified-nav .mobile-menu .quick-links :is(a,button):after{content:'';display:block;position:absolute;height:1px;left:0;right:0;bottom:-5px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
html body.unified-nav .mobile-menu nav a:hover:after,html body.unified-nav .mobile-menu nav a:focus-visible:after,html body.unified-nav .mobile-menu .quick-links :is(a,button):hover:after,html body.unified-nav .mobile-menu .quick-links :is(a,button):focus-visible:after{transform:scaleX(1)}}
@keyframes cat-affection{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
html body.unified-nav .mobile-menu .quick-links :is(a,button){justify-self:start;width:fit-content;max-width:100%}
@keyframes cat-hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-7%)}}
@keyframes cat-heart-pop{0%{opacity:0;transform:translateY(4px) scale(.4)}25%{opacity:1;transform:translateY(-3px) scale(1)}100%{opacity:0;transform:translateY(-20px) scale(.6)}}
@keyframes cat-snore{0%,100%{opacity:0;transform:translateY(4px)}40%,65%{opacity:1;transform:translateY(-3px)}}
@keyframes cat-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1%)}}
@media(min-width:641px){html body.unified-nav .mobile-menu[open]{animation:menu-round-open .56s cubic-bezier(.3,.7,.3,1) both!important;background:var(--paper);color:var(--ink)}
html body.unified-nav .mobile-menu.closing{animation:menu-round-close .45s cubic-bezier(.4,0,.6,1) both!important}
html body.unified-nav .mobile-menu:not(.closing) .menu-label,html body.unified-nav .mobile-menu:not(.closing) nav a,html body.unified-nav .mobile-menu:not(.closing) .quick-links :is(a,button){animation:menu-text-in .48s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--entry-delay,0ms)}
html body.unified-nav .mobile-menu nav a:nth-child(1){--entry-delay:40ms}
html body.unified-nav .mobile-menu nav a:nth-child(2){--entry-delay:75ms}
html body.unified-nav .mobile-menu nav a:nth-child(3){--entry-delay:110ms}
html body.unified-nav .mobile-menu nav a:nth-child(4){--entry-delay:145ms}
html body.unified-nav .mobile-menu .quick-links{--entry-delay:175ms}
html body.unified-nav .mobile-menu .menu-close{background:var(--orange);border-radius:50%;padding:10px}
html body.unified-nav .mobile-menu .menu-close span{background:#fff;width:22px}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu.closing,html body.unified-nav .mobile-menu *{animation:none!important}}
@media(min-width:641px){html body.unified-nav .mobile-menu[open]{width:30vw;min-width:0}}
@keyframes wingbeat{from{transform:scaleX(.45) rotate(-12deg)}to{transform:scaleX(1) rotate(12deg)}}
@keyframes grass-sway{to{transform:rotate(10deg)}}
@media(min-width:641px){html body.unified-nav .mobile-menu nav{font-weight:550}}
@media(max-width:640px){html body.unified-nav .mobile-menu .quick-links .panel-cv{margin-top:10px;padding-top:20px;border-top:1px solid #1e272e55}}
@keyframes intro-fluid-out{0%{transform:translateY(0);border-radius:0}45%{border-radius:0 0 45% 45%}100%{transform:translateY(-110%);border-radius:0 0 50% 50%}}
@keyframes intro-failsafe{to{visibility:hidden;pointer-events:none}}
@keyframes left-wing{from{transform:rotateY(0deg)}to{transform:rotateY(85deg)}}
@keyframes right-wing{from{transform:rotateY(0deg)}to{transform:rotateY(-85deg)}}
html body.unified-nav .mobile-menu .quick-links .panel-cv{position:relative;border-top:0;padding-top:20px;color:var(--ink);width:100%;justify-content:flex-start;text-decoration:none}
html body.unified-nav .mobile-menu .quick-links .panel-cv:hover,html body.unified-nav .mobile-menu .quick-links .panel-cv:focus-visible{color:var(--orange);text-decoration:none}
html body.unified-nav .mobile-menu .quick-links .panel-cv:after{display:none!important}
html body.unified-nav .mobile-menu .quick-links .panel-cv:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--ink);transform-origin:left;transform:scaleX(0)}
html body.unified-nav .mobile-menu:not(.closing) .quick-links .panel-cv:before{animation:label-rule .45s .28s both}
html body.unified-nav .mobile-menu.closing .quick-links .panel-cv:before{animation:label-rule-out .25s both}
@keyframes type-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu .quick-links .panel-cv:before{animation:none!important;transform:scaleX(1)}}
@keyframes butterfly-fold{to{transform:scaleX(.16)}}
html body.unified-nav .mobile-menu nav a:hover,html body.unified-nav .mobile-menu nav a:focus-visible,html body.unified-nav .mobile-menu .quick-links :is(a,button):hover,html body.unified-nav .mobile-menu .quick-links :is(a,button):focus-visible{ text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:1px}
html body.unified-nav .mobile-menu nav a:after,html body.unified-nav .mobile-menu .quick-links :is(a,button):after{display:none!important}
html body.unified-nav .mobile-menu nav a,html body.unified-nav .mobile-menu .quick-links :is(a,button):is(:hover,:focus-visible){text-decoration:none!important}
@keyframes intro-fluid-in{from{transform:translateY(110%);border-radius:50% 50% 0 0}to{transform:translateY(0);border-radius:0}}
@keyframes portfolio-cover{from{transform:translate3d(0,105%,0);border-radius:50% 50% 0 0}to{transform:translate3d(0,0,0);border-radius:0}}
@keyframes portfolio-uncover{from{transform:translate3d(0,0,0);border-radius:0}to{transform:translate3d(0,-105%,0);border-radius:0 0 50% 50%}}
@keyframes editorial-baseline-release{0%,99%{clip-path:inset(-12% 0 0 0)}100%{clip-path:inset(-12% 0 -25% 0)}}
html body.unified-nav .mobile-menu .quick-links a{font:inherit;text-decoration:none}
@keyframes portfolio-circle-in{
 from{clip-path:circle(var(--circle-radius) at 50% calc(100% + var(--circle-radius) + 12px))}
 to{clip-path:circle(var(--circle-radius) at 50% var(--circle-enter-center))}
}
@keyframes portfolio-circle-out{
 from{clip-path:circle(var(--circle-radius) at 50% var(--circle-exit-center))}
 to{clip-path:circle(var(--circle-radius) at 50% calc(0px - var(--circle-radius) - 12px))}
}
@keyframes quote-caret{50%{opacity:0}}
@keyframes transition-progress{from{transform:scaleX(0)}to{transform:scaleX(.9)}}
@keyframes transition-finish{from{transform:scaleX(.9)}to{transform:scaleX(1)}}
html body.unified-nav .mobile-menu .quick-links>:is(a,button):nth-child(2){--entry-delay:200ms}
html body.unified-nav .mobile-menu .quick-links>:is(a,button):nth-child(3){--entry-delay:220ms}
html body.unified-nav .mobile-menu .quick-links>:is(a,button):nth-child(4){--entry-delay:240ms}
html body.unified-nav .mobile-menu .quick-links>:is(a,button):nth-child(5){--entry-delay:260ms}
html body.unified-nav .mobile-menu .quick-links>:is(a,button):nth-child(6){--entry-delay:290ms}
@media(prefers-reduced-motion:no-preference){html body .mobile-menu[open]:not(.closing) .quick-links>:is(a,button){animation:menu-text-in .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(250ms + var(--entry-delay,200ms))}}
html body.unified-nav .mobile-menu[open]{inset:0 0 0 auto;width:30vw;height:100dvh;transform:none;animation:menu-button-expand .8s cubic-bezier(.22,1,.36,1) both!important;overscroll-behavior:contain}
html body.unified-nav .mobile-menu[open].closing{animation:menu-button-contract .65s cubic-bezier(.65,0,.35,1) both!important}
html body.unified-nav .mobile-menu::backdrop{background:transparent;backdrop-filter:none}
html body.unified-nav .mobile-menu .menu-close{left:calc(var(--menu-x) - var(--menu-button-width)/2);top:calc(var(--menu-y) - var(--menu-button-height)/2);right:auto;width:var(--menu-button-width);height:var(--menu-button-height);padding:0;gap:6px;display:flex;align-items:center;justify-content:center;flex-direction:column}
html body.unified-nav .mobile-menu:not(.closing) .menu-label,html body.unified-nav .mobile-menu:not(.closing) nav a,html body.unified-nav .mobile-menu:not(.closing) .quick-links :is(a,button){animation-duration:.85s;animation-delay:calc(250ms + var(--entry-delay,0ms))}
@keyframes menu-button-expand{from{clip-path:circle(var(--menu-start-radius) at var(--menu-x) var(--menu-y))}to{clip-path:circle(var(--menu-radius) at var(--menu-x) var(--menu-y))}}
@keyframes menu-button-contract{from{clip-path:circle(var(--menu-radius) at var(--menu-x) var(--menu-y))}to{clip-path:circle(var(--menu-start-radius) at var(--menu-x) var(--menu-y))}}
@media(max-width:640px){html body.unified-nav .mobile-menu[open]{inset:0;width:100%;padding-top:max(88px,calc(var(--menu-y,32px) + 56px))}
html body .mobile-menu .menu-close span{width:24px;height:2px;flex:0 0 2px;border-radius:2px}}
@media(max-width:640px){html body .mobile-menu[open],html body .mobile-menu[open].closing{background:transparent!important;clip-path:none!important;animation:none!important;isolation:isolate}
html body.unified-nav .mobile-menu[open]::before{content:'';position:absolute;inset:0;background:var(--paper);z-index:-1;pointer-events:none;clip-path:circle(var(--menu-start-radius) at var(--menu-x) var(--menu-y));transition:clip-path .8s cubic-bezier(.22,1,.36,1);will-change:clip-path}
html body.unified-nav .mobile-menu[open].menu-expanded::before{clip-path:circle(var(--menu-radius) at var(--menu-x) var(--menu-y))}
html body.unified-nav .mobile-menu[open].closing::before{transition-duration:.65s;transition-timing-function:cubic-bezier(.65,0,.35,1)}
html body .mobile-menu[open] .menu-close{position:fixed;z-index:2;visibility:visible;opacity:1;flex-shrink:0;animation:none!important;transition:none;background:var(--orange);border:0;border-radius:50%}
html body .mobile-menu[open] .menu-close span{background:#fff}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open]::before{transition:none}}
html body .mobile-menu:not(.closing) .menu-close span:first-child{animation:menu-bar-open-a .65s both!important}
html body .mobile-menu:not(.closing) .menu-close span:last-child{animation:menu-bar-open-b .65s both!important}
html body .mobile-menu.closing .menu-close span:first-child{animation:menu-bar-close-a .65s both!important}
html body .mobile-menu.closing .menu-close span:last-child{animation:menu-bar-close-b .65s both!important}
@keyframes menu-bar-open-a{from{transform:none}to{transform:translateY(4px) rotate(45deg)}}
@keyframes menu-bar-open-b{from{transform:none}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes menu-bar-close-a{from{transform:translateY(4px) rotate(45deg)}to{transform:none}}
@keyframes menu-bar-close-b{from{transform:translateY(-4px) rotate(-45deg)}to{transform:none}}
@media(min-width:641px){html body.unified-nav .mobile-menu::backdrop{background:rgb(16 24 32 / .2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html body.unified-nav .mobile-menu .menu-close{border-radius:19px 0 0 19px;background:var(--paper);border:1px solid var(--ink);border-right:0}
html body.unified-nav .mobile-menu .menu-close span{width:var(--menu-bar-length,20px);height:2px;flex:0 0 2px;background:var(--ink)}
html body .mobile-menu:not(.closing) .menu-close span:first-child{animation-name:desktop-bar-open-a!important}
html body .mobile-menu:not(.closing) .menu-close span:last-child{animation-name:desktop-bar-open-b!important}
html body .mobile-menu.closing .menu-close span:first-child{animation-name:desktop-bar-close-a!important}
html body .mobile-menu.closing .menu-close span:last-child{animation-name:desktop-bar-close-b!important}
@keyframes desktop-bar-open-a{from{transform:translate(calc(-1 * var(--menu-bar-offset)),4px) rotate(90deg)}to{transform:translateY(4px) rotate(45deg)}}
@keyframes desktop-bar-open-b{from{transform:translate(var(--menu-bar-offset),-4px) rotate(90deg)}to{transform:translateY(-4px) rotate(-45deg)}}
@keyframes desktop-bar-close-a{from{transform:translateY(4px) rotate(45deg)}to{transform:translate(calc(-1 * var(--menu-bar-offset)),4px) rotate(90deg)}}
@keyframes desktop-bar-close-b{from{transform:translateY(-4px) rotate(-45deg)}to{transform:translate(var(--menu-bar-offset),-4px) rotate(90deg)}}}
@media(prefers-reduced-motion:reduce){html body.unified-nav .mobile-menu[open],html body.unified-nav .mobile-menu[open].closing,html body.unified-nav .mobile-menu *{animation:none!important}}
@keyframes portfolio-circle-in{
 from{clip-path:circle(var(--circle-radius) at 50% calc(100% + var(--circle-radius) + 12px))}
 to{clip-path:circle(var(--circle-radius) at 50% var(--circle-enter-center))}
}
@keyframes portfolio-circle-out{
 from{clip-path:circle(var(--circle-radius) at 50% var(--circle-exit-center))}
 to{clip-path:circle(var(--circle-radius) at 50% calc(0px - var(--circle-radius) - 12px))}
}
@keyframes quote-caret{50%{opacity:0}}
@keyframes transition-progress{from{transform:scaleX(0)}to{transform:scaleX(.9)}}
@keyframes transition-finish{from{transform:scaleX(.9)}to{transform:scaleX(1)}}
html body .mobile-menu .menu-close span{height:1px!important;flex-basis:1px!important}
html body.unified-nav .mobile-menu a{transition:color .18s ease}
html body.unified-nav .mobile-menu a.nav-decoding{color:var(--nav-rest-color)!important}
html body.unified-nav .mobile-menu a.nav-decoded{color:var(--orange,#ff5b00)!important}
@keyframes decode-caret{50%{opacity:0}}
@keyframes header-sweep{from{clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}to{clip-path:inset(0 0 0 0 round 20px)}}
@keyframes header-logo-in{from{scale:.6;opacity:0}to{scale:1;opacity:1}}
@keyframes header-label-in{from{clip-path:inset(0 0 100% 0);translate:0 110%;opacity:0}to{clip-path:inset(0);translate:0 0;opacity:1}}
@keyframes separator-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes shared-sweep{from{clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}to{clip-path:inset(0 0 0 0 round 20px)}}
@keyframes shared-logo{from{scale:.6;opacity:0}to{scale:1;opacity:1}}
@keyframes shared-label{from{clip-path:inset(0 0 100% 0);translate:0 110%;opacity:0}to{clip-path:inset(0);translate:0 0;opacity:1}}
@keyframes shared-circle{from{scale:0;opacity:0}to{scale:1;opacity:1}}
@keyframes shared-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes header27-in{0%{opacity:0;transform:scale(.8);clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}20%,40%{opacity:1;transform:scale(1);clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}100%{opacity:1;transform:scale(1);clip-path:inset(0 round 20px)}}
@keyframes drag-guide{0%,100%{transform:translateX(-7px) rotate(-12deg)}50%{transform:translateX(7px) rotate(12deg)}}



html body.unified-nav>header,html body.unified-nav .mobile-menu{--paper:#e5e5e5;--ink:#1e272e;--orange:#ef5400;--light:#f5f5f5}
@media(max-width:700px){
 html body.unified-nav>header.site-header{height:64px!important;margin:10px 10px 14px!important;width:calc(100% - 20px)!important;grid-template-columns:80px 1fr 60px!important;border-radius:16px!important;--logo-cell:80px}
 html body.unified-nav>header.site-header:before{border-radius:16px!important}
 html body.unified-nav>header.site-header>nav,html body.unified-nav>header.site-header .header-cv{display:none!important}
 html body.unified-nav>header.site-header .menu-toggle{display:flex!important;grid-column:3;justify-self:center}
}
