@charset "UTF-8";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.nav{position:sticky;top:0;z-index:100;background:#1a1917f2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:.5px solid rgba(255,255,255,.08);height:58px;display:flex;align-items:center;padding:0 40px}@media(max-width:768px){.nav{padding:0 16px;height:50px}}.nav__inner{width:70%;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.nav__logo{font-family:Courier New,Courier,monospace;font-size:.875rem;color:#eee;letter-spacing:.04em;white-space:nowrap}.nav__logo span{color:#c9644a}@media(max-width:480px){.nav__logo{font-size:.75rem}}.nav__links{display:flex;align-items:center;gap:40px}@media(max-width:768px){.nav__links{gap:24px}}@media(max-width:480px){.nav__links{gap:16px}}.nav__link{font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:#fde8c9;transition:color .2s ease;position:relative}.nav__link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:#c9644a;transition:width .2s ease}.nav__link:hover{color:#eee}.nav__link:hover:after{width:100%}.nav__link--active{color:#c9644a}.nav__link--active:after{width:100%}@media(max-width:480px){.nav__link{font-size:.625rem;letter-spacing:.06em}}.nav__resume{font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:#fde8c9;padding:6px 14px;border:.5px solid rgba(255,255,255,.14);border-radius:3px;transition:all .2s ease}.nav__resume:hover{color:#eee;border-color:#ffffff4d;background:#222220}@media(max-width:480px){.nav__resume{display:none}}.home{animation:fadeUp .5s ease forwards}.home__hero{min-height:calc(100vh - 58px);display:grid;grid-template-columns:1fr 1fr;border-bottom:.5px solid rgba(255,255,255,.08)}@media(max-width:768px){.home__hero{grid-template-columns:1fr;min-height:unset}}.home__hero-left{padding:96px 40px;border-right:.5px solid rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:center}@media(max-width:768px){.home__hero-left{padding:64px 16px;border-right:none;border-bottom:.5px solid rgba(255,255,255,.08)}}.home__eyebrow{font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.15em;color:#c9644a;margin-bottom:24px}.home__name{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4rem);color:#eee;line-height:1.05;margin-bottom:16px}.home__name em{font-style:italic;color:#c9644a}.home__tagline{font-size:.875rem;color:#fde8c9;line-height:1.8;max-width:400px;margin-bottom:40px}.home__actions{display:flex;gap:8px;flex-wrap:wrap}.home__hero-right{padding:96px 40px;display:flex;flex-direction:column;justify-content:center;gap:40px}@media(max-width:768px){.home__hero-right{padding:40px 16px}}.home__avatar-row{display:flex;align-items:center;gap:24px}.home__avatar{width:72px;height:72px;border-radius:50%;background:#2a2a27;border:.5px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-style:italic;color:#fde8c9;flex-shrink:0}.home__avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.home__socials{display:flex;flex-direction:column;gap:8px}.home__social-link{font-family:Courier New,Courier,monospace;font-size:.75rem;color:#fde8c9;transition:color .2s ease;display:flex;align-items:center;gap:6px}.home__social-link:before{content:"↗";color:#c9644a;font-size:.6875rem}.home__social-link:hover{color:#eee}.home__skills-block label{display:block;font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:#fde8c9;margin-bottom:8px}.home__skill-tags{display:flex;flex-wrap:wrap;gap:4px}.home__stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:.5px solid rgba(255,255,255,.08)}@media(max-width:480px){.home__stats{grid-template-columns:repeat(3,1fr)}}.home__stat{padding:24px 40px;border-right:.5px solid rgba(255,255,255,.08)}.home__stat:last-child{border-right:none}@media(max-width:768px){.home__stat{padding:16px}}.home__stat-num{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2rem);font-style:italic;color:#eee}.home__stat-label{font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:#fde8c9;margin-top:4px}.home__about{display:grid;grid-template-columns:1fr 2fr;border-bottom:.5px solid rgba(255,255,255,.08)}@media(max-width:768px){.home__about{grid-template-columns:1fr}}.home__about-label{padding:40px;border-right:.5px solid rgba(255,255,255,.08);font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.15em;color:#fde8c9}@media(max-width:768px){.home__about-label{border-right:none;border-bottom:.5px solid rgba(255,255,255,.08);padding:16px}}.home__about-content{padding:40px}@media(max-width:768px){.home__about-content{padding:16px}}.home__about-content p{font-size:.9375rem;color:#fde8c9;line-height:1.85;max-width:640px}.home__experience{border-bottom:.5px solid rgba(255,255,255,.08)}.home__exp-header{padding:16px 40px;border-bottom:.5px solid rgba(255,255,255,.08);font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:#fde8c9}@media(max-width:768px){.home__exp-header{padding:8px 16px}}.home__exp-row{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 40px;border-bottom:.5px solid rgba(255,255,255,.08);transition:background .2s ease}.home__exp-row:last-child{border-bottom:none}.home__exp-row:hover{background:#222220}@media(max-width:768px){.home__exp-row{padding:16px}}@media(max-width:480px){.home__exp-row{flex-direction:column;gap:4px}}.home__exp-company{font-size:.9375rem;color:#eee}.home__exp-role{font-family:Courier New,Courier,monospace;font-size:.75rem;color:#fde8c9;margin-top:3px}.home__exp-date{font-family:Courier New,Courier,monospace;font-size:.75rem;color:#fde8c9;text-align:right;white-space:nowrap}@media(max-width:480px){.home__exp-date{text-align:left;font-size:.6875rem}}.card{background:#222220;border:.5px solid rgba(255,255,255,.08);border-radius:10px;padding:24px 24px 16px;display:flex;flex-direction:column;gap:16px;transition:border-color .2s ease,transform .4s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#c9644a,transparent);opacity:0;transition:opacity .4s ease}.card:hover{border-color:#ffffff24;transform:translateY(-3px)}.card:hover:before{opacity:1}.card--featured{border-color:#c9644a40;background:linear-gradient(135deg,#222220,#c9644a0a)}.card--featured:before{opacity:.6}.card__badge{display:inline-flex;align-items:center;gap:6px;font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:#c9644a}.card__badge:before{content:"//"}.card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card__title{font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-style:italic;color:#eee;line-height:1.2}.card__type{font-family:Courier New,Courier,monospace;font-size:.5625rem;text-transform:uppercase;letter-spacing:.1em;color:#777066;border:.5px solid rgba(255,255,255,.08);padding:3px 8px;border-radius:3px;white-space:nowrap;flex-shrink:0}.card__description{font-size:.8125rem;color:#fde8c9;line-height:1.75}.card__skills{display:flex;flex-wrap:wrap;gap:4px}.card__case-study{border-top:.5px solid rgba(255,255,255,.08);padding-top:16px}.card__case-study summary{font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:#c9644a;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none;transition:color .2s ease}.card__case-study summary::-webkit-details-marker{display:none}.card__case-study summary:before{content:"+";font-size:.875rem;transition:transform .2s ease}.card__case-study summary:hover{color:#d4845f}.card__case-study[open] summary:before{transform:rotate(45deg)}.card__case-study__body{margin-top:16px;font-size:.8125rem;color:#fde8c9;line-height:1.85;white-space:pre-line}.card__case-study__body strong{color:#eee;font-weight:400;display:block;margin-top:16px;font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:#c9644a}.card__case-study__body strong:first-child{margin-top:0}.card__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px;border-top:.5px solid rgba(255,255,255,.08)}.card__link{font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;color:#fde8c9;padding:5px 12px;border:.5px solid rgba(255,255,255,.14);border-radius:3px;transition:all .2s ease;display:inline-flex;align-items:center;gap:5px}.card__link:after{content:"↗";font-size:.625rem}.card__link:hover,.card__link--demo{color:#c9644a;border-color:#c9644a40;background:#c9644a1a}.card__link--demo:hover{background:#c9644a2e}.projects{animation:fadeUp .5s ease forwards}.projects__header{padding:40px 40px 16px;border-bottom:.5px solid rgba(255,255,255,.08)}@media(max-width:768px){.projects__header{padding:24px 16px 8px}}.projects__eyebrow{font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.15em;color:#c9644a;margin-bottom:8px}.projects__title{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3rem);font-style:italic;color:#eee;line-height:1.1;margin-bottom:8px}.projects__subtitle{font-family:Courier New,Courier,monospace;font-size:.75rem;color:#fde8c9;margin-bottom:24px}.projects__filters{display:flex;gap:8px;flex-wrap:wrap}.projects__filter{font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;padding:5px 12px;border:.5px solid rgba(255,255,255,.14);border-radius:3px;color:#fde8c9;background:transparent;cursor:pointer;transition:all .2s ease}.projects__filter:hover{color:#eee;border-color:#ffffff4d}.projects__filter--active{color:#c9644a;border-color:#c9644a40;background:#c9644a1a}.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:40px}@media(max-width:1024px){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.projects__grid{grid-template-columns:1fr;padding:16px;gap:16px}}.projects__featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;background:#222220;border:.5px solid rgba(201,100,74,.25);border-radius:10px;overflow:hidden;transition:border-color .2s ease}.projects__featured:hover{border-color:#c9644a}@media(max-width:768px){.projects__featured{grid-template-columns:1fr}}.projects__featured-content{padding:40px;display:flex;flex-direction:column;gap:16px}@media(max-width:768px){.projects__featured-content{padding:24px}}.projects__featured-visual{background:#2a2a27;display:flex;align-items:center;justify-content:center;padding:40px;border-left:.5px solid rgba(255,255,255,.08);min-height:200px}@media(max-width:768px){.projects__featured-visual{display:none}}.projects__featured-placeholder{font-family:Courier New,Courier,monospace;font-size:.75rem;color:#c9644a66;line-height:1.6;white-space:pre}.projects__empty{grid-column:1/-1;text-align:center;padding:96px;color:#fde8c9;font-family:Courier New,Courier,monospace;font-size:.75rem;letter-spacing:.1em}.contact{animation:fadeUp .5s ease forwards;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 58px)}@media(max-width:768px){.contact{grid-template-columns:1fr;min-height:unset}}.contact__info{padding:96px 40px;border-right:.5px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:40px}@media(max-width:768px){.contact__info{padding:40px 16px;border-right:none;border-bottom:.5px solid rgba(255,255,255,.08);gap:24px}}.contact__eyebrow{font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.15em;color:#c9644a}.contact__title{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3rem);font-style:italic;color:#eee;line-height:1.1}.contact__description{font-size:.875rem;color:#fde8c9;line-height:1.8;max-width:360px}.contact__details{display:flex;flex-direction:column;gap:16px}.contact__detail-item{display:flex;align-items:flex-start;gap:16px}.contact__detail-icon{width:32px;height:32px;background:#2a2a27;border:.5px solid rgba(255,255,255,.14);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.75rem;color:#fde8c9}.contact__detail-label{font-family:Courier New,Courier,monospace;font-size:.5625rem;text-transform:uppercase;letter-spacing:.12em;color:#fde8c9;margin-bottom:3px}.contact__detail-value{font-size:.875rem;color:#eee}.contact__socials-label{font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:#fde8c9;margin-bottom:8px}.contact__socials{display:flex;gap:8px;flex-wrap:wrap}.contact__social-pill{font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;padding:6px 14px;border:.5px solid rgba(255,255,255,.14);border-radius:40px;color:#fde8c9;transition:all .2s ease}.contact__social-pill:hover{color:#eee;border-color:#ffffff4d;background:#222220}.contact__resume{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:#2a2a27;border:.5px solid rgba(255,255,255,.14);border-radius:6px}.contact__resume-label{font-family:Courier New,Courier,monospace;font-size:.5625rem;text-transform:uppercase;letter-spacing:.12em;color:#fde8c9;margin-bottom:3px}.contact__resume-name{font-size:.8125rem;color:#eee}.contact__form-panel{padding:96px 40px;display:flex;flex-direction:column}@media(max-width:768px){.contact__form-panel{padding:40px 16px}}.contact__form-label{font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:#fde8c9;margin-bottom:24px}.form{display:flex;flex-direction:column;gap:16px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){.form__row{grid-template-columns:1fr}}.form__field{display:flex;flex-direction:column;gap:6px}.form__field-label{font-family:Courier New,Courier,monospace;font-size:.5625rem;text-transform:uppercase;letter-spacing:.12em;color:#fde8c9}.form input,.form textarea{background:#2a2a27;border:.5px solid rgba(255,255,255,.14);border-radius:3px;padding:10px 14px;font-family:Courier New,Courier,monospace;font-size:.8125rem;color:#eee;transition:border-color .2s ease,background .2s ease;width:100%;outline:none}.form input::placeholder,.form textarea::placeholder{color:#777066}.form input:focus,.form textarea:focus{border-color:#c9644a80;background:#222220}.form textarea{resize:vertical;min-height:120px;line-height:1.7}.form__submit{margin-top:8px;width:100%;padding:12px;font-size:.75rem}.form__status{font-family:Courier New,Courier,monospace;font-size:.75rem;padding:10px 14px;border-radius:3px;text-align:center}.form__status--success{background:#6399221a;color:#97c459;border:.5px solid rgba(99,153,34,.25)}.form__status--error{background:#e24b4a1a;color:#f09595;border:.5px solid rgba(226,75,74,.25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:#1a1917;color:#eee;font-family:Courier New,Courier,monospace;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:Courier New,Courier,monospace}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media(max-width:768px){.container{padding:0 16px}}.eyebrow{font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.15em;color:#c9644a}.section-divider{border:none;border-top:.5px solid rgba(255,255,255,.08);margin:40px 0}.skill-tag{display:inline-block;font-family:Courier New,Courier,monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:3px;background:#2a2a27;color:#fde8c9;border:.5px solid rgba(255,255,255,.14);white-space:nowrap}.skill-tag--accent{background:#c9644a1a;color:#d4845f;border-color:#c9644a40}.btn{display:inline-block;font-family:Courier New,Courier,monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;padding:10px 22px;border-radius:3px;transition:all .2s ease;border:none}.btn--primary{background:#c9644a;color:#fff}.btn--primary:hover{background:#d4845f;transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)}.btn--ghost{background:transparent;color:#fde8c9;border:.5px solid rgba(255,255,255,.14)}.btn--ghost:hover{color:#eee;border-color:#ffffff4d;background:#222220}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeUp .5s ease forwards}
