:root{--bg-main:#151515;--bg-nav-gradient-start:#111;--bg-nav-gradient-mid:hsla(0,0%,7%,.88);--bg-nav-gradient-end:#11111500;--text-main:#fff;--text-secondary:#ddd;--text-muted:grey;--accent-gradient-start:#00467f;--accent-gradient-end:#a5cc82;--name-c1:#6f9fd8;--name-c2:#8ec3dd;--name-c3:#7dbcab;--name-c4:#9aa8d6;--name-c5:#7fa9cf;--border-light:hsla(0,0%,100%,.08);--border-medium:hsla(0,0%,100%,.12);--border-focus:hsla(0,0%,82%,.6);--input-placeholder:hsla(0,0%,100%,.45);--input-shadow:hsla(0,0%,43%,.12);--focus-outline:rgba(0,70,127,.25);--link-hover-text-shadow:0 0 8px currentColor;--link-hover-filter:drop-shadow(0 0 5px var(--text-main));--header-shadow:#151515;--timeline-marker-fill:#fff;--timeline-marker-border:var(--bg-main);--pill-glow-border:hsla(0,0%,81%,.45);--pill-glow-ring:hsla(0,0%,81%,.24);--pill-glow-main:hsla(0,0%,81%,.2);--pill-glow-ambient:hsla(0,0%,81%,.14)}[data-theme=light]{--bg-main:#fff;--bg-nav-gradient-start:#fff;--bg-nav-gradient-mid:hsla(0,0%,100%,.88);--bg-nav-gradient-end:hsla(0,0%,100%,0);--text-main:#101010;--text-secondary:#242424;--text-muted:#555;--accent-gradient-start:#0b4f8a;--accent-gradient-end:#2e7d6f;--name-c1:#2f5f94;--name-c2:#3d7f99;--name-c3:#3f7d6f;--name-c4:#56609a;--name-c5:#3a6a8f;--border-light:rgba(0,0,0,.08);--border-medium:rgba(0,0,0,.12);--border-focus:rgba(0,70,127,.4);--input-placeholder:rgba(0,0,0,.45);--input-shadow:rgba(0,0,0,.12);--focus-outline:rgba(0,70,127,.25);--link-hover-text-shadow:0 1px 2px hsla(0,0%,7%,.2);--link-hover-filter:drop-shadow(0 1px 2px hsla(0,0%,7%,.2));--header-shadow:#fff;--timeline-marker-fill:#111;--timeline-marker-border:var(--bg-main);--pill-glow-border:hsla(0,0%,8%,.36);--pill-glow-ring:hsla(0,0%,8%,.2);--pill-glow-main:hsla(0,0%,8%,.15);--pill-glow-ambient:hsla(0,0%,8%,.1)}body[data-theme=dark],body[data-theme=light]{font-weight:500}b,h2,h3,h4,strong{font-weight:600}[data-theme=light] .site-logo{-webkit-filter:invert(1);filter:invert(1)}*{-webkit-touch-callout:none;box-sizing:border-box;font-family:Quicksand,sans-serif;-webkit-user-select:none;user-select:none}body{background-color:#151515;background-color:var(--bg-main);color:#fff;color:var(--text-main);display:flex;flex-direction:column;margin:0}#root,body{min-height:100vh}#root{isolation:isolate;position:relative}.cert-badge,.contact-card,.gallery-gear-card,.project-button,.project-card,.skills-badge,.timeline-project-card,.timeline-resume-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.container{flex:1 1;margin-left:6rem;margin-right:6rem;margin-top:8rem;padding-bottom:4.5rem;position:relative;z-index:1}.container.with-footer{padding-bottom:6.5rem}.timeline-info{font-size:1.3rem;line-height:1.7;margin:2.35rem auto 0;max-width:70%;padding:0}.timeline-page{position:static}.timeline-shell{position:relative}.timeline-preview-cta{margin:-4rem auto 0;max-width:760px;padding:5.5rem 1rem 0;position:relative;text-align:center;z-index:3}.timeline-shell-collapsed{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}.timeline-event-year{font-size:.78rem;letter-spacing:.14em;margin:0 0 .35rem;opacity:.7;text-transform:uppercase}.timeline-event-title{color:#fff;color:var(--text-main);font-size:clamp(1.02rem,1.35vw,1.2rem);margin:0 0 .85rem}.timeline-marker-badge{align-items:center;background:#151515;background:var(--bg-main);border-radius:50%;display:inline-flex;height:22px;justify-content:center;width:22px}.timeline-marker-icon{color:#fff;color:var(--timeline-marker-fill);font-size:1.05rem;opacity:.95}.timeline-event-description{font-size:.95rem;line-height:1.6;margin:0;opacity:.88}.timeline-event-details-button{margin-top:.65rem}.timeline-show-more-button{align-items:center;cursor:pointer;display:inline-flex;justify-content:center}.timeline-page>section{margin-bottom:2rem;margin-top:2rem;padding-top:1.5rem}.timeline-page>section:first-of-type{margin-top:1.5rem}.timeline-certifications,.timeline-resume{text-align:center}.timeline-section-subheading{color:grey;color:var(--text-muted);font-size:1.1rem;line-height:1.6;margin:.9rem auto 30px;max-width:50%}.timeline-certifications .timeline-section-subheading{padding-top:0}.timeline-journey-section .timeline-section-subheading{margin:.9rem auto}.timeline-filter-box{align-items:center;display:inline-flex;flex-direction:column;justify-content:center;margin:.95rem auto 0;padding:0}.timeline-filter-toggle-row{align-items:center;cursor:pointer;display:flex;height:30px;justify-content:center;position:relative;width:50px}.timeline-filter-side-label{color:grey;color:var(--text-muted);font-size:.93rem;opacity:0;pointer-events:none;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:color .22s ease,opacity .32s cubic-bezier(.22,.61,.36,1);white-space:nowrap}.timeline-filter-side-label-left{right:calc(100% + 12px);text-align:right}.timeline-filter-side-label-right{left:calc(100% + 12px);text-align:left}.timeline-filter-side-label.is-active{color:#ddd;color:var(--text-secondary)}.timeline-filter-collapsed-icon{color:grey;color:var(--text-muted);opacity:.9;pointer-events:none;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:color .22s ease,text-shadow .22s ease,opacity .32s cubic-bezier(.22,.61,.36,1)}.timeline-filter-collapsed-icon.is-active{color:#ddd;color:var(--text-secondary);text-shadow:0 0 8px currentColor}.timeline-filter-collapsed-icon-left{right:calc(100% + 12px)}.timeline-filter-collapsed-icon-right{left:calc(100% + 12px)}.timeline-filter-box:focus-within .timeline-filter-side-label,.timeline-filter-box:hover .timeline-filter-side-label{opacity:.95}.timeline-filter-toggle-row:focus-within .timeline-filter-side-label,.timeline-filter-toggle-row:hover .timeline-filter-side-label{opacity:.95}.timeline-filter-toggle-row.is-pinned-visible .timeline-filter-side-label{opacity:.95}.timeline-filter-box:focus-within .timeline-filter-collapsed-icon,.timeline-filter-box:hover .timeline-filter-collapsed-icon,.timeline-filter-toggle-row:focus-within .timeline-filter-collapsed-icon,.timeline-filter-toggle-row:hover .timeline-filter-collapsed-icon{opacity:0}.timeline-filter-toggle-row.is-pinned-visible .timeline-filter-collapsed-icon{opacity:0}.timeline-filter-mobile-active-text{color:#ddd;color:var(--text-secondary);display:none;font-size:.9rem;margin:.45rem 0 0;opacity:0;text-align:center;transition:opacity .2s ease}.timeline-filter-mobile-active-text.is-visible{opacity:1}.ios-switch{cursor:pointer;display:inline-block;height:30px;position:relative;width:50px}.ios-switch[data-tooltip]:after{background:color-mix(in srgb,#151515 92%,transparent);background:color-mix(in srgb,var(--bg-main) 92%,transparent);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:8px;bottom:calc(100% + 4px);color:#ddd;color:var(--text-secondary);content:attr(data-tooltip);font-size:.95rem;left:50%;line-height:1.2;opacity:0;padding:.35rem .5rem;pointer-events:none;position:absolute;-webkit-transform:translateX(-50%) translateY(2px);transform:translateX(-50%) translateY(2px);transition:opacity .18s ease,-webkit-transform .18s ease;transition:opacity .18s ease,transform .18s ease;transition:opacity .18s ease,transform .18s ease,-webkit-transform .18s ease;white-space:nowrap;z-index:5}.ios-switch[data-tooltip]:focus-within:after,.ios-switch[data-tooltip]:hover:after{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.ios-switch input{height:0;opacity:0;width:0}.ios-switch-slider{background:color-mix(in srgb,grey 42%,transparent);background:color-mix(in srgb,var(--text-muted) 42%,transparent);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:999px;inset:0;position:absolute;transition:background-color .22s ease}[data-theme=light] .ios-switch-slider{background:#fff}.ios-switch-slider:before{background:#fff;background:var(--text-main);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.35);content:"";height:22px;left:3px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:left .22s ease,background-color .22s ease;width:22px}.ios-switch input:checked+.ios-switch-slider{background:#fff;border-color:#fff}[data-theme=light] .ios-switch input:checked+.ios-switch-slider{background:#fff;background:var(--text-main);border-color:#fff;border-color:var(--text-main)}.ios-switch input:checked+.ios-switch-slider:before{background:#151515;background:var(--bg-main);left:calc(100% - 25px)}.ios-switch input:focus-visible+.ios-switch-slider{box-shadow:0 0 0 3px rgba(0,70,127,.25);box-shadow:0 0 0 3px var(--focus-outline)}.timeline-resume{text-align:center}.timeline-resume-card{--glass-surface:hsla(0,0%,100%,.03);--chrome-glass-blur:8px;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:18px;isolation:isolate;margin:1.5rem auto 0;max-width:760px;padding:1.5rem;position:relative}[data-theme=light] .timeline-resume-card{--glass-surface:hsla(0,0%,100%,.5);background:transparent;border-color:hsla(0,0%,8%,.08)}.timeline-resume-copy{color:#fff;color:var(--text-main);line-height:1.6;margin:0 0 1rem;opacity:.82}.timeline-resume-button{align-items:center;display:inline-flex;gap:.6rem}.timeline-project-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:1.25rem auto 0;max-width:1200px}.timeline-project-card{--glass-surface:hsla(0,0%,100%,.03);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--glass-surface);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:18px;display:flex;flex-direction:column;padding:1.25rem;text-align:left}[data-theme=light] .timeline-project-card{--glass-surface:hsla(0,0%,100%,.5);background:var(--glass-surface);border-color:hsla(0,0%,8%,.08)}.timeline-project-card-motion{-webkit-animation:timelineProjectCardSlideIn .6s ease-out forwards;animation:timelineProjectCardSlideIn .6s ease-out forwards;will-change:transform}.timeline-project-card-content{-webkit-animation:timelineProjectCardFadeIn .45s ease-out .08s forwards;animation:timelineProjectCardFadeIn .45s ease-out .08s forwards;opacity:0;will-change:opacity}.timeline-project-card .project-button{-webkit-backdrop-filter:none;backdrop-filter:none}.timeline-project-title{color:#fff;color:var(--text-main);font-size:1.1rem;line-height:1.35;margin:0 0 .35rem;text-align:center}.timeline-project-date{color:grey;color:var(--text-muted);font-size:.78rem;letter-spacing:.12em;margin:0 0 .35rem;text-align:center;text-transform:uppercase}.timeline-project-favicon-wrap{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:14px;display:flex;height:52px;justify-content:center;margin:0 auto .7rem;width:52px}.timeline-project-favicon{background-color:#fff;background-color:var(--text-main);display:block;height:30px;-webkit-mask-image:var(--project-icon-url);mask-image:var(--project-icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:30px}.timeline-project-favicon-icon{color:#fff;color:var(--text-main);height:30px;width:30px}.timeline-project-favicon-fallback{align-items:center;display:inline-flex;justify-content:center}.timeline-project-description{color:#ddd;color:var(--text-secondary);flex-grow:1;font-size:.95rem;line-height:1.55;margin:0 0 1rem;text-align:center}.timeline-project-link{align-self:center;font-size:.9rem;margin-top:auto;padding:.6rem 1.2rem}.cert-badges{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin:1.5rem auto 0;max-width:900px}.cert-badge{align-items:center;-webkit-animation:fadeInDown .6s ease-out forwards;animation:fadeInDown .6s ease-out forwards;background:hsla(0,0%,50%,.14);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:999px;color:#fff;color:var(--text-main);display:inline-flex;font-size:.95rem;font-weight:600;gap:.45rem;line-height:1.2;opacity:0;padding:.5rem .9rem;transition:box-shadow .2s ease,border-color .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,-webkit-transform .2s ease}.skills-badges{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin:1.5rem auto 0;max-width:960px}.skills-badge{align-items:center;-webkit-animation:fadeInDown .42s ease-out forwards;animation:fadeInDown .42s ease-out forwards;background:hsla(0,0%,50%,.14);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:999px;color:#fff;color:var(--text-main);display:inline-flex;font-size:.95rem;font-weight:600;line-height:1.2;opacity:0;padding:.5rem .9rem;transition:box-shadow .2s ease,border-color .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,-webkit-transform .2s ease}.cert-badge:focus-visible,.cert-badge:hover,.skills-badge:focus-visible,.skills-badge:hover{border-color:hsla(0,0%,81%,.45);border-color:var(--pill-glow-border);box-shadow:0 0 0 1px hsla(0,0%,81%,.24),0 0 16px hsla(0,0%,81%,.2),0 0 24px hsla(0,0%,81%,.14);box-shadow:0 0 0 1px var(--pill-glow-ring),0 0 16px var(--pill-glow-main),0 0 24px var(--pill-glow-ambient);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.cert-ms-logo{grid-gap:1px;display:grid;flex-shrink:0;gap:1px;grid-template-columns:1fr 1fr;height:12px;width:12px}.cert-ms-logo i:first-child{background:#f25022}.cert-ms-logo i:nth-child(2){background:#7fba00}.cert-ms-logo i:nth-child(3){background:#00a4ef}.cert-ms-logo i:nth-child(4){background:#ffb900}.cert-google-logo{display:inline-block;flex-shrink:0;height:14px;object-fit:contain;width:14px}.tsparticles{-webkit-animation:fadeInAnimation 3s ease;animation:fadeInAnimation 3s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:1;animation-iteration-count:1;position:absolute;z-index:-1}.nav{align-items:stretch;-webkit-animation:fadeInAnimation 1.5s ease;animation:fadeInAnimation 1.5s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:1;animation-iteration-count:1;background:transparent;color:#fff;color:var(--text-main);display:flex;height:8rem;justify-content:space-between;padding:0 6rem;position:fixed;top:0;transition:opacity .25s ease,-webkit-transform .25s ease;transition:transform .25s ease,opacity .25s ease;transition:transform .25s ease,opacity .25s ease,-webkit-transform .25s ease;width:100%;z-index:80}.nav-hidden{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}body.project-modal-open .nav{opacity:0;pointer-events:none;-webkit-transform:translateY(-120%);transform:translateY(-120%)}body.project-modal-open .scroll-top-button{opacity:0!important;pointer-events:none;-webkit-transform:translateY(10px);transform:translateY(10px)}.nav:before{background:linear-gradient(180deg,#111,hsla(0,0%,7%,.88) 58%,#11111500);background:linear-gradient(180deg,var(--bg-nav-gradient-start) 0,var(--bg-nav-gradient-mid) 58%,var(--bg-nav-gradient-end) 100%);content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}.nav-hamburger{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;appearance:none;background:transparent!important;border:none;color:#fff;color:var(--text-main);cursor:pointer;display:none;font-size:1.75rem;height:3rem;justify-content:center;left:1.5rem;outline:none;padding:0;position:absolute;top:1.5rem;width:3rem}.nav-hamburger:focus{outline:none}.nav-hamburger svg{color:inherit}.nav-hamburger .svg-inline--fa,.nav-hamburger svg{background:transparent!important}.mobile-menu{background:#151515;background:var(--bg-main);gap:2rem;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1000}.mobile-menu,.mobile-menu-links{align-items:center;display:flex;flex-direction:column}.mobile-menu-links{gap:1.5rem}.mobile-menu-links a{color:#fff;color:var(--text-main);font-size:2rem;text-decoration:none}.mobile-menu-socials{display:flex;gap:1.5rem}.mobile-menu-socials .nav-icons{height:2rem}.mobile-menu-close{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background:transparent!important;border:none;color:#fff;color:var(--text-main);cursor:pointer;font-size:1.75rem;height:3rem;justify-content:center;outline:none;padding:0;position:absolute;right:1.5rem;top:1.5rem;width:3rem}.mobile-menu-close,.nav a{align-items:center;display:flex}.nav a{color:inherit;height:100%;padding:.25rem;text-decoration:none}.site-title{-webkit-tap-highlight-color:transparent;font-size:2rem;gap:1rem;justify-content:center;min-width:33.333%;position:relative}.site-logo{max-height:60%;transition:none}.site-logo-mobile{display:none}.site-logo-desktop-filled{opacity:0;position:absolute}.site-logo-hidden{opacity:0}.site-logo-visible{opacity:1}.site-logo-scrolled-outline{-webkit-filter:drop-shadow(0 0 6px hsla(0,0%,7%,.95)) drop-shadow(0 0 12px hsla(0,0%,7%,.85));filter:drop-shadow(0 0 6px rgba(17,17,17,.95)) drop-shadow(0 0 12px rgba(17,17,17,.85))}[data-theme=light] .site-logo-scrolled-outline{-webkit-filter:drop-shadow(0 0 6px hsla(0,0%,81%,.95)) drop-shadow(0 0 12px hsla(0,0%,81%,.85));filter:drop-shadow(0 0 6px rgba(207,207,207,.95)) drop-shadow(0 0 12px rgba(207,207,207,.85))}@media (hover:hover) and (pointer:fine){.site-title:hover{-webkit-filter:drop-shadow(0 0 5px #fff);filter:drop-shadow(0 0 5px white);-webkit-filter:var(--link-hover-filter);filter:var(--link-hover-filter)}}.nav-icons{height:1.25rem}.nav-icons:hover{-webkit-filter:drop-shadow(0 0 5px #fff);filter:drop-shadow(0 0 5px white);-webkit-filter:var(--link-hover-filter);filter:var(--link-hover-filter)}.page-links{display:flex;gap:1rem;justify-content:left;list-style:none;margin:0;min-width:33.333%;padding:0}.nav-link{color:#fff;color:var(--text-main);font-weight:600}.nav-link.active{border-top:1px solid #fff;border-top:1px solid var(--text-main)}.nav-link:hover{-webkit-filter:drop-shadow(0 0 5px #fff);filter:drop-shadow(0 0 5px white);-webkit-filter:var(--link-hover-filter);filter:var(--link-hover-filter)}.social-links{display:flex;gap:1rem;justify-content:right;list-style:none;margin:0;min-width:33.333%;padding:0}.container{min-height:calc(100vh - 12rem)}.header,.header-description{align-items:center;display:flex;flex-direction:column}.header-description{gap:1.5rem;justify-content:center;max-width:44rem;min-height:calc(100vh - 12rem);order:1;text-align:center;width:100%}.header-intro{align-items:inherit;display:flex;flex-direction:column;gap:.6rem}.header-prefix{color:#ddd;color:var(--text-secondary);font-size:1.6rem;font-weight:600;line-height:1;margin:0}.contact-page{width:100%}.contact-center{margin:0 auto;max-width:36rem;padding-top:3rem;width:100%}.contact-card{background:hsla(0,0%,50%,.06);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:16px;padding:2rem;text-align:center}.contact-card-title{font-size:1.4rem;line-height:1.3;margin:0}.contact-card-text{color:#ddd;color:var(--text-secondary);font-size:1rem;line-height:1.65;margin:.85rem 0 0}.contact-card-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.6rem}.contact-card-button{align-items:center;display:inline-flex;font-size:1rem;gap:.55rem;padding:.7rem 1.4rem}.contact-card-copy{background:none;border:none;color:grey;color:var(--text-muted);cursor:pointer;font:inherit;font-size:.85rem;margin-top:.85rem;padding:.2rem;text-decoration:underline;text-underline-offset:3px}.contact-card-copy:hover{color:#fff;color:var(--text-main)}.contact-card-meta{border-top:1px solid hsla(0,0%,100%,.12);border-top:1px solid var(--border-medium);color:#ddd;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.88rem;gap:.5rem 1.5rem;justify-content:center;margin-top:1.5rem;padding-top:1.2rem}.contact-card-meta span{align-items:center;display:inline-flex;gap:.45rem}.contact-fade-item{-webkit-animation:fadeInDown .6s ease-out forwards;animation:fadeInDown .6s ease-out forwards;opacity:0}.header-name{-webkit-animation:glitchSkew 4s steps(1) infinite;animation:glitchSkew 4s steps(1) infinite;color:#fff;color:var(--text-main);display:inline-block;font-size:4rem;font-weight:700;line-height:1;margin:0;padding:0;position:relative}.header-name:after,.header-name:before{content:attr(data-text);inset:0;opacity:0;pointer-events:none;position:absolute}.header-name:before{-webkit-animation:glitchSliceA 4s steps(1) infinite;animation:glitchSliceA 4s steps(1) infinite;color:#fff}.header-name:after{-webkit-animation:glitchSliceB 4s steps(1) infinite;animation:glitchSliceB 4s steps(1) infinite;color:#000}@-webkit-keyframes glitchSkew{0%,88%,to{-webkit-transform:none;transform:none}90%{-webkit-transform:skewX(-8deg);transform:skewX(-8deg)}93%{-webkit-transform:skewX(5deg) translateX(2px);transform:skewX(5deg) translateX(2px)}96%{-webkit-transform:skewX(-2deg);transform:skewX(-2deg)}}@keyframes glitchSkew{0%,88%,to{-webkit-transform:none;transform:none}90%{-webkit-transform:skewX(-8deg);transform:skewX(-8deg)}93%{-webkit-transform:skewX(5deg) translateX(2px);transform:skewX(5deg) translateX(2px)}96%{-webkit-transform:skewX(-2deg);transform:skewX(-2deg)}}@-webkit-keyframes glitchSliceA{0%,88%,to{opacity:0;-webkit-transform:none;transform:none}89%{-webkit-clip-path:inset(10% 0 60% 0);clip-path:inset(10% 0 60% 0);opacity:.85;-webkit-transform:translate(-4px,-2px);transform:translate(-4px,-2px)}91%{-webkit-clip-path:inset(55% 0 20% 0);clip-path:inset(55% 0 20% 0);opacity:.85;-webkit-transform:translate(4px,1px);transform:translate(4px,1px)}94%{-webkit-clip-path:inset(30% 0 45% 0);clip-path:inset(30% 0 45% 0);opacity:.85;-webkit-transform:translate(-3px,2px);transform:translate(-3px,2px)}97%{-webkit-clip-path:inset(75% 0 5% 0);clip-path:inset(75% 0 5% 0);opacity:.85;-webkit-transform:translate(2px,-1px);transform:translate(2px,-1px)}}@keyframes glitchSliceA{0%,88%,to{opacity:0;-webkit-transform:none;transform:none}89%{-webkit-clip-path:inset(10% 0 60% 0);clip-path:inset(10% 0 60% 0);opacity:.85;-webkit-transform:translate(-4px,-2px);transform:translate(-4px,-2px)}91%{-webkit-clip-path:inset(55% 0 20% 0);clip-path:inset(55% 0 20% 0);opacity:.85;-webkit-transform:translate(4px,1px);transform:translate(4px,1px)}94%{-webkit-clip-path:inset(30% 0 45% 0);clip-path:inset(30% 0 45% 0);opacity:.85;-webkit-transform:translate(-3px,2px);transform:translate(-3px,2px)}97%{-webkit-clip-path:inset(75% 0 5% 0);clip-path:inset(75% 0 5% 0);opacity:.85;-webkit-transform:translate(2px,-1px);transform:translate(2px,-1px)}}@-webkit-keyframes glitchSliceB{0%,88%,to{opacity:0;-webkit-transform:none;transform:none}90%{-webkit-clip-path:inset(65% 0 10% 0);clip-path:inset(65% 0 10% 0);opacity:.85;-webkit-transform:translate(4px,2px);transform:translate(4px,2px)}92%{-webkit-clip-path:inset(5% 0 70% 0);clip-path:inset(5% 0 70% 0);opacity:.85;-webkit-transform:translate(-4px,-1px);transform:translate(-4px,-1px)}95%{-webkit-clip-path:inset(40% 0 35% 0);clip-path:inset(40% 0 35% 0);opacity:.85;-webkit-transform:translate(3px,-2px);transform:translate(3px,-2px)}98%{-webkit-clip-path:inset(20% 0 55% 0);clip-path:inset(20% 0 55% 0);opacity:.85;-webkit-transform:translate(-2px,1px);transform:translate(-2px,1px)}}@keyframes glitchSliceB{0%,88%,to{opacity:0;-webkit-transform:none;transform:none}90%{-webkit-clip-path:inset(65% 0 10% 0);clip-path:inset(65% 0 10% 0);opacity:.85;-webkit-transform:translate(4px,2px);transform:translate(4px,2px)}92%{-webkit-clip-path:inset(5% 0 70% 0);clip-path:inset(5% 0 70% 0);opacity:.85;-webkit-transform:translate(-4px,-1px);transform:translate(-4px,-1px)}95%{-webkit-clip-path:inset(40% 0 35% 0);clip-path:inset(40% 0 35% 0);opacity:.85;-webkit-transform:translate(3px,-2px);transform:translate(3px,-2px)}98%{-webkit-clip-path:inset(20% 0 55% 0);clip-path:inset(20% 0 55% 0);opacity:.85;-webkit-transform:translate(-2px,1px);transform:translate(-2px,1px)}}@media (prefers-reduced-motion:reduce){.header-name,.header-name:after,.header-name:before{-webkit-animation:none;animation:none}}.header-title{color:#ddd;color:var(--text-secondary);font-size:1.8rem;font-weight:600;line-height:1.3;margin:0}.page-title{color:#fff;color:var(--text-main);font-size:clamp(2rem,3vw,2.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0}.header-bio{font-size:1.2rem;line-height:1.65;margin:0}.project-button.hero-button{align-items:center;display:inline-flex;font-size:1.1rem;gap:.6rem;padding:.75rem 1.5rem}.header-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding-top:0}.skills-text{-webkit-animation:flyout 5s ease;animation:flyout 5s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:1;animation-iteration-count:1;font-size:1rem}.open-to-work{align-items:center;display:flex;flex-direction:column;gap:.85rem}.home-open{margin-top:1rem;opacity:0;order:2;padding-bottom:4rem;-webkit-transform:translateY(24px);transform:translateY(24px);transition:opacity .6s ease-out,-webkit-transform .6s ease-out;transition:opacity .6s ease-out,transform .6s ease-out;transition:opacity .6s ease-out,transform .6s ease-out,-webkit-transform .6s ease-out}.home-open.is-visible{opacity:1;-webkit-transform:none;transform:none}.open-to-work-status{align-items:center;display:flex;flex-direction:column;gap:.6rem;margin-bottom:.65rem}.open-to-work-dot{background:#22c55e;border-radius:50%;height:12px;position:relative;width:12px}.open-to-work-dot:after{-webkit-animation:openToWorkPulse 2s ease-out infinite;animation:openToWorkPulse 2s ease-out infinite;background:#22c55e;border-radius:50%;content:"";inset:0;position:absolute}@-webkit-keyframes openToWorkPulse{0%{opacity:.6;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2.8);transform:scale(2.8)}}@keyframes openToWorkPulse{0%{opacity:.6;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2.8);transform:scale(2.8)}}@media (prefers-reduced-motion:reduce){.home-open{transition:none}.open-to-work-dot:after{-webkit-animation:none;animation:none}}.open-to-work-roles{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;list-style:none;margin:0;max-width:34rem;padding:0}.open-to-work-role{--role-pill-glow:hsla(0,0%,50%,.34);align-items:center;background:hsla(0,0%,50%,.24);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:999px;color:#fff;color:var(--text-main);display:inline-flex;font-size:.82rem;font-weight:600;line-height:1.2;padding:.38rem .7rem;transition:box-shadow .2s ease,border-color .2s ease}.open-to-work-role:hover{border-color:var(--role-pill-glow);box-shadow:0 0 0 1px var(--role-pill-glow),0 0 16px var(--role-pill-glow),0 0 24px var(--role-pill-glow)}[data-theme=light] .open-to-work-role{--role-pill-glow:hsla(0,0%,50%,.28);background:hsla(0,0%,50%,.14)}.footer-section{align-items:center;-webkit-animation:fadeInAnimation 1.5s ease;animation:fadeInAnimation 1.5s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:1;animation-iteration-count:1;background:linear-gradient(180deg,#11111500,#111 58%,#111);background:linear-gradient(180deg,var(--bg-nav-gradient-end) 0,var(--bg-nav-gradient-start) 58%,var(--bg-nav-gradient-start) 100%);bottom:0;display:flex;height:4rem;justify-content:center;left:0;position:fixed;width:100%;z-index:50}.theme-toggle{align-items:center;background:none;border:none;color:#fff;color:var(--text-main);cursor:pointer;display:inline-flex;font-size:1rem;line-height:1;margin-left:10px;opacity:.5;padding:0;transition:color .2s ease,-webkit-transform .3s ease;transition:transform .3s ease,color .2s ease;transition:transform .3s ease,color .2s ease,-webkit-transform .3s ease}.theme-toggle:hover{color:#ddd;color:var(--text-secondary);text-shadow:0 0 8px currentColor}.theme-toggle-wrap{align-items:center;display:inline-flex;position:relative}.theme-tooltip{background:color-mix(in srgb,#151515 92%,transparent);background:color-mix(in srgb,var(--bg-main) 92%,transparent);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:6px;bottom:calc(100% - 6px);color:#ddd;color:var(--text-secondary);font-size:.95rem;font-weight:600;left:50%;opacity:0;padding:.35rem .6rem;pointer-events:none;position:absolute;-webkit-transform:translateX(-50%) translateY(2px);transform:translateX(-50%) translateY(2px);transition:opacity .18s ease,-webkit-transform .18s ease;transition:opacity .18s ease,transform .18s ease;transition:opacity .18s ease,transform .18s ease,-webkit-transform .18s ease;white-space:nowrap}.theme-toggle-wrap:focus-within .theme-tooltip,.theme-toggle-wrap:hover .theme-tooltip{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.theme-toggle-wrap.tooltip-visible .theme-tooltip{opacity:1}.footer-text{color:grey;color:var(--text-muted);display:flex;gap:.4rem;justify-content:center}.scroll-top-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,50%,.16);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:999px;bottom:1.35rem;color:#fff;color:var(--text-main);cursor:pointer;display:inline-flex;font-size:1.15rem;height:2.5rem;justify-content:center;left:50%;line-height:1;opacity:0;pointer-events:none;position:fixed;-webkit-transform:translate(-50%,8px);transform:translate(-50%,8px);transition:opacity .2s ease,box-shadow .2s ease,border-color .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease,-webkit-transform .2s ease;width:2.5rem;z-index:60}.scroll-top-button .svg-inline--fa{display:block;flex-shrink:0;font-size:.95rem}.scroll-top-button.with-footer{bottom:5.2rem}.scroll-top-button.visible{opacity:1;pointer-events:auto;-webkit-transform:translate(-50%);transform:translate(-50%)}.scroll-top-button:focus-visible,.scroll-top-button:hover{border-color:hsla(0,0%,81%,.45);border-color:var(--pill-glow-border);box-shadow:0 0 0 1px hsla(0,0%,81%,.24),0 0 16px hsla(0,0%,81%,.2),0 0 24px hsla(0,0%,81%,.14);box-shadow:0 0 0 1px var(--pill-glow-ring),0 0 16px var(--pill-glow-main),0 0 24px var(--pill-glow-ambient)}@media (max-width:1024px) and (orientation:portrait) and (pointer:coarse),(max-width:800px){.nav{height:4rem}.nav-hidden{opacity:0;-webkit-transform:translateY(-150%);transform:translateY(-150%)}.nav:before{background:linear-gradient(180deg,#111,#11111500);background:linear-gradient(180deg,var(--bg-nav-gradient-start) 0,var(--bg-nav-gradient-end) 100%)}.nav-hamburger{display:flex;left:auto;right:1.5rem}.nav-link{display:none!important}.nav a{height:auto}.site-logo{height:100%;max-height:2.4rem;width:auto}.site-logo-desktop{display:none}.site-logo-mobile{display:block}.site-title{align-items:center;background:transparent;border:none;display:flex;height:3.5rem;justify-content:center;left:1.5rem;min-width:auto;padding:0;position:absolute;top:1.5rem;width:3.5rem}.social-links{display:none}.header{padding-top:0}.header-description{gap:1.25rem;min-height:calc(100vh - 12rem);min-height:calc(100svh - 12rem)}.header-intro{gap:.5rem}.header-prefix{font-size:1.3rem}.header-name{font-size:3rem}.header-title{font-size:1.5em}.page-title{font-size:1.9rem}.header-bio{font-size:1rem}.project-button.hero-button{font-size:.95rem;padding:.6rem .9rem}.header-links{gap:.75rem}.container{margin-left:2rem;margin-right:2rem;margin-top:8rem;min-height:calc(100vh - 12rem);padding-bottom:4.25rem}.container.with-footer{padding-bottom:8.75rem}.scroll-top-button{bottom:.9rem}.scroll-top-button.with-footer{bottom:5rem}.timeline-info{font-size:1.2rem;margin:.9rem auto 0;max-width:100%;padding:0}.timeline-section-subheading{font-size:1rem;margin:.9rem auto 10px;max-width:100%}.timeline-filter-side-label{display:none}.timeline-filter-box:focus-within .timeline-filter-collapsed-icon,.timeline-filter-box:hover .timeline-filter-collapsed-icon,.timeline-filter-toggle-row:focus-within .timeline-filter-collapsed-icon,.timeline-filter-toggle-row:hover .timeline-filter-collapsed-icon{opacity:.9}.timeline-filter-mobile-active-text{display:block}.contact-center{max-width:100%;padding-top:2rem}.contact-card{padding:1.5rem 1.1rem}.contact-card-title{font-size:1.2rem}.footer-text{font-size:.8rem}.nav-icons{height:1rem}}@-webkit-keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@-webkit-keyframes flyout{0%{font-size:1rem;opacity:100%}to{font-size:4rem;opacity:0}}@keyframes flyout{0%{font-size:1rem;opacity:100%}to{font-size:4rem;opacity:0}}@-webkit-keyframes flowingNameGradient{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes flowingNameGradient{0%{background-position:0 50%}to{background-position:100% 50%}}.projects-page{padding-bottom:4rem}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1200px}.project-card{-webkit-animation:fadeInDown .6s ease-out forwards;animation:fadeInDown .6s ease-out forwards;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:12px;box-shadow:0 0 6px hsla(0,0%,100%,.12);box-shadow:0 0 6px var(--border-medium);display:flex;flex-direction:column;isolation:isolate;opacity:0;overflow:hidden;position:relative;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}[data-theme=dark] .project-card{--glass-surface:rgba(30,30,30,.6);--chrome-glass-blur:10px}[data-theme=light] .project-card{--glass-surface:hsla(0,0%,100%,.8);--chrome-glass-blur:10px}.project-card:hover{border-color:hsla(0,0%,82%,.6);border-color:var(--border-focus);box-shadow:0 10px 20px hsla(0,0%,100%,.12);box-shadow:0 10px 20px var(--border-medium);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.project-image-container{align-items:center;background:#f5f5f5;border-bottom:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid var(--border-light);display:flex;height:200px;justify-content:center;overflow:hidden;width:100%}.project-image{height:100%;object-fit:contain;padding:1rem;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;width:100%}.project-card:hover .project-image{-webkit-transform:scale(1.05);transform:scale(1.05)}.project-content{display:flex;flex-direction:column;flex-grow:1;padding:1.5rem}.project-title{align-items:center;color:#fff;color:var(--text-main);display:flex;font-size:1.5rem;justify-content:center;line-height:1.3;margin-bottom:.5rem;margin-top:0;max-height:2.6em;min-height:2.6em;overflow:hidden;text-align:center}.project-description{flex-grow:1;font-size:1rem;line-height:1.5;margin-bottom:1.5rem;text-align:justify}.project-button,.project-description{color:#ddd;color:var(--text-secondary)}.project-button{align-self:flex-start;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:6px;cursor:pointer;font-family:inherit;font-weight:600;padding:.6rem 1.2rem;text-decoration:none;transition:background-color .3s ease,color .3s ease}[data-theme=light] .project-button{background:hsla(0,0%,100%,.5)}.project-button:hover{background:#ddd;background:var(--text-secondary);border-color:transparent;color:#151515;color:var(--bg-main)}.project-actions{display:flex;flex-wrap:wrap;gap:.4rem}.timeline-project-card .timeline-project-link{align-self:auto;margin:0}.timeline-project-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:auto}.project-modal-overlay{--glass-surface:color-mix(in srgb,var(--bg-main) 78%,transparent);--chrome-glass-blur:3px;align-items:stretch;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);inset:0;justify-content:center;overflow-y:auto;padding:1rem 1rem 2rem;position:fixed;z-index:1300}.project-modal,.project-modal-overlay{background:var(--glass-surface);display:flex}.project-modal{--glass-surface:hsla(0,0%,8%,.9);--chrome-glass-blur:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:20px;box-shadow:0 16px 40px rgba(0,0,0,.4);flex-direction:column;gap:.75rem;margin-bottom:auto;margin-top:auto;padding:1.5rem;position:relative;width:min(760px,92vw)}[data-theme=light] .project-modal{--glass-surface:hsla(0,0%,100%,.94);background:var(--glass-surface);box-shadow:0 16px 40px hsla(0,0%,8%,.22)}.project-modal-header{display:flex;flex-direction:column;gap:.35rem;padding-right:5.25rem}.project-modal-date{color:#ddd;color:var(--text-secondary);display:inline-block;font-size:.78rem;letter-spacing:.14em;line-height:1.05;margin:0;opacity:.7;text-transform:uppercase}.project-modal-title{color:#fff;color:var(--text-main);font-size:1.8rem;line-height:1.15;margin:0}.project-modal-close{background:transparent;border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:6px;color:#fff;color:var(--text-main);cursor:pointer;font-weight:600;padding:.5rem 1rem;position:absolute;right:1.5rem;top:1.35rem}.project-modal-description{text-align:left}.project-modal-description,.project-modal-details{color:#ddd;color:var(--text-secondary);line-height:1.7;margin:0}.project-modal-details{opacity:.88;text-align:justify;text-justify:inter-word}.project-modal-details>*{margin:0}.project-modal-details>*+*{margin-top:.85rem}.project-modal-details ol,.project-modal-details ul{padding-left:1.25rem}.project-modal-details li+li{margin-top:.35rem}.project-modal-details li>p{margin:0}.project-modal-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}.project-modal-gallery{-webkit-overflow-scrolling:touch;display:flex;gap:.65rem;margin:0;overflow-x:auto;overscroll-behavior-x:contain;padding:0;scroll-snap-type:x mandatory}.project-modal-slide{align-items:center;background:color-mix(in srgb,#151515 88%,transparent);background:color-mix(in srgb,var(--bg-main) 88%,transparent);border:1px solid hsla(0,0%,100%,.12);border:1px solid var(--border-medium);border-radius:10px;display:flex;flex:0 0 clamp(180px,36vw,250px);height:clamp(320px,58vh,460px);justify-content:center;overflow:hidden;padding:.35rem;scroll-snap-align:start}.project-modal-image{border-radius:8px;display:block;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.project-external-icon{font-size:.95em;margin-left:.45rem}@media (max-width:640px){.project-modal-slide{flex-basis:min(76vw,240px)}}.project-modal-note{color:#ddd;color:var(--text-secondary);font-size:.95rem;margin:0;opacity:.78}@media (max-width:1024px) and (orientation:portrait) and (pointer:coarse),(max-width:800px){.projects-grid{grid-template-columns:1fr;padding:0 1rem}}.gallery-page{padding-bottom:5rem}.gallery-gear-section{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto 3rem;max-width:1200px;padding:0 1rem}.gallery-gear-copy{padding:1.5rem 0 0}.gallery-gear-eyebrow{font-size:.78rem;letter-spacing:.18em;margin:0 0 .6rem;opacity:.7;text-transform:uppercase}.gallery-gear-title{font-size:clamp(1.8rem,2.4vw,2.6rem);margin:0 0 .9rem}.gallery-gear-text{line-height:1.7;margin:0;max-width:34rem}.gallery-gear-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.gallery-gear-card{--glass-surface:hsla(0,0%,100%,.03);--chrome-glass-blur:8px;-webkit-animation:fadeInDown .6s ease-out forwards;animation:fadeInDown .6s ease-out forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--glass-surface);border:1px solid hsla(0,0%,100%,.08);border-radius:18px;opacity:0;padding:1.25rem}[data-theme=light] .gallery-gear-card{--glass-surface:hsla(0,0%,100%,.5);background:var(--glass-surface);border-color:hsla(0,0%,8%,.08)}.project-card:before,.timeline-resume-card:before{-webkit-backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(var(--chrome-glass-blur,8px));backdrop-filter:blur(8px);backdrop-filter:blur(var(--chrome-glass-blur,8px));background:var(--glass-surface);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}.gallery-gear-category{font-size:.78rem;letter-spacing:.14em;margin:0 0 .35rem;opacity:.7;text-transform:uppercase}.gallery-gear-item{font-size:1.1rem;margin:0 0 .85rem}.gallery-gear-note{line-height:1.6;margin:0;opacity:.88}.gallery-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0 auto;max-width:1200px;padding:0 1rem}@media (min-width:769px){.gallery-grid{-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent);mask-image:linear-gradient(180deg,#000 78%,transparent)}}.gallery-item{-webkit-animation:fadeInDown .6s ease-out forwards;animation:fadeInDown .6s ease-out forwards;aspect-ratio:1;display:flex;flex-direction:column;opacity:0;overflow:hidden;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes timelineProjectCardSlideIn{0%{-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes timelineProjectCardSlideIn{0%{-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes timelineProjectCardFadeIn{0%{opacity:0}to{opacity:1}}@keyframes timelineProjectCardFadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadeInLeftToRight{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeftToRight{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}[data-theme=dark] .gallery-item,[data-theme=light] .gallery-item{background:transparent}.gallery-item:hover{-webkit-transform:scale(1.02);transform:scale(1.02)}.gallery-image-container{align-items:center;aspect-ratio:1;background:transparent;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.gallery-item-last .gallery-image-container:after{content:none}.gallery-image{height:100%;object-fit:cover;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease;width:100%}.gallery-item:hover .gallery-image{-webkit-transform:scale(1.05);transform:scale(1.05)}.gallery-overlay{align-items:center;background:rgba(0,0,0,.6);display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-link{background:#fff;border:none;border-radius:6px;color:#151515;cursor:pointer;font-weight:600;padding:.6rem 1.2rem;text-decoration:none;transition:background .3s ease}.gallery-link:hover{background:#f0f0f0}.gallery-caption{display:none}.gallery-instagram-link{color:#fff;color:var(--text-main);font-weight:600;text-decoration:none}.gallery-instagram-link:hover{text-shadow:0 0 8px currentColor;text-shadow:var(--link-hover-text-shadow)}@media (max-width:1024px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.gallery-page{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.gallery-gear-section{padding:0}.gallery-gear-grid{grid-template-columns:1fr}.gallery-grid{gap:.5rem;grid-template-columns:repeat(2,1fr);padding:0}.gallery-item-last .gallery-image-container:after{content:none}.gallery-item-last .gallery-image-container{-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}}@media (max-width:600px){.gallery-grid{grid-template-columns:1fr;padding:0}}
/*# sourceMappingURL=main.9b70dda2.css.map*/