*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #08080f;--text: #e8e4df;--text-muted: #6b6b7b;--accent: #c4a35a}html{font-family:DM Sans,system-ui,sans-serif;font-weight:300;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:-15%;left:50%;transform:translate(-50%);width:700px;height:500px;background:radial-gradient(ellipse,rgba(196,163,90,.025) 0%,transparent 70%);pointer-events:none;z-index:0}.stars{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.star{position:absolute;border-radius:50%;background:#fff}.star--twinkle{animation:twinkle var(--dur, 4s) ease-in-out var(--delay, 0s) infinite}@keyframes twinkle{0%,to{opacity:.08}50%{opacity:.65}}main{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:0 1.5rem}.hero{padding:8rem 0 5rem;text-align:center}.name{font-family:Cormorant,Georgia,serif;font-weight:300;font-style:italic;font-size:clamp(3.5rem,10vw,5.5rem);letter-spacing:-.02em;line-height:1;color:var(--text)}.role{font-family:DM Mono,monospace;font-weight:300;font-size:.95rem;color:var(--text-muted);margin-top:.75rem;letter-spacing:.15em}.links{display:flex;justify-content:center;gap:2rem;margin-top:2.5rem}.social-link{display:inline-flex;align-items:center;gap:.5rem;font-family:DM Mono,monospace;font-size:.8rem;font-weight:300;color:var(--text-muted);text-decoration:none;transition:color .3s ease;letter-spacing:.02em}a.social-link:hover,a.social-link:focus-visible{color:var(--accent)}.social-link svg{opacity:.5;transition:opacity .3s ease}a.social-link:hover svg{opacity:.9}.projects{padding-bottom:6rem}.section-label{font-family:DM Mono,monospace;font-weight:300;font-size:.7rem;color:var(--text-muted);letter-spacing:.2em;margin-bottom:2rem;opacity:.6}.card{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.05);background:#ffffff04;transition:border-color .5s ease,box-shadow .5s ease}.card+.card{margin-top:1.5rem}.card-pattern-wrap{position:absolute;inset:0;overflow:hidden;border-radius:inherit}.card-pattern{position:absolute;width:300%;height:300%;top:-100%;left:-100%;background-repeat:repeat;opacity:.55;transition:opacity .6s ease;will-change:transform}.card:hover .card-pattern{opacity:1}.domino-pattern{transform:rotate(45deg);animation:slide-domino 40s linear infinite}.lora-pattern{transform:rotate(45deg);animation:slide-lora 28s linear infinite}@keyframes slide-domino{0%{background-position:0 0}to{background-position:0 195px}}@keyframes slide-lora{0%{background-position:0 0}to{background-position:0 72px}}.card-content{position:relative;z-index:1;padding:2.5rem;background:linear-gradient(145deg,#08080fd1,#08080f99);transition:background .5s ease}.card:hover .card-content{background:linear-gradient(145deg,#08080fa6,#08080f59)}.card-title{font-family:DM Mono,monospace;font-weight:400;font-size:1.25rem;letter-spacing:.01em}.card-desc{font-size:.9rem;line-height:1.65;color:#e8e4dfb8;margin-top:1rem;max-width:480px}.card-links{display:flex;gap:.75rem;margin-top:1.5rem}.card-link{display:inline-flex;align-items:center;font-family:DM Mono,monospace;font-size:.75rem;font-weight:400;color:var(--text);text-decoration:none;padding:.4rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:100px;transition:border-color .3s ease,color .3s ease,background .3s ease;letter-spacing:.03em}.card-link:hover{border-color:var(--accent);color:var(--accent);background:#c4a35a0f}.card-badge{display:inline-flex;align-items:center;font-family:DM Mono,monospace;font-size:.6rem;font-weight:400;color:var(--text-muted);padding:.3rem .85rem;border:1px solid rgba(255,255,255,.05);border-radius:100px;letter-spacing:.18em;text-transform:uppercase;opacity:.7}.domino-card:hover{border-color:#4682b433;box-shadow:0 0 50px #4682b40a}.lora-card:hover{border-color:#ff69b433;box-shadow:0 0 50px #ff69b40a}@media(max-width:640px){.hero{padding:5rem 0 3.5rem}.links{flex-direction:column;gap:.75rem;align-items:center}.card-content{padding:1.75rem}}
