:root{--background:#0a0a0a;--foreground:#ededed;--muted:rgba(237,237,237,0.7);--subtle:rgba(237,237,237,0.12)}body{background:linear-gradient(270deg,black,#232323);font-size:15px;margin:0;color:var(--foreground)}main{width:min(1100px,92%);margin:0 auto}.ml{right:15%;position:absolute}.home{position:relative;min-height:100vh;background:url(/_next/static/media/bg.77f9129f.webp) no-repeat top;background-size:cover;max-width:1300px;margin:0 auto}.home:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);pointer-events:none}.home>*{position:relative;z-index:1}header{min-height:75px;display:flex;padding:0 16px}footer,header{background:#000;align-items:center}footer{text-align:center;min-height:175px;padding:24px 16px}h1,h2,h3,h4,h5{margin:16px 0}p{font-weight:300;color:var(--muted);line-height:1.6}ul{margin:12px;padding:0}li{font-size:.9em;margin:6px;color:var(--muted)}.home-top{padding:clamp(100px,18vh,240px) 16px;text-align:center}.home-top img{margin:24px auto;max-width:100%;height:auto}.home-top--personal{display:inline-block;transform:rotate(-5deg);color:#ffd978;font-weight:300;font-size:.9em}.intro-section{margin-top:clamp(60px,15vh,260px);display:grid;grid-template-columns:280px 1fr;grid-gap:120px;gap:120px;text-align:left}.intro-section img{width:100%;height:auto;grid-column:1;border-radius:8px}.intro-section>div{grid-column:2}.hello{display:inline-block;font-size:clamp(2rem,5vw,3rem);font-weight:500}.tech-section{padding:clamp(80px,12vh,180px) 0}.tech-section>div:first-child{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:24px;opacity:.9}.tech-section img{opacity:.85;transition:transform .2s ease,opacity .2s ease}.tech-section img:hover{transform:translateY(-2px);opacity:1}.tech-section--content{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:32px;gap:32px}@media(max-width:767px){main{width:100%;padding:0 28px}.intro-section img{grid-column:auto}.tech-section--content{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.home-top{padding:100px 24px}.intro-section{grid-template-columns:1fr;gap:24px}.intro-section img,.intro-section>div{grid-column:auto}.intro-section img{order:-1}}@media(min-width:768px)and (max-width:1023px){main{width:92%;padding:0 20px}.intro-section{grid-template-columns:1fr;gap:24px}}