@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Sans:wght@400;600;700&family=Knewave&display=swap" layer(theme);@layer reset{*,:before,:after{box-sizing:border-box}html{text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}}@layer theme{@layer base{:root{color-scheme:light dark;--primary-color:light-dark(#fbf7f0,#141f1f);--secondary-color:light-dark(#141f1f,#f5e6d3);--scrim-color:light-dark(#fff,#000);--scrim-alpha:.45;--bezel-color:light-dark(#f7f2ea,#05010f);--focus-ring:light-dark(#0b3d91,#ffd166);--shift:18px;--shift-transition:transform .6s cubic-bezier(.22, 1, .36, 1);--backdrop-dark:url(/assets/background.avif);--backdrop-light:url(/assets/background-light.avif);--icon-filter-dark:none;--icon-filter-light:invert(1);--backdrop-image:var(--backdrop-dark);--icon-filter:var(--icon-filter-dark);--font-display:"Knewave", system-ui;--font-body:"IBM Plex Sans", Helvetica, sans-serif;--font-accent:"Bebas Neue", Helvetica, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-lg:1.5rem;--text-title:clamp(3.5rem, 1rem + 8vw, 6.25rem);--text-display:clamp(4em, -1em + 8vw, 8em);--weight-semibold:600;--weight-bold:700;--leading-none:1;--leading-body:1.5;--leading-label:1.25rem;--tracking-tight:.02em;--tracking-label:.02rem;--tracking-heading:.04em;--tracking-body:.07em;--tracking-caps:.08em;--radius-panel:0px;--radius-focus:2px;--radius-pill:9999px;--border-width:1px;--focus-width:3px;--focus-offset:3px;--space-3xs:.25rem;--space-2xs:.375rem;--space-xs:.5rem;--space-sm:1rem;--space-md:1.25rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--muted-opacity:.75;--bio-columns:5;--bio-left-span:3;--bio-right-span:2;--bio-gap:2rem;--bio-align:flex-end;--bio-text-align:right;--card-frame:14px;--card-offset:28px;--skills-measure:420px;--navbar-align:flex-end}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--backdrop-image:var(--backdrop-light);--icon-filter:var(--icon-filter-light)}}:root[data-theme=light]{color-scheme:light;--backdrop-image:var(--backdrop-light);--icon-filter:var(--icon-filter-light)}:root[data-theme=dark]{color-scheme:dark}@media (prefers-contrast:more){:root:not([data-contrast=normal]){--scrim-alpha:.82}}:root[data-contrast=more]{--scrim-alpha:.82}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :before,:root:not([data-motion=full]) :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]){--shift:0px}}:root[data-motion=reduce]{--shift:0px}}}@layer override;@layer base{@layer base{html{font-family:var(--font-body)}body{color:var(--secondary-color);background:var(--primary-color);margin:0}h1{font-family:var(--font-display);font-size:var(--text-display)}h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-focus)}}}@layer layout{body{min-height:100dvh}.page{z-index:2;flex-direction:column;min-height:100dvh;display:flex;position:relative}main{flex:1;display:flex}.section-full{width:100%;padding:var(--space-xl);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.bio-grid{gap:var(--bio-gap);grid-template-columns:1fr;align-items:center;display:grid}.bio-left{padding:var(--space-sm);flex-direction:column;grid-column:span 3/span 3;align-items:flex-start;display:flex}.bio-title{font-family:var(--font-accent);font-size:var(--text-title);line-height:var(--leading-none);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);text-align:left;margin-bottom:var(--space-2xl);margin-block-start:0}.skills-list{gap:var(--space-xs);max-width:var(--skills-measure);flex-wrap:wrap;justify-content:flex-start;margin:0;padding:0;list-style:none;display:flex}@media (width>=1024px){.bio-grid{grid-template-columns:repeat(var(--bio-columns), minmax(0, 1fr))}.bio-left{grid-column:span var(--bio-left-span) / span var(--bio-left-span);align-items:var(--bio-align)}.bio-right{grid-column:span var(--bio-right-span) / span var(--bio-right-span)}.bio-title{text-align:var(--bio-text-align)}.skills-list{justify-content:var(--bio-align)}}.skill-pill{border:var(--border-width) solid var(--secondary-color);border-radius:var(--radius-pill);overflow:hidden;&:hover{background-color:var(--primary-color)}}.skill-label{font-size:var(--text-sm);line-height:var(--leading-label);white-space:nowrap;font-weight:var(--weight-bold);padding:var(--space-xs) var(--space-sm);letter-spacing:var(--tracking-label);display:block}.bio-right{margin-left:var(--card-offset);margin-top:var(--card-offset);grid-column:span 2/span 2;padding:0}@media (width>=1024px){.bio-right{padding:var(--space-sm)}}.bio-card-outer{padding:var(--card-frame);border:var(--border-width) solid var(--secondary-color)}.bio-card-inner{background-color:var(--primary-color);padding:var(--space-lg);margin-left:calc(var(--card-offset) * -1);margin-top:calc(var(--card-offset) * -1);&>p{margin-block-start:0}&>p:last-child{margin-block-end:0}}.bio-text{line-height:var(--leading-body);letter-spacing:var(--tracking-body);margin-block-end:var(--space-lg)}.navbar{justify-content:var(--navbar-align);padding:var(--space-sm);align-items:center;gap:var(--space-sm);flex-wrap:wrap;width:100%;display:flex}.navbar-name{font-size:var(--text-sm);text-transform:uppercase;margin:0}.navbar img{filter:var(--icon-filter)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-button{anchor-name:--settings-button;color:var(--secondary-color);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.settings-panel{width:min(19rem,100vw - 2rem);padding:var(--space-md);color:var(--secondary-color);background:var(--primary-color);border:var(--border-width) solid var(--secondary-color);border-radius:var(--radius-panel);margin:0;position:fixed;inset:auto 1rem 3.75rem auto}@supports (anchor-name:--a){.settings-panel{position-anchor:--settings-button;position-area:block-start span-inline-start;position-try-fallbacks:block-start span-inline-end;margin-block-end:var(--space-xs);inset:auto}}.settings-heading{margin:0 0 var(--space-sm);font-family:var(--font-accent);font-size:var(--text-lg);letter-spacing:var(--tracking-heading);line-height:var(--leading-none)}.settings-group{margin:0 0 var(--space-sm);border:0;padding:0}.settings-legend{margin-bottom:var(--space-xs);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;padding:0}.settings-choices{gap:var(--space-3xs) var(--space-sm);flex-wrap:wrap;display:flex}.settings-choice{align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);cursor:pointer;display:flex}.settings-choice input{accent-color:var(--secondary-color);margin:0}.settings-note{font-size:var(--text-xs);opacity:var(--muted-opacity);margin:0}.settings-note--warn{margin-top:var(--space-xs);opacity:1}.settings-choice:has(input:disabled){opacity:var(--muted-opacity);cursor:not-allowed}}@layer effect{.fx-stage{width:100%;position:relative}.fx-content{inset:calc(var(--shift) * -1);z-index:0;--scrim:color-mix(in srgb, var(--scrim-color) calc(var(--scrim-alpha) * 100%), transparent);background:linear-gradient(var(--scrim), var(--scrim)), var(--backdrop-image) center / cover no-repeat, var(--bezel-color);color:var(--scrim-color);position:fixed}.fx-output{display:none}.fx-stage[data-fx=on] .fx-output{inset:calc(var(--shift) * -1);z-index:1;width:calc(100% + var(--shift) * 2);height:calc(100% + var(--shift) * 2);pointer-events:none;display:block;position:fixed}.fx-content,.fx-stage[data-fx=on] .fx-output{transform:translate3d(calc(var(--pointer-x,0) * var(--shift)), calc(var(--pointer-y,0) * var(--shift)), 0);transition:var(--shift-transition);will-change:transform}}
