@import url('../footer-cursor.css?v=749fc3e144f0');
/* Portfolio chrome only. Tool typography, canvases, and output colors remain local. */
.site-lab-header,.site-lab-footer,.site-lab-skip{--shell-paper:var(--color-paper,#f4f2e9);--shell-ink:var(--color-ink,#202826);--shell-muted:var(--color-muted,#59615b);--shell-rule:var(--color-rule,#c8cdc0);--shell-accent:var(--color-accent,#d4e766);--shell-accent-ink:var(--color-accent-ink,#202826);font-family:Chillax,ui-sans-serif,sans-serif;color:var(--shell-ink);box-sizing:border-box}
.site-lab-header *, .site-lab-footer *{box-sizing:border-box}
.site-lab-header a,.site-lab-footer a{color:inherit;text-decoration:none;text-underline-offset:6px}
.site-lab-header button,.site-lab-footer button{font-family:inherit;color:inherit;cursor:pointer}
.site-lab-header svg,.site-lab-footer svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.site-lab-header a:focus-visible,.site-lab-header button:focus-visible,.site-lab-footer a:focus-visible,.site-lab-footer button:focus-visible,.site-lab-skip:focus-visible{outline:3px solid var(--color-focus,#3160bd);outline-offset:5px}
.site-lab-header{position:sticky!important;z-index:300;inset:auto!important;top:16px!important;height:72px;width:100%;max-width:none;margin:16px auto 0;padding:0 24px;border:0;background:transparent;pointer-events:none;isolation:isolate}
.site-lab-header .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;height:100%;max-width:1060px;width:100%;margin:auto;padding:0 24px;border-radius:40px;background:color-mix(in srgb,var(--shell-paper) 72%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 8px 28px #20282612,inset 0 0 0 1px #ffffff80;pointer-events:auto}
.site-lab-header .wordmark{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:1.05;letter-spacing:-.03em;flex:0 0 auto}
.site-lab-header .monogram{display:flex;font-size:32px;font-weight:600;letter-spacing:-.18em;line-height:1;padding-right:4px}
.site-lab-header .monogram>span{transform:translateY(5px)}
.site-lab-header .nav-inner nav{display:flex;gap:24px;align-items:center;padding:0;margin:0;min-width:0}
.site-lab-header .nav-inner nav a{font-size:14px;padding:12px 0;min-height:44px;white-space:nowrap}
.site-lab-header nav a[aria-current]{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.site-lab-header nav a:hover,.site-lab-header .nav-contact:hover,.site-lab-footer a:hover{text-decoration:underline}
.site-lab-header .nav-contact{display:flex;align-items:center;gap:16px;font-size:15px;white-space:nowrap;min-height:44px}
.site-lab-header .nav-contact svg{width:18px;height:18px}
.site-lab-header .nav-menu{display:none;border:0;background:transparent;font-size:14px;min-height:44px;min-width:44px;padding:8px}
.site-lab-header .theme-reset{display:none;border:0;font-size:12px;text-decoration:underline;line-height:1.3;min-height:44px;padding:6px 10px;background:#f4f2e9;color:#202826;border-radius:8px}
.site-lab-header.shell-custom-theme .theme-reset{display:block}
.site-lab-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;max-width:1360px;padding:20px 32px 0;margin:0 auto;font:13px/1.5 Chillax,ui-sans-serif,sans-serif;color:var(--ink,#202826)}
.site-lab-breadcrumb>a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-underline-offset:4px}
.site-lab-breadcrumb>span[aria-current]{overflow-wrap:anywhere}
.site-lab-breadcrumb>span[aria-hidden]{color:var(--muted,#59615b)}
.site-lab-skip{position:fixed;top:12px;left:12px;z-index:600;padding:12px 18px;border-radius:8px;background:var(--shell-accent);color:var(--shell-accent-ink);transform:translateY(-180%);text-decoration:none;font-size:14px}
.site-lab-skip:focus-visible{transform:none}
.site-lab-footer{display:block;position:relative;isolation:isolate;overflow:clip;max-width:none;width:100%;padding:88px 0 0;margin:36px 0 0;border:0;background:var(--shell-paper);color:var(--shell-ink)}
.site-lab-footer>.container{width:100%;max-width:1440px;margin:auto;padding:0 64px;position:relative;z-index:1}
.site-lab-footer h2{font-size:clamp(52px,7.2vw,104px);max-width:15ch;font-weight:600;letter-spacing:-.04em;line-height:1.04;margin:0}
.site-lab-footer .contact-options{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}
.site-lab-footer .button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:12px 24px;font-size:15px;font-weight:500;line-height:1.4;border:1px solid transparent;border-radius:8px;text-decoration:none;transition:transform 240ms cubic-bezier(.16,1,.3,1)}
.site-lab-footer .button.primary{background:var(--shell-accent);color:var(--shell-accent-ink);border-color:var(--shell-accent)}
.site-lab-footer .button.secondary{border-color:var(--shell-ink);background:transparent;color:var(--shell-ink)}
.site-lab-footer .button:hover{transform:translateY(-3px);text-decoration:none}
.site-lab-footer .button svg{width:18px;height:18px}
.site-lab-footer .email-row{display:flex;align-items:center;gap:20px;margin-top:40px;flex-wrap:wrap}
.site-lab-footer .email-row>a{font-size:clamp(18px,2vw,28px);overflow-wrap:anywhere}
.site-lab-footer #lab-copy-email{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--shell-muted);padding:8px;font-size:12px;min-height:44px;border-radius:8px}
.site-lab-footer #lab-copy-email svg{width:16px;height:16px}
.site-lab-footer #lab-copy-status{font-size:12px;max-width:50ch}
.site-lab-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:80px;padding-top:28px;border-top:1px solid var(--shell-rule);color:var(--shell-muted);font-size:12px;line-height:1.5}
.site-lab-footer .footer-year{margin-left:8px}
.site-lab-footer .footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.site-lab-footer .motion-toggle{color:inherit;font-size:inherit;background:transparent;border:0;padding:8px 0;min-height:44px;border-radius:0}
.site-lab-footer .motion-toggle:disabled{opacity:.75;cursor:default}
.site-lab-footer .footer-name{font-size:clamp(100px,19vw,260px);line-height:1.05;letter-spacing:-.04em;font-weight:600;color:var(--shell-ink);margin-top:28px;transform-origin:bottom left;white-space:nowrap}
@media(max-width:1150px){.site-lab-footer>.container{padding-inline:40px}}
@media(min-width:801px) and (max-width:1000px){.site-lab-header .nav-inner{gap:14px;padding-inline:20px}.site-lab-header .nav-inner nav{gap:16px}.site-lab-header .nav-inner nav a{font-size:12px}.site-lab-header .nav-contact{gap:8px;font-size:13px}.site-lab-header .theme-reset{font-size:11px;padding-inline:6px;max-width:74px}}
@media(max-width:800px){
 .site-lab-header{top:12px!important;height:64px;margin-top:12px;padding-inline:16px}
 .site-lab-header .nav-inner{position:relative;padding:0 20px;border-radius:32px;background:color-mix(in srgb,var(--shell-paper) 75%,transparent)}
 .site-lab-header .nav-contact{display:none}
 .site-lab-header .nav-menu{display:block}
 .site-lab-header .theme-reset{margin-left:auto;margin-right:0;max-width:85px}
 .site-lab-header .nav-inner nav{display:none;position:absolute;top:76px;left:0;right:0;padding:16px 24px;border-radius:24px;background:color-mix(in srgb,var(--shell-paper) 94%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 32px #20282622;max-height:calc(100dvh - 116px);overflow-y:auto;overscroll-behavior:contain}
 .site-lab-header.menu-open .nav-inner nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-lab-header .nav-inner nav a{font-size:18px;padding:14px 0}
 .site-lab-footer .footer-bottom>span:nth-child(2){display:none}
}
@media(max-width:650px){
 .site-lab-breadcrumb{padding:12px 20px 0;font-size:12px}
 .site-lab-footer{padding-top:56px;margin-top:24px}
 .site-lab-footer>.container{padding-inline:24px}
 .site-lab-footer h2{font-size:clamp(39px,10.5vw,49px)}
 .site-lab-footer .contact-options{gap:8px;margin-top:32px}
 .site-lab-footer .button{padding:12px 18px;gap:16px;font-size:14px}
 .site-lab-footer .email-row{gap:8px;margin-top:28px}
 .site-lab-footer .email-row>a{font-size:19px}
 .site-lab-footer .footer-bottom{margin-top:48px;gap:8px 24px}
 .site-lab-footer .footer-bottom>span:first-child{flex-basis:100%}
 .site-lab-footer .footer-name{font-size:20vw;margin-top:24px;line-height:1.25}
}
@supports not (backdrop-filter:blur(1px)){.site-lab-header .nav-inner,.site-lab-header .nav-inner nav{background:var(--shell-paper)}}
@media(prefers-reduced-motion:reduce){.site-lab-footer .button{transition:none;transform:none}.site-lab-header{scroll-behavior:auto}}
html:not(.motion-on) .site-lab-footer .button{transition:none;transform:none}
@media print{.site-lab-header,.site-lab-footer,.site-lab-breadcrumb,.site-lab-skip{display:none!important}}

/* The page-wide preference mirrors the OS reduction for decorative transitions.
   Interactive tools also consume hr-motion-change for their JavaScript playback. */
html[data-lab-motion="reduced"]{scroll-behavior:auto}
html[data-lab-motion="reduced"] main *,html[data-lab-motion="reduced"] main *::before,html[data-lab-motion="reduced"] main *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
