:where(.astro-zgufigjl):where(.icon){vertical-align:middle;flex-shrink:0;block-size:1.1em;inline-size:1.1em;display:inline-block}.link--content:where(.astro-m3a5jv2b),.link--standalone:where(.astro-m3a5jv2b),.link--navigation:where(.astro-m3a5jv2b){--link-padding-block:0rem;--link-padding-inline:var(--space-between-lines);margin:calc(-1 * var(--link-padding-block)) calc(-1 * var(--link-padding-inline));padding:var(--link-padding-block) var(--link-padding-inline);border-radius:var(--radius-small);color:var(--color-text-primary);font-weight:var(--font-weight-semi-bold);text-decoration:underline;text-decoration-thickness:var(--border-width-standout);text-decoration-skip-ink:none;transition:background-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard);&:hover{text-decoration-style:wavy}&:focus-visible{background-color:var(--color-shadow);color:var(--color-background-surface);outline:none}&:has(>.icon){align-items:center;gap:var(--space-between-text);display:inline-flex}}.link--standalone:where(.astro-m3a5jv2b),.link--navigation:where(.astro-m3a5jv2b){--link-padding-block:var(--space-between-text);--link-padding-inline:calc(var(--space-between-text) + var(--space-between-lines))}.link--navigation:where(.astro-m3a5jv2b){text-decoration-line:none;&[aria-current=page]{color:var(--color-text-accent);text-decoration-line:underline}&:hover,&:focus-visible{background-color:var(--color-shadow);color:var(--color-background-surface)}&:focus-visible{outline:var(--border-width-highlight) solid var(--color-focus)}}@media (forced-colors:active){.link:where(.astro-m3a5jv2b):focus-visible{outline:var(--border-width-highlight) solid}}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}body{min-block-size:100svh}img,svg,video,canvas,picture{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,p{overflow-wrap:break-word}}@layer base{html{scrollbar-gutter:stable}body{background-color:var(--color-background-page);color:var(--color-text-primary);font-family:var(--font-family-body);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}h1,h2,h3,h4{font-family:var(--font-family-heading);font-weight:var(--font-weight-semi-bold);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);text-wrap:balance}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}h3,h4{line-height:var(--line-height-subheading)}a{color:inherit;text-underline-offset:var(--size-underline-offset)}code,kbd,pre,samp{font-family:var(--font-family-code);font-size:var(--font-size-meta)}:focus-visible{outline:var(--border-width-highlight) solid var(--color-focus);outline-offset:var(--border-width-highlight)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}}@layer shared{.button{--button-shadow:var(--shadow-resting);--button-shadow-lifted:var(--shadow-raised);--button-offset:var(--size-shadow-offset-resting);--button-offset-lifted:var(--size-shadow-offset-raised);justify-content:center;align-items:center;gap:var(--space-between-text);min-block-size:var(--size-action-minimum);padding:var(--space-padding-action);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-medium);background-color:var(--color-background-page);box-shadow:var(--button-shadow);color:var(--color-text-primary);font:inherit;font-weight:var(--font-weight-semi-bold);line-height:var(--line-height-subheading);cursor:pointer;transition:translate var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard);text-decoration:none;display:inline-flex;&:hover{--button-lift:calc(var(--button-offset) - var(--button-offset-lifted));translate:var(--button-lift) var(--button-lift);box-shadow:var(--button-shadow-lifted)}&:active{translate:var(--button-offset) var(--button-offset);box-shadow:none}&:focus-visible{outline-offset:calc(var(--border-width-highlight) + var(--size-shadow-offset-raised))}}.button--primary{background-color:var(--color-background-accent);color:var(--color-text-on-accent)}.button--secondary{border-radius:var(--radius-medium-alternate)}.button--round{--button-shadow:var(--shadow-small);--button-shadow-lifted:var(--shadow-resting);--button-offset:var(--size-shadow-offset-small);--button-offset-lifted:var(--size-shadow-offset-resting);inline-size:var(--size-action-minimum);block-size:var(--size-action-minimum);border-radius:var(--radius-round);padding:0}@media (prefers-reduced-motion:reduce){.button{transition:none;&:hover,&:active{translate:none}}}.chip{align-items:center;gap:var(--space-between-text);padding:var(--space-padding-chip);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-small);background-color:var(--color-background-page);color:var(--color-text-primary);font-family:var(--font-family-code);font-size:var(--font-size-meta);cursor:pointer;text-decoration:none;display:inline-flex;&:hover{background-color:var(--color-background-surface)}}.icon-fill{fill:currentColor}.icon-outline{fill:var(--color-border)}.icon-outlined{stroke:var(--color-border);stroke-width:5px}.icon-shine{fill:var(--color-decoration-highlight);opacity:.85}@media (forced-colors:active){.icon-fill,.icon-shine{fill:canvas}.icon-outline{fill:canvastext}.icon-outlined{stroke:canvastext}}.card-grid{gap:calc(var(--space-between-groups) + var(--space-between-text)) var(--space-between-groups);grid-template-columns:repeat(auto-fill,minmax(min(20rem,100%),1fr));padding-inline-start:0;list-style:none;display:grid}.page-header{gap:var(--space-between-content);margin-block:var(--space-below-heading) var(--space-padding-panel);flex-direction:column;display:flex}.page-intro{max-inline-size:48ch;color:var(--color-text-secondary)}.lead{font-size:var(--font-size-lead)}.title-size{font-size:var(--font-size-title)}.meta{color:var(--color-text-secondary);font-family:var(--font-family-code);font-size:var(--font-size-meta)}.label-handwritten{color:var(--color-text-accent);font-family:var(--font-family-handwriting);font-size:var(--font-size-h4);font-weight:var(--font-weight-regular)}.columns{gap:var(--space-between-regions) calc(2 * var(--space-between-groups));grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));display:grid}}:root{color-scheme:light dark;--color-background-page:light-dark(#fbf6ee,#2b1d14);--color-background-surface:light-dark(#f3eadc,#3b2a1e);--color-background-accent:#e8894a;--color-text-primary:light-dark(#2b1d14,#fbf1e4);--color-text-secondary:light-dark(#3b2a1e,#e3cfba);--color-text-accent:light-dark(#a84c16,#e8894a);--color-text-on-accent:#1f1b22;--color-border:light-dark(#2b1d14,#f3e2cc);--color-shadow:light-dark(#2b1d14,#fbf1e4);--color-focus:light-dark(#4a3a5e,#c9b8e6);--color-decoration-dots:#8e7aae;--color-decoration-paw:#f07c74;--color-decoration-highlight:#fbf6ee;--font-family-body:var(--font-schibsted-grotesk,sans-serif);--font-family-heading:var(--font-fredoka,sans-serif);--font-family-code:ui-monospace, "Cascadia Code", "Source Code Pro", "Menlo", "Consolas", "DejaVu Sans Mono", monospace;--font-family-handwriting:var(--font-gochi-hand,cursive);--font-size-display:clamp(3.25rem, 1.3913rem + 8.2609vw, 8rem);--font-size-h1:clamp(2.875rem, 1.6522rem + 5.4348vw, 6rem);--font-size-title:clamp(2.375rem, 1.7391rem + 2.8261vw, 4rem);--font-size-h2:clamp(1.875rem, 1.337rem + 2.3913vw, 3.25rem);--font-size-h3:clamp(1.625rem, 1.3804rem + 1.087vw, 2.25rem);--font-size-h4:1.375rem;--font-size-lead:clamp(1.25rem, 1.2011rem + .2174vw, 1.375rem);--font-size-body:1.125rem;--font-size-small:1rem;--font-size-meta:.875rem;--font-weight-regular:400;--font-weight-semi-bold:600;--line-height-heading:1.1;--line-height-subheading:1.3;--line-height-body:1.65;--letter-spacing-heading:-.01em;--space-between-lines:.25rem;--space-between-text:.5rem;--space-between-content:1rem;--space-between-blocks:1.5rem;--space-between-groups:2rem;--space-between-regions:3rem;--space-below-heading:clamp(2rem, 1.6087rem + 1.7391vw, 3rem);--space-between-sections:clamp(3rem, 1.8261rem + 5.2174vw, 6rem);--space-padding-page:clamp(1rem, .2174rem + 3.4783vw, 3rem);--space-padding-page-centred:max(var(--space-padding-page), (100% - var(--layout-width-page)) / 2);--space-padding-page-end:clamp(6rem, 5.2174rem + 3.4783vw, 8rem);--space-padding-container:1.5rem;--space-padding-panel:clamp(2rem, 1.2174rem + 3.4783vw, 4rem);--space-padding-action:.75rem 1.5rem;--space-padding-chip:.5rem .75rem;--space-indent-list:1.5rem;--layout-width-page:66.5rem;--layout-width-prose:45rem;--size-action-minimum:3rem;--size-underline-offset:.3em;--border-width-default:1.5px;--border-width-standout:2px;--border-width-highlight:3px;--radius-small:10px 4px 9px 5px / 5px 9px 4px 10px;--radius-medium:26px 12px 24px 14px / 14px 24px 12px 26px;--radius-medium-alternate:12px 26px 14px 24px / 24px 14px 26px 12px;--radius-large:30px 22px 34px 18px / 22px 32px 18px 30px;--radius-large-alternate:18px 30px 16px 28px / 30px 16px 28px 18px;--radius-card:20px 12px 22px 14px / 12px 22px 14px 20px;--radius-round:50% 44% 52% 46% / 46% 52% 44% 50%;--size-shadow-offset-small:3px;--size-shadow-offset-resting:4px;--size-shadow-offset-raised:6px;--shadow-small:var(--size-shadow-offset-small) var(--size-shadow-offset-small) 0 var(--color-shadow);--shadow-resting:var(--size-shadow-offset-resting) var(--size-shadow-offset-resting) 0 var(--color-shadow);--shadow-raised:var(--size-shadow-offset-raised) var(--size-shadow-offset-raised) 0 var(--color-shadow);--duration-fast:.15s;--duration-medium:.3s;--duration-slow:.45s;--easing-standard:ease;--easing-emphasized:cubic-bezier(.76, 0, .24, 1);--z-index-raised:1;--z-index-floating:2;--z-index-overlay:3;--z-index-topmost:4}@media (prefers-contrast:more){:root{--color-text-secondary:var(--color-text-primary);--color-border:var(--color-text-primary);--border-width-default:var(--border-width-standout)}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.track:where(.astro-auss5amd){--resting-gap:var(--space-between-groups);--resting-inline-end:max(var(--space-between-text) + var(--space-between-lines), (100% - var(--layout-width-page)) / 2 - var(--space-padding-page) - var(--size-action-minimum) - var(--space-between-content));z-index:var(--z-index-floating);inset-block:min(200svh - var(--size-action-minimum) - var(--resting-gap), 100%) 0;pointer-events:none;position:absolute;inset-inline-end:var(--resting-inline-end)}.link:where(.astro-auss5amd){pointer-events:auto;position:sticky;inset-block-start:calc(100svh - var(--size-action-minimum) - var(--resting-gap));&:focus-visible{inset-block:auto var(--resting-gap);position:fixed;inset-inline-end:var(--resting-inline-end)}}.elsewhere:where(.astro-e67poout){gap:var(--space-between-content);flex-wrap:wrap;padding:0;list-style:none;display:flex}.logo:where(.astro-ylqc276q){align-items:center;gap:var(--border-width-standout);display:inline-flex}.glyphs:where(.astro-ylqc276q){vertical-align:-.3em;block-size:1.32em;inline-size:auto;display:inline;&+&{margin-inline-start:var(--space-between-text)}}.bracket:where(.astro-ylqc276q){color:var(--color-text-accent)}.cursor:where(.astro-ylqc276q){inline-size:var(--border-width-standout);opacity:0;background-color:currentColor;block-size:1em}a:is(:hover,:focus-visible) .cursor:where(.astro-ylqc276q){opacity:1;animation:blink calc(2 * var(--duration-slow)) steps(1) infinite}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){a:is(:hover,:focus-visible) .cursor:where(.astro-ylqc276q){animation:none}}@media (forced-colors:active){.cursor:where(.astro-ylqc276q){border-inline-start:var(--border-width-standout) solid}}.footer:where(.astro-nw2ivrzo){justify-content:space-between;align-items:center;gap:0 var(--space-between-blocks);min-block-size:calc(var(--size-action-minimum) + 2 * var(--space-between-groups));padding-block:var(--space-between-groups);padding-inline:var(--space-padding-page-centred);border-block-start:var(--border-width-standout) solid var(--color-border);background-color:var(--color-background-surface);color:var(--color-text-secondary);font-size:var(--font-size-small);flex-wrap:wrap;padding-inline-end:max(var(--space-padding-page-centred), var(--size-action-minimum) + var(--space-between-content) + var(--space-between-text) + var(--space-between-lines));display:flex}.details:where(.astro-nw2ivrzo){align-items:baseline;gap:var(--space-between-lines) var(--space-between-blocks);flex-wrap:wrap;display:flex;& .logo{color:var(--color-text-primary)}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.bar:where(.astro-h34xuydv){align-items:center;gap:var(--space-between-content);padding-block-start:var(--space-between-content);padding-inline:var(--space-padding-page-centred);flex-wrap:wrap;display:flex}.home:where(.astro-h34xuydv){font-size:var(--font-size-lead);margin-inline-end:auto;text-decoration:none}.lines:where(.astro-llfqj7a4){block-size:100%;inline-size:100%;position:relative}.line:where(.astro-llfqj7a4){background-color:currentColor;border-radius:2px;block-size:2.5px;transition:translate .3s cubic-bezier(.3,1.4,.5,1),scale .3s,rotate .35s cubic-bezier(.3,1.4,.5,1),opacity .2s;position:absolute;&:first-child{inline-size:20px;inset-block-start:13px;inset-inline-start:12px;rotate:-3deg}&:nth-child(2){inline-size:14px;transition:scale .35s cubic-bezier(.3,1.4,.5,1),opacity .2s;inset-block-start:20.5px;inset-inline-start:12px;rotate:2deg}&:nth-child(3){inline-size:18px;inset-block-start:28px;inset-inline-start:14px;rotate:-1deg}}:root:has(#menu[open]) .line:where(.astro-llfqj7a4){&:first-child{translate:0 7.5px;rotate:43deg;scale:1.1 1}&:nth-child(2){opacity:0;scale:0 1}&:nth-child(3){translate:-1.5px -7.5px;rotate:-47deg;scale:1.16667 1}}@media (prefers-reduced-motion:reduce){.line:where(.astro-llfqj7a4){transition:none}}@media (forced-colors:active){.line:where(.astro-llfqj7a4){background-color:canvastext}}.bubble:where(.astro-dngevdio){border:2px solid var(--color-border);border-radius:var(--radius-large);background-color:var(--color-background-page);inline-size:fit-content;font-family:var(--font-family-handwriting);padding:12px 22px 14px;font-size:1.5rem;line-height:1.3;position:relative;rotate:-2deg;&:after{content:"";border-block-end:2px solid var(--color-border);border-inline-end:2px solid var(--color-border);background-color:inherit;block-size:16px;inline-size:16px;position:absolute;inset-block-end:-10px;inset-inline-start:30px;transform:rotate(38deg)skew(6deg)}}.exclamation:where(.astro-3shg7acz){align-items:end;gap:14px;display:flex}.lines:where(.astro-3shg7acz){block-size:19.5px;inline-size:24px;color:var(--color-border);margin-block-end:22px}.list:where(.astro-gy3tnqwg){font-weight:var(--font-weight-semi-bold);flex-wrap:wrap;padding:0;list-style:none;display:flex}.item:where(.astro-gy3tnqwg){align-items:center;display:flex}.list--row:where(.astro-gy3tnqwg){gap:var(--space-between-groups);& .item{min-block-size:var(--size-action-minimum)}}.list--menu:where(.astro-gy3tnqwg){gap:var(--space-between-text);font-family:var(--font-family-heading);font-size:var(--font-size-h3);line-height:var(--line-height-subheading);letter-spacing:var(--letter-spacing-heading);flex-direction:column;& .item{display:block}& .link{--link-padding-inline:var(--space-between-content);border-radius:var(--radius-medium-alternate);padding-inline-start:calc(var(--space-between-groups) + var(--space-between-text) + var(--space-between-lines));text-decoration-line:none;display:block;position:relative;&:before{content:"";background-color:var(--color-text-accent);transform-origin:50% 100%;inline-size:7px;transition:transform .25s cubic-bezier(.3, 1.5, .5, 1), background-color var(--duration-fast) var(--easing-standard);border-radius:5px 3px 6px 2px/3px 6px 2px 5px;position:absolute;inset-block:22%;inset-inline-start:var(--space-between-content);transform:scaleY(0)rotate(-3deg)}&[aria-current=page]:before{transform:scaleY(1)rotate(-3deg)}&:hover:before,&:focus-visible:before{background-color:var(--color-background-surface)}}}@media (prefers-reduced-motion:reduce){.list--menu:where(.astro-gy3tnqwg) .link:before{transition:none}}@media (forced-colors:active){.list--menu:where(.astro-gy3tnqwg) .link[aria-current=page]{text-decoration-line:underline}}.toggle:where(.astro-xcti7gnb){display:none}html[data-js] .toggle:where(.astro-xcti7gnb){display:inline-flex}.sun:where(.astro-xcti7gnb){display:none}html[data-theme=dark] .sun:where(.astro-xcti7gnb){display:inline-block}html[data-theme=dark] .moon:where(.astro-xcti7gnb){display:none}@media (prefers-color-scheme:dark){html:not([data-theme]) .sun:where(.astro-xcti7gnb){display:inline-block}html:not([data-theme]) .moon:where(.astro-xcti7gnb){display:none}}@media (prefers-reduced-motion:no-preference){html[data-theme-reveal]::view-transition-old(root),html[data-theme-reveal]::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-new(root){animation:reveal var(--duration-slow) var(--easing-emphasized)}}@keyframes reveal{0%{clip-path:circle(0 at var(--reveal-x) var(--reveal-y))}to{clip-path:circle(var(--reveal-radius) at var(--reveal-x) var(--reveal-y))}}.menu:where(.astro-ofki4vxg){visibility:hidden;block-size:auto;max-block-size:none;inline-size:auto;max-inline-size:none;color:inherit;background:0 0;border:0;margin:0;padding:0;transition:visibility 0s linear .5s;display:block;position:fixed;inset:0;overflow:clip;&::backdrop{background:0 0}}.row:where(.astro-ofki4vxg){z-index:var(--z-index-raised);visibility:hidden;position:relative}.sheet:where(.astro-ofki4vxg){--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 400' preserveAspectRatio='none'%3E%3Cpath d='M12 0Q2 25 12 50T12 100T12 150T12 200T12 250T12 300T12 350T12 400H24V0Z'/%3E%3C/svg%3E");--wave-overhang:22px;--off-screen:calc(100% + var(--space-between-groups)) 0;translate:var(--off-screen);will-change:translate;background:radial-gradient(ellipse 90% 60% at 100% 100%, transparent, var(--color-background-page)), radial-gradient(circle, color-mix(in srgb, var(--color-decoration-dots) 60%, transparent) 15%, transparent 20%) 0 0 / var(--space-between-content) var(--space-between-content), var(--color-background-page);transition:translate .5s cubic-bezier(.7,0,.25,1);position:absolute;inset:0;&:before,&:after{content:"";inline-size:calc(var(--wave-overhang) + 2px);mask:var(--wave) center / 100% 100% no-repeat;position:absolute;inset-block:0}&:before{background-color:var(--color-border);inset-inline-start:calc(-1 * (var(--wave-overhang) + var(--border-width-highlight)))}&:after{background-color:var(--color-background-page);inset-inline-start:calc(-1 * var(--wave-overhang))}}.content:where(.astro-ofki4vxg){gap:var(--space-between-regions);padding:calc(var(--size-action-minimum) + 2 * var(--space-between-groups)) var(--space-padding-page) var(--space-between-regions);opacity:0;flex-direction:column;transition:opacity .2s;display:flex;position:absolute;inset:0;overflow:hidden auto}.content:where(.astro-ofki4vxg) .item{opacity:0;translate:var(--space-between-regions) 0;transition:opacity .25s,translate .45s cubic-bezier(.3,1.5,.5,1)}.footer:where(.astro-ofki4vxg){align-items:start;gap:var(--space-between-content);opacity:0;translate:0 var(--space-between-content);flex-direction:column;margin-block-start:auto;transition:opacity .3s,translate .4s;display:flex}.footer:where(.astro-ofki4vxg) .email:where(.astro-ofki4vxg){font-size:var(--font-size-lead);margin-block-start:var(--space-between-text)}.menu:where(.astro-ofki4vxg)[open]{visibility:visible;transition-delay:0s;& .row{visibility:visible}& .sheet{translate:none}& .content{opacity:1;transition:opacity .25s .2s}& .content .item,& .footer{opacity:1;translate:none}& .content .item{transition-delay:min(calc(.16s + var(--i) * 50ms), .36s)}& .footer{transition-delay:.42s}}:root:has(.menu[open]){overflow:hidden}@media (prefers-reduced-motion:reduce){.sheet:where(.astro-ofki4vxg),.content:where(.astro-ofki4vxg) .item,.footer:where(.astro-ofki4vxg){translate:none}.menu:where(.astro-ofki4vxg){transition:visibility 0s linear var(--duration-medium)}.sheet:where(.astro-ofki4vxg){opacity:0;transition:opacity var(--duration-medium) var(--easing-standard)}.menu:where(.astro-ofki4vxg)[open] .sheet:where(.astro-ofki4vxg){opacity:1}}@media (forced-colors:active){.sheet:where(.astro-ofki4vxg){border-inline-start:var(--border-width-highlight) solid CanvasText;&:before,&:after{display:none}}}header:where(.astro-jr7posx5){z-index:var(--z-index-overlay);position:relative;&>.bar{z-index:var(--z-index-raised);position:relative}}html[data-astro-transition]::view-transition-group(root),html[data-astro-transition]::view-transition-old(root),html[data-astro-transition]::view-transition-new(root){animation:none}:root:has(#menu[open]) header:where(.astro-jr7posx5)>.bar{visibility:hidden}.navigation:where(.astro-jr7posx5){margin-inline-end:calc(var(--space-between-groups) - var(--space-between-content))}@media (width<47.5rem){.navigation:where(.astro-jr7posx5){display:none}}@media (width>=47.5rem){.open:where(.astro-jr7posx5){display:none}}.skip:where(.astro-ycx7casv){z-index:var(--z-index-topmost);position:fixed;inset-block-start:var(--space-between-content);inset-inline-start:var(--space-between-content);&:not(:focus){clip-path:inset(50%);white-space:nowrap}}.page:where(.astro-z4jru4n3){flex-direction:column;min-block-size:100dvh;display:flex;position:relative;overflow:clip}.main:where(.astro-z4jru4n3){flex-grow:1;&:focus-visible{outline:none}}.main--padded:where(.astro-z4jru4n3){padding-block:var(--space-padding-panel) var(--space-padding-page-end);padding-inline:var(--space-padding-page-centred)}.not-found:where(.astro-ibpinaeu){align-items:start;gap:var(--space-between-groups);max-inline-size:var(--layout-width-prose);flex-direction:column;display:flex}.greeting:where(.astro-hu2xlecp){align-items:start;gap:var(--space-between-blocks);flex-direction:column;display:flex}.interests:where(.astro-4z6rcn2x){gap:var(--space-between-text);flex-direction:column;padding-inline-start:var(--space-indent-list);display:flex;& ::marker{color:var(--color-text-accent)}}.breadcrumb:where(.astro-xa52sxzc){align-items:center;gap:var(--space-between-text);font-size:var(--font-size-small);flex-wrap:wrap;padding:0;list-style:none;display:flex}.step:where(.astro-xa52sxzc){align-items:center;gap:var(--space-between-text);display:flex;&+&:before{content:"/" / "";color:var(--color-text-accent);font-family:var(--font-family-handwriting);font-size:var(--font-size-lead);line-height:1}&[aria-current=page]{font-weight:var(--font-weight-semi-bold)}}.content:where(.astro-ta2fbyqs){gap:var(--space-between-sections);flex-direction:column;margin-block-start:var(--space-below-heading);display:flex}.introduction:where(.astro-ta2fbyqs){align-items:start}.text:where(.astro-ta2fbyqs){gap:var(--space-between-blocks);flex-direction:column;max-inline-size:62ch;display:flex}.detail:where(.astro-ta2fbyqs){gap:var(--space-between-groups);flex-direction:column;display:flex}.principles:where(.astro-ta2fbyqs){gap:var(--space-between-blocks);flex-direction:column;display:flex}.principle:where(.astro-ta2fbyqs){gap:var(--space-between-lines);flex-direction:column;display:flex}.principle-title:where(.astro-ta2fbyqs){font-weight:var(--font-weight-semi-bold)}.principle-description:where(.astro-ta2fbyqs){color:var(--color-text-secondary);margin:0}.actions:where(.astro-ta2fbyqs){align-items:center;gap:var(--space-between-content);flex-wrap:wrap;display:flex}.card:where(.astro-mx574jlw){isolation:isolate;gap:var(--card-gap,var(--space-between-content));block-size:100%;padding:var(--card-padding,var(--space-between-groups) var(--space-padding-container) var(--space-padding-container));border:2px solid var(--color-border);border-radius:var(--card-radius,var(--radius-card));background-color:var(--color-background-surface);box-shadow:0 0 0 var(--color-shadow);flex-direction:column;transition:box-shadow .2s;display:flex;position:relative;&:before,&:after{content:"";z-index:var(--z-index-raised);pointer-events:none;opacity:0;transform-origin:100% 100%;transition:scale .3s cubic-bezier(.3,1.5,.5,1),opacity .15s;position:absolute;scale:.2}&:before{background:linear-gradient(to top left, var(--color-background-page) 50%, transparent 50%) right 0 bottom 0 / 30px 30px no-repeat, linear-gradient(to top left, var(--color-shadow) 50%, transparent 50%) right 6px bottom 6px / 30px 30px no-repeat;block-size:36px;inline-size:36px;inset-block-end:-8px;inset-inline-end:-8px}&:after{border-block-start:2px solid var(--color-border);border-inline-start:2px solid var(--color-border);background:linear-gradient(to bottom right, var(--color-background-accent) 50%, transparent 50%);block-size:30px;inline-size:30px;filter:drop-shadow(6px 6px 0 var(--color-shadow));border-start-start-radius:6px;inset-block-end:-2px;inset-inline-end:-2px}&:hover,&:focus-within{box-shadow:6px 6px 0 var(--color-shadow);&:before,&:after{opacity:1;scale:1}}}.card:where(.astro-mx574jlw) .stretched:before{content:"";position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.card:where(.astro-mx574jlw):before,.card:where(.astro-mx574jlw):after{transition:none}}@media (forced-colors:active){.card:where(.astro-mx574jlw):before,.card:where(.astro-mx574jlw):after{display:none}}.tags:where(.astro-st6mmp4r){align-items:center;gap:var(--space-between-text);flex-wrap:wrap;padding-inline-start:0;list-style:none;display:flex}.tag:where(.astro-st6mmp4r){border:var(--border-width-default) solid var(--color-border);border-radius:var(--radius-small);background-color:var(--color-background-page);color:var(--color-text-primary);font-family:var(--font-family-code);font-size:var(--font-size-meta);white-space:nowrap;padding:7px 10px;line-height:1;display:inline-block}.tag--link:where(.astro-st6mmp4r){z-index:var(--z-index-raised);transition:background-color var(--duration-fast) var(--easing-standard);text-decoration:none;position:relative;&:hover{background-color:var(--color-background-surface);text-decoration:underline}}.heading:where(.astro-fjbsocwl){font-size:var(--font-size-h4);line-height:var(--line-height-subheading)}.excerpt:where(.astro-fjbsocwl){color:var(--color-text-secondary);margin-block-end:var(--space-between-blocks)}.details:where(.astro-fjbsocwl){gap:var(--space-between-content);border-block-start:var(--border-width-default) dashed var(--color-border);flex-direction:column;margin-block-start:auto;padding-block-start:calc(var(--space-between-content) + var(--space-between-lines));display:flex}.topics:where(.astro-yh4eslho){gap:var(--space-between-text);flex-direction:column;margin-block-end:var(--space-padding-panel);display:flex}.list:where(.astro-yh4eslho){gap:var(--space-between-text);flex-wrap:wrap;padding:0;list-style:none;display:flex}.topic:where(.astro-yh4eslho){display:inline-block;&[aria-current=page]{background-color:var(--color-background-accent);color:var(--color-text-on-accent)}}.count:where(.astro-yh4eslho){color:inherit;opacity:.8}.callout:where(.astro-ofng6q6o){--dot-color:color-mix(in oklch, var(--color-text-on-accent) 30%, transparent);gap:var(--space-between-text);padding:var(--space-padding-container);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-small);background:linear-gradient(to bottom right, var(--color-background-accent) 55%, transparent), radial-gradient(circle, var(--dot-color) 25%, transparent 30%) 0 0 / var(--space-between-content) var(--space-between-content), var(--color-background-accent);box-shadow:var(--shadow-resting);color:var(--color-text-on-accent);display:grid}.label:where(.astro-ofng6q6o){font-family:var(--font-family-handwriting);font-size:var(--font-size-h4);line-height:var(--line-height-subheading)}.title:where(.astro-ofng6q6o){font-weight:var(--font-weight-semi-bold)}.body:where(.astro-ofng6q6o){max-inline-size:60ch}.code:where(.astro-y3kmerpy){border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-small);background-color:var(--color-background-surface);overflow:hidden}.caption:where(.astro-y3kmerpy){justify-content:space-between;gap:var(--space-between-text) var(--space-between-content);padding:var(--space-padding-chip);background-color:var(--color-background-page);font-family:var(--font-family-code);font-size:var(--font-size-meta);flex-wrap:wrap;display:flex}.language:where(.astro-y3kmerpy){color:var(--color-text-secondary);margin-inline-start:auto}.block:where(.astro-y3kmerpy){padding:var(--space-padding-container);line-height:var(--line-height-body);overflow-x:auto;&:focus-visible{outline-offset:calc(-1 * var(--border-width-highlight))}}.facts:where(.astro-cxea3mhl){gap:var(--space-between-blocks) var(--space-between-groups);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.value:where(.astro-cxea3mhl){font-weight:var(--font-weight-semi-bold);margin:0}.prose:where(.astro-an4vqscn){gap:var(--space-between-blocks);max-inline-size:var(--layout-width-prose);counter-reset:section;flex-direction:column;display:flex;& h2{font-size:var(--font-size-h3);line-height:var(--line-height-subheading);margin-block-start:var(--space-between-blocks)}& h3{font-size:var(--font-size-h4);margin-block-start:var(--space-between-blocks)}& :is(ul,ol){gap:var(--space-between-text);flex-direction:column;padding-inline-start:var(--space-indent-list);display:flex}& li{padding-inline-start:var(--space-between-lines)}& li::marker{color:var(--color-text-accent)}& :not(pre)>code{padding-inline:calc(var(--space-between-text) / 2);border-radius:var(--radius-small);background-color:var(--color-background-surface)}& blockquote{margin-block:var(--space-between-content);border:2px solid var(--color-border);border-radius:var(--radius-large);font-family:var(--font-family-handwriting);padding:12px 22px 14px;font-size:1.5rem;line-height:1.3;rotate:-2deg}}.prose--numbered:where(.astro-an4vqscn) h2{align-items:center;gap:var(--space-between-content);font-size:var(--font-size-h2);line-height:var(--line-height-heading);counter-increment:section;display:flex;&:not(:first-child){margin-block-start:var(--space-between-regions)}&:before{content:counter(section, decimal-leading-zero) / "";padding:var(--space-padding-chip);border:var(--border-width-standout) solid var(--color-border);background-color:var(--color-background-accent);color:var(--color-text-on-accent);font-family:var(--font-family-handwriting);font-size:var(--font-size-lead);font-weight:var(--font-weight-regular);flex-shrink:0;line-height:1;rotate:-4deg}}.pager:where(.astro-6kq7rh5x){align-items:start;gap:var(--space-between-groups);flex-direction:column;display:flex}.neighbours:where(.astro-6kq7rh5x){justify-content:space-between;gap:var(--space-between-blocks) var(--space-between-groups);flex-wrap:wrap;inline-size:100%;display:flex}.title:where(.astro-6kq7rh5x){align-items:center;gap:var(--space-between-text);font-size:var(--font-size-lead);line-height:var(--line-height-subheading);text-decoration:underline;text-decoration-thickness:var(--border-width-standout);text-decoration-skip-ink:none;text-underline-offset:var(--size-underline-offset);display:inline-flex}.neighbour:where(.astro-6kq7rh5x){gap:var(--space-between-lines);max-inline-size:100%;padding:var(--space-between-text) calc(var(--space-between-text) + var(--space-between-lines));margin:calc(-1 * var(--space-between-text)) calc(-1 * (var(--space-between-text) + var(--space-between-lines)));border-radius:var(--radius-small);font-weight:var(--font-weight-semi-bold);transition:background-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard);flex-direction:column;text-decoration-line:none;display:inline-flex;&:hover .title:where(.astro-6kq7rh5x){text-decoration-style:wavy}&:focus-visible{background-color:var(--color-shadow);color:var(--color-background-surface);outline:none}}.neighbour--next:where(.astro-6kq7rh5x){text-align:end;align-items:end;margin-inline-start:auto}.direction:where(.astro-6kq7rh5x){font-weight:var(--font-weight-regular)}.neighbour:where(.astro-6kq7rh5x):focus-visible .direction:where(.astro-6kq7rh5x){color:inherit}@media (forced-colors:active){.neighbour:where(.astro-6kq7rh5x):focus-visible{outline:var(--border-width-highlight) solid}}.post:where(.astro-zg7dkzxc){max-inline-size:var(--layout-width-prose)}.header:where(.astro-zg7dkzxc){gap:var(--space-between-content);flex-direction:column;margin-block-start:var(--space-below-heading);display:flex}.excerpt:where(.astro-zg7dkzxc){color:var(--color-text-secondary)}.details:where(.astro-zg7dkzxc){align-items:center;gap:var(--space-between-text) var(--space-between-content);flex-wrap:wrap;margin-block-start:var(--space-between-text);display:flex}.body:where(.astro-zg7dkzxc){margin-block-start:var(--space-below-heading)}.related:where(.astro-zg7dkzxc){gap:var(--space-between-blocks);flex-direction:column;margin-block-start:var(--space-between-sections);display:flex}.related-title:where(.astro-zg7dkzxc){font-size:var(--font-size-h3)}.related-posts:where(.astro-zg7dkzxc){gap:var(--space-between-groups);grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));padding-inline-start:0;list-style:none;display:grid}.more:where(.astro-zg7dkzxc){margin-block-start:var(--space-between-sections)}html[data-js] .search:where(.astro-edkalxzi){display:block}.form:where(.astro-edkalxzi){gap:var(--space-between-blocks);flex-direction:column;margin-block-end:var(--space-between-groups);display:flex}.fields:where(.astro-edkalxzi){align-items:start;gap:var(--space-between-blocks) var(--space-between-regions);flex-wrap:wrap;display:flex}.query:where(.astro-edkalxzi){gap:var(--space-between-text);flex-direction:column;flex:17.5rem;max-inline-size:26rem;display:flex}.topics:where(.astro-edkalxzi){gap:var(--space-between-text);flex-direction:column;flex:15rem;max-inline-size:20rem;display:flex}.label:where(.astro-edkalxzi){font-weight:var(--font-weight-semi-bold)}.input:where(.astro-edkalxzi){min-block-size:var(--size-action-minimum);padding:var(--space-padding-action);padding-inline:var(--space-between-content);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-small);background-color:var(--color-background-page);color:var(--color-text-primary);font:inherit}.choice:where(.astro-edkalxzi){justify-content:space-between;inline-size:100%;list-style:none}.filter:where(.astro-edkalxzi)[open] .arrow:where(.astro-edkalxzi){rotate:180deg}.panel:where(.astro-edkalxzi){margin:var(--space-between-content) 0 0;padding:var(--space-padding-container);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-medium-alternate);background-color:var(--color-background-surface)}.hint:where(.astro-edkalxzi){float:inline-start;color:var(--color-text-secondary);font-size:var(--font-size-small);margin-block-end:var(--space-between-text);padding:0}.options:where(.astro-edkalxzi),.chips:where(.astro-edkalxzi){clear:both;padding-inline-start:0;list-style:none}.option:where(.astro-edkalxzi){align-items:center;gap:var(--space-between-content);min-block-size:var(--size-action-minimum);cursor:pointer;display:flex}.checkbox:where(.astro-edkalxzi){block-size:1.25em;inline-size:1.25em;accent-color:var(--color-background-accent);cursor:pointer;flex:none;margin:0}.count:where(.astro-edkalxzi){color:var(--color-text-secondary)}.chips:where(.astro-edkalxzi){gap:var(--space-between-text);flex-wrap:wrap;display:flex;&:not(:has(li:not([hidden]))){display:none}}.chip:where(.astro-edkalxzi)[hidden]{display:none}.summary:where(.astro-edkalxzi){align-items:center;gap:var(--space-between-text) var(--space-between-content);flex-wrap:wrap;display:flex}html[data-js] .without-script:where(.astro-x255k2k2){display:none}.tile:where(.astro-zpvvxhi3){align-items:center;gap:var(--space-between-content);min-block-size:var(--size-action-minimum);padding:var(--space-padding-action);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-medium-alternate);background-color:var(--color-background-page);box-shadow:var(--shadow-small);color:var(--color-text-primary);transition:translate var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard);text-decoration:none;display:flex;&:hover{--lift:calc(var(--size-shadow-offset-small) - var(--size-shadow-offset-resting));translate:var(--lift) var(--lift);box-shadow:var(--shadow-resting)}&:active{translate:var(--size-shadow-offset-small) var(--size-shadow-offset-small);box-shadow:none}&:focus-visible{outline-offset:calc(var(--border-width-highlight) + var(--size-shadow-offset-raised))}}.disc:where(.astro-zpvvxhi3){padding:var(--space-between-text);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-round);background-color:var(--color-background-surface);place-items:center;display:grid}.text:where(.astro-zpvvxhi3){gap:var(--space-between-lines);min-inline-size:0;line-height:var(--line-height-subheading);flex-grow:1;display:grid}.label:where(.astro-zpvvxhi3){font-weight:var(--font-weight-semi-bold)}.detail:where(.astro-zpvvxhi3){overflow-wrap:anywhere}.trailing:where(.astro-zpvvxhi3){color:var(--color-text-accent)}@media (prefers-reduced-motion:reduce){.tile:where(.astro-zpvvxhi3){transition:none;&:hover,&:active{translate:none}}}.contact:where(.astro-6bfsojfh){align-items:start;gap:var(--space-between-blocks);max-inline-size:calc(var(--layout-width-prose) * 7 / 9);flex-direction:column;margin-block-start:var(--space-below-heading);display:flex}.body:where(.astro-6bfsojfh){max-inline-size:40ch;color:var(--color-text-secondary)}.elsewhere:where(.astro-6bfsojfh){margin-block-start:var(--space-between-blocks)}.links:where(.astro-6bfsojfh){gap:calc(var(--space-between-blocks) + var(--space-between-lines));flex-direction:column;inline-size:100%;padding-inline-start:0;list-style:none;display:flex}.notice:where(.astro-u6ohjolg){gap:var(--space-between-blocks);max-inline-size:var(--layout-width-prose);flex-direction:column;margin-block-start:var(--space-below-heading);display:flex}.header:where(.astro-u6ohjolg){gap:var(--space-between-content);flex-direction:column;display:flex}.header:where(.astro-pznzci7v){gap:var(--space-between-blocks);max-inline-size:820px;flex-direction:column;margin-block-start:var(--space-below-heading);display:flex}.summary:where(.astro-pznzci7v){max-inline-size:40ch}.stack:where(.astro-pznzci7v){margin-block:var(--space-between-regions);& dt{margin-block-end:var(--space-between-text)}& dd{margin:0}}.screenshot:where(.astro-pznzci7v){aspect-ratio:16/9;object-fit:cover;border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-medium-alternate);background-color:var(--color-background-surface);block-size:auto;inline-size:100%}.body:where(.astro-pznzci7v){margin-block-start:var(--space-between-sections)}.more:where(.astro-pznzci7v){margin-block-start:calc(var(--space-between-sections) + var(--space-between-groups))}.project:where(.astro-cgl2u52c){--inset:calc(var(--space-between-text) + var(--space-between-lines));--card-gap:0;--card-padding:var(--inset) var(--inset) calc(var(--space-between-content) + var(--space-between-lines));--card-radius:14px 22px 12px 20px / 22px 12px 20px 14px;&>.tags{padding-block:calc(var(--space-between-content) + var(--space-between-lines)) calc(var(--space-between-blocks) + var(--space-between-lines));padding-inline:var(--inset)}}.screenshot:where(.astro-cgl2u52c){aspect-ratio:16/10;object-fit:cover;border:var(--border-width-default) solid var(--color-border);border-radius:var(--radius-small);block-size:auto;inline-size:100%}.text:where(.astro-cgl2u52c){gap:var(--space-between-text);padding-block-start:var(--space-between-blocks);padding-inline:var(--inset);flex-direction:column;display:flex}.heading:where(.astro-cgl2u52c){font-size:var(--font-size-h4);line-height:var(--line-height-subheading)}.summary:where(.astro-cgl2u52c){color:var(--color-text-secondary)}.footer:where(.astro-cgl2u52c){margin-block-start:auto;margin-inline:var(--inset);padding-block:calc(var(--space-between-content) + var(--space-between-lines)) var(--space-between-lines);border-block-start:var(--border-width-default) dashed var(--color-border)}.about:where(.astro-up55i443){padding-block:var(--space-between-sections);padding-inline:var(--space-padding-page-centred);align-items:center}.summary:where(.astro-up55i443){gap:var(--space-between-content);flex-direction:column;max-inline-size:60ch;display:flex}.heading:where(.astro-up55i443){margin-block-end:var(--space-between-text)}.body:where(.astro-up55i443){color:var(--color-text-secondary)}.subheading:where(.astro-up55i443){font-size:var(--font-size-body);margin-block-start:var(--space-between-content)}.more:where(.astro-up55i443){margin-block-start:var(--space-between-text)}.banner:where(.astro-ivpbe745){padding-block:var(--space-between-sections) var(--space-padding-page-end);padding-inline:var(--space-padding-page-centred)}.panel:where(.astro-ivpbe745){justify-content:space-between;align-items:center;gap:var(--space-between-groups) var(--space-between-regions);padding:var(--space-padding-panel);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-large-alternate);background-color:var(--color-background-surface);flex-wrap:wrap;display:flex}.text:where(.astro-ivpbe745){gap:var(--space-between-text);max-inline-size:44ch;color:var(--color-text-secondary);flex-direction:column;display:flex}.heading:where(.astro-ivpbe745){color:var(--color-text-primary);font-size:var(--font-size-h3)}.actions:where(.astro-ivpbe745){align-items:center;gap:var(--space-between-content);flex-wrap:wrap;display:flex}.section:where(.astro-yjh2gfsi){gap:var(--space-below-heading);padding-block:var(--space-between-sections);padding-inline:var(--space-padding-page-centred);flex-direction:column;display:flex}.header:where(.astro-yjh2gfsi){justify-content:space-between;align-items:end;gap:var(--space-below-heading) var(--space-between-groups);flex-wrap:wrap;display:flex}.titles:where(.astro-yjh2gfsi){gap:var(--space-between-content);max-inline-size:var(--layout-width-prose);flex-direction:column;display:flex}.intro:where(.astro-yjh2gfsi){max-inline-size:52ch;color:var(--color-text-secondary)}.timeline:where(.astro-kq42ek7p){max-inline-size:var(--layout-width-prose);flex-direction:column;padding:0;list-style:none;display:flex}.entry:where(.astro-kq42ek7p){--dot-size:calc(var(--space-between-content) + 2 * var(--border-width-standout));--icon-size:var(--space-between-groups);--axis:calc(var(--icon-size) / 2);--marker-middle:calc(var(--space-between-lines) + var(--dot-size) / 2);gap:var(--space-between-lines);flex-direction:column;padding-block-end:var(--space-between-regions);padding-inline-start:calc(var(--space-between-regions) + var(--space-between-lines));display:flex;position:relative;&:not(:last-child):before{content:"";inset-block:var(--icon-size) var(--space-between-lines);inline-size:var(--border-width-standout);background-color:var(--color-border);opacity:.3;position:absolute;inset-inline-start:calc(var(--axis) - var(--border-width-standout) / 2)}}.entry--dot:where(.astro-kq42ek7p):after{content:"";inline-size:var(--dot-size);block-size:var(--dot-size);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-round);background-color:var(--color-background-accent);position:absolute;inset-block-start:var(--space-between-lines);inset-inline-start:calc(var(--axis) - var(--dot-size) / 2)}.marker:where(.astro-kq42ek7p){inline-size:var(--icon-size);block-size:var(--icon-size);padding:calc(var(--space-between-text) - var(--border-width-standout));border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-round);background-color:var(--color-background-accent);color:var(--color-text-on-accent);position:absolute;inset-block-start:calc(var(--marker-middle) - var(--icon-size) / 2);inset-inline-start:0}.title:where(.astro-kq42ek7p){font-size:var(--font-size-h4)}.organisation:where(.astro-kq42ek7p){font-weight:var(--font-weight-semi-bold)}.note:where(.astro-kq42ek7p){max-inline-size:62ch;color:var(--color-text-secondary);margin-block-start:var(--space-between-lines)}@media (forced-colors:active){.entry:where(.astro-kq42ek7p):before,.entry:where(.astro-kq42ek7p):after{background-color:canvastext}}.hero:where(.astro-i3irphx7){isolation:isolate;align-items:start;gap:var(--space-between-groups);inline-size:100%;max-inline-size:calc(var(--layout-width-page) + 2 * var(--space-padding-page));padding-block:calc(var(--space-between-sections) + var(--space-between-blocks)) calc(var(--space-between-sections) + var(--space-between-content));padding-inline:var(--space-padding-page);flex-direction:column;margin-inline:auto;display:flex;position:relative;&:before{content:"";z-index:-1;inset-block:var(--space-padding-panel) 0;inline-size:min(calc(var(--layout-width-prose) * 8 / 9), calc(100% - 2 * var(--space-padding-page)));background:radial-gradient(circle, var(--color-decoration-dots) 15%, transparent 20%) 0 0 / var(--space-between-content) var(--space-between-content);opacity:.6;position:absolute;inset-inline-end:var(--space-padding-page);mask-image:radial-gradient(at 70% 40%,#000,#0000008c 30%,#0000 68%)}}.name:where(.astro-i3irphx7){font-size:var(--font-size-display)}.surname:where(.astro-i3irphx7){white-space:nowrap;align-items:baseline;display:inline-flex}.highlight:where(.astro-i3irphx7){isolation:isolate;display:inline-block;position:relative;&:after{content:"";z-index:-1;background-color:var(--color-background-accent);border-radius:40% 12px 30% 8px/10px 30% 12px 40%;block-size:13%;position:absolute;inset-block-end:-6%;inset-inline:-2% -3%;rotate:-1.5deg}}.paw:where(.astro-i3irphx7){inline-size:calc(var(--font-size-display) * .3);block-size:calc(var(--font-size-display) * .3);color:var(--color-decoration-paw);align-self:start;margin-block-start:calc(var(--font-size-display) * .3 * .04);margin-inline-start:calc(var(--font-size-display) * .3 * .14);display:inline-block;rotate:18deg}.summary:where(.astro-i3irphx7){max-inline-size:34ch;color:var(--color-text-secondary);font-size:calc(var(--font-size-lead) * 12 / 11);line-height:1.5}.actions:where(.astro-i3irphx7){align-items:center;gap:var(--space-between-content);flex-wrap:wrap;margin-block-start:var(--space-between-text);display:flex}.file-type:where(.astro-i3irphx7){font-family:var(--font-family-code);font-size:var(--font-size-meta);font-weight:var(--font-weight-regular)}@media (forced-colors:active){.hero:where(.astro-i3irphx7):before{display:none}.highlight:where(.astro-i3irphx7):after{background-color:canvastext}}.groups:where(.astro-4swbnejv){gap:var(--space-below-heading);flex-direction:column;display:flex}.group:where(.astro-4swbnejv){gap:var(--space-between-content) var(--space-between-groups);flex-wrap:wrap;display:flex}.label:where(.astro-4swbnejv){flex:0 0 calc(4 * var(--space-between-regions));padding-block-start:calc(var(--space-between-content) + var(--space-between-lines))}.skills:where(.astro-4swbnejv){flex:1 1 calc(9 * var(--space-between-regions));grid-template-columns:repeat(auto-fill, minmax(calc(2 * var(--space-between-regions) + var(--space-between-text)), 1fr));gap:var(--space-between-blocks) var(--space-between-content);padding:0;list-style:none;display:grid}.skill:where(.astro-4swbnejv){--tile-size:calc(1.5 * var(--space-between-regions));align-items:center;gap:var(--space-between-text);font-size:var(--font-size-small);line-height:var(--line-height-subheading);text-align:center;flex-direction:column;display:flex}.logo:where(.astro-4swbnejv){inline-size:var(--tile-size);block-size:var(--tile-size);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-medium);background-color:var(--color-background-surface);font-size:calc(1.3 * var(--font-size-h4));place-items:center;display:grid}.logo-image:where(.astro-4swbnejv){block-size:1.1em;inline-size:1.1em}.also:where(.astro-4swbnejv){max-inline-size:62ch;color:var(--color-text-secondary);margin-block-start:var(--space-between-text);& strong{color:var(--color-text-primary)}}.testimonial:where(.astro-ieords6k){padding-block:var(--space-between-sections);padding-inline:var(--space-padding-page-centred)}.figure:where(.astro-ieords6k){align-items:start;gap:var(--space-between-blocks);max-inline-size:calc(var(--layout-width-prose) + 2 * var(--space-between-regions));flex-direction:column;display:flex}.quote:where(.astro-ieords6k){padding:clamp(var(--space-between-groups) + var(--space-between-text), 5vw, var(--space-between-regions) + var(--space-between-text)) var(--space-below-heading) var(--space-between-groups);border:var(--border-width-standout) solid var(--color-border);border-radius:var(--radius-large);background-color:var(--color-background-surface);font-size:var(--font-size-lead);position:relative;&:before{content:"“" / "";color:var(--color-background-accent);font-family:var(--font-family-handwriting);font-size:6.5rem;line-height:1;position:absolute;inset-block-start:-.33em;inset-inline-start:clamp(var(--space-between-content), 3vw, var(--space-between-groups));rotate:-6deg}&:after{content:"";inline-size:calc(var(--space-between-content) + var(--border-width-standout));block-size:calc(var(--space-between-content) + var(--border-width-standout));border-block-end:var(--border-width-standout) solid var(--color-border);border-inline-end:var(--border-width-standout) solid var(--color-border);background-color:inherit;position:absolute;inset-block-end:calc(-1 * (var(--space-between-text) + var(--border-width-standout)));inset-inline-start:calc(var(--space-between-regions) + var(--space-between-text));transform:rotate(38deg)skew(6deg)}}.attribution:where(.astro-ieords6k){align-items:center;gap:var(--space-between-content);padding-inline-start:var(--space-between-blocks);display:flex}.who:where(.astro-ieords6k){gap:var(--space-between-lines);flex-direction:column;display:flex}.name:where(.astro-ieords6k){font-weight:var(--font-weight-semi-bold);line-height:var(--line-height-subheading)}.role:where(.astro-ieords6k){color:var(--color-text-secondary);font-size:var(--font-size-small)}
/*$vite$:1*/