:root{--bg-dark: #0E0E0E;--surface: #1C1C1C;--text-primary: #EDEDED;--text-secondary: #ABABAB;--text-highlight: #E0DDD8;--accent: #60A5FA;--accent-glow: rgba(96, 165, 250, .3);--font-heading: "Oswald", sans-serif;--font-body: "Inter", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--easing-smooth: cubic-bezier(.19, 1, .22, 1);--section-spacing: clamp(6vh, 10vh, 12vh);--container-padding: clamp(1rem, 4vw, 2rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}.noise-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9000;opacity:.05;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")}h1,h2,h3,h4{font-family:var(--font-heading);text-transform:uppercase;line-height:1.1}.section-title{font-size:clamp(3rem,5vw,6rem);font-weight:700;margin-bottom:4rem;letter-spacing:-.02em;opacity:0;transform:translateY(40px) scale(.95);filter:blur(10px);will-change:opacity,transform,filter;transition:opacity 1s var(--easing-smooth),transform 1s var(--easing-smooth),filter 1s var(--easing-smooth)}.section-title.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0px);transition:opacity 1s var(--easing-smooth),transform 1s var(--easing-smooth),filter 1s var(--easing-smooth)}.section-title--center{text-align:center}html.is-loading,html.is-loading body{overflow:hidden!important;height:100%}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-dark);z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem}.preloader:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.05;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")}.preloader__signature{width:80%;max-width:400px;filter:drop-shadow(0 0 20px rgba(255,255,255,.15))}.signature-svg{width:100%;height:auto;overflow:visible}.signature-path{--path-length: 975;stroke-dasharray:var(--path-length);stroke-dashoffset:var(--path-length);animation:signature-draw 3s ease-in-out forwards}@keyframes signature-draw{0%{stroke-dashoffset:var(--path-length);opacity:.3}10%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.signature-path.drawn{animation:signature-glow 1.5s ease-in-out infinite alternate}@keyframes signature-glow{0%{filter:drop-shadow(0 0 5px rgba(255,255,255,.1))}to{filter:drop-shadow(0 0 25px rgba(255,255,255,.3)) drop-shadow(0 0 50px rgba(255,255,255,.15))}}.preloader.fade-out{animation:preloader-exit 1.2s var(--easing-smooth) forwards}.preloader.fade-out:before{animation:noise-fade .8s ease-out forwards}.preloader.fade-out .preloader__signature{animation:signature-exit 1.2s var(--easing-smooth) forwards}@keyframes preloader-exit{0%{background-color:var(--bg-dark)}to{background-color:transparent;pointer-events:none}}@keyframes noise-fade{to{opacity:0}}@keyframes signature-exit{0%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(2)}}.container{max-width:1400px;margin:0 auto;padding:0 var(--container-padding)}section{padding:var(--section-spacing) 0;position:relative}.hero{height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--bg-dark)}.hero__title{font-size:clamp(4rem,12vw,12rem);font-weight:500;letter-spacing:-.05em;display:flex;flex-direction:column;align-items:center;line-height:.9}.hero__line{display:block;overflow:hidden;padding:0 .2em}.hero__line .char{display:inline-block}.hero__subtitle{margin-top:3rem;text-align:center;font-family:var(--font-body);font-weight:300;font-size:var(--text-md);color:var(--text-secondary);letter-spacing:.1em;overflow:hidden}.image-trail{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.image-trail__img{position:absolute;width:180px;height:180px;object-fit:cover;border-radius:8px;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(0) rotate(0);will-change:transform,opacity;box-shadow:0 20px 40px #0006}.hero__container{position:relative;z-index:2;visibility:hidden}.hero__container.is-ready{visibility:visible}.about{position:relative;overflow:hidden}.about__defs{position:absolute;width:0;height:0;overflow:hidden}.about__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.about__track{display:flex;flex-direction:column;position:relative;z-index:2}.about__panel{position:relative;display:flex;align-items:center;padding:clamp(4rem,12vw,6rem) var(--container-padding)}.about__panel--intro{flex-direction:column;align-items:flex-start;gap:3rem}.about__intro{position:relative;z-index:2;max-width:720px}.about__chips{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:2rem;perspective:600px;font:inherit}.about__chip{display:inline-flex;align-items:center;gap:.3em;padding:.5em .9em;border-radius:6px;font-family:var(--font-heading);font-size:clamp(1.5rem,4.5vw,3rem);font-weight:600;line-height:1;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}.about__chip--light{position:relative;z-index:2;background:var(--text-primary);color:var(--bg-dark)}.about__chip--dark{background:var(--surface);color:var(--text-highlight);border:1px solid rgba(255,255,255,.14)}.about__chip--hinge{margin:-.2em 0 0 1.4em;transform-origin:50% 0;backface-visibility:hidden}.about__arrow{width:.72em;height:.4em;flex-shrink:0;transform:translateY(-.04em)}.about__statement{font-size:clamp(1.125rem,2.2vw,1.6rem);line-height:1.45;color:var(--text-secondary);max-width:34ch}.about__flair{position:relative;width:min(100%,420px);aspect-ratio:1;align-self:center}.about__shape{position:absolute;display:block;will-change:transform}.about__shape svg{display:block;width:100%;height:auto;overflow:visible;will-change:transform}.about__shape--flower{z-index:2}.about__grain{opacity:.35}.about__shape--dome{left:12%;bottom:0;width:76%}.about__shape--flower{left:30%;bottom:27%;width:40%}.about__shape--ring{left:2%;top:6%;width:22%}.about__shape--hourglass{left:12%;top:48%;width:10%}.about__shape--spark{right:4%;top:14%;width:13%}.about__line{position:relative;font-family:var(--font-heading);font-size:clamp(2.75rem,13vw,5.5rem);font-weight:700;line-height:1.55;letter-spacing:-.01em;text-transform:uppercase;color:var(--text-primary)}.about__word{position:relative;z-index:2}.about__word .word{display:inline-block;overflow:hidden;vertical-align:top;line-height:1.1;padding-bottom:.04em}.about__word .char{display:inline-block}.about__chip--inline{--k: .42;position:relative;z-index:3;font-size:calc(var(--k) * 1em);vertical-align:top;margin-top:calc((1.1 / var(--k) - 2) * .5em);transform:rotate(var(--tilt, 0deg))}.about__pair{white-space:nowrap}.about__anchor{position:relative;display:inline-block;width:0;height:1.1em;vertical-align:top}.about__mark{position:absolute;left:var(--x, 0);width:var(--s, .6em);z-index:1;pointer-events:none;will-change:transform}.about__mark--above{bottom:100%}.about__mark--below{top:calc(100% + var(--gap, 0em))}.about__mark--beside{top:calc(.6em - var(--s, .6em) * var(--ratio, 1) / 2)}.about__mark svg{display:block;width:100%;height:auto;overflow:visible}@media (prefers-reduced-motion: reduce){.about__line{line-height:2.3}.about__mark{width:calc(var(--s, .6em) * .7)}.about__mark--above{bottom:100%}.about__mark--below{top:100%}}@media (min-width: 900px){.about__panel--intro{flex-direction:row;align-items:center;justify-content:space-between}}@media (prefers-reduced-motion: no-preference){.about{height:100vh;height:100svh}.about__track{flex-direction:row;width:max-content;height:100%;will-change:transform}.about__panel{flex-shrink:0;height:100%;padding:0 clamp(2.5rem,6vw,7rem)}.about__panel--intro{width:100vw;flex-direction:row;align-items:center;justify-content:space-between;gap:4vw}.about__chip{font-size:clamp(2rem,min(4vw,8vh),4.25rem)}.about__statement{font-size:clamp(1.125rem,min(1.7vw,3.4vh),1.75rem)}.about__flair{width:min(40vw,72vh,620px)}.about__panel--line{padding-right:40vw}.about__line{font-size:clamp(5rem,min(11vw,20vh),13rem);line-height:1;white-space:nowrap;padding-right:.85em}.about__line .about__chip--inline{--k: .36}}@media (prefers-reduced-motion: no-preference) and (max-aspect-ratio: 4/5){.about__panel{padding:0 6vw}.about__panel--line{padding-right:40vw}.about__panel--intro{flex-direction:column;align-items:flex-start;justify-content:center;gap:5svh}.about__chip{font-size:min(6.4vw,4.2svh,2.75rem)}.about__statement{font-size:clamp(1rem,4.3vw,1.4rem)}.about__flair{width:min(78vw,40svh);align-self:center}.about__line{font-size:clamp(3.5rem,min(22vw,13svh),10rem)}}.skills{min-height:100vh;display:flex;align-items:center;perspective:1000px}.skills__cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;max-width:1000px;margin:0 auto;transform-style:preserve-3d}.skill-tag{padding:1rem 2rem;border:1px solid rgba(255,255,255,.1);border-radius:100px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;letter-spacing:.05em;transition:all .3s var(--easing-smooth);background:transparent}.skill-tag:hover{background:var(--text-primary);color:var(--bg-dark);border-color:var(--text-primary);box-shadow:0 0 30px #fff3;transform:scale(1.1) translateZ(20px)}.projects__stack{position:relative;max-width:1000px;margin:0 auto;display:grid}.project-card{height:70vh;background-color:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:3rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:5vh;overflow:hidden;position:sticky;top:15vh;box-shadow:0 20px 50px #00000080}.project-card__content{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.project-card__title{font-size:3rem;margin-bottom:1rem}.project-card__desc{font-size:var(--text-md);color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.project-card__tags span{display:inline-block;padding:.4rem 1rem;background:#ffffff0d;border:none;color:var(--text-secondary);border-radius:100px;margin-right:.5rem;font-size:var(--text-xs);font-family:var(--font-body);font-weight:500;letter-spacing:.02em}.project-card__visual{background-color:#000;border-radius:1rem;overflow:hidden}.project-card__img-placeholder{width:100%;height:100%}.project-card__img-placeholder--1{background:linear-gradient(45deg,#d1496f,#5a1428)}.project-card__img-placeholder--2{background:linear-gradient(45deg,#34cdfa,#0a4560)}.project-card__img-placeholder--3{background:linear-gradient(45deg,#6366f1,#312e81)}.project-card__img-placeholder--4{background:linear-gradient(45deg,#f59e0b,#7c2d12)}.project-card__img-placeholder--5{background:linear-gradient(45deg,#ffc53d,#6b4a00)}.experience{min-height:100vh;position:relative;overflow:hidden}.experience__header{text-align:center;margin-bottom:5rem}.experience__label{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1rem;opacity:0;transform:translateY(20px);transition:opacity .8s var(--easing-smooth),transform .8s var(--easing-smooth)}.experience__grid{position:relative;max-width:800px;margin:0 auto;perspective:1000px}.experience__line{position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0%,var(--text-secondary) 10%,var(--text-secondary) 90%,transparent 100%);opacity:.2;transform-origin:top;transform:scaleY(0);transition:transform 1.5s var(--easing-smooth)}.experience__cards{display:flex;flex-direction:column;gap:2rem;padding-left:2.5rem}.exp-card{position:relative;background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:2rem 2.5rem;overflow:hidden;opacity:0;transform:translate(80px) translateY(50px) rotateY(15deg) scale(.9);transform-style:preserve-3d;transition:border-color .4s var(--easing-smooth),box-shadow .4s var(--easing-smooth),transform 1s var(--easing-smooth),opacity 1s var(--easing-smooth)}.exp-card:nth-child(2n){transform:translate(-80px) translateY(50px) rotateY(-15deg) scale(.9)}.exp-card:hover{border-color:#ffffff26;box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff0d inset;transform:translateY(-5px) scale(1.02)}.exp-card__indicator{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0%;background:linear-gradient(180deg,transparent 0%,var(--text-primary) 50%,transparent 100%);border-radius:0 2px 2px 0;box-shadow:0 0 15px #ffffff4d}.exp-card__dot{position:absolute;left:calc(-2.5rem - 5px);top:2.5rem;width:10px;height:10px;background:var(--bg-dark);border:2px solid var(--text-secondary);border-radius:50%;z-index:2;transition:border-color .3s ease,box-shadow .3s ease}.exp-card:hover .exp-card__dot{border-color:var(--text-primary);box-shadow:0 0 10px #fff6}.exp-card__inner{position:relative;z-index:1}.exp-card__number{position:absolute;top:-.5rem;right:-.5rem;font-family:var(--font-heading);font-size:clamp(4rem,8vw,6rem);font-weight:800;color:#ffffff08;line-height:1;user-select:none;pointer-events:none;transform:scale(0) rotate(-90deg);opacity:0}.exp-card__header{margin-bottom:1.5rem;padding-right:4rem}.exp-card__period{display:inline-block;padding:.4rem 1rem;background:#ffffff0d;border-radius:100px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:1rem}.exp-card__role{font-family:var(--font-heading);font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:600;letter-spacing:-.01em;color:var(--text-primary);margin-bottom:.5rem;line-height:1.2}.exp-card__company{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--text-highlight);letter-spacing:.02em}.exp-card__location{font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;color:var(--text-secondary);margin-top:.25rem;letter-spacing:.05em}.exp-card__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.exp-card__item{display:flex;align-items:flex-start;gap:.75rem;font-family:var(--font-body);font-size:var(--text-base);font-weight:400;color:var(--text-secondary);line-height:1.6;opacity:0;transform:translate(20px)}.exp-card__bullet{flex-shrink:0;width:4px;height:4px;background:var(--text-secondary);border-radius:50%;margin-top:.6rem;opacity:.5}.experience__header.is-visible .experience__label{opacity:1;transform:translateY(0);transition:opacity .8s var(--easing-smooth) .1s,transform .8s var(--easing-smooth) .1s}.experience__line.is-visible{transform:scaleY(1);transition:transform 1.5s var(--easing-smooth)}.exp-card.is-visible{opacity:1;transform:translate(0) translateY(0) rotateY(0) scale(1);transition:opacity 1s var(--easing-smooth),transform 1s var(--easing-smooth)}.exp-card.is-visible .exp-card__indicator{height:40%;transition:height .8s var(--easing-smooth) .3s}.exp-card.is-visible .exp-card__number{transform:scale(1) rotate(0);opacity:1;transition:transform .6s cubic-bezier(.175,.885,.32,1.275) .3s,opacity .6s ease .3s}.exp-card.is-visible .exp-card__item{opacity:1;transform:translate(0)}.exp-card.is-visible .exp-card__item:nth-child(1){transition:opacity .4s ease .4s,transform .4s ease .4s}.exp-card.is-visible .exp-card__item:nth-child(2){transition:opacity .4s ease .5s,transform .4s ease .5s}.exp-card.is-visible .exp-card__item:nth-child(3){transition:opacity .4s ease .6s,transform .4s ease .6s}@media (max-width: 768px){.experience__cards{padding-left:1.5rem}.exp-card{padding:1.5rem}.exp-card__dot{left:calc(-1.5rem - 5px)}.exp-card__number{font-size:3.5rem;top:-.25rem;right:-.25rem}.exp-card__header{padding-right:2.5rem}}.spotlight{position:relative;height:100vh;height:100svh;padding:0;overflow:hidden;background-color:var(--bg-dark)}.spotlight__header{position:absolute;top:clamp(1.5rem,8vh,6rem);left:0;right:0;max-width:calc(1200px + 2 * var(--container-padding));margin-inline:auto;padding:2rem var(--container-padding);background-color:var(--bg-dark);transform-origin:bottom center;will-change:transform}.spotlight__word{display:block;width:100%;height:auto;overflow:visible}.spotlight__word path{fill:var(--layer-fill, var(--text-primary))}.spotlight__label{fill:var(--bg-dark);text-anchor:middle;dominant-baseline:central;font-family:var(--font-heading);font-weight:600;font-size:125px;letter-spacing:6px;pointer-events:none}.spotlight__link{pointer-events:none;outline:none}.spotlight.is-revealed .spotlight__link{pointer-events:auto;cursor:pointer}.spotlight__link g{transition:filter .4s var(--easing-smooth)}.spotlight__link .spotlight__letter-i{transition:fill .4s var(--easing-smooth)}.spotlight.is-revealed .spotlight__link:hover g,.spotlight__link:focus-visible g{filter:drop-shadow(0 0 60px rgba(255,255,255,.25))}.spotlight.is-revealed .spotlight__link:hover .spotlight__letter-i{fill:#fff}.spotlight__link:focus-visible .spotlight__letter-i{stroke:var(--text-secondary);stroke-width:24}.spotlight .contact-links{position:absolute;top:70%;left:0;right:0;margin:0 auto;padding:0 var(--container-padding);z-index:1}.spotlight__credits{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;opacity:.4;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase}@media (max-width: 480px){.spotlight__credits{font-size:.625rem;bottom:1rem}}@media (max-width: 768px),(pointer: coarse){.spotlight__header{will-change:auto}}@media (max-width: 768px){.spotlight__header{padding:1.5rem var(--container-padding)}}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:2rem;max-width:800px}.contact-link{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-secondary);transition:color .4s var(--easing-smooth);position:relative}.contact-link__icon{width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:transparent;display:flex;align-items:center;justify-content:center;transition:background-color .4s var(--easing-smooth),border-color .4s var(--easing-smooth),transform .4s var(--easing-smooth),box-shadow .4s var(--easing-smooth);will-change:transform}.contact-link__icon svg{width:24px;height:24px;stroke:var(--text-secondary);transition:stroke .4s var(--easing-smooth)}.contact-link__label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;letter-spacing:.05em;opacity:0;transform:translateY(-8px);transition:opacity .3s var(--easing-smooth),transform .3s var(--easing-smooth)}.contact-link:hover{color:var(--text-primary)}.contact-link:hover .contact-link__icon{background:var(--text-primary);border-color:var(--text-primary);transform:translateY(-4px) scale(1.05);box-shadow:0 10px 30px #ffffff26}.contact-link:hover .contact-link__icon svg{stroke:var(--bg-dark)}.contact-link:hover .contact-link__label{opacity:1;transform:translateY(0)}.contact-link:focus{outline:none}.contact-link:focus .contact-link__icon{outline:2px solid rgba(255,255,255,.5);outline-offset:4px}.contact-link{opacity:0;transform:translateY(30px)}.contact-link.is-visible{opacity:1;transform:translateY(0);transition:opacity .8s var(--easing-smooth),transform .8s var(--easing-smooth)}.contact-link:nth-child(1).is-visible{transition-delay:.1s}.contact-link:nth-child(2).is-visible{transition-delay:.2s}.contact-link:nth-child(3).is-visible{transition-delay:.3s}.contact-link:nth-child(4).is-visible{transition-delay:.4s}html.menu-open,html.menu-open body{overflow:hidden}.site-nav{position:fixed;top:0;left:0;right:0;z-index:8001;display:flex;justify-content:space-between;align-items:center;padding:1.25rem var(--container-padding);color:#fff;mix-blend-mode:difference;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .8s var(--easing-smooth),visibility 0s linear .8s}.site-nav.is-ready{opacity:1;visibility:visible;transition:opacity .8s var(--easing-smooth)}.site-nav>*{pointer-events:auto}.site-nav__logo{display:block;width:64px;color:inherit;transition:opacity .4s var(--easing-smooth)}.site-nav__logo svg{display:block;width:100%;height:auto;overflow:visible}.site-nav__logo:hover{opacity:.6}.site-nav__toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:transparent;border:none;color:inherit;cursor:pointer;transition:opacity .4s var(--easing-smooth)}.site-nav__toggle:hover{opacity:.6}.site-nav__toggle-lines{display:flex;flex-direction:column;gap:5px;width:28px}.site-nav__toggle-lines span{display:block;height:1.5px;background-color:currentColor;transition:transform .5s var(--easing-smooth)}.site-nav.is-open .site-nav__toggle-lines span:first-child{transform:translateY(3.25px) rotate(45deg)}.site-nav.is-open .site-nav__toggle-lines span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.site-nav__logo:focus-visible,.site-nav__toggle:focus-visible,.menu a:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:4px}.menu{position:fixed;inset:0;z-index:8000;visibility:hidden;pointer-events:none}.menu.is-visible{visibility:visible;pointer-events:auto}.menu__bg{position:absolute;inset:0;transform:scaleY(0);transform-origin:top;will-change:transform}.menu__bg:nth-child(1){background-color:var(--text-primary)}.menu__bg:nth-child(2){background-color:var(--text-secondary)}.menu__bg:nth-child(3){background-color:#2a2a2a}.menu__bg:nth-child(4){background-color:var(--surface)}.menu__panel{position:absolute;inset:0;display:flex;gap:2rem;padding:clamp(6rem,16vh,10rem) max(var(--container-padding),calc((100% - 1400px)/2)) clamp(2rem,6vh,4rem);background-color:var(--bg-dark);clip-path:polygon(0% 0%,100% 0%,100% 0%,0% 0%);will-change:clip-path;overflow-y:auto;overscroll-behavior:contain}.menu__col--meta{flex:2;display:flex;flex-direction:column;justify-content:flex-end;gap:3rem}.menu__col--main{flex:4;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.menu__group,.menu__secondary{display:flex;flex-direction:column;gap:.5rem}.menu__mask{display:block;clip-path:inset(-50% -100vw 0 -100vw);padding-bottom:.08em;margin-bottom:-.08em}.menu__link>.menu__mask{flex-shrink:0}.menu__reveal{display:inline-block;will-change:transform}.menu a{color:inherit;text-decoration:none}.menu__primary{display:flex;flex-direction:column}.menu__link{display:flex;align-items:center;gap:1rem;font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,5.5rem);font-weight:600;line-height:1;letter-spacing:-.02em;text-transform:uppercase;color:var(--text-primary);transition:opacity .4s var(--easing-smooth)}.menu__index{flex:0 0 2.75rem;line-height:1;font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;letter-spacing:.1em;color:var(--text-secondary);transition:color .4s var(--easing-smooth)}.menu__primary:hover .menu__link:not(:hover){opacity:.35}.menu__link[aria-current] .menu__index{color:var(--text-primary)}.menu__link[aria-current] .menu__index .menu__reveal:after{content:" —"}.menu__label{margin-bottom:.5rem;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary)}.menu__small-link{font-family:var(--font-body);font-size:var(--text-lg);font-weight:300;color:var(--text-primary);transition:color .4s var(--easing-smooth)}.menu__small-link:hover{color:var(--text-secondary)}.menu__fine{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.05em;color:var(--text-secondary);opacity:.7}@media (max-width: 1000px){.menu__panel{flex-direction:column;justify-content:flex-end;gap:3rem;padding-top:6.5rem}.menu__col--main{order:1;flex:none;flex-direction:column;align-items:flex-start;gap:2.5rem}.menu__col--meta{order:2;flex:none;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:2rem}.menu__group--legal{text-align:right}.menu__link{font-size:clamp(2rem,10vw,4rem)}}@media (max-width: 480px){.site-nav__logo{width:52px}.site-nav__toggle{width:44px;height:44px}.menu__small-link{font-size:var(--text-md)}}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);padding:1rem 2rem;background:var(--accent);color:var(--bg-dark);font-family:var(--font-body);font-weight:500;text-decoration:none;z-index:10000;border-radius:0 0 8px 8px;transition:top .2s ease}.skip-link:focus{top:0;outline:2px solid var(--text-primary);outline-offset:2px}@media (max-width: 768px){.project-card{grid-template-columns:1fr;height:auto;min-height:50vh;padding:2rem}.project-card__title{font-size:2rem}.project-card__visual{min-height:200px}.hero__subtitle{font-size:.9rem;letter-spacing:.15em}}@media (max-width: 1024px){.project-card{padding:2.5rem;gap:2rem}.skills__cloud{gap:1rem;max-width:800px}.skill-tag{padding:.875rem 1.5rem}.exp-card{padding:1.75rem 2rem}}@media (max-width: 768px){.hero__title{font-size:clamp(2.5rem,15vw,5rem)}.hero__subtitle{margin-top:2rem}.skills{min-height:auto;padding:var(--section-spacing) 0}.skills__cloud{gap:.75rem;max-width:100%}.skill-tag{padding:.625rem 1.25rem;font-size:var(--text-xs)}.project-card{height:60vh;min-height:400px;padding:1.5rem;margin-bottom:3rem;border-radius:1.5rem}.project-card__content{padding:0}.project-card__title{font-size:1.5rem;margin-bottom:.75rem}.project-card__desc{font-size:var(--text-base);margin-bottom:1.5rem}.project-card__visual{min-height:150px}.experience__grid{max-width:100%}.experience__line{left:4px}.experience__cards{padding-left:2rem}.exp-card{padding:1.25rem 1.5rem}.exp-card__dot{left:calc(-2rem - 3px);width:8px;height:8px}.exp-card__header{padding-right:1.5rem}.exp-card__role{font-size:1.125rem}.exp-card__number{font-size:3rem;top:-.25rem;right:0}.exp-card__item{font-size:var(--text-sm)}.contact-links{gap:1.25rem;margin-bottom:3rem}.contact-link__icon{width:48px;height:48px}.contact-link__icon svg{width:20px;height:20px}.contact-link__label{opacity:1;transform:translateY(0);font-size:.625rem}.preloader__signature{width:90%;max-width:280px}.section-title{font-size:clamp(2rem,8vw,3.5rem);margin-bottom:2.5rem}}@media (max-width: 480px){:root{--container-padding: 1rem}.hero__title{font-size:clamp(2rem,18vw,3.5rem);letter-spacing:-.03em}.hero__subtitle{font-size:.75rem;letter-spacing:.08em;margin-top:1.5rem}.skills__cloud{gap:.5rem}.skill-tag{padding:.5rem 1rem;font-size:.6875rem}.project-card{height:55vh;min-height:350px;padding:1.25rem;margin-bottom:2rem;border-radius:1rem}.project-card__title{font-size:1.25rem}.project-card__tags span{font-size:.625rem;padding:.3rem .75rem}.project-card__visual{min-height:120px;border-radius:.75rem}.experience__cards{padding-left:1.5rem;gap:1.5rem}.exp-card{padding:1rem 1.25rem}.exp-card__dot{left:calc(-1.5rem - 3px);top:2rem}.exp-card__period{font-size:.625rem;padding:.3rem .75rem}.exp-card__role{font-size:1rem}.exp-card__company,.exp-card__location{font-size:var(--text-xs)}.exp-card__number{display:none}.exp-card__item{font-size:.8125rem;gap:.5rem}.exp-card__bullet{margin-top:.5rem}.contact-links{gap:.5rem;margin-bottom:2rem;flex-direction:row;flex-wrap:nowrap;justify-content:center}.contact-link{flex-direction:column;gap:.5rem;min-width:70px}.contact-link__icon{width:44px;height:44px}.contact-link__icon svg{width:18px;height:18px}.contact-link__label{font-size:.5625rem;max-width:80px;text-align:center;word-break:break-all;display:none}.section-title{font-size:clamp(1.5rem,10vw,2.5rem);margin-bottom:2rem}.preloader__signature{max-width:220px}}@media (pointer: coarse){.image-trail__img{width:140px;height:140px}.skill-tag:hover{transform:none;box-shadow:none}.exp-card:hover{transform:none}.skill-tag:hover{transform:scale(1.02)}}@media (max-height: 500px) and (orientation: landscape){.hero{height:auto;min-height:100vh;padding:2rem 0}.hero__title{font-size:clamp(2rem,10vh,4rem)}.contact-links{margin-bottom:1.5rem;gap:1rem}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.signature-path{stroke-width:5}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.preloader{display:none}html.is-loading,html.is-loading body{overflow:visible!important}}
