@keyframes twinkle{0%,to{opacity:.15;transform:translateY(0) scale(.85)}50%{opacity:1;transform:translateY(-6px) scale(1.05)}}@keyframes drift{0%,to{transform:translate(0,0) rotate(0deg);opacity:.4}50%{transform:translate(8px,-10px) rotate(180deg);opacity:.85}}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@keyframes scroll-x{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes float{0%,to{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-40px) scale(1.08)}66%{transform:translate(-20px,30px) scale(.95)}}@keyframes hero-name-in{0%{opacity:0;transform:translateY(-50%) translateX(-20px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-in{0%{opacity:0;transform:translateX(-50%) translateY(30px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes nav-fade-up{0%{opacity:0;transform:translate(-50%,calc(-50% + 20px))}to{opacity:1;transform:translate(-50%,-50%)}}*{margin:0;padding:0;box-sizing:border-box}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}body,html{font-family:"Inter",system-ui,sans-serif;color:#e8e2d4;background:#1a1510}html{scroll-behavior:smooth}body{overflow-x:clip}body::after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");opacity:.08;mix-blend-mode:overlay;pointer-events:none;z-index:200}.hero{position:relative;width:100vw;height:100vh;overflow:hidden;background:radial-gradient(ellipse 90% 80%at 50% 60%,#6d5e4e 0,#4a3f33 35%,#2a231c 75%,#1a1510 100%)}.stars,.stars .star,.top-bar{position:absolute}.stars{inset:0;z-index:1;pointer-events:none;overflow:hidden}.stars .star{font-family:"Pixelify Sans",monospace;color:#c9b89a;text-shadow:0 0 8px rgba(201,184,154,.5);user-select:none;will-change:transform,opacity}.star.s1{top:12%;left:8%;font-size:14px;animation:twinkle 4.2s ease-in-out infinite}.star.s2{top:22%;left:18%;font-size:10px;animation:twinkle 3.4s ease-in-out infinite .6s}.star.s3{top:8%;left:28%;font-size:8px;animation:twinkle 5s ease-in-out infinite 1.2s}.star.s4{top:35%;left:5%;font-size:11px;animation:drift 8s ease-in-out infinite .3s}.star.s5{top:60%;left:12%;font-size:9px;animation:twinkle 3.8s ease-in-out infinite 1.8s}.star.s6{top:78%;left:6%;font-size:12px;animation:twinkle 4.6s ease-in-out infinite .9s}.star.s7{top:18%;right:22%;font-size:9px;animation:twinkle 3.2s ease-in-out infinite .4s}.star.s8{top:8%;right:8%;font-size:13px;animation:twinkle 4.8s ease-in-out infinite 1.5s}.star.s9{top:28%;right:14%;font-size:7px;animation:drift 9s ease-in-out infinite .7s}.star.s10{top:50%;right:6%;font-size:10px;animation:twinkle 3.6s ease-in-out infinite 2.1s}.star.s11{top:72%;right:10%;font-size:11px;animation:twinkle 5.2s ease-in-out infinite .5s}.star.s12{top:85%;right:28%;font-size:8px;animation:twinkle 4s ease-in-out infinite 1.4s}@media (max-width:900px){.star.s12,.star.s4,.star.s9{display:none}}.hero::after,.hero::before{content:"";position:absolute;inset:0;pointer-events:none}.hero::before{background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.55) 100%);z-index:1}.hero::after{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");opacity:.12;mix-blend-mode:overlay;z-index:10}.top-bar{top:28px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:6;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#c8bfa8;font-weight:500}.top-bar .left,.top-bar .right{display:flex;align-items:center;gap:22px}.top-bar .logo{font-family:"Pixelify Sans",monospace;font-weight:700;font-size:16px;letter-spacing:.05em;color:#ece5d3}.top-bar .meta{display:flex;align-items:center;gap:8px}.description .eyebrow .pulse-dot,.top-bar .dot{width:6px;height:6px;border-radius:50%;background:#c9b89a;box-shadow:0 0 8px #c9b89a;animation:pulse 2s infinite}.top-bar .divider{width:1px;height:14px;background:rgba(236,229,211,.2)}.title-block{position:absolute;left:3vw;top:50%;transform:translateY(-50%);z-index:3;user-select:none}.title-block .name,.title-block .sublabel{font-family:"Pixelify Sans",monospace;color:#ece5d3;font-weight:700}.title-block .name{font-size:7vw;line-height:.9;white-space:nowrap;text-shadow:0 4px 30px rgba(0,0,0,.4)}.title-block .sublabel{margin-top:12px;font-size:22px;letter-spacing:.25em;text-transform:uppercase}.portrait{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:88vh;width:auto;object-fit:contain;object-position:bottom;z-index:2;filter:grayscale(100%) sepia(.18) contrast(1.05) brightness(.95);pointer-events:none;mix-blend-mode:luminosity}.description{position:absolute;right:3.5vw;top:calc(50% - 3.4vw);max-width:340px;z-index:5;padding-left:22px;border-left:1px solid rgba(236,229,211,.22)}.description .eyebrow,.description .signature{font-family:"Pixelify Sans",monospace;font-size:11px;text-transform:uppercase}.description .eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:.32em;color:#c9b89a;margin-bottom:18px}.bio-text p,.description p{font-size:15px;line-height:1.65;color:#ece5d3;font-weight:300}.bio-heading em,.description p em,.journey-heading em{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400}.description p em{font-size:17px;color:#d8c8a8}.description p strong{font-weight:500;color:#fff}.description .signature{margin-top:22px;gap:12px;letter-spacing:.25em;color:#a89e89}.description .signature .arrow{display:inline-block;transition:transform .3s ease}.description .signature:hover .arrow{transform:translateX(4px)}.description .signature a{color:#ece5d3;text-decoration:none;border-bottom:1px solid rgba(236,229,211,.3);padding-bottom:2px;transition:border-color .3s ease,color .3s ease}.description .signature a:hover{color:#fff;border-bottom-color:#c9b89a}.description .signature,.nav,.nav-links{display:flex;align-items:center}.nav{position:fixed;left:50%;top:calc(100vh - 70px);transform:translate(-50%,-50%);gap:4px;background:rgba(20,15,10,.55);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:5px;border-radius:999px;z-index:50;box-shadow:0 10px 40px rgba(0,0,0,.5);transition:top .9s cubic-bezier(.22,1,.36,1),padding .5s ease,background .5s ease,box-shadow .5s ease,border-color .5s ease}.nav.scrolled{background:rgba(20,15,10,.75);border-color:rgba(255,240,210,.18);box-shadow:0 8px 30px rgba(0,0,0,.4)}.nav,.nav .avatar{border:1px solid rgba(255,240,210,.1)}.nav .avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#2a231c}.nav .avatar img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:grayscale(100%)}.nav-links{padding:0 6px}.marquee-track span,.nav a{text-transform:uppercase;color:#ece5d3}.nav .contact,.nav a{border-radius:999px;font-size:10px;letter-spacing:.22em}.nav a{text-decoration:none;font-weight:500;padding:8px 14px;transition:background .2s,color .2s}.nav a:hover{background:rgba(255,240,210,.08)}.nav .contact{background:#ece5d3;color:#1a1510;padding:9px 22px;font-weight:600;margin-left:4px}.nav .contact:hover{background:#fff}.marquee{position:relative;background:#2a231c;overflow:hidden;padding:18px 0;z-index:5}.marquee-track{display:flex;gap:48px;width:max-content;animation:scroll-x 35s linear infinite}.marquee-track span{font-family:"Pixelify Sans",monospace;font-size:16px;letter-spacing:.18em;white-space:nowrap;display:flex;align-items:center;gap:48px}.marquee-track span::after{content:"✦";color:#c9b89a;font-size:14px}.bio,.bio-inner{position:relative}.bio{padding:90px 6vw 100px;background:radial-gradient(ellipse 70% 50%at 80%0,rgba(201,184,154,.12)0,transparent 60%),linear-gradient(180deg,#3a3026 0,#332a21 40%,#2a231c 100%);overflow:hidden}.bio .orb{position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(201,184,154,.18)0,transparent 70%);filter:blur(40px);pointer-events:none;animation:float 12s ease-in-out infinite}.bio .orb.o1{top:-120px;right:-80px}.bio .orb.o2{top:40%;left:-100px;width:380px;height:380px;animation-delay:-6s;background:radial-gradient(circle,rgba(140,110,80,.14)0,transparent 70%)}.bio-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}.bio-label{display:flex;align-items:center;gap:12px;font-family:"Pixelify Sans",monospace;font-size:13px;letter-spacing:.3em;color:#c9b89a;text-transform:uppercase;margin-bottom:28px}.bio-heading,.bio-label .num{color:#ece5d3}.bio-label .line{flex:1;height:1px;background:rgba(236,229,211,.2);max-width:60px}.bio-heading{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:clamp(40px,4.5vw,72px);line-height:1.05;letter-spacing:-.025em}.bio-heading em,.journey-heading em{color:#c9b89a}.bio-text p{font-size:16px;line-height:1.75;color:#d8d2c2;margin-bottom:22px}.bio-text p:last-child{margin-bottom:0}.bio-text strong{color:#ece5d3;font-weight:500}.bio-stats{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:36px;border-top:1px solid rgba(236,229,211,.12)}.bio-tags span,.stat .num{font-family:"Pixelify Sans",monospace;color:#ece5d3}.stat .num{font-size:42px;line-height:1;margin-bottom:10px}.stat .label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#a89e89;font-weight:500}.bio-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.bio-tags span{font-size:12px;letter-spacing:.15em;text-transform:uppercase;padding:8px 16px;border-radius:999px;background:rgba(236,229,211,.06);border:1px solid rgba(236,229,211,.12);transition:background .2s,border-color .2s}.bio-tags span:hover{background:rgba(236,229,211,.12);border-color:rgba(236,229,211,.25);transform:translateY(-2px)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:translateY(0)}.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.4s}.stat{position:relative;padding-bottom:6px}.stat::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:linear-gradient(90deg,#c9b89a,transparent);transition:width .8s cubic-bezier(.22,1,.36,1)}.stat.in::after{width:60%}.title-block{animation:hero-name-in 1.2s cubic-bezier(.22,1,.36,1) both}.description{animation:hero-fade-up 1s cubic-bezier(.22,1,.36,1) .4s both}.portrait{animation:portrait-in 1.4s cubic-bezier(.22,1,.36,1) .1s both}.top-bar{animation:hero-fade-up .8s cubic-bezier(.22,1,.36,1) .2s both}.nav{animation:nav-fade-up .9s cubic-bezier(.22,1,.36,1) .6s both}.portrait{transition:filter .6s ease}.hero:hover .portrait{filter:grayscale(100%) sepia(.18) contrast(1.08) brightness(1)}@media (max-width:900px){.bio-inner{grid-template-columns:1fr;gap:40px}.bio{padding:60px 6vw 70px}.bio-stats{grid-template-columns:repeat(3,1fr);gap:16px}.stat .num{font-size:32px}}.journey{position:relative;padding:90px 6vw 100px;background:linear-gradient(180deg,#2a231c 0,#332a21 50%,#2a231c 100%)}.journey .orb,.journey-bg{position:absolute;pointer-events:none}.journey-bg{inset:0;overflow:hidden;z-index:0}.journey-inner{position:relative;max-width:1100px;margin:0 auto;z-index:2}.journey .orb{border-radius:50%;animation:float 14s ease-in-out infinite;filter:blur(50px)}.journey .orb.j1{width:380px;height:380px;top:10%;right:-100px;background:radial-gradient(circle,rgba(201,184,154,.14)0,transparent 70%)}.journey .orb.j2{width:340px;height:340px;bottom:8%;left:-90px;animation-delay:-7s;background:radial-gradient(circle,rgba(140,110,80,.16)0,transparent 70%)}.journey-header{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:end;margin-bottom:100px}.journey-heading{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:clamp(40px,4.5vw,72px);line-height:1.05;color:#ece5d3;letter-spacing:-.025em}.journey-intro{font-size:15px;line-height:1.7;color:#c8bfa8;font-weight:300;max-width:460px}.timeline{position:relative;display:grid;grid-template-columns:minmax(280px,.8fr) 1.4fr;gap:60px}.timeline-stage{position:sticky;top:calc(50vh - 220px);align-self:start;height:fit-content;padding-top:12px;z-index:2}.timeline-pages{position:relative;z-index:1}.stage-counter{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-size:11px;letter-spacing:.3em;color:#a89e89;text-transform:uppercase}.stage-counter .index{color:#ece5d3;font-size:13px}.stage-counter .bar{flex:1;max-width:140px;height:1px;background:rgba(236,229,211,.15);position:relative}.stage-counter .bar::after{content:"";position:absolute;inset:0;background:#c9b89a;width:var(--progress, 25%);box-shadow:0 0 8px rgba(201,184,154,.5);transition:width .6s cubic-bezier(.22,1,.36,1)}.stage-counter,.stage-tag,.stage-year{font-family:"Pixelify Sans",monospace}.stage-year{font-size:clamp(80px,9vw,150px);line-height:.85;color:#ece5d3;letter-spacing:-.02em;margin-bottom:24px;text-shadow:0 6px 40px rgba(0,0,0,.4);position:relative;overflow:hidden;max-width:100%}.stage-year .num{display:inline-block;transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}.stage-year .num.is-out{opacity:0;transform:translateY(-18px)}.stage-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.28em;color:#c9b89a;text-transform:uppercase;padding:7px 14px;border-radius:999px;background:rgba(201,184,154,.08);border:1px solid rgba(201,184,154,.28);margin-bottom:18px;transition:all .5s cubic-bezier(.22,1,.36,1)}.stage-tag.live::before{content:"";width:6px;height:6px;border-radius:50%;background:#c9b89a;box-shadow:0 0 8px #c9b89a;animation:pulse 2s infinite}.stage-place{font-size:14px;color:#c9b89a;font-weight:400;margin-bottom:14px;letter-spacing:.02em;max-width:280px}.stage-place .sep{color:rgba(201,184,154,.4);margin:0 8px}.stage-thread,.timeline-pages{display:flex;flex-direction:column}.stage-thread{margin-top:28px;gap:10px;padding-left:18px;border-left:1px solid rgba(236,229,211,.12)}.stage-thread .node{display:flex;align-items:center;gap:12px;font-family:"Pixelify Sans",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6d6353;cursor:pointer;position:relative;transition:color .4s ease}.stage-thread .node::before{content:"";position:absolute;left:-24px;width:11px;height:11px;border-radius:50%;background:#2a231c;border:1px solid rgba(236,229,211,.2);transition:all .4s ease}.stage-thread .node.active{color:#ece5d3}.stage-thread .node.active::before{background:#c9b89a;border-color:#c9b89a;box-shadow:0 0 12px rgba(201,184,154,.7),0 0 0 4px rgba(201,184,154,.12)}.stage-thread .node:hover{color:#d8c8a8}.timeline-pages{gap:100px}.timeline-pages .step:first-child{padding-top:24px}.timeline-pages .step:last-child{padding-bottom:60px}.step{position:relative;opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.step.in{opacity:1;transform:translateY(0)}.step-year{display:none}.step-card{position:relative;background:linear-gradient(165deg,rgba(236,229,211,.05)0,rgba(236,229,211,.02) 60%,rgba(236,229,211,.04) 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(236,229,211,.1);border-radius:18px;padding:24px 28px 26px;overflow:hidden;transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .5s ease,background .5s ease}.step-card::before{content:"";position:absolute;top:-80px;right:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(201,184,154,.16)0,transparent 70%);filter:blur(30px);opacity:.5;transition:opacity .6s ease,transform .8s ease;pointer-events:none}.step:hover .step-card{transform:translateY(-4px);border-color:rgba(201,184,154,.35);background:linear-gradient(165deg,rgba(236,229,211,.08)0,rgba(236,229,211,.03) 60%,rgba(201,184,154,.06) 100%)}.step:hover .step-card::before{opacity:1;transform:scale(1.15) rotate(8deg)}.step::before{display:none}.step-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.step-duration,.step-skills span,.step-tag{font-family:"Pixelify Sans",monospace;font-size:10px;text-transform:uppercase}.step-tag{display:inline-flex;align-items:center;gap:6px;letter-spacing:.28em;color:#c9b89a;padding:5px 12px;border-radius:999px;background:rgba(201,184,154,.08);border:1px solid rgba(201,184,154,.25)}.step-tag.live::before{content:"";width:6px;height:6px;border-radius:50%;background:#c9b89a;box-shadow:0 0 8px #c9b89a;animation:pulse 2s infinite}.step-duration,.step-skills span{letter-spacing:.22em;color:#a89e89}.step-title{font-family:"Inter",system-ui,sans-serif;font-size:clamp(22px,2.4vw,30px);font-weight:500;color:#ece5d3;letter-spacing:-.018em;line-height:1.15;margin-bottom:6px;position:relative;z-index:1}.skills-heading em,.step-title em{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;color:#d8c8a8}.step-place{font-size:13px;font-weight:400;color:#c9b89a;margin-bottom:16px;letter-spacing:.02em}.step-place .sep{color:rgba(201,184,154,.4);margin:0 8px}.step-desc,.step-place,.step-skills{position:relative;z-index:1}.step-desc{font-size:14.5px;line-height:1.65;color:#d8d2c2;font-weight:300;max-width:720px}.step-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;padding-top:18px;border-top:1px dashed rgba(236,229,211,.1)}.step-skills span{letter-spacing:.2em;color:#ece5d3;padding:6px 12px;border-radius:999px;background:rgba(236,229,211,.04);border:1px solid rgba(236,229,211,.1);transition:background .2s,border-color .2s,transform .2s}.step-skills span:hover{background:rgba(201,184,154,.12);border-color:rgba(201,184,154,.4);transform:translateY(-2px)}@media (max-width:900px){.journey{padding:60px 6vw 70px}.journey-header{grid-template-columns:1fr;gap:28px;margin-bottom:60px}.timeline{grid-template-columns:1fr;gap:24px}.timeline-stage{position:relative;top:auto;padding-bottom:12px}.stage-year{font-size:clamp(72px,18vw,120px)}.stage-thread{display:none}.step-card{padding:20px 22px}.timeline-pages{gap:32px}}@media (max-width:760px){.timeline{gap:18px}.timeline-pages{display:flex;flex-direction:row;gap:14px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding:0 6vw;margin:0-6vw;padding:8px 6vw 24px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.timeline-pages::-webkit-scrollbar{display:none}.timeline-pages .step{flex:0 0 86%;scroll-snap-align:center;opacity:1!important;transform:none!important;padding:0}.timeline-pages .step:first-child{padding-top:0}.timeline-pages .step:last-child{padding-bottom:0}.step-card{height:100%;padding:22px}.timeline-dots,.timeline-swipe-hint{display:flex;justify-content:center;gap:8px;margin-top:8px}.timeline-dots .dot{width:7px;height:7px;border-radius:50%;background:rgba(236,229,211,.18);transition:width .4s cubic-bezier(.22,1,.36,1),background .4s ease;cursor:pointer}.timeline-dots .dot.active{background:#c9b89a;width:22px;box-shadow:0 0 8px rgba(201,184,154,.6)}.timeline-swipe-hint{align-items:center;gap:10px;margin-top:14px;font-family:"Pixelify Sans",monospace;font-size:10px;letter-spacing:.28em;color:#a89e89;text-transform:uppercase;opacity:.75}.timeline-swipe-hint .arrows{display:inline-flex;gap:2px;color:#c9b89a;animation:arrowsLoop 1.8s ease-in-out infinite}@keyframes arrowsLoop{0%,to{transform:translateX(0);opacity:.4}50%{transform:translateX(4px);opacity:1}}.stage-counter{margin-bottom:14px}.stage-year{margin-bottom:16px}.stage-tag{margin-bottom:12px}.stage-place{font-size:13px}}.timeline-dots,.timeline-swipe-hint{display:none}@media (max-width:760px){.timeline-dots,.timeline-swipe-hint{display:flex}}.skills{position:relative;padding:90px 6vw 100px;background:linear-gradient(180deg,#2a231c 0,#2e251d 50%,#2a231c 100%);overflow:hidden}.skill-cat::before,.skills .orb{position:absolute;border-radius:50%;pointer-events:none}.skills .orb{animation:float 14s ease-in-out infinite;filter:blur(60px)}.skills .orb.k1{width:400px;height:400px;top:20%;left:-120px;background:radial-gradient(circle,rgba(201,184,154,.12)0,transparent 70%)}.skills .orb.k2{width:360px;height:360px;bottom:10%;right:-100px;animation-delay:-8s;background:radial-gradient(circle,rgba(140,110,80,.16)0,transparent 70%)}.skills-inner{position:relative;max-width:1280px;margin:0 auto;z-index:2}.skills-header{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:end;margin-bottom:80px}.skills-heading{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:clamp(40px,4.5vw,72px);line-height:1.05;color:#ece5d3;letter-spacing:-.025em}.skills-heading em{color:#c9b89a}.skills-intro{font-size:15px;line-height:1.7;color:#c8bfa8;font-weight:300;max-width:460px}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.skill-cat{position:relative;background:linear-gradient(165deg,rgba(236,229,211,.05)0,rgba(236,229,211,.02) 60%,rgba(236,229,211,.04) 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(236,229,211,.12);border-radius:16px;padding:28px 24px 26px;overflow:hidden;transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .5s ease,background .5s ease}.skill-cat::before{content:"";top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(201,184,154,.18)0,transparent 70%);filter:blur(30px);opacity:.6;transition:opacity .6s ease,transform .8s ease}.skill-cat:hover{transform:translateY(-6px);border-color:rgba(201,184,154,.35);background:linear-gradient(165deg,rgba(236,229,211,.08)0,rgba(236,229,211,.03) 60%,rgba(201,184,154,.06) 100%)}.skill-cat:hover::before{opacity:1;transform:scale(1.15) rotate(8deg)}.skill-cat-head{position:relative;display:flex;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid rgba(236,229,211,.1);z-index:1}.skill-cat-icon{width:38px;height:38px;border-radius:10px;background:rgba(201,184,154,.12);border:1px solid rgba(201,184,154,.3);display:flex;align-items:center;justify-content:center;font-family:"Pixelify Sans",monospace;font-size:16px;color:#ece5d3;flex-shrink:0;transition:transform .5s cubic-bezier(.22,1,.36,1)}.skill-cat:hover .skill-cat-icon{transform:rotate(-8deg) scale(1.08)}.skill-cat-num,.skills-marquee-track span::after{font-family:"Pixelify Sans",monospace;color:#c9b89a}.skill-cat-num{font-size:10px;letter-spacing:.28em;margin-bottom:4px;display:block;text-transform:uppercase}.skill-cat-title{font-family:"Inter",system-ui,sans-serif;font-size:17px;font-weight:500;color:#ece5d3;letter-spacing:-.015em;line-height:1.15}.project-card .title em,.skill-cat-title em{color:#d8c8a8}.skill-list,.skill-list li{position:relative;display:flex}.skill-list{list-style:none;flex-direction:column;gap:4px;z-index:1}.skill-list li{padding:9px 12px;font-size:13.5px;font-weight:400;color:#d8d2c2;background:rgba(236,229,211,.03);border:1px solid rgba(236,229,211,.06);border-radius:10px;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.22,1,.36,1)}.skill-list li:hover{color:#fff;background:rgba(236,229,211,.08);border-color:rgba(201,184,154,.4);transform:translateX(4px)}.skill-list li .dots{display:flex;gap:3px;flex-shrink:0}.skill-list li .dots i{display:block;width:5px;height:5px;border-radius:50%;background:rgba(236,229,211,.18);transition:background .3s ease}.skill-list li .dots i.on{background:#c9b89a;box-shadow:0 0 6px rgba(201,184,154,.5)}.skill-list li:hover .dots i.on{background:#ece5d3;box-shadow:0 0 8px rgba(236,229,211,.7)}.skills-marquee{margin-top:80px;position:relative;overflow:hidden;padding:22px 0;border-top:1px solid rgba(236,229,211,.1);border-bottom:1px solid rgba(236,229,211,.1)}.skills-marquee-track{display:flex;gap:56px;width:max-content;animation:scroll-x 40s linear infinite}.contact-heading em,.project-card .title em,.projects-heading em,.skill-cat-title em,.skills-marquee-track span{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400}.skills-marquee-track span{font-size:28px;color:#ece5d3;white-space:nowrap;display:flex;align-items:center;gap:56px}.skills-marquee-track span::after{content:"✦";font-style:normal;font-size:16px}@media (max-width:1100px){.skills-grid{grid-template-columns:repeat(2,1fr);gap:40px}}@media (max-width:900px){.skills{padding:60px 6vw 70px}.skills-header{grid-template-columns:1fr;gap:24px;margin-bottom:48px}.skills-marquee-track span{font-size:22px}}@media (max-width:760px){.skills-grid{grid-template-columns:1fr;gap:10px}.skill-cat{padding:0;border-radius:14px;transition:border-color .4s ease,background .4s ease}.skill-cat:hover{transform:none}.skill-cat:hover::before{transform:none;opacity:.6}.skill-cat::before{display:none}.skill-cat-head{padding:18px 22px;margin:0;border-bottom:1px solid transparent;cursor:pointer;position:relative}.skill-cat-head::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-family:"Pixelify Sans",monospace;font-size:22px;color:#c9b89a;transition:transform .4s cubic-bezier(.22,1,.36,1)}.skill-cat.is-open{background:linear-gradient(165deg,rgba(236,229,211,.08)0,rgba(201,184,154,.06) 100%);border-color:rgba(201,184,154,.32)}.skill-cat.is-open .skill-cat-head{border-bottom-color:rgba(236,229,211,.1)}.skill-cat.is-open .skill-cat-head::after{transform:translateY(-50%) rotate(45deg);color:#ece5d3}.skill-cat.is-open .skill-cat-icon{transform:rotate(-8deg) scale(1.08);background:rgba(201,184,154,.22)}.skill-list{max-height:0;overflow:hidden;padding:0 22px;gap:4px;transition:max-height .55s cubic-bezier(.22,1,.36,1),padding .4s ease,opacity .4s ease;opacity:0}.skill-cat.is-open .skill-list{max-height:600px;padding:14px 22px 22px;opacity:1}.skill-cat.is-open .skill-list li{animation:fadeUpIn .5s cubic-bezier(.22,1,.36,1) both}.skill-cat.is-open .skill-list li:nth-child(1){animation-delay:.05s}.skill-cat.is-open .skill-list li:nth-child(2){animation-delay:.1s}.skill-cat.is-open .skill-list li:nth-child(3){animation-delay:.15s}.skill-cat.is-open .skill-list li:nth-child(4){animation-delay:.2s}.skill-cat.is-open .skill-list li:nth-child(5){animation-delay:.25s}.skill-cat.is-open .skill-list li:nth-child(6){animation-delay:.3s}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}.contact{position:relative;padding:140px 6vw 80px;background:linear-gradient(180deg,#2a231c 0,#1f1a14 100%);overflow:hidden}.contact-bg,.contact-bg .orb{position:absolute;pointer-events:none}.contact-bg{inset:0;overflow:hidden;z-index:0}.contact-bg .orb{border-radius:50%;filter:blur(60px);animation:float 14s ease-in-out infinite}.contact-bg .c1{width:480px;height:480px;top:-100px;left:-100px;background:radial-gradient(circle,rgba(201,184,154,.13),transparent 70%)}.contact-bg .c2{width:420px;height:420px;bottom:-120px;right:-80px;animation-delay:-7s;background:radial-gradient(circle,rgba(140,110,80,.16),transparent 70%)}.contact-inner{position:relative;max-width:1100px;margin:0 auto;z-index:2}.contact-header{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:end;margin-bottom:60px}.contact-heading{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:clamp(40px,4.5vw,72px);line-height:1.05;color:#ece5d3;letter-spacing:-.025em}.contact-heading em,.projects-heading em{color:#c9b89a}.contact-intro{font-size:15px;line-height:1.7;color:#c8bfa8;font-weight:300;max-width:460px}.brief{position:relative;background:linear-gradient(165deg,rgba(236,229,211,.06)0,rgba(236,229,211,.02) 60%,rgba(201,184,154,.04) 100%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(236,229,211,.14);border-radius:22px;overflow:hidden}.brief-head{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;border-bottom:1px dashed rgba(236,229,211,.14);background:rgba(236,229,211,.02);font-family:"Pixelify Sans",monospace;font-size:11px;letter-spacing:.3em;color:#c9b89a;text-transform:uppercase}.brief-head .ref{color:#ece5d3}.brief-head .live{display:inline-flex;align-items:center;gap:8px}.brief-head .live .dot{width:6px;height:6px;border-radius:50%;background:#c9b89a;box-shadow:0 0 8px #c9b89a;animation:pulse 2s infinite}.brief-body{padding:40px 40px 32px;display:flex;flex-direction:column;gap:38px}.brief-row{display:grid;grid-template-columns:140px 1fr;gap:32px;align-items:start}.brief-row-label{font-family:"Pixelify Sans",monospace;font-size:11px;letter-spacing:.28em;color:#c9b89a;text-transform:uppercase;padding-top:12px;line-height:1.5}.brief-row-label .num{color:#ece5d3;margin-right:8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:"Pixelify Sans",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#d8d2c2;padding:9px 16px;border-radius:999px;background:rgba(236,229,211,.04);border:1px solid rgba(236,229,211,.12);cursor:pointer;user-select:none;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}.chip:hover{background:rgba(236,229,211,.08);border-color:rgba(201,184,154,.4);transform:translateY(-2px)}.chip.selected{background:#ece5d3;border-color:#ece5d3;color:#1a1510;font-weight:700;box-shadow:0 4px 16px rgba(201,184,154,.25)}.brief-input{font-family:"Inter",system-ui,sans-serif}.brief-input,.brief-textarea{width:100%;background:rgba(236,229,211,.03);border:1px solid rgba(236,229,211,.1);border-radius:10px;padding:14px 16px;color:#ece5d3;font-size:14px;outline:0;transition:border-color .3s ease,background .3s ease}.brief-input::placeholder,.brief-textarea::placeholder{color:rgba(201,184,154,.45)}.brief-input:focus,.brief-textarea:focus{border-color:rgba(201,184,154,.55);background:rgba(236,229,211,.06)}.brief-textarea{min-height:120px;resize:vertical;line-height:1.55;font-family:"Inter",system-ui,sans-serif}.brief-coords{display:grid;grid-template-columns:1fr 1fr;gap:12px}.brief-foot{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-top:1px dashed rgba(236,229,211,.14);background:rgba(236,229,211,.015);flex-wrap:wrap;gap:16px}.brief-foot-meta{font-family:"Pixelify Sans",monospace;font-size:10px;letter-spacing:.28em;color:#a89e89;text-transform:uppercase;line-height:1.6}.brief-foot-meta strong,.brief-submit{color:#ece5d3;font-weight:700}.brief-submit{display:inline-flex;align-items:center;gap:14px;padding:16px 28px;border-radius:999px;background:#ece5d3;color:#1a1510;border:0;cursor:pointer;font-family:"Pixelify Sans",monospace;font-size:11px;letter-spacing:.28em;text-transform:uppercase;transition:transform .4s cubic-bezier(.22,1,.36,1),background .3s ease,box-shadow .3s ease;box-shadow:0 4px 20px rgba(0,0,0,.2)}.brief-submit:hover{transform:translateY(-2px);background:#fff;box-shadow:0 8px 32px rgba(201,184,154,.3)}.brief-submit .a{transition:transform .3s ease}.brief-submit:hover .a{transform:translateX(6px)}@media (max-width:700px){.brief-head{padding:16px 20px;font-size:10px;gap:12px;flex-wrap:wrap}.brief-body{padding:28px 20px;gap:28px}.brief-row{grid-template-columns:1fr;gap:12px}.brief-row-label{padding-top:0}.brief-coords{grid-template-columns:1fr}.brief-foot{padding:20px;flex-direction:column;align-items:stretch}.brief-submit{justify-content:center}}.contact-coords{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:32px 0;border-top:1px solid rgba(236,229,211,.1)}.coord-item .label{font-family:"Pixelify Sans",monospace;font-size:10px;letter-spacing:.3em;color:#a89e89;text-transform:uppercase;margin-bottom:10px}.coord-item .value{font-size:16px;color:#ece5d3;font-weight:400}.coord-item .value a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(236,229,211,.25);padding-bottom:2px;transition:border-color .3s ease,color .3s ease}.coord-item .value a:hover{color:#c9b89a;border-bottom-color:#c9b89a}@media (max-width:900px){.contact{padding:100px 6vw 60px}.contact-header{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.letter{padding:48px 26px 40px}.letter::before{width:44px;height:44px;font-size:18px;top:20px;right:20px}.letter-postmark{left:26px;top:24px;font-size:9px}.letter-greeting{font-size:clamp(22px,5.5vw,30px)}.letter-body{font-size:clamp(16px,4.2vw,20px);line-height:2}.letter-input,.letter-input.long,.letter-input.short{min-width:130px;max-width:none}.letter-signature{flex-direction:column;align-items:flex-start}.contact-coords{grid-template-columns:1fr;gap:18px;padding:24px 0}}.section-divider{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;padding:32px 6vw;background:#2a231c;z-index:5}.section-divider .line{flex:1;max-width:240px;height:1px;background:linear-gradient(90deg,transparent 0,rgba(201,184,154,.35) 50%,transparent 100%)}.section-divider .ornament{font-family:"Pixelify Sans",monospace;font-size:14px;color:#c9b89a;letter-spacing:.3em}.projects{position:relative;padding:60px 6vw 160px;background:radial-gradient(ellipse 50% 35%at 80% 60%,rgba(201,184,154,.1)0,transparent 70%),radial-gradient(ellipse 45% 30%at 15% 85%,rgba(140,110,80,.18)0,transparent 70%),linear-gradient(180deg,#2a231c 0,#2a231c 30%,#221c15 75%,#1a1510 100%);overflow:hidden}.projects .orb{position:absolute;border-radius:50%;pointer-events:none;animation:float 14s ease-in-out infinite;filter:blur(50px)}.projects .orb.p1{width:420px;height:420px;top:30%;right:-120px;background:radial-gradient(circle,rgba(201,184,154,.15)0,transparent 70%)}.projects .orb.p2{width:360px;height:360px;bottom:10%;left:-100px;animation-delay:-7s;background:radial-gradient(circle,rgba(140,110,80,.18)0,transparent 70%)}.projects-inner{position:relative;max-width:1280px;margin:0 auto}.projects-header{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:end;margin-bottom:80px}.projects-heading{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:clamp(40px,4.5vw,72px);line-height:1.05;color:#ece5d3;letter-spacing:-.025em}.projects-intro{font-size:15px;line-height:1.7;color:#c8bfa8;font-weight:300;max-width:480px}.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.project-card{position:relative;grid-column:span 6;aspect-ratio:4/3;border-radius:8px;overflow:hidden;cursor:pointer;background:#1a1510;isolation:isolate}.project-card.span-7{grid-column:span 7;aspect-ratio:16/10}.project-card.span-5{grid-column:span 5;aspect-ratio:4/3}.project-card.span-8{grid-column:span 8;aspect-ratio:16/9}.project-card.span-4{grid-column:span 4;aspect-ratio:3/4}.project-card.span-12{grid-column:span 12;aspect-ratio:16/6}.project-card .img{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#2a231c;transition:transform 1.2s cubic-bezier(.22,1,.36,1);z-index:0}.project-card .veil{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0,transparent 35%,rgba(13,10,7,.55) 75%,rgba(13,10,7,.85) 100%);z-index:1;pointer-events:none}.project-card:hover .img{transform:scale(1.06)}.project-card .info{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;color:#ece5d3;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-card:hover .info{transform:translateY(-4px)}.project-card .info-left{min-width:0}.project-card .num{font-family:"Pixelify Sans",monospace;font-size:11px;letter-spacing:.3em;color:#c9b89a;margin-bottom:8px;display:block}.project-card .title{font-family:"Inter",system-ui,sans-serif;font-size:clamp(20px,2vw,30px);font-weight:500;letter-spacing:-.015em;line-height:1.05;color:#fff;margin-bottom:6px;text-shadow:0 2px 16px rgba(0,0,0,.5)}.project-card .cat{font-family:"Pixelify Sans",monospace;font-size:10px;letter-spacing:.22em;color:#c9b89a;text-transform:uppercase}.project-card .arrow{font-size:22px;color:#ece5d3;flex-shrink:0;opacity:.6;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease;text-shadow:0 2px 12px rgba(0,0,0,.6)}.project-card:hover .arrow{opacity:1;transform:translate(8px,-8px)}.project-card .year-tag{position:absolute;top:18px;right:18px;z-index:2;font-family:"Pixelify Sans",monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#ece5d3;padding:6px 12px;border-radius:999px;background:rgba(20,15,10,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,240,210,.14)}.project-card.is-extra{max-height:0;opacity:0;margin-top:-24px;transition:max-height .7s cubic-bezier(.22,1,.36,1),opacity .5s ease,margin-top .5s ease;pointer-events:none}.projects-grid.expanded .project-card.is-extra{max-height:800px;opacity:1;margin-top:0;pointer-events:auto}.projects-grid.expanded .project-card.is-extra:nth-of-type(6){transition-delay:.05s}.projects-grid.expanded .project-card.is-extra:nth-of-type(7){transition-delay:.1s}.projects-grid.expanded .project-card.is-extra:nth-of-type(8){transition-delay:.15s}.projects-grid.expanded .project-card.is-extra:nth-of-type(9){transition-delay:.2s}.projects-grid.expanded .project-card.is-extra:nth-of-type(10){transition-delay:.25s}.project-list{list-style:none;border-top:1px solid rgba(236,229,211,.12);display:none}.project-row.is-extra{max-height:0;opacity:0;padding-top:0;padding-bottom:0;border-bottom-width:0;overflow:hidden;transition:max-height .7s cubic-bezier(.22,1,.36,1),opacity .5s ease,padding .5s cubic-bezier(.22,1,.36,1),border-bottom-width .4s ease}.project-list.expanded .project-row.is-extra{max-height:140px;opacity:1;padding-top:32px;padding-bottom:32px;border-bottom-width:1px}.project-list.expanded .project-row.is-extra:nth-child(6){transition-delay:.05s}.project-list.expanded .project-row.is-extra:nth-child(7){transition-delay:.1s}.project-list.expanded .project-row.is-extra:nth-child(8){transition-delay:.15s}.project-list.expanded .project-row.is-extra:nth-child(9){transition-delay:.2s}.project-list.expanded .project-row.is-extra:nth-child(10){transition-delay:.25s}.project-row{position:relative;display:grid;grid-template-columns:60px 1.6fr 1fr .6fr 40px;gap:24px;align-items:center;padding:32px 12px;border-bottom:1px solid rgba(236,229,211,.12);cursor:pointer;transition:padding .5s cubic-bezier(.22,1,.36,1)}.project-card::after,.project-row::before{content:"";position:absolute;pointer-events:none}.project-row::before{left:0;top:0;width:0;height:100%;background:linear-gradient(90deg,rgba(201,184,154,.08)0,transparent 100%);transition:width .6s cubic-bezier(.22,1,.36,1)}.project-row:hover::before{width:100%}.project-row:hover{padding-left:24px}.project-num{font-family:"Pixelify Sans",monospace;font-size:14px;color:#a89e89;letter-spacing:.2em}.project-title{font-family:"Inter",system-ui,sans-serif;font-size:clamp(22px,2.2vw,34px);font-weight:500;color:#ece5d3;letter-spacing:-.015em;line-height:1.1;transition:color .3s ease}.project-row:hover .project-title{color:#fff}.project-title em{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;color:#d8c8a8}.project-cat{font-family:"Pixelify Sans",monospace;font-size:11px;letter-spacing:.25em;color:#c9b89a;text-transform:uppercase}.project-year{font-size:13px;color:#a89e89;font-variant-numeric:tabular-nums;text-align:right}.project-arrow{font-size:20px;color:#ece5d3;text-align:right;opacity:.4;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease}.project-row:hover .project-arrow{transform:translateX(8px) rotate(-45deg);opacity:1}@media (hover:hover) and (pointer:fine){body,html{cursor:none}.bio-tags span,.nav a,.project-card,.projects-cta,.step-skills span,[onclick],a,button,input,label,select,textarea{cursor:none!important}}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;will-change:transform}.cursor-dot{width:6px;height:6px;border-radius:50%;background:#ece5d3;box-shadow:0 0 6px rgba(236,229,211,.85),0 0 14px rgba(201,184,154,.45);transition:opacity .25s ease}.cursor-ring{width:32px;height:32px;border-radius:50%;border:1.5px solid #c9b89a;background:0 0;box-shadow:0 0 10px rgba(201,184,154,.25);transition:width .45s cubic-bezier(.22,1,.36,1),height .45s cubic-bezier(.22,1,.36,1),border-radius .45s cubic-bezier(.22,1,.36,1),border-color .4s ease,background .4s ease,opacity .3s ease}.cursor-ring.is-locked{background:rgba(236,229,211,.06);border-color:rgba(236,229,211,.85)}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none!important}}.projects-grid{perspective:1400px}.project-card{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-card.is-tilting{transition:transform .08s linear}.project-card::after{inset:0;background:radial-gradient(circle 220px at var(--mx, -200px) var(--my, -200px),rgba(201,184,154,.22),transparent 55%);opacity:0;transition:opacity .35s ease;z-index:3;mix-blend-mode:screen}.preview-img.active,.preview.show,.project-card:hover::after{opacity:1}.preview,.preview-img{background-size:cover;background-position:center;opacity:0}.preview{position:fixed;top:0;left:0;width:280px;height:360px;border-radius:6px;overflow:hidden;pointer-events:none;transition:opacity .4s ease;will-change:transform;z-index:100;box-shadow:0 30px 80px rgba(0,0,0,.6);background-repeat:no-repeat}.preview-img{position:absolute;inset:0;transition:opacity .3s ease}.projects-footer{margin-top:60px;display:flex;justify-content:center}.projects-cta{display:inline-flex;align-items:center;gap:14px;padding:16px 28px;border-radius:999px;background:rgba(236,229,211,.06);border:1px solid rgba(236,229,211,.18);color:#ece5d3;text-decoration:none;font-family:"Pixelify Sans",monospace;font-size:12px;letter-spacing:.25em;text-transform:uppercase;transition:background .3s ease,border-color .3s ease,transform .3s ease}.projects-cta:hover{background:rgba(236,229,211,.12);border-color:rgba(236,229,211,.35);transform:translateY(-2px)}.projects-cta .arrow{transition:transform .3s ease}.projects-cta:hover .arrow{transform:translateX(4px)}@media (max-width:900px){.projects-header{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.projects{padding:60px 6vw 70px}.project-row{grid-template-columns:40px 1fr auto 28px;gap:16px;padding:24px 8px}.preview,.project-cat{display:none}.projects-grid{gap:16px}.project-card,.project-card.span-12,.project-card.span-4,.project-card.span-5,.project-card.span-7,.project-card.span-8{grid-column:span 12;aspect-ratio:4/3}}@media (max-width:1100px){.title-block .name{font-size:9vw}.title-block .sublabel{font-size:16px;letter-spacing:.22em}.description{max-width:280px;right:3vw;top:calc(50% - 4.5vw)}.description p{font-size:13.5px}.description p em{font-size:15px}}@media (max-width:900px){.top-bar{padding:0 18px;font-size:10px;letter-spacing:.18em;gap:10px}.top-bar .left,.top-bar .right{gap:12px}.top-bar .left span:nth-child(3),.top-bar .right span:nth-child(1){display:none}.description,.title-block{left:50%;text-align:center;z-index:4}.title-block{top:130px;transform:translateX(-50%);width:calc(100% - 32px);animation:hero-name-in-mobile 1s cubic-bezier(.22,1,.36,1) both}@keyframes hero-name-in-mobile{0%{opacity:0;transform:translateX(-50%) translateY(-12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.title-block .name{font-size:16vw;line-height:.85}.title-block .sublabel{font-size:12px;letter-spacing:.3em;text-align:center;margin-top:10px}.description{position:absolute;right:auto;top:auto;bottom:calc(48vh + 32px);width:calc(100% - 40px);max-width:460px;padding:14px 20px;border-left:none;background:rgba(20,15,10,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,240,210,.1);border-radius:14px;animation:desc-fade-mobile 1s cubic-bezier(.22,1,.36,1) .4s both}@keyframes desc-fade-mobile{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}.description .eyebrow{justify-content:center;margin-bottom:8px}.description p{font-size:13px;line-height:1.5}.description p em{font-size:14px}.description .signature{justify-content:center;margin-top:14px}.portrait{height:48vh;bottom:0;opacity:.95}.nav-links{gap:0}.nav a{padding:8px 10px;font-size:9px;letter-spacing:.18em}.nav .contact{padding:9px 16px;font-size:9px}}@media (max-width:640px){.top-bar{padding:0 14px}.top-bar .divider{display:none}.top-bar .left span:not(.logo),.top-bar .right span:not(.meta){display:none}.title-block{top:110px;padding:0 12px}.title-block .name{font-size:20vw}.title-block .sublabel{font-size:11px;margin-top:8px}.description{bottom:calc(45vh + 24px);width:calc(100% - 24px);padding:13px 18px}.description p{font-size:12.5px}.description .signature{font-size:10px;gap:8px}.portrait{height:45vh;bottom:0}.nav-links{display:none}.nav{gap:0;padding:4px}.nav .avatar{width:28px;height:28px}.nav .contact{padding:8px 14px}}