.scene[data-astro-cid-4mtccg27]{--n1:oklch(20.5% .05 266);--n2:oklch(27.5% .062 258);--n3:oklch(33.5% .06 250);--w0:oklch(27% .058 256);--w1:oklch(13% .038 270);--wall:oklch(20% .04 266);--roof:oklch(26.2% .046 258);--stone:oklch(23.5% .036 262);--ln:oklch(86% .03 245);--gold:oklch(87% .125 86);--red:oklch(66% .19 32);--pale:oklch(95% .02 90);width:100%;height:var(--scene-h,max(400px, min(42vw, 85vh)));display:block;overflow:visible}.s[data-astro-cid-4mtccg27],.ms[data-astro-cid-4mtccg27]{fill:none;stroke:var(--ln);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.s[data-astro-cid-4mtccg27]{stroke-dasharray:1 2;stroke-dashoffset:1.02px;animation:draw 1.2s var(--ease) var(--d) forwards}.thin[data-astro-cid-4mtccg27]{stroke-width:.8px;stroke-opacity:.7}.slow[data-astro-cid-4mtccg27]{animation-duration:2.2s}.far[data-astro-cid-4mtccg27]{stroke-opacity:.3}.dk[data-astro-cid-4mtccg27]{stroke:var(--wall);stroke-width:.9px}.ripple[data-astro-cid-4mtccg27]{stroke-opacity:.45}.f[data-astro-cid-4mtccg27],.mf[data-astro-cid-4mtccg27]{stroke:none}.f[data-astro-cid-4mtccg27]{opacity:0;animation:wash 1.4s var(--ease) var(--d) forwards}.f[data-astro-cid-4mtccg27].still{opacity:1;animation:none}.wall[data-astro-cid-4mtccg27]{fill:var(--wall)}.roof[data-astro-cid-4mtccg27]{fill:var(--roof)}.stone[data-astro-cid-4mtccg27]{fill:var(--stone)}.hill[data-astro-cid-4mtccg27]{fill:oklch(17.5% .042 266)}.ridge[data-astro-cid-4mtccg27]{fill:oklch(22.5% .054 262)}.red[data-astro-cid-4mtccg27]{fill:var(--red)}.gold[data-astro-cid-4mtccg27]{fill:var(--gold)}.pale[data-astro-cid-4mtccg27]{fill:var(--pale)}.warm[data-astro-cid-4mtccg27]{fill:var(--gold);--o:.62}.shade[data-astro-cid-4mtccg27]{fill:var(--wall);--o:.5}.mf[data-astro-cid-4mtccg27].warm{opacity:.7}.mf[data-astro-cid-4mtccg27].shade{opacity:.55}.halo-gold[data-astro-cid-4mtccg27]{fill:url(#h-gold)}.halo-red[data-astro-cid-4mtccg27]{fill:url(#h-red)}.yk1[data-astro-cid-4mtccg27]{fill:oklch(40% .055 250)}.yk2[data-astro-cid-4mtccg27]{fill:oklch(72% .03 80)}.yk3[data-astro-cid-4mtccg27]{fill:oklch(52% .12 30)}.sk0[data-astro-cid-4mtccg27]{fill:oklch(84% .045 70)}.sk1[data-astro-cid-4mtccg27]{fill:oklch(62% .07 58)}.sk2[data-astro-cid-4mtccg27]{fill:oklch(44% .06 50)}.hair[data-astro-cid-4mtccg27]{fill:oklch(13% .02 270)}.f[data-astro-cid-4mtccg27].flicker{animation:wash 1.4s var(--ease) var(--d) forwards, flicker var(--p,5s) ease-in-out calc(var(--d) + 1.5s) infinite}.mf[data-astro-cid-4mtccg27].flicker{animation:flicker var(--p,4s) ease-in-out infinite}.haze[data-astro-cid-4mtccg27]{opacity:.5}.star[data-astro-cid-4mtccg27]{fill:var(--pale);opacity:0;animation:wash 2s var(--ease) var(--d) forwards, twinkle var(--p) ease-in-out calc(var(--d) + 2s) infinite alternate}.moon[data-astro-cid-4mtccg27] path[data-astro-cid-4mtccg27]{fill:var(--pale)}.moon[data-astro-cid-4mtccg27]{opacity:0;animation:wash 2.4s var(--ease) .6s forwards}.mist[data-astro-cid-4mtccg27]{fill:oklch(62% .05 250/.07);animation:sail var(--p) ease-in-out infinite alternate}.smoke[data-astro-cid-4mtccg27] path[data-astro-cid-4mtccg27],.steam[data-astro-cid-4mtccg27] path[data-astro-cid-4mtccg27]{fill:none;stroke:var(--ln);stroke-width:.9px;stroke-linecap:round;opacity:0;animation:7s linear 3.4s infinite rise}.smoke[data-astro-cid-4mtccg27] path[data-astro-cid-4mtccg27]:nth-child(2),.steam[data-astro-cid-4mtccg27] path[data-astro-cid-4mtccg27]:nth-child(2){animation-delay:5.6s}.smoke[data-astro-cid-4mtccg27] path[data-astro-cid-4mtccg27]:nth-child(3){animation-delay:7.9s}.steam[data-astro-cid-4mtccg27] path[data-astro-cid-4mtccg27]{animation-duration:4.6s}.c-gold[data-astro-cid-4mtccg27]{stroke:var(--gold)}.c-red[data-astro-cid-4mtccg27]{stroke:var(--red)}.c-pale[data-astro-cid-4mtccg27]{stroke:var(--pale)}.f-gold[data-astro-cid-4mtccg27]{fill:var(--gold)}.f-red[data-astro-cid-4mtccg27]{fill:var(--red)}.f-pale[data-astro-cid-4mtccg27]{fill:var(--pale)}.fw-trail[data-astro-cid-4mtccg27],.fw-rays[data-astro-cid-4mtccg27],.fw-refl[data-astro-cid-4mtccg27],.rf[data-astro-cid-4mtccg27]{fill:none;stroke-linecap:round}.fw-rays[data-astro-cid-4mtccg27]{stroke-width:1.8px;opacity:.8}.fw-rays[data-astro-cid-4mtccg27].inner,.fw-rays[data-astro-cid-4mtccg27].mid{stroke-width:1.3px}.fw-rays[data-astro-cid-4mtccg27].mid{opacity:.5}.fw-glit[data-astro-cid-4mtccg27]{opacity:.7}.fw-core[data-astro-cid-4mtccg27]{fill:var(--pale);opacity:0}.fw-trail[data-astro-cid-4mtccg27]{stroke-width:1.1px;opacity:0}.fw-flash[data-astro-cid-4mtccg27]{opacity:.3}.fw-refl[data-astro-cid-4mtccg27]{stroke-width:2.2px;opacity:.3}.rf[data-astro-cid-4mtccg27]{stroke-width:2px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:wash-rf 1.8s var(--ease) var(--d) forwards, shimmer var(--p) ease-in-out infinite alternate}.rf[data-astro-cid-4mtccg27].under{stroke-width:2.6px}.reed[data-astro-cid-4mtccg27]{fill:none;stroke:oklch(10% .03 270);stroke-width:2.4px;stroke-linecap:round}.reed-head[data-astro-cid-4mtccg27]{fill:oklch(10% .03 270)}.reeds[data-astro-cid-4mtccg27]{transform-box:fill-box;transform-origin:20% 100%;animation:7s ease-in-out infinite alternate sway}.reeds[data-astro-cid-4mtccg27].right{transform-origin:80% 100%;animation-duration:8.5s}.firefly[data-astro-cid-4mtccg27]{fill:var(--gold);opacity:0;animation:wander var(--p) ease-in-out var(--d) infinite}.mover[data-astro-cid-4mtccg27]{opacity:0;animation:wash 1.6s var(--ease) 3.6s forwards}.beam[data-astro-cid-4mtccg27]{fill:var(--gold);opacity:.16}.cyclist[data-astro-cid-4mtccg27]{animation:10ms 4.2s forwards wash,70s linear 4.2s infinite backwards ride;transform:translate(1010px)}.walk-a[data-astro-cid-4mtccg27]{animation:wash 1.6s var(--ease) 3.6s forwards, stroll-left 210s linear -62s infinite;transform:translate(1420px)}.walk-b[data-astro-cid-4mtccg27]{animation:wash 1.6s var(--ease) 3.6s forwards, stroll-right 260s linear -90s infinite;transform:translate(690px)}.step[data-astro-cid-4mtccg27]{animation:.62s ease-in-out infinite alternate step}.barge[data-astro-cid-4mtccg27]{animation:wash 1.6s var(--ease) 3.6s forwards, drift-left 200s linear -86s infinite;transform:translate(1180px)}.skiff[data-astro-cid-4mtccg27]{animation:wash 1.6s var(--ease) 3.6s forwards, drift-right 130s linear -42s infinite;transform:translate(540px)}.fleet[data-astro-cid-4mtccg27]{animation:wash 2.4s var(--ease) 3.9s forwards, fleet 420s linear infinite}.bob[data-astro-cid-4mtccg27]{animation:bob var(--p,4.5s) ease-in-out infinite alternate}.moored[data-astro-cid-4mtccg27]{--p:3.4s}.willow[data-astro-cid-4mtccg27],.cat-tail[data-astro-cid-4mtccg27]{transform-box:fill-box;transform-origin:50% 0}.willow[data-astro-cid-4mtccg27]{animation:6s ease-in-out infinite alternate sway}.cat-tail[data-astro-cid-4mtccg27]{transform-origin:0 100%;opacity:0;animation:1s 1.6s forwards wash,9s ease-in-out 5s infinite flick}.lap[data-astro-cid-4mtccg27]{animation:9s ease-in-out infinite alternate lap}.lap-1[data-astro-cid-4mtccg27]{animation-duration:7s;animation-direction:alternate-reverse}.lap-2[data-astro-cid-4mtccg27]{animation-duration:5.5s}@keyframes draw{to{stroke-dashoffset:0}}@keyframes wash{to{opacity:var(--o,1)}}@keyframes wash-rf{to{opacity:.5}}@keyframes flicker{0%,to{opacity:var(--o,1)}42%{opacity:calc(var(--o,1) * .7)}58%{opacity:calc(var(--o,1) * .94)}}@keyframes twinkle{0%{opacity:.9}to{opacity:.3}}@keyframes sail{to{transform:translate(46px)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}25%{opacity:.4}to{opacity:0;transform:translate(9px,-22px)}}@keyframes shimmer{0%{transform:scaleX(.86)}to{transform:scaleX(1.16)translate(1.5px)}}@keyframes sway{0%{transform:rotate(-1.3deg)}to{transform:rotate(1.5deg)}}@keyframes wander{0%,to{opacity:0;transform:translate(0)}20%{opacity:.9;transform:translate(10px,-8px)}45%{opacity:.2;transform:translate(22px,-2px)}70%{opacity:.9;transform:translate(12px,-16px)}}@keyframes ride{0%{transform:translate(-130px)}42%,to{transform:translate(2060px)}}@keyframes stroll-left{0%{transform:translate(2040px)}to{transform:translate(-40px)}}@keyframes stroll-right{0%{transform:translate(-40px)}to{transform:translate(2040px)}}@keyframes step{to{transform:translateY(-.9px)}}@keyframes drift-left{0%{transform:translate(2060px)}to{transform:translate(-300px)}}@keyframes drift-right{0%{transform:translate(-180px)}to{transform:translate(2080px)}}@keyframes fleet{to{transform:translate(-2000px)}}@keyframes bob{0%{transform:translateY(-.6px)rotate(.5deg)}to{transform:translateY(1.4px)rotate(-.7deg)}}@keyframes flick{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-22deg)}95%{transform:rotate(8deg)}}@keyframes lap{0%{transform:translate(-9px)}to{transform:translate(9px)}}@keyframes fw-rise{0%{stroke-dashoffset:.22px;opacity:.8;animation-timing-function:cubic-bezier(.2,.6,.35,1)}5%{stroke-dashoffset:-.95px;opacity:.8}5.6%,to{stroke-dashoffset:-1px;opacity:0}}@keyframes fw-burst{0%,4.9%{stroke-dashoffset:var(--len);opacity:0}5%{stroke-dashoffset:var(--len);opacity:1;animation-timing-function:cubic-bezier(.03,.75,.12,1)}8.2%{stroke-dashoffset:calc(var(--len) - 1);opacity:1;animation-timing-function:cubic-bezier(.4,0,.7,.6)}19%{stroke-dashoffset:calc(var(--len) - 1.36);opacity:.55}24%,to{stroke-dashoffset:calc(var(--len) - 1.5);opacity:0}}@keyframes fw-core{0%,4.9%{opacity:0;transform:scale(.2)}5%{opacity:1;animation-timing-function:cubic-bezier(.1,.7,.2,1);transform:scale(.3)}7.6%,to{opacity:0;transform:scale(2.6)}}@keyframes fw-tips{0%,7%{opacity:0}8.2%{opacity:1}12%{opacity:.9}14%{opacity:.25}16%{opacity:.9}18.5%{opacity:.3}21%{opacity:.75}26%,to{opacity:0}}@keyframes fw-glit{0%,8.5%{opacity:0}9.5%{opacity:1}11.5%{opacity:.15}13%{opacity:1}15%{opacity:.2}17%{opacity:.9}19.5%{opacity:.15}22%{opacity:.6}27%,to{opacity:0}}@keyframes fw-fall{0%,8%{animation-timing-function:cubic-bezier(.5,0,.9,.7);transform:translateY(0)}27%,to{transform:translateY(20px)}}@keyframes fw-flash{0%,4.8%{opacity:0}5.6%{opacity:1}10%{opacity:.4}24%,to{opacity:0}}@keyframes fw-bloom{0%,4.9%{opacity:0;transform:scale(.04)}5%{opacity:1;animation-timing-function:cubic-bezier(.03,.75,.12,1);transform:scale(.04)}8.4%{opacity:1;transform:scale(1)}12%{opacity:.4}14%{opacity:.95}17%{opacity:.45;animation-timing-function:ease-in}26%,to{opacity:0;transform:scale(1.05)translateY(14px)}}@media (prefers-reduced-motion:no-preference){.fw[data-astro-cid-4mtccg27] [data-astro-cid-4mtccg27]{animation-duration:var(--t);animation-delay:calc(var(--fd) + 4.6s);animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:backwards}.fw-trail[data-astro-cid-4mtccg27]{stroke-dasharray:.22 2;animation-name:fw-rise}.fw-rays[data-astro-cid-4mtccg27]{--len:.72;stroke-dasharray:var(--len) 3;animation-name:fw-burst}.fw-rays[data-astro-cid-4mtccg27].inner{--len:.85}.willow[data-astro-cid-4mtccg27] .fw-rays[data-astro-cid-4mtccg27]{--len:.95}.fw-tips[data-astro-cid-4mtccg27]{animation-name:fw-tips}.fw-glit[data-astro-cid-4mtccg27]{animation-name:fw-glit}.fw-core[data-astro-cid-4mtccg27]{animation-name:fw-core}.fw-shell[data-astro-cid-4mtccg27]{animation-name:fw-fall}.botan[data-astro-cid-4mtccg27] .fw-shell[data-astro-cid-4mtccg27]{animation-name:fw-bloom}.fw-flash[data-astro-cid-4mtccg27],.fw-refl[data-astro-cid-4mtccg27]{animation-name:fw-flash}}@media (width<=700px){.s[data-astro-cid-4mtccg27],.ms[data-astro-cid-4mtccg27]{stroke-width:1.9px}.thin[data-astro-cid-4mtccg27]{stroke-width:1.15px}.dk[data-astro-cid-4mtccg27]{stroke-width:1.2px}.fw-rays[data-astro-cid-4mtccg27]{stroke-width:2.2px}.fw-field[data-astro-cid-4mtccg27]{transform:translateY(84px)}}@media (prefers-reduced-motion:reduce){.scene[data-astro-cid-4mtccg27] [data-astro-cid-4mtccg27]{animation:none!important}.s[data-astro-cid-4mtccg27]{stroke-dashoffset:0}.f[data-astro-cid-4mtccg27],.mover[data-astro-cid-4mtccg27],.moon[data-astro-cid-4mtccg27],.cat-tail[data-astro-cid-4mtccg27]{opacity:var(--o,1)}.star[data-astro-cid-4mtccg27]{opacity:.7}.rf[data-astro-cid-4mtccg27]{opacity:.5}.smoke[data-astro-cid-4mtccg27] path[data-astro-cid-4mtccg27]{opacity:.35}.firefly[data-astro-cid-4mtccg27]{opacity:.8}.fw[data-astro-cid-4mtccg27].extra{display:none}}.hero[data-astro-cid-lcdefpme]{--scene-h:max(400px, min(42vw, 85vh));padding-top:clamp(1.5rem,5vw,4rem);overflow-x:clip}.hero-text[data-astro-cid-lcdefpme]{z-index:1;position:relative}.hero[data-astro-cid-lcdefpme] h1[data-astro-cid-lcdefpme]{margin:.5rem 0 1.6rem -.04em;font-size:clamp(4.6rem,13vw,10rem);font-weight:700;line-height:.82}.lede[data-astro-cid-lcdefpme]{max-width:34rem;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.7}.hero-links[data-astro-cid-lcdefpme]{gap:1.5rem;margin-top:1.4rem;font-weight:500;display:flex}.hero[data-astro-cid-lcdefpme] .scene{margin-top:calc(var(--scene-h) * -.34)}@media (width<=700px){.hero[data-astro-cid-lcdefpme] .scene{margin-top:calc(var(--scene-h) * -.2)}}.block[data-astro-cid-lcdefpme]{padding-top:clamp(4.5rem,10vw,8rem)}.block-head[data-astro-cid-lcdefpme]{flex-wrap:wrap;align-items:baseline;gap:.3rem 1.4rem;margin-bottom:1.6rem;display:flex}ol[data-astro-cid-lcdefpme],ul[data-astro-cid-lcdefpme]{margin:0;padding:0;list-style:none}.projects[data-astro-cid-lcdefpme] li[data-astro-cid-lcdefpme]{border-top:1px solid var(--line)}.projects[data-astro-cid-lcdefpme] li[data-astro-cid-lcdefpme]:last-child{border-bottom:1px solid var(--line)}.projects[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{color:inherit;grid-template-columns:5fr 6fr auto;align-items:start;gap:1rem clamp(1.5rem,4vw,4rem);padding-block:clamp(1.6rem,3vw,2.4rem);text-decoration:none;display:grid}.projects[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{transition:color .3s var(--ease);font-size:clamp(2.6rem,5vw,3.8rem)}.tagline[data-astro-cid-lcdefpme]{color:var(--text-soft);margin-top:.4rem}.result[data-astro-cid-lcdefpme]{max-width:30rem;margin-bottom:.8rem;font-size:1.12rem;line-height:1.5}.go[data-astro-cid-lcdefpme]{transition:transform .4s var(--ease), color .3s var(--ease);font-size:1.4rem;line-height:2.2}.projects[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover h3[data-astro-cid-lcdefpme],.projects[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover .go[data-astro-cid-lcdefpme]{color:var(--red)}.projects[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover .go[data-astro-cid-lcdefpme]{transform:translate(6px)}.xp[data-astro-cid-lcdefpme]>li[data-astro-cid-lcdefpme]{border-top:1px solid var(--line);grid-template-columns:11rem 16rem 1fr;gap:.6rem clamp(1.5rem,3vw,3rem);padding-block:1.8rem;display:grid}.xp[data-astro-cid-lcdefpme]>li[data-astro-cid-lcdefpme]>.label[data-astro-cid-lcdefpme]{padding-top:.35rem}.role[data-astro-cid-lcdefpme]{font-weight:700;line-height:1.4}.xp[data-astro-cid-lcdefpme] ul[data-astro-cid-lcdefpme]{max-width:62ch}.xp[data-astro-cid-lcdefpme] ul[data-astro-cid-lcdefpme] li[data-astro-cid-lcdefpme]+li[data-astro-cid-lcdefpme]{margin-top:.7rem}.contact[data-astro-cid-lcdefpme] h2[data-astro-cid-lcdefpme]{margin-bottom:1rem;font-size:clamp(3.4rem,9vw,6.5rem)}.contact-row[data-astro-cid-lcdefpme]{flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:2rem;font-weight:500;display:flex}button[data-astro-cid-lcdefpme]{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:border-color .25s var(--ease), background-color .25s var(--ease);border-radius:999px;align-items:center;gap:.9rem;padding:.6rem 1.2rem;display:inline-flex}button[data-astro-cid-lcdefpme]:hover{border-color:var(--glow);background:var(--bg)}button[data-astro-cid-lcdefpme] .label[data-astro-cid-lcdefpme]{text-align:left;min-width:3.2rem}@media (width<=820px){.projects[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{grid-template-columns:1fr auto}.projects[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]>div[data-astro-cid-lcdefpme]:nth-child(2){grid-row:2}.xp[data-astro-cid-lcdefpme]>li[data-astro-cid-lcdefpme]{grid-template-columns:1fr}}
