:root{--primary-50: oklch(97.1% .014 272.3);--primary-100: oklch(94.5% .026 273.1);--primary-200: oklch(89.6% .05 271.8);--primary-300: oklch(81.3% .093 272.1);--primary-400: oklch(70.4% .154 272.1);--primary-500: oklch(60.8% .212 271.2);--primary-600: oklch(54.3% .254 271.5);--primary-700: oklch(49.3% .259 271.1);--primary-800: oklch(43.4% .226 271.3);--primary-900: oklch(38.2% .218 272.3);--primary-950: oklch(28.5% .188 269.6);--secondary-50: oklch(97.5% .012 19.8);--secondary-100: oklch(92.9% .035 19.8);--secondary-200: oklch(82.1% .081 19.8);--secondary-300: oklch(69.1% .135 19.8);--secondary-400: oklch(58.2% .18 19.8);--secondary-500: oklch(53.6% .2 19.8);--secondary-600: oklch(49.7% .188 19.8);--secondary-700: oklch(40.4% .161 19.8);--secondary-800: oklch(29.2% .117 19.8);--secondary-900: oklch(19.9% .08 19.8);--secondary-950: oklch(16% .064 19.8);--accent-50: oklch(97.5% .023 81.9);--accent-100: oklch(95.7% .038 81.9);--accent-200: oklch(91.3% .073 81.9);--accent-300: oklch(86.2% .115 81.9);--accent-400: oklch(81.8% .15 81.9);--accent-500: oklch(80% .165 81.9);--accent-600: oklch(73.3% .151 81.9);--accent-700: oklch(57.5% .118 81.9);--accent-800: oklch(38.5% .079 81.9);--accent-900: oklch(22.7% .047 81.9);--accent-950: oklch(16% .033 81.9);--tag-teal-50: oklch(97.2% .012 193);--tag-teal-100: oklch(93.5% .028 193);--tag-teal-200: oklch(86% .05 193);--tag-teal-300: oklch(75% .085 193);--tag-teal-500: oklch(58% .13 193);--tag-teal-700: oklch(40% .11 193);--tag-teal-900: oklch(24% .075 193);--tag-berry-50: oklch(97.2% .012 336);--tag-berry-100: oklch(93.5% .028 336);--tag-berry-200: oklch(86% .05 336);--tag-berry-300: oklch(75% .085 336);--tag-berry-500: oklch(58% .13 336);--tag-berry-700: oklch(40% .11 336);--tag-berry-900: oklch(24% .075 336);--success-light: oklch(93.3% .023 157.6);--success: oklch(70.3% .18 150.2);--success-dark: oklch(39.4% .095 151);--warning-light: oklch(92.2% .025 81.1);--warning: oklch(76.5% .163 71.1);--warning-dark: oklch(45.1% .093 73.4);--error-light: oklch(92.8% .016 12.8);--error: oklch(55.8% .209 26.2);--error-dark: oklch(34% .121 25.1);--info-light: oklch(92.6% .018 229);--info: oklch(67.5% .146 238.9);--info-dark: oklch(37.8% .077 236.9);--gray-950: oklch( 13% .024 271.5 );--gray-900: oklch( 19% .022 271.5 );--gray-800: oklch( 30% .019 271.5 );--gray-700: oklch( 40% .017 271.5 );--gray-600: oklch( 50% .014 271.5 );--gray-500: oklch( 60% .012 271.5 );--gray-400: oklch( 69% .01 271.5 );--gray-300: oklch( 77% .008 271.5 );--gray-200: oklch( 85% .006 271.5 );--gray-100: oklch( 92.5% .004 271.5 );--gray-50: oklch( 97.5% .0025 271.5 );--display-font: "General Sans Variable", sans-serif;--main-font: "Inter", sans-serif;--text-base-size: 1rem;--type-scale: 1.414;--text-caption: .75rem;--text-base: var(--text-base-size);--text-body-large: calc(var(--text-base-size) * var(--type-scale));--text-h1: clamp( 2.25rem, 1.5rem + 3.75vw, calc(var(--text-h2) * var(--type-scale)) );--text-h1-line-height: 1.05;--text-h1-letter-spacing: -.02em;--text-h1-wrap: balance;--text-h2: clamp( 1.75rem, 1.35rem + 2vw, calc(var(--text-h3) * var(--type-scale)) );--text-h2-line-height: 1.12;--text-h2-letter-spacing: -.015em;--text-h2-wrap: balance;--text-h3: clamp( 1.375rem, 1.1rem + 1.38vw, calc(var(--text-h4) * var(--type-scale)) );--text-h3-line-height: 1.22;--text-h3-letter-spacing: -.01em;--text-h3-wrap: balance;--text-h4: var(--text-body-large);--text-h4-line-height: 1.35;--text-h4-letter-spacing: -.005em;--text-h4-wrap: pretty;--space-unit: 1rem;--space-3xs: calc(.125 * var(--space-unit));--space-2xs: calc(.25 * var(--space-unit));--space-xs: calc(.5 * var(--space-unit));--space-sm: calc(.75 * var(--space-unit));--space-lg: calc(1.5 * var(--space-unit));--space-xl: calc(2 * var(--space-unit));--space-2xl: calc(3 * var(--space-unit));--space-3xl: calc(4 * var(--space-unit));--space-4xl: calc(6 * var(--space-unit));--space-5xl: calc(8 * var(--space-unit));--radius-sm: 1rem;--radius-card: 1.5rem;--radius-md: 2rem;--radius-pill: 6.25rem;--radius-full: 100rem;--radius-circle: 50%;--border-width-sm: 1px;--border-width-md: 2px;--border-color-subtle: var(--gray-100);--border-color-default: var(--gray-200);--border-color-transparent: transparent;--border-subtle: var(--border-width-md) solid var(--border-color-subtle);--border-default: var(--border-width-sm) solid var(--border-color-default);--grid-margin: 4rem;--grid-gutter: 1.5rem;--case-grid-margin: 4rem;--header-height: 7rem;--max-width: 82rem;--animation-ease: cubic-bezier(.49, .17, .16, 1.05);--animation-duration: .2s;--ease-emphasized: cubic-bezier(.32, .72, 0, 1);--ease-exit: cubic-bezier(.4, 0, .7, 1);--duration-panel: .55s;--duration-panel-exit: .36s;--duration-icon: .4s;--focus-ring-color: var(--primary-700);--focus-ring-width: 2px;--focus-ring-offset: .2rem}::selection{background:var(--gray-900);color:var(--gray-50)}::-moz-selection{background:var(--gray-900);color:var(--gray-50)}:focus{outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color)!important;outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}@media(any-hover:none)and (any-pointer:coarse){:focus-visible{outline:none!important}}*{margin:0;padding:0;box-sizing:border-box}img,svg,video,canvas,iframe{max-width:100%}html,body{margin:0;padding:0;width:100%;overflow-x:clip;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}main{min-height:100dvh}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}body{margin:0;padding:0;background-color:var(--gray-50)}h1{font-family:var(--display-font);font-size:var(--text-h1);font-weight:600;line-height:var(--text-h1-line-height);letter-spacing:var(--text-h1-letter-spacing);text-wrap:var(--text-h1-wrap);font-style:normal}h2{font-family:var(--display-font);font-size:var(--text-h2);font-style:normal;font-weight:600;line-height:var(--text-h2-line-height);letter-spacing:var(--text-h2-letter-spacing);text-wrap:var(--text-h2-wrap);color:var(--gray-900)}h3{font-family:var(--display-font);font-size:var(--text-h3);font-style:normal;font-weight:600;line-height:var(--text-h3-line-height);letter-spacing:var(--text-h3-letter-spacing);text-wrap:var(--text-h3-wrap);color:var(--gray-900)}h4{font-family:var(--main-font);font-size:var(--text-h4);font-style:normal;font-weight:500;line-height:1.4;letter-spacing:0em;text-wrap:balance;color:var(--gray-900)}p{font-family:var(--main-font);font-size:var(--text-base);font-style:normal;font-weight:400;line-height:1.6;letter-spacing:0em;text-wrap:pretty}.body-large{font-family:var(--main-font);font-size:var(--text-body-large);font-style:normal;font-weight:400;line-height:1.5;letter-spacing:0em;text-wrap:pretty}.caption{font-family:var(--main-font);font-size:var(--text-caption);line-height:1.4;font-weight:400;letter-spacing:.01em}.icon-svg{fill:none;stroke:var(--gray-900);stroke-width:.125rem}.icon-16{width:var(--space-unit);height:var(--space-unit)}.icon-24{width:var(--space-lg);height:var(--space-lg)}.icon-32{width:var(--space-xl);height:var(--space-xl)}.padding-lg{padding:var(--space-lg)}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.text-center{text-align:center}.link-button:focus-visible,.filter-button:focus-visible,.filter-button-active:focus-visible{outline-offset:var(--focus-ring-offset);border-radius:var(--radius-pill)}.work-item:focus-visible,.contact-card:focus-visible{outline-offset:-2px}section{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(2rem,5vw,5rem);min-height:100dvh;width:100%;padding-inline:var(--grid-margin);margin:0 auto;position:relative}section:first-of-type{top:0;position:relative;min-height:100dvh;width:100%;padding:var(--header-height) 0rem calc(var(--grid-margin) / 2) 0rem;padding-inline:calc(var(--grid-margin) / 2)}section h1{color:var(--gray-900)}section p{color:var(--gray-700)}section#about,section#portfolio,section#contact{padding-top:calc(var(--header-height) + var(--space-2xs))!important;padding-bottom:var(--space-xl)}.section-header{display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:54.13rem;gap:var(--space-lg)}.section-header h2{color:var(--gray-900)}.section-break{width:100%;max-width:60rem;height:.125rem;background-color:var(--gray-100)}.section-container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3xl);width:100%;max-width:82rem}.logo{fill:var(--gray-900);height:2.5rem;width:auto}.skip-link{position:fixed;top:var(--space-sm);left:50%;z-index:200;padding:var(--space-sm) var(--space-unit);background:var(--primary-700);color:var(--gray-50);font-family:var(--main-font);font-size:var(--text-base);text-decoration:none;border-radius:var(--radius-pill);transform:translate(-50%,-150%);transition:transform .3s var(--animation-ease)}.skip-link:focus-visible{transform:translate(-50%,var(--space-sm))}.work-container.filter-fade-out .work-item{opacity:0!important;transform:translateY(40px)!important;transition:opacity var(--animation-duration) var(--animation-ease),transform var(--animation-duration) var(--animation-ease)!important;transition-delay:calc(var(--item-index, 0) * .05s)!important}.work-container.filtered-view .work-item{transition-delay:calc(var(--item-index, 0) * .15s)!important}@media(max-width:79.99rem){:root{--grid-margin: 2rem;--grid-gutter: 2rem;--case-grid-margin: 3rem;--text-caption: .75rem}}@media(max-width:63.99rem){:root{--grid-margin: 2rem;--grid-gutter: 2rem;--case-grid-margin: 2rem;--header-height: 6rem;--text-body-large: var(--text-base)}.section-column{width:100%;align-items:center}.reveal:has(.section-header){width:100%}.section-header{width:100%;margin-inline:auto;align-items:center;justify-content:center;text-align:center}}@media(max-width:47.99rem){:root{--grid-margin: 2rem;--grid-gutter: 2rem;--case-grid-margin: 2rem;--header-height: 5.5rem}}@media(max-width:39.99rem){:root{--grid-margin: .625rem;--grid-gutter: .5rem;--case-grid-margin: 1.25rem;--header-height: 5rem}section{min-height:80dvh;width:100%;padding-inline:var(--grid-margin);position:relative;gap:var(--space-xl);padding-top:var(--space-xl)}section:first-of-type{top:0;position:relative;min-height:100dvh;width:100%;padding:var(--header-height) 0rem var(--space-unit) 0rem;padding-inline:var(--space-unit)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.image-cluster img{animation:none!important}}@keyframes fadeInCanvas{0%{opacity:0}to{opacity:1}}:root{--reveal-duration: .85s;--reveal-ease: cubic-bezier(.22, 1, .36, 1);--reveal-distance: 28px;--reveal-distance-x: 40px;--reveal-scale: .97;--reveal-scale-in: .92;--reveal-blur: 4px}@property --reveal-delay{syntax: "<time>"; inherits: false; initial-value: 0ms;}@media(prefers-reduced-motion:no-preference){.reveal[data-visible]{transition-property:opacity,translate,scale,rotate,filter;transition-duration:calc(var(--reveal-duration) * .7),var(--reveal-duration),var(--reveal-duration),var(--reveal-duration),calc(var(--reveal-duration) * .7);transition-timing-function:var(--reveal-ease);transition-delay:var(--reveal-delay, 0ms)}.reveal[data-visible=false]{opacity:0;transition-delay:0ms}.reveal[data-visible=false][data-animation=fade-up]{translate:0 var(--reveal-distance);scale:var(--reveal-scale)}.reveal[data-visible=false][data-animation=scale-in]{scale:var(--reveal-scale-in)}.reveal[data-visible=false][data-animation=slide-left]{translate:var(--reveal-distance-x) 0}.reveal[data-visible=false][data-animation=slide-right]{translate:calc(var(--reveal-distance-x) * -1) 0}.reveal[data-visible=false][data-blur=true]{filter:blur(var(--reveal-blur))}}header{position:fixed;top:0;left:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;height:var(--header-height);padding-inline:min(calc(var(--grid-margin) * 2),4rem);z-index:100;transition:opacity var(--animation-duration) var(--animation-ease),transform var(--animation-duration) var(--animation-ease),background var(--animation-duration) var(--animation-ease),border-bottom var(--animation-duration) var(--animation-ease),box-shadow var(--animation-duration) var(--animation-ease);background:#f9f9f966;backdrop-filter:blur(1.5rem);-webkit-backdrop-filter:blur(1.5rem);border-bottom:var(--border-width-sm) solid var(--border-color-transparent);box-shadow:0 .25rem 2rem #0000}header nav{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}header nav ul{list-style:none;gap:var(--space-xl)}header nav .nav-link{font-family:var(--main-font);font-size:var(--text-base);font-style:normal;font-weight:400;line-height:var(--space-unit);text-decoration:none;color:var(--gray-600)}header nav .nav-link.active{color:var(--gray-900)}header nav .nav-link:hover{color:var(--gray-900);transition:color var(--animation-duration) var(--animation-ease)}header.header-scrolled{background:#f9f9f9d1;border-bottom:1px solid rgba(233,233,233,.8);box-shadow:0 .25rem 2rem #00000008}header.header-visible{opacity:1;transform:translateY(0);pointer-events:auto}header.header-hidden{opacity:0;transform:translateY(-100%);pointer-events:none}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:0;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;z-index:101;transition:scale var(--animation-duration) var(--ease-emphasized)}.mobile-menu-toggle:active{scale:.92}.menu-icon{position:relative;display:block;width:var(--space-lg);height:var(--space-lg)}.menu-icon-line{position:absolute;top:50%;left:0;width:100%;height:var(--border-width-md);margin-top:calc(var(--border-width-md) / -2);background:var(--gray-900);border-radius:var(--radius-pill);translate:0 0;rotate:0deg;scale:1 1;transition:translate var(--duration-icon) var(--ease-emphasized) calc(var(--duration-icon) * .35),rotate var(--duration-icon) var(--ease-emphasized),scale var(--duration-icon) var(--ease-emphasized) calc(var(--duration-icon) * .35),opacity calc(var(--duration-icon) * .4) linear calc(var(--duration-icon) * .55)}.menu-icon-line:nth-child(1){translate:0 calc(var(--space-xs) * -1)}.menu-icon-line:nth-child(3){translate:0 var(--space-xs)}.mobile-menu-toggle[aria-expanded=true] .menu-icon-line{transition:translate var(--duration-icon) var(--ease-emphasized),rotate var(--duration-icon) var(--ease-emphasized) calc(var(--duration-icon) * .35),scale var(--duration-icon) var(--ease-emphasized),opacity calc(var(--duration-icon) * .3) linear}.mobile-menu-toggle[aria-expanded=true] .menu-icon-line:nth-child(1){translate:0 0;rotate:45deg}.mobile-menu-toggle[aria-expanded=true] .menu-icon-line:nth-child(2){scale:0 1;opacity:0}.mobile-menu-toggle[aria-expanded=true] .menu-icon-line:nth-child(3){translate:0 0;rotate:-45deg}.mobile-menu-list{margin-block:auto;gap:clamp(var(--space-lg),6dvh,var(--space-2xl))}.nav-link,.mobile-menu-toggle,*{-webkit-tap-highlight-color:transparent}.mobile-menu-overlay{position:fixed;inset:0;width:100%;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-block:var(--header-height) var(--space-2xl);background:#f9f9f9f2;backdrop-filter:blur(2rem);-webkit-backdrop-filter:blur(2rem);z-index:99;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;pointer-events:none;clip-path:inset(0 0 100% 0);transition:clip-path var(--duration-panel-exit) var(--ease-exit),opacity calc(var(--duration-panel-exit) * .6) linear calc(var(--duration-panel-exit) * .4),visibility 0s linear var(--duration-panel-exit)}.mobile-menu-overlay.open{opacity:1;visibility:visible;pointer-events:auto;clip-path:inset(0 0 0 0);transition:clip-path var(--duration-panel) var(--ease-emphasized),opacity calc(var(--duration-panel) * .25) linear,visibility 0s}.mobile-nav-item{opacity:0;translate:0 var(--space-sm);transition:opacity calc(var(--duration-panel-exit) * .5) linear,translate calc(var(--duration-panel-exit) * .5) var(--ease-exit)}.mobile-menu-overlay.open .mobile-nav-item{opacity:1;translate:0 0;transition:opacity .5s var(--ease-emphasized),translate .7s var(--ease-emphasized);transition-delay:calc(.1s + (var(--item-index) * .06s))}footer{display:flex;flex-direction:column;align-items:center;align-self:stretch;margin-top:clamp(4rem,10vw,9rem);bottom:0;width:100%;padding:0rem 0rem var(--grid-margin) 0rem}footer .caption{color:var(--gray-600)}footer a{color:var(--gray-900);text-decoration:none}.footer-wave{height:auto;width:100%;padding-inline:var(--grid-margin)}.footer-wave path{fill:var(--gray-900)}.footer-section{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3.5rem;background:var(--gray-100);text-align:center;width:100%}.footer-section h2{color:var(--gray-900)}.footer-section p{width:100%;max-width:40rem;color:var(--gray-800)}.footer-nav-container{display:grid;grid-template-columns:repeat(12,1fr);min-height:20rem;width:100%;align-items:flex-start;padding-inline:var(--grid-margin)}.explore-nav{grid-column:1 / span 2}.connect-nav{grid-column:3 / span 4}.contact-nav{grid-column:7 / span 6}.explore-nav,.connect-nav,.contact-nav{gap:var(--space-xl)}.footer-nav-links{gap:var(--space-unit)}.footer-section-title{color:var(--primary-700)!important}#hero{display:flex;justify-content:center;align-items:center;width:100%;height:100dvh}#hero h1{text-align:center;width:100%}#hero p{text-align:center;text-wrap:balance;max-width:54.125rem;width:100%;color:var(--gray-800)}.hero-wrapper{display:flex;width:100%;height:100%;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-3xl);position:relative;overflow:hidden;border-radius:var(--radius-sm);padding:var(--space-unit)}@keyframes canvas-fade-in{0%{opacity:0}to{opacity:1}}.section-title-container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:82rem;gap:var(--space-xl);text-align:center}#description{height:auto}.section-wrapper{display:flex;justify-content:center;align-items:center;flex-direction:column;width:100%;max-width:82rem;gap:var(--space-3xl)}.section-row-container{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3xl);align-self:stretch;width:100%}.section-column{display:flex;gap:var(--space-3xl);width:100%;flex-direction:column}.section-title{position:absolute;top:var(--grid-margin);left:var(--grid-margin);align-self:flex-start;font-family:var(--main-font);font-size:var(--text-body-caption);font-style:normal;font-weight:500;line-height:1.8125rem;color:var(--primary-700)}.about-container{display:flex;flex:1;flex-direction:column;justify-content:space-between;align-items:flex-start;max-width:var(--max-width);gap:var(--space-3xl)}.paragraph-container{display:flex;flex-direction:column;align-items:flex-start;width:90%;gap:var(--space-xs)}.about-image-container{width:100%;max-width:30.375rem;aspect-ratio:1 / 1;height:auto;overflow:visible}.about-image-container img{width:100%;height:100%}.skill-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;justify-content:space-between;gap:var(--space-xl);width:100%}.skill-category{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xl);flex:1 1 12.5rem}.skill-category h3{color:var(--gray-900)}.skill-category ul{display:flex;flex-direction:column;align-items:flex-start;list-style:none;gap:var(--space-lg)}.skill-category li{font-family:var(--main-font);font-size:var(--text-base);font-style:normal;font-weight:400;line-height:var(--space-lg);color:var(--gray-700)}.icon-header{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-xs)}.work-container{display:flex;align-items:center;justify-content:flex-start;flex-direction:row;flex-wrap:wrap;gap:var(--space-lg);width:100%}section#portfolio{padding-inline:var(--grid-margin)!important}.filter-section{gap:var(--space-xl);align-self:stretch}.filter-details{gap:var(--space-xs);width:100%}.filter-details .body-large{color:var(--gray-900)}.filter-buttons-container{display:flex;flex-direction:row;align-items:center;width:100%;flex-wrap:wrap;gap:var(--space-unit)}.filter-button{font-family:var(--main-font);font-size:var(--text-base);font-style:normal;font-weight:400;line-height:var(--space-lg);color:var(--gray-700);display:flex;padding:var(--space-xs) var(--space-unit);justify-content:center;align-items:center;border-radius:var(--radius-pill);border:var(--border-default);background:var(--gray-100);width:auto;outline:none;cursor:pointer}.filter-button-active{font-family:var(--main-font);font-size:var(--text-base);font-style:normal;font-weight:400;line-height:var(--space-lg);color:var(--gray-50);display:flex;padding:var(--space-xs) var(--space-unit);justify-content:center;align-items:center;border-radius:var(--radius-pill);background:var(--gray-900);width:auto;border:none;outline:none;cursor:pointer}#about{padding-inline:var(--grid-margin)!important}#about img{width:min(30rem,100%);height:auto}#about .paragraph-wrapper{gap:var(--space-xl)}.paragraph-wrapper{gap:var(--space-unit)}#story{background-color:var(--gray-100)}.text-content{display:flex;justify-content:center;align-items:center;flex-direction:column;padding:var(--space-unit);gap:var(--space-unit)}.text-content .flex-col{gap:var(--space-xs)}.timeline-header{width:100%;min-height:10dvh;display:flex;justify-content:center;align-items:center;text-align:center}.timeline-row{display:flex;align-items:stretch;justify-content:space-between;width:100%;height:60dvh;margin:0;position:relative}.timeline-row:last-child{margin-bottom:-20dvh}.timeline-row.right-text{flex-direction:row-reverse}.timeline-row.center-text{justify-content:center}.timeline-row.text-shown .timeline-svg-overlay .animated-path{stroke-dashoffset:0}.timeline-row.text-shown+.timeline-row .timeline-dot{transform:scale(1);transition-delay:1.5s}#story,#background{padding-top:var(--space-5xl);padding-bottom:var(--space-5xl);gap:var(--space-xs);justify-content:flex-start}.timeline-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.timeline-content,.timeline-images{width:50%;padding:0 var(--space-lg)}.timeline-images{display:flex;justify-content:center;align-items:center}.timeline-svg-overlay{position:absolute;top:0;left:0;width:100%;height:200%;pointer-events:none;z-index:10;overflow:visible}.timeline-svg-overlay .animated-path{stroke-dasharray:var(--path-length);stroke-dashoffset:var(--path-length);transition:stroke-dashoffset 1.5s linear}.timeline-dot{width:var(--space-unit);height:var(--space-unit);border-radius:var(--radius-circle);background:var(--secondary-500);transform:scale(0);transition:transform .4s cubic-bezier(.175,.885,.32,1.275);z-index:11}.image-cluster{--orbit-radius: clamp(6rem, 10vw, 10rem);position:relative;width:calc(14 * var(--space-unit));height:calc(14 * var(--space-unit));display:flex;align-items:center;justify-content:center}.image-cluster img{position:absolute;width:clamp(10rem,15vw,18rem);height:auto;border-radius:var(--radius-sm);animation:orbit 48s infinite linear;box-shadow:0 8px 24px #0000001a}@keyframes orbit{0%{transform:rotate(0) translate(var(--orbit-radius)) rotate(0) scale(1.1);z-index:3}25%{transform:rotate(90deg) translate(var(--orbit-radius)) rotate(-90deg) scale(.9);z-index:2}50%{transform:rotate(180deg) translate(var(--orbit-radius)) rotate(-180deg) scale(.8);z-index:1}75%{transform:rotate(270deg) translate(var(--orbit-radius)) rotate(-270deg) scale(.9);z-index:2}to{transform:rotate(360deg) translate(var(--orbit-radius)) rotate(-360deg) scale(1.1);z-index:3}}.experience-card-container{gap:var(--space-unit);width:100%}#contact{padding-inline:var(--grid-margin)!important}@media(max-width:63.99rem){.section-title{display:none}.section-title-container{text-align:center;gap:var(--space-unit)}.section-row-container{flex-direction:column;align-items:center;gap:var(--space-lg)}.about-container{justify-content:center;align-items:flex-start;gap:var(--space-3xl)}.timeline-row,.timeline-row.right-text,.timeline-row.center-text{flex-direction:column;height:auto;gap:var(--space-lg);padding-block:var(--space-xl)}:is(.timeline-row,.timeline-row.right-text,.timeline-row.center-text):first-child{padding-bottom:var(--space-lg)}:is(.timeline-row,.timeline-row.right-text,.timeline-row.center-text):last-child{margin-bottom:0}.timeline-content,.timeline-images{width:100%;padding:0}.timeline-svg-overlay,.timeline-dot{display:none}.image-cluster{width:100%;height:auto;display:flex;flex-wrap:wrap;gap:var(--space-unit)}.image-cluster img{position:relative;animation:none!important;flex:1 1 14rem;height:18rem;max-width:100%;object-fit:cover}#story,#background{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl)}.skill-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl) clamp(var(--space-xl),10vw,15vw);justify-content:center;justify-items:center;width:100%}.skill-category{align-items:center;text-align:center;gap:var(--space-unit)}.skill-category ul{gap:var(--space-sm);text-align:center;align-items:center}.icon-header{justify-content:center}.work-container{justify-content:flex-start}.contact-card-grid{grid-template-columns:1fr}}@media(max-width:47.99rem){header{padding-inline:1.25rem}footer{padding-inline:1.25rem;padding-bottom:1.25rem}section:not(#hero),section#portfolio,#about,#contact{padding-inline:1.25rem!important}section:not(:first-of-type){padding-top:var(--space-xl);padding-bottom:var(--space-xl)}#hero .section-title-container{height:100%;padding-top:0}.hero-wrapper{height:100%;padding-block:var(--space-xl);justify-content:space-between;padding:var(--space-unit)}.hero-buttons-container{flex-direction:column;align-items:center;width:100%}.filter-buttons-container{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start;width:calc(100% + 2.5rem);margin-left:-1.25rem;padding-left:1.25rem;padding-right:0;padding-bottom:0}.filter-buttons-container::-webkit-scrollbar{display:none}.filter-buttons-container:after{content:"";flex:0 0 .25rem}.filter-button,.filter-button-active{flex-shrink:0;min-height:2.75rem}nav ul.desktop-nav{display:none}.mobile-menu-toggle{display:flex}nav ul{gap:var(--space-unit)}.nav-link{font-size:var(--text-caption);font-weight:500!important;padding:var(--space-unit)}.footer-nav-container{grid-template-columns:1fr 1fr;grid-template-areas:"explore connect" "contact contact";height:auto;gap:var(--space-2xl);padding-bottom:var(--space-2xl)}.explore-nav{grid-area:explore;gap:var(--space-unit)}.connect-nav{grid-area:connect;gap:var(--space-unit)}.contact-nav{grid-area:contact;gap:var(--space-unit)}.skill-category .icon-header{flex-direction:column;align-items:center}.problem-statement-block,.challenge-detail-block{align-items:center!important;text-align:center!important}.overview-text-blocks{gap:var(--space-xl)!important}#about .paragraph-wrapper,.paragraph-wrapper{gap:var(--space-unit)}.key-metric{padding:var(--space-lg);width:100%}.about-container{gap:var(--space-lg)}.text-content{gap:var(--space-xs);padding:0}.timeline-content .text-content .flex-col{gap:var(--space-2xs)}.timeline-row{padding-top:0;gap:var(--space-unit)}.section-wrapper{gap:var(--space-lg)}.section-column{gap:var(--space-xl)}}.small-tag-container{display:flex;justify-content:flex-start;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;overflow:hidden;gap:var(--space-xs);width:100%}.small-tag-container .justify-center{justify-content:center}.work-tag{display:flex;padding:var(--space-2xs) var(--space-xs);justify-content:center;align-items:center;border-radius:var(--radius-pill);background:var(--primary-50);border:1px solid var(--primary-200)}.work-tag p{color:var(--primary-700)!important}.work-tag:focus-visible{outline-offset:var(--focus-ring-offset);border-radius:var(--radius-pill)}.scroll-back-to-top{position:fixed;bottom:var(--space-lg);right:var(--space-lg);width:3.5rem;height:3.5rem;border-radius:var(--radius-circle);background-color:var(--gray-900);color:var(--gray-50);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(1rem);transition:all var(--animation-duration) var(--animation-ease);z-index:98;box-shadow:0 4px 12px #00000026}.scroll-back-to-top .icon-svg{stroke:var(--gray-50)}.scroll-back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-back-to-top:hover{background-color:var(--primary-700)}.scroll-back-to-top:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media(max-width:47.99rem){.scroll-back-to-top{bottom:var(--space-unit);right:var(--space-unit)}}.page-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--gray-50);z-index:150;animation:page-loader-appear var(--animation-duration) var(--animation-ease) .15s both}.page-loader-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.page-loader-logo{height:2.75rem;width:auto;color:var(--gray-900);fill:currentColor;animation:page-loader-breathe 1.8s var(--animation-ease) infinite}.page-loader-bar{position:relative;width:8rem;height:3px;background:var(--gray-200);border-radius:var(--radius-pill);overflow:hidden}.page-loader-bar:after{content:"";position:absolute;inset-block:0;inline-size:40%;background:var(--primary-700);border-radius:inherit;animation:page-loader-travel 1.15s var(--animation-ease) infinite}@keyframes page-loader-appear{0%{opacity:0}to{opacity:1}}@keyframes page-loader-breathe{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}@keyframes page-loader-travel{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(prefers-reduced-motion:reduce){.page-loader{animation:none}.page-loader-logo{animation:none;opacity:1;transform:none}.page-loader-bar:after{inline-size:100%;animation:page-loader-fade 1.4s ease-in-out infinite;transform:none}@keyframes page-loader-fade{0%,to{opacity:.25}50%{opacity:1}}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
