html{background-color:var(--background-color);color:var(--font-color);word-break:break-word;text-overflow:ellipsis;overflow:hidden}body{font-family:var(--font-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance;word-break:normal;overflow-wrap:break-word;line-height:1.2}h1{letter-spacing:-.025em;font-weight:800}p,li,dd{text-wrap:pretty}code{font-family:var(--font-mono)}::selection{background-color:#7092be59}.abs{position:absolute}.rel{position:relative}.link{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}.link:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}ul,li{margin:0;text-decoration:none}ul{padding:0;list-style:none}.flex{display:flex}.flex1{flex:1}.flex2{flex:2}.flex3{flex:3}.flex4{flex:4}.flex-wrap{flex-wrap:wrap}.flex-dcol{flex-direction:column}.height10{height:10px}.height20{height:20px}.height40{height:40px}.height100{height:100px}.width10{width:10px}.width20{width:20px}.width40{width:40px}.margin5{margin:5px}.margin10{margin:10px}.margin20{margin:20px}.padding5{padding:5px}.padding10{padding:10px}.padding20{padding:20px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,#scroller{scrollbar-color:color-mix(in srgb, var(--font-color) 45%, var(--background-color)) var(--background-color)}::-webkit-scrollbar-track{background-color:var(--background-color)}::-webkit-scrollbar-thumb{border:solid 3px var(--background-color);background-color:color-mix(in srgb, var(--font-color) 45%, var(--background-color));border-radius:50px}::-webkit-scrollbar-thumb:hover{background-color:var(--font-color)}
:root{--light:#f9fbfc;--light-intense:#e9e9f4;--dark:#5a6475;--dark-intense:#384354;--primary-color:#7092be;--primary-color-strong:#4a6a9a;--secondary-color:#537e45;--radius-s:10px;--radius-m:14px;--radius-l:20px;--radius-xl:28px;--nav-clearance:88px;--ease-out:cubic-bezier(.22, 1, .36, 1);--scrollbar-width:14px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background-color:var(--light);--background-color-alt:var(--light-intense);--surface:#fff;--border-color:#3843541f;--border-strong:#3843543d;--font-color:var(--dark-intense);--font-color-alt:var(--dark);--accent:var(--primary-color-strong);--accent-soft:#7092be29;--on-accent:#fff;--glass:#f9fbfcad;--glass-border:#ffffffa6;--shadow-s:0 1px 2px #1018280d, 0 1px 3px #1018280f;--shadow-m:0 14px 34px -14px #1018283d;--shadow-l:0 24px 60px -24px #10182866;--veil:#c6cad1;--topography:#3843541f;--footer-background:#1d2533;--footer-color:var(--light-intense);--danger:#c81e1e}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background-color:#10151f;--background-color-alt:#182030;--surface:#161d2a;--border-color:#e9e9f41a;--border-strong:#e9e9f433;--font-color:var(--light-intense);--font-color-alt:#b4bccc;--accent:#9db8e0;--accent-soft:#7092be38;--on-accent:#0f1520;--glass:#10151f9e;--glass-border:#ffffff1a;--shadow-s:0 1px 2px #00000059;--shadow-m:0 14px 34px -14px #000000b3;--shadow-l:0 24px 60px -24px #000c;--veil:#080b12;--topography:#e9e9f417;--footer-background:#0a0e15;--footer-color:var(--light-intense);--danger:#ffb3b3}
@keyframes fade-in{0%{opacity:var(--fade-from,0)}to{opacity:1}}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0,0)}}.anim{animation-timing-function:ease-in-out;animation-fill-mode:both}.anim-fade-in{animation-name:fade-in}.anim-slide-in{animation-name:slide-in;animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){.anim{animation-duration:10ms!important;animation-delay:0s!important}.work-carousel{scroll-behavior:auto}.work-card,.social-card,.pager-card,.button,.dot,.work-card-link svg{transition:none!important}.work-card:hover,.social-card:hover,.pager-card:hover,.button-primary:hover,.work-card:hover .work-card-link svg{transform:none}}._none{display:none}._clickable{cursor:pointer}._clickable:hover{opacity:.8}._layout{background-color:var(--background-color);color:var(--font-color);width:100%;height:100dvh}#scroller:focus{outline:none}.background-color{background-color:var(--background-color)}.background-color-alt{background-color:var(--background-color-alt)}.font-script{font-family:var(--font-script)}.red{color:var(--danger)}.glass{background-color:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5);box-shadow:var(--shadow-m)}.card,.border{background-color:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-l);box-shadow:var(--shadow-s)}.card-padded{padding:clamp(18px,3vw,28px)}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--font-color-alt);margin:0 0 14px;font-size:.75rem;font-weight:700;line-height:1.3}.stretched-link:after{content:"";z-index:1;position:absolute;inset:0}:where(.sky-toggle,.carousel-arrow,.dot-button,button.fab){color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.button{box-sizing:border-box;min-height:46px;font:inherit;cursor:pointer;transition:background-color .2s, border-color .2s, box-shadow .2s, transform .2s var(--ease-out);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button svg{flex:none}.button-primary{background-color:var(--accent);color:var(--on-accent)}.button-primary:hover{box-shadow:0 12px 24px -12px var(--accent);transform:translateY(-1px)}.button-ghost{color:var(--font-color);border-color:var(--border-strong);background-color:#0000}.button-ghost:hover{background-color:var(--accent-soft);border-color:#0000}.dot-button{place-items:center;min-width:24px;min-height:24px;display:grid}.fab{width:48px;height:48px;color:var(--font-color);border-radius:999px;justify-content:center;align-items:center;margin:20px}.fab:hover{color:var(--accent)}.site-header{z-index:10;pointer-events:none;justify-content:center;padding:0 10px;display:flex;position:absolute;top:10px;left:0;right:0}.nav-capsule{pointer-events:auto;box-sizing:border-box;isolation:isolate;border-radius:999px;align-items:center;height:62px;padding:0 12px 0 4px;display:flex;position:relative;overflow:hidden}.nav-topography{z-index:-1;fill:none;width:480px;height:64px;stroke:var(--topography);stroke-width:1px;pointer-events:none;margin-top:-32px;position:absolute;top:50%;left:0}.nav-divider{background-color:var(--border-strong);flex:none;width:1px;height:30px;margin:0 12px 0 4px}.nav-tools{align-items:center;gap:10px;display:flex}.trail{--stop-width:clamp(60px, 19vw, 96px);width:calc(var(--stops) * var(--stop-width));flex:none;align-self:stretch;position:relative}.trail-stops{grid-template-columns:repeat(var(--stops), var(--stop-width));height:100%;margin:0;padding:0;list-style:none;display:grid}.trail-stop{box-sizing:border-box;height:100%;color:var(--font-color-alt);letter-spacing:.01em;white-space:nowrap;border-radius:18px;flex-direction:column;align-items:center;padding-top:25px;font-size:.8rem;font-weight:600;line-height:1.2;text-decoration:none;transition:color .2s;display:flex;position:relative}.trail-stop:hover{color:var(--font-color)}.trail-stop[aria-current]{color:var(--accent)}.trail-stop:focus-visible{outline-offset:-3px}.trail-dot{box-sizing:border-box;border:2px solid var(--border-strong);background-color:var(--surface);width:10px;height:10px;transition:transform .2s var(--ease-out), background-color .3s, border-color .3s;border-radius:50%;flex:none;margin-bottom:6px}.trail-stop[data-walked] .trail-dot{border-color:var(--accent);background-color:var(--accent)}.trail-stop:hover .trail-dot{transform:scale(1.35)}.trail-path{top:22px;left:calc(var(--stop-width) / 2);width:calc((var(--stops) - 1) * var(--stop-width));pointer-events:none;height:16px;position:absolute;overflow:visible}.trail-path path{fill:none;stroke-width:2px;stroke-linecap:round}.trail-path-base{stroke:var(--border-strong);stroke-dasharray:.012 .024}.trail-path-walked{stroke:var(--accent);stroke-dasharray:calc(var(--active) / (var(--stops) - 1)) 1;transition:stroke-dasharray .6s var(--ease-out)}.trail-pin{z-index:2;width:var(--stop-width);pointer-events:none;transform:translateX(calc(var(--active) * var(--stop-width)));transition:transform .6s var(--ease-out);justify-content:center;display:flex;position:absolute;top:8px;left:0}.trail[data-lost] .trail-pin,.trail[data-lost] .trail-path-walked{display:none}.trail-pin-drop,.trail-pin-hop{width:22px;height:22px;display:block;position:relative}.trail-pin svg{z-index:1;animation:pin-hop .7s var(--ease-out) both;display:block;position:relative}.trail-pin-shadow{width:10px;height:4px;animation:pin-shadow-hop .7s var(--ease-out) both;background-color:#0000004d;border-radius:50%;margin-left:-5px;position:absolute;top:20px;left:50%}.trail-pin-drop svg{animation-name:pin-drop;animation-delay:.3s}.trail-pin-drop .trail-pin-shadow{animation-name:pin-shadow-drop;animation-delay:.3s}@keyframes pin-drop{0%{opacity:0;transform:translateY(-18px)}55%{opacity:1;transform:translateY(0)}75%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes pin-hop{0%{transform:translateY(0)}40%{transform:translateY(-14px)}72%{transform:translateY(0)}86%{transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes pin-shadow-drop{0%{opacity:0;transform:scale(.3)}55%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}@keyframes pin-shadow-hop{0%,to{transform:scale(1)}40%{opacity:.5;transform:scale(.45)}72%{opacity:1;transform:scale(1.15)}}.flap-toggle{perspective:120px;border-radius:8px;padding:3px;text-decoration:none;display:inline-block}.flap{animation:flap-in .5s var(--ease-out) .35s both;display:block}.flap-word{box-sizing:border-box;color:#f4f1e6;letter-spacing:8.5px;white-space:nowrap;isolation:isolate;width:32px;height:24px;padding-left:3.5px;font-size:13px;font-weight:700;line-height:24px;display:block;position:relative}.flap-word:before,.flap-word:after{content:"";z-index:-1;background:linear-gradient(#343c4b calc(50% - .5px),#0009 calc(50% - .5px) calc(50% + .5px),#272e3b calc(50% + .5px));border-radius:3px;width:15px;height:24px;position:absolute;top:0;box-shadow:0 1px 2px #00000059,inset 0 1px #ffffff14}.flap-word:before{left:0}.flap-word:after{left:17px}.flap-toggle:hover .flap-word{animation:flap-turn .5s var(--ease-out)}@keyframes flap-in{0%{transform:rotateX(-90deg)}65%{transform:rotateX(14deg)}to{transform:rotateX(0)}}@keyframes flap-turn{0%,to{transform:rotateX(0)}45%{transform:rotateX(-90deg)}55%{transform:rotateX(90deg)}}.sky-toggle{box-sizing:border-box;border:1px solid var(--glass-border);isolation:isolate;border-radius:50%;flex:none;width:38px;height:38px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #00000040}.sky-layer{transition:opacity .8s;position:absolute;inset:0}.sky-day{background:linear-gradient(#5aaeff,#d2ecff 85%)}.sky-night{opacity:0;background:radial-gradient(circle at 9px 8px,#fff .6px,#0000 1.3px),radial-gradient(circle at 26px 6px,#fff .6px,#0000 1.3px),radial-gradient(circle at 18px 13px,#dfe8ff .5px,#0000 1.1px),radial-gradient(circle at 31px 15px,#fff .5px,#0000 1.1px),linear-gradient(#050a1d,#24326c)}.sky-toggle[data-night] .sky-night{opacity:1}.sky-orbit{width:0;height:0;transition:transform .9s var(--ease-out);position:absolute;top:72%;left:50%}.sky-toggle[data-night] .sky-orbit{transform:rotate(180deg)}.sky-toggle:hover .sky-orbit{transform:rotate(22deg)}.sky-toggle[data-night]:hover .sky-orbit{transform:rotate(158deg)}.sky-sun,.sky-moon{border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-5px}.sky-sun{background-color:#ffd23f;transform:translateY(-13px);box-shadow:0 0 6px 2px #ffd23fa6}.sky-moon{transform:translateY(13px)rotate(180deg);box-shadow:inset -3px 1px #f7f0d6}.sky-city{width:100%;height:16px;position:absolute;bottom:-1px;left:0}.sky-city-shape{fill:#3c5675;transition:fill .8s}.sky-toggle[data-night] .sky-city-shape{fill:#0a1124}.sky-city-windows{fill:#ffd36b;opacity:0;transition:opacity .6s .4s}.sky-toggle[data-night] .sky-city-windows{opacity:1}@media only screen and (max-width:360px){.nav-capsule{padding-right:8px}.nav-divider{margin:0 8px 0 2px}.nav-tools{gap:6px}}@media (prefers-reduced-motion:reduce){.trail-pin,.trail-path-walked,.sky-orbit,.sky-layer,.sky-city-shape,.sky-city-windows{transition:none!important}.trail-pin svg,.trail-pin-shadow,.flap,.flap-word{animation:none!important}}.home-name-role{pointer-events:none;width:50%;position:fixed}.hero-name{border-radius:var(--radius-l);margin:0 8% 12px 0;padding:10px 20px 12px;font-size:clamp(1.6rem,.9rem + 3vw,3.4rem);line-height:1.08}.hero-role{border-radius:999px;margin:0 8% 0 0;padding:7px 16px;font-size:clamp(.95rem,.8rem + .6vw,1.25rem);font-weight:600;line-height:1.3}@media only screen and (max-width:600px){.home-header-title{height:calc(100% - 70vw)}.home-name-role{width:58%;margin-left:-8vw}.hero-name,.hero-role{margin-right:4%}.hero-name{border-radius:var(--radius-m);padding:8px 14px 10px}.hero-role{padding:6px 13px}}@media only screen and (min-width:600px){.home-header-title{height:45%}}.sheet{z-index:9;background-color:var(--background-color);border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:relative;box-shadow:0 -18px 50px -28px #0000008c}.sheet-anchor{top:var(--radius-xl);height:0;position:absolute;left:0}.page-shell{z-index:3;background-color:var(--background-color);position:relative}.page-content{box-sizing:content-box;min-width:0;max-width:1000px;padding:calc(var(--nav-clearance) + 16px) 20px 96px;margin:0 auto}.sheet .page-content{padding-top:calc(var(--radius-xl) + var(--nav-clearance) - 8px)}.page-title{margin:0 0 clamp(24px,4vw,40px);font-size:clamp(2rem,1.4rem + 2.4vw,3.1rem)}.home-section{padding:0 20px;scroll-margin-top:32px}.home-section-inner{max-width:1000px;margin:0 auto;padding:clamp(56px,7vw,88px) 0}.home-section+.home-section .home-section-inner{border-top:1px solid var(--border-color)}.section-heading{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:clamp(24px,4vw,36px);display:flex}.section-index{color:var(--accent);letter-spacing:.14em;font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.section-index:after{content:"";opacity:.55;background-color:currentColor;border-radius:2px;width:28px;height:2px}.section-title{letter-spacing:-.025em;margin:0;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.3rem);font-weight:800}@media only screen and (min-width:1100px){.home-section-inner{grid-template-columns:210px minmax(0,1fr);column-gap:56px;max-width:1240px;display:grid}.section-heading{top:var(--nav-clearance);align-self:start;margin:0;position:sticky}.section-title{font-size:1.65rem}}.deferred-section{content-visibility:auto;contain-intrinsic-block-size:auto 800px}#skills.deferred-section{contain-intrinsic-block-size:auto 1100px}#works.deferred-section{contain-intrinsic-block-size:auto 820px}#contact.deferred-section{contain-intrinsic-block-size:auto 1040px}#links.deferred-section{contain-intrinsic-block-size:auto 457px}@media only screen and (min-width:600px){#skills.deferred-section{contain-intrinsic-block-size:auto 946px}#works.deferred-section{contain-intrinsic-block-size:auto 680px}#contact.deferred-section{contain-intrinsic-block-size:auto 1024px}#links.deferred-section{contain-intrinsic-block-size:auto 378px}}@media only screen and (min-width:768px){#skills.deferred-section{contain-intrinsic-block-size:auto 630px}#works.deferred-section{contain-intrinsic-block-size:auto 690px}#contact.deferred-section{contain-intrinsic-block-size:auto 830px}#links.deferred-section{contain-intrinsic-block-size:auto 325px}}@media only screen and (min-width:1100px){#skills.deferred-section{contain-intrinsic-block-size:auto 620px}#works.deferred-section{contain-intrinsic-block-size:auto 650px}#contact.deferred-section{contain-intrinsic-block-size:auto 785px}#links.deferred-section{contain-intrinsic-block-size:auto 268px}}@media only screen and (min-width:1280px){#skills.deferred-section{contain-intrinsic-block-size:auto 512px}}.presentation{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(28px,5vw,64px);display:grid}.presentation-lead{margin:0 0 14px;font-size:clamp(1.3rem,1.1rem + .8vw,1.6rem)}.presentation-bio{max-width:62ch;color:var(--font-color-alt);margin:0;font-size:1.08rem;line-height:1.75}.presentation-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.presentation-photo{width:220px;margin:0 14px 14px 0;position:relative}.presentation-photo:before{content:"";z-index:-1;border:2px solid var(--accent);border-radius:var(--radius-l);opacity:.45;position:absolute;inset:14px -14px -14px 14px}.presentation-photo img{border:1px solid var(--border-color);border-radius:var(--radius-l);background-color:var(--surface);width:100%;height:auto;box-shadow:var(--shadow-m);background-image:linear-gradient(165deg,#7092be52,#7092be0f 70%);display:block}@media only screen and (max-width:700px){.presentation{grid-template-columns:minmax(0,1fr)}.presentation-photo{order:-1;width:170px}}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:16px;display:grid}.skill-group{padding:20px}.skill-list{flex-wrap:wrap;gap:8px;display:flex}.skill-pill{border:1px solid var(--border-color);background-color:var(--background-color);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.9rem;font-weight:500;line-height:1.2;display:inline-flex}.logo-tile{width:var(--tile,32px);height:var(--tile,32px);background-color:#fff;border-radius:999px;flex:none;place-items:center;display:inline-grid;position:relative;box-shadow:inset 0 0 0 1px #3843541f}.logo-tile img{object-fit:contain;width:62%;height:auto}.stack-list{flex-wrap:wrap;gap:6px;display:flex}.logo-tip{z-index:3;background-color:var(--font-color);color:var(--background-color);white-space:nowrap;pointer-events:none;opacity:0;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:600;line-height:1.2;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.logo-tile:hover .logo-tip{opacity:1;transform:translate(-50%)}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--light-intense);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;line-height:1.4;display:inline-block}[data-theme=dark] .chip{box-shadow:inset 0 0 0 1px #ffffff29}.carousel-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.carousel-dots{align-items:center;display:flex}.dot{background-color:var(--border-strong);width:8px;height:8px;transition:width .25s var(--ease-out), background-color .25s;border-radius:999px;display:block}.dot-button[aria-current] .dot{background-color:var(--accent);width:22px}.carousel-arrows{gap:8px;display:flex}.carousel-arrow{border:1px solid var(--border-strong);background-color:var(--surface);border-radius:999px;place-items:center;width:42px;height:42px;transition:background-color .2s,opacity .2s;display:grid}.carousel-arrow:hover{background-color:var(--accent-soft)}.carousel-arrow[aria-disabled=true]{opacity:.35;cursor:default}.carousel-arrow[aria-disabled=true]:hover{background-color:var(--surface)}.work-carousel{scroll-behavior:smooth;scroll-snap-type:x proximity;-ms-overflow-style:none;scrollbar-width:none;column-gap:20px;padding:6px 0 22px;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),#0000)}.work-carousel[data-edge=middle]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 18px calc(100% - 56px),#0000);mask-image:linear-gradient(90deg,#0000,#000 18px calc(100% - 56px),#0000)}.work-carousel[data-edge=end]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 18px);mask-image:linear-gradient(90deg,#0000,#000 18px)}.work-carousel::-webkit-scrollbar{display:none}.works-list{scroll-snap-align:start;flex:0 0 min(560px,86%);display:flex}.works-all{border:1.5px dashed var(--border-strong);border-radius:var(--radius-l);place-items:center;width:100%;min-height:200px;transition:background-color .2s;display:grid;position:relative}.works-all:hover{background-color:var(--accent-soft)}.work-card{box-sizing:border-box;width:100%;transition:transform .25s var(--ease-out), box-shadow .25s, border-color .25s;flex-direction:column;gap:14px;padding:clamp(20px,3vw,28px);display:flex;position:relative}.work-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-m);transform:translateY(-3px)}:is(.work-card:has(.stretched-link:focus-visible),.works-all:has(.stretched-link:focus-visible)){outline:2px solid var(--accent);outline-offset:-1px}.work-card .stretched-link:focus-visible,.works-all .stretched-link:focus-visible{outline:none}.work-card .logo-tile{z-index:2}.work-card-title{margin:0;font-size:clamp(1.1rem,1rem + .4vw,1.28rem);font-weight:700;line-height:1.3}.work-card-facts{gap:12px;margin:0;display:grid}.work-card-facts dt{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.work-card-facts dd{color:var(--font-color-alt);margin:2px 0 0;font-size:.95rem;line-height:1.6}.work-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:6px;display:flex}.work-card-link{color:var(--accent);align-items:center;gap:6px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.work-card-link svg{transition:transform .2s var(--ease-out)}.work-card:hover .work-card-link svg,.works-all:hover .work-card-link svg{transform:translate(3px)}.works-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:20px;display:grid}.contact-intro{max-width:62ch;color:var(--font-color-alt);margin:0 0 24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-full{grid-column:1/-1}.field-label{font-size:.9rem;font-weight:600}.input,.text-area{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-s);background-color:var(--background-color);width:100%;color:var(--font-color);font:inherit;padding:11px 14px;font-size:1rem;line-height:1.4;transition:border-color .2s,box-shadow .2s}.input:hover,.text-area:hover{border-color:color-mix(in srgb, var(--font-color) 45%, transparent)}.input:focus,.text-area:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}:is(.input:user-invalid,.text-area:user-invalid){border-color:var(--danger)}input::placeholder,textarea::placeholder{color:var(--font-color-alt);opacity:.8}.text-area{resize:vertical;min-height:180px;font-family:monospace}[data-near] .text-area{font-family:var(--font-mono)}.form-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;display:flex}.form-note{color:var(--font-color-alt);margin:0;font-size:.875rem}@media only screen and (max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-footer .button{width:100%}}.contact-form .react-tel-input{font-family:inherit;font-size:1rem}.contact-form .react-tel-input .form-control{border:1px solid var(--border-strong);border-radius:var(--radius-s);background-color:var(--background-color);width:100%;height:46px;color:var(--font-color);letter-spacing:normal;padding-left:56px;font-size:1rem;line-height:1.4}.contact-form .react-tel-input .form-control:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.contact-form .react-tel-input .flag-dropdown{border:0;border-right:1px solid var(--border-color);border-radius:var(--radius-s) 0 0 var(--radius-s);background-color:#0000;top:1px;bottom:1px;left:1px}.contact-form .react-tel-input .selected-flag{border-radius:var(--radius-s) 0 0 var(--radius-s);width:46px;padding-left:13px}.contact-form .react-tel-input .selected-flag:hover,.contact-form .react-tel-input .selected-flag:focus,.contact-form .react-tel-input .flag-dropdown.open,.contact-form .react-tel-input .flag-dropdown.open .selected-flag{background-color:var(--accent-soft)}.contact-form .react-tel-input .selected-flag .arrow{border-top-color:var(--font-color-alt)}.contact-form .react-tel-input .selected-flag .arrow.up{border-bottom-color:var(--font-color-alt)}.contact-form .react-tel-input .country-list{border:1px solid var(--border-color);border-radius:var(--radius-s);background-color:var(--surface);color:var(--font-color);box-shadow:var(--shadow-m)}.contact-form .react-tel-input .country-list .search{background-color:var(--surface)}.contact-form .react-tel-input .country-list .search-box{border-color:var(--border-strong);background-color:var(--background-color);color:var(--font-color)}.contact-form .react-tel-input .country-list .country:hover,.contact-form .react-tel-input .country-list .country.highlight{background-color:var(--accent-soft)}.contact-form .react-tel-input .country-list .country .dial-code{color:var(--font-color-alt)}.social-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;display:grid}.social-card{color:inherit;transition:transform .25s var(--ease-out), box-shadow .25s, border-color .25s;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.social-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-m);transform:translateY(-2px)}.social-name{flex:1;font-weight:600}.social-card svg{color:var(--font-color-alt)}.site-footer{z-index:9;background-color:var(--footer-background);color:var(--footer-color);padding:0 20px;position:relative}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;max-width:1000px;margin:0 auto;padding:36px 0;font-size:.95rem;display:flex}@media only screen and (min-width:1100px){.site-footer-wide .site-footer-inner{max-width:1240px}}.site-footer p{margin:0}.footer-links{flex-wrap:wrap;gap:8px 22px;display:flex}.footer-links a{color:inherit;opacity:.8;text-decoration:none}.footer-links a:hover{opacity:1;text-underline-offset:3px;text-decoration:underline}.back-link{color:var(--font-color-alt);border-radius:999px;align-items:center;gap:6px;margin:0 0 20px -10px;padding:6px 12px 6px 8px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.back-link:hover{background-color:var(--accent-soft);color:var(--accent)}.article-row{grid-template-columns:minmax(0,1fr);gap:56px;display:grid}.article-aside{display:none}.article-main .page-title{font-size:clamp(1.65rem,1.2rem + 1.9vw,2.6rem)}.toc{top:var(--nav-clearance);position:sticky}.toc-list{border-left:1px solid var(--border-color)}.toc-list a{color:var(--font-color-alt);border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 16px;font-size:.9rem;line-height:1.4;text-decoration:none;transition:color .2s,border-color .2s;display:block}.toc-list a:hover{color:var(--font-color)}.toc-list a[aria-current]{border-left-color:var(--accent);color:var(--accent);font-weight:600}.toc-folded{margin:0 0 32px;padding:0}.toc-folded summary{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:600;list-style:none;display:flex}.toc-folded summary::-webkit-details-marker{display:none}.toc-folded summary svg{transition:transform .2s}.toc-folded[open] summary svg{transform:rotate(180deg)}.toc-folded .toc-list{margin:0 18px 16px}@media only screen and (min-width:1000px){.article-row{grid-template-columns:minmax(0,1fr) 230px}.article-aside{display:block}.toc-folded{display:none}}.article-meta{border-bottom:1px solid var(--border-color);flex-direction:column;gap:16px;margin-bottom:36px;padding-bottom:28px;display:flex}.article-meta-line{color:var(--font-color-alt);flex-wrap:wrap;gap:4px 0;margin:0;font-size:.92rem;display:flex}.article-meta-line>*+:before{content:"·";margin:0 10px}.article-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.work-article-section{scroll-margin-top:var(--nav-clearance)}.article-h2{margin:2.2em 0 .8em;font-size:clamp(1.4rem,1.2rem + .8vw,1.75rem);font-weight:750}.article-lede{font-size:1.18em}.work-pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:72px;display:grid}.pager-card{color:inherit;transition:transform .25s var(--ease-out), box-shadow .25s, border-color .25s;flex-direction:column;gap:6px;padding:18px 20px;text-decoration:none;display:flex}.pager-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-m);transform:translateY(-2px)}.pager-next{text-align:right;grid-column:2;align-items:flex-end}.pager-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:inline-flex}.pager-title{font-weight:600;line-height:1.4}@media only screen and (max-width:640px){.work-pager{grid-template-columns:minmax(0,1fr)}.pager-next{grid-column:auto}}.markdown{line-height:1.75}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre,.markdown .table-scroll{margin:0 0 1.1em}.markdown a{color:var(--accent)}.markdown strong{font-weight:650}.markdown h3{margin:1.8em 0 .5em;font-size:1.15em;line-height:1.4}.markdown ul,.markdown ol{padding-left:1.5em}.markdown ul{list-style:outside}.markdown ol{list-style:decimal}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--accent)}.markdown li>p{margin:0}.markdown blockquote{border-left:3px solid var(--accent);border-radius:0 var(--radius-s) var(--radius-s) 0;background-color:var(--accent-soft);margin-left:0;margin-right:0;padding:14px 20px}.markdown blockquote>:last-child{margin-bottom:0}.markdown code{background-color:var(--accent-soft);border-radius:6px;padding:.1em .4em;font-size:.88em}.markdown pre{border:1px solid var(--border-color);border-radius:var(--radius-s);background-color:var(--surface);padding:14px 18px;line-height:1.5;overflow-x:auto}.markdown pre code{background:0 0;padding:0}.markdown table{border-collapse:collapse;word-break:normal;min-width:100%}.markdown th,.markdown td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border-color);padding:10px 16px 10px 0}.markdown th{border-bottom-color:var(--border-strong);font-size:.9em}.markdown hr{border:0;border-top:1px solid var(--border-color);margin:2em 0}.table-scroll{max-width:100%;overflow-x:auto}.about-grid{gap:20px;display:grid}.about-card h2{margin:0 0 18px;font-size:1.3rem}.credits-table{border-collapse:collapse;width:100%;font-size:.95rem}.credits-table th,.credits-table td{border-bottom:1px solid var(--border-color);text-align:left;vertical-align:top;min-width:120px;padding:12px 16px 12px 0}.credits-table th{color:var(--font-color-alt);letter-spacing:.08em;text-transform:uppercase;padding-top:0;font-size:.72rem;font-weight:700}.credits-table tbody tr:last-child td{border-bottom:0;padding-bottom:0}.build-info{grid-template-columns:auto minmax(0,1fr);gap:8px 24px;margin:0;display:grid}.build-info dt{color:var(--font-color-alt)}.build-info dt:first-letter{text-transform:uppercase}.build-info dd{margin:0}.about-illustration{border-radius:var(--radius-l);width:min(320px,100%);height:auto;margin:48px auto 0;display:block}.location-city{color:var(--font-color);-webkit-text-stroke:4px var(--background-color);paint-order:stroke fill;margin-top:-6px;font-size:30px;font-weight:700}.location-shadow{filter:drop-shadow(0 0 3px var(--background-color))}.parallax-veil{background-color:var(--veil)}#mountain-legacy{z-index:-1;background-color:#111;width:100%;height:1400px;top:0}#mountain-wrapper{width:calc(100vw - var(--scrollbar-width));pointer-events:none;z-index:3;position:fixed}#image-background{width:calc(100vw - var(--scrollbar-width));object-fit:cover;transform-origin:50% 65%;height:100vh;position:fixed;top:0;left:0}
@font-face{font-family:inter;src:url(../media/inter_latin_wght_normal-s.p.0gsaq8ukbf34m.woff2)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_e2f74d4c-module__I8PT0q__className{font-family:inter,inter Fallback;font-style:normal}.inter_e2f74d4c-module__I8PT0q__variable{--font-sans:"inter", "inter Fallback"}
@font-face{font-family:jetbrainsMono;src:url(../media/jetbrains_mono_latin_wght_normal.2rmhnsrc80fag.woff2)format("woff2");font-display:swap;font-weight:100 800;font-style:normal}.jetbrainsmono_7451811c-module__8MALna__className{font-family:jetbrainsMono,ui-monospace,Menlo,monospace;font-style:normal}.jetbrainsmono_7451811c-module__8MALna__variable{--font-mono:"jetbrainsMono", ui-monospace, Menlo, monospace}
@font-face{font-family:dancingScript;src:url(../media/dancing_script_latin_wght_normal.0_q4p4vpq8x50.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}.dancingscript_22f79083-module__dGKr8a__className{font-family:dancingScript,cursive;font-style:normal}.dancingscript_22f79083-module__dGKr8a__variable{--font-script:"dancingScript", cursive}
