/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */:root{--font-sans:"Michelle",sans-serif;--default-font-family:"Michelle",sans-serif;--font-size:16px;--background:#fff;--foreground:oklch(14.5% 0 0);--card:#fff;--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:#18181b;--primary-foreground:oklch(100% 0 0);--secondary:oklch(95% .0058 264.53);--secondary-foreground:#18181b;--muted:#ececf0;--muted-foreground:#71717a;--accent:#e9ebef;--accent-foreground:#18181b;--destructive:#d4183d;--destructive-foreground:#fff;--border:#0000001a;--input:transparent;--input-background:#f3f3f5;--switch-background:#cbced4;--font-weight-medium:500;--font-weight-normal:400;--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:#18181b;--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(14.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(14.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(98.5% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(39.6% .141 25.723);--destructive-foreground:oklch(63.7% .237 25.331);--border:oklch(26.9% 0 0);--input:oklch(26.9% 0 0);--ring:oklch(43.9% 0 0);--font-weight-medium:500;--font-weight-normal:400;--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(26.9% 0 0);--sidebar-ring:oklch(43.9% 0 0)}@layer base{*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Michelle,sans-serif}:where(:not(:has([class*=\ text-]),:not(:has([class^=text-])))) h1{font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=\ text-]),:not(:has([class^=text-])))) h2{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=\ text-]),:not(:has([class^=text-])))) h3{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=\ text-]),:not(:has([class^=text-])))) button,:where(:not(:has([class*=\ text-]),:not(:has([class^=text-])))) h4,:where(:not(:has([class*=\ text-]),:not(:has([class^=text-])))) label{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=\ text-]),:not(:has([class^=text-])))) input{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}@layer components{.button{cursor:pointer;corner-shape:round;border-style:solid;border-width:0;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:500;line-height:1.5;transition:border-radius .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out;display:inline-flex}.button.primary{color:#fff;background-color:#3b82f6;border-width:1px;border-color:#60a5fa;font-family:Michelle,sans-serif;font-weight:600}.button.primary:hover{background-color:#60a5fa;border-color:#93c5fd}.button.secondary{color:#3f3f46;background-color:#fafafa;border-width:1px;border-color:#e4e4e7}.button.secondary:hover{background-color:#18181b0d}.button.tertiary{color:#3f3f46;background-color:#f4f4f5}.button.tertiary:hover{background-color:#71717a1a}.button.ghost{color:#3f3f46;background-color:#0000}.button.ghost:hover{background-color:#18181b0d}.button.sm{gap:.25rem;padding:.25rem .75rem;font-size:.875rem}.button.md{padding:.375rem 1rem}.button.lg,.button.md{gap:.375rem;font-size:1rem}.button.lg{padding:.625rem 1.25rem}.button.icon{gap:0;padding:0}.button.icon.sm{width:2rem;height:2rem}.button.icon.md{width:2.5rem;height:2.5rem}.button.icon.lg{width:3rem;height:3rem}.button.rectangular{border-radius:.75rem}@media (prefers-reduced-motion:reduce){.button{transition:none}}.field-shell{corner-shape:round;border:1px solid #0000;border-radius:9999px;flex-shrink:0;align-items:center;width:100%;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.field-shell.surface{background-color:#fff;padding:.5rem .75rem .5rem 1rem}.field-shell.muted{background-color:#f4f4f5;padding:.5rem .25rem}.field-shell.active,.field-shell:focus-within{border-color:#d4d4d8}.field-shell.error,.field-shell.error:focus-within{border-color:#f87171}.field-shell.input-sample{corner-shape:round;clip-path:inset(0 round 9999px);border-radius:9999px;max-width:11.5rem}.field-shell.input-sample .field-icon-slot{width:.75rem;height:.75rem}.field-shell.input-sample .field-leading-icon{margin-left:.625rem}.field-shell.input-sample.leading{gap:.5rem;padding-left:.5rem}.field-shell.leading{gap:.625rem;padding-left:.25rem}.field-shell.trailing{justify-content:space-between}.field-input{appearance:none;color:#18181b;background:0 0;border:none;outline:none;flex:1;min-width:0;height:1.25rem;padding:0;font-size:1rem;font-weight:400;line-height:1}.field-input::placeholder{color:#a1a1aa}.field-input:disabled{cursor:not-allowed;opacity:.5}.field-shell.leading .field-input{letter-spacing:.01em;color:#3f3f46;padding-right:.75rem}.field-shell.muted .field-input{padding-left:.875rem;padding-right:.875rem}.field-icon-slot{flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex}.field-icon-slot svg{flex-shrink:0;display:block}.field-leading-icon{pointer-events:none;color:#a1a1aa;margin-left:.375rem}.field-trailing-icon{color:#a1a1aa}.ghost-icon-button{cursor:pointer;corner-shape:round;background-color:#0000;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s ease-out;display:inline-flex}.ghost-icon-button:hover{background-color:#18181b0d}.ghost-icon-button.sm{width:2rem;height:2rem}.ghost-icon-button.md{width:2.5rem;height:2.5rem}.ghost-icon-button.lg{width:3rem;height:3rem}.filter-pills{align-items:center;gap:.25rem;display:flex;position:relative}.filter-pill-indicator{z-index:0;background-color:#71717a1a;border-radius:9999px;position:absolute;top:0;left:0}.filter-pill-indicator.ready{transition:transform .3s ease-out,width .3s ease-out,opacity .3s ease-out}.filter-pill{z-index:10;cursor:pointer;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem .75rem;display:flex;position:relative}.filter-pill-label{letter-spacing:.025em;white-space:nowrap;color:#a1a1aa;font-family:Michelle,sans-serif;font-size:1rem;font-weight:500;transition:color .2s ease-out}.filter-pill.active .filter-pill-label,.filter-pill:hover .filter-pill-label{color:#71717a}.filter-pill-count{color:#d4d4d8}.filter-pill.active .filter-pill-count{color:#a1a1aa}.filter-pills-fade{pointer-events:none;z-index:20;inset-block:0;background:linear-gradient(90deg,#0000,#fff);width:3rem;position:absolute;right:0}@media (prefers-reduced-motion:reduce){.filter-pill-indicator.ready,.filter-pill-label{transition:none}}.filter-dropdown{position:relative}.filter-dropdown-trigger{cursor:pointer;background-color:#71717a1a;border-radius:9999px;flex-shrink:0;align-items:center;gap:.375rem;padding:.375rem .75rem;transition:background-color .2s;display:flex}.filter-dropdown-trigger:hover{background-color:#71717a26}.filter-dropdown-trigger-label{letter-spacing:.01em;white-space:nowrap;color:#71717a;font-family:Michelle,sans-serif;font-size:1rem;font-weight:500}.filter-dropdown-trigger-count{color:#a1a1aa}.filter-dropdown-chevron{color:#a1a1aa;transition:transform .2s}.filter-dropdown-chevron.open{transform:rotate(180deg)}.filter-dropdown-panel{z-index:9999;box-shadow:var(--shadow-elevated),0 0 0 1px #f4f4f5;background-color:#fff;border-radius:.75rem;animation:filter-dropdown-in .2s ease-out}.filter-dropdown-panel.portal{width:max-content;position:fixed}.filter-dropdown-panel.inline{width:max-content;min-width:100%;position:absolute;top:calc(100% + 4px);left:0}.filter-dropdown-options{flex-direction:column;gap:.25rem;padding:.25rem;display:flex}.filter-dropdown-option{text-align:left;border-radius:10px;align-items:center;padding:.25rem .5rem;transition:background-color .15s;display:flex}@supports (corner-shape:squircle){.filter-dropdown-option{border-radius:1.125rem}}.filter-dropdown-option:hover{background-color:#fafafa}.filter-dropdown-option.active{background-color:#f4f4f5}.filter-dropdown-option-label{letter-spacing:.01em;white-space:nowrap;color:#a1a1aa;font-family:Michelle,sans-serif;font-size:1rem;font-weight:500}.filter-dropdown-option.active .filter-dropdown-option-label{color:#52525b}.filter-dropdown-option-count{color:#d4d4d8}.filter-dropdown-option.active .filter-dropdown-option-count{color:#a1a1aa}@keyframes filter-dropdown-in{0%{opacity:0}to{opacity:1}}.contact-badge{border-radius:999px;justify-content:center;align-items:center;width:fit-content;transition-property:all;transition-timing-function:ease-in-out;display:inline-flex;position:relative}.contact-badge.expanded{background-color:#ecfdf5}.contact-badge.collapsed{background-color:#0000}.contact-badge.hover-mode{vertical-align:middle;cursor:inherit;transform:translateY(-2px)}.contact-badge.hover-mode:before{content:"";pointer-events:auto;border-radius:999px;position:absolute;inset:-.5rem}.contact-badge.hover-mode{transition-duration:.3s}.contact-badge.scroll-mode{transition-duration:.8s}.contact-badge.sm.expanded.hover-mode{gap:.375rem;padding:0 .625rem 0 .25rem}.contact-badge.sm.expanded:not(.hover-mode){gap:.375rem;padding:.125rem .625rem .125rem .25rem}.contact-badge.md.expanded{gap:.25rem;padding:.125rem .625rem .125rem .375rem}.contact-badge.lg.expanded{gap:.25rem;padding:0 .75rem 0 .25rem}.contact-badge.lg.collapsed.hover-mode,.contact-badge.md.collapsed.hover-mode,.contact-badge.sm.collapsed.hover-mode{gap:0;padding:0 0 0 .25rem}@media (min-width:768px){.contact-badge.lg.expanded,.contact-badge.sm.collapsed.hover-mode,.contact-badge.sm.expanded.hover-mode{margin-left:.125rem}}.contact-badge.collapsed.scroll-mode,.contact-badge.collapsed:not(.hover-mode):not(.scroll-mode){gap:0;padding:.25rem}.contact-badge-dot{flex-shrink:0;width:1rem;height:1rem;position:relative;overflow:visible}.contact-badge-pulse{pointer-events:none;transition:opacity .3s ease-out;position:absolute;inset:0}.contact-badge-pulse.on{opacity:1}.contact-badge-pulse.off{opacity:0}.contact-badge-text{z-index:10;text-wrap:nowrap;letter-spacing:.005em;color:#10b981;font-family:Michelle,sans-serif;font-weight:400;transition-property:max-width,opacity;transition-timing-function:ease-out;position:relative;overflow:hidden}.contact-badge.sm .contact-badge-text{font-size:.875rem}.contact-badge.md .contact-badge-text{font-size:1rem}.contact-badge.lg .contact-badge-text{font-size:1.125rem}.contact-badge.hover-mode .contact-badge-text{transition-duration:.3s}.contact-badge.scroll-mode .contact-badge-text{transition-duration:.8s}.contact-badge.expanded .contact-badge-text{opacity:1;max-width:500px}.contact-badge.collapsed .contact-badge-text{opacity:0;max-width:0}.contact-badge-link{color:#10b981;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-position:from-font;font-weight:600;transition:color .15s}.contact-badge-link:hover{color:#3b82f6!important}.inline-link{color:inherit;border-radius:.125rem;transition:color .2s ease-out}.inline-link:focus-visible,.inline-link:hover{color:#3b82f6}.loading-spinner{align-items:center;gap:.75rem;display:flex}.loading-spinner-ring{border-style:solid;border-color:#a1a1aa #e4e4e7 #e4e4e7;border-radius:9999px;animation:spin 1s linear infinite}.loading-spinner.sm .loading-spinner-ring{border-width:2px;width:1.25rem;height:1.25rem}.loading-spinner.md .loading-spinner-ring{border-width:2px;width:2rem;height:2rem}.loading-spinner.lg .loading-spinner-ring{border-width:3px;width:2.5rem;height:2.5rem}.loading-spinner-label{color:#a1a1aa;font-size:.875rem}@keyframes spin{to{transform:rotate(1turn)}}.section-heading{flex-direction:column;display:flex}.section-heading-title{color:#52525b;flex-shrink:0;font-family:Michelle,sans-serif;font-size:1.875rem;font-weight:500;line-height:1.5}.section-heading-subtitle{letter-spacing:.025em;color:#a1a1aa;font-family:Michelle,sans-serif;font-size:1.125rem;font-weight:400}.horizontal-line{background-color:#f4f4f5;width:100%;height:1px}}a,body{cursor:url(/_next/static/media/cursor-default.d11aa22d.svg) 20 20,url(/_next/static/media/cursor-default-small.3fe62924.svg) 16 16,auto}.cursor-pointer:hover,[role=button]:hover,a:hover,button:hover,input[type=button]:hover,input[type=submit]:hover{cursor:url(/_next/static/media/cursor-hover.91c6ca70.svg) 23 23,url(/_next/static/media/cursor-hover-small.8af58546.svg) 16 16,pointer}@media (hover:none) and (pointer:coarse){a,body{cursor:auto!important}.cursor-pointer:hover,[role=button]:hover,a:hover,button:hover,input[type=button]:hover,input[type=submit]:hover{cursor:pointer!important}}.debug-cursor body:after{content:"Cursor: " attr(data-cursor-status);color:#fff;z-index:10000;pointer-events:none;background:#000c;border-radius:6px;padding:8px 12px;font-size:12px;position:fixed;bottom:10px;right:10px}html{font-size:var(--font-size);font-family:Michelle,sans-serif}@keyframes gradient-bg{0%{background-position:0 49%}50%{background-position:30% 51%}to{background-position:0 49%}}@media (min-width:768px){body:before{content:"";pointer-events:none;z-index:40;background:linear-gradient(#ffffff80,#ffffff5e 19%,#ffffff45 34%,#ffffff31 47%,#ffffff23 56.5%,#ffffff19 65%,#ffffff10 73%,#ffffff0a 80.2%,#ffffff05 86.1%,#ffffff03 91%,#ffffff01 95.2%,#fff0 98.2% 100%);height:8rem;position:fixed;top:0;left:0;right:0}}.header-gradient{background:linear-gradient(190deg,#d5e0ff 0 8%,#e2eaff 15%,#f5e2ff 22%,#fde9fa 28%,#fff5fc 35%,#fffeff 42%,#fff 55% 100%) 0 0/120% 120%;animation:gradient-bg 8s infinite;position:relative;overflow:hidden}*,:after,:before{font-family:Michelle,sans-serif}[class*=font-\[]{font-family:Michelle,sans-serif!important}::selection{color:#3b82f6;background:#dbeafe}p a{transition:color .2s}p a:hover{color:#3b82f6}@media (min-width:768px){.project-card .project-hover-text{opacity:0;transition:opacity .3s ease-out,transform .3s ease-out;transform:translateY(8px)}.project-card:focus-visible .project-hover-text,.project-card:hover .project-hover-text{opacity:1;transform:translateY(0)}}@keyframes projectCardEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0)}}.project-card{will-change:opacity,transform;animation:projectCardEnter .45s cubic-bezier(.25,.46,.45,.94) both}@media (prefers-reduced-motion:reduce){.project-card{animation:none}}.social-link{transition:transform .1s}.social-link:hover svg path{transition:fill .1s linear;fill:#3b82f6!important;stroke:none!important}.social-link-linkedin:hover svg path{transition:fill .1s linear,stroke .1s linear;fill:#3b82f6!important;stroke:#3b82f6!important}.social-link:hover img{transition:filter .1s linear;filter:brightness(0)saturate()invert(45%)sepia(98%)saturate(1653%)hue-rotate(200deg)brightness(101%)contrast(96%)!important}@keyframes pulse-ring{0%{opacity:.9;transform:translate(-50%,-50%)scale(0)}55%{opacity:.55;transform:translate(-50%,-50%)scale(.88)}90%{opacity:0;transform:translate(-50%,-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.1)}}.green-pulse-ring{corner-shape:round;pointer-events:none;z-index:0;background-color:#bbf7d0;border-radius:50%;width:26px;height:26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}@media (min-width:768px){.green-pulse-ring{animation:pulse-ring 2.3s ease-out infinite}}@media (max-width:767px){.green-pulse-ring{display:none}}.duration-400{transition-duration:.4s}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scroll-reveal{opacity:0;backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:ease-out;transform:translateY(20px)}.scroll-reveal.revealed{opacity:1;transform:translate(0)}.scroll-reveal-stagger>.scroll-reveal:first-child{transition-delay:0s}.scroll-reveal-stagger>.scroll-reveal:nth-child(2){transition-delay:80ms}.scroll-reveal-stagger>.scroll-reveal:nth-child(3){transition-delay:.16s}.scroll-reveal-stagger>.scroll-reveal:nth-child(4){transition-delay:.24s}.scroll-reveal-stagger>.scroll-reveal:nth-child(5){transition-delay:.32s}.scroll-reveal-stagger>.scroll-reveal:nth-child(6){transition-delay:.4s}.scroll-reveal-stagger>.scroll-reveal:nth-child(7){transition-delay:.48s}.scroll-reveal-stagger>.scroll-reveal:nth-child(8){transition-delay:.56s}.scroll-reveal-stagger>.scroll-reveal:nth-child(9){transition-delay:.64s}.scroll-reveal-stagger>.scroll-reveal:nth-child(10){transition-delay:.72s}.scroll-reveal-stagger>.scroll-reveal:nth-child(n+11){transition-delay:.8s}.scroll-reveal-fast{opacity:0;backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.65s;transition-timing-function:ease-out;transform:translateY(12px)}.scroll-reveal-fast.revealed{opacity:1;transform:translate(0)}.scroll-reveal-fade{opacity:0;backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.3s;transition-timing-function:ease-out;transform:translateY(12px)}.scroll-reveal-fade.revealed{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal-fade,.scroll-reveal-fast{opacity:1;transition:none;transform:none}}.quote-underline-wrapper{display:inline}.quote-animated-underline{background-image:linear-gradient(90deg,#d4d4d8 0 100%);background-position:0 100%;background-repeat:no-repeat;background-size:0 2px;padding-bottom:1px;transition:background-size .6s cubic-bezier(.4,0,.2,1);display:inline;position:relative}.quote-animated-underline.revealed{background-size:100% 2px}@media (prefers-reduced-motion:reduce){.quote-animated-underline{background-size:100% 2px;transition:none}}.tooltip{color:#fff;white-space:nowrap;pointer-events:none;z-index:9999;transform-origin:var(--transform-origin);background-color:#27272a;border-radius:.5rem;padding:.25rem .5rem;font-size:.875rem;font-weight:500;transition:transform .125s ease-out,opacity .125s ease-out;position:absolute;left:50%;transform:translate(-50%)}@starting-style{.tooltip{opacity:0;transform:translate(-50%)scale(.97)}}.tooltip[data-ending-style]{opacity:0;transform:translate(-50%)scale(.97)}.tooltip[data-instant]{transition-duration:0s}@media (max-width:767px){video::-webkit-media-controls,video::-webkit-media-controls-panel{-webkit-appearance:none!important;opacity:0!important;pointer-events:none!important;display:none!important}video::-webkit-media-controls-play-button,video::-webkit-media-controls-start-playback-button{-webkit-appearance:none!important;opacity:0!important;pointer-events:none!important;display:none!important}video::-webkit-media-controls-overlay-play-button,video::-webkit-media-controls-timeline{-webkit-appearance:none!important;opacity:0!important;pointer-events:none!important;display:none!important}video::-webkit-media-controls-current-time-display,video::-webkit-media-controls-time-remaining-display{-webkit-appearance:none!important;opacity:0!important;pointer-events:none!important;display:none!important}video::-webkit-media-controls-mute-button,video::-webkit-media-controls-volume-slider{-webkit-appearance:none!important;opacity:0!important;pointer-events:none!important;display:none!important}video::-webkit-media-controls-enclosure,video::-webkit-media-controls-fullscreen-button{-webkit-appearance:none!important;opacity:0!important;pointer-events:none!important;display:none!important}}video::-webkit-media-controls,video::-webkit-media-controls-panel{display:none!important}video::-webkit-media-controls-enclosure{display:none!important}