.GcQueq_logo{z-index:1;width:calc(var(--mosaic-logo-size) * 3);height:calc(var(--mosaic-logo-size) * 3);color:var(--portfolio-accent-decoration);background:var(--portfolio-surface-dark);opacity:0;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.GcQueq_logo:focus-visible{outline:2px solid var(--portfolio-neutral-50);outline-offset:2px}.GcQueq_loading{z-index:var(--portfolio-layer-viewer);color:var(--portfolio-accent-decoration);place-items:center;display:grid;position:fixed;inset:0}.GcQueq_loadingIndicator{background:var(--portfolio-surface-dark)}[data-mosaic-source-hidden]{visibility:hidden!important}
.ShrPea_scope{--mosaic-logo-size:calc(var(--logo-stroke-width) * 5);--portfolio-surface-dark:#000;--portfolio-list-marker-size:calc(var(--logo-stroke-width) * 5)}:is(.ShrPea_scope .portfolio-markdown a:not(:hover):not(:focus-visible),.ShrPea_scope .portfolio-prose-link:not(:hover):not(:focus-visible)){text-decoration-line:none}html:not([data-portfolio-theme=light]) .ShrPea_scope{--portfolio-surface:var(--portfolio-surface-dark);--portfolio-surface-translucent:color-mix(in srgb, var(--portfolio-surface) 80%, transparent)}
@font-face{font-family:Ubuntu Sans;font-style:italic;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/145aab83b24fe233-s.1ixbmiqu1dn8j.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Ubuntu Sans;font-style:italic;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/ede19b88ce482c0e-s.2yz94r0952svv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Ubuntu Sans;font-style:italic;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/b883ce0eab711cda-s.2kqjphnpyr45l.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Ubuntu Sans;font-style:italic;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/c4819a7806fd54ea-s.33ryf7dh2utob.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Ubuntu Sans;font-style:italic;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/d1723d665f4898ba-s.0hkzbcty0t4bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu Sans;font-style:italic;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/b14c3d1490931ad5-s.p.0zpa9vfwx5qix.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu Sans;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/e72bd61c45af275d-s.2xbdsvudy9esx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Ubuntu Sans;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/8f0dcb9f539c75fe-s.168egtx_4ynfv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Ubuntu Sans;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/bb46f348a8c1e844-s.2v1102zc5wkx2.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Ubuntu Sans;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/782de5ffe69b75f2-s.3srm1-qb9r8wm.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Ubuntu Sans;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/1d8bad6ccf672773-s.0ff3my6d-61ad.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu Sans;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/928453f79207f538-s.p.4495q05yg1hqf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu Sans Fallback;src:local(Arial);ascent-override:93.33%;descent-override:25.81%;line-gap-override:0.0%;size-adjust:100.72%}.sqRvBG_className{font-family:Ubuntu Sans,Ubuntu Sans Fallback}
.k9ZKXW_image[src$="/portrait.jpg"],.k9ZKXW_surface img[src$="/portrait.jpg"]{filter:grayscale()}.k9ZKXW_clip{display:contents}.k9ZKXW_clip :is(img,video,canvas),.k9ZKXW_masked{-webkit-mask-image:var(--mosaic-media-mask,none);mask-image:var(--mosaic-media-mask,none);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.sfpo_a_portrait{aspect-ratio:1;width:100%;position:relative}.sfpo_a_portrait img{object-fit:cover;width:100%;height:100%;display:block}.sfpo_a_hoverPortrait{opacity:0;pointer-events:none;transition:opacity var(--portfolio-motion-state,.2s) ease-out;position:absolute;inset:0}button:focus-visible .sfpo_a_portrait .sfpo_a_hoverPortrait[data-ready]{opacity:1}@media (hover:hover){:is([data-mosaic-project]:hover .sfpo_a_portrait .sfpo_a_hoverPortrait[data-ready],.sfpo_a_portrait:hover .sfpo_a_hoverPortrait[data-ready]){opacity:1}}@media (hover:none){.sfpo_a_portrait [data-mosaic-about-portrait]~.sfpo_a_hoverPortrait[data-ready]{opacity:1}}@media (prefers-reduced-motion:reduce){.sfpo_a_hoverPortrait{transition:none}}
.ITTJxa_root{--mosaic-gap:calc(var(--logo-stroke-width) * 5);--mosaic-inactive-opacity:.22;--mosaic-surface:var(--portfolio-surface-dark);isolation:isolate;background:var(--mosaic-surface);flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.ITTJxa_grid{z-index:0;box-sizing:border-box;min-height:0;padding:var(--mosaic-gap);gap:var(--mosaic-gap);grid-template-columns:var(--portrait-columns);grid-template-rows:var(--portrait-rows);grid-template-areas:var(--portrait-areas);flex:1;display:grid}.ITTJxa_adjustmentLayer{pointer-events:none;opacity:1;transition:opacity var(--portfolio-motion-media-padding) ease;position:absolute;inset:0}.ITTJxa_tile:is(:focus-visible,[data-mosaic-return-focus]:focus,[data-mosaic-source-fit]) .ITTJxa_adjustmentLayer{opacity:0}.ITTJxa_grid[data-mosaic-layout=adaptive]{grid-template:none/repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}.ITTJxa_grid[data-mosaic-layout=adaptive]>:last-child:nth-child(odd){grid-column:1/-1}.ITTJxa_cell{background:var(--mosaic-surface);place-items:start;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden;container-type:size}.ITTJxa_cell[data-mosaic-entrance=waiting]{visibility:hidden}.ITTJxa_cell[data-mosaic-entrance=flying]{background:0 0;overflow:visible}.ITTJxa_entranceInk{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ITTJxa_entranceOutline{fill:none;stroke:var(--portfolio-accent-decoration);stroke-linecap:square}.ITTJxa_root:has(.ITTJxa_cell:not([data-mosaic-entrance=arrived]))>:is(aside,[data-mosaic-dev-trigger]){visibility:hidden}.ITTJxa_cellSurface{z-index:2;opacity:0;width:min(100cqw, calc(100cqh * var(--mosaic-ratio)));height:min(100cqh, calc(100cqw / var(--mosaic-ratio)));background:var(--mosaic-surface);box-shadow:0 0 0 var(--mosaic-gap) var(--mosaic-surface);position:relative}.ITTJxa_cellSurface:has([data-mosaic-source-hidden]){visibility:hidden}.ITTJxa_cell[data-mosaic-cell=freshbooks],.ITTJxa_cell[data-mosaic-cell=nextphrase]{justify-items:end}.ITTJxa_cell[data-mosaic-cell=toolbox]{align-items:end}.ITTJxa_tile{isolation:isolate;--mosaic-focal-x:var(--mosaic-segment-focal-x,var(--mosaic-default-focal-x));--mosaic-focal-y:var(--mosaic-segment-focal-y,var(--mosaic-default-focal-y));--mosaic-zoom:var(--mosaic-segment-zoom,var(--mosaic-default-zoom));--mosaic-target-x:var(--mosaic-segment-x,var(--mosaic-default-x));--mosaic-target-y:var(--mosaic-segment-y,var(--mosaic-default-y));background:var(--mosaic-surface);cursor:pointer;touch-action:manipulation;width:100%;min-width:0;height:100%;min-height:0;transition:opacity calc(var(--portfolio-motion-state) * 2) ease;border:0;padding:0;display:block;position:relative;overflow:hidden;container-type:size}.ITTJxa_tile:focus-visible{outline:3px solid var(--portfolio-neutral-50);outline-offset:-6px}.ITTJxa_tile:hover{outline:none}.ITTJxa_label{box-sizing:border-box;width:100%;color:var(--portfolio-neutral-50);text-align:left;pointer-events:none;transition:transform var(--portfolio-motion-media-padding) cubic-bezier(.22, .68, 0, 1);gap:.375rem;padding:clamp(32px,8cqw,64px) clamp(12px,4cqw,24px) clamp(12px,4cqw,24px);display:grid;position:absolute;top:100%;left:0;transform:translateY(0)}.ITTJxa_labelTitle{font-size:clamp(16px,6cqw,24px);font-weight:700;line-height:1.15}.ITTJxa_labelSummary{font-size:clamp(12px,3.5cqw,14px);line-height:1.4}.ITTJxa_visitedBadge{height:var(--mosaic-logo-size);background:var(--portfolio-accent-decoration);color:var(--portfolio-neutral-50);white-space:nowrap;pointer-events:none;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.ITTJxa_visitedIcon{width:var(--mosaic-logo-size);height:var(--mosaic-logo-size);flex-shrink:0;place-items:center;display:grid}.ITTJxa_visitedIcon svg{width:1em;height:1em}.ITTJxa_visitedLabel{padding-right:calc(var(--logo-stroke-width) * 2);text-align:left}.ITTJxa_root:not([data-mosaic-adjusting]) .ITTJxa_tile:is(:focus-visible,[data-mosaic-return-focus]:focus) .ITTJxa_label{transform:translateY(-100%)}.ITTJxa_media{--cover-width:max(100cqw, calc(100cqh * var(--mosaic-ratio)));--cover-height:max(100cqh, calc(100cqw / var(--mosaic-ratio)));--rest-width:calc(var(--cover-width) * clamp(1, var(--mosaic-zoom), 20));--rest-height:calc(var(--cover-height) * clamp(1, var(--mosaic-zoom), 20));--fit-width:min(100cqw, calc(100cqh * var(--mosaic-ratio)));--fit-height:min(100cqh, calc(100cqw / var(--mosaic-ratio)));width:var(--rest-width);height:var(--rest-height);left:clamp(calc(100cqw - var(--rest-width)), calc(100cqw * var(--mosaic-target-x) - var(--rest-width) * var(--mosaic-focal-x)), 0px);top:clamp(calc(100cqh - var(--rest-height)), calc(100cqh * var(--mosaic-target-y) - var(--rest-height) * var(--mosaic-focal-y)), 0px);pointer-events:none;transition-property:width,height,left,top;transition-duration:var(--portfolio-motion-media-padding);transition-timing-function:cubic-bezier(.22,.68,0,1);display:block;position:absolute}.ITTJxa_root:not([data-mosaic-adjusting]) .ITTJxa_tile:is(:focus-visible,[data-mosaic-return-focus]:focus) .ITTJxa_media,.ITTJxa_tile[data-mosaic-source-fit] .ITTJxa_media{width:var(--fit-width);height:var(--fit-height);left:calc((100cqw - var(--fit-width)) / 2);top:calc((100cqh - var(--fit-height)) / 2)}.ITTJxa_root:not([data-mosaic-adjusting]) .ITTJxa_grid:has(.ITTJxa_tile:is(:focus-visible,[data-mosaic-return-focus]:focus)) .ITTJxa_tile:not(:focus-visible,[data-mosaic-return-focus]:focus){opacity:var(--mosaic-inactive-opacity)}@media (hover:hover) and (pointer:fine){.ITTJxa_tile:hover .ITTJxa_adjustmentLayer{opacity:0}.ITTJxa_root:not([data-mosaic-adjusting]) .ITTJxa_grid:not(:has(.ITTJxa_tile:is(:focus-visible,[data-mosaic-return-focus]:focus))) .ITTJxa_tile:hover .ITTJxa_label{transform:translateY(-100%)}.ITTJxa_root:not([data-mosaic-adjusting]) .ITTJxa_grid:not(:has(.ITTJxa_tile:is(:focus-visible,[data-mosaic-return-focus]:focus))) .ITTJxa_tile:hover .ITTJxa_media{width:var(--fit-width);height:var(--fit-height);left:calc((100cqw - var(--fit-width)) / 2);top:calc((100cqh - var(--fit-height)) / 2)}.ITTJxa_root:not([data-mosaic-adjusting]) .ITTJxa_grid:not(:has(.ITTJxa_tile:is(:focus-visible,[data-mosaic-return-focus]:focus))):has(.ITTJxa_tile:hover) .ITTJxa_tile:not(:hover){opacity:var(--mosaic-inactive-opacity)}}@media (min-aspect-ratio:1){.ITTJxa_grid{grid-template-columns:var(--landscape-columns);grid-template-rows:var(--landscape-rows);grid-template-areas:var(--landscape-areas)}}.ITTJxa_root[data-mosaic-adjusting] .ITTJxa_tile{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ITTJxa_root[data-mosaic-adjusting] .ITTJxa_tile[data-mosaic-dragging]{cursor:grabbing}.ITTJxa_root[data-mosaic-adjusting] .ITTJxa_tile,.ITTJxa_root[data-mosaic-adjusting] .ITTJxa_media{transition:none}@media (prefers-reduced-motion:reduce){.ITTJxa_entranceInk{display:none}.ITTJxa_cellSurface,.ITTJxa_tile,.ITTJxa_media,.ITTJxa_label,.ITTJxa_adjustmentLayer{transition:none}}.ITTJxa_grid:has(.ITTJxa_tile[data-mosaic-source-fit]) .ITTJxa_tile:not([data-mosaic-source-fit]){opacity:var(--mosaic-inactive-opacity)}.ITTJxa_grid[data-mosaic-layout=packed]{display:block;position:relative}.ITTJxa_grid[data-mosaic-layout=packed] .ITTJxa_cellSurface{width:100cqw;height:100cqh}
.hjOtOG_root,.hjOtOG_video,.hjOtOG_frame,.hjOtOG_poster{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hjOtOG_root{background-color:#000}.hjOtOG_video,.hjOtOG_frame,.hjOtOG_poster{object-fit:fill}.hjOtOG_poster[hidden],.hjOtOG_frame[hidden]{display:none}
