:root{--bg-main: #fcfcfc;--bg-secondary: #f3f4f6;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #9ca3af;--brand-blue: #2563eb;--brand-blue-hover: #1d4ed8;--border-color: #e5e7eb;--font-heading: "Newsreader", serif;--font-body: "Inter", sans-serif;--container-width: 900px;--spacing: 80px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;color:var(--text-primary);line-height:1.2}a{color:var(--brand-blue);text-decoration:none;transition:color .2s ease,transform .2s ease}a:hover{color:var(--brand-blue-hover)}ul{list-style:none}.container{max-width:var(--container-width);margin:0 auto;padding:0 24px}.section{padding:var(--spacing) 0;border-top:1px solid var(--border-color)}.section-title{font-size:2rem;margin-bottom:2rem;letter-spacing:-.02em}.section-subtitle{font-size:1.125rem;color:var(--text-secondary);margin-top:-1.25rem;margin-bottom:2.5rem;max-width:600px}.header{padding:30px 0}.header-inner{display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--text-primary)}.nav{display:flex;gap:32px}.nav a{font-size:.95rem;color:var(--text-secondary);position:relative}.nav a:hover,.nav a.active{color:var(--text-primary)}.nav a:after{content:"";position:absolute;width:0%;height:1px;bottom:-4px;left:0;background-color:var(--text-primary);transition:width .3s ease}.nav a:hover:after,.nav a.active:after{width:100%}.btn{display:inline-block;padding:12px 24px;font-size:.95rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:var(--brand-blue);color:#fff;border:1px solid var(--brand-blue)}.btn-primary:hover{background-color:var(--brand-blue-hover);color:#fff;border-color:var(--brand-blue-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.btn-tertiary{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-tertiary:hover{color:var(--text-primary);border-color:var(--text-primary)}.hero{padding:100px 24px 120px;border-top:none}.hero-title{font-size:clamp(2.5rem,6vw,4rem);letter-spacing:-.03em;max-width:800px;margin-bottom:24px}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin-bottom:40px}.hero-subtitle strong{color:var(--text-primary);font-weight:500}.hero-links{display:flex;gap:16px;align-items:center}.work-grid{display:grid;grid-template-columns:1fr;gap:40px}.work-card{background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease}.work-card:hover{border-color:var(--text-muted);transform:translateY(-4px);box-shadow:0 10px 30px #00000008}.work-card-inner{padding:32px}.work-meta{display:flex;justify-content:space-between;font-size:.875rem;color:var(--text-secondary);margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding-bottom:12px}.work-title{font-size:1.5rem;margin-bottom:12px}.work-desc{color:var(--text-secondary);margin-bottom:24px}.work-tags{display:flex;gap:12px}.work-tags li{font-size:.85rem;color:var(--brand-blue);background:#2563eb14;padding:4px 10px;border-radius:4px}.skills-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}.skill-category h3{font-size:1.25rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.skill-list li{margin-bottom:1rem;color:var(--text-secondary);font-size:.95rem}.skill-list strong{color:var(--text-primary);font-weight:500}.timeline{border-left:2px solid var(--border-color);padding-left:32px;margin-left:16px}.timeline-item{position:relative;margin-bottom:40px}.timeline-item:last-child{margin-bottom:0}.timeline-item:before{content:"";position:absolute;left:-42px;top:4px;width:16px;height:16px;border-radius:50%;background-color:var(--brand-blue);border:4px solid var(--bg-main)}.timeline-period{font-family:var(--font-heading);font-size:.9rem;color:var(--text-secondary);margin-bottom:8px}.timeline-content h3{font-size:1.25rem;margin-bottom:8px}.timeline-content p{color:var(--text-secondary);font-size:.95rem}.footer{padding-bottom:60px}.footer-desc{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin-bottom:32px}.footer-links{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:32px;margin-bottom:32px}.footer-email{font-size:1.5rem;font-family:var(--font-heading);color:var(--text-primary)}.footer-email:hover{color:var(--brand-blue)}.footer-socials a{font-size:1rem;color:var(--text-secondary);margin-left:24px}.footer-socials a:hover{color:var(--brand-blue)}.footer-bottom{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-muted)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out}.reveal.active{opacity:1;transform:translateY(0)}.bg-elements{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;pointer-events:none}.circle{position:absolute;border-radius:50%;background-color:var(--brand-blue);opacity:.03;filter:none}.circle-1{width:400px;height:400px;top:-100px;right:-100px;animation:float 25s infinite alternate ease-in-out}.circle-2{width:300px;height:300px;bottom:10%;left:-50px;background-color:#6366f1;animation:float 20s infinite alternate-reverse ease-in-out}.circle-3{width:200px;height:200px;top:40%;right:15%;animation:float 30s infinite alternate ease-in-out}@keyframes float{0%{transform:translate(0)}to{transform:translate(40px,60px)}}@media(max-width:768px){:root{--spacing: 60px}.hero{padding:60px 24px 80px}.hero-title{font-size:2.75rem;margin-bottom:20px}.section{padding:60px 0}.section-title{font-size:1.75rem}.nav{display:none}.skills-layout{grid-template-columns:1fr;gap:32px}.work-card-inner{padding:24px}.contact-box{padding:30px 20px}.footer-links{flex-direction:column;align-items:flex-start;gap:24px}.footer-email{font-size:1.25rem}.footer-socials a{margin-left:0;margin-right:24px}.footer-bottom{flex-direction:column;gap:12px}}
