.oCp9Uq_cursor{display:none}@media (pointer:fine) and (min-width:769px) and (forced-colors:none){:is(.custom-cursor,.custom-cursor *){cursor:none!important}.oCp9Uq_cursor{z-index:1000;pointer-events:none;opacity:0;width:14px;height:14px;transform:translate3d(var(--cursor-x,-100px), var(--cursor-y,-100px), 0) translate(-50%, -50%);background:#ff5a36;transition:width .12s,height .12s,opacity .12s;display:block;position:fixed;top:0;left:0}.oCp9Uq_cursor[data-visible=true]{opacity:1}.oCp9Uq_cursor[data-shape=text]{width:3px;height:20px}.oCp9Uq_cursor[data-shape=link]{width:8px;height:8px}.oCp9Uq_cursor[data-shape=hidden]{opacity:0}.oCp9Uq_cursor:after{content:attr(data-label);color:#171717;font-family:var(--font-mono);letter-spacing:1px;white-space:nowrap;opacity:0;background:#ff5a36;border-radius:4px;padding:6px 10px;font-size:11px;transition:opacity .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.oCp9Uq_cursor:not([data-label=""]){background:0 0}.oCp9Uq_cursor:not([data-label=""]):after{opacity:1}}@media (prefers-reduced-motion:reduce){.oCp9Uq_cursor,.oCp9Uq_cursor:after{transition:none}}
.nfyVBG_portraitControl{align-items:center;gap:12px;min-width:0;min-height:40px;display:flex}.nfyVBG_button{background:var(--color-surface);cursor:pointer;border:0;border-radius:10px;flex-shrink:0;width:40px;height:40px;padding:0;transition:transform .2s cubic-bezier(.22,1,.36,1);display:block}.nfyVBG_button img{border-radius:inherit;filter:grayscale();object-fit:cover;width:100%;height:100%;transition:filter .3s;display:block}.nfyVBG_button:hover{transform:scale(1.06)}.nfyVBG_button:hover img{filter:grayscale(0)}.nfyVBG_button:focus-visible{outline:2px solid var(--color-text);outline-offset:4px;border-radius:10px}.nfyVBG_response{min-width:0;font-family:var(--font-mono);color:var(--color-muted);font-size:12px}.nfyVBG_response>a{align-items:center;gap:6px;min-height:40px;text-decoration:none;display:inline-flex}.nfyVBG_message{animation:.3s cubic-bezier(.22,1,.36,1) both nfyVBG_portrait-response;display:block}@keyframes nfyVBG_portrait-response{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@media (max-width:480px){.nfyVBG_response{max-width:150px;font-size:10px;line-height:1.4}}@media (prefers-reduced-motion:reduce){.nfyVBG_button,.nfyVBG_button img{transition:none}.nfyVBG_button:hover{transform:none}.nfyVBG_message{animation:none}}.nfyVBG_staticPortrait{filter:grayscale();border-radius:10px;display:block}
.DRq2aq_toggle{--theme-target:25px;--theme-track:#f5f5f5;--theme-disc:#fff;border-radius:var(--radius-pill);background:var(--theme-track);padding:1.5px;display:flex;position:relative}.DRq2aq_indicator{width:var(--theme-target);height:var(--theme-target);background:var(--theme-disc);border:1px solid var(--color-muted);border-radius:50%;transition:transform .32s cubic-bezier(.16,1,.3,1);position:absolute;top:1.5px;left:1.5px;box-shadow:inset 0 0 1px #80808050}:root[data-theme=dark] .DRq2aq_indicator{transform:translate(100%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .DRq2aq_indicator{transform:translate(100%)}}.DRq2aq_toggle button{width:var(--theme-target);height:var(--theme-target);color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:5.5px;transition:color .2s;display:grid;position:relative}.DRq2aq_toggle button[aria-pressed=true],.DRq2aq_toggle button:hover{color:var(--color-text)}.DRq2aq_toggle svg{width:14px;height:14px;transition:transform .6s cubic-bezier(.16,1,.3,1)}.DRq2aq_toggle button:first-of-type[aria-pressed=true] svg{transform:rotate(90deg)}.DRq2aq_toggle button:last-of-type[aria-pressed=true] svg{transform:rotate(-24deg)}@media (prefers-reduced-motion:reduce){.DRq2aq_indicator,.DRq2aq_toggle svg{transition:none}.DRq2aq_toggle button[aria-pressed=true] svg{transform:none}}.DRq2aq_toggle.theme-control{flex-shrink:0}:root[data-theme=dark] .DRq2aq_toggle{--theme-track:#262626;--theme-disc:#404040}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .DRq2aq_toggle{--theme-track:#262626;--theme-disc:#404040}}
._8wDr-q_toggle{border:1px solid var(--color-muted);background:var(--color-control);width:28px;height:28px;color:var(--color-text);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;padding:6px;display:grid}._8wDr-q_toggle svg{width:14px;height:14px}._8wDr-q_toggle:disabled{color:var(--color-muted);cursor:default}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#fff;--color-surface:#f5f5f5;--color-text:#171717;--color-muted:#6b6b6b;--color-home-muted:#6b7280;--color-control:#f5f5f5;--color-marker:#b64d37;--color-accent:#2459a6;--color-border:#e5e5e5;--color-highlight-blue:#dfecff;--color-highlight-warm:#fff0dd;--color-highlight-green:#dceee3;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-body:.9375rem;--font-heading:.9375rem;--font-caption:.75rem;--font-display:1.625rem;--line-body:1.625;--line-heading:1.6;--line-caption:1.6;--tracking-heading:-.025em;--weight-body:400;--weight-heading:500;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-section:64px;--space-page:20vh;--radius-small:4px;--radius-browser:8px;--radius-portrait:10px;--radius-media:16px;--radius-pill:999px;--content-width:560px;--target-size:44px;--motion-duration:.24s;--motion-ease:cubic-bezier(.2, .7, .3, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#121212;--color-surface:#171717;--color-text:#f8fafc;--color-muted:#94a3b8;--color-home-muted:#9ca3af;--color-control:#262626;--color-marker:#ff5a36;--color-accent:#9cc2ff;--color-border:#292929;--color-highlight-blue:#26384b;--color-highlight-warm:#443622;--color-highlight-green:#234536}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#121212;--color-surface:#171717;--color-text:#f8fafc;--color-muted:#94a3b8;--color-home-muted:#9ca3af;--color-control:#262626;--color-marker:#ff5a36;--color-accent:#9cc2ff;--color-border:#292929;--color-highlight-blue:#26384b;--color-highlight-warm:#443622;--color-highlight-green:#234536}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-padding-block-start:var(--repository-clearance,64px)}body{background:var(--color-background);color:var(--color-muted);font-family:var(--font-sans);font-size:var(--font-body);font-weight:var(--weight-body);line-height:var(--line-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-text);font-size:var(--font-heading);font-weight:var(--weight-heading);line-height:var(--line-heading);letter-spacing:var(--tracking-heading)}a{color:inherit;-webkit-text-decoration-color:var(--color-muted);text-decoration-color:var(--color-muted);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--color-text)}button{font:inherit}:focus-visible{outline:2px solid color-mix(in srgb, var(--color-text) 60%, transparent);outline-offset:4px;border-radius:var(--radius-small)}::selection{background:var(--color-highlight-blue);color:var(--color-text)}.shell{width:min(100%, var(--content-width));padding:var(--space-page) 0 80px;margin-inline:auto}.site-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.display-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.site-footer{flex-wrap:wrap;align-items:center;gap:0 20px;margin-top:28px;font-size:13px;display:flex}.site-footer a{overflow-wrap:anywhere;align-items:center;min-height:24px;text-decoration:none;display:inline-flex}.site-footer a:hover{text-decoration:underline}.site-footer nav{gap:var(--space-sm);display:flex}.skip-link{top:var(--space-sm);left:var(--space-md);z-index:100;padding:var(--space-xs) var(--space-sm);background:var(--color-background);transform:translateY(calc(-100% - var(--space-md)));position:fixed}.skip-link:focus{transform:translateY(0)}.document{padding-top:var(--space-lg)}.document-heading{font-size:var(--font-display);margin-bottom:var(--space-sm)}.document-lead{margin-bottom:var(--space-xl)}.document-section{margin-top:var(--space-xl)}.document-section h2{margin-bottom:var(--space-sm)}.document-section p+p{margin-top:var(--space-sm)}.back-link{background:var(--color-control);min-height:28px;color:var(--color-text);border-radius:6px;align-items:center;gap:6px;margin-bottom:24px;padding:4px 10px;font-size:13px;line-height:20px;text-decoration:none;transition:background .2s;display:inline-flex}.back-link:hover{background:var(--color-border);text-decoration:none}.section-return{border-radius:16px;width:fit-content;text-decoration:none;display:block}.text-link{color:var(--color-accent)}@media not (min-width:640px){.shell{padding:calc(48px + 6vh) 16px 80px}.site-footer{gap:0 var(--space-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}::view-transition{pointer-events:none}::view-transition-group(*){animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(.page-forward){animation:.18s ease-out both page-fade-out}::view-transition-old(.page-back){animation:.18s ease-out both page-fade-out}::view-transition-old(.page-fade){animation:.18s ease-out both page-fade-out}::view-transition-new(.page-forward){animation:.45s cubic-bezier(.22,1,.36,1) both page-fade-in}::view-transition-new(.page-fade){animation:.45s cubic-bezier(.22,1,.36,1) both page-fade-in}::view-transition-new(.page-back){animation:.68s cubic-bezier(.22,1,.36,1) both home-return}::view-transition-group(.section-card){z-index:20;animation-duration:.68s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-group(.project-morph){animation-duration:.48s}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}}@keyframes home-return{0%{opacity:.3}to{opacity:1}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}}:is(.shell:has(.collection),.shell:has(.detail)){width:min(100%,1200px);padding:32px 32px 80px}.shell:is(:has(.collection),:has(.detail))>.site-header{height:0;margin:0}.shell:is(:has(.collection),:has(.detail)) .site-header .portrait-control{display:none}.shell:is(:has(.collection),:has(.detail)) .display-controls{z-index:30;position:fixed;top:16px;right:16px}:root[data-motion=paused] *,:root[data-motion=paused] :before,:root[data-motion=paused] :after{scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important;animation-delay:0s!important}:root[data-motion=paused]::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}:root[data-motion=paused]::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}:root[data-motion=paused]::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}@media (forced-colors:active){:focus-visible{outline-color:highlight}.theme-control button[aria-pressed=true]:not(:focus-visible){outline-offset:-2px;outline:1px solid highlight}}.collection{grid-template-columns:248px minmax(0,1fr);gap:64px;padding-top:0;display:grid}.collection-intro{align-self:start;padding-right:8px;position:sticky;top:32px}.collection-intro .document-heading{letter-spacing:0;margin-bottom:12px;font-size:15px;font-weight:400;line-height:1.25}.collection-intro .document-lead{margin-bottom:0;font-size:14px;line-height:1.6}@media not (min-width:1024px){.collection{gap:48px}}@media not (min-width:768px){.collection{display:block}.collection-intro{margin-bottom:40px;padding-right:0;position:static}.collection-intro .document-lead{max-width:440px}}@media not (min-width:640px){:is(.shell:has(.collection),.shell:has(.detail)){padding:32px 20px 80px}}html[data-entry=pending] .shell>:is(.site-header,main,.site-footer){opacity:0}@media (prefers-reduced-motion:reduce){html[data-entry=pending] .shell>:is(.site-header,main,.site-footer){opacity:1}}.contact-links{border:1px solid var(--color-border);border-radius:3px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;display:grid}.contact-links>*{min-width:0;color:var(--color-text);text-align:left;cursor:pointer;font-family:var(--font-mono);background:0 0;border:0;flex-direction:column;gap:3px;padding:10px 12px;font-size:10.5px;line-height:1.4;text-decoration:none;transition:background .2s;display:flex}.contact-links>*+*{border-left:1px solid var(--color-border)}.contact-links>:hover{background:var(--color-surface)}.contact-links>*>span:first-child{color:var(--color-muted);text-transform:uppercase;letter-spacing:.12em;font-size:9px}.contact-links>*>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media not (min-width:640px){.contact-links{grid-template-columns:1fr 1fr}.contact-links>:last-child{border-left:0;border-top:1px solid var(--color-border);grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.back-link,.contact-links>*{transition:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.detail{border:1px solid var(--color-border);background:var(--color-background);border-radius:3px;padding-top:0;padding-bottom:48px}.detail>:not(.detail-bar){width:calc(100% - 40px);max-width:720px;margin-inline:auto}.detail>.document-heading{margin-top:56px;font-size:28px;line-height:1.2}.detail>.document-lead{margin-top:16px;margin-bottom:32px;font-size:16px;line-height:1.6}.detail>article{padding-top:40px}.detail-bar{z-index:10;border-bottom:1px solid var(--color-border);background:var(--color-background);align-items:center;gap:24px;padding:12px 20px;display:flex;position:sticky;top:0}.detail-bar .back-link{margin:0}.detail-bar>span{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;font-family:var(--font-mono);color:var(--color-muted);flex:1;margin-right:70px;font-size:10px;overflow:hidden}.shell:has([data-page=services],[data-page=about])>.site-footer{display:none}@media not (min-width:640px){.detail>.document-heading{margin-top:40px;font-size:24px}.detail-bar{gap:12px;padding:12px}.detail-bar>span{display:none}}.section-reveal{position:relative}[data-outline-pending] [data-section-perforation]{opacity:0}[data-outline-pending] [data-section-outline]{border-color:#0000!important}:root:has(.collection):active-view-transition-type(nav-forward)::view-transition-old(root){display:none}:root:has(.collection):active-view-transition-type(nav-forward)::view-transition-new(root){display:none}:root:has(.collection):active-view-transition-type(nav-forward)::view-transition-new(.page-forward){display:none}
