@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.614a1c00.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.d8bad3ab.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.262b87c4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.380d09ea.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_906dbefc-module__-DyzYa__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_906dbefc-module__-DyzYa__variable{--font-site-serif:"Instrument Serif","Instrument Serif Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_559978d-module__GpNDxa__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_559978d-module__GpNDxa__variable{--font-site-mono:"Geist Mono","Geist Mono Fallback"}
.site-root{isolation:isolate;color:#f8fafc;--font-site-display:var(--font-poppins);--wave-h:clamp(56px,9vw,140px);--hero-top:#1e1b4b;--hero-bottom:#020617;--hero-glow:#9333ea33;--about-top:#1e293b;--about-bottom:#0b1222;--about-glow:#94a3b81f;--skills-top:#9f1239;--skills-bottom:#4c0519;--skills-glow:#fb718538;--projects-top:#0f172a;--projects-bottom:#020617;--projects-glow:#f43f5e1a;--experience-top:#0e7490;--experience-bottom:#083344;--experience-glow:#67e8f92e;--bio-top:#1e293b;--bio-bottom:#0b1222;--bio-glow:#22d3ee1a;--social-top:#d97706;--social-bottom:#78350f;--social-glow:#fde68a40;--contact-top:#047857;--contact-bottom:#022c22;--contact-glow:#6ee7b733;--footer-top:#111827;--footer-bottom:#030712;--footer-glow:#94a3b80f;background-color:#020617;position:relative}body:has(.site-root){background-color:#020617}.site-root ::selection{color:#fff;background:#ffffff38}.site-root [data-palette]{background:radial-gradient(50% 18rem at 85% 22rem,var(--sec-glow),transparent),linear-gradient(180deg,var(--sec-top)0%,color-mix(in srgb,var(--sec-top)40%,var(--sec-bottom))45%,var(--sec-bottom)100%)}.site-root [data-palette=hero]{--sec-top:var(--hero-top);--sec-bottom:var(--hero-bottom);--sec-glow:var(--hero-glow)}.site-root [data-palette=about]{--sec-top:var(--about-top);--sec-bottom:var(--about-bottom);--sec-glow:var(--about-glow)}.site-root [data-palette=skills]{--sec-top:var(--skills-top);--sec-bottom:var(--skills-bottom);--sec-glow:var(--skills-glow)}.site-root [data-palette=projects]{--sec-top:var(--projects-top);--sec-bottom:var(--projects-bottom);--sec-glow:var(--projects-glow)}.site-root [data-palette=experience]{--sec-top:var(--experience-top);--sec-bottom:var(--experience-bottom);--sec-glow:var(--experience-glow)}.site-root [data-palette=bio]{--sec-top:var(--bio-top);--sec-bottom:var(--bio-bottom);--sec-glow:var(--bio-glow)}.site-root [data-palette=social]{--sec-top:var(--social-top);--sec-bottom:var(--social-bottom);--sec-glow:var(--social-glow)}.site-root [data-palette=contact]{--sec-top:var(--contact-top);--sec-bottom:var(--contact-bottom);--sec-glow:var(--contact-glow)}.site-root [data-palette=footer]{--sec-top:var(--footer-top);--sec-bottom:var(--footer-bottom);--sec-glow:var(--footer-glow)}.site-wave{height:var(--wave-h);transform-origin:50% 100%;transform:scaleY(.4)}:where(.site-display){font-family:var(--font-site-display),"Poppins",ui-sans-serif,system-ui,sans-serif;letter-spacing:-.03em;font-weight:800}:is(h1,h2,h3,h4,h5,h6):where(.site-display){font-weight:800}:where(.site-serif){font-family:var(--font-site-serif),ui-serif,Georgia,serif;letter-spacing:-.01em}:where(.site-mono){font-family:var(--font-site-mono),ui-monospace,"SF Mono",Menlo,monospace}:where(.site-eyebrow){font-family:var(--font-site-mono),ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.2em;text-transform:uppercase;font-size:.6875rem}:where(.site-container){width:100%;max-width:76rem;margin-inline:auto;padding-inline:1.5rem}@media (min-width:640px){:where(.site-container){padding-inline:2.5rem}}@media (min-width:768px){:where(.site-container){padding-left:7rem;padding-right:3rem}}@media (min-width:1280px){:where(.site-container){padding-inline:6rem}}.site-grain{z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.site-link{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .4s cubic-bezier(.16,1,.3,1)}.site-link:hover{background-size:100% 1px}@keyframes site-rise{0%{opacity:0;filter:blur(10px);transform:translateY(28px)}to{opacity:1;filter:none;transform:none}}.hero-in{animation:1.3s cubic-bezier(.16,1,.3,1) both site-rise;animation-delay:calc(.2s + var(--i,0)*.12s)}@keyframes hero-char-rise{0%{transform:translateY(110%)scale(.85,1.4)rotate(6deg)}55%{transform:translateY(-8%)scale(1.06,.9)rotate(-1.5deg)}78%{transform:translateY(2%)scale(.98,1.03)rotate(0)}to{transform:none}}.hero-char{transform-origin:50% 100%;animation:1.3s cubic-bezier(.22,1,.36,1) both hero-char-rise;animation-delay:calc(.45s + var(--d,0)*80ms);position:relative}.hero-char:after{content:attr(data-char);color:#0000;text-shadow:none;pointer-events:none;background-image:linear-gradient(100deg,#0000 0%,#fcd34dd9 38%,#fffbeb 50%,#fcd34dd9 62%,#0000 100%);background-repeat:no-repeat;background-size:var(--glint-band,0px)100%;background-position:calc(var(--glint,-9999px) - var(--x,0px))0;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.hero-legible,.photo-legible{text-shadow:0 1px 2px #0206178c,0 0 16px #02061780}.hero-legible .site-scroll-cue{filter:drop-shadow(0 0 4px #020617b3)}.hero-legible-strong{text-shadow:0 2px 4px #02061759,0 4px 14px #02061766}.hero-legible-mark{filter:drop-shadow(0 4px 24px #0206178c)}.hero-roll-mask{vertical-align:bottom;margin:0 -.1em -.14em 0;padding:0 .1em .14em 0;display:inline-block;overflow:hidden}.hero-roll-word{transform-origin:0 100%;display:inline-block}.site-scroll-cue{background:#fff3;width:1px;height:3.5rem;display:block;position:relative;overflow:hidden}.site-scroll-cue:after{content:"";background:#fff;animation:2.4s cubic-bezier(.65,0,.35,1) infinite site-scroll-cue;position:absolute;inset:0;transform:translateY(-100%)}@keyframes site-scroll-cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.glass-rail{--lx:30%;--ly:0%;-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);will-change:width,transform;background:linear-gradient(#ffffff29,#ffffff0d);border-radius:24px;overflow:hidden;box-shadow:inset 0 1px .5px #ffffff73,inset 0 -1px .5px #ffffff1a,0 12px 32px -10px #00000080,0 2px 6px #0000002e}.glass-rail:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(80px 90px at var(--lx)var(--ly),#ffffff47,transparent 70%);mix-blend-mode:plus-lighter;position:absolute;inset:0}.glass-rail:after{content:"";border-radius:inherit;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-composite:xor;background:linear-gradient(160deg,#ffffffb3,#ffffff14 35%,#ffffff0a 65%,#ffffff59);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-lens{pointer-events:none;-webkit-backdrop-filter:blur(1.5px)saturate(220%)brightness(1.15);backdrop-filter:blur(1.5px)saturate(220%)brightness(1.15);will-change:transform;background:radial-gradient(120% 90% at 30% 15%,#ffffff80,#ffffff1f 55%,#ffffff0d),#ffffff0d;border-radius:9999px;width:28px;height:28px;position:absolute;top:0;left:0;box-shadow:inset 0 1px 1px #ffffffe6,inset 0 -3px 6px #0000001f,inset 0 0 0 .5px #ffffff59,0 6px 16px -4px #00000059}.glass-tip{pointer-events:none;opacity:0;transform-origin:0%;-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);will-change:transform,opacity;background:linear-gradient(#ffffff2e,#ffffff0f);border-radius:9999px;align-items:center;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:inset 0 1px .5px #ffffff73,inset 0 -1px .5px #ffffff1a,0 10px 24px -8px #00000073}[data-liquid]{will-change:transform;touch-action:manipulation}[data-liquid]:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(60% 120% at var(--mx,50%)var(--my,0%),#ffffff73,transparent 70%);mix-blend-mode:soft-light;opacity:0;transition:opacity .4s;position:absolute;inset:0}[data-liquid][data-active]:after{opacity:1}.site-root{--gutter-left:1.5rem;--gutter-right:1.5rem}@media (min-width:640px){.site-root{--gutter-left:2.5rem;--gutter-right:2.5rem}}@media (min-width:768px){.site-root{--gutter-left:7rem;--gutter-right:3rem}}@media (min-width:1280px){.site-root{--gutter-left:max(6rem,calc((100vw - 76rem)/2 + 6rem));--gutter-right:max(6rem,calc((100vw - 76rem)/2 + 6rem))}}.skills-viewport{scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter-left)var(--gutter-right);scrollbar-width:none;overscroll-behavior-x:contain;overflow-x:auto}.skills-viewport::-webkit-scrollbar{display:none}.skills-track{padding-inline:var(--gutter-left)var(--gutter-right)}.skills-track>*{scroll-snap-align:start}[data-pinned=true] .skills-viewport{scroll-snap-type:none;overflow:hidden}.skills-progress{display:none}[data-pinned=true] .skills-progress{display:flex}.skills-card{transition:border-color .8s,background-color .8s,box-shadow .8s}.skills-card[data-unlocked=true]{background-color:#18040cb3;border-color:#ffffff38;box-shadow:0 40px 90px -40px #000000b3,inset 0 1px #ffffff1a}.skills-lock{color:#ffffff73;transition:color .6s,background-color .6s,border-color .6s}[data-unlocked=true] .skills-lock{color:#fecdd3;background-color:#fb718524;border-color:#fb718559}.skills-shackle{transform-box:view-box;transform-origin:16px 11px;transition:transform .8s cubic-bezier(.34,1.56,.64,1)}[data-unlocked=true] .skills-shackle{transform:translateY(-2px)rotate(28deg)}.skills-state{display:grid}.skills-state>span{grid-area:1/1;transition:opacity .5s,transform .6s cubic-bezier(.16,1,.3,1)}.skills-state-granted{opacity:0;transform:translateY(6px)}[data-unlocked=true] .skills-state-locked{opacity:0;transform:translateY(-6px)}[data-unlocked=true] .skills-state-granted{opacity:1;transform:none}.skills-entry{opacity:.3;filter:blur(3px);transition:opacity .8s,filter .8s,transform .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0)*60ms);transform:translateY(8px)}[data-unlocked=true] .skills-entry{opacity:1;filter:none;transform:none}.about-side-photo{--fade-top:18%;--fade-left:40%;--fade-bottom:22%;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 var(--fade-left)),linear-gradient(to bottom,transparent 0%,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent 100%);-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 var(--fade-left)),linear-gradient(to bottom,transparent 0%,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 var(--fade-left)),linear-gradient(to bottom,transparent 0%,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent 100%);-webkit-mask-composite:source-in,xor;-webkit-mask-composite:source-in;mask-composite:intersect}.exp-dot-core{fill:#083344;stroke:#a5f3fcb3;stroke-width:2px;transform-box:fill-box;transform-origin:50%;transition:fill .5s,transform .9s cubic-bezier(.34,1.56,.64,1);transform:scale(.6)}.exp-dot[data-lit=true] .exp-dot-core{fill:#ecfeff;transform:scale(1)}.exp-dot-glow{opacity:0;transform-box:fill-box;transform-origin:50%;transform:scale(.5)}@keyframes exp-dot-flare{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.7)}to{opacity:1;transform:scale(1)}}.exp-dot[data-lit=true] .exp-dot-glow{opacity:1;animation:1.2s cubic-bezier(.16,1,.3,1) both exp-dot-flare;transform:scale(1)}.exp-dot-ping{fill:none;stroke:#a5f3fccc;stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;opacity:0}@keyframes exp-ping{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(3)}}.exp-dot[data-lit=true] .exp-dot-ping{animation:1.6s cubic-bezier(.16,1,.3,1) 2 exp-ping}@property --beam-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.exp-content{--beam-from:270deg;background:linear-gradient(#ffffff09,#ffffff03);border:1px solid #ffffff1a;transition:border-color .8s,box-shadow .8s,background-color .8s}.exp-content:hover{border-color:#fff3}@media (min-width:768px){.exp-row:nth-child(odd) .exp-content{--beam-from:90deg}}.exp-content:before{content:"";border-radius:inherit;pointer-events:none;background:conic-gradient(from calc(var(--beam-from) + var(--beam-angle) - 70deg),transparent 0deg,#a5f3fcd9 64deg,#ecfeff 70deg,transparent 71deg);-webkit-mask-composite:xor;-webkit-mask-composite:xor;opacity:0;padding:1.5px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes exp-beam{0%{--beam-angle:0deg;opacity:0}8%,85%{opacity:1}to{--beam-angle:360deg;opacity:0}}.exp-row:has(.exp-node[data-lit=true]) .exp-content{background-color:#67e8f90a;border-color:#a5f3fc59;box-shadow:0 0 40px -12px #67e8f966}.exp-row:has(.exp-node[data-lit=true]) .exp-content:before{animation:1.8s cubic-bezier(.45,0,.25,1) .1s both exp-beam}.exp-date-big{color:#cffafe59;transition:color .6s,text-shadow .6s}.exp-row:has(.exp-node[data-lit=true]) .exp-date-big{color:#ecfeff;text-shadow:0 0 24px #67e8f98c}.exp-date{transition:background-color .5s,border-color .5s,color .5s,box-shadow .6s}.exp-row:has(.exp-node[data-lit=true]) .exp-date{color:#083344;background-color:#ecfeff;border-color:#0000;box-shadow:0 0 16px #a5f3fc99}@keyframes bio-sway{0%,to{transform:rotate(8deg)}50%{transform:rotate(13deg)}}.bio-sway{transform-origin:50% 100%;animation:7s ease-in-out infinite bio-sway}.travel-home{background:#ecfeff;border-radius:9999px;width:12px;height:12px;position:relative;box-shadow:0 0 14px #a5f3fce6}.travel-home:after{content:"";border:2px solid #a5f3fccc;border-radius:9999px;animation:2.2s cubic-bezier(.16,1,.3,1) infinite travel-ping;position:absolute;inset:-6px}@keyframes travel-ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.6)}}.travel-home-label{white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ecfeff;font-family:var(--font-site-mono),ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;background:#02061799;border:1px solid #ffffff1f;border-radius:9999px;padding:4px 10px;font-size:10px;transition:opacity .6s;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.travel-home.is-settled .travel-home-label{opacity:0}.travel-home.is-settled:hover .travel-home-label{opacity:1}#mapBio .mapboxgl-ctrl-group{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:none;background:#02061799;border:1px solid #ffffff1f;border-radius:14px;overflow:hidden}#mapBio .mapboxgl-ctrl-group button+button{border-top-color:#ffffff1a}#mapBio .mapboxgl-ctrl-group button:not(:disabled):hover{background-color:#a5f3fc1f}#mapBio .mapboxgl-ctrl-icon,#mapBio .mapboxgl-ctrl-attrib-button{filter:invert()}#mapBio .mapboxgl-ctrl-attrib.mapboxgl-compact{color:#ffffffb3;background:#02061799}#mapBio .mapboxgl-ctrl-attrib a{color:#fffc}.travel-marquee{animation:1.2s cubic-bezier(.16,1,.3,1) both site-rise;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.travel-marquee-track{will-change:transform}.travel-marquee-item{color:#ffffffe0;transition:color .3s,text-shadow .3s}.travel-marquee-item:hover,.travel-marquee-item:focus-visible{color:#a5f3fc;text-shadow:0 0 24px #22d3ee99;outline:none}.travel-marquee-dot{background:#22d3ee;border-radius:9999px;flex:none;width:6px;height:6px;box-shadow:0 0 10px #22d3eecc}.travel-popup .mapboxgl-popup-content{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#020617b8;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:2px;padding:8px 12px;font-size:13px;display:flex;box-shadow:0 12px 30px -10px #0009}.travel-popup .mapboxgl-popup-content span{color:#a5f3fccc;font-size:11px}.travel-popup .mapboxgl-popup-tip{display:none}#mapBio .mapboxgl-ctrl-bottom-left,#mapBio .mapboxgl-ctrl-bottom-right{bottom:calc(var(--wave-h)*.85)}.desk-slot{position:relative}.desk-slot:hover,.desk-slot:focus-within{z-index:2}.polaroid{color:#292524;transform:rotate(calc(var(--tilt,0deg)*.5));background:#fbf7ee;border-radius:3px;outline:none;padding:.625rem .625rem 0;transition:transform .7s cubic-bezier(.34,1.56,.64,1),box-shadow .5s;display:block;position:relative;box-shadow:0 1px 1px #00000014,0 16px 32px -14px #451a0399}@media (min-width:768px){.polaroid{transform:translateY(var(--offset,0px))rotate(var(--tilt,0deg))}}.polaroid:focus-visible,.desk-slot:hover .polaroid{transform:translateY(calc(var(--offset,0px) - 10px))rotate(0deg)scale(1.04);box-shadow:0 2px 2px #00000014,0 32px 54px -20px #451a03bf}.polaroid:focus-visible{box-shadow:0 0 0 3px #fef3c7,0 32px 54px -20px #451a03bf}.polaroid[data-tape]:before{content:"";z-index:1;background:#fef3c79e;width:40%;height:24px;position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 1px 3px #0000001f}.polaroid-caption{flex-direction:column;gap:.4rem;min-height:5rem;padding:.75rem .25rem .85rem;display:flex}.polaroid-video{opacity:0;transition:opacity .4s}.polaroid-video[data-playing=true]{opacity:1}.desk{scrollbar-width:none}.desk::-webkit-scrollbar{display:none}.letter-blank{vertical-align:baseline;max-width:100%;font-family:var(--font-site-display),Poppins,sans-serif;letter-spacing:-.02em;color:#fff;margin-inline:.15em;font-size:.72em;font-style:normal;font-weight:700;display:inline-grid;position:relative}.letter-blank:after,.letter-input{min-width:3ch;font:inherit;letter-spacing:inherit;white-space:pre;grid-area:1/1;padding:0 .1em}.letter-blank:after{content:attr(data-value)" ";visibility:hidden;height:0;overflow:hidden}.letter-input{width:100%;color:inherit;caret-color:#6ee7b7;background:0 0;border:0;border-radius:0;outline:none}.letter-input::placeholder{color:#d1fae54d;font-weight:500}.letter-blank:before{content:"";inset-inline:0;background:repeating-linear-gradient(90deg,#d1fae566 0 3px,#0000 3px 7px);height:1px;position:absolute;bottom:-.05em}.letter-line{inset-inline:0;transform-origin:0;background:linear-gradient(90deg,#6ee7b7,#a7f3d0);border-radius:2px;height:2px;transition:transform .9s cubic-bezier(.16,1,.3,1),background .4s,box-shadow .4s,opacity .4s;position:absolute;bottom:-.1em;transform:scaleX(0);box-shadow:0 0 12px #6ee7b7b3}.letter-blank:focus-within .letter-line,.letter-blank[data-state=valid] .letter-line,.letter-blank[data-state=invalid] .letter-line{transform:scaleX(1)}.letter-blank[data-state=valid]:not(:focus-within) .letter-line{opacity:.55;box-shadow:none}.letter-blank[data-state=invalid] .letter-line{background:#fda4af;box-shadow:0 0 12px #fda4af80}.letter-tick{color:#6ee7b7;pointer-events:none;width:.62em;height:.62em;position:absolute;top:-.45em;right:-.55em}.letter-paper{--rule:2.5rem;resize:none;background:transparent repeating-linear-gradient(180deg,transparent 0 calc(var(--rule) - 1px),#d1fae529 calc(var(--rule) - 1px)var(--rule))local;color:#fff;caret-color:#6ee7b7;width:100%;font-family:var(--font-site-serif),ui-serif,Georgia,serif;font-size:1.5rem;line-height:var(--rule);field-sizing:content;min-height:calc(var(--rule)*4);border:0;outline:none;padding:0;display:block}.letter-paper::placeholder{color:#d1fae54d;font-style:italic}.letter-paper[data-state=invalid]{background-image:repeating-linear-gradient(180deg,transparent 0 calc(var(--rule) - 1px),#fda4af59 calc(var(--rule) - 1px)var(--rule))}.letter-progress{background:#ffffff14;border-radius:2px;height:2px;margin-top:-2px;position:relative;overflow:hidden}.letter-progress span{transform-origin:0;background:linear-gradient(90deg,#6ee7b780,#6ee7b7);height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.letter-progress[data-valid=true] span{background:#6ee7b7;box-shadow:0 0 12px #6ee7b7cc}.letter-sign{font-family:var(--font-site-display),Poppins,sans-serif;letter-spacing:-.02em;margin-top:.25rem;font-size:.85em;font-style:normal;font-weight:700;animation:.9s cubic-bezier(.16,1,.3,1) both letter-ink}@keyframes letter-ink{0%{opacity:0;filter:blur(6px);transform:translateY(6px)}}.contact-plane{transition:transform .7s cubic-bezier(.34,1.56,.64,1)}.contact-send:hover .contact-plane{transform:translate(3px,-3px)rotate(-8deg)}@keyframes contact-plane-wobble{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(2px,-2px)rotate(-6deg)}}@keyframes contact-plane-fly{0%{opacity:1;transform:none}30%{opacity:1;transform:translate(-6px,4px)rotate(8deg)}to{opacity:0;transform:translate(240px,-180px)rotate(-20deg)scale(.6)}}[data-status=loading] .contact-plane{animation:.8s ease-in-out infinite contact-plane-wobble}[data-status=success] .contact-plane{animation:1.1s cubic-bezier(.65,0,.35,1) forwards contact-plane-fly}@media (prefers-reduced-motion:reduce){.hero-in,.hero-char,.site-scroll-cue:after,.bio-sway,.exp-dot-ping,.exp-dot-glow,.travel-home:after,.travel-marquee,.exp-content:before,.letter-sign,[data-status] .contact-plane{animation:none!important}.travel-marquee{overflow-x:auto}.site-wave{transform:none}}
