:root{--bg: #0d0d0d;--bg-card: #141414;--bg-elevated: #1c1a18;--text: #f2ede8;--text-muted: #7a7168;--accent: #f5a623;--accent-dim: rgba(245, 166, 35, .12);--border: #232018;--radius: 4px;--font-display: "Syne", sans-serif;--font-mono: "IBM Plex Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-display);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}.container{max-width:1000px;margin:0 auto;padding:0 32px}section{padding:100px 0;border-top:1px solid var(--border)}section:first-of-type{border-top:none}.section-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;display:flex;align-items:center;gap:10px}.section-eyebrow:after{content:"";display:block;height:1px;width:40px;background:var(--accent);opacity:.5}.section-title{font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-.03em;color:var(--text);margin-bottom:56px;line-height:1.1}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#0d0d0d}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}.navbar--scrolled{background:#0d0d0deb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--border)}.navbar__inner{display:flex;align-items:center;justify-content:space-between}.navbar__logo{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--accent);letter-spacing:.05em}.navbar__links{display:flex;gap:36px}.navbar__link{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);transition:color .15s}.navbar__link:hover{color:var(--text)}.navbar__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.navbar__burger span{display:block;width:22px;height:1px;background:var(--text-muted);transition:opacity .15s}@media (max-width: 600px){.navbar__burger{display:flex}.navbar__links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-top:1px solid var(--border)}.navbar__links--open{display:flex}.navbar__link{padding:16px 32px;border-bottom:1px solid var(--border);font-size:12px}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero__dot-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,#2a2520 1px,transparent 1px);background-size:32px 32px;opacity:.5;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%)}.hero__inner{position:relative;padding:70px 0}.hero__meta{display:flex;align-items:center;gap:8px;margin-bottom:32px}.hero__meta-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.hero__meta-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.hero__name{display:block;line-height:.95;margin-bottom:28px}.hero__name-line{display:block;font-size:clamp(68px,12vw,148px);font-weight:800;letter-spacing:-.04em;color:var(--text);transition:color .2s}.hero__name-line:last-child{color:transparent;-webkit-text-stroke:1px rgba(242,237,232,.35)}.hero__subtitle-row{margin-bottom:28px}.hero__subtitle{font-family:var(--font-mono);font-size:clamp(13px,1.6vw,17px);color:var(--accent);letter-spacing:.02em}.hero__cursor{display:inline-block;color:var(--accent);font-weight:400;margin-left:2px;animation:blink 1.1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero__bio{font-size:16px;color:var(--text-muted);max-width:440px;margin-bottom:44px;line-height:1.75}.hero__cta{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);transition:background .2s,color .2s}.hero__cta:hover{background:var(--accent);color:#0d0d0d}@media (max-width: 600px){.hero__inner{text-align:center}.hero__meta{justify-content:center}.hero__bio{margin-left:auto;margin-right:auto}.hero__cta{margin:0 auto}.hero__name-line{letter-spacing:-.03em}}.projects__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}.project-card:hover{border-color:#f5a6234d;transform:translateY(-3px)}.project-card__image-wrap{position:relative;aspect-ratio:16 / 9;overflow:hidden}.project-card__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.project-card:hover .project-card__image{transform:scale(1.04)}.project-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .5s ease}.project-card:hover .project-card__placeholder{transform:scale(1.04)}.project-card__placeholder-num{font-family:var(--font-mono);font-size:clamp(64px,8vw,96px);font-weight:500;color:#ffffff14;letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.project-card__image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 50%,rgba(20,20,20,.5) 100%);pointer-events:none}.project-card__body{padding:20px 24px 24px;display:flex;flex-direction:column;flex:1}.project-card__meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.project-card__tag{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:3px}.project-card__tag--web{background:#0ea5e91f;color:#38bdf8;border:1px solid rgba(14,165,233,.25)}.project-card__tag--mobile{background:#34d3991a;color:#34d399;border:1px solid rgba(52,211,153,.25)}.project-card__num{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.05em}.project-card__name{font-size:clamp(18px,2vw,22px);font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:10px;line-height:1.2;transition:color .2s}.project-card:hover .project-card__name{color:var(--accent)}.project-card__desc{font-size:13px;color:var(--text-muted);line-height:1.7;flex:1;margin-bottom:20px}.project-card__footer{border-top:1px solid var(--border);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.project-card__footer-left{display:flex;align-items:center;gap:16px}.project-card__progress{display:flex;align-items:center;gap:7px;flex-shrink:0}.project-card__progress-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.project-card__progress-bar-wrap{width:48px;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.project-card__progress-bar{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:2px;transition:width .6s ease}.project-card__progress-pct{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;color:#f59e0b;white-space:nowrap}.project-card__link{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;transition:gap .15s,opacity .15s}.project-card__link:hover{gap:11px}.project-card__link--demo{color:#34d399}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;width:100%;max-width:360px;animation:slide-up .25s ease}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal__title{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.modal__close{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s;line-height:1}.modal__close:hover{color:var(--text);background:var(--bg-elevated)}.modal__video-wrap{aspect-ratio:9 / 16;width:100%}.modal__video{width:100%;height:100%;border:none;display:block}@media (max-width: 640px){.projects__grid{grid-template-columns:1fr}}.skills__grid{display:flex;flex-wrap:wrap;gap:10px}.skill-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:default;transition:border-color .2s,transform .2s,background .2s}.skill-chip:hover{border-color:var(--chip-color, var(--accent));background:var(--bg-elevated);transform:translateY(-2px)}.skill-chip__icon{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.skill-chip__icon svg{width:22px;height:22px;display:block}.skill-chip__name{font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;letter-spacing:-.01em}#contact,.contact__inner{padding-bottom:0}.contact__headline{font-size:clamp(48px,8vw,96px);font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:48px}.contact__headline-outline{color:transparent;-webkit-text-stroke:1.5px rgba(242,237,232,.3)}.contact__email{display:inline-block;font-family:var(--font-mono);font-size:clamp(14px,2vw,20px);color:var(--accent);letter-spacing:-.01em;margin-bottom:48px;transition:opacity .2s;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#f5a6234d}.contact__email:hover{text-decoration-color:var(--accent)}.contact__links{display:flex;gap:12px;flex-wrap:wrap}.contact__link{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);transition:border-color .15s,color .15s}.contact__link:hover{border-color:var(--text-muted);color:var(--text)}.footer{margin-top:80px;padding:24px 0;border-top:1px solid var(--border)}.footer__inner{display:flex;justify-content:space-between;align-items:center}.footer__copy,.footer__note{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--text-muted)}@media (max-width: 500px){.footer__inner{flex-direction:column;gap:8px;text-align:center}}
