@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter/inter-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter/inter-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter/inter-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter/inter-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Regio Mono";src:url('../fonts/webFonts/RegioMonoLight/font.woff2') format('woff2'),url('../fonts/webFonts/RegioMonoLight/font.woff') format('woff');font-weight:300;font-style:normal}@font-face{font-family:"Regio Mono";src:url('../fonts/webFonts/RegioMonoRegular/font.woff2') format('woff2'),url('../fonts/webFonts/RegioMonoRegular/font.woff') format('woff');font-weight:400;font-style:normal}@font-face{font-family:"Regio Mono";src:url('../fonts/webFonts/RegioMonoSemiBold/font.woff2') format('woff2'),url('../fonts/webFonts/RegioMonoSemiBold/font.woff') format('woff');font-weight:600;font-style:normal}@font-face{font-family:"Regio Mono";src:url('../fonts/webFonts/RegioMonoBold/font.woff2') format('woff2'),url('../fonts/webFonts/RegioMonoBold/font.woff') format('woff');font-weight:700;font-style:normal}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-primary);scroll-behavior:smooth}body{margin:0;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ol,ul{list-style:none;margin:0;padding:0}button{font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;background:0 0;border:none;box-shadow:none}:root{--bg-primary:#0d1117;--bg-surface:#161b22;--bg-elevated:#21262d;--bg-card:#21262d;--text-primary:#c9d1d9;--text-secondary:#8b949e;--text-muted:#6e7681;--accent:#58a6ff;--accent-hover:#79b8ff;--accent-success:#3fb950;--accent-border:rgba(88, 166, 255, 0.4);--border-subtle:#30363d;--font-heading:"Regio Mono","JetBrains Mono",monospace;--font-body:"Inter","DM Sans",system-ui,sans-serif;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--section-gap:6rem;--max-width:1100px;--transition-fast:0.15s ease;--transition-normal:0.25s ease;--transition-slow:0.4s ease}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--accent)}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--section-gap) 0}.section__title{font-family:var(--font-heading);font-size:clamp(1.75rem, 4vw, 2.25rem);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2xl)}main{opacity:0;animation:.6s forwards pageLoad}@keyframes pageLoad{to{opacity:1}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(13,17,23,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-subtle);transition:var(--transition-normal)}.nav__inner{max-width:var(--max-width);margin:0 auto;padding:var(--space-md) var(--space-lg);display:flex;align-items:center;justify-content:space-between}.nav__logo{display:flex;align-items:center;transition:opacity var(--transition-fast)}.nav__logo:hover{opacity:.9}.nav__logo-img{height:28px;width:auto;display:block}.nav__links{display:flex;gap:var(--space-xl)}.nav__link{font-size:.9rem;color:var(--text-secondary);transition:color var(--transition-fast)}.nav__link.active,.nav__link:hover{color:var(--accent)}.nav__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav__toggle{display:none;flex-direction:column;gap:5px;background:0 0;border:none;padding:var(--space-sm)}.nav__toggle span{width:22px;height:2px;background:var(--text-primary)}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:var(--space-3xl) var(--space-lg) calc(var(--space-3xl) + 48px);overflow:hidden}.hero__content{max-width:var(--max-width);width:100%;text-align:center;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.hero__logo{max-width:360px;width:80%;height:auto;margin:0 0 var(--space-xl);display:block}.hero__tagline{font-size:clamp(1rem, 2.5vw, 1.25rem);color:var(--text-secondary);max-width:620px;width:100%;margin:0 0 var(--space-xl);padding:0 var(--space-md);line-height:1.7;min-height:2.8em;text-align:center}.hero__cursor{display:inline-block;color:var(--accent);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.hero__scroll-indicator{position:absolute;bottom:var(--space-xl);left:50%;transform:translateX(-50%);color:var(--text-muted);z-index:2;animation:1.2s ease-out 2s forwards scrollIndicatorFade,2s ease-in-out 3.2s infinite scrollBounce;opacity:0}.hero__scroll-indicator:hover{color:var(--accent)}.hero__scroll-indicator:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero__scroll-indicator svg{display:block}@keyframes scrollIndicatorFade{to{opacity:1}}@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}.hero__gradient{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(ellipse at center,rgba(88,166,255,.12) 0,rgba(63,185,80,.06) 40%,transparent 70%);opacity:0;animation:1.4s ease-out .2s forwards gradientEntrance,10s ease-in-out 1.6s infinite gradientPulse}@keyframes gradientEntrance{to{opacity:.85}}@keyframes gradientPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08)}}.btn{display:inline-block;padding:var(--space-md) var(--space-xl);font-family:var(--font-heading);font-size:.9rem;font-weight:500;appearance:none;border:none;box-shadow:none;transition:all var(--transition-fast)}.btn--primary{background:var(--accent);color:var(--bg-primary)}.btn--primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn--secondary{background:0 0;border:1px solid var(--border-subtle);color:var(--text-secondary)}.btn--secondary:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn--outline{border:1px solid var(--border-subtle);color:var(--text-primary)}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.work__filters{display:flex;gap:var(--space-sm);margin-bottom:var(--space-2xl);flex-wrap:wrap}.filter-btn{padding:var(--space-sm) var(--space-md);font-size:.85rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all var(--transition-fast)}.filter-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.filter-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.work__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-xl)}.work__era-label{grid-column:1/-1;font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:var(--space-2xl) 0 var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}.work__era-label:first-child{margin-top:0}.work__era-label.hidden{display:none}.project-card{background:var(--bg-card);border:1px solid var(--border-subtle);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal);display:flex;flex-direction:column;justify-content:flex-start}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.4),0 0 0 1px var(--accent-border)}.project-card__image{aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg-elevated) 0,var(--bg-surface) 100%);overflow:hidden}.project-card__image img.project-card__logo{width:100%;height:100%;object-fit:contain;padding:var(--space-xl)}.project-card__logos{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-lg)}.project-card__logos img.project-card__logo{width:auto;height:50%;max-width:45%;object-fit:contain;padding:0}.project-card__logos--stacked{flex-direction:column;gap:var(--space-md)}.project-card__logos--stacked img.project-card__logo{height:auto;max-height:35%;max-width:75%}.project-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.9rem;color:var(--text-muted);background:linear-gradient(135deg,var(--bg-elevated) 0,var(--bg-surface) 100%)}.project-card__content{padding:var(--space-lg);flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start}.project-card__content h3{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;margin:0 0 var(--space-sm);color:var(--text-primary)}.project-card__content p{font-size:.9rem;color:var(--text-secondary);margin:0 0 var(--space-md);line-height:1.6;flex-grow:1}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.tech-tags li{font-family:var(--font-heading);font-size:.75rem;padding:var(--space-xs) var(--space-sm);background:var(--bg-elevated);color:var(--text-secondary)}.project-card__links{display:flex;gap:var(--space-md)}.project-link{font-size:.85rem;color:var(--accent);transition:color var(--transition-fast)}.project-link:hover{color:var(--accent-hover)}.project-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-card.hidden{display:none}.about__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-xl);align-items:center}.about__avatar-frame{position:relative;aspect-ratio:1;max-width:280px;cursor:pointer;overflow:hidden;border:2px solid var(--border-subtle);background:var(--bg-elevated);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}.about__avatar-frame:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.about__avatar-hint{font-size:.75rem;color:var(--text-muted);margin:var(--space-sm) 0 0;text-align:center}.about__avatar-hint--mobile{display:none}.about__avatar-hint--desktop{display:inline}@media (hover:none){.about__avatar-hint--desktop{display:none}.about__avatar-hint--mobile{display:inline}}.about__avatar-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.about__avatar-cells{position:absolute;inset:0;pointer-events:none}.about__avatar-cell{position:absolute;background-color:var(--bg-elevated);background-repeat:no-repeat;pointer-events:none}.about__avatar-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);pointer-events:none;transition:opacity 1.2s}.about__avatar-frame.revealed .about__avatar-overlay{opacity:0}.about__avatar-logo{position:relative;width:100%;height:100%;display:block;object-fit:contain}.about__avatar-paths path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.about__content p{color:var(--text-secondary);margin-bottom:var(--space-md);line-height:1.7}.about__content .btn{margin-top:var(--space-md)}.contact{text-align:center}.contact__lead{font-size:1.125rem;color:var(--text-secondary);margin-bottom:var(--space-xl)}.contact__links{display:flex;justify-content:center;gap:var(--space-xl);flex-wrap:wrap}.contact__link{font-family:var(--font-heading);font-size:1rem;color:var(--accent);transition:color var(--transition-fast)}.contact__link:hover{color:var(--accent-hover)}.contact__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.footer{padding:var(--space-xl) 0;border-top:1px solid var(--border-subtle)}.footer p{font-size:.85rem;color:var(--text-muted);text-align:center;margin:0}.notice-bar{position:fixed;bottom:0;left:0;right:0;z-index:1000;padding:var(--space-lg);background:var(--bg-surface);border-top:1px solid var(--border-subtle);box-shadow:0 -4px 20px rgba(0,0,0,.3);transform:translateY(100%);transition:transform .3s}.notice-bar--visible{transform:translateY(0)}.notice-bar__inner{max-width:var(--max-width);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg)}.notice-bar__text{flex:1;min-width:200px;font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.5}.notice-bar__link{color:var(--accent);text-decoration:underline}.notice-bar__link:hover{color:var(--accent-hover)}.notice-bar__actions{display:flex;gap:var(--space-md)}.btn--sm{padding:var(--space-sm) var(--space-md);font-size:.85rem}@media (max-width:768px){.nav__links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:var(--space-lg);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}.nav__links.open,.nav__toggle{display:flex}.about__grid{grid-template-columns:1fr;text-align:center}.about__avatar-frame{margin:0 auto}.work__grid{grid-template-columns:1fr}}