#nameSigned{stroke-dasharray:1;stroke-dashoffset:1px;animation:4s forwards paused sign}.signature--visible #nameSigned{animation-play-state:running}@media (prefers-reduced-motion:reduce){#nameSigned{stroke-dashoffset:0;animation:none}}@keyframes sign{to{stroke-dashoffset:0}}@font-face{font-family:Iceberg;src:url(/assets/concept/Iceberg-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{min-width:320px}*{box-sizing:border-box}.portfolio{--accent:#ffe0a6;--shadow:#911201;--muted:#ffe4cb;--rule:#ffddad40;--landscape-ink:#550701;--landscape-shade:#22060088;--terrain-hills:#8a2c22;--terrain-ridge:#a33b27;--terrain-trees-back:#b55a3d;--terrain-trees-front:#dc9462;--terrain-bank:#6b241d;--terrain-rocks:#ab6550;--terrain-wildlife:#ffe0a6;isolation:isolate;min-height:100svh;position:relative}.portfolio[data-scenery=sunrise]{--accent:#9cdbff;--shadow:#5995b7;--muted:#e1efff;--rule:#9cdbff40;--landscape-ink:#062b79;--landscape-shade:#00194088;--terrain-hills:#123f72;--terrain-ridge:#1c5484;--terrain-trees-back:#2e7195;--terrain-trees-front:#68adbd;--terrain-bank:#10365f;--terrain-rocks:#517f9d;--terrain-wildlife:#c5e6ef}a{color:var(--accent);text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}p{line-height:1.75}.skip-link{z-index:10;color:#540700;background:#fff8ed;padding:.75rem 1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.mountain-backdrop{z-index:-1;pointer-events:none;position:absolute;inset:0 0 auto;overflow:hidden}.mountain-backdrop img{width:100%;height:auto;display:block}.mountain-backdrop:after{content:"";background:linear-gradient(transparent 10%, var(--landscape-shade) 24%, var(--landscape-shade) 44%, transparent 65%);position:absolute;inset:0}.interior-page .mountain-backdrop{opacity:.35;height:34rem;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.terrain-journey{z-index:-1;pointer-events:none;display:none;position:fixed;inset:0;overflow:hidden}.terrain-rail{width:min(20rem,50vw - 540px - 2rem);position:absolute;inset-block:0;overflow:hidden}.terrain-rail--left{left:0;-webkit-mask-image:linear-gradient(90deg,#000 65%,#0000);mask-image:linear-gradient(90deg,#000 65%,#0000)}.terrain-rail--right{right:0;-webkit-mask-image:linear-gradient(270deg,#000 65%,#0000);mask-image:linear-gradient(270deg,#000 65%,#0000)}.terrain-world{position:absolute;inset:0}.terrain-rail--right .terrain-world{transform:scaleX(-1)}.terrain-layer{width:100%;height:300vh;position:absolute;top:0;left:0}.terrain-layer--distant{opacity:.75}.terrain-layer--woodland{opacity:.8}.terrain-layer--foreground{opacity:.85}.terrain-floor{width:100%;height:auto;display:block;position:absolute;bottom:0;left:0}.terrain-hills{fill:var(--terrain-hills)}.terrain-ridge{fill:var(--terrain-ridge)}.terrain-trees-back{fill:var(--terrain-trees-back)}.terrain-trees-front{fill:var(--terrain-trees-front)}.terrain-trunk,.terrain-ground{fill:var(--terrain-bank)}.terrain-rocks{fill:var(--terrain-rocks)}.terrain-rock-faces{fill:var(--terrain-trees-back)}.terrain-elk{fill:var(--terrain-wildlife)}.terrain-hooves{fill:var(--terrain-trees-front)}.terrain-antlers{fill:none;stroke:var(--terrain-wildlife);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}@media (width>=1280px) and (hover:hover) and (pointer:fine){.terrain-journey{display:block}}.site-header{justify-content:space-between;align-items:center;gap:1.5rem;width:min(100% - 4rem,1440px);margin:0 auto;padding:1.5rem 0;display:flex}.brand{flex-shrink:0;display:inline-flex}.brand img{border:2px solid #fff8edaa;border-radius:50%}.site-header nav{flex-wrap:wrap;justify-content:center;gap:.25rem 1.5rem;display:flex}.site-header nav a{min-height:44px;color:var(--landscape-ink);border-bottom:2px solid #0000;align-items:center;font-size:1.15rem;text-decoration:none;display:inline-flex}.site-header nav a:hover{border-bottom-color:currentColor}.scenery-control{text-align:center;color:var(--landscape-ink);font-size:.8rem}.scenery-switch{align-items:center;display:flex}.scenery-switch .MuiSwitch-track{background-color:var(--landscape-ink);opacity:.5}.scenery-switch .MuiSwitch-thumb,.scenery-switch .Mui-checked+.MuiSwitch-track{background-color:var(--landscape-ink)}.interior-page .site-header nav a,.interior-page .scenery-control{color:#fff8ed}.interior-page .scenery-switch .MuiSwitch-thumb,.interior-page .scenery-switch .MuiSwitch-track{background-color:var(--accent)}.page-shell{width:min(100% - 4rem,1080px);min-height:calc(100svh - 200px);margin:0 auto;padding:3rem 0}.landing-page .page-shell{padding-top:0}.page-shell:focus,.landing-section:focus{outline:none}.hero{text-align:center;color:#fff8ed;text-shadow:0 2px 20px #54070066;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:clamp(35rem,59vw,56rem);padding:5rem 0 8rem;display:flex;position:relative}.hero h1{text-wrap:balance}.hero p{margin:0}.hero .MuiButton-outlined{color:#fff8ed;background:#54070030;border-color:#fff8edaa}.hero .scroll-down{width:56px;height:56px;color:var(--landscape-ink);background:var(--accent);box-shadow:4px 4px var(--shadow);text-shadow:none;position:absolute;bottom:2rem}.hero .scroll-down:hover{background:#fff8ed}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.8rem}.landing-section{margin-top:8rem;scroll-margin-top:2rem}.landing-section>.eyebrow{text-align:center;color:var(--accent);margin:0 0 .75rem}.landing-section>.section-title{text-align:center}.section-title{margin-bottom:2rem!important}.section-intro{color:var(--muted);text-align:center;max-width:40rem;margin:-.75rem auto 3rem}.actions,.social-links{flex-wrap:wrap;gap:1rem;display:flex}.hero .actions{justify-content:center}.content-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;display:grid}.panel{min-width:0;padding:2rem}.panel p{color:var(--muted)}.panel p:last-child{margin-bottom:0}.experience-card{flex-direction:column;display:flex}.experience-card .eyebrow{margin:0 0 1rem}.section{margin-top:3rem}.project-group-title{border-bottom:1px solid var(--rule);padding-bottom:.75rem;margin-bottom:1.5rem!important}.page-intro{color:var(--muted);margin-bottom:2.5rem}.project-card{flex-direction:column;gap:.75rem;display:flex}.contribution-toolbar,.contribution-views{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.contribution-toolbar{justify-content:space-between;gap:1.5rem}.contribution-toolbar p{margin-bottom:0}.contribution-scroll{max-width:100%;padding:.5rem;overflow-x:auto}.contribution-graph{gap:4px;min-width:800px;padding-right:1.25rem;display:flex}.contribution-week,.contribution-weekdays{grid-template-rows:1.25rem repeat(7,1fr);grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.contribution-week{flex:14px;min-width:10px}.contribution-weekdays{flex-shrink:0;width:2rem;margin-right:.25rem}.contribution-month,.contribution-weekdays{color:var(--muted);font-size:.75rem}.contribution-month{white-space:nowrap}.contribution-day{border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:2px;width:14px;height:14px;padding:0;display:block}button.contribution-day{cursor:pointer}.contribution-week .contribution-day{aspect-ratio:1;width:100%;height:auto}.contribution-day[data-level="1"]{background:color-mix(in srgb, var(--accent) 25%, transparent)}.contribution-day[data-level="2"]{background:color-mix(in srgb, var(--accent) 50%, transparent)}.contribution-day[data-level="3"]{background:color-mix(in srgb, var(--accent) 75%, transparent)}.contribution-day[data-level="4"]{background:var(--accent)}.contribution-day:focus-visible,.contribution-day[aria-pressed=true]{z-index:1;outline:2px solid var(--accent);outline-offset:1px;position:relative}.contribution-legend{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;margin:.75rem 0;font-size:.8rem;display:flex}.contribution-selection{min-height:3.5rem}.contribution-profiles{flex-wrap:wrap;gap:.75rem 2rem;display:flex}.contribution-profiles p,.project-card p{margin:0}.project-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.project-actions .MuiButton-root{padding-left:0}.project-actions .MuiTypography-caption{color:var(--muted);flex-basis:100%}.about-grid{grid-template-columns:minmax(0,1fr) minmax(200px,300px);align-items:start;gap:3rem;display:grid}.about-copy{flex-direction:column;display:flex}.signature{align-self:flex-end;margin-top:1rem}.portrait{margin:0}.portrait img{object-fit:cover;width:100%;height:auto;max-height:600px;box-shadow:8px 8px var(--shadow);display:block}.portrait figcaption{color:var(--muted);text-align:center;margin-top:1.5rem;font-size:.85rem}.reference{overflow-wrap:anywhere;flex-direction:column;gap:.25rem;font-style:normal;display:flex}.reference+.reference{border-top:1px solid var(--rule);margin-top:1.5rem;padding-top:1.5rem}.reference span{color:var(--muted)}.reference a{align-items:center;min-height:44px;display:inline-flex}.email-link{overflow-wrap:anywhere;margin-top:1.5rem;padding:.5rem 0;display:inline-block}.resume-preview{border:1px solid var(--rule);width:100%;height:650px;margin-top:2rem;display:block}.site-footer{text-align:center;color:var(--muted);padding:4rem 1rem 2rem;font-size:.85rem}.skills-orbit{text-align:center}.orbit-stage{aspect-ratio:1;width:min(100%,640px);margin:auto;position:relative}.orbit-center{color:var(--accent);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;font-size:3rem;display:flex;position:absolute;inset:0}.orbit-center span{font-size:.85rem}.orbit-ring{margin:0;padding:0;list-style:none;position:absolute;inset:0}.orbit-ring:before{content:"";inset:calc(50% - var(--radius));border:1px dashed var(--rule);border-radius:50%;position:absolute}.orbit-outer{--radius:255px}.orbit-inner{--radius:145px}.orbit-item{white-space:nowrap;transform:rotate(var(--angle)) translateX(var(--radius)) rotate(calc(-1 * var(--angle))) translate(-50%, -50%);animation:60s linear infinite orbit;position:absolute;top:50%;left:50%}.orbit-inner .orbit-item{animation-duration:75s;animation-direction:reverse}.orbit-item a{color:#fff8ed;border:1px solid var(--rule);background:#540700;align-items:center;min-height:44px;padding:.25rem .5rem;text-decoration:none;display:inline-flex}[data-scenery=sunrise] .orbit-item a{background:#062b79}.orbit-item a:hover{color:var(--accent);border-color:var(--accent)}.skills-orbit:is(:hover,:focus-within,.is-paused) .orbit-item{animation-play-state:paused}.orbit-toggle{margin:1rem 0 2rem!important}@keyframes orbit{to{transform:rotate(calc(var(--angle) + 360deg)) translateX(var(--radius)) rotate(calc(-1 * var(--angle) - 360deg)) translate(-50%, -50%)}}@media (width>=1600px){.mountain-backdrop{max-height:1500px;-webkit-mask-image:linear-gradient(#000 75%,#0000);mask-image:linear-gradient(#000 75%,#0000)}}@media (width<=900px){.site-header{flex-wrap:wrap;gap:.5rem}.site-header nav{order:3;column-gap:1.5rem;width:100%}.hero{min-height:37rem;padding-top:3rem}.mountain-backdrop img{object-fit:cover;object-position:center top;width:100%;min-height:900px}.landing-section{margin-top:6rem}}@media (width<=700px){.site-header,.page-shell{width:calc(100% - 2.5rem)}.site-header{padding-top:1rem}.site-header nav{column-gap:1.25rem}.site-header nav a{font-size:1rem}.hero{min-height:36rem;padding-bottom:7rem}.hero .eyebrow{letter-spacing:.08em}.content-grid,.project-grid,.about-grid{grid-template-columns:1fr;gap:2rem}.panel{padding:1.5rem}.portrait{justify-self:center;width:min(100%,300px)}.resume-preview{height:450px}.landing-section{margin-top:5rem}}@media (width<=620px),(prefers-reduced-motion:reduce){.orbit-stage{aspect-ratio:auto}.orbit-center{display:none}.orbit-ring{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:.75rem;display:flex;position:static}.orbit-ring:before{display:none}.orbit-item{white-space:normal;animation:none;position:static;transform:none}.orbit-toggle{display:none!important}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important}}
