@import "https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700;800&family=Roboto:wght@400;500;700&display=swap";:root{color:#fff;font-synthesis:none;text-rendering:optimizelegibility;--bg:#0c0513;--bg2:#160b24;--purple:#c770f0;--purple2:#be50f4;--muted:#c4b9cd;--line:#c770f02e;--max:1150px;background:#0c0513;font-family:Roboto,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 75% 15%,#6c1f9138,transparent 35%),var(--bg);margin:0;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-shell{overflow:hidden}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.nav-wrap{z-index:50;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#1b0c27c7;position:fixed;top:0;left:0;right:0;box-shadow:0 5px 18px #00000029}.nav{justify-content:space-between;align-items:center;min-height:72px;display:flex}.brand{color:#fff;background:0 0;border:0;align-items:center;gap:10px;font-family:Raleway;font-size:17px;font-weight:700;display:flex}.brand-mark{width:35px;height:35px;color:var(--purple);border:1px solid #c770f099;border-radius:50%;place-items:center;font-size:11px;display:grid}.nav-links{align-items:center;gap:25px;display:flex}.nav-links button{color:#eee;background:0 0;border:0;padding:24px 0;font-size:14px;position:relative}.nav-links button:after{content:"";background:var(--purple);width:0;height:3px;transition:all .25s;position:absolute;bottom:17px;left:0}.nav-links button:hover:after{width:100%}.nav-resume{color:#fff;border:1px solid #c770f0a6;border-radius:7px;padding:9px 15px;font-size:13px}.menu-btn{color:#fff;background:0 0;border:0;display:none}.home-section{isolation:isolate;background:linear-gradient(#0c051326,#1407208c);min-height:760px;padding-top:72px;position:relative}.home-content{grid-template-columns:1.05fr .95fr;align-items:center;gap:35px;min-height:690px;padding-top:40px;padding-bottom:60px;display:grid}.home-copy{z-index:2;position:relative}.home-copy h1{margin:0 0 18px;font-family:Raleway;font-size:clamp(34px,4vw,52px);font-weight:500}.wave{transform-origin:70% 70%;animation:2s infinite wave;display:inline-block}@keyframes wave{0%,60%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.home-copy h2{margin:0 0 35px;font-family:Raleway;font-size:clamp(35px,4.5vw,60px);font-weight:700}.home-copy h2 strong{color:var(--purple);font-weight:800}.type-line{color:#d6a5e9;margin:0 0 26px;padding-left:5px;font-size:clamp(23px,2.6vw,35px);font-weight:600}.type-line i{color:#e4b7f2;margin-left:5px;font-style:normal;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.home-intro{color:#bdb1c7;max-width:560px;margin:0 0 28px;font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.btn{border-radius:6px;align-items:center;gap:8px;padding:12px 17px;font-size:14px;font-weight:700;display:inline-flex}.primary{color:#16081e;background:linear-gradient(90deg,#b34de6,#d47af4);box-shadow:0 5px 20px #be50f433}.secondary{color:#fff;border:1px solid #c770f08c}.primary:hover,.secondary:hover{transform:translateY(-1px)}.home-visual{place-items:center;min-height:500px;display:grid;position:relative}.visual-glow{filter:blur(5px);background:radial-gradient(circle,#c770f040,#67198a14 48%,#0000 72%);border-radius:50%;width:470px;height:470px;position:absolute}.developer-art{place-items:center;width:470px;height:500px;display:grid;position:relative}.screen{color:#bda4c8;z-index:1;background:linear-gradient(145deg,#241032,#100717);border:1px solid #c770f080;border-radius:12px;flex-direction:column;gap:13px;width:235px;height:150px;padding:22px;font-family:monospace;display:flex;position:absolute;top:54px;right:8px;box-shadow:0 20px 45px #0000006b}.screen span{color:var(--purple);font-size:34px;font-weight:700}.screen b{color:#fff;font-size:17px}.screen small{color:#9d68b8}.profile-ring{z-index:3;background:linear-gradient(145deg,#e6b8f8,#a54ad3);border-radius:50%;place-items:center;width:370px;height:370px;padding:9px;display:grid;position:relative;box-shadow:0 22px 65px #00000080,0 0 60px #c770f033}.profile-photo{object-fit:cover;object-position:center 42%;background:#eee;border:7px solid #16091f;border-radius:50%;width:100%;height:100%;display:block}.floating-card{color:#eee;z-index:5;white-space:nowrap;background:#180a23f0;border:1px solid #c770f080;border-radius:8px;padding:10px 13px;font-size:11px;position:absolute;box-shadow:0 10px 25px #0000004d}.card-one{top:185px;left:2px}.card-two{top:265px;right:-4px}.card-three{bottom:55px;left:28px}.particles{z-index:-1;position:absolute;inset:0;overflow:hidden}.particles span{width:3px;height:3px;left:calc((var(--i) * 37) % 100 * 1%);top:calc((var(--i) * 61) % 100 * 1%);opacity:.7;background:#c770f08c;border-radius:50%;position:absolute;box-shadow:0 0 9px #c770f099}.particles span:nth-child(3n){width:2px;height:2px}.particles span:nth-child(4n){opacity:.35}.section{padding:120px 0}.muted{background:linear-gradient(135deg,#160b24,#100719);border-top:1px solid #c770f017;border-bottom:1px solid #c770f017}.section-heading{grid-template-columns:65px 1fr;gap:20px;margin-bottom:55px;display:grid}.section-heading>span{color:#765985;padding-top:5px;font-family:Raleway}.kicker{color:var(--purple);letter-spacing:.18em;margin:0 0 13px;font-size:12px;font-weight:700}.section-heading h2{letter-spacing:-.03em;margin:0;font:700 clamp(34px,4vw,52px)/1.1 Raleway}.about-grid{grid-template-columns:1fr 1fr;gap:75px;display:grid}.lead{color:#e6dceb;margin:0;font:500 26px/1.5 Raleway}.about-copy{color:#a99db2;font-size:16px;line-height:1.85}.about-copy p{margin:0 0 20px}.about-copy strong{color:#eee}.skills-grid{grid-template-columns:repeat(4,1fr);gap:17px;display:grid}.skill-card{background:#12071c9e;border:1px solid #c770f02e;border-radius:12px;min-height:235px;padding:27px;transition:all .25s}.skill-card:hover{border-color:#c770f073;transform:translateY(-4px);box-shadow:0 12px 30px #721f912e}.skill-card svg{color:var(--purple)}.skill-card h3{margin:20px 0;font:600 20px Raleway}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.tag-list span{color:#bcaec4;background:#c770f00f;border:1px solid #c770f02e;border-radius:5px;padding:6px 8px;font-size:11px}.projects-list{gap:18px;display:grid}.project{background:#0f0616b3;border:1px solid #c770f02e;border-radius:12px;grid-template-columns:55px 1fr auto;gap:25px;padding:30px;transition:all .25s;display:grid}.project:hover{border-color:#c770f080;transform:translateY(-3px);box-shadow:0 14px 35px #621b7e33}.project.featured{background:linear-gradient(120deg,#48175c61,#14081cb3)}.project-index{color:#765985;font-family:Raleway}.project-label{color:var(--purple);text-transform:uppercase;letter-spacing:.13em;margin:0 0 10px;font-size:11px;font-weight:700}.project h3{margin:0 0 11px;font:700 25px Raleway}.project-main>p:not(.project-label){color:#aaa0b0;max-width:760px;margin:0 0 17px;line-height:1.7}.project-link{color:#e9e1ed;align-items:center;gap:5px;font-size:13px;font-weight:700;display:flex}.project-link:hover{color:var(--purple)}.timeline{max-width:850px;padding-left:38px;position:relative}.timeline-line{background:#c770f040;width:1px;position:absolute;top:8px;bottom:0;left:7px}.timeline article{padding-bottom:65px;position:relative}.time-dot{background:var(--purple);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-35px;box-shadow:0 0 0 5px #c770f01a,0 0 15px #c770f080}.time-date{color:#8e8197;letter-spacing:.15em;margin:0 0 10px;font-size:11px;font-weight:700}.timeline h3{margin:0 0 12px;font:700 28px Raleway}.timeline article p:last-child{color:#a79ba9;margin:0;line-height:1.75}.approach{border-top:1px solid #c770f02e;justify-content:space-between;align-items:center;gap:25px;padding-top:32px;display:flex}.approach h3{font:600 21px Raleway}.approach-note{color:#a89cad;align-items:center;gap:8px;font-size:12px;display:flex}.approach-note svg{color:#8dd19d}.contact{text-align:center;padding:135px 0 110px}.contact h2{letter-spacing:-.05em;margin:0;font:700 clamp(42px,6vw,72px)/1.05 Raleway}.contact>p:not(.kicker){color:#a79ba9;max-width:560px;margin:18px auto 30px;font-size:17px;line-height:1.7}.socials{justify-content:center;gap:25px;margin-top:42px;display:flex}.socials a{color:#a99eaf;align-items:center;gap:7px;font-size:13px;display:flex}.socials a:hover{color:var(--purple)}.footer{color:#716477;border-top:1px solid #c770f024;justify-content:space-between;padding:24px 0 32px;font-size:11px;display:flex}@media (width<=900px){.nav-links{gap:15px}.home-content{grid-template-columns:1fr;gap:10px;padding-top:70px}.home-visual{min-height:430px}.skills-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:40px}.project{grid-template-columns:45px 1fr}.project-link{grid-column:2}.approach{flex-direction:column;align-items:flex-start}.developer-art{transform:scale(.88)}}@media (width<=680px){.container{width:min(calc(100% - 30px),var(--max))}.nav{min-height:65px}.menu-btn{display:block}.nav-links{background:#180a22;border-bottom:1px solid #c770f033;flex-direction:column;align-items:stretch;padding:12px 16px 20px;display:none;position:absolute;top:65px;left:0;right:0}.nav-links.open{display:flex}.nav-links button{text-align:left;padding:10px 0}.nav-links button:after{bottom:3px}.nav-resume{text-align:center;margin-top:6px}.home-section{min-height:auto;padding-top:65px}.home-content{min-height:auto;padding-top:70px;padding-bottom:45px}.home-copy h1{font-size:34px}.home-copy h2{font-size:38px;line-height:1.1}.type-line{font-size:23px}.home-intro{font-size:15px}.home-visual{min-height:350px}.developer-art{transform:scale(.68)}.profile-ring{width:370px;height:370px}.section{padding:88px 0}.section-heading{grid-template-columns:38px 1fr;gap:9px;margin-bottom:42px}.section-heading h2{font-size:34px}.about-grid{grid-template-columns:1fr;gap:28px}.lead{font-size:23px}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:auto}.project{grid-template-columns:1fr;gap:15px;padding:24px}.project-index{display:none}.project-link{grid-column:auto}.timeline{padding-left:28px}.time-dot{left:-25px}.approach h3{font-size:18px}.socials{flex-wrap:wrap}.footer{flex-direction:column;gap:8px}}
