*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,a{-webkit-tap-highlight-color:transparent}:root{--background: #111312;--surface: #171a18;--surface-raised: #1d211f;--ink: #edf0eb;--muted: #a0a8a0;--line: #303732;--accent: #8fc8ad;--accent-strong: #b2e2ca}#root{width:100%}body{background:radial-gradient(circle at 82% 14%,rgba(72,112,91,.12),transparent 24rem),var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.nav-menu{position:sticky;top:0;z-index:10;background:#111312e6;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.nav-menu:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(143,200,173,.8),transparent);content:"";animation:nav-scan 7s ease-in-out infinite}.nav-container{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1120px;margin:0 auto;padding:1.1rem 2rem}.nav-brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);font-size:.86rem;font-weight:650;letter-spacing:-.02em;text-decoration:none;transition:color .18s ease}.nav-brand:hover{color:var(--accent-strong)}.nav-brand-mark{display:grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent-strong);font-size:.72rem;font-weight:750;transition:background .18s ease,transform .18s ease}.nav-brand:hover .nav-brand-mark{background:#8fc8ad1f;transform:rotate(12deg)}.nav-link{position:relative;color:var(--muted);font-size:.9rem;text-decoration:none;transition:color .18s ease,transform .18s ease}.nav-link:hover,.nav-link.active{color:var(--accent-strong)}.nav-link.active{font-weight:650}.nav-link:after{position:absolute;right:0;bottom:-.55rem;left:0;height:2px;background:var(--accent);content:"";transform:scaleX(0);transform-origin:right;transition:transform .22s ease}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.nav-link:hover{transform:translateY(-1px)}.intro-section{display:flex;align-items:center;min-height:min(720px,82vh);max-width:1120px;margin:0 auto;padding:5rem 2rem 7rem}.intro-text{max-width:780px;animation:hero-enter .8s cubic-bezier(.22,1,.36,1) both}.intro-eyebrow,.work-item-number{margin:0 0 1.25rem;color:var(--accent);font-size:.76rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.intro-eyebrow{animation:fade-up .65s 80ms both}.dynamic-text{max-width:760px;margin:0;color:var(--ink);font-size:clamp(3rem,7vw,6.4rem);font-weight:650;letter-spacing:-.07em;line-height:.98;animation:fade-up .7s .16s both}.intro-subtitle{max-width:560px;margin:2rem 0 0;color:var(--muted);font-size:1.15rem;line-height:1.7;animation:fade-up .7s .26s both}.intro-action{margin-top:2rem;padding:.85rem 1.15rem;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:#142019;font:inherit;font-size:.9rem;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease;animation:fade-up .7s .36s both}.intro-action:hover{background:var(--accent-strong);transform:translateY(-2px)}.about-me-container{max-width:1120px;margin:0 auto;padding:0 2rem 5rem}.section{margin-bottom:7rem;padding-top:3rem;border-top:1px solid var(--line);scroll-margin-top:80px;animation:section-enter .7s both}.section h2{margin:0 0 3rem;color:var(--ink);font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-.05em}.about-content{display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:start}.profile-image{width:100%;height:360px;overflow:hidden;border-radius:2px;background:var(--line);transition:transform .3s ease,border-color .3s ease;border:1px solid transparent}.profile-image:hover{transform:translateY(-5px);border-color:var(--accent)}.profile-image img{width:100%;height:100%;object-fit:cover}.about-text{max-width:680px}.about-text>p,.contact-content p,.subsection p,.work-item-description p{color:var(--muted);font-size:1rem;line-height:1.75}.skills-slider{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.skills-categories{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.5rem}.category-btn{padding:0;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--muted);font:inherit;font-size:.9rem;cursor:pointer}.category-btn:hover,.category-btn.active{border-bottom-color:var(--accent);color:var(--accent-strong)}.skills-display h3{margin:0 0 .8rem;font-size:1rem;font-weight:650;color:var(--accent-strong)}.skills-grid{display:flex;flex-wrap:wrap;gap:.5rem}.skill-item,.work-item-tag{padding:.45rem .7rem;border:1px solid var(--line);border-radius:3px;color:var(--muted);font-size:.82rem;transition:color .18s ease,border-color .18s ease,background .18s ease}.skill-item:hover,.work-item-tag:hover{border-color:var(--accent);background:#8fc8ad14;color:var(--accent-strong)}.subsection{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}.subsection h3,.favourite-books-section h4{margin:0 0 1.5rem;color:var(--ink);font-size:1.2rem;font-weight:650}.book-carousel-container{overflow-x:auto;scrollbar-width:thin}.book-carousel{display:flex;gap:1.5rem;min-width:max-content;padding-bottom:.75rem}.book-item{width:140px;transition:transform .26s ease}.book-item:hover{transform:translateY(-6px)}.book-cover{display:block;width:140px;height:205px;object-fit:cover;border-radius:2px;background:var(--line)}.book-title{margin:.75rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.4;white-space:normal}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}.work-item-card{min-height:100%;padding:2rem;background:var(--surface);transition:background .22s ease,transform .22s ease}.work-item-card:hover{background:var(--surface-raised);transform:translateY(-3px)}.work-item-content h3{max-width:420px;margin:0 0 1.25rem;color:var(--ink);font-size:1.35rem;font-weight:600;letter-spacing:-.03em;transition:color .18s ease}.work-item-card:hover .work-item-content h3{color:var(--accent-strong)}.work-item-description{margin-bottom:1.5rem}.work-item-description p{margin:0 0 1rem;font-size:.94rem}.work-item-description p:last-child{margin-bottom:0}.work-item-tags{display:flex;flex-wrap:wrap;gap:.45rem}.qualification-item{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1.5rem 0;border-top:1px solid var(--line)}.qualification-item h4{margin:0 0 .35rem;font-size:1.1rem;font-weight:600}.qualification-item p{margin:0 0 .5rem}.qualification-item .university-name{color:var(--muted)}.qualification-side-details{text-align:right}.qualification-side-details p{color:var(--muted);font-size:.9rem}.contact-content{max-width:560px}.contact-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem}.contact-links a{color:var(--accent);font-size:1rem;font-weight:650;text-decoration:underline;text-underline-offset:.25rem}.contact-links a:hover{color:var(--accent-strong)}@keyframes hero-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes section-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-scan{0%,to{opacity:0;transform:translate(-35%)}20%,80%{opacity:.8}50%{opacity:1;transform:translate(35%)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (max-width: 700px){.nav-container{justify-content:center;gap:1.25rem;padding:1rem}.nav-brand{display:none}.intro-section{min-height:620px;padding:4rem 1.25rem 5rem}.about-me-container{padding:0 1.25rem 3rem}.about-content,.qualification-item{grid-template-columns:1fr;gap:2rem}.profile-image{width:min(100%,280px);height:340px}.work-grid{grid-template-columns:1fr}.qualification-side-details{text-align:left}}
