:root{--primary-color:#1c2b4a;--secondary-color:#f4a623;--secondary-color-dark:#c98800;--secondary-text-color:#9c6200;--text-color:#2c3e55;--text-muted:#5a7090;--background-color:#f5f7fa;--bg-subtle:#eef1f7;--secondary-bg:rgba(107, 140, 186, 0.08);--card-background:#ffffff;--accent-color:#6b8cba;--accent-project:#dc566d;--accent-experience:#488cb7;--hamburger-red:#cd374e;--hamburger-yellow:#fdc372;--hamburger-blue:#337197;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:50%;--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.05);--shadow-md:0 1px 2px rgba(0, 0, 0, 0.05),0 4px 8px rgba(0, 0, 0, 0.07);--shadow-lg:0 2px 8px rgba(0, 0, 0, 0.08);--shadow-xl:0 4px 12px rgba(0, 0, 0, 0.1);--spacing-xs:8px;--spacing-sm:15px;--spacing-md:20px;--spacing-lg:40px;--spacing-xl:60px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-smooth:0.4s cubic-bezier(0.16, 1, 0.3, 1);--transition-bouncy:0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);--dot-pattern:radial-gradient(circle, rgba(28, 43, 74, 0.08) 1.5px, transparent 1.5px);--dot-pattern-size:20px 20px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-family:Outfit,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;font-size:106.25%;overflow-x:hidden}body{overflow-x:hidden;width:100%;position:relative}body::after{content:'';position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}.transition-normal{transition:all var(--transition-normal)}.transition-transform{transition:transform var(--transition-normal)}.transition-color{transition:color var(--transition-normal)}.transition-opacity{transition:opacity var(--transition-normal)}.card{background-color:var(--card-background);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.card-elevated{box-shadow:var(--shadow-lg)}.card-subtle{background-color:var(--bg-subtle);box-shadow:var(--shadow-sm)}p{margin-bottom:1rem;font-size:1rem;line-height:1.7}a{color:var(--secondary-text-color);text-decoration:none;position:relative;transition:color var(--transition-normal)}a:focus{outline:2px solid var(--secondary-text-color);outline-offset:4px;border-radius:2px}a:focus:not(:focus-visible){outline:0}a:active{transform:translateY(1px)}.card li a,.card p a,.responsibilities a,.role-details a,.section-content-wrapper h1 a,.section-content-wrapper h2 a,.section-content-wrapper h3 a,.section-content-wrapper h4 a,.section-content-wrapper h5 a,.section-content-wrapper h6 a,.section-content-wrapper li a:not(.on-page-nav a),.section-content-wrapper p a{color:var(--primary-color);text-decoration:underline;text-decoration-color:var(--secondary-color);text-underline-offset:3px;font-weight:600}.card li a:hover,.card p a:hover,.responsibilities a:hover,.role-details a:hover,.section-content-wrapper h1 a:hover,.section-content-wrapper h2 a:hover,.section-content-wrapper h3 a:hover,.section-content-wrapper h4 a:hover,.section-content-wrapper h5 a:hover,.section-content-wrapper h6 a:hover,.section-content-wrapper li a:hover:not(.on-page-nav a),.section-content-wrapper p a:hover{color:var(--secondary-color-dark);text-decoration-color:var(--secondary-color-dark)}h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;font-weight:700;line-height:1.3;margin-bottom:1.5em}.section-content-wrapper>h1:first-child{position:relative;display:inline-block;padding-bottom:20px;margin:0 auto 40px;text-align:center;width:100%}.section-content-wrapper>h1:first-child::after{content:'';position:absolute;left:50%;bottom:0;width:120px;height:4px;background-color:var(--secondary-color);transform:translateX(-50%)}h1{font-size:2.5rem;color:var(--primary-color);margin-bottom:30px;letter-spacing:-.015em}h2{color:var(--primary-color);font-size:2rem;border-bottom:3px solid var(--secondary-color);padding-bottom:10px;margin-bottom:20px;letter-spacing:-.01em}h2#design-process,h2#key-learnings,h2#overview,h2#results-impact,h2[id^=section-]{scroll-margin-top:100px}.section-header{font-size:1.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:2rem 0 1rem;color:var(--text-color)}.section-header--projects{color:var(--accent-project)}.section-header--experience{color:var(--accent-experience)}h3{color:var(--secondary-color-dark);font-size:1.5rem;margin-bottom:20px;font-weight:600}h4{color:var(--primary-color);font-size:1.25rem;margin-bottom:16px}h5{color:var(--text-color);font-size:1rem;margin-bottom:.8rem}h6{color:var(--text-color);font-size:.9rem;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}ol,ul{padding-left:20px}ol li,ul li{margin-bottom:10px;position:relative}figcaption{text-align:center;color:var(--text-muted);font-style:italic;font-size:.9rem;line-height:1.4;padding:0 10px}.kinetic-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.15em;margin-bottom:-.15em;padding-right:.05em}.kinetic-inner{display:inline-block;will-change:transform}.header-brush{position:absolute;bottom:-15px;left:0;width:100%;height:15px;overflow:visible;pointer-events:none}.container{width:100%;max-width:1600px;margin:0 auto;padding:20px;position:relative;z-index:1}main,main>section:nth-of-type(odd){background-color:var(--background-color)}main section{margin-bottom:30px}main>section{position:relative;overflow:hidden;margin-bottom:0;padding-bottom:60px}main>section:nth-of-type(2n){background-color:#e4eaf2}main>section:last-of-type{margin-bottom:0;padding-bottom:0}.footer-blend-section{position:relative;padding-bottom:150px!important}.footer-blend-section::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:150px;background:linear-gradient(to bottom,transparent,var(--background-color));pointer-events:none}.section-content-wrapper{max-width:1600px;margin-left:auto;margin-right:auto;padding:40px 40px 40px 270px;position:relative}section.overview{text-align:left}main section>h2:first-child{margin-top:0}.overview{padding-top:80px}.logo svg{height:6rem;width:auto}picture img{max-width:100%;height:auto;border-radius:10px;margin:20px 0}figure{display:flex;flex-direction:column;max-width:100%;margin-bottom:1rem;padding:10px;border-radius:var(--radius-md);align-items:center}#experience,#home,#projects{min-height:100vh;padding:40px 20px}#home{display:flex;align-items:flex-start;justify-content:center;background:var(--background-color)}.custom-shape-divider-bottom{position:absolute;bottom:-1px;left:0;width:100%;overflow:hidden;line-height:0;z-index:0}.custom-shape-divider-bottom svg{position:relative;display:block;width:calc(100% + 1.3px);height:60px}.custom-shape-divider-bottom .shape-fill{fill:#e4eaf2}.custom-shape-divider-bottom.projects-divider .shape-fill{fill:var(--background-color)}#home .custom-shape-divider-bottom .shape-fill{fill:#e4eaf2}.figma-canvas{background:0 0;position:relative}header{position:fixed;top:0;left:0;width:100%;padding:15px 0 45px;z-index:1000;transition:box-shadow .3s,opacity .3s;will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0)}header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='50' viewBox='0 0 600 50'%3E%3Cpath d='M0,0 L600,0 L600,20 A60,60 0 0,1 530,20 A40,40 0 0,1 480,20 A55,55 0 0,1 410,20 A50,50 0 0,1 350,20 A60,60 0 0,1 290,20 A65,65 0 0,1 220,20 A35,35 0 0,1 170,20 A55,55 0 0,1 100,20 A45,45 0 0,1 50,20 A40,40 0 0,1 0,20 Z' fill='black'/%3E%3C/svg%3E"),linear-gradient(black,black);-webkit-mask-size:600px 50px,100% calc(100% - 30px);-webkit-mask-repeat:repeat-x,no-repeat;-webkit-mask-position:bottom left,top left;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='50' viewBox='0 0 600 50'%3E%3Cpath d='M0,0 L600,0 L600,20 A60,60 0 0,1 530,20 A40,40 0 0,1 480,20 A55,55 0 0,1 410,20 A50,50 0 0,1 350,20 A60,60 0 0,1 290,20 A65,65 0 0,1 220,20 A35,35 0 0,1 170,20 A55,55 0 0,1 100,20 A45,45 0 0,1 50,20 A40,40 0 0,1 0,20 Z' fill='black'/%3E%3C/svg%3E"),linear-gradient(black,black);mask-size:600px 50px,100% calc(100% - 30px);mask-repeat:repeat-x,no-repeat;mask-position:bottom left,top left;box-shadow:0 4px 8px rgba(0,0,0,.06);pointer-events:none;z-index:-1}header::after{content:'';position:absolute;top:12px;left:0;right:0;bottom:-12px;background:#cbd5e0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='50' viewBox='0 0 600 50'%3E%3Cpath d='M0,0 L600,0 L600,20 A60,60 0 0,1 530,20 A40,40 0 0,1 480,20 A55,55 0 0,1 410,20 A50,50 0 0,1 350,20 A60,60 0 0,1 290,20 A65,65 0 0,1 220,20 A35,35 0 0,1 170,20 A55,55 0 0,1 100,20 A45,45 0 0,1 50,20 A40,40 0 0,1 0,20 Z' fill='black'/%3E%3C/svg%3E"),linear-gradient(black,black);-webkit-mask-size:600px 50px,100% calc(100% - 30px);-webkit-mask-repeat:repeat-x,no-repeat;-webkit-mask-position:bottom left,top left;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='50' viewBox='0 0 600 50'%3E%3Cpath d='M0,0 L600,0 L600,20 A60,60 0 0,1 530,20 A40,40 0 0,1 480,20 A55,55 0 0,1 410,20 A50,50 0 0,1 350,20 A60,60 0 0,1 290,20 A65,65 0 0,1 220,20 A35,35 0 0,1 170,20 A55,55 0 0,1 100,20 A45,45 0 0,1 50,20 A40,40 0 0,1 0,20 Z' fill='black'/%3E%3C/svg%3E"),linear-gradient(black,black);mask-size:600px 50px,100% calc(100% - 30px);mask-repeat:repeat-x,no-repeat;mask-position:bottom left,top left;pointer-events:none;z-index:-2}header .container{display:flex;justify-content:space-between;align-items:center;max-width:1600px;margin:0 auto;padding:0 40px;height:50px}.nav-menu{display:flex;align-items:center}.logo{font-family:'Playfair Display',serif;text-decoration:none;color:var(--primary-color);font-size:24px;font-weight:700;letter-spacing:1px;transition:opacity .3s}.logo:hover{opacity:.9}header nav{height:100%;display:flex;align-items:center}header nav ul{display:flex;gap:40px;list-style:none;padding:0;margin:0}header nav ul li{margin:0;display:flex;align-items:center;height:100%}.nav-link{color:var(--primary-color);font-weight:600;font-size:1rem;text-decoration:none;position:relative;padding:8px 0;transition:color .3s;display:inline-block}.brush-underline{position:absolute;bottom:-1px;left:0;width:100%;height:10px;overflow:visible;pointer-events:none}.brush-stroke{fill:none;stroke:rgba(15,20,35,0.82);stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:300;stroke-dashoffset:300}a[href="#projects"] .brush-stroke{stroke:var(--hamburger-red)}a[href="#experience"] .brush-stroke{stroke:var(--hamburger-blue)}.nav-link.active,.nav-link:hover{color:var(--primary-color)}.hamburger{display:none;background:0 0;border:none;color:var(--text-color);font-size:1.5rem;cursor:pointer;margin:0;padding:0}.hamburger:focus-visible{outline:2px solid var(--secondary-color);outline-offset:4px;border-radius:2px}.figure-row{display:flex;justify-content:space-between;gap:20px;padding:20px;max-width:1000px;margin:auto}@keyframes cloudShift{from{-webkit-mask-position:0px bottom,0px top;mask-position:0px bottom,0px top}to{-webkit-mask-position:600px bottom,0px top;mask-position:600px bottom,0px top}}@media (prefers-reduced-motion:no-preference){header::after,header::before{animation:300s linear infinite cloudShift}}.on-page-nav{position:fixed;top:120px;left:20px;width:220px;padding:24px 20px;background-color:var(--card-background);border:1px solid var(--bg-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:calc(100vh - 120px);overflow-y:auto;z-index:900}.on-page-nav h2{font-size:.85rem;color:var(--text-color);text-transform:none;letter-spacing:1px;margin-top:0;margin-bottom:15px;padding-bottom:10px;border-bottom:none}.on-page-nav ul{list-style:none;padding-left:15px;margin-left:5px;border-left:2px solid rgba(0,0,0,.05);position:relative}.on-page-nav ul li{margin-bottom:8px}.on-page-nav ul li a{text-decoration:none;color:var(--text-muted);font-weight:500;font-size:.9rem;display:block;padding:4px 10px;border-radius:var(--radius-sm);transition:.2s;position:relative}.on-page-nav ul li a:hover{color:var(--primary-color);background-color:transparent;transform:translateX(4px)}.on-page-nav ul li a.active-on-page-link{color:var(--primary-color);font-weight:700}.on-page-nav ul li a.active-on-page-link::before{content:'';position:absolute;left:-17px;top:0;bottom:0;width:2px;background-color:var(--secondary-color);border-radius:0;transform:none}.button,button{display:inline-block;margin-bottom:1rem;padding:.75rem 1.5rem;background-color:var(--secondary-color);color:var(--primary-color);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-normal);border:2px solid transparent;cursor:pointer;font-weight:600;font-size:1rem;text-align:center}.button:focus,button:focus{outline:2px solid var(--secondary-color);outline-offset:4px}.button:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:0}.button.primary{background-color:var(--secondary-color);color:var(--primary-color);position:relative;overflow:hidden;border:2px solid transparent}.button.secondary{background-color:transparent;border:2px solid var(--secondary-color);color:var(--secondary-text-color)}.back-home-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:transparent;color:var(--text-color);text-decoration:none;border:2px solid var(--accent-color);border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:.3s}.back-home-button:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);color:#fff;transform:translateX(-5px)}.back-home-button .arrow{font-size:1.2rem;transition:transform .3s}.back-home-button:hover .arrow{transform:translateX(-3px)}.button.primary.progress-fold{position:relative;perspective:800px;transform-style:preserve-3d;background-color:#000!important;color:transparent!important;overflow:visible!important;box-shadow:none!important}.button.primary.progress-fold .flow-text{visibility:hidden!important;display:inline-block;pointer-events:none}.button.primary.progress-fold .fold-text{background:var(--secondary-color);color:var(--primary-color);display:grid;inset:-2px;place-items:center;position:absolute;transform-origin:top center;border-radius:var(--radius-md);font-weight:600;font-size:1rem;margin:0;padding:0}.button.primary.progress-fold::after,.button.primary.progress-fold::before{content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1;border-radius:var(--radius-md)}.button.primary.progress-fold::before{content:""!important;position:absolute!important;top:-2px!important;left:-2px!important;right:-2px!important;bottom:-2px!important;width:auto!important;height:auto!important;border-radius:var(--radius-md)!important;background:rgba(255,255,255,.15)!important;transform:none!important;transition:none!important}.button.primary.progress-fold::after{background:var(--secondary-color-dark);top:-2px;bottom:-2px;left:-2px;height:auto;width:0;border-radius:var(--radius-md)}.button.primary.progress-fold.is-active::after{animation:.6s forwards progress-fold-bar}@keyframes progress-fold-bar{0%{opacity:1;width:0}10%{opacity:1;width:15%}25%{opacity:1;width:25%}40%{opacity:1;width:35%}55%{opacity:1;width:75%}60%{opacity:1;width:calc(100% + 4px)}100%{opacity:0;width:calc(100% + 4px)}}.button.primary.progress-fold .text-content{position:relative;z-index:2}.button.fold-middle{--tilt:40deg;perspective:500px;transform-style:preserve-3d;position:relative}.button.fold-middle:active,.button.fold-middle:focus{outline:0!important;border-color:transparent!important}.button.fold-middle .flow-text{visibility:hidden;pointer-events:none}.button.fold-middle .text-container{background:0 0;border-radius:inherit;display:flex;justify-content:center;align-items:center;position:absolute;inset:0;transform-origin:center center;pointer-events:none;color:var(--secondary-text-color)}#home{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;box-sizing:border-box;padding-top:100px;padding-bottom:2rem;position:relative;background:linear-gradient(to bottom,#7ee8fa 0,#fff 100%);overflow:hidden}.profile-wrapper{position:relative;max-width:1200px;margin:0 auto}.profile{position:relative;z-index:1;display:flex;align-items:center;gap:5rem;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:3rem;border-radius:20px;clip-path:inset(0 round 20px);box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.5);will-change:clip-path;min-height:340px}.anim-pending .profile{background:0 0;backdrop-filter:none;box-shadow:none;border:none;clip-path:polygon(2% 3%,100% 0%,98% 97%,0% 100%);-webkit-clip-path:polygon(2% 3%,100% 0%,98% 97%,0% 100%)}.anim-pending .cta-buttons,.anim-pending .headshot,.anim-pending .intro .name,.anim-pending .intro .title,.anim-pending .intro-text>p,.anim-pending .social-media{opacity:0;transform:translateY(20px)}.intro{position:relative;z-index:1;text-align:left;margin-bottom:2rem}.intro-text p{font-size:1.25rem;line-height:1.7;color:var(--text-color);max-width:600px}.name{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;color:var(--primary-color);letter-spacing:-.02em;line-height:1.1;margin-bottom:.5rem}.title{font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:400;font-style:normal;text-transform:none;letter-spacing:normal;color:var(--text-muted);margin-top:0;margin-bottom:2rem}.headshot{width:min(400px,80vw);height:auto;aspect-ratio:1/1;display:block;border-radius:var(--radius-full);overflow:hidden;box-shadow:8px 8px 0 var(--primary-color);border:3px solid var(--primary-color);background-color:#f5f7fa;flex-shrink:0}.headshot::part(canvas){transform:translateY(-18%)}.cta-buttons{display:flex;gap:1rem;margin-top:2rem;margin-bottom:2rem}.cta-buttons .button{flex:1}.social-media{display:flex;gap:2rem;justify-content:flex-start;margin-top:1rem}.social-media a{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-color);font-size:.9rem;transition:all var(--transition-bouncy)}.social-media a:hover{transform:translateY(-5px) rotate(5deg);color:var(--secondary-text-color)}.social-media a:hover .social-icon{animation:.5s bounce}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.social-icon{width:1.75rem;height:1.75rem;transition:transform var(--transition-normal)}.scroll-indicator{display:flex;flex-direction:column;align-items:center;margin-top:1.25rem;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .5s,transform .5s}.scroll-indicator.visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-indicator.hidden{opacity:0;transform:translateY(-10px);pointer-events:none}.scroll-arrow-link{display:inline-flex;justify-content:center;align-items:center;opacity:.7;transition:transform var(--transition-normal),opacity var(--transition-normal);cursor:pointer}.scroll-arrow-link:hover{transform:scale(1.15);opacity:1}.scroll-arrow{width:28px;height:auto;color:var(--accent-color);animation:4s ease-in-out infinite erase-arrow}.scroll-arrow path{animation-duration:4s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.scroll-arrow .arrow-stem{stroke-dasharray:80;stroke-dashoffset:80;animation-name:draw-stem}.scroll-arrow .arrow-left-wing{stroke-dasharray:30;stroke-dashoffset:30;animation-name:draw-left-wing}.scroll-arrow .arrow-right-wing{stroke-dasharray:30;stroke-dashoffset:30;animation-name:draw-right-wing}@keyframes erase-arrow{0%,85%{clip-path:inset(0% 0% 0% 0%)}100%{clip-path:inset(100% 0% 0% 0%)}}@keyframes draw-stem{0%{stroke-dashoffset:80}100%,40%{stroke-dashoffset:0}}@keyframes draw-left-wing{0%,40%{stroke-dashoffset:30}100%,55%{stroke-dashoffset:0}}@keyframes draw-right-wing{0%,55%{stroke-dashoffset:30}100%,70%{stroke-dashoffset:0}}@media (max-height:700px){.scroll-indicator{display:none}}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;transition:.3s;transform-style:preserve-3d;perspective:2000px}.project-card{background-color:var(--card-background);border-radius:var(--radius-xl);box-shadow:0 2px 4px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column;height:100%;transition:all var(--transition-smooth);will-change:transform,box-shadow,opacity;transform:translateZ(0);backface-visibility:hidden;border:1px solid rgba(0,0,0,.04);opacity:0;transform-style:preserve-3d;perspective:1000px}.project-card:hover{transform:translateY(-8px);box-shadow:0 4px 8px rgba(0,0,0,.06),0 16px 32px rgba(0,0,0,.1)}.project-card:hover .project-image{transform:scale(1.05)}.project-card:active{transform:translateY(-5px) scale(1.01)}.project-image{width:100%;height:280px;object-fit:cover;object-position:center;transition:transform var(--transition-smooth);border-radius:var(--radius-lg) var(--radius-lg) 0 0;aspect-ratio:16/9}.project-image.scale-up{transform:scale(1.08)}.project-card:hover .project-image.scale-up{transform:scale(1.13)}.project-image-wrapper{padding:1rem 1rem 0;background:linear-gradient(135deg,rgba(237,242,247,.8) 0,rgba(255,255,255,.6) 100%)}.project-image-wrapper .project-image{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.project-date{color:#4a6a8f;font-size:.875rem;margin:0 20px 12px;font-weight:500}.project-card h3{color:var(--primary-color);margin:15px 20px 8px;font-size:1.25rem;line-height:1.3}.project-card p{font-size:1em;color:var(--text-color);margin:0 20px 20px;line-height:1.5;flex-grow:1}.category-tags{display:flex;flex-wrap:wrap;gap:12px;padding:15px 20px 0;margin-top:auto;margin-bottom:15px;border-top:1px solid rgba(0,0,0,.07)}.category-tag{background:0 0;border:none;padding:0;color:var(--text-color);font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:6px}.category-tag::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background-color:var(--secondary-color);flex-shrink:0}.tech-stack{list-style:none;padding:0 20px 20px;margin:0;display:flex;flex-wrap:wrap;align-items:center;row-gap:4px}.tech-stack li{background:0 0;border:none;padding:0;font-size:.8rem;font-weight:400;color:var(--text-muted)}.tech-stack li+li::before{content:'·';margin:0 7px;color:var(--text-muted);opacity:.45}.project-image-container{position:relative;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.project-card{text-decoration:none;color:inherit}.project-card:focus-visible{outline:2px solid var(--secondary-color);outline-offset:4px;border-radius:var(--radius-xl)}.project-card.hidden-project{display:none;opacity:0;transform:translateY(20px) scale(.95);will-change:opacity,transform}.project-card.hidden-project.visible{display:flex;animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeSlideIn}.project-card.hidden-project:nth-of-type(4).visible{animation-delay:.1s}.project-card.hidden-project:nth-of-type(5).visible{animation-delay:.2s}.project-card.hidden-project:nth-of-type(6).visible{animation-delay:.3s}@keyframes fadeSlideIn{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.expand-portfolio-container{display:flex;justify-content:center;margin-top:40px;margin-bottom:20px}.expand-portfolio-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:transparent;color:var(--accent-color);border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:.3s;position:relative}.expand-portfolio-btn:hover{color:var(--accent-color);background-color:transparent;box-shadow:none}.expand-portfolio-btn:active{transform:scale(.98);background-color:transparent;box-shadow:none}.expand-portfolio-btn:focus{outline:2px solid var(--accent-color);outline-offset:4px}.expand-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;transition:transform .4s cubic-bezier(.68, -.55, .265, 1.55);width:20px;height:20px}.expand-portfolio-btn[aria-expanded=true] .expand-icon{transform:rotate(135deg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:3rem 0}.expertise-area{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem;transition:transform .3s}.expertise-area h4{color:var(--primary-color);margin-bottom:1rem;font-size:1.25rem}.expertise-area p{color:var(--text-color);line-height:1.6}#projects{position:relative;padding:2.5rem 0 6rem;scroll-margin-top:55px;background:#e4eaf2}.project-card.figma-frame{position:relative;overflow:visible!important;border:1px solid #e1e4e8;background-color:var(--card-background);border-radius:var(--radius-lg);transition:box-shadow var(--transition-smooth),border-color var(--transition-fast)}.project-card.figma-frame:hover{border-color:var(--secondary-color)}.figma-frame-outline{position:absolute;top:-.75px;left:-.75px;right:-.75px;bottom:-.75px;border:1.5px solid transparent;border-radius:0;pointer-events:none;z-index:4;transition:border-color var(--transition-fast)}.project-card.figma-frame:hover .figma-frame-outline{border-color:var(--secondary-color)}.figma-frame-handles{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:5}.figma-handle{position:absolute;width:6px;height:6px;background-color:#fff;border:1.5px solid var(--secondary-color);border-radius:0;opacity:0;transition:opacity var(--transition-fast);transform:translate(-50%,-50%)}.project-card.figma-frame:hover .figma-handle{opacity:1}.figma-handle-tl{top:0;left:0;cursor:nwse-resize}.figma-handle-tr{top:0;left:100%;cursor:nesw-resize}.figma-handle-bl{top:100%;left:0;cursor:nesw-resize}.figma-handle-br{top:100%;left:100%;cursor:nwse-resize}@media (max-width:768px){.figma-handle{display:none!important}.project-card.figma-frame{overflow:hidden!important;border-color:#cbd5e0}}.timeline{position:relative;max-width:1200px;margin:0 auto;padding:20px 0}.timeline::after{content:'';position:absolute;width:8px;background-color:rgba(107,140,186,.15);top:0;bottom:0;left:50%;margin-left:-4px;border-radius:4px;z-index:1}.timeline-item{padding:10px 40px;position:relative;width:50%;z-index:2}.timeline-item:nth-child(odd){left:0}.timeline-item:nth-child(2n){left:50%}.timeline-item::after,.timeline-item:nth-child(2n)::after{display:none!important}.timeline-badge{position:absolute;width:32px;height:32px;background-color:#fff;border:2px solid #cbd5e0;border-radius:50%;display:flex;align-items:center;justify-content:center;top:18px;z-index:5;box-shadow:var(--shadow-sm);transition:.5s cubic-bezier(.165, .84, .44, 1);overflow:hidden;opacity:.45;filter:grayscale(100%);right:0;transform:translate(50%,0)}.timeline-item:nth-child(2n) .timeline-badge{left:0;right:auto;transform:translate(-50%,0)}.timeline-badge img{max-width:18px;max-height:18px;object-fit:contain;display:block}.timeline-item.dot-filled .timeline-badge{border-color:var(--secondary-color);box-shadow:var(--shadow-md);opacity:1;filter:grayscale(0%);transform:translate(50%,0) scale(1.1)}.timeline-item:nth-child(2n).dot-filled .timeline-badge{transform:translate(-50%,0) scale(1.1)}.timeline-item.dot-filled .timeline-badge.cornell{border-color:#b31b1b;box-shadow:0 0 10px rgba(179,27,27,.4)}.timeline-item.dot-filled .timeline-badge.utah{border-color:#c00;box-shadow:0 0 10px rgba(204,0,0,.4)}.timeline-item.dot-filled .timeline-badge.microsoft{border-color:#0078d4;box-shadow:0 0 10px rgba(0,120,212,.4)}.timeline-content{border:none!important;border-radius:2px!important;box-shadow:2px 4px 10px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04)!important;padding:24px!important;transition:.4s cubic-bezier(.165, .84, .44, 1)!important;position:relative;cursor:default;opacity:0}.timeline-item:nth-child(4n+1) .timeline-content{transform:rotate(-1.2deg) translateX(-100px);background-color:#fff8e7!important;border-left:5px solid var(--secondary-color)!important}.timeline-item:nth-child(4n+2) .timeline-content{transform:rotate(.8deg) translateX(100px);background-color:#f0f4f8!important;border-left:5px solid var(--accent-color)!important}.timeline-item:nth-child(4n+3) .timeline-content{transform:rotate(-.7deg) translateX(-100px);background-color:#fafafb!important;border-left:5px solid var(--text-muted)!important}.timeline-item:nth-child(4n) .timeline-content{transform:rotate(1deg) translateX(100px);background-color:#fff!important;border-left:5px solid var(--primary-color)!important}.timeline-item.in-view .timeline-content{opacity:1}.timeline-item:nth-child(4n+1).in-view .timeline-content{transform:rotate(-1.2deg) translateX(0)}.timeline-item:nth-child(4n+2).in-view .timeline-content{transform:rotate(.8deg) translateX(0)}.timeline-item:nth-child(4n+3).in-view .timeline-content{transform:rotate(-.7deg) translateX(0)}.timeline-item:nth-child(4n).in-view .timeline-content{transform:rotate(1deg) translateX(0)}.timeline-content h4{font-size:1.15rem;font-weight:700;color:#1a202c;margin-bottom:2px}.timeline-content h5{font-size:.95rem;font-weight:600;color:#4a5568;margin-bottom:6px}.timeline-date{font-size:.75rem;font-family:monospace;color:var(--text-color);margin-bottom:12px;display:inline-block;background:rgba(0,0,0,.04);padding:1px 6px;border-radius:3px;font-style:normal}.role-details{gap:12px;margin-top:12px;display:flex;flex-direction:column}.skills-section,.tools-section{background:0 0;padding:0;border:none;border-radius:0;display:block}.skills-section h6,.tools-section h6{font-size:.75rem;text-transform:none;letter-spacing:.05em;color:#718096;margin-bottom:4px;display:block}.skills-section h6::after,.tools-section h6::after{content:none!important}.certifications-list,.skills-list,.tools-list{display:flex;flex-wrap:wrap;gap:4px;list-style-type:none;padding-left:0}.certifications-list li,.skills-list li,.tools-list li{display:inline-block!important;background:rgba(255,255,255,.6)!important;border:1px solid rgba(0,0,0,.05)!important;border-radius:3px!important;padding:2px 6px!important;font-size:.72rem!important;font-weight:500!important;color:#2d3748!important;margin:0!important;box-shadow:1px 1px 2px rgba(0,0,0,.02)}.certifications-list li+li::before,.skills-list li+li::before,.tools-list li+li::before{content:none!important}.responsibilities{border-top:1px dashed rgba(0,0,0,.06);padding-top:10px;margin-top:10px}.responsibilities h6{font-size:.75rem;text-transform:none;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;display:block}.responsibilities ul{list-style-type:disc;padding-left:14px}.responsibilities li{font-size:.82rem;line-height:1.45;color:#4a5568;margin-bottom:6px}.nda-project{background:0 0;border-left:2px solid var(--secondary-color);padding-left:16px;margin-top:8px}.nda-project h6{font-family:inherit;font-size:.85rem;font-weight:600;color:var(--primary-color);text-transform:none;letter-spacing:normal;margin-top:0;margin-bottom:4px}.nda-project p{margin:0;font-style:italic;color:var(--text-color);opacity:.8;line-height:1.6;font-size:.85rem}#experience{position:relative;padding:2.5rem 0 6rem;scroll-margin-top:55px;margin-bottom:0!important;background:linear-gradient(to bottom,var(--background-color) 0,#e4eaf2 15%,#e4eaf2 85%,var(--background-color) 100%)}#experience::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--dot-pattern);background-size:var(--dot-pattern-size);pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 150px,rgba(0,0,0,1) calc(100% - 150px),rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 150px,rgba(0,0,0,1) calc(100% - 150px),rgba(0,0,0,0) 100%)}.figma-section-wrapper{position:relative;border:2px dashed #ccc;border-radius:12px;padding:50px 30px;margin:30px auto 0;background:rgba(255,255,255,.2);max-width:1200px}.design-insight{background-color:#f0f4f8;border-left:4px solid var(--secondary-color);padding:15px 20px;margin-top:20px;margin-bottom:20px;border-radius:var(--radius-sm);font-size:.95rem}.design-insight p{line-height:1.6;margin-bottom:.5rem}.design-insight strong{color:var(--primary-color);font-weight:600}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:20px 0}.metric-card{background:var(--card-background);padding:20px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--bg-subtle);display:flex;flex-direction:column;gap:10px}.metric-card h4{margin-bottom:8px;color:var(--primary-color);font-size:1.1rem}.metric-card .metric-value{font-size:1.4rem;font-weight:700;color:var(--secondary-color-dark)}.metric-card .metric-context{font-size:.9rem;color:var(--text-muted)}.comparison-grid{display:flex;flex-direction:column;gap:15px;margin:20px 0}.comparison-item{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--card-background);border-radius:var(--radius-md);border:1px solid var(--bg-subtle)}.comparison-col h5{margin-bottom:10px;text-transform:uppercase;font-size:.8rem;letter-spacing:.5px;color:var(--text-muted)}.comparison-col.before h5{color:#c4563b}.comparison-col.after h5{color:#1f7a6f}@media screen and (max-width:768px){.comparison-item{grid-template-columns:1fr}}.risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin:30px 0}.risk-card{background:var(--card-background);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--bg-subtle);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:all var(--transition-smooth)}.risk-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.risk-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--accent-color)}.risk-card.impact-critical::before{background-color:#e76f51}.risk-card.impact-high::before{background-color:#f4a261}.risk-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.risk-title{color:var(--primary-color);font-size:1.1rem;font-weight:700;margin:0;line-height:1.4}.risk-badges{display:flex;gap:8px;flex-shrink:0}.badge{padding:4px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-likelihood{background-color:var(--bg-subtle);color:var(--text-color)}.badge-impact{background-color:rgba(231,111,81,.1);color:#b5503a}.badge-impact.high{background-color:rgba(244,162,97,.1);color:#9a7000}.risk-mitigation{margin-top:auto;padding-top:16px;border-top:1px solid var(--bg-subtle)}.risk-mitigation h5{font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.risk-mitigation p{margin:0;font-size:.95rem;color:var(--text-color)}.timeline-grid{display:flex;flex-direction:column;gap:15px;margin:20px 0}.timeline-grid .timeline-item{display:grid;grid-template-columns:120px 1fr;gap:20px;background:var(--card-background);padding:20px;border-radius:var(--radius-md);border:1px solid var(--bg-subtle);align-items:center;position:static;width:auto;left:auto;transform:none}.timeline-grid .timeline-item::after{display:none}.timeline-weeks{font-weight:700;color:var(--secondary-text-color);font-size:1.1rem;border-right:2px solid var(--bg-subtle);padding-right:20px}.timeline-grid .timeline-content{padding:0;opacity:1;transform:none;transition:none}.timeline-grid .timeline-content h4{margin-bottom:5px;font-size:1.1rem}.timeline-grid .timeline-content p{font-size:.95rem;color:var(--text-muted)}@media screen and (max-width:600px){.timeline-grid .timeline-item{grid-template-columns:1fr}.timeline-weeks{border-right:none;border-bottom:2px solid var(--bg-subtle);padding-right:0;padding-bottom:10px}}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #cbd5e0;border-radius:var(--radius-sm);font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(244,166,35,.7)}.form-group textarea{resize:vertical;min-height:200px;width:100%;box-sizing:border-box}.quote{font-style:italic;color:var(--secondary-text-color);background-color:var(--secondary-bg);border-left:4px solid var(--secondary-color);padding:25px;margin:20px 0}.insight{padding:15px;margin-top:15px;margin-bottom:15px}.comparison-container{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:30px 0}.comparison-item{padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden}.comparison-item.before{border-left:4px solid var(--accent-color)}.comparison-item.after{border-left:4px solid var(--secondary-color)}.comparison-item::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,rgba(0,0,0,.05),transparent)}.comparison-text{margin-bottom:25px}.comparison-text h4{display:flex;align-items:center;gap:10px;color:var(--primary-color);font-size:1.2rem;margin-bottom:15px}.comparison-item.before h4::after{content:'→';color:var(--accent-color);font-size:1.4rem}.comparison-text p{color:var(--text-color);line-height:1.6;margin:0}.comparison-image{margin-top:auto}.comparison-image figure{margin:0;padding:0;background:0 0;box-shadow:none}.comparison-image figure picture{display:block;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.1)}.comparison-image figure picture img{width:100%;height:auto;display:block;margin:0}.comparison-image figcaption{margin-top:12px;text-align:center;color:var(--text-color);font-style:italic;font-size:.9em}.project-process{display:flex;gap:20px;padding:20px;overflow-x:auto;scrollbar-width:thin;margin:10px 0}.process-step{min-width:200px;padding:15px;background:var(--background-color);border-radius:var(--radius-md);border-left:3px solid var(--accent-color)}.narrative-metrics-summary p{font-size:1.1rem;line-height:1.7;margin-bottom:1.5em}.metric-highlight{font-weight:700;color:#a46a08;font-size:1.15em}.design-iterations{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;padding:20px}.iteration-card{background:var(--background-color);padding:15px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:10px}.iteration-image{width:100%;height:150px;object-fit:cover;border-radius:var(--radius-sm)}.user-feedback{background:var(--bg-subtle);margin:20px;padding:15px;border-radius:var(--radius-md);border-left:3px solid var(--secondary-color);font-style:italic}.problem-statement{background-color:var(--secondary-bg);padding:1.5rem;border-radius:var(--radius-md);margin-bottom:2rem;border-left:4px solid var(--secondary-color)}.problem-statement h3{margin-bottom:1rem}.problem-statement p{margin-bottom:0;font-size:1.1rem;line-height:1.6}.persona-card{display:flex;gap:40px;padding:40px;margin-top:20px;margin-bottom:40px}.persona-left{flex-shrink:0;width:300px;display:flex;flex-direction:column;gap:20px}.persona-image figure{margin:0;padding:0}.persona-image img{width:300px;height:300px;border-radius:var(--radius-lg);object-fit:cover;margin:0;box-shadow:0 2px 8px rgba(0,0,0,.1)}.persona-quote{background-color:#fff;padding:20px;border-radius:var(--radius-md);border-left:4px solid var(--secondary-color);box-shadow:var(--shadow-sm)}.persona-quote blockquote{font-size:1.1rem;font-style:italic;color:var(--text-color);margin:0;line-height:1.5}.persona-content{flex:1;display:flex;flex-direction:column;gap:20px}.persona-basics{margin-bottom:auto}.persona-details{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;height:100%;margin-top:0}.persona-category{padding:15px 0;display:flex;flex-direction:column;border-bottom:1px solid #f0f0f0}.persona-category:last-child{border-bottom:none}.persona-category h4{margin-bottom:15px;color:var(--accent-color)}.persona-category ul{flex-grow:1;list-style:none;padding:0;margin:0;display:grid;gap:12px}.persona-category li{margin:0}.prototype-links{margin-top:30px}.prototype-button{display:inline-block;padding:12px 24px;background-color:var(--secondary-color);color:#fff;text-decoration:none;border-radius:var(--radius-md);font-weight:600;font-size:1.1rem;transition:all var(--transition-bouncy);box-shadow:0 2px 4px rgba(28,43,74,.15);position:relative;overflow:hidden;text-align:center}.prototype-button::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:var(--radius-full);background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.prototype-button:hover::before{width:300px;height:300px}.prototype-button:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px rgba(244,166,35,.35)}.prototype-button:active{transform:translateY(-1px) scale(.98);box-shadow:0 2px 4px rgba(28,43,74,.15)}.prototype-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin:40px 0}.prototype-grid figure{margin:0;padding:0;background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.prototype-grid figure picture{display:block;width:100%;aspect-ratio:16/9;background-color:var(--bg-subtle)}.prototype-grid figure picture img{width:100%;height:auto;object-fit:contain;margin:0;background-color:var(--bg-subtle);padding:10px}.prototype-grid figcaption{padding:15px;background-color:#fff}.usability-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}.usability-section{background-color:var(--bg-subtle);padding:25px;border-radius:var(--radius-lg);box-shadow:0 2px 8px rgba(0,0,0,.05)}.usability-section h4{margin-bottom:20px;color:var(--primary-color)}.usability-section h5{color:var(--primary-color);font-size:1.1rem;margin:25px 0 15px;padding-bottom:8px;border-bottom:2px solid rgba(52,152,219,.2)}.task-list{list-style-position:inside;padding-left:0}.task-list li{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05)}.task-list li:last-child{border-bottom:none}.question-categories{display:flex;flex-direction:column;gap:20px}.question-category ul{list-style:none;padding-left:0}.question-category li{padding:8px 0 8px 20px;position:relative}.question-category li::before{content:"•";position:absolute;left:0;color:var(--secondary-text-color)}.usability-details{margin-bottom:40px}.usability-details .persona-details{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.usability-details .persona-category{height:fit-content}.tasks-container{display:flex;flex-direction:column;gap:40px;margin-top:30px}.tasks-overview{background-color:var(--bg-subtle);padding:30px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.task-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;margin-top:25px}.task-card{padding:20px;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:15px;border-left:4px solid var(--secondary-color)}.task-card.highlighted{border-left-color:var(--accent-color)}.task-number{background-color:var(--secondary-color);color:#fff;width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.task-card.highlighted .task-number{background-color:var(--accent-color)}.task-card p{margin:0;font-size:1.1rem;line-height:1.4}.storyboard{background-color:var(--bg-subtle);padding:30px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:40px}.storyboard figure{margin:0;padding:0;background:0 0;box-shadow:none}.storyboard figure picture img{width:100%;height:auto;object-fit:contain;margin:0;border-radius:var(--radius-md)}.storyboard figcaption{margin-top:15px;text-align:center;color:var(--text-color);margin-bottom:0}.project-metadata ul{list-style:none;padding-left:0;margin:.5rem 0}.project-metadata li{margin-bottom:.5rem;padding-left:1rem;position:relative}.project-metadata li::before{content:"-";position:absolute;left:0}.key-insights ul,.research-overview ul{list-style:none;padding:0}.key-insights li,.research-overview li{margin-bottom:1rem;padding-left:1.5rem;position:relative}.key-insights li::before,.research-overview li::before{content:"→";position:absolute;left:0;color:var(--secondary-text-color)}.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.method-card{background-color:var(--background-color);padding:1.5rem;border-radius:var(--radius-md);box-shadow:0 1px 4px rgba(0,0,0,.05)}.method-card h4{color:var(--primary-color);margin-bottom:.8rem;font-size:1.1rem;position:relative}.method-card p{color:var(--text-color);line-height:1.5;margin:0}.cons,.finding,.pros{padding:25px;margin:20px 0}.feedback-conclusion{margin-top:20px}.pros-cons{display:flex;margin-bottom:1rem;justify-content:space-between}.pros-cons .cons,.pros-cons .pros{width:48%;background-color:var(--background-color);padding:20px;border-radius:5px}.challenge-section{margin:2rem 0}.challenge-overview{background-color:var(--secondary-bg);padding:1.5rem;border-radius:var(--radius-md);margin:1.5rem 0}.challenge-main{font-size:1.1rem;line-height:1.6;color:var(--text-color);margin:0}.key-challenges{margin-top:2rem}.challenge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:1.5rem}.challenge-item{background-color:var(--background-color);padding:1.5rem;border-radius:var(--radius-md);box-shadow:0 1px 4px rgba(0,0,0,.05)}.challenge-item p{color:var(--text-color);line-height:1.5;margin:0}.project-images{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin:2rem 0}.project-images figure:first-child{grid-column:1/-1}.project-images figure{margin:0;border-radius:var(--radius-md);display:flex;flex-direction:column}.project-images figure picture{display:flex;border-radius:var(--radius-md);overflow:hidden;flex:1;background-color:var(--card-background);box-shadow:var(--shadow-md)}.project-images figure picture img{width:100%;height:auto;border-radius:var(--radius-md);display:block;margin:0}.project-images figure:first-child picture img{height:600px}.project-images figcaption{margin-top:1rem;text-align:center;color:var(--text-muted);font-style:italic;font-size:.9rem;line-height:1.4;padding:0 10px}.project-image-integrated{margin-top:2em;margin-bottom:2em;padding:0;border-radius:0}.role-impact{background-color:var(--secondary-bg);padding:1.5rem;border-radius:var(--radius-md);margin:1.5rem 0}.role-impact h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.2rem}.role-impact ul{list-style:none;padding:0}.role-impact li{margin-bottom:.8rem;padding-left:1.5rem;position:relative}.role-impact li::before{content:"→";position:absolute;left:0;color:var(--secondary-text-color)}.key-insights,.research-methods,.research-overview{margin:2rem 0}.project-image-hero{width:100%;margin:2.5em auto;padding:1.5rem;border-radius:var(--radius-2xl);display:block;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:0 4px 6px rgba(0,0,0,.04),0 10px 20px rgba(0,0,0,.06),0 20px 40px rgba(0,0,0,.04)}.project-image-hero img{border-radius:var(--radius-lg);margin:0;width:100%;height:auto;display:block}.project-image-hero picture img{border-radius:var(--radius-lg);margin:0}.project-image-hero figcaption{margin-top:.75em}.project-details{width:100%;margin-top:2em;margin-left:0;margin-right:0;text-align:left}.rl-image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;padding:20px 0;max-width:1200px;margin:0 auto}.img-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0}.img-grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%}.img-grid-4col{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;width:100%}.img-cell{display:flex;flex-direction:column;gap:.5rem}.img-cell-caption{text-align:center;font-size:.9rem;color:var(--text-muted);font-weight:500;margin:0}@media (max-width:768px){.rl-image-grid{grid-template-columns:1fr;gap:20px}.img-grid-2col,.img-grid-3col,.img-grid-4col{grid-template-columns:1fr;gap:1.5rem}}.rl-image-grid .project-image-integrated{margin-bottom:0;width:100%}p.quote{position:relative;padding:1.25rem 1.5rem;margin:1.5rem 0;font-style:italic;color:var(--text-color);line-height:1.6;border-left:4px solid var(--secondary-color);background-color:var(--secondary-bg);border-radius:0 4px 4px 0}p.quote.highlight{background-color:rgba(244,166,35,.12);border-left-width:6px;font-size:1.1rem}.quote-source{display:block;margin-top:.5rem;font-style:normal;color:var(--accent-color);font-size:.9rem;text-align:right}.project-overview{margin:2rem 0}.metadata-grid{display:flex;flex-wrap:wrap;row-gap:8px;column-gap:24px;margin:2rem 0;padding:16px 0;border-top:1px solid rgba(0,0,0,.07);border-bottom:1px solid rgba(0,0,0,.07)}.metadata-item{background:0 0;border:none;padding:0;box-shadow:none;display:flex;align-items:baseline;gap:6px;transform:none}.metadata-label{display:inline;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--primary-color);text-transform:none;letter-spacing:normal;margin:0}.metadata-label::after{content:':'}.metadata-value{font-size:.9rem;color:var(--text-color);font-weight:400;line-height:1.4}.feature-showcase{margin:2em 0}.feature-category{margin:2.5em 0}.feature-category h4{color:var(--primary-color);margin-bottom:.75rem;font-size:1.25rem}.feature-category p{color:var(--text-color);margin-bottom:1.25rem;max-width:800px;opacity:.9}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin:1.5rem 0}.feature-example{margin:0;padding:0;background:0 0;border:none}.feature-example img{width:100%;height:auto;border-radius:var(--radius-sm);display:block}.feature-example figcaption{margin-top:.75rem;font-size:.9rem;color:var(--accent-color);text-align:center;font-style:italic}.contribution-note{margin-top:2rem;padding:1.5rem;background:var(--card-background);border-radius:var(--radius-md);border-left:4px solid var(--secondary-color);box-shadow:0 2px 4px rgba(0,0,0,.05)}.contribution-note p{margin:0;color:var(--text-color);line-height:1.6}.contribution-note strong{color:var(--primary-color)}@media (max-width:768px){.feature-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.metadata-grid{grid-template-columns:repeat(2,1fr)}.logo svg{height:4.5 rem}}@media (max-width:480px){.metadata-grid{grid-template-columns:1fr}}.rl-image-grid .project-image-integrated picture{position:relative;display:block;width:100%;padding-bottom:56.25%;margin-bottom:.5rem;background-color:var(--bg-subtle);border-radius:var(--radius-md);overflow:hidden}.rl-image-grid .project-image-integrated img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:100%;max-height:100%;object-fit:contain;margin:0}.rl-image-grid .project-image-integrated figcaption{padding-top:8px}.study-params{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:20px 0 30px;background-color:var(--card-background);border-radius:var(--radius-md);border-left:4px solid var(--secondary-color);box-shadow:var(--shadow-sm);overflow:hidden}.study-param{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.05)}.study-param:nth-child(odd){border-right:1px solid rgba(0,0,0,.05)}.study-param:nth-last-child(-n+2){border-bottom:none}.study-param-label{font-family:'Playfair Display',serif;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.study-param-value{font-size:.95rem;color:var(--text-color);line-height:1.5}.comparison-table-wrapper{overflow-x:auto;margin:20px 0 30px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.comparison-table{width:100%;border-collapse:collapse;font-size:.95rem;background-color:var(--card-background)}.comparison-table thead th{background-color:var(--primary-color);color:#fff;font-family:'Playfair Display',serif;font-weight:600;font-size:.9rem;text-align:left;padding:14px 18px;letter-spacing:.02em}.comparison-table tbody td{padding:14px 18px;border-bottom:1px solid #e2e8f0;vertical-align:top;line-height:1.6}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table tbody tr:nth-child(2n){background-color:var(--bg-subtle)}.comparison-table tbody td strong{color:var(--primary-color)}.gantt-chart{display:flex;flex-direction:column;margin:40px 0 20px;position:relative;background:var(--card-background);border:1px solid var(--bg-subtle);border-radius:var(--radius-sm);padding-bottom:0;overflow-x:auto}.gantt-header-row{display:grid;grid-template-columns:140px repeat(12,1fr);background-color:var(--bg-subtle);border-bottom:1px solid rgba(0,0,0,.05);height:32px;min-width:800px}.gantt-header-empty{grid-column:1;border-right:1px solid rgba(0,0,0,.04)}.gantt-grid-line{border-right:1px solid rgba(0,0,0,.04);padding-left:8px;padding-top:8px;font-size:.75rem;color:var(--text-muted);font-weight:600;line-height:1}.gantt-grid-line:last-child{border-right:none}.gantt-body{position:relative;display:flex;flex-direction:column;min-width:800px}.gantt-body-grid{position:absolute;top:0;left:0;right:0;bottom:0;display:grid;grid-template-columns:140px repeat(12,1fr);pointer-events:none;z-index:0}.gantt-body-grid-empty,.gantt-body-grid-line{border-right:1px solid rgba(0,0,0,.04)}.gantt-body-grid-line:last-child{border-right:none}.gantt-row{display:grid;grid-template-columns:140px repeat(12,1fr);border-bottom:1px solid rgba(0,0,0,.04);padding:12px 0;position:relative;z-index:1;row-gap:6px}.gantt-row:last-child{border-bottom:none}.gantt-y-axis{grid-column:1;grid-row:1/-1;display:flex;align-items:flex-start;padding:4px 16px 0;font-weight:600;font-size:.85rem;color:var(--text-color)}.gantt-bar{position:relative;height:24px;border-radius:12px;display:flex;flex-direction:row;align-items:center;padding:0 10px;cursor:default}.gantt-bar-title{font-weight:600;font-size:.75rem;line-height:1;margin-bottom:0;white-space:nowrap}.gantt-bar.phase-1{background-color:#deebff;color:#0047b3}.gantt-bar.phase-2{background-color:#e3fcef;color:#006b3d}.gantt-bar.phase-3{background-color:#fff4d6;color:#9a5b00}.gantt-bar.phase-4{background-color:#eae6ff;color:#403294}.gantt-legend{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;margin-top:16px;margin-bottom:40px}.gantt-legend .legend-item{display:flex;align-items:center;gap:8px}.gantt-legend .legend-color{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:0}.gantt-legend .legend-color.phase-1{background-color:#deebff;border:1px solid rgba(7,71,166,.2)}.gantt-legend .legend-color.phase-2{background-color:#e3fcef;border:1px solid rgba(0,102,68,.2)}.gantt-legend .legend-color.phase-3{background-color:#fffae6;border:1px solid rgba(255,139,0,.2)}.gantt-legend .legend-color.phase-4{background-color:#eae6ff;border:1px solid rgba(64,50,148,.2)}.gantt-legend .legend-text{font-size:.85rem;color:var(--text-color)}@media screen and (max-width:768px){.gantt-chart{display:flex;flex-direction:column;padding-top:20px}.gantt-header-bg{display:none}.gantt-bar{width:100%!important;margin-bottom:8px}}.skills-board-container{position:relative;width:100%;height:0;margin-bottom:2rem;overflow:hidden;z-index:1}.sticky-note{position:absolute;width:120px;height:120px;padding:1rem;box-shadow:2px 4px 10px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;font-family:Kalam,cursive;font-weight:600;font-size:.9rem;color:#1a1a1a;border-radius:4px;transition:transform .2s,box-shadow .2s;z-index:2}@media (max-width:600px){.sticky-note{width:85px;height:85px;font-size:.7rem;padding:.5rem}}.multiplayer-cursor{position:absolute;pointer-events:none;z-index:20;display:flex;flex-direction:column;align-items:flex-start;filter:drop-shadow(1px 2px 3px rgba(0,0,0,.2))}.multiplayer-cursor svg{margin-left:-5px;margin-top:-5px}.back-to-top{position:fixed;bottom:20px;right:40px;width:60px;height:60px;background:0 0;border:none;border-radius:50%;cursor:grab;display:flex;align-items:center;justify-content:center;z-index:10000;padding:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);will-change:opacity,transform;touch-action:none}.back-to-top:active{cursor:grabbing}.back-to-top .progress-ring{position:absolute;top:-5px;left:-5px;width:calc(100% + 10px);height:calc(100% + 10px);border-radius:50%;background:conic-gradient(var(--secondary-color) var(--scroll-progress,0),rgba(113,128,150,.15) var(--scroll-progress,0));z-index:-2;transition:transform .6s cubic-bezier(.16, 1, .3, 1)}.back-to-top .gap-ring{position:absolute;top:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);border-radius:50%;background:var(--background-color,#f8f9fa);z-index:-1}.back-to-top .blob{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--card-background,#fff);border-radius:50%;z-index:0;box-shadow:0 4px 16px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.1);transition:box-shadow .3s}.back-to-top svg{position:relative;z-index:2;width:24px;height:24px;stroke:var(--primary-color,#1c2b4a);pointer-events:none;transition:transform .3s}.back-to-top:hover .blob{box-shadow:0 8px 24px rgba(244,166,35,.35),0 4px 12px rgba(28,43,74,.12)}.back-to-top:hover .progress-ring{transform:rotate(180deg)}.back-to-top:hover svg{transform:translateY(-3px)}.back-to-top:active .blob{box-shadow:0 2px 8px rgba(0,0,0,.1)}.back-to-top:focus{outline:3px solid var(--secondary-color);outline-offset:6px}.back-to-top:focus:not(:focus-visible){outline:0}@media (prefers-reduced-motion:reduce){.project-card.hidden-project.visible{animation:.3s forwards fadeIn}.project-card.hidden-project:nth-of-type(4).visible,.project-card.hidden-project:nth-of-type(5).visible,.project-card.hidden-project:nth-of-type(6).visible{animation-delay:0s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.back-to-top{transition:opacity .3s,visibility .3s;animation:none}}@media screen and (max-width:768px){.back-to-top{bottom:20px;right:20px;width:50px;height:50px}.back-to-top svg{width:20px;height:20px}}footer{position:relative;background:0 0;color:var(--text-color);padding:100px 20px 40px;width:100%;margin-top:auto;z-index:10;overflow:hidden}footer::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#f5f7fa 0,#f5f7fa 5%,rgba(245,247,250,.1) 35%,rgba(245,247,250,.1) 70%,rgba(245,247,250,.95) 100%);z-index:1;pointer-events:none}.footer-content{position:relative;z-index:1;max-width:1200px;margin:0 auto 40px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;padding:0 20px;align-items:start;pointer-events:none}.footer-section h3{color:var(--primary-color);font-size:1.3rem;margin-bottom:20px;font-weight:700;position:relative;padding-bottom:10px;display:inline-block}.footer-section h3::after{content:'';position:absolute;left:0;bottom:0;width:40px;height:3px;background-color:var(--secondary-color);border-radius:var(--radius-lg)}.footer-section p{color:var(--text-muted);line-height:1.7;font-size:1rem;margin-bottom:0}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:12px}.footer-links a{color:var(--text-muted);text-decoration:none;display:inline-block;font-size:1rem}.footer-links a:hover{color:var(--secondary-text-color)}.footer-social{display:flex;gap:15px;margin-bottom:20px}.footer-social a{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background-color:rgba(28,43,74,.05);border:2px solid var(--primary-color);border-radius:var(--radius-full);pointer-events:auto}.footer-social a:hover{border-color:var(--primary-color);background-color:var(--secondary-color)}.footer-social-icon{width:20px;height:20px}.footer-email{color:var(--text-color);font-size:.95rem;margin-top:5px;margin-bottom:0}.footer-bottom{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:25px 20px 0;border-top:1px solid rgba(28,43,74,.1);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;pointer-events:none}.footer-bottom p{font-size:.9em;margin:0;color:var(--text-muted)}.cloud-bg-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:auto;opacity:0;transition:opacity .5s ease-in-out}.cloud-bg-container.ready{opacity:1}.cloud-bg-container canvas{display:block}.footer-bottom,.footer-content{pointer-events:none}.footer-bottom a,.footer-content a,.footer-social a{pointer-events:auto}@media screen and (max-width:768px){footer{padding:40px 15px 15px}.footer-content{grid-template-columns:1fr;gap:30px;text-align:center}.footer-section h3::after{left:50%;transform:translateX(-50%)}.footer-social{justify-content:center}.footer-bottom{flex-direction:column;text-align:center;gap:10px}}.designer-cursor{position:fixed;top:0;left:0;width:24px;height:24px;pointer-events:none;z-index:10000;opacity:0;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .2));transition:transform .1s;color:var(--secondary-text-color)}.designer-cursor svg path{fill:var(--secondary-color);stroke:white;stroke-width:1px}.designer-cursor.hovering{transform:scale(1.05)}.designer-cursor.dragging{transform:scale(.85) rotate(-3deg)}.designer-cursor svg{width:100%;height:100%}.code-tag{position:absolute;top:-24px;left:0;background-color:var(--bg-subtle);color:var(--secondary-text-color);font-family:'Courier New',Courier,monospace;font-size:10px;font-weight:600;padding:4px 10px 4px 8px;border-radius:3px;border-left:3px solid var(--secondary-color);pointer-events:none;opacity:0;z-index:100;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.08);letter-spacing:.5px}.typing-cursor{display:inline-block;width:2px;height:1em;background-color:var(--secondary-color);margin-left:2px;vertical-align:sub;animation:.8s step-end infinite blink}@keyframes blink{0%,50%{opacity:1}100%,51%{opacity:0}}.resize-handles{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:50;opacity:0}.resize-border-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.resize-border-polygon{stroke:var(--secondary-color);stroke-width:.4;fill:none}.resize-border{position:absolute;top:0;left:0;width:100%;height:100%;border:2px solid var(--secondary-color);border-radius:0;pointer-events:none;z-index:50;opacity:0}.handle{position:absolute;width:8px;height:8px;background-color:#fff;border:1.5px solid var(--secondary-color);z-index:60;opacity:0;box-shadow:0 0 0 1px #fff}.handle.active{background-color:var(--secondary-color);transform:scale(1.2);box-shadow:0 0 0 2px #fff}.handle-tl{top:-4px;left:-4px}.handle-tr{top:-4px;right:-4px}.handle-bl{bottom:-4px;left:-4px}.handle-br{bottom:-4px;right:-4px}.inline-annotation{position:absolute;display:flex;align-items:center;pointer-events:none;opacity:0;z-index:99;white-space:nowrap}.inline-annotation.annotation-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.radius-handle{position:absolute;width:10px;height:10px;background-color:#fff;border:1px solid var(--secondary-color);border-radius:var(--radius-full);z-index:90;opacity:0;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.2)}.inline-annotation.annotation-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%);flex-direction:row-reverse}.annotation-line{width:16px;height:1px;background-color:rgba(244,166,35,.45)}.annotation-text{background-color:rgba(255,255,255,.9);border:1px solid rgba(244,166,35,.3);color:var(--secondary-text-color);font-family:'Courier New',Courier,monospace;font-size:10px;font-weight:500;padding:3px 8px;border-radius:var(--radius-sm);box-shadow:0 2px 8px rgba(0,0,0,.05);letter-spacing:.3px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.chart-container{background-color:var(--card-background);border-radius:var(--radius-lg);padding:2rem;margin:1.5rem 0;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.05)}.chart-container h4{font-size:1rem;color:var(--primary-color);margin-bottom:1.5rem;font-weight:600}.chart-caption{text-align:center;color:var(--text-muted);font-style:italic;font-size:.9rem;margin-top:1rem}.bar-chart{display:flex;flex-direction:column;gap:1.25rem}.bar-row{display:flex;align-items:center;gap:1rem}.bar-label{min-width:120px;font-size:.9rem;font-weight:500;color:var(--text-color);text-align:right}.bar-track{flex:1;height:32px;background-color:#f0f4f8;border-radius:6px;overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:6px;background:linear-gradient(135deg,var(--secondary-color) 0,#4299e1 100%);width:0;transition:width 1s cubic-bezier(.16, 1, .3, 1);display:flex;align-items:center;justify-content:flex-end;padding-right:12px}.bar-fill.animated{width:var(--bar-width,0%)}.bar-fill.highlight{background:linear-gradient(135deg,#38a169 0,#48bb78 100%)}.bar-value{font-size:.85rem;font-weight:700;color:#fff;white-space:nowrap}.bar-value-external{font-size:.85rem;font-weight:600;color:var(--text-color);margin-left:8px;min-width:50px}.bar-chart-vertical{display:flex;align-items:flex-end;justify-content:space-around;height:200px;gap:.5rem;padding-bottom:2rem;position:relative;border-bottom:2px solid #e2e8f0}.bar-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.5rem;flex:1;max-width:60px;height:100%}.bar-vertical{width:100%;max-width:40px;background:linear-gradient(180deg,var(--secondary-color) 0,#4299e1 100%);border-radius:4px 4px 0 0;height:var(--bar-height,0%);transition:height 1s cubic-bezier(.16, 1, .3, 1);position:relative}.bar-vertical.animated{height:var(--bar-height,0%)}.bar-vertical.highlight{background:linear-gradient(180deg,#38a169 0,#48bb78 100%)}.bar-vertical-value{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-size:.75rem;font-weight:600;color:var(--primary-color);white-space:nowrap}.bar-vertical-label{font-size:.75rem;color:var(--text-color);text-align:center;position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);white-space:nowrap}.chart-legend{display:flex;gap:1.5rem;justify-content:center;margin-top:1rem;font-size:.85rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:12px;height:12px;border-radius:3px}.legend-color.blue{background:linear-gradient(135deg,var(--secondary-color) 0,#4299e1 100%)}.legend-color.green{background:linear-gradient(135deg,#38a169 0,#48bb78 100%)}@media (prefers-reduced-motion:reduce){.code-tag,.designer-cursor,.inline-annotation{display:none!important}.cta-buttons,.headshot,.intro .name,.intro .title,.intro-text>p,.project-card,.timeline-item{opacity:1!important;transform:none!important}html{scroll-behavior:auto}.scroll-arrow,.scroll-arrow path,.social-media a:hover .social-icon{animation:none}.button.primary:hover,.project-card:hover{transform:none!important}}@media (max-width:768px){.code-tag,.designer-cursor,.inline-annotation{display:none!important}.cta-buttons,.headshot,.intro .name,.intro .title,.intro-text>p{opacity:1!important;transform:none!important}}.figma-guides-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.figma-smart-line{position:absolute;background-color:#f24822;pointer-events:none;opacity:0}.figma-smart-line.horizontal{height:1px}.figma-smart-line.vertical{width:1px}@media screen and (max-width:950px){main section{margin-left:0!important}.section-content-wrapper{padding-left:20px;padding-right:20px}.nav-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(255,255,255,.9);backdrop-filter:blur(15px);display:flex;flex-direction:column;justify-content:center;padding-top:0;box-shadow:none;overflow-y:auto;overflow-x:hidden;z-index:1001;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}.nav-menu.active{opacity:1;visibility:visible}body.menu-open{overflow:hidden}.nav-link{display:block;padding:15px 0;font-size:42px;font-weight:700;width:100%;position:relative;transition:.3s;color:var(--primary-color);text-align:center}.nav-link:hover{color:var(--primary-color);transform:translateY(-5px)}.nav-menu .brush-underline,.on-page-nav{display:none}.logo{position:relative;z-index:1002}header nav ul{flex-direction:column;gap:15px;align-items:center;width:100%;padding:20px 0}.hamburger{position:relative;z-index:1002;display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:30px;height:20px;padding:0;margin-left:0;transform:none;transform-origin:center;transition:transform .2s}.hamburger:hover{background:0 0}.bar{width:28px;height:3px;background-color:var(--primary-color);border-radius:1px;transition:transform .2s,background-color .2s,opacity .2s}.hamburger.hovering .bar:first-child{transform:translateY(-2px);background-color:var(--hamburger-red)}.hamburger.hovering .bar:nth-child(2){background-color:var(--hamburger-yellow)}.hamburger.hovering .bar:nth-child(3){transform:translateY(2px);background-color:var(--hamburger-blue)}.hamburger.x-hover{transform:translateY(3px) scale(1.1)}body.no-gsap .hamburger.active .bar:first-child{transform:translateY(8.5px) rotate(45deg)}body.no-gsap .hamburger.active .bar:nth-child(2){opacity:0;transform:scaleX(0)}body.no-gsap .hamburger.active .bar:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}.profile{flex-direction:column;text-align:center;gap:0}.headshot{width:min(300px,70vw);height:auto;margin-bottom:1.5rem}.intro{text-align:center}.social-media{justify-content:center}.figma-section-wrapper{padding:40px 15px}.timeline::after{left:20px}.timeline-item{width:100%;padding-left:45px;padding-right:15px}.timeline-item:nth-child(2n),.timeline-item:nth-child(odd){left:0}.timeline-badge{left:20px!important;right:auto!important;transform:translate(-50%,0)!important}.timeline-item.dot-filled .timeline-badge,.timeline-item:nth-child(2n).dot-filled .timeline-badge{transform:translate(-50%,0) scale(1.1)!important}.timeline-content{transform:none!important}.overview-flex{flex-direction:column}.persona-card{flex-direction:column;padding:25px}.persona-left{width:100%;align-items:center}.persona-image img{max-width:250px;height:auto}.persona-details{grid-template-columns:1fr}.persona-category{height:auto}.comparison-container{grid-template-columns:1fr}.pros-cons{flex-direction:column;gap:1rem}.pros-cons .cons,.pros-cons .pros{width:100%}.usability-grid{grid-template-columns:1fr}.project-image{height:250px}h1{font-size:32px}h2{font-size:28px}h3{font-size:22px}h4{font-size:18px}.project-card h3{font-size:18px;line-height:1.3}#experience,#home,#projects{padding-top:80px;padding-bottom:40px}#experience,#projects{scroll-margin-top:0px}#home{padding-top:120px}.container,header .container{padding-left:20px;padding-right:20px}.project-images{grid-template-columns:1fr}.project-images figure:first-child{grid-column:auto}.project-images figure picture img,.project-images figure:first-child picture img{height:auto;max-height:450px}.challenge-grid,.expertise-grid,.method-grid,.prototype-grid,.task-cards{grid-template-columns:1fr}}@media screen and (max-width:480px){.logo{font-size:1.5rem}.profile{padding:1.5rem;gap:0}.headshot{width:200px;height:auto}.intro-text{width:100%}.intro-text p{font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.name{font-size:2rem;margin-bottom:.5rem}.title{font-size:1.2rem;margin-bottom:1.5rem}.cta-buttons{flex-direction:column;gap:1rem}.project-grid{grid-template-columns:1fr}.expand-portfolio-btn{font-size:.95rem;padding:8px 12px}.expand-portfolio-container{margin-top:25px}.overview-flex .project-details,.overview-flex figure{min-width:0}.persona-image img{width:100%;max-width:200px;height:auto}.tasks-container{padding:1rem}.project-image{height:200px}h1{font-size:28px}h2{font-size:24px}h3{font-size:20px}h4{font-size:16px}.project-card h3{font-size:16px;line-height:1.3}#experience,#home,#projects{padding-top:30px;padding-bottom:30px}#experience,#projects{scroll-margin-top:30px}#home{padding-top:100px}.container,header .container{padding-left:15px;padding-right:15px}}.nav-link.active-nav-link{font-weight:600}.nav-link.active-nav-link .brush-stroke{stroke-dashoffset:0}.nav-link.active-nav-link::before{content:none}@media (max-width:950px){.nav-menu.active .nav-link.active-nav-link .brush-stroke{stroke-dashoffset:300}.nav-menu .nav-list li:has(.active-nav-link){transform:none}.nav-menu .nav-link.active-nav-link{color:var(--secondary-color);border-left:none;padding-left:0;margin-left:0}.nav-menu .nav-link.active-nav-link[href$="#projects"]{color:var(--hamburger-red)}.nav-menu .nav-link.active-nav-link[href$="#experience"]{color:var(--hamburger-blue)}.nav-menu .nav-link.active-nav-link::before{content:none}}