:root{--bg: #F8FAFC;--bg-1: #FFFFFF;--bg-2: #F1F5F9;--bg-3: #E8EDF5;--surface: rgba(255, 255, 255, 0.72);--border: rgba(0, 0, 0, 0.07);--border-hi: rgba(0, 0, 0, 0.15);--border-glass: rgba(255, 255, 255, 0.6);--text: #1A2030;--text-dim: #4A5568;--text-muted: #94A3B8;--accent: #C5A059;--accent-dark: #A07830;--accent-2: #60A5FA;--accent-3: #94A3B8;--font-display: 'Syne', sans-serif;--font-mono: 'DM Mono', monospace;--radius: 24px;--radius-sm: 12px;--radius-lg: 32px;--glass-bg: rgba(255, 255, 255, 0.65);--glass-blur: blur(16px);--glass-border: 1px solid rgba(255, 255, 255, 0.55);--glass-shadow: 0 4px 24px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.04);--shadow-card: 0 2px 12px rgba(0, 0, 0, 0.06), 0 8px 32px rgba(0, 0, 0, 0.05);--shadow-hover: 0 8px 40px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);--transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);--transition-fast: 0.2s ease;--max-width: 1400px;--gutter: clamp(1.5rem, 5vw, 4rem)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:clamp(13px, 1.1vw, 15px);font-weight:300;line-height:1.7;cursor:none;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:none;background:none;border:none;font:inherit;color:inherit}::selection{background:var(--accent);color:#fff}.cursor{position:fixed;width:8px;height:8px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%, -50%);transition:width 0.2s, height 0.2s, background 0.2s;mix-blend-mode:multiply}.cursor-follower{position:fixed;width:36px;height:36px;border:1.5px solid var(--accent);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%, -50%);transition:0.12s ease;opacity:0.4}body:has(a:hover) .cursor,body:has(button:hover) .cursor{width:16px;height:16px}.grid-overlay{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle, rgba(0,0,0,0.12) 1px, transparent 1px);background-size:28px 28px;background-position:0 0;opacity:0.55}.display-xl{font-family:var(--font-display);font-size:clamp(4rem, 12vw, 14rem);font-weight:800;line-height:0.9;letter-spacing:-0.03em}.display-lg{font-family:var(--font-display);font-size:clamp(2.5rem, 6vw, 7rem);font-weight:700;line-height:0.95;letter-spacing:-0.02em}.section-wrapper{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}.section-header{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);margin-bottom:3rem;display:flex;align-items:baseline;gap:2rem;border-bottom:1px solid var(--border);padding-bottom:1.5rem}.section-label{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.7rem;color:var(--text-muted);letter-spacing:0.12em;text-transform:uppercase;flex-shrink:0}.label-index{color:var(--accent);font-weight:500}.label-slash{color:var(--text-muted)}.label-title{color:var(--text-muted)}.section-heading{font-family:var(--font-display);font-size:clamp(1.4rem, 3vw, 2.5rem);font-weight:700;letter-spacing:-0.02em;color:var(--text)}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.2rem var(--gutter);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:var(--glass-border);box-shadow:var(--glass-shadow)}.nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:0.75rem;font-family:var(--font-mono);font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase}.logo-name{font-family:var(--font-display);font-weight:800;font-size:1.1rem;color:var(--accent);letter-spacing:0.04em}.logo-divider{color:var(--text-muted)}.logo-role{color:var(--text-muted);font-size:0.72rem}.nav-links{display:flex;align-items:center;gap:2.5rem}.nav-link{font-family:var(--font-mono);font-size:0.72rem;color:var(--text-dim);letter-spacing:0.1em;text-transform:uppercase;transition:color var(--transition-fast);position:relative}.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--accent);transition:width var(--transition-fast)}.nav-link:hover{color:var(--text)}.nav-link:hover::after{width:100%}.nav-cta{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1.2rem;border:1.5px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;transition:background var(--transition-fast),color var(--transition-fast)}.nav-cta:hover{background:var(--accent);color:#fff}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:8rem;overflow:hidden;background:var(--bg)}.hero::before{content:'';position:absolute;top:20%;left:50%;transform:translateX(-50%);width:70vw;height:50vh;background:radial-gradient(ellipse at center, rgba(197,160,89,0.08) 0%, transparent 70%);pointer-events:none;z-index:1}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0.18}.hero-inner{position:relative;z-index:2;max-width:var(--max-width);width:100%;margin:0 auto;padding:0 var(--gutter);box-sizing:border-box;overflow:hidden}.hero-label{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.72rem;color:var(--accent);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:1.5rem;animation:fadeUp 0.8s ease both}.label-bracket{color:var(--text-muted)}.hero-name{font-family:var(--font-display);font-weight:800;line-height:0.9;letter-spacing:-0.04em;text-transform:uppercase;margin-bottom:3rem;animation:fadeUp 0.8s 0.1s ease both;width:100%;overflow:hidden;font-family:"Syne",var(--font-display),sans-serif}.hero-name-first,.hero-name-last{display:block;font-family:'Syne', sans-serif;font-weight:800;font-size:clamp(2.2rem, 6vw, 8rem);white-space:nowrap;overflow:hidden;max-width:100%}@supports not (font-size: 1cqw){.hero-name-first,.hero-name-last{font-size:clamp(2rem, 6.2vw, 9.5rem)}}.hero-name-first{color:var(--text)}.hero-name-last{color:transparent;-webkit-text-stroke:1.5px var(--accent);opacity:0.65}.hero-descriptor{display:flex;align-items:flex-start;gap:1.5rem;max-width:520px;margin-bottom:3.5rem;animation:fadeUp 0.8s 0.2s ease both}.descriptor-bar{width:2px;min-height:60px;background:linear-gradient(to bottom, var(--accent), transparent);flex-shrink:0;margin-top:0.2rem}.descriptor-text{font-size:0.85rem;color:var(--text-dim);line-height:1.8}.hero-stats{display:flex;align-items:center;animation:fadeUp 0.8s 0.3s ease both}.stat-item{display:flex;flex-direction:column;padding:1.5rem 2.5rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-shadow)}.stat-item:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:1px solid var(--border)}.stat-item:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.stat-item:not(:first-child):not(:last-child){border-right:1px solid var(--border)}.stat-value{font-family:var(--font-display);font-size:clamp(1.8rem, 3vw, 3rem);font-weight:800;color:var(--accent);line-height:1;letter-spacing:-0.02em}.stat-label{font-size:0.65rem;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;margin-top:0.4rem}.stat-divider{display:none}.hero-scroll{position:absolute;bottom:3rem;right:var(--gutter);display:flex;flex-direction:column;align-items:center;gap:0.75rem;animation:fadeUp 0.8s 0.5s ease both}.scroll-label{font-size:0.6rem;color:var(--text-muted);letter-spacing:0.2em;text-transform:uppercase;writing-mode:vertical-lr}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom, var(--accent), transparent);animation:scrollPulse 2s ease infinite}@keyframes scrollPulse{0%, 100%{opacity:0.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(0.5);transform-origin:top}}.work{padding:clamp(6rem, 12vw, 12rem) 0;position:relative;z-index:2}.filter-bar{max-width:var(--max-width);margin:0 auto 3rem;padding:0 var(--gutter);display:flex;flex-wrap:wrap;gap:0.5rem}.filter-btn{padding:0.4rem 1.1rem;border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:0.65rem;color:var(--text-dim);letter-spacing:0.1em;text-transform:uppercase;background:transparent;transition:all var(--transition-fast)}.filter-btn:hover,.filter-btn.active{border-color:var(--accent);color:var(--accent-dark);background:rgba(197,160,89,0.08)}.projects-grid{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(12, 1fr);gap:1.5rem}.project-card{grid-column:span 6;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:transform var(--transition),box-shadow var(--transition)}.project-card--featured:nth-child(1){grid-column:span 8}.project-card--featured:nth-child(2){grid-column:span 4}.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.card-image-wrap{position:relative;overflow:hidden;aspect-ratio:16/10;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.project-card--featured:nth-child(1) .card-image-wrap{aspect-ratio:16/9}.card-image{width:100%;height:100%;object-fit:cover;transition:transform 0.8s cubic-bezier(0.16, 1, 0.3, 1),filter 0.5s ease;filter:saturate(0.6) brightness(0.95)}.project-card:hover .card-image{transform:scale(1.04);filter:saturate(0.85) brightness(0.88)}.card-overlay{position:absolute;inset:0;opacity:0;transition:opacity var(--transition);background:rgba(255,255,255,0.55);backdrop-filter:blur(2px)}.project-card:hover .card-overlay{opacity:1}.overlay-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(197,160,89,0.12) 0.5px, transparent 0.5px),linear-gradient(90deg, rgba(197,160,89,0.12) 0.5px, transparent 0.5px);background-size:30px 30px}.overlay-corner{position:absolute;width:20px;height:20px;border-color:var(--accent);border-style:solid}.overlay-corner--tl{top:16px;left:16px;border-width:1px 0 0 1px}.overlay-corner--tr{top:16px;right:16px;border-width:1px 1px 0 0}.overlay-corner--bl{bottom:16px;left:16px;border-width:0 0 1px 1px}.overlay-corner--br{bottom:16px;right:16px;border-width:0 1px 1px 0}.overlay-scan{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, var(--accent), transparent);top:0}.project-card:hover .overlay-scan{animation:scanLine 1.8s linear infinite}@keyframes scanLine{from{top:0%}to{top:100%}}.card-status{position:absolute;top:1rem;right:1rem;font-size:0.58rem;color:#fff;background:var(--accent);padding:0.25rem 0.7rem;border-radius:999px;letter-spacing:0.1em;text-transform:uppercase;z-index:2;font-family:var(--font-mono)}.card-index{position:absolute;bottom:1rem;left:1rem;font-family:var(--font-display);font-size:4rem;font-weight:800;color:rgba(0,0,0,0.04);line-height:1;z-index:0;transition:color var(--transition);pointer-events:none}.project-card:hover .card-index{color:rgba(197,160,89,0.08)}.card-body{padding:2rem;position:relative}.card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.75rem;font-size:0.65rem;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase}.card-year{color:var(--accent)}.card-title{font-family:var(--font-display);font-size:clamp(1.1rem, 2vw, 1.6rem);font-weight:700;letter-spacing:-0.02em;color:var(--text);margin-bottom:0.3rem;transition:color var(--transition-fast)}.project-card:hover .card-title{color:var(--accent-dark)}.card-subtitle{font-size:0.72rem;color:var(--text-dim);margin-bottom:1rem;line-height:1.5}.card-description{font-size:0.78rem;color:var(--text-dim);line-height:1.7;margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-metrics{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.metric{display:flex;flex-direction:column;gap:0.2rem}.metric-value{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--accent-2);letter-spacing:-0.02em}.metric-label{font-size:0.6rem;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase}.card-tags{display:flex;flex-wrap:wrap;gap:0.4rem}.card-tag{font-size:0.6rem;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:0.2rem 0.75rem;letter-spacing:0.08em;text-transform:uppercase;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.project-card:hover .card-tag{border-color:var(--accent);color:var(--accent-dark);background:rgba(197,160,89,0.07)}.project-card.hidden{display:none}.about{padding:clamp(6rem, 10vw, 12rem) 0;position:relative;z-index:2;background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.about-grid{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin-bottom:5rem}.bio-text{font-size:0.9rem;line-height:1.9;color:var(--text-dim);margin-bottom:2.5rem;max-width:55ch}.bio-contact{display:flex;flex-direction:column;gap:0}.contact-link{display:flex;align-items:center;justify-content:space-between;padding:0.9rem 0;border-bottom:1px solid var(--border);transition:color var(--transition-fast)}.contact-link:first-child{border-top:1px solid var(--border)}.contact-link:hover{color:var(--accent)}.contact-label{font-size:0.65rem;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;width:80px}.contact-value{font-size:0.8rem;color:var(--text-dim)}.about-skills{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-content:start}.skill-group-title{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.65rem;color:var(--accent);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.75rem;font-weight:500}.skill-icon{font-size:0.8rem}.skill-item{font-size:0.75rem;color:var(--text-dim);padding:0.25rem 0;border-bottom:1px solid var(--border);transition:color var(--transition-fast),padding-left var(--transition-fast)}.skill-item:hover{color:var(--text);padding-left:0.5rem}.experience{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}.experience-heading{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:2rem}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:grid;grid-template-columns:280px 1fr;gap:3rem;padding:2rem 0;border-bottom:1px solid var(--border);transition:background var(--transition-fast),padding-left var(--transition-fast)}.timeline-item:hover{background:rgba(197,160,89,0.04);padding-left:1rem;padding-right:1rem;margin:0 -1rem}.timeline-meta{display:flex;flex-direction:column;gap:0.3rem}.timeline-company{font-family:var(--font-display);font-size:0.9rem;font-weight:700;color:var(--text);letter-spacing:-0.01em}.timeline-period{font-size:0.65rem;color:var(--accent);letter-spacing:0.08em;font-family:var(--font-mono)}.timeline-location{font-size:0.65rem;color:var(--text-muted);letter-spacing:0.05em}.timeline-role{font-family:var(--font-mono);font-size:0.75rem;font-weight:500;color:var(--text-dim);letter-spacing:0.05em;margin-bottom:0.75rem}.timeline-highlights{display:flex;flex-direction:column;gap:0.4rem}.timeline-highlights li{font-size:0.78rem;color:var(--text-dim);line-height:1.6;padding-left:1rem;position:relative}.timeline-highlights li::before{content:'—';position:absolute;left:0;color:var(--accent)}.education{max-width:var(--max-width);margin:3rem auto 0;padding:2rem var(--gutter);border-top:1px solid var(--border)}.edu-item{display:flex;align-items:center;flex-wrap:wrap;gap:0.5rem;font-size:0.78rem}.edu-degree{color:var(--text);font-weight:500}.edu-sep{color:var(--text-muted)}.edu-institution{color:var(--text-dim)}.edu-period{margin-left:auto;color:var(--accent);font-size:0.65rem;letter-spacing:0.08em}.awards{padding:clamp(6rem, 10vw, 12rem) 0;position:relative;z-index:2;background:var(--bg)}.awards-list{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}.award-item{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:3rem;padding:2rem 0;border-bottom:1px solid var(--border);transition:all var(--transition-fast);cursor:default}.award-item:first-child{border-top:1px solid var(--border)}.award-item:hover{background:rgba(197,160,89,0.04);padding-left:1.5rem;padding-right:1.5rem;margin:0 -1.5rem}.award-year{font-family:var(--font-mono);font-size:0.65rem;color:var(--accent);letter-spacing:0.1em}.award-title{font-family:var(--font-display);font-size:clamp(1rem, 2vw, 1.5rem);font-weight:700;color:var(--text);letter-spacing:-0.01em}.award-detail{font-size:0.72rem;color:var(--text-dim);margin-top:0.25rem}.award-marker{font-size:1.2rem;color:var(--text-muted);transition:color var(--transition-fast),transform var(--transition-fast)}.award-item:hover .award-marker{color:var(--accent);transform:rotate(45deg)}.cta{padding:clamp(8rem, 15vw, 16rem) 0;text-align:center;position:relative;z-index:2;overflow:hidden;background:var(--bg-1);border-top:1px solid var(--border)}.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%, rgba(197,160,89,0.07) 0%, transparent 70%);pointer-events:none}.cta-inner{position:relative;max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}.cta-label{font-size:0.65rem;color:var(--accent);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:1.5rem}.cta-heading{font-family:var(--font-display);font-size:clamp(2.5rem, 7vw, 8rem);font-weight:800;line-height:0.95;letter-spacing:-0.04em;color:var(--text);margin-bottom:4rem}.cta-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.2rem 3rem;border:1.5px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-family:var(--font-mono);font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.cta-btn:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.site-footer{background:var(--bg-1);border-top:1px solid var(--border);padding:2rem var(--gutter)}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-name{font-family:var(--font-display);font-size:0.85rem;font-weight:700;color:var(--text);letter-spacing:-0.01em}.footer-meta{font-size:0.65rem;color:var(--text-dim);margin-top:0.2rem;letter-spacing:0.05em}.footer-copy{font-size:0.65rem;color:var(--text-muted);letter-spacing:0.05em}.footer-link{display:flex;align-items:center;gap:0.4rem;font-size:0.65rem;color:var(--text-dim);letter-spacing:0.1em;text-transform:uppercase;transition:color var(--transition-fast)}.footer-link:hover{color:var(--accent)}@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s cubic-bezier(0.16, 1, 0.3, 1)}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.project-card{grid-column:span 12 !important}.about-grid{grid-template-columns:1fr;gap:3rem}.timeline-item{grid-template-columns:1fr;gap:0.5rem}.timeline-meta{flex-direction:row;flex-wrap:wrap;gap:0.5rem 1.5rem}.award-item{grid-template-columns:60px 1fr auto;gap:1.5rem}}@media (max-width: 768px){body{cursor:auto}.cursor,.cursor-follower{display:none}button{cursor:pointer}a{cursor:pointer}.hero-stats{flex-wrap:wrap}.stat-item{flex:1;min-width:120px}.nav-links{gap:1.2rem}.logo-role{display:none}.about-skills{grid-template-columns:1fr}.award-item{grid-template-columns:1fr;gap:0.5rem}.award-marker{display:none}.footer-inner{flex-direction:column;align-items:flex-start;gap:1rem}.footer-center{order:3}}
