@import"https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap";:root{--deep-walnut: #2F241C;--teak-brown: #8B6F47;--teak-hover: #7A5F3D;--teak-active: #5F472F;--warm-taupe: #AB947E;--soft-beige: #C4B5A4;--muted-clay: #C2A78F;--warm-gray: #6B6258;--divider: #D8CFC4;--surface: #FEF8F3;--surface-low: #F8F3EE;--surface-container: #F2EDE8;--surface-high: #ECE7E2;--surface-dim: #DED9D4;--on-surface: #1D1B19;--on-primary: #FFFFFF;--primary: #0B0F11;--gold-accent: #D4A853;--radius: .5rem;--radius-xl: 1rem;--radius-full: 9999px;--max-w: 1200px;--transition: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:Manrope,system-ui,sans-serif;background:var(--surface);color:var(--on-surface);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--teak-brown);color:var(--on-primary)}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}h1,h2,h3,h4{font-weight:300;line-height:1.15}h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.02em}h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.01em}h3{font-size:1.25rem;font-weight:600}.label{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--warm-gray)}.text-warm{color:var(--warm-gray)}.text-taupe{color:var(--warm-taupe)}.text-teak{color:var(--teak-brown)}.btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:.8125rem;font-weight:600;padding:14px 32px;border-radius:12px;border:2px solid transparent;cursor:pointer;transition:all var(--transition);text-decoration:none;letter-spacing:.02em}.btn-primary{background:var(--teak-brown);color:var(--on-primary);border-color:var(--teak-brown)}.btn-primary:hover{background:var(--teak-hover);border-color:var(--teak-hover);transform:translateY(-2px);box-shadow:0 8px 24px #8b6f474d}.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-outline:hover{background:var(--surface-high);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--warm-taupe);border-color:var(--warm-taupe);padding:8px 20px;font-size:.75rem;border-radius:var(--radius-full)}.btn-ghost:hover{border-color:var(--on-primary);color:var(--on-primary)}.btn-ghost.active{background:var(--teak-brown);color:var(--on-primary);border-color:var(--teak-brown)}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:#fef8f3d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--divider);transition:all var(--transition)}.navbar.scrolled{box-shadow:0 1px 12px #0000000f}.navbar-inner{display:flex;justify-content:space-between;align-items:center;height:72px}.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.nav-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--divider);transition:border-color var(--transition)}.nav-logo:hover .nav-avatar{border-color:var(--teak-brown)}.nav-logo-text{font-weight:700;font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:var(--primary)}.nav-links{display:flex;align-items:center;gap:32px;list-style:none}.nav-links a{font-size:.8125rem;font-weight:500;color:var(--warm-gray);text-decoration:none;transition:color var(--transition);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--teak-brown);transition:width var(--transition)}.nav-links a:hover,.nav-links a.active{color:var(--primary)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--primary)}.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fef8f3fa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:32px;z-index:99}.mobile-menu.open{display:flex}.mobile-menu a{font-size:1.5rem;font-weight:300;color:var(--primary);text-decoration:none}#hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:72px;overflow:hidden}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.6}#canvas-container canvas{width:100%!important;height:100%!important}.hero-content{position:relative;z-index:1;width:100%}.hero-split{display:flex;align-items:center;gap:64px}.hero-text{flex:1;min-width:0}.hero-text h1{max-width:100%;margin-bottom:20px;word-wrap:break-word;overflow-wrap:break-word}.hero-tagline{font-size:clamp(1rem,1.5vw,1.125rem);color:var(--warm-gray);max-width:600px;margin-bottom:32px}.hero-photo{flex-shrink:0}.hero-photo-frame{width:320px;height:400px;border-radius:200px 200px 24px 24px;overflow:hidden;position:relative;box-shadow:0 24px 64px #2f241c33,0 0 0 1px var(--divider)}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s cubic-bezier(.4,0,.2,1)}.hero-photo-frame:hover img{transform:scale(1.05)}.hero-metrics{display:flex;flex-wrap:wrap;gap:32px;margin-bottom:40px;padding:24px 0;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}.hero-metric{text-align:left}.hero-metric .value{font-size:1.75rem;font-weight:700;color:var(--teak-brown);display:block}.hero-metric .metric-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--warm-gray)}.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--warm-taupe);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;animation:float 2.5s ease-in-out infinite}@keyframes float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}#about{padding:120px 0;background:var(--surface-low)}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:start}.about-content p{font-size:1.0625rem;color:var(--warm-gray);margin-bottom:20px;max-width:640px}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}.stat-item{border-left:3px solid var(--teak-brown);padding-left:20px}.stat-item .stat-value{font-size:clamp(2rem,3.5vw,3rem);font-weight:300;color:var(--primary)}.stat-item .stat-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--warm-gray);margin-top:4px}.skills-section{margin-top:48px}.skills-category{margin-bottom:20px}.skills-category h4{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teak-brown);margin-bottom:10px}.skills-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{font-size:.75rem;font-weight:500;padding:6px 14px;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-full);color:var(--warm-gray);transition:all var(--transition)}.skill-tag:hover{border-color:var(--teak-brown);color:var(--teak-brown);transform:translateY(-1px)}#experience{padding:120px 0}.timeline{position:relative;padding-left:32px}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--divider)}.timeline-item{position:relative;padding-bottom:48px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-37px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--teak-brown)}.timeline-item h3{margin-bottom:4px}.timeline-meta{font-size:.8125rem;color:var(--warm-taupe);margin-bottom:12px}.timeline-item p{color:var(--warm-gray);font-size:.9375rem}#achievements{padding:120px 0;background:var(--surface-low)}.achievements-grid{display:grid;grid-template-columns:1fr 2fr;gap:64px}.achievements-sticky{position:sticky;top:120px;align-self:start}.achievement-list{display:flex;flex-direction:column}.achievement-item{display:flex;gap:24px;padding:32px 0;border-top:1px solid var(--divider);transition:all var(--transition)}.achievement-item:first-child{border-top:none;padding-top:0}.achievement-icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--teak-brown);font-size:1.5rem}.achievement-with-photo{flex-direction:column;gap:20px}.achievement-photo{width:100%;max-height:280px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 4px 24px #00000014}.achievement-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.4,0,.2,1)}.achievement-with-photo:hover .achievement-photo img{transform:scale(1.03)}.achievement-item h3{margin-bottom:6px;font-size:1.1rem}.achievement-item p{color:var(--warm-gray);font-size:.9375rem}.achievement-date{font-size:.75rem;color:var(--warm-taupe);margin-top:8px;font-weight:500}.achievement-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:var(--radius-full);margin-top:8px}.badge-winner{background:#d4a85326;color:var(--gold-accent)}.badge-finalist{background:#8b6f471f;color:var(--teak-brown)}.badge-speaker{background:#6b62581f;color:var(--warm-gray)}#projects{padding:120px 0;background:var(--deep-walnut);color:var(--on-primary)}.projects-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:40px;border-bottom:1px solid rgba(194,167,143,.25);margin-bottom:48px}.projects-header p{color:var(--warm-taupe);font-size:1.0625rem;margin-top:12px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.project-card{cursor:pointer;border-radius:var(--radius-xl);overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative}.project-card:hover{transform:translateY(-8px)}.project-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--teak-active),var(--teak-brown))}.project-thumb-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:200;color:#ffffff26;transition:transform .5s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-thumb-inner{transform:scale(1.05)}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#2f241c00 40%,#2f241ce6);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;transition:all var(--transition)}.project-card:hover .project-overlay{background:linear-gradient(180deg,#2f241c00 20%,#2f241cf2)}.project-domain{font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-accent);margin-bottom:8px}.project-card h3{font-size:1.1rem;font-weight:600;color:var(--on-primary);margin-bottom:4px}.project-desc{font-size:.8125rem;color:var(--warm-taupe);opacity:0;max-height:0;transition:all .4s ease;overflow:hidden}.project-card:hover .project-desc{opacity:1;max-height:60px;margin-top:8px}.project-cta{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--gold-accent);margin-top:12px;opacity:0;transform:translateY(8px);transition:all .4s ease}.project-card:hover .project-cta{opacity:1;transform:translateY(0)}.pdf-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;align-items:center;justify-content:center}.pdf-modal.open{display:flex}.pdf-modal-header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 32px;z-index:10}.pdf-modal-title{color:var(--on-primary);font-size:1rem;font-weight:600}.pdf-modal-close{width:44px;height:44px;border-radius:50%;border:none;background:#ffffff1a;color:var(--on-primary);font-size:1.25rem;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center}.pdf-modal-close:hover{background:#fff3}.pdf-viewer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:80px 60px}.pdf-viewer canvas{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 60px #00000080;border-radius:4px}.pdf-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:var(--on-primary);font-size:1.25rem;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center;z-index:10}.pdf-nav-btn:hover{background:#ffffff26;border-color:#fff6}.pdf-nav-btn.prev{left:24px}.pdf-nav-btn.next{right:24px}.pdf-page-info{position:absolute;bottom:24px;left:50%;transform:translate(-50%);color:#fff9;font-size:.8125rem;font-weight:500;background:#00000080;padding:8px 20px;border-radius:var(--radius-full)}#contact{padding:120px 0;text-align:center}#contact h2{margin-bottom:16px}#contact p{color:var(--warm-gray);max-width:560px;margin:0 auto 40px;font-size:1.0625rem}.contact-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-form{max-width:480px;margin:48px auto 0;text-align:left;display:flex;flex-direction:column;gap:16px}.form-group label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--divider);border-radius:var(--radius);font-family:inherit;font-size:.9375rem;background:var(--surface);transition:border-color var(--transition);resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--teak-brown)}.footer{background:var(--deep-walnut);padding:80px 0 40px;color:var(--on-primary)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(194,167,143,.2);margin-bottom:32px}.footer-brand p{color:var(--warm-taupe);font-size:.9375rem;margin-top:12px;max-width:360px}.footer h4{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}.footer ul{list-style:none;display:flex;flex-direction:column;gap:10px}.footer a{color:var(--warm-taupe);text-decoration:none;font-size:.9375rem;transition:color var(--transition)}.footer a:hover{color:var(--on-primary)}.footer-bottom{display:flex;justify-content:space-between;align-items:center}.footer-bottom span{font-size:.75rem;color:var(--muted-clay)}.reveal{opacity:0;transform:translateY(40px)}.reveal-left{opacity:0;transform:translate(-40px)}.reveal-right{opacity:0;transform:translate(40px)}.reveal-scale{opacity:0;transform:scale(.95)}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--deep-walnut);display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease}.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-text{font-size:1.5rem;font-weight:300;color:var(--on-primary);letter-spacing:.2em}.loader-bar{position:absolute;bottom:0;left:0;height:3px;background:var(--teak-brown);animation:load 1.5s ease-out forwards}@keyframes load{0%{width:0}to{width:100%}}@media(max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.achievements-grid{grid-template-columns:1fr;gap:40px}.achievements-sticky{position:static}.footer-grid{grid-template-columns:1fr 1fr}.hero-photo-frame{width:260px;height:340px}}@media(max-width:768px){.nav-links{display:none}.mobile-toggle{display:block}.projects-grid{grid-template-columns:1fr}.projects-header{flex-direction:column;align-items:flex-start}.hero-split{flex-direction:column-reverse;gap:40px;text-align:center}.hero-text h1{font-size:clamp(2rem,7vw,2.5rem)}.hero-tagline{margin-left:auto;margin-right:auto}.hero-metrics{justify-content:center;gap:20px}.hero-buttons{justify-content:center}.hero-photo-frame{width:200px;height:260px;margin:0 auto}.stats-row,.footer-grid{grid-template-columns:1fr}.pdf-nav-btn{width:40px;height:40px}.pdf-nav-btn.prev{left:8px}.pdf-nav-btn.next{right:8px}.pdf-viewer{padding:72px 16px}.achievement-photo{max-height:200px}}
