@charset "UTF-8";.container{margin:0 auto;padding:clamp(1rem,2.5vw,1.5rem)}.page-main{padding-top:4.5rem}.ui-link{color:var(--link-color, currentColor);text-decoration:none;font-weight:300;transition:color var(--transition);cursor:pointer}.ui-link:hover{color:var(--link-hover-color, var(--accent));font-weight:500}.ui-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-color)}.ui-link[aria-current=location],.ui-link[aria-selected=true],.ui-link.active{color:var(--link-active-color, var(--accent));font-weight:700}.segmented{display:inline-flex;align-items:center}.segmented ui-button>.ui-btn{padding:.4rem 1rem;border-width:.8px;border-style:solid;border-color:color-mix(in srgb,var(--text-color) 50%,transparent);background:transparent;min-height:2rem;font-size:var(--font-base)}.sr-only,.cdk-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.segmented ui-button:first-of-type>.ui-btn{border-top-right-radius:0;border-bottom-right-radius:0}.segmented ui-button:not(:first-of-type,:last-of-type)>.ui-btn{border-left:none;border-right:none;border-radius:0}.segmented ui-button:last-of-type>.ui-btn{border-top-left-radius:0;border-bottom-left-radius:0}.segmented ui-button>.ui-btn:hover{background:var(--surface-2);color:var(--accent)}:root{--color-brand-hue: 265;--color-brand-chroma: .22;--color-primary-50: oklch(98% .02 var(--color-brand-hue));--color-primary-100: oklch(95% .04 var(--color-brand-hue));--color-primary-200: oklch(90% .08 var(--color-brand-hue));--color-primary-300: oklch(82% .13 var(--color-brand-hue));--color-primary-400: oklch(72% .18 var(--color-brand-hue));--color-primary-500: oklch(62% var(--color-brand-chroma) var(--color-brand-hue));--color-primary-600: oklch(56% var(--color-brand-chroma) var(--color-brand-hue));--color-primary-700: oklch(49% .19 var(--color-brand-hue));--color-primary-800: oklch(41% .15 var(--color-brand-hue));--color-primary-900: oklch(34% .11 var(--color-brand-hue));--color-neutral-hue: 250;--color-neutral-0: oklch(100% 0 0);--color-neutral-50: oklch(98% .004 var(--color-neutral-hue));--color-neutral-100: oklch(96% .006 var(--color-neutral-hue));--color-neutral-200: oklch(92% .01 var(--color-neutral-hue));--color-neutral-300: oklch(85% .015 var(--color-neutral-hue));--color-neutral-400: oklch(72% .02 var(--color-neutral-hue));--color-neutral-500: oklch(58% .016 var(--color-neutral-hue));--color-neutral-600: oklch(46% .013 var(--color-neutral-hue));--color-neutral-700: oklch(34% .01 var(--color-neutral-hue));--color-neutral-800: oklch(24% .008 var(--color-neutral-hue));--color-neutral-900: oklch(16% .006 var(--color-neutral-hue));--color-bg-canvas: var(--color-neutral-50);--color-bg-surface-0: var(--color-neutral-0);--color-bg-surface-1: var(--color-neutral-100);--color-bg-surface-2: var(--color-neutral-200);--color-bg-surface-3: var(--color-neutral-300);--color-text-primary: var(--color-neutral-900);--color-text-muted: color-mix(in oklch, var(--color-text-primary) 62%, transparent);--color-text-on-primary: var(--color-neutral-0);--color-border-default: color-mix(in oklch, var(--color-text-primary) 12%, transparent);--color-focus-ring: color-mix(in oklch, var(--color-primary-600) 72%, var(--color-neutral-0));--color-success-600: oklch(70% .18 145);--color-warning-600: oklch(75% .16 85);--color-error-600: oklch(62% .22 25);--color-secondary-500: oklch(68% .18 190);--color-accent-warm-500: oklch(74% .19 55);--color-portfolio-section-heading: inherit;--font-family-base: "Poppins", sans-serif;--font-family-handwritten: "Caveat", cursive;--font-size-100: .75rem;--font-size-200: .875rem;--font-size-300: .95rem;--font-size-400: 1rem;--font-size-500: 1.125rem;--font-size-600: 1.25rem;--font-size-700: 1.5rem;--font-size-800: 1.875rem;--font-size-900: 2.25rem;--line-height-tight: 1.15;--line-height-normal: 1.5;--line-height-relaxed: 1.72;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 999px;--shadow-sm: 0 1px 2px rgb(0 0 0 / 8%);--shadow-md: 0 8px 24px rgb(0 0 0 / 12%);--shadow-lg: 0 18px 44px rgb(0 0 0 / 16%);--duration-fast: .14s;--duration-normal: .22s;--duration-slow: .32s;--easing-standard: cubic-bezier(.2, 0, .2, 1);--transition: var(--duration-normal) var(--easing-standard);--z-dropdown: 1000;--z-sticky: 1100;--z-overlay: 1200;--z-toast: 1300;--interactive-hover-bg: color-mix(in oklch, var(--accent) 10%, var(--surface-1));--interactive-active-bg: color-mix(in oklch, var(--accent) 16%, var(--surface-2));--interactive-focus-ring: 0 0 0 3px color-mix(in oklch, var(--accent) 34%, transparent);--interactive-border-strong: color-mix(in oklch, var(--accent) 44%, var(--border-1));--interactive-disabled-opacity: .56;--surface-elevated: color-mix(in oklch, var(--surface-1) 92%, var(--accent) 3%);--surface-overlay: color-mix(in oklch, var(--surface-1) 78%, transparent);--surface-vivid-1: color-mix(in oklch, var(--color-secondary-500) 16%, var(--surface-1));--surface-vivid-2: color-mix(in oklch, var(--color-accent-warm-500) 14%, var(--surface-1));--border-strong: color-mix(in oklch, var(--text-color) 18%, transparent);--border-subtle: color-mix(in oklch, var(--text-color) 10%, transparent);--accent: var(--color-primary-600);--accent-50: var(--color-primary-50);--accent-100: var(--color-primary-100);--accent-200: var(--color-primary-200);--accent-300: var(--color-primary-300);--accent-400: var(--color-primary-400);--accent-500: var(--color-primary-500);--accent-600: var(--color-primary-600);--accent-700: var(--color-primary-700);--accent-800: var(--color-primary-800);--accent-900: var(--color-primary-900);--bg-color: var(--color-bg-canvas);--surface-0: var(--color-bg-surface-0);--surface-1: var(--color-bg-surface-1);--surface-2: var(--color-bg-surface-2);--surface-3: var(--color-bg-surface-3);--text-color: var(--color-text-primary);--text-muted: var(--color-text-muted);--text-color2: var(--color-text-on-primary);--border-1: var(--color-border-default);--focus-color: var(--color-focus-ring);--focus-ring: 0 0 0 3px color-mix(in oklch, var(--accent) 34%, transparent);--font-base: var(--font-size-400);--text-1: var(--text-color);--radius-round: var(--radius-full);--shadow-1: var(--shadow-sm);--shadow-2: var(--shadow-md);--shadow-3: var(--shadow-lg);--ui-pills-dot-size: 6px;--ui-pills-dot-active-width: 16px;--ui-pills-dot-bg: color-mix(in oklch, var(--color-neutral-0) 60%, transparent);--ui-pills-dot-active-bg: var(--color-neutral-0);--lightbox-nav-bg: color-mix(in oklch, var(--color-neutral-0) 12%, transparent);--lightbox-nav-bg-hover: color-mix(in oklch, var(--color-neutral-0) 22%, transparent);--lightbox-nav-fg: var(--color-neutral-0);--lightbox-counter-bg: color-mix(in oklch, var(--color-neutral-900) 50%, transparent);--lightbox-counter-fg: var(--color-neutral-0)}html[data-theme=dark]{--color-bg-canvas: var(--color-neutral-900);--color-bg-surface-0: oklch(26% .008 var(--color-neutral-hue));--color-bg-surface-1: oklch(22% .008 var(--color-neutral-hue));--color-bg-surface-2: oklch(18% .007 var(--color-neutral-hue));--color-bg-surface-3: oklch(14% .006 var(--color-neutral-hue));--color-text-primary: oklch(94% .006 var(--color-neutral-hue));--color-text-muted: color-mix(in oklch, var(--color-text-primary) 70%, transparent);--color-text-on-primary: var(--color-text-primary);--color-border-default: color-mix(in oklch, var(--color-text-primary) 22%, transparent);--color-focus-ring: color-mix(in oklch, var(--accent) 74%, var(--color-neutral-0));--interactive-hover-bg: color-mix(in oklch, var(--accent) 16%, var(--surface-1));--interactive-active-bg: color-mix(in oklch, var(--accent) 22%, var(--surface-2));--interactive-border-strong: color-mix(in oklch, var(--accent) 56%, var(--border-1));--surface-vivid-1: color-mix(in oklch, var(--color-secondary-500) 18%, var(--surface-1));--surface-vivid-2: color-mix(in oklch, var(--color-accent-warm-500) 14%, var(--surface-1))}html.high-contrast{--color-bg-canvas: var(--color-neutral-0);--color-bg-surface-0: var(--color-neutral-0);--color-bg-surface-1: var(--color-neutral-0);--color-bg-surface-2: var(--color-neutral-50);--color-bg-surface-3: var(--color-neutral-100);--color-text-primary: oklch(10% 0 0);--color-text-on-primary: var(--color-neutral-0);--accent: oklch(10% 0 0);--color-border-default: currentColor;--color-focus-ring: currentColor;--focus-ring: 0 0 0 3px currentColor}html[data-theme=dark].high-contrast{--color-bg-canvas: oklch(8% 0 0);--color-bg-surface-0: oklch(6% 0 0);--color-bg-surface-1: oklch(10% 0 0);--color-bg-surface-2: oklch(14% 0 0);--color-bg-surface-3: oklch(18% 0 0);--color-text-primary: oklch(98% 0 0);--color-text-on-primary: oklch(8% 0 0);--accent: oklch(100% 0 0);--color-border-default: oklch(98% 0 0);--color-focus-ring: oklch(98% 0 0);--focus-ring: 0 0 0 3px oklch(98% 0 0)}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:100;src:url(/assets/fonts/poppins/poppins-v24-latin_latin-ext-100.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:300;src:url(/assets/fonts/poppins/poppins-v24-latin_latin-ext-300.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:400;src:url(/assets/fonts/poppins/poppins-v24-latin_latin-ext-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:500;src:url(/assets/fonts/poppins/poppins-v24-latin_latin-ext-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:600;src:url(/assets/fonts/poppins/poppins-v24-latin_latin-ext-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:700;src:url(/assets/fonts/poppins/poppins-v24-latin_latin-ext-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:800;src:url(/assets/fonts/poppins/poppins-v24-latin_latin-ext-800.woff2) format("woff2")}@font-face{font-display:swap;font-family:Caveat;font-style:normal;font-weight:400;src:url(/assets/fonts/caveat/caveat-v23-latin_latin-ext-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Caveat;font-style:normal;font-weight:500;src:url(/assets/fonts/caveat/caveat-v23-latin_latin-ext-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:Caveat;font-style:normal;font-weight:600;src:url(/assets/fonts/caveat/caveat-v23-latin_latin-ext-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Caveat;font-style:normal;font-weight:700;src:url(/assets/fonts/caveat/caveat-v23-latin_latin-ext-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Caveat Brush;font-style:normal;font-weight:400;src:url(/assets/fonts/caveat-brush/caveat-brush-v12-latin_latin-ext-regular.woff2) format("woff2")}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}@property --fs-multiplier{syntax: "<number>"; inherits: true; initial-value: 1;}:root{--fs-multiplier: 1;--link-color: currentColor;--link-hover-color: var(--accent);--link-active-color: var(--accent);--anchor-scroll-margin: 6rem}html{scroll-padding-top:var(--anchor-scroll-margin)}.container{--is-small: clamp(0, (1.4001 - var(--fs-multiplier)) * 10000, 1);max-width:calc(var(--is-small) * 1200px + (1 - var(--is-small)) * 9999px);transition:max-width .3s ease-in-out}html{font-size:calc(100% * var(--fs-multiplier))}html,body{margin:0;padding:0}body{font-family:Poppins,sans-serif;font-size:var(--font-base);color:var(--text-color);background-color:var(--bg-color)}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.ui-tooltip-pane{pointer-events:none}a{color:var(--link-color);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--link-hover-color)}a:active{color:var(--link-active-color)}*:focus-visible{outline:none;box-shadow:var(--interactive-focus-ring)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.slider-clip{display:none!important}.slider-reduced{display:inline-flex!important}}html.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.motion-off .slider-clip{display:none!important}html.motion-off .slider-reduced{display:inline-flex!important}.skeleton-loader{width:100%;aspect-ratio:1.5458859187;border-radius:var(--radius-xl);background:#e0e0e0;background:linear-gradient(110deg,#ececec 8%,#f8f8f8 18%,#ececec 33%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}@media(prefers-color-scheme:dark){.skeleton-loader{background:#2a2a2a;background:linear-gradient(110deg,#2a2a2a 8%,#3a3a3a 18%,#2a2a2a 33%)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
