@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Share+Tech+Mono&family=DM+Sans:wght@300;400;500&display=swap";:root{--rust: #c2430a;--rust-light: #e05a1a;--rust-dim: #7a2a05;--rust-glow: rgba(194, 67, 10, .18);--bg: #27272a;--bg-deep: #1c1c1f;--bg-card: #2f2f32;--bg-card2: #323236;--zinc-600: #52525b;--zinc-400: #a1a1aa;--zinc-200: #e4e4e7;--white: #f4f4f5;--mono: "Share Tech Mono", monospace;--display: "Bebas Neue", sans-serif;--body: "DM Sans", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden}a{text-decoration:none;color:inherit}.noise-overlay{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.038;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:160px 160px}.portfolio-root{min-height:100vh;position:relative}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 4rem;background:linear-gradient(to bottom,rgba(28,28,31,.92) 0%,transparent 100%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid rgba(194,67,10,.15)}.nav-logo{font-family:var(--display);font-size:1.35rem;letter-spacing:.2em;color:var(--rust-light);text-shadow:0 0 18px var(--rust-glow)}.nav-links{display:flex;gap:2.2rem}.nav-links a{font-family:var(--mono);font-size:.78rem;color:var(--zinc-400);letter-spacing:.1em;text-transform:uppercase;transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--rust);transition:width .25s ease}.nav-links a:hover{color:var(--rust-light)}.nav-links a:hover:after{width:100%}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:0 4rem;overflow:hidden;background:var(--bg-deep)}.hero-bg-text{position:absolute;right:-1rem;top:50%;transform:translateY(-50%);font-family:var(--display);font-size:clamp(10rem,22vw,20rem);color:transparent;-webkit-text-stroke:1px rgba(194,67,10,.12);letter-spacing:-.02em;-webkit-user-select:none;user-select:none;pointer-events:none;line-height:1}.hero-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(194,67,10,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(194,67,10,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.hero-rust-smear{position:absolute;bottom:-60px;left:-40px;width:420px;height:420px;background:radial-gradient(ellipse,rgba(194,67,10,.13) 0%,transparent 70%);pointer-events:none;filter:blur(30px)}.hero-inner{position:relative;z-index:2;max-width:780px}.scratch-line{width:80px;height:3px;background:linear-gradient(90deg,var(--rust),var(--rust-light));margin-bottom:1.4rem;border-radius:0;box-shadow:0 0 10px var(--rust-glow)}.hero-eyebrow{font-family:var(--mono);font-size:.82rem;color:var(--rust-light);letter-spacing:.12em;margin-bottom:.6rem;opacity:.85}.hero-name{font-family:var(--display);font-size:clamp(4.5rem,10vw,9rem);line-height:.92;letter-spacing:.01em;color:var(--white);text-shadow:0 2px 40px rgba(0,0,0,.5);margin-bottom:1.5rem}.name-accent{color:var(--rust-light);text-shadow:0 0 30px rgba(194,67,10,.4)}.name-last{color:var(--zinc-400)}.hero-sub{font-size:1.05rem;color:var(--zinc-200);line-height:1.7;margin-bottom:2.4rem;font-weight:300}.hero-sub-muted{font-size:.88rem;color:var(--zinc-400);font-family:var(--mono);letter-spacing:.04em}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary{display:inline-block;padding:.72rem 2rem;background:var(--rust);color:var(--white);font-family:var(--mono);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rust-light);transition:background .2s,box-shadow .2s,transform .15s;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}.btn-primary:hover{background:var(--rust-light);box-shadow:0 0 20px #c2430a80;transform:translateY(-2px)}.btn-ghost{display:inline-block;padding:.72rem 2rem;background:transparent;color:var(--zinc-400);font-family:var(--mono);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--zinc-600);transition:border-color .2s,color .2s,transform .15s;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}.btn-ghost:hover{border-color:var(--rust);color:var(--rust-light);transform:translateY(-2px)}.section{padding:6rem 4rem;width:100%;max-width:1200px;margin-inline:auto}.section-header{margin-bottom:3rem}.section-tag{font-family:var(--mono);font-size:.72rem;color:var(--rust);letter-spacing:.18em;display:block;margin-bottom:.5rem}.section-title{font-family:var(--display);font-size:clamp(2.5rem,5vw,4rem);letter-spacing:.04em;color:var(--white);line-height:1;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-8px;left:0;width:40%;height:2px;background:linear-gradient(90deg,var(--rust),transparent)}.skills-section{background:var(--bg)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;border:1px solid rgba(194,67,10,.15);background:#c2430a14;width:100%}.skill-card{background:var(--bg-card);padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden;transition:background .2s}.skill-card:before{content:"";position:absolute;top:0;left:0;width:2px;height:0;background:var(--rust);transition:height .3s ease}.skill-card:hover{background:var(--bg-card2)}.skill-card:hover:before{height:100%}.skill-icon{font-family:var(--mono);font-size:1rem;color:var(--rust-light);letter-spacing:0}.skill-name{font-family:var(--body);font-weight:500;font-size:.95rem;color:var(--zinc-200)}.skill-bar{width:30px;height:2px;background:linear-gradient(90deg,var(--rust-dim),var(--rust));margin-top:auto;transition:width .3s ease}.skill-card:hover .skill-bar{width:60px}.rust-divider{text-align:center;padding:1rem 0;color:var(--rust-dim);font-size:1.2rem;position:relative}.rust-divider:before,.rust-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 3rem);height:1px;background:linear-gradient(90deg,transparent,rgba(194,67,10,.3))}.rust-divider:before{left:0}.rust-divider:after{right:0;background:linear-gradient(270deg,transparent,rgba(194,67,10,.3))}.projects-section{background:var(--bg)}.projects-list{display:flex;flex-direction:column;gap:1px;border:1px solid rgba(194,67,10,.12)}.project-card{display:grid;grid-template-columns:56px 1fr;align-items:start;gap:1.8rem;padding:2rem 1.8rem;background:var(--bg-card);position:relative;overflow:hidden;transition:background .25s}.project-card:after{content:"";position:absolute;inset:0;border-left:3px solid transparent;transition:border-color .25s;pointer-events:none}.project-card:hover{background:var(--bg-card2)}.project-card:hover:after{border-color:var(--rust)}.project-num{font-family:var(--display);font-size:2.2rem;color:#c2430a40;line-height:1;transition:color .25s;padding-top:.25rem}.project-card:hover .project-num{color:var(--rust)}.project-body{flex:1}.project-top{display:flex;align-items:center;gap:1rem;margin-bottom:.3rem;flex-wrap:wrap}.project-title{font-family:var(--display);font-size:1.6rem;letter-spacing:.04em;color:var(--white);line-height:1}.project-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rust-light);border:1px solid rgba(194,67,10,.35);padding:.18rem .55rem}.project-stack{font-family:var(--mono);font-size:.73rem;color:var(--rust);letter-spacing:.08em;margin-bottom:.5rem}.project-desc{font-size:.88rem;color:var(--zinc-400);line-height:1.6;max-width:600px;margin-bottom:1rem}.project-links{display:flex;gap:.8rem;flex-wrap:wrap}.project-link{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .85rem;border:1px solid;display:inline-flex;align-items:center;gap:.4rem;transition:background .2s,color .2s,border-color .2s,transform .15s;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));cursor:pointer}.project-link--live{color:var(--rust-light);border-color:#c2430a66}.project-link--live:hover{background:var(--rust);color:var(--white);border-color:var(--rust);transform:translateY(-1px)}.project-link-dot{width:6px;height:6px;border-radius:50%;background:var(--rust-light);display:inline-block;animation:pulse-dot 1.8s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.project-link--source{color:var(--zinc-400);border-color:var(--zinc-600)}.project-link--source:hover{color:var(--rust-light);border-color:var(--rust-dim);transform:translateY(-1px)}.contact-section{background:var(--bg-deep);padding-bottom:4rem}.contact-inner{max-width:860px}.contact-lead{font-size:1.2rem;color:var(--zinc-200);font-weight:300;margin-bottom:2.5rem;line-height:1.7}.contact-links{display:flex;flex-direction:column;gap:1px;border:1px solid rgba(194,67,10,.15)}.contact-item{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;background:var(--bg-card);transition:background .2s;gap:1rem}.contact-item:hover{background:var(--bg-card2)}.contact-label{font-family:var(--mono);font-size:.72rem;color:var(--rust);letter-spacing:.14em;text-transform:uppercase;min-width:70px}.contact-value{font-family:var(--mono);font-size:.85rem;color:var(--zinc-400);transition:color .2s}.contact-item:hover .contact-value{color:var(--rust-light)}.footer{border-top:1px solid rgba(194,67,10,.12);padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.72rem;color:var(--zinc-600);letter-spacing:.08em}.footer-tag{color:var(--rust-dim)}@media(max-width:768px){.nav{padding:1rem 1.5rem}.nav-links{gap:1.2rem}.hero{padding:7rem 1.5rem 3rem;min-height:auto}.hero-bg-text{font-size:30vw;opacity:.5}.section{padding:4rem 1.5rem;width:100%}.project-card{grid-template-columns:40px 1fr;gap:1rem}.footer{padding:1.2rem 1.5rem;flex-direction:column;gap:.4rem;text-align:center}}@media(max-width:500px){.skills-grid{grid-template-columns:repeat(2,1fr)}.hero-name{font-size:3.8rem}}
