
@import url("https://fonts.googleapis.com/css2?family=Figtree:wght@400;500&family=Gochi+Hand&display=swap");
section.cta,.foot,.fgarden{--ink:#151311;--mute:#6A645C;--red:#C4161C;--line:#ECE9E4}
section.cta,.foot{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
section.cta *,.foot *,.fgarden *{box-sizing:border-box}
section.cta h2{font-family:inherit;color:inherit}section.cta a,.foot a{color:var(--ink)}section.cta #jlabel{color:#FFFFFF}
section.cta .show-p{display:none}

section.cta{display:block;gap:0;align-items:normal;max-width:100%}

section.cta :is(.markwrap,.mark,.hint,.mail,.jelly),.foot :is(.fl,.who,.links){background:none;border-radius:0;box-shadow:none;border:0;color:inherit;flex:initial;place-items:normal}
section.cta .mark{display:block}.foot .who{display:block}
section.cta{position:relative;margin:0 60px 120px;padding:40px 24px 64px;text-align:center}
section.cta .markwrap{position:relative;width:176px;margin:0 auto 40px}
section.cta .mark{position:relative;width:176px;height:193px;filter:drop-shadow(0 8px 14px rgba(21,19,17,.08))}
section.cta .tile{position:absolute;display:block;padding:0;border:0;background:none}
section.cta .tile .front{background:center/100% 100% no-repeat}
section.cta .t1{left:0;top:0;width:84px;height:87px}section.cta .t1 .front{background-image:url(img/home/logo-tile2-q.webp)}
section.cta .t2{left:84px;top:0;width:92px;height:87px}section.cta .t2 .front{background-image:url(img/home/logo-tile2-b.webp)}
section.cta .t3{left:0;top:87px;width:84px;height:106px}section.cta .t3 .front{background-image:url(img/home/logo-tile2-t.webp)}
section.cta .t4{left:84px;top:87px;width:92px;height:106px}section.cta .t4 .front{background-image:url(img/home/logo-tile2-d.webp)}
section.cta .tile{cursor:grab;perspective:520px;touch-action:pan-y}section.cta .tile:active{cursor:grabbing}
section.cta .fc{position:absolute;inset:0;transform-style:preserve-3d}
section.cta .ff{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
section.cta .back{transform:rotateY(180deg);background:url(img/home/tile-blank.webp) center/85px 84px no-repeat}
section.cta .back .obj{position:absolute;left:14%;top:14%;width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(21,19,17,.18))}
section.cta .hint{position:absolute;left:204px;top:10px;font-family:'Gochi Hand',cursive;font-size:22px;color:var(--red);white-space:nowrap;transform:rotate(-5deg)}
section.cta h2{margin:0;font-size:72px;line-height:1.04;font-weight:500;letter-spacing:-.04em}
section.cta .jelly{position:relative;width:240px;height:86px;margin:44px auto 0}
section.cta .jelly svg{position:absolute;left:-60px;top:-60px;width:360px;height:206px;overflow:visible;pointer-events:none}
section.cta .jelly path{fill:var(--red)}
#jlabel{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#FFFFFF;text-decoration:none;font-size:24px;font-weight:500;transform-origin:center}
section.cta .mail{margin:28px 0 0;font-size:17px;color:var(--mute)}

.ctagrass{position:absolute;left:0;right:0;bottom:0;height:86px;background:url(img/home/gl-near.webp) center bottom/auto 100% repeat-x;pointer-events:none;z-index:2}
.ctacatwrap{position:absolute;right:13%;bottom:26px;width:150px;height:92px;overflow:hidden;pointer-events:none;z-index:1}
.ctacat{width:100%;transform:translateY(100%);transition:transform 1.1s cubic-bezier(.34,1.25,.64,1)}
section.cta.peek .ctacat,section.cta:has(#jlabel:hover) .ctacat{transform:translateY(6%) rotate(-2deg)}
section.cta .flo{position:absolute;width:52px;pointer-events:none;animation:cta-flo 9s ease-in-out infinite}
section.cta .fl1{left:9%;top:20%;width:56px}section.cta .fl2{left:15%;top:58%;width:44px;animation-delay:-3s;animation-duration:11s}section.cta .fl3{right:11%;top:24%;width:46px;animation-delay:-5s}section.cta .fl4{right:18%;top:54%;width:40px;animation-delay:-7s;animation-duration:10s}
@keyframes cta-flo{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-12px) rotate(5deg)}}

.foot{max-width:1320px;margin:0 auto;padding:48px 0 56px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr 2fr;gap:40px;font-size:16px}
.foot .sign{display:inline-block;width:56px;margin:0 0 20px;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.foot .sign:hover{transform:translateY(-4px) rotate(-3deg)}
.foot .who b{display:block;font-size:18px;font-weight:500}.foot .who span{color:var(--mute)}
.foot .fl p{margin:28px 0 0;color:var(--mute);line-height:1.5}
.foot .links{display:grid;grid-template-columns:repeat(2,max-content);gap:12px 120px;align-content:start;padding-left:0}
.foot .flink{position:relative;text-decoration:none;justify-self:start}

.foot .flink::before{content:"";position:absolute;left:-30px;top:50%;width:24px;height:24px;margin-top:-12px;background:center/contain no-repeat;transform:scale(0) rotate(-24deg);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.foot .flink:hover::before,.foot .flink:focus-visible::before{transform:scale(1) rotate(var(--fr,-6deg))}
.foot .flink[href*="#work"]::before{background-image:url(img/home/fl-work.png);--fr:-6deg}
.foot .flink[href*="about.html"]::before{background-image:url(img/home/fl-about.png);--fr:5deg}
.foot .flink[href*="resume.html"]::before{background-image:url(img/home/fl-resume.png);--fr:-4deg}
.foot .flink[href*="linkedin.com"]::before{background-image:url(img/home/fl-linkedin.png);--fr:-8deg}
.foot .flink[href^="mailto:"]::before{background-image:url(img/home/fl-email.png);--fr:7deg}
.foot .flink[href*="#talk"]::before{background-image:url(img/home/fl-call.png);--fr:-5deg}
@media (prefers-reduced-motion: reduce){.foot .flink::before{transition:none}}
.fgarden{position:relative;height:150px;overflow:hidden;background:center bottom/auto 100% repeat-x}

.fgarden.bg-in{background-image:url(img/home/footer-garden-1600w.webp);background-image:image-set(url(img/home/footer-garden-1600w.webp) 1x,url(img/home/footer-garden-2400w.webp) 2x)}
.fgarden .sprout{position:absolute;bottom:18px;width:34px;transform-origin:50% 100%;animation:cta-sprout 1s cubic-bezier(.34,1.5,.64,1) both;pointer-events:none}
@keyframes cta-sprout{from{transform:scale(0) rotate(-20deg)}to{transform:scale(1) rotate(var(--r,0deg))}}
.fcat{position:absolute;left:50%;bottom:30px;width:120px;height:74px;margin-left:-60px;overflow:hidden;pointer-events:none}
.fcat img{width:100%;transform:translateY(100%);transition:transform 1s cubic-bezier(.34,1.25,.64,1)}.fgarden.meow .fcat img{transform:translateY(4%)}
.foot .egg{position:relative;outline:none}.foot .egg .tip{position:absolute;left:0;bottom:calc(100% + 8px);white-space:nowrap;padding:8px 12px;border-radius:10px;background:var(--ink);color:#fff;font-size:15px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;pointer-events:none}
.foot .egg:hover .tip,.foot .egg:focus .tip{opacity:1;transform:none}.foot .egg:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
.foot .sign svg{display:block;width:100%;height:auto}
@media (max-width:899px){
section.cta{margin:0 16px 56px;padding:16px 4px 24px}
section.cta .markwrap{margin-bottom:12px}
section.cta .hint{position:static;transform:rotate(-3deg);margin-top:14px;font-size:20px}
section.cta h2{font-size:40px;letter-spacing:-.035em;margin-top:20px}
section.cta .mail{font-size:15px}
section.cta .flo,.ctacatwrap{display:none}.ctagrass{height:56px}
.foot{margin:0 16px;grid-template-columns:1fr;padding:32px 0 40px}
.foot .sign{width:48px}
.foot .links{grid-template-columns:1fr 1fr;gap:14px;padding-left:0}
.fgarden{height:92px}
  section.cta .show-p{display:inline}section.cta .hide-p{display:none}
}

@media (max-width:768px){
  .fgarden{--sab:env(safe-area-inset-bottom,0px);margin-top:88px;margin-bottom:calc(-88px - var(--sab));height:calc(92px + var(--sab));
    background-position:center bottom var(--sab);background-size:auto calc(100% - var(--sab))}
  .fgarden .sprout{bottom:calc(18px + var(--sab))}.fcat{bottom:calc(30px + var(--sab))}
}
@media (prefers-reduced-motion:reduce){section.cta .fc,section.cta .ctacat{transition:none}section.cta .flo{animation:none}}
.jelly a:active{transform:scale(.95);transition-duration:.12s}
section.cta .mail a{text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-thickness .3s,text-underline-offset .3s,color .3s}
section.cta .mail a:hover{text-decoration-thickness:2px;text-underline-offset:6px;color:var(--red)}

section.cta{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
section.cta .mail{-webkit-user-select:text;user-select:text}
.vine-canvas{position:absolute;display:block;pointer-events:none;z-index:1}

section.cta .markwrap{z-index:0}section.cta h2,section.cta .mail{position:relative;z-index:2}section.cta .jelly{z-index:2}

@media (hover:hover) and (pointer:fine) and (min-width:900px){
  .foot a,.foot button{cursor:pointer}
  section.cta a,section.cta button{cursor:url(img/home/cur-go.png) 3 2,pointer;cursor:-webkit-image-set(url(img/home/cur-go.png) 1x,url(img/home/cur-go@2x.png) 2x) 3 2,pointer;cursor:image-set(url(img/home/cur-go.png) 1x,url(img/home/cur-go@2x.png) 2x) 3 2,pointer}
  section.cta a[href^="mailto:"]{cursor:url(img/home/cursor-pen.png) 2 2,pointer}
  section.cta #jlabel{cursor:url(img/home/cur-call.png) 3 2,pointer;cursor:-webkit-image-set(url(img/home/cur-call.png) 1x,url(img/home/cur-call@2x.png) 2x) 3 2,pointer;cursor:image-set(url(img/home/cur-call.png) 1x,url(img/home/cur-call@2x.png) 2x) 3 2,pointer}
  section.cta .tile{cursor:grab}section.cta .tile:active{cursor:grabbing}
  .fgarden,.pots .pot{cursor:url(img/home/cur-water.png) 10 2,pointer;cursor:-webkit-image-set(url(img/home/cur-water.png) 1x,url(img/home/cur-water@2x.png) 2x) 10 2,pointer;cursor:image-set(url(img/home/cur-water.png) 1x,url(img/home/cur-water@2x.png) 2x) 10 2,pointer}
}

@media (max-width:899px){.foot .links{row-gap:0}.foot .flink{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding-inline:12px;margin-inline:-12px}
  .foot .flink::before{left:auto;right:-20px}}
@media print{section.cta,.foot,.fgarden,.pots{display:none!important}}

.vine-canvas{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 120px,#000 calc(100% - 6px),transparent 100%),linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 120px,#000 calc(100% - 6px),transparent 100%),linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);mask-composite:intersect}

body:has(.ngrid) section.cta{margin-top:clamp(88px,11vw,160px)}
section.cta .hint{display:none}

section.cta[data-vc="grab"],section.cta[data-vc="grab"] *{cursor:url(img/home/cur-grab.png) 16 15,grab!important;cursor:-webkit-image-set(url(img/home/cur-grab.png) 1x,url(img/home/cur-grab@2x.png) 2x) 16 15,grab!important;cursor:image-set(url(img/home/cur-grab.png) 1x,url(img/home/cur-grab@2x.png) 2x) 16 15,grab!important}
section.cta[data-vc="grabbing"],section.cta[data-vc="grabbing"] *{cursor:url(img/home/cur-grabbing.png) 16 15,grabbing!important;cursor:-webkit-image-set(url(img/home/cur-grabbing.png) 1x,url(img/home/cur-grabbing@2x.png) 2x) 16 15,grabbing!important;cursor:image-set(url(img/home/cur-grabbing.png) 1x,url(img/home/cur-grabbing@2x.png) 2x) 16 15,grabbing!important}
section.cta .pcan{position:absolute;left:-58px;top:-12px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer;z-index:2;
  opacity:0;visibility:hidden;transform:scale(.55) rotate(-10deg);transition:opacity .25s ease,transform .5s cubic-bezier(.34,1.56,.64,1),visibility 0s linear .5s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
section.cta .pcan.on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
section.cta .pcan img{grid-area:1/1;width:40px;height:auto;display:block;pointer-events:none;-webkit-user-drag:none;user-select:none;
  filter:drop-shadow(0 1.5px 1.5px rgba(60,40,20,.18));transform-origin:30% 70%;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
section.cta .pcan i{position:absolute;left:41px;top:24px;width:4px;height:5px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#7DB8E8;opacity:0;pointer-events:none}
section.cta .pcan.pour img{animation:pcanPour 1.3s cubic-bezier(.45,0,.25,1)}
section.cta .pcan.pour i{animation:pcanDrop .42s cubic-bezier(.5,0,1,1) .3s both}
section.cta .pcan.pour i:nth-of-type(2){animation-delay:.445s;left:43px}
section.cta .pcan.pour i:nth-of-type(3){animation-delay:.59s;left:42px}
@keyframes pcanPour{0%{transform:none}24%,62%{transform:rotate(24deg)}100%{transform:none}}
@keyframes pcanDrop{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1;transform:translateY(2px) scale(1)}100%{opacity:0;transform:translateY(18px) scale(.9)}}
section.cta .pcan:focus{outline:none}
section.cta .pcan:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:12px}
section.cta .pcan .tip{position:absolute;left:50%;bottom:calc(100% + 6px);white-space:nowrap;padding:8px 12px;border-radius:10px;background:var(--ink);color:#fff;font-size:15px;line-height:1.2;
  opacity:0;transform:translate(-50%,4px);transition:opacity .25s,transform .25s;pointer-events:none}
@media (hover:hover){section.cta .pcan.on:hover img{transform:rotate(-7deg)}section.cta .pcan.on:hover .tip{opacity:1;transform:translate(-50%,0)}}
section.cta .pcan.on:focus-visible .tip{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){section.cta .pcan,section.cta .pcan img{transition:opacity .2s}section.cta .pcan.pour img,section.cta .pcan.pour i{animation:none}}

.foot a{transition:opacity .18s ease}.foot a:active{opacity:.6;transition-duration:.1s}
.foot .flink:active::before{transform:scale(.86) rotate(var(--fr,-6deg));transition-duration:.12s}
.tile .front{transition:filter .18s ease}.tile:hover .front{filter:brightness(1.05)}.tile:active .front{filter:brightness(.92);transition-duration:.1s}
.pots .pot{transition:filter .18s ease}.pots .pot:hover{filter:brightness(1.05)}.pots .pot:active{filter:brightness(.92);transition-duration:.1s}

@media (max-width:460px){html .tbar{padding-left:10px}html .tbar a{font-size:16px}html .tbar a.tb svg,html .tbar .tbcta svg{display:none}html .tbar a.tb{gap:0;flex:1 1 auto;min-width:0;padding:0 5px}html .tbar .tbcta{flex:none;padding:0 14px;gap:0}}
@media (min-width:370px) and (max-width:399px){html .tbar{gap:2px}html .tbar a{font-size:15px}html .tbar .snd{width:36px;position:relative}html .tbar .snd::after{content:'';position:absolute;left:-4px;top:50%;width:44px;height:44px;margin-top:-22px;border-radius:22px}}
@media (max-width:369px){html .tbar .snd{display:none}}
@media (max-width:340px){html .tbar{left:8px;right:8px;padding-left:12px}html .tbar a{font-size:15px}html .tbar a.tb{padding:0 4px}}

html a.pillbtn{position:relative;overflow:hidden;isolation:isolate;padding:10px 20px;background:linear-gradient(180deg,#24211D 0%,#151311 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.45),0 1px 2px rgba(21,19,17,.22),0 3px 8px -4px rgba(21,19,17,.28);
  transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s cubic-bezier(.16,1,.3,1)}
html a.pillbtn:hover{transform:translateY(-1.5px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.45),0 2px 3px rgba(21,19,17,.2),0 8px 16px -8px rgba(21,19,17,.38)}
html a.pillbtn:active{transform:translateY(.5px);transition-duration:.1s;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.45),0 1px 1px rgba(21,19,17,.3)}
html a.pillbtn::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.2) 50%,transparent 68%);transform:translateX(-110%)}
html a.pillbtn:hover::after{animation:cxSheen .6s cubic-bezier(.4,0,.2,1) 1}
@keyframes cxSheen{from{transform:translateX(-110%)}to{transform:translateX(110%)}}
.cx-t{position:relative;display:inline-block;transition:transform .34s cubic-bezier(.16,1,.3,1)}
.cx-i{position:absolute;right:100%;top:50%;width:14px;height:14px;margin-right:6px;opacity:0;transform:translate(-6px,-50%);transition:opacity .2s ease,transform .34s cubic-bezier(.16,1,.3,1)}
.cx-i svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
html a.pillbtn:is(:hover,:focus-visible) .cx-t{transform:translateX(10px)}
html a.pillbtn:is(:hover,:focus-visible) .cx-i{opacity:1;transform:translate(0,-50%)}

section.cta .jelly path#blob{fill:url(#cx-jgr)}
section.cta .jelly svg{filter:drop-shadow(0 1px 1px rgba(110,8,12,.26)) drop-shadow(0 6px 9px rgba(110,8,12,.14));transition:filter .32s ease}
section.cta .jelly.on svg{filter:drop-shadow(0 2px 2px rgba(110,8,12,.24)) drop-shadow(0 10px 14px rgba(110,8,12,.18))}
section.cta .jelly:has(#jlabel:active) svg{filter:drop-shadow(0 1px 1px rgba(110,8,12,.34))}
section.cta .jelly .cx-sheen{transform:translateX(0)}
section.cta .jelly.sh .cx-sheen{animation:cxJSheen .6s cubic-bezier(.4,0,.2,1) 1}
@keyframes cxJSheen{from{transform:translateX(0)}to{transform:translateX(420px)}}
section.cta .jelly #jlabel .cx-i{width:20px;height:20px;margin-right:8px}
section.cta .jelly.on #jlabel .cx-t{transform:translateX(14px)}
section.cta .jelly.on #jlabel .cx-i{opacity:1;transform:translate(0,-50%)}
section.cta .jelly #jlabel:focus-visible .cx-t{transform:translateX(14px)}
section.cta .jelly #jlabel:focus-visible .cx-i{opacity:1;transform:translate(0,-50%)}
@media (prefers-reduced-motion:reduce){html a.pillbtn,html a.pillbtn:hover,html a.pillbtn:active{transform:none}html a.pillbtn:hover::after,section.cta .jelly.sh .cx-sheen{animation:none}
  .cx-t,.cx-i{transition:none}html a.pillbtn:is(:hover,:focus-visible) .cx-t,section.cta .jelly.on #jlabel .cx-t,section.cta .jelly #jlabel:focus-visible .cx-t{transform:none}
  html a.pillbtn:is(:hover,:focus-visible) .cx-i,section.cta .jelly.on #jlabel .cx-i,section.cta .jelly #jlabel:focus-visible .cx-i{opacity:0}}

section.cta .jelly #jlabel .cx-i svg{position:static;left:auto;top:auto;width:100%;height:100%;overflow:visible;filter:none;pointer-events:none}
section.cta .jelly #jlabel .cx-i svg :is(path,rect){fill:none}

:root{--ch-ink:#0B0C0E;--ch-2:#5F6672;--ch-line:#E4E6EA;--ch-hover:#F4F5F7;--ch-sel:#ECEEF1;--ch-hair:rgba(15,23,42,.08);
  --ch-float:0 0 0 1px rgba(15,23,42,.07),0 2px 4px rgba(15,23,42,.04),0 12px 32px -12px rgba(15,23,42,.22);--ch-e:cubic-bezier(.2,0,0,1)}

:where(a,button,[role="button"],[tabindex]:not([tabindex="-1"]),summary,input,select,textarea):focus-visible{outline:2px solid var(--ch-ink);outline-offset:2px}

html header.nav{box-shadow:0 0 0 1px var(--ch-hair),0 2px 4px rgba(15,23,42,.03),0 10px 28px -14px rgba(15,23,42,.2)}
html header.nav .nl{position:relative;color:var(--ch-ink);transition:color .14s var(--ch-e)}
html header.nav .nl::after{content:none}
html header.nav .nl::before{content:"";position:absolute;inset:-7px -12px;border-radius:8px;background:var(--ch-hover);opacity:0;transition:opacity .14s var(--ch-e);z-index:-1}
html header.nav .nl:hover{color:var(--ch-ink)}
html header.nav .nl:hover::before{opacity:1}
html header.nav .nl[aria-current]::before{opacity:1;background:var(--ch-sel);box-shadow:inset 0 0 0 1px var(--ch-hair)}
html header.nav .nl:focus-visible{outline:2px solid var(--ch-ink);outline-offset:6px;border-radius:6px}
html header.nav nav{isolation:isolate}

html .tbar{box-shadow:0 0 0 1px var(--ch-hair),0 10px 28px -14px rgba(15,23,42,.24)}
html .tbar a.tb{color:var(--ch-ink)}
html .tbar a.tb[aria-current]{background:var(--ch-sel);box-shadow:inset 0 0 0 1px var(--ch-hair)}
html .tbar .tb[aria-current] span{text-decoration:none}
html .tbar .tb:active{background:rgba(15,23,42,.08)}
html .tbar a:focus-visible,html .tbar button:focus-visible{outline:2px solid var(--ch-ink);outline-offset:-2px}

html .ntip,html .btm{background:var(--ch-ink);border-radius:8px;padding:7px 10px;box-shadow:0 6px 16px -8px rgba(15,23,42,.4)}

html .isl .isl-menu{border-radius:12px;padding:6px;box-shadow:var(--ch-float);color:var(--ch-ink)}
html .isl .isl-menu a{border-radius:8px;color:var(--ch-ink);transition:background-color .12s var(--ch-e)}
html .isl .isl-menu a:hover{background:var(--ch-hover)}
html .isl .isl-menu a.on{background:var(--ch-sel);box-shadow:inset 0 0 0 1px var(--ch-hair)}
html .isl .isl-menu a b{color:var(--ch-2)}
html .isl .isl-menu a.on b{color:var(--ch-ink)}

html :is(.zv-p,.zv-n,.gx-p,.gx-n,.gx-x){background:#FFFFFF;color:var(--ch-ink);box-shadow:0 0 0 1px var(--ch-hair),0 4px 12px -6px rgba(15,23,42,.2);transition:background-color .14s var(--ch-e),box-shadow .14s var(--ch-e)}
html :is(.zv-p,.zv-n,.gx-p,.gx-n,.gx-x):hover{background:var(--ch-hover)}
html .zv-x{background:var(--ch-ink);color:#FFFFFF}
html .zv-hint{color:var(--ch-ink);box-shadow:0 0 0 1px var(--ch-hair),0 4px 12px -6px rgba(15,23,42,.2)}
html :is(.zv-cnt,.gx-cnt){color:var(--ch-2)}
html .zv-meta span{color:var(--ch-2)}
@media (max-width:899px){html .gx-x{background:var(--ch-ink);color:#FFFFFF}}

html .ap-work,html .ap-work>a,html .ap-soon,html .ap-exp,html .ap-exp li{border-color:var(--ch-line)}
html .ap-chips span{border-radius:6px;box-shadow:inset 0 0 0 1px var(--ch-line);color:#3F4652;transition:box-shadow .14s var(--ch-e)}
html .ap-chips span:hover{box-shadow:inset 0 0 0 1px rgba(15,23,42,.24)}
html .ab-tidy{border-radius:8px;background:#FFFFFF;color:var(--ch-ink);box-shadow:0 0 0 1px var(--ch-line);font-size:15px;transition:background-color .14s var(--ch-e)}
html .ab-tidy:hover{background:var(--ch-hover)}

html .nf-links a{color:var(--ch-ink);text-decoration-color:rgba(15,23,42,.3)}
html .nf-links a:hover{text-decoration-color:var(--ch-ink)}
html .foot .flink{color:var(--ch-ink)}

html .isl .isl-menu a:focus-visible{background:var(--ch-hover)}
html .isl .isl-menu a b{color:var(--ch-2)}
html .zv-meta{color:var(--ch-ink)}
html .zv-meta span{color:var(--ch-2)}
html :is(header,.tbar) .snd{color:var(--ch-2)}
html :is(header,.tbar) .snd:hover{background:var(--ch-hover);color:var(--ch-ink)}
html :is(header,.tbar) .snd:focus-visible{outline-color:var(--ch-ink)}
html section.cta,html .foot,html .fgarden{--ink:#0B0C0E;--mute:#5F6672;--line:#E4E6EA}
html .collage.npair{--ink:#0B0C0E;--mute:#5F6672;color:#0B0C0E}

:where(header,.tbar,nav.isl,.foot,section.cta) a[href$="#work"]{cursor:url(img/home/cur-view.png) 3 2,pointer;cursor:-webkit-image-set(url(img/home/cur-view.png) 1x,url(img/home/cur-view@2x.png) 2x) 3 2,pointer;cursor:image-set(url(img/home/cur-view.png) 1x,url(img/home/cur-view@2x.png) 2x) 3 2,pointer}
:where(header,.tbar,nav.isl,.foot,section.cta) a[href$="about.html"]{cursor:url(img/home/cur-hello.png) 3 2,pointer;cursor:-webkit-image-set(url(img/home/cur-hello.png) 1x,url(img/home/cur-hello@2x.png) 2x) 3 2,pointer;cursor:image-set(url(img/home/cur-hello.png) 1x,url(img/home/cur-hello@2x.png) 2x) 3 2,pointer}
:where(header,.tbar,nav.isl,.foot,section.cta) a[href$="resume.html"],:where(header,.tbar,nav.isl,.foot,section.cta) a[href$=".pdf"]{cursor:url(img/home/cur-page.png) 3 2,pointer;cursor:-webkit-image-set(url(img/home/cur-page.png) 1x,url(img/home/cur-page@2x.png) 2x) 3 2,pointer;cursor:image-set(url(img/home/cur-page.png) 1x,url(img/home/cur-page@2x.png) 2x) 3 2,pointer}
:where(header,.tbar,nav.isl,.foot,section.cta) a[target="_blank"],:where(header,.tbar,nav.isl,.foot,section.cta) a[href*="linkedin.com"]{cursor:url(img/home/cur-out.png) 3 2,pointer;cursor:-webkit-image-set(url(img/home/cur-out.png) 1x,url(img/home/cur-out@2x.png) 2x) 3 2,pointer;cursor:image-set(url(img/home/cur-out.png) 1x,url(img/home/cur-out@2x.png) 2x) 3 2,pointer}
:where(header,.tbar,nav.isl,.foot,section.cta) a.pillbtn,:where(header,.tbar,nav.isl,.foot,section.cta) a.tbcta,:where(header,.tbar,nav.isl,.foot,section.cta) a[href="#talk"],:where(header,.tbar,nav.isl,.foot,section.cta) a[href*="calendly"]{cursor:url(img/home/cur-call.png) 3 2,pointer;cursor:-webkit-image-set(url(img/home/cur-call.png) 1x,url(img/home/cur-call@2x.png) 2x) 3 2,pointer;cursor:image-set(url(img/home/cur-call.png) 1x,url(img/home/cur-call@2x.png) 2x) 3 2,pointer}

html .foot .flink.fcr{color:#5F6672}html .foot .flink.fcr:hover{color:var(--ch-ink)}

html header.nav nav{gap:32px}@media (min-width:769px) and (max-width:899px){html header.nav nav{gap:18px}}

html header.nav .nl::before{content:none}
html .tbar a.tb[aria-current],html .tbar .tb:active{background:none;box-shadow:none}

html header.nav .nl{color:#5F6672;transition:color .15s ease,opacity .15s ease}
html header.nav .nl:hover,html header.nav .nl[aria-current],html header.nav .nl.wn-open,html header.nav .nl:focus-visible{color:var(--ch-ink)}
html header.nav .nl[aria-current]{text-decoration:none}
html header.nav .nl:active{opacity:.7}
html .tbar a.tb,html .tbar a.tb span{color:#5F6672;transition:color .15s ease,opacity .15s ease}
@media (hover:hover){html .tbar a.tb:hover,html .tbar a.tb:hover span{color:var(--ch-ink)}}
html .tbar a.tb[aria-current],html .tbar a.tb[aria-current] span{color:var(--ch-ink)}
html .tbar .tb:active{opacity:.7}

html header.nav .nl.dp-down,html .tbar a.tb.dp-down{scale:none!important;translate:none!important}
html .tbar a.tb:active{transform:none}
@media (prefers-reduced-motion:reduce){html header.nav .nl,html .tbar a.tb,html .tbar a.tb span{transition:none}}

