@import"https://fonts.googleapis.com/css2?family=Dela+Gothic+One&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap";:root{--black: #0a0a0a;--white: #f5f5f0;--accent: #E5B400;--accent-hover: #D1A500;--gray: #888;--font-display: "Dela Gothic One", sans-serif;--font-body: "Space Mono", monospace;--nav-height: 56px;--section-pad-x: clamp(1.5rem, 5vw, 6rem);--section-pad-y: clamp(4rem, 10vh, 8rem);--noise: 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")}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:initial}body{font-family:var(--font-body);background:var(--black);color:var(--white);overflow-x:hidden;line-height:1.6}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--black)}.panel{width:100%;padding:var(--section-pad-y) var(--section-pad-x);position:relative;overflow:hidden}.panel:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background-image:var(--noise);opacity:.04;pointer-events:none;z-index:10;animation:noise-move .2s infinite}@keyframes noise-move{0%{transform:translate(0)}10%{transform:translate(-5%,-5%)}20%{transform:translate(-10%,5%)}30%{transform:translate(5%,-10%)}40%{transform:translate(-5%,15%)}50%{transform:translate(-10%,5%)}60%{transform:translate(15%)}70%{transform:translateY(10%)}80%{transform:translate(-15%)}90%{transform:translate(10%,5%)}to{transform:translate(5%)}}.panel--black{background:var(--black);color:var(--white)}.panel--white{background:var(--white);color:var(--black)}.panel--accent{background:var(--accent);color:var(--black)}.display-mega{font-family:var(--font-display);font-size:clamp(2.5rem,11vw,9.5rem);line-height:.9;letter-spacing:-.03em;word-spacing:.25em;text-transform:uppercase}.display-lg{font-family:var(--font-display);font-size:clamp(2rem,6vw,5rem);line-height:1;letter-spacing:-.02em;text-transform:uppercase}.display-md{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,3rem);line-height:1.1;text-transform:uppercase}.text-accent{color:var(--accent)}.text-muted{color:var(--gray)}.font-body{font-family:var(--font-body)}.marquee{overflow:hidden;white-space:nowrap;background:var(--accent);color:var(--black);padding:.75rem 0;font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.75rem);text-transform:uppercase;border-top:3px solid var(--black);border-bottom:3px solid var(--black);-webkit-user-select:none;user-select:none}.marquee__inner{display:inline-flex;animation:marquee-scroll 20s linear infinite}.marquee__inner span{padding:0 2rem;flex-shrink:0}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--section-pad-x);z-index:1000;background:#111111bf;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-bottom:1px solid rgba(245,245,240,.08)}.navbar__logo{font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:.05em;color:var(--white)}.navbar__links{display:flex;gap:2rem;font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.navbar__links a{color:var(--gray);transition:color .3s ease;position:relative}.navbar__links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.navbar__links a:hover{color:var(--white)}.navbar__links a:hover:after{width:100%}.desktop-only{display:flex}.hamburger{display:none;background:transparent;border:none;cursor:pointer;width:44px;height:44px;padding:10px;z-index:1000;flex-direction:column;justify-content:space-around;align-items:center}.hamburger-line{width:24px;height:2px;background-color:var(--white);transition:all .3s ease;transform-origin:center}.hamburger.is-active .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.is-active .hamburger-line:nth-child(2){opacity:0}.hamburger.is-active .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--black);z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem}.mobile-menu__inner{display:flex;flex-direction:column;align-items:center;gap:2rem}.mobile-menu__link{font-family:var(--font-display);font-size:clamp(2rem,8vw,3rem);color:var(--white);text-decoration:none;text-transform:uppercase;transition:color .3s ease}.mobile-menu__link:hover,.mobile-menu__link:active{color:var(--accent)}.mobile-menu__footer{position:absolute;bottom:2rem;font-family:var(--font-body);font-size:.85rem;color:var(--gray)}.hero{height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--nav-height);position:relative;overflow:hidden}.hero__lines{display:flex;flex-direction:column;gap:0;position:relative;z-index:1}.hero__line{overflow:hidden}.hero__tagline-container{margin-top:2.5rem;display:flex;flex-direction:column;gap:.5rem;max-width:600px}.hero__name{font-family:var(--font-display);font-size:clamp(1.2rem,2.2vw,1.5rem);text-transform:uppercase;color:var(--white);line-height:1.2}.hero__degree{font-family:var(--font-body);font-size:clamp(.75rem,1.2vw,.9rem);color:var(--gray);letter-spacing:.05em}.hero__actions{display:flex;align-items:center;gap:2rem;margin-top:1.5rem}.hero__socials{display:flex;gap:1.25rem}.hero__social-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(245,245,240,.15);display:flex;align-items:center;justify-content:center;color:var(--gray);transition:all .4s cubic-bezier(.16,1,.3,1);background:transparent}.hero__social-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-4px);background:#ffc5180d}.hero__resume-download{display:flex;align-items:center;height:42px;background:var(--accent);border-radius:21px;padding:0;width:42px;overflow:hidden;transition:all .5s cubic-bezier(.16,1,.3,1);color:var(--black);text-decoration:none}.hero__resume-download .icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hero__resume-download .text{padding-right:1.5rem;font-family:var(--font-body);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;opacity:0;transform:translate(-10px);transition:all .4s ease}.hero__resume-download:hover{width:200px}.hero__resume-download:hover .text{opacity:1;transform:translate(0)}.hero__cta-main{display:flex;align-items:center;gap:1rem;height:42px;background:var(--white);color:var(--black);border-radius:21px;padding:0 1.5rem;font-family:var(--font-body);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .4s cubic-bezier(.16,1,.3,1);border:1px solid var(--white);text-decoration:none}.hero__cta-main:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-4px);box-shadow:0 10px 20px #e5b40033}.hero__cta-main .icon{display:flex;align-items:center;justify-content:center;transition:transform .4s ease}.hero__cta-main:hover .icon{transform:translate(4px)}.hero__scroll-cue{position:absolute;bottom:1.5rem;left:var(--section-pad-x);font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--gray);display:flex;align-items:center;gap:.5rem}.hero__scroll-cue .arrow{display:inline-block;animation:bounce-down 1.5s ease-in-out infinite}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.hero__photo{position:absolute;right:clamp(1rem,5vw,var(--section-pad-x));top:46%;width:clamp(200px,30vw,400px);z-index:0;pointer-events:none}.hero__photo-card{background:var(--accent);border-radius:1.5rem;padding:1rem;position:relative;box-shadow:10px 10px 0 var(--white)}.hero__photo-card img{border-radius:1rem;width:100%;aspect-ratio:3/4;object-fit:cover;transform:translateY(-1.5rem) rotate(-3deg);box-shadow:0 15px 40px #00000080}.about{display:flex;flex-direction:row;gap:clamp(3rem,6vw,6rem);align-items:flex-start;justify-content:space-between}.about__content{display:flex;flex-direction:column;gap:1.5rem;flex:1;min-width:0}.about__label{font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--gray)}.about__bio{font-family:var(--font-body);font-size:clamp(.9rem,1.2vw,1.1rem);line-height:1.8;max-width:520px}.stats{display:flex;gap:clamp(2rem,4vw,4rem);margin-top:1rem}.stat{display:flex;flex-direction:column;gap:.25rem}.stat__number{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);line-height:1;color:var(--accent)}.stat__label{font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gray)}.about__right{display:flex;flex-direction:column;gap:1.5rem;flex:1;max-width:480px}.about__box{border:1px solid rgba(10,10,10,.12);padding:clamp(1.25rem,2vw,2rem);background:#0a0a0a08;position:relative;overflow:hidden;transition:border-color .4s ease,box-shadow .4s ease}.about__box:hover{border-color:var(--accent);box-shadow:0 8px 32px #f5c51814}.about__box:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.about__box:hover:before{transform:scaleX(1)}.about__box-title{font-family:var(--font-display);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.about__box-title:before{content:"";width:12px;height:3px;background:var(--accent);display:inline-block}.about__box-grid{display:flex;flex-wrap:wrap;gap:.5rem}.about__box-item{font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.4rem .8rem;border:1px solid rgba(10,10,10,.15);color:var(--black);transition:all .3s ease;cursor:default}.about__box-item:hover{background:var(--accent);border-color:var(--accent);color:var(--black);transform:translateY(-2px)}.about__box-item--skill{border-color:var(--accent);color:var(--accent);background:#f5c5180f;color:var(--black)}.projects__header{margin-bottom:clamp(3rem,6vh,5rem)}.projects__grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.project-card{border:1px solid rgba(245,245,240,.15);padding:clamp(2rem,3vw,3rem);position:relative;overflow:hidden;transition:border-color .4s ease,transform .4s ease;background:transparent}.project-card:hover{border-color:var(--accent);transform:translateY(-4px)}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.project-card:hover:before{transform:scaleX(1)}.project-card__number{font-family:var(--font-display);font-size:clamp(4rem,8vw,7rem);line-height:1;color:#f5f5f00d;position:absolute;top:-.5rem;right:1rem}.project-card__tag{display:inline-block;font-family:var(--font-body);font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;padding:.35rem .75rem;border:1px solid var(--accent);color:var(--accent);margin-bottom:1rem}.project-card__title{font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,2rem);text-transform:uppercase;margin-bottom:1rem;line-height:1.1}.project-card__desc{font-family:var(--font-body);font-size:.85rem;line-height:1.7;color:var(--gray);max-width:400px}.project-card__tech{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}.project-card__tech span{font-family:var(--font-body);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .6rem;background:#f5c5181a;color:var(--accent)}.project-card__actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(245,245,240,.08)}.project-card__btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;padding:.6rem 1.2rem;border:1px solid rgba(245,245,240,.2);color:var(--white);transition:all .3s ease;cursor:pointer;text-decoration:none;position:relative;z-index:2}.project-card__btn:hover{transform:translateY(-2px)}.project-card__btn--github:hover{background:var(--white);color:var(--black);border-color:var(--white)}.project-card__btn--video:hover{background:var(--accent);color:var(--black);border-color:var(--accent)}.project-card__video-overlay{position:absolute;inset:0;background:#0a0a0aeb;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;z-index:1;pointer-events:none}.project-card--video-active .project-card__video-overlay{opacity:1}.project-card__video-el{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}.project-card__video-play{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:pulse-play 1.5s ease-in-out infinite}.project-card__video-play span{font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}@keyframes pulse-play{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.contact{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2.5rem;padding-top:clamp(6rem,12vh,10rem);padding-bottom:clamp(4rem,8vh,6rem)}.contact__cta{font-family:var(--font-display);font-size:clamp(3rem,10vw,9rem);text-transform:uppercase;line-height:.95;letter-spacing:-.03em}.contact__socials{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;justify-content:center}.contact__social-btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(245,245,240,.2);display:flex;align-items:center;justify-content:center;color:var(--white);transition:all .3s ease;text-decoration:none}.contact__social-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--black);transform:translateY(-3px);box-shadow:0 8px 24px #f5c51840}.contact__resume-btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;padding:.75rem 1.5rem;border:1px solid var(--accent);color:var(--accent);background:none;cursor:pointer;transition:all .3s ease;text-decoration:none}.contact__resume-btn:hover{background:var(--accent);color:var(--black);transform:translateY(-2px);box-shadow:0 8px 24px #f5c51840}.contact__form{width:100%;max-width:600px;display:flex;flex-direction:column;gap:1.5rem;text-align:left;margin:2rem auto 0}.contact__form-group{width:100%}.contact__input,.contact__textarea{width:100%;font-family:var(--font-body);font-size:.85rem;padding:1rem 1.25rem;background:#f5f5f00d;border:1px solid rgba(245,245,240,.15);color:var(--white);outline:none;transition:border-color .3s ease,box-shadow .3s ease;letter-spacing:.02em}.contact__input::placeholder,.contact__textarea::placeholder{color:var(--gray);text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}.contact__input:focus,.contact__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #f5c51826}.contact__textarea{resize:vertical;min-height:120px}.contact__submit{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;padding:1rem 2rem;background:var(--accent);color:var(--black);border:2px solid var(--accent);cursor:pointer;transition:all .3s ease;align-self:flex-start}.contact__submit:hover{background:transparent;color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #f5c51833}.footer{text-align:center;padding:2rem var(--section-pad-x);font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);border-top:1px solid rgba(245,245,240,.1)}.resume-backdrop{position:fixed;inset:0;z-index:9999;background:#0a0a0ae0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:2rem}.resume-viewer{width:100%;max-width:900px;height:90vh;background:var(--black);border:1px solid rgba(245,245,240,.12);display:flex;flex-direction:column;overflow:hidden;position:relative}.resume-viewer:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--accent);z-index:1}.resume-viewer__header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.5rem;border-bottom:1px solid rgba(245,245,240,.1);flex-shrink:0;margin-top:4px}.resume-viewer__title{font-family:var(--font-display);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--white)}.resume-viewer__actions{display:flex;align-items:center;gap:.75rem}.resume-viewer__download{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(245,245,240,.2);color:var(--white);transition:all .3s ease;border-radius:50%}.resume-viewer__download:hover{background:#f5f5f01a;border-color:var(--accent);color:var(--accent)}.resume-viewer__close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(245,245,240,.2);color:var(--white);cursor:pointer;transition:all .3s ease;border-radius:50%}.resume-viewer__close:hover{background:#f5f5f01a;border-color:var(--white)}.resume-viewer__body{flex:1;min-height:0}.resume-viewer__pdf{width:100%;height:100%;border:none;display:block}.timeline{display:flex;flex-direction:column;align-items:center;overflow:hidden;padding-top:clamp(3rem,6vh,4rem);padding-bottom:clamp(3rem,6vh,4rem);background:var(--white);color:var(--black)}.timeline__header{margin-bottom:clamp(2rem,4vh,3rem);text-align:center}.timeline__sub{margin-top:1rem;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray)}.timeline__container{position:relative;width:100%;max-width:1200px;margin:0 auto}.timeline__spine{position:absolute;top:0;bottom:0;left:50%;width:4px;background:var(--black);transform:translate(-50%);z-index:1}.timeline__entries{display:flex;flex-direction:column;gap:clamp(2rem,4vh,3rem);position:relative;z-index:2}.timeline__item{display:flex;justify-content:space-between;width:100%}.timeline__item--left{flex-direction:row-reverse}.timeline__dot-wrapper{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;margin-top:2rem}.timeline__dot{width:24px;height:24px;background:var(--white);border-radius:50%;border:4px solid var(--black);box-shadow:0 0 0 4px var(--white);transition:all .4s ease}.timeline__dot--active{background:var(--accent);border-color:var(--black);box-shadow:0 0 0 4px var(--white),0 0 0 10px #f5c51866;animation:light-pulse 2s infinite}@keyframes light-pulse{0%{box-shadow:0 0 0 4px var(--white),0 0 #f5c518cc}70%{box-shadow:0 0 0 4px var(--white),0 0 0 15px #f5c51800}to{box-shadow:0 0 0 4px var(--white),0 0 #f5c51800}}.timeline__content{width:42%;position:relative}.timeline__item--left .timeline__content{text-align:right}.timeline__item--right .timeline__content{text-align:left}.timeline__year{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:.8;color:#0a0a0a0d;position:absolute;top:-2.5rem;z-index:0;pointer-events:none}.timeline__item--left .timeline__year{right:-1rem}.timeline__item--right .timeline__year{left:-1rem}.timeline__card{display:flex;flex-direction:column;gap:1rem;position:relative;z-index:1;padding:clamp(1rem,2vw,1.5rem);border:1px solid rgba(10,10,10,.15);background:var(--white);transition:all .4s ease;overflow-wrap:break-word;word-wrap:break-word;max-width:100%}.timeline__card--active{border-color:var(--accent);background:#f5c5180d}.timeline__card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a;border-color:var(--black)}.timeline__card--active:hover{box-shadow:0 20px 40px #f5c51833}.timeline__item--left .timeline__card{align-items:flex-end}.timeline__item--right .timeline__card{align-items:flex-start}.timeline__tag{display:inline-block;font-family:var(--font-body);font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;padding:.4rem .8rem;background:var(--black);color:var(--white);font-weight:700}.timeline__card--active .timeline__tag{background:var(--accent);color:var(--black)}.timeline__institution{color:var(--black);font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.2;margin-top:.5rem;max-width:100%}.timeline__role{font-size:.85rem;font-weight:700;color:var(--black);letter-spacing:.05em;text-transform:uppercase}.timeline__details{font-size:.85rem;color:var(--gray);max-width:100%;line-height:1.7;margin-top:.5rem}.timeline-list{padding-top:clamp(6rem,12vh,8rem);padding-bottom:clamp(6rem,12vh,8rem);background:var(--white);color:var(--black)}.timeline-list__header{padding:0 var(--section-pad-x);margin-bottom:clamp(3rem,6vh,5rem)}.timeline-list__sub{margin-top:1rem;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase}.timeline-list__container{display:flex;flex-direction:column}.timeline-list__row{display:grid;grid-template-columns:200px 1fr 1fr;gap:clamp(2rem,4vw,4rem);padding:clamp(2.5rem,5vh,4rem) var(--section-pad-x);border-top:2px solid var(--black);transition:background .4s ease,color .4s ease;position:relative;overflow:hidden}.timeline-list__row:last-child{border-bottom:2px solid var(--black)}.timeline-list__row:hover{background:var(--black);color:var(--white);cursor:default}.timeline-list__row:hover .timeline-list__institution,.timeline-list__row:hover .timeline-list__role,.timeline-list__row:hover .timeline-list__year{color:var(--white)}.timeline-list__row:hover .timeline-list__details{color:#f5f5f0b3}.timeline-list__year-col{display:flex;flex-direction:column;gap:1rem}.timeline-list__year{font-family:var(--font-display);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1;color:var(--black);transition:color .4s ease}.timeline-list__active-pulse{display:flex;align-items:center;gap:.75rem;font-size:.75rem;letter-spacing:.15em;color:var(--accent)}.pulse-dot{width:12px;height:12px;background:var(--accent);border-radius:50%;box-shadow:0 0 #f5c518b3;animation:list-pulse-dot 2s infinite}@keyframes list-pulse-dot{0%{transform:scale(.95);box-shadow:0 0 #f5c518b3}70%{transform:scale(1);box-shadow:0 0 0 10px #f5c51800}to{transform:scale(.95);box-shadow:0 0 #f5c51800}}.timeline-list__main-col{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.timeline-list__institution{color:var(--black);font-size:clamp(1.5rem,3vw,2.5rem);transition:color .4s ease}.timeline-list__tag{display:inline-block;font-family:var(--font-body);font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;padding:.4rem .8rem;background:var(--accent);color:var(--black);font-weight:700}.timeline-list__desc-col{display:flex;flex-direction:column;gap:.5rem}.timeline-list__role{font-size:1rem;font-weight:700;color:var(--black);transition:color .4s ease}.timeline-list__details{font-size:.85rem;color:var(--gray);line-height:1.6;max-width:400px;transition:color .4s ease}.certificates{display:flex;flex-direction:column;gap:clamp(3rem,6vh,5rem)}.certificates__header{text-align:left}.certificates__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;width:100%}.cert-card{border:1px solid rgba(245,245,240,.1);padding:2rem;position:relative;background:#f5f5f005;display:flex;flex-direction:column;gap:1.5rem;transition:all .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.cert-card:hover{border-color:var(--accent);transform:translateY(-5px);background:#f5c5180a}.cert-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.cert-card:hover:before{transform:scaleX(1)}.cert-card__number{font-family:var(--font-display);font-size:3rem;line-height:1;color:#f5f5f00d;position:absolute;top:1.5rem;right:1.5rem;transition:color .4s ease}.cert-card:hover .cert-card__number{color:#f5c5181a}.cert-card__content{display:flex;flex-direction:column;gap:.5rem}.cert-card__date{font-family:var(--font-body);font-size:.7rem;color:var(--accent);letter-spacing:.1rem}.cert-card__title{font-family:var(--font-display);font-size:1.1rem;text-transform:uppercase;line-height:1.3;color:var(--white)}.cert-card__issuer{font-family:var(--font-body);font-size:.75rem;color:var(--gray);text-transform:uppercase;letter-spacing:.05rem}.cert-card__link{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.05rem;color:var(--white);opacity:.6;transition:all .3s ease}.cert-card:hover .cert-card__link{opacity:1;color:var(--accent)}.panel--white.contact,.panel--accent.contact,.panel--white .contact__cta{color:var(--black)}.panel--white .about__label{color:var(--black);opacity:.6}.panel--white .contact__social-btn{color:var(--black);border-color:#0a0a0a26}.panel--white .contact__social-btn:hover{background:var(--black);border-color:var(--black);color:var(--white)}.panel--white .contact__resume-btn{color:var(--black);border-color:#0a0a0a26}.panel--white .contact__resume-btn:hover{background:var(--black);color:var(--white);border-color:var(--black)}.panel--white .contact__input,.panel--white .contact__textarea{background:#0a0a0a08;border-color:#0a0a0a26;color:var(--black)}.panel--accent .contact__input,.panel--accent .contact__textarea{background:var(--white);border-color:#00000026;color:#111}.panel--white .contact__input::placeholder,.panel--white .contact__textarea::placeholder{color:#555}.panel--white .contact__input:focus,.panel--white .contact__textarea:focus{border-color:var(--black);box-shadow:0 0 0 2px #0a0a0a0d}.panel--white .contact__submit{display:flex;align-items:center;justify-content:center;gap:.75rem;background:#111;color:var(--white);padding:1.25rem 3rem;font-family:var(--font-body);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border:none;cursor:pointer;margin:1rem auto 0;transition:all .4s cubic-bezier(.16,1,.3,1)}.panel--white .contact__submit:hover{background:#000;transform:translateY(-4px) scale(1.02);box-shadow:0 10px 30px #0000001a}.contact__loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.contact__status-msg{text-align:center;margin-top:1.5rem;font-family:var(--font-body);font-size:.85rem;font-weight:500}.contact__status-msg--success{color:#10b981}.contact__status-msg--error{color:#ef4444}@keyframes plane-fly{0%{transform:translate(0) scale(1) rotate(0);opacity:1}20%{transform:translate(-10px,10px) scale(.9) rotate(-10deg)}to{transform:translate(100px,-100px) scale(.2) rotate(45deg);opacity:0}}.contact__submit--loading svg{animation:plane-fly .8s cubic-bezier(.16,1,.3,1) forwards}.contact__success-view{text-align:center;padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:2rem}.contact__success-icon{width:80px;height:80px;background:var(--accent);color:var(--black);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.contact__success-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);text-transform:uppercase;line-height:1}.contact__success-text{font-family:var(--font-body);font-size:1rem;color:var(--gray);max-width:400px}.panel.contact{padding-bottom:5vh;min-height:calc(100vh - var(--nav-height));display:flex;align-items:center;justify-content:center}@media(max-width:768px){.desktop-only{display:none!important}.hamburger{display:flex}.hero__photo{width:clamp(150px,40vw,250px);right:-1rem;top:50%;opacity:.3}.hero__cta-main,.hero__resume-download{height:48px;border-radius:24px}.hero__resume-download .icon{width:48px;height:48px}.project-card__btn{padding:.8rem 1.2rem}.contact__input{min-height:52px}.hero__social-btn{width:44px;height:44px;padding:10px}.timeline__spine,.timeline__dot-wrapper{left:20px}.timeline__item,.timeline__item--left,.timeline__item--right{flex-direction:column;align-items:flex-end}.timeline__content{width:calc(100% - 60px);text-align:left!important}.timeline__item--left .timeline__card,.timeline__item--right .timeline__card{align-items:flex-start}.timeline__item--left .timeline__year,.timeline__item--right .timeline__year{left:-.5rem;right:auto}.about{flex-direction:column;text-align:center;align-items:center}.about__content{align-items:center}.about__right{max-width:100%;width:100%}.stats{justify-content:center}.projects__grid{grid-template-columns:1fr}.display-mega{font-size:clamp(2.5rem,12vw,6rem)}.contact__form{max-width:100%}}@media(max-width:480px){.hero__actions{flex-direction:column;align-items:flex-start;gap:1.5rem}.hero__photo{display:none}.stats{flex-direction:column;align-items:center;gap:1.5rem}.project-card{padding:1.5rem}.project-card__actions{flex-direction:column}.contact__submit{align-self:stretch}}
