:root{--bg-black:#0a0a0a;--bg-charcoal:#141414;--bg-elevated:#1a1a1a;--text-white:#ededed;--text-gray:#888;--text-dim:#5a5a5a;--accent-red:#d72638;--line-dark:#333;--line-faint:#ffffff0f;--font-display:var(--font-syne), "Syne", "Helvetica Neue", sans-serif;--font-body:var(--font-inter), "Inter", "Helvetica Neue", sans-serif;--maxw:1440px;--pad-x:clamp(1.25rem, 5vw, 5rem);--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--bg-black);color:var(--text-white);font-family:var(--font-body);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;font-weight:400;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--accent-red);color:var(--text-white)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-black)}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--accent-red)}#particle-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.site-root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.site-main{flex:1 0 auto;width:100%}.container{width:100%;max-width:var(--maxw);padding-left:var(--pad-x);padding-right:var(--pad-x);margin:0 auto}.section{padding-top:clamp(5rem,12vh,9rem);padding-bottom:clamp(5rem,12vh,9rem);position:relative}.section--tight{padding-top:clamp(3rem,7vh,5rem);padding-bottom:clamp(3rem,7vh,5rem)}.eyebrow{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--accent-red);align-items:center;gap:.75rem;font-size:.72rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--accent-red);width:28px;height:1px;display:inline-block}.section-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-white);text-transform:uppercase;margin:1.25rem 0 0;font-size:clamp(2.2rem,6vw,4.5rem);font-weight:800;line-height:.98}.section-lede{max-width:60ch;color:var(--text-gray);margin-top:1.5rem;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.7}.section-head{margin-bottom:clamp(2.5rem,6vh,4.5rem)}.rule{background:var(--line-dark);border:0;height:1px;margin:0}.rule-faint{background:var(--line-faint);border:0;height:1px}.nav{z-index:100;-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--line-faint);transition:background .4s var(--ease), border-color .4s var(--ease);background:#0a0a0ab8;position:sticky;top:0}.nav.scrolled{border-bottom-color:var(--line-dark);background:#0a0a0ae6}.nav-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.nav-brand{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--text-white);align-items:baseline;gap:.5rem;font-size:1.1rem;font-weight:800;display:flex}.nav-brand .dot{background:var(--accent-red);border-radius:50%;align-self:center;width:7px;height:7px;display:inline-block}.nav-links{align-items:center;gap:2.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-link{letter-spacing:.18em;text-transform:uppercase;color:var(--text-gray);transition:color .3s var(--ease);padding:.5rem 0;font-size:.78rem;font-weight:500;position:relative}.nav-link:after{content:"";background:var(--accent-red);width:0;height:1px;transition:width .35s var(--ease);position:absolute;bottom:0;left:0}.nav-link:hover,.nav-link.active{color:var(--text-white)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-cta{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-white);border:1px solid var(--line-dark);transition:all .35s var(--ease);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-size:.74rem;font-weight:500;display:inline-flex}.nav-cta:hover{border-color:var(--accent-red);color:var(--accent-red)}.nav-cta svg{width:14px;height:14px}.lang-switch{align-items:center;display:inline-flex;position:relative}.lang-btn{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text-gray);border:1px solid var(--line-dark);cursor:pointer;transition:all .35s var(--ease);background:0 0;align-items:center;gap:.45rem;padding:.55rem .8rem;font-size:.72rem;font-weight:500;display:inline-flex}.lang-btn:hover{border-color:var(--accent-red);color:var(--text-white)}.lang-btn .globe{width:14px;height:14px}.lang-btn .cur{color:var(--accent-red);font-weight:600}.lang-menu{background:var(--bg-charcoal);border:1px solid var(--line-dark);z-index:110;opacity:0;visibility:hidden;min-width:150px;transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px)}.lang-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.lang-menu li{border-bottom:1px solid var(--line-faint)}.lang-menu li:last-child{border-bottom:0}.lang-menu button{width:100%;color:var(--text-gray);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;transition:all .25s var(--ease);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;font-size:.8rem;display:flex}.lang-menu button:hover{background:var(--bg-elevated);color:var(--text-white)}.lang-menu button.active{color:var(--accent-red)}.lang-menu button .code{letter-spacing:.14em;font-size:.7rem;font-weight:700}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:8px;display:none}.nav-toggle span{background:var(--text-white);width:24px;height:1.5px;transition:all .3s var(--ease)}.nav-toggle.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.hero{align-items:flex-end;min-height:100vh;padding-bottom:clamp(3rem,8vh,6rem);display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;opacity:.5;filter:grayscale(.2)contrast(1.08)brightness(.9);width:100%;height:100%}.hero-bg:after{content:"";background:linear-gradient(180deg, #0a0a0a80 0%, #0a0a0a38 38%, #0a0a0ab3 72%, var(--bg-black) 100%), radial-gradient(ellipse at 72% 28%, transparent 0%, #0a0a0a6b 78%);position:absolute;inset:0}.hero-content{z-index:2;width:100%;position:relative}.hero-meta{letter-spacing:.28em;text-transform:uppercase;color:var(--text-gray);align-items:center;gap:1rem;margin-bottom:1.75rem;font-size:.72rem;display:flex}.hero-meta .pulse{background:var(--accent-red);border-radius:50%;width:8px;height:8px;animation:2.4s infinite pulse;box-shadow:0 0 #d7263899}@keyframes pulse{0%{box-shadow:0 0 #d726388c}70%{box-shadow:0 0 0 12px #d7263800}to{box-shadow:0 0 #d7263800}}.hero-title{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--text-white);margin:0;font-size:clamp(3rem,13vw,11rem);font-weight:800;line-height:.86}.hero-title .stroke{-webkit-text-stroke:1.5px var(--text-white);color:#0000}.hero-title .accent{color:var(--accent-red)}.hero-sub{max-width:46ch;color:var(--text-gray);margin-top:1.75rem;font-size:clamp(.95rem,1.5vw,1.15rem);line-height:1.65}.hero-roles{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:2.5rem;display:flex}.hero-role{letter-spacing:.22em;text-transform:uppercase;color:var(--text-white);font-size:.74rem;font-weight:500}.hero-role+.hero-role:before{content:"/";color:var(--accent-red);margin-right:1.5rem}.hero-scroll{z-index:3;letter-spacing:.3em;text-transform:uppercase;color:var(--text-gray);flex-direction:column;align-items:center;gap:.5rem;font-size:.62rem;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.hero-scroll .line{background:linear-gradient(to bottom, transparent, var(--text-gray));width:1px;height:40px;animation:2s ease-in-out infinite scrollLine}@keyframes scrollLine{0%,to{transform-origin:top;transform:scaleY(.4)}50%{transform-origin:top;transform:scaleY(1)}}.marquee{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:var(--bg-charcoal);padding:1.1rem 0;overflow:hidden}.marquee-track{white-space:nowrap;gap:3rem;width:max-content;animation:38s linear infinite marquee;display:flex}.marquee-item{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--text-gray);align-items:center;gap:3rem;font-size:1.1rem;font-weight:700;display:inline-flex}.marquee-item:after{content:"✦";color:var(--accent-red);font-size:.8rem}@keyframes marquee{to{transform:translate(-50%)}}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.about-lead{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text-white);font-size:clamp(1.4rem,3vw,2.1rem);font-weight:700;line-height:1.25}.about-lead em{color:var(--accent-red);font-style:normal}.about-body{color:var(--text-gray);font-size:1rem;line-height:1.8}.about-body p+p{margin-top:1.25rem}.portrait-wrap{flex-wrap:wrap;align-items:stretch;gap:clamp(1.25rem,3vw,2.5rem);margin-bottom:clamp(2.5rem,6vh,4rem);display:flex;position:relative}.portrait-frame{aspect-ratio:4/5;border:1px solid var(--line-dark);width:clamp(220px,30vw,320px);transition:border-color .45s var(--ease);flex-shrink:0;position:relative;overflow:hidden}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0a0a0aa6 100%);position:absolute;inset:0}.portrait-frame:hover{border-color:var(--accent-red)}.portrait-frame img{object-fit:cover;filter:grayscale(.4)contrast(1.05);width:100%;height:100%;transition:transform .7s var(--ease), filter .5s var(--ease)}.portrait-frame:hover img{filter:grayscale(0)contrast(1.05);transform:scale(1.04)}.portrait-frame .tick{border-color:var(--accent-red);opacity:.7;z-index:2;width:16px;height:16px;position:absolute}.portrait-frame .tick.tl{border-top:1px solid;border-left:1px solid;top:10px;left:10px}.portrait-frame .tick.br{border-bottom:1px solid;border-right:1px solid;bottom:10px;right:10px}.portrait-meta{flex-direction:column;flex:1;justify-content:flex-end;gap:.85rem;min-width:220px;padding-bottom:.5rem;display:flex}.portrait-meta .pname{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-white);font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:800;line-height:1}.portrait-meta .prole{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-red);align-items:center;gap:.6rem;font-size:.74rem;display:flex}.portrait-meta .prole:before{content:"";background:var(--accent-red);width:24px;height:1px}.portrait-meta .pbio{color:var(--text-gray);max-width:42ch;margin-top:.25rem;font-size:.92rem;line-height:1.7}.stats-grid{background:var(--line-dark);border:1px solid var(--line-dark);grid-template-columns:repeat(5,1fr);gap:1px;margin-top:clamp(3rem,7vh,5rem);display:grid}.stat{background:var(--bg-charcoal);transition:background .4s var(--ease);flex-direction:column;gap:.75rem;padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2vw,1.75rem);display:flex}.stat:hover{background:var(--bg-elevated)}.stat-num{font-family:var(--font-display);color:var(--text-white);font-size:clamp(2rem,4.5vw,3.4rem);font-weight:800;line-height:1}.stat-line{background:var(--accent-red);width:36px;height:1px}.stat-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-gray);font-size:.66rem;line-height:1.5}.competencies{background:var(--line-dark);border:1px solid var(--line-dark);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(2.5rem,6vh,4rem);display:grid}.comp{background:var(--bg-charcoal);transition:background .4s var(--ease);flex-direction:column;gap:.85rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex;position:relative}.comp:hover{background:var(--bg-elevated)}.comp:before{content:"";background:var(--accent-red);width:0;height:2px;transition:width .5s var(--ease);position:absolute;top:0;left:0}.comp:hover:before{width:100%}.comp-head{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-red);font-size:.85rem;font-weight:700}.comp-list{color:var(--text-white);letter-spacing:.04em;font-size:.82rem;font-weight:500;line-height:1.6}.comp-desc{color:var(--text-gray);border-top:1px solid var(--line-faint);margin-top:auto;padding-top:.5rem;font-size:.85rem;line-height:1.65}.timeline{margin-top:1rem;position:relative}.timeline:before{content:"";background:var(--line-dark);width:1px;position:absolute;top:0;bottom:0;left:0}.timeline-item{border-bottom:1px solid var(--line-faint);padding:clamp(1.5rem,3.5vh,2.5rem) 0 clamp(1.5rem,3.5vh,2.5rem) clamp(1.75rem,4vw,3rem);position:relative}.timeline-item:last-child{border-bottom:0}.timeline-item:before{content:"";background:var(--bg-black);border:1px solid var(--accent-red);width:9px;height:9px;transition:all .4s var(--ease);border-radius:50%;position:absolute;top:clamp(2rem,4vh,2.75rem);left:-4px}.timeline-item:hover:before{background:var(--accent-red);box-shadow:0 0 0 5px #d7263826}.timeline-item.featured:before{background:var(--accent-red)}.timeline-row{grid-template-columns:180px 1fr;align-items:start;gap:clamp(1rem,4vw,3rem);display:grid}.timeline-date{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-red);padding-top:.2rem;font-size:.72rem;font-weight:500}.timeline-role{font-family:var(--font-display);color:var(--text-white);margin:0 0 .25rem;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;line-height:1.2}.timeline-company{letter-spacing:.05em;color:var(--text-gray);margin-bottom:.85rem;font-size:.82rem}.timeline-desc{color:var(--text-gray);max-width:62ch;font-size:.92rem;line-height:1.7}.timeline-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-red);border:1px solid var(--accent-red);margin-top:.85rem;padding:.3rem .7rem;font-size:.64rem;display:inline-block}.project-block{margin-top:clamp(4rem,10vh,7rem)}.project-block:first-child{margin-top:0}.project-head{border-bottom:1px solid var(--line-dark);grid-template-columns:auto 1fr auto;align-items:end;gap:clamp(1rem,3vw,2.5rem);margin-bottom:clamp(1.75rem,4vh,2.75rem);padding-bottom:1.5rem;display:grid}.project-index{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px var(--text-dim);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:.9}.project-title-wrap{flex-direction:column;gap:.4rem;display:flex}.project-subtitle{letter-spacing:.22em;text-transform:uppercase;color:var(--accent-red);font-size:.72rem}.project-title{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-white);margin:0;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;line-height:1}.project-count{letter-spacing:.18em;text-transform:uppercase;color:var(--text-gray);white-space:nowrap;font-size:.72rem}.project-desc{max-width:70ch;color:var(--text-gray);margin-bottom:clamp(1.75rem,4vh,2.75rem);font-size:.95rem;line-height:1.7}.gallery{grid-template-columns:repeat(12,1fr);gap:clamp(.5rem,1.2vw,1rem);display:grid}.gallery-item{grid-column:span 12;position:relative}.gallery-item .img-container{background:var(--bg-charcoal);width:100%;height:100%;transition:border-color .45s var(--ease);cursor:pointer;border:1px solid #0000;position:relative;overflow:hidden}.gallery-item .img-container img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease), filter .5s var(--ease);filter:brightness(.92)saturate(.95)}.gallery-item .img-container:after{content:"";opacity:0;transition:opacity .45s var(--ease);pointer-events:none;background:linear-gradient(#0000 45%,#0a0a0a8c 75%,#0a0a0aeb 100%);position:absolute;inset:0}.gallery-item .img-container:hover{border-color:var(--accent-red)}.gallery-item .img-container:hover img{filter:brightness()saturate(1.05);transform:scale(1.05)}.gallery-item .img-container:hover:after{opacity:1}.gallery-caption{z-index:2;opacity:0;transition:transform .5s var(--ease), opacity .45s var(--ease);pointer-events:none;padding:clamp(1rem,2vw,1.5rem);position:absolute;bottom:0;left:0;right:0;transform:translateY(12px)}.gallery-item .img-container:hover .gallery-caption{opacity:1;transform:translateY(0)}.gallery-caption .cat{letter-spacing:.24em;text-transform:uppercase;color:var(--accent-red);margin-bottom:.35rem;font-size:.62rem;display:block}.gallery-caption .name{font-family:var(--font-display);color:var(--text-white);font-size:clamp(.95rem,1.6vw,1.2rem);font-weight:700;line-height:1.2}.gallery-item .img-container .tick{border-color:var(--accent-red);opacity:0;width:14px;height:14px;transition:opacity .4s var(--ease);z-index:2;position:absolute}.gallery-item .img-container .tick.tl{border-top:1px solid;border-left:1px solid;top:10px;left:10px}.gallery-item .img-container .tick.tr{border-top:1px solid;border-right:1px solid;top:10px;right:10px}.gallery-item .img-container .tick.bl{border-bottom:1px solid;border-left:1px solid;bottom:10px;left:10px}.gallery-item .img-container .tick.br{border-bottom:1px solid;border-right:1px solid;bottom:10px;right:10px}.gallery-item .img-container:hover .tick{opacity:1}.quote-band{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);padding:clamp(5rem,12vh,9rem) 0;position:relative;overflow:hidden}.quote-band-bg{z-index:0;position:absolute;inset:0}.quote-band-bg img{object-fit:cover;opacity:.12;filter:grayscale();width:100%;height:100%}.quote-band-bg:after{content:"";background:linear-gradient(90deg, var(--bg-black) 0%, #0a0a0ab3 100%);position:absolute;inset:0}.quote-content{z-index:2;max-width:900px;position:relative}.quote-mark{font-family:var(--font-display);color:var(--accent-red);margin-bottom:1rem;font-size:4rem;font-weight:800;line-height:.6}.quote-text{font-family:var(--font-display);color:var(--text-white);letter-spacing:-.005em;font-size:clamp(1.5rem,3.5vw,2.6rem);font-weight:700;line-height:1.25}.quote-author{letter-spacing:.22em;text-transform:uppercase;color:var(--text-gray);margin-top:1.75rem;font-size:.74rem}.edu-grid{background:var(--line-dark);border:1px solid var(--line-dark);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.edu-card{background:var(--bg-charcoal);transition:background .4s var(--ease);flex-direction:column;gap:.85rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.edu-card:hover{background:var(--bg-elevated)}.edu-period{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-red);font-size:.72rem}.edu-degree{font-family:var(--font-display);color:var(--text-white);font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:700;line-height:1.2}.edu-school{color:var(--text-gray);font-size:.88rem}.edu-rank{color:var(--text-white);border-top:1px solid var(--line-faint);margin-top:auto;padding-top:1rem;font-size:.78rem}.edu-rank strong{color:var(--accent-red);font-weight:600}.cert-list{background:var(--line-dark);border:1px solid var(--line-dark);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(2rem,5vh,3rem);display:grid}.cert{background:var(--bg-charcoal);transition:background .4s var(--ease);align-items:flex-start;gap:1rem;padding:clamp(1.25rem,2.5vw,1.75rem);display:flex}.cert:hover{background:var(--bg-elevated)}.cert-icon{border:1px solid var(--accent-red);width:34px;height:34px;color:var(--accent-red);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cert-icon svg{width:16px;height:16px}.cert-text{color:var(--text-gray);font-size:.85rem;line-height:1.5}.cert-text strong{color:var(--text-white);margin-bottom:.2rem;font-weight:600;display:block}.skills-block{margin-top:clamp(3rem,7vh,5rem)}.skills-grid{grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,4vw,3rem) clamp(2rem,5vw,4rem);display:grid}.skill-group+.skill-group{margin-top:0}.skill-group-head{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-red);border-bottom:1px solid var(--line-dark);margin-bottom:1.25rem;padding-bottom:.75rem;font-size:.82rem;font-weight:700}.skill-row{border-bottom:1px solid var(--line-faint);grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.6rem 0;display:grid}.skill-row:last-child{border-bottom:0}.skill-name{color:var(--text-white);letter-spacing:.02em;font-size:.88rem}.skill-level{letter-spacing:.18em;text-transform:uppercase;color:var(--text-gray);align-items:center;gap:.6rem;font-size:.66rem;display:flex}.skill-bar{background:var(--line-dark);width:70px;height:2px;position:relative;overflow:hidden}.skill-bar span{background:var(--accent-red);transform-origin:0;height:100%;transition:transform 1.1s var(--ease);position:absolute;top:0;left:0;transform:scaleX(0)}.skill-row.visible .skill-bar span{transform:scaleX(var(--lvl,1))}.langs{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.lang-chip{border:1px solid var(--line-dark);color:var(--text-gray);transition:all .35s var(--ease);align-items:center;gap:.6rem;padding:.55rem 1rem;font-size:.78rem;display:inline-flex}.lang-chip:hover{border-color:var(--accent-red);color:var(--text-white)}.lang-chip .lvl{color:var(--accent-red);letter-spacing:.14em;font-size:.66rem}.contact{border-top:1px solid var(--line-dark);padding-top:clamp(5rem,12vh,9rem);padding-bottom:clamp(4rem,10vh,7rem)}.contact-headline{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--text-white);margin:0;font-size:clamp(2.5rem,9vw,7rem);font-weight:800;line-height:.92}.contact-headline .accent{color:var(--accent-red)}.contact-headline .stroke{-webkit-text-stroke:1.5px var(--text-white);color:#0000}.contact-sub{max-width:50ch;color:var(--text-gray);margin-top:2rem;font-size:1.05rem;line-height:1.7}.contact-grid{background:var(--line-dark);border:1px solid var(--line-dark);grid-template-columns:repeat(2,1fr);gap:1px;margin-top:clamp(3rem,7vh,5rem);display:grid}.contact-card{background:var(--bg-charcoal);transition:background .4s var(--ease);flex-direction:column;gap:.6rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex;position:relative;overflow:hidden}.contact-card:hover{background:var(--bg-elevated)}.contact-card .label{letter-spacing:.22em;text-transform:uppercase;color:var(--text-gray);font-size:.68rem}.contact-card .value{font-family:var(--font-display);color:var(--text-white);word-break:break-word;transition:color .35s var(--ease);font-size:clamp(1.05rem,2vw,1.4rem);font-weight:700}.contact-card:hover .value{color:var(--accent-red)}.contact-card .arrow{color:var(--text-dim);transition:all .35s var(--ease);position:absolute;top:clamp(1.5rem,3vw,2.5rem);right:clamp(1.5rem,3vw,2.5rem)}.contact-card:hover .arrow{color:var(--accent-red);transform:translate(3px,-3px)}.footer{border-top:1px solid var(--line-dark);background:var(--bg-black);flex-shrink:0;padding:clamp(2.5rem,5vh,3.5rem) 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer-brand{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--text-white);font-size:1rem;font-weight:800}.footer-meta{letter-spacing:.06em;color:var(--text-gray);font-size:.74rem}.footer-back{letter-spacing:.2em;text-transform:uppercase;color:var(--text-gray);transition:color .3s var(--ease);cursor:pointer;align-items:center;gap:.5rem;font-size:.72rem;display:inline-flex}.footer-back:hover{color:var(--accent-red)}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);will-change:opacity, transform;transform:translateY(34px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translate(-34px)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:scale(.96)}.reveal-scale.visible{opacity:1;transform:scale(1)}.lightbox{z-index:200;opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s var(--ease);background:#050505f5;justify-content:center;align-items:center;padding:clamp(1rem,4vw,3rem);display:flex;position:fixed;inset:0}.lightbox.open{opacity:1;visibility:visible}.lightbox-inner{width:100%;max-width:1300px;max-height:88vh;transition:transform .4s var(--ease);position:relative;transform:scale(.97)}.lightbox.open .lightbox-inner{transform:scale(1)}.lightbox-img{object-fit:contain;border:1px solid var(--line-dark);width:100%;max-height:80vh}.lightbox-caption{letter-spacing:.06em;color:var(--text-gray);margin-top:1rem;font-size:.82rem}.lightbox-caption .cat{color:var(--accent-red);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.3rem;font-size:.66rem;display:block}.lightbox-close{border:1px solid var(--line-dark);color:var(--text-white);cursor:pointer;width:42px;height:42px;transition:all .3s var(--ease);background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;top:-2.75rem;right:0}.lightbox-close:hover{border-color:var(--accent-red);color:var(--accent-red)}.lightbox-nav{border:1px solid var(--line-dark);color:var(--text-white);cursor:pointer;width:48px;height:48px;transition:all .3s var(--ease);background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{border-color:var(--accent-red);color:var(--accent-red)}.lightbox-nav.prev{left:-1rem}.lightbox-nav.next{right:-1rem}body.lb-lock{overflow:hidden}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}.competencies{grid-template-columns:repeat(2,1fr)}.portrait-wrap{gap:1.5rem}.edu-grid,.cert-list,.contact-grid,.skills-grid,.about-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr;gap:.5rem}.timeline-date{padding-top:0}}@media (max-width:768px){.nav-links,.nav-cta,.lang-switch{display:none}.nav-toggle{display:flex}.mobile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:90;padding:2rem var(--pad-x);transition:transform .5s var(--ease);background:#0a0a0afa;flex-direction:column;gap:.5rem;display:flex;position:fixed;inset:72px 0 0;transform:translate(100%)}.mobile-menu.open{transform:translate(0)}.mobile-menu a{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--text-white);border-bottom:1px solid var(--line-faint);padding:.85rem 0;font-size:1.6rem;font-weight:700}.mobile-menu a:hover{color:var(--accent-red)}.mobile-menu .nav-cta{align-self:flex-start;margin-top:1.5rem;display:inline-flex}.mobile-lang-row{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.mobile-lang-row button{border:1px solid var(--line-dark);color:var(--text-gray);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .3s var(--ease);background:0 0;padding:.6rem 1rem;font-size:.78rem}.mobile-lang-row button:hover,.mobile-lang-row button.active{border-color:var(--accent-red);color:var(--text-white)}.mobile-lang-row button.active{color:var(--accent-red)}.stats-grid{grid-template-columns:repeat(2,1fr)}.competencies{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr);gap:.5rem}.gallery-item{aspect-ratio:16/10!important;grid-column:span 2!important}.project-head{grid-template-columns:1fr;gap:1rem}.project-index{font-size:2.5rem}.hero-roles{gap:.5rem 1rem}.hero-role+.hero-role:before{margin-right:1rem}.lightbox-nav.prev{left:0}.lightbox-nav.next{right:0}}@media (max-width:480px){.stats-grid,.gallery{grid-template-columns:1fr}.gallery-item{grid-column:span 1!important}.footer-inner{flex-direction:column;align-items:flex-start;gap:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal-left,.reveal-scale{opacity:1;transform:none}}
